]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/RBDEdit.js
Rename 'create' to 'isCreate' in pveWindowEdit and subclasses
[pve-manager.git] / www / manager6 / storage / RBDEdit.js
1 Ext.define('PVE.storage.RBDInputPanel', {
2 extend: 'PVE.panel.InputPanel',
3
4 onGetValues: function(values) {
5 var me = this;
6
7 if (me.isCreate) {
8 values.type = 'rbd';
9 } else {
10 delete values.storage;
11 }
12
13 values.disable = values.enable ? 0 : 1;
14 delete values.enable;
15
16 return values;
17 },
18
19 initComponent : function() {
20 var me = this;
21
22
23 me.column1 = [
24 {
25 xtype: me.isCreate ? 'textfield' : 'displayfield',
26 name: 'storage',
27 value: me.storageId || '',
28 fieldLabel: 'ID',
29 vtype: 'StorageId',
30 allowBlank: false
31 },
32 {
33 xtype: me.isCreate ? 'textfield' : 'displayfield',
34 name: 'pool',
35 value: 'rbd',
36 fieldLabel: gettext('Pool'),
37 allowBlank: false
38 },
39 {
40 xtype: me.isCreate ? 'textfield' : 'displayfield',
41 name: 'monhost',
42 vtype: 'HostList',
43 value: '',
44 fieldLabel: 'Monitor(s)',
45 allowBlank: false
46 },
47 {
48 xtype: me.isCreate ? 'textfield' : 'displayfield',
49 name: 'username',
50 value: 'admin',
51 fieldLabel: gettext('User name'),
52 allowBlank: true
53 }
54 ];
55
56 // here value is an array,
57 // while before it was a string
58 /*jslint confusion: true*/
59 me.column2 = [
60 {
61 xtype: 'pvecheckbox',
62 name: 'enable',
63 checked: true,
64 uncheckedValue: 0,
65 fieldLabel: gettext('Enable')
66 },
67 {
68 xtype: 'pveContentTypeSelector',
69 cts: ['images', 'rootdir'],
70 fieldLabel: gettext('Content'),
71 name: 'content',
72 value: ['images'],
73 multiSelect: true,
74 allowBlank: false
75 },
76 {
77 xtype: 'pvecheckbox',
78 name: 'krbd',
79 uncheckedValue: 0,
80 fieldLabel: 'KRBD'
81 }
82 ];
83 /*jslint confusion: false*/
84
85 if (me.isCreate || me.storageId !== 'local') {
86 me.column2.unshift({
87 xtype: 'pveNodeSelector',
88 name: 'nodes',
89 fieldLabel: gettext('Nodes'),
90 emptyText: gettext('All') + ' (' +
91 gettext('No restrictions') +')',
92 multiSelect: true,
93 autoSelect: false
94 });
95 }
96
97 me.callParent();
98 }
99 });
100
101 Ext.define('PVE.storage.RBDEdit', {
102 extend: 'PVE.window.Edit',
103
104 initComponent : function() {
105 var me = this;
106
107 me.isCreate = !me.storageId;
108
109 if (me.isCreate) {
110 me.url = '/api2/extjs/storage';
111 me.method = 'POST';
112 } else {
113 me.url = '/api2/extjs/storage/' + me.storageId;
114 me.method = 'PUT';
115 }
116
117 var ipanel = Ext.create('PVE.storage.RBDInputPanel', {
118 isCreate: me.isCreate,
119 storageId: me.storageId
120 });
121
122 Ext.apply(me, {
123 subject: PVE.Utils.format_storage_type('rbd'),
124 isAdd: true,
125 items: [ ipanel ]
126 });
127
128 me.callParent();
129
130 if (!me.isCreate) {
131 me.load({
132 success: function(response, options) {
133 var values = response.result.data;
134
135 var ctypes = values.content || '';
136
137 values.content = ctypes.split(',');
138
139 if (values.nodes) {
140 values.nodes = values.nodes.split(',');
141 }
142 values.enable = values.disable ? 0 : 1;
143 ipanel.setValues(values);
144 }
145 });
146 }
147 }
148 });