var sizeField = this.findField("size");
var cloneField = this.findField("clonename");
var nameField = this.findField("name");
+ var mountField = this.findField("mountpoint");
switch(value) {
+ case "filesystem":
+ sizeField.hide();
+ sizeField.allowBlank = true;
+ cloneField.hide();
+ nameField.show();
+ mountField.show();
case "volume":
sizeField.show();
sizeField.allowBlank = false;
cloneField.hide();
nameField.show();
+ mountField.hide();
break;
case "clone":
sizeField.hide();
sizeField.allowBlank = true;
cloneField.show();
nameField.hide();
+ mountField.hide();
default:
sizeField.hide();
sizeField.allowBlank = true;
cloneField.hide();
nameField.show();
+ mountField.hide();
break;
}
sizeField.validate();
}
}
}
+ },{
+ xtype: "textfield",
+ name: "mountpoint",
+ fieldLabel: _("Mountpoint"),
+ allowBlank: true,
+ plugins: [{
+ ptype: "fieldinfo",
+ text: _("Optional mountpoint of the filesystem. If left blank parent mountpoint will be prepended to name of the filesystem.")
+ }],
+ listeners: {
+ scope: me,
+ beforerender: function(e, eOpts) {
+ var mountField = this.findField("mountpoint");
+ if (combodata[0][0] === "filesystem") {
+ mountField.show();
+ } else {
+ mountField.hide();
+ }
+ }
+ }
},{
xtype: "textfield",
name: "clonename",
"path":{"type":"string"},
"name":{"type":"string"},
"size":{"type":"string"},
- "clonename":{"type":"string"}
+ "clonename":{"type":"string"},
+ "mountpoint":{"type":"string"}
}
}');
switch ($params['type']) {
case "filesystem":
$name = $params['path'] . "/" . $params['name'];
$tmp = new OMVModuleZFSDataset($name);
+ if (strlen($params['mountpoint']) > 0) {
+ $properties = array("mountpoint"=>$params['mountpoint']);
+ $tmp->setProperties($properties);
+ }
break;
case "snapshot":
$name = $params['path'] . "@" . $params['name'];