[B4X] [XUI] [Old] AS CalendarAdvanced ? - OneRow/FiveRow Calendar - Expand and Collapse [Payware]

wimpie3

Well-Known Member
Licensed User
Longtime User
I discovered one more inconsistency. The current selected day is light blue in my calendar. When moved to days used by appointmenttype3 (red on the screenshot), the indicator is moved to the BACK. On days 17 and 19 part of the light blue can be seen, on day 18 the indicator is totally invisible. This is the opposite behavior of that happens when the current selected day is moved to the current day. Here the light blue indicator stays on top (which is better in my opinion).

Screen shot of light blue behind appointmenttype 3:
1644665635560.png

Screen shot of light blue on top of today's date:
1644665990078.png

I think this was the last remark I have left.

Oh yeah, I noticed that the calendar is getting really slow with lots of events, but I think you're already working on a solution for that, right? Thanks!
 

Alexander Stolte

Expert
Licensed User
Longtime User
Update
  • 2.22
    • Add set CurrentDayBehindAppointments - if False then the current day indicator is before the appointments_type3
      • Default: True
    • The Selected Day Indicator is now always in front
Screen shot of light blue behind appointmenttype 3:
1644665635560.png
set the CurrentDayBehindAppointments to false

Oh yeah, I noticed that the calendar is getting really slow with lots of events, but I think you're already working on a solution for that, right? Thanks!
But also only in B4A. But it will take a little while until a fix is available.
 

wimpie3

Well-Known Member
Licensed User
Longtime User
Sorry, another bug... VisibleRangeChange is not fired when going from month to weekmode. From week to month it's working fine.

Also a visual problem:
1644679091386.png

When CurrentDayBehindAppointments is false, the label on top and the circles at the bottom are hidden by the current day selector. Only appointments of type 3 should be shown below the selector, the rest can stay on top because they become invisible otherwise.

A question: there seems to be no way to know in which mode the calendar currently is? I'm calculating the number of days between the first and last visible date now, but it might be interesting to add an Expanded property which returns a boolean.
 
Last edited:

Alexander Stolte

Expert
Licensed User
Longtime User
We have been implementing this library on production apps for about 4 months and it's great
Thats great! Thanks. ☺️

Now when expanding and collapsing there is a short moment where the current page is rebuilt and you see a very short flicker. i hope this doesn't matter too much as it comes from LazyLoading, i'll try to fix this in the next updates.
 

Alexander Stolte

Expert
Licensed User
Longtime User
Update
  • 3.02
    • Add Designer Property WeekRowCount - You can now display 6 rows in a month
      • Default: 5
      • Its locked to 5 and 6
WeekRowCount
In some constellations 6 lines are needed, e.g. in May, if the week starts on Monday, then 6 lines are needed.
1650315438342.png
 

wimpie3

Well-Known Member
Licensed User
Longtime User
Why keep the option to show 5 weeks? That means the last week will be dropped from the calendar in some months, right?
 

vfafou

Well-Known Member
Licensed User
Longtime User
Hello Alexander!

I use the view always in expanded mode.
After the change to show 6 rows of weeks, I've noticed 2 strange problems:

1. After initialisation the selected day indicator remains at the next month view, if the day (like today) is at the last week of month.
2. The PreviousWeek method, at least for 2022, "eliminates" March and goes straight to February if you call it from April.

Image and video are attached!

Thank you in advance!

Update:
I've tried to understand what is the problem. Something goes wrong with the 6th row of days. I've played with your example to exclude the possibility that I have done something wrong and I've found the following:

1. When you click [Back to Current Date], the calendar jumps to May and not to April.
2. If you are in March, when you press [+1 Week/Month], it jumps to May and not to April.

I have attached the images.
I hope the above issues will help you!


 

Attachments

  • Screenshot 2022-04-28 174423.png
    Screenshot 2022-04-28 174423.png
    41.4 KB · Views: 179
  • Screenshot 2022-04-28 183137.png
    Screenshot 2022-04-28 183137.png
    83.4 KB · Views: 173
  • Screenshot 2022-04-28 183246.png
    Screenshot 2022-04-28 183246.png
    87.3 KB · Views: 176
Last edited:

Alexander Stolte

Expert
Licensed User
Longtime User
This version may contain bugs. A backup of the last version is available in the 1st post.

Update

  • 3.03
    • Property ShowFirstWeekOfMonthInFirstRow removed
      • First week of month is always in the first row
    • BugFixes
1. After initialisation the selected day indicator remains at the next month view, if the day (like today) is at the last week of month.
2. The PreviousWeek method, at least for 2022, "eliminates" March and goes straight to February if you call it from April.
try it again, i have rewritten the logic
 

vfafou

Well-Known Member
Licensed User
Longtime User
Hello Alexander!
I've noticed that when I add with a batch process appointments to the AS Scheduler and I update the AS Calendar Advanced, the AS Calendar Advanced is very slow when adding appointments! Am I missing something or it needs some optimization? By the way, the AS Scheduler is very fast!
Thank you in advance!
 

Alexander Stolte

Expert
Licensed User
Longtime User
I've noticed that when I add with a batch process appointments to the AS Scheduler and I update the AS Calendar Advanced, the AS Calendar Advanced is very slow when adding appointments! Am I missing something or it needs some optimization?
I send you a private message with a test version.

By the way, the AS Scheduler is very fast!
Thanks, I have learned a lot since then :)
 

Alexander Stolte

Expert
Licensed User
Longtime User
Update
  • 3.04
    • Add Refresh - Applies all changes and displays them
      • do the same as CommitStyleChanges
    • Call Refresh after you add one or some "AddAppointmentType1"
    • Minor Adjustments
Example
B4X:
For i = 0 To 50 -1
    
    ASCalendarAdvanced1.AddAppointmentType1(DateUtils.SetDate(2022,5,3),xui.Color_ARGB(255,45, 136, 121))
    
Next
ASCalendarAdvanced1.Refresh
 
Top