]> git.proxmox.com Git - proxmox-backup.git/blob - www/form/CalendarEvent.js
ui: calendar event: disable matchFieldWidth for picker
[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 matchFieldWidth: false,
32
33 config: {
34 deleteEmpty: true,
35 },
36 // overide framework function to implement deleteEmpty behaviour
37 getSubmitData: function() {
38 let me = this, data = null;
39 if (!me.disabled && me.submitValue) {
40 let val = me.getSubmitValue();
41 if (val !== null && val !== '' && val !== '__default__') {
42 data = {};
43 data[me.getName()] = val;
44 } else if (me.getDeleteEmpty()) {
45 data = {};
46 data.delete = me.getName();
47 }
48 }
49 return data;
50 },
51
52
53 store: {
54 type: 'calendarEventExamples',
55 },
56
57 tpl: [
58 '<ul class="x-list-plain"><tpl for=".">',
59 '<li role="option" class="x-boundlist-item">{text}</li>',
60 '</tpl></ul>',
61 ],
62
63 displayTpl: [
64 '<tpl for=".">',
65 '{value}',
66 '</tpl>',
67 ],
68 });