diff --git a/client/SEAWebClient.html b/client/SEAWebClient.html index 0423481..72f0158 100644 --- a/client/SEAWebClient.html +++ b/client/SEAWebClient.html @@ -76,12 +76,14 @@
-
- - +
+
-
- +
+ +
+
+
diff --git a/client/cssFiles/SEAWebClientGroup.css b/client/cssFiles/SEAWebClientGroup.css index e6caf1e..aa78449 100644 --- a/client/cssFiles/SEAWebClientGroup.css +++ b/client/cssFiles/SEAWebClientGroup.css @@ -21,8 +21,6 @@ /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ /* panel */ -/* ------------------------------ modules-icons ------------------------------ */ - /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ /* row */ @@ -53,7 +51,9 @@ background-color: orangered; } -.modules-icon { +/* ------------------------------ icon-modules ------------------------------ */ + +.icon-modules { display: inline-block; width: 12px; height: 12px; @@ -95,31 +95,31 @@ display: inline-block; } -/* ------------------------------ status-icon ------------------------------ */ +/* ------------------------------ icon-status ------------------------------ */ -.status-icon { +.icon-status { border-radius: 50%; background-color: lightgray; margin-right: 4px; } -.status-icon-idle { +.icon-status-idle { background-color: lightgray; } -.status-icon-idle { +.icon-status-idle { background-color: white; } -.status-icon-busy { +.icon-status-busy { background-color: yellow; } -.status-icon-warn { +.icon-status-warn { background-color: orange; } -.status-icon-error { +.icon-status-error { background-color: red; } @@ -134,7 +134,7 @@ display: none; } -.status-icon:hover ~ .status-info { +.icon-status:hover ~ .status-info { display: inline-block; } @@ -163,18 +163,22 @@ /* ------------------------------ edit-icon ------------------------------ */ -.edit-icon { +.icon-edit { position: absolute; top: 4px; right: 2px; cursor: pointer; } -.edit-icon:hover { +.icon-edit:hover { transform: scale(.8); opacity: .6; } +.icon-edit-hidden { + display: none; +} + /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ /* INPUT ELEMENTS */ @@ -188,7 +192,7 @@ text-align: right; } -.input-element-hidden { +.input-element-hidden, .input-element-button-hidden { display: none; } diff --git a/client/cssFiles/SEAWebClientMain.css b/client/cssFiles/SEAWebClientMain.css index b69e0fb..5be7510 100644 --- a/client/cssFiles/SEAWebClientMain.css +++ b/client/cssFiles/SEAWebClientMain.css @@ -179,48 +179,57 @@ meta, body { } /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ -/* CLOSE CROSS */ +/* MAIN ICONS */ -#close-cross { - z-index: 50; - top: 9px; - right: 12px; - position: fixed; - cursor: pointer; -} - -.icon-close { - height: 20px; - width: 20px; -} - -.icon-close:hover { - transform: scale(90%); - transition: .5s; -} - -/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ -/* LOG ICON */ - -.log-icon-container { +.icon-main-container { z-index: 1001; - bottom: 9px; - right: 12px; position: fixed; color: white; cursor: pointer; } -.log-icon-container-hidden { - display: none; -} - -.log-icon { +.icon-main { height: 20px; width: 20px; } -.log-icon:hover { +.icon-main:hover { transform: scale(90%); transition: .5s; +} + +.icon-main-container-hidden { + display: none; +} + +/* ----------------------------------------------------------------------------------------------------- */ +/* CLOSE CROSS */ + +.icon-close-container { + top: 9px; + right: 12px; +} + +/* ----------------------------------------------------------------------------------------------------- */ +/* LOG ICON */ + +.icon-log-container { + bottom: 9px; + right: 42px; +} + +.icon-log-container-hidden { + display: none; +} + +/* ----------------------------------------------------------------------------------------------------- */ +/* LOCK ICON */ + +.icon-lock-container { + bottom: 9px; + right: 12px; +} + +.icon-lock-container-hidden { + display: none; } \ No newline at end of file diff --git a/client/jsFiles/SEAWebClientCommunication.js b/client/jsFiles/SEAWebClientCommunication.js index 41a9e32..f2efabb 100644 --- a/client/jsFiles/SEAWebClientCommunication.js +++ b/client/jsFiles/SEAWebClientCommunication.js @@ -239,31 +239,31 @@ function updateStatus(component) { status_info.innerHTML = component.formatted; } - status_icon.classList.remove('status-icon-disabled'); - status_icon.classList.remove('status-icon-idle'); - status_icon.classList.remove('status-icon-warn'); - status_icon.classList.remove('status-icon-busy'); - status_icon.classList.remove('status-icon-error'); + status_icon.classList.remove('icon-status-disabled'); + status_icon.classList.remove('icon-status-idle'); + status_icon.classList.remove('icon-status-warn'); + status_icon.classList.remove('icon-status-busy'); + status_icon.classList.remove('icon-status-error'); row.classList.remove('row-disabled'); right.classList.remove = 'col-right-disabled'; switch (statusCode) { case 0: - status_icon.classList.add('status-icon-disabled'); + status_icon.classList.add('icon-status-disabled'); row.classList.add('row-disabled'); right.classList.add = 'col-right-disabled'; break; case 1: - status_icon.classList.add('status-icon-idle'); + status_icon.classList.add('icon-status-idle'); break; case 2: - status_icon.classList.add('status-icon-warn'); + status_icon.classList.add('icon-status-warn'); break; case 3: - status_icon.classList.add('status-icon-busy'); + status_icon.classList.add('icon-status-busy'); break; case 4: - status_icon.classList.add('status-icon-error'); + status_icon.classList.add('icon-status-error'); break; } @@ -399,7 +399,7 @@ function successHandler(s, message) { isl = appendToGridElement(2, message.title, 'parameters', createContent(message)); adjustGrid(); if (nColumns == 1 || nColumns == 2 || nColumns == 3) { - document.getElementById('close-cross').innerHTML = ''; + document.getElementsByClassName('icon-close-container')[0].innerHTML = ''; } } nextInitCommand(); diff --git a/client/jsFiles/SEAWebClientGroup.js b/client/jsFiles/SEAWebClientGroup.js index 2748bef..b8fde68 100644 --- a/client/jsFiles/SEAWebClientGroup.js +++ b/client/jsFiles/SEAWebClientGroup.js @@ -82,7 +82,7 @@ function createRowForParameters(component) { break; case 'pushbutton': input_element = createPushbutton(component); - input_element.classList.add('input-element-button'); + input_element.classList.add('input-element-button', 'input-element-button-hidden'); break; case 'input': input_element = createInput(component); @@ -104,7 +104,7 @@ function createRowForParameters(component) { function createIconEdit () { let icon_edit = document.createElement('img'); icon_edit.setAttribute('src', 'res/icon_edit.png'); - icon_edit.classList.add('modules-icon', 'edit-icon'); + 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'); @@ -156,14 +156,14 @@ function createLeftColumnForModules(component) { let icon_status = document.createElement('img'); icon_status.setAttribute('src', 'res/icon_status.png'); icon_status.setAttribute('name', component.title + ':status'); - icon_status.classList.add('modules-icon', 'status-icon'); + icon_status.classList.add('icon-modules', 'icon-status'); return icon_status; } function createInfoIcon(component) { let icon_info = document.createElement('img'); icon_info.setAttribute('src', 'res/icon_info.png'); - icon_info.classList.add('modules-icon', 'icon-info'); + icon_info.classList.add('icon-modules', 'icon-info'); if (isTouchDevice) { icon_info.onclick = function (event) { event.stopPropagation() @@ -206,7 +206,7 @@ function createRightColumnForModules(component) { function createIconEdit () { let icon_edit = document.createElement('img'); icon_edit.setAttribute('src', 'res/icon_edit.png'); - icon_edit.classList.add('modules-icon', 'edit-icon'); + icon_edit.classList.add('icon-modules', 'icon-edit', 'icon-edit-hidden'); icon_edit.onclick = function (event) { event.stopPropagation() diff --git a/client/jsFiles/SEAWebClientMain.js b/client/jsFiles/SEAWebClientMain.js index 886a694..3da5261 100644 --- a/client/jsFiles/SEAWebClientMain.js +++ b/client/jsFiles/SEAWebClientMain.js @@ -148,32 +148,36 @@ window.onload = function() { // rows 'n' adjustGrid(); - let crossElement = document.getElementById("close-cross"); + /* ----------------------------------------------------------------------------------------------------- */ + /* MIAN ICONS */ + + let icon_close_container = document.getElementsByClassName("icon-close-container")[0]; + let icon_log_container = document.getElementsByClassName("icon-log-container")[0]; + let icon_lock_container = document.getElementsByClassName("icon-lock-container")[0]; if (window.hideRightPart){ - document.body.removeChild(crossElement); + document.body.removeChild(icon_close_container); } else { - crossElement.onclick = function(){ + icon_close_container.onclick = function(){ if (showParams) { showParams = false; - document.getElementById('close-cross').innerHTML = ''; + icon_close_container.innerHTML = ''; } else { if (window.wideGraphs) { window.wideGraphs = false; - document.getElementById('close-cross').innerHTML = ''; - document.getElementsByClassName('log-icon-container')[0].classList.remove("log-icon-container-hidden"); + icon_close_container.innerHTML = ''; + icon_log_container.classList.remove("icon-main-container-hidden"); } else { window.wideGraphs = true; - document.getElementById('close-cross').innerHTML = ''; - document.getElementsByClassName('log-icon-container')[0].classList.add("log-icon-container-hidden"); + icon_close_container.innerHTML = ''; + icon_log_container.classList.add("icon-main-container-hidden"); } } adjustGrid(); } } - let logIcon = document.getElementsByClassName("log-icon-container")[0]; - logIcon.onclick = function(){ + icon_log_container.onclick = function(){ if (showConsole) { showConsole = false; } else { @@ -182,6 +186,30 @@ window.onload = function() { adjustGrid(); } + icon_lock_container.onclick = function(){ + let array_icon_edit = document.getElementsByClassName('icon-edit'); + let array_button = document.getElementsByClassName('input-element-button'); + if (writePermission == false) { + writePermission = true; + icon_lock_container.innerHTML = ''; + for(i = 0; i < array_icon_edit.length; i++) { + array_icon_edit[i].classList.remove('icon-edit-hidden'); + } + for(i = 0; i < array_button.length; i++) { + array_button[i].classList.remove('input-element-button-hidden'); + } + } else { + writePermission = false; + icon_lock_container.innerHTML = ''; + for(i = 0; i < array_icon_edit.length; i++) { + array_icon_edit[i].classList.add('icon-edit-hidden'); + } + for(i = 0; i < array_button.length; i++) { + array_button[i].classList.add('input-element-button-hidden'); + } + } + } + var homeButton = document.getElementById("home-icon"); homeButton.onclick = function () { diff --git a/client/res/icon_lock_closed.png b/client/res/icon_lock_closed.png new file mode 100644 index 0000000..5b60bf7 Binary files /dev/null and b/client/res/icon_lock_closed.png differ diff --git a/client/res/icon_lock_open.png b/client/res/icon_lock_open.png new file mode 100644 index 0000000..bb3d5ec Binary files /dev/null and b/client/res/icon_lock_open.png differ