ngx-sfc-common 0.0.3 → 0.0.5
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 +5 -5
- package/_ngx-sfc-common.styles.scss +26 -0
- package/esm2020/lib/components/button/button.component.mjs +9 -7
- package/esm2020/lib/components/checkmark/checkmark-type.enum.mjs +6 -0
- package/esm2020/lib/components/checkmark/checkmark.component.mjs +24 -9
- package/esm2020/lib/components/close/close.component.mjs +8 -3
- package/esm2020/lib/components/delimeter/delimeter.component.mjs +2 -2
- package/esm2020/lib/components/dots/dots.component.mjs +2 -2
- package/esm2020/lib/components/hamburger/hamburger.component.mjs +2 -2
- package/esm2020/lib/components/index.mjs +7 -2
- package/esm2020/lib/components/load-container/load-container.component.mjs +161 -0
- package/esm2020/lib/components/load-container/load-container.constants.mjs +5 -0
- package/esm2020/lib/components/load-container/load-container.enum.mjs +6 -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.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 +2 -2
- package/esm2020/lib/components/loader/circle/circle-loader.component.mjs +2 -2
- package/esm2020/lib/components/loader/service/loader.service.mjs +4 -4
- package/esm2020/lib/components/modal/directive/click/modal-open-on-click.directive.mjs +48 -0
- package/esm2020/lib/components/modal/directive/open/modal-open.directive.mjs +29 -0
- package/esm2020/lib/components/modal/footer/default/default-modal-footer.component.mjs +1 -1
- package/esm2020/lib/components/modal/header/default/default-modal-header.component.mjs +11 -6
- package/esm2020/lib/components/modal/header/default/default-modal-header.model.mjs +1 -1
- package/esm2020/lib/components/modal/modal.component.mjs +3 -3
- package/esm2020/lib/components/modal/service/modal.service.mjs +1 -1
- package/esm2020/lib/components/pagination/pagination.component.mjs +9 -5
- package/esm2020/lib/components/sorting/sorting.component.mjs +5 -4
- package/esm2020/lib/components/sorting/sorting.constants.mjs +4 -3
- package/esm2020/lib/components/sorting/sorting.model.mjs +1 -1
- package/esm2020/lib/components/toggle-switcher/toggle-switcher.component.mjs +11 -4
- package/esm2020/lib/components/toggle-switcher/toggle-switcher.model.mjs +1 -1
- package/esm2020/lib/constants/common.constants.mjs +2 -1
- package/esm2020/lib/constants/date-time.constants.mjs +3 -1
- package/esm2020/lib/constants/file.constants.mjs +2 -0
- package/esm2020/lib/constants/index.mjs +1 -1
- package/esm2020/lib/directives/component-size/component-size.directive.mjs +23 -10
- package/esm2020/lib/directives/dom-changes/dom-changes.directive.mjs +32 -0
- package/esm2020/lib/directives/index.mjs +4 -1
- package/esm2020/lib/directives/scroll-into-view/scroll-into-view.directive.mjs +29 -0
- package/esm2020/lib/directives/scroll-tracker/scroll-tracker.directive.mjs +39 -0
- package/esm2020/lib/enums/index.mjs +2 -1
- package/esm2020/lib/enums/sequence.enum.mjs +9 -0
- package/esm2020/lib/enums/sorting-direction.enum.mjs +1 -1
- package/esm2020/lib/enums/ui.enum.mjs +4 -1
- package/esm2020/lib/ngx-sfc-common.module.mjs +47 -10
- 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/utils/collections.utils.mjs +30 -3
- package/esm2020/lib/utils/common.utils.mjs +9 -2
- package/esm2020/lib/utils/date-time.utils.mjs +57 -10
- package/esm2020/lib/utils/file.utils.mjs +4 -3
- package/esm2020/lib/utils/index.mjs +5 -5
- package/esm2020/lib/utils/ui.utils.mjs +9 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ngx-sfc-common.mjs +599 -78
- package/fesm2015/ngx-sfc-common.mjs.map +1 -1
- package/fesm2020/ngx-sfc-common.mjs +598 -78
- package/fesm2020/ngx-sfc-common.mjs.map +1 -1
- package/lib/components/button/button.component.d.ts +3 -2
- package/lib/components/checkmark/checkmark-type.enum.d.ts +4 -0
- package/lib/components/checkmark/checkmark.component.d.ts +7 -3
- package/lib/components/close/close.component.d.ts +1 -0
- package/lib/components/index.d.ts +11 -1
- package/lib/components/load-container/load-container.component.d.ts +49 -0
- package/lib/components/load-container/load-container.constants.d.ts +4 -0
- package/lib/components/load-container/load-container.enum.d.ts +4 -0
- package/lib/components/load-container/models/load-container.model.d.ts +11 -0
- package/lib/components/load-container/models/load-more-parameters.model.d.ts +4 -0
- package/lib/components/load-container/models/load-more.model.d.ts +4 -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/modal/directive/{modal-open-on-click.directive.d.ts → click/modal-open-on-click.directive.d.ts} +1 -1
- package/lib/components/modal/directive/open/modal-open.directive.d.ts +14 -0
- package/lib/components/modal/header/default/default-modal-header.component.d.ts +2 -0
- package/lib/components/modal/header/default/default-modal-header.model.d.ts +2 -1
- package/lib/components/modal/service/modal.service.d.ts +1 -1
- package/lib/components/pagination/pagination.component.d.ts +2 -0
- package/lib/components/sorting/sorting.component.d.ts +2 -1
- package/lib/components/sorting/sorting.constants.d.ts +2 -2
- package/lib/components/sorting/sorting.model.d.ts +2 -1
- package/lib/components/toggle-switcher/toggle-switcher.component.d.ts +2 -1
- package/lib/components/toggle-switcher/toggle-switcher.model.d.ts +2 -1
- package/lib/constants/common.constants.d.ts +1 -0
- package/lib/constants/date-time.constants.d.ts +2 -0
- package/lib/constants/file.constants.d.ts +1 -0
- package/lib/constants/index.d.ts +1 -0
- package/lib/directives/component-size/component-size.directive.d.ts +7 -2
- package/lib/directives/dom-changes/dom-changes.directive.d.ts +12 -0
- package/lib/directives/index.d.ts +3 -0
- package/lib/directives/scroll-into-view/scroll-into-view.directive.d.ts +7 -0
- package/lib/directives/scroll-tracker/scroll-tracker.directive.d.ts +11 -0
- package/lib/enums/index.d.ts +1 -0
- package/lib/enums/sequence.enum.d.ts +7 -0
- package/lib/enums/ui.enum.d.ts +4 -1
- package/lib/ngx-sfc-common.module.d.ts +28 -20
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/switch-multi-case/switch-multi-case.pipe.d.ts +7 -0
- package/lib/utils/collections.utils.d.ts +16 -2
- package/lib/utils/common.utils.d.ts +5 -0
- package/lib/utils/date-time.utils.d.ts +26 -0
- package/lib/utils/index.d.ts +4 -4
- package/lib/utils/ui.utils.d.ts +6 -0
- package/package.json +5 -2
- package/public-api.d.ts +1 -0
- package/esm2020/lib/components/modal/directive/modal-open-on-click.directive.mjs +0 -50
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { map, tap, switchMap, startWith, EMPTY, withLatestFrom, of } 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 { 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 "../loader/bounce/bounce-loader.component";
|
|
12
|
+
import * as i4 from "../load-more-button/load-more-button.component";
|
|
13
|
+
import * as i5 from "../../directives/component-size/component-size.directive";
|
|
14
|
+
import * as i6 from "../../directives/scroll-into-view/scroll-into-view.directive";
|
|
15
|
+
import * as i7 from "../../directives/scroll-tracker/scroll-tracker.directive";
|
|
16
|
+
import * as i8 from "../../directives/mouse-down/mouse-down.directive";
|
|
17
|
+
import * as i9 from "@angular/common";
|
|
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.size = LoadContainerConstants.DEFAULT_PAGE_SIZE;
|
|
27
|
+
this.loadMore = true;
|
|
28
|
+
this.showEmpty = true;
|
|
29
|
+
this.showLoadMoreButton = true;
|
|
30
|
+
this.notFoundLabel = LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL;
|
|
31
|
+
this.handleError = new EventEmitter();
|
|
32
|
+
this.handleSuccess = new EventEmitter();
|
|
33
|
+
this.handleLoading = new EventEmitter();
|
|
34
|
+
this.next = false;
|
|
35
|
+
this.empty = false;
|
|
36
|
+
this._loading = false;
|
|
37
|
+
}
|
|
38
|
+
set model(model) {
|
|
39
|
+
if (isDefined(model)) {
|
|
40
|
+
const parameters$ = this.buildParameters(model.predicate$), data$ = isDefined(model.loader) ?
|
|
41
|
+
this.buildDynamic(parameters$, model.loader) : this.buildStatic(parameters$, model);
|
|
42
|
+
if (isDefined(this._subscription))
|
|
43
|
+
this._subscription.unsubscribe();
|
|
44
|
+
this._subscription = data$.subscribe({
|
|
45
|
+
next: (result) => this.success(result),
|
|
46
|
+
error: (error) => this.error(error)
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
get scrollPosition() {
|
|
51
|
+
return !this.allowLoadMore || this.showLoadMoreButton ? [] : [Position.Bottom];
|
|
52
|
+
}
|
|
53
|
+
get allowLoadMore() { return this.next && this.loadMore; }
|
|
54
|
+
get hideLoadMoreButton() { return !(this.allowLoadMore && this.showLoadMoreButton); }
|
|
55
|
+
get isEmpty() { return this.empty && this.showEmpty; }
|
|
56
|
+
set loading(value) {
|
|
57
|
+
this._loading = value;
|
|
58
|
+
if (value)
|
|
59
|
+
this.loaderService.show(this.id, true);
|
|
60
|
+
else
|
|
61
|
+
this.loaderService.hide(this.id);
|
|
62
|
+
this.handleLoading.emit(value);
|
|
63
|
+
}
|
|
64
|
+
ngOnDestroy() {
|
|
65
|
+
if (this._subscription)
|
|
66
|
+
this._subscription.unsubscribe();
|
|
67
|
+
}
|
|
68
|
+
more(event) {
|
|
69
|
+
event.preventDefault();
|
|
70
|
+
this.loadMoreService.more();
|
|
71
|
+
}
|
|
72
|
+
onScroll() {
|
|
73
|
+
if (this.allowLoadMore)
|
|
74
|
+
this.loadMoreService.more();
|
|
75
|
+
}
|
|
76
|
+
success(result) {
|
|
77
|
+
this.next = result.next;
|
|
78
|
+
this.loading = false;
|
|
79
|
+
this.empty = !any(result.items);
|
|
80
|
+
this.handleSuccess.emit(result);
|
|
81
|
+
}
|
|
82
|
+
error(error) {
|
|
83
|
+
this.loading = false;
|
|
84
|
+
this.empty = false;
|
|
85
|
+
this.handleError.emit(error);
|
|
86
|
+
}
|
|
87
|
+
buildParameters(predicate$) {
|
|
88
|
+
const parameters$ = (predicate$ || EMPTY.pipe(startWith(null))).pipe(tap(() => {
|
|
89
|
+
if (isDefined(this.contentEl))
|
|
90
|
+
this.contentEl.nativeElement.scrollTop = 0;
|
|
91
|
+
this.loadMoreService.reset();
|
|
92
|
+
}), switchMap((value) => {
|
|
93
|
+
return this.loadMoreService.more$.pipe(startWith(this.loadMoreService.START_PAGE), tap(() => this.loading = true), map((page) => {
|
|
94
|
+
return { params: value, page: page };
|
|
95
|
+
}));
|
|
96
|
+
}));
|
|
97
|
+
return parameters$;
|
|
98
|
+
}
|
|
99
|
+
buildDynamic(parameters$, loader) {
|
|
100
|
+
return parameters$.pipe(switchMap((parameters) => loader(parameters)));
|
|
101
|
+
}
|
|
102
|
+
buildStatic(parameters$, model) {
|
|
103
|
+
return parameters$.pipe(withLatestFrom(model.data$ || of([])), map(([parameters, items]) => {
|
|
104
|
+
const filtered = model.filter ? model.filter(items, parameters) : items, data = filtered ? {
|
|
105
|
+
items: skip(filtered, parameters.page, this.size),
|
|
106
|
+
next: parameters.page < Math.ceil(filtered.length / this.size)
|
|
107
|
+
} : { items: [], next: false };
|
|
108
|
+
return data;
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
LoadContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadContainerComponent, deps: [{ token: i1.LoaderService }, { token: i2.LoadMoreService }], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
+
LoadContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: LoadContainerComponent, selector: "sfc-load-container", inputs: { id: "id", type: "type", open: "open", size: "size", 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;background:#fff}:host .container .content{cursor:initial;overflow-y:auto;height:inherit}:host .container .content sfc-load-more-button ::ng-deep sfc-delimeter{background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 17%,rgba(0,0,0,.3) 83%,rgba(0,0,0,0) 100%)}: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:rgba(0,0,0,.1)}: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"], components: [{ type: i3.BounceLoaderComponent, selector: "sfc-bounce-loader" }, { type: i4.LoadMoreButtonComponent, selector: "sfc-load-more-button", inputs: ["label", "icon"], outputs: ["more"] }], directives: [{ type: i5.ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }, { type: i6.ScrollIntoViewDirective, selector: "[sfcScrollIntoView]", inputs: ["sfcScrollIntoView", "options"] }, { type: i7.ScrollTrackerDirective, selector: "[sfcScrollTracker]", inputs: ["positions"], outputs: ["sfcScrollTracker"] }, { type: i8.MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadContainerComponent, decorators: [{
|
|
115
|
+
type: Component,
|
|
116
|
+
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;background:#fff}:host .container .content{cursor:initial;overflow-y:auto;height:inherit}:host .container .content sfc-load-more-button ::ng-deep sfc-delimeter{background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 17%,rgba(0,0,0,.3) 83%,rgba(0,0,0,0) 100%)}: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:rgba(0,0,0,.1)}: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"] }]
|
|
117
|
+
}], ctorParameters: function () { return [{ type: i1.LoaderService }, { type: i2.LoadMoreService }]; }, propDecorators: { id: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], type: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}, {
|
|
122
|
+
type: HostBinding,
|
|
123
|
+
args: ['class']
|
|
124
|
+
}], open: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}, {
|
|
127
|
+
type: HostBinding,
|
|
128
|
+
args: [`class.${UIClass.Open}`]
|
|
129
|
+
}], size: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], loadMore: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], showEmpty: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], showLoadMoreButton: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], loadMoreLabel: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], notFoundLabel: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], model: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], scrollTarget: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], handleError: [{
|
|
146
|
+
type: Output
|
|
147
|
+
}], handleSuccess: [{
|
|
148
|
+
type: Output
|
|
149
|
+
}], handleLoading: [{
|
|
150
|
+
type: Output
|
|
151
|
+
}], contentEl: [{
|
|
152
|
+
type: ViewChild,
|
|
153
|
+
args: ['content']
|
|
154
|
+
}], isEmpty: [{
|
|
155
|
+
type: HostBinding,
|
|
156
|
+
args: [`class.${UIClass.Empty}`]
|
|
157
|
+
}], _loading: [{
|
|
158
|
+
type: HostBinding,
|
|
159
|
+
args: [`class.${UIClass.Loading}`]
|
|
160
|
+
}] } });
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL2xvYWQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLWNvbnRhaW5lci9sb2FkLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWdCLGNBQWMsRUFBRSxFQUFFLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0csT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBUXBFLE1BQU0sT0FBTyxzQkFBc0I7SUFpR2pDLFlBQW9CLGFBQTRCLEVBQVUsZUFBZ0M7UUFBdEUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUEvRjFGLGtCQUFhLEdBQUcsYUFB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aW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXAsIHRhcCwgc3dpdGNoTWFwLCBzdGFydFdpdGgsIEVNUFRZLCBTdWJzY3JpcHRpb24sIHdpdGhMYXRlc3RGcm9tLCBvZiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRTaXplLCBQb3NpdGlvbiwgVUlDbGFzcyB9IGZyb20gJy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgSUxvYWRNb3JlTW9kZWwgfSBmcm9tICcuL21vZGVscy9sb2FkLW1vcmUubW9kZWwnO1xyXG5pbXBvcnQgeyBhbnksIGlzRGVmaW5lZCwgc2tpcCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gJy4uL2xvYWRlci9zZXJ2aWNlL2xvYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9hZE1vcmVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2xvYWQtbW9yZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUxvYWRNb3JlUGFyYW1ldGVycyB9IGZyb20gJy4vbW9kZWxzL2xvYWQtbW9yZS1wYXJhbWV0ZXJzLm1vZGVsJztcclxuaW1wb3J0IHsgSUxvYWRDb250YWluZXJNb2RlbCwgTG9hZGVyRnVuY3Rpb24gfSBmcm9tICcuL21vZGVscy9sb2FkLWNvbnRhaW5lci5tb2RlbCc7XHJcbmltcG9ydCB7IExvYWRDb250YWluZXJUeXBlIH0gZnJvbSAnLi9sb2FkLWNvbnRhaW5lci5lbnVtJztcclxuaW1wb3J0IHsgTG9hZENvbnRhaW5lckNvbnN0YW50cyB9IGZyb20gJy4vbG9hZC1jb250YWluZXIuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWxvYWQtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvYWQtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbTG9hZE1vcmVTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplO1xyXG4gIFBvc2l0aW9uID0gUG9zaXRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWQhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgdHlwZTogTG9hZENvbnRhaW5lclR5cGUgPSBMb2FkQ29udGFpbmVyVHlwZS5Ecm9wZG93bjtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7VUlDbGFzcy5PcGVufWApXHJcbiAgb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6IG51bWJlciA9IExvYWRDb250YWluZXJDb25zdGFudHMuREVGQVVMVF9QQUdFX1NJWkU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZE1vcmU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dFbXB0eTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0xvYWRNb3JlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBsb2FkTW9yZUxhYmVsITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG5vdEZvdW5kTGFiZWw6IHN0cmluZyA9IExvYWRDb250YWluZXJDb25zdGFudHMuREVGQVVMVF9OT1RfRk9VTkRfTEFCRUw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG1vZGVsKG1vZGVsOiBJTG9hZENvbnRhaW5lck1vZGVsKSB7XHJcbiAgICBpZiAoaXNEZWZpbmVkKG1vZGVsKSkge1xyXG4gICAgICBjb25zdCBwYXJhbWV0ZXJzJCA9IHRoaXMuYnVpbGRQYXJhbWV0ZXJzKG1vZGVsLnByZWRpY2F0ZSQpLFxyXG4gICAgICAgIGRhdGEkOiBPYnNlcnZhYmxlPElMb2FkTW9yZU1vZGVsPGFueT4+ID0gaXNEZWZpbmVkKG1vZGVsLmxvYWRlcikgP1xyXG4gICAgICAgICAgdGhpcy5idWlsZER5bmFtaWMocGFyYW1ldGVycyQsIG1vZGVsLmxvYWRlciBhcyBMb2FkZXJGdW5jdGlvbikgOiB0aGlzLmJ1aWxkU3RhdGljKHBhcmFtZXRlcnMkLCBtb2RlbCk7XHJcblxyXG4gICAgICBpZiAoaXNEZWZpbmVkKHRoaXMuX3N1YnNjcmlwdGlvbikpXHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSBkYXRhJC5zdWJzY3JpYmUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmV4dDogKHJlc3VsdDogSUxvYWRNb3JlTW9kZWw8YW55PikgPT4gdGhpcy5zdWNjZXNzKHJlc3VsdCksXHJcbiAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB0aGlzLmVycm9yKGVycm9yKVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2Nyb2xsVGFyZ2V0ITogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGhhbmRsZUVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBoYW5kbGVTdWNjZXNzOiBFdmVudEVtaXR0ZXI8SUxvYWRNb3JlTW9kZWw8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPElMb2FkTW9yZU1vZGVsPGFueT4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGhhbmRsZUxvYWRpbmc6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGVudCcpXHJcbiAgcHJpdmF0ZSBjb250ZW50RWwhOiBFbGVtZW50UmVmO1xyXG5cclxuICBwdWJsaWMgbmV4dDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZ2V0IHNjcm9sbFBvc2l0aW9uKCk6IFBvc2l0aW9uW10ge1xyXG4gICAgcmV0dXJuICF0aGlzLmFsbG93TG9hZE1vcmUgfHwgdGhpcy5zaG93TG9hZE1vcmVCdXR0b24gPyBbXSA6IFtQb3NpdGlvbi5Cb3R0b21dO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBhbGxvd0xvYWRNb3JlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5uZXh0ICYmIHRoaXMubG9hZE1vcmU7IH1cclxuXHJcbiAgcHVibGljIGdldCBoaWRlTG9hZE1vcmVCdXR0b24oKTogYm9vbGVhbiB7IHJldHVybiAhKHRoaXMuYWxsb3dMb2FkTW9yZSAmJiB0aGlzLnNob3dMb2FkTW9yZUJ1dHRvbik7IH1cclxuXHJcbiAgcHVibGljIGVtcHR5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtVSUNsYXNzLkVtcHR5fWApXHJcbiAgcHVibGljIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbXB0eSAmJiB0aGlzLnNob3dFbXB0eTsgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7VUlDbGFzcy5Mb2FkaW5nfWApXHJcbiAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2xvYWRpbmcgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSlcclxuICAgICAgdGhpcy5sb2FkZXJTZXJ2aWNlLnNob3codGhpcy5pZCwgdHJ1ZSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMubG9hZGVyU2VydmljZS5oaWRlKHRoaXMuaWQpO1xyXG5cclxuICAgIHRoaXMuaGFuZGxlTG9hZGluZy5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlLCBwcml2YXRlIGxvYWRNb3JlU2VydmljZTogTG9hZE1vcmVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKVxyXG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtb3JlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5sb2FkTW9yZVNlcnZpY2UubW9yZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWxsb3dMb2FkTW9yZSlcclxuICAgICAgdGhpcy5sb2FkTW9yZVNlcnZpY2UubW9yZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWNjZXNzKHJlc3VsdDogSUxvYWRNb3JlTW9kZWw8YW55Pik6IHZvaWQge1xyXG4gICAgdGhpcy5uZXh0ID0gcmVzdWx0Lm5leHQ7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuZW1wdHkgPSAhYW55KHJlc3VsdC5pdGVtcyk7XHJcbiAgICB0aGlzLmhhbmRsZVN1Y2Nlc3MuZW1pdChyZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlcnJvcihlcnJvcjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuZW1wdHkgPSBmYWxzZTtcclxuICAgIHRoaXMuaGFuZGxlRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkUGFyYW1ldGVycyhwcmVkaWNhdGUkOiBPYnNlcnZhYmxlPGFueT4gfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPElMb2FkTW9yZVBhcmFtZXRlcnM+IHtcclxuICAgIGNvbnN0IHBhcmFtZXRlcnMkID0gKHByZWRpY2F0ZSQgfHwgRU1QVFkucGlwZShzdGFydFdpdGgobnVsbCkpKS5waXBlKFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIGlmIChpc0RlZmluZWQodGhpcy5jb250ZW50RWwpKVxyXG4gICAgICAgICAgdGhpcy5jb250ZW50RWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSAwO1xyXG4gICAgICAgIHRoaXMubG9hZE1vcmVTZXJ2aWNlLnJlc2V0KCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkTW9yZVNlcnZpY2UubW9yZSQucGlwZShcclxuICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLmxvYWRNb3JlU2VydmljZS5TVEFSVF9QQUdFKSxcclxuICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmxvYWRpbmcgPSB0cnVlKSxcclxuICAgICAgICAgIG1hcCgocGFnZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IHBhcmFtczogdmFsdWUsIHBhZ2U6IHBhZ2UgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiBwYXJhbWV0ZXJzJDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGREeW5hbWljKHBhcmFtZXRlcnMkOiBPYnNlcnZhYmxlPElMb2FkTW9yZVBhcmFtZXRlcnM+LCBsb2FkZXI6IExvYWRlckZ1bmN0aW9uKTogT2JzZXJ2YWJsZTxJTG9hZE1vcmVNb2RlbDxhbnk+PiB7XHJcbiAgICByZXR1cm4gcGFyYW1ldGVycyQucGlwZShcclxuICAgICAgc3dpdGNoTWFwKChwYXJhbWV0ZXJzOiBJTG9hZE1vcmVQYXJhbWV0ZXJzKSA9PiBsb2FkZXIocGFyYW1ldGVycykpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFN0YXRpYyhwYXJhbWV0ZXJzJDogT2JzZXJ2YWJsZTxJTG9hZE1vcmVQYXJhbWV0ZXJzPiwgbW9kZWw6IElMb2FkQ29udGFpbmVyTW9kZWwpOiBPYnNlcnZhYmxlPElMb2FkTW9yZU1vZGVsPGFueT4+IHtcclxuICAgIHJldHVybiBwYXJhbWV0ZXJzJC5waXBlKFxyXG4gICAgICB3aXRoTGF0ZXN0RnJvbShtb2RlbC5kYXRhJCB8fCBvZihbXSkpLFxyXG4gICAgICBtYXAoKFtwYXJhbWV0ZXJzLCBpdGVtc10pID0+IHtcclxuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IG1vZGVsLmZpbHRlciA/IG1vZGVsLmZpbHRlcihpdGVtcywgcGFyYW1ldGVycykgOiBpdGVtcyxcclxuICAgICAgICAgIGRhdGE6IElMb2FkTW9yZU1vZGVsPGFueT4gPSBmaWx0ZXJlZCA/IHtcclxuICAgICAgICAgICAgaXRlbXM6IHNraXAoZmlsdGVyZWQsIHBhcmFtZXRlcnMucGFnZSwgdGhpcy5zaXplKSxcclxuICAgICAgICAgICAgbmV4dDogcGFyYW1ldGVycy5wYWdlIDwgTWF0aC5jZWlsKGZpbHRlcmVkLmxlbmd0aCAvIHRoaXMuc2l6ZSlcclxuICAgICAgICAgIH0gOiB7IGl0ZW1zOiBbXSwgbmV4dDogZmFsc2UgfTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSkpO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgIDxzZmMtYm91bmNlLWxvYWRlciBbaWRdPVwiaWRcIiBbc2ZjQ29tcG9uZW50U2l6ZV09XCJDb21wb25lbnRTaXplLlNtYWxsXCI+PC9zZmMtYm91bmNlLWxvYWRlcj5cclxuICAgIDxkaXYgI2NvbnRlbnQgY2xhc3M9XCJjb250ZW50XCIgW3NmY1Njcm9sbEludG9WaWV3XT1cInNjcm9sbFRhcmdldFwiIChzZmNTY3JvbGxUcmFja2VyKT1cIm9uU2Nyb2xsKClcIiBbcG9zaXRpb25zXT1cInNjcm9sbFBvc2l0aW9uXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxkaXYgKHNmY01vdXNlRG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiPlxyXG4gICAgICAgICAgICA8c2ZjLWxvYWQtbW9yZS1idXR0b24gW2hpZGRlbl09XCJoaWRlTG9hZE1vcmVCdXR0b25cIiAobW9yZSk9XCJtb3JlKCRldmVudClcIiBbbGFiZWxdPVwibG9hZE1vcmVMYWJlbFwiPlxyXG4gICAgICAgICAgICA8L3NmYy1sb2FkLW1vcmUtYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNFbXB0eVwiIGNsYXNzPVwiZW1wdHlcIj57e25vdEZvdW5kTGFiZWx9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -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,6 @@
|
|
|
1
|
+
export var LoadContainerType;
|
|
2
|
+
(function (LoadContainerType) {
|
|
3
|
+
LoadContainerType["Dropdown"] = "dropdown";
|
|
4
|
+
LoadContainerType["Table"] = "table";
|
|
5
|
+
})(LoadContainerType || (LoadContainerType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLWNvbnRhaW5lci9sb2FkLWNvbnRhaW5lci5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsMENBQXFCLENBQUE7SUFDckIsb0NBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIExvYWRDb250YWluZXJUeXBlIHtcclxuICAgIERyb3Bkb3duID0gJ2Ryb3Bkb3duJyxcclxuICAgIFRhYmxlID0gJ3RhYmxlJ1xyXG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1jb250YWluZXIvbW9kZWxzL2xvYWQtY29udGFpbmVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSUxvYWRNb3JlTW9kZWwgfSBmcm9tIFwiLi9sb2FkLW1vcmUubW9kZWxcIjtcclxuaW1wb3J0IHsgSUxvYWRNb3JlUGFyYW1ldGVycyB9IGZyb20gXCIuL2xvYWQtbW9yZS1wYXJhbWV0ZXJzLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgdHlwZSBMb2FkZXJGdW5jdGlvbiA9IChwYXJhbWV0ZXJzOiBJTG9hZE1vcmVQYXJhbWV0ZXJzKSA9PiBPYnNlcnZhYmxlPElMb2FkTW9yZU1vZGVsPGFueT4+O1xyXG5leHBvcnQgdHlwZSBGaWx0ZXJGdW5jdGlvbiA9IChkYXRhOiBhbnlbXSwgcGFyYW1ldGVyczogSUxvYWRNb3JlUGFyYW1ldGVycykgPT4gYW55W107XHJcbmV4cG9ydCBpbnRlcmZhY2UgSUxvYWRDb250YWluZXJNb2RlbCB7XHJcbiAgICBwcmVkaWNhdGUkPzogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgZGF0YSQ/OiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICAgIGxvYWRlcj86IExvYWRlckZ1bmN0aW9uO1xyXG4gICAgZmlsdGVyPzogRmlsdGVyRnVuY3Rpb247XHJcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLXBhcmFtZXRlcnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1jb250YWluZXIvbW9kZWxzL2xvYWQtbW9yZS1wYXJhbWV0ZXJzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElMb2FkTW9yZVBhcmFtZXRlcnMge1xyXG4gICAgcGFyYW1zOiBhbnksXHJcbiAgICBwYWdlOiBudW1iZXJcclxufSJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL21vZGVscy9sb2FkLW1vcmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUxvYWRNb3JlTW9kZWw8VD4ge1xyXG4gICAgbmV4dDogYm9vbGVhbjtcclxuICAgIGl0ZW1zOiBUW107XHJcbn0iXX0=
|
|
@@ -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.START_PAGE = 1;
|
|
7
|
+
this._page = this.START_PAGE;
|
|
8
|
+
this.moreSubject = new Subject();
|
|
9
|
+
this.more$ = this.moreSubject.asObservable();
|
|
10
|
+
}
|
|
11
|
+
more() {
|
|
12
|
+
this._page++;
|
|
13
|
+
this.moreSubject.next(this._page);
|
|
14
|
+
}
|
|
15
|
+
reset() {
|
|
16
|
+
this._page = this.START_PAGE;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
LoadMoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
+
LoadMoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreService, providedIn: 'root' });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreService, decorators: [{
|
|
22
|
+
type: Injectable,
|
|
23
|
+
args: [{
|
|
24
|
+
providedIn: 'root'
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1jb250YWluZXIvc2VydmljZS9sb2FkLW1vcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxlQUFlO0lBSDVCO1FBS29CLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFL0IsVUFBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFeEIsZ0JBQVcsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUV0RCxVQUFLLEdBQXVCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7S0FVdEU7SUFSRyxJQUFJO1FBQ0EsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ2pDLENBQUM7OzRHQWpCUSxlQUFlO2dIQUFmLGVBQWUsY0FGWixNQUFNOzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRNb3JlU2VydmljZSB7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IFNUQVJUX1BBR0U6IG51bWJlciA9IDE7XHJcblxyXG4gICAgcHJpdmF0ZSBfcGFnZSA9IHRoaXMuU1RBUlRfUEFHRTtcclxuXHJcbiAgICBwcml2YXRlIG1vcmVTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcblxyXG4gICAgcHVibGljIG1vcmUkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLm1vcmVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIG1vcmUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcGFnZSsrO1xyXG4gICAgICAgIHRoaXMubW9yZVN1YmplY3QubmV4dCh0aGlzLl9wYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXNldCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wYWdlID0gdGhpcy5TVEFSVF9QQUdFO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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 "../delimeter/delimeter.component";
|
|
6
|
+
import * as i2 from "@fortawesome/angular-fontawesome";
|
|
7
|
+
import * as i3 from "../../directives/mouse-down/mouse-down.directive";
|
|
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: "13.2.7", ngImport: i0, type: LoadMoreButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
LoadMoreButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", 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}:host .container .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;cursor:pointer;color:#545e61;transition:color .5s;padding:.5em 0 1em}: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:#2bbbad}\n"], components: [{ type: i1.DelimeterComponent, selector: "sfc-delimeter" }, { type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i3.MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", 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}:host .container .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;cursor:pointer;color:#545e61;transition:color .5s;padding:.5em 0 1em}: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:#2bbbad}\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==
|
|
@@ -5,9 +5,9 @@ import * as i1 from "@angular/common";
|
|
|
5
5
|
export class BounceLoaderComponent extends LoaderBaseComponent {
|
|
6
6
|
}
|
|
7
7
|
BounceLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BounceLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
BounceLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", 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}
|
|
8
|
+
BounceLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", 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"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe } });
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BounceLoaderComponent, decorators: [{
|
|
10
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}
|
|
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
12
|
}] });
|
|
13
13
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmNlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL2JvdW5jZS9ib3VuY2UtbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvYm91bmNlL2JvdW5jZS1sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTy9ELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7O2tIQUFqRCxxQkFBcUI7c0dBQXJCLHFCQUFxQixnRkNSbEMsaVFBTU07MkZERU8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkZXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGVyLWJhc2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWJvdW5jZS1sb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ib3VuY2UtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vc3R5bGVzL2xvYWRlci1iYXNlLmNvbXBvbmVudC5zY3NzJywgJy4vYm91bmNlLWxvYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb3VuY2VMb2FkZXJDb21wb25lbnQgZXh0ZW5kcyBMb2FkZXJCYXNlQ29tcG9uZW50IHtcclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic2hvdyQgfCBhc3luY1wiIGNsYXNzPVwicHJlbG9hZGVyXCIgW25nQ2xhc3NdPVwicHJlTG9hZGVyQ2xhc3Nlc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNwaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm91bmNlXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvdW5jZVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3VuY2VcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -10,10 +10,10 @@ export class CircleLoaderComponent extends LoaderBaseComponent {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
CircleLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CircleLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
-
CircleLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", 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}
|
|
13
|
+
CircleLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", 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"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe } });
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CircleLoaderComponent, decorators: [{
|
|
15
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}
|
|
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
17
|
}], propDecorators: { type: [{
|
|
18
18
|
type: Input
|
|
19
19
|
}] } });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, distinctUntilChanged, filter, map } from 'rxjs';
|
|
3
|
-
import { addItem, any, firstOrDefault, hasObjectItem, isDefined, nameof,
|
|
3
|
+
import { addItem, any, firstOrDefault, hasObjectItem, isDefined, nameof, removeItemBy, updateItemBy } from '../../../utils';
|
|
4
4
|
import { LoaderConstants } from '../loader.constants';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class LoaderService {
|
|
@@ -43,7 +43,7 @@ export class LoaderService {
|
|
|
43
43
|
*/
|
|
44
44
|
remove(id = LoaderConstants.GLOBAL_LOADER_ID) {
|
|
45
45
|
const loaders = this.loaderSubject.getValue();
|
|
46
|
-
if (
|
|
46
|
+
if (removeItemBy(loaders, loader => loader.id == id)) {
|
|
47
47
|
this.loaderSubject.next(loaders);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -55,7 +55,7 @@ export class LoaderService {
|
|
|
55
55
|
const loaders = this.loaderSubject.getValue(), ILoaderEvent = { id, status }, loader = firstOrDefault(loaders, (loader) => loader.id == id);
|
|
56
56
|
if (isDefined(loader) && loader?.status == status)
|
|
57
57
|
return this.selectLoaderById(id);
|
|
58
|
-
const updatedLoaders =
|
|
58
|
+
const updatedLoaders = updateItemBy(loaders, (loader) => loader.id == id, ILoaderEvent);
|
|
59
59
|
if (isDefined(updatedLoaders)) {
|
|
60
60
|
this.loaderSubject.next(updatedLoaders);
|
|
61
61
|
}
|
|
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
73
73
|
providedIn: 'root'
|
|
74
74
|
}]
|
|
75
75
|
}] });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL3NlcnZpY2UvbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTXRELE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBS1Usa0JBQWEsR0FBb0MsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLGFBQVEsR0FBK0IsSUFBSSxDQUFDLGFBQWE7YUFDOUQsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUNILE1BQU0sQ0FBaUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDL0Msb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztLQTZFTDtJQTNFQzs7OztPQUlHO0lBQ0ksSUFBSSxDQUFDLEtBQWEsZUFBZSxDQUFDLGdCQUFnQixFQUFFLFdBQW9CLEtBQUs7UUFFbEYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLElBQUksQ0FBQyxLQUFhLGVBQWUsQ0FBQyxnQkFBZ0I7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsS0FBbUI7UUFFakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUN4QixHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBZSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNsQztRQUVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEtBQWEsZUFBZSxDQUFDLGdCQUFnQjtRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTlDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsRUFBVTtRQUNqQyxPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLElBQUksQ0FDSCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQWlCLENBQUMsRUFDdkUsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFTyxlQUFlLENBQUMsRUFBVSxFQUFFLE1BQWUsRUFBRSxXQUFvQixLQUFLO1FBQzVFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQzNDLFlBQVksR0FBaUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQzNDLE1BQU0sR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxNQUFNLElBQUksTUFBTTtZQUMvQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVuQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUV4RixJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFnQyxDQUFDLENBQUM7U0FDM0Q7UUFFRCxJQUFJLFFBQVEsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7MEdBckZVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGFkZEl0ZW0sIGFueSwgZmlyc3RPckRlZmF1bHQsIGhhc09iamVjdEl0ZW0sIGlzRGVmaW5lZCwgbmFtZW9mLCByZW1vdmVJdGVtQnksIHVwZGF0ZUl0ZW1CeSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgTG9hZGVyQ29uc3RhbnRzIH0gZnJvbSAnLi4vbG9hZGVyLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IElMb2FkZXJFdmVudCB9IGZyb20gJy4uL2xvYWRlci5ldmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2FkZXJTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBsb2FkZXJTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8SUxvYWRlckV2ZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJTG9hZGVyRXZlbnRbXT4oW10pO1xyXG5cclxuICBwcml2YXRlIGxvYWRlcnMkOiBPYnNlcnZhYmxlPElMb2FkZXJFdmVudFtdPiA9IHRoaXMubG9hZGVyU3ViamVjdFxyXG4gICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAucGlwZShcclxuICAgICAgZmlsdGVyPElMb2FkZXJFdmVudFtdPihsb2FkZXJzID0+IGFueShsb2FkZXJzKSksXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgICk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgbG9hZGVyIGJ5IElkXHJcbiAgICogQHBhcmFtIGlkIExvYWRlciBJZFxyXG4gICAqIEBwYXJhbSByZWdpc3RlciBJZiB0cnVlIHJlZ2lzdGVyIGxvYWRlciBhbmQgc2hvdyBpdFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93KGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRCwgcmVnaXN0ZXI6IGJvb2xlYW4gPSBmYWxzZSlcclxuICAgIDogT2JzZXJ2YWJsZTxJTG9hZGVyRXZlbnQ+IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRMb2FkZXJTdGF0dXMoaWQsIHRydWUsIHJlZ2lzdGVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhpZGUgbG9hZGVyXHJcbiAgICogQHBhcmFtIGlkIExvYWRlciBJZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBoaWRlKGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRMb2FkZXJTdGF0dXMoaWQsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdGVyIGxvYWRlciBmb3IgbmV4dCB1c2VcclxuICAgKiBAcGFyYW0gZXZlbnQgTG9hZGVyIGV2ZW50XHJcbiAgICogQHJldHVybnMgUmVnaXN0cmVkIGxvYWRlIG9ic2VydmFibGVcclxuICAgKi9cclxuICBwdWJsaWMgcmVnaXN0ZXIoZXZlbnQ6IElMb2FkZXJFdmVudCk6IE9ic2VydmFibGU8SUxvYWRlckV2ZW50PiB7XHJcblxyXG4gICAgY29uc3QgbG9hZGVycyA9IHRoaXMubG9hZGVyU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cclxuICAgIGlmIChhZGRJdGVtKGxvYWRlcnMsIGV2ZW50LFxyXG4gICAgICAoKSA9PiBoYXNPYmplY3RJdGVtKGxvYWRlcnMsIG5hbWVvZjxJTG9hZGVyRXZlbnQ+KCdpZCcpLCBldmVudC5pZCkpKSB7XHJcbiAgICAgIHRoaXMubG9hZGVyU3ViamVjdC5uZXh0KGxvYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnNlbGVjdExvYWRlckJ5SWQoZXZlbnQuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGxvYWRlclxyXG4gICAqIEBwYXJhbSBpZCBMb2FkZXIgSWRcclxuICAgKi9cclxuICBwdWJsaWMgcmVtb3ZlKGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRCk6IHZvaWQge1xyXG4gICAgY29uc3QgbG9hZGVycyA9IHRoaXMubG9hZGVyU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cclxuICAgIGlmIChyZW1vdmVJdGVtQnkobG9hZGVycywgbG9hZGVyID0+IGxvYWRlci5pZCA9PSBpZCkpIHtcclxuICAgICAgdGhpcy5sb2FkZXJTdWJqZWN0Lm5leHQobG9hZGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdExvYWRlckJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SUxvYWRlckV2ZW50PiB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkZXJzJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAobG9hZGVycyA9PiBsb2FkZXJzLmZpbmQobG9hZGVyID0+IGxvYWRlci5pZCA9PSBpZCkgYXMgSUxvYWRlckV2ZW50KSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldExvYWRlclN0YXR1cyhpZDogc3RyaW5nLCBzdGF0dXM6IGJvb2xlYW4sIHJlZ2lzdGVyOiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPElMb2FkZXJFdmVudD4gfCBudWxsIHtcclxuICAgIGNvbnN0IGxvYWRlcnMgPSB0aGlzLmxvYWRlclN1YmplY3QuZ2V0VmFsdWUoKSxcclxuICAgICAgSUxvYWRlckV2ZW50OiBJTG9hZGVyRXZlbnQgPSB7IGlkLCBzdGF0dXMgfSxcclxuICAgICAgbG9hZGVyID0gZmlyc3RPckRlZmF1bHQobG9hZGVycywgKGxvYWRlcikgPT4gbG9hZGVyLmlkID09IGlkKTtcclxuXHJcbiAgICBpZiAoaXNEZWZpbmVkKGxvYWRlcikgJiYgbG9hZGVyPy5zdGF0dXMgPT0gc3RhdHVzKVxyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RMb2FkZXJCeUlkKGlkKTtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVkTG9hZGVycyA9IHVwZGF0ZUl0ZW1CeShsb2FkZXJzLCAobG9hZGVyKSA9PiBsb2FkZXIuaWQgPT0gaWQsIElMb2FkZXJFdmVudCk7XHJcblxyXG4gICAgaWYgKGlzRGVmaW5lZCh1cGRhdGVkTG9hZGVycykpIHtcclxuICAgICAgdGhpcy5sb2FkZXJTdWJqZWN0Lm5leHQodXBkYXRlZExvYWRlcnMgYXMgSUxvYWRlckV2ZW50W10pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChyZWdpc3Rlcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZWdpc3RlcihJTG9hZGVyRXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { isDefined } from '../../../../utils/index';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../service/modal.service";
|
|
5
|
+
export class ModalOpenOnClickDirective {
|
|
6
|
+
constructor(templateRef, viewContainer, modalService) {
|
|
7
|
+
this.templateRef = templateRef;
|
|
8
|
+
this.viewContainer = viewContainer;
|
|
9
|
+
this.modalService = modalService;
|
|
10
|
+
this.clickHandler = ((event) => {
|
|
11
|
+
this.viewContainer.clear();
|
|
12
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
13
|
+
this.modalService.open(event.currentTarget);
|
|
14
|
+
}).bind(this);
|
|
15
|
+
this.elements = [];
|
|
16
|
+
}
|
|
17
|
+
set modalOpenOnClick(elements) {
|
|
18
|
+
if (!isDefined(elements))
|
|
19
|
+
return;
|
|
20
|
+
if (elements instanceof HTMLElement)
|
|
21
|
+
this.elements = [elements];
|
|
22
|
+
else
|
|
23
|
+
this.elements = elements;
|
|
24
|
+
this.elements.forEach(el => {
|
|
25
|
+
el.addEventListener('click', this.clickHandler);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this._closeSubscription = this.modalService.close$
|
|
30
|
+
.subscribe(() => this.viewContainer.clear());
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
this._closeSubscription?.unsubscribe();
|
|
34
|
+
this.elements.forEach(el => el.removeEventListener('click', this.clickHandler));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
ModalOpenOnClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalOpenOnClickDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
+
ModalOpenOnClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ModalOpenOnClickDirective, selector: "[sfcModalOpenOnClick]", inputs: { modalOpenOnClick: ["sfcModalOpenOnClick", "modalOpenOnClick"] }, ngImport: i0 });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalOpenOnClickDirective, decorators: [{
|
|
40
|
+
type: Directive,
|
|
41
|
+
args: [{
|
|
42
|
+
selector: '[sfcModalOpenOnClick]'
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.ModalService }]; }, propDecorators: { modalOpenOnClick: [{
|
|
45
|
+
type: Input,
|
|
46
|
+
args: ['sfcModalOpenOnClick']
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3Blbi1vbi1jbGljay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvZGlyZWN0aXZlL2NsaWNrL21vZGFsLW9wZW4tb24tY2xpY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvRCxNQUFNLGVBQWUsQ0FBQztBQUduRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUtwRCxNQUFNLE9BQU8seUJBQXlCO0lBMkJwQyxZQUNVLFdBQTZCLEVBQzdCLGFBQStCLEVBQy9CLFlBQTBCO1FBRjFCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFiNUIsaUJBQVksR0FBRyxDQUFDLENBQUMsS0FBaUIsRUFBUSxFQUFFO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVOLGFBQVEsR0FBa0IsRUFBRSxDQUFDO0lBUXJDLENBQUM7SUE3QkQsSUFDSSxnQkFBZ0IsQ0FBQyxRQUFxQztRQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN0QixPQUFPO1FBRVQsSUFBSSxRQUFRLFlBQVksV0FBVztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7O1lBRTNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRTNCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3pCLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQWtCRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTthQUMvQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDOztzSEF6Q1UseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQzs0SkFJSyxnQkFBZ0I7c0JBRG5CLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9pbmRleCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzZmNNb2RhbE9wZW5PbkNsaWNrXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsT3Blbk9uQ2xpY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgnc2ZjTW9kYWxPcGVuT25DbGljaycpXHJcbiAgc2V0IG1vZGFsT3Blbk9uQ2xpY2soZWxlbWVudHM6IEhUTUxFbGVtZW50IHwgSFRNTEVsZW1lbnRbXSkge1xyXG4gICAgaWYgKCFpc0RlZmluZWQoZWxlbWVudHMpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgaWYgKGVsZW1lbnRzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXHJcbiAgICAgIHRoaXMuZWxlbWVudHMgPSBbZWxlbWVudHNdO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmVsZW1lbnRzID0gZWxlbWVudHM7XHJcblxyXG4gICAgdGhpcy5lbGVtZW50cy5mb3JFYWNoKGVsID0+IHtcclxuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrSGFuZGxlcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xpY2tIYW5kbGVyID0gKChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihldmVudC5jdXJyZW50VGFyZ2V0KTtcclxuICB9KS5iaW5kKHRoaXMpO1xyXG5cclxuICBwcml2YXRlIGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Nsb3NlU3Vic2NyaXB0aW9uID0gdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2UkXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jbG9zZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuZWxlbWVudHMuZm9yRWFjaChlbCA9PiBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xpY2tIYW5kbGVyKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../service/modal.service";
|
|
4
|
+
export class ModalOpenDirective {
|
|
5
|
+
constructor(templateRef, viewContainer, modalService) {
|
|
6
|
+
this.templateRef = templateRef;
|
|
7
|
+
this.viewContainer = viewContainer;
|
|
8
|
+
this.modalService = modalService;
|
|
9
|
+
this._closeSubscription = this.modalService.close$.subscribe(() => this.viewContainer.clear());
|
|
10
|
+
this._openSubscription = this.modalService.open$
|
|
11
|
+
.subscribe(() => {
|
|
12
|
+
this.viewContainer.clear();
|
|
13
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
ngOnDestroy() {
|
|
17
|
+
this._closeSubscription.unsubscribe();
|
|
18
|
+
this._openSubscription.unsubscribe();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ModalOpenDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalOpenDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
22
|
+
ModalOpenDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ModalOpenDirective, selector: "[sfcModalOpen]", ngImport: i0 });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalOpenDirective, decorators: [{
|
|
24
|
+
type: Directive,
|
|
25
|
+
args: [{
|
|
26
|
+
selector: '[sfcModalOpen]'
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.ModalService }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3Blbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvZGlyZWN0aXZlL29wZW4vbW9kYWwtb3Blbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEMsTUFBTSxlQUFlLENBQUM7OztBQU9wRixNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQW9CLFdBQTZCLEVBQ3ZDLGFBQStCLEVBQy9CLFlBQTBCO1FBRmhCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUN2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFL0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSzthQUM3QyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzsrR0FwQlUsa0JBQWtCO21HQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9tb2RhbC5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NmY01vZGFsT3Blbl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RhbE9wZW5EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIF9jbG9zZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgX29wZW5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UpIHtcclxuICAgIHRoaXMuX2Nsb3NlU3Vic2NyaXB0aW9uID0gdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2UkLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKSk7XHJcblxyXG4gICAgdGhpcy5fb3BlblN1YnNjcmlwdGlvbiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4kXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jbG9zZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fb3BlblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
45
45
|
}], ctorParameters: function () { return [{ type: i1.ModalService }]; }, propDecorators: { model: [{
|
|
46
46
|
type: Input
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1tb2RhbC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL2Zvb3Rlci9kZWZhdWx0L2RlZmF1bHQtbW9kYWwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9mb290ZXIvZGVmYXVsdC9kZWZhdWx0LW1vZGFsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBUWxELE1BQU0sT0FBTywyQkFBMkI7SUFldEMsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFiN0IsK0JBQTBCLEdBQTZCO1lBQ3RFLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUE7UUFFUSx1QkFBa0IsR0FBRyxHQUFHLENBQUM7UUFFbEMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsZUFBVSxHQUFHLFVBQVUsQ0FBQztJQUswQixDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsaUJBQTBCLEtBQUs7UUFDM0MsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO2FBQy9CO1NBQ0Y7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQzthQUM5QjtTQUNGO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDOzt3SEFuQ1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsNEZDWnhDLGdkQU9NOzJGREtPLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7bUdBaUJwQyxLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSURlZmF1bHRNb2RhbEZvb3Rlck1vZGVsIH0gZnJvbSAnLi9kZWZhdWx0LW1vZGFsLWZvb3Rlci5tb2RlbCc7XHJcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbi9idXR0b24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9tb2RhbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWRlZmF1bHQtbW9kYWwtZm9vdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVmYXVsdC1tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RlZmF1bHQtbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRNb2RhbEZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9NT0RBTF9GT09URVJfTU9ERUw6IElEZWZhdWx0TW9kYWxGb290ZXJNb2RlbCA9IHtcclxuICAgIGNhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgIGFwcGx5QnV0dG9uOiB0cnVlXHJcbiAgfVxyXG5cclxuICByZWFkb25seSBCVVRUT05fQ1VTVE9NX1NJWkUgPSAwLjk7XHJcblxyXG4gIENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplO1xyXG4gIEJ1dHRvblR5cGUgPSBCdXR0b25UeXBlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1vZGVsPzogSURlZmF1bHRNb2RhbEZvb3Rlck1vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLm1vZGVsKSkge1xyXG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5ERUZBVUxUX01PREFMX0ZPT1RFUl9NT0RFTDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQnV0dG9uQ2xpY2soaXNDYW5jZWxCdXR0b246IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgaWYgKGlzQ2FuY2VsQnV0dG9uKSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsPy5vbkNhbmNlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsPy5vbkNhbmNlbCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5tb2RlbD8ub25BcHBseSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsPy5vbkFwcGx5KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1vZGFsU2VydmljZS5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8c2ZjLWJ1dHRvbiAqbmdJZj1cIm1vZGVsPy5hcHBseUJ1dHRvblwiIFtzZmNDb21wb25lbnRTaXplXSBbY3VzdG9tU2l6ZV09XCJCVVRUT05fQ1VTVE9NX1NJWkVcIiB0ZXh0PVwiT2tcIlxyXG4gICAgICAgIFt0eXBlc109XCJbQnV0dG9uVHlwZS5Sb3VuZGVkXVwiIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKClcIj5cclxuICAgIDwvc2ZjLWJ1dHRvbj5cclxuICAgIDxzZmMtYnV0dG9uICpuZ0lmPVwibW9kZWw/LmNhbmNlbEJ1dHRvblwiIFtzZmNDb21wb25lbnRTaXplXSBbY3VzdG9tU2l6ZV09XCJCVVRUT05fQ1VTVE9NX1NJWkVcIiB0ZXh0PVwiQ2FuY2VsXCJcclxuICAgICAgICBbdHlwZXNdPVwiW0J1dHRvblR5cGUuUm91bmRlZF1cIiAoY2xpY2spPVwib25CdXR0b25DbGljayh0cnVlKVwiPlxyXG4gICAgPC9zZmMtYnV0dG9uPlxyXG48L2Rpdj4iXX0=
|