Feb 13, 2022 Replies: 244 The AS Scheduler is a B4X library for displaying and interacting with appointments. You want to try the views out? Then click here The project was divided into modules. Views ASScheduler_DayView ASScheduler_MonthView ASScheduler_AgendaView ASScheduler_CalendarViewMonth ASScheduler_CalendarViewWeek Classes ASSchedulerAPI ASSchedulerInternShared Modules ASSchedulerUtils All Features of the DayView: [B4X] AS Scheduler - DayView https://www.b4x.com/android/forum/threads/b4x-xui-as-scheduler-%F0%9F%93%85-monthview-dayview-week-agendaview-and-calendarview-payware.138410/ The following thread lists all the features that the DayView of the AS_Scheduler has. Appointments Overview Appointment OverviewGap The OverviewGap... www.b4x.com Spoiler: Dependencies/Libraries you need for this view B4j: jXUI,jDateUtils,xCustomListView,ASViewPager,jSQL B4a: XUi,DateUtils,Reflection,xCustomListView,ASViewPager,SQL B4i: iXUI,iDateUtils,xCustomListView,ASViewPager,iSQL Make sure you are using ASViewPager V1.31+ On B4I you need GestureRecognizer Download the .bas file in the attachment No longer needed since 1.16+ ASScheduler Author: Alexander Stolte Version: 3.00 Spoiler: Properties, Functions, Events, etc. ASSchedulerAPI Functions: Class_Globals As String ClearAppointments As String Deletes all Appointments ClearBlackouts As String Deletes all Blackouts ClearSpecialDays As String Deletes all SpecialDays CreateAppointment (Appointment As ASScheduler_Appointment) As ASScheduler_Appointment Creates a new Appointment <code>ASScheduler_DayView1.API.CreateAppointment(ASSchedulerUtils.CreateASScheduler_Appointment(0,"Test Item 1",xui.Color_ARGB(255,45, 136, 121),False,DateTime.now,DateTime.now+DateTime.TicksPerHour))</code> <code>ASScheduler_DayView1.API.CreateAppointment(ASSchedulerUtils.CreateASScheduler_AppointmentRecurring(0,"Test Item 1",xui.Color_ARGB(255,45, 136, 121),False,DateTime.now,DateTime.now+DateTime.TicksPerHour,True,"week",1))</code> CreateBlackout (Blackout As ASScheduler_Blackout) As String Create a new Blackout <code>ASScheduler_DayView1.API.CreateBlackout(ASSchedulerUtils.CreateASScheduler_Blackout(0,DateTime.Now+(DateTime.TicksPerDay*2),DateTime.Now+(DateTime.TicksPerDay*2)))'2 days </code> CreateSpecialDay (SpecialDay As ASScheduler_SpecialDay) As ASScheduler_SpecialDay DeleteAppointment (Id As Int) As String Removes an Appointment DeleteBlackout (Id As Int) As String Removes an Appointment DeleteSpecialDa (Id As Int) As String GetAppointment (Id As Int) As ASScheduler_Appointment Get a Appointment GetAppointmentCount As Int Gets the count of all Appointments GetAppointmentCountInRange (StartDate As Long, EndDate As Long, DurationLongerThanOneDay As Boolean) As Int Gets the Appointments count from StartDate to EndDate The time value is set to 0 o'clock on StartDate and at the EndDate to 23:59 If DurationLongerThanOneDay = True then it counts only the appointments that go longer than 1 day GetAppointmentCountOnOneDay (Date As Long) As Int GetAppointments (Date As Long) As List Gets all appointments on that Date Returns a List of ASScheduler_Appointment objects GetCustomQuery (Columns As String, Table As String, Where As String, Args As String()) As ResultSet The table structure you find here <code>https://www.b4x.com/android/forum/threads/b4x-xui-as-scheduler-?-monthview-and-dayview-week-payware.138410/post-876274</code> If you dont need a where, just put a "" to the string GetDateSpecialDay (Date As Long) As ASScheduler_SpecialDay GetIsDayBlackout (Date As Long) As Boolean Checks if there is a blackout on that day getSQL As SQL Initialize (sql As SQL) As String Initializes the object. You can add parameters to this method if needed. IsInitialized As Boolean Tests whether the object has been initialized. UpdateAppointment (Appointment As ASScheduler_Appointment) As ASScheduler_Appointment UpdateSpecialDay (SpecialDay As ASScheduler_SpecialDay) As ASScheduler_SpecialDay Properties: SQL As SQL [read only] ASSchedulerInternShared Fields: SQL As SQL Functions: CreateAppointment (Parent As B4XView, Appointment As ASScheduler_Appointment, CurrentDay As Long, g_AppointmentProperties As ASScheduler_MonthView_AppointmentProperties) As String CreateASScheduler_MonthView_AppointmentProperties (Height As Float, Gap As Float, LeftRightGap As Float, CornerRadius As Float, xFont As B4XFont, TextColor As Int) As ASScheduler_MonthView_AppointmentProperties CreateASScheduler_MonthView_BlackoutProperties (Width As Float, Color As Int, GapBetween As Float) As ASScheduler_MonthView_BlackoutProperties CreateHeaderItem (Text As String, HeaderTextProperties As ASScheduler_MonthView_HeaderTextProperties) As B4XView CreateHiddenAppointments (Parent As B4XView, Text As String, ListOfHiddenAppointments As List, g_AppointmentProperties As ASScheduler_MonthView_AppointmentProperties, DividerSize As Float) As String +3 More Appointments, but not visible GetARGB (Color As Int) As Int() GetDisplayDuration (StartTime As Long, EndTime As Long) As String GetMonthNameByIndex (Index As Int, MonthNameShort As ASScheduler_MonthNameShort) As String 1 = January GetWeekNameByIndex (Index As Int, WeekNameShort As ASScheduler_WeekNameShort) As String 1 = Sunday Initialize As String Process_Globals As String ASSchedulerUtils Functions: API As ASSchedulerAPI Global Scheduler API Access ConvertSameDateTimeTicks2SameDateTicks (ticks As Long) As Long CreateASScheduler_Appointment (Id As Int, Name As String, Description As String, Color As Int, isFullDay As Boolean, StartDate As Long, EndDate As Long) As ASScheduler_Appointment Id -The appointment ID, set this to 0 if you want to create an appointment CreateASScheduler_AppointmentRecurring (Id As Int, Name As String, Description As String, Color As Int, isFullDay As Boolean, StartDate As Long, EndDate As Long, isRecurring As Boolean, RecurringUnit As String, RecurringInterval As Int) As ASScheduler_Appointment Id -The appointment ID, set this to 0 if you want to create an appointment isRecurring - If True then the appointment will be recurring RecurringUnit - day - week - month - year are valid Use ASSchedulerUtils.Recurring_Day for the RecurringUnits CreateASScheduler_Blackout (Id As Int, StartDate As Long, EndDate As Long) As ASScheduler_Blackout CreateASScheduler_HeatMapColor (Color As Int, Count As Int, TextColor As Int) As ASScheduler_HeatMapColor CreateASScheduler_MonthNameShort (January As String, February As String, March As String, April As String, May As String, June As String, July As String, August As String, September As String, October As String, November As String, December As String) As ASScheduler_MonthNameShort CreateASScheduler_SpecialDay (Id As Int, Name As String, Date As Long) As ASScheduler_SpecialDay Id -The appointment ID, set this to 0 if you want to create an special day CreateASScheduler_SpecialDayRecurring (Id As Int, Name As String, Date As Long, isRecurring As Boolean, RecurringUnit As String, RecurringInterval As Int, isAlways As Boolean) As ASScheduler_SpecialDay Id -The appointment ID, set this to 0 if you want to create an special day isRecurring - If True then the appointment will be recurring RecurringUnit - day - week - month - year are valid Use ASSchedulerUtils.Recurring_Day for the RecurringUnits CreateASScheduler_WeekNameShort (Monday As String, Tuesday As String, Wednesday As String, Thursday As String, Friday As String, Saturday As String, Sunday As String) As ASScheduler_WeekNameShort FillWithDiagonallyDrawnLines (Target As B4XView, Thickness As Float, Color As Int) As String FillWithDiagonallyDrawnLines2 (Target As B4XView, Thickness As Float, GapBetween As Float, Color As Int) As String GetARGB (Color As Int) As Int() GetDaysBetween2Dates (StartDate As Long, EndDate As Long, RequiredDayOfWeek As Int) As List RequiredDayOfWeek - week starts at 1=sunday,2=monday... Call it if you are done adding new special days, makes this way makes the performance better GetFirstDayOfWeek2 (Ticks As Long, FirstDayOfWeek As Int) As Long FirstDayOfWeek: Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 GetWeekNumberStartingFromMonday (ticks As Long) As Int NumberOfWeeksBetween (StartDate As Long, EndDate As Long) As Int Process_Globals As String Recurring_Day As String Recurring_Month As String Recurring_Week As String Recurring_Year As String TimeSystem_12h As String TimeSystem_24h As String WeekDay_Friday As Int WeekDay_Monday As Int WeekDay_Saturday As Int WeekDay_Sunday As Int WeekDay_Thursday As Int WeekDay_Tuesday As Int WeekDay_Wednesday As Int ASScheduler_AgendaView Events: AppointmentClick (Appointment As ASScheduler_Appointment) AppointmentDoubleClick (Appointment As ASScheduler_Appointment) CustomDrawEmptyState (StartDate As Long, BackgroundPanel As B4XView) CustomDrawMonth (StartDate As Long, BackgroundPanel As B4XView) CustomDrawWeek (StartDate As Long, BackgroundPanel As B4XView) MonthClick (StartDate As Long) WeekClick (StartDate As Long) Fields: mBase As B4XView Tag As Object Functions: Class_Globals As String CreateASScheduler_AgendaView_AppointmentDayOfMonthProperties (xFont As B4XFont, TextColor As Int) As ASScheduler_AgendaView_AppointmentDayOfMonthProperties CreateASScheduler_AgendaView_AppointmentProperties (Height As Float, Gap As Float, CornerRadius As Float, xFont As B4XFont, TextColor As Int, ShowStartEndTime As Boolean, ShowDuration As Boolean) As ASScheduler_AgendaView_AppointmentProperties CreateASScheduler_AgendaView_AppointmentWeekDayProperties (xFont As B4XFont, TextColor As Int) As ASScheduler_AgendaView_AppointmentWeekDayProperties CreateASScheduler_AgendaView_EmptyStateProperties (xFont As B4XFont, TextColor As Int, Height As Float, BackgroundColor As Int, EmptyText As String) As ASScheduler_AgendaView_EmptyStateProperties CreateASScheduler_AgendaView_MonthProperties (xFont As B4XFont, TextColor As Int, Height As Float, BackgroundColor As Int) As ASScheduler_AgendaView_MonthProperties CreateASScheduler_AgendaView_TimelineProperties (Width As Float) As ASScheduler_AgendaView_TimelineProperties CreateASScheduler_AgendaView_WeekProperties (xFont As B4XFont, TextColor As Int, Height As Float, BackgroundColor As Int) As ASScheduler_AgendaView_WeekProperties CreateScheduler DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getAppointmentDayOfMonthProperties As ASScheduler_AgendaView_AppointmentDayOfMonthProperties getAppointmentProperties As ASScheduler_AgendaView_AppointmentProperties getAppointmentWeekDayProperties As ASScheduler_AgendaView_AppointmentWeekDayProperties getEmptyStateProperties As ASScheduler_AgendaView_EmptyStateProperties getMonthNameShort As ASScheduler_MonthNameShort getMonthProperties As ASScheduler_AgendaView_MonthProperties getStartDate As Long getTimelineProperties As ASScheduler_AgendaView_TimelineProperties getWeekNameShort As ASScheduler_WeekNameShort getWeekProperties As ASScheduler_AgendaView_WeekProperties Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. RebuildScheduler Clears the list and rebuilds it Set the StartDate if you want a new date RefreshScheduler As String Reloads all visible elements If you want to remove appointments then call RebuildScheduler Scroll2Date (Date As Long) setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setStartDate (StartDate As Long) As String setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String Properties: API As ASSchedulerAPI [read only] Gets the API AppointmentDayOfMonthProperties As ASScheduler_AgendaView_AppointmentDayOfMonthProperties [read only] AppointmentProperties As ASScheduler_AgendaView_AppointmentProperties [read only] AppointmentWeekDayProperties As ASScheduler_AgendaView_AppointmentWeekDayProperties [read only] EmptyStateProperties As ASScheduler_AgendaView_EmptyStateProperties [read only] MonthNameShort As ASScheduler_MonthNameShort MonthProperties As ASScheduler_AgendaView_MonthProperties [read only] StartDate As Long TimelineProperties As ASScheduler_AgendaView_TimelineProperties [read only] WeekNameShort As ASScheduler_WeekNameShort WeekProperties As ASScheduler_AgendaView_WeekProperties [read only] ASScheduler_AgendaView_AppointmentDayOfMonthProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_AppointmentProperties Fields: CornerRadius As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. ShowDuration As Boolean ShowStartEndTime As Boolean TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_AppointmentWeekDayProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_EmptyStateProperties Fields: BackgroundColor As Int EmptyText As String Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_MonthProperties Fields: BackgroundColor As Int Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_TimelineProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. Width As Float Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_WeekProperties Fields: BackgroundColor As Int Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_Appointment Fields: Color As Int Description As String EndDate As Long Id As Int isFullDay As Boolean IsInitialized As Boolean Tests whether the object has been initialized. isRecurring As Boolean Just4Sorting As String Name As String RecurringInterval As Int RecurringUnit As String StartDate As Long Tag As String Functions: Initialize Initializes the fields to their default value. ASScheduler_Blackout Fields: EndDate As Long Id As Int IsInitialized As Boolean Tests whether the object has been initialized. StartDate As Long Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarViewMonth Events: AppointmentClick (Appointment As ASScheduler_Appointment) AppointmentDoubleClick (Appointment As ASScheduler_Appointment) AppointmentLongClick (Appointment As ASScheduler_Appointment) CustomDrawDay (Date As Long, Views As ASScheduler_CalendarView_CustomDrawDay) HiddenAppointmentClick (ListOfAppointments As List) HiddenAppointmentLongClick (ListOfAppointments As List) SelectedDateChanged (Date As Long) Fields: mBase As B4XView Tag As Object Functions: ChangeView (NewView As String) Class_Globals As String CreateASScheduler_CalendarView_AppointmentProperties (Height As Float, Gap As Float, BottomGap As Float) As ASScheduler_CalendarView_AppointmentProperties CreateASScheduler_CalendarView_BodyProperties (xFont As B4XFont, TextColor As Int) As ASScheduler_CalendarView_BodyProperties CreateASScheduler_CalendarView_HeaderProperties (Height As Float, xFont As B4XFont, TextColor As Int) As ASScheduler_CalendarView_HeaderProperties CreateASScheduler_CalendarView_SpecialDayProperties (Color As Int) As ASScheduler_CalendarView_SpecialDayProperties CreateASScheduler_CalendarView_WeekNumberProperties (Width As Float, Color As Int, xFont As B4XFont, TextColor As Int, Text As String) As ASScheduler_CalendarView_WeekNumberProperties CreateASScheduler_MonthNameShort (January As String, February As String, March As String, April As String, May As String, June As String, July As String, August As String, September As String, October As String, November As String, December As String) As ASScheduler_MonthNameShort CreateASScheduler_WeekNameShort (Monday As String, Tuesday As String, Wednesday As String, Thursday As String, Friday As String, Saturday As String, Sunday As String) As ASScheduler_WeekNameShort DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getAppointmentProperties As ASScheduler_MonthView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> LeftRightGap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> getBlackoutProperties As ASScheduler_MonthView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> getBodyColor As Int getBodyProperties As ASScheduler_CalendarView_BodyProperties getCurrentDateColor As Int getCurrentView_CenturyView As String getCurrentView_DecadeView As String getCurrentView_MonthView As String getCurrentView_YearView As String getGridLineColor As Int getHeaderColor As Int getHeaderPanel As B4XView You can customize the appereance of the header With the following code you can customize the control elements that are visible in the header: <code> 'Middle Text Label Dim xlbl_Header As B4XView = AS_DatePicker1.HeaderPanel.GetView(0) 'Left Arrow Label Dim xlbl_ArrowLeft As B4XView = AS_DatePicker1.HeaderPanel.GetView(1) 'Right Arrow Label Dim xlbl_ArrowRight As B4XView = AS_DatePicker1.HeaderPanel.GetView(2) </code> getHeaderProperties As ASScheduler_CalendarView_HeaderProperties getMonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_CalendarViewMonth1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> getSchedulerFunction As String getSchedulerFunction_Calendar As String getSchedulerFunction_MonthView As String getSelectedDate As Long getSelectedDateColor As Int getShowAppointments As Boolean Call RefreshScheduler if you change something getShowGridLines As Boolean getShowHeader As Boolean getShowWeekNumbers As Boolean Gets or sets the number of visible weeks Call Refresh to commit changes getSpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties getStartDate As Long getWeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_CalendarViewMonth1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> getWeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties Call Refresh if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. NextMonth As String PreviousMonth As String RefreshScheduler As String Rebuilds the visible scheduler items Scroll2Date (Date As Long) As String Scrolls to the date Builds the view new if the date was not in range setAppointmentProperties (MonthView_AppointmentProperties As ASScheduler_MonthView_AppointmentProperties) As String setBlackoutProperties (MonthView_BlackoutProperties As ASScheduler_MonthView_BlackoutProperties) As String setBodyColor (Color As Int) As String setBodyProperties (BodyProperties As ASScheduler_CalendarView_BodyProperties) As String setCurrentDateColor (Color As Int) As String setFirstDayOfWeek (number As Int) As String 1-7 Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 setGridLineColor (Color As Int) As String setHeaderColor (Color As Int) As String setHeaderProperties (HeaderProperties As ASScheduler_CalendarView_HeaderProperties) As String setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setSchedulerFunction (FunctionName As String) As String setSelectedDate (Date As Long) As String setSelectedDateColor (Color As Int) As String setShowAppointments (Visible As Boolean) As String setShowGridLines (Show As Boolean) As String setShowHeader (Visible As Boolean) As String setShowWeekNumbers (Show As Boolean) As String setSpecialDayProperties (SpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties) As String setStartDate (Date As Long) As String setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String setWeekNumberProperties (WeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties) As String Properties: API As ASSchedulerAPI [read only] Gets the API AppointmentProperties As ASScheduler_MonthView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> LeftRightGap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> BlackoutProperties As ASScheduler_MonthView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> BodyColor As Int BodyProperties As ASScheduler_CalendarView_BodyProperties CurrentDateColor As Int CurrentView_CenturyView As String [read only] CurrentView_DecadeView As String [read only] CurrentView_MonthView As String [read only] CurrentView_YearView As String [read only] FirstDayOfWeek 1-7 Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 GridLineColor As Int HeaderColor As Int HeaderPanel As B4XView [read only] You can customize the appereance of the header With the following code you can customize the control elements that are visible in the header: <code> 'Middle Text Label Dim xlbl_Header As B4XView = AS_DatePicker1.HeaderPanel.GetView(0) 'Left Arrow Label Dim xlbl_ArrowLeft As B4XView = AS_DatePicker1.HeaderPanel.GetView(1) 'Right Arrow Label Dim xlbl_ArrowRight As B4XView = AS_DatePicker1.HeaderPanel.GetView(2) </code> HeaderProperties As ASScheduler_CalendarView_HeaderProperties MonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_CalendarViewMonth1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> SchedulerFunction As String SchedulerFunction_Calendar As String [read only] SchedulerFunction_MonthView As String [read only] SelectedDate As Long SelectedDateColor As Int ShowAppointments As Boolean Call RefreshScheduler if you change something ShowGridLines As Boolean ShowHeader As Boolean ShowWeekNumbers As Boolean Gets or sets the number of visible weeks Call Refresh to commit changes SpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties StartDate As Long WeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_CalendarViewMonth1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> WeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties Call Refresh if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> ASScheduler_CalendarViewWeek Events: CustomDrawDay (Date As Long, Views As ASScheduler_CalendarView_CustomDrawDay) SelectedDateChanged (Date As Long) Fields: mBase As B4XView Tag As Object Functions: Class_Globals As String CreateASScheduler_CalendarView_AppointmentProperties (Height As Float, Gap As Float, BottomGap As Float) As ASScheduler_CalendarView_AppointmentProperties CreateASScheduler_CalendarView_BodyProperties (xFont As B4XFont, TextColor As Int) As ASScheduler_CalendarView_BodyProperties CreateASScheduler_CalendarView_HeaderProperties (Height As Float, xFont As B4XFont, TextColor As Int) As ASScheduler_CalendarView_HeaderProperties CreateASScheduler_CalendarView_SpecialDayProperties (Color As Int) As ASScheduler_CalendarView_SpecialDayProperties CreateASScheduler_CalendarView_WeekNumberProperties (Width As Float, Color As Int, xFont As B4XFont, TextColor As Int, Text As String) As ASScheduler_CalendarView_WeekNumberProperties CreateASScheduler_MonthNameShort (January As String, February As String, March As String, April As String, May As String, June As String, July As String, August As String, September As String, October As String, November As String, December As String) As ASScheduler_MonthNameShort CreateASScheduler_WeekNameShort (Monday As String, Tuesday As String, Wednesday As String, Thursday As String, Friday As String, Saturday As String, Sunday As String) As ASScheduler_WeekNameShort DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getBodyColor As Int getBodyProperties As ASScheduler_CalendarView_BodyProperties getCurrentDateColor As Int getHeaderColor As Int getHeaderPanel As B4XView You can customize the appereance of the header With the following code you can customize the control elements that are visible in the header: <code> 'Middle Text Label Dim xlbl_Header As B4XView = AS_DatePicker1.HeaderPanel.GetView(0) 'Left Arrow Label Dim xlbl_ArrowLeft As B4XView = AS_DatePicker1.HeaderPanel.GetView(1) 'Right Arrow Label Dim xlbl_ArrowRight As B4XView = AS_DatePicker1.HeaderPanel.GetView(2) </code> getHeaderProperties As ASScheduler_CalendarView_HeaderProperties getMonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_CalendarViewWeek1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> getSelectedDateColor As Int getShowAppointments As Boolean Call RefreshScheduler if you change something getShowHeader As Boolean getShowWeekNumbers As Boolean Gets or sets the number of visible weeks Call Refresh to commit changes getSpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties getStartDate As Long getWeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_CalendarViewWeek1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> getWeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties Call Refresh if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. NextWeek As String PreviousWeek As String RefreshScheduler As String Rebuilds the visible scheduler items Scroll2Date (Date As Long) As String Scrolls to the date Builds the view new if the date was not in range setBodyColor (Color As Int) As String setBodyProperties (BodyProperties As ASScheduler_CalendarView_BodyProperties) As String setCurrentDateColor (Color As Int) As String setFirstDayOfWeek (number As Int) As String 1-7 Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 setHeaderColor (Color As Int) As String setHeaderProperties (HeaderProperties As ASScheduler_CalendarView_HeaderProperties) As String setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setSelectedDateColor (Color As Int) As String setShowAppointments (Visible As Boolean) As String setShowHeader (Visible As Boolean) As String setShowWeekNumbers (Show As Boolean) As String setSpecialDayProperties (SpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties) As String setStartDate (Date As Long) As String setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String setWeekNumberProperties (WeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties) As String Properties: API As ASSchedulerAPI [read only] Gets the API BodyColor As Int BodyProperties As ASScheduler_CalendarView_BodyProperties CurrentDateColor As Int FirstDayOfWeek 1-7 Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 HeaderColor As Int HeaderPanel As B4XView [read only] You can customize the appereance of the header With the following code you can customize the control elements that are visible in the header: <code> 'Middle Text Label Dim xlbl_Header As B4XView = AS_DatePicker1.HeaderPanel.GetView(0) 'Left Arrow Label Dim xlbl_ArrowLeft As B4XView = AS_DatePicker1.HeaderPanel.GetView(1) 'Right Arrow Label Dim xlbl_ArrowRight As B4XView = AS_DatePicker1.HeaderPanel.GetView(2) </code> HeaderProperties As ASScheduler_CalendarView_HeaderProperties MonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_CalendarViewWeek1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> SelectedDateColor As Int ShowAppointments As Boolean Call RefreshScheduler if you change something ShowHeader As Boolean ShowWeekNumbers As Boolean Gets or sets the number of visible weeks Call Refresh to commit changes SpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties StartDate As Long WeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_CalendarViewWeek1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> WeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties Call Refresh if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> ASScheduler_CalendarView_AppointmentProperties Fields: BottomGap As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_BodyProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_CustomDrawDay Fields: BackgroundPanel As B4XView IsInitialized As Boolean Tests whether the object has been initialized. xlbl_Date As B4XView Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_HeaderProperties Fields: Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_SpecialDayProperties Fields: Color As Int IsInitialized As Boolean Tests whether the object has been initialized. Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_WeekNumberProperties Fields: Color As Int IsInitialized As Boolean Tests whether the object has been initialized. Text As String TextColor As Int Width As Float xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView Events: AppointmentClick (Appointment As ASScheduler_Appointment) AppointmentDoubleClick (Appointment As ASScheduler_Appointment) AppointmentLongClick (Appointment As ASScheduler_Appointment) Created TimeBlockClick (StartDate As Long, EndDate As Long) TimeBlockDoubleClick (StartDate As Long, EndDate As Long) TimeBlockLongClick (StartDate As Long, EndDate As Long) Fields: mBase As B4XView Tag As Object Functions: Back2CurrentDate As String Slides Back or Forward to the Current Date Base_Resize (Width As Double, Height As Double) Class_Globals As String CreateASScheduler_DayView_AppointmentProperties (Height As Float, Gap As Float, CornerRadius As Float, xFont As B4XFont, TextColor As Int, OverviewGap As Boolean, ShowStartEndTime As Boolean, ShowDuration As Boolean) As ASScheduler_DayView_AppointmentProperties CreateASScheduler_DayView_BlackoutProperties (Width As Float, Color As Int) As ASScheduler_DayView_BlackoutProperties CreateASScheduler_DayView_CurrentTimeIndicatorProperties (Height As Float, Color As Int, FullWidth As Boolean) As ASScheduler_DayView_CurrentTimeIndicatorProperties CreateASScheduler_DayView_HeaderTextProperties (TextColor As Int, TextFont As B4XFont) As ASScheduler_DayView_HeaderTextProperties CreateASScheduler_DayView_TimelineProperties (Width As Float, BackgroundColor As Int, TextColor As Int, ShowGridLines As Boolean) As ASScheduler_DayView_TimelineProperties CreateASScheduler_DayView_WeekNumberProperties (Width As Float, Height As Float, Color As Int, xFont As B4XFont, TextColor As Int, CornerRadius As Float) As ASScheduler_DayView_WeekNumberProperties CreateASScheduler_DayView_WorkingProperties (StartHour As Int, EndHour As Int, NonWorkingDays As Int(), Color As Int, Active As Boolean) As ASScheduler_DayView_WorkingProperties CreateScheduler As String Call this if you want to show the scheduler the user The Panel in the forderground is hiding smoothly CreateVirtualView (Left As Double, Top As Double, Right As Double, Height As Double, xpnl_ItemBackground As B4XView) As VirtualView DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getAppointmentProperties As ASScheduler_DayView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> getBlackoutProperties As ASScheduler_DayView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> getBlockHeight As Float getBodyColor As Int getCurrentDateColor As Int getCurrentTimeIndicatorLiveUpdate As Boolean getCurrentTimeIndicatorProperties As ASScheduler_DayView_CurrentTimeIndicatorProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,221, 95, 96)</code> FullWidth: <code>False</code> getDayCount As String getDayCount_FiveDays As String getDayCount_OneDay As String getDayCount_SevenDays As String getDayCount_ThreeDays As String ThreeDays getDayCount_WorkWeek As String getGridLineColor As Int getHeaderColor As Int getHeaderHeight As Float getHeaderTextProperties As ASScheduler_DayView_HeaderTextProperties Call RefreshScheduler if you change something Default Values TextColor: <code>xui.Color_White</code> TextFont: <code>xui.CreateDefaultBoldFont(15)</code> getHeaderVisibility As Boolean getMonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_DayView1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> getSelectedBlockColor As Int getShowMonthNames As Boolean Call RefreshScheduler if you change something getShowWeekNumbers As Boolean Call RefreshScheduler if you change something getStartDate As Long Call RefreshComplete if you change something getTimelineProperties As ASScheduler_DayView_TimelineProperties Call RefreshScheduler if you change something Default Values Width: <code>40dip</code> BackgroundColor: <code>0xFF131416</code> TextColor: <code>xui.Color_White</code> getTimelineVisibility As Boolean getTimeSystem As String Call RefreshScheduler if you change something <code>ASSchedulerUtils.TimeSystem_24h</code> getWeekNameShort As ASScheduler_WeekNameShort Call RefreshScheduler if you change something <code>ASScheduler_DayView1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> getWeekNumberProperties As ASScheduler_DayView_WeekNumberProperties Call RefreshScheduler if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> getWorkingProperties As ASScheduler_DayView_WorkingProperties Call RefreshScheduler if you change something Default Values StartHour: <code>8</code> EndHour: <code>17</code> NonWorkingDays: <code>Array As Int(ASSchedulerUtils.WeekDay_Saturday,ASSchedulerUtils.WeekDay_Sunday)</code> Color: <code>xui.Color_ARGB(255,60, 64, 67)</code> Active: <code>True</code> Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. isValueInArray (SourceArray As Int(), TargetValue As Int) As Boolean Jump2Date (Date As Long) As String Jumps to the date Builds the view new if the date was not in range Nextweek As String PreviousWeek As String RefreshComplete As String RefreshScheduler As String Rebuilds the visible scheduler items Scroll2Date (Date As Long) As String Scrolls to the date Builds the view new if the date was not in range setAppointmentProperties (DayView_AppointmentProperties As ASScheduler_DayView_AppointmentProperties) As String setBlackoutProperties (DayView_BlackoutProperties As ASScheduler_DayView_BlackoutProperties) As String setBlockHeight (Height As Float) As String Call RefreshScheduler if you change something Default: 20dip setBodyColor (Color As Int) As String Call RefreshScheduler if you change something setCurrentDateColor (Color As Int) As String Call RefreshScheduler if you change something setCurrentTimeIndicatorLiveUpdate (Enabled As Boolean) As String If True then indicator moves 1 time per minute to always show the most current time setCurrentTimeIndicatorProperties (DayView_CurrentTimeIndicatorProperties As ASScheduler_DayView_CurrentTimeIndicatorProperties) As String setDayCount (DayCount As String) As String Changes the number of days that are visible Call RefreshComplete if you change something <code> ASScheduler_DayView1.DayCount = ASScheduler_DayView1.DayCount_FiveDays</code> setGridLineColor (Color As Int) As String Call RefreshScheduler if you change something setHeaderColor (Color As Int) As String Call RefreshScheduler if you change something setHeaderHeight (Height As Float) As String Call RefreshScheduler if you change something setHeaderTextProperties (DayView_HeaderTextProperties As ASScheduler_DayView_HeaderTextProperties) As String setHeaderVisibility (Visibility As Boolean) As String Hides or Show the Header Call RefreshScheduler if you change something setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setSelectedBlockColor (Color As Int) As String Call RefreshScheduler if you change something setShowMonthNames (Show As Boolean) As String Call RefreshScheduler if you change something setShowWeekNumbers (Show As Boolean) As String setStartDate (Date As Long) As String SetTheme (Theme As ASScheduler_Theme) As String DarkMode Example <code> Dim Theme As ASScheduler_Theme Theme.Initialize 'Background Colors Theme.BackgroundColor_Body = 0xFF202125 Theme.BackgroundColor_Header = 0xFF131416 Theme.BackgroundColor_Timeline = 0xFF131416 Theme.BackgroundColor_WeekNumber = xui.Color_ARGB(255,32, 33, 37) Theme.BackgroundColor_GridLine = 0x64FFFFFF Theme.BackgroundColor_Blackout = xui.Color_ARGB(152,255,255,255) 'Text Colors Theme.TextColor_Header = xui.Color_White Theme.TextColor_Timeline = xui.Color_White Theme.TextColor_WeekNumber = xui.Color_White ASScheduler_DayView1.SetTheme(Theme) ASScheduler_DayView1.RefreshScheduler </code> LightMode Example <code> Dim Theme As ASScheduler_Theme Theme.Initialize 'Background Colors Theme.BackgroundColor_Body = xui.Color_White Theme.BackgroundColor_Header = xui.Color_White Theme.BackgroundColor_Timeline = xui.Color_White Theme.BackgroundColor_WeekNumber = xui.Color_Gray Theme.BackgroundColor_GridLine = xui.Color_ARGB(100,0,0,0) Theme.BackgroundColor_Blackout = xui.Color_ARGB(152,0,0,0) 'Text Colors Theme.TextColor_Header = xui.Color_Black Theme.TextColor_Timeline = xui.Color_Black Theme.TextColor_WeekNumber = xui.Color_Black ASScheduler_DayView1.SetTheme(Theme) ASScheduler_DayView1.RefreshScheduler </code> setTimelineProperties (DayView_TimelineProperties As ASScheduler_DayView_TimelineProperties) As String setTimelineVisibility (Visibility As Boolean) As String Hides or Show the Timeline Call RefreshScheduler if you change something setTimeSystem (System As String) As String setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String setWeekNumberProperties (DayView_WeekNumberProperties As ASScheduler_DayView_WeekNumberProperties) As String Properties: API As ASSchedulerAPI [read only] Gets the API AppointmentProperties As ASScheduler_DayView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> BlackoutProperties As ASScheduler_DayView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> BlockHeight As Float Call RefreshScheduler if you change something Default: 20dip BodyColor As Int Call RefreshScheduler if you change something CurrentDateColor As Int Call RefreshScheduler if you change something CurrentTimeIndicatorLiveUpdate As Boolean If True then indicator moves 1 time per minute to always show the most current time CurrentTimeIndicatorProperties As ASScheduler_DayView_CurrentTimeIndicatorProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,221, 95, 96)</code> FullWidth: <code>False</code> DayCount As String Changes the number of days that are visible Call RefreshComplete if you change something <code> ASScheduler_DayView1.DayCount = ASScheduler_DayView1.DayCount_FiveDays</code> DayCount_FiveDays As String [read only] DayCount_OneDay As String [read only] DayCount_SevenDays As String [read only] DayCount_ThreeDays As String [read only] ThreeDays DayCount_WorkWeek As String [read only] GridLineColor As Int Call RefreshScheduler if you change something HeaderColor As Int Call RefreshScheduler if you change something HeaderHeight As Float Call RefreshScheduler if you change something HeaderTextProperties As ASScheduler_DayView_HeaderTextProperties Call RefreshScheduler if you change something Default Values TextColor: <code>xui.Color_White</code> TextFont: <code>xui.CreateDefaultBoldFont(15)</code> HeaderVisibility As Boolean Hides or Show the Header Call RefreshScheduler if you change something MonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_DayView1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> SelectedBlockColor As Int Call RefreshScheduler if you change something ShowMonthNames As Boolean Call RefreshScheduler if you change something ShowWeekNumbers As Boolean Call RefreshScheduler if you change something StartDate As Long Call RefreshComplete if you change something TimelineProperties As ASScheduler_DayView_TimelineProperties Call RefreshScheduler if you change something Default Values Width: <code>40dip</code> BackgroundColor: <code>0xFF131416</code> TextColor: <code>xui.Color_White</code> TimelineVisibility As Boolean Hides or Show the Timeline Call RefreshScheduler if you change something TimeSystem As String Call RefreshScheduler if you change something <code>ASSchedulerUtils.TimeSystem_24h</code> WeekNameShort As ASScheduler_WeekNameShort Call RefreshScheduler if you change something <code>ASScheduler_DayView1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> WeekNumberProperties As ASScheduler_DayView_WeekNumberProperties Call RefreshScheduler if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> WorkingProperties As ASScheduler_DayView_WorkingProperties [read only] Call RefreshScheduler if you change something Default Values StartHour: <code>8</code> EndHour: <code>17</code> NonWorkingDays: <code>Array As Int(ASSchedulerUtils.WeekDay_Saturday,ASSchedulerUtils.WeekDay_Sunday)</code> Color: <code>xui.Color_ARGB(255,60, 64, 67)</code> Active: <code>True</code> ASScheduler_DayView_AppointmentProperties Fields: CornerRadius As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. OverviewGap As Boolean ShowDuration As Boolean ShowStartEndTime As Boolean TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_BlackoutProperties Fields: Color As Int IsInitialized As Boolean Tests whether the object has been initialized. Width As Float Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_CurrentTimeIndicatorProperties Fields: Color As Int FullWidth As Boolean Height As Float IsInitialized As Boolean Tests whether the object has been initialized. Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_HeaderTextProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int TextFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_TimeBlock Fields: EndDate As Long IsInitialized As Boolean Tests whether the object has been initialized. StartDate As Long Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_TimelineProperties Fields: BackgroundColor As Int IsInitialized As Boolean Tests whether the object has been initialized. ShowGridLines As Boolean TextColor As Int Width As Float Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_WeekNumberProperties Fields: Color As Int CornerRadius As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int Width As Float xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_WorkingProperties Fields: Active As Boolean Color As Int EndHour As Int IsInitialized As Boolean Tests whether the object has been initialized. NonWorkingDays As Int() StartHour As Int Functions: Initialize Initializes the fields to their default value. ASScheduler_HeatMapColor Fields: Color As Int Count As Int IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthNameShort Fields: April As String August As String December As String February As String IsInitialized As Boolean Tests whether the object has been initialized. January As String July As String June As String March As String May As String November As String October As String September As String Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView Events: AppointmentClick (Appointment As ASScheduler_Appointment) AppointmentDoubleClick (Appointment As ASScheduler_Appointment) AppointmentLongClick (Appointment As ASScheduler_Appointment) Created CustomDrawDay (Date As Long, Views As ASScheduler_MonthView_CustomDrawDay) DayClick (Date As Long) DayDoubleClick (Date As Long) DayLongClick (Date As Long) FirstVisibleDay (Date As Long) HiddenAppointmentClick (ListOfAppointments As List) HiddenAppointmentLongClick (ListOfAppointments As List) LastVisibleDay (Date As Long) Fields: mBase As B4XView Tag As Object Functions: Back2CurrentDate As String Slides Back or Forward to the Current Date Base_Resize (Width As Double, Height As Double) Class_Globals As String CreateASScheduler_MonthView_DayProperties (TextColor As Int, TextFont As B4XFont, TextFontCurrentDay As B4XFont) As ASScheduler_MonthView_DayProperties CreateASScheduler_MonthView_HeaderTextProperties (TextColor As Int, TextFont As B4XFont, TextAlignment_Vertical As String, TextAlignment_Horizontal As String, BackgroundColor As Int) As ASScheduler_MonthView_HeaderTextProperties CreateASScheduler_MonthView_HeatMapProperties (xFont As B4XFont, ShowCounter As Boolean, ColorCountList As List) As ASScheduler_MonthView_HeatMapProperties CreateASScheduler_MonthView_MinimalismProperties (Height As Float, Gap As Float, BottomGap As Float) As ASScheduler_MonthView_MinimalismProperties CreateASScheduler_MonthView_WeekNumberProperties (Width As Float, Color As Int, xFont As B4XFont, TextColor As Int) As ASScheduler_MonthView_WeekNumberProperties CreateScheduler As String Call this if you want to show the scheduler the user The Panel in the forderground is hiding smoothly DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getAppointmentProperties As ASScheduler_MonthView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> LeftRightGap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> getBlackoutProperties As ASScheduler_MonthView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> getDayProperties As ASScheduler_MonthView_DayProperties getHeaderHeight As Float Default: 40dip getHeaderTextProperties As ASScheduler_MonthView_HeaderTextProperties Call RefreshHeader if you change something Default Values TextColor: <code>xui.Color_White</code> TextFont: <code>xui.CreateDefaultBoldFont(15)</code> TextAlignment_Vertical: <code>"CENTER"e</code> TextAlignment_Horizontal: <code>"CENTER"</code> BackgroundColor: <code>m_HeaderColor</code> getHeaderVisibility As Boolean getHeatMapProperties As ASScheduler_MonthView_HeatMapProperties Call RefreshScheduler if you change something Default Values xFont: <code>xui.CreateDefaultBoldFont(15)</code> ColorCountList Example: <code> Dim HeatColor As List : HeatColor.Initialize HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,214, 230, 133),0,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,140, 198, 101),2,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,68, 163, 64),4,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,30, 104, 35),7,xui.Color_White)) </code> getMinimalismProperties As ASScheduler_MonthView_MinimalismProperties Call RefreshScheduler if you change something Default Values Height: <code>8dip</code> Gap: <code>4dip</code> BottomGap: <code>16dip</code> getMonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_MonthView1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> getNumberOfWeeks As Int Gets or sets the number of visible weeks getSchedulerFunction As String getSchedulerFunction_Calendar As String Normal mode, Appointments and Blackout days are displayed getSchedulerFunction_HeatMap As String A heatmap shows how the workload is on one day The more appointments in a day, the darker is the color getSchedulerFunction_Minimalism As String Appointments are displayed as dots getSelectedDate As Long gets or sets the selected date getStartDate As Long Gets or sets the start date GetVisibleDays As List Gets the visible days as list of ASScheduler_MonthView_CustomDrawDay <code> For Each CustomDrawDay As ASScheduler_MonthView_CustomDrawDay In ASScheduler_MonthView1.GetVisibleDays CustomDrawDay.BackgroundPanel.Color = xui.Color_Red Next </code> getWeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_MonthView1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> getWeekNumberProperties As ASScheduler_MonthView_WeekNumberProperties Call RefreshScheduler if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. RefreshComplete As String Rebuilds the calendar RefreshHeader As String Rebuilds the header RefreshScheduler As String Rebuilds the visible scheduler items Scroll2Date (Date As Long) Scrolls to the date Builds the view new if the date was not in range SelectDate (Date As Long) As String setAppointmentProperties (MonthView_AppointmentProperties As ASScheduler_MonthView_AppointmentProperties) As String setBlackoutProperties (MonthView_BlackoutProperties As ASScheduler_MonthView_BlackoutProperties) As String setBodyColor (Color As Int) As String sets the body color Call RefreshScheduler to commit changes setCurrentDateColor (Color As Int) As String Call RefreshScheduler to commit changes setCurrentDateTextColor (Color As Int) As String Call RefreshScheduler to commit changes setHeaderColor (Color As Int) As String sets the Header Color setHeaderHeight (Height As Float) As String setHeaderTextProperties (MonthView_HeaderTextProperties As ASScheduler_MonthView_HeaderTextProperties) As String setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setNumberOfWeeks (Weeks As Int) As String Call RefreshScheduler to commit changes setSchedulerFunction (Function As String) As String Changes the functionality of the scheduler <code>ASScheduler_MonthView1.SchedulerFunction = ASScheduler_MonthView1.SchedulerFunction_HeatMap</code> setSelectedDate (date As Long) As String gets or sets the selected date Call RefreshScheduler to commit changes setSelectedDateColor (Color As Int) As String Call RefreshScheduler to commit changes setSelectedDateTextColor (Color As Int) As String Call RefreshScheduler to commit changes setShowWeekNumbers (Show As Boolean) As String Gets or sets the number of visible weeks Call RefreshScheduler to commit changes setStartDate (Date As Long) As String Gets or sets the start date Call RefreshComplete if you change the StartDate SetTheme (Theme As ASScheduler_Theme) As String DarkMode Example <code> Dim Theme As ASScheduler_Theme Theme.Initialize 'Background Colors Theme.BackgroundColor_Body = 0xFF202125 Theme.BackgroundColor_Header = 0xFF131416 Theme.BackgroundColor_WeekNumber = xui.Color_ARGB(255,32, 33, 37) Theme.BackgroundColor_GridLine = 0x64FFFFFF Theme.BackgroundColor_Blackout = xui.Color_ARGB(152,255,255,255) 'Text Colors Theme.TextColor_Header = xui.Color_White Theme.TextColor_WeekNumber = xui.Color_White Theme.TextColor_Day_MonthView = xui.Color_White ASScheduler_DayView1.SetTheme(Theme) ASScheduler_DayView1.RefreshScheduler </code> LightMode Example <code> Dim Theme As ASScheduler_Theme Theme.Initialize 'Background Colors Theme.BackgroundColor_Body = xui.Color_White Theme.BackgroundColor_Header = xui.Color_White Theme.BackgroundColor_Timeline = xui.Color_White Theme.BackgroundColor_WeekNumber = xui.Color_Gray Theme.BackgroundColor_GridLine = xui.Color_ARGB(100,0,0,0) Theme.BackgroundColor_Blackout = xui.Color_ARGB(152,0,0,0) 'Text Colors Theme.TextColor_Header = xui.Color_Black Theme.TextColor_Timeline = xui.Color_Black Theme.TextColor_WeekNumber = xui.Color_Black Theme.TextColor_Day_MonthView = xui.Color_Black ASScheduler_DayView1.SetTheme(Theme) ASScheduler_DayView1.RefreshScheduler </code> setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String setWeekNumberProperties (MonthView_WeekNumberProperties As ASScheduler_MonthView_WeekNumberProperties) As String Properties: API As ASSchedulerAPI [read only] Gets the API AppointmentProperties As ASScheduler_MonthView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> LeftRightGap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> BlackoutProperties As ASScheduler_MonthView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> BodyColor sets the body color Call RefreshScheduler to commit changes CurrentDateColor Call RefreshScheduler to commit changes CurrentDateTextColor Call RefreshScheduler to commit changes DayProperties As ASScheduler_MonthView_DayProperties [read only] HeaderColor sets the Header Color HeaderHeight As Float Default: 40dip HeaderTextProperties As ASScheduler_MonthView_HeaderTextProperties Call RefreshHeader if you change something Default Values TextColor: <code>xui.Color_White</code> TextFont: <code>xui.CreateDefaultBoldFont(15)</code> TextAlignment_Vertical: <code>"CENTER"e</code> TextAlignment_Horizontal: <code>"CENTER"</code> BackgroundColor: <code>m_HeaderColor</code> HeaderVisibility As Boolean [read only] HeatMapProperties As ASScheduler_MonthView_HeatMapProperties [read only] Call RefreshScheduler if you change something Default Values xFont: <code>xui.CreateDefaultBoldFont(15)</code> ColorCountList Example: <code> Dim HeatColor As List : HeatColor.Initialize HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,214, 230, 133),0,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,140, 198, 101),2,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,68, 163, 64),4,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,30, 104, 35),7,xui.Color_White)) </code> MinimalismProperties As ASScheduler_MonthView_MinimalismProperties [read only] Call RefreshScheduler if you change something Default Values Height: <code>8dip</code> Gap: <code>4dip</code> BottomGap: <code>16dip</code> MonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_MonthView1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> NumberOfWeeks As Int Gets or sets the number of visible weeks SchedulerFunction As String Changes the functionality of the scheduler <code>ASScheduler_MonthView1.SchedulerFunction = ASScheduler_MonthView1.SchedulerFunction_HeatMap</code> SchedulerFunction_Calendar As String [read only] Normal mode, Appointments and Blackout days are displayed SchedulerFunction_HeatMap As String [read only] A heatmap shows how the workload is on one day The more appointments in a day, the darker is the color SchedulerFunction_Minimalism As String [read only] Appointments are displayed as dots SelectedDate As Long gets or sets the selected date SelectedDateColor Call RefreshScheduler to commit changes SelectedDateTextColor Call RefreshScheduler to commit changes ShowWeekNumbers Gets or sets the number of visible weeks Call RefreshScheduler to commit changes StartDate As Long Gets or sets the start date WeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_MonthView1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> WeekNumberProperties As ASScheduler_MonthView_WeekNumberProperties Call RefreshScheduler if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> ASScheduler_MonthView_AppointmentProperties Fields: CornerRadius As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. LeftRightGap As Float TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_BlackoutProperties Fields: Color As Int GapBetween As Float IsInitialized As Boolean Tests whether the object has been initialized. Width As Float Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_CustomDrawDay Fields: BackgroundPanel As B4XView IsInitialized As Boolean Tests whether the object has been initialized. xlbl_Day As B4XView xpnl_AppointmentBackground As B4XView Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_DayProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int TextFont As B4XFont TextFontCurrentDay As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_HeaderTextProperties Fields: BackgroundColor As Int IsInitialized As Boolean Tests whether the object has been initialized. TextAlignment_Horizontal As String TextAlignment_Vertical As String TextColor As Int TextFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_HeatMapProperties Fields: ColorCountList As List IsInitialized As Boolean Tests whether the object has been initialized. ShowCounter As Boolean xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_MinimalismProperties Fields: BottomGap As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_WeekNumberProperties Fields: Color As Int IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int Width As Float xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_SpecialDay Fields: Date As Long Id As Int isAlways As Boolean IsInitialized As Boolean Tests whether the object has been initialized. isRecurring As Boolean Name As String RecurringInterval As Int RecurringUnit As String Functions: Initialize Initializes the fields to their default value. ASScheduler_Theme Fields: BackgroundColor_Blackout As Int BackgroundColor_Body As Int BackgroundColor_CurrentDate As Int BackgroundColor_GridLine As Int BackgroundColor_Header As Int BackgroundColor_SelectedBlock As Int BackgroundColor_SelectedDateColor_MonthView As Int BackgroundColor_Timeline As Int BackgroundColor_WeekNumber As Int IsInitialized As Boolean Tests whether the object has been initialized. TextColor_CurrentDate As Int TextColor_Day_MonthView As Int TextColor_Header As Int TextColor_SelectedDateColor As Int TextColor_Timeline As Int TextColor_WeekNumber As Int Functions: Initialize Initializes the fields to their default value. ASScheduler_WeekNameShort Fields: Friday As String IsInitialized As Boolean Tests whether the object has been initialized. Monday As String Saturday As String Sunday As String Thursday As String Tuesday As String Wednesday As String Functions: Initialize Initializes the fields to their default value. If you have features or something is still missing, let me know. Changelog Spoiler: Version 3.0-3.21 3.00 (read more) MonthView BugFixes Add Event "Created" - is triggered when the calendar is finished building If you call RefreshComplete once the calendar is ready, the event will be triggered Add RefreshComplete - Rebuilds the calendar Event improvements DayView Performance improvments Add Event "Created" - is triggered when the calendar is finished building Add get and set StartDate Add RefreshComplete - Rebuilds the calendar Breaking change: setDayCount needs now a RefreshComplete if you want to apply it CalendarViewMonth Add Designer Property "SchedulerFunction" Calendar - Normal DatePicker and the Appointments are displayed as circles under the date MonthView - Same function as the MonthView, the view is used on the whole height and width, the appointments are with text Add Events AppointmentClick AppointmentDoubleClick AppointmentLongClick AppointmentRightClick HiddenAppointmentClick HiddenAppointmentLongClick Add Properties get and set AppointmentProperties_MonthView get and set BlackoutProperties get and set SchedulerFunction 3.01 CalendarView Add compatibility for AS_ViewPager Version 2.0 DayView Add compatibility for AS_ViewPager Version 2.0 3.02 General Appointment Click Event BugFixes CalendarView BugFixes MonthView B4J BugFix Scroll2Date If the date is still within the range of the one already added, then it has scrolled one week too far. Unfortunately, it is not possible in B4J with such a long list, to land exactly on the item for which you have the index, it lands every time in release mode a week later or a week earlier. 3.03 DayView Add Designer Property StartHour - The calendar automatically scrolls to the set hour Default: 0 Add Scroll2Hour 3.04 DayView BugFixes 3.05 CalendarView BugFixes 3.06 CalendarView BugFixes 3.07 (read more) CalendarView Add Event CustomHeaderText 3.08 (read more) AgendaView Theming BugFixes Add SetTheme - You now have all the colors for the view in one function Add 2 Examples for SetTheme Theme_Dark Theme_Light Add get isCreated - Returns true after you call CreateScheduler 3.09 AgendaView B4I BugFix 3.11 (read more) CalendarView BugFixes Performance Improvements DayView BugFixes Performance Improvements MonthView BugFixes Performance Improvements AgendaView BugFixes Performance Improvements API Add DeleteBlackoutOnDate Add GetBlackoutIdFromDate 3.12 MonthView Add get isCreated DayView BugFix Remove B4XCanvas - led to crashes if you swiped quickly 3.13 DayView BugFixes and Improvements 3.14 General BugFix for MacOS and Linux Breaking change if you use this lib. in MacOS or Linux, the database is in a new location in the system to avoid crashes 3.15 (read more) DayView Add Event CustomDrawAppointment BugFix on 12h Time System MonthView Add Event CustomDrawAppointment AgendaView Add Event CustomDrawAppointment 3.16 MonthView B4A BugFix 3.17 (read more) API Add BackupDatabase Add RestoreDatabase 3.18 (read more) CalendarView Add WeekNameProperties Add Event CustomDrawHeader 3.19 (read more) DayView Add Designer Property MultiDayAppointmentShowMode Default: OnTop Appointments that last longer than 1 day are now always displayed at the top. Previously, you had to scroll to the top of the list to make them visible This has caused confusion BugFixes and Performance Improvements API BugFix on GetAppointmentCountInRange 3.20 DayView New get FirstVisibleDay New get LastVisibleDay New VisibleDateRangeChanged Event 3.21 DayView New set CanSwipe - If “False” the swiping is deactivated New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color MonthView New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color AgendaView New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color 3.22 Utils Removed ASScheduler_Theme MonthView Removed SetTheme Removed set HeaderColor -> is now in HeaderTextProperties New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None DayView Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None AgendaView Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None New Designer Property CurrentDateTextColor Default: Black Change Designer Property CurrentDateColor default value to WHITE CalendarView Removed "HeaderColor", is now in the ASScheduler_CalendarView_HeaderProperties type Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None Have Fun Attachments AS Scheuler Example.zip AS Scheuler Example.zip 207.6 KB · Views: 723 ASScheduler.zip ASScheduler.zip 65.4 KB · Views: 689 Last edited: Jul 20, 2026 Click to expand...
The AS Scheduler is a B4X library for displaying and interacting with appointments. You want to try the views out? Then click here The project was divided into modules. Views ASScheduler_DayView ASScheduler_MonthView ASScheduler_AgendaView ASScheduler_CalendarViewMonth ASScheduler_CalendarViewWeek Classes ASSchedulerAPI ASSchedulerInternShared Modules ASSchedulerUtils All Features of the DayView: [B4X] AS Scheduler - DayView https://www.b4x.com/android/forum/threads/b4x-xui-as-scheduler-%F0%9F%93%85-monthview-dayview-week-agendaview-and-calendarview-payware.138410/ The following thread lists all the features that the DayView of the AS_Scheduler has. Appointments Overview Appointment OverviewGap The OverviewGap... www.b4x.com Spoiler: Dependencies/Libraries you need for this view B4j: jXUI,jDateUtils,xCustomListView,ASViewPager,jSQL B4a: XUi,DateUtils,Reflection,xCustomListView,ASViewPager,SQL B4i: iXUI,iDateUtils,xCustomListView,ASViewPager,iSQL Make sure you are using ASViewPager V1.31+ On B4I you need GestureRecognizer Download the .bas file in the attachment No longer needed since 1.16+ ASScheduler Author: Alexander Stolte Version: 3.00 Spoiler: Properties, Functions, Events, etc. ASSchedulerAPI Functions: Class_Globals As String ClearAppointments As String Deletes all Appointments ClearBlackouts As String Deletes all Blackouts ClearSpecialDays As String Deletes all SpecialDays CreateAppointment (Appointment As ASScheduler_Appointment) As ASScheduler_Appointment Creates a new Appointment <code>ASScheduler_DayView1.API.CreateAppointment(ASSchedulerUtils.CreateASScheduler_Appointment(0,"Test Item 1",xui.Color_ARGB(255,45, 136, 121),False,DateTime.now,DateTime.now+DateTime.TicksPerHour))</code> <code>ASScheduler_DayView1.API.CreateAppointment(ASSchedulerUtils.CreateASScheduler_AppointmentRecurring(0,"Test Item 1",xui.Color_ARGB(255,45, 136, 121),False,DateTime.now,DateTime.now+DateTime.TicksPerHour,True,"week",1))</code> CreateBlackout (Blackout As ASScheduler_Blackout) As String Create a new Blackout <code>ASScheduler_DayView1.API.CreateBlackout(ASSchedulerUtils.CreateASScheduler_Blackout(0,DateTime.Now+(DateTime.TicksPerDay*2),DateTime.Now+(DateTime.TicksPerDay*2)))'2 days </code> CreateSpecialDay (SpecialDay As ASScheduler_SpecialDay) As ASScheduler_SpecialDay DeleteAppointment (Id As Int) As String Removes an Appointment DeleteBlackout (Id As Int) As String Removes an Appointment DeleteSpecialDa (Id As Int) As String GetAppointment (Id As Int) As ASScheduler_Appointment Get a Appointment GetAppointmentCount As Int Gets the count of all Appointments GetAppointmentCountInRange (StartDate As Long, EndDate As Long, DurationLongerThanOneDay As Boolean) As Int Gets the Appointments count from StartDate to EndDate The time value is set to 0 o'clock on StartDate and at the EndDate to 23:59 If DurationLongerThanOneDay = True then it counts only the appointments that go longer than 1 day GetAppointmentCountOnOneDay (Date As Long) As Int GetAppointments (Date As Long) As List Gets all appointments on that Date Returns a List of ASScheduler_Appointment objects GetCustomQuery (Columns As String, Table As String, Where As String, Args As String()) As ResultSet The table structure you find here <code>https://www.b4x.com/android/forum/threads/b4x-xui-as-scheduler-?-monthview-and-dayview-week-payware.138410/post-876274</code> If you dont need a where, just put a "" to the string GetDateSpecialDay (Date As Long) As ASScheduler_SpecialDay GetIsDayBlackout (Date As Long) As Boolean Checks if there is a blackout on that day getSQL As SQL Initialize (sql As SQL) As String Initializes the object. You can add parameters to this method if needed. IsInitialized As Boolean Tests whether the object has been initialized. UpdateAppointment (Appointment As ASScheduler_Appointment) As ASScheduler_Appointment UpdateSpecialDay (SpecialDay As ASScheduler_SpecialDay) As ASScheduler_SpecialDay Properties: SQL As SQL [read only] ASSchedulerInternShared Fields: SQL As SQL Functions: CreateAppointment (Parent As B4XView, Appointment As ASScheduler_Appointment, CurrentDay As Long, g_AppointmentProperties As ASScheduler_MonthView_AppointmentProperties) As String CreateASScheduler_MonthView_AppointmentProperties (Height As Float, Gap As Float, LeftRightGap As Float, CornerRadius As Float, xFont As B4XFont, TextColor As Int) As ASScheduler_MonthView_AppointmentProperties CreateASScheduler_MonthView_BlackoutProperties (Width As Float, Color As Int, GapBetween As Float) As ASScheduler_MonthView_BlackoutProperties CreateHeaderItem (Text As String, HeaderTextProperties As ASScheduler_MonthView_HeaderTextProperties) As B4XView CreateHiddenAppointments (Parent As B4XView, Text As String, ListOfHiddenAppointments As List, g_AppointmentProperties As ASScheduler_MonthView_AppointmentProperties, DividerSize As Float) As String +3 More Appointments, but not visible GetARGB (Color As Int) As Int() GetDisplayDuration (StartTime As Long, EndTime As Long) As String GetMonthNameByIndex (Index As Int, MonthNameShort As ASScheduler_MonthNameShort) As String 1 = January GetWeekNameByIndex (Index As Int, WeekNameShort As ASScheduler_WeekNameShort) As String 1 = Sunday Initialize As String Process_Globals As String ASSchedulerUtils Functions: API As ASSchedulerAPI Global Scheduler API Access ConvertSameDateTimeTicks2SameDateTicks (ticks As Long) As Long CreateASScheduler_Appointment (Id As Int, Name As String, Description As String, Color As Int, isFullDay As Boolean, StartDate As Long, EndDate As Long) As ASScheduler_Appointment Id -The appointment ID, set this to 0 if you want to create an appointment CreateASScheduler_AppointmentRecurring (Id As Int, Name As String, Description As String, Color As Int, isFullDay As Boolean, StartDate As Long, EndDate As Long, isRecurring As Boolean, RecurringUnit As String, RecurringInterval As Int) As ASScheduler_Appointment Id -The appointment ID, set this to 0 if you want to create an appointment isRecurring - If True then the appointment will be recurring RecurringUnit - day - week - month - year are valid Use ASSchedulerUtils.Recurring_Day for the RecurringUnits CreateASScheduler_Blackout (Id As Int, StartDate As Long, EndDate As Long) As ASScheduler_Blackout CreateASScheduler_HeatMapColor (Color As Int, Count As Int, TextColor As Int) As ASScheduler_HeatMapColor CreateASScheduler_MonthNameShort (January As String, February As String, March As String, April As String, May As String, June As String, July As String, August As String, September As String, October As String, November As String, December As String) As ASScheduler_MonthNameShort CreateASScheduler_SpecialDay (Id As Int, Name As String, Date As Long) As ASScheduler_SpecialDay Id -The appointment ID, set this to 0 if you want to create an special day CreateASScheduler_SpecialDayRecurring (Id As Int, Name As String, Date As Long, isRecurring As Boolean, RecurringUnit As String, RecurringInterval As Int, isAlways As Boolean) As ASScheduler_SpecialDay Id -The appointment ID, set this to 0 if you want to create an special day isRecurring - If True then the appointment will be recurring RecurringUnit - day - week - month - year are valid Use ASSchedulerUtils.Recurring_Day for the RecurringUnits CreateASScheduler_WeekNameShort (Monday As String, Tuesday As String, Wednesday As String, Thursday As String, Friday As String, Saturday As String, Sunday As String) As ASScheduler_WeekNameShort FillWithDiagonallyDrawnLines (Target As B4XView, Thickness As Float, Color As Int) As String FillWithDiagonallyDrawnLines2 (Target As B4XView, Thickness As Float, GapBetween As Float, Color As Int) As String GetARGB (Color As Int) As Int() GetDaysBetween2Dates (StartDate As Long, EndDate As Long, RequiredDayOfWeek As Int) As List RequiredDayOfWeek - week starts at 1=sunday,2=monday... Call it if you are done adding new special days, makes this way makes the performance better GetFirstDayOfWeek2 (Ticks As Long, FirstDayOfWeek As Int) As Long FirstDayOfWeek: Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 GetWeekNumberStartingFromMonday (ticks As Long) As Int NumberOfWeeksBetween (StartDate As Long, EndDate As Long) As Int Process_Globals As String Recurring_Day As String Recurring_Month As String Recurring_Week As String Recurring_Year As String TimeSystem_12h As String TimeSystem_24h As String WeekDay_Friday As Int WeekDay_Monday As Int WeekDay_Saturday As Int WeekDay_Sunday As Int WeekDay_Thursday As Int WeekDay_Tuesday As Int WeekDay_Wednesday As Int ASScheduler_AgendaView Events: AppointmentClick (Appointment As ASScheduler_Appointment) AppointmentDoubleClick (Appointment As ASScheduler_Appointment) CustomDrawEmptyState (StartDate As Long, BackgroundPanel As B4XView) CustomDrawMonth (StartDate As Long, BackgroundPanel As B4XView) CustomDrawWeek (StartDate As Long, BackgroundPanel As B4XView) MonthClick (StartDate As Long) WeekClick (StartDate As Long) Fields: mBase As B4XView Tag As Object Functions: Class_Globals As String CreateASScheduler_AgendaView_AppointmentDayOfMonthProperties (xFont As B4XFont, TextColor As Int) As ASScheduler_AgendaView_AppointmentDayOfMonthProperties CreateASScheduler_AgendaView_AppointmentProperties (Height As Float, Gap As Float, CornerRadius As Float, xFont As B4XFont, TextColor As Int, ShowStartEndTime As Boolean, ShowDuration As Boolean) As ASScheduler_AgendaView_AppointmentProperties CreateASScheduler_AgendaView_AppointmentWeekDayProperties (xFont As B4XFont, TextColor As Int) As ASScheduler_AgendaView_AppointmentWeekDayProperties CreateASScheduler_AgendaView_EmptyStateProperties (xFont As B4XFont, TextColor As Int, Height As Float, BackgroundColor As Int, EmptyText As String) As ASScheduler_AgendaView_EmptyStateProperties CreateASScheduler_AgendaView_MonthProperties (xFont As B4XFont, TextColor As Int, Height As Float, BackgroundColor As Int) As ASScheduler_AgendaView_MonthProperties CreateASScheduler_AgendaView_TimelineProperties (Width As Float) As ASScheduler_AgendaView_TimelineProperties CreateASScheduler_AgendaView_WeekProperties (xFont As B4XFont, TextColor As Int, Height As Float, BackgroundColor As Int) As ASScheduler_AgendaView_WeekProperties CreateScheduler DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getAppointmentDayOfMonthProperties As ASScheduler_AgendaView_AppointmentDayOfMonthProperties getAppointmentProperties As ASScheduler_AgendaView_AppointmentProperties getAppointmentWeekDayProperties As ASScheduler_AgendaView_AppointmentWeekDayProperties getEmptyStateProperties As ASScheduler_AgendaView_EmptyStateProperties getMonthNameShort As ASScheduler_MonthNameShort getMonthProperties As ASScheduler_AgendaView_MonthProperties getStartDate As Long getTimelineProperties As ASScheduler_AgendaView_TimelineProperties getWeekNameShort As ASScheduler_WeekNameShort getWeekProperties As ASScheduler_AgendaView_WeekProperties Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. RebuildScheduler Clears the list and rebuilds it Set the StartDate if you want a new date RefreshScheduler As String Reloads all visible elements If you want to remove appointments then call RebuildScheduler Scroll2Date (Date As Long) setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setStartDate (StartDate As Long) As String setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String Properties: API As ASSchedulerAPI [read only] Gets the API AppointmentDayOfMonthProperties As ASScheduler_AgendaView_AppointmentDayOfMonthProperties [read only] AppointmentProperties As ASScheduler_AgendaView_AppointmentProperties [read only] AppointmentWeekDayProperties As ASScheduler_AgendaView_AppointmentWeekDayProperties [read only] EmptyStateProperties As ASScheduler_AgendaView_EmptyStateProperties [read only] MonthNameShort As ASScheduler_MonthNameShort MonthProperties As ASScheduler_AgendaView_MonthProperties [read only] StartDate As Long TimelineProperties As ASScheduler_AgendaView_TimelineProperties [read only] WeekNameShort As ASScheduler_WeekNameShort WeekProperties As ASScheduler_AgendaView_WeekProperties [read only] ASScheduler_AgendaView_AppointmentDayOfMonthProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_AppointmentProperties Fields: CornerRadius As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. ShowDuration As Boolean ShowStartEndTime As Boolean TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_AppointmentWeekDayProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_EmptyStateProperties Fields: BackgroundColor As Int EmptyText As String Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_MonthProperties Fields: BackgroundColor As Int Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_TimelineProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. Width As Float Functions: Initialize Initializes the fields to their default value. ASScheduler_AgendaView_WeekProperties Fields: BackgroundColor As Int Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_Appointment Fields: Color As Int Description As String EndDate As Long Id As Int isFullDay As Boolean IsInitialized As Boolean Tests whether the object has been initialized. isRecurring As Boolean Just4Sorting As String Name As String RecurringInterval As Int RecurringUnit As String StartDate As Long Tag As String Functions: Initialize Initializes the fields to their default value. ASScheduler_Blackout Fields: EndDate As Long Id As Int IsInitialized As Boolean Tests whether the object has been initialized. StartDate As Long Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarViewMonth Events: AppointmentClick (Appointment As ASScheduler_Appointment) AppointmentDoubleClick (Appointment As ASScheduler_Appointment) AppointmentLongClick (Appointment As ASScheduler_Appointment) CustomDrawDay (Date As Long, Views As ASScheduler_CalendarView_CustomDrawDay) HiddenAppointmentClick (ListOfAppointments As List) HiddenAppointmentLongClick (ListOfAppointments As List) SelectedDateChanged (Date As Long) Fields: mBase As B4XView Tag As Object Functions: ChangeView (NewView As String) Class_Globals As String CreateASScheduler_CalendarView_AppointmentProperties (Height As Float, Gap As Float, BottomGap As Float) As ASScheduler_CalendarView_AppointmentProperties CreateASScheduler_CalendarView_BodyProperties (xFont As B4XFont, TextColor As Int) As ASScheduler_CalendarView_BodyProperties CreateASScheduler_CalendarView_HeaderProperties (Height As Float, xFont As B4XFont, TextColor As Int) As ASScheduler_CalendarView_HeaderProperties CreateASScheduler_CalendarView_SpecialDayProperties (Color As Int) As ASScheduler_CalendarView_SpecialDayProperties CreateASScheduler_CalendarView_WeekNumberProperties (Width As Float, Color As Int, xFont As B4XFont, TextColor As Int, Text As String) As ASScheduler_CalendarView_WeekNumberProperties CreateASScheduler_MonthNameShort (January As String, February As String, March As String, April As String, May As String, June As String, July As String, August As String, September As String, October As String, November As String, December As String) As ASScheduler_MonthNameShort CreateASScheduler_WeekNameShort (Monday As String, Tuesday As String, Wednesday As String, Thursday As String, Friday As String, Saturday As String, Sunday As String) As ASScheduler_WeekNameShort DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getAppointmentProperties As ASScheduler_MonthView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> LeftRightGap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> getBlackoutProperties As ASScheduler_MonthView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> getBodyColor As Int getBodyProperties As ASScheduler_CalendarView_BodyProperties getCurrentDateColor As Int getCurrentView_CenturyView As String getCurrentView_DecadeView As String getCurrentView_MonthView As String getCurrentView_YearView As String getGridLineColor As Int getHeaderColor As Int getHeaderPanel As B4XView You can customize the appereance of the header With the following code you can customize the control elements that are visible in the header: <code> 'Middle Text Label Dim xlbl_Header As B4XView = AS_DatePicker1.HeaderPanel.GetView(0) 'Left Arrow Label Dim xlbl_ArrowLeft As B4XView = AS_DatePicker1.HeaderPanel.GetView(1) 'Right Arrow Label Dim xlbl_ArrowRight As B4XView = AS_DatePicker1.HeaderPanel.GetView(2) </code> getHeaderProperties As ASScheduler_CalendarView_HeaderProperties getMonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_CalendarViewMonth1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> getSchedulerFunction As String getSchedulerFunction_Calendar As String getSchedulerFunction_MonthView As String getSelectedDate As Long getSelectedDateColor As Int getShowAppointments As Boolean Call RefreshScheduler if you change something getShowGridLines As Boolean getShowHeader As Boolean getShowWeekNumbers As Boolean Gets or sets the number of visible weeks Call Refresh to commit changes getSpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties getStartDate As Long getWeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_CalendarViewMonth1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> getWeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties Call Refresh if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. NextMonth As String PreviousMonth As String RefreshScheduler As String Rebuilds the visible scheduler items Scroll2Date (Date As Long) As String Scrolls to the date Builds the view new if the date was not in range setAppointmentProperties (MonthView_AppointmentProperties As ASScheduler_MonthView_AppointmentProperties) As String setBlackoutProperties (MonthView_BlackoutProperties As ASScheduler_MonthView_BlackoutProperties) As String setBodyColor (Color As Int) As String setBodyProperties (BodyProperties As ASScheduler_CalendarView_BodyProperties) As String setCurrentDateColor (Color As Int) As String setFirstDayOfWeek (number As Int) As String 1-7 Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 setGridLineColor (Color As Int) As String setHeaderColor (Color As Int) As String setHeaderProperties (HeaderProperties As ASScheduler_CalendarView_HeaderProperties) As String setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setSchedulerFunction (FunctionName As String) As String setSelectedDate (Date As Long) As String setSelectedDateColor (Color As Int) As String setShowAppointments (Visible As Boolean) As String setShowGridLines (Show As Boolean) As String setShowHeader (Visible As Boolean) As String setShowWeekNumbers (Show As Boolean) As String setSpecialDayProperties (SpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties) As String setStartDate (Date As Long) As String setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String setWeekNumberProperties (WeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties) As String Properties: API As ASSchedulerAPI [read only] Gets the API AppointmentProperties As ASScheduler_MonthView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> LeftRightGap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> BlackoutProperties As ASScheduler_MonthView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> BodyColor As Int BodyProperties As ASScheduler_CalendarView_BodyProperties CurrentDateColor As Int CurrentView_CenturyView As String [read only] CurrentView_DecadeView As String [read only] CurrentView_MonthView As String [read only] CurrentView_YearView As String [read only] FirstDayOfWeek 1-7 Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 GridLineColor As Int HeaderColor As Int HeaderPanel As B4XView [read only] You can customize the appereance of the header With the following code you can customize the control elements that are visible in the header: <code> 'Middle Text Label Dim xlbl_Header As B4XView = AS_DatePicker1.HeaderPanel.GetView(0) 'Left Arrow Label Dim xlbl_ArrowLeft As B4XView = AS_DatePicker1.HeaderPanel.GetView(1) 'Right Arrow Label Dim xlbl_ArrowRight As B4XView = AS_DatePicker1.HeaderPanel.GetView(2) </code> HeaderProperties As ASScheduler_CalendarView_HeaderProperties MonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_CalendarViewMonth1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> SchedulerFunction As String SchedulerFunction_Calendar As String [read only] SchedulerFunction_MonthView As String [read only] SelectedDate As Long SelectedDateColor As Int ShowAppointments As Boolean Call RefreshScheduler if you change something ShowGridLines As Boolean ShowHeader As Boolean ShowWeekNumbers As Boolean Gets or sets the number of visible weeks Call Refresh to commit changes SpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties StartDate As Long WeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_CalendarViewMonth1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> WeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties Call Refresh if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> ASScheduler_CalendarViewWeek Events: CustomDrawDay (Date As Long, Views As ASScheduler_CalendarView_CustomDrawDay) SelectedDateChanged (Date As Long) Fields: mBase As B4XView Tag As Object Functions: Class_Globals As String CreateASScheduler_CalendarView_AppointmentProperties (Height As Float, Gap As Float, BottomGap As Float) As ASScheduler_CalendarView_AppointmentProperties CreateASScheduler_CalendarView_BodyProperties (xFont As B4XFont, TextColor As Int) As ASScheduler_CalendarView_BodyProperties CreateASScheduler_CalendarView_HeaderProperties (Height As Float, xFont As B4XFont, TextColor As Int) As ASScheduler_CalendarView_HeaderProperties CreateASScheduler_CalendarView_SpecialDayProperties (Color As Int) As ASScheduler_CalendarView_SpecialDayProperties CreateASScheduler_CalendarView_WeekNumberProperties (Width As Float, Color As Int, xFont As B4XFont, TextColor As Int, Text As String) As ASScheduler_CalendarView_WeekNumberProperties CreateASScheduler_MonthNameShort (January As String, February As String, March As String, April As String, May As String, June As String, July As String, August As String, September As String, October As String, November As String, December As String) As ASScheduler_MonthNameShort CreateASScheduler_WeekNameShort (Monday As String, Tuesday As String, Wednesday As String, Thursday As String, Friday As String, Saturday As String, Sunday As String) As ASScheduler_WeekNameShort DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getBodyColor As Int getBodyProperties As ASScheduler_CalendarView_BodyProperties getCurrentDateColor As Int getHeaderColor As Int getHeaderPanel As B4XView You can customize the appereance of the header With the following code you can customize the control elements that are visible in the header: <code> 'Middle Text Label Dim xlbl_Header As B4XView = AS_DatePicker1.HeaderPanel.GetView(0) 'Left Arrow Label Dim xlbl_ArrowLeft As B4XView = AS_DatePicker1.HeaderPanel.GetView(1) 'Right Arrow Label Dim xlbl_ArrowRight As B4XView = AS_DatePicker1.HeaderPanel.GetView(2) </code> getHeaderProperties As ASScheduler_CalendarView_HeaderProperties getMonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_CalendarViewWeek1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> getSelectedDateColor As Int getShowAppointments As Boolean Call RefreshScheduler if you change something getShowHeader As Boolean getShowWeekNumbers As Boolean Gets or sets the number of visible weeks Call Refresh to commit changes getSpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties getStartDate As Long getWeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_CalendarViewWeek1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> getWeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties Call Refresh if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. NextWeek As String PreviousWeek As String RefreshScheduler As String Rebuilds the visible scheduler items Scroll2Date (Date As Long) As String Scrolls to the date Builds the view new if the date was not in range setBodyColor (Color As Int) As String setBodyProperties (BodyProperties As ASScheduler_CalendarView_BodyProperties) As String setCurrentDateColor (Color As Int) As String setFirstDayOfWeek (number As Int) As String 1-7 Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 setHeaderColor (Color As Int) As String setHeaderProperties (HeaderProperties As ASScheduler_CalendarView_HeaderProperties) As String setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setSelectedDateColor (Color As Int) As String setShowAppointments (Visible As Boolean) As String setShowHeader (Visible As Boolean) As String setShowWeekNumbers (Show As Boolean) As String setSpecialDayProperties (SpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties) As String setStartDate (Date As Long) As String setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String setWeekNumberProperties (WeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties) As String Properties: API As ASSchedulerAPI [read only] Gets the API BodyColor As Int BodyProperties As ASScheduler_CalendarView_BodyProperties CurrentDateColor As Int FirstDayOfWeek 1-7 Friday = 1 Thursday = 2 Wednesday = 3 Tuesday = 4 Monday = 5 Sunday = 6 Saturday = 7 HeaderColor As Int HeaderPanel As B4XView [read only] You can customize the appereance of the header With the following code you can customize the control elements that are visible in the header: <code> 'Middle Text Label Dim xlbl_Header As B4XView = AS_DatePicker1.HeaderPanel.GetView(0) 'Left Arrow Label Dim xlbl_ArrowLeft As B4XView = AS_DatePicker1.HeaderPanel.GetView(1) 'Right Arrow Label Dim xlbl_ArrowRight As B4XView = AS_DatePicker1.HeaderPanel.GetView(2) </code> HeaderProperties As ASScheduler_CalendarView_HeaderProperties MonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_CalendarViewWeek1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> SelectedDateColor As Int ShowAppointments As Boolean Call RefreshScheduler if you change something ShowHeader As Boolean ShowWeekNumbers As Boolean Gets or sets the number of visible weeks Call Refresh to commit changes SpecialDayProperties As ASScheduler_CalendarView_SpecialDayProperties StartDate As Long WeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_CalendarViewWeek1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> WeekNumberProperties As ASScheduler_CalendarView_WeekNumberProperties Call Refresh if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> ASScheduler_CalendarView_AppointmentProperties Fields: BottomGap As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_BodyProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_CustomDrawDay Fields: BackgroundPanel As B4XView IsInitialized As Boolean Tests whether the object has been initialized. xlbl_Date As B4XView Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_HeaderProperties Fields: Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_SpecialDayProperties Fields: Color As Int IsInitialized As Boolean Tests whether the object has been initialized. Functions: Initialize Initializes the fields to their default value. ASScheduler_CalendarView_WeekNumberProperties Fields: Color As Int IsInitialized As Boolean Tests whether the object has been initialized. Text As String TextColor As Int Width As Float xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView Events: AppointmentClick (Appointment As ASScheduler_Appointment) AppointmentDoubleClick (Appointment As ASScheduler_Appointment) AppointmentLongClick (Appointment As ASScheduler_Appointment) Created TimeBlockClick (StartDate As Long, EndDate As Long) TimeBlockDoubleClick (StartDate As Long, EndDate As Long) TimeBlockLongClick (StartDate As Long, EndDate As Long) Fields: mBase As B4XView Tag As Object Functions: Back2CurrentDate As String Slides Back or Forward to the Current Date Base_Resize (Width As Double, Height As Double) Class_Globals As String CreateASScheduler_DayView_AppointmentProperties (Height As Float, Gap As Float, CornerRadius As Float, xFont As B4XFont, TextColor As Int, OverviewGap As Boolean, ShowStartEndTime As Boolean, ShowDuration As Boolean) As ASScheduler_DayView_AppointmentProperties CreateASScheduler_DayView_BlackoutProperties (Width As Float, Color As Int) As ASScheduler_DayView_BlackoutProperties CreateASScheduler_DayView_CurrentTimeIndicatorProperties (Height As Float, Color As Int, FullWidth As Boolean) As ASScheduler_DayView_CurrentTimeIndicatorProperties CreateASScheduler_DayView_HeaderTextProperties (TextColor As Int, TextFont As B4XFont) As ASScheduler_DayView_HeaderTextProperties CreateASScheduler_DayView_TimelineProperties (Width As Float, BackgroundColor As Int, TextColor As Int, ShowGridLines As Boolean) As ASScheduler_DayView_TimelineProperties CreateASScheduler_DayView_WeekNumberProperties (Width As Float, Height As Float, Color As Int, xFont As B4XFont, TextColor As Int, CornerRadius As Float) As ASScheduler_DayView_WeekNumberProperties CreateASScheduler_DayView_WorkingProperties (StartHour As Int, EndHour As Int, NonWorkingDays As Int(), Color As Int, Active As Boolean) As ASScheduler_DayView_WorkingProperties CreateScheduler As String Call this if you want to show the scheduler the user The Panel in the forderground is hiding smoothly CreateVirtualView (Left As Double, Top As Double, Right As Double, Height As Double, xpnl_ItemBackground As B4XView) As VirtualView DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getAppointmentProperties As ASScheduler_DayView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> getBlackoutProperties As ASScheduler_DayView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> getBlockHeight As Float getBodyColor As Int getCurrentDateColor As Int getCurrentTimeIndicatorLiveUpdate As Boolean getCurrentTimeIndicatorProperties As ASScheduler_DayView_CurrentTimeIndicatorProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,221, 95, 96)</code> FullWidth: <code>False</code> getDayCount As String getDayCount_FiveDays As String getDayCount_OneDay As String getDayCount_SevenDays As String getDayCount_ThreeDays As String ThreeDays getDayCount_WorkWeek As String getGridLineColor As Int getHeaderColor As Int getHeaderHeight As Float getHeaderTextProperties As ASScheduler_DayView_HeaderTextProperties Call RefreshScheduler if you change something Default Values TextColor: <code>xui.Color_White</code> TextFont: <code>xui.CreateDefaultBoldFont(15)</code> getHeaderVisibility As Boolean getMonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_DayView1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> getSelectedBlockColor As Int getShowMonthNames As Boolean Call RefreshScheduler if you change something getShowWeekNumbers As Boolean Call RefreshScheduler if you change something getStartDate As Long Call RefreshComplete if you change something getTimelineProperties As ASScheduler_DayView_TimelineProperties Call RefreshScheduler if you change something Default Values Width: <code>40dip</code> BackgroundColor: <code>0xFF131416</code> TextColor: <code>xui.Color_White</code> getTimelineVisibility As Boolean getTimeSystem As String Call RefreshScheduler if you change something <code>ASSchedulerUtils.TimeSystem_24h</code> getWeekNameShort As ASScheduler_WeekNameShort Call RefreshScheduler if you change something <code>ASScheduler_DayView1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> getWeekNumberProperties As ASScheduler_DayView_WeekNumberProperties Call RefreshScheduler if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> getWorkingProperties As ASScheduler_DayView_WorkingProperties Call RefreshScheduler if you change something Default Values StartHour: <code>8</code> EndHour: <code>17</code> NonWorkingDays: <code>Array As Int(ASSchedulerUtils.WeekDay_Saturday,ASSchedulerUtils.WeekDay_Sunday)</code> Color: <code>xui.Color_ARGB(255,60, 64, 67)</code> Active: <code>True</code> Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. isValueInArray (SourceArray As Int(), TargetValue As Int) As Boolean Jump2Date (Date As Long) As String Jumps to the date Builds the view new if the date was not in range Nextweek As String PreviousWeek As String RefreshComplete As String RefreshScheduler As String Rebuilds the visible scheduler items Scroll2Date (Date As Long) As String Scrolls to the date Builds the view new if the date was not in range setAppointmentProperties (DayView_AppointmentProperties As ASScheduler_DayView_AppointmentProperties) As String setBlackoutProperties (DayView_BlackoutProperties As ASScheduler_DayView_BlackoutProperties) As String setBlockHeight (Height As Float) As String Call RefreshScheduler if you change something Default: 20dip setBodyColor (Color As Int) As String Call RefreshScheduler if you change something setCurrentDateColor (Color As Int) As String Call RefreshScheduler if you change something setCurrentTimeIndicatorLiveUpdate (Enabled As Boolean) As String If True then indicator moves 1 time per minute to always show the most current time setCurrentTimeIndicatorProperties (DayView_CurrentTimeIndicatorProperties As ASScheduler_DayView_CurrentTimeIndicatorProperties) As String setDayCount (DayCount As String) As String Changes the number of days that are visible Call RefreshComplete if you change something <code> ASScheduler_DayView1.DayCount = ASScheduler_DayView1.DayCount_FiveDays</code> setGridLineColor (Color As Int) As String Call RefreshScheduler if you change something setHeaderColor (Color As Int) As String Call RefreshScheduler if you change something setHeaderHeight (Height As Float) As String Call RefreshScheduler if you change something setHeaderTextProperties (DayView_HeaderTextProperties As ASScheduler_DayView_HeaderTextProperties) As String setHeaderVisibility (Visibility As Boolean) As String Hides or Show the Header Call RefreshScheduler if you change something setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setSelectedBlockColor (Color As Int) As String Call RefreshScheduler if you change something setShowMonthNames (Show As Boolean) As String Call RefreshScheduler if you change something setShowWeekNumbers (Show As Boolean) As String setStartDate (Date As Long) As String SetTheme (Theme As ASScheduler_Theme) As String DarkMode Example <code> Dim Theme As ASScheduler_Theme Theme.Initialize 'Background Colors Theme.BackgroundColor_Body = 0xFF202125 Theme.BackgroundColor_Header = 0xFF131416 Theme.BackgroundColor_Timeline = 0xFF131416 Theme.BackgroundColor_WeekNumber = xui.Color_ARGB(255,32, 33, 37) Theme.BackgroundColor_GridLine = 0x64FFFFFF Theme.BackgroundColor_Blackout = xui.Color_ARGB(152,255,255,255) 'Text Colors Theme.TextColor_Header = xui.Color_White Theme.TextColor_Timeline = xui.Color_White Theme.TextColor_WeekNumber = xui.Color_White ASScheduler_DayView1.SetTheme(Theme) ASScheduler_DayView1.RefreshScheduler </code> LightMode Example <code> Dim Theme As ASScheduler_Theme Theme.Initialize 'Background Colors Theme.BackgroundColor_Body = xui.Color_White Theme.BackgroundColor_Header = xui.Color_White Theme.BackgroundColor_Timeline = xui.Color_White Theme.BackgroundColor_WeekNumber = xui.Color_Gray Theme.BackgroundColor_GridLine = xui.Color_ARGB(100,0,0,0) Theme.BackgroundColor_Blackout = xui.Color_ARGB(152,0,0,0) 'Text Colors Theme.TextColor_Header = xui.Color_Black Theme.TextColor_Timeline = xui.Color_Black Theme.TextColor_WeekNumber = xui.Color_Black ASScheduler_DayView1.SetTheme(Theme) ASScheduler_DayView1.RefreshScheduler </code> setTimelineProperties (DayView_TimelineProperties As ASScheduler_DayView_TimelineProperties) As String setTimelineVisibility (Visibility As Boolean) As String Hides or Show the Timeline Call RefreshScheduler if you change something setTimeSystem (System As String) As String setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String setWeekNumberProperties (DayView_WeekNumberProperties As ASScheduler_DayView_WeekNumberProperties) As String Properties: API As ASSchedulerAPI [read only] Gets the API AppointmentProperties As ASScheduler_DayView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> BlackoutProperties As ASScheduler_DayView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> BlockHeight As Float Call RefreshScheduler if you change something Default: 20dip BodyColor As Int Call RefreshScheduler if you change something CurrentDateColor As Int Call RefreshScheduler if you change something CurrentTimeIndicatorLiveUpdate As Boolean If True then indicator moves 1 time per minute to always show the most current time CurrentTimeIndicatorProperties As ASScheduler_DayView_CurrentTimeIndicatorProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,221, 95, 96)</code> FullWidth: <code>False</code> DayCount As String Changes the number of days that are visible Call RefreshComplete if you change something <code> ASScheduler_DayView1.DayCount = ASScheduler_DayView1.DayCount_FiveDays</code> DayCount_FiveDays As String [read only] DayCount_OneDay As String [read only] DayCount_SevenDays As String [read only] DayCount_ThreeDays As String [read only] ThreeDays DayCount_WorkWeek As String [read only] GridLineColor As Int Call RefreshScheduler if you change something HeaderColor As Int Call RefreshScheduler if you change something HeaderHeight As Float Call RefreshScheduler if you change something HeaderTextProperties As ASScheduler_DayView_HeaderTextProperties Call RefreshScheduler if you change something Default Values TextColor: <code>xui.Color_White</code> TextFont: <code>xui.CreateDefaultBoldFont(15)</code> HeaderVisibility As Boolean Hides or Show the Header Call RefreshScheduler if you change something MonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_DayView1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> SelectedBlockColor As Int Call RefreshScheduler if you change something ShowMonthNames As Boolean Call RefreshScheduler if you change something ShowWeekNumbers As Boolean Call RefreshScheduler if you change something StartDate As Long Call RefreshComplete if you change something TimelineProperties As ASScheduler_DayView_TimelineProperties Call RefreshScheduler if you change something Default Values Width: <code>40dip</code> BackgroundColor: <code>0xFF131416</code> TextColor: <code>xui.Color_White</code> TimelineVisibility As Boolean Hides or Show the Timeline Call RefreshScheduler if you change something TimeSystem As String Call RefreshScheduler if you change something <code>ASSchedulerUtils.TimeSystem_24h</code> WeekNameShort As ASScheduler_WeekNameShort Call RefreshScheduler if you change something <code>ASScheduler_DayView1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> WeekNumberProperties As ASScheduler_DayView_WeekNumberProperties Call RefreshScheduler if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> WorkingProperties As ASScheduler_DayView_WorkingProperties [read only] Call RefreshScheduler if you change something Default Values StartHour: <code>8</code> EndHour: <code>17</code> NonWorkingDays: <code>Array As Int(ASSchedulerUtils.WeekDay_Saturday,ASSchedulerUtils.WeekDay_Sunday)</code> Color: <code>xui.Color_ARGB(255,60, 64, 67)</code> Active: <code>True</code> ASScheduler_DayView_AppointmentProperties Fields: CornerRadius As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. OverviewGap As Boolean ShowDuration As Boolean ShowStartEndTime As Boolean TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_BlackoutProperties Fields: Color As Int IsInitialized As Boolean Tests whether the object has been initialized. Width As Float Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_CurrentTimeIndicatorProperties Fields: Color As Int FullWidth As Boolean Height As Float IsInitialized As Boolean Tests whether the object has been initialized. Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_HeaderTextProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int TextFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_TimeBlock Fields: EndDate As Long IsInitialized As Boolean Tests whether the object has been initialized. StartDate As Long Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_TimelineProperties Fields: BackgroundColor As Int IsInitialized As Boolean Tests whether the object has been initialized. ShowGridLines As Boolean TextColor As Int Width As Float Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_WeekNumberProperties Fields: Color As Int CornerRadius As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int Width As Float xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_DayView_WorkingProperties Fields: Active As Boolean Color As Int EndHour As Int IsInitialized As Boolean Tests whether the object has been initialized. NonWorkingDays As Int() StartHour As Int Functions: Initialize Initializes the fields to their default value. ASScheduler_HeatMapColor Fields: Color As Int Count As Int IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthNameShort Fields: April As String August As String December As String February As String IsInitialized As Boolean Tests whether the object has been initialized. January As String July As String June As String March As String May As String November As String October As String September As String Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView Events: AppointmentClick (Appointment As ASScheduler_Appointment) AppointmentDoubleClick (Appointment As ASScheduler_Appointment) AppointmentLongClick (Appointment As ASScheduler_Appointment) Created CustomDrawDay (Date As Long, Views As ASScheduler_MonthView_CustomDrawDay) DayClick (Date As Long) DayDoubleClick (Date As Long) DayLongClick (Date As Long) FirstVisibleDay (Date As Long) HiddenAppointmentClick (ListOfAppointments As List) HiddenAppointmentLongClick (ListOfAppointments As List) LastVisibleDay (Date As Long) Fields: mBase As B4XView Tag As Object Functions: Back2CurrentDate As String Slides Back or Forward to the Current Date Base_Resize (Width As Double, Height As Double) Class_Globals As String CreateASScheduler_MonthView_DayProperties (TextColor As Int, TextFont As B4XFont, TextFontCurrentDay As B4XFont) As ASScheduler_MonthView_DayProperties CreateASScheduler_MonthView_HeaderTextProperties (TextColor As Int, TextFont As B4XFont, TextAlignment_Vertical As String, TextAlignment_Horizontal As String, BackgroundColor As Int) As ASScheduler_MonthView_HeaderTextProperties CreateASScheduler_MonthView_HeatMapProperties (xFont As B4XFont, ShowCounter As Boolean, ColorCountList As List) As ASScheduler_MonthView_HeatMapProperties CreateASScheduler_MonthView_MinimalismProperties (Height As Float, Gap As Float, BottomGap As Float) As ASScheduler_MonthView_MinimalismProperties CreateASScheduler_MonthView_WeekNumberProperties (Width As Float, Color As Int, xFont As B4XFont, TextColor As Int) As ASScheduler_MonthView_WeekNumberProperties CreateScheduler As String Call this if you want to show the scheduler the user The Panel in the forderground is hiding smoothly DesignerCreateView (Base As Object, Lbl As Label, Props As Map) As String Base type must be Object getAPI As ASSchedulerAPI Gets the API getAppointmentProperties As ASScheduler_MonthView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> LeftRightGap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> getBlackoutProperties As ASScheduler_MonthView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> getDayProperties As ASScheduler_MonthView_DayProperties getHeaderHeight As Float Default: 40dip getHeaderTextProperties As ASScheduler_MonthView_HeaderTextProperties Call RefreshHeader if you change something Default Values TextColor: <code>xui.Color_White</code> TextFont: <code>xui.CreateDefaultBoldFont(15)</code> TextAlignment_Vertical: <code>"CENTER"e</code> TextAlignment_Horizontal: <code>"CENTER"</code> BackgroundColor: <code>m_HeaderColor</code> getHeaderVisibility As Boolean getHeatMapProperties As ASScheduler_MonthView_HeatMapProperties Call RefreshScheduler if you change something Default Values xFont: <code>xui.CreateDefaultBoldFont(15)</code> ColorCountList Example: <code> Dim HeatColor As List : HeatColor.Initialize HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,214, 230, 133),0,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,140, 198, 101),2,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,68, 163, 64),4,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,30, 104, 35),7,xui.Color_White)) </code> getMinimalismProperties As ASScheduler_MonthView_MinimalismProperties Call RefreshScheduler if you change something Default Values Height: <code>8dip</code> Gap: <code>4dip</code> BottomGap: <code>16dip</code> getMonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_MonthView1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> getNumberOfWeeks As Int Gets or sets the number of visible weeks getSchedulerFunction As String getSchedulerFunction_Calendar As String Normal mode, Appointments and Blackout days are displayed getSchedulerFunction_HeatMap As String A heatmap shows how the workload is on one day The more appointments in a day, the darker is the color getSchedulerFunction_Minimalism As String Appointments are displayed as dots getSelectedDate As Long gets or sets the selected date getStartDate As Long Gets or sets the start date GetVisibleDays As List Gets the visible days as list of ASScheduler_MonthView_CustomDrawDay <code> For Each CustomDrawDay As ASScheduler_MonthView_CustomDrawDay In ASScheduler_MonthView1.GetVisibleDays CustomDrawDay.BackgroundPanel.Color = xui.Color_Red Next </code> getWeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_MonthView1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> getWeekNumberProperties As ASScheduler_MonthView_WeekNumberProperties Call RefreshScheduler if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> Initialize (Callback As Object, EventName As String) As String IsInitialized As Boolean Tests whether the object has been initialized. RefreshComplete As String Rebuilds the calendar RefreshHeader As String Rebuilds the header RefreshScheduler As String Rebuilds the visible scheduler items Scroll2Date (Date As Long) Scrolls to the date Builds the view new if the date was not in range SelectDate (Date As Long) As String setAppointmentProperties (MonthView_AppointmentProperties As ASScheduler_MonthView_AppointmentProperties) As String setBlackoutProperties (MonthView_BlackoutProperties As ASScheduler_MonthView_BlackoutProperties) As String setBodyColor (Color As Int) As String sets the body color Call RefreshScheduler to commit changes setCurrentDateColor (Color As Int) As String Call RefreshScheduler to commit changes setCurrentDateTextColor (Color As Int) As String Call RefreshScheduler to commit changes setHeaderColor (Color As Int) As String sets the Header Color setHeaderHeight (Height As Float) As String setHeaderTextProperties (MonthView_HeaderTextProperties As ASScheduler_MonthView_HeaderTextProperties) As String setMonthNameShort (MonthNameShort As ASScheduler_MonthNameShort) As String setNumberOfWeeks (Weeks As Int) As String Call RefreshScheduler to commit changes setSchedulerFunction (Function As String) As String Changes the functionality of the scheduler <code>ASScheduler_MonthView1.SchedulerFunction = ASScheduler_MonthView1.SchedulerFunction_HeatMap</code> setSelectedDate (date As Long) As String gets or sets the selected date Call RefreshScheduler to commit changes setSelectedDateColor (Color As Int) As String Call RefreshScheduler to commit changes setSelectedDateTextColor (Color As Int) As String Call RefreshScheduler to commit changes setShowWeekNumbers (Show As Boolean) As String Gets or sets the number of visible weeks Call RefreshScheduler to commit changes setStartDate (Date As Long) As String Gets or sets the start date Call RefreshComplete if you change the StartDate SetTheme (Theme As ASScheduler_Theme) As String DarkMode Example <code> Dim Theme As ASScheduler_Theme Theme.Initialize 'Background Colors Theme.BackgroundColor_Body = 0xFF202125 Theme.BackgroundColor_Header = 0xFF131416 Theme.BackgroundColor_WeekNumber = xui.Color_ARGB(255,32, 33, 37) Theme.BackgroundColor_GridLine = 0x64FFFFFF Theme.BackgroundColor_Blackout = xui.Color_ARGB(152,255,255,255) 'Text Colors Theme.TextColor_Header = xui.Color_White Theme.TextColor_WeekNumber = xui.Color_White Theme.TextColor_Day_MonthView = xui.Color_White ASScheduler_DayView1.SetTheme(Theme) ASScheduler_DayView1.RefreshScheduler </code> LightMode Example <code> Dim Theme As ASScheduler_Theme Theme.Initialize 'Background Colors Theme.BackgroundColor_Body = xui.Color_White Theme.BackgroundColor_Header = xui.Color_White Theme.BackgroundColor_Timeline = xui.Color_White Theme.BackgroundColor_WeekNumber = xui.Color_Gray Theme.BackgroundColor_GridLine = xui.Color_ARGB(100,0,0,0) Theme.BackgroundColor_Blackout = xui.Color_ARGB(152,0,0,0) 'Text Colors Theme.TextColor_Header = xui.Color_Black Theme.TextColor_Timeline = xui.Color_Black Theme.TextColor_WeekNumber = xui.Color_Black Theme.TextColor_Day_MonthView = xui.Color_Black ASScheduler_DayView1.SetTheme(Theme) ASScheduler_DayView1.RefreshScheduler </code> setWeekNameShort (WeekNameShort As ASScheduler_WeekNameShort) As String setWeekNumberProperties (MonthView_WeekNumberProperties As ASScheduler_MonthView_WeekNumberProperties) As String Properties: API As ASSchedulerAPI [read only] Gets the API AppointmentProperties As ASScheduler_MonthView_AppointmentProperties Call RefreshScheduler if you change something Default Values Height: <code>14dip</code> Gap: <code>2dip</code> LeftRightGap: <code>2dip</code> CornerRadius: <code>3dip</code> xFont: <code>xui.CreateDefaultFont(IIf(xui.IsB4i,12,10))</code> TextColor: <code>xui.Color_White</code> BlackoutProperties As ASScheduler_MonthView_BlackoutProperties Call RefreshScheduler if you change something Default Values Width: <code>2dip</code> Color: <code>xui.Color_ARGB(152,255,255,255)</code> BodyColor sets the body color Call RefreshScheduler to commit changes CurrentDateColor Call RefreshScheduler to commit changes CurrentDateTextColor Call RefreshScheduler to commit changes DayProperties As ASScheduler_MonthView_DayProperties [read only] HeaderColor sets the Header Color HeaderHeight As Float Default: 40dip HeaderTextProperties As ASScheduler_MonthView_HeaderTextProperties Call RefreshHeader if you change something Default Values TextColor: <code>xui.Color_White</code> TextFont: <code>xui.CreateDefaultBoldFont(15)</code> TextAlignment_Vertical: <code>"CENTER"e</code> TextAlignment_Horizontal: <code>"CENTER"</code> BackgroundColor: <code>m_HeaderColor</code> HeaderVisibility As Boolean [read only] HeatMapProperties As ASScheduler_MonthView_HeatMapProperties [read only] Call RefreshScheduler if you change something Default Values xFont: <code>xui.CreateDefaultBoldFont(15)</code> ColorCountList Example: <code> Dim HeatColor As List : HeatColor.Initialize HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,214, 230, 133),0,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,140, 198, 101),2,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,68, 163, 64),4,xui.Color_White)) HeatColor.Add(ASSchedulerUtils.CreateASScheduler_HeatMapColor(xui.Color_ARGB(255,30, 104, 35),7,xui.Color_White)) </code> MinimalismProperties As ASScheduler_MonthView_MinimalismProperties [read only] Call RefreshScheduler if you change something Default Values Height: <code>8dip</code> Gap: <code>4dip</code> BottomGap: <code>16dip</code> MonthNameShort As ASScheduler_MonthNameShort Call RefreshScheduler if you change something <code>ASScheduler_MonthView1.MonthNameShort = ASSchedulerUtils.CreateASScheduler_MonthNameShort("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec")</code> NumberOfWeeks As Int Gets or sets the number of visible weeks SchedulerFunction As String Changes the functionality of the scheduler <code>ASScheduler_MonthView1.SchedulerFunction = ASScheduler_MonthView1.SchedulerFunction_HeatMap</code> SchedulerFunction_Calendar As String [read only] Normal mode, Appointments and Blackout days are displayed SchedulerFunction_HeatMap As String [read only] A heatmap shows how the workload is on one day The more appointments in a day, the darker is the color SchedulerFunction_Minimalism As String [read only] Appointments are displayed as dots SelectedDate As Long gets or sets the selected date SelectedDateColor Call RefreshScheduler to commit changes SelectedDateTextColor Call RefreshScheduler to commit changes ShowWeekNumbers Gets or sets the number of visible weeks Call RefreshScheduler to commit changes StartDate As Long Gets or sets the start date WeekNameShort As ASScheduler_WeekNameShort Call RefreshHeader if you change something <code>ASScheduler_MonthView1.WeekNameShort = ASSchedulerUtils.CreateASScheduler_WeekNameShort("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")</code> WeekNumberProperties As ASScheduler_MonthView_WeekNumberProperties Call RefreshScheduler if you change something Default Values Width: <code>20dip</code> Color: <code>xui.Color_ARGB(255,32, 33, 37)</code> xFont: <code>xui.CreateDefaultFont(15)</code> TextColor: <code>xui.Color_White</code> ASScheduler_MonthView_AppointmentProperties Fields: CornerRadius As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. LeftRightGap As Float TextColor As Int xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_BlackoutProperties Fields: Color As Int GapBetween As Float IsInitialized As Boolean Tests whether the object has been initialized. Width As Float Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_CustomDrawDay Fields: BackgroundPanel As B4XView IsInitialized As Boolean Tests whether the object has been initialized. xlbl_Day As B4XView xpnl_AppointmentBackground As B4XView Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_DayProperties Fields: IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int TextFont As B4XFont TextFontCurrentDay As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_HeaderTextProperties Fields: BackgroundColor As Int IsInitialized As Boolean Tests whether the object has been initialized. TextAlignment_Horizontal As String TextAlignment_Vertical As String TextColor As Int TextFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_HeatMapProperties Fields: ColorCountList As List IsInitialized As Boolean Tests whether the object has been initialized. ShowCounter As Boolean xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_MinimalismProperties Fields: BottomGap As Float Gap As Float Height As Float IsInitialized As Boolean Tests whether the object has been initialized. Functions: Initialize Initializes the fields to their default value. ASScheduler_MonthView_WeekNumberProperties Fields: Color As Int IsInitialized As Boolean Tests whether the object has been initialized. TextColor As Int Width As Float xFont As B4XFont Functions: Initialize Initializes the fields to their default value. ASScheduler_SpecialDay Fields: Date As Long Id As Int isAlways As Boolean IsInitialized As Boolean Tests whether the object has been initialized. isRecurring As Boolean Name As String RecurringInterval As Int RecurringUnit As String Functions: Initialize Initializes the fields to their default value. ASScheduler_Theme Fields: BackgroundColor_Blackout As Int BackgroundColor_Body As Int BackgroundColor_CurrentDate As Int BackgroundColor_GridLine As Int BackgroundColor_Header As Int BackgroundColor_SelectedBlock As Int BackgroundColor_SelectedDateColor_MonthView As Int BackgroundColor_Timeline As Int BackgroundColor_WeekNumber As Int IsInitialized As Boolean Tests whether the object has been initialized. TextColor_CurrentDate As Int TextColor_Day_MonthView As Int TextColor_Header As Int TextColor_SelectedDateColor As Int TextColor_Timeline As Int TextColor_WeekNumber As Int Functions: Initialize Initializes the fields to their default value. ASScheduler_WeekNameShort Fields: Friday As String IsInitialized As Boolean Tests whether the object has been initialized. Monday As String Saturday As String Sunday As String Thursday As String Tuesday As String Wednesday As String Functions: Initialize Initializes the fields to their default value. If you have features or something is still missing, let me know. Changelog Spoiler: Version 3.0-3.21 3.00 (read more) MonthView BugFixes Add Event "Created" - is triggered when the calendar is finished building If you call RefreshComplete once the calendar is ready, the event will be triggered Add RefreshComplete - Rebuilds the calendar Event improvements DayView Performance improvments Add Event "Created" - is triggered when the calendar is finished building Add get and set StartDate Add RefreshComplete - Rebuilds the calendar Breaking change: setDayCount needs now a RefreshComplete if you want to apply it CalendarViewMonth Add Designer Property "SchedulerFunction" Calendar - Normal DatePicker and the Appointments are displayed as circles under the date MonthView - Same function as the MonthView, the view is used on the whole height and width, the appointments are with text Add Events AppointmentClick AppointmentDoubleClick AppointmentLongClick AppointmentRightClick HiddenAppointmentClick HiddenAppointmentLongClick Add Properties get and set AppointmentProperties_MonthView get and set BlackoutProperties get and set SchedulerFunction 3.01 CalendarView Add compatibility for AS_ViewPager Version 2.0 DayView Add compatibility for AS_ViewPager Version 2.0 3.02 General Appointment Click Event BugFixes CalendarView BugFixes MonthView B4J BugFix Scroll2Date If the date is still within the range of the one already added, then it has scrolled one week too far. Unfortunately, it is not possible in B4J with such a long list, to land exactly on the item for which you have the index, it lands every time in release mode a week later or a week earlier. 3.03 DayView Add Designer Property StartHour - The calendar automatically scrolls to the set hour Default: 0 Add Scroll2Hour 3.04 DayView BugFixes 3.05 CalendarView BugFixes 3.06 CalendarView BugFixes 3.07 (read more) CalendarView Add Event CustomHeaderText 3.08 (read more) AgendaView Theming BugFixes Add SetTheme - You now have all the colors for the view in one function Add 2 Examples for SetTheme Theme_Dark Theme_Light Add get isCreated - Returns true after you call CreateScheduler 3.09 AgendaView B4I BugFix 3.11 (read more) CalendarView BugFixes Performance Improvements DayView BugFixes Performance Improvements MonthView BugFixes Performance Improvements AgendaView BugFixes Performance Improvements API Add DeleteBlackoutOnDate Add GetBlackoutIdFromDate 3.12 MonthView Add get isCreated DayView BugFix Remove B4XCanvas - led to crashes if you swiped quickly 3.13 DayView BugFixes and Improvements 3.14 General BugFix for MacOS and Linux Breaking change if you use this lib. in MacOS or Linux, the database is in a new location in the system to avoid crashes 3.15 (read more) DayView Add Event CustomDrawAppointment BugFix on 12h Time System MonthView Add Event CustomDrawAppointment AgendaView Add Event CustomDrawAppointment 3.16 MonthView B4A BugFix 3.17 (read more) API Add BackupDatabase Add RestoreDatabase 3.18 (read more) CalendarView Add WeekNameProperties Add Event CustomDrawHeader 3.19 (read more) DayView Add Designer Property MultiDayAppointmentShowMode Default: OnTop Appointments that last longer than 1 day are now always displayed at the top. Previously, you had to scroll to the top of the list to make them visible This has caused confusion BugFixes and Performance Improvements API BugFix on GetAppointmentCountInRange 3.20 DayView New get FirstVisibleDay New get LastVisibleDay New VisibleDateRangeChanged Event 3.21 DayView New set CanSwipe - If “False” the swiping is deactivated New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color MonthView New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color AgendaView New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color 3.22 Utils Removed ASScheduler_Theme MonthView Removed SetTheme Removed set HeaderColor -> is now in HeaderTextProperties New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None DayView Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None AgendaView Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None New Designer Property CurrentDateTextColor Default: Black Change Designer Property CurrentDateColor default value to WHITE CalendarView Removed "HeaderColor", is now in the ASScheduler_CalendarView_HeaderProperties type Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None Have Fun
Alexander Stolte Expert Licensed User Longtime User Dec 30, 2024 #241 Update 3.21 DayView New set CanSwipe - If “False” the swiping is deactivated New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color MonthView New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color AgendaView New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color
Update 3.21 DayView New set CanSwipe - If “False” the swiping is deactivated New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color MonthView New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color AgendaView New get and set AutoAppointmentTextColor - Automatically adjusts the text color of an appointment to the background color
Alexander Stolte Expert Licensed User Longtime User Mar 3, 2025 #242 This update focuses on theming. Update 3.22 Utils Removed ASScheduler_Theme MonthView Removed SetTheme Removed set HeaderColor -> is now in HeaderTextProperties New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None DayView Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None AgendaView Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None New Designer Property CurrentDateTextColor Default: Black Change Designer Property CurrentDateColor default value to WHITE CalendarView Removed "HeaderColor", is now in the ASScheduler_CalendarView_HeaderProperties type Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None After 3 years I have tidied up the 1st post and brought it up to date. The example projects have been removed and replaced by a global example project in the first post. As in most AS_Views, you can now also change the theme here by calling up the following: B4X: ASScheduler_DayView1.Theme = ASScheduler_DayView1.Theme_Light B4X: ASScheduler_DayView1.Theme = ASScheduler_DayView1.Theme_Dark Is available for all views in the scheduler.
This update focuses on theming. Update 3.22 Utils Removed ASScheduler_Theme MonthView Removed SetTheme Removed set HeaderColor -> is now in HeaderTextProperties New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None DayView Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None AgendaView Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None New Designer Property CurrentDateTextColor Default: Black Change Designer Property CurrentDateColor default value to WHITE CalendarView Removed "HeaderColor", is now in the ASScheduler_CalendarView_HeaderProperties type Removed SetTheme New set Theme - You can now switch to Light or Dark mode New get Theme_Dark New get Theme_Light New Designer Property ThemeChangeTransition Default: None After 3 years I have tidied up the 1st post and brought it up to date. The example projects have been removed and replaced by a global example project in the first post. As in most AS_Views, you can now also change the theme here by calling up the following: B4X: ASScheduler_DayView1.Theme = ASScheduler_DayView1.Theme_Light B4X: ASScheduler_DayView1.Theme = ASScheduler_DayView1.Theme_Dark Is available for all views in the scheduler.
A astronald Active Member Licensed User Longtime User May 21, 2026 #244 Ilya G. said: 1) Is it possible to use DayView with 1 day and 8 custom columns? 2) Is it possible to set start and end time in DayView? Click to expand... 1) Is it possible to use DayView with 1 day and 8 custom columns? Were you able to do this?
Ilya G. said: 1) Is it possible to use DayView with 1 day and 8 custom columns? 2) Is it possible to set start and end time in DayView? Click to expand... 1) Is it possible to use DayView with 1 day and 8 custom columns? Were you able to do this?
A astronald Active Member Licensed User Longtime User Jul 30, 2026 #245 Hi Alexander, Thank you for your amazing work on the ASScheduler suite! . I'd like to leave a feature request regarding high-density hours in ASScheduler_DayView. When multiple appointments occur at the same time, squeezing them into thin vertical columns makes the text hard to read on mobile. It would be awesome to optionally group/separate simultaneous appointments by a custom identifier (like a resource ID) into wider columns with horizontal scrolling inside the DayView. Best regards,
Hi Alexander, Thank you for your amazing work on the ASScheduler suite! . I'd like to leave a feature request regarding high-density hours in ASScheduler_DayView. When multiple appointments occur at the same time, squeezing them into thin vertical columns makes the text hard to read on mobile. It would be awesome to optionally group/separate simultaneous appointments by a custom identifier (like a resource ID) into wider columns with horizontal scrolling inside the DayView. Best regards,