2 ~ Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
4 ~ Licensed under the Apache License, Version 2.0 (the "License");
5 ~ you may not use this file except in compliance with the License.
6 ~ You may obtain a copy of the License at
8 ~ http://www.apache.org/licenses/LICENSE-2.0
10 ~ Unless required by applicable law or agreed to in writing, software
11 ~ distributed under the License is distributed on an "AS IS" BASIS,
12 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ~ See the License for the specific language governing permissions and
14 ~ limitations under the License.
16 <div class="workspace-properties">
17 <div id="left-top-bar">
18 <span id="properties-count">Total Properties: {{component.properties.length}}</span>
19 <input id="search-by-name" type="search" placeholder="Search" data-ng-model-options="{debounce: 200}" data-ng-model="filterTerms"/>
20 <span class="sprite magnification-glass search-button"></span>
22 <div class="add-btn" data-tests-id="addGrey" ng-if="!isViewMode()"
23 data-ng-class="{'disabled': isDisableMode()}" data-ng-click="addOrUpdateProperty()">Add Property</div>
24 <div class="table-container-flex">
25 <div class="table" data-ng-class="{'view-mode': isViewMode()}">
26 <div class="head flex-container">
27 <div class="table-header head-row hand flex-item" data-ng-repeat="header in tableHeadersList track by $index" data-ng-click="sort(header.property)">{{header.title}}
28 <span data-ng-if="sortBy === header.property" class="table-header-sort-arrow" data-ng-class="{'down': reverse, 'up':!reverse}"> </span>
30 <div class="table-no-text-header head-row flex-item" ng-if="!isViewMode()"><span class="delete-col-header"></span></div>
31 <!--div class="table-no-text-header head-row flex-item"></div-->
35 <perfect-scrollbar scroll-y-margin-offset="0" include-padding="true" class="scrollbar-container">
36 <div data-ng-if="component.properties.length === 0" class="no-row-text" data-ng-class="{'disabled': isDisableMode()}">
37 There are no properties to display <br>
38 <span ng-if="!isViewMode()"> click <a data-ng-click="addOrUpdateProperty()">here</a> to add one </span>
41 <div data-ng-repeat="property in filteredProperties=(component.properties | orderBy:sortBy:reverse | filter: {filterTerm:filterTerms}) track by $index"
42 data-tests-id="propertyRow" data-ng-class="{'selected': property.selected}"
43 class="flex-container data-row">
45 <div class="table-col-general flex-item text" tooltips tooltip-content="{{property.name}}">
46 <a data-tests-id="propertyName_{{property.name}}"
47 data-ng-click="addOrUpdateProperty(property); $event.stopPropagation();"
48 data-ng-class="{'disabled': isViewMode()}">{{property.name}}</a>
52 <div class="table-col-general flex-item text"
53 tooltips tooltip-content="{{property.type}}">
54 <span data-tests-id="propertyType_{{property.name}}"> {{property.type.replace("org.openecomp.datatypes.heat.","")}}</span>
56 <div class="table-col-general flex-item text"
57 tooltips tooltip-content="{{property.schema.property.type}}">
58 <span data-tests-id="propertySchema_{{property.name}}"> {{property.schema.property.type.replace("org.openecomp.datatypes.heat.","")}}</span>
60 <div class="table-col-general flex-item text" tooltips tooltip-content="{{property.description}}">
61 <span data-tests-id="propertyDescription_{{property.name}}" data-ng-bind="property.description"></span>
63 <div class="table-btn-col flex-item" ng-if="!isViewMode()">
64 <button class="table-delete-btn" data-tests-id="delete_{{property.name}}" data-ng-if="!property.ownerId || property.ownerId==component.uniqueId"
65 data-ng-click="delete(property); $event.stopPropagation();" data-ng-class="{'disabled': isViewMode()}"></button>