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-divider></md-menu-divider>
132 <md-menu-item layout-align="space-around center">
133 <a id="flow-settings-link"
134 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.controllerSettings.shell.launch();">
135 <i class="fa fa-wrench"></i>Controller Settings
138 <md-menu-item ng-if="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.cluster.visible();"
139 layout-align="space-around center">
141 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.cluster.shell.launch();"
142 ng-class="{disabled: !appCtrl.nf.Common.canAccessController()}">
143 <i class="fa fa-cubes"></i>Cluster
146 <md-menu-item layout-align="space-around center">
148 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.flowConfigHistory.shell.launch();">
149 <i class="fa fa-history"></i>Flow Configuration History
152 <md-menu-divider ng-if="appCtrl.nf.CanvasUtils.isManagedAuthorizer()"></md-menu-divider>
153 <md-menu-item layout-align="space-around center" ng-if="appCtrl.nf.CanvasUtils.isManagedAuthorizer()">
154 <a id="users-link" layout="row"
155 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.users.shell.launch();"
156 ng-class="{disabled: !(appCtrl.nf.Common.canAccessTenants())}">
157 <i class="fa fa-users"></i>Users
160 <md-menu-item layout-align="space-around center" ng-if="appCtrl.nf.CanvasUtils.isManagedAuthorizer()">
161 <a id="policies-link" layout="row"
162 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.policies.shell.launch();"
163 ng-class="{disabled: !(appCtrl.nf.Common.canAccessTenants() && appCtrl.nf.Common.canModifyPolicies())}">
164 <i class="fa fa-key"></i>Policies
167 <md-menu-divider></md-menu-divider>
168 <md-menu-item layout-align="space-around center">
169 <a id="templates-link"
170 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.templates.shell.launch();">
171 <i class="icon icon-template"></i>Templates
174 <md-menu-divider></md-menu-divider>
175 <md-menu-item layout-align="space-around center">
177 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.help.shell.launch();">
178 <i class="fa fa-question-circle"></i>Help
181 <md-menu-item layout-align="space-around center">
183 ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.about.modal.show();">
184 <i class="fa fa-info-circle"></i>About