Link DCAE MOD design tool to Acumos Adapter
[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-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>
137                 </md-menu-item>
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>
140                 </md-menu-item>
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>
143                 </md-menu-item>
144               </md-menu-content>
145             </md-menu>
146             </md-menu-item>
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
152                         </a>
153                     </md-menu-item>
154                     <md-menu-item ng-if="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.cluster.visible();"
155                                   layout-align="space-around center">
156                         <a id="cluster-link"
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
160                         </a>
161                     </md-menu-item>
162                     <md-menu-item layout-align="space-around center">
163                         <a id="history-link"
164                            ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.flowConfigHistory.shell.launch();">
165                             <i class="fa fa-history"></i>Flow Configuration History
166                         </a>
167                     </md-menu-item>
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
174                         </a>
175                     </md-menu-item>
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
181                         </a>
182                     </md-menu-item>
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
188                         </a>
189                     </md-menu-item>
190                     <md-menu-divider></md-menu-divider>
191                     <md-menu-item layout-align="space-around center">
192                         <a id="help-link"
193                            ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.help.shell.launch();">
194                             <i class="fa fa-question-circle"></i>Help
195                         </a>
196                     </md-menu-item>
197                     <md-menu-item layout-align="space-around center">
198                         <a id="about-link"
199                            ng-click="appCtrl.serviceProvider.headerCtrl.globalMenuCtrl.about.modal.show();">
200                             <i class="fa fa-info-circle"></i>About
201                         </a>
202                     </md-menu-item>
203                 </md-menu-content>
204             </md-menu>
205         </div>
206     </div>
207 </md-toolbar>