<!-- ~ Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); ~ you may not use this file except in compliance with the License. ~ You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, software ~ distributed under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for the specific language governing permissions and ~ limitations under the License. --> <div class="sdc-catalog-container"> <loader data-display="gui.isLoading"></loader> <!-- <ecomp-header menu-data="menuItems" version="{{version}}"></ecomp-header> --> <div class="w-sdc-main-container"> <div class="i-sdc-designer-leftbar-section-left-switch-header" data-tests-id="catalog-selector-button" data-ng-click="showCatalogSelector=!showCatalogSelector"> <div class="i-sdc-designer-leftbar-section-left-switch-header-text"> {{selectedCatalogItem.title}} </div> <div class="i-sdc-designer-leftbar-section-left-switch-header-icon sprite-new arrow-up-small"> </div> <div class="sdc-catalog-selector-wrapper" data-ng-show="showCatalogSelector"> <div class="sdc-catalog-selector-item" data-ng-repeat="leftSwitchItem in catalogSelectorItems track by $index" data-tests-id="catalog-selector-{{leftSwitchItem.value}}" data-ng-click="selectLeftSwitchItem(leftSwitchItem)"> <span>{{leftSwitchItem.title}}</span> </div> </div> </div> <!-- LEFT SIDE --> <perfect-scrollbar scroll-y-margin-offset="0" class="sdc-catalog-body-container w-sdc-left-sidebar i-sdc-designer-left-sidebar" include-padding="true"> <div class="sdc-catalog-leftbar-container"> <div class="sdc-catalog-type-filter-container"> <div class="i-sdc-designer-leftbar-section-title pointer" data-ng-click="sectionClick('type')" data-ng-class="{'expanded': expandedSection.indexOf('type') !== -1}"> <span class="i-sdc-designer-leftbar-section-title-icon"></span> <span class="i-sdc-designer-leftbar-section-title-text" data-tests-id="typeFilterTitle">Type</span> </div> <div class="i-sdc-designer-leftbar-section-content"> <ul class="list-unstyled i-sdc-designer-leftbar-section-content-ul"> <li class="i-sdc-designer-leftbar-section-content-ul-li" data-ng-repeat="type in checkboxes.componentTypes"> <ng1-checkbox elem-id="checkbox-{{type | lowercase | clearWhiteSpaces}}" sdc-checklist-model="checkboxesFilter.selectedComponentTypes" sdc-checklist-value="type" sdc-checked-change="gui.onComponentTypeClick(type, checked)" text="{{type}}"></ng1-checkbox> <ul class="list-unstyled i-sdc-catalog-subcategories-checkbox" data-ng-if="type==='Resource'"> <li data-ng-repeat="subType in checkboxes.resourceSubTypes"> <ng1-checkbox elem-id="checkbox-{{subType | lowercase | clearWhiteSpaces}}" sdc-checklist-model="checkboxesFilter.selectedResourceSubTypes" sdc-checklist-value="subType" sdc-checked-change="gui.onComponentSubTypesClick(subType, type, checked)" text="{{subType}}"></ng1-checkbox> </li> </ul> </li> </ul> </div> </div> <div class="sdc-catalog-categories-filter-container"> <div class="i-sdc-designer-leftbar-section-title pointer" data-ng-click="sectionClick('category')" data-ng-class="{'expanded': expandedSection.indexOf('category') !== -1}"> <span class="i-sdc-designer-leftbar-section-title-icon"></span> <span class="i-sdc-designer-leftbar-section-title-text" data-tests-id="categoriesFilterTitle">Categories</span> </div> <div class="i-sdc-designer-leftbar-section-content"> <!-- CATEGORY CHECKBOX --> <ul class="list-unstyled i-sdc-designer-leftbar-section-content-ul"> <li class="i-sdc-designer-leftbar-section-content-ul-li" data-ng-repeat="category in categories | categoryTypeFilter:checkboxesFilter.selectedComponentTypes:checkboxesFilter.selectedResourceSubTypes | orderBy: category"> <ng1-checkbox elem-id="checkbox-{{category.uniqueId | lowercase | clearWhiteSpaces}}" sdc-checklist-model="checkboxesFilter.selectedCategoriesModel" sdc-checklist-value="category.uniqueId" sdc-checked-change="gui.onCategoryClick(category, checked)" data-tests-id="{{category.uniqueId}}" text="{{category.name}}"></ng1-checkbox> <!-- SUB CATEGORY CHECKBOX --> <ul class="list-unstyled i-sdc-catalog-subcategories-checkbox" data-ng-if="category.subcategories && category.subcategories.length>0"> <li ng-repeat="subcategory in category.subcategories track by subcategory.uniqueId | orderBy:'name'"> <ng1-checkbox elem-id="checkbox-{{subcategory.uniqueId | lowercase | clearWhiteSpaces}}" sdc-checklist-model="checkboxesFilter.selectedCategoriesModel" sdc-checklist-value="subcategory.uniqueId" sdc-checked-change="gui.onCategoryClick(subcategory, checked)" data-tests-id="{{subcategory.uniqueId}}" text="{{subcategory.name}}"></ng1-checkbox> <!-- GROUPING CHECKBOX --> <ul class=" list-unstyled i-sdc-catalog-grouping-checkbox" data-ng-if="subcategory.groupings && subcategory.groupings.length>0"> <li ng-repeat="grouping in subcategory.groupings track by grouping.uniqueId | orderBy:'name'"> <ng1-checkbox elem-id="checkbox-{{grouping.uniqueId | lowercase | clearWhiteSpaces}}" sdc-checklist-model="checkboxesFilter.selectedCategoriesModel" sdc-checklist-value="grouping.uniqueId" sdc-checked-change="gui.onCategoryClick(grouping, checked)" text="{{grouping.name}}"></ng1-checkbox> </li> </ul> </li><!-- Close subcategory --> </ul><!-- Close subcategories --> </li><!-- Close main category --> </ul><!-- Close main categories --> </div> </div> <!-- STATUS --> <div class="sdc-catalog-status-filter-container"> <div class="i-sdc-designer-leftbar-section-title pointer" data-ng-click="sectionClick('status')" data-ng-class="{'expanded': expandedSection.indexOf('status') !== -1}"> <span class="i-sdc-designer-leftbar-section-title-icon"></span> <span class="i-sdc-designer-leftbar-section-title-text" data-tests-id="statusFilterTitle">Status</span> </div> <div class="i-sdc-designer-leftbar-section-content"> <ul class="list-unstyled i-sdc-designer-leftbar-section-content-ul"> <!--li data-ng-repeat="(key, value) in confStatus" --> <li class="i-sdc-designer-leftbar-section-content-ul-li" data-ng-repeat="(key, state) in confStatus"> <ng1-checkbox elem-id="checkbox-{{key | lowercase | clearWhiteSpaces}}" sdc-checklist-model="checkboxesFilter.selectedStatuses" sdc-checklist-value="state.values" sdc-checked-change="gui.onStatusClick(key, state, checked)" text="{{state.name}}"></ng1-checkbox> <div class="i-sdc-categories-list-item-icon"></div> </li> </ul> </div> </div> </div> </perfect-scrollbar> <!-- RIGHT SIDE --> <perfect-scrollbar id="catalog-main-scroll" include-padding="true" class="w-sdc-main-right-container w-sdc-catalog-main"> <!-- HEADER --> <div> <div class="w-sdc-dashboard-catalog-items-header" ng-bind-html="getNumOfElements((catalogFilterdItems| entityFilter:checkboxesFilter | filter:search).length)" ></div> <div class="w-sdc-dashboard-catalog-header-right"> <span class="w-sdc-dashboard-catalog-header-order1" translate="SORT_CAPTION"></span> <a class="w-sdc-dashboard-catalog-sort" data-tests-id="sort-by-last-update" data-ng-class="{'blue' : sortBy==='lastUpdateDate'}" ng-click="order('lastUpdateDate')" translate="SORT_BY_UPDATE_DATE"></a> <span data-ng-show="sortBy === 'lastUpdateDate'" class="w-sdc-catalog-sort-arrow" data-ng-class="{'down': reverse, 'up':!reverse}"></span> | <a class="w-sdc-dashboard-catalog-sort" data-tests-id="sort-by-alphabetical" data-ng-class="{'blue' : sortBy!=='lastUpdateDate'}" ng-click="order('name|resourceName')" translate="SORT_ALPHABETICAL"></a> <span data-ng-show="sortBy !== 'lastUpdateDate'" class="w-sdc-catalog-sort-arrow" data-ng-class="{'down': reverse, 'up':!reverse}"></span> </div> </div> <div infinite-scroll-disabled='isAllItemDisplay' infinite-scroll="raiseNumberOfElementToDisplay()" infinite-scroll-container="'#catalog-main-scroll'" infinite-scroll-distance="'0.2'" infinite-scroll-parent> <div class='w-sdc-row-flex-items'> <!-- Tile new --> <ng2-ui-tile data-ng-repeat="component in catalogFilterdItems| entityFilter:checkboxesFilter | filter:search | orderBy:sortBy:reverse | limitTo:numberOfItemToDisplay" data-ng-init="component.filterTerm = component.name + ' ' + component.description + ' ' + component.tags.toString() + ' ' + component.version;" [component]="component" (on-tile-click)="gui.isLoading || goToComponent(component)"></ng2-ui-tile> <!-- Tile new --> </div> </div> </perfect-scrollbar> </div> <top-nav [top-lvl-selected-index]="1" [search-term]="search.filterTerm" (search-term-change)="gui.changeFilterTerm($event)" [version]="version"></top-nav> </div>