]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/GlusterFsEdit.js
1 Ext
.define('PVE.storage.GlusterFsScan', {
2 extend
: 'Ext.form.field.ComboBox',
3 alias
: 'widget.pveGlusterFsScan',
8 displayField
: 'volname',
9 matchFieldWidth
: false,
11 loadingText
: 'Scanning...',
14 doRawQuery: function() {
17 onTriggerClick: function() {
20 if (!me
.queryCaching
|| me
.lastQuery
!== me
.glusterServer
) {
24 me
.allQuery
= me
.glusterServer
;
29 setServer: function(server
) {
32 me
.glusterServer
= server
;
35 initComponent : function() {
39 me
.nodename
= 'localhost';
42 var store
= Ext
.create('Ext.data.Store', {
43 fields
: [ 'volname' ],
46 url
: '/api2/json/nodes/' + me
.nodename
+ '/scan/glusterfs'
50 store
.sort('volname', 'ASC');
60 Ext
.define('PVE.storage.GlusterFsInputPanel', {
61 extend
: 'PVE.panel.InputPanel',
63 onGetValues: function(values
) {
67 values
.type
= 'glusterfs';
69 delete values
.storage
;
72 values
.disable
= values
.enable
? 0 : 1;
78 initComponent : function() {
84 xtype
: me
.isCreate
? 'textfield' : 'displayfield',
86 value
: me
.storageId
|| '',
92 xtype
: me
.isCreate
? 'textfield' : 'displayfield',
95 fieldLabel
: gettext('Server'),
98 change: function(f
, value
) {
100 var volumeField
= me
.down('field[name=volume]');
101 volumeField
.setServer(value
);
102 volumeField
.setValue('');
108 xtype
: me
.isCreate
? 'pvetextfield' : 'displayfield',
111 fieldLabel
: gettext('Second Server'),
115 xtype
: me
.isCreate
? 'pveGlusterFsScan' : 'displayfield',
118 fieldLabel
: 'Volume name',
122 xtype
: 'pveContentTypeSelector',
123 cts
: ['images', 'iso', 'backup', 'vztmpl'],
127 fieldLabel
: gettext('Content'),
134 xtype
: 'pveNodeSelector',
136 fieldLabel
: gettext('Nodes'),
137 emptyText
: gettext('All') + ' (' +
138 gettext('No restrictions') +')',
143 xtype
: 'pvecheckbox',
147 fieldLabel
: gettext('Enable')
150 xtype
: 'pveIntegerField',
151 fieldLabel
: gettext('Max Backups'),
155 value
: me
.isCreate
? '1' : undefined,
164 Ext
.define('PVE.storage.GlusterFsEdit', {
165 extend
: 'PVE.window.Edit',
167 initComponent : function() {
170 me
.isCreate
= !me
.storageId
;
173 me
.url
= '/api2/extjs/storage';
176 me
.url
= '/api2/extjs/storage/' + me
.storageId
;
180 var ipanel
= Ext
.create('PVE.storage.GlusterFsInputPanel', {
181 isCreate
: me
.isCreate
,
182 storageId
: me
.storageId
186 subject
: PVE
.Utils
.format_storage_type('glusterfs'),
195 success: function(response
, options
) {
196 var values
= response
.result
.data
;
197 var ctypes
= values
.content
|| '';
199 values
.content
= ctypes
.split(',');
202 values
.nodes
= values
.nodes
.split(',');
204 values
.enable
= values
.disable
? 0 : 1;
205 ipanel
.setValues(values
);