ngx-sfc-common 0.0.0-watch
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.
- package/README.md +644 -0
- package/esm2020/lib/components/button/button-type.enum.mjs +9 -0
- package/esm2020/lib/components/button/button.component.mjs +44 -0
- package/esm2020/lib/components/checkmark/checkmark-type.enum.mjs +7 -0
- package/esm2020/lib/components/checkmark/checkmark.component.mjs +39 -0
- package/esm2020/lib/components/close/close.component.mjs +16 -0
- package/esm2020/lib/components/delimeter/delimeter.component.mjs +28 -0
- package/esm2020/lib/components/dots/dots.component.mjs +30 -0
- package/esm2020/lib/components/hamburger/default/hamburger.component.mjs +12 -0
- package/esm2020/lib/components/hamburger/hamburger-base.component.mjs +23 -0
- package/esm2020/lib/components/hamburger/menu/hamburger-menu.component.mjs +18 -0
- package/esm2020/lib/components/icon/icon.component.mjs +21 -0
- package/esm2020/lib/components/index.mjs +34 -0
- package/esm2020/lib/components/load-container/load-container.component.mjs +180 -0
- package/esm2020/lib/components/load-container/load-container.constants.mjs +5 -0
- package/esm2020/lib/components/load-container/load-container.enum.mjs +11 -0
- package/esm2020/lib/components/load-container/models/load-container.model.mjs +2 -0
- package/esm2020/lib/components/load-container/models/load-more-parameters.model.mjs +2 -0
- package/esm2020/lib/components/load-container/models/load-more-predicate-parameters.model.mjs +2 -0
- package/esm2020/lib/components/load-container/models/load-more.model.mjs +2 -0
- package/esm2020/lib/components/load-container/service/load-more.service.mjs +27 -0
- package/esm2020/lib/components/load-more-button/load-more-button.component.mjs +31 -0
- package/esm2020/lib/components/loader/bounce/bounce-loader.component.mjs +13 -0
- package/esm2020/lib/components/loader/circle/circle-loader-type.enum.mjs +6 -0
- package/esm2020/lib/components/loader/circle/circle-loader.component.mjs +20 -0
- package/esm2020/lib/components/loader/loader-base.component.mjs +51 -0
- package/esm2020/lib/components/loader/loader.constants.mjs +6 -0
- package/esm2020/lib/components/loader/loader.event.mjs +2 -0
- package/esm2020/lib/components/loader/service/loader.service.mjs +76 -0
- package/esm2020/lib/components/modal/directive/click/modal-open-on-click.directive.mjs +50 -0
- package/esm2020/lib/components/modal/directive/open/modal-open.directive.mjs +28 -0
- package/esm2020/lib/components/modal/footer/default/default-modal-footer.component.mjs +60 -0
- package/esm2020/lib/components/modal/footer/default/default-modal-footer.model.mjs +2 -0
- package/esm2020/lib/components/modal/header/default/default-modal-header.component.mjs +38 -0
- package/esm2020/lib/components/modal/header/default/default-modal-header.model.mjs +2 -0
- package/esm2020/lib/components/modal/modal-template.enum.mjs +7 -0
- package/esm2020/lib/components/modal/modal.component.mjs +103 -0
- package/esm2020/lib/components/modal/service/modal.event.mjs +2 -0
- package/esm2020/lib/components/modal/service/modal.service.mjs +31 -0
- package/esm2020/lib/components/pagination/models/pagination-view.model.mjs +2 -0
- package/esm2020/lib/components/pagination/pagination.component.mjs +104 -0
- package/esm2020/lib/components/pagination/pagination.constants.mjs +6 -0
- package/esm2020/lib/components/pagination/service/pagination.event.mjs +2 -0
- package/esm2020/lib/components/pagination/service/pagination.service.mjs +47 -0
- package/esm2020/lib/components/sorting/service/sorting.event.mjs +2 -0
- package/esm2020/lib/components/sorting/service/sorting.service.mjs +21 -0
- package/esm2020/lib/components/sorting/sorting.component.mjs +71 -0
- package/esm2020/lib/components/sorting/sorting.constants.mjs +6 -0
- package/esm2020/lib/components/sorting/sorting.model.mjs +2 -0
- package/esm2020/lib/components/template-content/template-content.component.mjs +31 -0
- package/esm2020/lib/components/toggle-switcher/toggle-switcher.component.mjs +38 -0
- package/esm2020/lib/components/toggle-switcher/toggle-switcher.model.mjs +2 -0
- package/esm2020/lib/components/tooltip/tooltip-type.enum.mjs +6 -0
- package/esm2020/lib/components/tooltip/tooltip.component.mjs +69 -0
- package/esm2020/lib/constants/common.constants.mjs +9 -0
- package/esm2020/lib/constants/date-time.constants.mjs +10 -0
- package/esm2020/lib/constants/file.constants.mjs +2 -0
- package/esm2020/lib/constants/index.mjs +4 -0
- package/esm2020/lib/constants/ui.constants.mjs +23 -0
- package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +63 -0
- package/esm2020/lib/directives/click-outside/click-outside.event.mjs +2 -0
- package/esm2020/lib/directives/component-size/component-size.directive.mjs +59 -0
- package/esm2020/lib/directives/destroy-parent/destroy-parent.directive.mjs +27 -0
- package/esm2020/lib/directives/dom-changes/dom-changes.directive.mjs +32 -0
- package/esm2020/lib/directives/if/if.directive.mjs +26 -0
- package/esm2020/lib/directives/image-size/image-load.directive.mjs +41 -0
- package/esm2020/lib/directives/image-size/services/image-load.event.mjs +2 -0
- package/esm2020/lib/directives/image-size/services/image-load.service.mjs +22 -0
- package/esm2020/lib/directives/image-size/services/image-size.model.mjs +2 -0
- package/esm2020/lib/directives/index.mjs +14 -0
- package/esm2020/lib/directives/mouse-down/mouse-down.directive.mjs +37 -0
- package/esm2020/lib/directives/scroll-into-view/scroll-into-view.directive.mjs +39 -0
- package/esm2020/lib/directives/scroll-tracker/scroll-tracker.directive.mjs +39 -0
- package/esm2020/lib/directives/show-hide-element/show-hide-element.directive.mjs +42 -0
- package/esm2020/lib/directives/template-reference/template-reference.directive.mjs +23 -0
- package/esm2020/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.mjs +38 -0
- package/esm2020/lib/enums/direction.enum.mjs +9 -0
- package/esm2020/lib/enums/index.mjs +9 -0
- package/esm2020/lib/enums/media.enum.mjs +13 -0
- package/esm2020/lib/enums/position.enum.mjs +12 -0
- package/esm2020/lib/enums/sequence.enum.mjs +9 -0
- package/esm2020/lib/enums/size.enum.mjs +11 -0
- package/esm2020/lib/enums/sorting-direction.enum.mjs +9 -0
- package/esm2020/lib/enums/theme.enum.mjs +9 -0
- package/esm2020/lib/enums/ui.enum.mjs +30 -0
- package/esm2020/lib/models/class.model.mjs +2 -0
- package/esm2020/lib/models/index.mjs +2 -0
- package/esm2020/lib/ngx-sfc-common.module.mjs +190 -0
- package/esm2020/lib/pipes/index.mjs +2 -0
- package/esm2020/lib/pipes/switch-multi-case/switch-multi-case.pipe.mjs +16 -0
- package/esm2020/lib/services/document-ref.service.mjs +71 -0
- package/esm2020/lib/services/index.mjs +4 -0
- package/esm2020/lib/services/resize.service.mjs +42 -0
- package/esm2020/lib/services/window-ref.service.mjs +70 -0
- package/esm2020/lib/utils/collections.utils.mjs +280 -0
- package/esm2020/lib/utils/common.utils.mjs +184 -0
- package/esm2020/lib/utils/date-time.utils.mjs +265 -0
- package/esm2020/lib/utils/file.utils.mjs +53 -0
- package/esm2020/lib/utils/index.mjs +7 -0
- package/esm2020/lib/utils/string.utils.mjs +31 -0
- package/esm2020/lib/utils/ui.utils.mjs +90 -0
- package/esm2020/ngx-sfc-common.mjs +5 -0
- package/esm2020/public-api.mjs +12 -0
- package/fesm2015/ngx-sfc-common.mjs +3097 -0
- package/fesm2015/ngx-sfc-common.mjs.map +1 -0
- package/fesm2020/ngx-sfc-common.mjs +3088 -0
- package/fesm2020/ngx-sfc-common.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/button/button-type.enum.d.ts +7 -0
- package/lib/components/button/button.component.d.ts +16 -0
- package/lib/components/checkmark/checkmark-type.enum.d.ts +5 -0
- package/lib/components/checkmark/checkmark.component.d.ts +11 -0
- package/lib/components/close/close.component.d.ts +6 -0
- package/lib/components/delimeter/delimeter.component.d.ts +9 -0
- package/lib/components/dots/dots.component.d.ts +9 -0
- package/lib/components/hamburger/default/hamburger.component.d.ts +6 -0
- package/lib/components/hamburger/hamburger-base.component.d.ts +7 -0
- package/lib/components/hamburger/menu/hamburger-menu.component.d.ts +7 -0
- package/lib/components/icon/icon.component.d.ts +9 -0
- package/lib/components/index.d.ts +44 -0
- package/lib/components/load-container/load-container.component.d.ts +50 -0
- package/lib/components/load-container/load-container.constants.d.ts +4 -0
- package/lib/components/load-container/load-container.enum.d.ts +8 -0
- package/lib/components/load-container/models/load-container.model.d.ts +14 -0
- package/lib/components/load-container/models/load-more-parameters.model.d.ts +5 -0
- package/lib/components/load-container/models/load-more-predicate-parameters.model.d.ts +3 -0
- package/lib/components/load-container/models/load-more.model.d.ts +5 -0
- package/lib/components/load-container/service/load-more.service.d.ts +12 -0
- package/lib/components/load-more-button/load-more-button.component.d.ts +12 -0
- package/lib/components/loader/bounce/bounce-loader.component.d.ts +6 -0
- package/lib/components/loader/circle/circle-loader-type.enum.d.ts +4 -0
- package/lib/components/loader/circle/circle-loader.component.d.ts +8 -0
- package/lib/components/loader/loader-base.component.d.ts +27 -0
- package/lib/components/loader/loader.constants.d.ts +5 -0
- package/lib/components/loader/loader.event.d.ts +4 -0
- package/lib/components/loader/service/loader.service.d.ts +33 -0
- package/lib/components/modal/directive/click/modal-open-on-click.directive.d.ts +17 -0
- package/lib/components/modal/directive/open/modal-open.directive.d.ts +13 -0
- package/lib/components/modal/footer/default/default-modal-footer.component.d.ts +19 -0
- package/lib/components/modal/footer/default/default-modal-footer.model.d.ts +8 -0
- package/lib/components/modal/header/default/default-modal-header.component.d.ts +16 -0
- package/lib/components/modal/header/default/default-modal-header.model.d.ts +6 -0
- package/lib/components/modal/modal-template.enum.d.ts +5 -0
- package/lib/components/modal/modal.component.d.ts +26 -0
- package/lib/components/modal/service/modal.event.d.ts +4 -0
- package/lib/components/modal/service/modal.service.d.ts +13 -0
- package/lib/components/pagination/models/pagination-view.model.d.ts +12 -0
- package/lib/components/pagination/pagination.component.d.ts +31 -0
- package/lib/components/pagination/pagination.constants.d.ts +5 -0
- package/lib/components/pagination/service/pagination.event.d.ts +6 -0
- package/lib/components/pagination/service/pagination.service.d.ts +25 -0
- package/lib/components/sorting/service/sorting.event.d.ts +5 -0
- package/lib/components/sorting/service/sorting.service.d.ts +9 -0
- package/lib/components/sorting/sorting.component.d.ts +22 -0
- package/lib/components/sorting/sorting.constants.d.ts +4 -0
- package/lib/components/sorting/sorting.model.d.ts +12 -0
- package/lib/components/template-content/template-content.component.d.ts +14 -0
- package/lib/components/toggle-switcher/toggle-switcher.component.d.ts +12 -0
- package/lib/components/toggle-switcher/toggle-switcher.model.d.ts +5 -0
- package/lib/components/tooltip/tooltip-type.enum.d.ts +4 -0
- package/lib/components/tooltip/tooltip.component.d.ts +22 -0
- package/lib/constants/common.constants.d.ts +8 -0
- package/lib/constants/date-time.constants.d.ts +9 -0
- package/lib/constants/file.constants.d.ts +1 -0
- package/lib/constants/index.d.ts +4 -0
- package/lib/constants/ui.constants.d.ts +22 -0
- package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
- package/lib/directives/click-outside/click-outside.event.d.ts +4 -0
- package/lib/directives/component-size/component-size.directive.d.ts +18 -0
- package/lib/directives/destroy-parent/destroy-parent.directive.d.ts +10 -0
- package/lib/directives/dom-changes/dom-changes.directive.d.ts +12 -0
- package/lib/directives/if/if.directive.d.ts +11 -0
- package/lib/directives/image-size/image-load.directive.d.ts +12 -0
- package/lib/directives/image-size/services/image-load.event.d.ts +5 -0
- package/lib/directives/image-size/services/image-load.service.d.ts +10 -0
- package/lib/directives/image-size/services/image-size.model.d.ts +4 -0
- package/lib/directives/index.d.ts +16 -0
- package/lib/directives/mouse-down/mouse-down.directive.d.ts +12 -0
- package/lib/directives/scroll-into-view/scroll-into-view.directive.d.ts +11 -0
- package/lib/directives/scroll-tracker/scroll-tracker.directive.d.ts +11 -0
- package/lib/directives/show-hide-element/show-hide-element.directive.d.ts +13 -0
- package/lib/directives/template-reference/template-reference.directive.d.ts +10 -0
- package/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.d.ts +13 -0
- package/lib/enums/direction.enum.d.ts +7 -0
- package/lib/enums/index.d.ts +8 -0
- package/lib/enums/media.enum.d.ts +11 -0
- package/lib/enums/position.enum.d.ts +10 -0
- package/lib/enums/sequence.enum.d.ts +7 -0
- package/lib/enums/size.enum.d.ts +9 -0
- package/lib/enums/sorting-direction.enum.d.ts +7 -0
- package/lib/enums/theme.enum.d.ts +7 -0
- package/lib/enums/ui.enum.d.ts +27 -0
- package/lib/models/class.model.d.ts +3 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/ngx-sfc-common.module.d.ts +43 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/switch-multi-case/switch-multi-case.pipe.d.ts +7 -0
- package/lib/services/document-ref.service.d.ts +43 -0
- package/lib/services/index.d.ts +3 -0
- package/lib/services/resize.service.d.ts +32 -0
- package/lib/services/window-ref.service.d.ts +43 -0
- package/lib/utils/collections.utils.d.ts +156 -0
- package/lib/utils/common.utils.d.ts +78 -0
- package/lib/utils/date-time.utils.d.ts +164 -0
- package/lib/utils/file.utils.d.ts +25 -0
- package/lib/utils/index.d.ts +6 -0
- package/lib/utils/string.utils.d.ts +19 -0
- package/lib/utils/ui.utils.d.ts +58 -0
- package/package.json +56 -0
- package/public-api.d.ts +8 -0
- package/styles/_colors.scss +48 -0
- package/styles/_index.scss +4 -0
- package/styles/_mixins-delimeter.scss +21 -0
- package/styles/_mixins-scroll.scss +38 -0
- package/styles/_mixins.scss +46 -0
- package/styles/_variables.scss +12 -0
- package/styles/themes/_dark.scss +17 -0
- package/styles/themes/_default.scss +18 -0
- package/styles/themes/_yellow.scss +3 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { map, tap, switchMap, startWith, EMPTY, of, combineLatest } from 'rxjs';
|
|
3
|
+
import { ComponentSize, Position, UIClass } from '../../enums';
|
|
4
|
+
import { any, isDefined, skip } from '../../utils';
|
|
5
|
+
import { LoadMoreService } from './service/load-more.service';
|
|
6
|
+
import { LoadChangesSource, LoadContainerType } from './load-container.enum';
|
|
7
|
+
import { LoadContainerConstants } from './load-container.constants';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../loader/service/loader.service";
|
|
10
|
+
import * as i2 from "./service/load-more.service";
|
|
11
|
+
import * as i3 from "@angular/common";
|
|
12
|
+
import * as i4 from "../../directives/mouse-down/mouse-down.directive";
|
|
13
|
+
import * as i5 from "../../directives/component-size/component-size.directive";
|
|
14
|
+
import * as i6 from "../../directives/scroll-tracker/scroll-tracker.directive";
|
|
15
|
+
import * as i7 from "../../directives/scroll-into-view/scroll-into-view.directive";
|
|
16
|
+
import * as i8 from "../load-more-button/load-more-button.component";
|
|
17
|
+
import * as i9 from "../loader/bounce/bounce-loader.component";
|
|
18
|
+
export class LoadContainerComponent {
|
|
19
|
+
constructor(loaderService, loadMoreService) {
|
|
20
|
+
this.loaderService = loaderService;
|
|
21
|
+
this.loadMoreService = loadMoreService;
|
|
22
|
+
this.ComponentSize = ComponentSize;
|
|
23
|
+
this.Position = Position;
|
|
24
|
+
this.type = LoadContainerType.Dropdown;
|
|
25
|
+
this.open = false;
|
|
26
|
+
this.loadMore = true;
|
|
27
|
+
this.showEmpty = true;
|
|
28
|
+
this.showLoadMoreButton = true;
|
|
29
|
+
this.notFoundLabel = LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL;
|
|
30
|
+
this.handleError = new EventEmitter();
|
|
31
|
+
this.handleSuccess = new EventEmitter();
|
|
32
|
+
this.handleLoading = new EventEmitter();
|
|
33
|
+
this.next = false;
|
|
34
|
+
this.empty = false;
|
|
35
|
+
this._loading = false;
|
|
36
|
+
// define what source emit changes for data (1. data changes, 2. predicate conditions)
|
|
37
|
+
this.source = LoadChangesSource.Data;
|
|
38
|
+
}
|
|
39
|
+
set model(model) {
|
|
40
|
+
if (isDefined(model)) {
|
|
41
|
+
const parameters$ = this.buildParameters(model.predicate$), data$ = isDefined(model.loader) ?
|
|
42
|
+
this.buildDynamic(parameters$, model.loader) : this.buildStatic(parameters$, model);
|
|
43
|
+
if (isDefined(this._subscription))
|
|
44
|
+
this._subscription.unsubscribe();
|
|
45
|
+
this._subscription = data$.subscribe({
|
|
46
|
+
next: (result) => this.success(result),
|
|
47
|
+
error: (error) => this.error(error)
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
get scrollPosition() {
|
|
52
|
+
return !this.allowLoadMore || this.showLoadMoreButton ? [] : [Position.Bottom];
|
|
53
|
+
}
|
|
54
|
+
get allowLoadMore() { return this.next && this.loadMore; }
|
|
55
|
+
get hideLoadMoreButton() { return !(this.allowLoadMore && this.showLoadMoreButton); }
|
|
56
|
+
get isEmpty() { return this.empty && this.showEmpty; }
|
|
57
|
+
set loading(value) {
|
|
58
|
+
this._loading = value;
|
|
59
|
+
if (value)
|
|
60
|
+
this.loaderService.show(this.id, true);
|
|
61
|
+
else
|
|
62
|
+
this.loaderService.hide(this.id);
|
|
63
|
+
this.handleLoading.emit(value);
|
|
64
|
+
}
|
|
65
|
+
ngOnDestroy() {
|
|
66
|
+
if (this._subscription)
|
|
67
|
+
this._subscription.unsubscribe();
|
|
68
|
+
}
|
|
69
|
+
more(event) {
|
|
70
|
+
event.preventDefault();
|
|
71
|
+
this.loadMoreService.more();
|
|
72
|
+
}
|
|
73
|
+
onScroll() {
|
|
74
|
+
if (this.allowLoadMore)
|
|
75
|
+
this.loadMoreService.more();
|
|
76
|
+
}
|
|
77
|
+
success(result) {
|
|
78
|
+
this.next = result.next;
|
|
79
|
+
this.loading = false;
|
|
80
|
+
this.empty = !any(result.items);
|
|
81
|
+
this.handleSuccess.emit(result);
|
|
82
|
+
}
|
|
83
|
+
error(error) {
|
|
84
|
+
this.loading = false;
|
|
85
|
+
this.empty = false;
|
|
86
|
+
this.handleError.emit(error);
|
|
87
|
+
}
|
|
88
|
+
buildParameters(predicate$) {
|
|
89
|
+
const parameters$ = (predicate$ || EMPTY.pipe(startWith(null))).pipe(tap((predicateParameters) => {
|
|
90
|
+
if (predicateParameters)
|
|
91
|
+
this.resetParameters();
|
|
92
|
+
}), switchMap((value) => {
|
|
93
|
+
return this.loadMoreService.more$.pipe(startWith(LoadMoreService.START_PAGE), tap(() => {
|
|
94
|
+
this.source = LoadChangesSource.Parameters;
|
|
95
|
+
this.loading = true;
|
|
96
|
+
}), map((page) => {
|
|
97
|
+
return { params: value, page: page };
|
|
98
|
+
}));
|
|
99
|
+
}));
|
|
100
|
+
return parameters$;
|
|
101
|
+
}
|
|
102
|
+
buildDynamic(parameters$, loader) {
|
|
103
|
+
return parameters$.pipe(switchMap((parameters) => loader(parameters, this.source).pipe(tap((model) => {
|
|
104
|
+
if (model.reset) {
|
|
105
|
+
this.source = LoadChangesSource.Data;
|
|
106
|
+
this.resetParameters();
|
|
107
|
+
}
|
|
108
|
+
}))));
|
|
109
|
+
}
|
|
110
|
+
buildStatic(parameters$, model) {
|
|
111
|
+
const data$ = (model.data$ || of([])).pipe(tap(_ => this.source = LoadChangesSource.Data));
|
|
112
|
+
return combineLatest([parameters$, data$]).pipe(map(([parameters, items]) => {
|
|
113
|
+
const reset = this.source == LoadChangesSource.Data;
|
|
114
|
+
if (reset && parameters.page != LoadMoreService.START_PAGE) {
|
|
115
|
+
// if data changed need to start from start
|
|
116
|
+
this.resetParameters();
|
|
117
|
+
parameters = { params: parameters.params, page: 1 };
|
|
118
|
+
}
|
|
119
|
+
const filtered = model.filter ? model.filter(items, parameters) : items, size = model.size || LoadContainerConstants.DEFAULT_PAGE_SIZE, data = filtered ? {
|
|
120
|
+
items: skip(filtered, parameters.page, size),
|
|
121
|
+
next: parameters.page < Math.ceil(filtered.length / size),
|
|
122
|
+
reset
|
|
123
|
+
} : { items: [], next: false, reset };
|
|
124
|
+
return data;
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
resetParameters() {
|
|
128
|
+
if (isDefined(this.contentEl))
|
|
129
|
+
this.contentEl.nativeElement.scrollTop = 0;
|
|
130
|
+
this.loadMoreService.reset();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
LoadContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadContainerComponent, deps: [{ token: i1.LoaderService }, { token: i2.LoadMoreService }], target: i0.ɵɵFactoryTarget.Component });
|
|
134
|
+
LoadContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LoadContainerComponent, selector: "sfc-load-container", inputs: { id: "id", type: "type", open: "open", loadMore: "loadMore", showEmpty: "showEmpty", showLoadMoreButton: "showLoadMoreButton", loadMoreLabel: "loadMoreLabel", notFoundLabel: "notFoundLabel", model: "model", scrollTarget: "scrollTarget" }, outputs: { handleError: "handleError", handleSuccess: "handleSuccess", handleLoading: "handleLoading" }, host: { properties: { "class": "this.type", "class.open": "this.open", "class.empty": "this.isEmpty", "class.loading": "this._loading" } }, providers: [LoadMoreService], viewQueries: [{ propertyName: "contentEl", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"container\">\r\n <sfc-bounce-loader [id]=\"id\" [sfcComponentSize]=\"ComponentSize.Small\"></sfc-bounce-loader>\r\n <div #content class=\"content\" [sfcScrollIntoView]=\"scrollTarget\" (sfcScrollTracker)=\"onScroll()\" [positions]=\"scrollPosition\">\r\n <ng-content></ng-content>\r\n <div (sfcMouseDown)=\"$event.preventDefault()\">\r\n <sfc-load-more-button [hidden]=\"hideLoadMoreButton\" (more)=\"more($event)\" [label]=\"loadMoreLabel\">\r\n </sfc-load-more-button>\r\n <div *ngIf=\"isEmpty\" class=\"empty\">{{notFoundLabel}}</div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{width:100%;height:inherit;position:relative}:host .container{height:inherit}:host .container .content{cursor:initial;overflow-y:auto;height:inherit}:host .container .content,:host-context(.sfc-default-theme) :host .container .content{background:#fff}:host-context(.sfc-dark-theme) :host .container .content{background:#fff}:host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before{border-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before{border-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after{border-image:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after{border-image:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host .container .content sfc-load-more-button ::ng-deep .container .button,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container .button{color:#545e61}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container .button{color:#545e61}:host .container .content sfc-load-more-button ::ng-deep .container .button:hover{color:#ffce54}:host .container .content .empty{display:flex;align-items:center;justify-content:center;color:#545e61;cursor:default;height:100%;font-size:.8em;-webkit-user-select:none;user-select:none;padding:.7em}:host.dropdown .container .content{display:none;opacity:0;max-height:12.5em;box-shadow:0 .125em .125em #00000024,0 .18em .06em -.125em #0000001f,0 .06em .31em #0003}:host.dropdown.open .container .content{display:block;opacity:1}:host ::ng-deep ::-webkit-scrollbar{width:.375em;height:.375em}:host ::ng-deep ::-webkit-scrollbar-track{border-radius:.625em;background:#e9e9e9}:host ::ng-deep ::-webkit-scrollbar-thumb{border-radius:.625em;background:rgba(0,0,0,.2)}:host ::ng-deep ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.4)}:host ::ng-deep ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,.6)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }, { kind: "directive", type: i5.ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }, { kind: "directive", type: i6.ScrollTrackerDirective, selector: "[sfcScrollTracker]", inputs: ["positions"], outputs: ["sfcScrollTracker"] }, { kind: "directive", type: i7.ScrollIntoViewDirective, selector: "[sfcScrollIntoView]", inputs: ["sfcScrollIntoView", "local", "options"] }, { kind: "component", type: i8.LoadMoreButtonComponent, selector: "sfc-load-more-button", inputs: ["label", "icon"], outputs: ["more"] }, { kind: "component", type: i9.BounceLoaderComponent, selector: "sfc-bounce-loader" }] });
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadContainerComponent, decorators: [{
|
|
136
|
+
type: Component,
|
|
137
|
+
args: [{ selector: 'sfc-load-container', providers: [LoadMoreService], template: "<div class=\"container\">\r\n <sfc-bounce-loader [id]=\"id\" [sfcComponentSize]=\"ComponentSize.Small\"></sfc-bounce-loader>\r\n <div #content class=\"content\" [sfcScrollIntoView]=\"scrollTarget\" (sfcScrollTracker)=\"onScroll()\" [positions]=\"scrollPosition\">\r\n <ng-content></ng-content>\r\n <div (sfcMouseDown)=\"$event.preventDefault()\">\r\n <sfc-load-more-button [hidden]=\"hideLoadMoreButton\" (more)=\"more($event)\" [label]=\"loadMoreLabel\">\r\n </sfc-load-more-button>\r\n <div *ngIf=\"isEmpty\" class=\"empty\">{{notFoundLabel}}</div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{width:100%;height:inherit;position:relative}:host .container{height:inherit}:host .container .content{cursor:initial;overflow-y:auto;height:inherit}:host .container .content,:host-context(.sfc-default-theme) :host .container .content{background:#fff}:host-context(.sfc-dark-theme) :host .container .content{background:#fff}:host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before{border-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before{border-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after{border-image:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after{border-image:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host .container .content sfc-load-more-button ::ng-deep .container .button,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container .button{color:#545e61}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container .button{color:#545e61}:host .container .content sfc-load-more-button ::ng-deep .container .button:hover{color:#ffce54}:host .container .content .empty{display:flex;align-items:center;justify-content:center;color:#545e61;cursor:default;height:100%;font-size:.8em;-webkit-user-select:none;user-select:none;padding:.7em}:host.dropdown .container .content{display:none;opacity:0;max-height:12.5em;box-shadow:0 .125em .125em #00000024,0 .18em .06em -.125em #0000001f,0 .06em .31em #0003}:host.dropdown.open .container .content{display:block;opacity:1}:host ::ng-deep ::-webkit-scrollbar{width:.375em;height:.375em}:host ::ng-deep ::-webkit-scrollbar-track{border-radius:.625em;background:#e9e9e9}:host ::ng-deep ::-webkit-scrollbar-thumb{border-radius:.625em;background:rgba(0,0,0,.2)}:host ::ng-deep ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.4)}:host ::ng-deep ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,.6)}\n"] }]
|
|
138
|
+
}], ctorParameters: function () { return [{ type: i1.LoaderService }, { type: i2.LoadMoreService }]; }, propDecorators: { id: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], type: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}, {
|
|
143
|
+
type: HostBinding,
|
|
144
|
+
args: ['class']
|
|
145
|
+
}], open: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}, {
|
|
148
|
+
type: HostBinding,
|
|
149
|
+
args: [`class.${UIClass.Open}`]
|
|
150
|
+
}], loadMore: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], showEmpty: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], showLoadMoreButton: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}], loadMoreLabel: [{
|
|
157
|
+
type: Input
|
|
158
|
+
}], notFoundLabel: [{
|
|
159
|
+
type: Input
|
|
160
|
+
}], model: [{
|
|
161
|
+
type: Input
|
|
162
|
+
}], scrollTarget: [{
|
|
163
|
+
type: Input
|
|
164
|
+
}], handleError: [{
|
|
165
|
+
type: Output
|
|
166
|
+
}], handleSuccess: [{
|
|
167
|
+
type: Output
|
|
168
|
+
}], handleLoading: [{
|
|
169
|
+
type: Output
|
|
170
|
+
}], contentEl: [{
|
|
171
|
+
type: ViewChild,
|
|
172
|
+
args: ['content']
|
|
173
|
+
}], isEmpty: [{
|
|
174
|
+
type: HostBinding,
|
|
175
|
+
args: [`class.${UIClass.Empty}`]
|
|
176
|
+
}], _loading: [{
|
|
177
|
+
type: HostBinding,
|
|
178
|
+
args: [`class.${UIClass.Loading}`]
|
|
179
|
+
}] } });
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL2xvYWQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLWNvbnRhaW5lci9sb2FkLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWdCLEVBQUUsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBU3BFLE1BQU0sT0FBTyxzQkFBc0I7SUFpR2pDLFlBQW9CLGFBQTRCLEVBQVUsZUFBZ0M7UUFBdEUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUEvRjFGLGtC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ckIsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7bUhBcE1VLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBoQkFGdEIsQ0FBQyxlQUFlLENBQUMsZ0lDakI5Qix1b0JBVU07MkZEU08sc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLG9CQUFvQixhQUduQixDQUFDLGVBQWUsQ0FBQztrSUFRNUIsRUFBRTtzQkFERCxLQUFLO2dCQUtOLElBQUk7c0JBRkgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxPQUFPO2dCQUtwQixJQUFJO3NCQUZILEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsU0FBUyxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUlwQyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlGLEtBQUs7c0JBRFIsS0FBSztnQkFvQk4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNO2dCQUlDLFNBQVM7c0JBRGhCLFNBQVM7dUJBQUMsU0FBUztnQkFnQlQsT0FBTztzQkFEakIsV0FBVzt1QkFBQyxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7Z0JBSTdCLFFBQVE7c0JBRGYsV0FBVzt1QkFBQyxTQUFTLE9BQU8sQ0FBQyxPQUFPLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1hcCwgdGFwLCBzd2l0Y2hNYXAsIHN0YXJ0V2l0aCwgRU1QVFksIFN1YnNjcmlwdGlvbiwgb2YsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSwgUG9zaXRpb24sIFVJQ2xhc3MgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IElMb2FkTW9yZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvbG9hZC1tb3JlLm1vZGVsJztcclxuaW1wb3J0IHsgYW55LCBpc0RlZmluZWQsIHNraXAgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi9sb2FkZXIvc2VydmljZS9sb2FkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExvYWRNb3JlU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9sb2FkLW1vcmUuc2VydmljZSc7XHJcbmltcG9ydCB7IElMb2FkTW9yZVBhcmFtZXRlcnMgfSBmcm9tICcuL21vZGVscy9sb2FkLW1vcmUtcGFyYW1ldGVycy5tb2RlbCc7XHJcbmltcG9ydCB7IElMb2FkQ29udGFpbmVyTW9kZWwsIExvYWRlckZ1bmN0aW9uIH0gZnJvbSAnLi9tb2RlbHMvbG9hZC1jb250YWluZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBMb2FkQ2hhbmdlc1NvdXJjZSwgTG9hZENvbnRhaW5lclR5cGUgfSBmcm9tICcuL2xvYWQtY29udGFpbmVyLmVudW0nO1xyXG5pbXBvcnQgeyBMb2FkQ29udGFpbmVyQ29uc3RhbnRzIH0gZnJvbSAnLi9sb2FkLWNvbnRhaW5lci5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBJTG9hZE1vcmVQcmVkaWNhdGVQYXJhbWV0ZXJzIH0gZnJvbSAnLi9tb2RlbHMvbG9hZC1tb3JlLXByZWRpY2F0ZS1wYXJhbWV0ZXJzLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWxvYWQtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvYWQtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbTG9hZE1vcmVTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplO1xyXG4gIFBvc2l0aW9uID0gUG9zaXRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWQhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgdHlwZTogTG9hZENvbnRhaW5lclR5cGUgPSBMb2FkQ29udGFpbmVyVHlwZS5Ecm9wZG93bjtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7VUlDbGFzcy5PcGVufWApXHJcbiAgb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxvYWRNb3JlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93RW1wdHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dMb2FkTW9yZUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZE1vcmVMYWJlbCE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBub3RGb3VuZExhYmVsOiBzdHJpbmcgPSBMb2FkQ29udGFpbmVyQ29uc3RhbnRzLkRFRkFVTFRfTk9UX0ZPVU5EX0xBQkVMO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBtb2RlbChtb2RlbDogSUxvYWRDb250YWluZXJNb2RlbCkge1xyXG4gICAgaWYgKGlzRGVmaW5lZChtb2RlbCkpIHtcclxuICAgICAgY29uc3QgcGFyYW1ldGVycyQgPSB0aGlzLmJ1aWxkUGFyYW1ldGVycyhtb2RlbC5wcmVkaWNhdGUkKSxcclxuICAgICAgICBkYXRhJDogT2JzZXJ2YWJsZTxJTG9hZE1vcmVNb2RlbDxhbnk+PiA9IGlzRGVmaW5lZChtb2RlbC5sb2FkZXIpID9cclxuICAgICAgICAgIHRoaXMuYnVpbGREeW5hbWljKHBhcmFtZXRlcnMkLCBtb2RlbC5sb2FkZXIgYXMgTG9hZGVyRnVuY3Rpb24pIDogdGhpcy5idWlsZFN0YXRpYyhwYXJhbWV0ZXJzJCwgbW9kZWwpO1xyXG5cclxuICAgICAgaWYgKGlzRGVmaW5lZCh0aGlzLl9zdWJzY3JpcHRpb24pKVxyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gZGF0YSQuc3Vic2NyaWJlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5leHQ6IChyZXN1bHQ6IElMb2FkTW9yZU1vZGVsPGFueT4pID0+IHRoaXMuc3VjY2VzcyhyZXN1bHQpLFxyXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4gdGhpcy5lcnJvcihlcnJvcilcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNjcm9sbFRhcmdldCE6IEhUTUxFbGVtZW50O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBoYW5kbGVFcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgaGFuZGxlU3VjY2VzczogRXZlbnRFbWl0dGVyPElMb2FkTW9yZU1vZGVsPGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJTG9hZE1vcmVNb2RlbDxhbnk+PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBoYW5kbGVMb2FkaW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKVxyXG4gIHByaXZhdGUgY29udGVudEVsITogRWxlbWVudFJlZjtcclxuXHJcbiAgcHVibGljIG5leHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGdldCBzY3JvbGxQb3NpdGlvbigpOiBQb3NpdGlvbltdIHtcclxuICAgIHJldHVybiAhdGhpcy5hbGxvd0xvYWRNb3JlIHx8IHRoaXMuc2hvd0xvYWRNb3JlQnV0dG9uID8gW10gOiBbUG9zaXRpb24uQm90dG9tXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWxsb3dMb2FkTW9yZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMubmV4dCAmJiB0aGlzLmxvYWRNb3JlOyB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaGlkZUxvYWRNb3JlQnV0dG9uKCk6IGJvb2xlYW4geyByZXR1cm4gISh0aGlzLmFsbG93TG9hZE1vcmUgJiYgdGhpcy5zaG93TG9hZE1vcmVCdXR0b24pOyB9XHJcblxyXG4gIHB1YmxpYyBlbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7VUlDbGFzcy5FbXB0eX1gKVxyXG4gIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuZW1wdHkgJiYgdGhpcy5zaG93RW1wdHk7IH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke1VJQ2xhc3MuTG9hZGluZ31gKVxyXG4gIHByaXZhdGUgX2xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUpXHJcbiAgICAgIHRoaXMubG9hZGVyU2VydmljZS5zaG93KHRoaXMuaWQsIHRydWUpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmxvYWRlclNlcnZpY2UuaGlkZSh0aGlzLmlkKTtcclxuXHJcbiAgICB0aGlzLmhhbmRsZUxvYWRpbmcuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8vIGRlZmluZSB3aGF0IHNvdXJjZSBlbWl0IGNoYW5nZXMgZm9yIGRhdGEgKDEuIGRhdGEgY2hhbmdlcywgMi4gcHJlZGljYXRlIGNvbmRpdGlvbnMpXHJcbiAgcHJpdmF0ZSBzb3VyY2U6IExvYWRDaGFuZ2VzU291cmNlID0gTG9hZENoYW5nZXNTb3VyY2UuRGF0YTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlLCBwcml2YXRlIGxvYWRNb3JlU2VydmljZTogTG9hZE1vcmVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKVxyXG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtb3JlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5sb2FkTW9yZVNlcnZpY2UubW9yZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWxsb3dMb2FkTW9yZSlcclxuICAgICAgdGhpcy5sb2FkTW9yZVNlcnZpY2UubW9yZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWNjZXNzKHJlc3VsdDogSUxvYWRNb3JlTW9kZWw8YW55Pik6IHZvaWQge1xyXG4gICAgdGhpcy5uZXh0ID0gcmVzdWx0Lm5leHQ7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuZW1wdHkgPSAhYW55KHJlc3VsdC5pdGVtcyk7XHJcbiAgICB0aGlzLmhhbmRsZVN1Y2Nlc3MuZW1pdChyZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlcnJvcihlcnJvcjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuZW1wdHkgPSBmYWxzZTtcclxuICAgIHRoaXMuaGFuZGxlRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkUGFyYW1ldGVycyhwcmVkaWNhdGUkOiBPYnNlcnZhYmxlPElMb2FkTW9yZVByZWRpY2F0ZVBhcmFtZXRlcnMgfCBudWxsPiB8IHVuZGVmaW5lZClcclxuICAgIDogT2JzZXJ2YWJsZTxJTG9hZE1vcmVQYXJhbWV0ZXJzPiB7XHJcbiAgICBjb25zdCBwYXJhbWV0ZXJzJCA9IChwcmVkaWNhdGUkIHx8IEVNUFRZLnBpcGUoc3RhcnRXaXRoKG51bGwpKSkucGlwZShcclxuICAgICAgdGFwKChwcmVkaWNhdGVQYXJhbWV0ZXJzOiBJTG9hZE1vcmVQcmVkaWNhdGVQYXJhbWV0ZXJzIHwgbnVsbCkgPT4ge1xyXG4gICAgICAgIGlmIChwcmVkaWNhdGVQYXJhbWV0ZXJzKVxyXG4gICAgICAgICAgdGhpcy5yZXNldFBhcmFtZXRlcnMoKTtcclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcCgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRNb3JlU2VydmljZS5tb3JlJC5waXBlKFxyXG4gICAgICAgICAgc3RhcnRXaXRoKExvYWRNb3JlU2VydmljZS5TVEFSVF9QQUdFKSxcclxuICAgICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc291cmNlID0gTG9hZENoYW5nZXNTb3VyY2UuUGFyYW1ldGVycztcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgbWFwKChwYWdlOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgcGFyYW1zOiB2YWx1ZSwgcGFnZTogcGFnZSB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIHBhcmFtZXRlcnMkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZER5bmFtaWMocGFyYW1ldGVycyQ6IE9ic2VydmFibGU8SUxvYWRNb3JlUGFyYW1ldGVycz4sIGxvYWRlcjogTG9hZGVyRnVuY3Rpb24pXHJcbiAgICA6IE9ic2VydmFibGU8SUxvYWRNb3JlTW9kZWw8YW55Pj4ge1xyXG4gICAgcmV0dXJuIHBhcmFtZXRlcnMkLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgocGFyYW1ldGVyczogSUxvYWRNb3JlUGFyYW1ldGVycykgPT4gbG9hZGVyKHBhcmFtZXRlcnMsIHRoaXMuc291cmNlKS5waXBlKFxyXG4gICAgICAgIHRhcCgobW9kZWw6IElMb2FkTW9yZU1vZGVsPGFueT4pID0+IHtcclxuICAgICAgICAgIGlmIChtb2RlbC5yZXNldCkge1xyXG4gICAgICAgICAgICB0aGlzLnNvdXJjZSA9IExvYWRDaGFuZ2VzU291cmNlLkRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXRQYXJhbWV0ZXJzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkU3RhdGljKHBhcmFtZXRlcnMkOiBPYnNlcnZhYmxlPElMb2FkTW9yZVBhcmFtZXRlcnM+LCBtb2RlbDogSUxvYWRDb250YWluZXJNb2RlbClcclxuICAgIDogT2JzZXJ2YWJsZTxJTG9hZE1vcmVNb2RlbDxhbnk+PiB7XHJcbiAgICBjb25zdCBkYXRhJCA9IChtb2RlbC5kYXRhJCB8fCBvZihbXSkpLnBpcGUoXHJcbiAgICAgIHRhcChfID0+IHRoaXMuc291cmNlID0gTG9hZENoYW5nZXNTb3VyY2UuRGF0YSkpO1xyXG5cclxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtwYXJhbWV0ZXJzJCwgZGF0YSRdKS5waXBlKFxyXG4gICAgICBtYXAoKFtwYXJhbWV0ZXJzLCBpdGVtc10pID0+IHtcclxuICAgICAgICBjb25zdCByZXNldDogYm9vbGVhbiA9IHRoaXMuc291cmNlID09IExvYWRDaGFuZ2VzU291cmNlLkRhdGE7XHJcblxyXG4gICAgICAgIGlmIChyZXNldCAmJiBwYXJhbWV0ZXJzLnBhZ2UgIT0gTG9hZE1vcmVTZXJ2aWNlLlNUQVJUX1BBR0UpIHtcclxuICAgICAgICAgIC8vIGlmIGRhdGEgY2hhbmdlZCBuZWVkIHRvIHN0YXJ0IGZyb20gc3RhcnRcclxuICAgICAgICAgIHRoaXMucmVzZXRQYXJhbWV0ZXJzKCk7XHJcbiAgICAgICAgICBwYXJhbWV0ZXJzID0geyBwYXJhbXM6IHBhcmFtZXRlcnMucGFyYW1zLCBwYWdlOiAxIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IG1vZGVsLmZpbHRlciA/IG1vZGVsLmZpbHRlcihpdGVtcywgcGFyYW1ldGVycykgOiBpdGVtcyxcclxuICAgICAgICAgIHNpemUgPSBtb2RlbC5zaXplIHx8IExvYWRDb250YWluZXJDb25zdGFudHMuREVGQVVMVF9QQUdFX1NJWkUsXHJcbiAgICAgICAgICBkYXRhOiBJTG9hZE1vcmVNb2RlbDxhbnk+ID0gZmlsdGVyZWQgPyB7XHJcbiAgICAgICAgICAgIGl0ZW1zOiBza2lwKGZpbHRlcmVkLCBwYXJhbWV0ZXJzLnBhZ2UsIHNpemUpLFxyXG4gICAgICAgICAgICBuZXh0OiBwYXJhbWV0ZXJzLnBhZ2UgPCBNYXRoLmNlaWwoZmlsdGVyZWQubGVuZ3RoIC8gc2l6ZSksXHJcbiAgICAgICAgICAgIHJlc2V0XHJcbiAgICAgICAgICB9IDogeyBpdGVtczogW10sIG5leHQ6IGZhbHNlLCByZXNldCB9O1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0UGFyYW1ldGVycygpOiB2b2lkIHtcclxuICAgIGlmIChpc0RlZmluZWQodGhpcy5jb250ZW50RWwpKVxyXG4gICAgICB0aGlzLmNvbnRlbnRFbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IDA7XHJcblxyXG4gICAgdGhpcy5sb2FkTW9yZVNlcnZpY2UucmVzZXQoKTtcclxuICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8c2ZjLWJvdW5jZS1sb2FkZXIgW2lkXT1cImlkXCIgW3NmY0NvbXBvbmVudFNpemVdPVwiQ29tcG9uZW50U2l6ZS5TbWFsbFwiPjwvc2ZjLWJvdW5jZS1sb2FkZXI+XHJcbiAgICA8ZGl2ICNjb250ZW50IGNsYXNzPVwiY29udGVudFwiIFtzZmNTY3JvbGxJbnRvVmlld109XCJzY3JvbGxUYXJnZXRcIiAoc2ZjU2Nyb2xsVHJhY2tlcik9XCJvblNjcm9sbCgpXCIgW3Bvc2l0aW9uc109XCJzY3JvbGxQb3NpdGlvblwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8ZGl2IChzZmNNb3VzZURvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cclxuICAgICAgICAgICAgPHNmYy1sb2FkLW1vcmUtYnV0dG9uIFtoaWRkZW5dPVwiaGlkZUxvYWRNb3JlQnV0dG9uXCIgKG1vcmUpPVwibW9yZSgkZXZlbnQpXCIgW2xhYmVsXT1cImxvYWRNb3JlTGFiZWxcIj5cclxuICAgICAgICAgICAgPC9zZmMtbG9hZC1tb3JlLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzRW1wdHlcIiBjbGFzcz1cImVtcHR5XCI+e3tub3RGb3VuZExhYmVsfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export class LoadContainerConstants {
|
|
2
|
+
}
|
|
3
|
+
LoadContainerConstants.DEFAULT_PAGE_SIZE = 5;
|
|
4
|
+
LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL = 'Not found';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL2xvYWQtY29udGFpbmVyLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sc0JBQXNCOztBQUN4Qix3Q0FBaUIsR0FBVyxDQUFDLENBQUM7QUFDOUIsOENBQXVCLEdBQVcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExvYWRDb250YWluZXJDb25zdGFudHMge1xyXG4gICAgc3RhdGljIERFRkFVTFRfUEFHRV9TSVpFOiBudW1iZXIgPSA1O1xyXG4gICAgc3RhdGljIERFRkFVTFRfTk9UX0ZPVU5EX0xBQkVMOiBzdHJpbmcgPSAnTm90IGZvdW5kJztcclxufSJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var LoadContainerType;
|
|
2
|
+
(function (LoadContainerType) {
|
|
3
|
+
LoadContainerType["Dropdown"] = "dropdown";
|
|
4
|
+
LoadContainerType["Table"] = "table";
|
|
5
|
+
})(LoadContainerType || (LoadContainerType = {}));
|
|
6
|
+
export var LoadChangesSource;
|
|
7
|
+
(function (LoadChangesSource) {
|
|
8
|
+
LoadChangesSource["Parameters"] = "parameters";
|
|
9
|
+
LoadChangesSource["Data"] = "data";
|
|
10
|
+
})(LoadChangesSource || (LoadChangesSource = {}));
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLWNvbnRhaW5lci9sb2FkLWNvbnRhaW5lci5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsMENBQXFCLENBQUE7SUFDckIsb0NBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QjtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsOENBQXlCLENBQUE7SUFDekIsa0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIExvYWRDb250YWluZXJUeXBlIHtcclxuICAgIERyb3Bkb3duID0gJ2Ryb3Bkb3duJyxcclxuICAgIFRhYmxlID0gJ3RhYmxlJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBMb2FkQ2hhbmdlc1NvdXJjZSB7XHJcbiAgICBQYXJhbWV0ZXJzID0gJ3BhcmFtZXRlcnMnLFxyXG4gICAgRGF0YSA9ICdkYXRhJ1xyXG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1jb250YWluZXIvbW9kZWxzL2xvYWQtY29udGFpbmVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSUxvYWRNb3JlTW9kZWwgfSBmcm9tIFwiLi9sb2FkLW1vcmUubW9kZWxcIjtcclxuaW1wb3J0IHsgSUxvYWRNb3JlUGFyYW1ldGVycyB9IGZyb20gXCIuL2xvYWQtbW9yZS1wYXJhbWV0ZXJzLm1vZGVsXCI7XHJcbmltcG9ydCB7IElMb2FkTW9yZVByZWRpY2F0ZVBhcmFtZXRlcnMgfSBmcm9tIFwiLi9sb2FkLW1vcmUtcHJlZGljYXRlLXBhcmFtZXRlcnMubW9kZWxcIjtcclxuaW1wb3J0IHsgTG9hZENoYW5nZXNTb3VyY2UgfSBmcm9tIFwiLi4vbG9hZC1jb250YWluZXIuZW51bVwiO1xyXG5cclxuZXhwb3J0IHR5cGUgTG9hZGVyRnVuY3Rpb24gPSAocGFyYW1ldGVyczogSUxvYWRNb3JlUGFyYW1ldGVycywgc291cmNlOiBMb2FkQ2hhbmdlc1NvdXJjZSkgPT4gT2JzZXJ2YWJsZTxJTG9hZE1vcmVNb2RlbDxhbnk+PjtcclxuZXhwb3J0IHR5cGUgRmlsdGVyRnVuY3Rpb24gPSAoZGF0YTogYW55W10sIHBhcmFtZXRlcnM6IElMb2FkTW9yZVBhcmFtZXRlcnMpID0+IGFueVtdO1xyXG5leHBvcnQgaW50ZXJmYWNlIElMb2FkQ29udGFpbmVyTW9kZWwge1xyXG4gICAgc2l6ZT86IG51bWJlcjtcclxuICAgIHByZWRpY2F0ZSQ/OiBPYnNlcnZhYmxlPElMb2FkTW9yZVByZWRpY2F0ZVBhcmFtZXRlcnMgfCBudWxsPjtcclxuICAgIGRhdGEkPzogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgICBsb2FkZXI/OiBMb2FkZXJGdW5jdGlvbjtcclxuICAgIGZpbHRlcj86IEZpbHRlckZ1bmN0aW9uO1xyXG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLXBhcmFtZXRlcnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1jb250YWluZXIvbW9kZWxzL2xvYWQtbW9yZS1wYXJhbWV0ZXJzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTG9hZE1vcmVQcmVkaWNhdGVQYXJhbWV0ZXJzIH0gZnJvbSBcIi4vbG9hZC1tb3JlLXByZWRpY2F0ZS1wYXJhbWV0ZXJzLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMb2FkTW9yZVBhcmFtZXRlcnMge1xyXG4gICAgcGFyYW1zOiBJTG9hZE1vcmVQcmVkaWNhdGVQYXJhbWV0ZXJzLFxyXG4gICAgcGFnZTogbnVtYmVyXHJcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLXByZWRpY2F0ZS1wYXJhbWV0ZXJzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL21vZGVscy9sb2FkLW1vcmUtcHJlZGljYXRlLXBhcmFtZXRlcnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUxvYWRNb3JlUHJlZGljYXRlUGFyYW1ldGVycyB7XHJcbiAgICB2YWx1ZTogYW55O1xyXG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL21vZGVscy9sb2FkLW1vcmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUxvYWRNb3JlTW9kZWw8VD4ge1xyXG4gICAgbmV4dDogYm9vbGVhbjtcclxuICAgIGl0ZW1zOiBUW107XHJcbiAgICByZXNldDogYm9vbGVhbjtcclxufSJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class LoadMoreService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this._page = LoadMoreService.START_PAGE;
|
|
7
|
+
this.moreSubject = new Subject();
|
|
8
|
+
this.more$ = this.moreSubject.asObservable();
|
|
9
|
+
}
|
|
10
|
+
more() {
|
|
11
|
+
this._page++;
|
|
12
|
+
this.moreSubject.next(this._page);
|
|
13
|
+
}
|
|
14
|
+
reset() {
|
|
15
|
+
this._page = LoadMoreService.START_PAGE;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
LoadMoreService.START_PAGE = 1;
|
|
19
|
+
LoadMoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
+
LoadMoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreService, providedIn: 'root' });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreService, decorators: [{
|
|
22
|
+
type: Injectable,
|
|
23
|
+
args: [{
|
|
24
|
+
providedIn: 'root'
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1jb250YWluZXIvc2VydmljZS9sb2FkLW1vcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxlQUFlO0lBSDVCO1FBT1ksVUFBSyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFFbkMsZ0JBQVcsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUV0RCxVQUFLLEdBQXVCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7S0FVdEU7SUFSRyxJQUFJO1FBQ0EsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO0lBQzVDLENBQUM7O0FBZnNCLDBCQUFVLEdBQVcsQ0FBQyxDQUFDOzRHQUZyQyxlQUFlO2dIQUFmLGVBQWUsY0FGWixNQUFNOzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRNb3JlU2VydmljZSB7XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVEFSVF9QQUdFOiBudW1iZXIgPSAxO1xyXG5cclxuICAgIHByaXZhdGUgX3BhZ2UgPSBMb2FkTW9yZVNlcnZpY2UuU1RBUlRfUEFHRTtcclxuXHJcbiAgICBwcml2YXRlIG1vcmVTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcblxyXG4gICAgcHVibGljIG1vcmUkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLm1vcmVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIG1vcmUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcGFnZSsrO1xyXG4gICAgICAgIHRoaXMubW9yZVN1YmplY3QubmV4dCh0aGlzLl9wYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXNldCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wYWdlID0gTG9hZE1vcmVTZXJ2aWNlLlNUQVJUX1BBR0U7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
+
import { isNullOrEmptyString } from '../../utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@fortawesome/angular-fontawesome";
|
|
6
|
+
import * as i2 from "../../directives/mouse-down/mouse-down.directive";
|
|
7
|
+
import * as i3 from "../delimeter/delimeter.component";
|
|
8
|
+
export class LoadMoreButtonComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.DEFAULT_LABEL = 'Show more';
|
|
11
|
+
this.icon = faChevronCircleDown;
|
|
12
|
+
this.more = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
if (isNullOrEmptyString(this.label))
|
|
16
|
+
this.label = this.DEFAULT_LABEL;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
LoadMoreButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
LoadMoreButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LoadMoreButtonComponent, selector: "sfc-load-more-button", inputs: { label: "label", icon: "icon" }, outputs: { more: "more" }, ngImport: i0, template: "<div class=\"container\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <div class=\"button\" (sfcMouseDown)=\"more.emit($event)\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n <span>{{label}}</span>\r\n </div>\r\n</div>", styles: [":host{cursor:default}:host .container{text-align:center;background-color:#fff}:host .container .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;cursor:pointer;transition:color .5s;padding:.5em 0 1em}:host .container .button,:host-context(.sfc-default-theme) :host .container .button{color:#545e61}:host-context(.sfc-dark-theme) :host .container .button{color:#fff}:host .container .button fa-icon{font-size:.7em;margin-right:.31em}:host .container .button span{font-size:.6em;font-weight:700;text-transform:uppercase}:host .container .button:hover{color:#ffce54}\n"], dependencies: [{ kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i2.MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }, { kind: "component", type: i3.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreButtonComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'sfc-load-more-button', template: "<div class=\"container\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <div class=\"button\" (sfcMouseDown)=\"more.emit($event)\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n <span>{{label}}</span>\r\n </div>\r\n</div>", styles: [":host{cursor:default}:host .container{text-align:center;background-color:#fff}:host .container .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;cursor:pointer;transition:color .5s;padding:.5em 0 1em}:host .container .button,:host-context(.sfc-default-theme) :host .container .button{color:#545e61}:host-context(.sfc-dark-theme) :host .container .button{color:#fff}:host .container .button fa-icon{font-size:.7em;margin-right:.31em}:host .container .button span{font-size:.6em;font-weight:700;text-transform:uppercase}:host .container .button:hover{color:#ffce54}\n"] }]
|
|
24
|
+
}], propDecorators: { label: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], icon: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], more: [{
|
|
29
|
+
type: Output
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1tb3JlLWJ1dHRvbi9sb2FkLW1vcmUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLW1vcmUtYnV0dG9uL2xvYWQtbW9yZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLE1BQU0sbUNBQW1DLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQU9sRCxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBT21CLGtCQUFhLEdBQUcsV0FBVyxDQUFDO1FBTTdDLFNBQUksR0FBbUIsbUJBQW1CLENBQUM7UUFHM0MsU0FBSSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO0tBTWpFO0lBSkMsUUFBUTtRQUNOLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDcEMsQ0FBQzs7b0hBaEJVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGlJQ1RwQyw4T0FNTTsyRkRHTyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQVNoQyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmFDaGV2cm9uQ2lyY2xlRG93biwgSWNvbkRlZmluaXRpb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xyXG5pbXBvcnQgeyBpc051bGxPckVtcHR5U3RyaW5nIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZmMtbG9hZC1tb3JlLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWQtbW9yZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvYWQtbW9yZS1idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZE1vcmVCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfTEFCRUwgPSAnU2hvdyBtb3JlJztcclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbCE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBpY29uOiBJY29uRGVmaW5pdGlvbiA9IGZhQ2hldnJvbkNpcmNsZURvd247XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG1vcmU6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoaXNOdWxsT3JFbXB0eVN0cmluZyh0aGlzLmxhYmVsKSlcclxuICAgICAgdGhpcy5sYWJlbCA9IHRoaXMuREVGQVVMVF9MQUJFTDtcclxuICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8c2ZjLWRlbGltZXRlcj48L3NmYy1kZWxpbWV0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uXCIgKHNmY01vdXNlRG93bik9XCJtb3JlLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cImljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPHNwYW4+e3tsYWJlbH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { LoaderBaseComponent } from '../loader-base.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class BounceLoaderComponent extends LoaderBaseComponent {
|
|
6
|
+
}
|
|
7
|
+
BounceLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BounceLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
BounceLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BounceLoaderComponent, selector: "sfc-bounce-loader", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"spinner\">\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".spinner{text-align:center}.spinner .bounce{border-radius:100%;display:inline-block;animation:bounce-delay 1.4s infinite ease-in-out both;width:1em;height:1em}.spinner .bounce,:host-context(.sfc-default-theme) .spinner .bounce{background-color:#545e61}:host-context(.sfc-dark-theme) .spinner .bounce{background-color:#fff}.spinner .bounce:nth-child(1){animation-delay:-.32s}.spinner .bounce:nth-child(2){animation-delay:-.16s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BounceLoaderComponent, decorators: [{
|
|
10
|
+
type: Component,
|
|
11
|
+
args: [{ selector: 'sfc-bounce-loader', template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"spinner\">\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".spinner{text-align:center}.spinner .bounce{border-radius:100%;display:inline-block;animation:bounce-delay 1.4s infinite ease-in-out both;width:1em;height:1em}.spinner .bounce,:host-context(.sfc-default-theme) .spinner .bounce{background-color:#545e61}:host-context(.sfc-dark-theme) .spinner .bounce{background-color:#fff}.spinner .bounce:nth-child(1){animation-delay:-.32s}.spinner .bounce:nth-child(2){animation-delay:-.16s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"] }]
|
|
12
|
+
}] });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmNlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL2JvdW5jZS9ib3VuY2UtbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvYm91bmNlL2JvdW5jZS1sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTy9ELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7O2tIQUFqRCxxQkFBcUI7c0dBQXJCLHFCQUFxQixnRkNSbEMsaVFBTU07MkZERU8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkZXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGVyLWJhc2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWJvdW5jZS1sb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ib3VuY2UtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vc3R5bGVzL2xvYWRlci1iYXNlLmNvbXBvbmVudC5zY3NzJywgJy4vYm91bmNlLWxvYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb3VuY2VMb2FkZXJDb21wb25lbnQgZXh0ZW5kcyBMb2FkZXJCYXNlQ29tcG9uZW50IHtcclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic2hvdyQgfCBhc3luY1wiIGNsYXNzPVwicHJlbG9hZGVyXCIgW25nQ2xhc3NdPVwicHJlTG9hZGVyQ2xhc3Nlc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNwaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm91bmNlXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvdW5jZVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3VuY2VcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var CircleLoaderType;
|
|
2
|
+
(function (CircleLoaderType) {
|
|
3
|
+
CircleLoaderType["Default"] = "default";
|
|
4
|
+
CircleLoaderType["Fading"] = "fading";
|
|
5
|
+
})(CircleLoaderType || (CircleLoaderType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLWxvYWRlci10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL2NpcmNsZS9jaXJjbGUtbG9hZGVyLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQ3hCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2lyY2xlTG9hZGVyVHlwZSB7XHJcbiAgICBEZWZhdWx0ID0gJ2RlZmF1bHQnLFxyXG4gICAgRmFkaW5nID0gJ2ZhZGluZydcclxufSJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { LoaderBaseComponent } from '../loader-base.component';
|
|
3
|
+
import { CircleLoaderType } from './circle-loader-type.enum';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class CircleLoaderComponent extends LoaderBaseComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.type = CircleLoaderType.Default;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
CircleLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CircleLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
CircleLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CircleLoaderComponent, selector: "sfc-circle-loader", inputs: { type: "type" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"circles-container\" [ngClass]=\"type\">\r\n <div class=\"circle1\"></div>\r\n <div class=\"circle2\"></div>\r\n <div class=\"circle3\"></div>\r\n <div class=\"circle4\"></div>\r\n <div class=\"circle5\"></div>\r\n <div class=\"circle6\"></div>\r\n <div class=\"circle7\"></div>\r\n <div class=\"circle8\"></div>\r\n <div class=\"circle9\"></div>\r\n <div class=\"circle10\"></div>\r\n <div class=\"circle11\"></div>\r\n <div class=\"circle12\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".circles-container{position:relative;width:2.5em;height:2.5em}.circles-container div{width:100%;height:100%;position:absolute;left:0;top:0}.circles-container div:before{content:\"\";display:block;margin:0 auto;width:15%;height:15%;border-radius:100%;animation:bounce-delay 1.2s infinite ease-in-out both}.circles-container div:before,:host-context(.sfc-default-theme) .circles-container div:before{background-color:#545e61}:host-context(.sfc-dark-theme) .circles-container div:before{background-color:#fff}.circles-container.fading div:before{animation-name:circle-fade-delay}.circles-container .circle2{transform:rotate(30deg)}.circles-container .circle2:before{animation-delay:-1.1s}.circles-container .circle3{transform:rotate(60deg)}.circles-container .circle3:before{animation-delay:-1s}.circles-container .circle4{transform:rotate(90deg)}.circles-container .circle4:before{animation-delay:-.9s}.circles-container .circle5{transform:rotate(120deg)}.circles-container .circle5:before{animation-delay:-.8s}.circles-container .circle6{transform:rotate(150deg)}.circles-container .circle6:before{animation-delay:-.7s}.circles-container .circle7{transform:rotate(180deg)}.circles-container .circle7:before{animation-delay:-.6s}.circles-container .circle8{transform:rotate(210deg)}.circles-container .circle8:before{animation-delay:-.5s}.circles-container .circle9{transform:rotate(240deg)}.circles-container .circle9:before{animation-delay:-.4s}.circles-container .circle10{transform:rotate(270deg)}.circles-container .circle10:before{animation-delay:-.3s}.circles-container .circle11{transform:rotate(300deg)}.circles-container .circle11:before{animation-delay:-.2s}.circles-container .circle12{transform:rotate(330deg)}.circles-container .circle12:before{animation-delay:-.1s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes circle-fade-delay{0%,39%,to{opacity:0}40%{opacity:1}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CircleLoaderComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'sfc-circle-loader', template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"circles-container\" [ngClass]=\"type\">\r\n <div class=\"circle1\"></div>\r\n <div class=\"circle2\"></div>\r\n <div class=\"circle3\"></div>\r\n <div class=\"circle4\"></div>\r\n <div class=\"circle5\"></div>\r\n <div class=\"circle6\"></div>\r\n <div class=\"circle7\"></div>\r\n <div class=\"circle8\"></div>\r\n <div class=\"circle9\"></div>\r\n <div class=\"circle10\"></div>\r\n <div class=\"circle11\"></div>\r\n <div class=\"circle12\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".circles-container{position:relative;width:2.5em;height:2.5em}.circles-container div{width:100%;height:100%;position:absolute;left:0;top:0}.circles-container div:before{content:\"\";display:block;margin:0 auto;width:15%;height:15%;border-radius:100%;animation:bounce-delay 1.2s infinite ease-in-out both}.circles-container div:before,:host-context(.sfc-default-theme) .circles-container div:before{background-color:#545e61}:host-context(.sfc-dark-theme) .circles-container div:before{background-color:#fff}.circles-container.fading div:before{animation-name:circle-fade-delay}.circles-container .circle2{transform:rotate(30deg)}.circles-container .circle2:before{animation-delay:-1.1s}.circles-container .circle3{transform:rotate(60deg)}.circles-container .circle3:before{animation-delay:-1s}.circles-container .circle4{transform:rotate(90deg)}.circles-container .circle4:before{animation-delay:-.9s}.circles-container .circle5{transform:rotate(120deg)}.circles-container .circle5:before{animation-delay:-.8s}.circles-container .circle6{transform:rotate(150deg)}.circles-container .circle6:before{animation-delay:-.7s}.circles-container .circle7{transform:rotate(180deg)}.circles-container .circle7:before{animation-delay:-.6s}.circles-container .circle8{transform:rotate(210deg)}.circles-container .circle8:before{animation-delay:-.5s}.circles-container .circle9{transform:rotate(240deg)}.circles-container .circle9:before{animation-delay:-.4s}.circles-container .circle10{transform:rotate(270deg)}.circles-container .circle10:before{animation-delay:-.3s}.circles-container .circle11{transform:rotate(300deg)}.circles-container .circle11:before{animation-delay:-.2s}.circles-container .circle12{transform:rotate(330deg)}.circles-container .circle12:before{animation-delay:-.1s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes circle-fade-delay{0%,39%,to{opacity:0}40%{opacity:1}}\n"] }]
|
|
17
|
+
}], propDecorators: { type: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL2NpcmNsZS9jaXJjbGUtbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvY2lyY2xlL2NpcmNsZS1sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU83RCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBTDlEOztRQVFFLFNBQUksR0FBcUIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0tBQ25EOztrSEFKWSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwwR0NUbEMscXBCQWVNOzJGRE5PLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBTzdCLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9hZGVyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRlci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENpcmNsZUxvYWRlclR5cGUgfSBmcm9tICcuL2NpcmNsZS1sb2FkZXItdHlwZS5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWNpcmNsZS1sb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaXJjbGUtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vc3R5bGVzL2xvYWRlci1iYXNlLmNvbXBvbmVudC5zY3NzJywgJy4vY2lyY2xlLWxvYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaXJjbGVMb2FkZXJDb21wb25lbnQgZXh0ZW5kcyBMb2FkZXJCYXNlQ29tcG9uZW50IHtcclxuICBcclxuICBASW5wdXQoKVxyXG4gIHR5cGU6IENpcmNsZUxvYWRlclR5cGUgPSBDaXJjbGVMb2FkZXJUeXBlLkRlZmF1bHQ7XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInNob3ckIHwgYXN5bmNcIiBjbGFzcz1cInByZWxvYWRlclwiIFtuZ0NsYXNzXT1cInByZUxvYWRlckNsYXNzZXNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaXJjbGVzLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInR5cGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlMVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaXJjbGUyXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNpcmNsZTNcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlNFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaXJjbGU1XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNpcmNsZTZcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlN1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaXJjbGU4XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNpcmNsZTlcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlMTBcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlMTFcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlMTJcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Directive, Input } from "@angular/core";
|
|
2
|
+
import { EMPTY, map } from "rxjs";
|
|
3
|
+
import { UIClass } from "../../enums";
|
|
4
|
+
import { LoaderConstants } from "./loader.constants";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./service/loader.service";
|
|
7
|
+
export class LoaderBaseComponent {
|
|
8
|
+
constructor(loaderService) {
|
|
9
|
+
this.loaderService = loaderService;
|
|
10
|
+
this.UIClass = UIClass;
|
|
11
|
+
/**
|
|
12
|
+
* Loader identificator (global by default)
|
|
13
|
+
*/
|
|
14
|
+
this.id = LoaderConstants.GLOBAL_LOADER_ID;
|
|
15
|
+
/**
|
|
16
|
+
* Is start on init (loader register with show = True)
|
|
17
|
+
*/
|
|
18
|
+
this.start = false;
|
|
19
|
+
/**
|
|
20
|
+
* Loader when active(show) has background(low opacity)
|
|
21
|
+
*/
|
|
22
|
+
this.background = true;
|
|
23
|
+
this.show$ = EMPTY;
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
// register new loader
|
|
27
|
+
this.show$ = this.loaderService.register({ id: this.id, status: this.start })
|
|
28
|
+
.pipe(map((event) => this.id === event.id && event.status));
|
|
29
|
+
}
|
|
30
|
+
get preLoaderClasses() {
|
|
31
|
+
let classes = {};
|
|
32
|
+
if (this.id === LoaderConstants.GLOBAL_LOADER_ID)
|
|
33
|
+
classes[LoaderConstants.GLOBAL_LOADER_ID] = true;
|
|
34
|
+
else
|
|
35
|
+
classes[LoaderConstants.LOCAL_LOADER_ID] = true;
|
|
36
|
+
classes[LoaderConstants.CSS_CLASS_BACKGROUND] = this.background;
|
|
37
|
+
return classes;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
LoaderBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderBaseComponent, deps: [{ token: i1.LoaderService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
41
|
+
LoaderBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: LoaderBaseComponent, inputs: { id: "id", start: "start", background: "background" }, ngImport: i0 });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderBaseComponent, decorators: [{
|
|
43
|
+
type: Directive
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i1.LoaderService }]; }, propDecorators: { id: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], start: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], background: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXItYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUtyRCxNQUFNLE9BQWdCLG1CQUFtQjtJQXNCckMsWUFBc0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFwQmxELFlBQU8sR0FBRyxPQUFPLENBQUM7UUFFbEI7O1VBRUU7UUFFRixPQUFFLEdBQVcsZUFBZSxDQUFDLGdCQUFnQixDQUFDO1FBRTlDOztXQUVHO1FBRUgsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUV2Qjs7V0FFRztRQUVILGVBQVUsR0FBWSxJQUFJLENBQUM7UUFLcEIsVUFBSyxHQUF3QixLQUFLLENBQUM7SUFGMUMsQ0FBQztJQUlNLFFBQVE7UUFDWCxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDeEUsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQ3JFLENBQUM7SUFDVixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsSUFBSSxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBRXRCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxlQUFlLENBQUMsZ0JBQWdCO1lBQzVDLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUM7O1lBRWpELE9BQU8sQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRXBELE9BQU8sQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRWhFLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O2dIQTlDaUIsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUztvR0FTTixFQUFFO3NCQURELEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEVNUFRZLCBtYXAsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBVSUNsYXNzIH0gZnJvbSBcIi4uLy4uL2VudW1zXCI7XHJcbmltcG9ydCB7IExvYWRlckNvbnN0YW50cyB9IGZyb20gXCIuL2xvYWRlci5jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgSUxvYWRlckV2ZW50IH0gZnJvbSBcIi4vbG9hZGVyLmV2ZW50XCI7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlL2xvYWRlci5zZXJ2aWNlXCI7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvYWRlckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIFVJQ2xhc3MgPSBVSUNsYXNzO1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiBMb2FkZXIgaWRlbnRpZmljYXRvciAoZ2xvYmFsIGJ5IGRlZmF1bHQpXHJcbiAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIElzIHN0YXJ0IG9uIGluaXQgKGxvYWRlciByZWdpc3RlciB3aXRoIHNob3cgPSBUcnVlKVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIExvYWRlciB3aGVuIGFjdGl2ZShzaG93KSBoYXMgYmFja2dyb3VuZChsb3cgb3BhY2l0eSlcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGJhY2tncm91bmQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNob3ckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gRU1QVFk7XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHJlZ2lzdGVyIG5ldyBsb2FkZXJcclxuICAgICAgICB0aGlzLnNob3ckID0gdGhpcy5sb2FkZXJTZXJ2aWNlLnJlZ2lzdGVyKHsgaWQ6IHRoaXMuaWQsIHN0YXR1czogdGhpcy5zdGFydCB9KVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgoZXZlbnQ6IElMb2FkZXJFdmVudCkgPT4gdGhpcy5pZCA9PT0gZXZlbnQuaWQgJiYgZXZlbnQuc3RhdHVzKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBwcmVMb2FkZXJDbGFzc2VzKCkge1xyXG4gICAgICAgIGxldCBjbGFzc2VzOiBhbnkgPSB7fTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaWQgPT09IExvYWRlckNvbnN0YW50cy5HTE9CQUxfTE9BREVSX0lEKVxyXG4gICAgICAgICAgICBjbGFzc2VzW0xvYWRlckNvbnN0YW50cy5HTE9CQUxfTE9BREVSX0lEXSA9IHRydWU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBjbGFzc2VzW0xvYWRlckNvbnN0YW50cy5MT0NBTF9MT0FERVJfSURdID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgY2xhc3Nlc1tMb2FkZXJDb25zdGFudHMuQ1NTX0NMQVNTX0JBQ0tHUk9VTkRdID0gdGhpcy5iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICByZXR1cm4gY2xhc3NlcztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export class LoaderConstants {
|
|
2
|
+
}
|
|
3
|
+
LoaderConstants.GLOBAL_LOADER_ID = 'global';
|
|
4
|
+
LoaderConstants.LOCAL_LOADER_ID = 'local';
|
|
5
|
+
LoaderConstants.CSS_CLASS_BACKGROUND = 'background';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZUFBZTs7QUFDakIsZ0NBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQzVCLCtCQUFlLEdBQUcsT0FBTyxDQUFDO0FBQzFCLG9DQUFvQixHQUFHLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMb2FkZXJDb25zdGFudHMge1xyXG4gICAgc3RhdGljIEdMT0JBTF9MT0FERVJfSUQgPSAnZ2xvYmFsJztcclxuICAgIHN0YXRpYyBMT0NBTF9MT0FERVJfSUQgPSAnbG9jYWwnO1xyXG4gICAgc3RhdGljIENTU19DTEFTU19CQUNLR1JPVU5EID0gJ2JhY2tncm91bmQnO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUxvYWRlckV2ZW50IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBzdGF0dXM6IGJvb2xlYW47XHJcbn0iXX0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, distinctUntilChanged, filter, map } from 'rxjs';
|
|
3
|
+
import { addItem, any, firstOrDefault, hasObjectItem, isDefined, nameof, removeItemBy, updateItemBy } from '../../../utils';
|
|
4
|
+
import { LoaderConstants } from '../loader.constants';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class LoaderService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.loaderSubject = new BehaviorSubject([]);
|
|
9
|
+
this.loaders$ = this.loaderSubject
|
|
10
|
+
.asObservable()
|
|
11
|
+
.pipe(filter(loaders => any(loaders)), distinctUntilChanged());
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Show loader by Id
|
|
15
|
+
* @param id Loader Id
|
|
16
|
+
* @param register If true register loader and show it
|
|
17
|
+
*/
|
|
18
|
+
show(id = LoaderConstants.GLOBAL_LOADER_ID, register = false) {
|
|
19
|
+
return this.setLoaderStatus(id, true, register);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Hide loader
|
|
23
|
+
* @param id Loader Id
|
|
24
|
+
*/
|
|
25
|
+
hide(id = LoaderConstants.GLOBAL_LOADER_ID) {
|
|
26
|
+
this.setLoaderStatus(id, false);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Register loader for next use
|
|
30
|
+
* @param event Loader event
|
|
31
|
+
* @returns Registred loade observable
|
|
32
|
+
*/
|
|
33
|
+
register(event) {
|
|
34
|
+
const loaders = this.loaderSubject.getValue();
|
|
35
|
+
if (addItem(loaders, event, () => hasObjectItem(loaders, nameof('id'), event.id))) {
|
|
36
|
+
this.loaderSubject.next(loaders);
|
|
37
|
+
}
|
|
38
|
+
return this.selectLoaderById(event.id);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Remove loader
|
|
42
|
+
* @param id Loader Id
|
|
43
|
+
*/
|
|
44
|
+
remove(id = LoaderConstants.GLOBAL_LOADER_ID) {
|
|
45
|
+
const loaders = this.loaderSubject.getValue();
|
|
46
|
+
if (removeItemBy(loaders, loader => loader.id == id)) {
|
|
47
|
+
this.loaderSubject.next(loaders);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
selectLoaderById(id) {
|
|
51
|
+
return this.loaders$
|
|
52
|
+
.pipe(map(loaders => loaders.find(loader => loader.id == id)), distinctUntilChanged());
|
|
53
|
+
}
|
|
54
|
+
setLoaderStatus(id, status, register = false) {
|
|
55
|
+
const loaders = this.loaderSubject.getValue(), ILoaderEvent = { id, status }, loader = firstOrDefault(loaders, (loader) => loader.id == id);
|
|
56
|
+
if (isDefined(loader) && loader?.status == status)
|
|
57
|
+
return this.selectLoaderById(id);
|
|
58
|
+
const updatedLoaders = updateItemBy(loaders, (loader) => loader.id == id, ILoaderEvent);
|
|
59
|
+
if (isDefined(updatedLoaders)) {
|
|
60
|
+
this.loaderSubject.next(updatedLoaders);
|
|
61
|
+
}
|
|
62
|
+
if (register) {
|
|
63
|
+
return this.register(ILoaderEvent);
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderService, providedIn: 'root' });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderService, decorators: [{
|
|
71
|
+
type: Injectable,
|
|
72
|
+
args: [{
|
|
73
|
+
providedIn: 'root'
|
|
74
|
+
}]
|
|
75
|
+
}] });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL3NlcnZpY2UvbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTXRELE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBS1Usa0JBQWEsR0FBb0MsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLGFBQVEsR0FBK0IsSUFBSSxDQUFDLGFBQWE7YUFDOUQsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUNILE1BQU0sQ0FBaUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDL0Msb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztLQTZFTDtJQTNFQzs7OztPQUlHO0lBQ0ksSUFBSSxDQUFDLEtBQWEsZUFBZSxDQUFDLGdCQUFnQixFQUFFLFdBQW9CLEtBQUs7UUFFbEYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLElBQUksQ0FBQyxLQUFhLGVBQWUsQ0FBQyxnQkFBZ0I7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsS0FBbUI7UUFFakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUN4QixHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBZSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNsQztRQUVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEtBQWEsZUFBZSxDQUFDLGdCQUFnQjtRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTlDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsRUFBVTtRQUNqQyxPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLElBQUksQ0FDSCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQWlCLENBQUMsRUFDdkUsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFTyxlQUFlLENBQUMsRUFBVSxFQUFFLE1BQWUsRUFBRSxXQUFvQixLQUFLO1FBQzVFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQzNDLFlBQVksR0FBaUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQzNDLE1BQU0sR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxNQUFNLElBQUksTUFBTTtZQUMvQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVuQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUV4RixJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFnQyxDQUFDLENBQUM7U0FDM0Q7UUFFRCxJQUFJLFFBQVEsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7MEdBckZVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGFkZEl0ZW0sIGFueSwgZmlyc3RPckRlZmF1bHQsIGhhc09iamVjdEl0ZW0sIGlzRGVmaW5lZCwgbmFtZW9mLCByZW1vdmVJdGVtQnksIHVwZGF0ZUl0ZW1CeSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgTG9hZGVyQ29uc3RhbnRzIH0gZnJvbSAnLi4vbG9hZGVyLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IElMb2FkZXJFdmVudCB9IGZyb20gJy4uL2xvYWRlci5ldmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2FkZXJTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBsb2FkZXJTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8SUxvYWRlckV2ZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJTG9hZGVyRXZlbnRbXT4oW10pO1xyXG5cclxuICBwcml2YXRlIGxvYWRlcnMkOiBPYnNlcnZhYmxlPElMb2FkZXJFdmVudFtdPiA9IHRoaXMubG9hZGVyU3ViamVjdFxyXG4gICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAucGlwZShcclxuICAgICAgZmlsdGVyPElMb2FkZXJFdmVudFtdPihsb2FkZXJzID0+IGFueShsb2FkZXJzKSksXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgICk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgbG9hZGVyIGJ5IElkXHJcbiAgICogQHBhcmFtIGlkIExvYWRlciBJZFxyXG4gICAqIEBwYXJhbSByZWdpc3RlciBJZiB0cnVlIHJlZ2lzdGVyIGxvYWRlciBhbmQgc2hvdyBpdFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93KGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRCwgcmVnaXN0ZXI6IGJvb2xlYW4gPSBmYWxzZSlcclxuICAgIDogT2JzZXJ2YWJsZTxJTG9hZGVyRXZlbnQ+IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRMb2FkZXJTdGF0dXMoaWQsIHRydWUsIHJlZ2lzdGVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhpZGUgbG9hZGVyXHJcbiAgICogQHBhcmFtIGlkIExvYWRlciBJZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBoaWRlKGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRMb2FkZXJTdGF0dXMoaWQsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdGVyIGxvYWRlciBmb3IgbmV4dCB1c2VcclxuICAgKiBAcGFyYW0gZXZlbnQgTG9hZGVyIGV2ZW50XHJcbiAgICogQHJldHVybnMgUmVnaXN0cmVkIGxvYWRlIG9ic2VydmFibGVcclxuICAgKi9cclxuICBwdWJsaWMgcmVnaXN0ZXIoZXZlbnQ6IElMb2FkZXJFdmVudCk6IE9ic2VydmFibGU8SUxvYWRlckV2ZW50PiB7XHJcblxyXG4gICAgY29uc3QgbG9hZGVycyA9IHRoaXMubG9hZGVyU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cclxuICAgIGlmIChhZGRJdGVtKGxvYWRlcnMsIGV2ZW50LFxyXG4gICAgICAoKSA9PiBoYXNPYmplY3RJdGVtKGxvYWRlcnMsIG5hbWVvZjxJTG9hZGVyRXZlbnQ+KCdpZCcpLCBldmVudC5pZCkpKSB7XHJcbiAgICAgIHRoaXMubG9hZGVyU3ViamVjdC5uZXh0KGxvYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnNlbGVjdExvYWRlckJ5SWQoZXZlbnQuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGxvYWRlclxyXG4gICAqIEBwYXJhbSBpZCBMb2FkZXIgSWRcclxuICAgKi9cclxuICBwdWJsaWMgcmVtb3ZlKGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRCk6IHZvaWQge1xyXG4gICAgY29uc3QgbG9hZGVycyA9IHRoaXMubG9hZGVyU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cclxuICAgIGlmIChyZW1vdmVJdGVtQnkobG9hZGVycywgbG9hZGVyID0+IGxvYWRlci5pZCA9PSBpZCkpIHtcclxuICAgICAgdGhpcy5sb2FkZXJTdWJqZWN0Lm5leHQobG9hZGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdExvYWRlckJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SUxvYWRlckV2ZW50PiB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkZXJzJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAobG9hZGVycyA9PiBsb2FkZXJzLmZpbmQobG9hZGVyID0+IGxvYWRlci5pZCA9PSBpZCkgYXMgSUxvYWRlckV2ZW50KSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldExvYWRlclN0YXR1cyhpZDogc3RyaW5nLCBzdGF0dXM6IGJvb2xlYW4sIHJlZ2lzdGVyOiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPElMb2FkZXJFdmVudD4gfCBudWxsIHtcclxuICAgIGNvbnN0IGxvYWRlcnMgPSB0aGlzLmxvYWRlclN1YmplY3QuZ2V0VmFsdWUoKSxcclxuICAgICAgSUxvYWRlckV2ZW50OiBJTG9hZGVyRXZlbnQgPSB7IGlkLCBzdGF0dXMgfSxcclxuICAgICAgbG9hZGVyID0gZmlyc3RPckRlZmF1bHQobG9hZGVycywgKGxvYWRlcikgPT4gbG9hZGVyLmlkID09IGlkKTtcclxuXHJcbiAgICBpZiAoaXNEZWZpbmVkKGxvYWRlcikgJiYgbG9hZGVyPy5zdGF0dXMgPT0gc3RhdHVzKVxyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RMb2FkZXJCeUlkKGlkKTtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVkTG9hZGVycyA9IHVwZGF0ZUl0ZW1CeShsb2FkZXJzLCAobG9hZGVyKSA9PiBsb2FkZXIuaWQgPT0gaWQsIElMb2FkZXJFdmVudCk7XHJcblxyXG4gICAgaWYgKGlzRGVmaW5lZCh1cGRhdGVkTG9hZGVycykpIHtcclxuICAgICAgdGhpcy5sb2FkZXJTdWJqZWN0Lm5leHQodXBkYXRlZExvYWRlcnMgYXMgSUxvYWRlckV2ZW50W10pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChyZWdpc3Rlcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZWdpc3RlcihJTG9hZGVyRXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
|