]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/storage/GlusterFsEdit.js
add snippets content type to the gui
[pve-manager.git] / www / manager6 / storage / GlusterFsEdit.js
CommitLineData
5313526e
DM
1Ext.define('PVE.storage.GlusterFsScan', {
2 extend: 'Ext.form.field.ComboBox',
3 alias: 'widget.pveGlusterFsScan',
4
5 queryParam: 'server',
6
c2317525
DC
7 valueField: 'volname',
8 displayField: 'volname',
9 matchFieldWidth: false,
10 listConfig: {
11 loadingText: 'Scanning...',
12 width: 350
13 },
5313526e
DM
14 doRawQuery: function() {
15 },
16
17 onTriggerClick: function() {
18 var me = this;
19
20 if (!me.queryCaching || me.lastQuery !== me.glusterServer) {
21 me.store.removeAll();
22 }
23
24 me.allQuery = me.glusterServer;
25
26 me.callParent();
27 },
28
29 setServer: function(server) {
30 var me = this;
31
32 me.glusterServer = server;
33 },
34
35 initComponent : function() {
36 var me = this;
37
38 if (!me.nodename) {
39 me.nodename = 'localhost';
40 }
41
42 var store = Ext.create('Ext.data.Store', {
43 fields: [ 'volname' ],
44 proxy: {
56a353b9 45 type: 'proxmox',
5313526e
DM
46 url: '/api2/json/nodes/' + me.nodename + '/scan/glusterfs'
47 }
48 });
49
9e9ab96f
WL
50 store.sort('volname', 'ASC');
51
5313526e 52 Ext.apply(me, {
22f2f9d6 53 store: store
5313526e
DM
54 });
55
56 me.callParent();
57 }
58});
59
60Ext.define('PVE.storage.GlusterFsInputPanel', {
f28ec3e4 61 extend: 'PVE.panel.StorageBase',
5313526e 62
96988dfa
DC
63 onlineHelp: 'storage_glusterfs',
64
5313526e
DM
65 initComponent : function() {
66 var me = this;
67
5313526e 68 me.column1 = [
5313526e 69 {
d5e771ce 70 xtype: me.isCreate ? 'textfield' : 'displayfield',
5313526e
DM
71 name: 'server',
72 value: '',
73 fieldLabel: gettext('Server'),
74 allowBlank: false,
75 listeners: {
76 change: function(f, value) {
d5e771ce 77 if (me.isCreate) {
5313526e
DM
78 var volumeField = me.down('field[name=volume]');
79 volumeField.setServer(value);
80 volumeField.setValue('');
81 }
82 }
83 }
84 },
85 {
dbed4c1c 86 xtype: me.isCreate ? 'proxmoxtextfield' : 'displayfield',
5313526e
DM
87 name: 'server2',
88 value: '',
89 fieldLabel: gettext('Second Server'),
22f2f9d6 90 allowBlank: true
5313526e
DM
91 },
92 {
d5e771ce 93 xtype: me.isCreate ? 'pveGlusterFsScan' : 'displayfield',
5313526e
DM
94 name: 'volume',
95 value: '',
96 fieldLabel: 'Volume name',
97 allowBlank: false
98 },
99 {
100 xtype: 'pveContentTypeSelector',
aef28e04 101 cts: ['images', 'iso', 'backup', 'vztmpl', 'snippets'],
5313526e
DM
102 name: 'content',
103 value: 'images',
104 multiSelect: true,
105 fieldLabel: gettext('Content'),
106 allowBlank: false
107 }
108 ];
109
110 me.column2 = [
5313526e 111 {
bf96f60d 112 xtype: 'proxmoxintegerfield',
5313526e 113 fieldLabel: gettext('Max Backups'),
c2d4185b 114 disabled: true,
5313526e 115 name: 'maxfiles',
c2d4185b 116 reference: 'maxfiles',
5313526e
DM
117 minValue: 0,
118 maxValue: 365,
d5e771ce 119 value: me.isCreate ? '1' : undefined,
5313526e
DM
120 allowBlank: false
121 }
122 ];
123
124 me.callParent();
125 }
126});