Coder Social home page Coder Social logo

werner-scholtz / kalender Goto Github PK

View Code? Open in Web Editor NEW
61.0 6.0 17.0 23.67 MB

An elegantly crafted Flutter calendar UI package.

License: MIT License

Objective-C 0.02% Dart 80.24% C++ 9.57% C 0.59% CMake 7.83% Swift 0.72% Kotlin 0.05% HTML 0.76% Shell 0.23%

kalender's People

Contributors

049er avatar iktakahiro avatar kluverua avatar werner-scholtz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

kalender's Issues

Latest version are in conflict with flutter_localization

Hello,

i use in my project the library flutter_localization that depends on Flutter SDK flutter_localizations (the one that uses the intl 0.18.1). but the latest version of kalender use the intl 0.19 and so, generate a conflict.

Is there a workaround for use your latest version of kalender using the library intl 0.18.1 (now i am use kalender 0.2.2) ?

Thank you,Regards

missing language localizzation for days of the week in header and showDayHeader don't work

Hello team,

i see that in components DayHeaderStyle and MonthHeaderStyle there is the possibility to change the date format of day of the week, but i don't see the possibility to change the language localization and the days of the week are only in english.

In the next release will there be the possibility to change the language? Or it's already there and I didn't notice it, in which case I apologize for opening a useless issue.

in add i notice that the showDayHeader that which it replaced showHeader in CustomMultiDayConfiguration doesn't work

Best Regards and thank for your work.

Yearly view

Greetings,

is there any way that you can add year Configuration view?

thank you for your hard work.

Dragging across weeks & general suggestions

Thanks for building this amazing library, which is already one of the best Flutter calendars out there.

One of the UX requirements for us would be to be able to drag & drop events across weeks, i.e. long tap to start dragging an event, move it towards the edge of the screen to trigger the scroll to another week, and continue dragging to set a new date and time. See a demo of what I mean on another app here: https://share.cleanshot.com/blx5fkSz

We tried to play with the library internally to achieve this, but it is currently tricky cause the event is a child of the current page being displayed.

Would it make sense to have the widget being dragged rendered at the root level of the widget tree instead, for more flexibility? This would allow the draggable widget to move freely on the user's finger, also across pages. Like in the video I posted above, a placeholder could be used to indicate where the event is going to drop.

I am posting this idea since you mentioned you are considering some refactoring as part of #48 (which, by the way, is also something we'd love to see).

Horizontal free scroll

Horizontal free scrolling so the user can scroll the multi day view freely (similar to google calendar) and the date on top will stay connected to each day column.

customizing the tiles

Hi, is there a way to customize the tiles? not the event tiles, but just the regular tiles in the calendar.

i'd like to make tiles that are past from DateTime.now show in disabled shaded color.

Question: time issue

Hello, thank you for your awesome package.

I'm using your awesome package, and it is fantastic, however there is issue about time and did not manage to fix it.

the issue is: when retrieving events from backend everything is good except for the time will be subtracted by 3 hours.
for example. if I create event [start date: 25/4/2024 10:00:00, end date: 26/4/2024 11:00:00] it will be created and stored to database perfectly and correctly. but when retrieve it will be subtracting 3 hours so will be like [start date: 25/4/2024 07:00:00, end date: 26/4/2024 08:00:00]. I tried to find the issue by debugging but everything is good except when the process enters the package. I knew the issue is in the package but could not know where exactly.

another example: when create event at day 20 time 00:00:00 it will become the previous day at day19 and time at 21:00:00, and this is big problem for me.

so, any UTC issues or anything that may cause this you think or anything that may help me fix this?

is there a way to detect page changes and receive the date or page number as callback?

Hi!

wondering if it's possible to receive a callback with either date or the changed page number for when page changes on swiping left/right on the calendar.

for instance, when a user swiped on a day view or week view, i'd like to make a network call to fetch the new events from backend with the swiped date and populate the new events in the calendar grid.

or if that's not possible, is there a way to disable the swiping behavior for day view / week view etc, (not sure if disabling swipe will affect the calendarController.jumpToDate(date); and calendarController.animateToDateTime(date); since it uses the scrolling controller.

bug: not showing the current day.

hello, in the month view some times the calendar widget doesn't recognize the current date to show by default.

for example check below video:

month.view.bug.mp4

current day is second of may, yet it is not included in the current visible dateRange as you can see.

note: if the firstDayOfWeek is monday it may be good but other days are causing this type of bug.

thanks

Resources and slot times

Is it possible to get the appointment for X resources where the appointment are divided inside the day view for each resource on top and is It possible to add minutes to timeline to view hours with interval? like 15 minutes

Timezone bug

In few timezones (Romanian for example) this is happening:

  1. I created an event on 29th by tapping, event date is created as 28th.
  2. When I created an event by code for 29th, the event gets mapped to 30th.

If you know this bug, how can it be solved?

Screenshot 2024-04-30 at 1 30 10 AM

Some may be nice enhancements for the MonthView

  1. The height of cell in the MonthView can be customized by user or it can be flexible that the height will be expanded automatically when the number of events exceeds to replace the scroll bar.
  2. We can customize the widget of the MonthCellHeader. For example, we can add a counter to the header to count the total number of events in the cell or we can add the holiday event to the header cell that separates holiday and personal events.
  3. If the event title is longer than 1 line, it will be overflowed to the next line automatically because sometimes the event title maybe include lots of words.

Opportunity to set width for events

Hello team,

i want ask you if there is the opportunity to set the width of the event when i add it on calendar, because in my case when there are many events in the same day ,I would prefer to view them next to each other and not one below the other because the first event that occupies all available width.

I always thank you for the work you do

Regards

Focus on current time

Hi there! Would it be possible in the day view for the view to load focussed on the current time (ie the red bar?)

Thanks!

issue with setting the firstDayOfWeek to Sunday on Week view

Hi!

there's an issue when the firstDayOfWeek is set to DateTime.sunday but the calendar header is showing the next week's range.

in the picture below, the time range for week 17 is showing (Sun 28 - Sat 4), where it is supposed to be (Sun 21 - Sat -27), Time zone in Toronto, ON (GMT-4)
image

Steps to reproduce:

  1. clone the app and run web_demo project
  2. create a class that extends the WeekConfiguration default the firstDayOfWeek to DateTime.sunday, (this class is basically a copy of the WeekConfiguration but adding the firstDayOfWeek option, this is needed because I couldn't find any default configuration that exposes the firstDayOfWeek property):
    image
  3. run the app and see that the date range in calendar header is showing the next weeks ranges, the correct date ranges should be Sunday April 21st 2024 - Saturday April 27th 2024 (however, the week number 17 shown in the top left does seem to be correct)

Change the color and font of day in weekly configuration

Hi Team ,

for the weekly configuration I haven't found any way, to change the color and the font of number of day in header, but only the name of the week changes.

I attach a photo to explain my problem better, in the red circles you can see the numbers of the day whose color and font I cannot change

calendar

thank you a lot for your work
Regards

Custom vertical scroll controller

Hello Werner,

I have been using your package for a while and I have a question for you. I want to provide a vertical scrollController myself to the Calendar widget. Is there any way to do so, if not then how can I achieve it by modifying current package code?

Question: While Developing, Reload Package changes?

Sorry this is more of a question of actually attempting to fix bugs (adding features) for PR. I'm curious if I clone this solution and use the example folder as the sort of container project to visualize changes, should I be able to see updates to the package rendered within the example app? Is there something I need to Enable?

I noticed the example project is just referencing Kalender library as if it was a relative import (up a folder structure). I dont even know of a way to build the Kalendar package such that I can import the changes into the example app, as flutter/dart cli tools seem to want to spit out a new executable (mobile/web/windows).

So far I opened the Kalendar project, and then just have a debug configuration that just starts ./example project.

Mobile event card resizing

Hi. I really enjoyed working with your package, but I encountered an unpleasant bug while resizing an event on iPhone.

This can be reproduced as follows:

  1. Select the edge of the card.
  2. Select the second edge of the card and start resizing.
  3. Release the edge of the card from which the stretching was performed.
  4. (Problematic) Without releasing the first finger, I try to resize with the second finger, but nothing works.
  5. I release the first finger and get an error.

I would be very grateful if you could help me with this issue
kalender_error
Error message

Translation to Spanish

Hello, I am studying software engineering in Colombia and I need to use this package for my project which is about the creation of schedules for a university, my question is if there is any translation into Spanish?

Switching from Week view to Day view

Hey, great widget, love how customisable it is!

I have the example code running on my phone and the browser. When I switch from Week view to Day view, the correct day number is loaded however the previous day's events are shown until i swipe away to the next day, when it is properly set.

This happens as well in my own code! Calling setState doesnt help.

Could you try and fix this in the next version, or show me whats wrong and I can fix it?

Tile does not appear on the last day

Hello, I see that the tile is not being drawed to the last day, any idea how to accomplish this without increasing the toDate value?

when for example set fromDate = "2024-04-09 05:00:00.000" and toDate = "2024-04-10 04:01:00.000", as you can see this event is on 2 days, but it will draw tile on the "2024-04-09 05:00:00.000" only, because this event's duration is less than 24 hours, if it is more than 24 hours it will draw tiles correctly to the end. so, I can increase the toDate until it is more than 24 hours ahead from fromDate but it is not recommended since info here must be very accurate and must not change anything. because I'm using it for real events for public.

note: I can't change user input to manipulate tiles because then there is no accuracy.

if you could look into this matter, it will be appreciated, thank you.

custom layer controller

Hi, thank you for this great calendar package!

Could you share the code for making the events not overlapping?

Example from your demo site when the Custom Layout Controller checkbox is checked:

image

Auto-scroll when dragging events

Hi, it would be very helpful if there was an option to enable auto-scrolling when dragging events close to the edge of the page. Enabling support for custom ScrollControllers would also help in achieving this.

Repeatable Events

Hello Werner,
Thanks for your awesome work with this package!

If possible, could you please implement a functionality to repeat an event?

I'm currently implementing a calendar view into an app for my university (University of Applied Sciences Munich).
Since the lectures repeat every week, it would be great to display them in the calendar without the need to split the event into multiple.

Thanks in advance,
Moritz

Bug: Incorrect event duration display and ending day

Hello, I believe I've identified a minor bug.

In the demo app, when I set a duration of 8 days, the event shows correctly. (Please refer to the screenshot below)

However, when I change the duration to 9 days, the event only shows for 2 days.

Additionally, the bug occurs when I set the duration to end on Sunday.

Thank you.

RFE: ScheduleMonthHeaderBuilder should use internationalized month names

The month names in ScheduleMonthHeaderBuilder are hard coded ( the month of May is rendered as Mei ;-) )

I realize this is a default header builder, but it would be nice if the month names could default to the users locale. Perhaps consider using the intl package?

There are probably other places where intl could help.

The shadow under the header does not reach the timeline

Hi, we really like your calendar!

There is one problem related to UI
If the calendar header(CalendarHeaderBackground) has an elevation (by default it is 2), then its shadow does not reach the left edge of the screen (above timeline bloc)

image

We tried to fix this through the timeline builder.
But without changes in the library, it was not possible. Maybe you will succeed.

Or as a workaround, you can add Divider (with color and height parameters) or some builder here \kalender\lib\src\views\multi_day_view\multi_day_view.dart:108

CustomMultiDayConfiguration haven't the property showHeader like MonthConfiguration

Hello team ,

i see that in the last release was added for MonthConfiguration the boolean property showHeader that hide or show the header for month view;

Is possible introduce this feature for CustomMultiDayConfiguration with the property number of days set to 1?

i remember that for the old version this property is present also for CustomMultiDayConfiguration

Thank you a lot for your work

Regards

Date range issue

Hello,

thank you for your hard work.

I just noticed there is a bug regarding the date range fields in the new & edit events popup. when trying for example to add new event, then if clicked on the date (From or To ), then choose any date and click ok, now the chosen date is no appearing or not reflexed.

note this is a UI thing only, even if the new chosen date is not showing but when clicked on save, the new event will be created correctly with the dates chosen by user.

Drag & Drop 'CalendarEvent' from outside the 'CalendarView'

Hi, I was wondering if there's a way to drag & drop a CalendarEvent object which is not currently in the CalendarView's event controller into the CalendarView. I've checked that the MultiDayView/Content do not use DragTarget so I was trying to select the event and set isRescheduling to true while dragging but can't seem to properly determine the new DateTimeRange.
Any help would be appreciated!

how to show multi day events in calendar grid?

Hi Thank you for the awesome package!

I was wondering if it's possible to show full day events in the calendar grid instead of calendar header area.

for instance, i have an event that lasts from 2024-April-21 to 2024-April-23, i would like to show it as three columns in the calendar grid.

something like this:

image

i've tried passing in the flag createMultiDayEvents: false,, it did make the multi-days events in the calendar header area disappear, but it doesn't show in the grid...

hoping if you could pls point me to the right direction in code, and if you could provide some guidance on what i can do for custom implementation that would be greatly appreciated!

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.