aboutsummaryrefslogtreecommitdiffstats
path: root/client/client-deployment/src/main/resources/webapp/js/ApexUtils.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/client-deployment/src/main/resources/webapp/js/ApexUtils.js')
-rw-r--r--client/client-deployment/src/main/resources/webapp/js/ApexUtils.js212
1 files changed, 212 insertions, 0 deletions
diff --git a/client/client-deployment/src/main/resources/webapp/js/ApexUtils.js b/client/client-deployment/src/main/resources/webapp/js/ApexUtils.js
new file mode 100644
index 000000000..0f5e689fd
--- /dev/null
+++ b/client/client-deployment/src/main/resources/webapp/js/ApexUtils.js
@@ -0,0 +1,212 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. 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=========================================================
+ */
+
+/*
+ * Crate a dialog with input, attach it to a given parent and show an optional message
+ */
+function apexDialogForm_activate(formParent, message) {
+ apexUtils_removeElement("apexDialogDiv");
+
+ var contentelement = document.createElement("apexDialogDiv");
+ var formDiv = document.createElement("div");
+ var backgroundDiv = document.createElement("div");
+ backgroundDiv.setAttribute("id", "apexDialogDivBackground");
+ backgroundDiv.setAttribute("class", "apexDialogDivBackground");
+
+ backgroundDiv.appendChild(formDiv);
+ contentelement.appendChild(backgroundDiv);
+ formParent.appendChild(contentelement);
+
+ formDiv.setAttribute("id", "apexDialogDiv");
+ formDiv.setAttribute("class", "apexDialogDiv");
+
+ var headingSpan = document.createElement("span");
+ formDiv.appendChild(headingSpan);
+
+ headingSpan.setAttribute("class", "headingSpan");
+ headingSpan.innerHTML = "Apex Engine Configuration";
+
+ var form = document.createElement("apexDialog");
+ formDiv.appendChild(form);
+
+ form.setAttribute("id", "apexDialog");
+ form.setAttribute("class", "form-style-1");
+ form.setAttribute("method", "post");
+
+ if (message) {
+ var messageLI = document.createElement("li");
+ messageLI.setAttribute("class", "dialogMessage");
+ messageLI.innerHTML = message;
+ form.appendChild(messageLI);
+ }
+
+ var urlLI = document.createElement("li");
+ form.appendChild(urlLI);
+
+ var urlLabel = document.createElement("label");
+ urlLI.appendChild(urlLabel);
+
+ urlLabel.setAttribute("for", "apexDialogUrlInput");
+ urlLabel.innerHTML = "Apex Engine rest URL:";
+
+ var urlLabelSpan = document.createElement("span");
+ urlLabel.appendChild(urlLabelSpan);
+
+ urlLabelSpan.setAttribute("class", "required");
+ urlLabelSpan.innerHTML = "*";
+
+ var engineUrl = localStorage.getItem("apex-monitor-services_old");
+
+ var urlInput = document.createElement("input");
+ urlInput.setAttribute("id", "services_url_input");
+ urlInput.setAttribute("placeholder", "localhost:12345");
+ urlInput.value = (engineUrl && engineUrl !== "null") ? JSON.parse(engineUrl).hostname + ":"
+ + JSON.parse(engineUrl).port : "";
+ urlLI.appendChild(urlInput);
+
+ var inputLI = document.createElement("li");
+ form.appendChild(inputLI);
+
+ var submitInput = document.createElement("input");
+ submitInput.setAttribute("id", "submit");
+ submitInput.setAttribute("class", "button ebBtn");
+ submitInput.setAttribute("type", "submit");
+ submitInput.setAttribute("value", "Submit");
+ submitInput.onclick = apexDialogForm_submitPressed;
+ inputLI.appendChild(submitInput);
+
+ // Enter key press triggers submit
+ $(urlInput).keyup(function(event) {
+ if (event.keyCode == 13) {
+ $(submitInput).click();
+ }
+ });
+
+ urlInput.focus();
+}
+
+/*
+ * Create a dialog for displaying text
+ */
+function apexTextDialog_activate(formParent, message, title) {
+ apexUtils_removeElement("apexDialogDiv");
+
+ var contentelement = document.createElement("div");
+ contentelement.setAttribute("id", "apexDialogDiv")
+ var formDiv = document.createElement("div");
+ var backgroundDiv = document.createElement("div");
+ backgroundDiv.setAttribute("id", "apexDialogDivBackground");
+ backgroundDiv.setAttribute("class", "apexDialogDivBackground");
+
+ backgroundDiv.appendChild(formDiv);
+ contentelement.appendChild(backgroundDiv);
+ formParent.appendChild(contentelement);
+
+ formDiv.setAttribute("id", "apexErrorDialogDiv");
+ formDiv.setAttribute("class", "apexDialogDiv apexErrorDialogDiv");
+
+ var headingSpan = document.createElement("span");
+ formDiv.appendChild(headingSpan);
+
+ headingSpan.setAttribute("class", "headingSpan");
+ headingSpan.innerHTML = title;
+
+ var form = document.createElement("div");
+ formDiv.appendChild(form);
+
+ form.setAttribute("id", "apexDialog");
+ form.setAttribute("class", "form-style-1");
+ form.setAttribute("method", "post");
+
+ if (message) {
+ var messageLI = document.createElement("li");
+ messageLI.setAttribute("class", "dialogMessage");
+ messageLI.innerHTML = message;
+ form.appendChild(messageLI);
+ }
+
+ var inputLI = document.createElement("li");
+ form.appendChild(inputLI);
+
+ var cancelInput = document.createElement("input");
+ cancelInput.setAttribute("class", "button ebBtn");
+ cancelInput.setAttribute("type", "submit");
+ cancelInput.setAttribute("value", "Close");
+ cancelInput.onclick = newModelForm_cancelPressed;
+ form.appendChild(cancelInput);
+}
+
+/*
+ * Create a Success dialog
+ */
+function apexSuccessDialog_activate(formParent, message) {
+ apexTextDialog_activate(formParent, message, "Success");
+}
+
+/*
+ * Create an Error dialog
+ */
+function apexErrorDialog_activate(formParent, message) {
+ apexTextDialog_activate(formParent, message, "Error");
+}
+
+/*
+ * Dialog cancel callback
+ */
+function newModelForm_cancelPressed() {
+ apexUtils_removeElement("apexDialogDivBackground");
+}
+
+/*
+ * Dialog submit callback
+ */
+function apexDialogForm_submitPressed() {
+ var url = $('#services_url_input').val();
+ if (url && url.length > 0) {
+ var engineConfig = {
+ hostname : url.split(":")[0],
+ port : url.split(":")[1]
+ };
+ localStorage.setItem("apex-monitor-services_old", JSON.stringify(engineConfig));
+ localStorage.setItem("apex-monitor-services", JSON.stringify(engineConfig));
+ apexUtils_removeElement("apexDialogDivBackground");
+ getEngineURL();
+ }
+}
+
+/*
+ * Remove an element from the page
+ */
+function apexUtils_removeElement(elementname) {
+ var element = document.getElementById(elementname);
+ if (element != null) {
+ element.parentNode.removeChild(element);
+ }
+}
+
+function getHomepageURL() {
+ var homepageURL = location.protocol
+ + "//"
+ + window.location.hostname
+ + (location.port ? ':' + location.port : '')
+ + (location.pathname.endsWith("/deployment/") ? location.pathname.substring(0, location.pathname
+ .indexOf("deployment/")) : location.pathname);
+ location.href = homepageURL;
+} \ No newline at end of file