diff options
author | 2022-02-15 18:02:23 +0000 | |
---|---|---|
committer | 2022-02-16 15:26:38 +0000 | |
commit | 770049ea162573d5afa1aaefed6131fe5e0a77f7 (patch) | |
tree | f702a09afd7b18879a562674c760c682c78895c0 /gui-editors/gui-editor-apex/src/main/webapp/js/ApexPageControl.js | |
parent | 29df248caa234bc0dff3c20875bdaecfeba127e0 (diff) |
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 <daniel.hanrahan@est.tech>
Change-Id: Ia006eb94a39586219029866eef94aef38912ad65
Diffstat (limited to 'gui-editors/gui-editor-apex/src/main/webapp/js/ApexPageControl.js')
-rw-r--r-- | gui-editors/gui-editor-apex/src/main/webapp/js/ApexPageControl.js | 302 |
1 files changed, 302 insertions, 0 deletions
diff --git a/gui-editors/gui-editor-apex/src/main/webapp/js/ApexPageControl.js b/gui-editors/gui-editor-apex/src/main/webapp/js/ApexPageControl.js new file mode 100644 index 0000000..7b1b884 --- /dev/null +++ b/gui-editors/gui-editor-apex/src/main/webapp/js/ApexPageControl.js @@ -0,0 +1,302 @@ +/* + * ============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========================================================= + */ + +import { + contextSchemaTab_activate, + contextSchemaTab_deactivate +} from "./ApexContextSchemaTab"; +import {eventTab_activate, eventTab_deactivate} from "./ApexEventTab"; +import { + contextAlbumTab_activate, + contextAlbumTab_deactivate +} from "./ApexContextAlbumTab"; +import {taskTab_activate, taskTab_deactivate} from "./ApexTaskTab"; +import {policyTab_activate, policyTab_deactivate} from "./ApexPolicyTab"; +import { + keyInformationTab_activate, + keyInformationTab_deactivate +} from "./ApexKeyInformationTab"; +import {clearLocalStorage} from "./ApexMain"; + +function pageControl_modelMode(name, version, fileName) { + $('#modelName').html(name); + $('#modelVersion').html(version); + $('#modelFileName').html(fileName ? fileName : "N/A"); + + $("#menuFileNew").addClass("disabled"); + $("#menuFileOpen").addClass("disabled"); + $("#menuFileDownload").removeClass("disabled"); + $("#menuFileUpload").removeClass("disabled"); + $("#menuFileClear").removeClass("disabled"); + $("#menuModelAnalyse").removeClass("disabled"); + $("#menuModelValidate").removeClass("disabled"); + $("#menuModelCompare").removeClass("disabled"); + $("#menuModelSplit").removeClass("disabled"); + $("#menuModelMerge").removeClass("disabled"); + $("#menuConceptsContextSchemas").removeClass("disabled"); + $("#menuConceptsEvents").removeClass("disabled"); + $("#menuConceptsContextAlbums").removeClass("disabled"); + $("#menuConceptsTasks").removeClass("disabled"); + $("#menuConceptsPolicies").removeClass("disabled"); + $("#menuConceptsKeyInformation").removeClass("disabled"); + + $(".modelTag").show("slide", { + direction : "left" + }, 200); + + try{ + $("#mainTabs").tabs({ + classes : { + "ui-tabs-tab" : "ui-tabs-tab-custom", + "ui-tabs-active" : "ui-tabs-active-custom", + "ui-tabs-anchor" : "ui-tabs-anchor-custom" + }, + disabled : false, + activate : function(event, ui) { + localStorage.setItem("apex_tab_index", ui.newTab.index()); + } + }); + } + catch(err){ + console.error('TypeError! Failed to get tabs function'); + } + + + contextSchemaTab_activate(); + eventTab_activate(); + contextAlbumTab_activate(); + taskTab_activate(); + policyTab_activate(); + keyInformationTab_activate(); + showPlaceholder(false); +} + +function pageControl_noModelMode() { + $(".modelTag").hide("slide", { + direction : "left" + }, 200); + + $('#modelName').html("N/A"); + $('#modelVersion').html("N/A"); + $('#modelFileName').html("N/A"); + + $("#menuFileNew").removeClass("disabled"); + $("#menuFileOpen").removeClass("disabled"); + $("#menuFileDownload").addClass("disabled"); + $("#menuFileUpload").addClass("disabled"); + $("#menuFileClear").addClass("disabled"); + $("#menuModelAnalyse").addClass("disabled"); + $("#menuModelValidate").addClass("disabled"); + $("#menuModelCompare").addClass("disabled"); + $("#menuModelSplit").addClass("disabled"); + $("#menuModelMerge").addClass("disabled"); + $("#menuConceptsContextSchemas").addClass("disabled"); + $("#menuConceptsEvents").addClass("disabled"); + $("#menuConceptsContextAlbums").addClass("disabled"); + $("#menuConceptsTasks").addClass("disabled"); + $("#menuConceptsPolicies").addClass("disabled"); + $("#menuConceptsKeyInformation").addClass("disabled"); + + contextSchemaTab_deactivate(); + eventTab_deactivate(); + contextAlbumTab_deactivate(); + taskTab_deactivate(); + policyTab_deactivate(); + keyInformationTab_deactivate(); + try{ + $("#mainTabs").tabs({ + classes : { + "ui-tabs-tab" : "ui-tabs-tab-custom", + "ui-tabs-active" : "ui-tabs-active-custom", + "ui-tabs-anchor" : "ui-tabs-anchor-custom" + }, + disabled : [ 0, 1, 2, 3, 4, 5 ] + }); + } + catch(err){ + console.error('TypeError! Failed to get tabs function'); + } + showPlaceholder(true); +} + +function pageControl_busyMode() { + $("#menuFile").addClass("disabled"); + $("#menuFileNew").addClass("disabled"); + $("#menuFileOpen").addClass("disabled"); + $("#menuFileDownload").addClass("disabled"); + $("#menuFileClear").addClass("disabled"); + $("#menuModelAnalyse").addClass("disabled"); + $("#menuModelValidate").addClass("disabled"); + $("#menuModelCompare").addClass("disabled"); + $("#menuModelSplit").addClass("disabled"); + $("#menuModelMerge").addClass("disabled"); + $("#menuConceptsContextSchemas").addClass("disabled"); + $("#menuConceptsEvents").addClass("disabled"); + $("#menuConceptsContextAlbums").addClass("disabled"); + $("#menuConceptsTasks").addClass("disabled"); + $("#menuConceptsPolicies").addClass("disabled"); + $("#menuConceptsKeyInformation").addClass("disabled"); + try{ + $("#mainTabs").tabs({ + classes : { + "ui-tabs-tab" : "ui-tabs-tab-custom", + "ui-tabs-active" : "ui-tabs-active-custom", + "ui-tabs-anchor" : "ui-tabs-anchor-custom" + }, + disabled : false + }); + } + catch(err){ + console.error('TypeError! Failed to get tabs function'); + } + contextSchemaTab_activate(); + eventTab_activate(); + contextAlbumTab_activate(); + taskTab_activate(); + policyTab_activate(); + keyInformationTab_activate(); + showPlaceholder(false); +} + +function pageControl_readyMode() { + $("#menuFile").removeClass("disabled"); + $("#menuFileNew").removeClass("disabled"); + $("#menuFileOpen").removeClass("disabled"); + $("#menuFileDownload").removeClass("disabled"); + $("#menuFileClear").removeClass("disabled"); + $("#menuModelAnalyse").removeClass("disabled"); + $("#menuModelValidate").removeClass("disabled"); + $("#menuModelCompare").removeClass("disabled"); + $("#menuModelSplit").removeClass("disabled"); + $("#menuModelMerge").removeClass("disabled"); + $("#menuConceptsContextSchemas").removeClass("disabled"); + $("#menuConceptsEvents").removeClass("disabled"); + $("#menuConceptsContextAlbums").removeClass("disabled"); + $("#menuConceptsTasks").removeClass("disabled"); + $("#menuConceptsPolicies").removeClass("disabled"); + $("#menuConceptsKeyInformation").removeClass("disabled"); + + contextSchemaTab_deactivate(); + eventTab_deactivate(); + contextAlbumTab_deactivate(); + taskTab_deactivate(); + policyTab_deactivate(); + keyInformationTab_deactivate(); + try{ + $("#mainTabs").tabs({ + classes : { + "ui-tabs-tab" : "ui-tabs-tab-custom", + "ui-tabs-active" : "ui-tabs-active-custom", + "ui-tabs-anchor" : "ui-tabs-anchor-custom" + }, + disabled : [ 0, 1, 2, 3, 4, 5 ] + }); + } + catch(err){ + console.error('TypeError! Failed to get tabs function'); + } + showPlaceholder(true); +} + +function pageControl_successStatus(data) { + $('#statusString').html(data.result); + $("#statusMessageTable").empty(); + + if (data.ok) { + $('#statusString').css("color", "green"); + $('#ebInlineMessage-iconHolder-icon').attr("class", "ebIcon ebIcon_big ebIcon_tick"); + } else { + $('#statusString').css("color", "red"); + $('#ebInlineMessage-iconHolder-icon').attr("class", "ebIcon ebIcon_big ebIcon_error"); + for (let value of data.messages.message) { + $("#statusMessageTable").append("<tr><td>" + value + "</td></tr>"); + } + // A session with session ID "0" does not exist + var sessionDoesNotExistStringStart = "A session with session ID "; + var sessionDoesNotExistStringEnd = " does not exist"; + if (data.content.indexOf(sessionDoesNotExistStringStart) !== -1 + && data.content.indexOf(sessionDoesNotExistStringEnd) !== -1) { + clearLocalStorage(); + location.reload(); + } + throw "REST call returned an error\n" + data; + } +} + +function pageControl_status(data) { + $('#statusString').html(data.result); + $("#statusMessageTable").empty(); + + if (data.ok) { + $('#statusString').css("color", "green"); + $('#ebInlineMessage-iconHolder-icon').attr("class", "ebIcon ebIcon_big ebIcon_tick"); + } else { + $('#statusString').css("color", "red"); + $('#ebInlineMessage-iconHolder-icon').attr("class", "ebIcon ebIcon_big ebIcon_error"); + } +} + +function pageControl_restError(requestURL, jqXHR, textStatus, errorThrown) { + $('#statusString').html("REST_ERROR"); + $('#statusString').css("color", "red"); + $('#ebInlineMessage-iconHolder-icon').attr("class", "ebIcon ebIcon_big ebIcon_error"); + + $("#statusMessageTable").empty(); + $("#statusMessageTable").append( + "<tr><td>request \"" + requestURL + "\" returned \"" + textStatus + "\" " + jqXHR.status + " \"" + + errorThrown + "\"</td></tr>"); + +} + +function pageControl_recursiveDisable(el, disableValue, visibleValue) { + try { + el.readOnly = disableValue; + el.style.visibility = (visibleValue ? "visible" : "hidden"); + } catch (E) { + } + + if (el.childNodes && el.childNodes.length > 0) { + for (let value of el.childNodes) { + recursiveDisable(value, disableValue, visibleValue); + } + } +} + +function showPlaceholder(show) { + if (show) { + $(".placeholder").show(); + } else { + $(".placeholder").hide(); + } +} + +export { + showPlaceholder, + pageControl_busyMode, + pageControl_modelMode, + pageControl_noModelMode, + pageControl_readyMode, + pageControl_recursiveDisable, + pageControl_restError, + pageControl_status, + pageControl_successStatus +} |