mirror of
https://github.com/nextcloud/server.git
synced 2026-06-13 10:40:40 -04:00
Extend ext storage params to contain default value
Extend the external storage configuration parameters definition to allow to specify a default value Signed-off-by: Vincent Petry <vincent@nextcloud.com>
This commit is contained in:
parent
6ddf469ce7
commit
6fc54ba54c
3 changed files with 40 additions and 4 deletions
|
|
@ -1021,6 +1021,14 @@ MountConfigListView.prototype = _.extend({
|
|||
newElement = $('<input type="text" class="'+classes.join(' ')+'" data-parameter="'+parameter+'" placeholder="'+ trimmedPlaceholder+'" />');
|
||||
}
|
||||
|
||||
if (placeholder.defaultValue) {
|
||||
if (placeholder.type === MountConfigListView.ParameterTypes.BOOLEAN) {
|
||||
newElement.find('input').prop('checked', placeholder.defaultValue);
|
||||
} else {
|
||||
newElement.val(placeholder.defaultValue);
|
||||
}
|
||||
}
|
||||
|
||||
if (placeholder.tooltip) {
|
||||
newElement.attr('title', placeholder.tooltip);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,13 +57,18 @@ class DefinitionParameter implements \JsonSerializable {
|
|||
/** @var int flags, see self::FLAG_* constants */
|
||||
private $flags = self::FLAG_NONE;
|
||||
|
||||
/** @var mixed */
|
||||
private $defaultValue;
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param string $text
|
||||
* @param string $name parameter name
|
||||
* @param string $text parameter description
|
||||
* @param mixed $defaultValue default value
|
||||
*/
|
||||
public function __construct($name, $text) {
|
||||
public function __construct($name, $text, $defaultValue = null) {
|
||||
$this->name = $name;
|
||||
$this->text = $text;
|
||||
$this->defaultValue = $defaultValue;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -100,6 +105,22 @@ class DefinitionParameter implements \JsonSerializable {
|
|||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed default value
|
||||
*/
|
||||
public function getDefaultValue() {
|
||||
return $this->defaultValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $defaultValue default value
|
||||
* @return self
|
||||
*/
|
||||
public function setDefaultValue($defaultValue) {
|
||||
$this->defaultValue = $defaultValue;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -171,12 +192,17 @@ class DefinitionParameter implements \JsonSerializable {
|
|||
* @return string
|
||||
*/
|
||||
public function jsonSerialize() {
|
||||
return [
|
||||
$result = [
|
||||
'value' => $this->getText(),
|
||||
'flags' => $this->getFlags(),
|
||||
'type' => $this->getType(),
|
||||
'tooltip' => $this->getTooltip(),
|
||||
];
|
||||
$defaultValue = $this->getDefaultValue();
|
||||
if ($defaultValue) {
|
||||
$result['defaultValue'] = $defaultValue;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function isOptional() {
|
||||
|
|
|
|||
|
|
@ -36,11 +36,13 @@ class DefinitionParameterTest extends \Test\TestCase {
|
|||
], $param->jsonSerialize());
|
||||
|
||||
$param->setType(Param::VALUE_BOOLEAN);
|
||||
$param->setDefaultValue(true);
|
||||
$this->assertEquals([
|
||||
'value' => 'bar',
|
||||
'flags' => 0,
|
||||
'type' => Param::VALUE_BOOLEAN,
|
||||
'tooltip' => '',
|
||||
'defaultValue' => true,
|
||||
], $param->jsonSerialize());
|
||||
|
||||
$param->setType(Param::VALUE_PASSWORD);
|
||||
|
|
|
|||
Loading…
Reference in a new issue