|
|
|
|
@ -587,6 +587,19 @@ MountOptionsDropdown.prototype = {
|
|
|
|
|
var MountConfigListView = function($el, options) {
|
|
|
|
|
this.initialize($el, options);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
MountConfigListView.ParameterFlags = {
|
|
|
|
|
OPTIONAL: 1,
|
|
|
|
|
USER_PROVIDED: 2
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
MountConfigListView.ParameterTypes = {
|
|
|
|
|
TEXT: 0,
|
|
|
|
|
BOOLEAN: 1,
|
|
|
|
|
PASSWORD: 2,
|
|
|
|
|
HIDDEN: 3
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @memberOf OCA.External.Settings
|
|
|
|
|
*/
|
|
|
|
|
@ -961,16 +974,15 @@ MountConfigListView.prototype = _.extend({
|
|
|
|
|
*/
|
|
|
|
|
writeParameterInput: function($td, parameter, placeholder, classes) {
|
|
|
|
|
var hasFlag = function(flag) {
|
|
|
|
|
return placeholder.indexOf(flag) !== -1;
|
|
|
|
|
return (placeholder.flags & flag) === flag;
|
|
|
|
|
};
|
|
|
|
|
classes = $.isArray(classes) ? classes : [];
|
|
|
|
|
classes.push('added');
|
|
|
|
|
if (placeholder.indexOf('&') === 0) {
|
|
|
|
|
if (hasFlag(MountConfigListView.ParameterFlags.OPTIONAL)) {
|
|
|
|
|
classes.push('optional');
|
|
|
|
|
placeholder = placeholder.substring(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (hasFlag('@')) {
|
|
|
|
|
if (hasFlag(MountConfigListView.ParameterFlags.USER_PROVIDED)) {
|
|
|
|
|
if (this._isPersonal) {
|
|
|
|
|
classes.push('user_provided');
|
|
|
|
|
} else {
|
|
|
|
|
@ -980,17 +992,13 @@ MountConfigListView.prototype = _.extend({
|
|
|
|
|
|
|
|
|
|
var newElement;
|
|
|
|
|
|
|
|
|
|
var trimmedPlaceholder = placeholder;
|
|
|
|
|
var flags = ['@', '*', '!', '#', '&']; // used to determine what kind of parameter
|
|
|
|
|
while(flags.indexOf(trimmedPlaceholder[0]) !== -1) {
|
|
|
|
|
trimmedPlaceholder = trimmedPlaceholder.substr(1);
|
|
|
|
|
}
|
|
|
|
|
if (hasFlag('*')) {
|
|
|
|
|
var trimmedPlaceholder = placeholder.value;
|
|
|
|
|
if (placeholder.type === MountConfigListView.ParameterTypes.PASSWORD) {
|
|
|
|
|
newElement = $('<input type="password" class="'+classes.join(' ')+'" data-parameter="'+parameter+'" placeholder="'+ trimmedPlaceholder+'" />');
|
|
|
|
|
} else if (hasFlag('!')) {
|
|
|
|
|
} else if (placeholder.type === MountConfigListView.ParameterTypes.BOOLEAN) {
|
|
|
|
|
var checkboxId = _.uniqueId('checkbox_');
|
|
|
|
|
newElement = $('<input type="checkbox" id="'+checkboxId+'" class="'+classes.join(' ')+'" data-parameter="'+parameter+'" /><label for="'+checkboxId+'">'+ trimmedPlaceholder+'</label>');
|
|
|
|
|
} else if (hasFlag('#')) {
|
|
|
|
|
} else if (placeholder.type === MountConfigListView.ParameterTypes.HIDDEN) {
|
|
|
|
|
newElement = $('<input type="hidden" class="'+classes.join(' ')+'" data-parameter="'+parameter+'" />');
|
|
|
|
|
} else {
|
|
|
|
|
newElement = $('<input type="text" class="'+classes.join(' ')+'" data-parameter="'+parameter+'" placeholder="'+ trimmedPlaceholder+'" />');
|
|
|
|
|
|