Ext.define('PBS.TapeManagement.PoolEditWindow', { extend: 'Proxmox.window.Edit', alias: 'widget.pbsPoolEditWindow', mixins: ['Proxmox.Mixin.CBind'], isCreate: true, isAdd: true, subject: gettext('Media Pool'), cbindData: function(initialConfig) { let me = this; let poolid = initialConfig.poolid; let baseurl = '/api2/extjs/config/media-pool'; me.isCreate = !poolid; me.url = poolid ? `${baseurl}/${encodeURIComponent(poolid)}` : baseurl; me.method = poolid ? 'PUT' : 'POST'; return { }; }, items: { xtype: 'inputpanel', column1: [ { fieldLabel: gettext('Name'), name: 'name', xtype: 'pmxDisplayEditField', renderer: Ext.htmlEncode, allowBlank: false, cbind: { editable: '{isCreate}', }, }, { fieldLabel: gettext('Allocation Policy'), xtype: 'pbsAllocationSelector', name: 'allocation', skipEmptyText: true, allowBlank: true, autoSelect: false, cbind: { deleteEmpty: '{!isCreate}', }, }, { fieldLabel: gettext('Retention Policy'), xtype: 'pbsRetentionSelector', name: 'retention', skipEmptyText: true, allowBlank: true, autoSelect: false, cbind: { deleteEmpty: '{!isCreate}', }, }, ], column2: [ { fieldLabel: gettext('Encryption Key'), xtype: 'pbsTapeKeySelector', name: 'encrypt', allowBlank: true, skipEmptyText: true, autoSelect: false, cbind: { deleteEmpty: '{!isCreate}', }, }, ], columnB: [ { fieldLabel: gettext('Comment'), xtype: 'proxmoxtextfield', name: 'comment', cbind: { deleteEmpty: '{!isCreate}', }, }, ], }, });