]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/storage/SheepdogEdit.js
use Checkbox from widget toolkit
[pve-manager.git] / www / manager6 / storage / SheepdogEdit.js
CommitLineData
d2a12d3e
DM
1Ext.define('PVE.storage.SheepdogInputPanel', {
2 extend: 'PVE.panel.InputPanel',
3
4 onGetValues: function(values) {
5 var me = this;
6
d5e771ce 7 if (me.isCreate) {
d2a12d3e
DM
8 values.type = 'sheepdog';
9 values.content = 'images';
10
11 } else {
12 delete values.storage;
13 }
14
177de3de 15 values.disable = values.enable ? 0 : 1;
d2a12d3e
DM
16 delete values.enable;
17
18 return values;
19 },
20
21 initComponent : function() {
22 var me = this;
23
24
25 me.column1 = [
26 {
d5e771ce 27 xtype: me.isCreate ? 'textfield' : 'displayfield',
d2a12d3e 28 name: 'storage',
d2a12d3e
DM
29 value: me.storageId || '',
30 fieldLabel: 'ID',
31 vtype: 'StorageId',
32 allowBlank: false
33 },
34 {
d5e771ce 35 xtype: me.isCreate ? 'textfield' : 'displayfield',
d2a12d3e 36 name: 'portal',
d2a12d3e
DM
37 value: '127.0.0.1:7000',
38 fieldLabel: gettext('Gateway'),
39 allowBlank: false
40 }
41 ];
42
43 me.column2 = [
44 {
896c0d50 45 xtype: 'proxmoxcheckbox',
d2a12d3e
DM
46 name: 'enable',
47 checked: true,
48 uncheckedValue: 0,
49 fieldLabel: gettext('Enable')
50 }
51 ];
52
d5e771ce 53 if (me.isCreate || me.storageId !== 'local') {
d2a12d3e 54 me.column2.unshift({
5198365d 55 xtype: 'pveNodeSelector',
d2a12d3e
DM
56 name: 'nodes',
57 fieldLabel: gettext('Nodes'),
177de3de 58 emptyText: gettext('All') + ' (' +
d2a12d3e
DM
59 gettext('No restrictions') +')',
60 multiSelect: true,
61 autoSelect: false
62 });
63 }
64
65 me.callParent();
66 }
67});
68
69Ext.define('PVE.storage.SheepdogEdit', {
70 extend: 'PVE.window.Edit',
71
72 initComponent : function() {
73 var me = this;
177de3de 74
d5e771ce 75 me.isCreate = !me.storageId;
d2a12d3e 76
d5e771ce 77 if (me.isCreate) {
d2a12d3e
DM
78 me.url = '/api2/extjs/storage';
79 me.method = 'POST';
80 } else {
81 me.url = '/api2/extjs/storage/' + me.storageId;
82 me.method = 'PUT';
83 }
84
85 var ipanel = Ext.create('PVE.storage.SheepdogInputPanel', {
d5e771ce 86 isCreate: me.isCreate,
d2a12d3e
DM
87 storageId: me.storageId
88 });
89
90 Ext.apply(me, {
91 subject: PVE.Utils.format_storage_type('sheepdog'),
92 isAdd: true,
93 items: [ ipanel ]
94 });
177de3de 95
d2a12d3e
DM
96 me.callParent();
97
d5e771ce 98 if (!me.isCreate) {
d2a12d3e
DM
99 me.load({
100 success: function(response, options) {
101 var values = response.result.data;
102 if (values.nodes) {
103 values.nodes = values.nodes.split(',');
104 }
105 values.enable = values.disable ? 0 : 1;
106 ipanel.setValues(values);
107 }
108 });
109 }
110 }
111});