summaryrefslogtreecommitdiffstats
path: root/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas
diff options
context:
space:
mode:
Diffstat (limited to 'mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas')
-rw-r--r--mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/canvas-header.jsp191
-rw-r--r--mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/connection-configuration.jsp218
-rw-r--r--mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/distribution-environment-dialog.jsp42
-rw-r--r--mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/flow-status.jsp33
-rw-r--r--mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/navigation.jsp129
-rw-r--r--mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/settings-content.jsp86
-rw-r--r--mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/shell.jsp34
7 files changed, 733 insertions, 0 deletions
diff --git a/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/canvas-header.jsp b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/canvas-header.jsp
new file mode 100644
index 0000000..3afbe66
--- /dev/null
+++ b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/canvas-header.jsp
@@ -0,0 +1,191 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+
+ Modifications to the original nifi code for the ONAP project are made
+ available under the Apache License, Version 2.0
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<md-toolbar id="header" layout-align="space-between center" layout="row" class="md-small md-accent md-hue-1">
+ <img id="nifi-logo" src="images/dcae-logo.png">
+ <div flex layout="row" layout-align="space-between center">
+ <div id="component-container">
+ <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.processor}}"
+ id="processor-component"
+ class="component-button icon icon-processor"
+ ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
+ nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.processorComponent);">
+ <span class="component-button-grip"></span>
+ </button>
+ <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.inputPort}}"
+ id="port-in-component"
+ class="component-button icon icon-port-in"
+ ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
+ nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.inputPortComponent);">
+ <span class="component-button-grip"></span>
+ </button>
+ <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.outputPort}}"
+ id="port-out-component"
+ class="component-button icon icon-port-out"
+ ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
+ nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.outputPortComponent);">
+ <span class="component-button-grip"></span>
+ </button>
+ <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.processGroup}}"
+ id="group-component"
+ class="component-button icon icon-group"
+ ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
+ nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.groupComponent);">
+ <span class="component-button-grip"></span>
+ </button>
+ <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.remoteProcessGroup}}"
+ id="group-remote-component"
+ class="component-button icon icon-group-remote"
+ ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
+ nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.remoteGroupComponent);">
+ <span class="component-button-grip"></span>
+ </button>
+ <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.funnel}}"
+ id="funnel-component"
+ class="component-button icon icon-funnel"
+ ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
+ nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.funnelComponent);">
+ <span class="component-button-grip"></span>
+ </button>
+ <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.template}}"
+ id="template-component"
+ class="component-button icon icon-template"
+ ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
+ nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.templateComponent);">
+ <span class="component-button-grip"></span>
+ </button>
+ <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.label}}"
+ id="label-component"
+ class="component-button icon icon-label"
+ ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
+ nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.labelComponent);">
+ <span class="component-button-grip"></span>
+ </button>
+ </div>
+ <div layout="row" layout-align="space-between center">
+ <div layout-align="space-between end" layout="column">
+ <div layout="row" layout-align="space-between center" id="current-user-container">
+ <span id="anonymous-user-alert" class="hidden fa fa-warning"></span>
+ <div></div>
+ <div id="current-user"></div>
+ </div>
+ <div id="login-link-container">
+ <span id="login-link" class="link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.loginCtrl.shell.launch();">log in</span>
+ </div>
+ <div id="logout-link-container" style="display: none;">
+ <span id="logout-link" class="link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.logoutCtrl.logout();">log out</span>
+ </div>
+ </div>
+ <md-menu md-position-mode="target-right target" md-offset="-1 44">
+ <button md-menu-origin id="global-menu-button" ng-click="$mdMenu.open()">
+ <div class="fa fa-navicon"></div>
+ </button>
+ <md-menu-content id="global-menu-content">
+ <md-menu-item layout-align="space-around center">
+ <a id="reporting-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.summary.shell.launch();">
+ <i class="fa fa-table"></i>Summary
+ </a>
+ </md-menu-item>
+ <md-menu-item layout-align="space-around center">
+ <a id="counters-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.counters.shell.launch();"
+ ng-class="{disabled: !appCtrl.nf.Common.canAccessCounters()}">
+ <i class="icon icon-counter"></i>Counters
+ </a>
+ </md-menu-item>
+ <md-menu-item layout-align="space-around center">
+ <a id="bulletin-board-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.bulletinBoard.shell.launch();">
+ <i class="fa fa-sticky-note-o"></i>Bulletin Board
+ </a>
+ </md-menu-item>
+ <md-menu-divider></md-menu-divider>
+ <md-menu-item
+ layout-align="space-around center">
+ <a id="provenance-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.dataProvenance.shell.launch();"
+ ng-class="{disabled: !appCtrl.nf.Common.canAccessProvenance()}">
+ <i class="icon icon-provenance"></i>Data Provenance
+ </a>
+ </md-menu-item>
+ <md-menu-divider></md-menu-divider>
+ <md-menu-item layout-align="space-around center">
+ <a id="flow-settings-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.controllerSettings.shell.launch();">
+ <i class="fa fa-wrench"></i>Controller Settings
+ </a>
+ </md-menu-item>
+ <md-menu-item ng-if="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.cluster.visible();"
+ layout-align="space-around center">
+ <a id="cluster-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.cluster.shell.launch();"
+ ng-class="{disabled: !appCtrl.nf.Common.canAccessController()}">
+ <i class="fa fa-cubes"></i>Cluster
+ </a>
+ </md-menu-item>
+ <md-menu-item layout-align="space-around center">
+ <a id="history-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.flowConfigHistory.shell.launch();">
+ <i class="fa fa-history"></i>Flow Configuration History
+ </a>
+ </md-menu-item>
+ <md-menu-divider ng-if="appCtrl.nf.CanvasUtils.isManagedAuthorizer()"></md-menu-divider>
+ <md-menu-item layout-align="space-around center" ng-if="appCtrl.nf.CanvasUtils.isManagedAuthorizer()">
+ <a id="users-link" layout="row"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.users.shell.launch();"
+ ng-class="{disabled: !(appCtrl.nf.Common.canAccessTenants())}">
+ <i class="fa fa-users"></i>Users
+ </a>
+ </md-menu-item>
+ <md-menu-item layout-align="space-around center" ng-if="appCtrl.nf.CanvasUtils.isManagedAuthorizer()">
+ <a id="policies-link" layout="row"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.policies.shell.launch();"
+ ng-class="{disabled: !(appCtrl.nf.Common.canAccessTenants() && appCtrl.nf.Common.canModifyPolicies())}">
+ <i class="fa fa-key"></i>Policies
+ </a>
+ </md-menu-item>
+ <md-menu-divider></md-menu-divider>
+ <md-menu-item layout-align="space-around center">
+ <a id="templates-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.templates.shell.launch();">
+ <i class="icon icon-template"></i>Templates
+ </a>
+ </md-menu-item>
+ <md-menu-divider></md-menu-divider>
+ <md-menu-item layout-align="space-around center">
+ <a id="help-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.help.shell.launch();">
+ <i class="fa fa-question-circle"></i>Help
+ </a>
+ </md-menu-item>
+ <md-menu-item layout-align="space-around center">
+ <a id="about-link"
+ ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.about.modal.show();">
+ <i class="fa fa-info-circle"></i>About
+ </a>
+ </md-menu-item>
+ </md-menu-content>
+ </md-menu>
+ </div>
+ </div>
+</md-toolbar>
diff --git a/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/connection-configuration.jsp b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/connection-configuration.jsp
new file mode 100644
index 0000000..c0e368c
--- /dev/null
+++ b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/connection-configuration.jsp
@@ -0,0 +1,218 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+
+ Modifications to the original nifi code for the ONAP project are made
+ available under the Apache License, Version 2.0
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="connection-configuration" layout="column" class="hidden large-dialog">
+ <div class="connection-configuration-tab-container dialog-content">
+ <div id="connection-configuration-tabs" class="tab-container"></div>
+ <div id="connection-configuration-tabs-content">
+ <div id="connection-settings-tab-content" class="configuration-tab">
+ <div class="settings-left">
+ <div class="setting">
+ <div class="setting-name">Name</div>
+ <div class="setting-field">
+ <input type="text" id="connection-name" name="connection-name" class="setting-input"/>
+ </div>
+ </div>
+ <div class="setting">
+ <div class="setting-name">Id</div>
+ <div class="setting-field">
+ <span type="text" id="connection-id"></span>
+ </div>
+ </div>
+ <div class="setting">
+ <div class="setting-name">
+ FlowFile expiration
+ <div class="fa fa-question-circle" alt="Info" title="The maximum amount of time an object may be in the flow before it will be automatically aged out of the flow."></div>
+ </div>
+ <div class="setting-field">
+ <input type="text" id="flow-file-expiration" name="flow-file-expiration" class="setting-input"/>
+ </div>
+ </div>
+ <div class="multi-column-settings">
+ <div class="setting">
+ <div class="setting-name">
+ Back Pressure<br/>Object threshold
+ <div class="fa fa-question-circle" alt="Info" title="The maximum number of objects that can be queued before back pressure is applied."></div>
+ </div>
+ <div class="setting-field">
+ <input type="text" id="back-pressure-object-threshold" name="back-pressure-object-threshold" class="setting-input"/>
+ </div>
+ </div>
+ <div class="separator">&nbsp;</div>
+ <div class="setting">
+ <div class="setting-name">
+ &nbsp;<br/>Size threshold
+ <div class="fa fa-question-circle" alt="Info" title="The maximum data size of objects that can be queued before back pressure is applied."></div>
+ </div>
+ <div class="setting-field">
+ <input type="text" id="back-pressure-data-size-threshold" name="back-pressure-data-size-threshold" class="setting-input"/>
+ </div>
+ </div>
+ </div>
+ <div>
+ <div class="multi-column-settings">
+ <div class="setting">
+ <div class="setting-name">
+ Load Balance Strategy
+ <div class="fa fa-question-circle" alt="Info" title="How to load balance the data in this Connection across the nodes in the cluster."></div>
+ </div>
+ <div class="setting-field">
+ <div id="load-balance-strategy-combo"></div>
+ </div>
+ </div>
+ <div id="load-balance-partition-attribute-setting-separator" class="separator">&nbsp;</div>
+ <div id="load-balance-partition-attribute-setting" class="setting">
+ <div class="setting-name">
+ Attribute Name
+ <div class="fa fa-question-circle" alt="Info" title="The FlowFile Attribute to use for determining which node a FlowFile will go to."></div>
+ </div>
+ <div class="setting-field">
+ <input type="text" id="load-balance-partition-attribute" name="load-balance-partition-attribute" class="setting-input"/>
+ </div>
+ </div>
+ </div>
+ <div id="load-balance-compression-setting" class="setting">
+ <div class="setting-name">
+ Load Balance Compression
+ <div class="fa fa-question-circle" alt="Info" title="Whether or not data should be compressed when being transferred between nodes in the cluster."></div>
+ </div>
+ <div class="setting-field">
+ <div id="load-balance-compression-combo"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="spacer">&nbsp;</div>
+ <div class="settings-right">
+ <div class="setting">
+ <div class="setting-name">
+ Available prioritizers
+ <div class="fa fa-question-circle" alt="Info" title="Available prioritizers that could reprioritize FlowFiles in this work queue."></div>
+ </div>
+ <div class="setting-field">
+ <ul id="prioritizer-available"></ul>
+ </div>
+ </div>
+ <div class="setting">
+ <div class="setting-name">
+ Selected prioritizers
+ <div class="fa fa-question-circle" alt="Info" title="Prioritizers that have been selected to reprioritize FlowFiles in this work queue."></div>
+ </div>
+ <div class="setting-field">
+ <ul id="prioritizer-selected"></ul>
+ </div>
+ </div>
+ </div>
+ <input type="hidden" id="connection-uri" name="connection-uri"/>
+ <input type="hidden" id="connection-source-component-id" name="connection-source-component-id"/>
+ <input type="hidden" id="connection-source-id" name="connection-source-id"/>
+ <input type="hidden" id="connection-source-group-id" name="connection-source-group-id"/>
+ <input type="hidden" id="connection-destination-component-id" name="connection-destination-component-id"/>
+ <input type="hidden" id="connection-destination-id" name="connection-destination-id"/>
+ <input type="hidden" id="connection-destination-group-id" name="connection-destination-group-id"/>
+ </div>
+ <div id="connection-details-tab-content" class="configuration-tab">
+ <div class="settings-left">
+ <div id="read-only-output-port-source" class="setting hidden">
+ <div class="setting-name">From output</div>
+ <div class="setting-field connection-terminal-label">
+ <div id="read-only-output-port-name" class="ellipsis"></div>
+ </div>
+ </div>
+ <div id="output-port-source" class="setting hidden">
+ <div class="setting-name">From output</div>
+ <div class="setting-field connection-terminal-label">
+ <div id="output-port-options"></div>
+ </div>
+ </div>
+ <div id="input-port-source" class="setting hidden">
+ <div class="setting-name">From input</div>
+ <div class="setting-field connection-terminal-label">
+ <div id="input-port-source-name" class="label ellipsis"></div>
+ </div>
+ </div>
+ <div id="funnel-source" class="setting hidden">
+ <div class="setting-name">From funnel</div>
+ <div class="setting-field connection-terminal-label">
+ <div id="funnel-source-name" class="label ellipsis" title="funnel">funnel</div>
+ </div>
+ </div>
+ <div id="processor-source" class="setting hidden">
+ <div class="setting-name">From processor</div>
+ <div class="setting-field connection-terminal-label">
+ <div id="processor-source-details">
+ <div id="processor-source-name" class="label ellipsis"></div>
+ <div id="processor-source-type" class="ellipsis"></div>
+ </div>
+ </div>
+ </div>
+ <div id="connection-source-group" class="setting">
+ <div class="setting-name">Within group</div>
+ <div class="setting-field">
+ <div id="connection-source-group-name"></div>
+ </div>
+ </div>
+ </div>
+ <div class="spacer">&nbsp;</div>
+ <div class="settings-right">
+ <div id="input-port-destination" class="setting hidden">
+ <div class="setting-name">To input</div>
+ <div class="setting-field connection-terminal-label">
+ <div id="input-port-options"></div>
+ </div>
+ </div>
+ <div id="output-port-destination" class="setting hidden">
+ <div class="setting-name">To output</div>
+ <div class="setting-field connection-terminal-label">
+ <div id="output-port-destination-name" class="label ellipsis"></div>
+ </div>
+ </div>
+ <div id="funnel-destination" class="setting hidden">
+ <div class="setting-name">To funnel</div>
+ <div class="setting-field connection-terminal-label">
+ <div id="funnel-destination-name" class="label ellipsis" title="funnel">funnel</div>
+ </div>
+ </div>
+ <div id="processor-destination" class="setting hidden">
+ <div class="setting-name">To processor</div>
+ <div class="setting-field connection-terminal-label">
+ <div id="processor-destination-details">
+ <div id="processor-destination-name" class="label ellipsis"></div>
+ <div id="processor-destination-type" class="ellipsis"></div>
+ </div>
+ </div>
+ </div>
+ <div id="connection-destination-group" class="setting">
+ <div class="setting-name">Within group</div>
+ <div class="setting-field">
+ <div id="connection-destination-group-name"></div>
+ </div>
+ </div>
+ </div>
+ <div id="relationship-names-container" class="hidden">
+ <div class="setting-name">Data relationships</div>
+ <div class="setting-field">
+ <div id="relationship-names"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/distribution-environment-dialog.jsp b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/distribution-environment-dialog.jsp
new file mode 100644
index 0000000..3d7e8d9
--- /dev/null
+++ b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/distribution-environment-dialog.jsp
@@ -0,0 +1,42 @@
+<%--
+================================================================================
+Copyright (c) 2020 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.
+============LICENSE_END=========================================================
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="distribution-environment-dialog" layout="column" class="hidden medium-dialog">
+ <div class="dialog-content">
+ <div class="setting">
+ <div class="setting-name">Name</div>
+ <div class="setting-field">
+ <span id="distribution-environment-id" class="hidden"></span>
+ <input type="text" id="distribution-environment-name" class="setting-input"/>
+ </div>
+ </div>
+ <div class="setting">
+ <div class="setting-name">Runtime API URL</div>
+ <div class="setting-field">
+ <input type="text" id="distribution-environment-location" class="setting-input" placeholder="http://runtime-host:port"/>
+ </div>
+ </div>
+ <div class="setting">
+ <div class="setting-name">Description</div>
+ <div class="setting-field">
+ <textarea id="distribution-environment-description" class="setting-input"></textarea>
+ </div>
+ </div>
+
+ </div>
+</div>
diff --git a/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/flow-status.jsp b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/flow-status.jsp
new file mode 100644
index 0000000..2efe0a1
--- /dev/null
+++ b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/flow-status.jsp
@@ -0,0 +1,33 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+
+ Modifications to the original nifi code for the ONAP project are made
+ available under the Apache License, Version 2.0
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="flow-status" flex layout="row" layout-align="space-between center">
+ <div id="flow-status-container" layout="row" layout-align="space-around center">
+ </div>
+
+ <div layout="row" layout-align="end center">
+ <div id="search-container">
+ <button id="search-button" ng-click="appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.search.toggleSearchField();"><i class="fa fa-search"></i></button>
+ <input id="search-field" type="text" placeholder="Search"/>
+ </div>
+ <button id="bulletin-button"><i class="fa fa-sticky-note-o"></i></button>
+ </div>
+ </div>
+<div id="search-flow-results"></div>
diff --git a/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/navigation.jsp b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/navigation.jsp
new file mode 100644
index 0000000..caf7278
--- /dev/null
+++ b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/navigation.jsp
@@ -0,0 +1,129 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+
+ Modifications to the original nifi code for the ONAP project are made
+ available under the Apache License, Version 2.0
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<nf-breadcrumbs
+ breadcrumbs="appCtrl.serviceProvider.breadcrumbsCtrl.getBreadcrumbs();"
+ click-func="appCtrl.nf.CanvasUtils.getComponentByType('ProcessGroup').enterGroup"
+ highlight-crumb-id="appCtrl.nf.CanvasUtils.getGroupId();"
+ separator-func="appCtrl.nf.Common.isDefinedAndNotNull"
+ is-tracking="appCtrl.serviceProvider.breadcrumbsCtrl.isTracking"
+ get-version-control-class="appCtrl.serviceProvider.breadcrumbsCtrl.getVersionControlClass"
+ get-version-control-tooltip="appCtrl.serviceProvider.breadcrumbsCtrl.getVersionControlTooltip">
+</nf-breadcrumbs>
+<div id="graph-controls">
+ <div id="navigation-control" class="graph-control">
+ <div class="graph-control-docked pointer fa fa-compass" title="Navigate"
+ ng-click="appCtrl.serviceProvider.graphControlsCtrl.undock($event)">
+ </div>
+ <div class="graph-control-header-container hidden pointer"
+ ng-click="appCtrl.serviceProvider.graphControlsCtrl.expand($event)">
+ <div class="graph-control-header-icon fa fa-compass">
+ </div>
+ <div class="graph-control-header">Navigate</div>
+ <div class="graph-control-header-action">
+ <div class="graph-control-expansion fa fa-plus-square-o pointer"></div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ <div class="graph-control-content hidden">
+ <div id="navigation-buttons">
+ <div id="naviagte-zoom-in" class="action-button" title="Zoom In"
+ ng-click="appCtrl.serviceProvider.graphControlsCtrl.navigateCtrl.zoomIn();">
+ <button><div class="graph-control-action-icon fa fa-search-plus"></div></button>
+ </div>
+ <div class="button-spacer-small">&nbsp;</div>
+ <div id="naviagte-zoom-out" class="action-button" title="Zoom Out"
+ ng-click="appCtrl.serviceProvider.graphControlsCtrl.navigateCtrl.zoomOut();">
+ <button><div class="graph-control-action-icon fa fa-search-minus"></div></button>
+ </div>
+ <div class="button-spacer-large">&nbsp;</div>
+ <div id="naviagte-zoom-fit" class="action-button" title="Fit"
+ ng-click="appCtrl.serviceProvider.graphControlsCtrl.navigateCtrl.zoomFit();">
+ <button><div class="graph-control-action-icon icon icon-zoom-fit"></div></button>
+ </div>
+ <div class="button-spacer-small">&nbsp;</div>
+ <div id="naviagte-zoom-actual-size" class="action-button" title="Actual"
+ ng-click="appCtrl.serviceProvider.graphControlsCtrl.navigateCtrl.zoomActualSize();">
+ <button><div class="graph-control-action-icon icon icon-zoom-actual"></div></button>
+ </div>
+ <div class="clear"></div>
+ </div>
+ <div id="birdseye"></div>
+ </div>
+ </div>
+ <div id="operation-control" class="graph-control">
+ <div class="graph-control-docked pointer fa fa-hand-o-up" title="Operate"
+ ng-click="appCtrl.serviceProvider.graphControlsCtrl.undock($event)">
+ </div>
+ <div class="graph-control-header-container hidden pointer"
+ ng-click="appCtrl.serviceProvider.graphControlsCtrl.expand($event)">
+ <div class="graph-control-header-icon fa fa-hand-o-up">
+ </div>
+ <div class="graph-control-header">Operate</div>
+ <div class="graph-control-header-action">
+ <div class="graph-control-expansion fa fa-plus-square-o pointer"></div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ <div class="graph-control-content hidden">
+ <div id="operation-context">
+ <div id="operation-context-logo">
+ <i class="icon" ng-class="appCtrl.serviceProvider.graphControlsCtrl.getContextIcon()"></i>
+ </div>
+ <div id="operation-context-details-container">
+ <div id="operation-context-name"><strong> {{appCtrl.serviceProvider.graphControlsCtrl.getContextName()}} </strong></div>
+ <div id="operation-context-type" ng-class="appCtrl.serviceProvider.graphControlsCtrl.hide()">{{appCtrl.serviceProvider.graphControlsCtrl.getContextType()}}</div>
+ </div>
+ <div class="clear"></div>
+ <div id="operation-context-id" ng-class="appCtrl.serviceProvider.graphControlsCtrl.hide()">{{appCtrl.serviceProvider.graphControlsCtrl.getContextId()}}</div>
+ </div> <div id="operation-buttons">
+ <div>
+
+ <div id="operation-context-type">Distribute for deployment:</div>
+ <br>
+ <div>
+ <select name="environment" id="environmentType" class="combo" onchange="onEnvironmentSelect()">
+ <option class="combo-option-text" disabled selected>Select Environment</option>
+ </select>
+ </div>
+
+ <br>
+ <div class="button-spacer-large">&nbsp;</div>
+ <div id="operate-refresh" class="action-button" title="Refresh Environments">
+ <button id="refresh-env-btn" onclick="refreshEnvironments()" >
+ <div class="graph-control-action-icon fa fa-refresh"></div><span></span></button>
+ </div>
+ <div class="button-spacer-large">&nbsp;</div>
+ <div id="operate-delete" class="action-button" title="Delete">
+ <button ng-click="appCtrl.nf.Actions['delete'](appCtrl.nf.CanvasUtils.getSelection());"
+ ng-disabled="!appCtrl.nf.CanvasUtils.areDeletable(appCtrl.nf.CanvasUtils.getSelection());">
+ <div class="graph-control-action-icon fa fa-trash"></div><span></span></button>
+ </div>
+ <div class="button-spacer-large">&nbsp;</div>
+ <div id="operate-submit" class="action-button" title="Submit">
+ <button id="operate-submit-btn" onclick="distributeGraph()" >
+ <div class="graph-control-action-icon fa fa-check"></div><span></span></button>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/settings-content.jsp b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/settings-content.jsp
new file mode 100644
index 0000000..b540ff7
--- /dev/null
+++ b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/settings-content.jsp
@@ -0,0 +1,86 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+
+ Modifications to the original nifi code for the ONAP project are made
+ available under the Apache License, Version 2.0
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="settings" class="hidden">
+ <div id="settings-header-text" class="settings-header-text">NiFi Settings</div>
+ <div class="settings-container">
+ <div>
+ <div id="settings-tabs" class="settings-tabs tab-container"></div>
+ <div class="clear"></div>
+ </div>
+ <div id="settings-tabs-content">
+ <button id="new-service-or-task" class="add-button fa fa-plus" title="Create a new reporting task controller service" style="display: block;"></button>
+ <div id="general-settings-tab-content" class="configuration-tab">
+ <div id="general-settings">
+ <div class="setting">
+ <div class="setting-name">
+ Maximum timer driven thread count
+ <div class="fa fa-question-circle" alt="Info" title="The maximum number of threads for timer driven processors available to the system."></div>
+ </div>
+ <div class="editable setting-field">
+ <input type="text" id="maximum-timer-driven-thread-count-field" class="setting-input"/>
+ </div>
+ <div class="read-only setting-field">
+ <span id="read-only-maximum-timer-driven-thread-count-field"></span>
+ </div>
+ </div>
+ <div class="setting">
+ <div class="setting-name">
+ Maximum event driven thread count
+ <div class="fa fa-question-circle" alt="Info" title="The maximum number of threads for event driven processors available to the system."></div>
+ </div>
+ <div class="editable setting-field">
+ <input type="text" id="maximum-event-driven-thread-count-field" class="setting-input"/>
+ </div>
+ <div class="read-only setting-field">
+ <span id="read-only-maximum-event-driven-thread-count-field"></span>
+ </div>
+ </div>
+ <div class="editable settings-buttons">
+ <div id="settings-save" class="button">Apply</div>
+ <div class="clear"></div>
+ </div>
+ </div>
+ </div>
+ <div id="controller-services-tab-content" class="configuration-tab controller-settings-table">
+ <div id="controller-services-table" class="settings-table"></div>
+ </div>
+ <div id="reporting-tasks-tab-content" class="configuration-tab controller-settings-table">
+ <div id="reporting-tasks-table" class="settings-table"></div>
+ </div>
+ <div id="registries-tab-content" class="configuration-tab controller-settings-table">
+ <div id="registries-table" class="settings-table"></div>
+ </div>
+ <div id="distribution-environment-content" class="configuration-tab controller-settings-table">
+ <div id="distribution-environments-table" class="settings-table" style="width:100%; margin:20px;"></div>
+ </div>
+
+ </div>
+ </div>
+ <div id="settings-refresh-container">
+ <button id="settings-refresh-button" class="refresh-button pointer fa fa-refresh" title="Refresh"></button>
+ <div id="settings-last-refreshed-container" class="last-refreshed-container">
+ Last updated:&nbsp;<span id="settings-last-refreshed" class="value-color"></span>
+ </div>
+ <div id="settings-loading-container" class="loading-container"></div>
+ <div id="controller-cs-availability" class="hidden">Listed services are available to all Reporting Tasks and services defined in the Controller Settings.</div>
+ <div class="clear"></div>
+ </div>
+</div>
diff --git a/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/shell.jsp b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/shell.jsp
new file mode 100644
index 0000000..5b6c4c3
--- /dev/null
+++ b/mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials/canvas/shell.jsp
@@ -0,0 +1,34 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+
+ Modifications to the original nifi code for the ONAP project are made
+ available under the Apache License, Version 2.0
+--%>
+<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
+<div id="shell-dialog" class="hidden cancellable">
+ <div id="shell-container" class="dialog-content">
+ <div id="shell-close-container">
+ <button id="shell-undock-button" class="undock-normal pointer " title="Open in New Window">
+ <div class="fa fa-external-link-square"></div>
+ </button>
+ <button id="shell-close-button" class="close-normal pointer" onclick="onCloseSettings()" title="Close">
+ <div class="fa fa-times"></div>
+ </button>
+ <div class="clear"></div>
+ </div>
+ <div id="shell"></div>
+ </div>
+</div>