fstypes: ['nfs', 'cifs'],
+ viewModel: {
+ parent: null,
+ data: {
+ unprivileged: false,
+ },
+ formulas: {
+ privilegedOnly: function(get) {
+ return (get('unprivileged') ? gettext('privileged only') : '');
+ },
+ unprivilegedOnly: function(get) {
+ return (!get('unprivileged') ? gettext('unprivileged only') : '');
+ },
+ },
+ },
+
items: [
{
xtype: 'proxmoxcheckbox',
fieldLabel: gettext('keyctl'),
- name: 'keyctl'
+ name: 'keyctl',
+ bind: {
+ disabled: '{!unprivileged}',
+ boxLabel: '{unprivilegedOnly}',
+ },
},
{
xtype: 'proxmoxcheckbox',
fieldLabel: gettext('Nesting'),
- name: 'nesting'
+ name: 'nesting',
},
{
xtype: 'proxmoxcheckbox',
name: 'nfs',
- fieldLabel: 'NFS'
+ fieldLabel: 'NFS',
+ bind: {
+ disabled: '{unprivileged}',
+ boxLabel: '{privilegedOnly}',
+ },
},
{
xtype: 'proxmoxcheckbox',
name: 'cifs',
- fieldLabel: 'CIFS'
- }
+ fieldLabel: 'CIFS',
+ bind: {
+ disabled: '{unprivileged}',
+ boxLabel: '{privilegedOnly}',
+ },
+ },
+ {
+ xtype: 'proxmoxcheckbox',
+ name: 'fuse',
+ fieldLabel: 'FUSE',
+ },
+ {
+ xtype: 'proxmoxcheckbox',
+ name: 'mknod',
+ fieldLabel: gettext('Create Device Nodes'),
+ boxLabel: gettext('Experimental'),
+ },
],
onGetValues: function(values) {
setValues: function(values) {
var me = this;
- me.down('field[name=keyctl]').setDisabled(!values.unprivileged);
+ me.viewModel.set('unprivileged', values.unprivileged);
if (values.features) {
var res = PVE.Parser.parsePropertyString(values.features);
}
this.callParent([res]);
}
- }
+ },
+
+ initComponent: function() {
+ let me = this;
+ me.mounts = []; // reset state
+ me.callParent();
+ },
});
Ext.define('PVE.lxc.FeaturesEdit', {
xtype: 'pveLxcFeaturesEdit',
subject: gettext('Features'),
+ autoLoad: true,
+ width: 350,
items: [{
- xtype: 'pveLxcFeaturesInputPanel'
+ xtype: 'pveLxcFeaturesInputPanel',
}],
-
- initComponent : function() {
- var me = this;
-
- me.callParent();
-
- me.load();
- }
});