@progress/kendo-vue-scheduler 3.10.2 → 3.11.0-dev.202305230751
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
- package/dist/es/Scheduler.js +17 -9
- package/dist/es/components/SchedulerActionButtons.js +34 -5
- package/dist/es/components/SchedulerForm.js +1 -1
- package/dist/es/components/header/view-selector/SchedulerViewSelector.js +1 -13
- package/dist/es/components/header/view-selector/ViewSelectorItem.js +1 -0
- package/dist/es/components/header/view-selector/ViewSelectorList.js +31 -80
- package/dist/es/editors/SchedulerFormEditor.js +869 -169
- package/dist/es/items/SchedulerItem.js +48 -28
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/recurrence/RecurrenceEditor.js +313 -100
- package/dist/es/recurrence/RecurrenceFrequencyEditor.js +1 -0
- package/dist/es/views/agenda/AgendaViewBody.js +8 -8
- package/dist/esm/Scheduler.js +17 -9
- package/dist/esm/components/SchedulerActionButtons.js +34 -5
- package/dist/esm/components/SchedulerForm.js +1 -1
- package/dist/esm/components/header/view-selector/SchedulerViewSelector.js +1 -13
- package/dist/esm/components/header/view-selector/ViewSelectorItem.js +1 -0
- package/dist/esm/components/header/view-selector/ViewSelectorList.js +31 -80
- package/dist/esm/editors/SchedulerFormEditor.js +869 -169
- package/dist/esm/items/SchedulerItem.js +48 -28
- package/dist/esm/package-metadata.js +1 -1
- package/dist/esm/recurrence/RecurrenceEditor.js +313 -100
- package/dist/esm/recurrence/RecurrenceFrequencyEditor.js +1 -0
- package/dist/esm/views/agenda/AgendaViewBody.js +8 -8
- package/dist/npm/Scheduler.js +16 -8
- package/dist/npm/components/SchedulerActionButtons.js +34 -5
- package/dist/npm/components/SchedulerForm.js +1 -1
- package/dist/npm/components/header/view-selector/SchedulerViewSelector.js +1 -12
- package/dist/npm/components/header/view-selector/ViewSelectorItem.js +1 -0
- package/dist/npm/components/header/view-selector/ViewSelectorList.js +30 -79
- package/dist/npm/editors/SchedulerFormEditor.js +868 -168
- package/dist/npm/items/SchedulerItem.js +48 -28
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/recurrence/RecurrenceEditor.js +313 -100
- package/dist/npm/recurrence/RecurrenceFrequencyEditor.js +1 -0
- package/dist/npm/views/agenda/AgendaViewBody.js +8 -8
- package/package.json +12 -12
package/dist/es/Scheduler.js
CHANGED
|
@@ -25,15 +25,15 @@ var allVue = Vue;
|
|
|
25
25
|
var gh = allVue.h;
|
|
26
26
|
var isV3 = allVue.version && allVue.version[0] === '3';
|
|
27
27
|
import { getModelFields, getField, findMaster, setField, toSchedulerGroups, getToday } from './utils/main';
|
|
28
|
-
import { clone, getListeners, getTemplate, templateRendering } from '@progress/kendo-vue-common';
|
|
29
|
-
import { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';
|
|
28
|
+
import { clone, getListeners, getTemplate, isRtl, templateRendering } from '@progress/kendo-vue-common';
|
|
30
29
|
import { SchedulerHeader } from './components/header/SchedulerHeader';
|
|
30
|
+
import { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';
|
|
31
31
|
import { SchedulerNavigation } from './components/header/navigation/SchedulerNavigation';
|
|
32
|
-
import { SchedulerViewSelector } from './components/header/view-selector/SchedulerViewSelector';
|
|
33
32
|
import { addDays, addMonths } from '@progress/kendo-date-math';
|
|
34
33
|
import { SchedulerFooter } from './components/footer/SchedulerFooter';
|
|
35
34
|
import { ToolbarSpacer } from '@progress/kendo-vue-buttons';
|
|
36
35
|
import { NavigationDatePicker } from './components/header/navigation/NavigationDatePicker';
|
|
36
|
+
import { ViewSelectorList } from './components/header/view-selector/ViewSelectorList';
|
|
37
37
|
import { BusinessHours } from './components/footer/bussiness-hours/BusinessHours';
|
|
38
38
|
import { DayView } from './views/day/DayView';
|
|
39
39
|
import { validatePackage } from '@progress/kendo-vue-common';
|
|
@@ -121,9 +121,12 @@ var SchedulerVue2 = {
|
|
|
121
121
|
timeHeaderCell: [String, Function, Object]
|
|
122
122
|
},
|
|
123
123
|
computed: {
|
|
124
|
+
isRtl: function isRtl() {
|
|
125
|
+
return this.$props.rtl !== undefined ? this.$props.rtl : this.currentRtl;
|
|
126
|
+
},
|
|
124
127
|
wrapperClassName: function wrapperClassName() {
|
|
125
128
|
return {
|
|
126
|
-
'k-rtl': this
|
|
129
|
+
'k-rtl': this.isRtl,
|
|
127
130
|
'k-widget': true,
|
|
128
131
|
'k-scheduler': true,
|
|
129
132
|
'k-floatwrap': true
|
|
@@ -133,6 +136,9 @@ var SchedulerVue2 = {
|
|
|
133
136
|
return getModelFields(this.$props.modelFields).fields;
|
|
134
137
|
}
|
|
135
138
|
},
|
|
139
|
+
mounted: function mounted() {
|
|
140
|
+
this.currentRtl = isRtl(this.$el);
|
|
141
|
+
},
|
|
136
142
|
provide: function provide() {
|
|
137
143
|
return {
|
|
138
144
|
ks: this.ks,
|
|
@@ -195,6 +201,9 @@ var SchedulerVue2 = {
|
|
|
195
201
|
};
|
|
196
202
|
},
|
|
197
203
|
watch: {
|
|
204
|
+
isRtl: function isRtl(newRtl) {
|
|
205
|
+
this.ks.isRtl = newRtl;
|
|
206
|
+
},
|
|
198
207
|
view: function view(newName) {
|
|
199
208
|
this.updatePassedState(newName);
|
|
200
209
|
},
|
|
@@ -224,7 +233,6 @@ var SchedulerVue2 = {
|
|
|
224
233
|
var h = gh || createElement;
|
|
225
234
|
validatePackage(packageMetadata);
|
|
226
235
|
var timezone = this.$props.timezone;
|
|
227
|
-
// const dir = useDir(element);
|
|
228
236
|
var view = this.views.find(function (currentView) {
|
|
229
237
|
return currentView.name === _this.ks.activeViewName;
|
|
230
238
|
}) || this.views[0] || h(DayView);
|
|
@@ -243,7 +251,6 @@ var SchedulerVue2 = {
|
|
|
243
251
|
this.ks.dialogProps = view.dialogProps || this.$props.dialogProps;
|
|
244
252
|
this.ks.formProps = view.formProps || this.$props.formProps;
|
|
245
253
|
var currentEditable = useEditable(view.editable !== undefined ? view.editable : this.$props.editable);
|
|
246
|
-
var ViewSelector = SchedulerViewSelector;
|
|
247
254
|
var viewComponent = this.getViewComponentByName(this.ks.activeViewName || view.name);
|
|
248
255
|
var viewProps = __assign(__assign(__assign({}, this.$props), this.ks.view), {
|
|
249
256
|
showWorkHours: this.ks.showWorkHours,
|
|
@@ -283,7 +290,7 @@ var SchedulerVue2 = {
|
|
|
283
290
|
on: _this2.v3 ? undefined : {
|
|
284
291
|
"change": _this2.handleDatePickerChange
|
|
285
292
|
}
|
|
286
|
-
}), h(ToolbarSpacer), h(
|
|
293
|
+
}), h(ToolbarSpacer), h(ViewSelectorList)];
|
|
287
294
|
} : [h(SchedulerNavigation, {
|
|
288
295
|
onPrevclick: _this2.handlePrevClick,
|
|
289
296
|
on: _this2.v3 ? undefined : {
|
|
@@ -302,7 +309,7 @@ var SchedulerVue2 = {
|
|
|
302
309
|
on: _this2.v3 ? undefined : {
|
|
303
310
|
"change": _this2.handleDatePickerChange
|
|
304
311
|
}
|
|
305
|
-
}), h(ToolbarSpacer), h(
|
|
312
|
+
}), h(ToolbarSpacer), h(ViewSelectorList)]);
|
|
306
313
|
headerRender = getTemplate.call(this, {
|
|
307
314
|
h: h,
|
|
308
315
|
template: header,
|
|
@@ -360,8 +367,8 @@ var SchedulerVue2 = {
|
|
|
360
367
|
id: this.$props.id,
|
|
361
368
|
tabindex: this.$props.tabIndex
|
|
362
369
|
// Aria
|
|
363
|
-
// dir={dir}
|
|
364
370
|
,
|
|
371
|
+
dir: this.isRtl && 'rtl',
|
|
365
372
|
role: this.$props.role || 'application',
|
|
366
373
|
"aria-label": this.$props.ariaLabel,
|
|
367
374
|
"aria-labelledby": this.$props.ariaLabelledby
|
|
@@ -372,6 +379,7 @@ var SchedulerVue2 = {
|
|
|
372
379
|
},
|
|
373
380
|
"class": this.wrapperClassName,
|
|
374
381
|
tabindex: this.$props.tabIndex,
|
|
382
|
+
dir: this.isRtl && 'rtl',
|
|
375
383
|
role: this.$props.role || 'application',
|
|
376
384
|
"aria-label": this.$props.ariaLabel,
|
|
377
385
|
"aria-labelledby": this.$props.ariaLabelledby,
|
|
@@ -5,6 +5,7 @@ var gh = allVue.h;
|
|
|
5
5
|
var isV3 = allVue.version && allVue.version[0] === '3';
|
|
6
6
|
import { Button } from '@progress/kendo-vue-buttons';
|
|
7
7
|
import { DialogActionsBar } from '@progress/kendo-vue-dialogs';
|
|
8
|
+
import { cancelIcon, saveIcon } from '@progress/kendo-svg-icons';
|
|
8
9
|
/**
|
|
9
10
|
* @hidden
|
|
10
11
|
*/
|
|
@@ -33,7 +34,11 @@ var SchedulerActionButtonsVue2 = {
|
|
|
33
34
|
return (
|
|
34
35
|
// @ts-ignore function children
|
|
35
36
|
h(DialogActionsBar, {
|
|
36
|
-
"class": 'k-form-buttons'
|
|
37
|
+
"class": 'k-form-buttons',
|
|
38
|
+
layout: 'start',
|
|
39
|
+
attrs: this.v3 ? undefined : {
|
|
40
|
+
layout: 'start'
|
|
41
|
+
}
|
|
37
42
|
}, this.v3 ? function () {
|
|
38
43
|
return [
|
|
39
44
|
// @ts-ignore function children
|
|
@@ -41,9 +46,15 @@ var SchedulerActionButtonsVue2 = {
|
|
|
41
46
|
type: "submit",
|
|
42
47
|
attrs: _this.v3 ? undefined : {
|
|
43
48
|
type: "submit",
|
|
44
|
-
|
|
49
|
+
themeColor: 'primary',
|
|
50
|
+
disabled: !_this.kendoForm.allowSubmit,
|
|
51
|
+
icon: 'save',
|
|
52
|
+
svgIcon: saveIcon
|
|
45
53
|
},
|
|
54
|
+
themeColor: 'primary',
|
|
46
55
|
disabled: !_this.kendoForm.allowSubmit,
|
|
56
|
+
icon: 'save',
|
|
57
|
+
svgIcon: saveIcon,
|
|
47
58
|
onClick: _this.onSubmit,
|
|
48
59
|
on: _this.v3 ? undefined : {
|
|
49
60
|
"click": _this.onSubmit
|
|
@@ -56,7 +67,13 @@ var SchedulerActionButtonsVue2 = {
|
|
|
56
67
|
onClick: _this.handleCancel,
|
|
57
68
|
on: _this.v3 ? undefined : {
|
|
58
69
|
"click": _this.handleCancel
|
|
59
|
-
}
|
|
70
|
+
},
|
|
71
|
+
icon: 'cancel',
|
|
72
|
+
attrs: _this.v3 ? undefined : {
|
|
73
|
+
icon: 'cancel',
|
|
74
|
+
svgIcon: cancelIcon
|
|
75
|
+
},
|
|
76
|
+
svgIcon: cancelIcon
|
|
60
77
|
}, _this.v3 ? function () {
|
|
61
78
|
return [_this.editCancelMessage];
|
|
62
79
|
} : [_this.editCancelMessage])];
|
|
@@ -64,9 +81,15 @@ var SchedulerActionButtonsVue2 = {
|
|
|
64
81
|
type: "submit",
|
|
65
82
|
attrs: _this.v3 ? undefined : {
|
|
66
83
|
type: "submit",
|
|
67
|
-
|
|
84
|
+
themeColor: 'primary',
|
|
85
|
+
disabled: !_this.kendoForm.allowSubmit,
|
|
86
|
+
icon: 'save',
|
|
87
|
+
svgIcon: saveIcon
|
|
68
88
|
},
|
|
89
|
+
themeColor: 'primary',
|
|
69
90
|
disabled: !_this.kendoForm.allowSubmit,
|
|
91
|
+
icon: 'save',
|
|
92
|
+
svgIcon: saveIcon,
|
|
70
93
|
onClick: _this.onSubmit,
|
|
71
94
|
on: _this.v3 ? undefined : {
|
|
72
95
|
"click": _this.onSubmit
|
|
@@ -77,7 +100,13 @@ var SchedulerActionButtonsVue2 = {
|
|
|
77
100
|
onClick: _this.handleCancel,
|
|
78
101
|
on: _this.v3 ? undefined : {
|
|
79
102
|
"click": _this.handleCancel
|
|
80
|
-
}
|
|
103
|
+
},
|
|
104
|
+
icon: 'cancel',
|
|
105
|
+
attrs: _this.v3 ? undefined : {
|
|
106
|
+
icon: 'cancel',
|
|
107
|
+
svgIcon: cancelIcon
|
|
108
|
+
},
|
|
109
|
+
svgIcon: cancelIcon
|
|
81
110
|
}, _this.v3 ? function () {
|
|
82
111
|
return [_this.editCancelMessage];
|
|
83
112
|
} : [_this.editCancelMessage])])
|
|
@@ -134,7 +134,7 @@ var SchedulerFormVue2 = {
|
|
|
134
134
|
var dialogProps = __assign({
|
|
135
135
|
title: editorTitleMessage,
|
|
136
136
|
appendTo: 'body',
|
|
137
|
-
minWidth: this.media === 'desktop' ?
|
|
137
|
+
minWidth: this.media === 'desktop' ? 400 : '85%',
|
|
138
138
|
wrapperId: this.dialogId
|
|
139
139
|
}, this.ks.dialogProps);
|
|
140
140
|
var formProps = __assign({
|
|
@@ -3,8 +3,6 @@ import * as Vue from 'vue';
|
|
|
3
3
|
var allVue = Vue;
|
|
4
4
|
var gh = allVue.h;
|
|
5
5
|
var isV3 = allVue.version && allVue.version[0] === '3';
|
|
6
|
-
import { ToolbarItem } from '@progress/kendo-vue-buttons';
|
|
7
|
-
import { getDefaultSlots } from '@progress/kendo-vue-common';
|
|
8
6
|
import { ViewSelectorList } from './ViewSelectorList';
|
|
9
7
|
/**
|
|
10
8
|
* @hidden
|
|
@@ -22,17 +20,7 @@ var SchedulerViewSelectorVue2 = {
|
|
|
22
20
|
// @ts-ignore
|
|
23
21
|
render: function render(createElement) {
|
|
24
22
|
var h = gh || createElement;
|
|
25
|
-
|
|
26
|
-
return (
|
|
27
|
-
// @ts-ignore function children
|
|
28
|
-
h(ToolbarItem
|
|
29
|
-
// ref={(item) => { if (item) { element.current = item.element; } }}
|
|
30
|
-
, {
|
|
31
|
-
"class": 'k-scheduler-views'
|
|
32
|
-
}, this.v3 ? function () {
|
|
33
|
-
return [h(ViewSelectorList)];
|
|
34
|
-
} : [h(ViewSelectorList)])
|
|
35
|
-
);
|
|
23
|
+
return h(ViewSelectorList);
|
|
36
24
|
}
|
|
37
25
|
};
|
|
38
26
|
/**
|
|
@@ -1,26 +1,12 @@
|
|
|
1
|
-
var __assign = this && this.__assign || function () {
|
|
2
|
-
__assign = Object.assign || function (t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) {
|
|
6
|
-
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
1
|
// @ts-ignore
|
|
14
2
|
import * as Vue from 'vue';
|
|
15
3
|
var allVue = Vue;
|
|
16
4
|
var gh = allVue.h;
|
|
17
5
|
var isV3 = allVue.version && allVue.version[0] === '3';
|
|
18
|
-
import {
|
|
6
|
+
import { ButtonGroup } from '@progress/kendo-vue-buttons';
|
|
19
7
|
import { ViewSelectorItem } from './ViewSelectorItem';
|
|
20
8
|
import { provideLocalizationService } from '@progress/kendo-vue-intl';
|
|
21
9
|
import { messages, dropdownlistSelectViewAriaLabel } from '../../../messages/main';
|
|
22
|
-
import { Icon } from '@progress/kendo-vue-common';
|
|
23
|
-
import { caretAltDownIcon } from '@progress/kendo-svg-icons';
|
|
24
10
|
/**
|
|
25
11
|
* @hidden
|
|
26
12
|
*/
|
|
@@ -40,7 +26,9 @@ var ViewSelectorListVue2 = {
|
|
|
40
26
|
mounted: function mounted() {
|
|
41
27
|
this.calculateMedia();
|
|
42
28
|
this.observer = new window.ResizeObserver(this.calculateMedia);
|
|
43
|
-
this.
|
|
29
|
+
if (this.ks.scheduler) {
|
|
30
|
+
this.observer.observe(this.ks.scheduler.$el);
|
|
31
|
+
}
|
|
44
32
|
},
|
|
45
33
|
destroyed: !!isV3 ? undefined : function () {
|
|
46
34
|
if (this.observer) {
|
|
@@ -77,70 +65,36 @@ var ViewSelectorListVue2 = {
|
|
|
77
65
|
});
|
|
78
66
|
var activeNameTitle = 'scheduler.' + activeView.name + 'ViewTitle';
|
|
79
67
|
var activeName = this.localization.toLanguageString(activeNameTitle, messages[activeNameTitle]) || activeView.name;
|
|
80
|
-
|
|
81
|
-
"
|
|
82
|
-
}, [activeView && this.media === 'mobile' &&
|
|
83
|
-
// @ts-ignore function children
|
|
84
|
-
h(DropDownButton, {
|
|
85
|
-
"class": "k-views-dropdown",
|
|
86
|
-
"aria-label": this.localization.toLanguageString(dropdownlistSelectViewAriaLabel, messages[dropdownlistSelectViewAriaLabel]),
|
|
87
|
-
attrs: this.v3 ? undefined : {
|
|
88
|
-
"aria-label": this.localization.toLanguageString(dropdownlistSelectViewAriaLabel, messages[dropdownlistSelectViewAriaLabel]),
|
|
68
|
+
var dropdown = function dropdown() {
|
|
69
|
+
return h("select", {
|
|
89
70
|
tabIndex: -1,
|
|
90
|
-
|
|
91
|
-
|
|
71
|
+
attrs: this.v3 ? undefined : {
|
|
72
|
+
tabIndex: -1,
|
|
73
|
+
ariaLabel: this.localization.toLanguageString(dropdownlistSelectViewAriaLabel, messages[dropdownlistSelectViewAriaLabel])
|
|
92
74
|
},
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
title: v.title || name
|
|
101
|
-
});
|
|
102
|
-
}, this),
|
|
103
|
-
text: activeView.title || activeName
|
|
104
|
-
},
|
|
105
|
-
tabIndex: -1,
|
|
106
|
-
onItemclick: this.handleItemClick,
|
|
107
|
-
on: this.v3 ? undefined : {
|
|
108
|
-
"itemclick": this.handleItemClick
|
|
109
|
-
},
|
|
110
|
-
popupSettings: {
|
|
111
|
-
popupClass: 'k-scheduler-toolbar'
|
|
112
|
-
},
|
|
113
|
-
textField: "title",
|
|
114
|
-
items: views.map(function (v) {
|
|
75
|
+
"class": 'k-views-dropdown k-dropdown k-picker k-picker-solid k-rounded-md k-picker-md',
|
|
76
|
+
ariaLabel: this.localization.toLanguageString(dropdownlistSelectViewAriaLabel, messages[dropdownlistSelectViewAriaLabel]),
|
|
77
|
+
onChange: this.ddlChange,
|
|
78
|
+
on: this.v3 ? undefined : {
|
|
79
|
+
"change": this.ddlChange
|
|
80
|
+
}
|
|
81
|
+
}, [views.map(function (v) {
|
|
115
82
|
var nameTitle = 'scheduler.' + v.name + 'ViewTitle';
|
|
116
83
|
var name = this.localization.toLanguageString(nameTitle, messages[nameTitle]) || v.name;
|
|
117
|
-
return
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
name: "caret-alt-down",
|
|
129
|
-
icon: caretAltDownIcon
|
|
130
|
-
},
|
|
131
|
-
icon: caretAltDownIcon
|
|
132
|
-
})];
|
|
133
|
-
} : [h(Icon, {
|
|
134
|
-
name: "caret-alt-down",
|
|
135
|
-
attrs: _this2.v3 ? undefined : {
|
|
136
|
-
name: "caret-alt-down",
|
|
137
|
-
icon: caretAltDownIcon
|
|
138
|
-
},
|
|
139
|
-
icon: caretAltDownIcon
|
|
140
|
-
})]), this.media === 'desktop' &&
|
|
84
|
+
return h("option", {
|
|
85
|
+
value: this.v3 ? v.name || v.title || name : null,
|
|
86
|
+
domProps: this.v3 ? undefined : {
|
|
87
|
+
"value": v.name || v.title || name,
|
|
88
|
+
"selected": v.name === this.ks.activeViewName
|
|
89
|
+
},
|
|
90
|
+
selected: this.v3 ? v.name === this.ks.activeViewName : null
|
|
91
|
+
}, [v.title || name]);
|
|
92
|
+
}, this)]);
|
|
93
|
+
};
|
|
94
|
+
return activeView && this.media === 'mobile' ? dropdown.call(this) :
|
|
141
95
|
// @ts-ignore function children
|
|
142
96
|
h(ButtonGroup, {
|
|
143
|
-
"class": "k-scheduler-views"
|
|
97
|
+
"class": "k-toolbar-button-group k-scheduler-views"
|
|
144
98
|
}, this.v3 ? function () {
|
|
145
99
|
return [views.map(function (view) {
|
|
146
100
|
return h(ViewSelectorItem, {
|
|
@@ -159,14 +113,11 @@ var ViewSelectorListVue2 = {
|
|
|
159
113
|
view: view
|
|
160
114
|
}
|
|
161
115
|
});
|
|
162
|
-
}, _this2)])
|
|
116
|
+
}, _this2)]);
|
|
163
117
|
},
|
|
164
118
|
methods: {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
if (event.item.name || event.item.title) {
|
|
168
|
-
this.setActiveViewName(event.item.name || event.item.title);
|
|
169
|
-
}
|
|
119
|
+
ddlChange: function ddlChange(event) {
|
|
120
|
+
this.setActiveViewName(event.target.value);
|
|
170
121
|
},
|
|
171
122
|
calculateMedia: function calculateMedia() {
|
|
172
123
|
this.media = window.matchMedia('(min-width: 1024px)').matches ? 'desktop' : 'mobile';
|