Coder Social home page Coder Social logo

Comments (8)

JonasWanke avatar JonasWanke commented on July 26, 2024

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.

TatsuUkraine avatar TatsuUkraine commented on July 26, 2024

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.

TatsuUkraine avatar TatsuUkraine commented on July 26, 2024

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.

TatsuUkraine avatar TatsuUkraine commented on July 26, 2024

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.

TatsuUkraine avatar TatsuUkraine commented on July 26, 2024

but, if something, I can use my fork until #17 will be done, not a problem at all

from timetable.

JonasWanke avatar JonasWanke commented on July 26, 2024

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.

TatsuUkraine avatar TatsuUkraine commented on July 26, 2024

sure, no problem at all)

from timetable.

TatsuUkraine avatar TatsuUkraine commented on July 26, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.