Newer
Older
<div class="layout-container" [style.max-width.px]="layoutWidth">
<div class="layout-flex-container"
[fxLayout]="layoutAlignment">
<ng-container *ngTemplateOutlet="alwaysVisiblePagePosition === 'top' || alwaysVisiblePagePosition === 'left' ?
alwaysVisiblePageView :
scrollPagesView"></ng-container>
<ng-container *ngTemplateOutlet="alwaysVisiblePagePosition === 'bottom' || alwaysVisiblePagePosition === 'right' ?
alwaysVisiblePageView :
scrollPagesView"></ng-container>
</div>
</div>
<ng-template #alwaysVisiblePageView>
<div *ngIf="alwaysVisiblePage"
class="page-container"
[style.max-width.px]="layoutAlignment === 'row' ? alwaysVisiblePageWidth : layoutWidth">
<div appHideFirstChild
[hideFirstChild]="hidePageLabels"
[style.max-width.px]="alwaysVisiblePage.maxWidth"
[style.margin.px]="alwaysVisiblePage.margin">
<div class="mat-tab-label">{{'alwaysVisiblePage' | translate}} {{selectedIndex}}</div>
<app-page [parentArrayIndex]="alwaysVisibleUnitPageIndex"
[index]="playerPageIndices[alwaysVisibleUnitPageIndex]"
[pagesContainer]="alwaysVisiblePageContainer"
[page]="alwaysVisiblePage">
</app-page>
</div>
</div>
</ng-template>
<ng-template #scrollPagesView>
<ng-container *ngIf="hasScrollPages">
<ng-container *ngTemplateOutlet="scrollPageMode === 'separate' ?
scrollPagesSeparatedView :
scrollPagesScrolledView"></ng-container>
</ng-container>
</ng-template>
<ng-template #scrollPagesSeparatedView>
<div #pagesSeparatedContainer
class="page-container"
[style.max-width.px]="layoutAlignment === 'row' ? scrollPageWidth : layoutWidth">
<mat-tab-group appHideFirstChild
[hideFirstChild]="hidePageLabels"
mat-align-tabs="start"
[(selectedIndex)]="selectedIndex"
(selectedIndexChange)="onSelectedIndexChange($event)">
<ng-container *ngFor="let page of pages; let i = index">
<mat-tab *ngIf="!page.alwaysVisible"
label="{{'pageIndication' | translate: {index: playerPageIndices[i] + 1} }}">
<div [style.margin.px]="page.margin" [style.max-width.px]="page.maxWidth">
<app-page [parentArrayIndex]="i"
[index]="playerPageIndices[i]"
[isLastPage]="i === lastScrollPageIndex"
[pagesContainer]="pagesSeparatedContainer"
[page]="page">
</app-page>
</div>
</mat-tab>
</ng-container>
</mat-tab-group>
</ng-template>
<ng-template #scrollPagesScrolledView>
<div #pagesScrolledContainer
class="page-container"
[class.concat-scroll-snap]="playerConfig.pagingMode === 'concat-scroll-snap'"
[style.max-width.px]="layoutAlignment === 'row' ? scrollPageWidth : layoutWidth">
<div fxLayout="column">
<ng-container *ngFor="let page of pages; let i = index">
<div *ngIf="!page.alwaysVisible"
[class.concat-scroll-snap-align]="playerConfig.pagingMode === 'concat-scroll-snap'"
appHideFirstChild
[hideFirstChild]="hidePageLabels"
appScrollIndex
[pagesContainer]="pagesScrolledContainer"
[selectIndex]="selectIndex"
[index]="playerPageIndices[i]"
[style.max-width.px]="page.maxWidth"
[style.margin.px]="page.margin">
<div class="mat-tab-label">
{{'pageIndication' | translate: {index: playerPageIndices[i] + 1} }}
</div>
<app-page [parentArrayIndex]="i"
[index]="playerPageIndices[i]"
[pagesContainer]="pagesScrolledContainer"
[isLastPage]="i === lastScrollPageIndex"
(selectedIndexChange)="onSelectedIndexChange($event)">