@apipass/containers 1.0.107 → 1.0.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,55 @@
1
+ import { EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export interface NextPageEvent {
4
+ currentPage: number;
5
+ nextPage: number;
6
+ }
7
+ export interface PreviousPageEvent {
8
+ currentPage: number;
9
+ previousPage: number;
10
+ }
11
+ export interface RefreshItemsEvent {
12
+ continueOnTheSamePage?: boolean;
13
+ }
14
+ export declare class ApipassInfiniteScrollComponent implements OnInit, OnDestroy {
15
+ private subscriptions;
16
+ private readonly _currentId;
17
+ get getCurrentId(): string;
18
+ private _items;
19
+ private _currentPage;
20
+ set currentPage(page: number);
21
+ get currentPage(): number;
22
+ set items(items: any[]);
23
+ get items(): any[];
24
+ pageSize: number;
25
+ loading: boolean;
26
+ filter: Record<string, any>;
27
+ nextPageFn: (params: any) => Promise<any[]>;
28
+ previousPageFn: (params: any) => Promise<any[]>;
29
+ refreshItems: EventEmitter<RefreshItemsEvent>;
30
+ showEmptyList: boolean;
31
+ emptyListMessage: string;
32
+ infiniteScrollDownDistance: number;
33
+ infiniteScrollUpDistance: number;
34
+ infiniteScrollThrottle: number;
35
+ maxHeight: string;
36
+ minHeight: string;
37
+ onNextPage: EventEmitter<NextPageEvent>;
38
+ onPreviousPage: EventEmitter<PreviousPageEvent>;
39
+ loadingChange: EventEmitter<boolean>;
40
+ currentPageChange: EventEmitter<number>;
41
+ itemsTemplate: TemplateRef<any>;
42
+ private isFirstScrollToTop;
43
+ protected loadingNextPage: boolean;
44
+ protected loadingPreviousPage: boolean;
45
+ constructor();
46
+ ngOnInit(): void;
47
+ ngOnDestroy(): void;
48
+ loadingPages(): boolean;
49
+ showListLoader(): boolean;
50
+ protected nextPage(): Promise<void>;
51
+ protected previousPage(): Promise<void>;
52
+ private scrollToLastElementBeforePreviousPage;
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<ApipassInfiniteScrollComponent, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<ApipassInfiniteScrollComponent, "apipass-infinite-scroll-component", never, { "currentPage": { "alias": "currentPage"; "required": false; }; "items": { "alias": "items"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "nextPageFn": { "alias": "nextPageFn"; "required": false; }; "previousPageFn": { "alias": "previousPageFn"; "required": false; }; "refreshItems": { "alias": "refreshItems"; "required": false; }; "showEmptyList": { "alias": "showEmptyList"; "required": false; }; "emptyListMessage": { "alias": "emptyListMessage"; "required": false; }; "infiniteScrollDownDistance": { "alias": "infiniteScrollDownDistance"; "required": false; }; "infiniteScrollUpDistance": { "alias": "infiniteScrollUpDistance"; "required": false; }; "infiniteScrollThrottle": { "alias": "infiniteScrollThrottle"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; }, { "onNextPage": "onNextPage"; "onPreviousPage": "onPreviousPage"; "loadingChange": "loadingChange"; "currentPageChange": "currentPageChange"; }, ["itemsTemplate"], never, false, never>;
55
+ }
@@ -5,20 +5,23 @@ import * as i3 from "./breadcrumb/breadcrumb.component";
5
5
  import * as i4 from "./configuration-page-title/configuration-page-title.component";
6
6
  import * as i5 from "./duration/duration-timeline/duration-timeline.component";
7
7
  import * as i6 from "./duration/duration-progressbar/duration-progressbar.component";
8
- import * as i7 from "@angular/common";
9
- import * as i8 from "@angular/router";
10
- import * as i9 from "@angular/forms";
11
- import * as i10 from "@apipass/icons";
12
- import * as i11 from "@apipass/buttons";
13
- import * as i12 from "ngx-scrollbar";
14
- import * as i13 from "@angular/material/form-field";
15
- import * as i14 from "@angular/material/icon";
16
- import * as i15 from "@angular/material/input";
17
- import * as i16 from "@angular/material/toolbar";
18
- import * as i17 from "@apipass/pipes";
19
- import * as i18 from "@angular/material/tooltip";
8
+ import * as i7 from "./apipass-infinite-scroll/apipass-infinite-scroll.component";
9
+ import * as i8 from "@angular/common";
10
+ import * as i9 from "@angular/router";
11
+ import * as i10 from "@angular/forms";
12
+ import * as i11 from "@apipass/icons";
13
+ import * as i12 from "@apipass/buttons";
14
+ import * as i13 from "ngx-scrollbar";
15
+ import * as i14 from "@angular/material/form-field";
16
+ import * as i15 from "@angular/material/icon";
17
+ import * as i16 from "@angular/material/input";
18
+ import * as i17 from "@angular/material/toolbar";
19
+ import * as i18 from "@apipass/pipes";
20
+ import * as i19 from "@angular/material/tooltip";
21
+ import * as i20 from "ngx-infinite-scroll";
22
+ import * as i21 from "@apipass/loaders";
20
23
  export declare class ContainersModule {
21
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ContainersModule, never>;
22
- static ɵmod: i0.ɵɵNgModuleDeclaration<ContainersModule, [typeof i1.CentralizedContainerComponent, typeof i2.ConfigurationPageComponent, typeof i3.BreadcrumbComponent, typeof i4.ConfigurationPageTitleComponent, typeof i5.DurationTimelineComponent, typeof i6.DurationProgressbarComponent], [typeof i7.CommonModule, typeof i8.RouterModule, typeof i9.FormsModule, typeof i9.ReactiveFormsModule, typeof i10.IconsModule, typeof i11.ButtonsModule, typeof i12.NgScrollbarModule, typeof i13.MatFormFieldModule, typeof i14.MatIconModule, typeof i15.MatInputModule, typeof i16.MatToolbarModule, typeof i17.PipeModule, typeof i18.MatTooltipModule], [typeof i1.CentralizedContainerComponent, typeof i2.ConfigurationPageComponent, typeof i3.BreadcrumbComponent, typeof i4.ConfigurationPageTitleComponent, typeof i5.DurationTimelineComponent, typeof i6.DurationProgressbarComponent]>;
25
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ContainersModule, [typeof i1.CentralizedContainerComponent, typeof i2.ConfigurationPageComponent, typeof i3.BreadcrumbComponent, typeof i4.ConfigurationPageTitleComponent, typeof i5.DurationTimelineComponent, typeof i6.DurationProgressbarComponent, typeof i7.ApipassInfiniteScrollComponent], [typeof i8.CommonModule, typeof i9.RouterModule, typeof i10.FormsModule, typeof i10.ReactiveFormsModule, typeof i11.IconsModule, typeof i12.ButtonsModule, typeof i13.NgScrollbarModule, typeof i14.MatFormFieldModule, typeof i15.MatIconModule, typeof i16.MatInputModule, typeof i17.MatToolbarModule, typeof i18.PipeModule, typeof i19.MatTooltipModule, typeof i20.InfiniteScrollModule, typeof i21.LoadersModule], [typeof i1.CentralizedContainerComponent, typeof i2.ConfigurationPageComponent, typeof i3.BreadcrumbComponent, typeof i4.ConfigurationPageTitleComponent, typeof i5.DurationTimelineComponent, typeof i6.DurationProgressbarComponent, typeof i7.ApipassInfiniteScrollComponent]>;
23
26
  static ɵinj: i0.ɵɵInjectorDeclaration<ContainersModule>;
24
27
  }
@@ -0,0 +1,189 @@
1
+ import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "ngx-infinite-scroll";
5
+ import * as i3 from "@apipass/loaders";
6
+ class ApipassInfiniteScrollComponent {
7
+ subscriptions = [];
8
+ _currentId;
9
+ get getCurrentId() {
10
+ return this._currentId;
11
+ }
12
+ _items = [];
13
+ _currentPage = 1;
14
+ set currentPage(page) {
15
+ this._currentPage = page;
16
+ }
17
+ get currentPage() {
18
+ return this._currentPage;
19
+ }
20
+ set items(items) {
21
+ this._items = items;
22
+ }
23
+ get items() {
24
+ return this._items;
25
+ }
26
+ pageSize = 50;
27
+ loading;
28
+ filter = {};
29
+ nextPageFn;
30
+ previousPageFn;
31
+ refreshItems = new EventEmitter();
32
+ showEmptyList;
33
+ emptyListMessage = 'No Records Found...';
34
+ infiniteScrollDownDistance = 2;
35
+ infiniteScrollUpDistance = 0.5;
36
+ infiniteScrollThrottle = 150;
37
+ maxHeight = '100vh';
38
+ minHeight = '50px';
39
+ onNextPage = new EventEmitter();
40
+ onPreviousPage = new EventEmitter();
41
+ loadingChange = new EventEmitter();
42
+ currentPageChange = new EventEmitter();
43
+ itemsTemplate;
44
+ isFirstScrollToTop;
45
+ loadingNextPage;
46
+ loadingPreviousPage;
47
+ constructor() {
48
+ this._currentId = Math.random().toString(36).substring(2);
49
+ }
50
+ ngOnInit() {
51
+ this.subscriptions.push(this.refreshItems.subscribe(($event) => {
52
+ if (!$event?.continueOnTheSamePage) {
53
+ this._currentPage = 0;
54
+ this.currentPageChange.emit(this._currentPage);
55
+ }
56
+ }));
57
+ }
58
+ ngOnDestroy() {
59
+ this.subscriptions?.forEach(subscription => {
60
+ subscription.unsubscribe();
61
+ });
62
+ this.subscriptions = [];
63
+ }
64
+ loadingPages() {
65
+ return this.loadingNextPage || this.loadingPreviousPage;
66
+ }
67
+ showListLoader() {
68
+ return this.loading;
69
+ }
70
+ async nextPage() {
71
+ if (this.loadingPages()) {
72
+ return;
73
+ }
74
+ try {
75
+ this.loadingNextPage = true;
76
+ this.isFirstScrollToTop = true;
77
+ this.onNextPage.emit({
78
+ currentPage: this.currentPage,
79
+ nextPage: this.currentPage + 1
80
+ });
81
+ this.currentPage++;
82
+ const nextItems = await this.nextPageFn({
83
+ ...this.filter,
84
+ page: this.currentPage,
85
+ pageSize: this.pageSize
86
+ });
87
+ if (nextItems?.length === 0) {
88
+ this.currentPage--;
89
+ return;
90
+ }
91
+ this.currentPageChange.emit(this._currentPage);
92
+ const needRemoveLastPageSizeItems = this.currentPage > 2;
93
+ this._items = needRemoveLastPageSizeItems ? this._items?.slice(this.pageSize).concat(nextItems) : this._items.concat(nextItems);
94
+ }
95
+ finally {
96
+ this.loadingNextPage = false;
97
+ }
98
+ }
99
+ async previousPage() {
100
+ if (this.loadingPages()) {
101
+ return;
102
+ }
103
+ try {
104
+ this.loadingPreviousPage = true;
105
+ this.currentPage = this.isFirstScrollToTop ? this.currentPage - 2 : this.currentPage - 1;
106
+ const needScrollToLastElementBeforePreviousPage = this.currentPage > 0;
107
+ this.currentPage = this.currentPage > 0 ? this.currentPage : 1;
108
+ const previousItems = await this.previousPageFn({
109
+ ...this.filter,
110
+ page: this.currentPage,
111
+ pageSize: this.pageSize
112
+ });
113
+ if (previousItems?.length === 0) {
114
+ return;
115
+ }
116
+ this.currentPageChange.emit(this._currentPage);
117
+ if (needScrollToLastElementBeforePreviousPage) {
118
+ const currentItems = this.items?.slice(0, this.pageSize);
119
+ this.items = previousItems.concat(currentItems);
120
+ this.scrollToLastElementBeforePreviousPage();
121
+ }
122
+ else {
123
+ this.items = previousItems;
124
+ }
125
+ }
126
+ finally {
127
+ this.isFirstScrollToTop = false;
128
+ this.loadingPreviousPage = false;
129
+ }
130
+ }
131
+ scrollToLastElementBeforePreviousPage() {
132
+ setTimeout(() => {
133
+ const scrollElement = document.getElementById(`apipass-infinite-scroll-list-${this.getCurrentId}`);
134
+ const executionId = document.getElementById(`apipass-infinite-scroll-item-${this.getCurrentId}-${this.pageSize}`);
135
+ if (scrollElement && executionId) {
136
+ scrollElement.scrollTo({ top: executionId.offsetTop + executionId.clientHeight });
137
+ }
138
+ });
139
+ }
140
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ApipassInfiniteScrollComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
141
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: ApipassInfiniteScrollComponent, selector: "apipass-infinite-scroll-component", inputs: { currentPage: "currentPage", items: "items", pageSize: "pageSize", loading: "loading", filter: "filter", nextPageFn: "nextPageFn", previousPageFn: "previousPageFn", refreshItems: "refreshItems", showEmptyList: "showEmptyList", emptyListMessage: "emptyListMessage", infiniteScrollDownDistance: "infiniteScrollDownDistance", infiniteScrollUpDistance: "infiniteScrollUpDistance", infiniteScrollThrottle: "infiniteScrollThrottle", maxHeight: "maxHeight", minHeight: "minHeight" }, outputs: { onNextPage: "onNextPage", onPreviousPage: "onPreviousPage", loadingChange: "loadingChange", currentPageChange: "currentPageChange" }, queries: [{ propertyName: "itemsTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div class=\"apipass-infinite-scroll-component\">\n <div class=\"apipass-infinite-scroll-list\"\n *ngIf=\"items?.length > 0\"\n [id]=\"'apipass-infinite-scroll-list-' + getCurrentId\"\n [style.max-height]=\"maxHeight\"\n [style.min-height]=\"minHeight\"\n infiniteScroll\n [infiniteScrollDistance]=\"infiniteScrollDownDistance\"\n [infiniteScrollUpDistance]=\"infiniteScrollUpDistance\"\n [infiniteScrollThrottle]=\"infiniteScrollThrottle\"\n [infiniteScrollDisabled]=\"loadingPages()\"\n (scrolled)=\"nextPage()\"\n (scrolledUp)=\"previousPage()\"\n [scrollWindow]=\"false\">\n <overlay-loader-component class=\"loader-top\" *ngIf=\"loadingPreviousPage\"></overlay-loader-component>\n <div class=\"apipass-infinite-scroll-item\"\n *ngFor=\"let item of items; let index = index\"\n [id]=\"'apipass-infinite-scroll-item-' + getCurrentId + '-' + (index + 1)\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div class=\"loader-bottom-content\" *ngIf=\"loadingNextPage\">\n <overlay-loader-component class=\"loader-bottom\"></overlay-loader-component>\n </div>\n </div>\n <div class=\"apipass-infinite-scroll-list-no-rows\" *ngIf=\"this.showEmptyList && !showListLoader() && items?.length === 0\">\n {{emptyListMessage}}\n </div>\n</div>\n", styles: [".apipass-infinite-scroll-component .apipass-infinite-scroll-list{box-sizing:border-box;position:relative;max-height:calc(100vh - 450px);min-height:100px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent;overscroll-behavior:contain}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar{width:4px;position:absolute;inset:0}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar-thumb{background:#CBCBCB;border-radius:2px}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.7)}.apipass-infinite-scroll-component .apipass-infinite-scroll-list .loader-bottom-content{position:sticky}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component{display:flex;justify-content:center;align-items:center;position:absolute;background:rgba(255,255,255,.7607843137);z-index:999;width:100%}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component.loader-top{top:0;box-shadow:0 5px 10px 2px #ffffffc2}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component.loader-bottom{bottom:0;box-shadow:0 -5px 10px 2px #ffffffc2}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component ::ng-deep mat-spinner{width:25px!important;height:50px;--mdc-circular-progress-size: 50px;--mdc-circular-progress-active-indicator-width: 50px}.apipass-infinite-scroll-component .apipass-infinite-scroll-list-no-rows{width:100%;height:40px;display:flex;justify-content:center;align-items:center;margin-top:10px;border-radius:5px;border:1px solid #CCC;background:#EEE;color:var(--color-fonts-tertiary)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i3.OverlayLoaderComponent, selector: "overlay-loader-component" }] });
142
+ }
143
+ export { ApipassInfiniteScrollComponent };
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ApipassInfiniteScrollComponent, decorators: [{
145
+ type: Component,
146
+ args: [{ selector: 'apipass-infinite-scroll-component', template: "<div class=\"apipass-infinite-scroll-component\">\n <div class=\"apipass-infinite-scroll-list\"\n *ngIf=\"items?.length > 0\"\n [id]=\"'apipass-infinite-scroll-list-' + getCurrentId\"\n [style.max-height]=\"maxHeight\"\n [style.min-height]=\"minHeight\"\n infiniteScroll\n [infiniteScrollDistance]=\"infiniteScrollDownDistance\"\n [infiniteScrollUpDistance]=\"infiniteScrollUpDistance\"\n [infiniteScrollThrottle]=\"infiniteScrollThrottle\"\n [infiniteScrollDisabled]=\"loadingPages()\"\n (scrolled)=\"nextPage()\"\n (scrolledUp)=\"previousPage()\"\n [scrollWindow]=\"false\">\n <overlay-loader-component class=\"loader-top\" *ngIf=\"loadingPreviousPage\"></overlay-loader-component>\n <div class=\"apipass-infinite-scroll-item\"\n *ngFor=\"let item of items; let index = index\"\n [id]=\"'apipass-infinite-scroll-item-' + getCurrentId + '-' + (index + 1)\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div class=\"loader-bottom-content\" *ngIf=\"loadingNextPage\">\n <overlay-loader-component class=\"loader-bottom\"></overlay-loader-component>\n </div>\n </div>\n <div class=\"apipass-infinite-scroll-list-no-rows\" *ngIf=\"this.showEmptyList && !showListLoader() && items?.length === 0\">\n {{emptyListMessage}}\n </div>\n</div>\n", styles: [".apipass-infinite-scroll-component .apipass-infinite-scroll-list{box-sizing:border-box;position:relative;max-height:calc(100vh - 450px);min-height:100px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent;overscroll-behavior:contain}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar{width:4px;position:absolute;inset:0}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar-thumb{background:#CBCBCB;border-radius:2px}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.7)}.apipass-infinite-scroll-component .apipass-infinite-scroll-list .loader-bottom-content{position:sticky}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component{display:flex;justify-content:center;align-items:center;position:absolute;background:rgba(255,255,255,.7607843137);z-index:999;width:100%}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component.loader-top{top:0;box-shadow:0 5px 10px 2px #ffffffc2}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component.loader-bottom{bottom:0;box-shadow:0 -5px 10px 2px #ffffffc2}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component ::ng-deep mat-spinner{width:25px!important;height:50px;--mdc-circular-progress-size: 50px;--mdc-circular-progress-active-indicator-width: 50px}.apipass-infinite-scroll-component .apipass-infinite-scroll-list-no-rows{width:100%;height:40px;display:flex;justify-content:center;align-items:center;margin-top:10px;border-radius:5px;border:1px solid #CCC;background:#EEE;color:var(--color-fonts-tertiary)!important}\n"] }]
147
+ }], ctorParameters: function () { return []; }, propDecorators: { currentPage: [{
148
+ type: Input
149
+ }], items: [{
150
+ type: Input
151
+ }], pageSize: [{
152
+ type: Input
153
+ }], loading: [{
154
+ type: Input
155
+ }], filter: [{
156
+ type: Input
157
+ }], nextPageFn: [{
158
+ type: Input
159
+ }], previousPageFn: [{
160
+ type: Input
161
+ }], refreshItems: [{
162
+ type: Input
163
+ }], showEmptyList: [{
164
+ type: Input
165
+ }], emptyListMessage: [{
166
+ type: Input
167
+ }], infiniteScrollDownDistance: [{
168
+ type: Input
169
+ }], infiniteScrollUpDistance: [{
170
+ type: Input
171
+ }], infiniteScrollThrottle: [{
172
+ type: Input
173
+ }], maxHeight: [{
174
+ type: Input
175
+ }], minHeight: [{
176
+ type: Input
177
+ }], onNextPage: [{
178
+ type: Output
179
+ }], onPreviousPage: [{
180
+ type: Output
181
+ }], loadingChange: [{
182
+ type: Output
183
+ }], currentPageChange: [{
184
+ type: Output
185
+ }], itemsTemplate: [{
186
+ type: ContentChild,
187
+ args: [TemplateRef]
188
+ }] } });
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwvYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29udGFpbmVycy9zcmMvYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwvYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFpQnJILE1BS2EsOEJBQThCO0lBRWpDLGFBQWEsR0FBbUIsRUFBRSxDQUFBO0lBQ3pCLFVBQVUsQ0FBUTtJQUVuQyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUVPLE1BQU0sR0FBVSxFQUFFLENBQUE7SUFDbEIsWUFBWSxHQUFXLENBQUMsQ0FBQTtJQUVoQyxJQUNJLFdBQVcsQ0FBQyxJQUFZO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO0lBQzFCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDMUIsQ0FBQztJQUVELElBQ0ksS0FBSyxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBR00sUUFBUSxHQUFXLEVBQUUsQ0FBQTtJQUdyQixPQUFPLENBQVM7SUFHaEIsTUFBTSxHQUF3QixFQUFFLENBQUE7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QkFEZCxLQUFLO2dCQVVGLEtBQUs7c0JBRFIsS0FBSztnQkFVQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFJQywwQkFBMEI7c0JBRGhDLEtBQUs7Z0JBSUMsd0JBQXdCO3NCQUQ5QixLQUFLO2dCQUlDLHNCQUFzQjtzQkFENUIsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLE1BQU07Z0JBSUEsY0FBYztzQkFEcEIsTUFBTTtnQkFJQSxhQUFhO3NCQURuQixNQUFNO2dCQUlBLGlCQUFpQjtzQkFEdkIsTUFBTTtnQkFHb0IsYUFBYTtzQkFBdkMsWUFBWTt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0UGFnZUV2ZW50IHtcbiAgY3VycmVudFBhZ2U6IG51bWJlclxuICBuZXh0UGFnZTogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJldmlvdXNQYWdlRXZlbnQge1xuICBjdXJyZW50UGFnZTogbnVtYmVyXG4gIHByZXZpb3VzUGFnZTogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmcmVzaEl0ZW1zRXZlbnQge1xuICBjb250aW51ZU9uVGhlU2FtZVBhZ2U/OiBib29sZWFuXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwaXBhc3MtaW5maW5pdGUtc2Nyb2xsLWNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBcGlwYXNzSW5maW5pdGVTY3JvbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdXG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRJZDogc3RyaW5nXG5cbiAgZ2V0IGdldEN1cnJlbnRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50SWRcbiAgfVxuXG4gIHByaXZhdGUgX2l0ZW1zOiBhbnlbXSA9IFtdXG4gIHByaXZhdGUgX2N1cnJlbnRQYWdlOiBudW1iZXIgPSAxXG5cbiAgQElucHV0KClcbiAgc2V0IGN1cnJlbnRQYWdlKHBhZ2U6IG51bWJlcikge1xuICAgIHRoaXMuX2N1cnJlbnRQYWdlID0gcGFnZVxuICB9XG5cbiAgZ2V0IGN1cnJlbnRQYWdlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQYWdlXG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaXRlbXMoaXRlbXM6IGFueVtdKSB7XG4gICAgdGhpcy5faXRlbXMgPSBpdGVtc1xuICB9XG5cbiAgZ2V0IGl0ZW1zKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlU2l6ZTogbnVtYmVyID0gNTBcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbG9hZGluZzogYm9vbGVhblxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXI6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuZXh0UGFnZUZuOiAocGFyYW1zOiBhbnkpID0+IFByb21pc2U8YW55W10+XG5cbiAgQElucHV0KClcbiAgcHVibGljIHByZXZpb3VzUGFnZUZuOiAocGFyYW1zOiBhbnkpID0+IFByb21pc2U8YW55W10+XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlZnJlc2hJdGVtczogRXZlbnRFbWl0dGVyPFJlZnJlc2hJdGVtc0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVmcmVzaEl0ZW1zRXZlbnQ+KClcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0VtcHR5TGlzdDogYm9vbGVhblxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbXB0eUxpc3RNZXNzYWdlOiBzdHJpbmcgPSAnTm8gUmVjb3JkcyBGb3VuZC4uLidcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5maW5pdGVTY3JvbGxEb3duRGlzdGFuY2U6IG51bWJlciA9IDJcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlOiBudW1iZXIgPSAwLjVcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5maW5pdGVTY3JvbGxUaHJvdHRsZTogbnVtYmVyID0gMTUwXG5cbiAgQElucHV0KClcbiAgcHVibGljIG1heEhlaWdodDogc3RyaW5nID0gJzEwMHZoJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5IZWlnaHQ6IHN0cmluZyA9ICc1MHB4J1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25OZXh0UGFnZTogRXZlbnRFbWl0dGVyPE5leHRQYWdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxOZXh0UGFnZUV2ZW50PigpXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblByZXZpb3VzUGFnZTogRXZlbnRFbWl0dGVyPFByZXZpb3VzUGFnZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8UHJldmlvdXNQYWdlRXZlbnQ+KClcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGxvYWRpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY3VycmVudFBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KClcblxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSBpdGVtc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgaXNGaXJzdFNjcm9sbFRvVG9wOiBib29sZWFuXG4gIHByb3RlY3RlZCBsb2FkaW5nTmV4dFBhZ2U6IGJvb2xlYW5cbiAgcHJvdGVjdGVkIGxvYWRpbmdQcmV2aW91c1BhZ2U6IGJvb2xlYW5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9jdXJyZW50SWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMilcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnJlZnJlc2hJdGVtcy5zdWJzY3JpYmUoKCRldmVudCkgPT4ge1xuICAgICAgaWYgKCEkZXZlbnQ/LmNvbnRpbnVlT25UaGVTYW1lUGFnZSkge1xuICAgICAgICB0aGlzLl9jdXJyZW50UGFnZSA9IDBcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZUNoYW5nZS5lbWl0KHRoaXMuX2N1cnJlbnRQYWdlKVxuICAgICAgfVxuICAgIH0pKVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdWJzY3JpcHRpb24gPT4ge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9KVxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdXG4gIH1cblxuICBwdWJsaWMgbG9hZGluZ1BhZ2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmdOZXh0UGFnZSB8fCB0aGlzLmxvYWRpbmdQcmV2aW91c1BhZ2VcbiAgfVxuXG4gIHB1YmxpYyBzaG93TGlzdExvYWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nXG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbmV4dFBhZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMubG9hZGluZ1BhZ2VzKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0cnkge1xuICAgICAgdGhpcy5sb2FkaW5nTmV4dFBhZ2UgPSB0cnVlXG4gICAgICB0aGlzLmlzRmlyc3RTY3JvbGxUb1RvcCA9IHRydWVcbiAgICAgIHRoaXMub25OZXh0UGFnZS5lbWl0KHtcbiAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgIG5leHRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlICsgMVxuICAgICAgfSlcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UrK1xuICAgICAgY29uc3QgbmV4dEl0ZW1zID0gYXdhaXQgdGhpcy5uZXh0UGFnZUZuKHtcbiAgICAgICAgLi4udGhpcy5maWx0ZXIsXG4gICAgICAgIHBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplXG4gICAgICB9KVxuICAgICAgaWYgKG5leHRJdGVtcz8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UtLVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMuY3VycmVudFBhZ2VDaGFuZ2UuZW1pdCh0aGlzLl9jdXJyZW50UGFnZSlcbiAgICAgIGNvbnN0IG5lZWRSZW1vdmVMYXN0UGFnZVNpemVJdGVtcyA9IHRoaXMuY3VycmVudFBhZ2UgPiAyO1xuICAgICAgdGhpcy5faXRlbXMgPSBuZWVkUmVtb3ZlTGFzdFBhZ2VTaXplSXRlbXMgPyB0aGlzLl9pdGVtcz8uc2xpY2UodGhpcy5wYWdlU2l6ZSkuY29uY2F0KG5leHRJdGVtcykgOiB0aGlzLl9pdGVtcy5jb25jYXQobmV4dEl0ZW1zKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmdOZXh0UGFnZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBwcmV2aW91c1BhZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMubG9hZGluZ1BhZ2VzKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0cnkge1xuICAgICAgdGhpcy5sb2FkaW5nUHJldmlvdXNQYWdlID0gdHJ1ZVxuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuaXNGaXJzdFNjcm9sbFRvVG9wID8gdGhpcy5jdXJyZW50UGFnZSAtIDIgOiB0aGlzLmN1cnJlbnRQYWdlIC0gMVxuICAgICAgY29uc3QgbmVlZFNjcm9sbFRvTGFzdEVsZW1lbnRCZWZvcmVQcmV2aW91c1BhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlID4gMFxuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY3VycmVudFBhZ2UgPiAwID8gdGhpcy5jdXJyZW50UGFnZSA6IDFcbiAgICAgIGNvbnN0IHByZXZpb3VzSXRlbXMgPSBhd2FpdCB0aGlzLnByZXZpb3VzUGFnZUZuKHtcbiAgICAgICAgLi4udGhpcy5maWx0ZXIsXG4gICAgICAgIHBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplXG4gICAgICB9KVxuICAgICAgaWYgKHByZXZpb3VzSXRlbXM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMuY3VycmVudFBhZ2VDaGFuZ2UuZW1pdCh0aGlzLl9jdXJyZW50UGFnZSlcbiAgICAgIGlmIChuZWVkU2Nyb2xsVG9MYXN0RWxlbWVudEJlZm9yZVByZXZpb3VzUGFnZSkge1xuICAgICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSB0aGlzLml0ZW1zPy5zbGljZSgwLCB0aGlzLnBhZ2VTaXplKTtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHByZXZpb3VzSXRlbXMuY29uY2F0KGN1cnJlbnRJdGVtcylcbiAgICAgICAgdGhpcy5zY3JvbGxUb0xhc3RFbGVtZW50QmVmb3JlUHJldmlvdXNQYWdlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLml0ZW1zID0gcHJldmlvdXNJdGVtc1xuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmlzRmlyc3RTY3JvbGxUb1RvcCA9IGZhbHNlXG4gICAgICB0aGlzLmxvYWRpbmdQcmV2aW91c1BhZ2UgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsVG9MYXN0RWxlbWVudEJlZm9yZVByZXZpb3VzUGFnZSgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwtbGlzdC0ke3RoaXMuZ2V0Q3VycmVudElkfWApO1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwtaXRlbS0ke3RoaXMuZ2V0Q3VycmVudElkfS0ke3RoaXMucGFnZVNpemV9YClcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50ICYmIGV4ZWN1dGlvbklkKSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG8oeyB0b3A6IGV4ZWN1dGlvbklkLm9mZnNldFRvcCArIGV4ZWN1dGlvbklkLmNsaWVudEhlaWdodCB9KVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImFwaXBhc3MtaW5maW5pdGUtc2Nyb2xsLWNvbXBvbmVudFwiPlxuICA8ZGl2IGNsYXNzPVwiYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwtbGlzdFwiXG4gICAgICAgKm5nSWY9XCJpdGVtcz8ubGVuZ3RoID4gMFwiXG4gICAgICAgW2lkXT1cIidhcGlwYXNzLWluZmluaXRlLXNjcm9sbC1saXN0LScgKyBnZXRDdXJyZW50SWRcIlxuICAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1heEhlaWdodFwiXG4gICAgICAgW3N0eWxlLm1pbi1oZWlnaHRdPVwibWluSGVpZ2h0XCJcbiAgICAgICBpbmZpbml0ZVNjcm9sbFxuICAgICAgIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cImluZmluaXRlU2Nyb2xsRG93bkRpc3RhbmNlXCJcbiAgICAgICBbaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlXT1cImluZmluaXRlU2Nyb2xsVXBEaXN0YW5jZVwiXG4gICAgICAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiaW5maW5pdGVTY3JvbGxUaHJvdHRsZVwiXG4gICAgICAgW2luZmluaXRlU2Nyb2xsRGlzYWJsZWRdPVwibG9hZGluZ1BhZ2VzKClcIlxuICAgICAgIChzY3JvbGxlZCk9XCJuZXh0UGFnZSgpXCJcbiAgICAgICAoc2Nyb2xsZWRVcCk9XCJwcmV2aW91c1BhZ2UoKVwiXG4gICAgICAgW3Njcm9sbFdpbmRvd109XCJmYWxzZVwiPlxuICAgIDxvdmVybGF5LWxvYWRlci1jb21wb25lbnQgY2xhc3M9XCJsb2FkZXItdG9wXCIgKm5nSWY9XCJsb2FkaW5nUHJldmlvdXNQYWdlXCI+PC9vdmVybGF5LWxvYWRlci1jb21wb25lbnQ+XG4gICAgPGRpdiBjbGFzcz1cImFwaXBhc3MtaW5maW5pdGUtc2Nyb2xsLWl0ZW1cIlxuICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgIFtpZF09XCInYXBpcGFzcy1pbmZpbml0ZS1zY3JvbGwtaXRlbS0nICsgZ2V0Q3VycmVudElkICsgJy0nICsgKGluZGV4ICsgMSlcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtc1RlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxvYWRlci1ib3R0b20tY29udGVudFwiICpuZ0lmPVwibG9hZGluZ05leHRQYWdlXCI+XG4gICAgICA8b3ZlcmxheS1sb2FkZXItY29tcG9uZW50IGNsYXNzPVwibG9hZGVyLWJvdHRvbVwiPjwvb3ZlcmxheS1sb2FkZXItY29tcG9uZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFwaXBhc3MtaW5maW5pdGUtc2Nyb2xsLWxpc3Qtbm8tcm93c1wiICpuZ0lmPVwidGhpcy5zaG93RW1wdHlMaXN0ICYmICFzaG93TGlzdExvYWRlcigpICYmIGl0ZW1zPy5sZW5ndGggPT09IDBcIj5cbiAgICB7e2VtcHR5TGlzdE1lc3NhZ2V9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -12,11 +12,14 @@ import { MatInputModule } from '@angular/material/input';
12
12
  import { IconsModule } from '@apipass/icons';
13
13
  import { ButtonsModule } from '@apipass/buttons';
14
14
  import { PipeModule } from '@apipass/pipes';
15
+ import { LoadersModule } from '@apipass/loaders';
15
16
  import { MatToolbarModule } from '@angular/material/toolbar';
16
17
  import { ConfigurationPageTitleComponent } from './configuration-page-title/configuration-page-title.component';
17
18
  import { DurationTimelineComponent } from './duration/duration-timeline/duration-timeline.component';
18
19
  import { MatTooltipModule } from '@angular/material/tooltip';
19
20
  import { DurationProgressbarComponent } from './duration/duration-progressbar/duration-progressbar.component';
21
+ import { ApipassInfiniteScrollComponent } from './apipass-infinite-scroll/apipass-infinite-scroll.component';
22
+ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
20
23
  import * as i0 from "@angular/core";
21
24
  class ContainersModule {
22
25
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -25,7 +28,8 @@ class ContainersModule {
25
28
  BreadcrumbComponent,
26
29
  ConfigurationPageTitleComponent,
27
30
  DurationTimelineComponent,
28
- DurationProgressbarComponent], imports: [CommonModule,
31
+ DurationProgressbarComponent,
32
+ ApipassInfiniteScrollComponent], imports: [CommonModule,
29
33
  RouterModule,
30
34
  FormsModule,
31
35
  ReactiveFormsModule,
@@ -37,12 +41,15 @@ class ContainersModule {
37
41
  MatInputModule,
38
42
  MatToolbarModule,
39
43
  PipeModule,
40
- MatTooltipModule], exports: [CentralizedContainerComponent,
44
+ MatTooltipModule,
45
+ InfiniteScrollModule,
46
+ LoadersModule], exports: [CentralizedContainerComponent,
41
47
  ConfigurationPageComponent,
42
48
  BreadcrumbComponent,
43
49
  ConfigurationPageTitleComponent,
44
50
  DurationTimelineComponent,
45
- DurationProgressbarComponent] });
51
+ DurationProgressbarComponent,
52
+ ApipassInfiniteScrollComponent] });
46
53
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, imports: [CommonModule,
47
54
  RouterModule,
48
55
  FormsModule,
@@ -55,7 +62,9 @@ class ContainersModule {
55
62
  MatInputModule,
56
63
  MatToolbarModule,
57
64
  PipeModule,
58
- MatTooltipModule] });
65
+ MatTooltipModule,
66
+ InfiniteScrollModule,
67
+ LoadersModule] });
59
68
  }
60
69
  export { ContainersModule };
61
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, decorators: [{
@@ -74,7 +83,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
74
83
  MatInputModule,
75
84
  MatToolbarModule,
76
85
  PipeModule,
77
- MatTooltipModule
86
+ MatTooltipModule,
87
+ InfiniteScrollModule,
88
+ LoadersModule
78
89
  ],
79
90
  declarations: [
80
91
  CentralizedContainerComponent,
@@ -82,7 +93,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
82
93
  BreadcrumbComponent,
83
94
  ConfigurationPageTitleComponent,
84
95
  DurationTimelineComponent,
85
- DurationProgressbarComponent
96
+ DurationProgressbarComponent,
97
+ ApipassInfiniteScrollComponent
86
98
  ],
87
99
  exports: [
88
100
  CentralizedContainerComponent,
@@ -90,9 +102,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
90
102
  BreadcrumbComponent,
91
103
  ConfigurationPageTitleComponent,
92
104
  DurationTimelineComponent,
93
- DurationProgressbarComponent
105
+ DurationProgressbarComponent,
106
+ ApipassInfiniteScrollComponent
94
107
  ],
95
108
  providers: []
96
109
  }]
97
110
  }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb250YWluZXJzL3NyYy9jb250YWluZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFBO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFBO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQy9HLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOztBQUM5RyxNQWtDYSxnQkFBZ0I7dUdBQWhCLGdCQUFnQjt3R0FBaEIsZ0JBQWdCLGlCQWpCekIsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQixtQkFBbUI7WUFDbkIsK0JBQStCO1lBQy9CLHlCQUF5QjtZQUN6Qiw0QkFBNEIsYUFwQjVCLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsVUFBVTtZQUNWLGdCQUFnQixhQVdoQiw2QkFBNkI7WUFDN0IsMEJBQTBCO1lBQzFCLG1CQUFtQjtZQUNuQiwrQkFBK0I7WUFDL0IseUJBQXlCO1lBQ3pCLDRCQUE0Qjt3R0FJbkIsZ0JBQWdCLFlBaEN6QixZQUFZO1lBQ1osWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLFVBQVU7WUFDVixnQkFBZ0I7O1NBb0JQLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQWxDNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFVBQVU7d0JBQ1YsZ0JBQWdCO3FCQUNqQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLG1CQUFtQjt3QkFDbkIsK0JBQStCO3dCQUMvQix5QkFBeUI7d0JBQ3pCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQixtQkFBbUI7d0JBQ25CLCtCQUErQjt3QkFDL0IseUJBQXlCO3dCQUN6Qiw0QkFBNEI7cUJBQzdCO29CQUNELFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IENlbnRyYWxpemVkQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jZW50cmFsaXplZC1jb250YWluZXIvY2VudHJhbGl6ZWQtY29udGFpbmVyLmNvbXBvbmVudCdcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25QYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXBhZ2UtY29udGVudC9jb25maWd1cmF0aW9uLXBhZ2UuY29tcG9uZW50J1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCdcbmltcG9ydCB7IE5nU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnbmd4LXNjcm9sbGJhcidcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBJY29uc01vZHVsZSB9IGZyb20gJ0BhcGlwYXNzL2ljb25zJ1xuaW1wb3J0IHsgQnV0dG9uc01vZHVsZSB9IGZyb20gJ0BhcGlwYXNzL2J1dHRvbnMnXG5pbXBvcnQgeyBQaXBlTW9kdWxlIH0gZnJvbSAnQGFwaXBhc3MvcGlwZXMnXG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcidcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25QYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tcGFnZS10aXRsZS9jb25maWd1cmF0aW9uLXBhZ2UtdGl0bGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRHVyYXRpb25UaW1lbGluZUNvbXBvbmVudCB9IGZyb20gJy4vZHVyYXRpb24vZHVyYXRpb24tdGltZWxpbmUvZHVyYXRpb24tdGltZWxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IER1cmF0aW9uUHJvZ3Jlc3NiYXJDb21wb25lbnQgfSBmcm9tICcuL2R1cmF0aW9uL2R1cmF0aW9uLXByb2dyZXNzYmFyL2R1cmF0aW9uLXByb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEljb25zTW9kdWxlLFxuICAgIEJ1dHRvbnNNb2R1bGUsXG4gICAgTmdTY3JvbGxiYXJNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBQaXBlTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ2VudHJhbGl6ZWRDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29uZmlndXJhdGlvblBhZ2VDb21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBDb25maWd1cmF0aW9uUGFnZVRpdGxlQ29tcG9uZW50LFxuICAgIER1cmF0aW9uVGltZWxpbmVDb21wb25lbnQsXG4gICAgRHVyYXRpb25Qcm9ncmVzc2JhckNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ2VudHJhbGl6ZWRDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29uZmlndXJhdGlvblBhZ2VDb21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBDb25maWd1cmF0aW9uUGFnZVRpdGxlQ29tcG9uZW50LFxuICAgIER1cmF0aW9uVGltZWxpbmVDb21wb25lbnQsXG4gICAgRHVyYXRpb25Qcm9ncmVzc2JhckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhaW5lcnNNb2R1bGUge31cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb250YWluZXJzL3NyYy9jb250YWluZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFBO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFBO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQTtBQUMvRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFDM0QsTUFzQ2EsZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixpQkFuQnpCLDZCQUE2QjtZQUM3QiwwQkFBMEI7WUFDMUIsbUJBQW1CO1lBQ25CLCtCQUErQjtZQUMvQix5QkFBeUI7WUFDekIsNEJBQTRCO1lBQzVCLDhCQUE4QixhQXZCOUIsWUFBWTtZQUNaLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixVQUFVO1lBQ1YsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixhQUFhLGFBWWIsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQixtQkFBbUI7WUFDbkIsK0JBQStCO1lBQy9CLHlCQUF5QjtZQUN6Qiw0QkFBNEI7WUFDNUIsOEJBQThCO3dHQUlyQixnQkFBZ0IsWUFwQ3pCLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsYUFBYTs7U0FzQkosZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBdEM1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsYUFBYTtxQkFDZDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLG1CQUFtQjt3QkFDbkIsK0JBQStCO3dCQUMvQix5QkFBeUI7d0JBQ3pCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLG1CQUFtQjt3QkFDbkIsK0JBQStCO3dCQUMvQix5QkFBeUI7d0JBQ3pCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3FCQUMvQjtvQkFDRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBDZW50cmFsaXplZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY2VudHJhbGl6ZWQtY29udGFpbmVyL2NlbnRyYWxpemVkLWNvbnRhaW5lci5jb21wb25lbnQnXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1wYWdlLWNvbnRlbnQvY29uZmlndXJhdGlvbi1wYWdlLmNvbXBvbmVudCdcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ1Njcm9sbGJhck1vZHVsZSB9IGZyb20gJ25neC1zY3JvbGxiYXInXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0J1xuaW1wb3J0IHsgSWNvbnNNb2R1bGUgfSBmcm9tICdAYXBpcGFzcy9pY29ucydcbmltcG9ydCB7IEJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAYXBpcGFzcy9idXR0b25zJ1xuaW1wb3J0IHsgUGlwZU1vZHVsZSB9IGZyb20gJ0BhcGlwYXNzL3BpcGVzJ1xuaW1wb3J0IHsgTG9hZGVyc01vZHVsZSB9IGZyb20gJ0BhcGlwYXNzL2xvYWRlcnMnXG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcidcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25QYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tcGFnZS10aXRsZS9jb25maWd1cmF0aW9uLXBhZ2UtdGl0bGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRHVyYXRpb25UaW1lbGluZUNvbXBvbmVudCB9IGZyb20gJy4vZHVyYXRpb24vZHVyYXRpb24tdGltZWxpbmUvZHVyYXRpb24tdGltZWxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IER1cmF0aW9uUHJvZ3Jlc3NiYXJDb21wb25lbnQgfSBmcm9tICcuL2R1cmF0aW9uL2R1cmF0aW9uLXByb2dyZXNzYmFyL2R1cmF0aW9uLXByb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcGlwYXNzSW5maW5pdGVTY3JvbGxDb21wb25lbnQgfSBmcm9tICcuL2FwaXBhc3MtaW5maW5pdGUtc2Nyb2xsL2FwaXBhc3MtaW5maW5pdGUtc2Nyb2xsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJY29uc01vZHVsZSxcbiAgICBCdXR0b25zTW9kdWxlLFxuICAgIE5nU2Nyb2xsYmFyTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXG4gICAgUGlwZU1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIExvYWRlcnNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ2VudHJhbGl6ZWRDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29uZmlndXJhdGlvblBhZ2VDb21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBDb25maWd1cmF0aW9uUGFnZVRpdGxlQ29tcG9uZW50LFxuICAgIER1cmF0aW9uVGltZWxpbmVDb21wb25lbnQsXG4gICAgRHVyYXRpb25Qcm9ncmVzc2JhckNvbXBvbmVudCxcbiAgICBBcGlwYXNzSW5maW5pdGVTY3JvbGxDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENlbnRyYWxpemVkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIENvbmZpZ3VyYXRpb25QYWdlQ29tcG9uZW50LFxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgQ29uZmlndXJhdGlvblBhZ2VUaXRsZUNvbXBvbmVudCxcbiAgICBEdXJhdGlvblRpbWVsaW5lQ29tcG9uZW50LFxuICAgIER1cmF0aW9uUHJvZ3Jlc3NiYXJDb21wb25lbnQsXG4gICAgQXBpcGFzc0luZmluaXRlU2Nyb2xsQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyc01vZHVsZSB7fVxuIl19
@@ -5,4 +5,5 @@ export * from './configuration-page-title/configuration-page-title.component';
5
5
  export * from './breadcrumb/breadcrumb.component';
6
6
  export * from 'ngx-scrollbar';
7
7
  export * from './duration/public-api';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbnRhaW5lcnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsdUJBQXVCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lcnMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9jZW50cmFsaXplZC1jb250YWluZXIvY2VudHJhbGl6ZWQtY29udGFpbmVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi1wYWdlLWNvbnRlbnQvY29uZmlndXJhdGlvbi1wYWdlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi1wYWdlLXRpdGxlL2NvbmZpZ3VyYXRpb24tcGFnZS10aXRsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICduZ3gtc2Nyb2xsYmFyJ1xuZXhwb3J0ICogZnJvbSAnLi9kdXJhdGlvbi9wdWJsaWMtYXBpJ1xuIl19
8
+ export * from './apipass-infinite-scroll/apipass-infinite-scroll.component';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbnRhaW5lcnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyw2REFBNkQsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29udGFpbmVycy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2NlbnRyYWxpemVkLWNvbnRhaW5lci9jZW50cmFsaXplZC1jb250YWluZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLXBhZ2UtY29udGVudC9jb25maWd1cmF0aW9uLXBhZ2UuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLXBhZ2UtdGl0bGUvY29uZmlndXJhdGlvbi1wYWdlLXRpdGxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJ25neC1zY3JvbGxiYXInXG5leHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uL3B1YmxpYy1hcGknXG5leHBvcnQgKiBmcm9tICcuL2FwaXBhc3MtaW5maW5pdGUtc2Nyb2xsL2FwaXBhc3MtaW5maW5pdGUtc2Nyb2xsLmNvbXBvbmVudCdcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, ViewChild, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, ViewChild, TemplateRef, ContentChild, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { RouterModule } from '@angular/router';
@@ -24,9 +24,13 @@ import * as i3$2 from '@apipass/buttons';
24
24
  import { ButtonsModule } from '@apipass/buttons';
25
25
  import * as i1$1 from '@apipass/pipes';
26
26
  import { PipeModule } from '@apipass/pipes';
27
+ import * as i3$3 from '@apipass/loaders';
28
+ import { LoadersModule } from '@apipass/loaders';
27
29
  import moment from 'moment-timezone';
28
30
  import * as i2$2 from '@angular/material/tooltip';
29
31
  import { MatTooltipModule } from '@angular/material/tooltip';
32
+ import * as i2$3 from 'ngx-infinite-scroll';
33
+ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
30
34
 
31
35
  class CentralizedContainerComponent {
32
36
  searchTerm = '';
@@ -371,6 +375,189 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
371
375
  type: Input
372
376
  }] } });
373
377
 
378
+ class ApipassInfiniteScrollComponent {
379
+ subscriptions = [];
380
+ _currentId;
381
+ get getCurrentId() {
382
+ return this._currentId;
383
+ }
384
+ _items = [];
385
+ _currentPage = 1;
386
+ set currentPage(page) {
387
+ this._currentPage = page;
388
+ }
389
+ get currentPage() {
390
+ return this._currentPage;
391
+ }
392
+ set items(items) {
393
+ this._items = items;
394
+ }
395
+ get items() {
396
+ return this._items;
397
+ }
398
+ pageSize = 50;
399
+ loading;
400
+ filter = {};
401
+ nextPageFn;
402
+ previousPageFn;
403
+ refreshItems = new EventEmitter();
404
+ showEmptyList;
405
+ emptyListMessage = 'No Records Found...';
406
+ infiniteScrollDownDistance = 2;
407
+ infiniteScrollUpDistance = 0.5;
408
+ infiniteScrollThrottle = 150;
409
+ maxHeight = '100vh';
410
+ minHeight = '50px';
411
+ onNextPage = new EventEmitter();
412
+ onPreviousPage = new EventEmitter();
413
+ loadingChange = new EventEmitter();
414
+ currentPageChange = new EventEmitter();
415
+ itemsTemplate;
416
+ isFirstScrollToTop;
417
+ loadingNextPage;
418
+ loadingPreviousPage;
419
+ constructor() {
420
+ this._currentId = Math.random().toString(36).substring(2);
421
+ }
422
+ ngOnInit() {
423
+ this.subscriptions.push(this.refreshItems.subscribe(($event) => {
424
+ if (!$event?.continueOnTheSamePage) {
425
+ this._currentPage = 0;
426
+ this.currentPageChange.emit(this._currentPage);
427
+ }
428
+ }));
429
+ }
430
+ ngOnDestroy() {
431
+ this.subscriptions?.forEach(subscription => {
432
+ subscription.unsubscribe();
433
+ });
434
+ this.subscriptions = [];
435
+ }
436
+ loadingPages() {
437
+ return this.loadingNextPage || this.loadingPreviousPage;
438
+ }
439
+ showListLoader() {
440
+ return this.loading;
441
+ }
442
+ async nextPage() {
443
+ if (this.loadingPages()) {
444
+ return;
445
+ }
446
+ try {
447
+ this.loadingNextPage = true;
448
+ this.isFirstScrollToTop = true;
449
+ this.onNextPage.emit({
450
+ currentPage: this.currentPage,
451
+ nextPage: this.currentPage + 1
452
+ });
453
+ this.currentPage++;
454
+ const nextItems = await this.nextPageFn({
455
+ ...this.filter,
456
+ page: this.currentPage,
457
+ pageSize: this.pageSize
458
+ });
459
+ if (nextItems?.length === 0) {
460
+ this.currentPage--;
461
+ return;
462
+ }
463
+ this.currentPageChange.emit(this._currentPage);
464
+ const needRemoveLastPageSizeItems = this.currentPage > 2;
465
+ this._items = needRemoveLastPageSizeItems ? this._items?.slice(this.pageSize).concat(nextItems) : this._items.concat(nextItems);
466
+ }
467
+ finally {
468
+ this.loadingNextPage = false;
469
+ }
470
+ }
471
+ async previousPage() {
472
+ if (this.loadingPages()) {
473
+ return;
474
+ }
475
+ try {
476
+ this.loadingPreviousPage = true;
477
+ this.currentPage = this.isFirstScrollToTop ? this.currentPage - 2 : this.currentPage - 1;
478
+ const needScrollToLastElementBeforePreviousPage = this.currentPage > 0;
479
+ this.currentPage = this.currentPage > 0 ? this.currentPage : 1;
480
+ const previousItems = await this.previousPageFn({
481
+ ...this.filter,
482
+ page: this.currentPage,
483
+ pageSize: this.pageSize
484
+ });
485
+ if (previousItems?.length === 0) {
486
+ return;
487
+ }
488
+ this.currentPageChange.emit(this._currentPage);
489
+ if (needScrollToLastElementBeforePreviousPage) {
490
+ const currentItems = this.items?.slice(0, this.pageSize);
491
+ this.items = previousItems.concat(currentItems);
492
+ this.scrollToLastElementBeforePreviousPage();
493
+ }
494
+ else {
495
+ this.items = previousItems;
496
+ }
497
+ }
498
+ finally {
499
+ this.isFirstScrollToTop = false;
500
+ this.loadingPreviousPage = false;
501
+ }
502
+ }
503
+ scrollToLastElementBeforePreviousPage() {
504
+ setTimeout(() => {
505
+ const scrollElement = document.getElementById(`apipass-infinite-scroll-list-${this.getCurrentId}`);
506
+ const executionId = document.getElementById(`apipass-infinite-scroll-item-${this.getCurrentId}-${this.pageSize}`);
507
+ if (scrollElement && executionId) {
508
+ scrollElement.scrollTo({ top: executionId.offsetTop + executionId.clientHeight });
509
+ }
510
+ });
511
+ }
512
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ApipassInfiniteScrollComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
513
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: ApipassInfiniteScrollComponent, selector: "apipass-infinite-scroll-component", inputs: { currentPage: "currentPage", items: "items", pageSize: "pageSize", loading: "loading", filter: "filter", nextPageFn: "nextPageFn", previousPageFn: "previousPageFn", refreshItems: "refreshItems", showEmptyList: "showEmptyList", emptyListMessage: "emptyListMessage", infiniteScrollDownDistance: "infiniteScrollDownDistance", infiniteScrollUpDistance: "infiniteScrollUpDistance", infiniteScrollThrottle: "infiniteScrollThrottle", maxHeight: "maxHeight", minHeight: "minHeight" }, outputs: { onNextPage: "onNextPage", onPreviousPage: "onPreviousPage", loadingChange: "loadingChange", currentPageChange: "currentPageChange" }, queries: [{ propertyName: "itemsTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div class=\"apipass-infinite-scroll-component\">\n <div class=\"apipass-infinite-scroll-list\"\n *ngIf=\"items?.length > 0\"\n [id]=\"'apipass-infinite-scroll-list-' + getCurrentId\"\n [style.max-height]=\"maxHeight\"\n [style.min-height]=\"minHeight\"\n infiniteScroll\n [infiniteScrollDistance]=\"infiniteScrollDownDistance\"\n [infiniteScrollUpDistance]=\"infiniteScrollUpDistance\"\n [infiniteScrollThrottle]=\"infiniteScrollThrottle\"\n [infiniteScrollDisabled]=\"loadingPages()\"\n (scrolled)=\"nextPage()\"\n (scrolledUp)=\"previousPage()\"\n [scrollWindow]=\"false\">\n <overlay-loader-component class=\"loader-top\" *ngIf=\"loadingPreviousPage\"></overlay-loader-component>\n <div class=\"apipass-infinite-scroll-item\"\n *ngFor=\"let item of items; let index = index\"\n [id]=\"'apipass-infinite-scroll-item-' + getCurrentId + '-' + (index + 1)\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div class=\"loader-bottom-content\" *ngIf=\"loadingNextPage\">\n <overlay-loader-component class=\"loader-bottom\"></overlay-loader-component>\n </div>\n </div>\n <div class=\"apipass-infinite-scroll-list-no-rows\" *ngIf=\"this.showEmptyList && !showListLoader() && items?.length === 0\">\n {{emptyListMessage}}\n </div>\n</div>\n", styles: [".apipass-infinite-scroll-component .apipass-infinite-scroll-list{box-sizing:border-box;position:relative;max-height:calc(100vh - 450px);min-height:100px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent;overscroll-behavior:contain}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar{width:4px;position:absolute;inset:0}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar-thumb{background:#CBCBCB;border-radius:2px}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.7)}.apipass-infinite-scroll-component .apipass-infinite-scroll-list .loader-bottom-content{position:sticky}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component{display:flex;justify-content:center;align-items:center;position:absolute;background:rgba(255,255,255,.7607843137);z-index:999;width:100%}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component.loader-top{top:0;box-shadow:0 5px 10px 2px #ffffffc2}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component.loader-bottom{bottom:0;box-shadow:0 -5px 10px 2px #ffffffc2}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component ::ng-deep mat-spinner{width:25px!important;height:50px;--mdc-circular-progress-size: 50px;--mdc-circular-progress-active-indicator-width: 50px}.apipass-infinite-scroll-component .apipass-infinite-scroll-list-no-rows{width:100%;height:40px;display:flex;justify-content:center;align-items:center;margin-top:10px;border-radius:5px;border:1px solid #CCC;background:#EEE;color:var(--color-fonts-tertiary)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$3.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i3$3.OverlayLoaderComponent, selector: "overlay-loader-component" }] });
514
+ }
515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ApipassInfiniteScrollComponent, decorators: [{
516
+ type: Component,
517
+ args: [{ selector: 'apipass-infinite-scroll-component', template: "<div class=\"apipass-infinite-scroll-component\">\n <div class=\"apipass-infinite-scroll-list\"\n *ngIf=\"items?.length > 0\"\n [id]=\"'apipass-infinite-scroll-list-' + getCurrentId\"\n [style.max-height]=\"maxHeight\"\n [style.min-height]=\"minHeight\"\n infiniteScroll\n [infiniteScrollDistance]=\"infiniteScrollDownDistance\"\n [infiniteScrollUpDistance]=\"infiniteScrollUpDistance\"\n [infiniteScrollThrottle]=\"infiniteScrollThrottle\"\n [infiniteScrollDisabled]=\"loadingPages()\"\n (scrolled)=\"nextPage()\"\n (scrolledUp)=\"previousPage()\"\n [scrollWindow]=\"false\">\n <overlay-loader-component class=\"loader-top\" *ngIf=\"loadingPreviousPage\"></overlay-loader-component>\n <div class=\"apipass-infinite-scroll-item\"\n *ngFor=\"let item of items; let index = index\"\n [id]=\"'apipass-infinite-scroll-item-' + getCurrentId + '-' + (index + 1)\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div class=\"loader-bottom-content\" *ngIf=\"loadingNextPage\">\n <overlay-loader-component class=\"loader-bottom\"></overlay-loader-component>\n </div>\n </div>\n <div class=\"apipass-infinite-scroll-list-no-rows\" *ngIf=\"this.showEmptyList && !showListLoader() && items?.length === 0\">\n {{emptyListMessage}}\n </div>\n</div>\n", styles: [".apipass-infinite-scroll-component .apipass-infinite-scroll-list{box-sizing:border-box;position:relative;max-height:calc(100vh - 450px);min-height:100px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent;overscroll-behavior:contain}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar{width:4px;position:absolute;inset:0}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar-thumb{background:#CBCBCB;border-radius:2px}.apipass-infinite-scroll-component .apipass-infinite-scroll-list::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.7)}.apipass-infinite-scroll-component .apipass-infinite-scroll-list .loader-bottom-content{position:sticky}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component{display:flex;justify-content:center;align-items:center;position:absolute;background:rgba(255,255,255,.7607843137);z-index:999;width:100%}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component.loader-top{top:0;box-shadow:0 5px 10px 2px #ffffffc2}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component.loader-bottom{bottom:0;box-shadow:0 -5px 10px 2px #ffffffc2}.apipass-infinite-scroll-component .apipass-infinite-scroll-list overlay-loader-component ::ng-deep mat-spinner{width:25px!important;height:50px;--mdc-circular-progress-size: 50px;--mdc-circular-progress-active-indicator-width: 50px}.apipass-infinite-scroll-component .apipass-infinite-scroll-list-no-rows{width:100%;height:40px;display:flex;justify-content:center;align-items:center;margin-top:10px;border-radius:5px;border:1px solid #CCC;background:#EEE;color:var(--color-fonts-tertiary)!important}\n"] }]
518
+ }], ctorParameters: function () { return []; }, propDecorators: { currentPage: [{
519
+ type: Input
520
+ }], items: [{
521
+ type: Input
522
+ }], pageSize: [{
523
+ type: Input
524
+ }], loading: [{
525
+ type: Input
526
+ }], filter: [{
527
+ type: Input
528
+ }], nextPageFn: [{
529
+ type: Input
530
+ }], previousPageFn: [{
531
+ type: Input
532
+ }], refreshItems: [{
533
+ type: Input
534
+ }], showEmptyList: [{
535
+ type: Input
536
+ }], emptyListMessage: [{
537
+ type: Input
538
+ }], infiniteScrollDownDistance: [{
539
+ type: Input
540
+ }], infiniteScrollUpDistance: [{
541
+ type: Input
542
+ }], infiniteScrollThrottle: [{
543
+ type: Input
544
+ }], maxHeight: [{
545
+ type: Input
546
+ }], minHeight: [{
547
+ type: Input
548
+ }], onNextPage: [{
549
+ type: Output
550
+ }], onPreviousPage: [{
551
+ type: Output
552
+ }], loadingChange: [{
553
+ type: Output
554
+ }], currentPageChange: [{
555
+ type: Output
556
+ }], itemsTemplate: [{
557
+ type: ContentChild,
558
+ args: [TemplateRef]
559
+ }] } });
560
+
374
561
  class ContainersModule {
375
562
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
376
563
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, declarations: [CentralizedContainerComponent,
@@ -378,7 +565,8 @@ class ContainersModule {
378
565
  BreadcrumbComponent,
379
566
  ConfigurationPageTitleComponent,
380
567
  DurationTimelineComponent,
381
- DurationProgressbarComponent], imports: [CommonModule,
568
+ DurationProgressbarComponent,
569
+ ApipassInfiniteScrollComponent], imports: [CommonModule,
382
570
  RouterModule,
383
571
  FormsModule,
384
572
  ReactiveFormsModule,
@@ -390,12 +578,15 @@ class ContainersModule {
390
578
  MatInputModule,
391
579
  MatToolbarModule,
392
580
  PipeModule,
393
- MatTooltipModule], exports: [CentralizedContainerComponent,
581
+ MatTooltipModule,
582
+ InfiniteScrollModule,
583
+ LoadersModule], exports: [CentralizedContainerComponent,
394
584
  ConfigurationPageComponent,
395
585
  BreadcrumbComponent,
396
586
  ConfigurationPageTitleComponent,
397
587
  DurationTimelineComponent,
398
- DurationProgressbarComponent] });
588
+ DurationProgressbarComponent,
589
+ ApipassInfiniteScrollComponent] });
399
590
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, imports: [CommonModule,
400
591
  RouterModule,
401
592
  FormsModule,
@@ -408,7 +599,9 @@ class ContainersModule {
408
599
  MatInputModule,
409
600
  MatToolbarModule,
410
601
  PipeModule,
411
- MatTooltipModule] });
602
+ MatTooltipModule,
603
+ InfiniteScrollModule,
604
+ LoadersModule] });
412
605
  }
413
606
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContainersModule, decorators: [{
414
607
  type: NgModule,
@@ -426,7 +619,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
426
619
  MatInputModule,
427
620
  MatToolbarModule,
428
621
  PipeModule,
429
- MatTooltipModule
622
+ MatTooltipModule,
623
+ InfiniteScrollModule,
624
+ LoadersModule
430
625
  ],
431
626
  declarations: [
432
627
  CentralizedContainerComponent,
@@ -434,7 +629,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
434
629
  BreadcrumbComponent,
435
630
  ConfigurationPageTitleComponent,
436
631
  DurationTimelineComponent,
437
- DurationProgressbarComponent
632
+ DurationProgressbarComponent,
633
+ ApipassInfiniteScrollComponent
438
634
  ],
439
635
  exports: [
440
636
  CentralizedContainerComponent,
@@ -442,7 +638,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
442
638
  BreadcrumbComponent,
443
639
  ConfigurationPageTitleComponent,
444
640
  DurationTimelineComponent,
445
- DurationProgressbarComponent
641
+ DurationProgressbarComponent,
642
+ ApipassInfiniteScrollComponent
446
643
  ],
447
644
  providers: []
448
645
  }]
@@ -452,5 +649,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
452
649
  * Generated bundle index. Do not edit.
453
650
  */
454
651
 
455
- export { BreadcrumbComponent, CentralizedContainerComponent, ConfigurationPageComponent, ConfigurationPageTitleComponent, ContainersModule, DurationProgressbarComponent, DurationTimelineComponent };
652
+ export { ApipassInfiniteScrollComponent, BreadcrumbComponent, CentralizedContainerComponent, ConfigurationPageComponent, ConfigurationPageTitleComponent, ContainersModule, DurationProgressbarComponent, DurationTimelineComponent };
456
653
  //# sourceMappingURL=apipass-containers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"apipass-containers.mjs","sources":["../../../projects/containers/src/centralized-container/centralized-container.component.ts","../../../projects/containers/src/centralized-container/centralized-container.component.html","../../../projects/containers/src/configuration-page-content/configuration-page.component.ts","../../../projects/containers/src/configuration-page-content/configuration-page.component.html","../../../projects/containers/src/breadcrumb/breadcrumb.component.ts","../../../projects/containers/src/breadcrumb/breadcrumb.component.html","../../../projects/containers/src/configuration-page-title/configuration-page-title.component.ts","../../../projects/containers/src/configuration-page-title/configuration-page-title.component.html","../../../projects/containers/src/duration/duration-timeline/duration-timeline.component.ts","../../../projects/containers/src/duration/duration-timeline/duration-timeline.component.html","../../../projects/containers/src/duration/duration-progressbar/duration-progressbar.component.ts","../../../projects/containers/src/duration/duration-progressbar/duration-progressbar.component.html","../../../projects/containers/src/containers.module.ts","../../../projects/containers/src/apipass-containers.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'\nimport { NgScrollbar } from 'ngx-scrollbar'\n\n@Component({\n selector: 'centralized-container',\n templateUrl: 'centralized-container.component.html',\n styleUrls: ['centralized-container.component.scss']\n})\nexport class CentralizedContainerComponent {\n\n public searchTerm = ''\n\n @Input() public searchLabel: string\n @Input() public hasSearch = true\n @Input() public ignoreZoom = false\n\n @Output()\n public searchChanged = new EventEmitter<string>()\n\n @ViewChild(NgScrollbar, { static: true })\n public scrollbarRef: NgScrollbar | undefined\n\n public searchTermChanged (): void {\n this.searchChanged.emit(this.searchTerm)\n }\n\n}\n","<div class=\"centralized-container\" [ngClass]=\"{'centralized-container-zoom': !ignoreZoom}\">\n <ng-scrollbar [visibility]=\"'hover'\">\n <div class=\"list-content\">\n <div class=\"list-search\" *ngIf=\"hasSearch\">\n <mat-form-field>\n <mat-label *ngIf=\"searchLabel\">{{searchLabel}}</mat-label>\n <input matInput type=\"search\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"searchTermChanged()\" />\n <mat-icon class=\"search-icon\" matSuffix>search</mat-icon>\n </mat-form-field>\n </div>\n <ng-content></ng-content>\n </div>\n </ng-scrollbar>\n</div>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'\nimport { NgScrollbar } from 'ngx-scrollbar'\nimport { Subject } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\n\n@Component({\n selector: 'configuration-page-container',\n templateUrl: 'configuration-page.component.html',\n styleUrls: ['configuration-page.component.scss']\n})\nexport class ConfigurationPageComponent {\n\n public searchTerm = ''\n\n @Input() public verticalSeparate = false\n @Input() public footerPaginator = false\n @Input() public hasSearch = true\n @Input() public searchDebounceTime = 1000\n @Input() public searchLabel = ''\n\n txtQueryChanged: Subject<string> = new Subject<string>()\n\n @Output() public searchChanged = new EventEmitter<string>()\n @Output() public searchClick = new EventEmitter<string>()\n\n @ViewChild(NgScrollbar, { static: true })\n public scrollbarRef: NgScrollbar | undefined\n\n constructor () {\n this.txtQueryChanged.pipe(\n debounceTime(this.searchDebounceTime),\n distinctUntilChanged()).subscribe(model => { this.searchChanged.next(model) }\n )\n }\n\n public searchTermChanged (): void {\n this.txtQueryChanged.next(this.searchTerm)\n }\n\n public searchIconClick (): void {\n this.searchClick.next(this.searchTerm)\n }\n\n}\n","<div class=\"configuration-page-container\" [ngClass]=\"{'footer-paginator': footerPaginator}\">\n <ng-scrollbar [visibility]=\"'hover'\">\n <div class=\"list-content\">\n <div class=\"list-search\" *ngIf=\"hasSearch\">\n <mat-form-field class=\"apipass-search-input-text search-input-item small-text\"\n [ngClass]=\"{'label-input': searchLabel}\"\n appearance=\"outline\">\n <mat-label *ngIf=\"searchLabel\">{{searchLabel}}</mat-label>\n <input matInput type=\"search\" class=\"search-input\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"searchTermChanged()\"\n />\n <mat-icon class=\"search-icon\" matSuffix (click)=\"searchIconClick()\">search</mat-icon>\n </mat-form-field>\n </div>\n\n <div class=\"container-content\" [ngClass]=\"{'vertical-separate': verticalSeparate}\">\n <ng-content></ng-content>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'breadcrumb-component',\n templateUrl: 'breadcrumb.component.html',\n styleUrls: ['breadcrumb.component.scss']\n})\nexport class BreadcrumbComponent {\n\n @Input() public icon = 'keyboard_arrow_right'\n @Input() public items: any = []\n @Input() public labelProperty = 'label'\n @Output() itemClick = new EventEmitter<{ index: number, item: any }>()\n\n public eventClick (index: number, item: any): any {\n this.items.splice(index + 1, this.items.length - 1)\n this.itemClick.emit({ index, item })\n }\n\n}\n","<mat-toolbar *ngIf=\"items.length > 0\" color=\"primary\">\n <span *ngFor=\"let header of items; let indx = index, let last = last\">\n <a mat-button\n [ngClass]=\"!last ? 'text-link' : 'default-cursor'\"\n (click)=\"!last ? eventClick(indx, header) : undefined\">{{header[labelProperty]}}\n <mat-icon [ngClass]=\"{'hidden-icon': last}\">{{icon}}</mat-icon>\n </a>\n </span>\n</mat-toolbar>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'configuration-page-title',\n templateUrl: 'configuration-page-title.component.html',\n styleUrls: ['configuration-page-title.component.scss']\n})\nexport class ConfigurationPageTitleComponent {\n\n @Input() public icon: string;\n @Input() public isMaterialIcon = false;\n @Input() public materialOutline = false;\n\n @Input() public title: string;\n @Input() public buttonText: string;\n @Input() public buttonIcon: string;\n\n @Output() public onNewButtonClick = new EventEmitter<boolean>();\n\n public newButtonClick(): void {\n this.onNewButtonClick.emit(true);\n }\n\n}\n","<div class=\"configuration-title\">\n\n <div class=\"text\">\n <icon *ngIf=\"icon\"\n [ngClass]=\"{'title-icon-material': isMaterialIcon}\"\n [isMaterialIcon]=\"isMaterialIcon\"\n [materialOutline]=\"materialOutline\"\n [type]=\"'configuration-icon'\"\n [name]=\"icon\">\n </icon>\n {{title}}\n </div>\n\n <div class=\"button\" *ngIf=\"buttonText\">\n <secondary-button\n [btnClass]=\"'font-black'\"\n [icon]=\"buttonIcon\"\n [label]=\"buttonText\"\n (onClick)=\"newButtonClick()\">\n </secondary-button>\n </div>\n\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport moment from 'moment-timezone';\n\n@Component({\n selector: 'duration-timeline-component',\n templateUrl: 'duration-timeline.component.html',\n styleUrls: ['duration-timeline.component.scss']\n})\nexport class DurationTimelineComponent implements OnInit {\n\n public timeLineParts: number[] = [];\n public running: boolean\n\n private _startDate: Date;\n private _endDate: Date;\n private _durationParts: number = 0\n\n /*\n * If this option is true, depending on the total duration time and numbers of the duration parts, numbers can be repeated on timeline.\n */\n @Input()\n public onlyLargestUnit: boolean\n\n @Input()\n public runningLabel: string = '---'\n\n @Input()\n public runningTooltip: string = 'Running'\n\n @Input()\n public timezone: string = 'America/Sao_Paulo';\n\n @Input()\n set startDate(date: Date | string) {\n this._startDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startDate(): Date {\n return this._startDate;\n }\n\n @Input()\n set endDate(date: Date | string) {\n this._endDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endDate(): Date {\n return this._endDate;\n }\n\n @Input()\n public set durationParts(parts: number) {\n this._durationParts = parts;\n this.initialize().then()\n }\n\n get durationParts(): number {\n return this._durationParts;\n }\n\n async ngOnInit(): Promise<void> {\n await this.initialize();\n }\n\n public async initialize(): Promise<void> {\n this.running = false;\n if (!this.startDate || !this.durationParts) {\n return\n }\n if (!this.endDate) {\n this.running = true;\n }\n\n const durationTime = this.getTotalDuration(this.endDate || moment().tz(this.timezone).toDate());\n if (durationTime <= 0) {\n return\n }\n this.timeLineParts = [];\n const timeAggregation = durationTime / this.durationParts;\n for (let i = 0; i < this.durationParts; i++) {\n this.timeLineParts.push(timeAggregation * (i + 1));\n }\n }\n\n public getTotalDuration(endDate: Date): number {\n return moment(this.endDate).tz(this.timezone).diff(moment(this.startDate).tz(this.timezone), 'milliseconds')\n }\n\n public stringToDate(date: Date | string): Date {\n if (!date) {\n return null;\n }\n return moment(date).tz(this.timezone).toDate()\n }\n\n getDurationWidth(): string {\n return `${100 / this._durationParts}%`\n }\n\n}\n","<div class=\"duration-timeline-component\" *ngIf=\"timeLineParts?.length > 0\">\n <div class=\"duration-timeline\">\n <div class=\"duration-item\"\n [style.width]=\"getDurationWidth()\"\n [ngClass]=\"{ 'duration-item-first' : first, 'duration-item-last' : last }\"\n *ngFor=\"let duration of timeLineParts; let first = first; let last = last\">\n <span class=\"duration-label\" [matTooltip]=\"duration | durationTime: { onlyLargestUnit }\" *ngIf=\"!running || !last\">\n {{duration | durationTime: { onlyLargestUnit } }}\n </span>\n <span class=\"duration-label\" [matTooltip]=\"runningTooltip\" *ngIf=\"running && last\">\n {{runningLabel}}\n </span>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { DurationPipe } from '@apipass/pipes'\nimport moment from 'moment-timezone';\n\n@Component({\n selector: 'duration-progressbar-component',\n templateUrl: 'duration-progressbar.component.html',\n styleUrls: ['duration-progressbar.component.scss']\n})\nexport class DurationProgressbarComponent implements OnInit {\n\n public running: boolean\n\n private _startDate: Date;\n private _endDate: Date;\n private _startPartDate: Date;\n private _endPartDate: Date;\n\n @Input()\n public barHeight: number = 20\n\n @Input()\n public progressHeight: number = 18\n\n @Input()\n public runningTooltip: string = 'Running'\n\n @Input()\n public progressTooltipConjunction = 'of'\n\n @Input()\n public timezone: string = 'America/Sao_Paulo';\n\n public totalDurationTime: number;\n public partDurationTime: number;\n\n public startPercentage: number;\n public progressWidth: number\n public progressPercentValue: number\n\n constructor(private readonly durationPipe: DurationPipe) {\n }\n\n @Input()\n set startPartDate(date: Date | string) {\n this._startPartDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startPartDate(): Date {\n return this._startPartDate;\n }\n\n @Input()\n set endPartDate(date: Date | string) {\n this._endPartDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endPartDate(): Date {\n return this._endPartDate;\n }\n\n @Input()\n set startDate(date: Date | string) {\n this._startDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startDate(): Date {\n return this._startDate;\n }\n\n @Input()\n set endDate(date: Date | string) {\n this._endDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endDate(): Date {\n return this._endDate;\n }\n\n async ngOnInit(): Promise<void> {\n await this.initialize();\n }\n\n public async initialize(): Promise<void> {\n this.running = false;\n if (!this.startDate || !this.startPartDate) {\n return\n }\n if (!this.endPartDate) {\n this.running = true;\n }\n\n const startPartGapTime = this.getTotalDuration(this.startDate, this.startPartDate);\n this.totalDurationTime = this.getTotalDuration(this.startDate, this.endDate || moment().tz(this.timezone).toDate());\n this.partDurationTime = this.getTotalDuration(this.startPartDate, this.endPartDate || moment().tz(this.timezone).toDate());\n\n this.startPercentage = (100 * startPartGapTime) / this.totalDurationTime\n this.progressWidth = (100 * this.partDurationTime) / this.totalDurationTime\n this.progressPercentValue = this.progressWidth\n\n if (this.progressWidth > 100) {\n this.progressWidth = 100\n } else if (this.progressWidth < 1) {\n this.progressWidth = 1\n }\n\n if (this.startPercentage + this.progressWidth > 100) {\n this.startPercentage = 100 - this.progressWidth\n }\n\n if (this.startPercentage > 99) {\n this.startPercentage = 99\n } else if (this.startPercentage < 0) {\n this.startPercentage = 0\n }\n }\n\n public getTotalDuration(startDate: Date, endDate: Date): number {\n return moment(endDate).tz(this.timezone).diff(moment(startDate).tz(this.timezone), 'milliseconds')\n }\n\n public stringToDate(date: Date | string): Date {\n if (!date) {\n return null;\n }\n return moment(date).tz(this.timezone).toDate();\n }\n\n public getTooltipText(): string {\n if (this.running) {\n return `${this.runningTooltip} (${this.durationPipe.transform(this.partDurationTime)})`\n }\n return `${this.durationPipe.transform(this.partDurationTime)} (${this.progressPercentValue.toFixed(1)}%) ${this.progressTooltipConjunction} ${this.durationPipe.transform(this.totalDurationTime)}`\n }\n\n}\n","<div class=\"duration-progressbar-component\" [ngClass]=\"{'duration-progressbar-component-running': running}\" [style.height.px]=\"barHeight\">\n <div class=\"duration-current-progress\"\n [ngClass]=\"{'duration-current-progress-running': running}\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n </div>\n <div class=\"duration-value\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n <span class=\"duration-text\" [style.height.px]=\"progressHeight\" [ngClass]=\"{'duration-text-running': running}\">\n {{partDurationTime | durationTime}} ({{progressPercentValue.toFixed(0)}}%)\n </span>\n </div>\n</div>\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { RouterModule } from '@angular/router'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { CentralizedContainerComponent } from './centralized-container/centralized-container.component'\nimport { ConfigurationPageComponent } from './configuration-page-content/configuration-page.component'\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component'\nimport { NgScrollbarModule } from 'ngx-scrollbar'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { IconsModule } from '@apipass/icons'\nimport { ButtonsModule } from '@apipass/buttons'\nimport { PipeModule } from '@apipass/pipes'\nimport { MatToolbarModule } from '@angular/material/toolbar'\nimport { ConfigurationPageTitleComponent } from './configuration-page-title/configuration-page-title.component'\nimport { DurationTimelineComponent } from './duration/duration-timeline/duration-timeline.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DurationProgressbarComponent } from './duration/duration-progressbar/duration-progressbar.component';\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n ReactiveFormsModule,\n IconsModule,\n ButtonsModule,\n NgScrollbarModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatToolbarModule,\n PipeModule,\n MatTooltipModule\n ],\n declarations: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent,\n DurationTimelineComponent,\n DurationProgressbarComponent\n ],\n exports: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent,\n DurationTimelineComponent,\n DurationProgressbarComponent\n ],\n providers: []\n})\nexport class ContainersModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1"],"mappings":"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"}
1
+ {"version":3,"file":"apipass-containers.mjs","sources":["../../../projects/containers/src/centralized-container/centralized-container.component.ts","../../../projects/containers/src/centralized-container/centralized-container.component.html","../../../projects/containers/src/configuration-page-content/configuration-page.component.ts","../../../projects/containers/src/configuration-page-content/configuration-page.component.html","../../../projects/containers/src/breadcrumb/breadcrumb.component.ts","../../../projects/containers/src/breadcrumb/breadcrumb.component.html","../../../projects/containers/src/configuration-page-title/configuration-page-title.component.ts","../../../projects/containers/src/configuration-page-title/configuration-page-title.component.html","../../../projects/containers/src/duration/duration-timeline/duration-timeline.component.ts","../../../projects/containers/src/duration/duration-timeline/duration-timeline.component.html","../../../projects/containers/src/duration/duration-progressbar/duration-progressbar.component.ts","../../../projects/containers/src/duration/duration-progressbar/duration-progressbar.component.html","../../../projects/containers/src/apipass-infinite-scroll/apipass-infinite-scroll.component.ts","../../../projects/containers/src/apipass-infinite-scroll/apipass-infinite-scroll.component.html","../../../projects/containers/src/containers.module.ts","../../../projects/containers/src/apipass-containers.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'\nimport { NgScrollbar } from 'ngx-scrollbar'\n\n@Component({\n selector: 'centralized-container',\n templateUrl: 'centralized-container.component.html',\n styleUrls: ['centralized-container.component.scss']\n})\nexport class CentralizedContainerComponent {\n\n public searchTerm = ''\n\n @Input() public searchLabel: string\n @Input() public hasSearch = true\n @Input() public ignoreZoom = false\n\n @Output()\n public searchChanged = new EventEmitter<string>()\n\n @ViewChild(NgScrollbar, { static: true })\n public scrollbarRef: NgScrollbar | undefined\n\n public searchTermChanged (): void {\n this.searchChanged.emit(this.searchTerm)\n }\n\n}\n","<div class=\"centralized-container\" [ngClass]=\"{'centralized-container-zoom': !ignoreZoom}\">\n <ng-scrollbar [visibility]=\"'hover'\">\n <div class=\"list-content\">\n <div class=\"list-search\" *ngIf=\"hasSearch\">\n <mat-form-field>\n <mat-label *ngIf=\"searchLabel\">{{searchLabel}}</mat-label>\n <input matInput type=\"search\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"searchTermChanged()\" />\n <mat-icon class=\"search-icon\" matSuffix>search</mat-icon>\n </mat-form-field>\n </div>\n <ng-content></ng-content>\n </div>\n </ng-scrollbar>\n</div>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core'\nimport { NgScrollbar } from 'ngx-scrollbar'\nimport { Subject } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\n\n@Component({\n selector: 'configuration-page-container',\n templateUrl: 'configuration-page.component.html',\n styleUrls: ['configuration-page.component.scss']\n})\nexport class ConfigurationPageComponent {\n\n public searchTerm = ''\n\n @Input() public verticalSeparate = false\n @Input() public footerPaginator = false\n @Input() public hasSearch = true\n @Input() public searchDebounceTime = 1000\n @Input() public searchLabel = ''\n\n txtQueryChanged: Subject<string> = new Subject<string>()\n\n @Output() public searchChanged = new EventEmitter<string>()\n @Output() public searchClick = new EventEmitter<string>()\n\n @ViewChild(NgScrollbar, { static: true })\n public scrollbarRef: NgScrollbar | undefined\n\n constructor () {\n this.txtQueryChanged.pipe(\n debounceTime(this.searchDebounceTime),\n distinctUntilChanged()).subscribe(model => { this.searchChanged.next(model) }\n )\n }\n\n public searchTermChanged (): void {\n this.txtQueryChanged.next(this.searchTerm)\n }\n\n public searchIconClick (): void {\n this.searchClick.next(this.searchTerm)\n }\n\n}\n","<div class=\"configuration-page-container\" [ngClass]=\"{'footer-paginator': footerPaginator}\">\n <ng-scrollbar [visibility]=\"'hover'\">\n <div class=\"list-content\">\n <div class=\"list-search\" *ngIf=\"hasSearch\">\n <mat-form-field class=\"apipass-search-input-text search-input-item small-text\"\n [ngClass]=\"{'label-input': searchLabel}\"\n appearance=\"outline\">\n <mat-label *ngIf=\"searchLabel\">{{searchLabel}}</mat-label>\n <input matInput type=\"search\" class=\"search-input\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"searchTermChanged()\"\n />\n <mat-icon class=\"search-icon\" matSuffix (click)=\"searchIconClick()\">search</mat-icon>\n </mat-form-field>\n </div>\n\n <div class=\"container-content\" [ngClass]=\"{'vertical-separate': verticalSeparate}\">\n <ng-content></ng-content>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'breadcrumb-component',\n templateUrl: 'breadcrumb.component.html',\n styleUrls: ['breadcrumb.component.scss']\n})\nexport class BreadcrumbComponent {\n\n @Input() public icon = 'keyboard_arrow_right'\n @Input() public items: any = []\n @Input() public labelProperty = 'label'\n @Output() itemClick = new EventEmitter<{ index: number, item: any }>()\n\n public eventClick (index: number, item: any): any {\n this.items.splice(index + 1, this.items.length - 1)\n this.itemClick.emit({ index, item })\n }\n\n}\n","<mat-toolbar *ngIf=\"items.length > 0\" color=\"primary\">\n <span *ngFor=\"let header of items; let indx = index, let last = last\">\n <a mat-button\n [ngClass]=\"!last ? 'text-link' : 'default-cursor'\"\n (click)=\"!last ? eventClick(indx, header) : undefined\">{{header[labelProperty]}}\n <mat-icon [ngClass]=\"{'hidden-icon': last}\">{{icon}}</mat-icon>\n </a>\n </span>\n</mat-toolbar>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'configuration-page-title',\n templateUrl: 'configuration-page-title.component.html',\n styleUrls: ['configuration-page-title.component.scss']\n})\nexport class ConfigurationPageTitleComponent {\n\n @Input() public icon: string;\n @Input() public isMaterialIcon = false;\n @Input() public materialOutline = false;\n\n @Input() public title: string;\n @Input() public buttonText: string;\n @Input() public buttonIcon: string;\n\n @Output() public onNewButtonClick = new EventEmitter<boolean>();\n\n public newButtonClick(): void {\n this.onNewButtonClick.emit(true);\n }\n\n}\n","<div class=\"configuration-title\">\n\n <div class=\"text\">\n <icon *ngIf=\"icon\"\n [ngClass]=\"{'title-icon-material': isMaterialIcon}\"\n [isMaterialIcon]=\"isMaterialIcon\"\n [materialOutline]=\"materialOutline\"\n [type]=\"'configuration-icon'\"\n [name]=\"icon\">\n </icon>\n {{title}}\n </div>\n\n <div class=\"button\" *ngIf=\"buttonText\">\n <secondary-button\n [btnClass]=\"'font-black'\"\n [icon]=\"buttonIcon\"\n [label]=\"buttonText\"\n (onClick)=\"newButtonClick()\">\n </secondary-button>\n </div>\n\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport moment from 'moment-timezone';\n\n@Component({\n selector: 'duration-timeline-component',\n templateUrl: 'duration-timeline.component.html',\n styleUrls: ['duration-timeline.component.scss']\n})\nexport class DurationTimelineComponent implements OnInit {\n\n public timeLineParts: number[] = [];\n public running: boolean\n\n private _startDate: Date;\n private _endDate: Date;\n private _durationParts: number = 0\n\n /*\n * If this option is true, depending on the total duration time and numbers of the duration parts, numbers can be repeated on timeline.\n */\n @Input()\n public onlyLargestUnit: boolean\n\n @Input()\n public runningLabel: string = '---'\n\n @Input()\n public runningTooltip: string = 'Running'\n\n @Input()\n public timezone: string = 'America/Sao_Paulo';\n\n @Input()\n set startDate(date: Date | string) {\n this._startDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startDate(): Date {\n return this._startDate;\n }\n\n @Input()\n set endDate(date: Date | string) {\n this._endDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endDate(): Date {\n return this._endDate;\n }\n\n @Input()\n public set durationParts(parts: number) {\n this._durationParts = parts;\n this.initialize().then()\n }\n\n get durationParts(): number {\n return this._durationParts;\n }\n\n async ngOnInit(): Promise<void> {\n await this.initialize();\n }\n\n public async initialize(): Promise<void> {\n this.running = false;\n if (!this.startDate || !this.durationParts) {\n return\n }\n if (!this.endDate) {\n this.running = true;\n }\n\n const durationTime = this.getTotalDuration(this.endDate || moment().tz(this.timezone).toDate());\n if (durationTime <= 0) {\n return\n }\n this.timeLineParts = [];\n const timeAggregation = durationTime / this.durationParts;\n for (let i = 0; i < this.durationParts; i++) {\n this.timeLineParts.push(timeAggregation * (i + 1));\n }\n }\n\n public getTotalDuration(endDate: Date): number {\n return moment(this.endDate).tz(this.timezone).diff(moment(this.startDate).tz(this.timezone), 'milliseconds')\n }\n\n public stringToDate(date: Date | string): Date {\n if (!date) {\n return null;\n }\n return moment(date).tz(this.timezone).toDate()\n }\n\n getDurationWidth(): string {\n return `${100 / this._durationParts}%`\n }\n\n}\n","<div class=\"duration-timeline-component\" *ngIf=\"timeLineParts?.length > 0\">\n <div class=\"duration-timeline\">\n <div class=\"duration-item\"\n [style.width]=\"getDurationWidth()\"\n [ngClass]=\"{ 'duration-item-first' : first, 'duration-item-last' : last }\"\n *ngFor=\"let duration of timeLineParts; let first = first; let last = last\">\n <span class=\"duration-label\" [matTooltip]=\"duration | durationTime: { onlyLargestUnit }\" *ngIf=\"!running || !last\">\n {{duration | durationTime: { onlyLargestUnit } }}\n </span>\n <span class=\"duration-label\" [matTooltip]=\"runningTooltip\" *ngIf=\"running && last\">\n {{runningLabel}}\n </span>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { DurationPipe } from '@apipass/pipes'\nimport moment from 'moment-timezone';\n\n@Component({\n selector: 'duration-progressbar-component',\n templateUrl: 'duration-progressbar.component.html',\n styleUrls: ['duration-progressbar.component.scss']\n})\nexport class DurationProgressbarComponent implements OnInit {\n\n public running: boolean\n\n private _startDate: Date;\n private _endDate: Date;\n private _startPartDate: Date;\n private _endPartDate: Date;\n\n @Input()\n public barHeight: number = 20\n\n @Input()\n public progressHeight: number = 18\n\n @Input()\n public runningTooltip: string = 'Running'\n\n @Input()\n public progressTooltipConjunction = 'of'\n\n @Input()\n public timezone: string = 'America/Sao_Paulo';\n\n public totalDurationTime: number;\n public partDurationTime: number;\n\n public startPercentage: number;\n public progressWidth: number\n public progressPercentValue: number\n\n constructor(private readonly durationPipe: DurationPipe) {\n }\n\n @Input()\n set startPartDate(date: Date | string) {\n this._startPartDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startPartDate(): Date {\n return this._startPartDate;\n }\n\n @Input()\n set endPartDate(date: Date | string) {\n this._endPartDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endPartDate(): Date {\n return this._endPartDate;\n }\n\n @Input()\n set startDate(date: Date | string) {\n this._startDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get startDate(): Date {\n return this._startDate;\n }\n\n @Input()\n set endDate(date: Date | string) {\n this._endDate = this.stringToDate(date);\n this.initialize().then()\n }\n\n get endDate(): Date {\n return this._endDate;\n }\n\n async ngOnInit(): Promise<void> {\n await this.initialize();\n }\n\n public async initialize(): Promise<void> {\n this.running = false;\n if (!this.startDate || !this.startPartDate) {\n return\n }\n if (!this.endPartDate) {\n this.running = true;\n }\n\n const startPartGapTime = this.getTotalDuration(this.startDate, this.startPartDate);\n this.totalDurationTime = this.getTotalDuration(this.startDate, this.endDate || moment().tz(this.timezone).toDate());\n this.partDurationTime = this.getTotalDuration(this.startPartDate, this.endPartDate || moment().tz(this.timezone).toDate());\n\n this.startPercentage = (100 * startPartGapTime) / this.totalDurationTime\n this.progressWidth = (100 * this.partDurationTime) / this.totalDurationTime\n this.progressPercentValue = this.progressWidth\n\n if (this.progressWidth > 100) {\n this.progressWidth = 100\n } else if (this.progressWidth < 1) {\n this.progressWidth = 1\n }\n\n if (this.startPercentage + this.progressWidth > 100) {\n this.startPercentage = 100 - this.progressWidth\n }\n\n if (this.startPercentage > 99) {\n this.startPercentage = 99\n } else if (this.startPercentage < 0) {\n this.startPercentage = 0\n }\n }\n\n public getTotalDuration(startDate: Date, endDate: Date): number {\n return moment(endDate).tz(this.timezone).diff(moment(startDate).tz(this.timezone), 'milliseconds')\n }\n\n public stringToDate(date: Date | string): Date {\n if (!date) {\n return null;\n }\n return moment(date).tz(this.timezone).toDate();\n }\n\n public getTooltipText(): string {\n if (this.running) {\n return `${this.runningTooltip} (${this.durationPipe.transform(this.partDurationTime)})`\n }\n return `${this.durationPipe.transform(this.partDurationTime)} (${this.progressPercentValue.toFixed(1)}%) ${this.progressTooltipConjunction} ${this.durationPipe.transform(this.totalDurationTime)}`\n }\n\n}\n","<div class=\"duration-progressbar-component\" [ngClass]=\"{'duration-progressbar-component-running': running}\" [style.height.px]=\"barHeight\">\n <div class=\"duration-current-progress\"\n [ngClass]=\"{'duration-current-progress-running': running}\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n </div>\n <div class=\"duration-value\"\n [matTooltip]=\"getTooltipText()\"\n [style.margin-left.%]=\"startPercentage\"\n [style.width.%]=\"progressWidth\"\n [style.height.px]=\"progressHeight\">\n <span class=\"duration-text\" [style.height.px]=\"progressHeight\" [ngClass]=\"{'duration-text-running': running}\">\n {{partDurationTime | durationTime}} ({{progressPercentValue.toFixed(0)}}%)\n </span>\n </div>\n</div>\n","import { Component, ContentChild, EventEmitter, Input, OnDestroy, OnInit, Output, TemplateRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nexport interface NextPageEvent {\n currentPage: number\n nextPage: number\n}\n\nexport interface PreviousPageEvent {\n currentPage: number\n previousPage: number\n}\n\nexport interface RefreshItemsEvent {\n continueOnTheSamePage?: boolean\n}\n\n@Component({\n selector: 'apipass-infinite-scroll-component',\n templateUrl: 'apipass-infinite-scroll.component.html',\n styleUrls: ['apipass-infinite-scroll.component.scss']\n})\nexport class ApipassInfiniteScrollComponent implements OnInit, OnDestroy {\n\n private subscriptions: Subscription[] = []\n private readonly _currentId: string\n\n get getCurrentId(): string {\n return this._currentId\n }\n\n private _items: any[] = []\n private _currentPage: number = 1\n\n @Input()\n set currentPage(page: number) {\n this._currentPage = page\n }\n\n get currentPage(): number {\n return this._currentPage\n }\n\n @Input()\n set items(items: any[]) {\n this._items = items\n }\n\n get items(): any[] {\n return this._items\n }\n\n @Input()\n public pageSize: number = 50\n\n @Input()\n public loading: boolean\n\n @Input()\n public filter: Record<string, any> = {}\n\n @Input()\n public nextPageFn: (params: any) => Promise<any[]>\n\n @Input()\n public previousPageFn: (params: any) => Promise<any[]>\n\n @Input()\n public refreshItems: EventEmitter<RefreshItemsEvent> = new EventEmitter<RefreshItemsEvent>()\n\n @Input()\n public showEmptyList: boolean\n\n @Input()\n public emptyListMessage: string = 'No Records Found...'\n\n @Input()\n public infiniteScrollDownDistance: number = 2\n\n @Input()\n public infiniteScrollUpDistance: number = 0.5\n\n @Input()\n public infiniteScrollThrottle: number = 150\n\n @Input()\n public maxHeight: string = '100vh'\n\n @Input()\n public minHeight: string = '50px'\n\n @Output()\n public onNextPage: EventEmitter<NextPageEvent> = new EventEmitter<NextPageEvent>()\n\n @Output()\n public onPreviousPage: EventEmitter<PreviousPageEvent> = new EventEmitter<PreviousPageEvent>()\n\n @Output()\n public loadingChange: EventEmitter<boolean> = new EventEmitter<boolean>()\n\n @Output()\n public currentPageChange: EventEmitter<number> = new EventEmitter<number>()\n\n @ContentChild(TemplateRef) itemsTemplate: TemplateRef<any>;\n\n private isFirstScrollToTop: boolean\n protected loadingNextPage: boolean\n protected loadingPreviousPage: boolean\n\n constructor() {\n this._currentId = Math.random().toString(36).substring(2)\n }\n\n public ngOnInit(): void {\n this.subscriptions.push(this.refreshItems.subscribe(($event) => {\n if (!$event?.continueOnTheSamePage) {\n this._currentPage = 0\n this.currentPageChange.emit(this._currentPage)\n }\n }))\n }\n\n public ngOnDestroy(): void {\n this.subscriptions?.forEach(subscription => {\n subscription.unsubscribe()\n })\n this.subscriptions = []\n }\n\n public loadingPages(): boolean {\n return this.loadingNextPage || this.loadingPreviousPage\n }\n\n public showListLoader(): boolean {\n return this.loading\n }\n\n protected async nextPage(): Promise<void> {\n if (this.loadingPages()) {\n return\n }\n try {\n this.loadingNextPage = true\n this.isFirstScrollToTop = true\n this.onNextPage.emit({\n currentPage: this.currentPage,\n nextPage: this.currentPage + 1\n })\n this.currentPage++\n const nextItems = await this.nextPageFn({\n ...this.filter,\n page: this.currentPage,\n pageSize: this.pageSize\n })\n if (nextItems?.length === 0) {\n this.currentPage--\n return\n }\n this.currentPageChange.emit(this._currentPage)\n const needRemoveLastPageSizeItems = this.currentPage > 2;\n this._items = needRemoveLastPageSizeItems ? this._items?.slice(this.pageSize).concat(nextItems) : this._items.concat(nextItems)\n } finally {\n this.loadingNextPage = false;\n }\n }\n\n protected async previousPage(): Promise<void> {\n if (this.loadingPages()) {\n return\n }\n try {\n this.loadingPreviousPage = true\n this.currentPage = this.isFirstScrollToTop ? this.currentPage - 2 : this.currentPage - 1\n const needScrollToLastElementBeforePreviousPage = this.currentPage > 0\n this.currentPage = this.currentPage > 0 ? this.currentPage : 1\n const previousItems = await this.previousPageFn({\n ...this.filter,\n page: this.currentPage,\n pageSize: this.pageSize\n })\n if (previousItems?.length === 0) {\n return\n }\n this.currentPageChange.emit(this._currentPage)\n if (needScrollToLastElementBeforePreviousPage) {\n const currentItems = this.items?.slice(0, this.pageSize);\n this.items = previousItems.concat(currentItems)\n this.scrollToLastElementBeforePreviousPage();\n } else {\n this.items = previousItems\n }\n } finally {\n this.isFirstScrollToTop = false\n this.loadingPreviousPage = false\n }\n }\n\n private scrollToLastElementBeforePreviousPage(): void {\n setTimeout(() => {\n const scrollElement = document.getElementById(`apipass-infinite-scroll-list-${this.getCurrentId}`);\n const executionId = document.getElementById(`apipass-infinite-scroll-item-${this.getCurrentId}-${this.pageSize}`)\n if (scrollElement && executionId) {\n scrollElement.scrollTo({ top: executionId.offsetTop + executionId.clientHeight })\n }\n })\n }\n\n}\n","<div class=\"apipass-infinite-scroll-component\">\n <div class=\"apipass-infinite-scroll-list\"\n *ngIf=\"items?.length > 0\"\n [id]=\"'apipass-infinite-scroll-list-' + getCurrentId\"\n [style.max-height]=\"maxHeight\"\n [style.min-height]=\"minHeight\"\n infiniteScroll\n [infiniteScrollDistance]=\"infiniteScrollDownDistance\"\n [infiniteScrollUpDistance]=\"infiniteScrollUpDistance\"\n [infiniteScrollThrottle]=\"infiniteScrollThrottle\"\n [infiniteScrollDisabled]=\"loadingPages()\"\n (scrolled)=\"nextPage()\"\n (scrolledUp)=\"previousPage()\"\n [scrollWindow]=\"false\">\n <overlay-loader-component class=\"loader-top\" *ngIf=\"loadingPreviousPage\"></overlay-loader-component>\n <div class=\"apipass-infinite-scroll-item\"\n *ngFor=\"let item of items; let index = index\"\n [id]=\"'apipass-infinite-scroll-item-' + getCurrentId + '-' + (index + 1)\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n <div class=\"loader-bottom-content\" *ngIf=\"loadingNextPage\">\n <overlay-loader-component class=\"loader-bottom\"></overlay-loader-component>\n </div>\n </div>\n <div class=\"apipass-infinite-scroll-list-no-rows\" *ngIf=\"this.showEmptyList && !showListLoader() && items?.length === 0\">\n {{emptyListMessage}}\n </div>\n</div>\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { RouterModule } from '@angular/router'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { CentralizedContainerComponent } from './centralized-container/centralized-container.component'\nimport { ConfigurationPageComponent } from './configuration-page-content/configuration-page.component'\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component'\nimport { NgScrollbarModule } from 'ngx-scrollbar'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatInputModule } from '@angular/material/input'\nimport { IconsModule } from '@apipass/icons'\nimport { ButtonsModule } from '@apipass/buttons'\nimport { PipeModule } from '@apipass/pipes'\nimport { LoadersModule } from '@apipass/loaders'\nimport { MatToolbarModule } from '@angular/material/toolbar'\nimport { ConfigurationPageTitleComponent } from './configuration-page-title/configuration-page-title.component'\nimport { DurationTimelineComponent } from './duration/duration-timeline/duration-timeline.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DurationProgressbarComponent } from './duration/duration-progressbar/duration-progressbar.component';\nimport { ApipassInfiniteScrollComponent } from './apipass-infinite-scroll/apipass-infinite-scroll.component';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n ReactiveFormsModule,\n IconsModule,\n ButtonsModule,\n NgScrollbarModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatToolbarModule,\n PipeModule,\n MatTooltipModule,\n InfiniteScrollModule,\n LoadersModule\n ],\n declarations: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent,\n DurationTimelineComponent,\n DurationProgressbarComponent,\n ApipassInfiniteScrollComponent\n ],\n exports: [\n CentralizedContainerComponent,\n ConfigurationPageComponent,\n BreadcrumbComponent,\n ConfigurationPageTitleComponent,\n DurationTimelineComponent,\n DurationProgressbarComponent,\n ApipassInfiniteScrollComponent\n ],\n providers: []\n})\nexport class ContainersModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apipass/containers",
3
- "version": "1.0.107",
3
+ "version": "1.0.109",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "16.0.2",
6
6
  "@angular/cdk": "16.0.1",
@@ -8,12 +8,14 @@
8
8
  "@angular/core": "16.0.2",
9
9
  "@angular/forms": "16.0.2",
10
10
  "@angular/material": "16.0.1",
11
- "@apipass/icons": "~1.0.93",
12
- "@apipass/buttons": "~1.0.93",
13
- "@apipass/pipes": "~1.0.93"
11
+ "@apipass/loaders": "~1.0.107",
12
+ "@apipass/icons": "~1.0.107",
13
+ "@apipass/buttons": "~1.0.107",
14
+ "@apipass/pipes": "~1.0.107"
14
15
  },
15
16
  "dependencies": {
16
17
  "ngx-scrollbar": "11.0.0",
18
+ "ngx-infinite-scroll": "^16.0.0",
17
19
  "@ngx-translate/core": "15.0.0",
18
20
  "moment": "^2.29.1",
19
21
  "moment-timezone": "^0.5.43",
package/public-api.d.ts CHANGED
@@ -5,3 +5,4 @@ export * from './configuration-page-title/configuration-page-title.component';
5
5
  export * from './breadcrumb/breadcrumb.component';
6
6
  export * from 'ngx-scrollbar';
7
7
  export * from './duration/public-api';
8
+ export * from './apipass-infinite-scroll/apipass-infinite-scroll.component';