Ext.define('PVE.storage.DirInputPanel', {
- extend: 'PVE.panel.InputPanel',
- controller: 'storageEdit',
+ extend: 'PVE.panel.StorageBase',
- onGetValues: function(values) {
- var me = this;
-
- if (me.isCreate) {
- values.type = 'dir';
- } else {
- delete values.storage;
- }
-
- values.disable = values.enable ? 0 : 1;
- delete values.enable;
-
- return values;
- },
+ onlineHelp: 'storage_directory',
- initComponent : function() {
+ initComponent: function() {
var me = this;
-
me.column1 = [
- {
- xtype: me.isCreate ? 'textfield' : 'displayfield',
- name: 'storage',
- value: me.storageId || '',
- fieldLabel: 'ID',
- vtype: 'StorageId',
- allowBlank: false
- },
{
xtype: me.isCreate ? 'textfield' : 'displayfield',
name: 'path',
value: '',
fieldLabel: gettext('Directory'),
- allowBlank: false
+ allowBlank: false,
},
{
xtype: 'pveContentTypeSelector',
value: 'images',
multiSelect: true,
fieldLabel: gettext('Content'),
- allowBlank: false
- }
+ allowBlank: false,
+ },
];
me.column2 = [
- {
- xtype: 'proxmoxcheckbox',
- name: 'enable',
- checked: true,
- uncheckedValue: 0,
- fieldLabel: gettext('Enable')
- },
{
xtype: 'proxmoxcheckbox',
name: 'shared',
uncheckedValue: 0,
- fieldLabel: gettext('Shared')
+ fieldLabel: gettext('Shared'),
},
- {
- xtype: 'proxmoxintegerfield',
- fieldLabel: gettext('Max Backups'),
- disabled: true,
- name: 'maxfiles',
- reference: 'maxfiles',
- minValue: 0,
- maxValue: 365,
- value: me.isCreate ? '1' : undefined,
- allowBlank: false
- }
];
- if (me.isCreate || me.storageId !== 'local') {
- me.column2.unshift({
- xtype: 'pveNodeSelector',
- name: 'nodes',
- fieldLabel: gettext('Nodes'),
- emptyText: gettext('All') + ' (' +
- gettext('No restrictions') +')',
- multiSelect: true,
- autoSelect: false
- });
- }
-
- me.callParent();
- }
-});
-
-Ext.define('PVE.storage.DirEdit', {
- extend: 'Proxmox.window.Edit',
-
- initComponent : function() {
- var me = this;
-
- me.isCreate = !me.storageId;
-
- if (me.isCreate) {
- me.url = '/api2/extjs/storage';
- me.method = 'POST';
- } else {
- me.url = '/api2/extjs/storage/' + me.storageId;
- me.method = 'PUT';
- }
-
- var ipanel = Ext.create('PVE.storage.DirInputPanel', {
- isCreate: me.isCreate,
- storageId: me.storageId
- });
-
- Ext.apply(me, {
- subject: PVE.Utils.format_storage_type('dir'),
- isAdd: true,
- items: [ ipanel ]
- });
-
me.callParent();
-
- if (!me.isCreate) {
- me.load({
- success: function(response, options) {
- var values = response.result.data;
- var ctypes = values.content || '';
-
- values.content = ctypes.split(',');
-
- if (values.nodes) {
- values.nodes = values.nodes.split(',');
- }
- values.enable = values.disable ? 0 : 1;
-
- ipanel.setValues(values);
- }
- });
- }
- }
+ },
});