From a9425becaaede1d25ec674bf98890891d9454934 Mon Sep 17 00:00:00 2001 From: Viswajith-SF4388 <154953446+Viswajith-SF4388@users.noreply.github.com> Date: Thu, 11 Jul 2024 12:15:38 +0530 Subject: [PATCH 1/3] 895785: Address the peer review correction in UG documentation in asp core and mvc platform. --- .../schedule/EJ2_ASP.MVC/appointments.md | 120 +++++++++--------- .../EJ2_ASP.MVC/cell-customization.md | 20 +-- .../schedule/EJ2_ASP.MVC/context-menu.md | 4 +- .../schedule/EJ2_ASP.MVC/crud-actions.md | 20 +-- .../schedule/EJ2_ASP.MVC/data-binding.md | 8 +- .../schedule/EJ2_ASP.MVC/editor-template.md | 44 +++---- .../schedule/EJ2_ASP.MVC/exporting.md | 4 +- .../schedule/EJ2_ASP.MVC/header-bar.md | 16 +-- .../schedule/EJ2_ASP.MVC/header-rows.md | 10 +- ...enable-scroll-option-on-all-day-section.md | 2 +- .../how-to/open-event-editor-manually.md | 2 +- .../how-to/prevent-date-navigation.md | 2 +- .../how-to/set-different-work-hours.md | 2 +- .../schedule/EJ2_ASP.MVC/localization.md | 8 +- .../schedule/EJ2_ASP.MVC/recurrence-editor.md | 2 +- .../schedule/EJ2_ASP.MVC/resources.md | 37 +++--- .../schedule/EJ2_ASP.MVC/row-auto-height.md | 10 +- .../schedule/EJ2_ASP.MVC/timescale.md | 20 +-- .../schedule/EJ2_ASP.MVC/timezone.md | 8 +- .../schedule/EJ2_ASP.MVC/views.md | 10 +- .../schedule/EJ2_ASP.MVC/working-days.md | 10 +- .../schedule/EJ2_ASP.NETCORE/appointments.md | 110 ++++++++-------- .../EJ2_ASP.NETCORE/cell-customization.md | 23 ++-- .../schedule/EJ2_ASP.NETCORE/context-menu.md | 4 +- .../schedule/EJ2_ASP.NETCORE/crud-actions.md | 20 +-- .../schedule/EJ2_ASP.NETCORE/data-binding.md | 8 +- .../EJ2_ASP.NETCORE/editor-template.md | 40 +++--- .../EJ2_ASP.NETCORE/getting-started.md | 6 +- .../schedule/EJ2_ASP.NETCORE/header-bar.md | 16 +-- .../schedule/EJ2_ASP.NETCORE/header-rows.md | 10 +- .../schedule/EJ2_ASP.NETCORE/localization.md | 8 +- .../EJ2_ASP.NETCORE/recurrence-editor.md | 2 +- .../schedule/EJ2_ASP.NETCORE/resources.md | 36 +++--- .../EJ2_ASP.NETCORE/row-auto-height.md | 10 +- .../schedule/EJ2_ASP.NETCORE/timescale.md | 20 +-- .../schedule/EJ2_ASP.NETCORE/timezone.md | 8 +- .../schedule/EJ2_ASP.NETCORE/views.md | 10 +- .../schedule/EJ2_ASP.NETCORE/working-days.md | 10 +- 38 files changed, 354 insertions(+), 346 deletions(-) diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/appointments.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/appointments.md index 62aae81dfc..5a66cbe21d 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/appointments.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/appointments.md @@ -61,7 +61,7 @@ N> For example, if an appointment is created for two days say from November 25, Represents an appointment that is created for an entire day such as holiday events. It is usually displayed separately in an all-day row, a separate row for all-day appointments below the date header section. In Timeline views, the all-day appointments displays in the working space area, and no separate all-day row is present in that view. -N> To change normal appointment into all-day event, set `IsAllDay` field to true. +N> To change normal appointment into all-day event, set [`IsAllDay`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsAllDay) field to `true`. ### Hide all-day row events @@ -77,7 +77,7 @@ N> You can also enable scroller for all-day row, [refer](./how-to/enable-scroll- ## Customize the rendering of the spanned events -By default, Scheduler will renders the spanned events (appointment with more than 24 hours duration) in the all-day row by setting `AllDayRow` will the default type renders to the `SpannedEventPlacement` option within the `EventSettings` property. Now we can customize rendering of the that events inside the work cells itself by modifying the `SpannedEventPlacement` option as `TimeSlot`. In this following example, shows how to render the spanned appointments inside the work cells as follows. +By default, Scheduler will renders the spanned events (appointment with more than 24 hours duration) in the all-day row by setting `AllDayRow` will the default type renders to the [`SpannedEventPlacement`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_SpannedEventPlacement) option within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. Now we can customize rendering of the that events inside the work cells itself by modifying the [`SpannedEventPlacement`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_SpannedEventPlacement) option as `TimeSlot`. In this following example, shows how to render the spanned appointments inside the work cells as follows. {% if page.publishingplatform == "aspnet-core" %} @@ -139,7 +139,7 @@ The following example depicts how to create a recurring event on Scheduler with ### Adding exceptions -A few instance of the recurrence series can be excluded on specific dates, by adding those exceptional dates to the `RecurrenceException` field. These date values should be given in the ISO date time format with no hyphens(-) separating the date elements. +A few instance of the recurrence series can be excluded on specific dates, by adding those exceptional dates to the [`RecurrenceException`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field. These date values should be given in the ISO date time format with no hyphens(-) separating the date elements. For example, 22nd February 2018 can be represented as 20180222. Also, the time part being represented in UTC format needs to add "Z" after the time portion with no space. "07:30:00 UTC" is therefore represented as "073000Z". @@ -170,9 +170,9 @@ For example, 22nd February 2018 can be represented as 20180222. Also, the time p ### Editing an occurrence from a series -To dynamically edit a particular occurrence from an event series and display it on the initial load of Scheduler, the edited occurrence needs to be added as a new event to the dataSource collection, with an additional `RecurrenceID` field defined to it. The `RecurrenceID` field of edited occurrence usually maps the ID value of the parent event. +To dynamically edit a particular occurrence from an event series and display it on the initial load of Scheduler, the edited occurrence needs to be added as a new event to the dataSource collection, with an additional [`RecurrenceID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field defined to it. The [`RecurrenceID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field of edited occurrence usually maps the ID value of the parent event. -In this example, a recurring instance that displays on the date 30th Jan 2018 is edited with different timings. Therefore, this particular date is excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by adding the `RecurrenceException` field with the excluded date value on the parent event. Also, the edited occurrence event which is created as a new event should carry the `RecurrenceID` field pointing to the parent event's `Id` value. +In this example, a recurring instance that displays on the date 30th Jan 2018 is edited with different timings. Therefore, this particular date is excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by adding the [`RecurrenceException`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field with the excluded date value on the parent event. Also, the edited occurrence event which is created as a new event should carry the [`RecurrenceID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field pointing to the parent event's [`Id`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) value. {% if page.publishingplatform == "aspnet-core" %} @@ -201,9 +201,9 @@ In this example, a recurring instance that displays on the date 30th Jan 2018 is ### Edit only the current and following events -To edit only the current and following events enable the property `editFollowingEvents` within `eventSettings` property. The edited occurrence needs to be added as a new event to the dataSource collection, with an additional `followingID` field defined to it. The `followingID` field of edited occurrence usually maps the ID value of the immediate parent event. +To edit only the current and following events enable the property [`editFollowingEvents`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_EditFollowingEvents) within [`eventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. The edited occurrence needs to be added as a new event to the dataSource collection, with an additional [`followingID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_FollowingID) field defined to it. The [`followingID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_FollowingID) field of edited occurrence usually maps the ID value of the immediate parent event. -In this example, a recurring instance that displays on the date 30th Jan 2018 and its following dates are edited with different subject. Therefore, this particular date and its following dates are excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by updating the `recurrenceRule` field with the until date value on the parent event. Also, the edited events which is created as a new event should carry the `followingID` field pointing to the immediate parent event's `Id` value. +In this example, a recurring instance that displays on the date 30th Jan 2018 and its following dates are edited with different subject. Therefore, this particular date and its following dates are excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by updating the [`recurrenceRule`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) field with the until date value on the parent event. Also, the edited events which is created as a new event should carry the [`followingID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_FollowingID) field pointing to the immediate parent event's [`Id`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) value. {% if page.publishingplatform == "aspnet-core" %} @@ -232,7 +232,7 @@ In this example, a recurring instance that displays on the date 30th Jan 2018 an ### Recurrence options and rules -Events can be repeated on a daily, weekly, monthly or yearly basis based on the recurrence rule which accepts the string value. The following details should be assigned to the `RecurrenceRule` property to generate the recurring instances. +Events can be repeated on a daily, weekly, monthly or yearly basis based on the recurrence rule which accepts the string value. The following details should be assigned to the [`RecurrenceRule`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) property to generate the recurring instances. * Repeat type - daily/weekly/monthly/yearly. * How many times it needs to be repeated? @@ -321,7 +321,7 @@ The built-in validation support has been added by default for recurring appointm The Scheduler dataSource usually holds the event instances, where each of the instance includes a collection of appropriate [fields](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleField_properties.html). It is mandatory to map these fields with the equivalent fields of database, when remote data is bound to it. When the local JSON data is bound, then the field names defined within the instances needs to be mapped with the scheduler event fields correctly. -N> To create an event on Scheduler, it is enough to define the `startTime` and `endTime`. Also `id` field becomes mandatory to process CRUD actions on appropriate events. +N> To create an event on Scheduler, it is enough to define the [`startTime`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTime) and [`endTime`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTime). Also [`Id`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) field becomes mandatory to process CRUD actions on appropriate events. ### Built-in fields @@ -329,24 +329,24 @@ The built-in fields available on Scheduler event object are as follows. | Field name | Description | |-------|---------| -| `Id` | The `id` field needs to be defined as mandatory and this field usually assigns a unique ID value to each of the events.| -| `Subject` | The `Subject` field is optional, and usually assigns the summary text to each of the events.| -| `StartTime` | The `StartTime` field defines the start time of an event and it is mandatory to provide it for any of the valid event objects.| -| `EndTime` | The `EndTime` field defines the end time of an event and it is mandatory to provide the end time for any of the valid event objects.| -| `StartTimezone` | It maps the `StartTimezone` field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `StartTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.| -| `EndTimezone` | It maps the `EndTimezone` field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `EndTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.| -| `Location` | It maps the `Location` field from the dataSource and the location text value will be displayed over the events.| -| `Description` | It maps the `Description` field from the dataSource and denotes the event description which is optional.| -| `IsAllDay` | The `IsAllDay` field is mapped from the dataSource and is used to denote whether an event is created for an entire day or for specific time alone. Usually, an event with `IsAllDay` field set to true will be considered as an all-day event. | -| `RecurrenceID` | It maps the `RecurrenceID` field from dataSource and usually holds the ID value of the parent recurrence event. This field is applicable only for the edited occurrence events.| -| `RecurrenceRule` | It maps the `RecurrenceRule` field from dataSource and holds the recurrence rule value in a string format. Also, it uniquely identifies whether the event belongs to a recurring type or normal ones. | -| `RecurrenceException` | It maps the `RecurrenceException` field from dataSource and is used to hold the collection of exception dates, on which the recurring occurrences needs to be excluded. The `RecurrenceException` should be specified in UTC format. | -| `IsReadonly` | It maps the `IsReadonly` field from dataSource. It is mainly used to make specific appointments as readonly when set to `true`. | -| `IsBlock` | It maps the `IsBlock` field from dataSource. It is used to block the particular time ranges in the Scheduler and prevents the event creation on those time slots. | +| id | The [`Id`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) field needs to be defined as mandatory and this field usually assigns a unique ID value to each of the events.| +| Subject | The [`Subject`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Subject) field is optional, and usually assigns the summary text to each of the events.| +| StartTime | The [`StartTime`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTime) field defines the start time of an event and it is mandatory to provide it for any of the valid event objects.| +| EndTime | The [`EndTime`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTime) field defines the end time of an event and it is mandatory to provide the end time for any of the valid event objects.| +| StartTimezone | It maps the [`StartTimezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTimezone) field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `StartTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.| +| EndTimezone | It maps the [`EndTimezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTimezone) field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `EndTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.| +| Location | It maps the [`Location`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Location) field from the dataSource and the location text value will be displayed over the events.| +| Description | It maps the [`Description`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Description) field from the dataSource and denotes the event description which is optional.| +| IsAllDay | The [`IsAllDay`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsAllDay) field is mapped from the dataSource and is used to denote whether an event is created for an entire day or for specific time alone. Usually, an event with `IsAllDay` field set to true will be considered as an all-day event. | +| RecurrenceID | It maps the [`RecurrenceID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field from dataSource and usually holds the ID value of the parent recurrence event. This field is applicable only for the edited occurrence events.| +| RecurrenceRule | It maps the [`RecurrenceRule`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) field from dataSource and holds the recurrence rule value in a string format. Also, it uniquely identifies whether the event belongs to a recurring type or normal ones. | +| RecurrenceException | It maps the [`RecurrenceException`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field from dataSource and is used to hold the collection of exception dates, on which the recurring occurrences needs to be excluded. The `RecurrenceException` should be specified in UTC format. | +| IsReadonly | It maps the [`IsReadonly`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsReadonly) field from dataSource. It is mainly used to make specific appointments as readonly when set to `true`. | +| IsBlock | It maps the [`IsBlock`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsBlock) field from dataSource. It is used to block the particular time ranges in the Scheduler and prevents the event creation on those time slots. | ### Binding different field names -When the fields of event instances has the default mapping name, it is not mandatory to map them manually. If a Scheduler's dataSource holds the events collection with different field names, then it is necessary to map them with its equivalent field name within the `EventSettings` property. +When the fields of event instances has the default mapping name, it is not mandatory to map them manually. If a Scheduler's dataSource holds the events collection with different field names, then it is necessary to map them with its equivalent field name within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. {% if page.publishingplatform == "aspnet-core" %} @@ -373,7 +373,7 @@ When the fields of event instances has the default mapping name, it is not manda -N> The mapper field `Id` is of string type and has no additional validation options, whereas all other fields are of `Object` type and has additional options. +N> The mapper field [`Id`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) is of string type and has no additional validation options, whereas all other fields are of `Object` type and has additional options. ### Event field settings @@ -415,7 +415,7 @@ In following example, the Subject field in event editor will display its appropr ## Adding Custom fields -Apart from the default Scheduler fields, the user can include 'n' number of custom fields for appointments. The following code example shows how to include two custom fields namely **Status** and **Priority** within event collection. It is not necessary to bind the custom fields within the `EventSettings`. However, those additional fields can be accessed easily, for internal processing as well as from application end. +Apart from the default Scheduler fields, the user can include 'n' number of custom fields for appointments. The following code example shows how to include two custom fields namely **Status** and **Priority** within event collection. It is not necessary to bind the custom fields within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings). However, those additional fields can be accessed easily, for internal processing as well as from application end. {% if page.publishingplatform == "aspnet-core" %} @@ -444,7 +444,7 @@ Apart from the default Scheduler fields, the user can include 'n' number of cust ## Customize the order of the overlapping events -By default, the scheduler will render the overlapping events based on the start and end time. Now we can customize the order of the overlapping events based on the custom fields by using the `SortComparer` property grouped under the `EventSettings` property. The following code example shows how to sort the appointments based on the custom field as follows. +By default, the scheduler will render the overlapping events based on the start and end time. Now we can customize the order of the overlapping events based on the custom fields by using the [`SortComparer`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_SortComparer) property grouped under the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. The following code example shows how to sort the appointments based on the custom field as follows. {% if page.publishingplatform == "aspnet-core" %} @@ -473,13 +473,13 @@ By default, the scheduler will render the overlapping events based on the start ## Drag and drop appointments -Appointments can be rescheduled to any time by dragging and dropping them onto the desired location. To work with drag and drop functionality make sure that `AllowDragAndDrop` is set to **true** on Scheduler. In mobile mode, you can drag and drop the events by tap holding an event and dropping them on to the desired location. +Appointments can be rescheduled to any time by dragging and dropping them onto the desired location. To work with drag and drop functionality make sure that [`AllowDragAndDrop`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowDragAndDrop) is set to **true** on Scheduler. In mobile mode, you can drag and drop the events by tap holding an event and dropping them on to the desired location. N> By default, drag and drop action is applicable on all Scheduler views, except Agenda, Month-Agenda and Year view. ### Drag and drop multiple appointments -We can drag and drop multiple appointments by enabling the `allowMultiDrag` property. We can select multiple appointments by holding the CTRL key. Once the events are selected, we can leave the CTRL key and start dragging the event. +We can drag and drop multiple appointments by enabling the [`allowMultiDrag`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowMultiDrag) property. We can select multiple appointments by holding the CTRL key. Once the events are selected, we can leave the CTRL key and start dragging the event. We can also drag multiple events from one resource to another resource. In this case, if all the selected events are in the different resources, then all the events should be moved to the single resource that is related to the target event. @@ -512,7 +512,7 @@ N> Multiple events drag and drop is not supported on mobile devices. ### Disable the drag action -By default, you can drag and drop the events within any of the applicable scheduler views, and to disable it, set **false** to the `AllowDragAndDrop` property. +By default, you can drag and drop the events within any of the applicable scheduler views, and to disable it, set **false** to the [`AllowDragAndDrop`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowDragAndDrop) property. {% if page.publishingplatform == "aspnet-core" %} @@ -541,7 +541,7 @@ By default, you can drag and drop the events within any of the applicable schedu ### Preventing drag and drop on specific targets -It is possible to prevent the drag action on particular target, by passing the target to be excluded in the `excludeSelectors` option within `DragStart` event arguments. In this example, we have prevented the drag action on all-day row. +It is possible to prevent the drag action on particular target, by passing the target to be excluded in the `excludeSelectors` option within [`DragStart`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart) event arguments. In this example, we have prevented the drag action on all-day row. {% if page.publishingplatform == "aspnet-core" %} @@ -570,7 +570,7 @@ It is possible to prevent the drag action on particular target, by passing the t ### Disable scrolling on drag action -By default, while dragging an appointment to the edges, either top/bottom in the vertical Scheduler or left/right in the timeline Scheduler, scrolling action takes place automatically. To prevent this scrolling, set `false` to the `scroll` value within `DragStart` event arguments. +By default, while dragging an appointment to the edges, either top/bottom in the vertical Scheduler or left/right in the timeline Scheduler, scrolling action takes place automatically. To prevent this scrolling, set `false` to the `scroll` value within [`DragStart`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart) event arguments. {% if page.publishingplatform == "aspnet-core" %} @@ -599,7 +599,7 @@ By default, while dragging an appointment to the edges, either top/bottom in the ### Controlling scroll speed while dragging an event -The speed of the scrolling action while dragging an appointment to the Scheduler edges, can be controlled within `DragStart` event arguments by setting the desired value to the `scrollBy` and `timeDelay` option whereas its default value is 30 minutes and 100 ms. +The speed of the scrolling action while dragging an appointment to the Scheduler edges, can be controlled within [`DragStart`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart) event arguments by setting the desired value to the `scrollBy` and `timeDelay` option whereas its default value is 30 minutes and 100 ms. {% if page.publishingplatform == "aspnet-core" %} @@ -628,9 +628,9 @@ The speed of the scrolling action while dragging an appointment to the Scheduler ### Auto navigation of date ranges on dragging an event -When an event is dragged either to the left or right extreme edges of the Scheduler and kept hold for few seconds without dropping, the auto navigation of date ranges will be enabled allowing the Scheduler to navigate from current date range to back and forth respectively. This action is set to `false` by default and to enable it, you need to set `navigation` to true within `DragStart` event. +When an event is dragged either to the left or right extreme edges of the Scheduler and kept hold for few seconds without dropping, the auto navigation of date ranges will be enabled allowing the Scheduler to navigate from current date range to back and forth respectively. This action is set to `false` by default and to enable it, you need to set `navigation` to true within [`DragStart`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart) event. -By default, the navigation delay is set to 2000 ms. The navigation delay decides how long the user needs to drag and hold the appointments at the extremities. You can also set your own delay value for letting the users to navigate based on it, using the `timeDelay` within `DragStart` event. +By default, the navigation delay is set to 2000 ms. The navigation delay decides how long the user needs to drag and hold the appointments at the extremities. You can also set your own delay value for letting the users to navigate based on it, using the `timeDelay` within [`DragStart`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart) event. {% if page.publishingplatform == "aspnet-core" %} @@ -659,7 +659,7 @@ By default, the navigation delay is set to 2000 ms. The navigation delay decides ### Setting drag time interval -By default, while dragging an appointment, it moves at an interval of 30 minutes. To change the dragging time interval, pass the appropriate values to the `interval` option within `DragStart`event. +By default, while dragging an appointment, it moves at an interval of 30 minutes. To change the dragging time interval, pass the appropriate values to the `interval` option within [`DragStart`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart)event. {% if page.publishingplatform == "aspnet-core" %} @@ -719,7 +719,7 @@ In this example, we have used the tree view control as an external source and th ### Opening the editor window on drag stop -There are scenarios where you want to open the editor filled with data on newly dropped location and may need to proceed to save it, only when `Save` button is clicked on the editor and on clicking the cancel button should revert these changes. This can be achieved using the `DragStop` event of Scheduler. +There are scenarios where you want to open the editor filled with data on newly dropped location and may need to proceed to save it, only when `Save` button is clicked on the editor and on clicking the cancel button should revert these changes. This can be achieved using the [`DragStop`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStop) event of Scheduler. {% if page.publishingplatform == "aspnet-core" %} @@ -756,7 +756,7 @@ To enable the inline edit mode, single click on any of the existing appointment The inline option can be enabled/disabled on the Scheduler by using the allowInline API, whereas its default value is set to false. -While using the `allowInline` the `showQuickInfo` will be turned off. The `quickPopup` will not show on clicking the work cell or clicking the appointment when the `allowInline` property is set to true. +While using the [`allowInline`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowInline) the [`showQuickInfo`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ShowQuickInfo) will be turned off. The `quickPopup` will not show on clicking the work cell or clicking the appointment when the [`allowInline`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowInline) property is set to `true`. In work cells, select multiple cells using keyboard, and then press enter key. The appointment wrapper will be created, and focus will be on the subject field. Also, consider the overlapping scenarios when creating an inline event. ### Normal Event @@ -794,11 +794,11 @@ While editing the occurrence from the recurrence series, it is only possible to ## Appointment Resizing -Another way of rescheduling an appointment can be done by resizing it through either of its handlers. To work with resizing functionality make sure that `AllowResizing` property is set to **true**. +Another way of rescheduling an appointment can be done by resizing it through either of its handlers. To work with resizing functionality make sure that [`AllowResizing`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowResizing) property is set to **true**. ### Disable the resize action -By default, resizing of events is allowed on all Scheduler views except Agenda and Month-Agenda view. To disable this event resizing action, set false to the `AllowResizing` property. +By default, resizing of events is allowed on all Scheduler views except Agenda and Month-Agenda view. To disable this event resizing action, set `false` to the [`AllowResizing`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowResizing) property. {% if page.publishingplatform == "aspnet-core" %} @@ -827,7 +827,7 @@ By default, resizing of events is allowed on all Scheduler views except Agenda a ### Disable scrolling on resize action -By default, while resizing an appointment, when its handler reaches the extreme edges of the Scheduler, scrolling action will takes place along with event resizing. To prevent this scrolling action, set **false** to `scroll` value within the `ResizeStart` event. +By default, while resizing an appointment, when its handler reaches the extreme edges of the Scheduler, scrolling action will takes place along with event resizing. To prevent this scrolling action, set **false** to `scroll` value within the [`ResizeStart`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ResizeStart) event. {% if page.publishingplatform == "aspnet-core" %} @@ -856,7 +856,7 @@ By default, while resizing an appointment, when its handler reaches the extreme ### Controlling scroll speed while resizing an event -The speed of the scrolling action while resizing an appointment to the Scheduler edges, can be controlled within the `ResizeStart` event by setting the desired value to the `scrollBy` option. +The speed of the scrolling action while resizing an appointment to the Scheduler edges, can be controlled within the [`ResizeStart`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ResizeStart) event by setting the desired value to the `scrollBy` option. {% if page.publishingplatform == "aspnet-core" %} @@ -885,7 +885,7 @@ The speed of the scrolling action while resizing an appointment to the Scheduler ### Setting resize time interval -By default, while resizing an appointment, it extends or shrinks at an interval of 30 minutes. To change this default resize interval, set appropriate values to `interval` option within the `ResizeStart`. +By default, while resizing an appointment, it extends or shrinks at an interval of 30 minutes. To change this default resize interval, set appropriate values to `interval` option within the [`ResizeStart`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ResizeStart). {% if page.publishingplatform == "aspnet-core" %} @@ -922,7 +922,7 @@ The look and feel of the Scheduler events can be customized using any one of the ### Using template -Any kind of text, images and links can be added to customize the look of the events. The user can format and change the default appearance of the events by making use of the `Template` option available within the `EventSettings` property. The following code example customizes the appointment's default color and time format. +Any kind of text, images and links can be added to customize the look of the events. The user can format and change the default appearance of the events by making use of the `Template` option available within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. The following code example customizes the appointment's default color and time format. {% if page.publishingplatform == "aspnet-core" %} @@ -949,11 +949,11 @@ Any kind of text, images and links can be added to customize the look of the eve -N> All the built-in fields that are mapped to the appropriate field properties within the `EventSettings`, as well as custom mapped fields from the Scheduler dataSource can be accessed within the template code. +N> All the built-in fields that are mapped to the appropriate field properties within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings), as well as custom mapped fields from the Scheduler dataSource can be accessed within the template code. ### Using eventRendered event -The `EventRendered` event triggers before the appointment renders on the Scheduler. Therefore, this client-side event can be utilized to customize the look of events based on any specific criteria, before rendering them on the scheduler. +The [`EventRendered`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventRendered) event triggers before the appointment renders on the Scheduler. Therefore, this client-side event can be utilized to customize the look of events based on any specific criteria, before rendering them on the scheduler. {% if page.publishingplatform == "aspnet-core" %} @@ -982,7 +982,7 @@ The `EventRendered` event triggers before the appointment renders on the Schedul ### Using cssClass -The customization of events can also be achieved using `CssClass` property of the Scheduler. In the following example, the background of appointments has been changed using the cssClass. +The customization of events can also be achieved using [`CssClass`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CssClass) property of the Scheduler. In the following example, the background of appointments has been changed using the cssClass. {% if page.publishingplatform == "aspnet-core" %} @@ -1011,7 +1011,7 @@ The customization of events can also be achieved using `CssClass` property of th ## Setting minimum height -It is possible to set minimal height for appointments on Scheduler using `EventRendered` event, when its start and end time duration is less than the default duration of a single slot. +It is possible to set minimal height for appointments on Scheduler using [`EventRendered`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventRendered) event, when its start and end time duration is less than the default duration of a single slot. {% if page.publishingplatform == "aspnet-core" %} @@ -1040,7 +1040,7 @@ It is possible to set minimal height for appointments on Scheduler using `EventR ## Block Dates and Times -It is possible to block a set of dates or a particular time ranges on the Scheduler. To do so, define an appointment object within `EventSettings` along with the required time range to block and set the `IsBlock` field to **true**. Usually, the event objects defined with `IsBlock` field set to true will block the entire time cells lying within the appropriate time ranges specified through `StartTime` and `EndTime` fields. +It is possible to block a set of dates or a particular time ranges on the Scheduler. To do so, define an appointment object within [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) along with the required time range to block and set the [`IsBlock`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsBlock) field to **true**. Usually, the event objects defined with [`IsBlock`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsBlock) field set to true will block the entire time cells lying within the appropriate time ranges specified through [`StartTime`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTime) and [`EndTime`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTime) fields. {% if page.publishingplatform == "aspnet-core" %} @@ -1096,7 +1096,7 @@ Block events can also be defined to repeat on several days as shown in the follo ## Readonly -An interaction with the appointments of Scheduler can be enabled/disabled using the `Readonly` property. With this property enabled, you can simply navigate between the Scheduler dates, views and can be able to view the appointment details in the quick info window. Most importantly, the users are not allowed to perform any CRUD actions on Scheduler, when this property is set to true. By default, it is set as **false**. +An interaction with the appointments of Scheduler can be enabled/disabled using the [`Readonly`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Readonly) property. With this property enabled, you can simply navigate between the Scheduler dates, views and can be able to view the appointment details in the quick info window. Most importantly, the users are not allowed to perform any CRUD actions on Scheduler, when this property is set to true. By default, it is set as **false**. {% if page.publishingplatform == "aspnet-core" %} @@ -1125,7 +1125,7 @@ An interaction with the appointments of Scheduler can be enabled/disabled using ## Make specific events readonly -There are scenarios where you need to restrict the CRUD action on specific appointments alone based on certain conditions. In the following example, the events that has occurred on the past hours from the current date of the Scheduler are made as read-only and the CRUD actions has been prevented only on those appointments. This can be achieved by setting `IsReadonly` field of read-only events to `true`. +There are scenarios where you need to restrict the CRUD action on specific appointments alone based on certain conditions. In the following example, the events that has occurred on the past hours from the current date of the Scheduler are made as read-only and the CRUD actions has been prevented only on those appointments. This can be achieved by setting [`IsReadonly`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsReadonly) field of read-only events to `true`. {% if page.publishingplatform == "aspnet-core" %} @@ -1152,7 +1152,7 @@ There are scenarios where you need to restrict the CRUD action on specific appoi -N> By default, the event editor is prevented to open on the read-only events when `isReadonly` (for Core) / `IsReadonly` (for MVC) field is set to **true**. +N> By default, the event editor is prevented to open on the read-only events when [`IsReadonly`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsReadonly) (for Core) / [`IsReadonly`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsReadonly) (for MVC) field is set to **true**. ## Restricting event creation on specific time slots @@ -1185,7 +1185,7 @@ You can restrict the users to create and update more than one appointment on spe ## Differentiate the past time events -To differentiate the appearance of the appointments based on specific criteria such as displaying the past hour appointments with different colors on Scheduler, `EventRendered` event can be used which triggers before the appointment renders on the Scheduler. +To differentiate the appearance of the appointments based on specific criteria such as displaying the past hour appointments with different colors on Scheduler, [`EventRendered`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventRendered) event can be used which triggers before the appointment renders on the Scheduler. {% if page.publishingplatform == "aspnet-core" %} @@ -1214,9 +1214,9 @@ To differentiate the appearance of the appointments based on specific criteria s ## Appointments occupying entire cell -The Scheduler allows the event to occupies the full height of the cell without its header part by setting `true` for `EnableMaxHeight` Property. +The Scheduler allows the event to occupies the full height of the cell without its header part by setting `true` for [`EnableMaxHeight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_EnableMaxHeight) Property. -We can show more indicator if more than one appointment is available in a same cell by setting `true` to `EnableIndicator` property whereas its default value is false. +We can show more indicator if more than one appointment is available in a same cell by setting `true` to [`EnableIndicator`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_EnableIndicator) property whereas its default value is `false`. {% if page.publishingplatform == "aspnet-core" %} @@ -1249,7 +1249,7 @@ The tooltip shows the Scheduler appointment's information in a formatted style b ### Show or hide built-in tooltip -The tooltip can be displayed for appointments by setting `true` to the `EnableTooltip` option within the `EventSettings` property. +The tooltip can be displayed for appointments by setting `true` to the [`EnableTooltip`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_EnableTooltip) option within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. {% if page.publishingplatform == "aspnet-core" %} @@ -1278,7 +1278,7 @@ The tooltip can be displayed for appointments by setting `true` to the `EnableTo ### Customizing event tooltip using template -After enabling the default tooltip, it is possible to customize the display of needed event information on tooltip by making use of the `TooltipTemplate` option within the `EventSettings`. +After enabling the default tooltip, it is possible to customize the display of needed event information on tooltip by making use of the [`TooltipTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_TooltipTemplate) option within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings). {% if page.publishingplatform == "aspnet-core" %} @@ -1305,7 +1305,7 @@ After enabling the default tooltip, it is possible to customize the display of n -N> All the field names that are mapped from the Scheduler dataSource to the appropriate field properties such as subject, description, location, startTime and endTime within the `EventSettings` can be accessed within the template. +N> All the field names that are mapped from the Scheduler dataSource to the appropriate field properties such as subject, description, location, startTime and endTime within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) can be accessed within the template. ## Appointment selection @@ -1353,7 +1353,7 @@ In the following example, the subject of the appointment clicked has been displa ## Get the current view appointments -To retrieve the appointments present in the current view of the Scheduler, you can make use of the `getCurrentViewEvents` public method. In the following example, the count of current view appointment collection rendered has been traced in `DataBound` event. +To retrieve the appointments present in the current view of the Scheduler, you can make use of the `getCurrentViewEvents` public method. In the following example, the count of current view appointment collection rendered has been traced in [`DataBound`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DataBound) event. {% if page.publishingplatform == "aspnet-core" %} @@ -1382,7 +1382,7 @@ To retrieve the appointments present in the current view of the Scheduler, you c ## Get the entire appointment collections -The entire collection of appointments rendered on the Scheduler can be accessed using the `getEvents` public method. In the following example, the count of entire appointment collection rendered on the Scheduler has been traced in `DataBound` event. +The entire collection of appointments rendered on the Scheduler can be accessed using the `getEvents` public method. In the following example, the count of entire appointment collection rendered on the Scheduler has been traced in [`DataBound`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DataBound) event. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/cell-customization.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/cell-customization.md index 1f0403c133..e98c1769bc 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/cell-customization.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/cell-customization.md @@ -11,11 +11,11 @@ documentation: ug # Cell Customization -The cells of the Scheduler can be easily customized either using the cell template or `RenderCell` event. +The cells of the Scheduler can be easily customized either using the cell template or [`RenderCell`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event. ## Setting cell dimensions in all views -The height and width of the Scheduler cells can be customized either to increase or reduce its size through the `CssClass` property, which overrides the default CSS applied on cells. +The height and width of the Scheduler cells can be customized either to increase or reduce its size through the [`CssClass`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CssClass) property, which overrides the default CSS applied on cells. {% if page.publishingplatform == "aspnet-core" %} @@ -73,11 +73,11 @@ You can check whether the given time range slots are available for event creatio ## Customizing cells in all the views -It is possible to customize the appearance of the cells using both template options and `RenderCell` event on all the views. +It is possible to customize the appearance of the cells using both template options and [`RenderCell`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event on all the views. ### Using template -The `CellTemplate` option accepts the template string and is used to customize the cell background with specific images or appropriate text on the given date values. +The [`CellTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CellTemplate) option accepts the template string and is used to customize the cell background with specific images or appropriate text on the given date values. {% if page.publishingplatform == "aspnet-core" %} @@ -106,7 +106,7 @@ The `CellTemplate` option accepts the template string and is used to customize t ### Using renderCell event -An alternative to `CellTemplate` is the `RenderCell` event, which can also be used to customize the cells with appropriate images or formatted text values. +An alternative to [`CellTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CellTemplate) is the [`RenderCell`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event, which can also be used to customize the cells with appropriate images or formatted text values. {% if page.publishingplatform == "aspnet-core" %} @@ -133,7 +133,7 @@ An alternative to `CellTemplate` is the `RenderCell` event, which can also be us -You can customize cells such as work cells, month cells, all-day cells, header cells, resource header cells using `RenderCell` event by checking the `elementType` option within the event. You can check `elementType` with any of the following. +You can customize cells such as work cells, month cells, all-day cells, header cells, resource header cells using [`RenderCell`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event by checking the `elementType` option within the event. You can check `elementType` with any of the following. | Element type | Description | |-------|---------| @@ -151,7 +151,7 @@ You can customize cells such as work cells, month cells, all-day cells, header c ## Customizing cell header in month view -The month header of each date cell in the month view can be customized using the `CellHeaderTemplate` option which accepts the string or HTMLElement. The corresponding date can be accessed with the template. +The month header of each date cell in the month view can be customized using the [`CellHeaderTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CellHeaderTemplate) option which accepts the string or HTMLElement. The corresponding date can be accessed with the template. {% if page.publishingplatform == "aspnet-core" %} @@ -178,7 +178,7 @@ The month header of each date cell in the month view can be customized using the ## Customizing the minimum and maximum date values -Providing the `minDate` and `maxDate` property with some date values, allows the Scheduler to set the minimum and maximum date range. The Scheduler date that lies beyond this minimum and maximum date range will be in a disabled state so that the date navigation will be blocked beyond the specified date range. +Providing the [`minDate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MinDate) and [`maxDate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MaxDate) property with some date values, allows the Scheduler to set the minimum and maximum date range. The Scheduler date that lies beyond this minimum and maximum date range will be in a disabled state so that the date navigation will be blocked beyond the specified date range. {% if page.publishingplatform == "aspnet-core" %} @@ -205,7 +205,7 @@ Providing the `minDate` and `maxDate` property with some date values, allows the -N>By default, the `minDate` property value is set to new Date(1900, 0, 1) and `maxDate` property value is set to new Date(2099, 11, 31). The user can also set the customized `minDate` and `maxDate` property values. +N>By default, the [`minDate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MinDate) property value is set to new Date(1900, 0, 1) and [`maxDate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MaxDate) property value is set to new Date(2099, 11, 31). The user can also set the customized [`minDate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MinDate) and [`maxDate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MaxDate) property values. ## Customizing the weekend cells background color @@ -260,6 +260,6 @@ And, the background color for weekend cells in the Month view through the [`cssC ## How to disable multiple cell and row selection in Schedule -By default, the `AllowMultiCellSelection` and `AllowMultiRowSelection` properties of the Schedule are set to `true`. So, the Schedule allows user to select multiple cells and rows. If the user want to disable this multiple cell and row selection. The user can disable this feature by setting up `false` to these properties. +By default, the [`AllowMultiCellSelection`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowMultiCellSelection) and [`AllowMultiRowSelection`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowMultiRowSelection) properties of the Schedule are set to `true`. So, the Schedule allows user to select multiple cells and rows. If the user want to disable this multiple cell and row selection. The user can disable this feature by setting up `false` to these properties. N> You can refer to our [ASP.NET MVC Scheduler](https://www.syncfusion.com/aspnet-mvc-ui-controls/scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [ASP.NET MVC Scheduler](https://ej2.syncfusion.com/aspnetmvc/Schedule/Overview#/material) example to knows how to present and manipulate data. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/context-menu.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/context-menu.md index b51dff731f..26dfec3075 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/context-menu.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/context-menu.md @@ -11,11 +11,11 @@ documentation: ug # Context menu -You can display context menu on work cells and appointments of Scheduler by making use of the `ContextMenu` control manually from the application end. In the following code example, context menu control is being added from sample end and set its target as `Scheduler`. +You can display context menu on work cells and appointments of Scheduler by making use of the [`ContextMenu`](https://ej2.syncfusion.com/aspnetmvc/documentation/context-menu/getting-started) control manually from the application end. In the following code example, context menu control is being added from sample end and set its target as `Scheduler`. On Scheduler cells, you can display the menu items such as `New Event`, `New Recurring Event` and `Today` option. For appointments, you can display its related options such as `Edit Event` and `Delete Event`. The default event window can be opened for appointment creation and editing using the `openEditor` method of Scheduler. -The deletion of appointments can be done by using the `deleteEvent` public method. Also, the `SelectedDate` property can be used to navigate between different dates. +The deletion of appointments can be done by using the `deleteEvent` public method. Also, the [`SelectedDate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_SelectedDate) property can be used to navigate between different dates. N> You can also display custom menu options on Scheduler cells and appointments. Context menu will open on tap-hold in responsive mode. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/crud-actions.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/crud-actions.md index 4d37356450..a220aedbd7 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/crud-actions.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/crud-actions.md @@ -119,7 +119,7 @@ Additionally, the regex condition has been added to the Location field, so that -You can also dynamically prevent the creation of appointments on Scheduler. For example, say if you want to decline the creation of appointments on weekend days, you can check for its appropriate condition within the `ActionBegin` event. +You can also dynamically prevent the creation of appointments on Scheduler. For example, say if you want to decline the creation of appointments on weekend days, you can check for its appropriate condition within the [`ActionBegin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ActionBegin) event. {% if page.publishingplatform == "aspnet-core" %} @@ -190,11 +190,11 @@ The appointments can be edited and updated manually using the `saveEvent` method -**Recurring event** - The following code example shows how to edit a single occurrence of a recurring event. In this case, the modified data should hold an additional field namely `RecurrenceID` mapping to its parent recurring event's Id value. Also, this modified occurrence will be considered as a new event in the Scheduler dataSource, where it is linked with its parent event through the `RecurrenceID` field value. The `saveEvent` method takes 2 arguments, first one accepting the modified event data object and second argument accepting either of the 2 text values - `EditOccurrence` or `EditSeries`. +**Recurring event** - The following code example shows how to edit a single occurrence of a recurring event. In this case, the modified data should hold an additional field namely [`RecurrenceID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) mapping to its parent recurring event's Id value. Also, this modified occurrence will be considered as a new event in the Scheduler dataSource, where it is linked with its parent event through the [`RecurrenceID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field value. The `saveEvent` method takes 2 arguments, first one accepting the modified event data object and second argument accepting either of the 2 text values - `EditOccurrence` or `EditSeries`. When the second argument is passed as `EditOccurrence`, which means that the passed event data is a single modified occurrence - whereas if the second argument is passed as `EditSeries`, it means that the modified data needs to be edited as a whole series and therefore no new event object will be maintained in the Scheduler dataSource. -In case of modifying the single occurrence, it is also necessary to update the `RecurrenceException` field of parent event altogether with the occurrence editing. To know more about how to set `RecurrenceException` values, refer the [recurring events](./appointments/#adding-exceptions) topic. +In case of modifying the single occurrence, it is also necessary to update the [`RecurrenceException`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field of parent event altogether with the occurrence editing. To know more about how to set [`RecurrenceException`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) values, refer the [recurring events](./appointments/#adding-exceptions) topic. {% if page.publishingplatform == "aspnet-core" %} @@ -260,9 +260,9 @@ The recurring appointments can be edited in either of the following two ways. **Editing single occurrence** - When you double click on a recurring event, a popup prompts you to choose either to edit the single event or entire series. From this, if you choose to select **EDIT EVENT** option, a single occurrence of the recurring appointment alone will be edited. The following process takes place while editing a single occurrence, -* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the `RecurrenceID` field will be added to it, that holds the `Id` value of the parent recurring event. Also, a new `Id` will be generated for this event in the dataSource. +* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the [`RecurrenceID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field will be added to it, that holds the `Id` value of the parent recurring event. Also, a new `Id` will be generated for this event in the dataSource. -* The parent recurring event needs to be updated with appropriate `RecurrenceException` field to hold the edited occurrence appointment's date collection. +* The parent recurring event needs to be updated with appropriate [`RecurrenceException`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field to hold the edited occurrence appointment's date collection. Therefore, when a single occurrence is edited from a recurring event, the batch action takes place by allowing both the `Add` and `Edit` action requests to take place together. @@ -370,9 +370,9 @@ The recurring appointments can be edited from current and following events when **Editing Following Events** - When you double click on a recurring event, a popup prompts you to choose either to edit the single event or Edit Following Events or entire series. From this, if you choose to select **EDIT FOLLOWING EVENTS** option, a current and following events of the recurring appointment will be edited. The following process takes place while editing a following events, -* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the `followingID` field will be added to it, that holds the `id` value of the immediate parent recurring event. Also, a new `Id` will be generated for this event in the dataSource. +* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the [`followingID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_FollowingID) field will be added to it, that holds the `id` value of the immediate parent recurring event. Also, a new [`Id`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) will be generated for this event in the dataSource. -* The parent recurring event needs to be updated with appropriate `recurrenceRule` field to hold the modified occurrence appointment's end date. +* The parent recurring event needs to be updated with appropriate [`recurrenceRule`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) field to hold the modified occurrence appointment's end date. Therefore, when a following events are edited from a recurring event, the batch action takes place by allowing the `Add`, `Edit` and `Delete` action requests to take place together. @@ -444,7 +444,7 @@ if (param.action == "remove" || (param.action == "batch" && param.deleted != nul ### Restricting edit action based on specific criteria -You can also dynamically prevent the editing of appointments on Scheduler. For example, say if you want to decline the updating of appointments on non-working hours, you can check for its appropriate condition within the `ActionBegin` event. +You can also dynamically prevent the editing of appointments on Scheduler. For example, say if you want to decline the updating of appointments on non-working hours, you can check for its appropriate condition within the [`ActionBegin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ActionBegin) event. {% if page.publishingplatform == "aspnet-core" %} @@ -581,7 +581,7 @@ The recurring events can be deleted in either of the following two ways. **Single occurrence** - When you attempt to delete the recurring events, a popup prompts you to choose either to delete the single event or entire series. From this, if you choose to select **DELETE EVENT** option, a single occurrence of the recurring appointment alone will be removed. The following process takes place while removing a single occurrence, * The selected occurrence will be deleted from the Scheduler user interface. -* In code, the parent recurring event object will be updated with appropriate `RecurrenceException` field, to hold the deleted occurrence appointment's date collection. +* In code, the parent recurring event object will be updated with appropriate [`RecurrenceException`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field, to hold the deleted occurrence appointment's date collection. Therefore, when a single occurrence is deleted from a recurring event, the `update` action takes place on the parent recurring event as shown in the following code example. @@ -641,7 +641,7 @@ The recurring events can be deleted from current and following events only when **Delete Following Events** - When you attempt to delete the recurring events, a popup prompts you to choose either to delete the single event or Following Events or entire series. From this, if you choose to select **FOLLOWING EVENT** option, a current and following events of the recurring appointment alone will be removed. The following process takes place while removing a single occurrence, * The selected occurrence and the following events in same series will be deleted from the Scheduler user interface. -* In code, the parent recurring event object will be updated with appropriate `recurrenceRule` field, to update the end date of the recurring events. +* In code, the parent recurring event object will be updated with appropriate [`recurrenceRule`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) field, to update the end date of the recurring events. Therefore, when following events are deleted from a recurring event, the `remove` and `update` action takes place on the immediate parent recurring event as shown in the following code example. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/data-binding.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/data-binding.md index 65125966cc..4f9decd98e 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/data-binding.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/data-binding.md @@ -47,7 +47,7 @@ To bind local JSON data to the Scheduler, you can simply assign a JavaScript obj N> By default, `DataManager` uses `JsonAdaptor` for local data-binding. -You can also bind different field names to the default event fields as well as include additional custom fields to the event object collection which can be referred [here](./appointments/#binding-different-field-names). +> You can also bind different field names to the default event fields as well as include additional `custom fields` to the event object collection which can be referred [here](./appointments/#binding-different-field-names). ## Binding remote data @@ -144,7 +144,7 @@ It is possible to create your own custom adaptor by extending the built-in avail ## Loading data via AJAX post -You can bind the event data through external ajax request and assign it to the `DataSource` property of Scheduler. In the following code example, we have retrieved the data from server with the help of ajax request and assigned the resultant data to the `DataSource` property of Scheduler within the `onSuccess` event of Ajax. +You can bind the event data through external ajax request and assign it to the [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleEventSettings~DataSource.html) property of Scheduler. In the following code example, we have retrieved the data from server with the help of ajax request and assigned the resultant data to the [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleEventSettings~DataSource.html) property of Scheduler within the `onSuccess` event of Ajax. {% if page.publishingplatform == "aspnet-core" %} @@ -233,7 +233,7 @@ During the time of Scheduler interacting with server, there are chances that som -The argument passed to the `ActionFailure` event contains the error details returned from the server. +The argument passed to the [`ActionFailure`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.Schedule~ActionFailure.html) event contains the error details returned from the server. ## Scheduler CRUD actions @@ -358,7 +358,7 @@ namespace ScheduleSample.Controllers ## Configuring Scheduler with Google API service -We have assigned our custom created Google Calendar url to the DataManager and assigned the same to the Scheduler `DataSource`. Since the events data retrieved from the Google Calendar will be in its own object format, therefore it needs to be resolved manually within the Scheduler’s `DataBinding` event. Within this event, the event fields needs to be mapped properly and then assigned to the result. +We have assigned our custom created Google Calendar url to the DataManager and assigned the same to the Scheduler [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleEventSettings~DataSource.html). Since the events data retrieved from the Google Calendar will be in its own object format, therefore it needs to be resolved manually within the Scheduler’s [`DataBinding`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DataBinding) event. Within this event, the event fields needs to be mapped properly and then assigned to the result. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/editor-template.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/editor-template.md index 61b0d6dda8..ccf4cb41ef 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/editor-template.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/editor-template.md @@ -19,7 +19,7 @@ The editor window usually opens on the Scheduler, when a cell or event is double In mobile devices, you can open the detailed editor window in edit mode by clicking the edit icon on the popup, that opens on single tapping an event. You can also open it in add mode by single tapping a cell, which will display a `+` indication, clicking on it again will open the editor window. -N> You can also prevent the editor window from opening, by rendering Scheduler in a `Readonly` mode or by doing code customization within the `PopupOpen` event. +N> You can also prevent the editor window from opening, by rendering Scheduler in a [`Readonly`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Readonly) mode or by doing code customization within the [`PopupOpen`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event. ### How to change the editor window header title and text of footer buttons @@ -52,7 +52,7 @@ You can change the header title and the text of buttons displayed at the footer ### How to change the label text of default editor fields -To change the default labels such as Subject, Location and other field names in the editor window, make use of the `Title` property available within the field option of `EventSettings`. +To change the default labels such as Subject, Location and other field names in the editor window, make use of the `Title` property available within the field option of [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings). {% if page.publishingplatform == "aspnet-core" %} @@ -112,7 +112,7 @@ N> Applicable validation rules can be referred from [form validation](http://ej2 ### Add additional fields to the default editor -The additional fields can be added to the default event editor by making use of the `PopupOpen` event which gets triggered before the event editor opens on the Scheduler. The `PopupOpen` is a client-side event that triggers before any of the generic popups opens on the Scheduler. The additional field (any of the form elements) should be added with a common class name `e-field`, so as to handle and process those additional data along with the default event object. In the following example, an additional field `Event Type` has been added to the default event editor and its value is processed accordingly. +The additional fields can be added to the default event editor by making use of the [`PopupOpen`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event which gets triggered before the event editor opens on the Scheduler. The [`PopupOpen`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) is a client-side event that triggers before any of the generic popups opens on the Scheduler. The additional field (any of the form elements) should be added with a common class name `e-field`, so as to handle and process those additional data along with the default event object. In the following example, an additional field `Event Type` has been added to the default event editor and its value is processed accordingly. {% if page.publishingplatform == "aspnet-core" %} @@ -141,7 +141,7 @@ The additional fields can be added to the default event editor by making use of ### Customizing the default time duration in editor window -In default event editor window, start and end time duration are processed based on the `interval` value set within the `TimeScale` property. By default, `interval` value is set to 30, and therefore the start/end time duration within the event editor will be in a 30 minutes time difference. You can change this duration value by changing the `duration` option within the `PopupOpen` event as shown in the following code example. +In default event editor window, start and end time duration are processed based on the `interval` value set within the [`TimeScale`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeScale) property. By default, `interval` value is set to 30, and therefore the start/end time duration within the event editor will be in a 30 minutes time difference. You can change this duration value by changing the `duration` option within the [`PopupOpen`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event as shown in the following code example. {% if page.publishingplatform == "aspnet-core" %} @@ -170,7 +170,7 @@ In default event editor window, start and end time duration are processed based ### How to prevent the display of editor and quick popups -It is possible to prevent the display of editor and quick popup windows by passing the value `true` to `cancel` option within the `PopupOpen` event. +It is possible to prevent the display of editor and quick popup windows by passing the value `true` to `cancel` option within the [`PopupOpen`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event. {% if page.publishingplatform == "aspnet-core" %} @@ -197,7 +197,7 @@ It is possible to prevent the display of editor and quick popup windows by passi -In case, if you need to prevent only specific popups on Scheduler, then you can check the condition based on the popup type. The types of the popup that can be checked within the `PopupOpen` event are as follows. +In case, if you need to prevent only specific popups on Scheduler, then you can check the condition based on the popup type. The types of the popup that can be checked within the [`PopupOpen`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event are as follows. | Type | Description | |-----|-----| @@ -211,7 +211,7 @@ In case, if you need to prevent only specific popups on Scheduler, then you can The quick info popups are the ones that gets opened, when a cell or appointment is single clicked on the desktop mode. On single clicking a cell, you can simply provide a subject and save it. Also, while single clicking on an event, a popup will be displayed where you can get the overview of the event information. You can also edit or delete those events through the options available in it. -By default, these popups are displayed over cells and appointments of Scheduler and to disable this action, set `false` to `ShowQuickInfo` property. +By default, these popups are displayed over cells and appointments of Scheduler and to disable this action, set `false` to [`ShowQuickInfo`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ShowQuickInfo) property. {% if page.publishingplatform == "aspnet-core" %} @@ -242,7 +242,7 @@ N> The quick popup that opens while single clicking on the cells are not applica ### How to open Quick Info popup on multiple cell selection -By default the `QuickInfo` popup will open on single click of the cell. To open the quick info popup on multiple cell selection, you need to select the cells and press `enter` key. You can open this popup immediately after multiple cell selection by setting up `true` to `QuickInfoOnSelectionEnd` property where as its default value is `false`. +By default the `QuickInfo` popup will open on single click of the cell. To open the quick info popup on multiple cell selection, you need to select the cells and press `enter` key. You can open this popup immediately after multiple cell selection by setting up `true` to [`QuickInfoOnSelectionEnd`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_QuickInfoOnSelectionEnd) property where as its default value is `false`. {% if page.publishingplatform == "aspnet-core" %} @@ -286,7 +286,7 @@ L10n.load({ ### Customizing quick popups -The look and feel of the built-in quick popup window, which opens when single clicked on the cells or appointments can be customized by making use of the `QuickInfoTemplates` property of the Scheduler. There are 3 sub-options available to customize them easily, +The look and feel of the built-in quick popup window, which opens when single clicked on the cells or appointments can be customized by making use of the [`QuickInfoTemplates`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_QuickInfoTemplates) property of the Scheduler. There are 3 sub-options available to customize them easily, * header - Accepts the template design that customizes the header part of the quick popup. * content - Accepts the template design that customizes the content part of the quick popup. @@ -317,11 +317,11 @@ The look and feel of the built-in quick popup window, which opens when single cl -N> The quick popup in adaptive mode can also be customized using `QuickInfoTemplates` using `e-device` class. +N> The quick popup in adaptive mode can also be customized using [`QuickInfoTemplates`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_QuickInfoTemplates) using `e-device` class. ### Customizing timezone collection in the editor window -By default, the timezone collections in the editor window have been loaded with built-in timezone collections. Now we can be able to customize the timezone collections using the `TimezoneDataSource` property with the collection of `TimezoneFields` data. +By default, the timezone collections in the editor window have been loaded with built-in timezone collections. Now we can be able to customize the timezone collections using the [`TimezoneDataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimezoneDataSource) property with the collection of `TimezoneFields` data. {% if page.publishingplatform == "aspnet-core" %} @@ -350,13 +350,13 @@ By default, the timezone collections in the editor window have been loaded with ## Customizing event editor using template -The event editor window can be customized by making use of the `EditorTemplate` option. Here, the custom window design is built with the required fields using the script template and its type should be of **text/x-template**. +The event editor window can be customized by making use of the [`EditorTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EditorTemplate) option. Here, the custom window design is built with the required fields using the script template and its type should be of **text/x-template**. -Each field defined within template should contain the **e-field** class, so as to allow the processing of those field values internally. The ID of this customized script template section is assigned to the `EditorTemplate` option, so that these customized fields will be replaced onto the default editor window. +Each field defined within template should contain the **e-field** class, so as to allow the processing of those field values internally. The ID of this customized script template section is assigned to the [`EditorTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EditorTemplate) option, so that these customized fields will be replaced onto the default editor window. >Note: **e-field** class only applicable for **DropDownList**, **DateTimePicker**, **MultiSelect**, **DatePicker**, **CheckBox** and **TextBox** components. Since we have processed the field values internally for the above mentioned components. -As we are using our Syncfusion sub-components within our editor using template in the following example, the custom defined form elements needs to be configured as required Syncfusion components such as **DropDownList** and **DateTimePicker** within the `PopupOpen` event. This particular step can be skipped, if the user needs to simply use the usual form elements. +As we are using our Syncfusion sub-components within our editor using template in the following example, the custom defined form elements needs to be configured as required Syncfusion components such as **DropDownList** and **DateTimePicker** within the [`PopupOpen`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event. This particular step can be skipped, if the user needs to simply use the usual form elements. {% if page.publishingplatform == "aspnet-core" %} @@ -410,7 +410,6 @@ met. {% endhighlight %} {% endtabs %} {% endif %} -![ ### How to add resource options within editor template @@ -439,8 +438,6 @@ The resource field can be added within editor template with MultiSelect control {% endtabs %} {% endif %} - - ### Apply validations on editor template fields In the following code example, validation has been added to the status field. @@ -469,14 +466,13 @@ In the following code example, validation has been added to the status field. {% endif %} - ### How to save the customized event editor using template -The **e-field** class is not added to each field defined within the template, so you should allow to set those field values externally by using the `popupClose` event. +The **e-field** class is not added to each field defined within the template, so you should allow to set those field values externally by using the [`popupClose`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupClose) event. N> You can allow to retrieve the data only on the `save` and `delete` option. Data cannot be retrieved on the `close` and `cancel` options in the editor window. -The following code example shows how to save the customized event editor using a template by the `popupClose` event. +The following code example shows how to save the customized event editor using a template by the [`popupClose`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupClose) event. {% if page.publishingplatform == "aspnet-core" %} @@ -503,7 +499,7 @@ The following code example shows how to save the customized event editor using a -In case, if you need to prevent only specific popups on Scheduler, then you can check the condition based on the popup type. The types of the popup that can be checked within the `popupClose` event are as follows. +In case, if you need to prevent only specific popups on Scheduler, then you can check the condition based on the popup type. The types of the popup that can be checked within the [`popupClose`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupClose) event are as follows. | Type | Description | |------|-------------| @@ -521,7 +517,7 @@ In case, if you need to prevent only specific popups on Scheduler, then you can When the number of appointments count that lies on a particular time range * default appointment height exceeds the default height of a cell in month view and all other timeline views, a `+ more` text indicator will be displayed at the bottom of those cells. This indicator denotes that the cell contains few more appointments in it and clicking on that will display a popup displaying all the appointments present on that day. -N> To disable this option of showing popup with all hidden appointments, while clicking on the text indicator, you can do code customization within the `PopupOpen` event. +N> To disable this option of showing popup with all hidden appointments, while clicking on the text indicator, you can do code customization within the [`PopupOpen`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event. The same indicator is displayed on all-day row in calendar views such as day, week and work week views alone, when the number of appointment count present in a cell exceeds three. Clicking on the text indicator here will not open a popup, but will allow the expand/collapse option for viewing the remaining appointments present in the all-day row. @@ -583,7 +579,7 @@ The following code example shows you how to customize the default more indicator ### How to prevent the display of popup when clicking on the more text indicator -It is possible to prevent the display of popup window by passing the value `true` to `cancel` option within the `MoreEventsClick` event. +It is possible to prevent the display of popup window by passing the value `true` to `cancel` option within the [`MoreEventsClick`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MoreEventsClick) event. {% if page.publishingplatform == "aspnet-core" %} @@ -612,7 +608,7 @@ It is possible to prevent the display of popup window by passing the value `true ### How to navigate Day view when clicking on more text indicator -The following code example shows you how to customize the `moreEventsClick` property to navigate to the Day view when clicking on the more text indicator. +The following code example shows you how to customize the [`moreEventsClick`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MoreEventsClick) property to navigate to the Day view when clicking on the more text indicator. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/exporting.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/exporting.md index 83209577d1..b1304802f6 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/exporting.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/exporting.md @@ -15,7 +15,7 @@ The Scheduler supports exporting all its appointments both to an Excel or ICS ex ## Excel Exporting -The Scheduler allows you to export all its events into an Excel format file by using the [`exportToExcel`] client-side method. By default, it exports all the default fields of Scheduler mapped through `eventSettings` property. +The Scheduler allows you to export all its events into an Excel format file by using the [`exportToExcel`] client-side method. By default, it exports all the default fields of Scheduler mapped through [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. N> Before you start with excel exporting functionality, you need to import and inject the `ExcelExport` module from the `'@syncfusion/ej2-schedule'` package using the `Inject` method of Scheduler. @@ -46,7 +46,7 @@ N> Before you start with excel exporting functionality, you need to import and i ### Exporting with custom fields -By default, Scheduler exports all the default event fields that are mapped to it through the `eventSettings` property. To limit the number of fields on the exported excel file, it provides an option to export only the custom fields of the event data. To export such custom fields alone, define the required `fields` and pass it as argument to the `exportToExcel` method as shown in the following example. For example: `['Id', 'Subject', 'StartTime', 'EndTime', 'Location']`. +By default, Scheduler exports all the default event fields that are mapped to it through the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. To limit the number of fields on the exported excel file, it provides an option to export only the custom fields of the event data. To export such custom fields alone, define the required `fields` and pass it as argument to the `exportToExcel` method as shown in the following example. For example: `['Id', 'Subject', 'StartTime', 'EndTime', 'Location']`. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-bar.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-bar.md index a30f59dd7e..6b9af4e78a 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-bar.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-bar.md @@ -15,7 +15,7 @@ The header part of Scheduler can be customized easily with the built-in options ## Show or Hide header bar -By default, the header bar holds the date and view navigation options, through which the user can switch between the dates and various views. This header bar can be hidden from the UI by setting `false` to the `ShowHeaderBar` property. It's default value is `true`. +By default, the header bar holds the date and view navigation options, through which the user can switch between the dates and various views. This header bar can be hidden from the UI by setting `false` to the [`showHeaderBar`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ShowHeaderBar) property. It's default value is `true`. {% if page.publishingplatform == "aspnet-core" %} @@ -44,7 +44,7 @@ By default, the header bar holds the date and view navigation options, through w ## Customizing header bar -Apart from the default date navigation and view options available on the header bar, you can add custom items into the Scheduler header bar by making use of the `ActionBegin` event. Here, an employee image is added to the header bar, clicking on which will open the popup showing that person's short profile information. +Apart from the default date navigation and view options available on the header bar, you can add custom items into the Scheduler header bar by making use of the [`ActionBegin`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ActionBegin) event. Here, an employee image is added to the header bar, clicking on which will open the popup showing that person's short profile information. {% if page.publishingplatform == "aspnet-core" %} @@ -73,7 +73,7 @@ Apart from the default date navigation and view options available on the header ## How to display the view options within the header bar popup -By default, the header bar holds the view navigation options, through which the user can switch between various views. You can move this view options to the header bar popup by setting `true` to the `EnableAdaptiveUI` property. +By default, the header bar holds the view navigation options, through which the user can switch between various views. You can move this view options to the header bar popup by setting `true` to the [`EnableAdaptiveUI`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EnableAdaptiveUI) property. {% if page.publishingplatform == "aspnet-core" %} @@ -104,11 +104,11 @@ N> Refer [here](./resources/#adaptive-ui-in-desktop) to know more about adaptive ## Date header customization -The Scheduler UI that displays the date text on all views are considered as the date header cells. You can customize the date header cells of Scheduler either using `DateHeaderTemplate` or `RenderCell` event. +The Scheduler UI that displays the date text on all views are considered as the date header cells. You can customize the date header cells of Scheduler either using [`DateHeaderTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateHeaderTemplate) or [`RenderCell`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event. ### Using date header template -The `DateHeaderTemplate` option is used to customize the date header cells of day, week and work-week views. +The [`DateHeaderTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateHeaderTemplate) option is used to customize the date header cells of day, week and work-week views. {% if page.publishingplatform == "aspnet-core" %} @@ -137,7 +137,7 @@ The `DateHeaderTemplate` option is used to customize the date header cells of da ### Using renderCell event -In month view, the date header template is not applicable and therefore the same customization can be added beside the date text in month cells by making use of the `RenderCell` event. +In month view, the date header template is not applicable and therefore the same customization can be added beside the date text in month cells by making use of the [`RenderCell`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event. {% if page.publishingplatform == "aspnet-core" %} @@ -164,9 +164,9 @@ In month view, the date header template is not applicable and therefore the same ## Customizing the date range text -The `DateRangeTemplate` option allows you to customize the text content of the date range displayed in the scheduler. By default, the date range text is determined by the scheduler view being used. However, you can use the `DateRangeTemplate` option to override the default text and specify your own custom text to be displayed. +The [`DateRangeTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateRangeTemplate) option allows you to customize the text content of the date range displayed in the scheduler. By default, the date range text is determined by the scheduler view being used. However, you can use the [`DateRangeTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateRangeTemplate) option to override the default text and specify your own custom text to be displayed. -The `DateRangeTemplate` property includes `startDate`, `endDate` and `currentView` options, you can customize the date range text using these available options. +The [`DateRangeTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateRangeTemplate) property includes `startDate`, `endDate` and `currentView` options, you can customize the date range text using these available options. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-rows.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-rows.md index 4aaa569ed0..e8583f9791 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-rows.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-rows.md @@ -11,7 +11,7 @@ documentation: ug # Timeline header rows -The Timeline views can have additional header rows other than its default date and time header rows. It is possible to show individual header rows for displaying year, month and week separately using the `HeaderRows` property. This property is applicable only on the timeline views. The possible rows which can be added using `HeaderRows` property are as follows. +The Timeline views can have additional header rows other than its default date and time header rows. It is possible to show individual header rows for displaying year, month and week separately using the [`HeaderRows`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HeaderRows) property. This property is applicable only on the timeline views. The possible rows which can be added using `HeaderRows` property are as follows. * `Year` * `Month` @@ -50,7 +50,7 @@ The following example shows the Scheduler displaying all the available header ro ## Display year and month rows in timeline views -To display the timeline Scheduler simply with year and month names alone, define the option `Year` and `Month` within the `HeaderRows` property. +To display the timeline Scheduler simply with year and month names alone, define the option `Year` and `Month` within the [`HeaderRows`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HeaderRows) property. {% if page.publishingplatform == "aspnet-core" %} @@ -79,7 +79,7 @@ To display the timeline Scheduler simply with year and month names alone, define ## Display week numbers in timeline views -The week number can be displayed in a separate header row of the timeline Scheduler by setting `Week` option within `HeaderRows` property. +The week number can be displayed in a separate header row of the timeline Scheduler by setting `Week` option within [`HeaderRows`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HeaderRows) property. {% if page.publishingplatform == "aspnet-core" %} @@ -108,7 +108,7 @@ The week number can be displayed in a separate header row of the timeline Schedu ## Timeline view displaying dates of a complete year -It is possible to display a complete year in a timeline view by setting `Interval` value as 12 and defining **TimelineMonth** view option within the `Views` property of Scheduler. +It is possible to display a complete year in a timeline view by setting [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_Interval) value as 12 and defining **TimelineMonth** view option within the [`Views`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Views) property of Scheduler. {% if page.publishingplatform == "aspnet-core" %} @@ -137,7 +137,7 @@ It is possible to display a complete year in a timeline view by setting `Interva ## Customizing the header rows using template -You can customize the text of the header rows and display any images or formatted text on each individual header rows using the built-in `Template` option available within the `HeaderRows` property. +You can customize the text of the header rows and display any images or formatted text on each individual header rows using the built-in `Template` option available within the [`HeaderRows`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HeaderRows) property. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/enable-scroll-option-on-all-day-section.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/enable-scroll-option-on-all-day-section.md index 28240e4c36..bffa4824ed 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/enable-scroll-option-on-all-day-section.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/enable-scroll-option-on-all-day-section.md @@ -11,7 +11,7 @@ documentation: ug # Enable scroll option on all-day section -When you have larger number of appointments in all-day row, it is difficult to view all the appointments properly. In that case you can enable scroller option for all-day row by setting true to `EnableAllDayScroll` whereas its default value is false. When setting this property to true, individual scroller for all-day row is enabled when it reaches its maximum height on expanding. +When you have larger number of appointments in all-day row, it is difficult to view all the appointments properly. In that case you can enable scroller option for all-day row by setting true to [`EnableAllDayScroll`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EnableAllDayScroll) whereas its default value is `false`. When setting this property to true, individual scroller for all-day row is enabled when it reaches its maximum height on expanding. N> This property is not applicable for Scheduler with Height `auto`. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/open-event-editor-manually.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/open-event-editor-manually.md index 25c2d92aec..b10faf4863 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/open-event-editor-manually.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/open-event-editor-manually.md @@ -41,7 +41,7 @@ Scheduler allows the user to manually open the event editor on specific time or ## Open editor window on single click -By default, Scheduler Editor window will open when double clicking the cells or appointments. You can also open the editor window with single click by using `openEditor` method in `EventClick` and `CellClick` events of scheduler and setting false to `ShowQuickInfo`. The following example shows how to open editor window on single click of cells and appointments. +By default, Scheduler Editor window will open when double clicking the cells or appointments. You can also open the editor window with single click by using `openEditor` method in [`EventClick`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventClick) and [`CellClick`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CellClick) events of scheduler and setting false to [`ShowQuickInfo`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ShowQuickInfo). The following example shows how to open editor window on single click of cells and appointments. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/prevent-date-navigation.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/prevent-date-navigation.md index f24335660d..248697a868 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/prevent-date-navigation.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/prevent-date-navigation.md @@ -10,7 +10,7 @@ documentation: ug # Prevent the Date Navigation -We can prevent navigation while clicking on the date header by simply removing `e-navigate` class from header cells which can be achieved in the `RenderCell` event as shown in the following code example. +We can prevent navigation while clicking on the date header by simply removing `e-navigate` class from header cells which can be achieved in the [`RenderCell`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event as shown in the following code example. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/set-different-work-hours.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/set-different-work-hours.md index 07bc6d04e4..ff1a029fe3 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/set-different-work-hours.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/set-different-work-hours.md @@ -10,7 +10,7 @@ documentation: ug # Set Different Working Hours on Different Days -By default, the work hours of the Scheduler is highlighted based on the start and end values provided within the `WorkHours` property which remains same for all days. To highlight different work hours range for different days,`setWorkHours` method. You can pass date object/ multiple date objects collection as first argument and start and end time need to be added as work hours should be passed as second and third arguments respectively. In the following code example, on button click 11:00 AM to 08:00 PM of 15th and 17th February has been added in work hours. +By default, the work hours of the Scheduler is highlighted based on the start and end values provided within the [`WorkHours`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_WorkHours) property which remains same for all days. To highlight different work hours range for different days,`setWorkHours` method. You can pass date object/ multiple date objects collection as first argument and start and end time need to be added as work hours should be passed as second and third arguments respectively. In the following code example, on button click 11:00 AM to 08:00 PM of 15th and 17th February has been added in work hours. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/localization.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/localization.md index 64dabbe252..9342640264 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/localization.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/localization.md @@ -128,7 +128,7 @@ For example, the following code example lets you to define the Hungarian transla ## Setting date format -Scheduler can be used with all valid date formats and by default it follows the universal date format "MM/dd/yyyy". If the `DateFormat` property is not specified particularly, then it will work based on the locale that is assigned to the Scheduler. As the default locale applied on Scheduler is "en-US", this makes it to follow the "MM/dd/yyyy" pattern. +Scheduler can be used with all valid date formats and by default it follows the universal date format "MM/dd/yyyy". If the [`DateFormat`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateFormat) property is not specified particularly, then it will work based on the locale that is assigned to the Scheduler. As the default locale applied on Scheduler is "en-US", this makes it to follow the "MM/dd/yyyy" pattern. {% if page.publishingplatform == "aspnet-core" %} @@ -157,7 +157,7 @@ Scheduler can be used with all valid date formats and by default it follows the ## Setting the time format -Time formats is a way of representing the time value in different string formats in the Scheduler. By default, the time mode of the Scheduler can be either 12 or 24 hours format which is completely based on the `locale` set to the Scheduler. Since the default `locale` value of the Scheduler is en-US, the time mode will be set to 12 hours format automatically. You can also customize the format by using the `timeFormat` property. To know more about the time format standards, refer to the [Date and Time Format](https://ej2.syncfusion.com/aspnetmvc/documentation/common/internationalization/#custom-formats) section. +Time formats is a way of representing the time value in different string formats in the Scheduler. By default, the time mode of the Scheduler can be either 12 or 24 hours format which is completely based on the `locale` set to the Scheduler. Since the default `locale` value of the Scheduler is en-US, the time mode will be set to 12 hours format automatically. You can also customize the format by using the [`timeFormat`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeFormat) property. To know more about the time format standards, refer to the [Date and Time Format](https://ej2.syncfusion.com/aspnetmvc/documentation/common/internationalization/#custom-formats) section. The following example demonstrates the Scheduler component in 24 hours format. @@ -186,11 +186,11 @@ The following example demonstrates the Scheduler component in 24 hours format. -N> `timeFormat` property only accepts the valid time format's. +N> [`timeFormat`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeFormat) property only accepts the valid time format's. ## Displaying Scheduler in RTL mode -The Scheduler layout and its behavior can be changed as per the common RTL (Right to Left) conventions by setting `EnableRtl` to `true`. By doing so, the Scheduler will display its usual layout from right to left. It's default value is `false`. +The Scheduler layout and its behavior can be changed as per the common RTL (Right to Left) conventions by setting [`EnableRtl`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EnableRtl) to `true`. By doing so, the Scheduler will display its usual layout from right to left. It's default value is `false`. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/recurrence-editor.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/recurrence-editor.md index 5f9cf3293b..4379e38920 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/recurrence-editor.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/recurrence-editor.md @@ -25,7 +25,7 @@ By default, there are 5 types of repeat options available in recurrence editor s * Monthly * Yearly -It is possible to customize the recurrence editor to display only the specific repeat options such as `Daily` and `Weekly` options alone by setting the appropriate `frequencies` option. +It is possible to customize the recurrence editor to display only the specific repeat options such as `Daily` and `Weekly` options alone by setting the appropriate [`frequencies`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.RecurrenceEditor.html#Syncfusion_EJ2_Schedule_RecurrenceEditor_Frequencies) option. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/resources.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/resources.md index 4c8e2e1c6c..5cf77af18f 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/resources.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/resources.md @@ -19,7 +19,7 @@ The Scheduler groups the resources based on different criteria. It includes grou ## Resource fields -The default options available within the `Resources` collection are as follows, +The default options available within the [`Resources`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_Resources) collection are as follows, | Field name | Type | Description | |-------|---------| --------------- | @@ -45,7 +45,7 @@ The data for resources can bind with Scheduler either as a local JSON collection ### Using local JSON data -The following code example depicts how to bind the local JSON data to the `DataSource` of `Resources` collection. +The following code example depicts how to bind the local JSON data to the `DataSource` of [`Resources`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_Resources) collection. * Give the resource datasource in Index method * Add the Scheduler code in View page @@ -113,7 +113,7 @@ It is possible to display the Scheduler in default mode without visually showcas The appointments belonging to the different resources will be displayed altogether on the default Scheduler, which will be differentiated based on the resource color assigned in the `Resources` (depicting to which resource that particular appointment belongs) collection. -**Example:** To display default Scheduler with multiple resource options in the event editor, ignore the group option and simply define the `Resources` property with all its internal options. +**Example:** To display default Scheduler with multiple resource options in the event editor, ignore the group option and simply define the [`Resources`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_Resources) property with all its internal options. {% if page.publishingplatform == "aspnet-core" %} @@ -237,7 +237,7 @@ This kind of grouping allows the Scheduler to display all the resources at a sin -N> The `Name` field defined in the **resources** collection namely `Owners` will be mapped within the `Group` property, in order to enable the grouping option with those resource levels on the Scheduler. +N> The `Name` field defined in the **resources** collection namely `Owners` will be mapped within the [`Group`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property, in order to enable the grouping option with those resource levels on the Scheduler. ### Grouping multi-level resources @@ -270,7 +270,7 @@ It is possible to group the resources of Scheduler in multiple levels, by mappin ### One-to-One grouping -In multi-level grouping, Scheduler usually groups the resources on the child level based on the `GroupIDField` that maps with the `IdField` field of parent level resources (as `ByGroupID` set to true by default). There are also option which allows you to group all the child resource(s) against each of its parent resource(s). To enable this kind of grouping, set `false` to the `ByGroupID` option within the `Group` property. In the following code example, there are two levels of resources, on which all the 3 resources at the child level is mapped one to one with each resource on the first level. +In multi-level grouping, Scheduler usually groups the resources on the child level based on the `GroupIDField` that maps with the `IdField` field of parent level resources (as [`ByGroupID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_ByGroupID) set to true by default). There are also option which allows you to group all the child resource(s) against each of its parent resource(s). To enable this kind of grouping, set `false` to the [`ByGroupID`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_ByGroupID) option within the [`Group`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. In the following code example, there are two levels of resources, on which all the 3 resources at the child level is mapped one to one with each resource on the first level. {% if page.publishingplatform == "aspnet-core" %} @@ -299,7 +299,7 @@ In multi-level grouping, Scheduler usually groups the resources on the child lev ### Grouping resources by date -It groups the number of resources under each date and is applicable only on the calendar views such as Day, Week, Work Week, Month, Agenda and Month-Agenda. To enable such grouping, set `ByDate` option to `true` within the `Group` property. +It groups the number of resources under each date and is applicable only on the calendar views such as Day, Week, Work Week, Month, Agenda and Month-Agenda. To enable such grouping, set [`ByDate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_ByDate) option to `true` within the [`Group`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. **Example:** To display the Scheduler with resources grouped by date, @@ -332,7 +332,7 @@ N> This kind of grouping by date is not applicable on any of the **timeline view ## Customizing parent resource cells -In timeline view work cells of parent resource can be customized by checking the `elementType` as `resourceGroupCells` in the event `RenderCell`. In the following code example, background color of the work hours has been changed. +In timeline view work cells of parent resource can be customized by checking the `elementType` as `resourceGroupCells` in the event [`RenderCell`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell). In the following code example, background color of the work hours has been changed. {% if page.publishingplatform == "aspnet-core" %} @@ -361,7 +361,7 @@ In timeline view work cells of parent resource can be customized by checking the ## Working with shared events -Multiple resources can share the same events, thus allowing the CRUD action made on it to reflect on all other shared instances simultaneously. To enable such option, set `AllowGroupEdit` option to `true` within the `Group` property. With this property enabled, a single appointment object will be maintained within the appointment collection, even if it is shared by more than one resource – whereas the resource fields of such appointment object will be in array which hold the IDs of the multiple resources. +Multiple resources can share the same events, thus allowing the CRUD action made on it to reflect on all other shared instances simultaneously. To enable such option, set [`AllowGroupEdit`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_AllowGroupEdit) option to `true` within the [`Group`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. With this property enabled, a single appointment object will be maintained within the appointment collection, even if it is shared by more than one resource – whereas the resource fields of such appointment object will be in array which hold the IDs of the multiple resources. N> Any actions such as create, edit or delete held on any one of the shared event instances, will be reflected on all other related instances visible on the UI. @@ -486,7 +486,7 @@ It is possible to expand and collapse the resources which have child resource in ## Displaying tooltip for resource headers -It is possible to display tooltip over the resource headers showing the resource information. By default, there won't be any tooltip displayed on the resource headers, and to enable it, you need to assign the customized template design to the `HeaderTooltipTemplate` option within the `Group` property. +It is possible to display tooltip over the resource headers showing the resource information. By default, there won't be any tooltip displayed on the resource headers, and to enable it, you need to assign the customized template design to the [`HeaderTooltipTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_HeaderTooltipTemplate) option within the [`Group`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. {% if page.publishingplatform == "aspnet-core" %} @@ -515,7 +515,7 @@ It is possible to display tooltip over the resource headers showing the resource ## Choosing between resource colors for appointments -By default, the colors defined on the top level resources collection will be applied for the events. In case, if you want to apply specific resource color to events irrespective of its top-level parent resource color, it can be achieved by defining `ResourceColorField` option within the `EventSettings` property. +By default, the colors defined on the top level resources collection will be applied for the events. In case, if you want to apply specific resource color to events irrespective of its top-level parent resource color, it can be achieved by defining [`ResourceColorField`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_ResourceColorField) option within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. In the following example, the colors mentioned in the second level will get applied over the events. @@ -544,7 +544,7 @@ In the following example, the colors mentioned in the second level will get appl -N> The value of the `ResourceColorField` field should be mapped with the `Name` value given within the `Resources` property. +N> The value of the `ResourceColorField` field should be mapped with the `Name` value given within the [`Resources`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Resources) property. ## Dynamically add and remove resources @@ -579,11 +579,14 @@ To remove the resources dynamically, `removeResource` method is used which accep ## Setting different working days and hours for resources -Each resource in the Scheduler can have different working hours as well as different working days set to it. There are default options available within the `Resources` collection, to customize the default working hours and days of the Scheduler. +Each resource in the Scheduler can have different `working hours` as well as different `working days` set to it. There are default options available within the `Resources` collection, to customize the default working hours and days of the Scheduler. + +* [Using the work day field for different work days](#Set-different-work-days) +* [Using the start hour and end hour fields for different work hours](#Set-different-work-hours) ### Set different work days -Different working days can be set for the resources of Scheduler using the `WorkDaysField` property which maps the working days field from the resource dataSource. This field accepts the collection of day indexes (from 0 to 6) of a week. By default, it is set to [1, 2, 3, 4, 5] and in the following example, each resource has been set with different values and therefore each of them will render only those working days. This option is applicable only on the calendar views and is not applicable on timeline views. +Different `working days` can be set for the resources of Scheduler using the `WorkDaysField` property which maps the working days field from the resource dataSource. This field accepts the collection of day indexes (from 0 to 6) of a week. By default, it is set to [1, 2, 3, 4, 5] and in the following example, each resource has been set with different values and therefore each of them will render only those working days. This option is applicable only on the calendar views and is not applicable on timeline views. {% if page.publishingplatform == "aspnet-core" %} @@ -612,11 +615,13 @@ Different working days can be set for the resources of Scheduler using the `Work ### Set different work hours -Working hours indicates the work hour duration of a day, which is highlighted visually with active color over the work cells. Each resource on the Scheduler can be defined with its own set of working hours as depicted in the following example. +Different `working Hours` can be set for the resources of Scheduler using the `startHourField` and `endHourField` property which maps the `startHourField` and `endHourField` field from the resource dataSource. * `StartHourField` - Denotes the start time of the working/business hour in a day. * `EndHourField` - Denotes the end time limit of the working/business hour in a day. +Working hours indicates the work hour duration of a day, which is highlighted visually with active color over the work cells. Each resource on the Scheduler can be defined with its own set of working hours as depicted in the following example. + {% if page.publishingplatform == "aspnet-core" %} {% tabs %} @@ -681,7 +686,7 @@ N> The `HideNonWorkingDays` property only applies when the Scheduler is grouped ## Compact view in mobile -Although the Scheduler views are designed keeping in mind the responsiveness of the control in mobile devices, however when using Scheduler with multiple resources - it is difficult to view all the resources and its relevant events at once on the mobile. Therefore, we have introduced a new compact mode specially for displaying multiple resources of Scheduler on mobile devices. By default, this mode is enabled while using Scheduler with multiple resources on mobile devices. If in case, you need to disable this compact mode, set `false` to the `EnableCompactView` option within the `Group` property. Disabling this option will display the exact desktop mode of Scheduler view on mobile devices. +Although the Scheduler views are designed keeping in mind the responsiveness of the control in mobile devices, however when using Scheduler with multiple resources - it is difficult to view all the resources and its relevant events at once on the mobile. Therefore, we have introduced a new compact mode specially for displaying multiple resources of Scheduler on mobile devices. By default, this mode is enabled while using Scheduler with multiple resources on mobile devices. If in case, you need to disable this compact mode, set `false` to the [`EnableCompactView`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_EnableCompactView) option within the [`Group`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. Disabling this option will display the exact desktop mode of Scheduler view on mobile devices. With this compact view enabled on mobile, you can view only single resource at a time and to switch to other resources, there is a TreeView at the left listing out all other available resources - clicking on which will display that particular resource and its related appointments. @@ -689,7 +694,7 @@ With this compact view enabled on mobile, you can view only single resource at a ## Adaptive UI in desktop -By default, the Scheduler layout adapts automatically in the desktop and mobile devices with appropriate UI changes. In case, if the user wants to display the Adaptive scheduler in desktop mode with adaptive enhancements, then the property `EnableAdaptiveUI` can be set to true. Enabling this option will display the exact mobile mode of Scheduler view on desktop devices. +By default, the Scheduler layout adapts automatically in the desktop and mobile devices with appropriate UI changes. In case, if the user wants to display the Adaptive scheduler in desktop mode with adaptive enhancements, then the property [`EnableAdaptiveUI`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EnableAdaptiveUI) can be set to true. Enabling this option will display the exact mobile mode of Scheduler view on desktop devices. Some of the default changes made for compact Scheduler to render in desktop devices are as follows, * View options displayed in the Navigation drawer. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/row-auto-height.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/row-auto-height.md index 4c202afdbe..7b12248643 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/row-auto-height.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/row-auto-height.md @@ -13,7 +13,7 @@ documentation: ug By default, the height of the Scheduler rows in Timeline views are static and therefore, when the same time range holds multiple overlapping appointments, a `+n more` text indicator will be displayed. With this feature enabled, you can now view all the overlapping appointments present in those specific time range by auto-adjusting the row height based on the presence of the appointments count, instead of displaying the `+n more` text indicators. -To enable auto row height adjustments on Scheduler Timeline views and Month view, set `true` to the `rowAutoHeight` property whose default value is `false`. +To enable auto row height adjustments on Scheduler Timeline views and Month view, set `true` to the [`rowAutoHeight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) property whose default value is `false`. N> This auto row height adjustment is applicable only on all the Timeline views as well as on the calendar Month view. @@ -21,7 +21,7 @@ Now, let's see how it works on those applicable views with examples. ## Calendar month view -By default, the rows of the calendar Month view can hold only the limited appointments count based on its row height, and the rest of the overlapping appointments are indicated with a `+n more` text indicator. The following example shows how the month view row auto-adjusts based on the number of appointments count, when this `RowAutoHeight` feature is enabled. +By default, the rows of the calendar Month view can hold only the limited appointments count based on its row height, and the rest of the overlapping appointments are indicated with a `+n more` text indicator. The following example shows how the month view row auto-adjusts based on the number of appointments count, when this [`RowAutoHeight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) feature is enabled. {% if page.publishingplatform == "aspnet-core" %} @@ -50,7 +50,7 @@ By default, the rows of the calendar Month view can hold only the limited appoin ## Timeline views -When the feature `RowAutoHeight` is enabled in Timeline views, the row height gets auto-adjusted based on the number of overlapping events occupied on the same time range, which is demonstrated in the following example. +When the feature [`RowAutoHeight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) is enabled in Timeline views, the row height gets auto-adjusted based on the number of overlapping events occupied on the same time range, which is demonstrated in the following example. {% if page.publishingplatform == "aspnet-core" %} @@ -108,7 +108,7 @@ The following example shows how the auto row adjustment feature works on timelin ## Appointments occupying entire cell -By default, with the feature `RowAutoHeight`, there will be a space in the bottom of the cell when appointment is rendered. To avoid this space, we can set true to the property `IgnoreWhitespace` with in `EventSettings` whereas its default property value is false. In the following code example, the whitespace below the appointments has been ignored. +By default, with the feature [`RowAutoHeight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight), there will be a space in the bottom of the cell when appointment is rendered. To avoid this space, we can set true to the property [`IgnoreWhitespace`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_IgnoreWhitespace) with in [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) whereas its default property value is false. In the following code example, the whitespace below the appointments has been ignored. {% if page.publishingplatform == "aspnet-core" %} @@ -135,6 +135,6 @@ By default, with the feature `RowAutoHeight`, there will be a space in the botto -**Note**: The property `IgnoreWhitespace` will be applicable only when `RowAutoHeight` feature is enabled in the Scheduler +**Note**: The property [`IgnoreWhitespace`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_IgnoreWhitespace) will be applicable only when [`RowAutoHeight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) feature is enabled in the Scheduler N> You can refer to our [ASP.NET MVC Scheduler](https://www.syncfusion.com/aspnet-mvc-ui-controls/scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [ASP.NET MVC Scheduler](https://ej2.syncfusion.com/aspnetmvc/Schedule/Overview#/material) example to knows how to present and manipulate data. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timescale.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timescale.md index fa22dc01f3..7860115546 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timescale.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timescale.md @@ -11,17 +11,17 @@ documentation: ug # TimeScale Customization -The time slots are usually the time cells that are displayed on the Day, Week and Work Week views of both the calendar (to the left most position) and timeline views (at the top position). The `TimeScale` property allows you to control and set the required time slot duration for the work cells displayed on Scheduler. It includes the following sub-options such as, +The time slots are usually the time cells that are displayed on the Day, Week and Work Week views of both the calendar (to the left most position) and timeline views (at the top position). The [`TimeScale`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeScale) property allows you to control and set the required time slot duration for the work cells displayed on Scheduler. It includes the following sub-options such as, -* `Enable` - When set to `true`, allows the Scheduler to display the appointments accurately against the exact time duration. If set to `false`, all the appointments of a day will be displayed one below the other with no grid lines displayed. Its default value is `true`. -* `Interval` – Defines the time duration on which the time axis to be displayed either in 1 hour or 30 minutes interval and so on. It accepts the values in minutes and defaults to 60. -* `SlotCount` – Decides the number of slot count to be split for the specified time interval duration. It defaults to 2, thus displaying two slots to represent an hour(each slot depicting 30 minutes duration). +* [`Enable`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_Enable) - When set to `true`, allows the Scheduler to display the appointments accurately against the exact time duration. If set to `false`, all the appointments of a day will be displayed one below the other with no grid lines displayed. Its default value is `true`. +* [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_Interval) – Defines the time duration on which the time axis to be displayed either in 1 hour or 30 minutes interval and so on. It accepts the values in minutes and defaults to 60. +* [`SlotCount`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_SlotCount) – Decides the number of slot count to be split for the specified time interval duration. It defaults to 2, thus displaying two slots to represent an hour(each slot depicting 30 minutes duration). >Note: The upper limit for rendering slots within a single day, utilizing the **Interval** and **SlotCount** properties of the **TimeScale**, stands at 1000. This constraint aligns with the maximum **colspan** value permissible for the **table** element, also capped at 1000. This particular restriction is relevant exclusively to the `TimelineDay`, `TimelineWeek` and `TimelineWorkWeek` views. ## Setting different time slot duration -The `Interval` and `SlotCount` properties can be used together on the Scheduler to set different time slot duration which is depicted in the following code example. Here, six time slots together represents an hour. +The [`Interval`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_Interval) and [`SlotCount`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_SlotCount) properties can be used together on the Scheduler to set different time slot duration which is depicted in the following code example. Here, six time slots together represents an hour. {% if page.publishingplatform == "aspnet-core" %} @@ -50,10 +50,10 @@ The `Interval` and `SlotCount` properties can be used together on the Scheduler ## Customizing time cells using template -The `TimeScale` property also provides template option to allow customization of time slots which are as follows, +The [`TimeScale`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeScale) property also provides template option to allow customization of time slots which are as follows, -* `MajorSlotTemplate` - The template option to be applied for major time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template. -* `MinorSlotTemplate` - The template option to be applied for minor time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template. +* [`MajorSlotTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_MajorSlotTemplate) - The template option to be applied for major time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template. +* [`MinorSlotTemplate`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_MinorSlotTemplate) - The template option to be applied for minor time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template. {% if page.publishingplatform == "aspnet-core" %} @@ -82,7 +82,7 @@ The `TimeScale` property also provides template option to allow customization of ## Hide the timescale -The grid lines which indicates the exact time duration can be enabled or disabled on the Scheduler, by setting `true` or `false` to the `Enable` option within the `TimeScale` property. It's default value is `true`. +The grid lines which indicates the exact time duration can be enabled or disabled on the Scheduler, by setting `true` or `false` to the `Enable` option within the [`TimeScale`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeScale) property. It's default value is `true`. {% if page.publishingplatform == "aspnet-core" %} @@ -111,7 +111,7 @@ The grid lines which indicates the exact time duration can be enabled or disable ## Highlighting current date and time -By default, Scheduler indicates current date with a highlighted date header on all views, as well as marks accurately the system's current time on specific views such as Day, Week, Work Week, Timeline Day, Timeline Week and Timeline Work Week views. To stop highlighting the current time indicator on Scheduler views, set `false` to the `ShowTimeIndicator` property which defaults to `true`. +By default, Scheduler indicates current date with a highlighted date header on all views, as well as marks accurately the system's current time on specific views such as Day, Week, Work Week, Timeline Day, Timeline Week and Timeline Work Week views. To stop highlighting the current time indicator on Scheduler views, set `false` to the [`ShowTimeIndicator`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ShowTimeIndicator) property which defaults to `true`. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timezone.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timezone.md index 0db3098892..7b7d8c22bc 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timezone.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timezone.md @@ -11,7 +11,7 @@ documentation: ug # Timezone -The Scheduler makes use of the current system time zone by default. If it needs to follow some other user-specific time zone, then the `Timezone` property needs to be used. Apart from the default action of applying specific timezone to the Scheduler, it is also possible to set different time zone values for each appointments through the properties `StartTimezone` and `EndTimezone` which can be defined as separate fields within the event fields collection. +The Scheduler makes use of the current system time zone by default. If it needs to follow some other user-specific time zone, then the [`Timezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Timezone) property needs to be used. Apart from the default action of applying specific timezone to the Scheduler, it is also possible to set different time zone values for each appointments through the properties [`StartTimezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTimezone) and [`EndTimezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTimezone) which can be defined as separate fields within the event fields collection. >Note: **Timezone** property only applicable for the appointment processing and current time indication. @@ -52,7 +52,7 @@ The following code example displays an appointment from 9.00 AM to 10.00 AM when ## Scheduler set to specific timezone -When a time zone is set to Scheduler through `Timezone` property, the appointments will be displayed exactly based on the Scheduler timezone regardless of its client timezone. In the following code example, appointments will be displayed based on Eastern Time (UTC -05:00). +When a time zone is set to Scheduler through [`Timezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Timezone) property, the appointments will be displayed exactly based on the Scheduler timezone regardless of its client timezone. In the following code example, appointments will be displayed based on Eastern Time (UTC -05:00). {% if page.publishingplatform == "aspnet-core" %} @@ -81,7 +81,7 @@ When a time zone is set to Scheduler through `Timezone` property, the appointmen ## Display events on same time everywhere with no time difference -Setting `Timezone` to UTC for Scheduler will display the appointments on same time as in the database for all the users in different time zone. +Setting [`Timezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Timezone) to UTC for Scheduler will display the appointments on same time as in the database for all the users in different time zone. {% if page.publishingplatform == "aspnet-core" %} @@ -110,7 +110,7 @@ Setting `Timezone` to UTC for Scheduler will display the appointments on same ti ## Set specific timezone for events -It is possible to set different timezone for Scheduler events by setting `StartTimezone` and `EndTimezone` properties within the `EventSettings` option. It allows each appointment to maintain different timezone and displays on Scheduler with appropriate time differences. +It is possible to set different timezone for Scheduler events by setting [`StartTimezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTimezone) and [`EndTimezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTimezone) properties within the [`EventSettings`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) option. It allows each appointment to maintain different timezone and displays on Scheduler with appropriate time differences. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/views.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/views.md index 5e47bdad0b..9fc1de005a 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/views.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/views.md @@ -19,7 +19,7 @@ N> By default, Scheduler displays the calendar views such as day, week, work wee ## Setting specific view on scheduler -As the Scheduler displays `Week` view by default, therefore to change the active view, set `currentView` property with the desired view name. The applicable view names that the Scheduler accepts are as follows, +As the Scheduler displays `Week` view by default, therefore to change the active view, set [`currentView`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CurrentView) property with the desired view name. The applicable view names that the Scheduler accepts are as follows, * Day * Week @@ -92,7 +92,7 @@ To configure Scheduler with different configurations on each view, refer the fol ## View specific configuration -There are scenarios where each view may need to have different configurations. For such cases, you can define the applicable scheduler properties within the `views` Property for each view option as depicted in the following examples. The fields available to be used within each view options are as follows. +There are scenarios where each view may need to have different configurations. For such cases, you can define the applicable scheduler properties within the [`views`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Views) Property for each view option as depicted in the following examples. The fields available to be used within each view options are as follows. | Property | Type | Description | Applicable views | |----------|------|-------------|------------------| @@ -104,7 +104,7 @@ There are scenarios where each view may need to have different configurations. F | `dateHeaderTemplate` | String | The template option which is used to customize the date header cells and is applied only on the views, wherever it is defined. | All views. | | `eventTemplate` | String | The template option to customize the events background. It will get applied to the events of the view to which it is currently being defined. | All views. | | `showWeekend` | Boolean | When set to `false`, it hides the weekend days of a week from the views on which it is defined.| All views. | -| `group` | [GroupModel](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleGroup_members.html) | Allows to set different resource grouping options on all available Scheduler view modes. | All views. | +| [`group`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) | [GroupModel](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleGroup_members.html) | Allows to set different resource grouping options on all available Scheduler view modes. | All views. | | `cellTemplate` | String | The template option to customize the work cells of the Scheduler and is applied only on the views, on which it is defined. | Applicable on all views except Agenda view. | | `workDays` | Number[] | It is used to set the working days on the Scheduler views. | Applicable on all views except Agenda view. | | `displayName` | String | When a particular view is customized to display with different intervals, this property allows the user to set different display name for each of the views. | Applicable on all views except Agenda and Month Agenda. | @@ -279,7 +279,7 @@ N> The year view also has module support. In that, you can get all the months of ### Agenda view -The Agenda view lists out the appointments in a grid-like view for the next 7 days by default from the current date. The count of the days can be changed using the API `agendaDaysCount`. It allows virtual scrolling of dates by enabling the `allowVirtualScrolling` property. Also, you can enable or disable the display of days on Scheduler that has no appointments by setting true or false to the `hideEmptyAgendaDays` property. +The Agenda view lists out the appointments in a grid-like view for the next 7 days by default from the current date. The count of the days can be changed using the API [`agendaDaysCount`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AgendaDaysCount). It allows virtual scrolling of dates by enabling the `allowVirtualScrolling` property. Also, you can enable or disable the display of days on Scheduler that has no appointments by setting true or false to the [`hideEmptyAgendaDays`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HideEmptyAgendaDays) property. The following code example depicts how to customize the display of events within Agenda view alone. @@ -519,7 +519,7 @@ The following code example depicts how to group the multiple resources on Timeli #### Auto row height -Timeline Year view supports Auto row height. When the feature `rowAutoHeight` is enabled, the row height gets auto-adjusted based on the number of overlapping events occupied in the same time range. If you disable the Auto row height, you have the `+ more` text indicator on each day cell of a Timeline Year view, clicking on which will allow you to view the hidden appointments of a day. +Timeline Year view supports Auto row height. When the feature [`rowAutoHeight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) is enabled, the row height gets auto-adjusted based on the number of overlapping events occupied in the same time range. If you disable the Auto row height, you have the `+ more` text indicator on each day cell of a Timeline Year view, clicking on which will allow you to view the hidden appointments of a day. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/working-days.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/working-days.md index 2060494021..23f8f94733 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/working-days.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/working-days.md @@ -160,9 +160,9 @@ For more details refer to [this link](https://learn.microsoft.com/en-us/dotnet/a Working hours indicates the work hour limit within the Scheduler, which is visually highlighted with an active color on work cells. The working hours can be set on Scheduler using the `WorkHours` property which is of object type and includes the following sub-options, -* `Highlight` – enables/disables the highlighting of work hours. -* `Start` - sets the start time of the working/business hour of a day. -* `End` - sets the end time limit of the working/business hour of a day. +* [`Highlight`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleWorkHours.html#Syncfusion_EJ2_Schedule_ScheduleWorkHours_Highlight) – enables/disables the highlighting of work hours. +* [`Start`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleWorkHours.html#Syncfusion_EJ2_Schedule_ScheduleWorkHours_Start) - sets the start time of the working/business hour of a day. +* [`End`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleWorkHours.html#Syncfusion_EJ2_Schedule_ScheduleWorkHours_End) - sets the end time limit of the working/business hour of a day. {% if page.publishingplatform == "aspnet-core" %} @@ -191,7 +191,7 @@ Working hours indicates the work hour limit within the Scheduler, which is visua ## Scheduler displaying custom hours -It is possible to display the event Scheduler layout with specific time durations by hiding the unwanted hours. To do so, set the start and end hour for the Scheduler using the `StartHour` and `EndHour` properties respectively. +It is possible to display the event Scheduler layout with specific time durations by hiding the unwanted hours. To do so, set the start and end hour for the Scheduler using the [`StartHour`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_StartHour) and [`EndHour`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EndHour) properties respectively. The following code example displays the Scheduler starting from the time range 7.00 AM to 6.00 PM and the remaining hours are hidden on the UI. @@ -222,7 +222,7 @@ The following code example displays the Scheduler starting from the time range 7 ## Setting start day of the week -By default, Scheduler defaults to `Sunday` as its first day of a week. To change the Scheduler's start day of a week with different day, set the `FirstDayOfWeek` property with the values ranging from 0 to 6. +By default, Scheduler defaults to `Sunday` as its first day of a week. To change the Scheduler's start day of a week with different day, set the [`FirstDayOfWeek`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_FirstDayOfWeek) property with the values ranging from 0 to 6. > Here, Sunday is always denoted as 0, Monday as 1 and so on. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/appointments.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/appointments.md index f9ccf5330f..c6dbecf304 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/appointments.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/appointments.md @@ -61,7 +61,7 @@ N> For example, if an appointment is created for two days say from November 25, Represents an appointment that is created for an entire day such as holiday events. It is usually displayed separately in an all-day row, a separate row for all-day appointments below the date header section. In Timeline views, the all-day appointments displays in the working space area, and no separate all-day row is present in that view. -N> To change normal appointment into all-day event, set `IsAllDay` field to true. +N> To change normal appointment into all-day event, set [`isAllDay`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsAllDay) field to true. ### Hide all-day row events @@ -77,7 +77,7 @@ N> You can also enable scroller for all-day row, [refer](./how-to/enable-scroll- ## Customize the rendering of the spanned events -By default, Scheduler will renders the spanned events (appointment with more than 24 hours duration) in the all-day row by setting `AllDayRow` will the default type renders to the `spannedEventPlacement` option within the `e-schedule-eventsettings` tag helper. Now we can customize rendering of the that events inside the work cells itself by modifying the `spannedEventPlacement` option as `TimeSlot`. In this following example, shows how to render the spanned appointments inside the work cells as follows. +By default, Scheduler will renders the spanned events (appointment with more than 24 hours duration) in the all-day row by setting `AllDayRow` will the default type renders to the [`spannedEventPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_SpannedEventPlacement) option within the `e-schedule-eventsettings` tag helper. Now we can customize rendering of the that events inside the work cells itself by modifying the [`spannedEventPlacement`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_SpannedEventPlacement) option as `TimeSlot`. In this following example, shows how to render the spanned appointments inside the work cells as follows. {% if page.publishingplatform == "aspnet-core" %} @@ -139,7 +139,7 @@ The following example depicts how to create a recurring event on Scheduler with ### Adding exceptions -A few instance of the recurrence series can be excluded on specific dates, by adding those exceptional dates to the `recurrenceException` field. These date values should be given in the ISO date time format with no hyphens(-) separating the date elements. +A few instance of the recurrence series can be excluded on specific dates, by adding those exceptional dates to the [`recurrenceException`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field. These date values should be given in the ISO date time format with no hyphens(-) separating the date elements. For example, 22nd February 2018 can be represented as 20180222. Also, the time part being represented in UTC format needs to add "Z" after the time portion with no space. "07:30:00 UTC" is therefore represented as "073000Z". @@ -170,9 +170,9 @@ For example, 22nd February 2018 can be represented as 20180222. Also, the time p ### Editing an occurrence from a series -To dynamically edit a particular occurrence from an event series and display it on the initial load of Scheduler, the edited occurrence needs to be added as a new event to the dataSource collection, with an additional `recurrenceID` field defined to it. The `recurrenceID` field of edited occurrence usually maps the ID value of the parent event. +To dynamically edit a particular occurrence from an event series and display it on the initial load of Scheduler, the edited occurrence needs to be added as a new event to the dataSource collection, with an additional [`recurrenceID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field defined to it. The [`recurrenceID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field of edited occurrence usually maps the ID value of the parent event. -In this example, a recurring instance that displays on the date 30th Jan 2018 is edited with different timings. Therefore, this particular date is excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by adding the `recurrenceException` field with the excluded date value on the parent event. Also, the edited occurrence event which is created as a new event should carry the `recurrenceID` field pointing to the parent event's `id` value. +In this example, a recurring instance that displays on the date 30th Jan 2018 is edited with different timings. Therefore, this particular date is excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by adding the [`recurrenceException`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field with the excluded date value on the parent event. Also, the edited occurrence event which is created as a new event should carry the [`recurrenceID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field pointing to the parent event's [`Id`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) value. {% if page.publishingplatform == "aspnet-core" %} @@ -201,9 +201,9 @@ In this example, a recurring instance that displays on the date 30th Jan 2018 is ### Edit only the current and following events -To edit only the current and following events enable the property `editFollowingEvents` within `eventSettings` property. The edited occurrence needs to be added as a new event to the dataSource collection, with an additional `followingID` field defined to it. The `followingID` field of edited occurrence usually maps the ID value of the immediate parent event. +To edit only the current and following events enable the property [`editFollowingEvents`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_EditFollowingEvents) within [`eventSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. The edited occurrence needs to be added as a new event to the dataSource collection, with an additional [`followingID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_FollowingID) field defined to it. The [`followingID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_FollowingID) field of edited occurrence usually maps the ID value of the immediate parent event. -In this example, a recurring instance that displays on the date 30th Jan 2018 and its following dates are edited with different subject. Therefore, this particular date and its following dates are excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by updating the `recurrenceRule` field with the until date value on the parent event. Also, the edited events which is created as a new event should carry the `followingID` field pointing to the immediate parent event's `Id` value. +In this example, a recurring instance that displays on the date 30th Jan 2018 and its following dates are edited with different subject. Therefore, this particular date and its following dates are excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by updating the [`recurrenceRule`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) field with the until date value on the parent event. Also, the edited events which is created as a new event should carry the [`followingID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_FollowingID) field pointing to the immediate parent event's [`id`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) value. {% if page.publishingplatform == "aspnet-core" %} @@ -232,7 +232,7 @@ In this example, a recurring instance that displays on the date 30th Jan 2018 an ### Recurrence options and rules -Events can be repeated on a daily, weekly, monthly or yearly basis based on the recurrence rule which accepts the string value. The following details should be assigned to the `recurrenceRule` property to generate the recurring instances. +Events can be repeated on a daily, weekly, monthly or yearly basis based on the recurrence rule which accepts the string value. The following details should be assigned to the [`recurrenceRule`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) property to generate the recurring instances. * Repeat type - daily/weekly/monthly/yearly. * How many times it needs to be repeated? @@ -321,7 +321,7 @@ The built-in validation support has been added by default for recurring appointm The Scheduler dataSource usually holds the event instances, where each of the instance includes a collection of appropriate [fields](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleField_properties.html). It is mandatory to map these fields with the equivalent fields of database, when remote data is bound to it. When the local JSON data is bound, then the field names defined within the instances needs to be mapped with the scheduler event fields correctly. -N> To create an event on Scheduler, it is enough to define the `startTime` and `endTime`. Also `id` field becomes mandatory to process CRUD actions on appropriate events. +N> To create an event on Scheduler, it is enough to define the [`startTime`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTime) and [`endTime`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTime). Also [`Id`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) field becomes mandatory to process CRUD actions on appropriate events. ### Built-in fields @@ -329,20 +329,20 @@ The built-in fields available on Scheduler event object are as follows. | Field name | Description | |-------|---------| -| id | The `id` field needs to be defined as mandatory and this field usually assigns a unique ID value to each of the events.| -| subject | The `subject` field is optional, and usually assigns the summary text to each of the events.| -| startTime | The `startTime` field defines the start time of an event and it is mandatory to provide it for any of the valid event objects.| -| endTime | The `endTime` field defines the end time of an event and it is mandatory to provide the end time for any of the valid event objects.| -| startTimezone | It maps the `startTimezone` field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `startTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.| -| endTimezone | It maps the `endTimezone` field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `endTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.| -| location | It maps the `location` field from the dataSource and the location text value will be displayed over the events.| -| description | It maps the `description` field from the dataSource and denotes the event description which is optional.| -| isAllDay | The `isAllDay` field is mapped from the dataSource and is used to denote whether an event is created for an entire day or for specific time alone. Usually, an event with `isAllDay` field set to true will be considered as an all-day event. | -| recurrenceID | It maps the `recurrenceID` field from dataSource and usually holds the ID value of the parent recurrence event. This field is applicable only for the edited occurrence events.| -| recurrenceRule | It maps the `recurrenceRule` field from dataSource and holds the recurrence rule value in a string format. Also, it uniquely identifies whether the event belongs to a recurring type or normal ones. | -| recurrenceException | It maps the `recurrenceException` field from dataSource and is used to hold the collection of exception dates, on which the recurring occurrences needs to be excluded. The recurrenceException should be specified in UTC format. | -| `isReadonly` | It maps the `isReadonly` field from dataSource. It is mainly used to make specific appointments as readonly when set to `true`. | -| `isBlock` | It maps the `isBlock` field from dataSource. It is used to block the particular time ranges in the Scheduler and prevents the event creation on those time slots. | +| id | The [`id`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) field needs to be defined as mandatory and this field usually assigns a unique ID value to each of the events.| +| subject | The [`subject`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Subject) field is optional, and usually assigns the summary text to each of the events.| +| startTime | The [`startTime`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTime) field defines the start time of an event and it is mandatory to provide it for any of the valid event objects.| +| endTime | The [`endTime`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTime) field defines the end time of an event and it is mandatory to provide the end time for any of the valid event objects.| +| startTimezone | It maps the [`startTimezone`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTimezone) field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `startTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.| +| endTimezone | It maps the [`endTimezone`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTimezone) field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `endTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.| +| location | It maps the [`location`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Location) field from the dataSource and the location text value will be displayed over the events.| +| description | It maps the [`description`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Description) field from the dataSource and denotes the event description which is optional.| +| isAllDay | The [`isAllDay`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsAllDay) field is mapped from the dataSource and is used to denote whether an event is created for an entire day or for specific time alone. Usually, an event with `isAllDay` field set to true will be considered as an all-day event. | +| recurrenceID | It maps the [`recurrenceID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field from dataSource and usually holds the ID value of the parent recurrence event. This field is applicable only for the edited occurrence events.| +| recurrenceRule | It maps the [`recurrenceRule`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) field from dataSource and holds the recurrence rule value in a string format. Also, it uniquely identifies whether the event belongs to a recurring type or normal ones. | +| recurrenceException | It maps the [`recurrenceException`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field from dataSource and is used to hold the collection of exception dates, on which the recurring occurrences needs to be excluded. The recurrenceException should be specified in UTC format. | +| isReadonly | It maps the [`isReadonly`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsReadonly) field from dataSource. It is mainly used to make specific appointments as readonly when set to `true`. | +| IsBlock | It maps the [`IsBlock`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsBlock) field from dataSource. It is used to block the particular time ranges in the Scheduler and prevents the event creation on those time slots. | ### Binding different field names @@ -373,7 +373,7 @@ When the fields of event instances has the default mapping name, it is not manda -N> The mapper field `id` is of string type and has no additional validation options, whereas all other fields are of `Object` type and has additional options. +N> The mapper field [`id`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) is of string type and has no additional validation options, whereas all other fields are of `Object` type and has additional options. ### Event field settings @@ -444,7 +444,7 @@ Apart from the default Scheduler fields, the user can include 'n' number of cust ## Customize the order of the overlapping events -By default, the scheduler will render the overlapping events based on the start and end time. Now we can customize the order of the overlapping events based on the custom fields by using the `sortComparer` option available within the `e-schedule-eventsettings` tag helper. The following code example shows how to sort the appointments based on the custom field as follows. +By default, the scheduler will render the overlapping events based on the start and end time. Now we can customize the order of the overlapping events based on the custom fields by using the [`sortComparer`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_SortComparer) option available within the `e-schedule-eventsettings` tag helper. The following code example shows how to sort the appointments based on the custom field as follows. {% if page.publishingplatform == "aspnet-core" %} @@ -473,7 +473,7 @@ By default, the scheduler will render the overlapping events based on the start ## Drag and drop appointments -Appointments can be rescheduled to any time by dragging and dropping them onto the desired location. To work with drag and drop functionality make sure that `allowDragAndDrop` is set to **true** on Scheduler. In mobile mode, you can drag and drop the events by tap holding an event and dropping them on to the desired location. +Appointments can be rescheduled to any time by dragging and dropping them onto the desired location. To work with drag and drop functionality make sure that [`allowDragAndDrop`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowDragAndDrop) is set to **true** on Scheduler. In mobile mode, you can drag and drop the events by tap holding an event and dropping them on to the desired location. To get start quickly about drag and drop options available in our Scheduler, you can check on this video: @@ -484,7 +484,7 @@ N> By default, drag and drop action is applicable on all Scheduler views, except ### Drag and drop multiple appointments -We can drag and drop multiple appointments by enabling the `allowMultiDrag` property. We can select multiple appointments by holding the CTRL key. Once the events are selected, we can leave the CTRL key and start dragging the event. +We can drag and drop multiple appointments by enabling the [`allowMultiDrag`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowMultiDrag) property. We can select multiple appointments by holding the CTRL key. Once the events are selected, we can leave the CTRL key and start dragging the event. We can also drag multiple events from one resource to another resource. In this case, if all the selected events are in the different resources, then all the events should be moved to the single resource that is related to the target event. @@ -517,7 +517,7 @@ We can also drag multiple events from one resource to another resource. In this ### Disable the drag action -By default, you can drag and drop the events within any of the applicable scheduler views, and to disable it, set **false** to the `allowDragAndDrop` property. +By default, you can drag and drop the events within any of the applicable scheduler views, and to disable it, set **false** to the [`allowDragAndDrop`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowDragAndDrop) property. {% if page.publishingplatform == "aspnet-core" %} @@ -546,7 +546,7 @@ By default, you can drag and drop the events within any of the applicable schedu ### Preventing drag and drop on specific targets -It is possible to prevent the drag action on particular target, by passing the target to be excluded in the `excludeSelectors` option within `dragStart` event arguments. In this example, we have prevented the drag action on all-day row. +It is possible to prevent the drag action on particular target, by passing the target to be excluded in the `excludeSelectors` option within [`dragStart`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart) event arguments. In this example, we have prevented the drag action on all-day row. {% if page.publishingplatform == "aspnet-core" %} @@ -575,7 +575,7 @@ It is possible to prevent the drag action on particular target, by passing the t ### Disable scrolling on drag action -By default, while dragging an appointment to the edges, either top/bottom in the vertical Scheduler or left/right in the timeline Scheduler, scrolling action takes place automatically. To prevent this scrolling, set `false` to the `scroll` value within `dragStart` event arguments. +By default, while dragging an appointment to the edges, either top/bottom in the vertical Scheduler or left/right in the timeline Scheduler, scrolling action takes place automatically. To prevent this scrolling, set `false` to the `scroll` value within [`dragStart`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart) event arguments. {% if page.publishingplatform == "aspnet-core" %} @@ -604,7 +604,7 @@ By default, while dragging an appointment to the edges, either top/bottom in the ### Controlling scroll speed while dragging an event -The speed of the scrolling action while dragging an appointment to the Scheduler edges, can be controlled within `dragStart`event arguments by setting the desired value to the `scrollBy` and `timeDelay` option whereas its default value is 30 minutes and 100 ms. +The speed of the scrolling action while dragging an appointment to the Scheduler edges, can be controlled within [`dragStart`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart)event arguments by setting the desired value to the `scrollBy` and `timeDelay` option whereas its default value is 30 minutes and 100 ms. {% if page.publishingplatform == "aspnet-core" %} @@ -633,9 +633,9 @@ The speed of the scrolling action while dragging an appointment to the Scheduler ### Auto navigation of date ranges on dragging an event -When an event is dragged either to the left or right extreme edges of the Scheduler and kept hold for few seconds without dropping, the auto navigation of date ranges will be enabled allowing the Scheduler to navigate from current date range to back and forth respectively. This action is set to `false` by default and to enable it, you need to set `navigation` to true within `dragStart` event. +When an event is dragged either to the left or right extreme edges of the Scheduler and kept hold for few seconds without dropping, the auto navigation of date ranges will be enabled allowing the Scheduler to navigate from current date range to back and forth respectively. This action is set to `false` by default and to enable it, you need to set `navigation` to true within [`dragStart`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart) event. -By default, the navigation delay is set to 2000 ms. The navigation delay decides how long the user needs to drag and hold the appointments at the extremities. You can also set your own delay value for letting the users to navigate based on it, using the `timeDelay` within `dragStart`event. +By default, the navigation delay is set to 2000 ms. The navigation delay decides how long the user needs to drag and hold the appointments at the extremities. You can also set your own delay value for letting the users to navigate based on it, using the `timeDelay` within [`dragStart`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart)event. {% if page.publishingplatform == "aspnet-core" %} @@ -664,7 +664,7 @@ By default, the navigation delay is set to 2000 ms. The navigation delay decides ### Setting drag time interval -By default, while dragging an appointment, it moves at an interval of 30 minutes. To change the dragging time interval, pass the appropriate values to the `interval` option within `dragStart` event. +By default, while dragging an appointment, it moves at an interval of 30 minutes. To change the dragging time interval, pass the appropriate values to the `interval` option within [`dragStart`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStart) event. {% if page.publishingplatform == "aspnet-core" %} @@ -724,7 +724,7 @@ In this example, we have used the tree view control as an external source and th ### Opening the editor window on drag stop -There are scenarios where you want to open the editor filled with data on newly dropped location and may need to proceed to save it, only when `Save` button is clicked on the editor and on clicking the cancel button should revert these changes. This can be achieved using the `dragStop` event of Scheduler. +There are scenarios where you want to open the editor filled with data on newly dropped location and may need to proceed to save it, only when `Save` button is clicked on the editor and on clicking the cancel button should revert these changes. This can be achieved using the [`dragStop`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DragStop) event of Scheduler. {% if page.publishingplatform == "aspnet-core" %} @@ -761,7 +761,7 @@ To enable the inline edit mode, single click on any of the existing appointment The inline option can be enabled/disabled on the Scheduler by using the allowInline API, whereas its default value is set to false. -While using the `allowInline` the `showQuickInfo` will be turned off. The `quickPopup` will not show on clicking the work cell or clicking the appointment when the `allowInline` property is set to true. +While using the [`allowInline`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowInline) the [`showQuickInfo`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ShowQuickInfo) will be turned off. The `quickPopup` will not show on clicking the work cell or clicking the appointment when the [`allowInline`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowInline) property is set to true. In work cells, select multiple cells using keyboard, and then press enter key. The appointment wrapper will be created, and focus will be on the subject field. Also, consider the overlapping scenarios when creating an inline event. @@ -800,11 +800,11 @@ While editing the occurrence from the recurrence series, it is only possible to ## Appointment Resizing -Another way of rescheduling an appointment can be done by resizing it through either of its handlers. To work with resizing functionality make sure that `allowResizing` property is set to **true**. +Another way of rescheduling an appointment can be done by resizing it through either of its handlers. To work with resizing functionality make sure that [`allowResizing`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowResizing) property is set to **true**. ### Disable the resize action -By default, resizing of events is allowed on all Scheduler views except Agenda and Month-Agenda view. To disable this event resizing action, set false to the `allowResizing` property. +By default, resizing of events is allowed on all Scheduler views except Agenda and Month-Agenda view. To disable this event resizing action, set false to the [`allowResizing`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowResizing) property. {% if page.publishingplatform == "aspnet-core" %} @@ -862,7 +862,7 @@ By default, while resizing an appointment, when its handler reaches the extreme ### Controlling scroll speed while resizing an event -The speed of the scrolling action while resizing an appointment to the Scheduler edges, can be controlled within the `resizeStart` event by setting the desired value to the `scrollBy` option. +The speed of the scrolling action while resizing an appointment to the Scheduler edges, can be controlled within the [`resizeStart`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ResizeStart) event by setting the desired value to the `scrollBy` option. {% if page.publishingplatform == "aspnet-core" %} @@ -891,7 +891,7 @@ The speed of the scrolling action while resizing an appointment to the Scheduler ### Setting resize time interval -By default, while resizing an appointment, it extends or shrinks at an interval of 30 minutes. To change this default resize interval, set appropriate values to `interval` option within the `resizeStart`. +By default, while resizing an appointment, it extends or shrinks at an interval of 30 minutes. To change this default resize interval, set appropriate values to `interval` option within the [`resizeStart`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ResizeStart). {% if page.publishingplatform == "aspnet-core" %} @@ -960,7 +960,7 @@ N> All the built-in fields that are mapped to the appropriate field properties w ### Using eventRendered event -The `eventRendered` event triggers before the appointment renders on the Scheduler. Therefore, this client-side event can be utilized to customize the look of events based on any specific criteria, before rendering them on the scheduler. +The [`eventRendered`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventRendered) event triggers before the appointment renders on the Scheduler. Therefore, this client-side event can be utilized to customize the look of events based on any specific criteria, before rendering them on the scheduler. {% if page.publishingplatform == "aspnet-core" %} @@ -990,7 +990,7 @@ The `eventRendered` event triggers before the appointment renders on the Schedul ### Using cssClass -The customization of events can also be achieved using `cssClass` property of the Scheduler. In the following example, the background of appointments has been changed using the cssClass. +The customization of events can also be achieved using [`cssClass`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CssClass) property of the Scheduler. In the following example, the background of appointments has been changed using the cssClass. {% if page.publishingplatform == "aspnet-core" %} @@ -1020,7 +1020,7 @@ The customization of events can also be achieved using `cssClass` property of th ## Setting minimum height -It is possible to set minimal height for appointments on Scheduler using `eventRendered` event, when its start and end time duration is less than the default duration of a single slot. +It is possible to set minimal height for appointments on Scheduler using [`eventRendered`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventRendered) event, when its start and end time duration is less than the default duration of a single slot. {% if page.publishingplatform == "aspnet-core" %} @@ -1049,7 +1049,7 @@ It is possible to set minimal height for appointments on Scheduler using `eventR ## Block Dates and Times -It is possible to block a set of dates or a particular time ranges on the Scheduler. To do so, define an appointment object within `e-schedule-eventsettings` along with the required time range to block and set the `isBlock` field to **true**. Usually, the event objects defined with `isBlock` field set to true will block the entire time cells lying within the appropriate time ranges specified through `startTime` and `endTime` fields. +It is possible to block a set of dates or a particular time ranges on the Scheduler. To do so, define an appointment object within [`e-schedule-eventsettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) along with the required time range to block and set the [`isBlock`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsBlock) field to **true**. Usually, the event objects defined with [`isBlock`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsBlock) field set to true will block the entire time cells lying within the appropriate time ranges specified through [`startTime`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTime) and [`endTime`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTime) fields. {% if page.publishingplatform == "aspnet-core" %} @@ -1107,7 +1107,7 @@ Block events can also be defined to repeat on several days as shown in the follo ## Readonly -An interaction with the appointments of Scheduler can be enabled/disabled using the `readonly` property. With this property enabled, you can simply navigate between the Scheduler dates, views and can be able to view the appointment details in the quick info window. Most importantly, the users are not allowed to perform any CRUD actions on Scheduler, when this property is set to true. By default, it is set as **false**. +An interaction with the appointments of Scheduler can be enabled/disabled using the [`readonly`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Readonly) property. With this property enabled, you can simply navigate between the Scheduler dates, views and can be able to view the appointment details in the quick info window. Most importantly, the users are not allowed to perform any CRUD actions on Scheduler, when this property is set to true. By default, it is set as **false**. {% if page.publishingplatform == "aspnet-core" %} @@ -1136,7 +1136,7 @@ An interaction with the appointments of Scheduler can be enabled/disabled using ## Make specific events readonly -There are scenarios where you need to restrict the CRUD action on specific appointments alone based on certain conditions. In the following example, the events that has occurred on the past hours from the current date of the Scheduler are made as read-only and the CRUD actions has been prevented only on those appointments. This can be achieved by setting `IsReadonly` field of read-only events to `true`. +There are scenarios where you need to restrict the CRUD action on specific appointments alone based on certain conditions. In the following example, the events that has occurred on the past hours from the current date of the Scheduler are made as read-only and the CRUD actions has been prevented only on those appointments. This can be achieved by setting [`IsReadonly`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsReadonly) field of read-only events to `true`. {% if page.publishingplatform == "aspnet-core" %} @@ -1163,7 +1163,7 @@ There are scenarios where you need to restrict the CRUD action on specific appoi -N> By default, the event editor is prevented to open on the read-only events when `IsReadonly` field is set to **true**. +N> By default, the event editor is prevented to open on the read-only events when [`IsReadonly`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_IsReadonly) field is set to **true**. ## Restricting event creation on specific time slots @@ -1196,7 +1196,7 @@ You can restrict the users to create and update more than one appointment on spe ## Differentiate the past time events -To differentiate the appearance of the appointments based on specific criteria such as displaying the past hour appointments with different colors on Scheduler, `eventRendered` event can be used which triggers before the appointment renders on the Scheduler. +To differentiate the appearance of the appointments based on specific criteria such as displaying the past hour appointments with different colors on Scheduler,[`eventRendered`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventRendered) event can be used which triggers before the appointment renders on the Scheduler. {% if page.publishingplatform == "aspnet-core" %} @@ -1225,9 +1225,9 @@ To differentiate the appearance of the appointments based on specific criteria s ## Appointments occupying entire cell -The Scheduler allows the event to occupies the full height of the cell without its header part by setting `true` for `enableMaxHeight` Property. +The Scheduler allows the event to occupies the full height of the cell without its header part by setting `true` for [`enableMaxHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_EnableMaxHeight) Property. -We can show more indicator if more than one appointment is available in a same cell by setting `true` to `enableIndicator` property whereas its default value is false. +We can show more indicator if more than one appointment is available in a same cell by setting `true` to [`enableIndicator`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_EnableIndicator) property whereas its default value is `false`. {% if page.publishingplatform == "aspnet-core" %} @@ -1261,7 +1261,7 @@ The tooltip shows the Scheduler appointment's information in a formatted style b ### Show or hide built-in tooltip -The tooltip can be displayed for appointments by setting `true` to the `enableTooltip` option within the `e-schedule-eventsettings` tag helper. +The tooltip can be displayed for appointments by setting `true` to the [`enableTooltip`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_EnableTooltip) option within the `e-schedule-eventsettings` tag helper. {% if page.publishingplatform == "aspnet-core" %} @@ -1291,7 +1291,7 @@ The tooltip can be displayed for appointments by setting `true` to the `enableTo ### Customizing event tooltip using template -After enabling the default tooltip, it is possible to customize the display of needed event information on tooltip by making use of the `tooltipTemplate` option within the `e-schedule-eventsettings`. +After enabling the default tooltip, it is possible to customize the display of needed event information on tooltip by making use of the [`tooltipTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_TooltipTemplate) option within the [`e-schedule-eventsettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings). {% if page.publishingplatform == "aspnet-core" %} @@ -1319,7 +1319,7 @@ After enabling the default tooltip, it is possible to customize the display of n ![Display Customizing Event Tooltip Using Template in ASP.NET Core Scheduler](images/scheduler-custom-event-tooltip.png) -N> All the field names that are mapped from the Scheduler dataSource to the appropriate field properties such as subject, description, location, startTime and endTime within the `e-schedule-eventsettings` can be accessed within the template. +N> All the field names that are mapped from the Scheduler dataSource to the appropriate field properties such as subject, description, location, startTime and endTime within the [`e-schedule-eventsettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) can be accessed within the template. ## Appointment selection @@ -1367,7 +1367,7 @@ In the following example, the subject of the appointment clicked has been displa ## Get the current view appointments -To retrieve the appointments present in the current view of the Scheduler, you can make use of the `getCurrentViewEvents` public method. In the following example, the count of current view appointment collection rendered has been traced in `dataBound` event. +To retrieve the appointments present in the current view of the Scheduler, you can make use of the `getCurrentViewEvents` public method. In the following example, the count of current view appointment collection rendered has been traced in [`dataBound`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DataBound) event. {% if page.publishingplatform == "aspnet-core" %} @@ -1396,7 +1396,7 @@ To retrieve the appointments present in the current view of the Scheduler, you c ## Get the entire appointment collections -The entire collection of appointments rendered on the Scheduler can be accessed using the `getEvents` public method. In the following example, the count of entire appointment collection rendered on the Scheduler has been traced in `dataBound` event. +The entire collection of appointments rendered on the Scheduler can be accessed using the `getEvents` public method. In the following example, the count of entire appointment collection rendered on the Scheduler has been traced in [`dataBound`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DataBound) event. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/cell-customization.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/cell-customization.md index 4e8c4a7c40..7ffce6cf19 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/cell-customization.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/cell-customization.md @@ -11,11 +11,11 @@ documentation: ug # Cell Customization -The cells of the Scheduler can be easily customized either using the cell template or `renderCell` event. +The cells of the Scheduler can be easily customized either using the cell template or [`renderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event. ## Setting cell dimensions in all views -The height and width of the Scheduler cells can be customized either to increase or reduce its size through the `cssClass` property, which overrides the default CSS applied on cells. +The height and width of the Scheduler cells can be customized either to increase or reduce its size through the[`cssClass`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CssClass) property, which overrides the default CSS applied on cells. {% if page.publishingplatform == "aspnet-core" %} @@ -74,11 +74,11 @@ You can check whether the given time range slots are available for event creatio ## Customizing cells in all the views -It is possible to customize the appearance of the cells using both template options and `renderCell` event on all the views. +It is possible to customize the appearance of the cells using both template options and [`renderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event on all the views. ### Using template -The `cellTemplate` option accepts the template string and is used to customize the cell background with specific images or appropriate text on the given date values. +The [`cellTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CellTemplate) option accepts the template string and is used to customize the cell background with specific images or appropriate text on the given date values. {% if page.publishingplatform == "aspnet-core" %} @@ -108,7 +108,7 @@ The `cellTemplate` option accepts the template string and is used to customize t ### Using renderCell event -An alternative to `cellTemplate` is the `renderCell` event, which can also be used to customize the cells with appropriate images or formatted text values. +An alternative to [`cellTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CellTemplate) is the [`renderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event, which can also be used to customize the cells with appropriate images or formatted text values. {% if page.publishingplatform == "aspnet-core" %} @@ -136,7 +136,7 @@ An alternative to `cellTemplate` is the `renderCell` event, which can also be us ![Display Customizing Cells with Rendercell in ASP.NET Core Scheduler](images/scheduler-custom-cell-rendercell.png) -You can customize cells such as work cells, month cells, all-day cells, header cells, resource header cells using `renderCell` event by checking the `elementType` option within the event. You can check `elementType` with any of the following. +You can customize cells such as work cells, month cells, all-day cells, header cells, resource header cells using [`renderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event by checking the `elementType` option within the event. You can check `elementType` with any of the following. | Element type | Description | |-------|---------| @@ -154,7 +154,8 @@ You can customize cells such as work cells, month cells, all-day cells, header c ## Customizing cell header in month view -The month header of each date cell in the month view can be customized using the `cellHeaderTemplate` option which accepts the string or HTMLElement. The corresponding date can be accessed with the template. +The month header of each date cell in the month view can be customized using the The month header of each date cell in the month view can be customized using the [`cellHeaderTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CellHeaderTemplate) option which accepts the string or HTMLElement. The corresponding date can be accessed with the template. + option which accepts the string or HTMLElement. The corresponding date can be accessed with the template. {% if page.publishingplatform == "aspnet-core" %} @@ -181,7 +182,7 @@ The month header of each date cell in the month view can be customized using the ## Customizing the minimum and maximum date values -Providing the `minDate` and `maxDate` property with some date values, allows the Scheduler to set the minimum and maximum date range. The Scheduler date that lies beyond this minimum and maximum date range will be in a disabled state so that the date navigation will be blocked beyond the specified date range. +Providing the [`minDate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MinDate) and [`maxDate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MaxDate) property with some date values, allows the Scheduler to set the minimum and maximum date range. The Scheduler date that lies beyond this minimum and maximum date range will be in a disabled state so that the date navigation will be blocked beyond the specified date range. {% if page.publishingplatform == "aspnet-core" %} @@ -208,11 +209,11 @@ Providing the `minDate` and `maxDate` property with some date values, allows the -N>By default, the `minDate` property value is set to new Date(1900, 0, 1) and `maxDate` property value is set to new Date(2099, 11, 31). The user can also set the customized `minDate` and `maxDate` property values. +N>By default, the [`minDate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MinDate) property value is set to new Date(1900, 0, 1) and [`maxDate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MaxDate) property value is set to new Date(2099, 11, 31). The user can also set the customized [`minDate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MinDate) and [`maxDate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MaxDate) property values. ## Customizing the weekend cells background color -You can customize the background color of weekend cells by utilizing the [`RenderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.schedule.schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event and checking the `elementType` option within the event. +You can customize the background color of weekend cells by utilizing the [`renderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/syncfusion.ej2.schedule.schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event and checking the `elementType` option within the event. ```javascript @@ -267,6 +268,6 @@ And, the background color for weekend cells in the Month view through the [`cssC ## How to disable multiple cell and row selection in Schedule -By default, the `allowMultiCellSelection` and `allowMultiRowSelection` properties of the Schedule are set to `true`. So, the Schedule allows user to select multiple cells and rows. If the user want to disable this multiple cell and row selection. The user can disable this feature by setting up `false` to these properties. +By default, the [`allowMultiCellSelection`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowMultiCellSelection) and [`allowMultiRowSelection`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AllowMultiRowSelection) properties of the Schedule are set to `true`. So, the Schedule allows user to select multiple cells and rows. If the user want to disable this multiple cell and row selection. The user can disable this feature by setting up `false` to these properties. N> You can refer to our [ASP.NET Core Scheduler](https://www.syncfusion.com/aspnet-core-ui-controls/scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [ASP.NET Core Scheduler example](https://ej2.syncfusion.com/aspnetcore/Schedule/Overview#/material) to knows how to present and manipulate data. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/context-menu.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/context-menu.md index 92d1392269..c4a9a9953a 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/context-menu.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/context-menu.md @@ -11,11 +11,11 @@ documentation: ug # Context menu -You can display context menu on work cells and appointments of Scheduler by making use of the `ContextMenu` control manually from the application end. In the following code example, context menu control is being added from sample end and set its target as `Scheduler`. +You can display context menu on work cells and appointments of Scheduler by making use of the [`ContextMenu`](https://ej2.syncfusion.com/aspnetcore/documentation/context-menu/getting-started) control manually from the application end. In the following code example, context menu control is being added from sample end and set its target as `Scheduler`. On Scheduler cells, you can display the menu items such as `New Event`, `New Recurring Event` and `Today` option. For appointments, you can display its related options such as `Edit Event` and `Delete Event`. The default event window can be opened for appointment creation and editing using the `openEditor` method of Scheduler. -The deletion of appointments can be done by using the `deleteEvent` public method. Also, the `selectedDate` property can be used to navigate between different dates. +The deletion of appointments can be done by using the `deleteEvent` public method. Also, the [`selectedDate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_SelectedDate) property can be used to navigate between different dates. N> You can also display custom menu options on Scheduler cells and appointments. Context menu will open on tap-hold in responsive mode. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/crud-actions.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/crud-actions.md index 235772084c..ec3a9efa35 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/crud-actions.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/crud-actions.md @@ -119,7 +119,7 @@ Additionally, the regex condition has been added to the Location field, so that -You can also dynamically prevent the creation of appointments on Scheduler. For example, say if you want to decline the creation of appointments on weekend days, you can check for its appropriate condition within the `actionBegin` event. +You can also dynamically prevent the creation of appointments on Scheduler. For example, say if you want to decline the creation of appointments on weekend days, you can check for its appropriate condition within the [`actionBegin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ActionBegin) event. {% if page.publishingplatform == "aspnet-core" %} @@ -190,11 +190,11 @@ The appointments can be edited and updated manually using the `saveEvent` method -**Recurring event** - The following code example shows how to edit a single occurrence of a recurring event. In this case, the modified data should hold an additional field namely `recurrenceID` mapping to its parent recurring event's Id value. Also, this modified occurrence will be considered as a new event in the Scheduler dataSource, where it is linked with its parent event through the `recurrenceID` field value. The `saveEvent` method takes 2 arguments, first one accepting the modified event data object and second argument accepting either of the 2 text values - `EditOccurrence` or `EditSeries`. +**Recurring event** - The following code example shows how to edit a single occurrence of a recurring event. In this case, the modified data should hold an additional field namely [`recurrenceID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) mapping to its parent recurring event's Id value. Also, this modified occurrence will be considered as a new event in the Scheduler dataSource, where it is linked with its parent event through the [`recurrenceID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field value. The `saveEvent` method takes 2 arguments, first one accepting the modified event data object and second argument accepting either of the 2 text values - `EditOccurrence` or `EditSeries`. When the second argument is passed as `EditOccurrence`, which means that the passed event data is a single modified occurrence - whereas if the second argument is passed as `EditSeries`, it means that the modified data needs to be edited as a whole series and therefore no new event object will be maintained in the Scheduler dataSource. -In case of modifying the single occurrence, it is also necessary to update the `recurrenceException` field of parent event altogether with the occurrence editing. To know more about how to set `recurrenceException` values, refer the [recurring events](./appointments/#adding-exceptions) topic. +In case of modifying the single occurrence, it is also necessary to update the [`recurrenceException`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field of parent event altogether with the occurrence editing. To know more about how to set [`recurrenceException`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) values, refer the [recurring events](./appointments/#adding-exceptions) topic. {% if page.publishingplatform == "aspnet-core" %} @@ -260,9 +260,9 @@ The recurring appointments can be edited in either of the following two ways. **Editing single occurrence** - When you double click on a recurring event, a popup prompts you to choose either to edit the single event or entire series. From this, if you choose to select **EDIT EVENT** option, a single occurrence of the recurring appointment alone will be edited. The following process takes place while editing a single occurrence, -* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the `recurrenceID` field will be added to it, that holds the `id` value of the parent recurring event. Also, a new `Id` will be generated for this event in the dataSource. +* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the [`recurrenceID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceID) field will be added to it, that holds the `id` value of the parent recurring event. Also, a new `Id` will be generated for this event in the dataSource. -* The parent recurring event needs to be updated with appropriate `recurrenceException` field to hold the edited occurrence appointment's date collection. +* The parent recurring event needs to be updated with appropriate [`recurrenceException`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field to hold the edited occurrence appointment's date collection. Therefore, when a single occurrence is edited from a recurring event, the batch action takes place by allowing both the `Add` and `Edit` action requests to take place together. @@ -368,9 +368,9 @@ The recurring appointments can be edited from current and following events when **Editing Following Events** - When you double click on a recurring event, a popup prompts you to choose either to edit the single event or Edit Following Events or entire series. From this, if you choose to select **EDIT FOLLOWING EVENTS** option, a current and following events of the recurring appointment will be edited. The following process takes place while editing a following events, -* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the `followingID` field will be added to it, that holds the `id` value of the immediate parent recurring event. Also, a new `Id` will be generated for this event in the dataSource. +* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the [`followingID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_FollowingID) field will be added to it, that holds the `id` value of the immediate parent recurring event. Also, a new [`Id`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_Id) will be generated for this event in the dataSource. -* The parent recurring event needs to be updated with appropriate `recurrenceRule` field to hold the modified occurrence appointment's end date. +* The parent recurring event needs to be updated with appropriate [`recurrenceRule`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) field to hold the modified occurrence appointment's end date. Therefore, when a following events are edited from a recurring event, the batch action takes place by allowing the `Add`, `Edit` and `Delete` action requests to take place together. @@ -442,7 +442,7 @@ if (param.action == "remove" || (param.action == "batch" && param.deleted != nul ### Restricting edit action based on specific criteria -You can also dynamically prevent the editing of appointments on Scheduler. For example, say if you want to decline the updating of appointments on non-working hours, you can check for its appropriate condition within the `actionBegin` event. +You can also dynamically prevent the editing of appointments on Scheduler. For example, say if you want to decline the updating of appointments on non-working hours, you can check for its appropriate condition within the [`actionBegin`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ActionBegin) event. {% if page.publishingplatform == "aspnet-core" %} @@ -579,7 +579,7 @@ The recurring events can be deleted in either of the following two ways. **Single occurrence** - When you attempt to delete the recurring events, a popup prompts you to choose either to delete the single event or entire series. From this, if you choose to select **DELETE EVENT** option, a single occurrence of the recurring appointment alone will be removed. The following process takes place while removing a single occurrence, * The selected occurrence will be deleted from the Scheduler user interface. -* In code, the parent recurring event object will be updated with appropriate `recurrenceException` field, to hold the deleted occurrence appointment's date collection. +* In code, the parent recurring event object will be updated with appropriate [`recurrenceException`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceException) field, to hold the deleted occurrence appointment's date collection. Therefore, when a single occurrence is deleted from a recurring event, the `update` action takes place on the parent recurring event as shown in the following code example. @@ -639,7 +639,7 @@ The recurring events can be deleted from current and following events only when **Delete Following Events** - When you attempt to delete the recurring events, a popup prompts you to choose either to delete the single event or Following Events or entire series. From this, if you choose to select **FOLLOWING EVENT** option, a current and following events of the recurring appointment alone will be removed. The following process takes place while removing a single occurrence, * The selected occurrence and the following events in same series will be deleted from the Scheduler user interface. -* In code, the parent recurring event object will be updated with appropriate `recurrenceRule` field, to update the end date of the recurring events. +* In code, the parent recurring event object will be updated with appropriate [`recurrenceRule`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_RecurrenceRule) field, to update the end date of the recurring events. Therefore, when following events are deleted from a recurring event, the `remove` and `update` action takes place on the immediate parent recurring event as shown in the following code example. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/data-binding.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/data-binding.md index b4a6ac85cd..bda74db9d6 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/data-binding.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/data-binding.md @@ -47,7 +47,7 @@ To bind local JSON data to the Scheduler, you can simply assign a JavaScript obj N> By default, `dataManager` uses `JsonAdaptor` for local data-binding. -You can also bind different field names to the default event fields as well as include additional custom fields to the event object collection which can be referred [here](./appointments/#binding-different-field-names). +> You can also bind different field names to the default event fields as well as include additional `custom fields` to the event object collection which can be referred [here](./appointments/#binding-different-field-names). ## Binding remote data @@ -144,7 +144,7 @@ It is possible to create your own custom adaptor by extending the built-in avail ## Loading data via AJAX post -You can bind the event data through external ajax request and assign it to the `dataSource` property of Scheduler. In the following code example, we have retrieved the data from server with the help of ajax request and assigned the resultant data to the `dataSource` property of Scheduler within the `onSuccess` event of Ajax. +You can bind the event data through external ajax request and assign it to the [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleEventSettings~DataSource.html) property of Scheduler. In the following code example, we have retrieved the data from server with the help of ajax request and assigned the resultant data to the [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleEventSettings~DataSource.html) property of Scheduler within the `onSuccess` event of Ajax. {% if page.publishingplatform == "aspnet-core" %} @@ -233,7 +233,7 @@ During the time of Scheduler interacting with server, there are chances that som -The argument passed to the `actionFailure` event contains the error details returned from the server. +The argument passed to the [`actionFailure`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.Schedule~ActionFailure.html) event contains the error details returned from the server. ## Scheduler CRUD actions @@ -366,7 +366,7 @@ N> You can find the working sample [here](https://github.com/SyncfusionExamples/ ## Configuring Scheduler with Google API service -We have assigned our custom created Google Calendar url to the DataManager and assigned the same to the Scheduler `dataSource`. Since the events data retrieved from the Google Calendar will be in its own object format, therefore it needs to be resolved manually within the Scheduler’s `dataBinding` event. Within this event, the event fields needs to be mapped properly and then assigned to the result. +We have assigned our custom created Google Calendar url to the DataManager and assigned the same to the Scheduler [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleEventSettings~DataSource.html). Since the events data retrieved from the Google Calendar will be in its own object format, therefore it needs to be resolved manually within the Scheduler’s [`dataBinding`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DataBinding) event. Within this event, the event fields needs to be mapped properly and then assigned to the result. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/editor-template.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/editor-template.md index e959af7899..5adfec215b 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/editor-template.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/editor-template.md @@ -19,7 +19,7 @@ The editor window usually opens on the Scheduler, when a cell or event is double In mobile devices, you can open the detailed editor window in edit mode by clicking the edit icon on the popup, that opens on single tapping an event. You can also open it in add mode by single tapping a cell, which will display a `+` indication, clicking on it again will open the editor window. -N> You can also prevent the editor window from opening, by rendering Scheduler in a `readonly` mode or by doing code customization within the `popupOpen` event. +N> You can also prevent the editor window from opening, by rendering Scheduler in a [`readonly`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Readonly) mode or by doing code customization within the [`popupOpen`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event. ### How to change the editor window header title and text of footer buttons @@ -53,7 +53,7 @@ You can change the header title and the text of buttons displayed at the footer ### How to change the label text of default editor fields -To change the default labels such as Subject, Location and other field names in the editor window, make use of the `title` property available within the field option of `e-schedule-eventsettings`. +To change the default labels such as Subject, Location and other field names in the editor window, make use of the `title` property available within the field option of [`e-schedule-eventsettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings). {% if page.publishingplatform == "aspnet-core" %} @@ -115,7 +115,7 @@ N> Applicable validation rules can be referred from [form validation](http://ej2 ### Add additional fields to the default editor -The additional fields can be added to the default event editor by making use of the `popupOpen` event which gets triggered before the event editor opens on the Scheduler. The `popupOpen` is a client-side event that triggers before any of the generic popups opens on the Scheduler. The additional field (any of the form elements) should be added with a common class name `e-field`, so as to handle and process those additional data along with the default event object. In the following example, an additional field `Event Type` has been added to the default event editor and its value is processed accordingly. +The additional fields can be added to the default event editor by making use of the [`popupOpen`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event which gets triggered before the event editor opens on the Scheduler. The [`popupOpen`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) is a client-side event that triggers before any of the generic popups opens on the Scheduler. The additional field (any of the form elements) should be added with a common class name `e-field`, so as to handle and process those additional data along with the default event object. In the following example, an additional field `Event Type` has been added to the default event editor and its value is processed accordingly. {% if page.publishingplatform == "aspnet-core" %} @@ -145,7 +145,7 @@ The additional fields can be added to the default event editor by making use of ### Customizing the default time duration in editor window -In default event editor window, start and end time duration are processed based on the `interval` value set within the `timeScale` property. By default, `interval` value is set to 30, and therefore the start/end time duration within the event editor will be in a 30 minutes time difference. You can change this duration value by changing the `duration` option within the `popupOpen` event as shown in the following code example. +In default event editor window, start and end time duration are processed based on the `interval` value set within the [`timeScale`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeScale) property. By default, `interval` value is set to 30, and therefore the start/end time duration within the event editor will be in a 30 minutes time difference. You can change this duration value by changing the `duration` option within the [`popupOpen`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event as shown in the following code example. {% if page.publishingplatform == "aspnet-core" %} @@ -175,7 +175,7 @@ In default event editor window, start and end time duration are processed based ### How to prevent the display of editor and quick popups -It is possible to prevent the display of editor and quick popup windows by passing the value `true` to `cancel` option within the `popupOpen` event. +It is possible to prevent the display of editor and quick popup windows by passing the value `true` to `cancel` option within the [`popupOpen`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event. {% if page.publishingplatform == "aspnet-core" %} @@ -202,7 +202,7 @@ It is possible to prevent the display of editor and quick popup windows by passi -In case, if you need to prevent only specific popups on Scheduler, then you can check the condition based on the popup type. The types of the popup that can be checked within the `popupOpen` event are as follows. +In case, if you need to prevent only specific popups on Scheduler, then you can check the condition based on the popup type. The types of the popup that can be checked within the [`popupOpen`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event are as follows. | Type | Description | |------|-------------| @@ -216,7 +216,7 @@ In case, if you need to prevent only specific popups on Scheduler, then you can The quick info popups are the ones that gets opened, when a cell or appointment is single clicked on the desktop mode. On single clicking a cell, you can simply provide a subject and save it. Also, while single clicking on an event, a popup will be displayed where you can get the overview of the event information. You can also edit or delete those events through the options available in it. -By default, these popups are displayed over cells and appointments of Scheduler and to disable this action, set `false` to `showQuickInfo` property. +By default, these popups are displayed over cells and appointments of Scheduler and to disable this action, set `false` to [`showQuickInfo`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ShowQuickInfo) property. {% if page.publishingplatform == "aspnet-core" %} @@ -247,7 +247,7 @@ N> The quick popup that opens while single clicking on the cells are not applica ### How to open Quick Info popup on multiple cell selection -By default the `QuickInfo` popup will open on single click of the cell. To open the quick info popup on multiple cell selection, you need to select the cells and press `enter` key. You can open this popup immediately after multiple cell selection by setting up `true` to `quickInfoOnSelectionEnd` property where as its default value is `false`. +By default the `QuickInfo` popup will open on single click of the cell. To open the quick info popup on multiple cell selection, you need to select the cells and press `enter` key. You can open this popup immediately after multiple cell selection by setting up `true` to [`quickInfoOnSelectionEnd`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_QuickInfoOnSelectionEnd) property where as its default value is `false`. {% if page.publishingplatform == "aspnet-core" %} @@ -293,7 +293,7 @@ L10n.load({ ### Customizing quick popups -The look and feel of the built-in quick popup window, which opens when single clicked on the cells or appointments can be customized by making use of the `quickInfoTemplates` property of the Scheduler. There are 3 sub-options available to customize them easily, +The look and feel of the built-in quick popup window, which opens when single clicked on the cells or appointments can be customized by making use of the [`quickInfoTemplates`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_QuickInfoTemplates) property of the Scheduler. There are 3 sub-options available to customize them easily, * header - Accepts the template design that customizes the header part of the quick popup. * content - Accepts the template design that customizes the content part of the quick popup. @@ -325,11 +325,11 @@ The look and feel of the built-in quick popup window, which opens when single cl ![Display Customizing Quick Popups in ASP.NET Core Scheduler](images/schedule-custom-quick-popup.png) -N> The quick popup in adaptive mode can also be customized using `quickInfoTemplates` using `e-device` class. +N> The quick popup in adaptive mode can also be customized using [`quickInfoTemplates`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_QuickInfoTemplates) using `e-device` class. ### Customizing timezone collection in the editor window -By default, the timezone collections in the editor window have been loaded with built-in timezone collections. Now we can be able to customize the timezone collections using the `timezoneDataSource` property with the collection of `TimezoneFields` data. +By default, the timezone collections in the editor window have been loaded with built-in timezone collections. Now we can be able to customize the timezone collections using the [`timezoneDataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimezoneDataSource) property with the collection of `TimezoneFields` data. {% if page.publishingplatform == "aspnet-core" %} @@ -359,13 +359,13 @@ By default, the timezone collections in the editor window have been loaded with ## Customizing event editor using template -The event editor window can be customized by making use of the `editorTemplate` option. Here, the custom window design is built with the required fields using the script template and its type should be of **text/x-template**. +The event editor window can be customized by making use of the [`editorTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EditorTemplate) option. Here, the custom window design is built with the required fields using the script template and its type should be of **text/x-template**. -Each field defined within template should contain the **e-field** class, so as to allow the processing of those field values internally. The ID of this customized script template section is assigned to the `editorTemplate` option, so that these customized fields will be replaced onto the default editor window. +Each field defined within template should contain the **e-field** class, so as to allow the processing of those field values internally. The ID of this customized script template section is assigned to the [`editorTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EditorTemplate) option, so that these customized fields will be replaced onto the default editor window. >Note: **e-field** class only applicable for **DropDownList**, **DateTimePicker**, **MultiSelect**, **DatePicker**, **CheckBox** and **TextBox** components. Since we have processed the field values internally for the above mentioned components. -As we are using our Syncfusion sub-components within our editor using template in the following example, the custom defined form elements needs to be configured as required Syncfusion components such as **DropDownList** and **DateTimePicker** within the `popupOpen` event. This particular step can be skipped, if the user needs to simply use the usual form elements. +As we are using our Syncfusion sub-components within our editor using template in the following example, the custom defined form elements needs to be configured as required Syncfusion components such as **DropDownList** and **DateTimePicker** within the [`popupOpen`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event. This particular step can be skipped, if the user needs to simply use the usual form elements. {% if page.publishingplatform == "aspnet-core" %} @@ -517,11 +517,11 @@ In the following code example, validation has been added to the status field. ### How to save the customized event editor using template -The **e-field** class is not added to each field defined within the template, so you should allow to set those field values externally by using the `popupClose` event. +The **e-field** class is not added to each field defined within the template, so you should allow to set those field values externally by using the [`popupClose`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupClose) event. N> You can allow to retrieve the data only on the `save` and `delete` option. Data cannot be retrieved on the `close` and `cancel` options in the editor window. -The following code example shows how to save the customized event editor using a template by the `popupClose` event. +The following code example shows how to save the customized event editor using a template by the [`popupClose`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupClose) event. {% if page.publishingplatform == "aspnet-core" %} @@ -548,7 +548,7 @@ The following code example shows how to save the customized event editor using a -In case, if you need to prevent only specific popups on Scheduler, then you can check the condition based on the popup type. The types of the popup that can be checked within the `popupClose` event are as follows. +In case, if you need to prevent only specific popups on Scheduler, then you can check the condition based on the popup type. The types of the popup that can be checked within the [`popupClose`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupClose) event are as follows. | Type | Description | |------|-------------| @@ -566,7 +566,7 @@ In case, if you need to prevent only specific popups on Scheduler, then you can When the number of appointments count that lies on a particular time range * default appointment height exceeds the default height of a cell in month view and all other timeline views, a `+ more` text indicator will be displayed at the bottom of those cells. This indicator denotes that the cell contains few more appointments in it and clicking on that will display a popup displaying all the appointments present on that day. -N> To disable this option of showing popup with all hidden appointments, while clicking on the text indicator, you can do code customization within the `popupOpen` event. +N> To disable this option of showing popup with all hidden appointments, while clicking on the text indicator, you can do code customization within the [`popupOpen`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_PopupOpen) event. The same indicator is displayed on all-day row in calendar views such as day, week and work week views alone, when the number of appointment count present in a cell exceeds three. Clicking on the text indicator here will not open a popup, but will allow the expand/collapse option for viewing the remaining appointments present in the all-day row. @@ -629,7 +629,7 @@ The following code example shows you how to customize the default more indicator ### How to prevent the display of popup when clicking on the more text indicator -It is possible to prevent the display of popup window by passing the value `true` to `cancel` option within the `MoreEventsClick` event. +It is possible to prevent the display of popup window by passing the value `true` to `cancel` option within the [`MoreEventsClick`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MoreEventsClick) event. {% if page.publishingplatform == "aspnet-core" %} @@ -658,7 +658,7 @@ It is possible to prevent the display of popup window by passing the value `true ### How to navigate Day view when clicking on more text indicator -The following code example shows you how to customize the `moreEventsClick` property to navigate to the Day view when clicking on the more text indicator. +The following code example shows you how to customize the [`moreEventsClick`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_MoreEventsClick) property to navigate to the Day view when clicking on the more text indicator. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/getting-started.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/getting-started.md index b5b7a2257e..93a15716b8 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/getting-started.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/getting-started.md @@ -107,7 +107,7 @@ Press Ctrl+F5 (Windows) or ⌘+F5 (m ## Populating appointments -To populate an empty Scheduler with appointments, bind the event data to it by assigning the `dataSource` property under `e-schedule-eventsettings` tag Helper. +To populate an empty Scheduler with appointments, bind the event data to it by assigning the [](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_DataSource) property under `e-schedule-eventsettings` tag Helper. {% tabs %} {% highlight cshtml tabtitle="CSHTML" %} @@ -128,7 +128,7 @@ public class AppointmentData ## Setting date -Scheduler usually displays the system date as its current date. To change the current date of scheduler with specific date, define the `selectedDate` property. +Scheduler usually displays the system date as its current date. To change the current date of scheduler with specific date, define the [`selectedDate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_SelectedDate) property. {% tabs %} {% highlight cshtml tabtitle="CSHTML" %} @@ -147,7 +147,7 @@ public class AppointmentData ## Specific view -Scheduler displays `week` view by default. To change the current view, define the applicable view name to the `currentView` property. The applicable view names are, +Scheduler displays `week` view by default. To change the current view, define the applicable view name to the [`currentView`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CurrentView) property. The applicable view names are, * Day * Week diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-bar.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-bar.md index d768dc0ace..5a202881bd 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-bar.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-bar.md @@ -15,7 +15,7 @@ The header part of Scheduler can be customized easily with the built-in options ## Show or Hide header bar -By default, the header bar holds the date and view navigation options, through which the user can switch between the dates and various views. This header bar can be hidden from the UI by setting `false` to the `showHeaderBar` property. It's default value is `true`. +By default, the header bar holds the date and view navigation options, through which the user can switch between the dates and various views. This header bar can be hidden from the UI by setting `false` to the [`showHeaderBar`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ShowHeaderBar) property. It's default value is `true`. {% if page.publishingplatform == "aspnet-core" %} @@ -75,7 +75,7 @@ Apart from the default date navigation and view options available on the header ## How to display the view options within the header bar popup -By default, the header bar holds the view navigation options, through which the user can switch between various views. You can move this view options to the header bar popup by setting `true` to the `enableAdaptiveUI` property. +By default, the header bar holds the view navigation options, through which the user can switch between various views. You can move this view options to the header bar popup by setting `true` to the [`enableAdaptiveUI`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EnableAdaptiveUI) property. {% if page.publishingplatform == "aspnet-core" %} @@ -107,11 +107,11 @@ N> Refer [here](./resources/#adaptive-ui-in-desktop) to know more about adaptive ## Date header customization -The Scheduler UI that displays the date text on all views are considered as the date header cells. You can customize the date header cells of Scheduler either using `dateHeaderTemplate` or `renderCell` event. +The Scheduler UI that displays the date text on all views are considered as the date header cells. You can customize the date header cells of Scheduler either using [`dateHeaderTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateHeaderTemplate) or [`renderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event. ### Using date header template -The `dateHeaderTemplate` option is used to customize the date header cells of day, week and work-week views. +The [`dateHeaderTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateHeaderTemplate) option is used to customize the date header cells of day, week and work-week views. {% if page.publishingplatform == "aspnet-core" %} @@ -141,7 +141,7 @@ The `dateHeaderTemplate` option is used to customize the date header cells of da ### Using renderCell event -In month view, the date header template is not applicable and therefore the same customization can be added beside the date text in month cells by making use of the `renderCell` event. +In month view, the date header template is not applicable and therefore the same customization can be added beside the date text in month cells by making use of the [`renderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event. {% if page.publishingplatform == "aspnet-core" %} @@ -170,9 +170,9 @@ In month view, the date header template is not applicable and therefore the same ## Customizing the date range text -The `DateRangeTemplate` option allows you to customize the text content of the date range displayed in the scheduler. By default, the date range text is determined by the scheduler view being used. However, you can use the `DateRangeTemplate` option to override the default text and specify your own custom text to be displayed. +The [`DateRangeTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateRangeTemplate) option allows you to customize the text content of the date range displayed in the scheduler. By default, the date range text is determined by the scheduler view being used. However, you can use the [`DateRangeTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateRangeTemplate) option to override the default text and specify your own custom text to be displayed. -The `DateRangeTemplate` property includes `startDate`, `endDate` and `currentView` options, you can customize the date range text using these available options. +The [`DateRangeTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateRangeTemplate) property includes `startDate`, `endDate` and `currentView` options, you can customize the date range text using these available options. {% if page.publishingplatform == "aspnet-core" %} @@ -201,7 +201,7 @@ The `DateRangeTemplate` property includes `startDate`, `endDate` and `currentVie ## Customizing header indent cells -It is possible to customize the header indent cells using the `headerIndentTemplate` option and change the look and appearance in both the vertical and timeline views. In vertical views, You can customize the header indent cells at the hierarchy level and you can customize the resource header left indent cell in timeline views using the template option. +It is possible to customize the header indent cells using the [`headerIndentTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HeaderIndentTemplate) option and change the look and appearance in both the vertical and timeline views. In vertical views, You can customize the header indent cells at the hierarchy level and you can customize the resource header left indent cell in timeline views using the template option. **Example:** To customize the header left indent cell to display resources text, refer to the below code example. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md index 041df2c7b1..cb5b7f8738 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/header-rows.md @@ -11,7 +11,7 @@ documentation: ug # Timeline header rows -The Timeline views can have additional header rows other than its default date and time header rows. It is possible to show individual header rows for displaying year, month and week separately using the `headerRows` property. This property is applicable only on the timeline views. The possible rows which can be added using `headerRows` property are as follows. +The Timeline views can have additional header rows other than its default date and time header rows. It is possible to show individual header rows for displaying year, month and week separately using the [`headerRows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HeaderRows) property. This property is applicable only on the timeline views. The possible rows which can be added using `headerRows` property are as follows. * `Year` * `Month` @@ -51,7 +51,7 @@ The following example shows the Scheduler displaying all the available header ro ## Display year and month rows in timeline views -To display the timeline Scheduler simply with year and month names alone, define the option `Year` and `Month` within the `headerRows` property. +To display the timeline Scheduler simply with year and month names alone, define the option `Year` and `Month` within the [`headerRows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HeaderRows) property. {% if page.publishingplatform == "aspnet-core" %} @@ -81,7 +81,7 @@ To display the timeline Scheduler simply with year and month names alone, define ## Display week numbers in timeline views -The week number can be displayed in a separate header row of the timeline Scheduler by setting `Week` option within `headerRows` property. +The week number can be displayed in a separate header row of the timeline Scheduler by setting `Week` option within[`headerRows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HeaderRows) property. {% if page.publishingplatform == "aspnet-core" %} @@ -111,7 +111,7 @@ The week number can be displayed in a separate header row of the timeline Schedu ## Timeline view displaying dates of a complete year -It is possible to display a complete year in a timeline view by setting `interval` value as 12 and defining **TimelineMonth** view option within the `e-schedule-views` tag helper of Scheduler. +It is possible to display a complete year in a timeline view by setting [`interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_Interval) value as 12 and defining **TimelineMonth** view option within the [`e-schedule-views`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Views) tag helper of Scheduler. {% if page.publishingplatform == "aspnet-core" %} @@ -141,7 +141,7 @@ It is possible to display a complete year in a timeline view by setting `interva ## Customizing the header rows using template -You can customize the text of the header rows and display any images or formatted text on each individual header rows using the built-in `template` option available within the `headerRows` property. +You can customize the text of the header rows and display any images or formatted text on each individual header rows using the built-in `template` option available within the [`headerRows`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HeaderRows) property. To get start quickly about header row template option available in our Scheduler, you can check on this video: diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/localization.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/localization.md index 0aca38ec4b..479c1ba68f 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/localization.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/localization.md @@ -128,7 +128,7 @@ For example, the following code example lets you to define the Hungarian transla ## Setting date format -Scheduler can be used with all valid date formats and by default it follows the universal date format "MM/dd/yyyy". If the `dateFormat` property is not specified particularly, then it will work based on the locale that is assigned to the Scheduler. As the default locale applied on Scheduler is "en-US", this makes it to follow the "MM/dd/yyyy" pattern. +Scheduler can be used with all valid date formats and by default it follows the universal date format "MM/dd/yyyy". If the [`dateFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_DateFormat) property is not specified particularly, then it will work based on the locale that is assigned to the Scheduler. As the default locale applied on Scheduler is "en-US", this makes it to follow the "MM/dd/yyyy" pattern. {% if page.publishingplatform == "aspnet-core" %} @@ -158,7 +158,7 @@ Scheduler can be used with all valid date formats and by default it follows the ## Setting the time format -Time formats is a way of representing the time value in different string formats in the Scheduler. By default, the time mode of the Scheduler can be either 12 or 24 hours format which is completely based on the `locale` set to the Scheduler. Since the default `locale` value of the Scheduler is en-US, the time mode will be set to 12 hours format automatically. You can also customize the format by using the `timeFormat` property. To know more about the time format standards, refer to the [Date and Time Format](https://ej2.syncfusion.com/aspnetcore/documentation/common/internationalization/#custom-formats) section. +Time formats is a way of representing the time value in different string formats in the Scheduler. By default, the time mode of the Scheduler can be either 12 or 24 hours format which is completely based on the `locale` set to the Scheduler. Since the default `locale` value of the Scheduler is en-US, the time mode will be set to 12 hours format automatically. You can also customize the format by using the [`timeFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeFormat) property. To know more about the time format standards, refer to the [Date and Time Format](https://ej2.syncfusion.com/aspnetcore/documentation/common/internationalization/#custom-formats) section. The following example demonstrates the Scheduler component in 24 hours format. @@ -188,11 +188,11 @@ The following example demonstrates the Scheduler component in 24 hours format. ![Display Setting Time Format in ASP.NET Core Scheduler](images/schedule-time-format.png) -N> `timeFormat` property only accepts the valid time format's. +N> [`timeFormat`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeFormat) property only accepts the valid time format's. ## Displaying Scheduler in RTL mode -The Scheduler layout and its behavior can be changed as per the common RTL (Right to Left) conventions by setting `enableRtl` to `true`. By doing so, the Scheduler will display its usual layout from right to left. It's default value is `false`. +The Scheduler layout and its behavior can be changed as per the common RTL (Right to Left) conventions by setting [`enableRtl`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EnableRtl) to `true`. By doing so, the Scheduler will display its usual layout from right to left. It's default value is `false`. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/recurrence-editor.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/recurrence-editor.md index 1580bc5790..a2faa67cf6 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/recurrence-editor.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/recurrence-editor.md @@ -25,7 +25,7 @@ By default, there are 5 types of repeat options available in recurrence editor s * Monthly * Yearly -It is possible to customize the recurrence editor to display only the specific repeat options such as `Daily` and `Weekly` options alone by setting the appropriate `frequencies` option. +It is possible to customize the recurrence editor to display only the specific repeat options such as `Daily` and `Weekly` options alone by setting the appropriate [`frequencies`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.RecurrenceEditor.html#Syncfusion_EJ2_Schedule_RecurrenceEditor_Frequencies) option. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/resources.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/resources.md index 29fb046a64..1ba95d66e7 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/resources.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/resources.md @@ -23,7 +23,7 @@ To render a ASP.NET Core Scheduler with appointments from multiple resources, yo ## Resource fields -The default options available within the `resources` collection are as follows, +The default options available within the [`resources`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_Resources) collection are as follows, | Field name | Type | Description | |-------|---------| --------------- | @@ -49,7 +49,7 @@ The data for resources can bind with Scheduler either as a local JSON collection ### Using local JSON data -The following code example depicts how to bind the local JSON data to the `dataSource` of `resources` collection. +The following code example depicts how to bind the local JSON data to the `dataSource` of [`resources`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_Resources) collection. * Give the resource datasource in Index method * Add the Scheduler code in View page @@ -117,7 +117,7 @@ It is possible to display the Scheduler in default mode without visually showcas The appointments belonging to the different resources will be displayed altogether on the default Scheduler, which will be differentiated based on the resource color assigned in the `resources` (depicting to which resource that particular appointment belongs) collection. -**Example:** To display default Scheduler with multiple resource options in the event editor, ignore the group option and simply define the `resources` property with all its internal options. +**Example:** To display default Scheduler with multiple resource options in the event editor, ignore the group option and simply define the [`resources`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_Resources) property with all its internal options. {% if page.publishingplatform == "aspnet-core" %} @@ -245,7 +245,7 @@ This kind of grouping allows the Scheduler to display all the resources at a sin ![Display Grouping Single-level Resources in in ASP.NET Core Scheduler](images/scheduler-resource-singlelevel.png) -N> The `name` field defined in the **resources** collection namely `Owners` will be mapped within the `group` property, in order to enable the grouping option with those resource levels on the Scheduler. +N> The `name` field defined in the **resources** collection namely `Owners` will be mapped within the [`group`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property, in order to enable the grouping option with those resource levels on the Scheduler. ### Grouping multi-level resources @@ -279,7 +279,7 @@ It is possible to group the resources of Scheduler in multiple levels, by mappin ### One-to-One grouping -In multi-level grouping, Scheduler usually groups the resources on the child level based on the `groupIDField` that maps with the `idField` field of parent level resources (as `byGroupID` set to true by default). There are also option which allows you to group all the child resource(s) against each of its parent resource(s). To enable this kind of grouping, set `false` to the `byGroupID` option within the `group` property. In the following code example, there are two levels of resources, on which all the 3 resources at the child level is mapped one to one with each resource on the first level. +In multi-level grouping, Scheduler usually groups the resources on the child level based on the `groupIDField` that maps with the `idField` field of parent level resources (as [`byGroupID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_ByGroupID) set to true by default). There are also option which allows you to group all the child resource(s) against each of its parent resource(s). To enable this kind of grouping, set `false` to the [`byGroupID`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_ByGroupID) option within the [`group`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. In the following code example, there are two levels of resources, on which all the 3 resources at the child level is mapped one to one with each resource on the first level. {% if page.publishingplatform == "aspnet-core" %} @@ -309,7 +309,7 @@ In multi-level grouping, Scheduler usually groups the resources on the child lev ### Grouping resources by date -It groups the number of resources under each date and is applicable only on the calendar views such as Day, Week, Work Week, Month, Agenda and Month-Agenda. To enable such grouping, set `byDate` option to `true` within the `group` property. +It groups the number of resources under each date and is applicable only on the calendar views such as Day, Week, Work Week, Month, Agenda and Month-Agenda. To enable such grouping, set [`byDate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_ByDate) option to `true` within the [`group`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. **Example:** To display the Scheduler with resources grouped by date, @@ -343,7 +343,7 @@ N> This kind of grouping by date is not applicable on any of the **timeline view ## Customizing parent resource cells -In timeline view work cells of parent resource can be customized by checking the `elementType` as `resourceGroupCells` in the event `renderCell`. In the following code example, background color of the work hours has been changed. +In timeline view work cells of parent resource can be customized by checking the `elementType` as `resourceGroupCells` in the event [`renderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell). In the following code example, background color of the work hours has been changed. {% if page.publishingplatform == "aspnet-core" %} @@ -373,7 +373,7 @@ In timeline view work cells of parent resource can be customized by checking the ## Working with shared events -Multiple resources can share the same events, thus allowing the CRUD action made on it to reflect on all other shared instances simultaneously. To enable such option, set `allowGroupEdit` option to `true` within the `group` property. With this property enabled, a single appointment object will be maintained within the appointment collection, even if it is shared by more than one resource – whereas the resource fields of such appointment object will be in array which hold the IDs of the multiple resources. +Multiple resources can share the same events, thus allowing the CRUD action made on it to reflect on all other shared instances simultaneously. To enable such option, set [`allowGroupEdit`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_AllowGroupEdit) option to `true` within the [`group`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. With this property enabled, a single appointment object will be maintained within the appointment collection, even if it is shared by more than one resource – whereas the resource fields of such appointment object will be in array which hold the IDs of the multiple resources. N> Any actions such as create, edit or delete held on any one of the shared event instances, will be reflected on all other related instances visible on the UI. @@ -503,7 +503,7 @@ It is possible to expand and collapse the resources which have child resource in ## Displaying tooltip for resource headers -It is possible to display tooltip over the resource headers showing the resource information. By default, there won't be any tooltip displayed on the resource headers, and to enable it, you need to assign the customized template design to the `headerTooltipTemplate` option within the `group` property. +It is possible to display tooltip over the resource headers showing the resource information. By default, there won't be any tooltip displayed on the resource headers, and to enable it, you need to assign the customized template design to the [`headerTooltipTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_HeaderTooltipTemplate) option within the [`group`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. {% if page.publishingplatform == "aspnet-core" %} @@ -533,7 +533,7 @@ It is possible to display tooltip over the resource headers showing the resource ## Choosing between resource colors for appointments -By default, the colors defined on the top level resources collection will be applied for the events. In case, if you want to apply specific resource color to events irrespective of its top-level parent resource color, it can be achieved by defining `resourceColorField` option within the `eventSettings` property. +By default, the colors defined on the top level resources collection will be applied for the events. In case, if you want to apply specific resource color to events irrespective of its top-level parent resource color, it can be achieved by defining [`resourceColorField`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_ResourceColorField) option within the [`eventSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) property. In the following example, the colors mentioned in the second level will get applied over the events. @@ -563,7 +563,7 @@ In the following example, the colors mentioned in the second level will get appl ![Display Choosing Between Resource Colors for Appointments in ASP.NET Core Scheduler](images/scheduler-resource-colour.png) -N> The value of the `resourceColorField` field should be mapped with the `name` value given within the `resources` property. +N> The value of the `resourceColorField` field should be mapped with the `name` value given within the [`resources`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Resources) property. ## Dynamically add and remove resources @@ -598,7 +598,11 @@ To remove the resources dynamically, `removeResource` method is used which accep ## Setting different working days and hours for resources -Each resource in the Scheduler can have different working hours as well as different working days set to it. There are default options available within the `resources` collection, to customize the default working hours and days of the Scheduler. +Each resource in the Scheduler can have different `working hours` as well as different `working days` set to it. There are default options available within the `resources` collection, to customize the default working hours and days of the Scheduler. + + +* [Using the work day field for different work days](#Set-different-work-days) +* [Using the start hour and end hour fields for different work hours](#Set-different-work-hours) ### Set different work days @@ -632,11 +636,13 @@ Different working days can be set for the resources of Scheduler using the `work ### Set different work hours -Working hours indicates the work hour duration of a day, which is highlighted visually with active color over the work cells. Each resource on the Scheduler can be defined with its own set of working hours as depicted in the following example. +Different `working Hours` can be set for the resources of Scheduler using the `startHourField` and `sndHourField` property which maps the `startHourField` and `endHourField` field from the resource dataSource. * `startHourField` - Denotes the start time of the working/business hour in a day. * `endHourField` - Denotes the end time limit of the working/business hour in a day. +Working hours indicates the work hour duration of a day, which is highlighted visually with active color over the work cells. Each resource on the Scheduler can be defined with its own set of working hours as depicted in the following example. + {% if page.publishingplatform == "aspnet-core" %} {% tabs %} @@ -702,7 +708,7 @@ N> The `HideNonWorkingDays` property only applies when the Scheduler is grouped ## Compact view in mobile -Although the Scheduler views are designed keeping in mind the responsiveness of the control in mobile devices, however when using Scheduler with multiple resources - it is difficult to view all the resources and its relevant events at once on the mobile. Therefore, we have introduced a new compact mode specially for displaying multiple resources of Scheduler on mobile devices. By default, this mode is enabled while using Scheduler with multiple resources on mobile devices. If in case, you need to disable this compact mode, set `false` to the `enableCompactView` option within the `group` property. Disabling this option will display the exact desktop mode of Scheduler view on mobile devices. +Although the Scheduler views are designed keeping in mind the responsiveness of the control in mobile devices, however when using Scheduler with multiple resources - it is difficult to view all the resources and its relevant events at once on the mobile. Therefore, we have introduced a new compact mode specially for displaying multiple resources of Scheduler on mobile devices. By default, this mode is enabled while using Scheduler with multiple resources on mobile devices. If in case, you need to disable this compact mode, set `false` to the [`enableCompactView`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleGroup.html#Syncfusion_EJ2_Schedule_ScheduleGroup_EnableCompactView) option within the [`group`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) property. Disabling this option will display the exact desktop mode of Scheduler view on mobile devices. With this compact view enabled on mobile, you can view only single resource at a time and to switch to other resources, there is a TreeView at the left listing out all other available resources - clicking on which will display that particular resource and its related appointments. @@ -710,7 +716,7 @@ With this compact view enabled on mobile, you can view only single resource at a ## Adaptive UI in desktop -By default, the Scheduler layout adapts automatically in the desktop and mobile devices with appropriate UI changes. In case, if the user wants to display the Adaptive scheduler in desktop mode with adaptive enhancements, then the property `enableAdaptiveUI` can be set to true. Enabling this option will display the exact mobile mode of Scheduler view on desktop devices. +By default, the Scheduler layout adapts automatically in the desktop and mobile devices with appropriate UI changes. In case, if the user wants to display the Adaptive scheduler in desktop mode with adaptive enhancements, then the property [`enableAdaptiveUI`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EnableAdaptiveUI) can be set to true. Enabling this option will display the exact mobile mode of Scheduler view on desktop devices. Some of the default changes made for compact Scheduler to render in desktop devices are as follows, * View options displayed in the Navigation drawer. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/row-auto-height.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/row-auto-height.md index 549c7c0306..9080f67a3e 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/row-auto-height.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/row-auto-height.md @@ -13,7 +13,7 @@ documentation: ug By default, the height of the Scheduler rows in Timeline views are static and therefore, when the same time range holds multiple overlapping appointments, a `+n more` text indicator will be displayed. With this feature enabled, you can now view all the overlapping appointments present in those specific time range by auto-adjusting the row height based on the presence of the appointments count, instead of displaying the `+n more` text indicators. -To enable auto row height adjustments on Scheduler Timeline views and Month view, set `true` to the `rowAutoHeight` property whose default value is `false`. +To enable auto row height adjustments on Scheduler Timeline views and Month view, set `true` to the [`rowAutoHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) property whose default value is `false`. N> This auto row height adjustment is applicable only on all the Timeline views as well as on the calendar Month view. @@ -21,7 +21,7 @@ Now, let's see how it works on those applicable views with examples. ## Calendar month view -By default, the rows of the calendar Month view can hold only the limited appointments count based on its row height, and the rest of the overlapping appointments are indicated with a `+n more` text indicator. The following example shows how the month view row auto-adjusts based on the number of appointments count, when this `rowAutoHeight` feature is enabled. +By default, the rows of the calendar Month view can hold only the limited appointments count based on its row height, and the rest of the overlapping appointments are indicated with a `+n more` text indicator. The following example shows how the month view row auto-adjusts based on the number of appointments count, when this [`rowAutoHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) feature is enabled. {% if page.publishingplatform == "aspnet-core" %} @@ -51,7 +51,7 @@ By default, the rows of the calendar Month view can hold only the limited appoin ## Timeline views -When the feature `rowAutoHeight` is enabled in Timeline views, the row height gets auto-adjusted based on the number of overlapping events occupied on the same time range, which is demonstrated in the following example. +When the feature [`rowAutoHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) is enabled in Timeline views, the row height gets auto-adjusted based on the number of overlapping events occupied on the same time range, which is demonstrated in the following example. {% if page.publishingplatform == "aspnet-core" %} @@ -111,7 +111,7 @@ The following example shows how the auto row adjustment feature works on timelin ## Appointments occupying entire cell -By default, with the feature `rowAutoHeight`, there will be a space in the bottom of the cell when appointment is rendered. To avoid this space, we can set true to the property `ignoreWhitespace` with in `eventSettings` whereas its default property value is false. In the following code example, the whitespace below the appointments has been ignored. +By default, with the feature [`rowAutoHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight), there will be a space in the bottom of the cell when appointment is rendered. To avoid this space, we can set true to the property [`ignoreWhitespace`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_IgnoreWhitespace) with in [`eventSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) whereas its default property value is false. In the following code example, the whitespace below the appointments has been ignored. {% if page.publishingplatform == "aspnet-core" %} @@ -139,6 +139,6 @@ By default, with the feature `rowAutoHeight`, there will be a space in the botto ![Display Appointments Occupying Entire Cell in ASP.NET Core Scheduler](images/schedule-entire-cell.png) -**Note**: The property `ignoreWhitespace` will be applicable only when `rowAutoHeight` feature is enabled in the Scheduler. +**Note**: The property [`ignoreWhitespace`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_IgnoreWhitespace) will be applicable only when [`rowAutoHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) feature is enabled in the Scheduler. N> You can refer to our [ASP.NET Core Scheduler](https://www.syncfusion.com/aspnet-core-ui-controls/scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [ASP.NET Core Scheduler example](https://ej2.syncfusion.com/aspnetcore/Schedule/Overview#/material) to knows how to present and manipulate data. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/timescale.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/timescale.md index 4f5c3f0b46..bbab0201dd 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/timescale.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/timescale.md @@ -11,17 +11,17 @@ documentation: ug # TimeScale Customization -The time slots are usually the time cells that are displayed on the Day, Week and Work Week views of both the calendar (to the left most position) and timeline views (at the top position). The `timeScale` property allows you to control and set the required time slot duration for the work cells displayed on Scheduler. It includes the following sub-options such as, +The time slots are usually the time cells that are displayed on the Day, Week and Work Week views of both the calendar (to the left most position) and timeline views (at the top position). The [`timeScale`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeScale) property allows you to control and set the required time slot duration for the work cells displayed on Scheduler. It includes the following sub-options such as, -* `enable` - When set to `true`, allows the Scheduler to display the appointments accurately against the exact time duration. If set to `false`, all the appointments of a day will be displayed one below the other with no grid lines displayed. Its default value is `true`. -* `interval` – Defines the time duration on which the time axis to be displayed either in 1 hour or 30 minutes interval and so on. It accepts the values in minutes and defaults to 60. -* `slotCount` – Decides the number of slot count to be split for the specified time interval duration. It defaults to 2, thus displaying two slots to represent an hour(each slot depicting 30 minutes duration). +* [`enable`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_Enable) - When set to `true`, allows the Scheduler to display the appointments accurately against the exact time duration. If set to `false`, all the appointments of a day will be displayed one below the other with no grid lines displayed. Its default value is `true`. +* [`interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_Interval) – Defines the time duration on which the time axis to be displayed either in 1 hour or 30 minutes interval and so on. It accepts the values in minutes and defaults to 60. +* [`slotCount`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_SlotCount) – Decides the number of slot count to be split for the specified time interval duration. It defaults to 2, thus displaying two slots to represent an hour(each slot depicting 30 minutes duration). >Note: The upper limit for rendering slots within a single day, utilizing the **interval** and **slotCount** properties of the **timeScale**, stands at 1000. This constraint aligns with the maximum **colspan** value permissible for the **table** element, also capped at 1000. This particular restriction is relevant exclusively to the `TimelineDay`, `TimelineWeek` and `TimelineWorkWeek` views. ## Setting different time slot duration -The `interval` and `slotCount` properties can be used together on the Scheduler to set different time slot duration which is depicted in the following code example. Here, six time slots together represents an hour. +The [`interval`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_Interval) and [`slotCount`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_SlotCount) properties can be used together on the Scheduler to set different time slot duration which is depicted in the following code example. Here, six time slots together represents an hour. {% if page.publishingplatform == "aspnet-core" %} @@ -51,10 +51,10 @@ The `interval` and `slotCount` properties can be used together on the Scheduler ## Customizing time cells using template -The `timeScale` property also provides template option to allow customization of time slots which are as follows, +The [`timeScale`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeScale) property also provides template option to allow customization of time slots which are as follows, -* `majorSlotTemplate` - The template option to be applied for major time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template. -* `minorSlotTemplate` - The template option to be applied for minor time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template. +* [`majorSlotTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_MajorSlotTemplate) - The template option to be applied for major time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template. +* [`minorSlotTemplate`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleTimeScale.html#Syncfusion_EJ2_Schedule_ScheduleTimeScale_MinorSlotTemplate) - The template option to be applied for minor time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template. {% if page.publishingplatform == "aspnet-core" %} @@ -84,7 +84,7 @@ The `timeScale` property also provides template option to allow customization of ## Hide the timescale -The grid lines which indicates the exact time duration can be enabled or disabled on the Scheduler, by setting `true` or `false` to the `enable` option within the `timeScale` property. It's default value is `true`. +The grid lines which indicates the exact time duration can be enabled or disabled on the Scheduler, by setting `true` or `false` to the `enable` option within the [`timeScale`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_TimeScale) property. It's default value is `true`. {% if page.publishingplatform == "aspnet-core" %} @@ -114,7 +114,7 @@ The grid lines which indicates the exact time duration can be enabled or disable ## Highlighting current date and time -By default, Scheduler indicates current date with a highlighted date header on all views, as well as marks accurately the system's current time on specific views such as Day, Week, Work Week, Timeline Day, Timeline Week and Timeline Work Week views. To stop highlighting the current time indicator on Scheduler views, set `false` to the `showTimeIndicator` property which defaults to `true`. +By default, Scheduler indicates current date with a highlighted date header on all views, as well as marks accurately the system's current time on specific views such as Day, Week, Work Week, Timeline Day, Timeline Week and Timeline Work Week views. To stop highlighting the current time indicator on Scheduler views, set `false` to the [`showTimeIndicator`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_ShowTimeIndicator) property which defaults to `true`. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/timezone.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/timezone.md index 45c7f8d3c2..5678aedbc3 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/timezone.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/timezone.md @@ -11,7 +11,7 @@ documentation: ug # Timezone -The Scheduler makes use of the current system time zone by default. If it needs to follow some other user-specific time zone, then the `timezone` property needs to be used. Apart from the default action of applying specific timezone to the Scheduler, it is also possible to set different time zone values for each appointments through the properties `startTimezone` and `endTimezone` which can be defined as separate fields within the event fields collection. +The Scheduler makes use of the current system time zone by default. If it needs to follow some other user-specific time zone, then the [`timezone`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Timezone) property needs to be used. Apart from the default action of applying specific timezone to the Scheduler, it is also possible to set different time zone values for each appointments through the properties [`startTimezone`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTimezone) and [`endTimezone`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTimezone) which can be defined as separate fields within the event fields collection. >Note: **timezone** property only applicable for the appointment processing and current time indication. @@ -52,7 +52,7 @@ The following code example displays an appointment from 9.00 AM to 10.00 AM when ## Scheduler set to specific timezone -When a timezone is set to Scheduler through `timezone` property, the appointments will be displayed exactly based on the Scheduler timezone regardless of its client timezone. In core application, client timezone will be added by default. In order to render the appointments in the timezone which has been set to the scheduler, add the following code snippet in your `Startup.cs` file like below. +When a timezone is set to Scheduler through [`timezone`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Timezone) property, the appointments will be displayed exactly based on the Scheduler timezone regardless of its client timezone. In core application, client timezone will be added by default. In order to render the appointments in the timezone which has been set to the scheduler, add the following code snippet in your `Startup.cs` file like below. {% tabs %} {% highlight c# tabtitle=".NET 2.2"%} @@ -114,7 +114,7 @@ In the following code example, appointments will be displayed based on Eastern T ## Display events on same time everywhere with no time difference -Setting `timezone` to UTC for Scheduler will display the appointments on same time as in the database for all the users in different time zone. +Setting [`timezone`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Timezone) to UTC for Scheduler will display the appointments on same time as in the database for all the users in different time zone. {% if page.publishingplatform == "aspnet-core" %} @@ -143,7 +143,7 @@ Setting `timezone` to UTC for Scheduler will display the appointments on same ti ## Set specific timezone for events -It is possible to set different timezone for Scheduler events by setting `startTimezone` and `endTimezone` properties within the `eventSettings` option. It allows each appointment to maintain different timezone and displays on Scheduler with appropriate time differences. +It is possible to set different timezone for Scheduler events by setting [`startTimezone`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTimezone) and [`endTimezone`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTimezone) properties within the [`eventSettings`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EventSettings) option. It allows each appointment to maintain different timezone and displays on Scheduler with appropriate time differences. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/views.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/views.md index deb482b5f6..fb1fd91b00 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/views.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/views.md @@ -19,7 +19,7 @@ N> By default, Scheduler displays the calendar views such as day, week, work wee ## Setting specific view on scheduler -As the Scheduler displays `Week` view by default, therefore to change the active view, set `currentView` property with the desired view name. The applicable view names that the Scheduler accepts are as follows, +As the Scheduler displays `Week` view by default, therefore to change the active view, set [`currentView`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_CurrentView) property with the desired view name. The applicable view names that the Scheduler accepts are as follows, * Day * Week @@ -92,7 +92,7 @@ To configure Scheduler with different configurations on each view, refer the fol ## View specific configuration -There are scenarios where each view may need to have different configurations. For such cases, you can define the applicable scheduler properties within the `views` Property for each view option as depicted in the following examples. The fields available to be used within each view options are as follows. +There are scenarios where each view may need to have different configurations. For such cases, you can define the applicable scheduler properties within the [`views`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Views) Property for each view option as depicted in the following examples. The fields available to be used within each view options are as follows. | Property | Type | Description | Applicable views | |----------|------|-------------|------------------| @@ -104,7 +104,7 @@ There are scenarios where each view may need to have different configurations. F | `dateHeaderTemplate` | String | The template option which is used to customize the date header cells and is applied only on the views, wherever it is defined. | All views. | | `eventTemplate` | String | The template option to customize the events background. It will get applied to the events of the view to which it is currently being defined. | All views. | | `showWeekend` | Boolean | When set to `false`, it hides the weekend days of a week from the views on which it is defined.| All views. | -| `group` | [GroupModel](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleGroup_members.html) | Allows to set different resource grouping options on all available Scheduler view modes. | All views. | +| [`group`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Group) | [GroupModel](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleGroup_members.html) | Allows to set different resource grouping options on all available Scheduler view modes. | All views. | | `cellTemplate` | String | The template option to customize the work cells of the Scheduler and is applied only on the views, on which it is defined. | Applicable on all views except Agenda view. | | `workDays` | Number[] | It is used to set the working days on the Scheduler views. | Applicable on all views except Agenda view. | | `displayName` | String | When a particular view is customized to display with different intervals, this property allows the user to set different display name for each of the views. | Applicable on all views except Agenda and Month Agenda. | @@ -284,7 +284,7 @@ N> The year view also has module support. In that, you can get all the months of ### Agenda view -The Agenda view lists out the appointments in a grid-like view for the next 7 days by default from the current date. The count of the days can be changed using the API `agendaDaysCount`. It allows virtual scrolling of dates by enabling the `allowVirtualScrolling` property. Also, you can enable or disable the display of days on Scheduler that has no appointments by setting true or false to the `hideEmptyAgendaDays` property. +The Agenda view lists out the appointments in a grid-like view for the next 7 days by default from the current date. The count of the days can be changed using the API [`agendaDaysCount`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_AgendaDaysCount). It allows virtual scrolling of dates by enabling the `allowVirtualScrolling` property. Also, you can enable or disable the display of days on Scheduler that has no appointments by setting true or false to the [`hideEmptyAgendaDays`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_HideEmptyAgendaDays) property. The following code example depicts how to customize the display of events within Agenda view alone. @@ -534,7 +534,7 @@ The following code example depicts how to group the multiple resources on Timeli #### Auto row height -Timeline Year view supports Auto row height. When the feature `rowAutoHeight` is enabled, the row height gets auto-adjusted based on the number of overlapping events occupied in the same time range. If you disable the Auto row height, you have the `+ more` text indicator on each day cell of a Timeline Year view, clicking on which will allow you to view the hidden appointments of a day. +Timeline Year view supports Auto row height. When the feature [`rowAutoHeight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RowAutoHeight) is enabled, the row height gets auto-adjusted based on the number of overlapping events occupied in the same time range. If you disable the Auto row height, you have the `+ more` text indicator on each day cell of a Timeline Year view, clicking on which will allow you to view the hidden appointments of a day. {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/working-days.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/working-days.md index bcef2f320c..bc2785c557 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/working-days.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/working-days.md @@ -163,9 +163,9 @@ N> Enable the `showWeekNumber` property to configure the `weekRule` property. Al Working hours indicates the work hour limit within the Scheduler, which is visually highlighted with an active color on work cells. The working hours can be set on Scheduler using the `workHours` property which is of object type and includes the following sub-options, -* `highlight` – enables/disables the highlighting of work hours. -* `start` - sets the start time of the working/business hour of a day. -* `end` - sets the end time limit of the working/business hour of a day. +* [`highlight`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleWorkHours.html#Syncfusion_EJ2_Schedule_ScheduleWorkHours_Highlight) – enables/disables the highlighting of work hours. +* [`start`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleWorkHours.html#Syncfusion_EJ2_Schedule_ScheduleWorkHours_Start) - sets the start time of the working/business hour of a day. +* [`end`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleWorkHours.html#Syncfusion_EJ2_Schedule_ScheduleWorkHours_End) - sets the end time limit of the working/business hour of a day. {% if page.publishingplatform == "aspnet-core" %} @@ -195,7 +195,7 @@ Working hours indicates the work hour limit within the Scheduler, which is visua ## Scheduler displaying custom hours -It is possible to display the event Scheduler layout with specific time durations by hiding the unwanted hours. To do so, set the start and end hour for the Scheduler using the `startHour` and `endHour` properties respectively. +It is possible to display the event Scheduler layout with specific time durations by hiding the unwanted hours. To do so, set the start and end hour for the Scheduler using the [`startHour`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_StartHour) and [`endHour`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_EndHour) properties respectively. The following code example displays the Scheduler starting from the time range 7.00 AM to 6.00 PM and the remaining hours are hidden on the UI. @@ -227,7 +227,7 @@ The following code example displays the Scheduler starting from the time range 7 ## Setting start day of the week -By default, Scheduler defaults to `Sunday` as its first day of a week. To change the Scheduler's start day of a week with different day, set the `firstDayOfWeek` property with the values ranging from 0 to 6. +By default, Scheduler defaults to `Sunday` as its first day of a week. To change the Scheduler's start day of a week with different day, set the [`firstDayOfWeek`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_FirstDayOfWeek) property with the values ranging from 0 to 6. N> Here, Sunday is always denoted as 0, Monday as 1 and so on. From feb6b0ed85877d976e874415a5ff23155e7c58ec Mon Sep 17 00:00:00 2001 From: Viswajith-SF4388 <154953446+Viswajith-SF4388@users.noreply.github.com> Date: Thu, 11 Jul 2024 14:56:51 +0530 Subject: [PATCH 2/3] 895785: Address the peer review correction in UG documentation in asp core and mvc platform. --- .../EJ2_ASP.MVC/cell-customization.md | 4 ++-- .../schedule/EJ2_ASP.MVC/context-menu.md | 4 ++-- .../schedule/EJ2_ASP.MVC/crud-actions.md | 4 ++-- .../schedule/EJ2_ASP.MVC/data-binding.md | 4 ++-- .../schedule/EJ2_ASP.MVC/header-rows.md | 2 +- ...enable-scroll-option-on-all-day-section.md | 2 +- .../how-to/prevent-date-navigation.md | 2 +- .../how-to/set-different-work-hours.md | 2 +- .../schedule/EJ2_ASP.MVC/recurrence-editor.md | 4 ++-- .../schedule/EJ2_ASP.MVC/row-auto-height.md | 4 ++-- .../schedule/EJ2_ASP.MVC/timescale.md | 2 +- .../schedule/EJ2_ASP.MVC/timezone.md | 4 ++-- .../schedule/EJ2_ASP.MVC/views.md | 4 ++-- .../schedule/EJ2_ASP.MVC/working-days.md | 4 ++-- .../EJ2_ASP.NETCORE/cell-customization.md | 4 ++-- .../schedule/EJ2_ASP.NETCORE/context-menu.md | 4 ++-- .../schedule/EJ2_ASP.NETCORE/crud-actions.md | 4 ++-- .../schedule/EJ2_ASP.NETCORE/data-binding.md | 4 ++-- .../EJ2_ASP.NETCORE/getting-started.md | 4 ++-- .../schedule-editor-custom-header-footer.png | Bin 121879 -> 44533 bytes 20 files changed, 33 insertions(+), 33 deletions(-) diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/cell-customization.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/cell-customization.md index e98c1769bc..d6f6afc45f 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/cell-customization.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/cell-customization.md @@ -1,6 +1,6 @@ --- layout: post -title: Cell Customization in ##Platform_Name## Schedule Component +title: Cell Customization in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Cell Customization in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Cell Customization @@ -9,7 +9,7 @@ documentation: ug --- -# Cell Customization +# Cell Customization in ##Platform_Name## Schedule Component The cells of the Scheduler can be easily customized either using the cell template or [`RenderCell`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/context-menu.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/context-menu.md index 26dfec3075..49a218c166 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/context-menu.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/context-menu.md @@ -1,6 +1,6 @@ --- layout: post -title: Context Menu in ##Platform_Name## Schedule Component +title: Context Menu in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Context Menu in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Context Menu @@ -9,7 +9,7 @@ documentation: ug --- -# Context menu +# Context menu in ##Platform_Name## Schedule Component You can display context menu on work cells and appointments of Scheduler by making use of the [`ContextMenu`](https://ej2.syncfusion.com/aspnetmvc/documentation/context-menu/getting-started) control manually from the application end. In the following code example, context menu control is being added from sample end and set its target as `Scheduler`. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/crud-actions.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/crud-actions.md index a220aedbd7..361505c482 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/crud-actions.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/crud-actions.md @@ -1,6 +1,6 @@ --- layout: post -title: Crud Actions in ##Platform_Name## Schedule Component +title: Crud Actions in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Crud Actions in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Crud Actions @@ -9,7 +9,7 @@ documentation: ug --- -# CRUD Actions +# CRUD Actions in ##Platform_Name## Schedule Component Events, a.k.a. Appointments, play an important role in Scheduler with which the users mostly interact. You can easily manipulate (add/edit/delete) the desired appointments as and when required either using the editor window or through the drag and resize action. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/data-binding.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/data-binding.md index 4f9decd98e..044c158e79 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/data-binding.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/data-binding.md @@ -1,6 +1,6 @@ --- layout: post -title: Data Binding in ##Platform_Name## Schedule Component +title: Data Binding in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Data Binding in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Data Binding @@ -9,7 +9,7 @@ documentation: ug --- -# Data-binding +# Data-binding in ##Platform_Name## Schedule Component The Scheduler uses `DataManager`, which supports both RESTful JSON data services binding and local JavaScript object array binding. The [`DataSource`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleEventSettings~DataSource.html) property can be assigned either with the instance of `DataManager` or JavaScript object array collection. It supports two kinds of data binding method: diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-rows.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-rows.md index e8583f9791..bd9040114d 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-rows.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/header-rows.md @@ -1,6 +1,6 @@ --- layout: post -title: Header Rows in ##Platform_Name## Schedule Component +title: Header Rows in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Header Rows in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Header Rows diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/enable-scroll-option-on-all-day-section.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/enable-scroll-option-on-all-day-section.md index bffa4824ed..0106f09361 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/enable-scroll-option-on-all-day-section.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/enable-scroll-option-on-all-day-section.md @@ -1,6 +1,6 @@ --- layout: post -title: Enable Scroll Option On All Day Section in ##Platform_Name## Schedule Component +title: Enable Scroll Option On All Day Section in ##Platform_Name## Schedule| Syncfusion description: Learn here all about Enable Scroll Option On All Day Section in Syncfusion ##Platform_Name## Schedule component of syncfusion and more. platform: ej2-asp-core-mvc control: Enable Scroll Option On All Day Section diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/prevent-date-navigation.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/prevent-date-navigation.md index 248697a868..fc371f01cd 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/prevent-date-navigation.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/prevent-date-navigation.md @@ -1,6 +1,6 @@ --- layout: post -title: Prevent Date Navigation in ##Platform_Name## Schedule Component +title: Prevent Date Navigation in ##Platform_Name## Schedule | Syncfusion description: Learn here all about Prevent Date Navigation in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Prevent Date Navigation diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/set-different-work-hours.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/set-different-work-hours.md index ff1a029fe3..ba4a9d0a72 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/set-different-work-hours.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/set-different-work-hours.md @@ -1,6 +1,6 @@ --- layout: post -title: Set Different Work Hours in ##Platform_Name## Schedule Component +title: Set Different Work Hours in ##Platform_Name## Schedule | Syncfusion description: Learn here all about Set Different Work Hours in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Set Different Work Hours diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/recurrence-editor.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/recurrence-editor.md index 4379e38920..6682a538aa 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/recurrence-editor.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/recurrence-editor.md @@ -1,6 +1,6 @@ --- layout: post -title: Recurrence Editor in ##Platform_Name## Schedule Component +title: Recurrence Editor in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Recurrence Editor in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Recurrence Editor @@ -9,7 +9,7 @@ documentation: ug --- -# Recurrence editor +# Recurrence editor in ##Platform_Name## Schedule Component The Recurrence editor is integrated into Scheduler editor window by default, to process the recurrence rule generation for events. Apart from this, it can also be used as an individual component referring from the Scheduler repository to work with the recurrence related processes. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/row-auto-height.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/row-auto-height.md index 7b12248643..fc96532926 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/row-auto-height.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/row-auto-height.md @@ -1,6 +1,6 @@ --- layout: post -title: Row Auto Height in ##Platform_Name## Schedule Component +title: Row Auto Height in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Row Auto Height in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Row Auto Height @@ -9,7 +9,7 @@ documentation: ug --- -# Row Auto Height +# Row Auto Height in ##Platform_Name## Schedule Component By default, the height of the Scheduler rows in Timeline views are static and therefore, when the same time range holds multiple overlapping appointments, a `+n more` text indicator will be displayed. With this feature enabled, you can now view all the overlapping appointments present in those specific time range by auto-adjusting the row height based on the presence of the appointments count, instead of displaying the `+n more` text indicators. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timescale.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timescale.md index 7860115546..d77e52a97f 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timescale.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timescale.md @@ -1,6 +1,6 @@ --- layout: post -title: Timescale in ##Platform_Name## Schedule Component +title: Timescale in ##Platform_Name## Schedule Component | Syncfusion description: Learn here all about Timescale in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Timescale diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timezone.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timezone.md index 7b7d8c22bc..ca9fcdf506 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timezone.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/timezone.md @@ -1,6 +1,6 @@ --- layout: post -title: Timezone in ##Platform_Name## Schedule Component +title: Timezone in ##Platform_Name## Schedule Component | Syncfusion description: Learn here all about Timezone in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Timezone @@ -9,7 +9,7 @@ documentation: ug --- -# Timezone +# Timezone Customization The Scheduler makes use of the current system time zone by default. If it needs to follow some other user-specific time zone, then the [`Timezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_Timezone) property needs to be used. Apart from the default action of applying specific timezone to the Scheduler, it is also possible to set different time zone values for each appointments through the properties [`StartTimezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_StartTimezone) and [`EndTimezone`](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Schedule.ScheduleField.html#Syncfusion_EJ2_Schedule_ScheduleField_EndTimezone) which can be defined as separate fields within the event fields collection. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/views.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/views.md index 9fc1de005a..a5df09baf5 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/views.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/views.md @@ -1,6 +1,6 @@ --- layout: post -title: Views in ##Platform_Name## Schedule Component +title: Views in ##Platform_Name## Schedule Component | Syncfusion description: Learn here all about Views in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Views @@ -9,7 +9,7 @@ documentation: ug --- -# Views +# Views in ##Platform_Name## Schedule Component The Scheduler includes wide variety of view modes with unique configuration options for each view. The available view modes are Day, Week, Work Week, Month, Year, Agenda, Month Agenda, Timeline Day, Timeline Week, Timeline Work Week and Timeline Month, Timeline Year, out of which the `Week` view is set as active. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/working-days.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/working-days.md index 23f8f94733..12b87a90fa 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/working-days.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/working-days.md @@ -1,6 +1,6 @@ --- layout: post -title: Working Days in ##Platform_Name## Schedule Component +title: Working Days in ##Platform_Name## Schedule Component | Syncfusion description: Learn here all about Working Days in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Working Days @@ -127,7 +127,7 @@ By default, week numbers are shown in the Scheduler based on the first day of th `FirstFullWeek` – The first week of the year begins when meeting the first day of the week (firstDayOfWeek) and the first day of the year. -For more details refer to [this link](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.calendarweekrule?view=net-8.0#remarks) +For more details refer to [this link](https://docs.microsoft.com/en-us/dotnet/api/system.globalization.calendarweekrule?view=net-5.0#remarks) {% if page.publishingplatform == "aspnet-core" %} diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/cell-customization.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/cell-customization.md index 7ffce6cf19..e1bc1fa0cd 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/cell-customization.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/cell-customization.md @@ -1,6 +1,6 @@ --- layout: post -title: Cell Customization in ##Platform_Name## Schedule Component +title: Cell Customization in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Cell Customization in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Cell Customization @@ -9,7 +9,7 @@ documentation: ug --- -# Cell Customization +# Cell Customization in ##Platform_Name## Schedule Component The cells of the Scheduler can be easily customized either using the cell template or [`renderCell`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.Schedule.html#Syncfusion_EJ2_Schedule_Schedule_RenderCell) event. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/context-menu.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/context-menu.md index c4a9a9953a..6539836f0a 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/context-menu.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/context-menu.md @@ -1,6 +1,6 @@ --- layout: post -title: Context Menu in ##Platform_Name## Schedule Component +title: Context Menu in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Context Menu in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Context Menu @@ -9,7 +9,7 @@ documentation: ug --- -# Context menu +# Context menu in ##Platform_Name## Schedule Component You can display context menu on work cells and appointments of Scheduler by making use of the [`ContextMenu`](https://ej2.syncfusion.com/aspnetcore/documentation/context-menu/getting-started) control manually from the application end. In the following code example, context menu control is being added from sample end and set its target as `Scheduler`. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/crud-actions.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/crud-actions.md index ec3a9efa35..ecca3eced8 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/crud-actions.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/crud-actions.md @@ -1,6 +1,6 @@ --- layout: post -title: Crud Actions in ##Platform_Name## Schedule Component +title: Crud Actions in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Crud Actions in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Crud Actions @@ -9,7 +9,7 @@ documentation: ug --- -# CRUD Actions +# CRUD Actions in ##Platform_Name## Schedule Component Events, a.k.a. Appointments, play an important role in Scheduler with which the users mostly interact. You can easily manipulate (add/edit/delete) the desired appointments as and when required either using the editor window or through the drag and resize action. diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/data-binding.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/data-binding.md index bda74db9d6..080381dfbb 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/data-binding.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/data-binding.md @@ -1,6 +1,6 @@ --- layout: post -title: Data Binding in ##Platform_Name## Schedule Component +title: Data Binding in ##Platform_Name## Schedule Component| Syncfusion description: Learn here all about Data Binding in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Data Binding @@ -9,7 +9,7 @@ documentation: ug --- -# Data-binding +# Data-binding in ##Platform_Name## Schedule Component The Scheduler uses `dataManager`, which supports both RESTful JSON data services binding and local JavaScript object array binding. The [`dataSource`](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2~Syncfusion.EJ2.Schedule.ScheduleEventSettings~DataSource.html) property can be assigned either with the instance of `dataManager` or JavaScript object array collection. It supports two kinds of data binding method: diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/getting-started.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/getting-started.md index 93a15716b8..cf3e112379 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/getting-started.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.NETCORE/getting-started.md @@ -1,6 +1,6 @@ --- layout: post -title: Getting Started with ##Platform_Name## Schedule Control +title: Getting Started with ##Platform_Name## Schedule Control| Syncfusion description: Checkout and learn about getting started with ##Platform_Name## Schedule control of Syncfusion Essential JS 2 and more details. platform: ej2-asp-core-mvc control: Getting Started @@ -107,7 +107,7 @@ Press Ctrl+F5 (Windows) or ⌘+F5 (m ## Populating appointments -To populate an empty Scheduler with appointments, bind the event data to it by assigning the [](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_DataSource) property under `e-schedule-eventsettings` tag Helper. +To populate an empty Scheduler with appointments, bind the event data to it by assigning the [DataSource](https://help.syncfusion.com/cr/aspnetcore-js2/Syncfusion.EJ2.Schedule.ScheduleEventSettings.html#Syncfusion_EJ2_Schedule_ScheduleEventSettings_DataSource) property under `e-schedule-eventsettings` tag Helper. {% tabs %} {% highlight cshtml tabtitle="CSHTML" %} diff --git a/ej2-asp-core-mvc/schedule/images/schedule-editor-custom-header-footer.png b/ej2-asp-core-mvc/schedule/images/schedule-editor-custom-header-footer.png index 0df1b9574e46f2de7af41c6524948cc98b75fe59..373e08e29cbae4d13e57891ef6192b4e7ae42747 100644 GIT binary patch literal 44533 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 Date: Thu, 11 Jul 2024 15:26:21 +0530 Subject: [PATCH 3/3] 895785: Address the peer review correction in UG documentation in asp core and mvc platform. --- .../schedule/EJ2_ASP.MVC/how-to/open-event-editor-manually.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/open-event-editor-manually.md b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/open-event-editor-manually.md index b10faf4863..c565061151 100644 --- a/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/open-event-editor-manually.md +++ b/ej2-asp-core-mvc/schedule/EJ2_ASP.MVC/how-to/open-event-editor-manually.md @@ -1,6 +1,6 @@ --- layout: post -title: Open Event Editor Manually in ##Platform_Name## Schedule Component +title: Open Event Editor Manually in ##Platform_Name## Schedule | Syncfusion description: Learn here all about Open Event Editor Manually in Syncfusion ##Platform_Name## Schedule component of Syncfusion Essential JS 2 and more. platform: ej2-asp-core-mvc control: Open Event Editor Manually