mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-07 14:51:37 +00:00
ui: disk reassign: drop useless intermediate form
The form is basically a 1:1 copy from what the edit window gives us for free already anyway, so just drop it. best viewed with `git show -w` Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
2281ca3202
commit
14ea602f9d
@ -122,132 +122,121 @@ Ext.define('PVE.window.GuestDiskReassign', {
|
|||||||
defaultFocus: 'sourceDisk',
|
defaultFocus: 'sourceDisk',
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
xtype: 'form',
|
xtype: 'displayfield',
|
||||||
reference: 'moveFormPanel',
|
name: 'sourceDisk',
|
||||||
border: false,
|
fieldLabel: gettext('Source'),
|
||||||
fieldDefaults: {
|
cbind: {
|
||||||
labelWidth: 100,
|
name: get => get('isQemu') ? 'disk' : 'volume',
|
||||||
anchor: '100%',
|
value: '{disk}',
|
||||||
|
},
|
||||||
|
allowBlank: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'vmComboSelector',
|
||||||
|
reference: 'targetVMID',
|
||||||
|
name: 'targetVmid',
|
||||||
|
allowBlank: false,
|
||||||
|
fieldLabel: gettext('Target'),
|
||||||
|
bind: {
|
||||||
|
value: '{targetVMID}',
|
||||||
|
},
|
||||||
|
store: {
|
||||||
|
model: 'PVEResources',
|
||||||
|
autoLoad: true,
|
||||||
|
sorters: 'vmid',
|
||||||
|
cbind: {}, // for nested cbinds
|
||||||
|
filters: [
|
||||||
|
{
|
||||||
|
property: 'type',
|
||||||
|
cbind: {
|
||||||
|
value: get => get('isQemu') ? 'qemu' : 'lxc',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
property: 'node',
|
||||||
|
cbind: {
|
||||||
|
value: '{nodename}',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
property: 'vmid',
|
||||||
|
operator: '!=',
|
||||||
|
cbind: {
|
||||||
|
value: '{vmid}',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
property: 'template',
|
||||||
|
value: 0,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
listeners: { change: 'onTargetVMChange' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'pveControllerSelector',
|
||||||
|
reference: 'diskSelector',
|
||||||
|
withUnused: true,
|
||||||
|
disabled: true,
|
||||||
|
cbind: {
|
||||||
|
hidden: '{!isQemu}',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xtype: 'container',
|
||||||
|
layout: 'hbox',
|
||||||
|
cbind: {
|
||||||
|
hidden: '{isQemu}',
|
||||||
|
disabled: '{isQemu}',
|
||||||
},
|
},
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
xtype: 'displayfield',
|
xtype: 'pmxDisplayEditField',
|
||||||
name: 'sourceDisk',
|
|
||||||
fieldLabel: gettext('Source'),
|
|
||||||
cbind: {
|
cbind: {
|
||||||
name: get => get('isQemu') ? 'disk' : 'volume',
|
editable: get => !get('disk').match(/^unused\d+/),
|
||||||
value: '{disk}',
|
value: get => get('disk').match(/^unused\d+/) ? 'unused' : 'mp',
|
||||||
},
|
},
|
||||||
allowBlank: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'vmComboSelector',
|
|
||||||
reference: 'targetVMID',
|
|
||||||
name: 'targetVmid',
|
|
||||||
allowBlank: false,
|
|
||||||
fieldLabel: gettext('Target'),
|
|
||||||
bind: {
|
|
||||||
value: '{targetVMID}',
|
|
||||||
},
|
|
||||||
store: {
|
|
||||||
model: 'PVEResources',
|
|
||||||
autoLoad: true,
|
|
||||||
sorters: 'vmid',
|
|
||||||
cbind: {}, // for nested cbinds
|
|
||||||
filters: [
|
|
||||||
{
|
|
||||||
property: 'type',
|
|
||||||
cbind: {
|
|
||||||
value: get => get('isQemu') ? 'qemu' : 'lxc',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
property: 'node',
|
|
||||||
cbind: {
|
|
||||||
value: '{nodename}',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
property: 'vmid',
|
|
||||||
operator: '!=',
|
|
||||||
cbind: {
|
|
||||||
value: '{vmid}',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
property: 'template',
|
|
||||||
value: 0,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
listeners: { change: 'onTargetVMChange' },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'pveControllerSelector',
|
|
||||||
reference: 'diskSelector',
|
|
||||||
withUnused: true,
|
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cbind: {
|
name: 'mpType',
|
||||||
hidden: '{!isQemu}',
|
reference: 'mpType',
|
||||||
|
fieldLabel: gettext('Add as'),
|
||||||
|
submitValue: true,
|
||||||
|
flex: 4,
|
||||||
|
editConfig: {
|
||||||
|
xtype: 'proxmoxKVComboBox',
|
||||||
|
name: 'mpTypeCombo',
|
||||||
|
reference: 'mpTypeCombo',
|
||||||
|
deleteEmpty: false,
|
||||||
|
cbind: {
|
||||||
|
hidden: '{isQemu}',
|
||||||
|
},
|
||||||
|
comboItems: [
|
||||||
|
['mp', gettext('Mount Point')],
|
||||||
|
['unused', gettext('Unused')],
|
||||||
|
],
|
||||||
|
listeners: { change: 'onMpTypeChange' },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'container',
|
xtype: 'proxmoxintegerfield',
|
||||||
layout: 'hbox',
|
name: 'mpId',
|
||||||
cbind: {
|
reference: 'mpIdSelector',
|
||||||
hidden: '{isQemu}',
|
minValue: 0,
|
||||||
disabled: '{isQemu}',
|
flex: 1,
|
||||||
|
allowBlank: false,
|
||||||
|
validateOnChange: true,
|
||||||
|
disabled: true,
|
||||||
|
bind: {
|
||||||
|
maxValue: '{mpMaxCount}',
|
||||||
|
},
|
||||||
|
validator: function(value) {
|
||||||
|
let view = this.up('window');
|
||||||
|
let type = view.getViewModel().get('mpType');
|
||||||
|
if (Ext.isDefined(view.VMConfig[`${type}${value}`])) {
|
||||||
|
return "Mount point is already in use.";
|
||||||
|
}
|
||||||
|
return true;
|
||||||
},
|
},
|
||||||
items: [
|
|
||||||
{
|
|
||||||
xtype: 'pmxDisplayEditField',
|
|
||||||
cbind: {
|
|
||||||
editable: get => !get('disk').match(/^unused\d+/),
|
|
||||||
value: get => get('disk').match(/^unused\d+/) ? 'unused' : 'mp',
|
|
||||||
},
|
|
||||||
disabled: true,
|
|
||||||
name: 'mpType',
|
|
||||||
reference: 'mpType',
|
|
||||||
fieldLabel: gettext('Add as'),
|
|
||||||
submitValue: true,
|
|
||||||
flex: 4,
|
|
||||||
editConfig: {
|
|
||||||
xtype: 'proxmoxKVComboBox',
|
|
||||||
name: 'mpTypeCombo',
|
|
||||||
reference: 'mpTypeCombo',
|
|
||||||
deleteEmpty: false,
|
|
||||||
cbind: {
|
|
||||||
hidden: '{isQemu}',
|
|
||||||
},
|
|
||||||
comboItems: [
|
|
||||||
['mp', gettext('Mount Point')],
|
|
||||||
['unused', gettext('Unused')],
|
|
||||||
],
|
|
||||||
listeners: { change: 'onMpTypeChange' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'proxmoxintegerfield',
|
|
||||||
name: 'mpId',
|
|
||||||
reference: 'mpIdSelector',
|
|
||||||
minValue: 0,
|
|
||||||
flex: 1,
|
|
||||||
allowBlank: false,
|
|
||||||
validateOnChange: true,
|
|
||||||
disabled: true,
|
|
||||||
bind: {
|
|
||||||
maxValue: '{mpMaxCount}',
|
|
||||||
},
|
|
||||||
validator: function(value) {
|
|
||||||
let view = this.up('window');
|
|
||||||
let type = view.getViewModel().get('mpType');
|
|
||||||
if (Ext.isDefined(view.VMConfig[`${type}${value}`])) {
|
|
||||||
return "Mount point is already in use.";
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user