Changed some icons, modules block: different input elements (not tested), write permission promt
This commit is contained in:
@ -1,8 +1,11 @@
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
// % GROUP
|
||||
|
||||
var writePermission = false;
|
||||
var showParams = false;
|
||||
var showConsole = false;
|
||||
var prompt = false // True while a prompt is opened.
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
// COMMUNICATION
|
||||
|
||||
function getGroup(s, name) {
|
||||
console.log('name: ',name, ', id: '.ClientID);
|
||||
reqJSON(s, "http://" + hostPort + "/getblock?path=" + name
|
||||
@ -14,6 +17,9 @@ function sendCommand(s, command) {
|
||||
+ "&id=" + clientID, successHandler, errorHandler);
|
||||
}
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
// GROUP
|
||||
|
||||
function createContent(message) {
|
||||
// Depending on the message received from the server the content of the
|
||||
// group is created dynamically. Handles draw-message.
|
||||
@ -58,64 +64,9 @@ function createRowForModules(component) {
|
||||
}
|
||||
|
||||
function createRowForParameters(component) {
|
||||
let left = document.createElement('span');
|
||||
left.classList.add('col-left');
|
||||
left.innerHTML = component.title;
|
||||
let right = document.createElement('span');
|
||||
right.classList.add('col-right-parameters');
|
||||
let value = document.createElement('span');
|
||||
value.classList.add('col-right-value');
|
||||
value.setAttribute('name', component.name);
|
||||
value.__ctype__ = 'rdonly';
|
||||
right.appendChild(value);
|
||||
|
||||
if (component.type == 'input' ||
|
||||
component.type == 'pushbutton' ||
|
||||
component.type == 'checkbox' ||
|
||||
component.type == 'enum'
|
||||
) {
|
||||
var input_element;
|
||||
switch (component.type) {
|
||||
case 'enum':
|
||||
input_element = createEnum(component);
|
||||
input_element.classList.add('input-element', 'input-element-hidden');
|
||||
break;
|
||||
case 'pushbutton':
|
||||
input_element = createPushbutton(component);
|
||||
input_element.classList.add('input-element-button', 'input-element-button-hidden');
|
||||
break;
|
||||
case 'input':
|
||||
input_element = createInput(component);
|
||||
input_element.classList.add('input-element', 'input-element-hidden');
|
||||
break;
|
||||
case 'checkbox':
|
||||
input_element = createCheckbox(component);
|
||||
input_element.classList.add('input-element', 'input-element-hidden');
|
||||
break;
|
||||
}
|
||||
if (component.type != 'pushbutton') {
|
||||
let icon_edit = createIconEdit();
|
||||
right.appendChild(icon_edit);
|
||||
}
|
||||
right.appendChild(input_element);
|
||||
}
|
||||
let left = createLeftColumnForParameters(component);
|
||||
let right = createRightColumnForParameters(component);
|
||||
return appendToContent(left, right);
|
||||
|
||||
function createIconEdit () {
|
||||
let icon_edit = document.createElement('img');
|
||||
icon_edit.setAttribute('src', 'res/icon_edit.png');
|
||||
icon_edit.classList.add('icon-modules', 'icon-edit', 'icon-edit-hidden');
|
||||
|
||||
icon_edit.onclick = function () {
|
||||
let is_hidden = input_element.classList.contains('input-element-hidden');
|
||||
hideInputElements();
|
||||
if (is_hidden) {
|
||||
input_element.classList.remove('input-element-hidden');
|
||||
}
|
||||
}
|
||||
|
||||
return icon_edit;
|
||||
}
|
||||
}
|
||||
|
||||
function appendToContent(left, right) {
|
||||
@ -182,43 +133,115 @@ function createLeftColumnForModules(component) {
|
||||
}
|
||||
}
|
||||
|
||||
function createLeftColumnForParameters(component) {
|
||||
let left = document.createElement('span');
|
||||
left.classList.add('col-left');
|
||||
left.innerHTML = component.title;
|
||||
return left;
|
||||
}
|
||||
|
||||
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
|
||||
// RIGHT COLUMN
|
||||
|
||||
function createRightColumnForModules(component) {
|
||||
|
||||
var right = document.createElement('span');
|
||||
right.classList.add('col-right', 'col-right-modules');
|
||||
let value = document.createElement('span');
|
||||
value.classList.add('col-right-value');
|
||||
value.setAttribute('name', component.name);
|
||||
// value.__ctype__ = component.type;
|
||||
value.__ctype__ = 'rdonly';
|
||||
right.appendChild(value);
|
||||
|
||||
right.appendChild(createValue(component));
|
||||
|
||||
if (component.targetname) {
|
||||
var input_element = createInput(component);
|
||||
input_element.classList.add('input-element', 'input-element-hidden');
|
||||
let icon_edit = createIconEdit();
|
||||
right.appendChild(icon_edit);
|
||||
if (component.type == 'input' ||
|
||||
component.type == 'pushbutton' ||
|
||||
component.type == 'checkbox' ||
|
||||
component.type == 'enum'
|
||||
) {
|
||||
let input_element = createType(component);
|
||||
if (component.type != 'pushbutton') {
|
||||
let icon_edit = createIconEdit(input_element);
|
||||
right.appendChild(icon_edit);
|
||||
}
|
||||
right.appendChild(input_element);
|
||||
}
|
||||
}
|
||||
return right;
|
||||
}
|
||||
|
||||
function createRightColumnForParameters(component) {
|
||||
|
||||
let right = document.createElement('span');
|
||||
right.classList.add('col-right-parameters');
|
||||
|
||||
right.appendChild(createValue(component));
|
||||
|
||||
if (component.type == 'input' ||
|
||||
component.type == 'pushbutton' ||
|
||||
component.type == 'checkbox' ||
|
||||
component.type == 'enum'
|
||||
) {
|
||||
let input_element = createType(component);
|
||||
if (component.type != 'pushbutton') {
|
||||
let icon_edit = createIconEdit(input_element);
|
||||
right.appendChild(icon_edit);
|
||||
}
|
||||
right.appendChild(input_element);
|
||||
}
|
||||
return right;
|
||||
}
|
||||
|
||||
function createIconEdit () {
|
||||
let icon_edit = document.createElement('img');
|
||||
icon_edit.setAttribute('src', 'res/icon_edit.png');
|
||||
icon_edit.classList.add('icon-modules', 'icon-edit', 'icon-edit-hidden');
|
||||
function createValue (component) {
|
||||
let value = document.createElement('span');
|
||||
value.classList.add('col-right-value');
|
||||
value.setAttribute('name', component.name);
|
||||
value.__ctype__ = 'rdonly';
|
||||
return value;
|
||||
}
|
||||
|
||||
icon_edit.onclick = function (event) {
|
||||
event.stopPropagation()
|
||||
let is_hidden = input_element.classList.contains('input-element-hidden');
|
||||
hideInputElements();
|
||||
if (is_hidden) {
|
||||
input_element.classList.remove('input-element-hidden');
|
||||
}
|
||||
}
|
||||
|
||||
return icon_edit;
|
||||
function createIconEdit (input_element) {
|
||||
|
||||
let icon_edit = document.createElement('img');
|
||||
icon_edit.setAttribute('src', 'res/icon_edit.png');
|
||||
icon_edit.classList.add('icon-modules', 'icon-edit');
|
||||
if (writePermission == false) {
|
||||
icon_edit.classList.add('icon-edit-hidden');
|
||||
}
|
||||
|
||||
icon_edit.onclick = function (event) {
|
||||
event.stopPropagation()
|
||||
let is_hidden = input_element.classList.contains('input-element-hidden');
|
||||
hideInputElements();
|
||||
if (is_hidden) {
|
||||
input_element.classList.remove('input-element-hidden');
|
||||
}
|
||||
}
|
||||
|
||||
return icon_edit;
|
||||
}
|
||||
|
||||
function createType (component) {
|
||||
let input_element;
|
||||
switch (component.type) {
|
||||
case 'enum':
|
||||
input_element = createEnum(component);
|
||||
input_element.classList.add('input-element', 'input-element-hidden');
|
||||
break;
|
||||
case 'pushbutton':
|
||||
input_element = createPushbutton(component);
|
||||
input_element.classList.add('input-element-button');
|
||||
if (writePermission == false) {
|
||||
input_element.classList.add('input-element-button-hidden');
|
||||
}
|
||||
break;
|
||||
case 'input':
|
||||
input_element = createInputText(component);
|
||||
input_element.classList.add('input-element', 'input-element-hidden');
|
||||
break;
|
||||
case 'checkbox':
|
||||
input_element = createCheckbox(component);
|
||||
input_element.classList.add('input-element', 'input-element-hidden');
|
||||
break;
|
||||
}
|
||||
return input_element;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------------------- */
|
||||
@ -239,7 +262,7 @@ function createPushbutton(component) {
|
||||
return elem;
|
||||
}
|
||||
|
||||
function createInput(component) {
|
||||
function createInputText(component) {
|
||||
// Creates row-element containing input-item.
|
||||
var command = component.command;
|
||||
var input = createInputElement(component, 'input', 'input-text');
|
||||
|
Reference in New Issue
Block a user