added button styling functionality, removed "output" in the menu

This commit is contained in:
electr0sheep
2018-02-21 23:12:43 -07:00
parent b684644bbe
commit 09ff8e9953
4 changed files with 69 additions and 18 deletions

View File

@ -225,12 +225,13 @@
else
control.collapsed = ko.observable(false);
}
if (control.hasOwnProperty("input")) {
control.input = ko.observableArray(self._processInput(control.input));
}
control.name = ko.observable(control.name || "");
control.style = ko.observable(control.style || "");
control.width = ko.observable(control.hasOwnProperty("width") ? control.width : "2");
control.offset = ko.observable(control.hasOwnProperty("offset") ? control.offset : "");
@ -310,6 +311,18 @@
});
}
}
self.editElementStyle = function (invokedOn, contextParent, selectedMenu, style) {
var element = self.searchElement(self.controlsFromServer, contextParent.attr('id'));
if (element == undefined) {
self._showPopup({
title: gettext("Something went wrong while creating the new Element"),
type: "error"
});
return;
}
element.style("btn " + style);
}
self.deleteElement = function (invokedOn, contextParent, selectedMenu) {
var element = self.searchElement(self.controlsFromServer, contextParent.attr('id'));
if (element == undefined) {
@ -417,7 +430,7 @@
switch (self.customControlDialogViewModel.type()) {
case "container": {
element.name(ret.name);
element.name(ret.name);
element.layout(ret.layout);
element.collapsed(ret.collapsed);
break;
@ -521,6 +534,30 @@
self.deleteElement(invokedOn, contextParent, selectedMenu);
break;
}
case "editStyleNormal": {
self.editElementStyle(invokedOn, contextParent, selectedMenu, "");
break;
}
case "editStylePrimary": {
self.editElementStyle(invokedOn, contextParent, selectedMenu, "btn-primary");
break;
}
case "editStyleDanger": {
self.editElementStyle(invokedOn, contextParent, selectedMenu, "btn-danger");
break;
}
case "editStyleWarning": {
self.editElementStyle(invokedOn, contextParent, selectedMenu, "btn-warning");
break;
}
case "editStyleSuccess": {
self.editElementStyle(invokedOn, contextParent, selectedMenu, "btn-success");
break;
}
case "editStyleInfo": {
self.editElementStyle(invokedOn, contextParent, selectedMenu, "btn-info");
break;
}
default: {
if (selectedMenu.attr('cmd').startsWith("create")) {
switch (selectedMenu.attr('cmd')) {
@ -553,9 +590,6 @@
}
}
self.editStyle = function (type) {
}
self.recursiveDeleteProperties = function (list) {
_.each(list, function (element, index, ll) {
if (!element.parent || (element.parent.hasOwnProperty("layout") && element.parent.layout() != "horizontal_grid")) {
@ -618,4 +652,4 @@
["loginStateViewModel", "settingsViewModel", "controlViewModel", "customControlDialogViewModel"],
"#settings_plugin_customControl"
]);
});
});

View File

@ -30,7 +30,7 @@
return false;
var inputs = self.element().input()
for(var i = 0; i < inputs.length; i++)
for(var i = 0; i < inputs.length; i++)
{
if (inputs[i].hasOwnProperty("slider")) {
if (typeof inputs[i].slider == "object")
@ -59,6 +59,7 @@
self.reset = function (data) {
var element = {
name: undefined,
style: "",
collapsed: false,
commands: "",
confirm: "",
@ -105,6 +106,7 @@
}
case "command": {
el.name = obj.name;
el.style = "btn";
if (obj.commands.indexOf('\n') == -1)
el.command = obj.commands;
else
@ -165,6 +167,7 @@
case "script":
{
el.name = obj.name;
el.style = "btn";
el.script = obj.script;
if (self.useConfirm()) {
@ -254,4 +257,4 @@
[],
"#customControlDialog"
]);
});
});