actually adding the files to the initial commit
[vid.git] / vid / src / main / webapp / app / vid / scripts / view-models / instantiate.htm
1 <!--
2   ============LICENSE_START=======================================================
3   VID
4   ================================================================================
5   Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6   ================================================================================
7   Licensed under the Apache License, Version 2.0 (the "License");
8   you may not use this file except in compliance with the License.
9   You may obtain a copy of the License at
10   
11        http://www.apache.org/licenses/LICENSE-2.0
12   
13   Unless required by applicable law or agreed to in writing, software
14   distributed under the License is distributed on an "AS IS" BASIS,
15   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   See the License for the specific language governing permissions and
17   limitations under the License.
18   ============LICENSE_END=========================================================
19   -->
20
21 <div ng-controller="InstantiationController">
22
23     <div popup-window class="popupContents" ngx-show="{{popup.isVisible}}"
24                 ng-cloak>
25                 <div ng-include="'app/vid/scripts/view-models/creationDialog.htm'"></div>
26                 <div ng-include="'app/vid/scripts/view-models/deletionDialog.htm'"></div>
27                 <div ng-include="'app/vid/scripts/view-models/detailsDialog.htm'"></div>
28         </div> 
29         <div ng-controller="aaiSubscriberController" ng-init="getComponentList() ">
30         <div class="statusLine" ng-class="{true:'aaiVisible', false:'aaiHidden'}[isSpinnerVisible]">
31                         <img src="app/vid/images/spinner.gif"></img>
32                         <label>Status:</label><span class="status">{{status}}</span>
33         </div>
34         
35                         <h1 class="heading1" style="margin-top: 20px;">View/Edit Service Instance</h1>
36                         <a class="btn btn-primary btn-xs pull-right" ng-click="reloadRoute();" ><span class="glyphicon glyphicon-refresh"></span></a>
37                 
38                 <br>
39
40                 <center>
41                         <table att-table border="1" ng-model="service">
42                                 <tr>
43                                         <th style="text-align: center" width="33%">SUBSCRIBER:
44                                                 {{service.instance.globalCustomerId}}</th>
45                                         <th style="text-align: center" width="34%">SERVICE TYPE:
46                                                 {{service.instance.serviceType}}</th>
47                                         <th style="text-align: center" width="33%">SERVICE INSTANCE
48                                                 ID: {{service.instance.serviceInstanceId}}</th>
49                                 <tr>
50                                 <tr>
51                                         <td colspan='3' style="text-align: center">Service Instance
52                                                 Name: {{service.instance.name || "Not defined"}}
53                                         </td>
54                                 <tr>
55                         </table>
56
57                 </center>
58         
59         <div ui-tree data-drag-enabled="false" data-nodrop-enabled="true" style="margin: 30px">
60                 
61                 <ol ui-tree-nodes="" ng-model="service"  >
62                         <li ng-repeat="aService in [service]" ui-tree-node>
63                                 <div ui-tree-handle class="tree-node tree-node-content">
64                                         <a class="btn btn-success btn-xs" ng-if="(aService.instance.vnfs && aService.instance.vnfs.length > 0) || (aService.instance.networks && aService.instance.networks.length > 0)" data-nodrag ng-click="this.toggle()">
65                                                 <span class="glyphicon" ng-class="{'glyphicon-chevron-right': collapsed,'glyphicon-chevron-down': !collapsed}"></span>
66                                         </a>
67                                         SERVICE INSTANCE: {{aService.instance.name}}
68                                         <a ng-if="aService.instance.vnfs.length == 0" class="pull-right btn btn-danger btn-xs" data-nodrag ng-click="deleteService(aService.instance);">
69                                                 <span class="glyphicon glyphicon-remove"></span>
70                                         </a>
71                                         
72                                         <div class="pull-right btn-group" ng-if="aService.model.vnfs && !equals(aService.model.vnfs, {})">
73                                           <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
74                                                 Add VNF<span class="caret"></span>
75                                           </button>
76                                           <ul class="dropdown-menu" ng-model="aService.model.vnfs">
77                                             <li role="menuitem" ng-repeat="(vnfUuid, vnf) in aService.model.vnfs">
78                                             <!-- 9-21 -->
79                                                 <!--  <a ng-click="addVnfInstance(this, aService.instance, vnf)">{{vnf.name}}</a>-->
80                                                 <a ng-click="addVnfInstance(vnf)">{{vnf.name}}</a>
81                                             </li>
82                                           </ul>
83                                         </div>
84                                         <!-- <div class="pull-right btn-group" ng-if="aService.model.networks && !equals(aService.model.networks, {})">
85                                           <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
86                                                 Add Network<span class="caret"></span>
87                                           </button>
88                                           <ul class="dropdown-menu" ng-model="aService.model.networks">
89                                             <li ng-repeat="(networkUuid, network) in aService.model.networks">
90                                                 <a ng-click="addNetworkInstance(network)">{{network.name}}</a>
91                                             </li>
92                                           </ul>
93                                         </div> -->
94                                         <a class="pull-right btn btn-primary btn-xs" data-nodrag ng-click="describeService(aService.instance)" style="margin-right: 8px;">
95                                                 <span class="glyphicon glyphicon-info-sign"></span>
96                                         </a>
97                                 </div>
98                                 <ol ui-tree-nodes="" ng-model="aService.instance.vnfs" ng-class="{hidden: collapsed}">
99                                         <li ng-repeat="vnf in aService.instance.vnfs" ui-tree-node>
100                                                 <div ui-tree-handle class="tree-node tree-node-content">
101                                                         <a class="btn btn-success btn-xs" ng-if="(vnf.vfModules && vnf.vfModules.length > 0) || (vnf.volumeGroups && vnf.volumeGroups.length > 0)" data-nodrag ng-click="this.toggle()">
102                                                                 <span class="glyphicon" ng-class="{'glyphicon-chevron-right': collapsed,'glyphicon-chevron-down': !collapsed}"></span>
103                                                         </a>
104                                                         VNF: {{vnf.name}} | TYPE: {{vnf.nodeType}} | ORCH STATUS: {{vnf.nodeStatus}}
105                                                         <a ng-if="(vnf.vfModules.length == 0) && (vnf.volumeGroups.length == 0)" class="pull-right btn btn-danger btn-xs" data-nodrag ng-click="deleteVnf(aService.instance, vnf)">
106                                                                 <span class="glyphicon glyphicon-remove"></span>
107                                                         </a>
108                                                         <div class="pull-right btn-group" ng-if="aService.modelByInvariantUuid.vnfs[vnf.object['persona-model-id']][vnf.object['persona-model-version']].vfModules">
109                                                           <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
110                                                                 Add VF-Module<span class="caret"></span>
111                                                           </button>
112                                                           <ul class="dropdown-menu" ng-model="vnf">
113                                                             <li ng-repeat="(vfModuleInvariantUuid, vfModuleVersionModel) in aService.modelByInvariantUuid.vnfs[vnf.object['persona-model-id']][vnf.object['persona-model-version']].vfModules">
114                                                                 <a ng-repeat="(vfModuleVersion, vfModule) in vfModuleVersionModel" ng-click="addVfModuleInstance(vnf, vfModule)">{{vfModule.name}}</a>
115                                                             </li>
116                                                           </ul>
117                                                         </div>
118                                                         <div class="pull-right btn-group" ng-if="aService.modelByInvariantUuid.vnfs[vnf.object['persona-model-id']][vnf.object['persona-model-version']].volumeGroups">
119                                                           <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
120                                                                 Add Volume Group<span class="caret"></span>
121                                                           </button>
122                                                           <ul class="dropdown-menu" ng-model="vnf">
123                                                             <li ng-repeat="(volumeGroupInvariantUuid, volumeGroupVersionModel) in aService.modelByInvariantUuid.vnfs[vnf.object['persona-model-id']][vnf.object['persona-model-version']].volumeGroups">
124                                                                 <a ng-repeat="(volumeGroupVersion, volumeGroup) in volumeGroupVersionModel" ng-click="addVolumeGroupInstance(vnf, volumeGroup)">{{volumeGroup.name}}</a>
125                                                             </li>
126                                                           </ul>
127                                                         </div>
128                                                         <a class="pull-right btn btn-primary btn-xs" data-nodrag ng-click="describeVnf(aService.instance, vnf)" style="margin-right: 8px;">
129                                                                 <span class="glyphicon glyphicon-info-sign"></span>
130                                                         </a>
131                                                 </div>
132                                                 <ol ui-tree-nodes="" ng-model="vnf.vfModules" ng-class="{hidden: collapsed}">
133                                                         <li ng-repeat="vfModule in vnf.vfModules" ui-tree-node>
134                                                                 <div ui-tree-handle class="tree-node tree-node-content">
135                                                                         <a class="btn btn-success btn-xs" ng-if="(vfModule.volumeGroups && vfModule.volumeGroups.length > 0)" data-nodrag ng-click="this.toggle()">
136                                                                                 <span class="glyphicon" ng-class="{'glyphicon-chevron-right': collapsed,'glyphicon-chevron-down': !collapsed}"></span>
137                                                                         </a>
138                                                                         VFMODULE: {{vfModule.name}} | TYPE: {{vfModule.nodeType}} | ORCH STATUS: {{vfModule.nodeStatus}}
139                                                                         <!--  -->
140                                                                         <a class="pull-right btn btn-danger btn-xs" data-nodrag ng-click="deleteVfModule(aService.instance, vfModule, vnf)">
141                                                                                 <span class="glyphicon glyphicon-remove"></span>
142                                                                         </a>
143                                                                         <div class="pull-right btn-group">
144                                                                         <!--   <button type="button" class="btn btn-success btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
145                                                                                 Attach Volume Group<span class="caret"></span>
146                                                                           </button> 
147                                                                           <ul class="dropdown-menu" ng-model="vnf.volumeGroups">
148                                                                             <li ng-repeat="volumeGroup in vnf.availableVolumeGroups">
149                                                                                 <a ng-click="attachVolumeGroupInstance(vfModule, volumeGroup)">{{volumeGroup.name}}</a>
150                                                                             </li>
151                                                                           </ul> -->
152                                                                         </div>
153                                                                         <a class="pull-right btn btn-primary btn-xs" data-nodrag ng-click="describeVfModule(aService.instance, vfModule)" style="margin-right: 8px;">
154                                                                                 <span class="glyphicon glyphicon-info-sign"></span>
155                                                                         </a>
156                                                                 </div>
157                                                                 <ol ui-tree-nodes="" ng-model="vfModule.volumeGroups" ng-class="{hidden: collapsed}">
158                                                                         <li ng-repeat="volumeGroup in vfModule.volumeGroups" ui-tree-node>
159                                                                                 <div ui-tree-handle class="tree-node tree-node-content">
160                                                                                         VOLUME GROUP: {{volumeGroup.name}} | TYPE: {{volumeGroup.nodeType}} | ORCH STATUS: {{volumeGroup.nodeStatus}}
161                                                                                         <!-- <a class="pull-right btn btn-danger btn-xs" data-nodrag ng-click="deleteVolumeGroup(aService.instance, vnf, vfModule, volumeGroup)">
162                                                                                                 <span class="glyphicon glyphicon-remove"></span>
163                                                                                         </a> -->
164                                                                                         <a class="pull-right btn btn-primary btn-xs" data-nodrag ng-click="describeVolumeGroup(aService.instance, volumeGroup)" style="margin-right: 8px;">
165                                                                                                 <span class="glyphicon glyphicon-info-sign"></span>
166                                                                                         </a>
167                                                                                 </div>
168                                                                         </li>
169                                                                 </ol>
170                                                         </li>
171                                                 </ol>
172                                                 <ol ui-tree-nodes="" ng-model="vnf.availableVolumeGroups" ng-class="{hidden: collapsed}">
173                                                         <li ng-repeat="volumeGroup in vnf.availableVolumeGroups" ui-tree-node>
174                                                                 <div ui-tree-handle class="tree-node tree-node-content">
175                                                                         VOLUME GROUP: {{volumeGroup.name}} | TYPE: {{volumeGroup.nodeType}} | ORCH STATUS: {{volumeGroup.nodeStatus}}
176                                                                         <a class="pull-right btn btn-danger btn-xs" data-nodrag ng-click="deleteVnfVolumeGroup(aService.instance, vnf, volumeGroup)">
177                                                                                 <span class="glyphicon glyphicon-remove"></span>
178                                                                         </a>
179                                                                         <a class="pull-right btn btn-primary btn-xs" data-nodrag ng-click="describeVolumeGroup(aService.instance, volumeGroup)" style="margin-right: 8px;">
180                                                                                 <span class="glyphicon glyphicon-info-sign"></span>
181                                                                         </a>
182                                                                 </div>
183                                                         </li>
184                                                 </ol>
185                                         </li>
186                                 </ol>
187                                 <ol ui-tree-nodes="" ng-model="aService.instance.networks" ng-class="{hidden: collapsed}">
188                                         <li ng-repeat="network in aService.instance.networks" ui-tree-node>
189                                                 <div ui-tree-handle class="tree-node tree-node-content">
190                                                         NETWORK: {{network.name}} | TYPE: {{network.nodeType}} | ORCH   STATUS: {{network.nodeStatus}}
191                                                         <!-- <a class="pull-right btn btn-danger btn-xs" data-nodrag ng-click="deleteNetwork(aService.instance, network)">
192                                                                 <span class="glyphicon glyphicon-remove"></span>
193                                                         </a> -->
194                                                         <a class="pull-right btn btn-primary btn-xs" data-nodrag ng-click="describeNetwork(aService.instance, network)" style="margin-right: 8px;">
195                                                                 <span class="glyphicon glyphicon-info-sign"></span>
196                                                         </a>
197                                                 </div>
198                                         </li>
199                                 </ol>
200                         </li>
201                 </ol>
202                 </div>
203         </div>
204 </div>