Add DCAE MOD design tool project
[dcaegen2/platform.git] / mod / designtool / designtool-web / src / main / webapp / WEB-INF / partials / canvas / canvas-header.jsp
1 <%--
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
8
9       http://www.apache.org/licenses/LICENSE-2.0
10
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.
16
17   Modifications to the original nifi code for the ONAP project are made
18   available under the Apache License, Version 2.0
19 --%>
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>
31             </button>
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>
38             </button>
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>
45             </button>
46             <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.processGroup}}"
47                     id="group-component"
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>
52             </button>
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>
59                        </button>
60                        <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.funnel}}"
61                                id="funnel-component"
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>
66                        </button>
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>
73                        </button>
74                        <button title="{{appCtrl.serviceProvider.headerCtrl.toolboxCtrl.config.type.label}}"
75                                id="label-component"
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>
80                        </button>
81         </div>
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>
86                     <div></div>
87                     <div id="current-user"></div>
88                 </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>
92                 </div>
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>
96                 </div>
97             </div>
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>
101                 </button>
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
107                         </a>
108                     </md-menu-item>
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
114                         </a>
115                     </md-menu-item>
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
120                         </a>
121                     </md-menu-item>
122                     <md-menu-divider></md-menu-divider>
123                     <md-menu-item
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
129                         </a>
130                     </md-menu-item>
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
136                         </a>
137                     </md-menu-item>
138                     <md-menu-item ng-if="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.cluster.visible();"
139                                   layout-align="space-around center">
140                         <a id="cluster-link"
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
144                         </a>
145                     </md-menu-item>
146                     <md-menu-item layout-align="space-around center">
147                         <a id="history-link"
148                            ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.flowConfigHistory.shell.launch();">
149                             <i class="fa fa-history"></i>Flow Configuration History
150                         </a>
151                     </md-menu-item>
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
158                         </a>
159                     </md-menu-item>
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
165                         </a>
166                     </md-menu-item>
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
172                         </a>
173                     </md-menu-item>
174                     <md-menu-divider></md-menu-divider>
175                     <md-menu-item layout-align="space-around center">
176                         <a id="help-link"
177                            ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.help.shell.launch();">
178                             <i class="fa fa-question-circle"></i>Help
179                         </a>
180                     </md-menu-item>
181                     <md-menu-item layout-align="space-around center">
182                         <a id="about-link"
183                            ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.about.modal.show();">
184                             <i class="fa fa-info-circle"></i>About
185                         </a>
186                     </md-menu-item>
187                 </md-menu-content>
188             </md-menu>
189         </div>
190     </div>
191 </md-toolbar>