|
|
@@ -1,23 +1,5 @@
|
|
|
-<vdr-action-bar>
|
|
|
- <vdr-ab-left>
|
|
|
- <div class="">
|
|
|
- <input
|
|
|
- type="text"
|
|
|
- name="searchTerm"
|
|
|
- [formControl]="filterTermControl"
|
|
|
- [placeholder]="'catalog.filter-by-name' | translate"
|
|
|
- class="clr-input search-input"
|
|
|
- />
|
|
|
- <div>
|
|
|
- <vdr-language-selector
|
|
|
- [availableLanguageCodes]="availableLanguages$ | async"
|
|
|
- [currentLanguageCode]="contentLanguage$ | async"
|
|
|
- (languageCodeChange)="setLanguage($event)"
|
|
|
- ></vdr-language-selector>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </vdr-ab-left>
|
|
|
- <vdr-ab-right>
|
|
|
+<vdr-page-header>
|
|
|
+ <vdr-page-title>
|
|
|
<vdr-action-bar-items locationId="facet-list"></vdr-action-bar-items>
|
|
|
<a
|
|
|
class="btn btn-primary"
|
|
|
@@ -27,87 +9,85 @@
|
|
|
<clr-icon shape="plus"></clr-icon>
|
|
|
{{ 'catalog.create-new-facet' | translate }}
|
|
|
</a>
|
|
|
- </vdr-ab-right>
|
|
|
-</vdr-action-bar>
|
|
|
-
|
|
|
-<vdr-data-table
|
|
|
- [items]="items$ | async"
|
|
|
- [itemsPerPage]="itemsPerPage$ | async"
|
|
|
- [totalItems]="totalItems$ | async"
|
|
|
- [currentPage]="currentPage$ | async"
|
|
|
- (pageChange)="setPageNumber($event)"
|
|
|
- (itemsPerPageChange)="setItemsPerPage($event)"
|
|
|
- [selectionManager]="selectionManager"
|
|
|
->
|
|
|
- <vdr-bulk-action-menu
|
|
|
- locationId="facet-list"
|
|
|
- [hostComponent]="this"
|
|
|
- [selectionManager]="selectionManager"
|
|
|
- ></vdr-bulk-action-menu>
|
|
|
- <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>
|
|
|
- <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>
|
|
|
- <vdr-dt-column [expand]="true">{{ 'catalog.values' | translate }}</vdr-dt-column>
|
|
|
- <vdr-dt-column>{{ 'catalog.visibility' | translate }}</vdr-dt-column>
|
|
|
- <vdr-dt-column></vdr-dt-column>
|
|
|
- <vdr-dt-column></vdr-dt-column>
|
|
|
- <ng-template let-facet="item">
|
|
|
- <td class="left align-middle" [class.private]="facet.isPrivate">{{ facet.code }}</td>
|
|
|
- <td class="left align-middle" [class.private]="facet.isPrivate">{{ facet.name }}</td>
|
|
|
- <td class="left align-middle" [class.private]="facet.isPrivate">
|
|
|
- <vdr-facet-value-chip
|
|
|
- *ngFor="let value of facet.values | slice: 0:displayLimit[facet.id] || 3"
|
|
|
- [facetValue]="value"
|
|
|
- [removable]="false"
|
|
|
- [displayFacetName]="false"
|
|
|
- ></vdr-facet-value-chip>
|
|
|
- <button
|
|
|
- class="btn btn-sm btn-secondary btn-icon"
|
|
|
- *ngIf="facet.values.length > initialLimit"
|
|
|
- (click)="toggleDisplayLimit(facet)"
|
|
|
+ </vdr-page-title>
|
|
|
+</vdr-page-header>
|
|
|
+<vdr-page-body>
|
|
|
+ <vdr-language-selector
|
|
|
+ [availableLanguageCodes]="availableLanguages$ | async"
|
|
|
+ [currentLanguageCode]="contentLanguage$ | async"
|
|
|
+ (languageCodeChange)="setLanguage($event)"
|
|
|
+ ></vdr-language-selector>
|
|
|
+ <vdr-page-body>
|
|
|
+ <vdr-data-table-2
|
|
|
+ class="mt-2"
|
|
|
+ id="facet-list"
|
|
|
+ [items]="items$ | async"
|
|
|
+ [itemsPerPage]="itemsPerPage$ | async"
|
|
|
+ [totalItems]="totalItems$ | async"
|
|
|
+ [currentPage]="currentPage$ | async"
|
|
|
+ [filters]="filters"
|
|
|
+ (pageChange)="setPageNumber($event)"
|
|
|
+ (itemsPerPageChange)="setItemsPerPage($event)"
|
|
|
+ >
|
|
|
+ <vdr-bulk-action-menu
|
|
|
+ locationId="facet-list"
|
|
|
+ [hostComponent]="this"
|
|
|
+ [selectionManager]="selectionManager"
|
|
|
+ ></vdr-bulk-action-menu>
|
|
|
+ <vdr-dt2-search
|
|
|
+ [searchTermControl]="searchTermControl"
|
|
|
+ [searchTermPlaceholder]="'catalog.filter-by-name' | translate"
|
|
|
+ ></vdr-dt2-search>
|
|
|
+ <vdr-dt2-column
|
|
|
+ [heading]="'common.name' | translate"
|
|
|
+ [optional]="false"
|
|
|
+ [sort]="sorts.get('name')"
|
|
|
>
|
|
|
- <ng-container *ngIf="(displayLimit[facet.id] || 0) < facet.values.length; else collapse">
|
|
|
- <clr-icon shape="plus"></clr-icon>
|
|
|
- {{ facet.values.length - initialLimit }}
|
|
|
- </ng-container>
|
|
|
- <ng-template #collapse>
|
|
|
- <clr-icon shape="minus"></clr-icon>
|
|
|
+ <ng-template let-facet="item">
|
|
|
+ <a class="button-ghost" [routerLink]="['./', facet.id]"
|
|
|
+ ><span>{{ facet.name }}</span>
|
|
|
+ <clr-icon shape="arrow right"></clr-icon>
|
|
|
+ </a>
|
|
|
+ </ng-template>
|
|
|
+ </vdr-dt2-column>
|
|
|
+ <vdr-dt2-column [heading]="'common.code' | translate">
|
|
|
+ <ng-template let-facet="item">
|
|
|
+ {{ facet.code }}
|
|
|
+ </ng-template>
|
|
|
+ </vdr-dt2-column>
|
|
|
+ <vdr-dt2-column [heading]="'common.visibility' | translate">
|
|
|
+ <ng-template let-facet="item">
|
|
|
+ <div class="badge warning" *ngIf="facet.isPrivate">{{ 'common.private' }}</div>
|
|
|
+ <div class="badge success" *ngIf="!facet.isPrivate">{{ 'common.public' }}</div>
|
|
|
+ </ng-template>
|
|
|
+ </vdr-dt2-column>
|
|
|
+ <vdr-dt2-column [heading]="'catalog.values' | translate">
|
|
|
+ <ng-template let-facet="item">
|
|
|
+ <div class="facet-values-list">
|
|
|
+ <vdr-facet-value-chip
|
|
|
+ *ngFor="let value of facet.values | slice : 0 : displayLimit[facet.id] || 3"
|
|
|
+ [facetValue]="value"
|
|
|
+ [removable]="false"
|
|
|
+ [displayFacetName]="false"
|
|
|
+ ></vdr-facet-value-chip>
|
|
|
+ <button
|
|
|
+ class="button-ghost"
|
|
|
+ *ngIf="facet.values.length > initialLimit"
|
|
|
+ (click)="toggleDisplayLimit(facet)"
|
|
|
+ >
|
|
|
+ <ng-container
|
|
|
+ *ngIf="(displayLimit[facet.id] || 0) < facet.values.length; else collapse"
|
|
|
+ >
|
|
|
+ <clr-icon shape="plus"></clr-icon>
|
|
|
+ {{ facet.values.length - initialLimit }}
|
|
|
+ </ng-container>
|
|
|
+ <ng-template #collapse>
|
|
|
+ <clr-icon shape="minus"></clr-icon>
|
|
|
+ </ng-template>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
</ng-template>
|
|
|
- </button>
|
|
|
- </td>
|
|
|
- <td class="left align-middle" [class.private]="facet.isPrivate">
|
|
|
- <vdr-chip>
|
|
|
- <ng-container *ngIf="!facet.isPrivate; else private">{{
|
|
|
- 'catalog.public' | translate
|
|
|
- }}</ng-container>
|
|
|
- <ng-template #private>{{ 'catalog.private' | translate }}</ng-template>
|
|
|
- </vdr-chip>
|
|
|
- </td>
|
|
|
- <td class="right align-middle" [class.private]="facet.isPrivate">
|
|
|
- <vdr-table-row-action
|
|
|
- iconShape="edit"
|
|
|
- [label]="'common.edit' | translate"
|
|
|
- [linkTo]="['./', facet.id]"
|
|
|
- ></vdr-table-row-action>
|
|
|
- </td>
|
|
|
- <td class="right align-middle" [class.private]="facet.isPrivate">
|
|
|
- <vdr-dropdown>
|
|
|
- <button type="button" class="btn btn-link btn-sm" vdrDropdownTrigger>
|
|
|
- {{ 'common.actions' | translate }}
|
|
|
- <clr-icon shape="caret down"></clr-icon>
|
|
|
- </button>
|
|
|
- <vdr-dropdown-menu vdrPosition="bottom-right">
|
|
|
- <button
|
|
|
- type="button"
|
|
|
- class="delete-button"
|
|
|
- (click)="deleteFacet(facet.id)"
|
|
|
- [disabled]="!(['DeleteCatalog', 'DeleteFacet'] | hasPermission)"
|
|
|
- vdrDropdownItem
|
|
|
- >
|
|
|
- <clr-icon shape="trash" class="is-danger"></clr-icon>
|
|
|
- {{ 'common.delete' | translate }}
|
|
|
- </button>
|
|
|
- </vdr-dropdown-menu>
|
|
|
- </vdr-dropdown>
|
|
|
- </td>
|
|
|
- </ng-template>
|
|
|
-</vdr-data-table>
|
|
|
+ </vdr-dt2-column>
|
|
|
+ </vdr-data-table-2>
|
|
|
+ </vdr-page-body>
|
|
|
+</vdr-page-body>
|