From 770049ea162573d5afa1aaefed6131fe5e0a77f7 Mon Sep 17 00:00:00 2001 From: danielhanrahan Date: Tue, 15 Feb 2022 18:02:23 +0000 Subject: Refactor apex-editor frontend build Moved frontend from src/main/resources/webapp to src/main/webapp Moved static resources such as jquery-ui to webapp/dist folder Configured jest to exclude webapp/dist from coverage report Removed unused ZIP file assembly Cleaned up POM Issue-ID: POLICY-3896 Signed-off-by: danielhanrahan Change-Id: Ia006eb94a39586219029866eef94aef38912ad65 --- .../src/main/webapp/js/showhideTextarea.js | 133 +++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 gui-editors/gui-editor-apex/src/main/webapp/js/showhideTextarea.js (limited to 'gui-editors/gui-editor-apex/src/main/webapp/js/showhideTextarea.js') diff --git a/gui-editors/gui-editor-apex/src/main/webapp/js/showhideTextarea.js b/gui-editors/gui-editor-apex/src/main/webapp/js/showhideTextarea.js new file mode 100644 index 0000000..8c98d3f --- /dev/null +++ b/gui-editors/gui-editor-apex/src/main/webapp/js/showhideTextarea.js @@ -0,0 +1,133 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * Modifications Copyright (C) 2020-2021 Nordix Foundation. + * Modifications Copyright (C) 2021 Bell Canada. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +function showHideTextarea_display_hide(showHideDivprefix) { + var ta = document.getElementById(showHideDivprefix + "_textarea"); + var sh = document.getElementById(showHideDivprefix + "_showhide"); + _showHideTextarea_display_hide(ta, sh) + if (sh["_clickable"]) { + sh.onclick = function(event) { + showHideTextarea_display_show(showHideDivprefix); + }; + } +} +function showHideTextarea_display_show(showHideDivprefix) { + var ta = document.getElementById(showHideDivprefix + "_textarea"); + var sh = document.getElementById(showHideDivprefix + "_showhide"); + _showHideTextarea_display_show(ta, sh) + if (sh["_clickable"]) { + sh.onclick = function(event) { + showHideTextarea_display_hide(showHideDivprefix); + }; + } +} + +function _showHideTextarea_display_hide(txtarea, showhide) { + txtarea.classList.remove("showHideTextarea_displayed"); + txtarea.classList.add("showHideTextarea_hidden"); + showhide.classList.remove("showHideTextarea_show"); + showhide.classList.add("showHideTextarea_hide"); + showhide.innerHTML = showhide["showText"]; +} +function _showHideTextarea_display_show(txtarea, showhide) { + txtarea.classList.add("showHideTextarea_displayed"); + txtarea.classList.remove("showHideTextarea_hidden"); + showhide.classList.add("showHideTextarea_show"); + showhide.classList.remove("showHideTextarea_hide"); + showhide.innerHTML = showhide["hideText"]; +} + +/* + * Create a hideable textarea, inside a div, with some text displayed in a + * clickable area to show the text area, and some other text displayed in the + * clickable area to hide the text area + * + * Each showHideTextarea must have a unique "id_prefix" vale as an identifier + * "content" is the text to be put into the text area "initialshow" is a + * boolean, if true the textarea will be shown initially, otherwise hidden + * "editable" is a boolean, if true the textarea will be editable, otherwise + * hidden "disabled" is a boolean, if true the textarea can be shown, otherwise + * it canot be shown "showText" is the text that is shown to be clicked to show + * the text area "hideText" is the text that is shown to be clicked to show the + * text area + * + * Returns a div representing the hideable textarea, with id 'id_prefix'. The + * returned div will a textarea called "id_prefix+'_textarea'", that can be + * queried to get the value of the textarea + */ + +function showHideTextarea(id_prefix, content, _initialshow, _editable, _disabled, _showText, _hideText) { + + var editable = (_editable != null ? _editable : true); + + var retdiv = document.createElement("div"); + var divname = id_prefix; + retdiv.setAttribute("id", divname); + retdiv.setAttribute("class", "showHideTextarea"); + var showhide = document.createElement("div"); + retdiv.appendChild(showhide); + showhide.setAttribute("id", divname + "_showhide"); + showhide.innerHTML = ''; + var parent = document.createElement("div"); + var textArea = document.createElement("textarea"); + parent.appendChild(textArea); + retdiv.appendChild(parent); + textArea.setAttribute("id", divname + "_textarea"); + textArea.setAttribute("name", divname + "_textarea"); + textArea.style.width = "100%"; + textArea.style.height = "400px"; + textArea.style.display = "none"; + if (content != null) { + textArea.value = content; + } + + if (!editable) { + textArea.readOnly = true; + textArea.style.cursor = "text"; + textArea.style["border-color"] = "#E3E3E3"; + textArea.style["background-color"] = "#F0F0F0"; + textArea.style.color = "#B2B2B2"; + } + + var shown = false; + var checkbox = $(showhide).find('input:checkbox:first'); + checkbox.change(function(event) { + if (!shown) { + createEditArea(textArea.getAttribute("id"), { + is_editable : editable + }); + shown = true; + } else { + $(parent).toggle("fast"); + } + }); + + return retdiv; +} + +export { + showHideTextarea, + showHideTextarea_display_hide, + showHideTextarea_display_show, + _showHideTextarea_display_hide, + _showHideTextarea_display_show +} -- cgit 1.2.3-korg