]> git.proxmox.com Git - proxmox-backup.git/blame - www/form/CalendarEvent.js
ui: calendar event: disable matchFieldWidth for picker
[proxmox-backup.git] / www / form / CalendarEvent.js
CommitLineData
41e43880
TL
1Ext.define('PBS.data.CalendarEventExamples', {
2 extend: 'Ext.data.Store',
3 alias: 'store.calendarEventExamples',
4
5 field: ['value', 'text'],
6 data: [
ea3ce82a 7 { value: '*/30', text: Ext.String.format(gettext("Every {0} minutes"), 30) },
41e43880 8 { value: 'hourly', text: gettext("Every hour") },
ea3ce82a 9 { value: '*/2:00', text: gettext("Every two hours") },
41e43880
TL
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" },
ea3ce82a 13 { value: 'mon..fri *:00', text: gettext("Monday to Friday") + ', ' + gettext("hourly") },
41e43880 14 { value: 'sat 18:15', text: gettext("Every Saturday") + " 18:15" },
ea3ce82a
TL
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" },
41e43880
TL
18 ],
19});
20
21Ext.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
d7c12514
TL
31 matchFieldWidth: false,
32
41e43880
TL
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});