1
|
$(function() {
|
2
|
kendoUI.autocomplete_widget();
|
3
|
kendoUI.calendar_widget();
|
4
|
kendoUI.color_picker_widget();
|
5
|
kendoUI.combobox_widget();
|
6
|
kendoUI.datepicker_widget();
|
7
|
kendoUI.datetimepicker_widget();
|
8
|
kendoUI.dropdownList_widget();
|
9
|
kendoUI.masked_input_widget();
|
10
|
kendoUI.menu_widget();
|
11
|
kendoUI.multiselect_widget();
|
12
|
kendoUI.numeric_textbox_widget();
|
13
|
kendoUI.panelbar_widget();
|
14
|
kendoUI.timepicker_widget();
|
15
|
kendoUI.toolbar_widget();
|
16
|
kendoUI.window_widget();
|
17
|
});
|
18
|
|
19
|
kendoUI = {
|
20
|
autocomplete_widget: function() {
|
21
|
// basic example
|
22
|
var $kUI_autocomplete = $('#kUI_automplete');
|
23
|
if($kUI_autocomplete.length) {
|
24
|
var countries = ["Albania", "Andorra", "Armenia", "Austria", "Azerbaijan", "Belarus", "Belgium", "Bosnia & Herzegovina", "Bulgaria", "Croatia", "Cyprus", "Czech Republic", "Denmark", "Estonia", "Finland", "France", "Georgia", "Germany", "Greece", "Hungary", "Iceland", "Ireland", "Italy", "Kosovo", "Latvia", "Liechtenstein", "Lithuania", "Luxembourg", "Macedonia", "Malta", "Moldova", "Monaco", "Montenegro", "Netherlands", "Norway", "Poland", "Portugal", "Romania", "Russia", "San Marino", "Serbia", "Slovakia", "Slovenia", "Spain", "Sweden", "Switzerland", "Turkey", "Ukraine", "United Kingdom", "Vatican City"];
|
25
|
var countriesDS = new kendo.data.DataSource({
|
26
|
data: countries
|
27
|
});
|
28
|
var getFilters = function (filter) {
|
29
|
var filters = [];
|
30
|
filters.push(filter);
|
31
|
var values = autoComplete.value().split(", ");
|
32
|
values.pop();
|
33
|
$.each(values, function (index, item) {
|
34
|
filters.push({field: "", ignoreCase: true, operator: "neq", value: item});
|
35
|
});
|
36
|
return filters;
|
37
|
};
|
38
|
var autoComplete = $kUI_autocomplete.kendoAutoComplete({
|
39
|
filter: "startswith",
|
40
|
placeholder: "Select country...",
|
41
|
separator: ", ",
|
42
|
dataSource: {
|
43
|
transport: {
|
44
|
read: function (options, operation) {
|
45
|
countriesDS.read();
|
46
|
countriesDS.filter({logic: "and", filters: getFilters(options.data.filter.filters[0])});
|
47
|
options.success(countriesDS.view());
|
48
|
}
|
49
|
},
|
50
|
serverFiltering: true
|
51
|
}
|
52
|
}).data("kendoAutoComplete");
|
53
|
}
|
54
|
|
55
|
// custom template
|
56
|
var $kUI_autocomplete_template = $('#kUI_automplete_template');
|
57
|
if($kUI_autocomplete_template.length) {
|
58
|
$kUI_autocomplete_template.kendoAutoComplete({
|
59
|
minLength: 2,
|
60
|
dataTextField: "ContactName",
|
61
|
template:
|
62
|
'<div class="k-list-wrapper">'+
|
63
|
'<span class="k-state-default k-list-wrapper-addon">' +
|
64
|
'<img src=\"assets/img/avatars/avatar_#:data.CustomerID#_tn.png\" alt=\"#:data.CustomerID#\" />' +
|
65
|
'</span>' +
|
66
|
'<span class="k-state-default k-list-wrapper-content">' +
|
67
|
'<p>#: data.ContactName #</p>' +
|
68
|
'<span class="uk-text-muted uk-text-small">#: data.CompanyName #</span>' +
|
69
|
'</span>' +
|
70
|
'</div>',
|
71
|
dataSource: {
|
72
|
transport: {
|
73
|
read: {
|
74
|
dataType: "json",
|
75
|
url: "data/kUI_users_data.min.json"
|
76
|
}
|
77
|
}
|
78
|
},
|
79
|
height: 204
|
80
|
}).data("kendoAutoComplete");
|
81
|
}
|
82
|
},
|
83
|
calendar_widget: function() {
|
84
|
var $kUI_calendar = $('#kUI_calendar');
|
85
|
if($kUI_calendar.length) {
|
86
|
$kUI_calendar.kendoCalendar();
|
87
|
}
|
88
|
},
|
89
|
color_picker_widget: function() {
|
90
|
function preview(e) {
|
91
|
$(".icon_preview").find('.material-icons').css("color", e.value);
|
92
|
}
|
93
|
|
94
|
var $kUI_color_palette = $('#kUI_color_palette');
|
95
|
if($kUI_color_palette.length) {
|
96
|
$kUI_color_palette.kendoColorPalette({
|
97
|
columns: 5,
|
98
|
tileSize: {
|
99
|
width: 24,
|
100
|
height: 16
|
101
|
},
|
102
|
palette: [
|
103
|
"#e53935", "#d81b60", "#8e24aa", "#5e35b1", "#3949ab",
|
104
|
"#1e88e5", "#039be5", "#00acc1", "#00897b", "#43a047",
|
105
|
"#7cb342", "#c0ca33", "#fdd835", "#ffb300", "#fb8c00",
|
106
|
"#f4511e", "#6d4c41", "#757575", "#546e7a"
|
107
|
],
|
108
|
change: preview
|
109
|
});
|
110
|
}
|
111
|
var $kUI_color_picker = $('#kUI_color_picker');
|
112
|
if($kUI_color_picker.length) {
|
113
|
$kUI_color_picker.kendoColorPicker({
|
114
|
value: "#fff",
|
115
|
buttons: false,
|
116
|
select: preview
|
117
|
});
|
118
|
}
|
119
|
|
120
|
},
|
121
|
combobox_widget: function() {
|
122
|
// from <input>
|
123
|
var $kUI_combobox_input = $('#kUI_combobox_input');
|
124
|
if($kUI_combobox_input.length) {
|
125
|
var $kUI_combobox_input_data = $kUI_combobox_input.kendoComboBox({
|
126
|
dataTextField: "text",
|
127
|
dataValueField: "value",
|
128
|
dataSource: [
|
129
|
{ text: "Cotton", value: "1" },
|
130
|
{ text: "Polyester", value: "2" },
|
131
|
{ text: "Cotton/Polyester", value: "3" },
|
132
|
{ text: "Rib Knit", value: "4" }
|
133
|
],
|
134
|
filter: "contains",
|
135
|
suggest: true,
|
136
|
index: 3
|
137
|
}).data("kendoComboBox");
|
138
|
|
139
|
/* add readonly attribute to combobox
|
140
|
$kUI_combobox_input_data.input
|
141
|
.attr("readonly", true)
|
142
|
.on("keydown", function (e) {
|
143
|
if (e.keyCode === 8) {
|
144
|
e.preventDefault();
|
145
|
}
|
146
|
});
|
147
|
*/
|
148
|
}
|
149
|
|
150
|
// from <select>
|
151
|
var $kUI_combobox_select = $('#kUI_combobox_select');
|
152
|
if($kUI_combobox_select.length) {
|
153
|
$kUI_combobox_select.kendoComboBox();
|
154
|
var $kUI_combobox_select_data = $("#size").data("kendoComboBox");
|
155
|
}
|
156
|
|
157
|
// cascade combobox
|
158
|
var $kUI_combobox_cascade_a = $('#kUI_combobox_cascade_a');
|
159
|
var $kUI_combobox_cascade_b = $('#kUI_combobox_cascade_b');
|
160
|
var $kUI_combobox_cascade_c = $('#kUI_combobox_cascade_c');
|
161
|
|
162
|
if($kUI_combobox_cascade_a.length && $kUI_combobox_cascade_b.length && $kUI_combobox_cascade_c.length) {
|
163
|
$kUI_combobox_cascade_a.kendoComboBox({
|
164
|
dataTextField: "name",
|
165
|
dataValueField: "id",
|
166
|
dataSource: [
|
167
|
{name: "Parent1", id: 1},
|
168
|
{name: "Parent2", id: 2}
|
169
|
]
|
170
|
});
|
171
|
$kUI_combobox_cascade_b.kendoComboBox({
|
172
|
cascadeFrom: "kUI_combobox_cascade_a",
|
173
|
cascadeFromField: "parentId",
|
174
|
dataTextField: "name",
|
175
|
dataValueField: "id",
|
176
|
dataSource: [
|
177
|
{name: "Child1_1", id: 1, parentId: 1},
|
178
|
{name: "Child1_2", id: 2, parentId: 1},
|
179
|
{name: "Child2_1", id: 3, parentId: 2},
|
180
|
{name: "Child2_2", id: 4, parentId: 2}
|
181
|
]
|
182
|
});
|
183
|
$kUI_combobox_cascade_c.kendoComboBox({
|
184
|
cascadeFrom: "kUI_combobox_cascade_b",
|
185
|
cascadeFromField: "parentId",
|
186
|
dataTextField: "name",
|
187
|
dataValueField: "id",
|
188
|
dataSource: [
|
189
|
{name: "Child1_1_1", id: 1, parentId: 1},
|
190
|
{name: "Child1_1_2", id: 3, parentId: 1},
|
191
|
{name: "Child1_2_1", id: 3, parentId: 2},
|
192
|
{name: "Child1_2_2", id: 4, parentId: 2},
|
193
|
{name: "Child2_1_1", id: 5, parentId: 3},
|
194
|
{name: "Child2_1_2", id: 6, parentId: 3},
|
195
|
{name: "Child2_2_1", id: 7, parentId: 4},
|
196
|
{name: "Child2_2_2", id: 8, parentId: 4}
|
197
|
]
|
198
|
});
|
199
|
}
|
200
|
},
|
201
|
datepicker_widget: function() {
|
202
|
var $kUI_datepicker_a = $('#kUI_datepicker_a');
|
203
|
if($kUI_datepicker_a.length) {
|
204
|
$kUI_datepicker_a.kendoDatePicker({
|
205
|
format: "d-MM-yyyy"
|
206
|
});
|
207
|
}
|
208
|
var $kUI_datepicker_b = $('#kUI_datepicker_b');
|
209
|
if($kUI_datepicker_b.length) {
|
210
|
$kUI_datepicker_b.kendoDatePicker({
|
211
|
start: "year",
|
212
|
depth: "year",
|
213
|
format: "MMMM yyyy"
|
214
|
});
|
215
|
}
|
216
|
},
|
217
|
datetimepicker_widget: function() {
|
218
|
var $kUI_datetimepicker_a = $('#kUI_datetimepicker_basic');
|
219
|
if($kUI_datetimepicker_a.length) {
|
220
|
$kUI_datetimepicker_a.kendoDateTimePicker({
|
221
|
value: new Date()
|
222
|
});
|
223
|
}
|
224
|
var $kUI_datetimepicker_range_start = $('#kUI_datetimepicker_range_start');
|
225
|
var $kUI_datetimepicker_range_end = $('#kUI_datetimepicker_range_end');
|
226
|
if($kUI_datetimepicker_range_start.length && $kUI_datetimepicker_range_end.length) {
|
227
|
function startChange() {
|
228
|
var startDate = start.value(),
|
229
|
endDate = end.value();
|
230
|
|
231
|
if (startDate) {
|
232
|
startDate = new Date(startDate);
|
233
|
startDate.setDate(startDate.getDate());
|
234
|
end.min(startDate);
|
235
|
} else if (endDate) {
|
236
|
start.max(new Date(endDate));
|
237
|
} else {
|
238
|
endDate = new Date();
|
239
|
start.max(endDate);
|
240
|
end.min(endDate);
|
241
|
}
|
242
|
}
|
243
|
|
244
|
function endChange() {
|
245
|
var endDate = end.value(),
|
246
|
startDate = start.value();
|
247
|
|
248
|
if (endDate) {
|
249
|
endDate = new Date(endDate);
|
250
|
endDate.setDate(endDate.getDate());
|
251
|
start.max(endDate);
|
252
|
} else if (startDate) {
|
253
|
end.min(new Date(startDate));
|
254
|
} else {
|
255
|
endDate = new Date();
|
256
|
start.max(endDate);
|
257
|
end.min(endDate);
|
258
|
}
|
259
|
}
|
260
|
|
261
|
var today = kendo.date.today();
|
262
|
|
263
|
var start = $kUI_datetimepicker_range_start.kendoDateTimePicker({
|
264
|
value: today,
|
265
|
change: startChange,
|
266
|
parseFormats: ["MM/dd/yyyy"]
|
267
|
}).data("kendoDateTimePicker");
|
268
|
|
269
|
var end = $kUI_datetimepicker_range_end.kendoDateTimePicker({
|
270
|
value: today,
|
271
|
change: endChange,
|
272
|
parseFormats: ["MM/dd/yyyy"]
|
273
|
}).data("kendoDateTimePicker");
|
274
|
|
275
|
start.max(end.value());
|
276
|
end.min(start.value());
|
277
|
}
|
278
|
|
279
|
},
|
280
|
dropdownList_widget: function() {
|
281
|
var $kUI_dropdown_basic_input = $('#kUI_dropdown_basic_input');
|
282
|
if($kUI_dropdown_basic_input.length) {
|
283
|
var data = [
|
284
|
{text: "Black", value: "1"},
|
285
|
{text: "Orange", value: "2"},
|
286
|
{text: "Grey", value: "3"}
|
287
|
];
|
288
|
$kUI_dropdown_basic_input.kendoDropDownList({
|
289
|
dataTextField: "text",
|
290
|
dataValueField: "value",
|
291
|
dataSource: data,
|
292
|
index: 0
|
293
|
});
|
294
|
}
|
295
|
|
296
|
var $kUI_dropdown_basic_select = $('#kUI_dropdown_basic_select');
|
297
|
if($kUI_dropdown_basic_select.length) {
|
298
|
$kUI_dropdown_basic_select.kendoDropDownList();
|
299
|
}
|
300
|
},
|
301
|
masked_input_widget: function() {
|
302
|
var $kUI_masked_phone = $('#kUI_masked_phone');
|
303
|
if($kUI_masked_phone.length) {
|
304
|
$kUI_masked_phone.kendoMaskedTextBox({
|
305
|
mask: "(999) 000-0000"
|
306
|
});
|
307
|
}
|
308
|
var $kUI_masked_credit_card = $('#kUI_masked_credit_card');
|
309
|
if($kUI_masked_credit_card.length) {
|
310
|
$kUI_masked_credit_card.kendoMaskedTextBox({
|
311
|
mask: "0000 0000 0000 0000"
|
312
|
});
|
313
|
}
|
314
|
var $kUI_masked_ssn = $('#kUI_masked_ssn');
|
315
|
if($kUI_masked_ssn.length) {
|
316
|
$kUI_masked_ssn.kendoMaskedTextBox({
|
317
|
mask: "000-00-0000"
|
318
|
});
|
319
|
}
|
320
|
var $kUI_masked_postcode = $('#kUI_masked_postcode');
|
321
|
if($kUI_masked_postcode.length) {
|
322
|
$kUI_masked_postcode.kendoMaskedTextBox({
|
323
|
mask: "L0L 0LL"
|
324
|
});
|
325
|
}
|
326
|
},
|
327
|
menu_widget: function() {
|
328
|
var $kUI_menu = $('#kUI_menu');
|
329
|
if($kUI_menu.length) {
|
330
|
$kUI_menu.kendoMenu();
|
331
|
}
|
332
|
},
|
333
|
multiselect_widget: function() {
|
334
|
var $kUI_multiselect_basic = $('#kUI_multiselect_basic');
|
335
|
if($kUI_multiselect_basic.length) {
|
336
|
$kUI_multiselect_basic.kendoMultiSelect();
|
337
|
}
|
338
|
var $kUI_multiselect_custom_template = $('#kUI_multiselect_custom_template');
|
339
|
if($kUI_multiselect_custom_template.length) {
|
340
|
$kUI_multiselect_custom_template.kendoMultiSelect({
|
341
|
dataTextField: "ContactName",
|
342
|
dataValueField: "CustomerID",
|
343
|
itemTemplate:
|
344
|
'<div class="k-list-wrapper">'+
|
345
|
'<span class="k-state-default k-list-wrapper-addon">' +
|
346
|
'<img src=\"assets/img/avatars/avatar_#:data.CustomerID#_tn.png\" alt=\"#:data.CustomerID#\" />' +
|
347
|
'</span>' +
|
348
|
'<span class="k-state-default k-list-wrapper-content">' +
|
349
|
'<p>#: data.ContactName #</p>' +
|
350
|
'<span class="uk-text-muted uk-text-small">#: data.CompanyName #</span>' +
|
351
|
'</span>' +
|
352
|
'</div>',
|
353
|
tagTemplate:
|
354
|
'<img class="k-tag-image" src=\"assets/img/avatars/avatar_#:data.CustomerID#_tn.png\" alt=\"${data.CustomerID}\" />' +
|
355
|
'#: data.ContactName #',
|
356
|
dataSource: {
|
357
|
transport: {
|
358
|
read: {
|
359
|
dataType: "json",
|
360
|
url: "data/kUI_users_data.min.json"
|
361
|
}
|
362
|
}
|
363
|
},
|
364
|
value: [
|
365
|
{ ContactName: "William Block", CustomerID: 3 }
|
366
|
],
|
367
|
height: 204
|
368
|
}).data("kendoMultiSelect");
|
369
|
|
370
|
}
|
371
|
},
|
372
|
numeric_textbox_widget: function() {
|
373
|
var $kUI_numeric_price = $('#kUI_numeric_price');
|
374
|
if($kUI_numeric_price.length) {
|
375
|
$kUI_numeric_price.kendoNumericTextBox({
|
376
|
format: "c",
|
377
|
decimals: 3
|
378
|
});
|
379
|
}
|
380
|
var $kUI_numeric_price_discount = $('#kUI_numeric_price_discount');
|
381
|
if($kUI_numeric_price_discount.length) {
|
382
|
$kUI_numeric_price_discount.kendoNumericTextBox({
|
383
|
format: "p0",
|
384
|
min: 0,
|
385
|
max: 0.1,
|
386
|
step: 0.01
|
387
|
});
|
388
|
}
|
389
|
var $kUI_numeric_weight = $('#kUI_numeric_weight');
|
390
|
if($kUI_numeric_weight.length) {
|
391
|
$kUI_numeric_weight.kendoNumericTextBox({
|
392
|
format: "#.00 kg"
|
393
|
});
|
394
|
}
|
395
|
var $kUI_numeric_stock = $('#kUI_numeric_stock');
|
396
|
if($kUI_numeric_stock.length) {
|
397
|
$kUI_numeric_stock.kendoNumericTextBox();
|
398
|
}
|
399
|
},
|
400
|
panelbar_widget: function() {
|
401
|
var $kUI_panelbar = $('#kUI_panelbar');
|
402
|
if($kUI_panelbar.length) {
|
403
|
$kUI_panelbar.kendoPanelBar();
|
404
|
}
|
405
|
},
|
406
|
timepicker_widget: function() {
|
407
|
// basic example
|
408
|
var $kUI_timepicker = $('#kUI_timepicker');
|
409
|
if($kUI_timepicker.length) {
|
410
|
$kUI_timepicker.kendoTimePicker();
|
411
|
}
|
412
|
// range selection
|
413
|
var $kUI_timepicker_range_start = $('#kUI_timepicker_range_start');
|
414
|
var $kUI_timepicker_range_end = $('#kUI_timepicker_range_end');
|
415
|
if($kUI_timepicker_range_start.length && $kUI_timepicker_range_end.length) {
|
416
|
function startChange() {
|
417
|
var startTime = start.value();
|
418
|
if (startTime) {
|
419
|
startTime = new Date(startTime);
|
420
|
end.max(startTime);
|
421
|
startTime.setMinutes(startTime.getMinutes() + this.options.interval);
|
422
|
end.min(startTime);
|
423
|
end.value(startTime);
|
424
|
}
|
425
|
}
|
426
|
|
427
|
var start = $kUI_timepicker_range_start.kendoTimePicker({
|
428
|
change: startChange
|
429
|
}).data("kendoTimePicker");
|
430
|
|
431
|
var end = $kUI_timepicker_range_end.kendoTimePicker().data("kendoTimePicker");
|
432
|
|
433
|
start.min("8:00 AM");
|
434
|
start.max("6:00 PM");
|
435
|
|
436
|
end.min("8:00 AM");
|
437
|
end.max("7:30 AM");
|
438
|
|
439
|
}
|
440
|
|
441
|
},
|
442
|
toolbar_widget: function() {
|
443
|
var $kUI_toolBar = $('#kUI_toolBar');
|
444
|
if($kUI_toolBar.length) {
|
445
|
|
446
|
$kUI_toolBar.kendoToolBar({
|
447
|
items: [
|
448
|
{ type: "button", text: "Button" },
|
449
|
{ type: "button", text: "Toggle Button", togglable: true },
|
450
|
{
|
451
|
type: "splitButton",
|
452
|
text: "Insert",
|
453
|
menuButtons: [
|
454
|
{ text: "Insert above", icon: "insert-n" },
|
455
|
{ text: "Insert between", icon: "insert-m" },
|
456
|
{ text: "Insert below", icon: "insert-s" }
|
457
|
]
|
458
|
},
|
459
|
{ type: "separator" },
|
460
|
{ template: "<label>Format:</label>" },
|
461
|
{
|
462
|
template: "<input id='kUI_dropdown' class='uk-form-width-medium' />",
|
463
|
overflow: "never"
|
464
|
},
|
465
|
{ type: "separator" },
|
466
|
{
|
467
|
type: "buttonGroup",
|
468
|
buttons: [
|
469
|
{ spriteCssClass: "k-tool-icon k-justifyLeft", text: "Left", togglable: true, group: "text-align" },
|
470
|
{ spriteCssClass: "k-tool-icon k-justifyCenter", text: "Center", togglable: true, group: "text-align" },
|
471
|
{ spriteCssClass: "k-tool-icon k-justifyRight", text: "Right", togglable: true, group: "text-align" }
|
472
|
]
|
473
|
},
|
474
|
{
|
475
|
type: "buttonGroup",
|
476
|
buttons: [
|
477
|
{ spriteCssClass: "k-tool-icon k-bold", text: "Bold", togglable: true, showText: "overflow" },
|
478
|
{ spriteCssClass: "k-tool-icon k-italic", text: "Italic", togglable: true, showText: "overflow" },
|
479
|
{ spriteCssClass: "k-tool-icon k-underline", text: "Underline", togglable: true, showText: "overflow" }
|
480
|
]
|
481
|
},
|
482
|
{
|
483
|
type: "button",
|
484
|
text: "Action",
|
485
|
overflow: "always"
|
486
|
},
|
487
|
{
|
488
|
type: "button",
|
489
|
text: "Another Action",
|
490
|
overflow: "always"
|
491
|
},
|
492
|
{
|
493
|
type: "button",
|
494
|
text: "Something else here",
|
495
|
overflow: "always"
|
496
|
}
|
497
|
]
|
498
|
});
|
499
|
|
500
|
$("#kUI_dropdown").kendoDropDownList({
|
501
|
optionLabel: "Paragraph",
|
502
|
dataTextField: "text",
|
503
|
dataValueField: "value",
|
504
|
dataSource: [
|
505
|
{ text: "Heading 1", value: 1 },
|
506
|
{ text: "Heading 2", value: 2 },
|
507
|
{ text: "Heading 3", value: 3 },
|
508
|
{ text: "Title", value: 4 },
|
509
|
{ text: "Subtitle", value: 5 }
|
510
|
]
|
511
|
});
|
512
|
|
513
|
}
|
514
|
},
|
515
|
window_widget: function() {
|
516
|
var $kUI_window = $('#kUI_window');
|
517
|
var $kUI_undo = $('#kUI_undo');
|
518
|
if($kUI_window.length) {
|
519
|
var k_window = $kUI_window,
|
520
|
k_undo = $kUI_undo
|
521
|
.bind("click", function () {
|
522
|
k_window.data("kendoWindow").open();
|
523
|
k_undo.hide();
|
524
|
});
|
525
|
|
526
|
var onClose = function () {
|
527
|
k_undo.show();
|
528
|
};
|
529
|
|
530
|
if (!k_window.data("kendoWindow")) {
|
531
|
k_window.kendoWindow({
|
532
|
width: "600px",
|
533
|
title: "Lorem ipsum dolor sit",
|
534
|
actions: [
|
535
|
"Pin",
|
536
|
"Minimize",
|
537
|
"Maximize",
|
538
|
"Close"
|
539
|
],
|
540
|
close: onClose
|
541
|
});
|
542
|
}
|
543
|
}
|
544
|
}
|
545
|
};
|