Comments (8)
Until this is implemented: The Timetable
widget is just a Column
with a TimetableHeader
and TimetableContent
, optionally wrapped with TimetableTheme
. My plan was to also expose TimetableHeader
and TimetableContent
, so you can e.g. put the header in your app bar and the content below it, similar to how Google Calendar does it. Unless you have a reason against it, I'll add a second export file (something like package:timetable/timetable_internals.dart
) which exports these two and leaves you with more options than just a simple BoxDecoration
for the header.
For the hours (painted by DateHoursPainter
), a decoration parameter in the theme is the easiest solution for now.
The issues are no problem, that's what they're for :) Do you have an estimate of when you need these features in your project? With #17 in mind, I'm not sure if it's worth adding customization options in this "old" version. I hope I can start implementing the new architecture in week 32 (3 weeks from now) when most of our exams are over, and a version with a mostly stable API and the current features (potentially more) should be available within a week from then, as my lectures are over soon.
from timetable.
yep, I saw that it's just a Column
, and TimetableHeader
has Row
with leading header and dates+all day event header. Proposition regarding box decoration appeared in my head just for simplification) since I can imagine that in most cases current layout (overall layout I mean with header and content) will fit for a lot of devs, while theming of the header container might be quite often case in order to keep it up to date with Material styling.
Overall theme prop for the header may solve some simple cases (and probably most common ones), while the ability to make own layout fromTimetableHeader
and TimetableContent
is much more flexible but in the same time I can assume much rarer case.
I personally would like to have both))) theme prop - if I want some small customization like a shadow for example, and exposed Widget - for much deeper customization
from timetable.
Do you have an estimate of when you need these features in your project?
Yesterday 😁 kidding) but overall, the case here that I will need something similar to Google calendar (it's layout itself)
Currently, in this package, there are no delimiters like border or shadow between content and header, and since both of them have white background, I'm sure on 100% that our designer will ask to add anything to split them) the problem is that I don't know when it will be, but I know that this moment will come for sure)
from timetable.
maybe (from the UX standpoint, not specific to my case) header is needed its own default decoration? similar to Google calendar maybe. But pitfall of this solution - this can be counted as a breaking changes
from timetable.
but, if something, I can use my fork until #17 will be done, not a problem at all
from timetable.
I'd prefer it if you use the fork for this customization until #17 is done. I'll think about using some kind of divider by default in the future
from timetable.
sure, no problem at all)
from timetable.
@JonasWanke btw, just a note, when you will be adding customization, maybe you can also change the order of the widgets in the body. The issue is that currently regular direction for a column is used (header, content). This means that content is actually placed above the header in the tree in terms of z-index positioning. Which creates some problems with decoration apply to the header like shadow, because content overlays it. Just something to keep in mind)
from timetable.
Related Issues (20)
- Alternative to `currentlyVisibleDates`? HOT 1
- Add danish localization HOT 1
- Load missing events dynamically when browsing HOT 2
- Expose Offset to DateTime conversion HOT 2
- Is it possible to style the backgroundcolor of the dateHeader? HOT 2
- Is it possible to use a different weekdayIndicatorStyleProvider for the monthview then for the basic table? HOT 2
- isValidTimetableDateTime should provide a more precise assertion error HOT 3
- Vertical scrolling while dragging the event HOT 3
- Overriding `==` in event instance leads to paint/layout exception HOT 5
- TimeZoom animation HOT 4
- _RenderWeekIndicatorText does not meet its constraints HOT 1
- Jumping to an date does not work as long as the page scrolling is still happening HOT 2
- Package doesn't support intl 0.18 HOT 4
- Day of the week header disappears when swiping to the left on IOS HOT 5
- MultiDateScrollPosition cannot change controllers once created HOT 1
- 1.0.0-alpha.12 is not compatible with flutter 3.7 HOT 1
- Version 1 release HOT 2
- Add global drag&drop manager to track event movement
- _TimeIndicatorsLayout does not meet its constraints.
- Update intl version range to support intl v0.19 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from timetable.