Skip to content

Commit ea91c5d

Browse files
committed
Sync with Kendo UI Professional
1 parent 139a15e commit ea91c5d

File tree

18 files changed

+403
-36
lines changed

18 files changed

+403
-36
lines changed

Diff for: docs-aspnet/deployment/ci-cd-license-key.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ The recommended way to provide your license key to the `Telerik.Licensing` NuGet
4646
1. After running `npm install` or `yarn`, add a build step to activate the license:
4747
```YAML
4848
env:
49-
TELERIK_LICENSE: ${{ "{{ secrets.Telerik_License_Key }}" }}
49+
TELERIK_LICENSE: {% raw %}${{ secrets.Telerik_License_Key }}{% endraw %}
5050
```
5151
5252
## Next Steps

Diff for: docs-aspnet/getting-started-core/first-steps.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -250,13 +250,13 @@ To generate your license file and add it to your application, follow the instruc
250250
## Next Steps
251251

252252
* [Overview of the UI for ASP.NET Core installation methods]({% slug downloadinstall_aspnetcore %})
253-
* [Create your own custom bundles]({% slug custombundles_core %})
254-
* [Explore the helper script dependencies]({% slug script_filesfor_barcodes_widgets %})
255253
* [How to update UI for ASP.NET Core to a new version]({% slug upgrade_aspnetcore %}#upgrading-to-new-versions)
254+
* [Create a New Telerik UI for ASP.NET Core Application through Visual Studio Extension]({% slug newprojectwizards_visualstudio_aspnetcore %})
256255

257256
## See Also
258257

259258
* [Using the UI for ASP.NET Core CDN Services]({% slug cdnservices_core %})
260259
* [Switch from Trial to Commercial License]({% slug upgrade_aspnetcore %}#switching-to-a-developer-license)
261260
* [Migrating from MVC to Core MVC](https://docs.telerik.com/aspnet-core/installation/migrating)
262261
* [MS - Upgrade from ASP.NET Framework to ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/migration/proper-to-2x/?view=aspnetcore-7.0)
262+

Diff for: docs-aspnet/getting-started-mvc/first-steps.md

+2
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ To generate your license file and add it to your application, follow the instruc
118118
* [Explore the Telerik UI for ASP.NET MVC fundamentals]({% slug fundamentals_aspnetmvc %})
119119
* [Grid Data Binding Overview]({% slug htmlhelpers_grid_aspnetcore_binding_overview %})
120120
* [Integrate Telerik UI for ASP.NET MVC in Visual Studio]({% slug overview_visualstudio_aspnetcore %})
121+
* [Create a New Telerik UI for ASP.NET MVC Application through Visual Studio Extension]({% slug newprojectwizards_visualstudio_aspnetcore %})
121122

122123
## See Also
123124

@@ -128,3 +129,4 @@ To generate your license file and add it to your application, follow the instruc
128129
* [Collected Examples on Telerik UI for ASP.NET MVC](https://github.com/telerik/ui-for-aspnet-mvc-examples)
129130
* [Migrating from MVC to Core MVC](https://docs.telerik.com/aspnet-core/installation/migrating)
130131
* [MS - Upgrade from ASP.NET Framework to ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/migration/proper-to-2x/?view=aspnetcore-7.0)
132+

Diff for: docs-aspnet/html-helpers/conversational-ui/aiprompt/accessibility/overview.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ The Prompt suggestion list implements roving tabindex navigation. Meaning that o
5050

5151
### Card List Container
5252

53-
[CardList accessibility specification]({% slug htmlhelpers_cardlist_accessibility %})
53+
[CardList accessibility specification]({{cardlist_a11y_link}})
5454

5555
### Card Component
5656

57-
[Card accessibility specification]({% slug htmlhelpers_card_accessibility %})
57+
[Card accessibility specification]({{card_a11y_link}})
5858

5959
### More Actions View - PanelBar Component
6060

Diff for: docs-aspnet/html-helpers/data-management/grid/accessibility/overview.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,14 @@ Even if part of the `<thead>`, the Filter row must be composed of `<td>` element
109109

110110
Implements the FilterMenu specification.
111111

112-
[FilterMenu accessibility specification]({% slug htmlhelpers_filtermenu_accessibility %})
112+
[FilterMenu accessibility specification]({{filtermenu_a11y_link}})
113113

114114
#### Grid column menu
115115

116116

117117
Implements the ColumnMenu specification.
118118

119-
[ColumnMenu accessibility specification]({% slug htmlhelpers_columnmenu_accessibility %})
119+
[ColumnMenu accessibility specification]({{columnmenu_a11y_link}})
120120

121121
#### Grid content
122122

Diff for: docs-aspnet/html-helpers/layout/popover/overview.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ The following example demonstrates the basic configuration of the PopOver.
105105

106106
* [Templates]({% slug htmlhelpers_templates_popover %})&mdash;The PopOver provides template options that allow you to customize the header and body content.
107107
* [Events]({% slug events_popover %})&mdash;The component exposes the `Show` and `Hide` events that you can handle and control its behavior.
108-
* [Accessibility]({% slug accessibility_popover_overview %})&mdash;The PopOver is accessible for screen readers and supports WAI-ARIA attributes.
108+
* [Accessibility]({% slug htmlhelpers_popover_accessibility %})&mdash;The PopOver is accessible for screen readers and supports WAI-ARIA attributes.
109109

110110
## Next Steps
111111

Diff for: docs-aspnet/html-helpers/scheduling/scheduler/timezones.md

+1
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,4 @@ You can find a full working sample with Timezone defined and different cultures
117117
## See Also
118118

119119
* [Server-Side API](/api/scheduler)
120+
* [Knowledge Base: Change Timezone in Scheduler Dynamically]({% slug scheduler-change-timezone %})

Diff for: docs-aspnet/knowledge-base/scheduler-change-timezone.md

+146-2
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,17 @@ How can I change the time zone in {{ site.framework }} Scheduler component after
2828

2929
## Solution
3030

31-
By default, the Scheduler alters its displayed data depending on the defined .Timezone() setting. In some cases, you may want to allow the end user to change the time zone of the scheduler dynamically, even after it has been initialized.
31+
By default, the Scheduler alters its displayed data depending on the defined `Timezone()` setting. In some cases, you may want to allow the end user to change the time zone of the Scheduler dynamically based on a specified user action or condition.
3232

3333
To achieve this requirement, you can create a standalone DataSource instance and then pass it to the Scheduler definition.
3434

35-
Then, you can present the user with a selection component like a DropDownList and when he makes a selection, you can reset the Scheduler's DataSource:
35+
Then, you can include a selection component like a DropDownList that shows different time zone options. When the user selects a specified time zone, you can reset the Scheduler's DataSource to display the events in the respective time zone.
3636

3737
```Razor
3838
<script src="https://kendo.cdn.telerik.com/2025.1.227/js/kendo.timezones.min.js"></script>
3939
4040
<script>
41+
// Initialize a DropDownList widget with jQuery to allow the user to change the timezone.
4142
$(document).ready(function(){
4243
$(".k-nav-current").after(`<select id='timeZoneChooser' onchange='changeTimeZone(this);' >
4344
<option>Etc/UTC</option>
@@ -49,9 +50,11 @@ Then, you can present the user with a selection component like a DropDownList an
4950
5051
function changeTimeZone(selectEl){
5152
var scheduler=$("#scheduler").data().kendoScheduler;
53+
// Update the current DataSource of the Scheduler by calling the "setDataSource()" method.
5254
scheduler.setDataSource(getDataSource(selectEl.value));
5355
}
5456
57+
// Generate a new DataSource instance based on the chosen timezone.
5558
function getDataSource(timeZoneName)
5659
{
5760
return new kendo.data.SchedulerDataSource({
@@ -166,10 +169,151 @@ Then, you can present the user with a selection component like a DropDownList an
166169
}
167170
</style>
168171
```
172+
{% if site.core %}
173+
```TagHelper
174+
@addTagHelper *, Kendo.Mvc
175+
176+
<script src="https://kendo.cdn.telerik.com/2025.1.227/js/kendo.timezones.min.js"></script>
177+
178+
<script>
179+
// Initialize a DropDownList widget with jQuery to allow the user to change the timezone.
180+
$(document).ready(function(){
181+
$(".k-nav-current").after(`<select id='timeZoneChooser' onchange='changeTimeZone(this);' >
182+
<option>Etc/UTC</option>
183+
<option>Europe/London</option>
184+
</select>`);
185+
$("#timeZoneChooser").kendoDropDownList();
186+
changeTimeZone($("#timeZoneChooser")[0]);
187+
});
188+
189+
function changeTimeZone(selectEl){
190+
var scheduler=$("#scheduler").data().kendoScheduler;
191+
// Update the current DataSource of the Scheduler by calling the "setDataSource()" method.
192+
scheduler.setDataSource(getDataSource(selectEl.value));
193+
}
194+
195+
// Generate a new DataSource instance based on the chosen timezone.
196+
function getDataSource(timeZoneName)
197+
{
198+
return new kendo.data.SchedulerDataSource({
199+
"type": (function() {
200+
if (kendo.data.transports['aspnetmvc-ajax']) {
201+
return 'aspnetmvc-ajax';
202+
} else {
203+
throw new Error('The kendo.aspnetmvc.min.js script is not included.');
204+
}
205+
}
206+
)(),
207+
"transport": {
208+
"read": {
209+
"url": "/aspnet-core/scheduler/events_read"
210+
},
211+
"prefix": "",
212+
"update": {
213+
"url": "/aspnet-core/scheduler/events_update"
214+
},
215+
"create": {
216+
"url": "/aspnet-core/scheduler/events_create"
217+
},
218+
"destroy": {
219+
"url": "/aspnet-core/scheduler/events_destroy"
220+
},
221+
"stringifyDates": true
222+
},
223+
"schema": {
224+
"timezone": timeZoneName,
225+
"data": "Data",
226+
"total": "Total",
227+
"errors": "Errors",
228+
"model": {
229+
"id": "TaskID",
230+
"fields": {
231+
"TaskID": {
232+
"type": "number"
233+
},
234+
"title": {
235+
"from": "Title",
236+
"type": "string",
237+
"defaultValue": "No title"
238+
},
239+
"description": {
240+
"from": "Description",
241+
"type": "string"
242+
},
243+
"start": {
244+
"from": "Start",
245+
"type": "date"
246+
},
247+
"startTimezone": {
248+
"from": "StartTimezone",
249+
"type": "string"
250+
},
251+
"end": {
252+
"from": "End",
253+
"type": "date"
254+
},
255+
"endTimezone": {
256+
"from": "EndTimezone",
257+
"type": "string"
258+
},
259+
"recurrenceRule": {
260+
"from": "RecurrenceRule",
261+
"type": "string"
262+
},
263+
"recurrenceId": {
264+
"from": "RecurrenceID",
265+
"type": "number",
266+
"defaultValue": null
267+
},
268+
"recurrenceException": {
269+
"from": "RecurrenceException",
270+
"type": "string"
271+
},
272+
"isAllDay": {
273+
"from": "IsAllDay",
274+
"type": "boolean"
275+
},
276+
"OwnerID": {
277+
"type": "number",
278+
"defaultValue": null
279+
}
280+
}
281+
}
282+
}
283+
});
284+
}
285+
</script>
286+
287+
<kendo-scheduler name="scheduler"
288+
date="new DateTime(2025, 6, 13)"
289+
start-time="new DateTime(2025, 6, 13, 14, 00, 00)"
290+
selectable="true"
291+
height="600">
292+
<views>
293+
<view type="day"></view>
294+
<view type="week" selected="true"></view>
295+
<view type="month"></view>
296+
<view type="agenda"></view>
297+
<view type="timeline"></view>
298+
</views>
299+
</kendo-scheduler>
300+
301+
<style>
302+
.k-list-content.k-list-scroller{
303+
height: 60px;
304+
}
305+
</style>
306+
```
307+
{% endif %}
169308

170309
You can see the solution in action with this live example:
171310
https://netcorerepl.telerik.com/QTaHmels14bMwUio16
172311

312+
{% if site.core %}
313+
You can also see a TagHelper syntax solution here:
314+
https://netcorerepl.telerik.com/QfESasEw44a1fhLt47
315+
{% endif %}
316+
173317
## More {{ site.framework }} Scheduler Resources
174318

175319
* [{{ site.framework }} Scheduler Documentation]({%slug htmlhelpers_scheduler_aspnetcore%})
136 KB
Loading
88.6 KB
Loading

0 commit comments

Comments
 (0)