047768689af39b78c2bb1df64194a5cd0c590ad6
[sdc.git] /
1 <div class="workspace-req-and-cap">
2     <div class="tabs">
3         <button data-tests-id="req-tab" data-ng-click="mode='requirements';filterTerms='';" class="tlv-btn" data-ng-class="{'selected':mode=='requirements'}">Requirements({{requirements.length||'0'}})</button>
4         <button data-tests-id="cap-tab" data-ng-click="mode='capabilities';filterTerms='';" class="tlv-btn" data-ng-class="{'selected':mode=='capabilities'}">Capabilities({{capabilities.length||'0'}})</button>
5     </div>
6     <div class="expand-collapse-buttons" data-ng-if="mode=='capabilities'">
7         <span class="sprite-new expand-all" data-ng-click="allCapabilitiesSelected(true)"></span>
8         <span class="sprite-new collapse-all" data-ng-click="allCapabilitiesSelected(false)"></span>
9     </div>
10     <div class="search">
11         <input id="search-box" data-tests-id="search-box"  type="search" placeholder="Search" data-ng-model-options="{debounce: 200}" data-ng-model="filterTerms"/>
12         <div class="search-icon-container">
13             <span class="search-icon sprite-new search-white-icon"></span>
14         </div>
15     </div>
16     <div class="table-container-flex requirements-table" data-ng-if="mode=='requirements'">
17         <div class="table" data-ng-class="{'view-mode': isViewMode()}">
18             <div class="head flex-container">
19                 <div class="table-header head-row hand flex-item" data-ng-repeat="header in requirementsTableHeadersList track by $index" data-ng-click="sort(header.property, requirementsSortTableDefined)">{{header.title}}
20                     <span data-ng-if="requirementsSortTableDefined.sortByField === header.property" class="table-header-sort-arrow" data-ng-class="{'down': requirementsSortTableDefined.reverse, 'up':!requirementsSortTableDefined.reverse}"> </span>
21                 </div>
22             </div>
23
24             <div class="body">
25                 <perfect-scrollbar scroll-y-margin-offset="0" include-padding="true" class="scrollbar-container">
26                     <div data-ng-if="requirements.length === 0" class="no-row-text">
27                         There are no requirements to display
28
29                     </div>
30                     <div data-ng-repeat="req in requirements | orderBy:requirementsSortTableDefined.sortByField:requirementsSortTableDefined.reverse | filter: {filterTerm:filterTerms} track by $index"
31                          class="flex-container data-row" data-tests-id="reqRow">
32
33                         <div class="table-col-general flex-item text">
34                             <span  data-tests-id="{{req.name}}" tooltips tooltip-content="{{req.name}}">{{req.name}}</span>
35                         </div>
36                         <div class="table-col-general flex-item text">
37                             <span  data-tests-id="{{req.capability}}" tooltips tooltip-content="{{req.capability}}">{{req.capability.substring("tosca.capabilities.".length)}}</span>
38                         </div>
39                         <div class="table-col-general flex-item text">
40                             <span  data-tests-id="{{req.node}}" tooltips tooltip-content="{{req.node}}">{{req.node.substring("tosca.nodes.".length)}}</span>
41                         </div>
42                         <div class="table-col-general flex-item text">
43                             <span  data-tests-id="{{req.relationship}}" tooltips tooltip-content="{{req.relationship}}">{{req.relationship.substring("tosca.relationships.".length)}}</span>
44                         </div>
45                         <div class="table-col-general flex-item text" data-tests-id="{{}}" data-ng-bind=""></div>
46                         <div class="table-col-general flex-item text">
47                             <span  data-tests-id="{{req.minOccurrences}},{{req.maxOccurrences}}" tooltips tooltip-content="{{req.minOccurrences}},{{req.maxOccurrences}}">{{req.minOccurrences}},{{req.maxOccurrences}}</span>
48                         </div>
49                     </div>
50                 </perfect-scrollbar>
51             </div>
52
53         </div>
54     </div>
55     <div class="table-container-flex capabilities-table" data-ng-if="mode=='capabilities'">
56         <div class="table" data-ng-class="{'view-mode': isViewMode()}">
57             <div class="head flex-container">
58                 <div class="table-header head-row hand flex-item" data-ng-repeat="header in capabilitiesTableHeadersList track by $index" data-ng-click="sort(header.property, capabilitiesSortTableDefined)">{{header.title}}
59                     <span data-ng-if="capabilitiesSortTableDefined.sortByField === header.property" class="table-header-sort-arrow" data-ng-class="{'down': capabilitiesSortTableDefined.reverse, 'up':!capabilitiesSortTableDefined.reverse}"> </span>
60                 </div>
61             </div>
62
63             <div class="body">
64                 <perfect-scrollbar scroll-y-margin-offset="0" include-padding="true" class="scrollbar-container">
65                     <div data-ng-if="capabilities.length === 0" class="no-row-text">
66                         There are no capabilities to display
67
68                     </div>
69                     <div data-ng-repeat-start="capability in capabilities | orderBy:capabilitiesSortTableDefined.sortByField:capabilitiesSortTableDefined.reverse | filter: {filterTerm:filterTerms} track by $index"
70                          class="flex-container data-row" data-ng-class="{'selected': capability.selected}"
71                          data-ng-click="capability.selected = !capability.selected" data-tests-id="capabilities-table-row">
72
73                         <div class="table-col-general flex-item text">
74                             <span class="sprite-new arrow-up-small" data-ng-class="{'opened': capability.selected}"></span>
75                             <span  data-tests-id="{{capability.name}}" tooltips tooltip-content="{{capability.name}}">{{capability.name}}</span>
76                         </div>
77                         <div class="table-col-general flex-item text">
78                             <span  data-tests-id="{{capability.type}}" tooltips tooltip-content="{{capability.type}}">{{capability.type.substring("tosca.capabilities.".length)}}</span>
79                         </div>
80
81                         <div class="table-col-general flex-item text">
82                             <span  data-tests-id="{{capability.description}}" tooltips tooltip-content="{{capability.description}}">{{capability.description}}</span>
83                         </div>
84
85                         <div class="table-col-general flex-item text">
86                             <span  data-tests-id="{{capability.validSourceTypes.join(',')}}" tooltips tooltip-content="{{capability.validSourceTypes.join(',')}}">{{capability.validSourceTypes.join(',')}}</span>
87                         </div>
88
89                         <div class="table-col-general flex-item text">
90                             <span  data-tests-id="{{capability.minOccurrences}},{{capability.maxOccurrences}}" tooltips tooltip-content="{{capability.minOccurrences}},{{capability.maxOccurrences}}">{{capability.minOccurrences}},{{capability.maxOccurrences}}</span>
91                         </div>
92                     </div>
93                     <div data-ng-repeat-end="" data-ng-if="capability.selected" class="item-opened">
94                         <p class="properties-title">Properties</p>
95                         <div class="table-container-flex properties-table">
96                             <div class="table" data-ng-class="{'view-mode': isViewMode()}">
97                                 <div class="head flex-container">
98                                     <div class="table-header head-row hand flex-item" data-ng-repeat="header in capabilityPropertiesTableHeadersList track by $index" data-ng-click="sort(header.property, propertiesSortTableDefined)">{{header.title}}
99                                         <span data-ng-if="propertiesSortTableDefined.sortByField === header.property" class="table-header-sort-arrow" data-ng-class="{'down': propertiesSortTableDefined.reverse, 'up':!propertiesSortTableDefined.reverse}"> </span>
100                                     </div>
101                                 </div>
102
103                                 <div class="body">
104                                         <div data-ng-if="capability.properties.length === 0" class="no-row-text">
105                                             There are no properties to display
106                                         </div>
107                                         <div data-ng-repeat="property in filteredProperties[$parent.$index]=(capability.properties | orderBy:propertiesSortTableDefined.sortByField:propertiesSortTableDefined.reverse) track by $index"
108                                              data-tests-id="propertyRow"
109                                              class="flex-container data-row">
110
111                                             <div class="table-col-general flex-item text">
112                                                 <a  data-tests-id="{{property.name}}"
113                                                     tooltips tooltip-content="{{property.name}}"
114                                                     data-ng-click="updateProperty(property, $parent.$index); $event.stopPropagation();"
115                                                     data-ng-class="{'disabled': isViewMode()}">{{property.name}}</a>
116
117                                             </div>
118
119                                             <div class="table-col-general flex-item text"
120                                                  data-tests-id="{{property.type}}"
121                                                  tooltips tooltip-content="{{property.type}}"
122                                                  data-ng-bind="property.type">
123                                             </div>
124                                             <div class="table-col-general flex-item text"
125                                                  data-tests-id="{{property.schema.property.type}}"
126                                                  tooltips tooltip-content="{{property.schema.property.type}}"
127                                                  data-ng-bind="property.schema.property.type">
128                                             </div>
129                                             <div class="table-col-general flex-item text">
130                                                 <span tooltips tooltip-content="{{property.description}}" data-tests-id="{{property.description}}" data-ng-bind="property.description"></span>
131                                             </div>
132                                         </div>
133                                 </div>
134
135                             </div>
136                         </div>
137                     </div>
138                 </perfect-scrollbar>
139             </div>
140
141         </div>
142     </div>
143 </div>
144