2 Licensed to the Apache Software Foundation (ASF) under one or more
3 contributor license agreements. See the NOTICE file distributed with
4 this work for additional information regarding copyright ownership.
5 The ASF licenses this file to You under the Apache License, Version 2.0
6 (the "License"); you may not use this file except in compliance with
7 the License. You may obtain a copy of the License at
9 http://www.apache.org/licenses/LICENSE-2.0
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
17 Modifications to the original nifi code for the ONAP project are made
18 available under the Apache License, Version 2.0
20 <%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
21 <md-toolbar id="header" layout-align="space-between center" layout="row" class="md-small md-accent md-hue-1">
22 <img id="nifi-logo" src="images/dcae-logo.png">
23 <div flex layout="row" layout-align="space-between center">
24 <div id="component-container">
25 <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.processor}}"
26 id="processor-component"
27 class="component-button icon icon-processor"
28 ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
29 nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.processorComponent);">
30 <span class="component-button-grip"></span>
32 <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.inputPort}}"
33 id="port-in-component"
34 class="component-button icon icon-port-in"
35 ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
36 nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.inputPortComponent);">
37 <span class="component-button-grip"></span>
39 <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.outputPort}}"
40 id="port-out-component"
41 class="component-button icon icon-port-out"
42 ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
43 nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.outputPortComponent);">
44 <span class="component-button-grip"></span>
46 <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.processGroup}}"
48 class="component-button icon icon-group"
49 ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
50 nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.groupComponent);">
51 <span class="component-button-grip"></span>
53 <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.remoteProcessGroup}}"
54 id="group-remote-component"
55 class="component-button icon icon-group-remote"
56 ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
57 nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.remoteGroupComponent);">
58 <span class="component-button-grip"></span>
60 <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.funnel}}"
62 class="component-button icon icon-funnel"
63 ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
64 nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.funnelComponent);">
65 <span class="component-button-grip"></span>
67 <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.template}}"
68 id="template-component"
69 class="component-button icon icon-template"
70 ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
71 nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.templateComponent);">
72 <span class="component-button-grip"></span>
74 <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.label}}"
76 class="component-button icon icon-label"
77 ng-disabled="!appCtrl.nf.CanvasUtils.canWriteCurrentGroup();"
78 nf-draggable="appCtrl.serviceProvider.headerCtrl.toolboxCtrl.draggableComponentConfig(appCtrl.serviceProvider.headerCtrl.toolboxCtrl.labelComponent);">
79 <span class="component-button-grip"></span>
82 <div layout="row" layout-align="space-between center">
83 <div layout-align="space-between end" layout="column">
84 <div layout="row" layout-align="space-between center" id="current-user-container">
85 <span id="anonymous-user-alert" class="hidden fa fa-warning"></span>
87 <div id="current-user"></div>
89 <div id="login-link-container">
90 <span id="login-link" class="link"
91 ng-click="appCtrl.serviceProvider.headerCtrl.loginCtrl.shell.launch();">log in</span>
93 <div id="logout-link-container" style="display: none;">
94 <span id="logout-link" class="link"
95 ng-click="appCtrl.serviceProvider.headerCtrl.logoutCtrl.logout();">log out</span>
98 <md-menu md-position-mode="target-right target" md-offset="-1 44">
99 <button md-menu-origin id="global-menu-button" ng-click="$mdMenu.open()">
100 <div class="fa fa-navicon"></div>
102 <md-menu-content id="global-menu-content">
103 <md-menu-item layout-align="space-around center">
104 <a id="reporting-link"
105 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.summary.shell.launch();">
106 <i class="fa fa-table"></i>Summary
109 <md-menu-item layout-align="space-around center">
110 <a id="counters-link"
111 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.counters.shell.launch();"
112 ng-class="{disabled: !appCtrl.nf.Common.canAccessCounters()}">
113 <i class="icon icon-counter"></i>Counters
116 <md-menu-item layout-align="space-around center">
117 <a id="bulletin-board-link"
118 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.bulletinBoard.shell.launch();">
119 <i class="fa fa-sticky-note-o"></i>Bulletin Board
122 <md-menu-divider></md-menu-divider>
124 layout-align="space-around center">
125 <a id="provenance-link"
126 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.dataProvenance.shell.launch();"
127 ng-class="{disabled: !appCtrl.nf.Common.canAccessProvenance()}">
128 <i class="icon icon-provenance"></i>Data Provenance
131 <md-menu-item layout-align="space-around center">
132 <md-menu class="onap-unpadded">
133 <a id="import-link" ng-click="$mdMenu.open()"><i class="icon icon-import"></i>Import</a>
134 <md-menu-content id="import-menu-content">
135 <md-menu-item layout-align="space-around center">
136 <a id="adapter-acumos-link" ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.importModel.shell.launch();">Import Models ...</a>
138 <md-menu-item layout-align="space-around center">
139 <a id="import-component-link" ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.importComponent.shell.launch();">Import Component Spec. ...</a>
141 <md-menu-item layout-align="space-around center">
142 <a id="import-format-link" ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.importDataFormat.shell.launch();">Import Data Format ...</a>
147 <md-menu-divider></md-menu-divider>
148 <md-menu-item layout-align="space-around center">
149 <a id="flow-settings-link"
150 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.controllerSettings.shell.launch();">
151 <i class="fa fa-wrench"></i>Controller Settings
154 <md-menu-item ng-if="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.cluster.visible();"
155 layout-align="space-around center">
157 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.cluster.shell.launch();"
158 ng-class="{disabled: !appCtrl.nf.Common.canAccessController()}">
159 <i class="fa fa-cubes"></i>Cluster
162 <md-menu-item layout-align="space-around center">
164 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.flowConfigHistory.shell.launch();">
165 <i class="fa fa-history"></i>Flow Configuration History
168 <md-menu-divider ng-if="appCtrl.nf.CanvasUtils.isManagedAuthorizer()"></md-menu-divider>
169 <md-menu-item layout-align="space-around center" ng-if="appCtrl.nf.CanvasUtils.isManagedAuthorizer()">
170 <a id="users-link" layout="row"
171 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.users.shell.launch();"
172 ng-class="{disabled: !(appCtrl.nf.Common.canAccessTenants())}">
173 <i class="fa fa-users"></i>Users
176 <md-menu-item layout-align="space-around center" ng-if="appCtrl.nf.CanvasUtils.isManagedAuthorizer()">
177 <a id="policies-link" layout="row"
178 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.policies.shell.launch();"
179 ng-class="{disabled: !(appCtrl.nf.Common.canAccessTenants() && appCtrl.nf.Common.canModifyPolicies())}">
180 <i class="fa fa-key"></i>Policies
183 <md-menu-divider></md-menu-divider>
184 <md-menu-item layout-align="space-around center">
185 <a id="templates-link"
186 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.templates.shell.launch();">
187 <i class="icon icon-template"></i>Templates
190 <md-menu-divider></md-menu-divider>
191 <md-menu-item layout-align="space-around center">
193 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.help.shell.launch();">
194 <i class="fa fa-question-circle"></i>Help
197 <md-menu-item layout-align="space-around center">
199 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.about.modal.show();">
200 <i class="fa fa-info-circle"></i>About