-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathcombos.js
More file actions
executable file
·116 lines (108 loc) · 4.27 KB
/
combos.js
File metadata and controls
executable file
·116 lines (108 loc) · 4.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
ClientConfig.combo.Groups = function(config) {
config = config || {};
Ext.applyIf(config,{
url: ClientConfig.config.connectorUrl,
baseParams: {
action: 'mgr/groups/getlist',
combo: true
},
fields: ['id','label'],
hiddenName: config.name || 'group',
pageSize: 15,
valueField: 'id',
displayField: 'label'
});
ClientConfig.combo.Groups.superclass.constructor.call(this,config);
if (config.storeLoadListener) {
this.store.on('load', config.storeLoadListener, this);
this.on('render', function() {
if (!this.getValue()) {
this.store.load();
}
});
}
};
Ext.extend(ClientConfig.combo.Groups,MODx.combo.ComboBox);
Ext.reg('clientconfig-combo-groups',ClientConfig.combo.Groups);
ClientConfig.combo.FieldTypes = function(config) {
config = config || {};
Ext.applyIf(config,{
store: new Ext.data.ArrayStore({
mode: 'local',
fields: ['xtype','label'],
data: [
['textfield', _('clientconfig.xtype.textfield')],
['textarea', _('clientconfig.xtype.textarea')],
['richtext', _('clientconfig.xtype.richtext')],
['code', _('clientconfig.xtype.code')],
['modx-panel-tv-image', _('clientconfig.xtype.image')],
['modx-panel-tv-file', _('clientconfig.xtype.file')],
['numberfield', _('clientconfig.xtype.numberfield')],
['colorpickerfield', _('clientconfig.xtype.colorpalette')],
['email', _('clientconfig.xtype.email')],
['xcheckbox', _('clientconfig.xtype.xcheckbox')],
['multi-checkbox', _('clientconfig.xtype.multi-checkbox')],
['datefield', _('clientconfig.xtype.datefield')],
['timefield', _('clientconfig.xtype.timefield')],
['password', _('clientconfig.xtype.password')],
['modx-combo', _('clientconfig.xtype.combobox')],
['googlefontlist', _('clientconfig.xtype.googlefonts')],
['clientconfig-line', _('clientconfig.xtype.line')]
]
}),
hiddenName: config.name || 'xtype',
valueField: 'xtype',
displayField: 'label',
mode: 'local',
value: 'textfield'
});
if (MODx.config['clientconfig.google_fonts_api_key'] == '') config.store.removeAt(config.store.find('xtype','googlefontlist'));
ClientConfig.combo.FieldTypes.superclass.constructor.call(this,config);
};
Ext.extend(ClientConfig.combo.FieldTypes,MODx.combo.ComboBox);
Ext.reg('clientconfig-combo-fieldtypes',ClientConfig.combo.FieldTypes);
ClientConfig.combo.GoogleFontList = function(config) {
config = config || {};
Ext.applyIf(config,{
url: ClientConfig.config.connectorUrl,
baseParams: {
action: 'mgr/fonts/google/getList',
combo: true
},
fields: ['family','name'],
hiddenName: config.name || 'font',
valueField: 'family',
displayField: 'name'
});
ClientConfig.combo.GoogleFontList.superclass.constructor.call(this,config);
};
Ext.extend(ClientConfig.combo.GoogleFontList, MODx.combo.ComboBox);
Ext.reg('googlefontlist',ClientConfig.combo.GoogleFontList);
ClientConfig.combo.ContextList = function(config) {
config = config || {};
Ext.applyIf(config,{
url: ClientConfig.config.connectorUrl,
baseParams: {
action: 'mgr/contexts/getlist',
exclude: 'mgr',
combo: true
},
fields: ['key','name'],
hiddenName: config.name || 'context',
valueField: 'key',
displayField: 'name',
pageSize: 20
// Typeahead prevents the dropdown from opening on click, needs a solution first
// editable: true,
// typeahead: true,
// forceSelection: true,
// queryParam: 'search',
});
ClientConfig.combo.ContextList.superclass.constructor.call(this,config);
};
Ext.extend(ClientConfig.combo.ContextList, MODx.combo.ComboBox);
Ext.reg('clientconfig-combo-contexts',ClientConfig.combo.ContextList);
ClientConfig.ux.Line = Ext.extend(Ext.Component, {
autoEl: 'hr'
});
Ext.reg('clientconfig-line', ClientConfig.ux.Line);