diff options
Diffstat (limited to 'mod/designtool/designtool-web/src/main/webapp/WEB-INF/partials')
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"> </div> + <div class="setting"> + <div class="setting-name"> + <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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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: <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> |