]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/lxc/DeviceEdit.js
1 Ext
.define('PVE.lxc.DeviceInputPanel', {
2 extend
: 'Proxmox.panel.InputPanel',
3 mixins
: ['Proxmox.Mixin.CBind'],
8 xclass
: 'Ext.app.ViewController',
11 setVMConfig: function(vmconfig
) {
13 me
.vmconfig
= vmconfig
;
16 PVE
.Utils
.forEachLxcDev((i
, name
) => {
17 if (!Ext
.isDefined(vmconfig
[name
])) {
19 me
.down('field[name=devid]').setValue(i
);
27 onGetValues: function(values
) {
29 let confid
= me
.isCreate
? "dev" + values
.devid
: me
.confid
;
31 let val
= PVE
.Parser
.printPropertyString(values
, 'path');
39 xtype
: 'proxmoxintegerfield',
42 maxValue
: PVE
.Utils
.lxc_dev_count
- 1,
47 disabled
: '{!isCreate}',
56 fieldLabel
: gettext('Device Path'),
57 emptyText
: '/dev/xyz',
58 validator
: v
=> v
.startsWith('/dev/') ? true : gettext("Path has to start with /dev/"),
64 xtype
: 'proxmoxintegerfield',
72 xtype
: 'proxmoxintegerfield',
86 fieldLabel
: gettext('Access Mode'),
88 validator: function(value
) {
89 if (/^0[0-7]{3}$|^$/i.test(value
)) {
92 return gettext("Access mode has to be an octal number");
98 Ext
.define('PVE.lxc.DeviceEdit', {
99 extend
: 'Proxmox.window.Edit',
106 initComponent: function() {
109 me
.isCreate
= !me
.confid
;
111 let ipanel
= Ext
.create('PVE.lxc.DeviceInputPanel', {
113 isCreate
: me
.isCreate
,
114 pveSelNode
: me
.pveSelNode
,
119 subject
= gettext('Device');
121 subject
= gettext('Device') + ' (' + me
.confid
+ ')';
132 success: function(response
, options
) {
133 ipanel
.setVMConfig(response
.result
.data
);
138 let data
= PVE
.Parser
.parsePropertyString(response
.result
.data
[me
.confid
], 'path');
147 ipanel
.setValues(values
);