aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiam Fallon <liam.fallon@est.tech>2022-01-24 13:19:41 +0000
committerGerrit Code Review <gerrit@onap.org>2022-01-24 13:19:41 +0000
commit86387a2b3ce0fdd4c23a05e5e3cfb8441dd21d17 (patch)
treede816f70893a244c0e16124959b5e2be78a08644
parent8849d1b8da31e25e2598def588a9b1fa96b5c111 (diff)
parent7be95544827a95524a9b683d946ee7473e6854f9 (diff)
Merge "Removed PDP Monitoring from GUI"
-rw-r--r--gui-pdp-monitoring/pom.xml232
-rw-r--r--gui-pdp-monitoring/src/main/assembly/frontend.xml32
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringMain.java175
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServer.java77
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameterException.java47
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameterParser.java115
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameters.java90
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/package-info.java27
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/EngineStatus.java43
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/PdpMonitoringRestResource.java278
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/StatisticsResponse.java48
-rw-r--r--gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringExceptionTest.java39
-rw-r--r--gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringMainTest.java169
-rw-r--r--gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringRestTest.java41
-rw-r--r--gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/rest/EngineStatusTest.java40
-rw-r--r--gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/rest/StatisticsResponseTest.java39
-rw-r--r--gui-pdp-monitoring/src/webapp/.babelrc5
-rw-r--r--gui-pdp-monitoring/src/webapp/.gitignore5
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/css/interfaceAssets.css3453
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/css/papChartLib.css64
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/css/styles.css515
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/images/logo_onap.pngbin21360 -> 0 bytes
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/index.html64
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/resources/16px/rowCollapsed_black_16px.svg19
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/resources/16px/rowExpanded_black_16px.svg18
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/resources/16px/settings_black_16px.svg20
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/resources/systemBar/help_black.svg19
-rw-r--r--gui-pdp-monitoring/src/webapp/dist/resources/systemBar/logout_black.svg15
-rw-r--r--gui-pdp-monitoring/src/webapp/js/MonitoringChart.js247
-rw-r--r--gui-pdp-monitoring/src/webapp/js/MonitoringConfig.js126
-rw-r--r--gui-pdp-monitoring/src/webapp/js/MonitoringMain.js111
-rw-r--r--gui-pdp-monitoring/src/webapp/js/MonitoringTable.js61
-rw-r--r--gui-pdp-monitoring/src/webapp/js/MonitoringUtils.js417
-rw-r--r--gui-pdp-monitoring/src/webapp/js/PdpEngineWorkerStatus.js148
-rw-r--r--gui-pdp-monitoring/src/webapp/js/PdpInformation.js65
-rw-r--r--gui-pdp-monitoring/src/webapp/js/PdpListView.js76
-rw-r--r--gui-pdp-monitoring/src/webapp/js/PdpStatisticsSummary.js142
-rw-r--r--gui-pdp-monitoring/src/webapp/js/__test__/MonitoringChart.test.js40
-rw-r--r--gui-pdp-monitoring/src/webapp/js/__test__/MonitoringMain.test.js60
-rw-r--r--gui-pdp-monitoring/src/webapp/js/__test__/MonitoringTable.test.js33
-rw-r--r--gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js109
-rw-r--r--gui-pdp-monitoring/src/webapp/js/__test__/PdpEngineWorkerStatus.test.js37
-rw-r--r--gui-pdp-monitoring/src/webapp/js/__test__/PdpInformation.test.js31
-rw-r--r--gui-pdp-monitoring/src/webapp/js/__test__/PdpListView.test.js63
-rw-r--r--gui-pdp-monitoring/src/webapp/js/__test__/PdpStatisticsSummary.test.js38
-rw-r--r--gui-pdp-monitoring/src/webapp/package.json44
-rw-r--r--gui-pdp-monitoring/src/webapp/webpack.config.js18
-rw-r--r--pom.xml1
48 files changed, 0 insertions, 7556 deletions
diff --git a/gui-pdp-monitoring/pom.xml b/gui-pdp-monitoring/pom.xml
deleted file mode 100644
index ae6667f..0000000
--- a/gui-pdp-monitoring/pom.xml
+++ /dev/null
@@ -1,232 +0,0 @@
-<!--
- ============LICENSE_START=======================================================
- Copyright (C) 2020-2021 Nordix Foundation.
- Modifications Copyright (C) 2021 AT&T Intellectual Property. 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=========================================================
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.onap.policy.gui</groupId>
- <artifactId>policy-gui</artifactId>
- <version>2.2.1-SNAPSHOT</version>
- </parent>
-
- <artifactId>gui-pdp-monitoring</artifactId>
- <name>${project.artifactId}</name>
- <description>GUI for monitoring PDP Statistics</description>
-
- <properties>
- <webapp.dir>src/webapp</webapp.dir>
- <sonar.nodejs.executable>${project.basedir}/src/webapp/node/node</sonar.nodejs.executable>
- <sonar.sources>${project.basedir}/src/main/java,${project.basedir}/src/webapp/js</sonar.sources>
- <sonar.exclusions>src/webapp/js/__test__/**</sonar.exclusions>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.onap.policy.common</groupId>
- <artifactId>policy-endpoints</artifactId>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.common</groupId>
- <artifactId>utils-test</artifactId>
- <version>${policy.common.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.models</groupId>
- <artifactId>policy-models-pdp</artifactId>
- <version>${policy.models.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <defaultGoal>install</defaultGoal>
- <outputDirectory>${project.build.directory}/classes</outputDirectory>
- <plugins>
- <plugin>
- <groupId>com.github.eirslett</groupId>
- <artifactId>frontend-maven-plugin</artifactId>
- <version>1.9.1</version>
- <configuration>
- <nodeVersion>v14.17.0</nodeVersion>
- <installDirectory>${webapp.dir}</installDirectory>
- <workingDirectory>${webapp.dir}</workingDirectory>
- <npmDownloadRoot>${repo.npm}</npmDownloadRoot>
- </configuration>
- <executions>
- <execution>
- <id>install node</id>
- <goals>
- <goal>install-node-and-npm</goal>
- </goals>
- <configuration>
- <npmVersion>6.14.5</npmVersion>
- </configuration>
- </execution>
- <execution>
- <id>npm install</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <configuration>
- <arguments>install</arguments>
- </configuration>
- </execution>
- <execution>
- <id>npm test</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <phase>test</phase>
- <configuration>
- <arguments>test</arguments>
- </configuration>
- </execution>
- <execution>
- <id>webpack build</id>
- <goals>
- <goal>webpack</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-gui-pdp-monitoring-tar</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <descriptors>
- <descriptor>src/main/assembly/frontend.xml</descriptor>
- </descriptors>
- <finalName>${project.artifactId}-${project.version}</finalName>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>${webapp.dir}/node</directory>
- </fileset>
- <fileset>
- <directory>${webapp.dir}/node_modules</directory>
- </fileset>
- <fileset>
- <directory>${webapp.dir}</directory>
- <includes>
- <include>package-lock.json</include>
- <include>dist/bundle.js</include>
- </includes>
- </fileset>
- </filesets>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <finalName>${project.artifactId}-uber-${project.version}</finalName>
- <shadedArtifactAttached>true</shadedArtifactAttached>
- <shadedClassifierName>monitoring</shadedClassifierName>
- <artifactSet>
- <includes>
- <include>*:*</include>
- </includes>
- </artifactSet>
- <filters>
- <filter>
- <artifact>*:*</artifact>
- <excludes>
- <exclude>META-INF/*.SF</exclude>
- <exclude>META-INF/*.DSA</exclude>
- <exclude>META-INF/*.RSA</exclude>
- </excludes>
- </filter>
- </filters>
- <transformers>
- <transformer
- implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
- <transformer
- implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>reference.conf</resource>
- </transformer>
- <transformer
- implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
- <resource>log4j.properties</resource>
- </transformer>
- <transformer
- implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
- <mainClass>org.onap.policy.gui.pdp.monitoring.PdpMonitoringMain</mainClass>
- </transformer>
- </transformers>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>3.0.0</version>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <phase>package</phase>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/${project.artifactId}-uber-${project.version}.jar</file>
- <type>uber.jar</type>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/gui-pdp-monitoring/src/main/assembly/frontend.xml b/gui-pdp-monitoring/src/main/assembly/frontend.xml
deleted file mode 100644
index 610121b..0000000
--- a/gui-pdp-monitoring/src/main/assembly/frontend.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
- ============LICENSE_START=======================================================
- Copyright (C) 2020-2021 Nordix Foundation.
- ================================================================================
- 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=========================================================
--->
-<assembly>
- <id>frontend</id>
- <formats>
- <format>tar.gz</format>
- </formats>
- <includeBaseDirectory>false</includeBaseDirectory>
- <fileSets>
- <fileSet>
- <directory>${webapp.dir}/dist</directory>
- <outputDirectory>pdp-monitoring</outputDirectory>
- </fileSet>
- </fileSets>
-</assembly>
diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringMain.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringMain.java
deleted file mode 100644
index 2c0bb3a..0000000
--- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringMain.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020-2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring;
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import lombok.Getter;
-import lombok.ToString;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The main class for Pdp Statistics Monitoring.
- *
- * @author Yehui Wang (yehui.wang@est.tech)
- */
-@ToString
-public class PdpMonitoringMain {
- // Logger for this class
- private static final Logger LOGGER = LoggerFactory.getLogger(PdpMonitoringMain.class);
-
- // Recurring string constants
- private static final String PDP_MONITORING_PREFIX = "Pdp Monitoring GUI (";
-
- // Services state
- public enum ServicesState {
- STOPPED, READY, INITIALIZING, RUNNING
- }
-
- @Getter
- private ServicesState state = ServicesState.STOPPED;
-
- // The parameters for the Server
- private PdpMonitoringServerParameters parameters = null;
-
- // The Pdp Monitoring services this class is running
- private PdpMonitoringServer pdpMonitoringServer = null;
-
- private CountDownLatch startedLatch = new CountDownLatch(1);
-
- private CountDownLatch shutdownLatch = new CountDownLatch(1);
-
- /**
- * Constructor, kicks off the GUI service.
- *
- * @param args The command line arguments for the RESTful service
- */
- public PdpMonitoringMain(final String[] args) {
-
- // Server parameter parsing
- final var parser = new PdpMonitoringServerParameterParser();
-
- try {
- // Get and check the parameters
- parameters = parser.parse(args);
- } catch (final PdpMonitoringServerParameterException e) {
- throw new PdpMonitoringServerParameterException(PDP_MONITORING_PREFIX + this + ") parameter error, "
- + e.getMessage() + '\n' + parser.getHelp(PdpMonitoringMain.class.getName()), e);
- }
-
- if (parameters.isHelpSet()) {
- throw new PdpMonitoringServerParameterException(parser.getHelp(PdpMonitoringMain.class.getName()));
- }
-
- // Validate the parameters
- final var validationResult = parameters.validate();
- if (!validationResult.isValid()) {
- throw new PdpMonitoringServerParameterException(
- PDP_MONITORING_PREFIX + this + ") parameters invalid, " + validationResult.getResult() + '\n'
- + parser.getHelp(PdpMonitoringMain.class.getName()));
- }
-
- state = ServicesState.READY;
- }
-
- /**
- * Initialize the rest service.
- */
- public void init() {
- LOGGER.info(PDP_MONITORING_PREFIX + "{}) starting at {} . . .", this, parameters.getBaseUri());
-
- try {
- state = ServicesState.INITIALIZING;
-
- // Start the Pdp Monitoring service
- pdpMonitoringServer = new PdpMonitoringServer(parameters);
-
- // Add a shutdown hook to shut down the servlet services when the process is exiting
- Runtime.getRuntime().addShutdownHook(new Thread(this::shutdown));
-
- state = ServicesState.RUNNING;
-
- if (parameters.getTimeToLive() == PdpMonitoringServerParameters.INFINITY_TIME_TO_LIVE) {
- LOGGER.info(PDP_MONITORING_PREFIX + "{}) starting at {} . . .", this, parameters.getTimeToLive());
- } else {
- LOGGER.info(PDP_MONITORING_PREFIX + "{}) started", this);
- }
-
- startedLatch.countDown();
-
- // Find out how long is left to wait
- long timeRemaining = parameters.getTimeToLive();
- if (timeRemaining >= 0) {
- if (!shutdownLatch.await(timeRemaining, TimeUnit.SECONDS)) {
- shutdown();
- }
- } else {
- shutdownLatch.await();
- }
- } catch (final Exception e) {
- LOGGER.warn("{} failed with error", this, e);
- } finally {
- shutdown();
- }
-
- }
-
- /**
- * Waits for the service to enter the running state.
- *
- * @param timeout time to wait
- * @param unit time units
- * @return {@code true} if the service started within the specified time
- * @throws InterruptedException if an interrupt occurs
- */
- protected boolean awaitStart(long timeout, TimeUnit unit) throws InterruptedException {
- return startedLatch.await(timeout, unit);
- }
-
- /**
- * Explicitly shut down the services.
- */
- public void shutdown() {
- if (pdpMonitoringServer != null) {
- LOGGER.info(PDP_MONITORING_PREFIX + "{}) shutting down", this);
- pdpMonitoringServer.shutdown(parameters.getPort());
- }
- shutdownLatch.countDown();
- state = ServicesState.STOPPED;
- LOGGER.info(PDP_MONITORING_PREFIX + "{}) shutting down", this);
- }
-
- /**
- * Main method, main entry point for command.
- *
- * @param args The command line arguments for the GUI
- */
- public static void main(final String[] args) {
- try {
- final var main = new PdpMonitoringMain(args);
- main.init();
- } catch (final Exception e) {
- LOGGER.error("start failed", e);
- }
- }
-}
diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServer.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServer.java
deleted file mode 100644
index bfb273d..0000000
--- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * Modifications Copyright (C) 2020 AT&T
- * ================================================================================
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring;
-
-import lombok.NonNull;
-import org.onap.policy.common.endpoints.http.server.HttpServletServer;
-import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * This class is used to launch the services. It creates a Jetty embedded web server and runs the
- * services.
- *
- * @author Yehui Wang (yehui.wang@est.tech)
- */
-public class PdpMonitoringServer {
- // Logger for this class
- private static final Logger LOGGER = LoggerFactory.getLogger(PdpMonitoringServer.class);
-
- // The HTTP server exposing JAX-RS resources defined in this application.
- private HttpServletServer jerseyServer;
-
- /**
- * Starts the HTTP server for the Pdp statistics monitoring on the default base URI and with the
- * default REST packages.
- */
- public PdpMonitoringServer() {
- this(new PdpMonitoringServerParameters());
- }
-
- /**
- * Starts the HTTP server for the Pdp statistics monitoring GUI.
- *
- * @param parameters The Pdp parameters to use to start the server.
- */
- public PdpMonitoringServer(@NonNull final PdpMonitoringServerParameters parameters) {
- LOGGER.debug("Pdp Monitoring starting . . .");
-
- jerseyServer = HttpServletServerFactoryInstance.getServerFactory().build("PDP Monitoring Rest Server", false,
- parameters.getServerHost(), parameters.getPort(), parameters.getContextPath(), false, true);
- jerseyServer.addServletPackage(parameters.getDefaultRestPath(), parameters.getRestPackage());
- jerseyServer.start();
-
- LOGGER.debug("Pdp Monitoring started");
- }
-
- /**
- * Shut down the web server.
- *
- * @param restPort port number of jersey server
- */
- public void shutdown(int restPort) {
- LOGGER.debug("Pdp Monitoring . . .");
- HttpServletServerFactoryInstance.getServerFactory().destroy(restPort);
- LOGGER.debug("Pdp Monitoring shut down");
- }
-}
diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameterException.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameterException.java
deleted file mode 100644
index 8977d33..0000000
--- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameterException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring;
-
-/**
- * A run time exception used to report parsing and parameter input errors.
- */
-public class PdpMonitoringServerParameterException extends IllegalArgumentException {
- private static final long serialVersionUID = 6520231162404452427L;
-
- /**
- * Create an PdpMonitoringServerParameterException with a message.
- *
- * @param message the message
- */
- public PdpMonitoringServerParameterException(final String message) {
- super(message);
- }
-
- /**
- * Create an PdpMonitoringServerParameterException with a message and an exception.
- *
- * @param message the message
- * @param throwable The exception that caused the exception
- */
- public PdpMonitoringServerParameterException(final String message, final Throwable throwable) {
- super(message, throwable);
- }
-}
diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameterParser.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameterParser.java
deleted file mode 100644
index 7846b0e..0000000
--- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameterParser.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Arrays;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DefaultParser;
-import org.apache.commons.cli.HelpFormatter;
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
-
-/**
- * This class reads and handles command line parameters to the Pdp Statistics services.
- *
- * @author Yehui Wang (yehui.wang@est.tech)
- */
-public class PdpMonitoringServerParameterParser {
- // Apache Commons CLI options
- private final Options options;
-
- /**
- * Construct the options for the Pdp monitoring services.
- */
- public PdpMonitoringServerParameterParser() {
- options = new Options();
- options.addOption("h", "help", false, "outputs the usage of this command");
- options.addOption(Option.builder("p").longOpt("port").desc("port to use for the Pdp Services REST calls")
- .hasArg().argName("PORT").required(false).type(Number.class).build());
- options.addOption(Option.builder("t").longOpt("time-to-live")
- .desc("the amount of time in seconds that the server will run for before terminating").hasArg()
- .argName("TIME_TO_LIVE").required(false).type(Number.class).build());
- }
-
- /**
- * Parse the command line options.
- *
- * @param args the arguments
- * @return parsed parameters
- */
- public PdpMonitoringServerParameters parse(final String[] args) {
- CommandLine commandLine = null;
- try {
- commandLine = new DefaultParser().parse(options, args);
- } catch (final ParseException e) {
- throw new PdpMonitoringServerParameterException("invalid command line arguments specified", e);
- }
-
- final var parameters = new PdpMonitoringServerParameters();
- final String[] remainingArgs = commandLine.getArgs();
-
- if (commandLine.getArgs().length > 0) {
- throw new PdpMonitoringServerParameterException(
- "too many command line arguments specified : " + Arrays.toString(remainingArgs));
- }
-
- if (commandLine.hasOption('h')) {
- parameters.setHelpSet(true);
- }
- try {
- if (commandLine.hasOption('p')) {
- parameters.setPort(((Number) commandLine.getParsedOptionValue("port")).intValue());
- }
- } catch (final ParseException e) {
- throw new PdpMonitoringServerParameterException("error parsing argument \"port\"", e);
- }
- try {
- if (commandLine.hasOption('t')) {
- parameters.setTimeToLive(((Number) commandLine.getParsedOptionValue("time-to-live")).longValue());
- }
- } catch (final ParseException e) {
- throw new PdpMonitoringServerParameterException("error parsing argument \"time-to-live\"", e);
- }
-
- return parameters;
- }
-
- /**
- * Get help information.
- *
- * @param mainClassName the main class name for the help output
- * @return help string
- */
- public String getHelp(final String mainClassName) {
- final var stringWriter = new StringWriter();
- final var stringPrintWriter = new PrintWriter(stringWriter);
-
- final var helpFormatter = new HelpFormatter();
- helpFormatter.printHelp(stringPrintWriter, 120, mainClassName + " [options...] ", "", options, 0, 0, "");
-
- return stringWriter.toString();
- }
-}
diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameters.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameters.java
deleted file mode 100644
index 78fb479..0000000
--- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameters.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020-2021 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring;
-
-import java.net.URI;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.onap.policy.common.parameters.BeanValidator;
-import org.onap.policy.common.parameters.ValidationResult;
-import org.onap.policy.common.parameters.annotations.Max;
-import org.onap.policy.common.parameters.annotations.Min;
-
-/**
- * This class reads and handles command line parameters to the Pdp Monitoring services.
- *
- * @author Yehui Wang (yehui.wang@est.tech)
- */
-@ToString
-@Getter
-@Setter
-public class PdpMonitoringServerParameters {
- public static final int INFINITY_TIME_TO_LIVE = -1;
-
- // Base URI the HTTP server will listen on
- private static final String DEFAULT_SERVER_URI_ROOT = "http://0.0.0.0:";
- private static final String DEFAULT_REST_PATH = "papservices/*";
- private static final String DEFAULT_CONTEXT_PATH = "/";
- private static final String SERVER_HOST = "0.0.0.0";
- private static final int DEFAULT_REST_PORT = 17999;
- // Package that will field REST requests
- private static final String DEFAULT_REST_PACKAGE = "org.onap.policy.gui.pdp.monitoring.rest";
-
- // The services parameters
- private boolean helpSet = false;
-
- @Min(1024)
- @Max(65534)
- private int port = DEFAULT_REST_PORT;
-
- @Min(-1)
- private long timeToLive = INFINITY_TIME_TO_LIVE;
-
- /**
- * Validate the parameters.
- *
- * @return the result of the validation
- */
- public ValidationResult validate() {
- return new BeanValidator().validateTop(PdpMonitoringServerParameters.class.getSimpleName(), this);
- }
-
- public URI getBaseUri() {
- return URI.create(DEFAULT_SERVER_URI_ROOT + port + "/" + DEFAULT_REST_PATH);
- }
-
- public String getRestPackage() {
- return DEFAULT_REST_PACKAGE;
- }
-
- public String getContextPath() {
- return DEFAULT_CONTEXT_PATH;
- }
-
- public String getServerHost() {
- return SERVER_HOST;
- }
-
- public String getDefaultRestPath() {
- return "/" + DEFAULT_REST_PATH;
- }
-}
diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/package-info.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/package-info.java
deleted file mode 100644
index d1595b8..0000000
--- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/package-info.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-
-/**
- * Implements the PDP monitoring GUI.
- *
- * @author Yehui Wang (yehui.wang@est.tech)
- */
-
-package org.onap.policy.gui.pdp.monitoring;
diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/EngineStatus.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/EngineStatus.java
deleted file mode 100644
index 5d2d38a..0000000
--- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/EngineStatus.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring.rest;
-
-import lombok.Setter;
-
-
-/**
- * A POJO class to record engine worker status.
- *
- * @author Yehui Wang (yehui.wang@est.tech)
- *
- */
-@Setter
-@SuppressWarnings("unused")
-class EngineStatus {
- private String timestamp;
- private String id;
- private String status;
- private String lastMessage;
- private long upTime;
- private long policyExecutions;
- private String lastPolicyDuration;
- private String averagePolicyDuration;
-}
diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/PdpMonitoringRestResource.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/PdpMonitoringRestResource.java
deleted file mode 100644
index 60dfc81..0000000
--- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/PdpMonitoringRestResource.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020-2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring.rest;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.reflect.TypeToken;
-import java.time.Instant;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import lombok.AllArgsConstructor;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
-import org.onap.policy.common.endpoints.http.client.HttpClient;
-import org.onap.policy.common.endpoints.http.client.HttpClientConfigException;
-import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.models.pdp.concepts.PdpEngineWorkerStatistics;
-import org.onap.policy.models.pdp.concepts.PdpGroups;
-import org.onap.policy.models.pdp.concepts.PdpStatistics;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The class represents the root resource exposed at the base URL<br>
- * The url to access this resource would be in the form {@code <baseURL>/rest/....} <br>
- * For example: a GET request to the following URL
- * {@code http://localhost:18989/papservices/rest/?hostName=localhost&port=12345}
- *
- * <b>Note:</b> An allocated {@code hostName} and {@code port} query parameter must be included in
- * all requests. Datasets for different {@code hostName} are completely isolated from one another.
- *
- * @author Yehui Wang (yehui.wang@est.tech)
- */
-@Path("monitoring/")
-@Produces({MediaType.APPLICATION_JSON})
-@Consumes({MediaType.APPLICATION_JSON})
-public class PdpMonitoringRestResource {
- // Get a reference to the logger
- private static final Logger LOGGER = LoggerFactory.getLogger(PdpMonitoringRestResource.class);
- // Set up a map separated by host and engine for the data
- private static final Map<String, HashMap<String, List<Counter>>> cache = new HashMap<>();
-
- // Set the maximum number of stored data entries to be stored for each engine
- private static final int MAX_CACHED_ENTITIES = 50;
-
- private static Gson gson = new GsonBuilder()
- .registerTypeAdapter(Instant.class, (JsonDeserializer<Instant>) (jsonElement, type, jsonDeserializationContext)
- -> Instant.parse(jsonElement.getAsJsonPrimitive().getAsString()))
- .create();
-
- /**
- * Query Pdps.
- *
- * @param useHttps use Http or not
- * @param hostname hostname the host name of the engine service to connect to.
- * @param port port the port number of the engine service to connect to.
- * @param username user name
- * @param password password
- * @return a Response object containing Pdps in JSON
- * @throws HttpClientConfigException exception
- */
- @GET
- public Response getPdps(@QueryParam("useHttps") final String useHttps,
- @QueryParam("hostname") final String hostname, @QueryParam("port") final int port,
- @QueryParam("username") final String username, @QueryParam("password") final String password)
- throws HttpClientConfigException {
-
- return Response
- .ok(getHttpClient(useHttps, hostname, port, username, password, "policy/pap/v1/pdps").get().getEntity(),
- MediaType.APPLICATION_JSON)
- .build();
- }
-
- /**
- * Query Pdp statistics.
- *
- * @param useHttps use Http or not
- * @param hostname the host name of the engine service to connect to.
- * @param port the port number of the engine service to connect to.
- * @param username user name
- * @param password password
- * @param id PdpGroupName/PdpSubGroup/PdpIntanceID
- * @return a Response object containing the Pdp status and context data in JSON
- * @throws HttpClientConfigException exception
- * @throws CoderException Coder exception
- */
- @GET
- @Path("statistics/")
- public Response getStatistics(@QueryParam("useHttps") final String useHttps,
- @QueryParam("hostname") final String hostname, @QueryParam("port") final int port,
- @QueryParam("username") final String username, @QueryParam("password") final String password,
- @QueryParam("id") final String id) throws HttpClientConfigException, CoderException {
-
- var pdpGroups = getHttpClient(useHttps, hostname, port, username, password, "policy/pap/v1/pdps").get()
- .readEntity(PdpGroups.class);
- String groupName;
- String subGroup;
- String instanceId;
- String[] idArray = id.split("/");
- if (idArray.length == 3) {
- groupName = idArray[0];
- subGroup = idArray[1];
- instanceId = idArray[2];
- } else {
- throw new IllegalArgumentException("Cannot parse groupName, subGroup and instanceId from " + id);
- }
-
- var pdp = pdpGroups.getGroups().stream().filter(group -> group.getName().equals(groupName))
- .flatMap(group -> group.getPdpSubgroups().stream().filter(sub -> sub.getPdpType().equals(subGroup)))
- .flatMap(sub -> sub.getPdpInstances().stream()
- .filter(instance -> instance.getInstanceId().equals(instanceId)))
- .filter(Objects::nonNull).findFirst().orElseThrow();
-
- final var responseObject = new StatisticsResponse();
-
- // Engine Service data
- responseObject.setEngineId(pdp.getInstanceId());
- responseObject.setServer(hostname);
- responseObject.setPort(Integer.toString(port));
- responseObject.setHealthStatus(pdp.getHealthy().name());
- responseObject.setPdpState(pdp.getPdpState().name());
-
- String statisticsEntity = getHttpClient(useHttps, hostname, port, username, password,
- "policy/pap/v1/pdps/statistics/" + id + "?recordCount=1").get().readEntity(String.class);
- Map<String, Map<String, List<PdpStatistics>>> pdpStats = gson.fromJson(statisticsEntity,
- new TypeToken<Map<String, Map<String, List<PdpStatistics>>>>() {}.getType());
-
- final List<EngineStatus> engineStatusList = new ArrayList<>();
-
- if (!pdpStats.isEmpty()) {
- var pdpStatistics = pdpStats.get(groupName).get(subGroup).get(0);
- responseObject.setTimeStamp(pdpStatistics.getTimeStamp().toString());
- responseObject.setPolicyDeployCount(pdpStatistics.getPolicyDeployCount());
- responseObject.setPolicyDeploySuccessCount(pdpStatistics.getPolicyDeploySuccessCount());
- responseObject.setPolicyDeployFailCount(pdpStatistics.getPolicyDeployFailCount());
- responseObject.setPolicyExecutedCount(pdpStatistics.getPolicyExecutedCount());
- responseObject.setPolicyExecutedSuccessCount(pdpStatistics.getPolicyExecutedSuccessCount());
- responseObject.setPolicyExecutedFailCount(pdpStatistics.getPolicyExecutedFailCount());
-
- // Engine Status data
- for (final PdpEngineWorkerStatistics engineStats : pdpStatistics.getEngineStats()) {
- try {
- final var engineStatusObject = new EngineStatus();
- engineStatusObject.setTimestamp(pdpStatistics.getTimeStamp().toString());
- engineStatusObject.setId(engineStats.getEngineId());
- engineStatusObject.setStatus(engineStats.getEngineWorkerState().name());
- engineStatusObject.setLastMessage(new Date(engineStats.getEngineTimeStamp()).toString());
- engineStatusObject.setUpTime(engineStats.getUpTime());
- engineStatusObject.setPolicyExecutions(engineStats.getEventCount());
- engineStatusObject.setLastPolicyDuration(gson.toJson(
- getValuesFromCache(id, engineStats.getEngineId() + "_last_policy_duration",
- pdpStatistics.getTimeStamp().getEpochSecond(), engineStats.getLastExecutionTime()),
- List.class));
- engineStatusObject.setAveragePolicyDuration(
- gson.toJson(getValuesFromCache(id, engineStats.getEngineId() + "_average_policy_duration",
- pdpStatistics.getTimeStamp().getEpochSecond(),
- (long) engineStats.getAverageExecutionTime()), List.class));
- engineStatusList.add(engineStatusObject);
- } catch (final RuntimeException e) {
- LOGGER.warn("Error getting status of engine with ID " + engineStats.getEngineId() + "<br>", e);
- }
- }
- } else {
- responseObject.setTimeStamp("N/A");
- responseObject.setPolicyDeployCount("N/A");
- responseObject.setPolicyDeploySuccessCount("N/A");
- responseObject.setPolicyDeployFailCount("N/A");
- responseObject.setPolicyExecutedCount("N/A");
- responseObject.setPolicyExecutedSuccessCount("N/A");
- responseObject.setPolicyExecutedFailCount("N/A");
- }
-
- responseObject.setStatus(engineStatusList);
- return Response.ok(new StandardCoder().encode(responseObject), MediaType.APPLICATION_JSON).build();
- }
-
- private HttpClient getHttpClient(String useHttps, String hostname, int port, String username, String password,
- String basePath) throws HttpClientConfigException {
- var busParams = new BusTopicParams();
- busParams.setClientName("pdp-monitoring");
- busParams.setHostname(hostname);
- busParams.setManaged(false);
- busParams.setPassword(password);
- busParams.setPort(port);
- busParams.setUseHttps(useHttps.equals("https"));
- busParams.setUserName(username);
- busParams.setBasePath(basePath);
- return HttpClientFactoryInstance.getClientFactory().build(busParams);
- }
-
- /**
- * This method takes in the latest data entry for an engine, adds it to an existing data set and
- * returns the full map for that host and engine.
- *
- * @param uri the pdp uri
- * @param id the engines id
- * @param timestamp the timestamp of the latest data entry
- * @param latestValue the value of the latest data entry
- * @return a list of {@code Counter} objects for that engine
- */
- private synchronized List<Counter> getValuesFromCache(final String uri, final String id, final long timestamp,
- final long latestValue) {
-
- Map<String, List<Counter>> engineStatus = cache.computeIfAbsent(uri, k -> new HashMap<>());
-
- List<Counter> valueList = engineStatus.computeIfAbsent(id, k -> new SlidingWindowList<>(MAX_CACHED_ENTITIES));
-
- valueList.add(new Counter(timestamp, latestValue));
-
- return valueList;
- }
-
- /**
- * A list of values that uses a FIFO sliding window of a fixed size.
- */
- @EqualsAndHashCode(callSuper = true)
- @AllArgsConstructor
- public class SlidingWindowList<V> extends LinkedList<V> {
- private static final long serialVersionUID = -7187277916025957447L;
-
- private final int maxEntries;
-
- @Override
- public boolean add(final V elm) {
- if (this.size() > (maxEntries - 1)) {
- this.removeFirst();
- }
- return super.add(elm);
- }
- }
-
- /**
- * A class used to storing a single data entry for an engine.
- */
- @Getter
- @AllArgsConstructor
- public class Counter {
- private final long timestamp;
- private final long value;
- }
-
-}
diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/StatisticsResponse.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/StatisticsResponse.java
deleted file mode 100644
index ada722f..0000000
--- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/rest/StatisticsResponse.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring.rest;
-
-import java.util.List;
-import lombok.Setter;
-
-/**
- * A POJO class to record Pdp statistics.
- *
- * @author Yehui Wang (yehui.wang@est.tech)
- *
- */
-@Setter
-@SuppressWarnings("unused")
-class StatisticsResponse {
- private String engineId;
- private String server;
- private String port;
- private String healthStatus;
- private String pdpState;
- private String timeStamp;
- private Object policyDeployCount;
- private Object policyDeploySuccessCount;
- private Object policyDeployFailCount;
- private Object policyExecutedCount;
- private Object policyExecutedSuccessCount;
- private Object policyExecutedFailCount;
- private List<EngineStatus> status;
-}
diff --git a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringExceptionTest.java b/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringExceptionTest.java
deleted file mode 100644
index 80262e9..0000000
--- a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringExceptionTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * Modifications Copyright (C) 2020 AT&T Inc.
- * ================================================================================
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.onap.policy.common.utils.test.ExceptionsTester;
-
-/**
- * Test the Pdp monitoring exception.
- *
- */
-public class MonitoringExceptionTest {
-
- @Test
- public void test() {
- assertEquals(2, new ExceptionsTester().test(PdpMonitoringServerParameterException.class));
- }
-}
diff --git a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringMainTest.java b/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringMainTest.java
deleted file mode 100644
index 3606b44..0000000
--- a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringMainTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.catchThrowable;
-import static org.junit.Assert.fail;
-
-import org.junit.Test;
-
-/**
- * Test the periodic event manager utility.
- */
-public class MonitoringMainTest {
- @Test
- public void testMonitoringServerBad() {
- try {
- final String[] eventArgs = {"-z"};
-
- PdpMonitoringMain.main(eventArgs);
- } catch (Exception exc) {
- fail("test should not throw an exception");
- }
- }
-
- @Test
- public void testMonitoringServerOk() {
- try {
- final String[] eventArgs = {"-t", "1"};
-
- PdpMonitoringMain.main(eventArgs);
- } catch (Exception exc) {
- fail("test should not throw an exception");
- }
- }
-
- @Test
- public void testMonitoringServerBadOptions() {
- final String[] eventArgs = {"-zabbu"};
- Throwable thrown = catchThrowable(() -> new PdpMonitoringMain(eventArgs));
- assertThat(thrown).isInstanceOf(PdpMonitoringServerParameterException.class)
- .hasMessageContaining("parameter error, invalid command line arguments specified");
-
- }
-
- @Test
- public void testMonitoringServerHelp() {
- final String[] eventArgs = {"-h"};
- Throwable thrown = catchThrowable(() -> new PdpMonitoringMain(eventArgs));
- assertThat(thrown).isInstanceOf(PdpMonitoringServerParameterException.class).hasMessageContaining(
- "usage: org.onap.policy.gui.pdp.monitoring.PdpMonitoringMain [options...]");
- }
-
- @Test
- public void testMonitoringServerPortBad() {
- final String[] eventArgs = {"-p", "hello"};
- Throwable thrown = catchThrowable(() -> new PdpMonitoringMain(eventArgs));
- assertThat(thrown).isInstanceOf(PdpMonitoringServerParameterException.class)
- .hasMessageContaining("error parsing argument \"port\"");
- }
-
- @Test
- public void testMonitoringServerPortNegative() {
- final String[] eventArgs = {"-p", "-1"};
- Throwable thrown = catchThrowable(() -> new PdpMonitoringMain(eventArgs));
- assertThat(thrown).isInstanceOf(PdpMonitoringServerParameterException.class).hasMessageContaining(
- "item \"port\" value \"-1\" INVALID, is below the minimum value: 1024");
- }
-
- @Test
- public void testMonitoringServerTtlTooSmall() {
- final String[] eventArgs = {"-t", "-2"};
-
- Throwable thrown = catchThrowable(() -> new PdpMonitoringMain(eventArgs));
- assertThat(thrown).isInstanceOf(PdpMonitoringServerParameterException.class)
- .hasMessageContaining("item \"timeToLive\" value \"-2\" INVALID, is below the minimum value: -1");
- }
-
- @Test
- public void testMonitoringServerTooManyPars() {
- final String[] eventArgs = {"-t", "10", "-p", "12344", "aaa", "bbb"};
-
- Throwable thrown = catchThrowable(() -> new PdpMonitoringMain(eventArgs));
- assertThat(thrown).isInstanceOf(PdpMonitoringServerParameterException.class)
- .hasMessageContaining("parameter error, too many command line arguments specified : [aaa, bbb]");
- }
-
- @Test
- public void testMonitoringServerTtlNotNumber() {
- final String[] eventArgs = {"-t", "timetolive"};
-
- Throwable thrown = catchThrowable(() -> new PdpMonitoringMain(eventArgs));
- assertThat(thrown).isInstanceOf(PdpMonitoringServerParameterException.class).hasMessageContaining(
- "parameter error, error parsing argument \"time-to-live\"");
- }
-
- @Test
- public void testMonitoringServerPortTooBig() {
- final String[] eventArgs = {"-p", "65536"};
-
- Throwable thrown = catchThrowable(() -> new PdpMonitoringMain(eventArgs));
- assertThat(thrown).isInstanceOf(PdpMonitoringServerParameterException.class)
- .hasMessageContaining("item \"port\" value \"65536\" INVALID, exceeds the maximum value: 65534");
- }
-
- @Test
- public void testMonitoringOneSecStart() {
- final String[] eventArgs = {"-t", "1"};
-
- try {
- PdpMonitoringMain monRestMain = new PdpMonitoringMain(eventArgs);
- monRestMain.init();
- monRestMain.shutdown();
-
- } catch (Exception ex) {
- fail("test should not throw an exception");
- }
- }
-
- @Test
- public void testMonitoringForeverStart() {
- final String[] eventArgs = {"-t", "-1"};
-
- var monRestMain = new PdpMonitoringMain(eventArgs);
-
- Thread monThread = new Thread() {
- @Override
- public void run() {
- monRestMain.init();
- }
- };
-
- try {
- monThread.start();
- /*
- * For some reason, getResource("webapp") returns null to PdpMonitoringServer,
- * which results in an NPE, thus the server never gets started (in ANY of
- * these test cases). Therefore, commented out the code that waits for it to
- * start.
- */
- // assertThat(monRestMain.awaitStart(5, TimeUnit.SECONDS)).isTrue();
- monRestMain.shutdown();
- monThread.join(5000);
- assertThat(monThread.isAlive()).isFalse();
- } catch (Exception ex) {
- monRestMain.shutdown();
- fail("test should not throw an exception");
- }
- }
-}
diff --git a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringRestTest.java b/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringRestTest.java
deleted file mode 100644
index a8459cd..0000000
--- a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/MonitoringRestTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-
-/**
- * monitoring rest tests.
- *
- */
-public class MonitoringRestTest {
-
- @Test
- public void test() {
- var parameters = new PdpMonitoringServerParameters();
- parameters.setPort(12345);
- assertEquals(12345, parameters.getPort());
- }
-
-}
diff --git a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/rest/EngineStatusTest.java b/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/rest/EngineStatusTest.java
deleted file mode 100644
index 46a19dc..0000000
--- a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/rest/EngineStatusTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 AT&T
- * ================================================================================
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring.rest;
-
-import com.openpojo.reflection.filters.FilterClassName;
-import com.openpojo.validation.Validator;
-import com.openpojo.validation.ValidatorBuilder;
-import com.openpojo.validation.rule.impl.SetterMustExistRule;
-import com.openpojo.validation.test.impl.SetterTester;
-import org.junit.Test;
-
-public class EngineStatusTest {
-
- @Test
- public void testEngineStatus() {
- final Validator validator = ValidatorBuilder.create().with(new SetterMustExistRule())
- .with(new SetterTester()).build();
- validator.validate(EngineStatus.class.getPackage().getName(),
- new FilterClassName(EngineStatus.class.getName()));
- }
-
-}
diff --git a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/rest/StatisticsResponseTest.java b/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/rest/StatisticsResponseTest.java
deleted file mode 100644
index d38f08c..0000000
--- a/gui-pdp-monitoring/src/test/java/org/onap/policy/gui/pdp/monitoring/rest/StatisticsResponseTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 AT&T
- * ================================================================================
- * 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=========================================================
- */
-
-package org.onap.policy.gui.pdp.monitoring.rest;
-
-import com.openpojo.reflection.filters.FilterClassName;
-import com.openpojo.validation.Validator;
-import com.openpojo.validation.ValidatorBuilder;
-import com.openpojo.validation.rule.impl.SetterMustExistRule;
-import com.openpojo.validation.test.impl.SetterTester;
-import org.junit.Test;
-
-public class StatisticsResponseTest {
-
- @Test
- public void testStatisticsResponse() {
- final Validator validator = ValidatorBuilder.create().with(new SetterMustExistRule())
- .with(new SetterTester()).build();
- validator.validate(StatisticsResponse.class.getPackage().getName(),
- new FilterClassName(StatisticsResponse.class.getName()));
- }
-}
diff --git a/gui-pdp-monitoring/src/webapp/.babelrc b/gui-pdp-monitoring/src/webapp/.babelrc
deleted file mode 100644
index 0639bf7..0000000
--- a/gui-pdp-monitoring/src/webapp/.babelrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "presets": [
- "@babel/preset-env"
- ]
-} \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/.gitignore b/gui-pdp-monitoring/src/webapp/.gitignore
deleted file mode 100644
index 0b898ee..0000000
--- a/gui-pdp-monitoring/src/webapp/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-node_modules/
-node/
-dist/bundle.js
-coverage/
-reports/ \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/dist/css/interfaceAssets.css b/gui-pdp-monitoring/src/webapp/dist/css/interfaceAssets.css
deleted file mode 100644
index 8123245..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/css/interfaceAssets.css
+++ /dev/null
@@ -1,3453 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-@charset "utf-8";
-
-html {
- position: relative;
- font-family: Arial, Helvetica, sans-serif;
- font-size: 10px !important;
- line-height: 10px !important;
- margin: 0;
- padding: 0;
- width: 100%;
- height: 100%;
-}
-
-body {
- font-size: 1.6rem;
- line-height: 1.2rem;
- color: #333333;
- background-color: #ffffff;
- margin: 0;
- padding: 0;
-}
-
-*:focus, .ebInput:focus, .ebIcon:focus, .ebCheckbox:focus+.ebCheckbox-inputStatus:after,
- .ebRadioBtn:focus+.ebRadioBtn-inputStatus:after, textarea:focus, button:focus,
- i:focus {
- /**
- * FF outline do not looks same as Chrome so adding box shadow
- * FF outline is not working as expected
- **/
- /*
- * one way of outline
- outline: #4d90fe auto 5px;
- box-shadow: 0 0 0 1px #4d90fe;
- -webkit-box-shadow: none;
- */
- outline: none; //
- box-shadow: 0 0 2px 1px #FFFFFF;
-}
-
-h1, h2, h3, h4, h5, h6 {
- color: #4d4d4d;
- font-weight: bold;
-}
-
-h1 {
- line-height: 3.2rem;
- font-size: 3.2rem;
- font-weight: normal;
- padding: 0.6rem 0;
- margin: 0 0 0.6rem 0;
-}
-
-h2 {
- border-bottom: #000000 solid 1px;
- line-height: 2.0rem;
- font-size: 2.0rem;
- font-weight: normal;
- padding: 1.2rem 0 0.7rem 0;
- margin: 0 0 0.4rem 0;
-}
-
-h3 {
- border-bottom: #7f7f7f solid 1px;
- line-height: 1.6rem;
- font-size: 1.6rem;
- padding: 1.2rem 0 0.7rem 0;
- margin: 0 0 0.4rem 0;
- font-weight: normal;
- color: #333333;
-}
-
-h4 {
- border-bottom: #b2b2b2 solid 1px;
- line-height: 1.2rem;
- font-size: 1.2rem;
- padding: 0.6rem 0;
- margin: 0 0 0.6rem 0;
- font-weight: bold;
- color: #333333;
-}
-
-.ebLayout-SectionSubheading h3 {
- float: left;
- margin: 0;
- border-bottom: none;
-}
-
-/* System Bar */
-.ebSystemBar {
- position: relative;
- width: 100%;
- height: 40px;
- border-top: 4px solid #0066b3;
- background-image: linear-gradient(180deg, #ffffff 0%, #f4f4f4 100%);
- box-shadow: 0 1px 2px #D2D2D2;
-}
-
-.ebSystemBar::before {
- position: absolute;
- top: -4px;
- left: 0;
- width: 100%;
- height: 4px;
- content: "";
- font-size: 0;
- background: #0066b3;
- background: -o-linear-gradient(left, #a2c517 10%, #009046 30%, #0082b6 50%, #151f77
- 75%, #db0050 100%);
- background: -moz-linear-gradient(left, #a2c517 10%, #009046 30%, #0082b6 50%,
- #151f77 75%, #db0050 100%);
- background: -webkit-linear-gradient(left, #a2c517 10%, #009046 30%, #0082b6 50%,
- #151f77 75%, #db0050 100%);
- background: -ms-linear-gradient(left, #a2c517 10%, #009046 30%, #0082b6 50%, #151f77
- 75%, #db0050 100%);
- background: -webkit-gradient(linear, left top, right top, color-stop(0.1, #a2c517),
- color-stop(0.3, #009046), color-stop(0.5, #0082b6),
- color-stop(0.75, #151f77), color-stop(1, #db0050));
- background: linear-gradient(left, #a2c517 10%, #009046 30%, #0082b6 50%, #151f77 75%
- , #db0050 100%);
-}
-
-.ebSystemBar-logo {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- height: 40px;
- width: 20px;
- padding: 0 10px;
- background: url('../resources/systemBar/econ01.svg') no-repeat center
- center transparent;
- background-size: 20px;
-}
-
-.ebSystemBar-topMenuName {
- display: inline-block;
- padding: 0 5px 0 40px;
- margin: 0;
- line-height: 40px;
- font-size: 20px;
- color: #58585A;
-}
-
-.ebSystemBar-topMenu {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 50px;
- list-style: none;
- height: 40px;
- margin: 0;
- padding: 0;
-}
-
-.ebSystemBar-topMenu li {
- display: inline-block;
-}
-
-.ebSystemBar-topMenu a {
- padding: 0 5px 0 15px;
- margin: 0;
- font-size: 1.6em;
- line-height: 40px;
- color: #58585a;
- cursor: pointer;
- text-decoration: none;
-}
-
-.ebSystemBar-topMenu a:hover {
- color: #0066B3;
-}
-
-.ebSystemBar-rightButton {
- float: right;
- display: inline-block;
- line-height: 40px;
- vertical-align: middle;
-}
-
-.ebSystemBar-rightButton a {
- display: block;
- padding: 0 18px 0 18px;
- font-size: 1.3rem;
- color: #0066B3;
- background-color: transparent;
- background-repeat: no-repeat;
- background-position: 18px center;
- border-left: solid 1px #D2D2D2;
-}
-
-.ebSystemBar-rightButton a:hover {
- text-decoration: underline;
-}
-
-.ebSystemBar-rightButton:hover {
- background-image: linear-gradient(180deg, #f2f2f2 0%, #e8e8e8 100%);
-}
-
-@media screen and (max-width: 640px) {
- .ebSystemBar-topBar-rightButton a {
- width: 0;
- padding-left: 34px;
- text-indent: -9999px;
- }
-}
-
-/* Inline Message */
-.ebInlineMessage {
- padding: 5px 15px 0px 7px;
- font-size: 0;
- position: fixed;
- bottom: 0;
- left: 2;
- width: calc(100% - 30px);
- height: 66px;
- border: 3px solid #adadad;
- background-color: #FFFFFF;
-}
-
-.ebInlineMessage-iconHolder, .ebInlineMessage-contentHolder {
- display: inline-block;
- vertical-align: top;
-}
-
-.ebInlineMessage-iconHolder {
- width: 20px;
- margin: 0 12px 0 0;
-}
-
-.ebInlineMessage-contentHolder {
- width: calc(100% - 32px);
- font-size: 1.2rem;
-}
-
-.ebInlineMessage-header {
- margin-top: 3px;
- font-size: 14px;
- line-height: 14px;
-}
-
-.ebInlineMessage-separator {
- height: 1px;
- margin: 12px 0;
- background-color: #adadad;
- opacity: 0.3;
-}
-
-.ebInlineMessage-description {
- color: #666666;
- white-space: pre;
-}
-
-/* Table */
-.ebTable {
- margin: 0;
- padding: 0;
- table-layout: fixed;
- border-left: 1px solid #cccccc; //
- ewatkmi: added for visible border;
- border-right: 1px solid #cccccc; //
- ewatkmi: added for visible border;
- border-bottom: 1px solid #cccccc; //
- ewatkmi: added for visible border;
- border-collapse: collapse;
- border-spacing: 0;
- color: #1a1a1a;
-}
-
-.ebTable_fullW {
- width: 100%;
-}
-
-.ebTable-th_resizable, .ebTable-th_sortable {
- position: relative;
-}
-
-.ebTable-th_resizable .ebTable-headerResize {
- position: absolute;
- top: -20px;
- bottom: -20px;
- right: -12px;
- width: 10px;
- cursor: col-resize;
- -khtml-user-select: none;
- -moz-user-select: none;
- -o-user-select: none;
- -webkit-user-select: none;
- user-select: none;
-}
-
-.ebTable-th_sortable {
- cursor: pointer !important;
-}
-
-.ebTable-th_sortable .ebTable-header {
- display: flex;
- flex-wrap: nowrap;
- flex-direction: row;
- align-items: center;
-}
-
-.ebTable-th_sortable .ebTable-headerText {
- flex-shrink: 1;
- flex-grow: 0;
- margin-right: 8px;
- box-sizing: border-box;
- -khtml-user-select: none;
- -moz-user-select: none;
- -o-user-select: none;
- -webkit-user-select: none;
- user-select: none;
-}
-
-.ebTable-th_sortable .ebTable-headerSort {
- flex-grow: 0;
- flex-shrink: 0;
- flex-basis: 10px;
- margin-left: 4px;
-}
-
-.ebTable-th_sortable .ebTable-headerSortOrder {
- flex-grow: 1;
- color: #999999;
- font-weight: normal;
-}
-
-.ebTable-header {
- position: relative;
- display: block;
- width: 100%;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.ebTable-headerText {
- padding: 4px 0;
- display: inline-block;
- vertical-align: middle;
- width: 100%;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-.ebTable thead tr {
- height: 3.2rem;
- font-size: 1.2rem;
- font-weight: bold;
- text-align: left;
-}
-
-.ebTable thead tr th {
- padding-left: 1.2rem;
- padding-right: 1.2rem;
- text-align: left;
- cursor: default;
- border-top: #cccccc solid 1px;
- border-bottom: #cccccc solid 1px;
- border-right: #e6e6e6 solid 1px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.ebTable thead tr th:last-child {
- border-right: none;
-}
-
-.ebTable thead tr:hover {
- background: none;
-}
-
-.ebTable thead tr:active {
- background: none;
-}
-
-.ebTable tbody tr {
- height: 3.2rem;
- font-size: 1.2rem;
- border-bottom: #e6e6e6 solid 1px;
-}
-
-.ebTable tbody tr td {
- margin: 0;
- padding: 0 1.2rem;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- cursor: default;
- border-right: #e6e6e6 solid 1px;
-}
-
-.ebTable tbody tr td:last-child {
- border-right: none;
-}
-
-.ebTable_striped tbody tr {
- border-bottom: none;
-}
-
-.ebTable_striped tbody tr td {
- border-right: none;
-}
-
-.ebTable_striped tbody tr:nth-of-type(even) {
- background-color: #f2f2f2;
-}
-
-.ebTable_striped tbody tr:nth-of-type(odd) { //
- ewatkmi: added for nested tables;
- background-color: #ffffff;
-}
-
-.ebTable_compact tbody tr {
- height: 2.6rem;
-}
-
-.ebTable_expandableStriped {
- border-collapse: separate;
-}
-
-.ebTable_expandableStriped tbody tr {
- border-bottom: none;
-}
-
-.ebTable_expandableStriped tbody tr td {
- border-right: none;
-}
-
-.ebTable_expandableStriped tbody tr:nth-of-type(4n-1),
- .ebTable_expandableStriped tbody tr:nth-of-type(4n) {
- background-color: #f2f2f2;
-}
-
-.ebTable_pinstripe tr td {
- border-bottom: #e6e6e6 solid 1px;
-}
-
-.ebTable_color_paleBlue.ebTable thead tr th {
- background-color: #99ddee;
- border-top: none;
- border-bottom: none;
-}
-
-.ebTable_color_paleBlue.ebTable_striped tbody tr:nth-of-type(even) {
- background-color: #e6f6fb;
-}
-
-.ebTable_color_purple.ebTable thead tr th {
- background-color: #ca9bc1;
- border-top: none;
- border-bottom: none;
-}
-
-.ebTable_color_purple.ebTable_striped tbody tr:nth-of-type(even) {
- background-color: #f2e6ef;
-}
-
-.ebTable_color_darkGreen.ebTable thead tr th {
- background-color: #99c0bf;
- border-top: none;
- border-bottom: none;
-}
-
-.ebTable_color_darkGreen.ebTable_striped tbody tr:nth-of-type(even) {
- background-color: #e6efef;
-}
-
-.ebTable_color_green.ebTable thead tr th {
- background-color: #d0e3a2;
- border-top: none;
- border-bottom: none;
-}
-
-.ebTable_color_green.ebTable_striped tbody tr:nth-of-type(even) {
- background-color: #f3f8e8;
-}
-
-.ebTable_color_yellow.ebTable thead tr th {
- background-color: #fde499;
- border-top: none;
- border-bottom: none;
-}
-
-.ebTable_color_yellow.ebTable_striped tbody tr:nth-of-type(even) {
- background-color: #fff8e6;
-}
-
-.ebTable_color_orange.ebTable thead tr th {
- background-color: #f9d099;
- border-top: none;
- border-bottom: none;
-}
-
-.ebTable_color_orange.ebTable_striped tbody tr:nth-of-type(even) {
- background-color: #fef3e6;
-}
-
-.ebTable_color_red.ebTable thead tr th {
- background-color: #f4a6a3;
- border-top: none;
- border-bottom: none;
-}
-
-.ebTable_color_red.ebTable_striped tbody tr:nth-of-type(even) {
- background-color: #fce9e8;
-}
-
-.ebTable_borderTop_none thead tr th {
- border-top: none;
-}
-
-.ebTable_verticalBorders_none thead tr th, .ebTable_verticalBorders_none tr td
- {
- border-right: none !important;
- border-left: none !important;
-}
-
-.ebTable_wrapHeaders th {
- white-space: normal !important;
- text-overflow: inherit !important;
-}
-
-.ebTable_wrapHeaders th .ebTable-headerText {
- white-space: normal !important;
- text-overflow: inherit !important;
-}
-
-.ebTable-expandableRow {
- height: inherit !important;
- display: none;
-}
-
-.ebTable-expandableRow_expanded {
- display: table-row;
-}
-
-.ebTable-expandableRow>td {
- padding: 0 !important;
-}
-
-.ebTable-expandableRow>td>div {
- overflow: hidden;
- height: 0;
- transition: height 0.3s ease-in-out;
-}
-/**
- * Hover/Active/Selected Effects
- *
- * Modifiers:
- * .ebTable_hoverActive_none (disables native hover and active selectors, primarily for pin columns plugin)
- */
-.ebTable {
- /** Hover effect **/
-}
-
-.ebTable.ebTable:not (.ebTable_hoverActive_none ) tbody tr:not (.ebTable-expandableRow
- ):not (.headerRow ):hover>*, .ebTable tbody tr:not (.ebTable-expandableRow
- ):not (.headerRow ).ebTableRow_hover>* {
- background-image: linear-gradient(0deg, rgba(0, 102, 179, 0.1),
- rgba(0, 102, 179, 0.1));
-}
-
-.ebTable.ebTable_highlightedEffect_solid tbody tr:not (.ebTable-expandableRow
- ).ebTableRow_highlighted>* {
- background-color: #ffffff !important;
-}
-
-/* Context Menu */
-.ebContextMenu {
- position: relative;
- width: 16px;
- height: 16px;
-}
-
-.ebContextMenu:focus {
- outline: none;
-}
-
-.ebContextMenu-ExpandBtn, .ebContextMenu-expandBtn {
- width: 16px;
- height: 16px;
- position: relative;
- -khtml-user-select: none;
- -moz-user-select: none;
- -o-user-select: none;
- -webkit-user-select: none;
- user-select: none;
-}
-
-.ebContextMenu-ExpandBtn:focus, .ebContextMenu-expandBtn:focus {
- outline: none;
-}
-
-.ebContextMenu-Dropdown, .ebContextMenu-body {
- position: absolute;
- z-index: 1500;
- min-width: 60px;
- width: auto;
- height: auto;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- -khtml-user-select: none;
- -moz-user-select: none;
- -o-user-select: none;
- -webkit-user-select: none;
- user-select: none;
- box-shadow: 5px 5px 5px #87888A;
-}
-
-.ebContextMenu-Dropdown_corner_default,
- .ebContextMenu-body_corner_default {
- position: absolute;
- top: 20px;
- left: 0px;
-}
-
-.ebContextMenu-Dropdown_corner_topRight,
- .ebContextMenu-body_corner_topRight {
- position: absolute;
- top: 20px;
- right: 0px;
-}
-
-.ebContextMenu-Dropdown_corner_bottomLeft,
- .ebContextMenu-body_corner_bottomLeft {
- position: absolute;
- bottom: 20px;
- left: 0px;
-}
-
-.ebContextMenu-Dropdown_corner_bottomRight,
- .ebContextMenu-body_corner_bottomRight {
- position: absolute;
- bottom: 20px;
- right: 0px;
-}
-
-.ebContextMenu-Dropdown_visible_false, .ebContextMenu-body_visible_false
- {
- visibility: hidden;
-}
-
-.ebContextMenu-Dropdown_visible_true, .ebContextMenu-body_visible_true {
- display: block;
-}
-
-/* Component List */
-.ebComponentList {
- position: relative;
- z-index: 1500;
- padding: 4px 0;
- margin: 0;
- color: #333333;
- list-style: none;
- background-color: #ffffff;
- border: #bfbfbf solid 1px;
- box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
- border-radius: 3px;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.ebComponentList-group, .ebComponentList-item {
- padding: 0 0.8rem;
- line-height: 2.4rem;
- font-size: 1.2rem;
- background-color: #ffffff;
-}
-
-.ebComponentList-iconHolder {
- display: inline-block;
- vertical-align: middle;
- width: 16px;
- padding-right: 8px;
-}
-
-.ebComponentList-item {
- cursor: pointer;
-}
-
-.ebComponentList-item-name {
- display: inline-block;
- font-size: 12px;
- text-overflow: ellipsis;
- overflow: hidden;
- width: calc(100% - 24px);
- vertical-align: middle;
-}
-
-.ebComponentList-item_icon {
- font-size: 0;
-}
-
-.ebComponentList-link, .ebComponentList-item, .ebComponentList-item>*,
- .ebComponentList-group-header {
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
-}
-
-.ebComponentList-group {
- display: block;
-}
-
-.ebComponentList-group_expandable_collapsed>.ebComponentList-group-header,
- .ebComponentList-group_expandable_expanded>.ebComponentList-group-header
- {
- font-size: 0;
- cursor: pointer;
- white-space: nowrap;
- height: 24px;
- vertical-align: middle;
-}
-
-.ebComponentList-group_expandable_collapsed>.ebComponentList-group-header .ebComponentList-iconHolder+.ebComponentList-group-name,
- .ebComponentList-group_expandable_expanded>.ebComponentList-group-header .ebComponentList-iconHolder+.ebComponentList-group-name
- {
- width: calc(100% - 40px);
-}
-
-.ebComponentList-group_expandable_collapsed>.ebComponentList-inner,
- .ebComponentList-group_expandable_expanded>.ebComponentList-inner {
- padding: 0 0 0 24px;
- margin: 0 -0.8rem;
-}
-
-.ebComponentList-group_expandable_collapsed>.ebComponentList-group-header
- {
- border: none;
-}
-
-.ebComponentList-group_expandable_collapsed>.ebComponentList-inner .ebComponentList-item
- {
- overflow: hidden;
- padding: 0;
- margin: 0;
- height: 0;
- opacity: 0;
- transition: height 0.2s linear, padding 0.075s 0.075s linear, margin
- 0.075s 0.075s linear, opacity 0.075s linear;
-}
-
-.ebComponentList-group_expandable_collapsed>.ebComponentList-inner .ebComponentList-group_expandable_collapsed .ebComponentList-group-header,
- .ebComponentList-group_expandable_collapsed>.ebComponentList-inner .ebComponentList-group_expandable_expanded .ebComponentList-group-header
- {
- overflow: hidden;
- padding: 0;
- margin: 0;
- height: 0;
- opacity: 0;
- transition: height 0.2s linear, padding 0.075s 0.075s linear, margin
- 0.075s 0.075s linear, opacity 0.075s linear;
-}
-
-.ebComponentList-group_expandable_collapsed>.ebComponentList-inner .ebComponentList-group>.ebComponentList-inner
- {
- padding: 0;
- margin: 0;
- transition: padding 0.1s 0.1s linear, margin 0.1s 0.1s linear;
-}
-
-.ebComponentList-group_expandable_expanded>.ebComponentList-group-header
- {
- border-bottom: 1px solid #999;
-}
-
-.ebComponentList-group_expandable_expanded>.ebComponentList-inner>.ebComponentList-item
- {
- overflow: hidden;
- height: 24px;
- transition: height 0.2s linear, padding 0.075s linear, margin 0.075s
- linear, opacity 0.15s 0.15s linear;
-}
-
-.ebComponentList-group_expandable_expanded>.ebComponentList-inner>.ebComponentList-group_expandable_expanded>.ebComponentList-group-header,
- .ebComponentList-group_expandable_expanded>.ebComponentList-inner>.ebComponentList-group_expandable_collapsed>.ebComponentList-group-header
- {
- overflow: hidden;
- height: 24px;
- text-overflow: ellipsis;
- transition: height 0.2s linear, padding 0.075s linear, margin 0.075s
- linear, opacity 0.15s 0.15s linear;
-}
-
-.ebComponentList-group:not (.ebComponentList-group_expandable_collapsed
- ):not (.ebComponentList-group_expandable_expanded ) >.ebComponentList-group-header
- {
- cursor: default !important;
- pointer-events: none !important;
- -ms-touch-action: none !important;
- touch-action: none !important;
- -khtml-user-select: none !important;
- -moz-user-select: none !important;
- -o-user-select: none !important;
- -webkit-user-select: none !important;
- user-select: none;
-}
-
-.ebComponentList-group-header {
- font-size: 1.2rem;
- font-weight: bold;
- line-height: 2.4rem;
- border-bottom: 1px solid #999;
- background-color: #ffffff;
-}
-
-.ebComponentList-group-header_icon {
- font-size: 0;
-}
-
-.ebComponentList-group-header_icon>.ebComponentList-group-name {
- width: calc(100% - 24px);
-}
-
-.ebComponentList-group-name {
- display: inline-block;
- width: calc(100% - 16px);
- font-size: 1.2rem;
- line-height: 2.4rem;
- font-weight: bold;
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
- vertical-align: middle;
-}
-
-.ebComponentList-inner {
- margin: 0 -0.8rem;
- padding: 4px 0 0 0;
-}
-
-.ebComponentList-link {
- display: block;
-}
-
-.ebComponentList-link:hover {
- text-decoration: none;
-}
-
-.ebComponentList-separator {
- height: 1px;
- margin: 0.4rem;
- background-color: #E6E6E6;
-}
-
-.ebComponentList_focus_forced .ebComponentList-item:hover {
- background-color: transparent;
-}
-
-.ebComponentList_focus_forced .ebComponentList-item_focused:hover {
- background-color: #e6f0f7;
-}
-
-.ebComponentList:not (.ebComponentList_focus_forced ) .ebComponentList-item:hover
- {
- background-color: #e6f0f7;
-}
-
-.ebComponentList_focus_forced .ebComponentList-item:active,
- .ebComponentList:not (.ebComponentList_focus_forced ) .ebComponentList-item:active
- {
- background-color: #cce0f0;
-}
-
-.ebComponentList-item {
- /* Fixes MultiSelectBox ellipsis bug in Firefox */
- margin: 0px !important;
- font-size: 1em !important;
-}
-
-.ebComponentList-item_focused {
- background-color: #e6f0f7;
-}
-
-.ebComponentList-item_disabled {
- color: #b0b0af;
- cursor: not-allowed !important;
-}
-
-.ebComponentList-item_disabled:hover, .ebComponentList-item_disabled:active
- {
- background-color: inherit !important;
-}
-
-.ebComponentList-item_selected {
- position: relative;
- cursor: default;
-}
-
-.ebComponentList-item_selected>.ebComponentList-link {
- cursor: default;
- color: #333333;
- cursor: default !important;
- pointer-events: none !important;
- -ms-touch-action: none !important;
- touch-action: none !important;
- -khtml-user-select: none !important;
- -moz-user-select: none !important;
- -o-user-select: none !important;
- -webkit-user-select: none !important;
- user-select: none;
-}
-
-.ebComponentList-item_selected:before {
- position: absolute;
- content: "";
- left: 0;
- top: 0;
- bottom: 0;
- width: 100%;
- opacity: .2;
- background-color: #0967b2;
-}
-
-.ebComponentList-item>.ebComponentList-checkboxHolder>.ebCheckbox {
- margin-left: 1px;
-}
-
-.ebComponentList-item>.ebComponentList-checkboxHolder>.ebCheckbox-label
- {
- padding-left: 3px;
- overflow: hidden;
- font-size: 12px;
- line-height: 2.4rem;
- text-overflow: ellipsis;
- width: calc(100% - 24px);
-}
-
-.ebComponentList-info {
- color: #333333;
- font-style: italic;
- text-align: center;
-}
-
-.ebComponentList-info:hover {
- background-color: #ffffff;
-}
-
-.ebComponentList-info:active {
- background-color: #ffffff;
-}
-
-.ebComponentList-info, .ebComponentList-loader {
- display: none;
- margin: 0.6rem;
- cursor: default;
-}
-
-.ebComponentList_info .ebComponentList-group, .ebComponentList_info .ebComponentList-separator,
- .ebComponentList_info .ebComponentList-item {
- display: none;
-}
-
-.ebComponentList_info .ebComponentList-info {
- display: block;
-}
-
-.ebComponentList_loading {
- min-height: 34px;
-}
-
-.ebComponentList_loading .ebComponentList-loader {
- display: block;
-}
-
-.ebComponentList_loading .ebComponentList-item_selected:before {
- display: none;
-}
-
-.ebComponentList_loading>.ebComponentList-group,
- .ebComponentList_loading>.ebComponentList-item,
- .ebComponentList_loading>.ebComponentList-items>.ebComponentList-group,
- .ebComponentList_loading>.ebComponentList-items>.ebComponentList-item {
- opacity: 0.4;
-}
-
-/* Scrollbar */
-.eb_scrollbar {
- -webkit-overflow-scrolling: touch;
- overflow: auto;
-}
-
-.eb_scrollbar::-webkit-scrollbar {
- width: 14px;
- height: 14px;
-}
-
-.eb_scrollbar::-webkit-scrollbar-track {
- background-color: #f0f0f0;
- background-clip: content-box;
-}
-
-.eb_scrollbar::-webkit-scrollbar-thumb {
- background-color: #cccccc;
- border-radius: 3px;
- transition: all 0.2s linear;
- background-clip: content-box;
-}
-
-.eb_scrollbar::-webkit-scrollbar-thumb:hover {
- background-color: #999999;
-}
-
-.eb_scrollbar::-webkit-scrollbar-button {
- width: 14px;
- height: 14px;
- background-repeat: no-repeat;
- background-color: #f0f0f0;
- background-position: center;
-}
-
-.eb_scrollbar::-webkit-scrollbar-button:hover {
- background-color: #cccccc;
-}
-
-.eb_scrollbar::-webkit-scrollbar-button:vertical:decrement {
- background-position: center 4px;
- background-image:
- url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='8px' height='5px' viewBox='0 0 8 5' enable-background='new 0 0 8 5' xml:space='preserve'><path fill='#333333' d='M0.293,3.293l3-3C3.488,0.098,3.744,0,4,0s0.512,0.098,0.707,0.293l3,3c0.391,0.391,0.391,1.023,0,1.414 s-1.023,0.391-1.414,0L4,2.414L1.707,4.707c-0.391,0.391-1.023,0.391-1.414,0S-0.098,3.684,0.293,3.293z'/></svg>");
- border-top-left-radius: 2px;
- border-top-right-radius: 2px;
-}
-
-.eb_scrollbar::-webkit-scrollbar-button:vertical:increment {
- background-image:
- url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='8px' height='5px' viewBox='0 0 8 5' enable-background='new 0 0 8 5' xml:space='preserve'><path fill='#333333' d='M7.707,1.707l-3,3C4.512,4.902,4.255,5,4,5S3.488,4.902,3.292,4.707l-3-3c-0.391-0.391-0.391-1.023,0-1.414 s1.023-0.391,1.414,0L4,2.586l2.293-2.293c0.391-0.391,1.023-0.391,1.414,0S8.098,1.316,7.707,1.707z'/></svg>");
- border-bottom-left-radius: 2px;
- border-bottom-right-radius: 2px;
-}
-
-.eb_scrollbar::-webkit-scrollbar-button:horizontal:decrement {
- background-position: 4px center;
- background-image:
- url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='5px' height='8px' viewBox='0 0 5 8' enable-background='new 0 0 5 8' xml:space='preserve'><defs></defs><path fill='#333333' d='M4.707,6.293c0.391,0.391,0.391,1.023,0,1.414C4.512,7.902,4.256,8,4,8S3.488,7.902,3.293,7.707l-3-3 C0.105,4.52,0,4.266,0,4s0.105-0.52,0.293-0.707l3-3c0.391-0.391,1.023-0.391,1.414,0c0.391,0.39,0.391,1.023,0,1.414L2.414,4 L4.707,6.293z'/></svg>");
- border-bottom-left-radius: 2px;
- border-top-left-radius: 2px;
-}
-
-.eb_scrollbar::-webkit-scrollbar-button:horizontal:increment {
- background-image:
- url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='5px' height='8px' viewBox='0 0 5 8' enable-background='new 0 0 5 8' xml:space='preserve'><defs></defs><path fill='#333333' d='M0.293,1.707c-0.391-0.391-0.391-1.023,0-1.414C0.488,0.098,0.744,0,1,0s0.512,0.098,0.707,0.293l3,3 C4.895,3.48,5,3.734,5,4s-0.105,0.52-0.293,0.707l-3,3c-0.391,0.391-1.023,0.391-1.414,0s-0.391-1.023,0-1.414L2.586,4L0.293,1.707z'/></svg>");
- border-bottom-right-radius: 2px;
- border-top-right-radius: 2px;
-}
-
-/* Input */
-.ebInput {
- display: inline-block;
- vertical-align: middle;
- text-align: left;
- font-size: 1.2rem;
- width: 140px;
- height: 2.4rem;
- padding: 0.4rem 0.6rem;
- border: 1px solid #b3b3b3;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border-radius: 3px;
- box-shadow: inset 1px 1px 0 0 #cccccc;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- appearance: none;
-}
-
-.ebInput_wMargin {
- margin: 6px;
-}
-
-.ebInput_txtCenter {
- text-align: center;
-}
-
-.ebInput_miniW, .ebInput_width_mini {
- width: 40px;
-}
-
-.ebInput_smallW, .ebInput_width_small {
- width: 80px;
-}
-
-.ebInput_longW, .ebInput_width_long {
- width: 180px;
-}
-
-.ebInput_xLongW, .ebInput_width_xLong {
- width: 220px;
-}
-
-.ebInput_width_full {
- min-width: 40px;
- width: 100%;
-}
-
-.ebInput_noRightSide {
- border-width: 1px 0 1px 1px;
- border-radius: 3px 0 0 3px;
-}
-
-.ebInput_noLeftSide {
- border-width: 1px 1px 1px 0;
- border-radius: 0 3px 3px 0;
- box-shadow: inset 0 1px 0 0 #cccccc;
-}
-
-.ebInput:hover {
- border-color: #666666;
-}
-
-.ebInput[readonly] {
- cursor: text; //
- box-shadow: none;
- border-color: #E3E3E3;
- background-color: #f0f0f0;
- color: #b2b2b2;
-}
-
-.ebInput[readonly]:hover { //
- border-color: #E3E3E3;
-}
-
-.ebInput_disabled, .ebInput:disabled {
- color: #B2B2B2;
- border-color: #B2B2B2;
- background-color: rgba(0, 0, 0, 0.05);
- -webkit-text-fill-color: #b2b2b2;
- opacity: 1;
- -ms-touch-action: none !important;
- touch-action: none !important;
- box-shadow: inset 1px 1px 0 0 #cccccc;
-}
-
-.ebInput_borderColor {
- border-color: #b3b3b3;
-}
-
-.ebInput_borderColor_red {
- border-color: #e32119;
-}
-
-.ebInput_status_none {
- border-color: #b3b3b3;
-}
-
-.ebInput_status_warning {
- border-color: #f08a00;
-}
-
-.ebInput_status_error {
- border-color: #e32119;
-}
-
-.ebInput.eb_wMargin+.ebInput-status {
- margin: -0.2rem 0.8rem 0 0.6rem;
-}
-
-.ebInput-status {
- display: block;
- margin: 0.4rem 0 0 0;
- line-height: 1.2rem;
- min-height: 1.8rem;
- font-size: 1.2rem;
- font-weight: normal;
-}
-
-.ebInput-statusOk, .ebInput-statusError {
- vertical-align: middle;
-}
-
-.ebInput-statusOk:before, .ebInput-statusError:before {
- display: inline-block;
- vertical-align: middle;
- margin: 0 0.6rem 0 0;
- width: 1.2rem;
- height: 1.2rem;
- content: '';
- background-repeat: no-repeat;
-}
-
-.ebInput-statusInfo {
- vertical-align: middle;
- color: #8d8d8d;
-}
-
-.ebInput-statusOk {
- color: #89ba17;
- display: none;
-}
-
-.ebInput-statusOk:before {
- background-image: url('../resources/form/valid_icon.svg');
-}
-
-.ebInput-statusError {
- color: #e32119;
- display: none;
-}
-
-.ebInput-statusError:before {
- background-image: url('../resources/form/invalid_icon.svg');
-}
-
-.ebInput-status_none {
- display: none;
-}
-
-.ebInput-status_hide .ebInput-statusOk, .ebInput-status_hide .ebInput-statusError,
- .ebInput-status_hide .ebInput-statusInfo {
- display: none;
-}
-
-.ebInput-status_info .ebInput-statusInfo {
- display: inline-block;
-}
-
-.ebInput-status_info .ebInput-statusOk, .ebInput-status_info .ebInput-statusError
- {
- display: none;
-}
-
-.ebInput-status_ok .ebInput-statusOk {
- display: inline-block;
-}
-
-.ebInput-status_ok .ebInput-statusError, .ebInput-status_ok .ebInput-statusInfo
- {
- display: none;
-}
-
-.ebInput-status_error .ebInput-statusError {
- display: inline-block;
-}
-
-.ebInput-status_error .ebInput-statusOk, .ebInput-status_error .ebInput-statusInfo
- {
- display: none;
-}
-
-.ebInput:not (.ebInput_validation_focusLost ):valid+.ebInput-status:not
- (.ebInput-status_hide ):not (.ebInput-status_info ):not (.ebInput-status_ok
- ):not (.ebInput-status_error ) .ebInput-statusOk {
- display: inline-block;
-}
-
-.ebInput:not (.ebInput_validation_focusLost ):invalid:not (.ebInput_borderColor
- ):not (.ebInput_status_warning ):not (.ebInput_status_none ) {
- border-color: #e32119;
-}
-
-.ebInput:not (.ebInput_validation_focusLost ):invalid+.ebInput-status:not
- (.ebInput-status_hide ):not (.ebInput-status_info ):not (.ebInput-status_ok
- ):not (.ebInput-status_error ) .ebInput-statusError {
- display: inline-block;
-}
-
-.ebInput:not (.ebInput_validation_focusLost ):invalid+.ebInput-status:not
- (.ebInput-status_hide ):not (.ebInput-status_info ):not (.ebInput-status_ok
- ):not (.ebInput-status_error ) .ebInput-statusInfo {
- display: none;
-}
-
-.ebInput.ebInput_validation_focusLost:not (:focus ):valid+.ebInput-status:not
- (.ebInput-status_hide ):not (.ebInput-status_info ):not (.ebInput-status_ok
- ):not (.ebInput-status_error ) .ebInput-statusOk {
- display: inline-block;
-}
-
-.ebInput.ebInput_validation_focusLost:not (:focus ):invalid:not (.ebInput_borderColor
- ):not (.ebInput_status_warning ):not (.ebInput_status_none ) {
- border-color: #e32119;
-}
-
-.ebInput.ebInput_validation_focusLost:not (:focus ):invalid+.ebInput-status:not
- (.ebInput-status_hide ):not (.ebInput-status_info ):not (.ebInput-status_ok
- ):not (.ebInput-status_error ) .ebInput-statusError {
- display: inline-block;
-}
-
-.ebInput.ebInput_validation_focusLost:not (:focus ):invalid+.ebInput-status:not
- (.ebInput-status_hide ):not (.ebInput-status_info ):not (.ebInput-status_ok
- ):not (.ebInput-status_error ) .ebInput-statusInfo {
- display: none;
-}
-
-/* Textarea */
-.ebTextArea {
- -webkit-overflow-scrolling: touch;
- overflow: auto;
- display: inline-block;
- vertical-align: middle;
- text-align: left;
- font-size: 1.2rem;
- width: 140px;
- padding: 0.4rem 0.6rem;
- margin: 0;
- border: 1px solid #b3b3b3;
- font-family: arial;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border-radius: 3px;
- box-shadow: inset 1px 1px 0 0 #cccccc;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- appearance: none;
-}
-
-.ebTextArea::-webkit-scrollbar {
- width: 14px;
- height: 14px;
-}
-
-.ebTextArea::-webkit-scrollbar-track {
- background-color: #f0f0f0;
- background-clip: content-box;
-}
-
-.ebTextArea::-webkit-scrollbar-thumb {
- background-color: #cccccc;
- border-radius: 3px;
- transition: all 0.2s linear;
- background-clip: content-box;
-}
-
-.ebTextArea::-webkit-scrollbar-thumb:hover {
- background-color: #999999;
-}
-
-.ebTextArea::-webkit-scrollbar-button {
- width: 14px;
- height: 14px;
- background-repeat: no-repeat;
- background-color: #f0f0f0;
- background-position: center;
-}
-
-.ebTextArea::-webkit-scrollbar-button:hover {
- background-color: #cccccc;
-}
-
-.ebTextArea::-webkit-scrollbar-button:vertical:decrement {
- background-position: center 4px;
- background-image:
- url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='8px' height='5px' viewBox='0 0 8 5' enable-background='new 0 0 8 5' xml:space='preserve'><path fill='#333333' d='M0.293,3.293l3-3C3.488,0.098,3.744,0,4,0s0.512,0.098,0.707,0.293l3,3c0.391,0.391,0.391,1.023,0,1.414 s-1.023,0.391-1.414,0L4,2.414L1.707,4.707c-0.391,0.391-1.023,0.391-1.414,0S-0.098,3.684,0.293,3.293z'/></svg>");
- border-top-left-radius: 2px;
- border-top-right-radius: 2px;
-}
-
-.ebTextArea::-webkit-scrollbar-button:vertical:increment {
- background-image:
- url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='8px' height='5px' viewBox='0 0 8 5' enable-background='new 0 0 8 5' xml:space='preserve'><path fill='#333333' d='M7.707,1.707l-3,3C4.512,4.902,4.255,5,4,5S3.488,4.902,3.292,4.707l-3-3c-0.391-0.391-0.391-1.023,0-1.414 s1.023-0.391,1.414,0L4,2.586l2.293-2.293c0.391-0.391,1.023-0.391,1.414,0S8.098,1.316,7.707,1.707z'/></svg>");
- border-bottom-left-radius: 2px;
- border-bottom-right-radius: 2px;
-}
-
-.ebTextArea::-webkit-scrollbar-button:horizontal:decrement {
- background-position: 4px center;
- background-image:
- url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='5px' height='8px' viewBox='0 0 5 8' enable-background='new 0 0 5 8' xml:space='preserve'><defs></defs><path fill='#333333' d='M4.707,6.293c0.391,0.391,0.391,1.023,0,1.414C4.512,7.902,4.256,8,4,8S3.488,7.902,3.293,7.707l-3-3 C0.105,4.52,0,4.266,0,4s0.105-0.52,0.293-0.707l3-3c0.391-0.391,1.023-0.391,1.414,0c0.391,0.39,0.391,1.023,0,1.414L2.414,4 L4.707,6.293z'/></svg>");
- border-bottom-left-radius: 2px;
- border-top-left-radius: 2px;
-}
-
-.ebTextArea::-webkit-scrollbar-button:horizontal:increment {
- background-image:
- url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='5px' height='8px' viewBox='0 0 5 8' enable-background='new 0 0 5 8' xml:space='preserve'><defs></defs><path fill='#333333' d='M0.293,1.707c-0.391-0.391-0.391-1.023,0-1.414C0.488,0.098,0.744,0,1,0s0.512,0.098,0.707,0.293l3,3 C4.895,3.48,5,3.734,5,4s-0.105,0.52-0.293,0.707l-3,3c-0.391,0.391-1.023,0.391-1.414,0s-0.391-1.023,0-1.414L2.586,4L0.293,1.707z'/></svg>");
- border-bottom-right-radius: 2px;
- border-top-right-radius: 2px;
-}
-
-.ebTextArea_noMargin {
- margin: 0;
-}
-
-.ebTextArea_txtCenter {
- text-align: center;
-}
-
-.ebTextArea_miniW, .ebTextArea_width_mini {
- width: 40px;
-}
-
-.ebTextArea_smallW, .ebTextArea_width_small {
- width: 80px;
-}
-
-.ebTextArea_longW, .ebTextArea_width_long {
- width: 180px;
-}
-
-.ebTextArea_xLongW, .ebTextArea_width_xLong {
- width: 220px;
-}
-
-.ebTextArea_width_full {
- min-width: 40px;
- width: 100%;
-}
-
-.ebTextArea_noRightSide {
- border-width: 1px 0 1px 1px;
- border-radius: 3px 0 0 3px;
-}
-
-.ebTextArea_noLeftSide {
- border-width: 1px 1px 1px 0;
- border-radius: 0 3px 3px 0;
-}
-
-.ebTextArea:hover {
- border-color: #666666;
-}
-
-.ebTextArea[readonly] {
- cursor: text;
- border-color: #E3E3E3;
- background-color: #f0f0f0;
- color: #b2b2b2;
-}
-
-.ebTextArea[readonly]:hover { //
- border-color: #E3E3E3;
-}
-
-.ebTextArea_disabled, .ebTextArea:disabled {
- color: #B2B2B2;
- border-color: #B2B2B2;
- background-color: rgba(0, 0, 0, 0.05);
- -ms-touch-action: none;
- touch-action: none;
- -webkit-text-fill-color: #b2b2b2;
- opacity: 1;
- box-shadow: inset 1px 1px 0 0 #cccccc;
-}
-
-.ebTextArea_status_none {
- border-color: #b3b3b3;
-}
-
-.ebTextArea_status_warning {
- border-color: #f08a00;
-}
-
-.ebTextArea_status_error {
- border-color: #e32119;
-}
-
-.ebTextArea:invalid:not (.ebTextArea_status_warning ):not (.ebTextArea_status_none
- ) {
- border-color: #e32119;
-}
-
-/* Button */
-.ebBtn {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- color: #333333;
- background-color: #ffffff;
- border: none;
- min-width: 60px;
- box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
- border-radius: 3px;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.1) 100%);
- padding: 0 8px;
- height: 2.4rem;
- font-size: 1.2rem;
- white-space: nowrap;
- text-decoration: none;
- text-align: center;
- cursor: pointer;
-}
-
-a.ebBtn:hover {
- color: #333;
-}
-
-a.ebBtn:focus, a.ebBtn:active, a.ebBtn_active {
- text-decoration: none;
-}
-
-.ebBtn:focus {
- outline: none;
- box-shadow: 0 0 2px 1px #4d90fe, 0 0 0 1px rgba(0, 0, 0, 0.2) inset;
-}
-
-.ebBtn_color_blue, .ebBtn_color_darkBlue, .ebBtn_color_paleBlue,
- .ebBtn_color_darkGreen, .ebBtn_color_green, .ebBtn_color_orange,
- .ebBtn_color_red, .ebBtn_color_purple {
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.3) 100%);
- color: #F0F0F0 !important;
-}
-
-.ebBtn_color_blue:hover, .ebBtn_color_darkBlue:hover,
- .ebBtn_color_paleBlue:hover, .ebBtn_color_darkGreen:hover,
- .ebBtn_color_green:hover, .ebBtn_color_orange:hover, .ebBtn_color_red:hover,
- .ebBtn_color_purple:hover {
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.1) 100%);
-}
-
-.ebBtn_color_blue {
- background-color: #0966b3;
-}
-
-.ebBtn_color_darkBlue {
- background-color: #0066b3;
-}
-
-.ebBtn_color_paleBlue {
- background-color: #00A9D4;
-}
-
-.ebBtn_color_darkGreen {
- background-color: #00625F;
-}
-
-.ebBtn_color_green {
- background-color: #89BA17;
-}
-
-.ebBtn_color_orange {
- background-color: #F08A00;
-}
-
-.ebBtn_color_red {
- background-color: #E32119;
-}
-
-.ebBtn_color_purple {
- background-color: #953882;
-}
-
-.ebBtn_small {
- font-size: 1.1rem;
- padding: 0 6px;
- height: 2rem;
-}
-
-.ebBtn_large {
- font-size: 1.4rem;
- padding: 0 10px;
- height: 3.8rem;
-}
-
-.ebBtn:hover {
- text-decoration: none;
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.15) 100%);
-}
-
-.ebBtn_active, .ebBtn:active, .ebBtn_active:hover {
- text-decoration: none;
- box-shadow: inset 2px 2px 2.5px 0 rgba(0, 0, 0, 0.35), inset 0 0 0 1px
- rgba(0, 0, 0, 0.2);
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%,
- rgba(0, 0, 0, 0.2) 100%);
-}
-
-.ebBtn:disabled, .ebBtn_disabled, .ebBtn:disabled:hover, .ebBtn_disabled:hover,
- .ebBtn:disabled:active, .ebBtn_disabled:active {
- -ms-touch-action: none !important;
- cursor: not-allowed !important;
- touch-action: none !important;
- background: rgba(0, 0, 0, 0.1);
- color: #8d8d8d !important;
-}
-
-.ebBtn:disabled .ebIcon, .ebBtn_disabled .ebIcon {
- opacity: 0.3;
-}
-
-.ebBtn_subtle {
- background-image: none;
- background-color: transparent;
- box-shadow: none;
- min-width: auto;
-}
-
-.ebBtn_subtle:hover {
- background-image: none;
- box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
-}
-
-.ebBtn_subtle:focus {
- box-shadow: 0 0 2px 1px #4d90fe, 0 0 0 1px rgba(0, 0, 0, 0.2) inset;
-}
-
-.ebBtn_subtle:active, .ebBtn_subtle.ebBtn_subtle_active {
- text-decoration: none;
- box-shadow: inset 2px 2px 2.5px 0 rgba(0, 0, 0, 0.35), inset 0 0 0 1px
- rgba(0, 0, 0, 0.2);
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%,
- rgba(0, 0, 0, 0.2) 100%);
-}
-
-.ebBtn_subtle:disabled, .ebBtn_subtle.ebBtn_subtle_disabled,
- .ebBtn_subtle:disabled:hover, .ebBtn_subtle.ebBtn_subtle_disabled:hover,
- .ebBtn_subtle:disabled:active, .ebBtn_subtle.ebBtn_subtle_disabled:active
- {
- background-color: transparent;
- box-shadow: none;
-}
-
-.ebBtn:active:focus, .ebBtn_active:focus {
- box-shadow: inset 2px 2px 2.5px 0 rgba(0, 0, 0, 0.35), inset 0 0 0 1px
- rgba(0, 0, 0, 0.2), 0 0 2px 1px #4d90fe;
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%,
- rgba(0, 0, 0, 0.2) 100%);
-}
-
-/* Combobox */
-.ebCombobox {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- white-space: nowrap;
- margin: 0;
- padding: 0;
- height: 2.4rem;
-}
-
-.ebCombobox_width_full {
- min-width: 70px;
- width: 100%;
-}
-
-.ebCombobox_width_full .ebInput {
- width: calc(100% - 30px);
-}
-
-.ebCombobox-list, .ebCombobox-body {
- position: absolute;
- margin-top: 6px;
- display: none;
- width: 100%;
-}
-
-.ebCombobox-list_rightAlign, .ebCombobox-body_rightAlign {
- right: 0;
-}
-
-.ebCombobox-Helper, .ebCombobox-helper {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- width: 30px;
- /*height: 100%; ewwatkmi: replaced with 2.4rem below*/
- height: 2.4rem;
- cursor: pointer;
- border: 1px solid #999999;
- background-color: #ffffff;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border-radius: 0 3px 3px 0;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- appearance: none;
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.1) 100%);
-}
-
-.ebCombobox-Helper:hover, .ebCombobox-helper:hover {
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.15) 100%);
-}
-
-.ebCombobox-Helper:active, .ebCombobox-helper:active {
- box-shadow: inset 2px 2px 3px 0 rgba(0, 0, 0, 0.35);
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%,
- rgba(0, 0, 0, 0.2) 100%);
-}
-
-.ebCombobox-Helper:disabled, .ebCombobox-helper:disabled {
- border-color: #b2b2b2;
-}
-
-.ebCombobox-Helper:disabled, .ebCombobox-helper:disabled,
- .ebCombobox-Helper:disabled:hover, .ebCombobox-helper:disabled:hover,
- .ebCombobox-Helper:disabled:active, .ebCombobox-helper:disabled:active
- {
- -ms-touch-action: none !important;
- cursor: not-allowed !important;
- touch-action: none !important;
- background: #e5e5e5;
- color: #B2B2B2;
- cursor: not-allowed;
- box-shadow: none;
-}
-
-.ebCombobox-Helper .ebCombobox-iconHolder, .ebCombobox-helper .ebCombobox-iconHolder
- {
- display: inline-block;
- opacity: 0.7;
- cursor: pointer;
- line-height: 2.2rem;
-}
-
-.ebCombobox-Helper .ebCombobox-iconHolder .ebIcon, .ebCombobox-helper .ebCombobox-iconHolder .ebIcon
- {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- margin: auto;
-}
-
-.ebCombobox:hover>.ebCombobox-Helper, .ebCombobox:hover>.ebCombobox-helper
- {
- border-color: #666666;
-}
-
-.ebCombobox
-
-.ebInput
-:focus
-
-~
-.ebCombobox-list
-, /*.ebCombobox .ebInput:focus ~ .ebCombobox-body,*/
-.ebCombobox
-:active
->
-.ebCombobox-list
-, /*.ebCombobox:active > .ebCombobox-body*/
-{
-display
-:
-
-block
-;
-
-
-}
-.ebCombobox>.ebCombobox-list, .ebCombobox>.ebCombobox-body {
- display: none;
-}
-
-.ebCombobox_noMargin {
- margin: 0;
-}
-
-.ebCombobox_disabled, .ebCombobox_disabled *:hover {
- -ms-touch-action: none !important;
- cursor: not-allowed !important;
- touch-action: none !important;
-}
-
-.ebCombobox_disabled .ebCombobox-iconHolder, .ebCombobox_disabled .ebCombobox-iconHolder:hover,
- .ebCombobox_disabled .ebCombobox-iconHolder:active {
- -ms-touch-action: none !important;
- cursor: not-allowed !important;
- touch-action: none !important;
- opacity: 0.3;
-}
-
-.ebCombobox_disabled:hover>.ebCombobox-Helper, .ebCombobox_disabled:hover>.ebCombobox-helper
- {
- border-color: #b2b2b2;
-}
-
-.ebCombobox_disabled:active>.ebCombobox-list, .ebCombobox_disabled:active>.ebCombobox-body
- {
- display: none;
-}
-
-.ebCombobox_disabled .ebInput:focus ~ .ebCombobox-list,
- .ebCombobox_disabled .ebInput:focus ~ .ebCombobox-body {
- display: none;
-}
-
-.ebCombobox_status_warning .ebInput {
- border-color: #f08a00;
-}
-
-.ebCombobox_status_error .ebInput {
- border-color: #e32119;
-}
-
-/* Switcher */
-.ebSwitcher {
- position: relative;
- height: 24px;
- width: 84px;
- display: block;
- overflow: hidden;
- cursor: pointer;
- border: 1px solid #ccc;
- border-radius: 3px;
- -khtml-user-select: none;
- -moz-user-select: none;
- -o-user-select: none;
- -webkit-user-select: none;
- user-select: none;
-}
-
-.ebSwitcher-checkbox {
- display: none;
-}
-
-.ebSwitcher-body {
- position: relative;
- font-size: 0;
- white-space: nowrap;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- transition: left 0.2s linear;
-}
-
-.ebSwitcher-onLabel, .ebSwitcher-switch, .ebSwitcher-offLabel {
- display: inline-block;
- vertical-align: top;
- overflow: hidden;
- height: 100%;
-}
-
-.ebSwitcher-onLabel, .ebSwitcher-offLabel {
- width: calc(100% - 24px);
- line-height: 2.4rem;
- color: white;
- text-align: center;
- font-size: 1.2rem;
-}
-
-.ebSwitcher-onLabel {
- background-color: red;
-}
-
-.ebSwitcher-onLabel2 {
- background-color: #89ba17;
-}
-
-.ebSwitcher-offLabel {
- background-color: #89ba17;
-}
-
-.ebSwitcher-offLabel2 {
- background-color: red;
-}
-
-.ebSwitcher-switch {
- height: 24px;
- width: 24px;
- transition: left 0.2s;
-}
-
-.ebSwitcher-switch::after {
- content: "";
- position: absolute;
- margin: -1px;
- width: 24px;
- height: 24px;
- display: inline-block;
- background: #ffffff;
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.1) 100%);
- border-radius: 3px;
- border: 1px solid rgba(0, 0, 0, 0.2);
-}
-
-.ebSwitcher-checkbox:not (:checked ) +.ebSwitcher-body {
- left: calc(-100% + 24px);
-}
-
-.ebSwitcher:focus {
- /*
- outline: #4d90fe auto 5px;
- box-shadow: 0 0 0 1px #4d90fe;
- -webkit-box-shadow: none;
- */
- outline: none;
- box-shadow: 0 0 2px 1px #4d90fe;
-}
-
-.ebSwitcher_status_warning {
- border-color: #f08a00;
-}
-
-.ebSwitcher_status_error {
- border-color: #e32119;
-}
-
-.ebSwitcher_disabled {
- cursor: not-allowed;
-}
-
-.ebSwitcher_disabled .ebSwitcher-onLabel, .ebSwitcher_disabled .ebSwitcher-offLabel,
- .ebSwitcher_disabled .ebSwitcher-switch::after {
- background-color: #e5e5e5;
- background-image: none;
- color: #8d8d8d;
-}
-
-/* Dropdown */
-.ebDropdown {
- position: relative;
- display: inline-block;
- height: 2.4rem;
- padding: 0;
- margin: 0;
-}
-
-.ebDropdown-list, .ebDropdown-body {
- position: absolute;
- margin-top: 6px;
- display: none;
- min-width: 100%;
-}
-
-.ebDropdown-list_rightAlign, .ebDropdown-body_rightAlign {
- right: 0;
-}
-
-.ebDropdown-Header, .ebDropdown-header {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- height: 100%;
- min-width: 60px;
- margin: 0;
- padding: 6px 8px;
- line-height: 1.2rem;
- font-size: 1.2rem;
- text-align: left;
- text-decoration: none;
- white-space: nowrap;
- color: #333333;
- background-color: #ffffff;
- border: none;
- cursor: pointer;
- box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
- border-radius: 3px;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.1) 100%);
-}
-
-.ebDropdown-Header:hover, .ebDropdown-header:hover {
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%,
- rgba(0, 0, 0, 0.15) 100%);
-}
-
-.ebDropdown-Header:active, .ebDropdown-header:active {
- box-shadow: inset 2px 2px 2.5px 0 rgba(0, 0, 0, 0.35), inset 0 0 0 1px
- rgba(0, 0, 0, 0.2);
- background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%,
- rgba(0, 0, 0, 0.2) 100%);
-}
-
-.ebDropdown-Header .ebDropdown-caption, .ebDropdown-header .ebDropdown-caption
- {
- display: inline-block;
- padding: 0 4px 0 0;
- vertical-align: middle;
- min-width: 27px;
-}
-
-.ebDropdown-Header .ebDropdown-iconHolder, .ebDropdown-header .ebDropdown-iconHolder
- {
- display: inline-block;
- cursor: pointer;
- opacity: 0.7;
-}
-
-.ebDropdown .ebDropdown-Header:focus+.ebDropdown-list, .ebDropdown .ebDropdown-header:focus+.ebDropdown-body,
- .ebDropdown .ebDropdown-Header:active+.ebDropdown-list, .ebDropdown .ebDropdown-header:active+.ebDropdown-body,
- .ebDropdown:focus>.ebDropdown-list, .ebDropdown:focus>.ebDropdown-body,
- .ebDropdown:active>.ebDropdown-list, .ebDropdown:active>.ebDropdown-body
- {
- display: block;
-}
-
-.ebDropdown_disabled .ebDropdown-Header, .ebDropdown_disabled .ebDropdown-header
- {
- background: rgba(0, 0, 0, 0.1);
- color: #B2B2B2;
-}
-
-.ebDropdown_disabled .ebDropdown-Header, .ebDropdown_disabled .ebDropdown-header,
- .ebDropdown_disabled .ebDropdown-Header:hover, .ebDropdown_disabled .ebDropdown-header:hover,
- .ebDropdown_disabled .ebDropdown-Header:active, .ebDropdown_disabled .ebDropdown-header:active
- {
- -ms-touch-action: none !important;
- cursor: not-allowed !important;
- touch-action: none !important;
-}
-
-.ebDropdown_disabled .ebDropdown-Header:hover, .ebDropdown_disabled .ebDropdown-header:hover,
- .ebDropdown_disabled .ebDropdown-Header:active, .ebDropdown_disabled .ebDropdown-header:active
- {
- background: rgba(0, 0, 0, 0.1);
- color: #B2B2B2;
- box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
-}
-
-.ebDropdown_disabled .ebDropdown-Header .ebDropdown-iconHolder,
- .ebDropdown_disabled .ebDropdown-header .ebDropdown-iconHolder,
- .ebDropdown_disabled .ebDropdown-Header .ebDropdown-iconHolder:hover,
- .ebDropdown_disabled .ebDropdown-header .ebDropdown-iconHolder:hover,
- .ebDropdown_disabled .ebDropdown-Header .ebDropdown-iconHolder:active,
- .ebDropdown_disabled .ebDropdown-header .ebDropdown-iconHolder:active {
- -ms-touch-action: none !important;
- cursor: not-allowed !important;
- touch-action: none !important;
- opacity: 0.3;
-}
-
-.ebDropdown_disabled .ebDropdown-Header:focus+.ebDropdown-list,
- .ebDropdown_disabled .ebDropdown-header:focus+.ebDropdown-body,
- .ebDropdown_disabled .ebDropdown-Header:active+.ebDropdown-list,
- .ebDropdown_disabled .ebDropdown-header:active+.ebDropdown-body,
- .ebDropdown_disabled:focus>.ebDropdown-list, .ebDropdown_disabled:focus>.ebDropdown-body,
- .ebDropdown_disabled:active>.ebDropdown-list, .ebDropdown_disabled:active>.ebDropdown-body
- {
- display: none;
-}
-
-/* Icons */
-.ebIcon {
- display: inline-block;
- vertical-align: middle;
- border: none;
- height: 16px;
- width: 16px;
- line-height: 1.6rem;
- background-repeat: no-repeat;
- background-position: center;
- background-color: transparent;
- background-size: 100%;
- -khtml-user-select: none;
- -moz-user-select: none;
- -o-user-select: none;
- -webkit-user-select: none;
- user-select: none;
- /*small icons */
- /*16px icons*/
-}
-
-.ebIcon_interactive {
- opacity: 0.7;
- cursor: pointer;
-}
-
-.ebIcon_interactive:hover {
- opacity: 1.0;
-}
-
-.ebIcon_interactive:active {
- opacity: 0.4;
-}
-
-.ebIcon_button {
- margin: 10px;
-}
-
-.ebIcon_noVertAlign {
- vertical-align: inherit;
-}
-
-.ebIcon_disabled {
- cursor: default;
-}
-
-.ebIcon_disabled, .ebIcon_disabled:hover, .ebIcon_disabled:active {
- opacity: 0.3;
-}
-
-.ebIcon_small {
- width: 1rem;
- height: 1rem;
- line-height: 1rem;
-}
-
-.ebIcon_big {
- width: 2rem;
- height: 2rem;
- line-height: 2rem;
-}
-
-.ebIcon_large {
- width: 2.8rem;
- height: 2.8rem;
- line-height: 2.8rem;
-}
-
-.ebIcon_wMargin {
- margin: 4px;
-}
-
-.ebIcon_upArrow {
- background-image: url('../resources/16px/ArrowUpSmall_black_16px.svg');
-}
-
-.ebIcon_upArrow_white {
- background-image: url('../resources/16px/arrowUpSmall_white_16px.svg');
-}
-
-.ebIcon_downArrow {
- background-image: url('../resources/16px/ArrowDownSmall_black_16px.svg');
-}
-
-.ebIcon_downArrow_white {
- background-image: url('../resources/16px/ArrowDownSmall_white_16px.svg');
-}
-
-.ebIcon_leftArrow {
- background-image: url('../resources/16px/ArrowLeftSmall_black_16px.svg');
-}
-
-.ebIcon_leftArrow_white {
- background-image: url('../resources/16px/ArrowLeftSmall_white_16px.svg');
-}
-
-.ebIcon_rightArrow {
- background-image:
- url('../resources/16px/ArrowRightSmall_black_16px.svg');
-}
-
-.ebIcon_rightArrow_white {
- background-image:
- url('../resources/16px/ArrowRightSmall_white_16px.svg');
-}
-
-.ebIcon_prevArrow {
- background-image:
- url('../resources/16px/ArrowDoubleLeftSmall_black_16px.svg');
-}
-
-.ebIcon_nextArrow {
- background-image:
- url('../resources/16px/ArrowDoubleRightSmall_black_16px.svg');
-}
-
-.ebIcon_upArrow_10px {
- background-image: url('../resources/10px/ArrowUpSmall_black_10px.svg');
-}
-
-.ebIcon_downArrow_10px {
- background-image: url('../resources/10px/ArrowDownSmall_black_10px.svg');
-}
-
-.ebIcon_leftArrow_10px {
- background-image: url('../resources/10px/ArrowLeftSmall_black_10px.svg');
-}
-
-.ebIcon_rightArrow_10px {
- background-image:
- url('../resources/10px/ArrowRightSmall_black_10px.svg');
-}
-
-.ebIcon_prevArrow_10px {
- background-image:
- url('../resources/10px/ArrowDoubleLeftSmall_black_10px.svg');
-}
-
-.ebIcon_nextArrow_10px {
- background-image:
- url('../resources/10px/ArrowDoubleRightSmall_black_10px.svg');
-}
-
-.ebIcon_errorSmall {
- background-image: url('../resources/other/errorSmall_red_10px.svg');
-}
-
-.ebIcon_tickSmallBlack {
- background-image: url('../resources/other/tick_black_10x8px.svg');
-}
-
-.ebIcon_tickSmallGreen {
- background-image: url('../resources/other/tick_green_10x8px.svg');
-}
-
-.ebIcon_upArrowLarge {
- background-image: url('../resources/16px/ArrowUp_black_16px.svg');
-}
-
-.ebIcon_upArrowLarge_white {
- background-image: url('../resources/16px/ArrowUp_white_16px.svg');
-}
-
-.ebIcon_downArrowLarge {
- background-image: url('../resources/16px/ArrowDown_black_16px.svg');
-}
-
-.ebIcon_downArrowLarge_white {
- background-image: url('../resources/16px/ArrowDown_white_16px.svg');
-}
-
-.ebIcon_downArrowLarge_blue {
- background-image: url('../resources/16px/ArrowDown_blue_16px.svg');
-}
-
-.ebIcon_leftArrowLarge {
- background-image: url('../resources/16px/ArrowLeft_black_16px.svg');
-}
-
-.ebIcon_leftArrowLarge_white {
- background-image: url('../resources/16px/ArrowLeft_white_16px.svg');
-}
-
-.ebIcon_rightArrowLarge {
- background-image: url('../resources/16px/ArrowRight_black_16px.svg');
-}
-
-.ebIcon_rightArrowLarge_white {
- background-image: url('../resources/16px/ArrowRight_white_16px.svg');
-}
-
-.ebIcon_circleArrowDown {
- background-image:
- url('../resources/16px/circleArrowDown_black_16px.svg');
-}
-
-.ebIcon_circleArrowDown_white {
- background-image:
- url('../resources/16px/circleArrowDown_white_16px.svg');
-}
-
-.ebIcon_circleArrowLeft {
- background-image:
- url('../resources/16px/circleArrowLeft_black_16px.svg');
-}
-
-.ebIcon_circleArrowLeft_white {
- background-image:
- url('../resources/16px/circleArrowLeft_white_16px.svg');
-}
-
-.ebIcon_circleArrowRight {
- background-image:
- url('../resources/16px/circleArrowRight_black_16px.svg');
-}
-
-.ebIcon_circleArrowRight_white {
- background-image:
- url('../resources/16px/circleArrowRight_white_16px.svg');
-}
-
-.ebIcon_circleArrowUp {
- background-image: url('../resources/16px/circleArrowUp_black_16px.svg');
-}
-
-.ebIcon_circleArrowUp_white {
- background-image: url('../resources/16px/circleArrowUp_white_16px.svg');
-}
-
-.ebIcon_circleCaretDown {
- background-image:
- url('../resources/16px/circleCaretDown_black_16px.svg');
-}
-
-.ebIcon_circleCaretDown_white {
- background-image:
- url('../resources/16px/circleCaretDown_white_16px.svg');
-}
-
-.ebIcon_circleCaretLeft {
- background-image:
- url('../resources/16px/circleCaretLeft_black_16px.svg');
-}
-
-.ebIcon_circleCaretLeft_white {
- background-image:
- url('../resources/16px/circleCaretLeft_white_16px.svg');
-}
-
-.ebIcon_circleCaretRight {
- background-image:
- url('../resources/16px/circleCaretRight_black_16px.svg');
-}
-
-.ebIcon_circleCaretRight_white {
- background-image:
- url('../resources/16px/circleCaretRight_white_16px.svg');
-}
-
-.ebIcon_circleCaretUp {
- background-image: url('../resources/16px/circleCaretUp_black_16px.svg');
-}
-
-.ebIcon_circleCaretUp_white {
- background-image: url('../resources/16px/circleCaretUp_white_16px.svg');
-}
-
-.ebIcon_eLogo {
- background-image: url('../resources/systemBar/econ01.svg');
-}
-
-.ebIcon_comment {
- background-image: url('../resources/16px/Comment_black_16px.svg');
-}
-
-.ebIcon_comment_white {
- background-image: url('../resources/16px/comment_white.svg');
-}
-
-.ebIcon_copy {
- background-image: url('../resources/16px/copy_black_16px.svg');
-}
-
-.ebIcon_copy_white {
- background-image: url('../resources/16px/copy_white_16px.svg');
-}
-
-.ebIcon_cut {
- background-image: url('../resources/16px/cut_black.svg');
-}
-
-.ebIcon_cut_white {
- background-image: url('../resources/16px/cut_white.svg');
-}
-
-.ebIcon_delete {
- background-image: url('../resources/16px/delete_black_16px.svg');
-}
-
-.ebIcon_delete_white {
- background-image: url('../resources/16px/delete_white_16px.svg');
-}
-
-.ebIcon_duplicate {
- background-image: url('../resources/16px/duplicate_black_16px.svg');
-}
-
-.ebIcon_duplicate_white {
- background-image: url('../resources/16px/duplicate_white_16px.svg');
-}
-
-.ebIcon_edit {
- background-image: url('../resources/16px/edit_black_16px.svg');
-}
-
-.ebIcon_editWhite {
- background-image: url('../resources/16px/edit_white_16px.svg');
-}
-
-.ebIcon_newFile {
- background-image: url('../resources/16px/newFile_black_16px.svg');
-}
-
-.ebIcon_newFile_white {
- background-image: url('../resources/16px/newFile_white_16px.svg');
-}
-
-.ebIcon_save {
- background-image: url('../resources/16px/save_black_16px.svg');
-}
-
-.ebIcon_save_white {
- background-size: contain;
- background-image: url('../resources/16px/save_white.svg');
-}
-
-.ebIcon_filter {
- background-image: url('../resources/16px/filter_black_16px.svg');
-}
-
-.ebIcon_filterOn {
- background-image: url('../resources/16px/filters_on.svg');
-}
-
-.ebIcon_filterOff {
- background-image: url('../resources/16px/filters_off.svg');
-}
-
-.ebIcon_filter_white {
- background-image: url('../resources/16px/filter_white_16px.svg');
-}
-
-.ebIcon_folder {
- background-image: url('../resources/16px/folder_black_16px.svg');
-}
-
-.ebIcon_folder_white {
- background-image: url('../resources/16px/folder_white_16px.svg');
-}
-
-.ebIcon_folderClosed {
- background-image: url('../resources/16px/folderClosed_black.svg');
-}
-
-.ebIcon_folderClosed_white {
- background-image: url('../resources/16px/folderClosed_white.svg');
-}
-
-.ebIcon_detach {
- background-image: url('../resources/16px/detach_black_16px.svg');
-}
-
-.ebIcon_detach_white {
- background-size: contain;
- background-image: url('../resources/16px/detach_white.svg');
-}
-
-.ebIcon_import {
- background-image: url('../resources/16px/import_black.svg');
-}
-
-.ebIcon_import_white {
- background-image: url('../resources/16px/import_white.svg');
-}
-
-.ebIcon_export {
- background-image: url('../resources/16px/export_black_16px.svg');
-}
-
-.ebIcon_export_white {
- background-image: url('../resources/16px/export_white.svg');
-}
-
-.ebIcon_undo {
- background-image: url('../resources/16px/undo_black_16px.svg');
-}
-
-.ebIcon_undo_white {
- background-image: url('../resources/16px/undo_white_16px.svg');
-}
-
-.ebIcon_cancelled {
- background-image: url('../resources/16px/Cancelled_Black_16px.svg');
-}
-
-.ebIcon_draft {
- background-size: contain;
- background-image: url('../resources/16px/draft.svg');
-}
-
-.ebIcon_importExport {
- background-image: url('../resources/16px/import_export.svg');
-}
-
-.ebIcon_login {
- background-image: url('../resources/16px/login.svg');
-}
-
-.ebIcon_move {
- background-image: url('../resources/16px/move.svg');
-}
-
-.ebIcon_remove {
- background-image: url('../resources/16px/remove.svg');
-}
-
-.ebIcon_valid {
- background-image: url('../resources/16px/valid_icon.svg');
-}
-
-.ebIcon_invalid {
- background-image: url('../resources/16px/invalid_icon.svg');
-}
-
-.ebIcon_error {
- background-image: url('../resources/16px/error_red_16px.svg');
-}
-
-.ebIcon_warning {
- background-image: url('../resources/16px/warning_yellow_16px.svg');
-}
-
-.ebIcon_warningOrange {
- background-image: url('../resources/16px/warning_orange_16px.svg');
-}
-
-.ebIcon_warning_white {
- background-image: url('../resources/16px/warning_white.svg');
-}
-
-.ebIcon_warningShield {
- background-image: url('../resources/16px/warningShield_black_16px.svg');
-}
-
-.ebIcon_warningShield_white {
- background-size: contain;
- background-image: url('../resources/16px/warningShield_white.svg');
-}
-
-.ebIcon_mail {
- background-image: url('../resources/16px/mail_black_16px.svg');
-}
-
-.ebIcon_mail_white {
- background-image: url('../resources/16px/mail_white_16px.svg');
-}
-
-.ebIcon_mailRead {
- background-image: url('../resources/16px/mailRead_black_16px.svg');
-}
-
-.ebIcon_mailRead_white {
- background-image: url('../resources/16px/mailRead_white_16px.svg');
-}
-
-.ebIcon_link {
- background-image: url('../resources/16px/Link_black_16px.svg');;
-}
-
-.ebIcon_lock {
- background-image: url('../resources/16px/lock_black_16px.svg');
-}
-
-.ebIcon_lock_white {
- background-image: url('../resources/16px/lock_white_16px.svg');
-}
-
-.ebIcon_unlock {
- background-image: url('../resources/16px/unlock_black_16px.svg');
-}
-
-.ebIcon_unlock_white {
- background-image: url('../resources/16px/unlock_white_16px.svg');
-}
-
-.ebIcon_logout {
- background-image: url('../resources/16px/logout_black_16px.svg');
-}
-
-.ebIcon_menu {
- background-image: url('../resources/16px/menu_black_16px.svg');
-}
-
-.ebIcon_menu_white {
- background-image: url('../resources/16px/menu_white_16px.svg');
-}
-
-.ebIcon_search {
- background-image: url('../resources/16px/search_black_16px.svg');
-}
-
-.ebIcon_searchWhite {
- background-image: url('../resources/16px/search_white_16px.svg');
-}
-
-.ebIcon_advancedSearch {
- background-image:
- url('../resources/16px/advanced_search_black_16px.svg');
-}
-
-.ebIcon_advancedSearchWhite {
- background-image:
- url('../resources/16px/advanced_search_white_16px.svg');
-}
-
-.ebIcon_share {
- background-image: url('../resources/16px/share_black_16px.svg');
-}
-
-.ebIcon_share_white {
- background-image: url('../resources/16px/share_white.svg');
-}
-
-.ebIcon_star {
- background-image: url('../resources/16px/star_black_16px.svg');
-}
-
-.ebIcon_star_white {
- background-image: url('../resources/16px/star_white_16px.svg');
-}
-
-.ebIcon_star_yellow {
- background-image: url('../resources/16px/star_yellow_16px.svg');
-}
-
-.ebIcon_starOutline {
- background-image: url('../resources/16px/star_outline_black_16px.svg');
-}
-
-.ebIcon_starOutline_white {
- background-image: url('../resources/16px/star_outline_white_16px.svg');
-}
-
-.ebIcon_starOutline_yellow {
- background-image: url('../resources/16px/star_outline_yellow_16px.svg');
-}
-
-.ebIcon_tick {
- background-image: url('../resources/16px/tick_green_16px.svg');
-}
-
-.ebIcon_tick_black {
- background-image: url('../resources/16px/tick_16px.svg');
-}
-
-.ebIcon_simpleGreenTick {
- background-image: url('../resources/16px/simple_green_tick.svg');
-}
-
-.ebIcon_simpleTick_black {
- background-image: url('../resources/16px/simple_tick.svg');
-}
-
-.ebIcon_download {
- background-image: url('../resources/16px/download_black.svg');
-}
-
-.ebIcon_download_white {
- background-image: url('../resources/16px/download_white.svg');
-}
-
-.ebIcon_downloadWhite {
- background-image: url('../resources/16px/download_white_16px.svg');
-}
-
-.ebIcon_documentWhite {
- background-image: url('../resources/16px/document_white_16px.svg');
-}
-
-.ebIcon_expand {
- background-image: url('../resources/16px/expand_black_16px.svg');
-}
-
-.ebIcon_rowCollapsed {
- background-image: url('../resources/16px/rowCollapsed_black_16px.svg');
-}
-
-.ebIcon_rowExpanded {
- background-image: url('../resources/16px/rowExpanded_black_16px.svg');
-}
-
-.ebIcon_rowView {
- background-image: url('../resources/16px/rowView_black_16px.svg');
-}
-
-.ebIcon_rowView_white {
- background-image: url('../resources/16px/rowView_white.svg');
-}
-
-.ebIcon_externalApp {
- background-image: url('../resources/16px/externalApp_black_16px.svg');
-}
-
-.ebIcon_externalApp_white {
- background-image: url('../resources/16px/externalApp_white_16px.svg');
-}
-
-.ebIcon_fullscreen {
- background-image: url('../resources/16px/fullscreen_black_16px.svg');
-}
-
-.ebIcon_fullscreenMinimize {
- background-image:
- url('../resources/16px/fullscreenMinimise_black_16px.svg');
-}
-
-.ebIcon_help {
- background-image: url('../resources/16px/help_black_16px.svg');
-}
-
-.ebIcon_help_white {
- background-image: url('../resources/16px/help_white.svg');
-}
-
-.ebIcon_info {
- background-image: url('../resources/16px/info_black.svg');
-}
-
-.ebIcon_info_white {
- background-image: url('../resources/16px/info_white.svg');
-}
-
-.ebIcon_dialogInfo {
- background-image: url('../resources/16px/dialogInfo_blue.svg');
-}
-
-.ebIcon_dialogInfo_white {
- background-image: url('../resources/16px/dialogInfo_white.svg');
-}
-
-.ebIcon_infoMsgIndicator {
- background-image: url('../resources/16px/infoMsgIndicator_16px.svg');
-}
-
-.ebIcon_exitFullscreen {
- background-image:
- url('../resources/16px/minimiseFullscreen_black_16px.svg');
-}
-
-.ebIcon_refresh {
- background-image: url('../resources/16px/refresh_black_16px.svg');
-}
-
-.ebIcon_refresh_white {
- background-image: url('../resources/16px/refresh_white_16px.svg');
-}
-
-.ebIcon_settings {
- background-image: url('../resources/16px/settings_black_16px.svg');
-}
-
-.ebIcon_settings_white {
- background-image: url('../resources/16px/settings_white_16px.svg');
-}
-
-.ebIcon_user {
- background-image: url('../resources/16px/user_black_16px.svg');
-}
-
-.ebIcon_user_white {
- background-image: url('../resources/16px/user_white_16px.svg');
-}
-
-.ebIcon_close {
- background-image: url('../resources/16px/X_black_16px.svg');
-}
-
-.ebIcon_close_white {
- background-image: url('../resources/16px/close_white_16px.svg');
-}
-
-.ebIcon_close_blue {
- background-image: url('../resources/16px/X_blue_16px.svg');
-}
-
-.ebIcon_close_paleBlue {
- background-image: url('../resources/16px/X_paleBlue_16px.svg');
-}
-
-.ebIcon_close_green {
- background-image: url('../resources/16px/X_green_16px.svg');
-}
-
-.ebIcon_close_orange {
- background-image: url('../resources/16px/X_orange_16px.svg');
-}
-
-.ebIcon_close_red {
- background-image: url('../resources/16px/X_red_16px.svg');
-}
-
-.ebIcon_close_yellow {
- background-image: url('../resources/16px/X_yellow_16px.svg');
-}
-
-.ebIcon_minus {
- background-image: url('../resources/16px/minus_black_16px.svg');
-}
-
-.ebIcon_plus {
- background-image: url('../resources/16px/plus_black_16px.svg');
-}
-
-.ebIcon_add {
- background-image: url('../resources/16px/add_black_16px.svg');
-}
-
-.ebIcon_add_white {
- background-image: url('../resources/16px/add_white_16px.svg');
-}
-
-.ebIcon_multiSelect {
- background-image: url('../resources/16px/multiSelect_black_16px.svg');
-}
-
-.ebIcon_multiSelect_white {
- background-size: contain;
- background-image: url('../resources/16px/multiSelect_white.svg');
-}
-
-.ebIcon_multiSort {
- background-image: url('../resources/16px/multi-sort.svg');
-}
-
-.ebIcon_multiSort_white {
- background-image: url('../resources/16px/multi-sort_white.svg');
-}
-
-.ebIcon_sort {
- background-image: url('../resources/16px/sort.svg');
-}
-
-.ebIcon_sort_white {
- background-image: url('../resources/16px/sort_white.svg');
-}
-
-.ebIcon_stop {
- background-image: url('../resources/16px/stop_black_16px.svg');
-}
-
-.ebIcon_pause {
- background-image: url('../resources/16px/pause_black_16px.svg');
-}
-
-.ebIcon_suspend {
- background-image: url('../resources/16px/suspend_black_16px.svg');
-}
-
-.ebIcon_resume {
- background-image: url('../resources/16px/resume_black_16px.svg');
-}
-
-.ebIcon_play {
- background-image: url('../resources/16px/play_black_16px.svg');
-}
-
-.ebIcon_fastForward {
- background-image: url('../resources/16px/fastForward_black_16px.svg');
-}
-
-.ebIcon_fastRewind {
- background-image: url('../resources/16px/fastRewind_black_16px.svg');
-}
-
-.ebIcon_print {
- background-image: url('../resources/16px/print_black_16px.svg');
-}
-
-.ebIcon_print_white {
- background-image: url('../resources/16px/print_white_16px.svg');
-}
-
-.ebIcon_calendar {
- background-image: url('../resources/16px/calendar_black_16px.svg');
-}
-
-.ebIcon_calendar_white {
- background-image: url('../resources/16px/calendar_white_16px.svg');
-}
-
-.ebIcon_addToFolder {
- background-image: url('../resources/16px/addToFolder_black.svg');
-}
-
-.ebIcon_addToFolder_white {
- background-image: url('../resources/16px/addToFolder_white.svg');
-}
-
-.ebIcon_alarmCleared {
- background-image: url('../resources/16px/alarmCleared_16px.svg');
-}
-
-.ebIcon_alarmCleared_white {
- background-image: url('../resources/16px/alarmCleared_white_16px.svg');
-}
-
-.ebIcon_alarmCritical {
- background-image: url('../resources/16px/alarmCritical_16px.svg');
-}
-
-.ebIcon_alarmCritical_white {
- background-image: url('../resources/16px/alarmCritical_white_16px.svg');
-}
-
-.ebIcon_alarmHeartbeat {
- background-image: url('../resources/16px/alarmHeartbeat_16px.svg');
-}
-
-.ebIcon_alarmIndeterminate {
- background-image: url('../resources/16px/alarmIndeterminate_16px.svg');
-}
-
-.ebIcon_alarmIndeterminate_white {
- background-image:
- url('../resources/16px/alarmIndeterminate_white_16px.svg');
-}
-
-.ebIcon_alarmMajor {
- background-image: url('../resources/16px/alarmMajor_16px.svg');
-}
-
-.ebIcon_alarmMajor_white {
- background-image: url('../resources/16px/alarmMajor_white_16px.svg');
-}
-
-.ebIcon_alarmMinor {
- background-image: url('../resources/16px/alarmMinor_16px.svg');
-}
-
-.ebIcon_alarmMinor_white {
- background-image: url('../resources/16px/alarmMinor_white_16px.svg');
-}
-
-.ebIcon_alarmWarning {
- background-image: url('../resources/16px/alarmWarning_16px.svg');
-}
-
-.ebIcon_alarmWarning_white {
- background-image: url('../resources/16px/alarmWarning_white_16px.svg');
-}
-
-.ebIcon_alarmOtherGrouping {
- background-image: url('../resources/16px/alarmOtherGrouping_16px.svg');
-}
-
-.ebIcon_alarmUnacknowledged {
- background-image: url('../resources/16px/alarmUnacknowledged.svg');
-}
-
-.ebIcon_alarmUnacknowledged_white {
- background-image: url('../resources/16px/alarmUnacknowledged_white.svg');
-}
-
-.ebIcon_alarmUnspecified {
- background-image: url('../resources/16px/alarmUnspecified_16px.svg');
-}
-
-.ebIcon_acknowledgeAlarm {
- background-image: url('../resources/16px/acknowledgeAlarm.svg');
-}
-
-.ebIcon_acknowledgeAlarm_white {
- background-image: url('../resources/16px/acknowledgeAlarm_white.svg');
-}
-
-.ebIcon_clearAlarm {
- background-image: url('../resources/16px/clearAlarm.svg');
-}
-
-.ebIcon_clearAlarm_white {
- background-image: url('../resources/16px/clearAlarm_white.svg');
-}
-
-.ebIcon_bsc {
- background-image: url('../resources/16px/BSC_black_16px.svg');
-}
-
-.ebIcon_bscYellow {
- background-image: url('../resources/16px/BSC_Yellow_16px.svg');
-}
-
-.ebIcon_bscFunction {
- background-image: url('../resources/16px/BSCFunction_black_16px.svg');
-}
-
-.ebIcon_bscFunctionYellow {
- background-image: url('../resources/16px/BSCFunction_Yellow_16px.svg');
-}
-
-.ebIcon_cabinet {
- background-image: url('../resources/16px/cabinet_black_16px.svg');
-}
-
-.ebIcon_cellGray {
- background-image: url('../resources/16px/cell_gray_16px.svg');
-}
-
-.ebIcon_cellGreen {
- background-image: url('../resources/16px/cell_green_16px.svg');
-}
-
-.ebIcon_cellRed {
- background-image: url('../resources/16px/cell_red_16px.svg');
-}
-
-.ebIcon_cellAdjacent {
- background-image: url('../resources/16px/cellAdjacent_16px.svg');
-}
-
-.ebIcon_cellExternal {
- background-image: url('../resources/16px/cellExternal_16px.svg');
-}
-
-.ebIcon_charging {
- background-image: url('../resources/16px/charging_black.svg');
-}
-
-.ebIcon_charging_white {
- background-size: contain;
- background-image: url('../resources/16px/charging_white.svg');
-}
-
-.ebIcon_connected {
- background-image: url('../resources/16px/connected_black_16px.svg');
-}
-
-.ebIcon_disconnected {
- background-image: url('../resources/16px/disconnected_black_16px.svg');
-}
-
-.ebIcon_connectionError {
- background-image:
- url('../resources/16px/connectionError_black_16px.svg');
-}
-
-.ebIcon_core {
- background-image: url('../resources/16px/core_black_16px.svg');
-}
-
-.ebIcon_coreSubscriber {
- background-image: url('../resources/16px/coreSubscriber_black_16px.svg');
-}
-
-.ebIcon_database {
- background-image: url('../resources/16px/database_black_16px.svg');
-}
-
-.ebIcon_ftpServer {
- background-image: url('../resources/16px/ftpServer_black_16px.svg');
-}
-
-.ebIcon_ftpServerFunction {
- background-image:
- url('../resources/16px/ftpServerFunction_black_16px.svg');
-}
-
-.ebIcon_gatewayFunction {
- background-image:
- url('../resources/16px/gatewayFunction_black_16px.svg');
-}
-
-.ebIcon_grabHandle {
- background-image: url('../resources/16px/grabHandle_black_16px.svg');
-}
-
-.ebIcon_grabHandle_white {
- background-size: contain;
- background-image: url('../resources/16px/grabHandle_white.svg');
-}
-
-.ebIcon_managedFunction {
- background-image:
- url('../resources/16px/managedFunction_black_16px.svg');
-}
-
-.ebIcon_managedGroup {
- background-image: url('../resources/16px/managedGroup_black_16px.svg');
-}
-
-.ebIcon_managementNode {
- background-image: url('../resources/16px/managementNode_black_16px.svg');
-}
-
-.ebIcon_network {
- background-image: url('../resources/16px/network_black_16px.svg');
-}
-
-.ebIcon_networkElement {
- background-image: url('../resources/16px/networkElement_black_16px.svg');
-}
-
-.ebIcon_networkElement_white {
- background-image: url('../resources/16px/networkElement_white_16px.svg');
-}
-
-.ebIcon_rbs {
- background-image: url('../resources/16px/RBS_black_16px.svg');
-}
-
-.ebIcon_rbs_white {
- background-image: url('../resources/16px/RBS_white_16px.svg');
-}
-
-.ebIcon_routeSwitch {
- background-image: url('../resources/16px/routeSwitch.svg');
-}
-
-.ebIcon_rxi {
- background-image: url('../resources/16px/rxi_black_16px.svg');
-}
-
-.ebIcon_switchFunction {
- background-image: url('../resources/16px/switchFunction_black_16px.svg');
-}
-
-.ebIcon_technicianPresent {
- background-image: url('../resources/16px/technicianPresent_16px.svg');
-}
-
-.ebIcon_terminal {
- background-image: url('../resources/16px/terminal_black_16px.svg');
-}
-
-.ebIcon_topology {
- background-image: url('../resources/16px/topology_black_16px.svg');
-}
-
-.ebIcon_access {
- background-image: url('../resources/16px/access_black_16px.svg');
-}
-
-.ebIcon_access_white {
- background-image: url('../resources/16px/access_white_16px.svg');
-}
-
-.ebIcon_accessSettings {
- background-image: url('../resources/16px/accessSettings_black_16px.svg');
-}
-
-.ebIcon_accessSettings_white {
- background-image: url('../resources/16px/accessSettings_white_16px.svg');
-}
-
-.ebIcon_alignCenter {
- background-image: url('../resources/16px/alignCenter_black_16px.svg');
-}
-
-.ebIcon_alignCenter_white {
- background-image: url('../resources/16px/alignCenter_white.svg');
-}
-
-.ebIcon_alignLeft {
- background-image: url('../resources/16px/alignLeft_black_16px.svg');
-}
-
-.ebIcon_alignLeft_white {
- background-image: url('../resources/16px/alignLeft_white.svg');
-}
-
-.ebIcon_alignRight {
- background-image: url('../resources/16px/alignRight_black_16px.svg');
-}
-
-.ebIcon_alignRight_white {
- background-image: url('../resources/16px/alignRight_white.svg');
-}
-
-.ebIcon_cli {
- background-image:
- url('../resources/16px/CommandLineInterface_black_16px.svg');
-}
-
-.ebIcon_cli_white {
- background-image:
- url('../resources/16px/CommandLineInterface_white_16px.svg');
-}
-
-.ebIcon_controllingNode {
- background-image: url('../resources/16px/controllingNode.svg');
-}
-
-.ebIcon_grid3x3 {
- background-image: url('../resources/16px/grid3X3_black_16px.svg');
-}
-
-.ebIcon_grid3x3_white {
- background-image: url('../resources/16px/grid3x3_white.svg');
-}
-
-.ebIcon_grid4x4 {
- background-image: url('../resources/16px/grid4X4_black_16px.svg');
-}
-
-.ebIcon_grid4x4_white {
- background-image: url('../resources/16px/grid4x4_white.svg');
-}
-
-.ebIcon_gridView {
- background-image: url('../resources/16px/gridView_black_16px.svg');
-}
-
-.ebIcon_gridView_white {
- background-image: url('../resources/16px/gridView_white.svg');
-}
-
-.ebIcon_jumpTo {
- background-image: url('../resources/16px/jumpTo_black_16px.svg');
-}
-
-.ebIcon_microwave {
- background-image: url('../resources/16px/microwave.svg');
-}
-
-.ebIcon_mo {
- background-image: url('../resources/16px/mo.svg');
-}
-
-.ebIcon_security {
- background-image: url('../resources/16px/security_black_16px.svg');
-}
-
-.ebIcon_security_white {
- background-image: url('../resources/16px/security_white_16px.svg');
-}
-
-.ebIcon_site {
- background-image: url('../resources/16px/site_black_16px.svg');
-}
-
-.ebIcon_siteManager {
- background-image: url('../resources/16px/siteManager_black_16px.svg');
-}
-
-.ebIcon_subnetwork {
- background-image: url('../resources/16px/subnetwork.svg');
-}
-
-.ebIcon_gateway, .ebIcon_switch {
- background-image: url('../resources/16px/switch.svg');
-}
-
-.ebIcon_tip {
- background-image: url('../resources/16px/tip_black_16px.svg');
-}
-
-.ebIcon_tip_white {
- background-image: url('../resources/16px/tip_white_16px.svg');
-}
-
-.ebIcon_attach {
- background-image: url('../resources/16px/attach_black_16px.svg');
-}
-
-.ebIcon_attach_white {
- background-size: contain;
- background-image: url('../resources/16px/attach_white.svg');
-}
-
-.ebIcon_clock {
- background-image: url('../resources/16px/clock_black_16px.svg');
-}
-
-.ebIcon_clock_white {
- background-image: url('../resources/16px/clock_white_16px.svg');
-}
-
-.ebIcon_windowMaximize {
- background-image: url('../resources/16px/WindowMaximize_black_16px.svg');
-}
-
-.ebIcon_windowMinimize {
- background-image: url('../resources/16px/WindowMinimize_black_16px.svg');
-}
-
-.ebIcon_deprecated {
- background-image: url('../resources/16px/deprecated_16px.svg');
-}
-
-.ebIcon_obsolete {
- background-image: url('../resources/16px/obsolete_16px.svg');
-}
-
-.ebIcon_newStatus_blue {
- background-image: url('../resources/16px/newStatus_blue_16px.svg');
-}
-
-.ebIcon_newStatus_green {
- background-image: url('../resources/16px/newStatus_green_16px.svg');
-}
-
-.ebIcon_upload {
- background-image: url('../resources/16px/upload_black_16px.svg');
-}
-
-.ebIcon_activate {
- background-image: url('../resources/16px/activate_black_16px.svg');
-}
-
-.ebIcon_activate_white {
- background-size: contain;
- background-image: url('../resources/16px/activate_white.svg');
-}
-
-.ebIcon_deactivate {
- background-image: url('../resources/16px/deactivate_black_16px.svg');
-}
-
-.ebIcon_deactivate_white {
- background-size: contain;
- background-image: url('../resources/16px/deactivate_white.svg');
-}
-
-.ebIcon_switchBetween {
- background-image: url('../resources/16px/switchBetween_black_16px.svg');
-}
-
-.ebIcon_switchBetween_white {
- background-image: url('../resources/16px/switchBetween_white_16px.svg');
-}
-
-.ebIcon_eye {
- background-image: url('../resources/16px/eye_black_16px.svg');
-}
-
-.ebIcon_eye_white {
- background-image: url('../resources/16px/eye_white_16px.svg');
-}
-
-.ebIcon_eyeLine {
- background-image: url('../resources/16px/eyeLine_black_16px.svg');
-}
-
-.ebIcon_eyeLine_white {
- background-image: url('../resources/16px/eyeLine_white.svg');
-}
-
-.ebIcon_activityTray {
- background-image: url('../resources/16px/activity_16px_black.svg');
-}
-
-.ebIcon_note {
- background-image: url('../resources/16px/note_black_16px.svg');
- background-size: contain;
-}
-
-.ebIcon_note_white {
- background-image: url('../resources/16px/note_white_16px.svg');
-}
-
-.ebIcon_tableView {
- background-image: url('../resources/16px/tableView_black_16px.svg');
-}
-
-.ebIcon_tableView_white {
- background-image: url('../resources/16px/tableView_white_16px.svg');
-}
-
-.ebIcon_synced {
- background-image: url('../resources/16px/Syncd_16px.svg');
-}
-
-.ebIcon_syncError {
- background-image: url('../resources/16px/SyncError_16px.svg');
-}
-
-.ebIcon_syncing {
- background-image: url('../resources/16px/Syncing_Static_16px.svg');
-}
-
-.ebIcon_syncing_animated {
- background-image: url('../resources/16px/Syncing_Animated_16px.svg');
-}
-
-/* Breadcrumb */
-.ebBreadcrumbs {
- position: relative;
- display: block;
- font-size: 0;
- margin-top: 12px;
- margin-bottom: 4px;
-}
-
-.ebBreadcrumbs-link {
- font-size: 1.2rem;
- vertical-align: middle;
- display: inline-block
-}
-
-.ebBreadcrumbs-list {
- position: absolute;
- left: 0;
- margin-top: 6px;
- display: none;
- min-width: calc(100% - 16px);
- max-width: 250px;
- z-index: 1500
-}
-
-.ebBreadcrumbs-arrow {
- margin-left: .6rem;
- vertical-align: middle;
- outline: none;
- display: inline-block;
- line-height: 12px
-}
-
-.ebBreadcrumbs-arrow:focus>* {
- opacity: 1
-}
-
-.ebBreadcrumbs-arrow_hidden {
- display: none
-}
-
-.ebBreadcrumbs-arrow:focus+.ebBreadcrumbs-list {
- display: block
-}
-
-.ebBreadcrumbs-item {
- position: relative;
- font-size: 0;
- white-space: nowrap;
- display: inline-block;
- margin-bottom: .8rem
-}
-
-.ebBreadcrumbs-item:after {
- vertical-align: middle;
- display: inline-block;
- width: 20px;
- content: "/";
- font-size: 1.6rem;
- text-align: center;
- color: #999;
- cursor: default !important;
- pointer-events: none !important;
- -ms-touch-action: none !important;
- touch-action: none !important;
- -khtml-user-select: none !important;
- -moz-user-select: none !important;
- -o-user-select: none !important;
- -webkit-user-select: none !important;
- user-select: none
-}
-
-.ebBreadcrumbs-item:last-child {
- margin-right: 0
-}
-
-.ebBreadcrumbs-item:last-child>.ebBreadcrumbs-link {
- -ms-touch-action: none !important;
- touch-action: none !important;
- -khtml-user-select: none !important;
- -moz-user-select: none !important;
- -o-user-select: none !important;
- -webkit-user-select: none !important;
- user-select: none
-}
-
-.ebBreadcrumbs-item:last-child:after {
- content: "";
- padding: 0;
- font-size: 0;
- width: 0;
-}
-
-.ebBreadcrumbs a {
- font-size: 1.2rem;
- color: #0066b3;
- text-decoration: none;
-}
-
-.ebBreadcrumbs a:hover {
- text-decoration: underline;
- outline: none;
-}
-
-.ebBreadcrumbs a:active {
- text-decoration: underline
-}
-
-.ebBreadcrumbs a:focus {
- outline: none;
- text-decoration: underline;
- box-shadow: none;
-} \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/dist/css/papChartLib.css b/gui-pdp-monitoring/src/webapp/dist/css/papChartLib.css
deleted file mode 100644
index 5dafa25..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/css/papChartLib.css
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-path { //
- stroke: #5fbadd;
- stroke-width: 2;
- fill: none;
-}
-
-.axis path, .axis line {
- fill: none;
- stroke: grey;
- stroke-width: 1;
- shape-rendering: crispEdges;
-}
-
-.tooltip {
- position: absolute;
- text-align: center;
- width: 90px;
- height: 42px;
- padding: 2px;
- font: 12px sans-serif;
- background: white;
- border: 2px solid grey;
- border-radius: 8px;
- pointer-events: none;
-}
-
-.papChart, .papChart_inline {
- display: inline-block;
- position: relative;
- width: 45%;
- padding-bottom: 21%;
- vertical-align: top;
- overflow: hidden;
-}
-
-.papChart:nth-child(even) {
- margin-left: 50px;
-}
-
-.svg-content-responsive {
- display: inline-block;
- position: absolute;
- top: 10px;
- left: 0;
-}
diff --git a/gui-pdp-monitoring/src/webapp/dist/css/styles.css b/gui-pdp-monitoring/src/webapp/dist/css/styles.css
deleted file mode 100644
index f05277c..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/css/styles.css
+++ /dev/null
@@ -1,515 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-.ebSystemBar-config {
- position: absolute;
- top: 0;
- bottom: 0;
- right: 0;
- height: 40px;
- width: 20px;
- padding: 0 10px;
- background: url('../resources/16px/settings_black_16px.svg') no-repeat
- center center transparent;
- background-size: 20px;
- cursor: pointer;
-}
-
-.content {
- display: none;
- padding: 10px;
-}
-
-.context {
- margin-left: 5px;
-}
-
-.wrapper {
- border: 1px dashed #ddd;
- box-shadow: 0 0 0 3px #fff, 0 0 0 5px #ddd, 0 0 0 10px #fff, 0 0 2px
- 10px #eee;
- padding: 10px;
- margin: 10px;
- min-width: 1287px;
-}
-
-.engineService {
- margin-left: 5px;
- padding-bottom: 10px;
-}
-
-.papDialogDiv {
- background-color: white;
- position: fixed;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- min-width: 310px;
- min-height: 140px;
- resize: both;
- overflow: auto;
- padding: 10px 10px 10px 10px;
- border: 1px solid #c0c0c0;
- border-radius: 3px;
- box-shadow: 3px 7px 5px #555555;
-}
-
-.papDialogDiv {
- background-color: white;
- position: fixed;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- min-width: 310px;
- min-height: 140px;
- resize: both;
- overflow: auto;
- padding: 10px 10px 10px 10px;
- border: 1px solid #c0c0c0;
- border-radius: 3px;
- box-shadow: 3px 7px 5px #555555;
-}
-
-.papErrorDialogDiv {
- max-width: 80%;
- max-height: 80%;
- overflow: hidden;
-}
-
-/* Dialog */
-.papDialogDiv .headingSpan {
- width: 100%;
- height: 30px;
- display: inline-block;
- text-align: center;
- font-weight: bold;
- font-size: 20px;
- padding: 5px 0px 0px 0px;
- border-bottom: #c0c0c0 solid 1px;
-}
-
-.papDialogDivBackground {
- position: fixed;
- height: 100%;
- width: 100%;
- background-color: rgba(0, 0, 0, 0.5);
- top: 0px;
- left: 0px;
-}
-
-.dialogMessage {
- white-space: pre-wrap;
- font: 14px "Lucida Sans Unicode", "Lucida Grande", sans-serif;
- overflow-y: auto;
- max-height: 480px;
- overflow-x: hidden;
- word-wrap: break-word;
-}
-
-/* Form */
-.resultFormDiv .form-style-1 .field-textarea {
- height: 480px;
- font-size: 15px;
-}
-
-.form-style-1 {
- margin: 10px auto;
- font: 16px "Lucida Sans Unicode", "Lucida Grande", sans-serif;
-}
-
-.form-style-1 li {
- padding: 0;
- display: block;
- list-style: none;
- margin: 10px 0 0 0;
-}
-
-.form-style-1 label {
- margin: 0 0 3px 0;
- padding: 0px;
- display: block;
- font-weight: bold;
-}
-
-.form-style-1 input[type=text], .form-style-1 input[type=date],
- .form-style-1 input[type=datetime], .form-style-1 input[type=number],
- .form-style-1 input[type=search], .form-style-1 input[type=time],
- .form-style-1 input[type=url], .form-style-1 input[type=email],
- textarea, select {
- box-sizing: border-box;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- border: 1px solid #BEBEBE;
- padding: 0px 7px;
- margin: 0px;
- -webkit-transition: all 0.30s ease-in-out;
- -moz-transition: all 0.30s ease-in-out;
- -ms-transition: all 0.30s ease-in-out;
- -o-transition: all 0.30s ease-in-out;
- outline: none;
-}
-
-.form-style-1 input[type=text]:focus, .form-style-1 input[type=date]:focus,
- .form-style-1 input[type=datetime]:focus, .form-style-1 input[type=number]:focus,
- .form-style-1 input[type=search]:focus, .form-style-1 input[type=time]:focus,
- .form-style-1 input[type=url]:focus, .form-style-1 input[type=email]:focus,
- .form-style-1 textarea:focus, .form-style-1 select:focus {
- -moz-box-shadow: 0 0 8px #88D5E9;
- -webkit-box-shadow: 0 0 8px #88D5E9;
- box-shadow: 0 0 8px #88D5E9;
- border: 1px solid #88D5E9;
-}
-
-.form-style-1 input:focus::-webkit-input-placeholder {
- color: transparent;
-}
-
-.form-style-1 input:focus:-moz-placeholder {
- color: transparent;
-}
-
-.form-style-1 .field {
- font-size: 15px;
-}
-
-.form-style-1 .field-divided {
- width: 49%;
- font-size: 15px;
-}
-
-.form-style-1 .field-long {
- width: 100%;
- font-size: 15px;
-}
-
-.form-style-1 .field-medium {
- width: 50%;
- font-size: 15px;
-}
-
-.form-style-1 .field-select {
- width: 100%;
- font-size: 15px;
-}
-
-.form-style-1 .field-textarea {
- height: 100px;
- font-size: 15px;
-}
-
-.form-style-1 .field-javaType {
- width: 100%;
- font-size: 15px;
-}
-
-.form-style-1 .field-schemaFlavour {
- width: 100%;
- font-size: 15px;
-}
-
-.form-style-1 .field-taskSelLogic {
- width: 100%;
- font-size: 15px;
- height: 300px;
-}
-
-.form-style-1 .field-taskLogic {
- width: 100%;
- font-size: 15px;
- height: 300px;
-}
-
-.form-style-1 .field-finalizerLogic {
- width: 100%;
- font-size: 15px;
- height: 300px;
-}
-
-.form-style-1 .field-schemaDefinition {
- width: 100%;
- font-size: 15px;
- height: 100px;
-}
-
-.form-style-1 .required {
- color: red;
-}
-
-.form-style-1 .button {
- font-size: 15px;
-}
-
-.form-style-1 .delete_ex {
- height: 30px;
- width: 30px;
- opacity: 1;
- font-size: 30px;
- line-height: 30px;
- transition: all 0.8s;
- border: 1px solid transparent;
- text-align: center;
-}
-
-.form-style-1 .delete_ex:hover {
- border-radius: 50%;
- background: tomato;
- border: 1px solid black;
-}
-
-.form-style-1 .delete_ex_disabled {
- width: 0px;
- opacity: 0;
-}
-
-/* Icons */
-.expandIcon {
- float: right;
-}
-
-.engineContextTitle {
- padding: 1.2rem 0 .7rem 0;
- font-weight: normal;
-}
-
-.ignoreConflictsLabel {
- font-size: 1.4rem;
- padding-right: 15px;
-}
-
-#engineServicesTable_periodic_events {
- align-items: center;
- display: flex;
- height: 30px;
-}
-
-.modelLoading {
- margin-left: 5px;
-}
-
-.layoutWrapper {
- margin: 0 40px;
-}
-
-.appHeading {
- color: rgb(51, 51, 51);
- display: block;
- font-family: Arial, Helvetica, sans-serif;
- font-size: 12px;
- height: 32px;
- line-height: 12px;
- position: relative;
-}
-
-.ebQuickActionBar {
- margin-top: 1.2rem;
- font-size: 0;
- height: 32px;
- padding: 0.4rem 0;
- background-color: #e8e8e8;
- position: relative;
- width: 100%;
- overflow: hidden;
- line-height: 0;
- box-sizing: border-box;
- -webkit-transition: background-color 0.1s ease-in;
- transition: background-color 0.1s ease-in;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- -ms-border-radius: 3px;
- border-radius: 3px;
-}
-
-.ebQuickActionBar_context {
- background-color: #f3f3f3;
- border-bottom: 2px solid #65cbe5;
- box-sizing: border-box;
- height: 32px;
-}
-
-.ebQuickActionBar>* {
- margin-left: 0.4rem;
- margin-right: 0.4rem;
- vertical-align: middle;
-}
-
-.ebQuickActionBar-iconHolder {
- display: inline-block;
- vertical-align: middle;
- height: 1.6rem;
-}
-
-.ebQuickActionBar-separator {
- display: inline-block;
- vertical-align: middle;
- border-left: 1px solid #CCCCCC;
- margin: 0 8px;
- height: 2.4rem;
-}
-
-.ebQuickActionBar-Commands, .ebQuickActionBar-commands {
- display: inline-block;
- margin: 0;
- font-size: 0;
- line-height: 2.4rem;
-}
-
-.ebQuickActionBar-Commands-iconHolder,
- .ebQuickActionBar-commands-iconHolder {
- display: inline-block;
- vertical-align: middle;
- height: 1.6rem;
-}
-
-.ebQuickActionBar-Commands-separator,
- .ebQuickActionBar-commands-separator {
- display: inline-block;
- vertical-align: middle;
- border-left: 1px solid #CCCCCC;
- margin: 0 8px;
- height: 2.4rem;
-}
-
-.ebQuickActionBar-Commands>*, .ebQuickActionBar-commands>* {
- margin-left: 0.4rem;
- margin-right: 0.4rem;
- vertical-align: middle;
-}
-
-.ebQuickActionBar-Commands-block, .ebQuickActionBar-commands-block,
- .ebQuickActionBar-CommandsBlock, .ebQuickActionBar-commandsBlock {
- margin: 0 0.8rem;
- display: inline-block;
-}
-
-.ebQuickActionBar-Commands-block>*, .ebQuickActionBar-commands-block>*,
- .ebQuickActionBar-CommandsBlock>*, .ebQuickActionBar-commandsBlock>* {
- margin-left: 0.4rem;
- margin-right: 0.4rem;
- vertical-align: middle;
-}
-
-.ebQuickActionBar-Commands-block :last-child,
- .ebQuickActionBar-commands-block :last-child,
- .ebQuickActionBar-CommandsBlock :last-child,
- .ebQuickActionBar-commandsBlock :last-child {
- margin-right: 0;
-}
-
-.title {
- padding: 0px;
-}
-
-.dataTd {
- max-width: 1000px;
- word-wrap: break-word;
- white-space: normal !important;
-}
-
-body {
- font-family: 'Nunito Sans', sans-serif;
- font-weight: 400;
- line-height: 1.6;
- color: rgb(48, 47, 47);
- background-size: cover;
- background-repeat: no-repeat;
- min-height: calc(100vh - 2 * 4vw); }
-
-.container {
- max-width: 200rem;
- margin: 0vw auto;
- background-color: #fff;
- border-radius: 6px;
- overflow: hidden;
- box-shadow: 0 2rem 6rem 0.5rem rgba(101, 90, 86, 0.2);
- display: grid;
- grid-template-rows: 3rem minmax(100rem, auto);
- grid-template-columns: 0.4fr 3.4fr;
- grid-template-areas: "head head head" "list recipe shopping"; }
-
-.header {
- grid-area: head;
- background-color: #F9F5F3;
- display: flex;
- align-items: center;
- justify-content: space-between; }
-
-.onapLogo {
- padding-left: 15px;
- height: 24px;
- width: 100px;
- padding-top: 7px;
-}
-
-.pdps {
- padding: 1rem;
- background: #e6e6e6;}
- .pdps__list {
- list-style: none;
- margin-inline-start: -2em; }
- .pdps__link:hover {
- background-color: #F9F5F3;
- transform: translateY(-2px); }
- .pdps__link--active {
- background-color: #e6e6e6;
- font-weight: bold;}
-
-.statistics {
- background-color: #F9F5F3;
- border-top: 1px solid #fff; }
-
-.pdps__list li {
- list-style: none;
- margin: 5px 0 5px 20px;
-}
-.pdps__list li[level='0'] {
- margin-left: 0;
-}
-.pdps__list li:not(.parentNode) {
- padding-left: 2px;
-}
-.triangle {
- width:0;
- height:0;
- overflow:hidden;
- font-size: 0;
- line-height: 0;
- border-width:5px;
- transition: transform .2s;
- transform-origin: left center;
- border-style:solid dashed dashed dashed;
- border-color:transparent transparent transparent #000;
-}
-.closed .triangle {
- transform: rotateZ(90deg);
-}
-.pdps__list div.title {
- height: 21px;
- position: relative;
-}
-.pdps__list div.title i {
- position: absolute;
- top: 6px;
- left: 0;
-}
-.pdps__list div.title p {
- position: absolute;
- top: -3px;
- left: 15px;
- margin: 0;
-} \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/dist/images/logo_onap.png b/gui-pdp-monitoring/src/webapp/dist/images/logo_onap.png
deleted file mode 100644
index c6f6857..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/images/logo_onap.png
+++ /dev/null
Binary files differ
diff --git a/gui-pdp-monitoring/src/webapp/dist/index.html b/gui-pdp-monitoring/src/webapp/dist/index.html
deleted file mode 100644
index 4bb2745..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!--
- ============LICENSE_START=======================================================
- Copyright (C) 2020 Nordix Foundation.
- ================================================================================
- 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=========================================================
--->
-
-<html>
- <head>
- <meta charset="UTF-8">
-
- <title>ONAP Policy Client Monitoring</title>
-
- <!-- interface style -->
- <link rel="stylesheet" type="text/css" href="css/interfaceAssets.css">
- <!-- ChartLib style -->
- <link rel="stylesheet" type="text/css" href="css/papChartLib.css">
- <!-- Pdp services client style -->
- <link rel="stylesheet" type="text/css" href="css/styles.css">
-
- </head>
- <body>
- <div class="container">
- <header class="header">
- <div class="ebSystemBar">
- <img class="onapLogo" src="images/logo_onap.png" alt="ONAP">
- <div class="ebSystemBar-topMenuName">ONAP Policy Framework PDP Monitoring</div>
- <div class="ebSystemBar-config"></div>
- </div>
- </header>
- <div class="pdps">
- <h2>PDP List</h2>
- <ul class="pdps__list">
- </ul>
- </div>
- <div class="statistics">
- <div class="layoutWrapper">
- <div id="content" class="content">
- <h2>PDP (Policy Decision Point) Information</h2>
- <div class="engineService"></div>
- <h2>PDP Aggregated Statistics</h2>
- <div class="engineSummary"></div>
- <h2>PDP Engine Worker Statistics</h2>
- <div class="engineStatus"></div>
- </div>
- </div>
- </div>
- </div>
- <script type="text/javascript" src="bundle.js"></script>
- </body>
-</html> \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/dist/resources/16px/rowCollapsed_black_16px.svg b/gui-pdp-monitoring/src/webapp/dist/resources/16px/rowCollapsed_black_16px.svg
deleted file mode 100644
index 6878c86..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/resources/16px/rowCollapsed_black_16px.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
- <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
- xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
- x="0px" y="0px" width="16px" height="16px" viewBox="13 2437.971 16 16" enable-background="new 13 2437.971 16 16"
- xml:space="preserve">
-<defs>
-</defs>
-<rect display="none" fill="#66A19F" width="87" height="3280.97"/>
-<rect x="17" y="2441.97" fill="#FFFFFF" width="7" height="7"/>
-<path d="M24.5,2440.97c-0.275,0-7.725,0-8,0s-0.5,0.225-0.5,0.5s0,7.725,0,8s0.225,0.499,0.5,0.499c0.22,0,7.78,0,8,0
- c0.275,0,0.5-0.223,0.5-0.499s0-7.725,0-8S24.775,2440.97,24.5,2440.97z M24,2448.97h-7v-7.001h7V2448.97z"/>
-<line fill="none" stroke="#000000" stroke-miterlimit="10" x1="18" y1="2445.47" x2="23" y2="2445.47"/>
-<line fill="none" stroke="#000000" stroke-miterlimit="10" x1="20.5" y1="2447.97" x2="20.5" y2="2442.971"/>
-<rect x="13" y="2437.97" display="none" opacity="0.2" fill="#E94E47" width="16" height="16"/>
-</svg>
diff --git a/gui-pdp-monitoring/src/webapp/dist/resources/16px/rowExpanded_black_16px.svg b/gui-pdp-monitoring/src/webapp/dist/resources/16px/rowExpanded_black_16px.svg
deleted file mode 100644
index 5e3e46a..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/resources/16px/rowExpanded_black_16px.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
- <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
- xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
- x="0px" y="0px" width="16px" height="16px" viewBox="13 2405.971 16 16" enable-background="new 13 2405.971 16 16"
- xml:space="preserve">
-<defs>
-</defs>
-<rect display="none" fill="#66A19F" width="87" height="3280.97"/>
-<rect x="17" y="2409.97" fill="#FFFFFF" width="7" height="7"/>
-<path d="M24.5,2408.971c-0.275,0-7.725,0-8,0s-0.5,0.225-0.5,0.5s0,7.725,0,8s0.225,0.499,0.5,0.499c0.22,0,7.78,0,8,0
- c0.275,0,0.5-0.223,0.5-0.499s0-7.725,0-8S24.775,2408.971,24.5,2408.971z M24,2416.971h-7v-7.001h7V2416.971z"/>
-<line fill="none" stroke="#000000" stroke-miterlimit="10" x1="18" y1="2413.471" x2="23" y2="2413.471"/>
-<rect x="13" y="2405.97" display="none" opacity="0.2" fill="#E94E47" width="16" height="16"/>
-</svg>
diff --git a/gui-pdp-monitoring/src/webapp/dist/resources/16px/settings_black_16px.svg b/gui-pdp-monitoring/src/webapp/dist/resources/16px/settings_black_16px.svg
deleted file mode 100644
index c347888..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/resources/16px/settings_black_16px.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
- <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
- xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
- x="0px" y="0px" width="16px" height="16px" viewBox="13 101.971 16 16" enable-background="new 13 101.971 16 16"
- xml:space="preserve">
-<defs>
-</defs>
-<rect display="none" fill="#66A19F" width="87" height="3280.97"/>
-<path d="M28,110.97v-2h-2.101c-0.13-0.638-0.383-1.229-0.73-1.754l1.488-1.488l-1.414-1.414l-1.488,1.488
- c-0.524-0.347-1.117-0.601-1.755-0.731v-2.101h-2v2.101c-0.638,0.129-1.23,0.383-1.754,0.731l-1.488-1.488l-1.414,1.414l1.488,1.488
- c-0.347,0.524-0.601,1.116-0.731,1.754H14v2h2.101c0.13,0.638,0.384,1.23,0.731,1.755l-1.488,1.488l1.414,1.414l1.488-1.488
- c0.524,0.347,1.116,0.601,1.754,0.73v2.101h2v-2.101c0.638-0.129,1.23-0.383,1.754-0.731l1.489,1.489l1.414-1.414l-1.489-1.489
- c0.347-0.524,0.601-1.116,0.731-1.754H28z M21,112.47c-1.381,0-2.5-1.119-2.5-2.5s1.119-2.5,2.5-2.5s2.5,1.119,2.5,2.5
- S22.381,112.47,21,112.47z"/>
-<rect x="13" y="101.97" display="none" opacity="0.2" fill="#E94E47" width="16" height="16"/>
-</svg>
diff --git a/gui-pdp-monitoring/src/webapp/dist/resources/systemBar/help_black.svg b/gui-pdp-monitoring/src/webapp/dist/resources/systemBar/help_black.svg
deleted file mode 100644
index 14fdf5d..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/resources/systemBar/help_black.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="16px" height="16px" viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
-<path fill="#1D1D1B" d="M8,0C3.582,0,0,3.582,0,8s3.582,8,8,8s8-3.582,8-8S12.418,0,8,0z M8.608,12.149
- c-0.205,0.183-0.442,0.273-0.711,0.273c-0.277,0-0.521-0.09-0.728-0.27c-0.207-0.181-0.311-0.433-0.311-0.756
- c0-0.287,0.101-0.528,0.3-0.724c0.201-0.196,0.447-0.295,0.738-0.295c0.287,0,0.529,0.099,0.725,0.295
- c0.196,0.195,0.295,0.437,0.295,0.724C8.917,11.717,8.813,11.967,8.608,12.149z M10.46,6.227c-0.123,0.229-0.27,0.427-0.439,0.594
- C9.85,6.986,9.545,7.267,9.104,7.661c-0.122,0.111-0.22,0.208-0.293,0.292C8.738,8.038,8.684,8.114,8.647,8.185
- c-0.036,0.069-0.063,0.14-0.083,0.209c-0.02,0.07-0.049,0.193-0.089,0.368C8.408,9.135,8.194,9.32,7.837,9.32
- c-0.187,0-0.343-0.061-0.47-0.183C7.239,9.016,7.176,8.835,7.176,8.595c0-0.301,0.047-0.561,0.14-0.782
- c0.093-0.22,0.217-0.413,0.371-0.58C7.84,7.067,8.048,6.869,8.31,6.64c0.229-0.201,0.395-0.352,0.497-0.454
- c0.102-0.103,0.188-0.216,0.257-0.341c0.07-0.125,0.105-0.261,0.105-0.408c0-0.287-0.107-0.528-0.32-0.725S8.361,4.417,8.024,4.417
- c-0.394,0-0.684,0.099-0.87,0.298C6.968,4.913,6.811,5.206,6.682,5.593C6.56,5.998,6.329,6.2,5.989,6.2
- c-0.201,0-0.37-0.071-0.508-0.212C5.344,5.846,5.274,5.693,5.274,5.528c0-0.34,0.109-0.685,0.328-1.034
- C5.82,4.146,6.14,3.856,6.559,3.627s0.907-0.344,1.466-0.344c0.52,0,0.978,0.096,1.375,0.287c0.397,0.192,0.705,0.452,0.922,0.782
- c0.216,0.33,0.324,0.688,0.324,1.074C10.646,5.73,10.584,5.998,10.46,6.227z"/>
-</svg>
diff --git a/gui-pdp-monitoring/src/webapp/dist/resources/systemBar/logout_black.svg b/gui-pdp-monitoring/src/webapp/dist/resources/systemBar/logout_black.svg
deleted file mode 100644
index af297ac..0000000
--- a/gui-pdp-monitoring/src/webapp/dist/resources/systemBar/logout_black.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="16px" height="16px" viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
-<g>
- <g>
- <path fill="#1D1D1B" d="M10.77,12.455c0,0-0.684,0.192-0.684-0.684c0-0.199,0-0.861,0-1.711H5.98
- c-0.377,0-0.684-0.308-0.684-0.684V6.639c0-0.377,0.307-0.684,0.684-0.684h4.106c0-0.818,0-1.475,0-1.732
- c0-0.919,0.684-0.662,0.684-0.662l5.133,4.447L10.77,12.455z"/>
- </g>
- <path fill="#1D1D1B" d="M9.85,14H3.099c-0.551,0-1-0.447-1-1V3c0-0.552,0.449-1,1-1H9.85V0H3.099c-1.656,0-3,1.344-3,3v10
- c0,1.656,1.344,3,3,3H9.85V14z"/>
-</g>
-</svg>
diff --git a/gui-pdp-monitoring/src/webapp/js/MonitoringChart.js b/gui-pdp-monitoring/src/webapp/js/MonitoringChart.js
deleted file mode 100644
index 94a18df..0000000
--- a/gui-pdp-monitoring/src/webapp/js/MonitoringChart.js
+++ /dev/null
@@ -1,247 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020-2021 Nordix Foundation.
- * ================================================================================
- * 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 * as d3 from "d3";
-
-/*
- * Create a chart and append it to a container
- */
-function createChart(data, container, title, unit, lineStroke, nodeColour) {
- // Set the dimensions of the canvas
- var margin = {
- top: 30,
- right: 20,
- bottom: 30,
- left: 50
- }, width = 600 - margin.left - margin.right, height = 270 - margin.top
- - margin.bottom;
-
- // Set the ranges
- var x = d3.time.scale().range([0, width]);
- var y = d3.scale.linear().range([height, 0]);
-
- // Define the axes
- var xAxis = d3.svg.axis().scale(x).orient("bottom").ticks(5).innerTickSize(
- -height).outerTickSize(0).tickPadding(10);
-
- var yAxis = d3.svg.axis().scale(y).orient("left").ticks(10).innerTickSize(
- -width).outerTickSize(0).tickPadding(10);
-
- // Define the line
- var valueline = d3.svg.line().x(function (d) {
- return x(d.timestamp);
- }).y(function (d) {
- return y(d.value);
- });
-
- // Add the svg canvas to the container
- var svg = d3.select(container).append("svg").attr("preserveAspectRatio",
- "xMinYMin meet").attr("viewBox", "0 0 600 400").classed(
- "svg-content-responsive", true).append("g").attr("transform",
- "translate(" + margin.left + "," + margin.top + ")");
-
- // Set the unit for the value
- svg.attr("unit", unit);
-
- data = formatDataForChart(data);
-
- // Scale the range of the data
- x.domain(d3.extent(data, function (d) {
- return d.timestamp;
- }));
- y.domain([0, d3.max(data, function (d) {
- return Math.ceil((d.value + 1) / 10) * 10;
- })]);
-
- // Set the colour of the line
- if (!lineStroke) {
- lineStroke = "#5fbadd"
- }
-
- // Set the colour of the circles
- if (!nodeColour) {
- nodeColour = "#00A9D4"
- }
-
- // Add the valueline path
- svg.append("path").attr("class", "line").data(data).attr("unit", unit)
- .attr("stroke", lineStroke).attr("d", valueline(data));
-
- // Add the scatterplot
- svg.selectAll("circle").data(data).enter().append("circle").attr("r", 3.5)
- .attr("class", "circle").attr("fill", nodeColour).attr("cx",
- function (d) {
- return x(d.timestamp);
- }).attr("cy", function (d) {
- return y(d.value);
- })
-
- // Apply the tooltip to each node
- .on("mouseover", handleMouseOver)
- .on("mouseout", handleMouseOut);
-
- // Add the X Axis
- svg.append("g").attr("class", "x axis").attr("transform",
- "translate(0," + height + ")").call(xAxis);
-
- // Add the Y Axis
- svg.append("g").attr("class", "y axis").call(yAxis);
-
- // Add the title
- svg.append("text").attr("x", (width / 2)).attr("y", 0 - (margin.top / 2))
- .attr("text-anchor", "middle").style("font-size", "16px").style(
- "text-decoration", "underline").text(title);
-
- // Add the background
- svg.selectAll(".tick:not(:first-of-type) line").attr("stroke", "#777")
- .attr("stroke-dasharray", "2,2");
-}
-
-/*
- * Generates random chart data. Used when initializing the charts so that they
- * are not empty on load
- */
-function generateRandomData() {
- var data = [];
- for (var i = 0; i < 30; i++) {
- data.push({
- timestamp: new Date().getTime() - (i * 5000),
- value: Math.floor(Math.random() * 100) + 1
- });
- }
- return data;
-}
-
-/*
- * Update a chart belonging to a specific container
- */
-function updateChart(container, data, nodeColour) {
- var margin = {
- top: 30,
- right: 20,
- bottom: 30,
- left: 50
- }, width = 600 - margin.left - margin.right, height = 270 - margin.top
- - margin.bottom;
-
- data = formatDataForChart(data);
-
- // Select the chart
- var svg = d3.select(container);
-
- // Set the ranges
- var x = d3.time.scale().range([0, width]);
- var y = d3.scale.linear().range([height, 0]);
-
- // Define the axes
- var xAxis = d3.svg.axis().scale(x).orient("bottom").ticks(5).innerTickSize(
- -height).outerTickSize(0).tickPadding(10);
-
- var yAxis = d3.svg.axis().scale(y).orient("left").ticks(10).innerTickSize(
- -width).outerTickSize(0).tickPadding(10);
-
- // Scale the range of the data
- x.domain(d3.extent(data, function (d) {
- return d.timestamp;
- }));
- y.domain([0, d3.max(data, function (d) {
- return Math.ceil((d.value + 1) / 10) * 10;
- })]);
-
- // Update the valueline path
- var valueline = d3.svg.line().x(function (d) {
- return x(d.timestamp);
- }).y(function (d) {
- return y(d.value);
- });
-
- // Remove all nodes
- svg.selectAll("circle").remove();
-
- // Set the node colour if one is passed in
- if (!nodeColour) {
- nodeColour = "#00A9D4"
- }
-
- // Make the changes
- svg.select(".line").data(data) // change the line
- .transition().duration(750).attr("d", valueline(data));
- svg.select(".x.axis") // change the x axis
- .transition().duration(750).call(xAxis.ticks(5));
- svg.select(".y.axis") // change the y axis
- .transition().duration(750).call(yAxis);
-
- // Redraw the nodes based on the new data
- svg.select("svg").select("g").selectAll("circle").data(data).enter()
- .append("circle").attr("r", 3.5).attr("class", "circle").attr(
- "fill", nodeColour).attr("cx", function (d) {
- return x(d.timestamp);
- }).attr("cy", function (d) {
- return y(d.value);
- })
-
- // Apply the tooltip to each node
- .on("mouseover", handleMouseOver)
- .on("mouseout", handleMouseOut);
-
-}
-
-/*
- * Initialize a singleton div used as a floating tooltip for all charts
- */
-function initTooltip() {
- d3.select("body").append("div").attr("class", "tooltip").attr("id",
- "tooltip").style("opacity", 0);
-}
-
-/*
- * Format a date object to string
- */
-function formatDate(date) {
- return date.toLocaleString().replace(',', '');
-}
-
-function formatDataForChart(data) {
- // Format the data for the chart
- data.forEach(function (d) {
- d.value = +d.value;
- });
-
- return data;
-}
-
-function handleMouseOver(d) {
- var unit = svg.select(".line").attr("unit");
-
- d3.select("body").select(".tooltip").transition()
- .duration(50).style("opacity", 1);
- d3.select("body").select(".tooltip").html(
- formatDate(new Date(d.timestamp)) + "<br/>"
- + d.value + (unit ? " " + unit : ""))
- .style("left", (d3.event.pageX) + "px").style(
- "top", (d3.event.pageY - 28) + "px");
-}
-
-function handleMouseOut(d) {
- d3.select("body").select(".tooltip").transition()
- .duration(500).style("opacity", 0);
-}
-
-export {initTooltip, createChart, updateChart, generateRandomData};
diff --git a/gui-pdp-monitoring/src/webapp/js/MonitoringConfig.js b/gui-pdp-monitoring/src/webapp/js/MonitoringConfig.js
deleted file mode 100644
index 6e5200e..0000000
--- a/gui-pdp-monitoring/src/webapp/js/MonitoringConfig.js
+++ /dev/null
@@ -1,126 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020-2021 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-
-// Configuration used for page layout and charts
-const config = {
- refresh: 5000,
- engineService: {
- parent: "engineService",
- tableId: "engineServicesTable",
- headers: [{
- title: "Engine Service ID",
- id: "engine_id"
- }, {
- title: "GroupName",
- id: "group_name"
- }, {
- title: "SubGroupName",
- id: "subgroup_name"
- }, {
- title: "HealthStatus",
- id: "health_status"
- }, {
- title: "PdpState",
- id: "pdp_state"
- }, {
- title: "Pap server:port",
- id: "server_port"
- }]
- },
- engineSummary: {
- parent: "engineSummary",
- tableId: "engineSummaryTable",
- headers: [{
- title: "Timestamp",
- id: "timestamp"
- }, {
- title: "Sum of policy deploy",
- id: "policy_deploy"
- }, {
- title: "Sum of policy deploy success",
- id: "policy_deploy_success"
- }, {
- title: "Sum of policy deploy fail",
- id: "policy_deploy_fail"
- }, {
- title: "Sum of policy executions",
- id: "policy_executions"
- }, {
- title: "Sum of policy executions success",
- id: "policy_executions_success"
- }, {
- title: "Sum of policy executions fail",
- id: "policy_executions_fail"
- }, {
- title: "Up Time(ms)",
- id: "up_time"
- }],
- chart: {
- avgPolicyDurationChart: {
- parent: "avgPolicyDuration",
- title: "Average Policy Duration (ms)",
- unit: "ms",
- lineStroke: "#5FBADD",
- nodeColour: "#00A9D4"
- },
- }
- },
- engineStatus: {
- parent: "engineStatus",
- tableId: "engineStatusTable",
- headers: [{
- title: "Timestamp",
- id: "timestamp"
- }, {
- title: "Engine ID",
- id: "engine_id"
- }, {
- title: "Engine Status",
- id: "engine_status"
- }, {
- title: "Last Message",
- id: "last_message"
- }, {
- title: "Up Time (ms)",
- id: "up_time"
- }, {
- title: "Policy Executions",
- id: "policy_executions"
- }]
- },
- engineChart: {
- lastPolicyDurationChart: {
- parent: "lastPolicyDurationChart",
- title: "Last Policy Duration (ms)",
- unit: "ms",
- lineStroke: "#F5A241",
- nodeColour: "#F08A00"
- },
- averagePolicyDurationChart: {
- parent: "averagePolicyDurationChart",
- title: "Average Policy Duration (ms)",
- unit: "ms",
- lineStroke: "#00625F",
- nodeColour: "#007B78"
- }
- }
-};
-
-export { config, };
diff --git a/gui-pdp-monitoring/src/webapp/js/MonitoringMain.js b/gui-pdp-monitoring/src/webapp/js/MonitoringMain.js
deleted file mode 100644
index 48aa96c..0000000
--- a/gui-pdp-monitoring/src/webapp/js/MonitoringMain.js
+++ /dev/null
@@ -1,111 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020-2021 Nordix Foundation.
- * ================================================================================
- * 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 $ from "jquery";
-import { initTooltip } from "./MonitoringChart";
-import { getEngineURL, clearEngineURL, setUpPage,
- removeChildrenElementsByClass, ajax_get_statistics
-} from "./MonitoringUtils";
-import { setEngineServiceData } from "./PdpInformation";
-import { config } from "./MonitoringConfig";
-import { setEngineSummaryData } from "./PdpStatisticsSummary";
-import { highlightSelected } from "./PdpListView";
-import { setEngineStatusData } from "./PdpEngineWorkerStatus";
-
-function servicesCallback(data){
- var engineURL = localStorage.getItem("pap-monitor-services");
- if (engineURL) {
- engineURL = JSON.parse(engineURL);
- if (engineURL.hostname === data.server && engineURL.port === data.port) {
- setEngineServiceData(data.engineId, window.groupName, window.subGroupName, data.healthStatus, data.pdpState, data.server, data.port);
- setEngineSummaryData(data.status, data.timeStamp, data.policyDeployCount, data.policyDeploySuccessCount, data.policyDeployFailCount, data.policyExecutedCount, data.policyExecutedSuccessCount, data.policyExecutedFailCount);
-
- if (window.engine_id === data.engineId){
- setEngineStatusData(data.status, false);
- }else{
- removeChildrenElementsByClass(config.engineStatus.parent);
- setEngineStatusData(data.status, true);
- }
-
- window.engine_id = data.engineId;
-
- // Make content visible after data has been returned for the first time
- if (!$(".content").is(':visible')) {
- $(".content").fadeIn();
- }
-
- // Repeat the same request
- setTimeout(function() {
- window.servicesCall = ajax_get_statistics(window.restRootURL + "statistics/", servicesCallback,
- window.services.useHttps, window.services.hostname, window.services.port,
- window.services.username, window.services.password, window.id);
- }, config.refresh);
- }
- }
-}
-
-/*
- * Called after the DOM is ready
- */
-function readyCallback() {
- window.restRootURL = location.protocol
- + "//"
- + window.location.hostname
- + ':' + window.location.port
- + window.location.pathname
- + "papservices/monitoring/";
- // Initialize tooltip for the charts
- initTooltip();
-
- // Set up the structure of the page
- setUpPage(true);
-
- // Check cookies for engine URL
- getEngineURL();
-
- // Add click event to config icon for clearing engine URL
- $(".ebSystemBar-config").click(
- function() {
- // Clear the engine URL
- clearEngineURL(true);
-
- // Request the engine URL
- getEngineURL();
- }
- );
-
- ['hashchange', 'load'].forEach(event => window.addEventListener(event, function () {
- // Get ID from url
- window.id = window.location.hash.replace('#', '');
- if (window.id !== '') {
- var arr = window.id.split("/");
- window.groupName = arr[0];
- window.subGroupName = arr[1];
- highlightSelected(window.id);
- ajax_get_statistics(restRootURL + "statistics/", servicesCallback,
- window.services.useHttps, window.services.hostname, window.services.port,
- window.services.username, window.services.password, window.id);
- }
- }));
-}
-
-$(document).ready(readyCallback);
-// Export for unit testing
-export { readyCallback, servicesCallback };
diff --git a/gui-pdp-monitoring/src/webapp/js/MonitoringTable.js b/gui-pdp-monitoring/src/webapp/js/MonitoringTable.js
deleted file mode 100644
index 229ef6a..0000000
--- a/gui-pdp-monitoring/src/webapp/js/MonitoringTable.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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=========================================================
- */
-
-/*
- * Create a table with given headers
- */
-function createEngineTable(parent, id, tableHeaders) {
- var table = createTable(id);
-
- var tableHead = document.createElement("thead");
- table.appendChild(tableHead);
- tableHead.setAttribute("id", "engineTableHeader");
-
- var tableHeaderRow = document.createElement("tr");
- tableHead.appendChild(tableHeaderRow);
- tableHeaderRow.setAttribute("id", "engineTableHeaderRow");
-
- for ( var t in tableHeaders) {
- var tableHeader = document.createElement("th");
- tableHeaderRow.appendChild(tableHeader);
- tableHeader.setAttribute("id", "engineTableHeader");
- tableHeader.appendChild(document.createTextNode(tableHeaders[t]));
- }
-
- var tableBody = document.createElement("tbody");
- tableBody.setAttribute("id", "engineTableBody");
- table.appendChild(tableBody);
-
- parent.append(table);
-
- return table;
-}
-
-/*
- * Create a table and apply UISDK styles to it
- */
-function createTable(id) {
- var table = document.createElement("table");
- table.setAttribute("id", id);
- table.setAttribute("class", "papTable ebTable elTablelib-Table-table ebTable_striped");
- return table;
-}
-
-export { createEngineTable }; \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/MonitoringUtils.js b/gui-pdp-monitoring/src/webapp/js/MonitoringUtils.js
deleted file mode 100644
index 2f2b044..0000000
--- a/gui-pdp-monitoring/src/webapp/js/MonitoringUtils.js
+++ /dev/null
@@ -1,417 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 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 $ from "jquery";
-import { createEngineServiceTable } from "./PdpInformation";
-import { createEngineSummaryTable } from "./PdpStatisticsSummary";
-import { RenderPdpList } from "./PdpListView";
-
-/*
- * Crate a dialog with input, attach it to a given parent and show an optional message
- */
-function papDialogFormActivate(formParent, message) {
- papUtilsRemoveElement("papDialogDiv");
-
- var contentelement = document.createElement("papDialogDiv");
- var formDiv = document.createElement("div");
- var backgroundDiv = document.createElement("div");
- backgroundDiv.setAttribute("id", "papDialogDivBackground");
- backgroundDiv.setAttribute("class", "papDialogDivBackground");
-
- backgroundDiv.appendChild(formDiv);
- contentelement.appendChild(backgroundDiv);
- formParent.appendChild(contentelement);
-
- formDiv.setAttribute("id", "papDialogDiv");
- formDiv.setAttribute("class", "papDialogDiv");
-
- var headingSpan = document.createElement("span");
- formDiv.appendChild(headingSpan);
-
- headingSpan.setAttribute("class", "headingSpan");
- headingSpan.innerHTML = "PAP Configuration";
-
- var form = document.createElement("papDialog");
- formDiv.appendChild(form);
-
- form.setAttribute("id", "papDialog");
- 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 services = localStorage.getItem("pap-monitor-services_old");
- //url
- var input = createDialogList(form, "papDialogUrlInput","Pap rest baseURL:", "services_url_input", "http://localhost:12345", (services && services !== "null") ? JSON.parse(services).useHttps + "://" + JSON.parse(services).hostname + ":"
- + JSON.parse(services).port : "");
-
- //UserName
- createDialogList(form, "papDialogUsernameInput","Pap UserName:", "services_username_input", "username", (services && services !== "null") ? JSON.parse(services).username : "");
-
- //Password
- createDialogList(form, "papDialogPasswordInput","Pap Password:", "services_password_input", "password", (services && services !== "null") ? JSON.parse(services).password : "");
-
- //submit
- 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 = papDialogFormSubmitPressed;
- inputLI.appendChild(submitInput);
-
- // Enter key press triggers submit
- $(input).keyup(function(event) {
- if (event.keyCode == 13) {
- $(submitInput).click();
- }
- });
-
- input.focus();
-}
-
-function createDialogList(form, forA, reminder, id, placeholder, value_old){
- var diaLI = document.createElement("li");
- form.appendChild(diaLI);
-
- var diaLabel = document.createElement("label");
- diaLI.appendChild(diaLabel);
-
- diaLabel.setAttribute("for", forA);
- diaLabel.innerHTML = reminder;
-
- var diaLabelSpan = document.createElement("span");
- diaLabel.appendChild(diaLabelSpan);
-
- diaLabelSpan.setAttribute("class", "required");
- diaLabelSpan.innerHTML = "*";
-
- var input = document.createElement("input");
- input.setAttribute("id", id);
- input.setAttribute("placeholder", placeholder);
- input.value = value_old;
- diaLI.appendChild(input);
- return input;
-}
-
-/*
- * Create a dialog for displaying text
- */
-function papTextDialogActivate(formParent, message, title) {
- papUtilsRemoveElement("papDialogDiv");
-
- var contentelement = document.createElement("div");
- contentelement.setAttribute("id", "papDialogDiv")
- var formDiv = document.createElement("div");
- var backgroundDiv = document.createElement("div");
- backgroundDiv.setAttribute("id", "papDialogDivBackground");
- backgroundDiv.setAttribute("class", "papDialogDivBackground");
-
- backgroundDiv.appendChild(formDiv);
- contentelement.appendChild(backgroundDiv);
- formParent.appendChild(contentelement);
-
- formDiv.setAttribute("id", "papErrorDialogDiv");
- formDiv.setAttribute("class", "papDialogDiv papErrorDialogDiv");
-
- 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", "papDialog");
- 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 = newModelFormCancelPressed;
- form.appendChild(cancelInput);
-}
-
-/*
- * Create a Success dialog
- */
-function papSuccessDialogActivate(formParent, message) {
- papTextDialogActivate(formParent, message, "Success");
-}
-
-/*
- * Create an Error dialog
- */
-function papErrorDialogActivate(formParent, message) {
- papTextDialogActivate(formParent, message, "Error");
-}
-
-/*
- * Dialog cancel callback
- */
-function newModelFormCancelPressed() {
- papUtilsRemoveElement("papDialogDivBackground");
-}
-
-/*
- * Dialog submit callback
- */
-function papDialogFormSubmitPressed() {
- var url = $('#services_url_input').val();
- var userName = $('#services_username_input').val();
- var passWord = $('#services_password_input').val();
- if (url.length > 0 && userName.length > 0 && passWord.length > 0) {
- var engineConfig = {
- useHttps : url.split(":")[0] == "https"? "https": "http",
- hostname : url.split(":")[1].split("//")[1],
- port : url.split(":")[2],
- username : userName,
- password : passWord
- };
- localStorage.setItem("pap-monitor-services_old", JSON.stringify(engineConfig));
- localStorage.setItem("pap-monitor-services", JSON.stringify(engineConfig));
- papUtilsRemoveElement("papDialogDivBackground");
- getEngineURL();
- }
-}
-
-/*
- * Remove an element from the page
- */
-function papUtilsRemoveElement(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("/monitoring/") ? location.pathname.substring(0, location.pathname
- .indexOf("monitoring/")) : location.pathname);
- location.href = homepageURL;
-}
-
-function removeChildrenElementsByClass(className){
- var elements = document.getElementsByClassName(className);
- elements[0].innerHTML = '';
-}
-
-/*
- * Clears and resets all content on the page
- */
-function setUpPage(clearPdps) {
- // Hide all content
- $('#content').hide();
-
- // Clear each div
- $('#content > div').each(function () {
- $(this).empty();
- });
-
- // clear hashchange
- history.replaceState(null, null, ' ');
-
- //remove last search result of pdps.
- if (clearPdps) {
- removeChildrenElementsByClass('pdps__list');
- } else {
- localStorage.setItem("pap-monitor-services", localStorage.getItem("pap-monitor-services_old"));
- }
-
- // Reset trackers for tables
- window.engineStatusTables = [];
-
- // Set up content div's
- createEngineServiceTable();
- createEngineSummaryTable();
-}
-
-/*
- * Retrieves the engine URL from the cookie. If it has not been set yet, then a
- * dialog is shown asking for it
- */
-function getEngineURL(message) {
- // The engine URL is stored in a cookie using the key
- // "pap-monitor-services"
- var services = localStorage.getItem("pap-monitor-services");
-
- // If an engine URL is stored in the cookie
- if (services) {
- // Parse the engine URL
- window.services = JSON.parse(services);
-
- // Send a request with that engine URL
- ajax_get(window.restRootURL, getPdpList,
- window.services.useHttps, window.services.hostname, window.services.port,
- window.services.username, window.services.password);
- } else {
- // Prompt for engine URL
- papDialogFormActivate(document.body, message);
- }
-}
-
-/*
- * Clears the cookie and reset the page
- */
-function clearEngineURL(clearPdps) {
-
- if (typeof window.servicesCall !== "undefined") {
- window.servicesCall.abort();
- }
-
- // Remove engine URL from cookie
- localStorage.removeItem("pap-monitor-services");
-
- // Reset the page
- setUpPage(clearPdps);
-}
-
-function getPdpList(data) {
- const pdpArray = [];
- for (let value of data.groups) {
- var map = {};
- map.title = value.name;
- map.children = [];
- (value.pdpSubgroups).forEach((pdpSubgroup, index) => {
- map.children[index] = {};
- map.children[index].title = pdpSubgroup.pdpType;
- const instanceId = [];
- pdpSubgroup.pdpInstances.forEach(pdpInstance => {
- var instanceIdMap = {};
- instanceIdMap.title = pdpInstance.instanceId;
- instanceId.push(instanceIdMap)
- });
- map.children[index].children = instanceId;
- });
- pdpArray.push(map);
- }
- RenderPdpList(pdpArray, 'pdps__list');
-}
-
-/*
- * Send a GET request
- */
-function ajax_get(requestURL, callback, useHttps, hostname, port, username, password, params, errorCallback) {
- var data = {
- useHttps: useHttps,
- hostname: hostname,
- port: port,
- username: username,
- password: password
- };
- for (var p in params) {
- data[p] = params[p];
- }
- return $.ajax({
- type: 'GET',
- url: requestURL,
- dataType: "json",
- data: data,
- success: function (data, textStatus, jqXHR) {
- if (callback) {
- callback(data);
- }
- },
- error: function (jqXHR, textStatus, errorThrown) {
- if (jqXHR.status == 500 || jqXHR.status == 404) {
- if (jqXHR.status == 404 || jqXHR.responseText.indexOf("Request failed.") !== -1) {
- clearEngineURL(true);
- getEngineURL("Cannot connect to PAP");
- } else {
- papErrorDialogActivate(document.body, jqXHR.responseText);
- }
- }
- if (errorCallback) {
- errorCallback(jqXHR, textStatus, errorThrown);
- }
- }
- });
-}
-
-function ajax_get_statistics(requestURL, callback, useHttps, hostname, port, username, password, id, params, errorCallback) {
- var data = {
- useHttps: useHttps,
- hostname: hostname,
- port: port,
- username: username,
- password: password,
- id: id
- };
- for (var p in params) {
- data[p] = params[p];
- }
- return $.ajax({
- type: 'GET',
- url: requestURL,
- dataType: "json",
- data: data,
- success: function (data, textStatus, jqXHR) {
- if (callback) {
- callback(data);
- }
- },
- error: function (jqXHR, textStatus, errorThrown) {
- if (jqXHR.status == 500 || jqXHR.status == 404) {
- clearEngineURL(false);
- papErrorDialogActivate(document.body, "Failed to get Statistics in DB.");
- }
- if (errorCallback) {
- errorCallback(jqXHR, textStatus, errorThrown);
- }
- }
- });
-}
-
-export {
- removeChildrenElementsByClass,
- papDialogFormActivate,
- papErrorDialogActivate,
- clearEngineURL,
- getEngineURL,
- setUpPage,
- ajax_get,
- ajax_get_statistics,
- papUtilsRemoveElement,
-}; \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/PdpEngineWorkerStatus.js b/gui-pdp-monitoring/src/webapp/js/PdpEngineWorkerStatus.js
deleted file mode 100644
index f130617..0000000
--- a/gui-pdp-monitoring/src/webapp/js/PdpEngineWorkerStatus.js
+++ /dev/null
@@ -1,148 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 $ from "jquery";
-import { createEngineTable } from "./MonitoringTable";
-import { config } from "./MonitoringConfig";
-import { createChart, updateChart } from "./MonitoringChart";
-/*
- * Create an Engine Status Table and its charts
- */
-function createEngineStatusTable(id, startStopStatus) {
- var tableId = config.engineStatus.tableId;
- var headers = config.engineStatus.headers;
-
- // Create a wrapper div for both the table and the charts
- var wrapper = document.createElement("div");
- wrapper.setAttribute("id", id + "_wrapper");
- wrapper.setAttribute("class", "wrapper");
- $("." + config.engineStatus.parent).append(wrapper);
-
- // Create the table
- var table = createEngineTable($(wrapper), id, headers.map(function(a) {
- return a.title;
- }));
- var tableRow = document.createElement("tr");
- var tableData = "";
- for ( var h in headers) {
- tableData += "<td id=" + tableId + "_" + headers[h].id + "></td>";
- }
- tableRow.innerHTML = tableData;
- // var actionTD = $(tableRow).find("#" + tableId + "_action");
- // var checked = (startStopStatus === "STOPPED") ? "checked" : "";
- var chartWrapper = document.createElement("div");
- chartWrapper.setAttribute("id", "chartWrapper");
-
- $(table).children("#engineTableBody").append(tableRow);
-
- var expand = document.createElement("i");
- expand.setAttribute("class", "ebIcon ebIcon_rowExpanded ebIcon_large ebIcon_interactive expandIcon");
- $(expand).click(function() {
- if ($(chartWrapper).is(":visible")) {
- expand.setAttribute("class", "ebIcon ebIcon_rowCollapsed ebIcon_large ebIcon_interactive expandIcon");
- } else {
- expand.setAttribute("class", "ebIcon ebIcon_rowExpanded ebIcon_large ebIcon_interactive expandIcon");
- }
- $(chartWrapper).slideToggle();
- }.bind(window));
- $(wrapper).append(expand);
- $(wrapper).append(chartWrapper);
- return table;
-}
-
-/*
- * Check for any changes in the Engine Status Table data and its charts and
- * update only where necessary
- */
-function setEngineStatusData(engineStatusData, changed) {
- var tableId = config.engineStatus.tableId;
- var headers = config.engineStatus.headers.map(function(a) {
- return a.id;
- });
- for ( var esd in engineStatusData) {
- var id = tableId + "_" + engineStatusData[esd].id;
- var existingTable = undefined;
- for ( var est in window.engineStatusTables) {
- if (id === window.engineStatusTables[est].getAttribute("id")) {
- existingTable = window.engineStatusTables[est];
- }
- }
-
- var data = [ engineStatusData[esd].timestamp, id.split("_")[1], engineStatusData[esd].status,
- engineStatusData[esd].lastMessage, engineStatusData[esd].upTime,
- engineStatusData[esd].policyExecutions ];
-
- var table = existingTable;
- // If no table already exists for the engine, add one
- if (!table || changed) {
- table = createEngineStatusTable(id, engineStatusData[esd].status);
- table.setAttribute("id", id);
- table.style["margin-bottom"] = "10px";
- table.style.display = "inline-block";
- window.engineStatusTables.push(table);
- }
-
- // Update data in table
- for ( var h in headers) {
- var td = $(table).find("#" + tableId + "_" + headers[h]);
- if (td.html() !== data[h]) {
- $(table).find("#" + tableId + "_" + headers[h]).html(data[h]);
- }
- }
-
- // Update charts
- var wrapper = $(table).parent();
- var chartWrapper = $(wrapper).find("#chartWrapper")
-
- var chartConfig = config.engineChart.lastPolicyDurationChart;
- var lastPolicyDurationChart = wrapper.find("#" + chartConfig.parent)[0];
- if (lastPolicyDurationChart) {
- updateChart(lastPolicyDurationChart, JSON.parse(engineStatusData[esd].lastPolicyDuration),
- chartConfig.nodeColour);
- } else {
- chartConfig = config.engineChart.lastPolicyDurationChart;
- var lastPolicyDurationDiv = document.createElement("div");
- lastPolicyDurationDiv.setAttribute("id", chartConfig.parent);
- lastPolicyDurationDiv.setAttribute("class", "papChart");
-
- createChart(engineStatusData[esd].lastPolicyDuration, lastPolicyDurationDiv,
- chartConfig.title, chartConfig.unit, chartConfig.lineStroke, chartConfig.nodeColour);
- $(chartWrapper).append(lastPolicyDurationDiv);
- }
-
- chartConfig = config.engineChart.averagePolicyDurationChart;
- var averagePolicyDurationChart = wrapper.find("#" + chartConfig.parent)[0];
- if (averagePolicyDurationChart) {
- updateChart(averagePolicyDurationChart, JSON.parse(engineStatusData[esd].averagePolicyDuration),
- chartConfig.nodeColour);
- } else {
- chartConfig = config.engineChart.averagePolicyDurationChart;
- var averagePolicyDurationDiv = document.createElement("div");
- averagePolicyDurationDiv.setAttribute("id", chartConfig.parent);
- averagePolicyDurationDiv.setAttribute("class", "papChart");
- createChart(engineStatusData[esd].averagePolicyDuration, averagePolicyDurationDiv,
- chartConfig.title, chartConfig.unit, chartConfig.lineStroke, chartConfig.nodeColour);
- $(chartWrapper).append(averagePolicyDurationDiv);
- }
-
- }
-}
-
-export { setEngineStatusData, }; \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/PdpInformation.js b/gui-pdp-monitoring/src/webapp/js/PdpInformation.js
deleted file mode 100644
index f25c245..0000000
--- a/gui-pdp-monitoring/src/webapp/js/PdpInformation.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020-2021 Nordix Foundation.
- * ================================================================================
- * 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 $ from "jquery";
-import { config } from "./MonitoringConfig";
-import { createEngineTable } from "./MonitoringTable";
-
-/*
- * Create the Engine Service Table
- */
-function createEngineServiceTable() {
- var tableId = config.engineService.tableId;
- var headers = config.engineService.headers;
- var table = createEngineTable($("." + config.engineService.parent), tableId, headers.map(function(a) {
- return a.title;
- }));
- var tableRow = document.createElement("tr");
- var tableData = "";
- for ( var h in headers) {
- tableData += "<td id=" + tableId + "_" + headers[h].id + "></td>";
- }
- tableRow.innerHTML = tableData;
- $(table).children("#engineTableBody").append(tableRow);
-}
-
-/*
- * Check for any changes in the Engine Service Table data and update only where
- * necessary
- */
-function setEngineServiceData(engineId, groupName, subGroupName, healthStatus, pdpState, server, port) {
- window.engineId = engineId;
- var tableId = config.engineService.tableId;
- var headers = config.engineService.headers.map(function(a) {
- return a.id;
- });
- var data = [ engineId, groupName, subGroupName, healthStatus, pdpState, server + ":" + port ];
-
- var engineServiceTable = $("#engineServicesTable");
-
- for ( var h in headers) {
- var td = engineServiceTable.find("#" + tableId + "_" + headers[h]);
- if (td.html() !== data[h]) {
- engineServiceTable.find("#" + tableId + "_" + headers[h]).html(data[h]);
- }
- }
-}
-
-export { createEngineServiceTable, setEngineServiceData }; \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/PdpListView.js b/gui-pdp-monitoring/src/webapp/js/PdpListView.js
deleted file mode 100644
index 1e248ce..0000000
--- a/gui-pdp-monitoring/src/webapp/js/PdpListView.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * 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 RenderPdpList(treeArr, className) {
- var $ = treeArr,
- root = document.createDocumentFragment(),
- childLevel = 0
- var index=''
- var isNode=false
- function insertChildren(parentNode, traverseArr, subGroup) {
-
- for(let value of traverseArr) {
- if(parentNode === root) {
- childLevel = 0
- }
- var currentLi = document.createElement('li')
- currentLi.setAttribute('level', childLevel)
- if(value.children && value.children.length > 0) {
- var title = document.createElement('div')
- var triangle = document.createElement('i')
- var text = document.createElement('p')
- currentLi.classList.add('parentNode')
- title.classList.add('title')
- triangle.classList.add('triangle')
- text.innerText = value.title
- title.appendChild(triangle)
- title.appendChild(text)
- currentLi.appendChild(title)
- childLevel++
- if(isNode) index=""
- if(subGroup !== null){
- index+= subGroup+"/"
- }
- insertChildren(currentLi, value.children, value.title)
- }else {
- var a = document.createElement('a')
- a.setAttribute('href',"#"+index+subGroup+"/"+value.title)
- a.classList.add('pdps__link')
- a.textContent= value.title
- currentLi.appendChild(a)
- isNode=true
- }
- parentNode.appendChild(currentLi)
- }
- }
- insertChildren(root, $, null)
- document.querySelector('ul.' + className + '').appendChild(root)
-}
-
-function highlightSelected (id){
- const resultsArr = Array.from(document.querySelectorAll('.pdps__link'));
- resultsArr.forEach(el => {
- el.classList.remove('pdps__link--active');
- });
- document.querySelector(`.pdps__link[href*="${id}"]`).classList.add('pdps__link--active');
-}
-
-export { RenderPdpList, highlightSelected, }; \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/PdpStatisticsSummary.js b/gui-pdp-monitoring/src/webapp/js/PdpStatisticsSummary.js
deleted file mode 100644
index b8065bb..0000000
--- a/gui-pdp-monitoring/src/webapp/js/PdpStatisticsSummary.js
+++ /dev/null
@@ -1,142 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 $ from "jquery";
-import { config } from "./MonitoringConfig";
-import { createEngineTable } from "./MonitoringTable";
-import { createChart, updateChart } from "./MonitoringChart";
-import { papUtilsRemoveElement } from "./MonitoringUtils";
-
-/*
- * Create the Engine Service Table
- */
-function createEngineSummaryTable() {
- var tableId = config.engineSummary.tableId;
- var headers = config.engineSummary.headers;
-
- // Create a wrapper div for both the table and the charts
- var wrapper = document.createElement("div");
- wrapper.setAttribute("id", "engineSummary_wrapper");
- wrapper.setAttribute("class", "wrapper_borderless");
- $("." + config.engineSummary.parent).append(wrapper);
-
- var table = createEngineTable($(wrapper), tableId, headers.map(function(a) {
- return a.title;
- }));
- var tableRow = document.createElement("tr");
- var tableData = "";
- for ( var h in headers) {
- tableData += "<td id=" + tableId + "_" + headers[h].id + "></td>";
- }
- tableRow.innerHTML = tableData;
-
- $(table).children("#engineTableBody").append(tableRow);
-
-}
-
-function setEngineSummaryData(data, timeStamp, policyDeployCount, policyDeploySuccessCount, policyDeployFailCount, policyExecutedCount, policyExecutedSuccessCount, policyExecutedFailCount) {
- _setEngineSummaryData(timeStamp, getAvgPolicyDuration(data), policyDeployCount, policyDeploySuccessCount, policyDeployFailCount, policyExecutedCount, policyExecutedSuccessCount, policyExecutedFailCount, getUptimeOfOldestEngine(data));
-}
-
-/*
- * Check for any changes in the Engine Summary Table data and update only where
- * necessary
- */
-function _setEngineSummaryData(timestamp, avgPolicyDuration, policyDeployCount, policyDeploySuccessCount, policyDeployFailCount, policyExecutedCount, policyExecutedSuccessCount, policyExecutedFailCount, upTime) {
-
- var tableId = config.engineSummary.tableId;
- var headers = config.engineSummary.headers.map(function(a) {
- return a.id;
- });
- var data = [ timestamp, policyDeployCount, policyDeploySuccessCount, policyDeployFailCount, policyExecutedCount, policyExecutedSuccessCount, policyExecutedFailCount ,upTime == -1? "N/A":upTime];
-
- var engineSummaryTable = $("#engineSummaryTable");
-
- for ( var h in headers) {
- var td = engineSummaryTable.find("#" + tableId + "_" + headers[h]);
- if (td.html() !== data[h]) {
- engineSummaryTable.find("#" + tableId + "_" + headers[h]).html(data[h]);
- }
- }
-
- // Update charts
- var wrapper = engineSummaryTable.parent();
- var chartConfig = config.engineSummary.chart.avgPolicyDurationChart;
- var avgPolicyDurationChart = wrapper.find("#" + chartConfig.parent)[0];
- if (avgPolicyDuration.length) {
- if (avgPolicyDurationChart) {
- updateChart(avgPolicyDurationChart, avgPolicyDuration, chartConfig.nodeColour);
- } else {
- var avgPolicyDurationDiv = document.createElement("div");
- avgPolicyDurationDiv.setAttribute("id", chartConfig.parent);
- avgPolicyDurationDiv.setAttribute("class", "papChart_inline");
- createChart(avgPolicyDuration, avgPolicyDurationDiv, chartConfig.title, chartConfig.unit,
- chartConfig.lineStroke, chartConfig.nodeColour);
- $(wrapper).append(avgPolicyDurationDiv);
- }
- } else if (avgPolicyDurationChart){
- papUtilsRemoveElement(chartConfig.parent);
- }
-}
-
-function getUptimeOfOldestEngine(data) {
- var oldestUpTime = -1;
- for ( var d in data) {
- if (data[d].upTime > oldestUpTime) {
- oldestUpTime = data[d].upTime;
- }
- }
- return oldestUpTime;
-}
-
-function getSumOfPolicyExecutions(data) {
- var totalPolicyExecutions = 0;
- for ( var d in data) {
- totalPolicyExecutions += data[d].policyExecutions;
- }
- return totalPolicyExecutions;
-}
-
-function getAvgPolicyDuration(data) {
- var chartData = [];
- var avgPolicyDurations = [];
- for ( var d in data) {
- var avgPolicyDuration = data[d].averagePolicyDuration;
- avgPolicyDurations.push(avgPolicyDuration);
- }
-
- if (avgPolicyDurations.length > 0) {
- chartData = avgPolicyDurations[0];
- for (var i = 1; i < avgPolicyDurations.length; i++) {
- var engineData = avgPolicyDurations[i];
- for ( var c in chartData) {
- chartData[c].value += engineData[c].value;
- }
- }
- }
-
- for ( var c2 in chartData) {
- chartData[c2].value = Math.round(chartData[c2].value / data.length);
- }
-
- return chartData;
-}
-
-export { createEngineSummaryTable, setEngineSummaryData, }; \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringChart.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringChart.test.js
deleted file mode 100644
index 6fa0e05..0000000
--- a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringChart.test.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 * as MonitoringChart from "../MonitoringChart";
-
-const data = MonitoringChart.generateRandomData();
-const container = null;
-const title = null;
-const unit = null;
-const lineStroke = "";
-const nodeColour = "";
-
-test("test create chart is available", () => {
- MonitoringChart.createChart(data, container, title, unit, lineStroke, nodeColour);
- expect(data.length).toBe(30);
-});
-
-test("update Chart", () => {
- MonitoringChart.initTooltip;
- expect(data.length).toBe(30);
-});
-
-
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringMain.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringMain.test.js
deleted file mode 100644
index cfbfaf6..0000000
--- a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringMain.test.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 * as sut from "../MonitoringMain";
-
-import * as MonitoringChart from "../MonitoringChart";
-import * as MonitoringUtils from "../MonitoringUtils";
-import * as PdpInformation from "../PdpInformation";
-import * as PdpStatisticsSummary from "../PdpStatisticsSummary";
-import * as PdpEngineWorkerStatus from "../PdpEngineWorkerStatus";
-
-test("test ready", () => {
- MonitoringChart.initTooltip = jest.fn();
- MonitoringUtils.setUpPage = jest.fn();
- MonitoringUtils.getEngineURL = jest.fn();
- sut.readyCallback();
- expect(MonitoringChart.initTooltip).toHaveBeenCalled();
- expect(MonitoringUtils.setUpPage).toHaveBeenCalled();
- expect(MonitoringUtils.getEngineURL).toHaveBeenCalled();
-});
-
-test("test service callback", () => {
- const storedData = {
- useHttps: "http",
- hostname: "localhost",
- port: 7979,
- username: "username",
- password: "password",
- };
-
- const data = {
- server: "localhost",
- port: 7979,
- }
- window.localStorage.setItem("pap-monitor-services", JSON.stringify(storedData));
- PdpInformation.setEngineServiceData = jest.fn();
- PdpStatisticsSummary.setEngineSummaryData = jest.fn();
- PdpEngineWorkerStatus.setEngineStatusData = jest.fn();
- sut.servicesCallback(data);
- expect(PdpInformation.setEngineServiceData).toHaveBeenCalled();
- expect(PdpStatisticsSummary.setEngineSummaryData).toHaveBeenCalled();
- expect(PdpEngineWorkerStatus.setEngineStatusData).toHaveBeenCalled();
-}); \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringTable.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringTable.test.js
deleted file mode 100644
index 2f67925..0000000
--- a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringTable.test.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 $ from 'jquery';
-import * as MonitoringTable from "../MonitoringTable"
-
-var wrapper = document.createElement("example")
-wrapper.setAttribute("id", "engineSummary_wrapper");
-wrapper.setAttribute("class", "wrapper_borderless");
-
-test("create necessary engine table", () => {
- MonitoringTable.createEngineTable($(wrapper), null, null);
- expect(document.getElementById("engineTableBody")).toBeDefined();
- expect(document.getElementById("engineTableHeader")).toBeDefined();
- expect(document.getElementById("engineTableHeaderRow")).toBeDefined();
- }); \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js
deleted file mode 100644
index 35eb297..0000000
--- a/gui-pdp-monitoring/src/webapp/js/__test__/MonitoringUtils.test.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 $ from 'jquery';
-import * as sut from "../MonitoringUtils";
-import * as PdpInformation from "../PdpInformation";
-import * as PdpStatisticsSummary from "../PdpStatisticsSummary";
-import * as PdpListView from '../PdpListView';
-
-const requestURL = "http://localhost:7979";
-
-const serviceData = {
- useHttps: "http",
- hostname: "localhost",
- port: 7979,
- username: "username",
- password: "password",
-};
-
-test('ajax_get ok', () => {
- const callback = jest.fn();
- $.ajax = jest.fn().mockImplementation((args) => { args.success(); });
- sut.ajax_get(requestURL, callback, serviceData.useHttps, serviceData.hostname, serviceData.port,
- serviceData.username, serviceData.password, {}, null);
- expect(callback).toHaveBeenCalled();
-});
-
-test('ajax_get error', () => {
- const errorCallback = jest.fn();
- const jqXHR = { status: 500, responseText: "" };
- $.ajax = jest.fn().mockImplementation(
- args => {
- args.error(jqXHR, null, null);
- }
- );
- sut.ajax_get(requestURL, null, serviceData.useHttps, serviceData.hostname, serviceData.port,
- serviceData.username, serviceData.password, {}, errorCallback);
- expect(errorCallback).toHaveBeenCalled();
-});
-
-test('ajax_get_statistics ok', () => {
- const callback = jest.fn();
- $.ajax = jest.fn().mockImplementation((args) => { args.success(); });
- sut.ajax_get_statistics(requestURL, callback, serviceData.useHttps, serviceData.hostname, serviceData.port,
- serviceData.username, serviceData.password, "", {}, null);
- expect(callback).toHaveBeenCalled();
-});
-
-test('ajax_get_statistics error', () => {
- const errorCallback = jest.fn();
- const jqXHR = { status: 500, responseText: "" };
- $.ajax = jest.fn().mockImplementation(
- args => {
- args.error(jqXHR, null, null);
- }
- );
- PdpInformation.createEngineServiceTable = jest.fn();
- PdpStatisticsSummary.createEngineSummaryTable = jest.fn();
- sut.ajax_get_statistics(requestURL, null, serviceData.useHttps, serviceData.hostname, serviceData.port,
- serviceData.username, serviceData.password, "", {}, errorCallback);
-
- expect(errorCallback).toHaveBeenCalled();
- expect(PdpInformation.createEngineServiceTable).toHaveBeenCalled();
- expect(PdpStatisticsSummary.createEngineSummaryTable).toHaveBeenCalled();
-});
-
-test('getEngineURL popup dialog', () => {
- window.localStorage.clear();
- sut.getEngineURL("message");
- $('#submit').click();
- expect($("papDialogDiv")).toHaveLength(1);
-});
-
-test('getEngineURL read from localStorage', () => {
- window.localStorage.setItem("pap-monitor-services", JSON.stringify(serviceData));
- const data = {
- groups: [{
- pdpSubgroups: [{
- pdpType: "apex",
- pdpInstances: [{
- instanceId: "apex-pdp1",
- }],
- }]
- }
- ],
- };
-
- $.ajax = jest.fn().mockImplementation((args) => { args.success(data); });
- PdpListView.RenderPdpList = jest.fn();
- sut.getEngineURL("message");
- expect(PdpListView.RenderPdpList.mock.calls[0][0]).toHaveLength(1);
-});
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/PdpEngineWorkerStatus.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/PdpEngineWorkerStatus.test.js
deleted file mode 100644
index 39b74f5..0000000
--- a/gui-pdp-monitoring/src/webapp/js/__test__/PdpEngineWorkerStatus.test.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 * as PdpEngineWorkerStatus from "../PdpEngineWorkerStatus";
-import * as MonitoringChart from "../MonitoringChart";
-
-test("set engine status data", () => {
- var temp = MonitoringChart.generateRandomData();
- var engineStatusData = [{id : 1, lastPolicyDuration : 1, averagePolicyDuration: 1}];
- var changed = jest.fn(() => {
- return false;
- });
-
- engineStatusData[0].lastPolicyDuration = temp;
- engineStatusData[0].averagePolicyDuration = temp;
- window.engineStatusTables = [];
- PdpEngineWorkerStatus.setEngineStatusData(engineStatusData, changed);
-
- expect(window.engineStatusTables[0]).toBeDefined();
-}); \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/PdpInformation.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/PdpInformation.test.js
deleted file mode 100644
index 993eb54..0000000
--- a/gui-pdp-monitoring/src/webapp/js/__test__/PdpInformation.test.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 * as PdpInformation from "../PdpInformation"
-
-test("create engine service table", () => {
- PdpInformation.createEngineServiceTable();
- expect(document.getElementById("string")).toBeDefined();
-})
-
-test("ser engine service data", () => {
- PdpInformation.setEngineServiceData("testing", "testing", "testing", "testing", "testing", null, null);
- expect(document.getElementById("testing")).toBeDefined();
-}) \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/PdpListView.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/PdpListView.test.js
deleted file mode 100644
index 3d38be9..0000000
--- a/gui-pdp-monitoring/src/webapp/js/__test__/PdpListView.test.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 * as PdpListView from "../PdpListView";
-const pdpArray = [];
-
-test("render pdp list", () => {
- const data = {
- groups: [{
- pdpSubgroups: [{
- pdpType: "apex",
- pdpInstances: [{
- instanceId: "apex-pdp1",
- }],
- }]
- }
- ],
- };
-
- for (let i = 0; i < data.groups.length; i++) {
- var map = {};
- map.title = data.groups[i].name;
- map.children = [];
- (data.groups[i].pdpSubgroups).forEach((pdpSubgroup, index) => {
- map.children[index] = {};
- map.children[index].title = pdpSubgroup.pdpType;
- const instanceId = [];
- pdpSubgroup.pdpInstances.forEach(pdpInstance => {
- var instanceIdMap = {};
- instanceIdMap.title = pdpInstance.instanceId;
- instanceId.push(instanceIdMap)
- });
- map.children[index].children = instanceId;
- });
- pdpArray.push(map);
- };
-
- document.body.innerHTML = '<ul class="pdps__list"></ul>';
- PdpListView.RenderPdpList(pdpArray, "pdps__list");
- expect(document.querySelector('a.' + 'pdps__link').innerHTML).toBe("apex-pdp1");
-});
-
-test("high light selected", () => {
- PdpListView.highlightSelected(1);
- expect(document.querySelector(`.pdps__link[href*="${1}"]`)).toBeDefined();
-}) \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/js/__test__/PdpStatisticsSummary.test.js b/gui-pdp-monitoring/src/webapp/js/__test__/PdpStatisticsSummary.test.js
deleted file mode 100644
index 03404b7..0000000
--- a/gui-pdp-monitoring/src/webapp/js/__test__/PdpStatisticsSummary.test.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
- * ================================================================================
- * 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 * as PdpEngineSummary from "../PdpStatisticsSummary";
-
-var data = [{averagePolicyDuration : [
- { timestamp: 1584979433034, value: 95 },
- { timestamp: 1584979428034, value: 78 },
- { timestamp: 1584979423034, value: 71 },
- { timestamp: 1584979418034, value: 79 },
- { timestamp: 1584979413034, value: 21 }]}]
-
-test("create engine summary table", () => {
- PdpEngineSummary.createEngineSummaryTable();
- expect(document.getElementById("string")).toBeDefined();
-})
-
-test("set engine service data", () => {
- PdpEngineSummary.setEngineSummaryData(data, null, 1, 2, 3, 1, 2, 3)
- expect(document.getElementById("engineSummaryTable")).toBeDefined();
-}) \ No newline at end of file
diff --git a/gui-pdp-monitoring/src/webapp/package.json b/gui-pdp-monitoring/src/webapp/package.json
deleted file mode 100644
index 7cd8777..0000000
--- a/gui-pdp-monitoring/src/webapp/package.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "gui-pdp-monitoring",
- "version": "0.0.2",
- "description": "GUI for monitoring Pdps Statistics",
- "main": "index.js",
- "scripts": {
- "test": "jest",
- "build": "webpack",
- "start": "webpack-dev-server --open"
- },
- "author": "",
- "devDependencies": {
- "@babel/cli": "^7.8.4",
- "@babel/core": "^7.8.7",
- "@babel/preset-env": "^7.11.0",
- "babel-jest": "^25.1.0",
- "jest": "^26.6.3",
- "jest-sonar-reporter": "^2.0.0",
- "webpack": "^4.42.0",
- "webpack-cli": "^3.3.11",
- "webpack-dev-server": "^3.10.3"
- },
- "dependencies": {
- "chokidar": "^3.4.3",
- "d3": "^3.5.17",
- "jquery": "^3.4.1",
- "resolve-url": "^0.2.1",
- "urix": "^0.1.0"
- },
- "jest": {
- "collectCoverage": true,
- "coverageDirectory": "../../target/code-coverage",
- "transform": {
- "^.+\\.[t|j]sx?$": "babel-jest"
- },
- "testResultsProcessor": "jest-sonar-reporter"
- },
- "jestSonar": {
- "reportPath": "../../target/reports",
- "reportFile": "test-reporter.xml",
- "indent": 4,
- "sonar56x": true
- }
-}
diff --git a/gui-pdp-monitoring/src/webapp/webpack.config.js b/gui-pdp-monitoring/src/webapp/webpack.config.js
deleted file mode 100644
index 4b1c179..0000000
--- a/gui-pdp-monitoring/src/webapp/webpack.config.js
+++ /dev/null
@@ -1,18 +0,0 @@
-const path = require('path');
-
-module.exports = {
- mode: 'production',
- entry: './js/MonitoringMain.js',
- output: {
- filename: 'bundle.js',
- path: path.resolve(__dirname, 'dist'),
- },
- devServer: {
- contentBase: path.join(__dirname, 'dist'),
- compress: true,
- port: 9000,
- proxy: {
- "/papservices/monitoring": "http://localhost:17999",
- }
- }
-};
diff --git a/pom.xml b/pom.xml
index a475268..4be0a92 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,7 +48,6 @@
<modules>
<module>gui-common</module>
- <module>gui-pdp-monitoring</module>
<module>gui-editors</module>
<module>gui-clamp</module>
<module>packages</module>