]> git.proxmox.com Git - proxmox-backup.git/blob - www/form/CalendarEvent.js
7664eb89ff875764e4511284a34fef99339ae0b0
[proxmox-backup.git] / www / form / CalendarEvent.js
1 Ext.define('PBS.data.CalendarEventExamples', {
2 extend: 'Ext.data.Store',
3 alias: 'store.calendarEventExamples',
4
5 field: ['value', 'text'],
6 data: [
7 { value: '*/30', text: Ext.String.format(gettext("Every {0} minutes"), 30) },
8 { value: 'hourly', text: gettext("Every hour") },
9 { value: '*/2:00', text: gettext("Every two hours") },
10 { value: '2,22:30', text: gettext("Every day") + " 02:30, 22:30" },
11 { value: 'daily', text: gettext("Every day") + " 00:00" },
12 { value: 'mon..fri', text: gettext("Monday to Friday") + " 00:00" },
13 { value: 'mon..fri *:00', text: gettext("Monday to Friday") + ', ' + gettext("hourly") },
14 { value: 'sat 18:15', text: gettext("Every Saturday") + " 18:15" },
15 { value: 'monthly', text: gettext("Every first day of the Month") + " 00:00" },
16 { value: 'sat *-1..7 02:00', text: gettext("Every first Saturday of the month") + " 02:00" },
17 { value: 'yearly', text: gettext("First day of the year") + " 00:00" },
18 ],
19 });
20
21 Ext.define('PBS.form.CalendarEvent', {
22 extend: 'Ext.form.field.ComboBox',
23 xtype: 'pbsCalendarEvent',
24
25 editable: true,
26
27 valueField: 'value',
28 displayField: 'text',
29 queryMode: 'local',
30
31 config: {
32 deleteEmpty: true,
33 },
34 // overide framework function to implement deleteEmpty behaviour
35 getSubmitData: function() {
36 let me = this, data = null;
37 if (!me.disabled && me.submitValue) {
38 let val = me.getSubmitValue();
39 if (val !== null && val !== '' && val !== '__default__') {
40 data = {};
41 data[me.getName()] = val;
42 } else if (me.getDeleteEmpty()) {
43 data = {};
44 data.delete = me.getName();
45 }
46 }
47 return data;
48 },
49
50
51 store: {
52 type: 'calendarEventExamples',
53 },
54
55 tpl: [
56 '<ul class="x-list-plain"><tpl for=".">',
57 '<li role="option" class="x-boundlist-item">{text}</li>',
58 '</tpl></ul>',
59 ],
60
61 displayTpl: [
62 '<tpl for=".">',
63 '{value}',
64 '</tpl>',
65 ],
66 });