Skip to content

Commit d6ddce1

Browse files
committed
chore: update scheduler and editor
1 parent 56dc14a commit d6ddce1

File tree

8 files changed

+138
-30
lines changed

8 files changed

+138
-30
lines changed

examples-standalone/kendoangular-landing-page/angular.json

+10
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@
2222
],
2323
"tsConfig": "tsconfig.app.json",
2424
"assets": [
25+
{
26+
"glob": "**/*",
27+
"input": "src/assets/",
28+
"output": "/assets/"
29+
},
2530
{
2631
"glob": "**/*",
2732
"input": "public"
@@ -84,6 +89,11 @@
8489
],
8590
"tsConfig": "tsconfig.spec.json",
8691
"assets": [
92+
{
93+
"glob": "**/*",
94+
"input": "src/assets/",
95+
"output": "/assets/"
96+
},
8797
{
8898
"glob": "**/*",
8999
"input": "public"

examples-standalone/kendoangular-landing-page/src/app/components/editor/editor.component.html

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div style="display: flex; align-items: center; height: 420px">
2-
<kendo-editor [value]="value" style="height: 420px">
2+
<kendo-editor [value]="value" [iframe]="false" style="height: 420px">
33
<kendo-toolbar>
44
<kendo-toolbar-buttongroup>
55
<kendo-toolbar-button kendoEditorBoldButton></kendo-toolbar-button>
@@ -58,7 +58,6 @@
5858
<kendo-toolbar-button kendoEditorMergeCellsButton></kendo-toolbar-button>
5959
<kendo-toolbar-button kendoEditorSplitCellButton></kendo-toolbar-button>
6060
</kendo-toolbar-buttongroup>
61-
<kendo-toolbar-button kendoEditorPrintButton></kendo-toolbar-button>
6261
</kendo-toolbar>
6362
</kendo-editor>
6463
</div>

examples-standalone/kendoangular-landing-page/src/app/components/editor/editor.component.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ import { KENDO_TOOLBAR } from "@progress/kendo-angular-toolbar";
1010
})
1111
export class EditorComponent {
1212
public value = `
13-
<p>
13+
<div style="text-align: center;">
14+
<img src="assets/kendoka.png" alt="Angular Kendoka" title="Kendo Angular" width="63" height="100"/>
15+
</div>
16+
<p>
1417
The Kendo Angular UI Editor allows your users to edit HTML in a familiar, user-friendly way.<br />
1518
In this version, the Editor provides the core HTML editing engine, which includes basic text formatting, hyperlinks and lists.
1619
The widget <strong>outputs identical HTML</strong> across all major browsers, follows

examples-standalone/kendoangular-landing-page/src/app/components/scheduler/scheduler.component.ts

+24-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,27 @@
1-
import { Component, OnInit } from "@angular/core";
1+
import { ChangeDetectorRef, Component, Inject, LOCALE_ID } from "@angular/core";
22
import { FormBuilder, FormGroup, ReactiveFormsModule } from "@angular/forms";
33
import { KENDO_DROPDOWNLIST } from "@progress/kendo-angular-dropdowns";
4+
import { CldrIntlService, IntlService } from "@progress/kendo-angular-intl";
5+
import { MessageService } from "@progress/kendo-angular-l10n";
46
import { CreateFormGroupArgs, KENDO_SCHEDULER } from "@progress/kendo-angular-scheduler";
57
import { KENDO_TOOLBAR } from "@progress/kendo-angular-toolbar";
68
import { customModelFields, displayDate, sampleDataWithCustomSchema } from "../../data/scheduler-data";
79
import { SchedulerMessageService } from "../../services/scheduler-message.service";
8-
import { MessageService } from "@progress/kendo-angular-l10n";
910

11+
import "@progress/kendo-angular-intl/locales/en/all";
12+
import "@progress/kendo-angular-intl/locales/es/all";
13+
14+
interface LanguageOption {
15+
text: string;
16+
value: string;
17+
}
1018
@Component({
1119
selector: "app-scheduler",
1220
imports: [KENDO_SCHEDULER, KENDO_TOOLBAR, KENDO_DROPDOWNLIST, ReactiveFormsModule],
13-
providers: [{ provide: MessageService, useClass: SchedulerMessageService }],
21+
providers: [
22+
{ provide: MessageService, useClass: SchedulerMessageService },
23+
{ provide: LOCALE_ID, useValue: "en" },
24+
],
1425
templateUrl: "./scheduler.component.html",
1526
styleUrls: ["./scheduler.component.css"],
1627
})
@@ -47,12 +58,18 @@ export class SchedulerComponent {
4758
colorField: "color",
4859
},
4960
];
50-
public languages: any[] = [
61+
public languages: LanguageOption[] = [
5162
{ text: "English", value: "en" },
5263
{ text: "Spanish", value: "es" },
5364
];
5465
public selectedLanguage: any = { text: "English", value: "en-US" };
55-
constructor(private formBuilder: FormBuilder, private messages: MessageService) {
66+
constructor(
67+
private formBuilder: FormBuilder,
68+
private messages: MessageService,
69+
@Inject(LOCALE_ID) public localeId: string,
70+
public intlService: IntlService,
71+
private cdr: ChangeDetectorRef
72+
) {
5673
this.createFormGroup = this.createFormGroup.bind(this);
5774
}
5875

@@ -107,8 +124,9 @@ export class SchedulerComponent {
107124
public handleOrientationChange(orientation: "horizontal" | "vertical"): void {
108125
this.orientation = orientation;
109126
}
110-
public changeLanguage(language: string): void {
127+
public changeLanguage(language: LanguageOption): void {
111128
const svc = <SchedulerMessageService>this.messages;
112129
svc.language = svc.language === "es" ? "en" : "es";
130+
(this.intlService as CldrIntlService).localeId = language.value;
113131
}
114132
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Injectable } from '@angular/core';
2+
import { CldrIntlService } from '@progress/kendo-angular-intl';
3+
import '@progress/kendo-angular-intl/locales/es/all';
4+
5+
@Injectable()
6+
export class MyService extends CldrIntlService {
7+
constructor() {
8+
super('es-ES');
9+
}
10+
11+
}

examples-standalone/kendoangular-landing-page/src/app/services/scheduler-message.service.ts

+76-6
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,85 @@ const localizationData: { [key: string]: LocalizationData } = {
2424
es: {
2525
rtl: false,
2626
messages: {
27-
"kendo.scheduler.today": "Hoy",
28-
"kendo.scheduler.allDay": "todo el dia",
29-
"kendo.scheduler.showWorkDay": "Mostrar horas laborables",
30-
"kendo.scheduler.showFullDay": "Mostrar día completo",
3127
"kendo.scheduler.agendaViewTitle": "Agenda",
32-
"kendo.scheduler.dayViewTitle": "Día",
28+
"kendo.scheduler.allDay": "todo el día",
29+
"kendo.scheduler.allEvents": "Todos los eventos",
30+
"kendo.scheduler.calendarToday": "Hoy",
31+
"kendo.scheduler.cancel": "Cancelar",
32+
"kendo.scheduler.save": "Save",
33+
"kendo.scheduler.editorEventTitle": "Título",
34+
"kendo.scheduler.editorEventStart": "Inicio",
35+
"kendo.scheduler.editorEventStartTimeZone": "Zona horaria de inicio",
36+
"kendo.scheduler.editorEventEnd": "Fin",
37+
"kendo.scheduler.editorEventEndTimeZone": "Zona horaria final",
38+
"kendo.scheduler.dateHeader": "Fecha",
39+
"kendo.scheduler.dayViewTitle": "Título",
40+
"kendo.scheduler.deleteConfirmation": "¿Está seguro que quiere eliminar este evento?",
41+
"kendo.scheduler.deleteDialogTitle": "Eliminar evento",
42+
"kendo.scheduler.deleteOccurrence": "Delete current occurrence",
43+
"kendo.scheduler.deleteRecurringConfirmation":
44+
"Do you want to delete only this event occurrence or the whole series?",
45+
"kendo.scheduler.deleteRecurringDialogTitle":
46+
"¿Quiere eliminar esta ocurrencia del evento o la serie completa?",
47+
"kendo.scheduler.deleteSeries": "Eliminar la serie",
48+
"kendo.scheduler.deleteTitle": "Eliminar evento",
49+
"kendo.scheduler.destroy": "Eliminar",
50+
"kendo.scheduler.editOccurrence": "Editar ocurrencia actual",
51+
"kendo.scheduler.editorEventAllDay": "Todo el día",
52+
"kendo.scheduler.editorEventDescription": "Descripción",
53+
"kendo.scheduler.editorEventSeparateTimeZones": "Usar zonas horarias separadas para el inicio y el fin",
54+
"kendo.scheduler.editorEventTimeZone": "Zona horaria de fin",
55+
"kendo.scheduler.editorTitle": "Título",
56+
"kendo.scheduler.editRecurringConfirmation":
57+
"¿Quiere editar esta ocurrencia del evento o la serie completa?",
58+
"kendo.scheduler.editRecurringDialogTitle": "Editar elemento recurrente",
59+
"kendo.scheduler.editSeries": "Editar la serie",
60+
"kendo.scheduler.eventHeader": "Evento",
61+
"kendo.scheduler.monthViewTitle": "Mes",
62+
"kendo.scheduler.multiDayViewTitle": "Multi-Day",
63+
"kendo.scheduler.nextTitle": "Siguiente",
64+
"kendo.scheduler.previousTitle": "Anterior",
65+
"kendo.scheduler.recurrenceEditorDailyInterval": "día(s)",
66+
"kendo.scheduler.recurrenceEditorDailyRepeatEvery": "Repetir cada:",
67+
"kendo.scheduler.recurrenceEditorEndAfter": "Después",
68+
"kendo.scheduler.recurrenceEditorEndLabel": "Fin",
69+
"kendo.scheduler.recurrenceEditorEndNever": "Nunca",
70+
"kendo.scheduler.recurrenceEditorEndOccurrence": "ocurrencia(s)",
71+
"kendo.scheduler.recurrenceEditorEndOn": "On",
72+
"kendo.scheduler.recurrenceEditorFrequenciesDaily": "Diariamente",
73+
"kendo.scheduler.recurrenceEditorFrequenciesMonthly": "Mensualmente",
74+
"kendo.scheduler.recurrenceEditorFrequenciesNever": "Nunca",
75+
"kendo.scheduler.recurrenceEditorFrequenciesWeekly": "Semanalmente",
76+
"kendo.scheduler.recurrenceEditorFrequenciesYearly": "Anualmente",
77+
"kendo.scheduler.recurrenceEditorMonthlyDay": "Día",
78+
"kendo.scheduler.recurrenceEditorMonthlyInterval": "mes(es)",
79+
"kendo.scheduler.recurrenceEditorMonthlyRepeatEvery": "Repetir cada:",
80+
"kendo.scheduler.recurrenceEditorMonthlyRepeatOn": "Repetir en:",
81+
"kendo.scheduler.recurrenceEditorOffsetPositionsFirst": "primero",
82+
"kendo.scheduler.recurrenceEditorOffsetPositionsFourth": "cuarto",
83+
"kendo.scheduler.recurrenceEditorOffsetPositionsLast": "último",
84+
"kendo.scheduler.recurrenceEditorOffsetPositionsSecond": "segundo",
85+
"kendo.scheduler.recurrenceEditorOffsetPositionsThird": "tercero",
86+
"kendo.scheduler.recurrenceEditorRepeat": "Repetir",
87+
"kendo.scheduler.recurrenceEditorWeekdaysDay": "día",
88+
"kendo.scheduler.recurrenceEditorWeekdaysWeekday": "día de semana",
89+
"kendo.scheduler.recurrenceEditorWeekdaysWeekendday": "Día de fin de semana",
90+
"kendo.scheduler.recurrenceEditorWeeklyInterval": "semana(s)",
91+
"kendo.scheduler.recurrenceEditorWeeklyRepeatEvery": "Repetir cada:",
92+
"kendo.scheduler.recurrenceEditorWeeklyRepeatOn": "Repetir en:",
93+
"kendo.scheduler.recurrenceEditorYearlyInterval": "año(s)",
94+
"kendo.scheduler.recurrenceEditorYearlyOf": "de",
95+
"kendo.scheduler.recurrenceEditorYearlyRepeatEvery": "Repetir cada:",
96+
"kendo.scheduler.recurrenceEditorYearlyRepeatOn": "Repetir en:",
97+
"kendo.scheduler.showFullDay": "Mostrar día completo",
98+
"kendo.scheduler.showWorkDay": "Mostrar horas laborables",
99+
"kendo.scheduler.timeHeader": "Hora",
100+
"kendo.scheduler.timelineMonthViewTitle": "Timeline Month",
101+
"kendo.scheduler.timelineViewTitle": "Línea de tiempo",
102+
"kendo.scheduler.timelineWeekViewTitle": "Timeline Week",
103+
"kendo.scheduler.today": "Hoy",
33104
"kendo.scheduler.weekViewTitle": "Semana",
34105
"kendo.scheduler.workWeekViewTitle": "Semana laboral",
35-
"kendo.scheduler.monthViewTitle": "Mes",
36106
},
37107
},
38108
};
Loading
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
1-
import { bootstrapApplication } from '@angular/platform-browser';
2-
import { provideRouter, withHashLocation } from '@angular/router';
3-
import { APP_BASE_HREF } from '@angular/common';
4-
import { provideAnimations } from '@angular/platform-browser/animations';
1+
import { bootstrapApplication } from "@angular/platform-browser";
2+
import { provideRouter, withHashLocation } from "@angular/router";
3+
import { APP_BASE_HREF } from "@angular/common";
4+
import { provideAnimations } from "@angular/platform-browser/animations";
55

6-
import { AppComponent } from './app/app.component';
7-
import { routes } from './app/app.routes';
6+
import { AppComponent } from "./app/app.component";
7+
import { routes } from "./app/app.routes";
88

99
bootstrapApplication(AppComponent, {
10-
providers: [
11-
provideRouter(
12-
routes,
13-
withHashLocation()
14-
),
15-
{ provide: APP_BASE_HREF, useValue: '/overview/' },
16-
provideAnimations()
17-
]
18-
}).catch(err => console.error(err));
10+
providers: [
11+
provideRouter(routes, withHashLocation()),
12+
{ provide: APP_BASE_HREF, useValue: "/overview/" },
13+
provideAnimations(),
14+
],
15+
}).catch((err) => console.error(err));

0 commit comments

Comments
 (0)