ngx-sfc-common 0.0.1
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 +460 -0
- package/esm2020/lib/components/button/button-type.enum.mjs +9 -0
- package/esm2020/lib/components/button/button.component.mjs +38 -0
- package/esm2020/lib/components/checkmark/checkmark.component.mjs +27 -0
- package/esm2020/lib/components/delimeter/delimeter.component.mjs +11 -0
- package/esm2020/lib/components/dots/dots.component.mjs +30 -0
- package/esm2020/lib/components/hamburger/hamburger.component.mjs +24 -0
- package/esm2020/lib/components/index.mjs +20 -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/modal-open-on-click.directive.mjs +50 -0
- package/esm2020/lib/components/modal/footer/default/default-modal-footer.component.mjs +48 -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 +31 -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 +107 -0
- package/esm2020/lib/components/modal/service/modal.service.mjs +26 -0
- package/esm2020/lib/components/toggle-switcher/toggle-switcher.component.mjs +31 -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 +6 -0
- package/esm2020/lib/constants/date-time.constants.mjs +8 -0
- package/esm2020/lib/constants/index.mjs +4 -0
- package/esm2020/lib/constants/ui.constants.mjs +16 -0
- package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +65 -0
- package/esm2020/lib/directives/click-outside/click-outside.event.mjs +2 -0
- package/esm2020/lib/directives/component-size/component-size.directive.mjs +46 -0
- package/esm2020/lib/directives/index.mjs +7 -0
- package/esm2020/lib/directives/mouse-down/mouse-down.directive.mjs +37 -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 +21 -0
- package/esm2020/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.mjs +38 -0
- package/esm2020/lib/enums/common.enums.mjs +69 -0
- package/esm2020/lib/enums/index.mjs +2 -0
- package/esm2020/lib/ngx-sfc-common.module.mjs +135 -0
- package/esm2020/lib/services/document-ref.service.mjs +70 -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 +244 -0
- package/esm2020/lib/utils/common.utils.mjs +86 -0
- package/esm2020/lib/utils/date-time.utils.mjs +208 -0
- package/esm2020/lib/utils/file.utils.mjs +52 -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 +39 -0
- package/esm2020/ngx-sfc-common.mjs +5 -0
- package/esm2020/public-api.mjs +11 -0
- package/fesm2015/ngx-sfc-common.mjs +1908 -0
- package/fesm2015/ngx-sfc-common.mjs.map +1 -0
- package/fesm2020/ngx-sfc-common.mjs +1900 -0
- package/fesm2020/ngx-sfc-common.mjs.map +1 -0
- package/lib/components/button/button-type.enum.d.ts +7 -0
- package/lib/components/button/button.component.d.ts +13 -0
- package/lib/components/checkmark/checkmark.component.d.ts +8 -0
- package/lib/components/delimeter/delimeter.component.d.ts +5 -0
- package/lib/components/dots/dots.component.d.ts +9 -0
- package/lib/components/hamburger/hamburger.component.d.ts +7 -0
- package/lib/components/index.d.ts +21 -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/modal-open-on-click.directive.d.ts +17 -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 +6 -0
- package/lib/components/modal/header/default/default-modal-header.component.d.ts +14 -0
- package/lib/components/modal/header/default/default-modal-header.model.d.ts +5 -0
- package/lib/components/modal/modal-template.enum.d.ts +5 -0
- package/lib/components/modal/modal.component.d.ts +25 -0
- package/lib/components/modal/service/modal.service.d.ts +12 -0
- package/lib/components/toggle-switcher/toggle-switcher.component.d.ts +11 -0
- package/lib/components/toggle-switcher/toggle-switcher.model.d.ts +4 -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 +5 -0
- package/lib/constants/date-time.constants.d.ts +7 -0
- package/lib/constants/index.d.ts +3 -0
- package/lib/constants/ui.constants.d.ts +15 -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 +13 -0
- package/lib/directives/index.d.ts +7 -0
- package/lib/directives/mouse-down/mouse-down.directive.d.ts +12 -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 +9 -0
- package/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.d.ts +13 -0
- package/lib/enums/common.enums.d.ts +61 -0
- package/lib/enums/index.d.ts +1 -0
- package/lib/ngx-sfc-common.module.d.ts +27 -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 +135 -0
- package/lib/utils/common.utils.d.ts +50 -0
- package/lib/utils/date-time.utils.d.ts +131 -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 +24 -0
- package/ngx-sfc-common.d.ts +5 -0
- package/package.json +53 -0
- package/public-api.d.ts +7 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { ButtonComponent } from './button/button.component';
|
|
2
|
+
export { ButtonType } from './button/button-type.enum';
|
|
3
|
+
export { TooltipComponent } from './tooltip/tooltip.component';
|
|
4
|
+
export { TooltipType } from './tooltip/tooltip-type.enum';
|
|
5
|
+
export { DelimeterComponent } from './delimeter/delimeter.component';
|
|
6
|
+
export { BounceLoaderComponent } from './loader/bounce/bounce-loader.component';
|
|
7
|
+
export { CircleLoaderComponent } from './loader/circle/circle-loader.component';
|
|
8
|
+
export { CircleLoaderType } from './loader/circle/circle-loader-type.enum';
|
|
9
|
+
export { LoaderService } from './loader/service/loader.service';
|
|
10
|
+
export { ModalComponent } from './modal/modal.component';
|
|
11
|
+
export { ModalOpenOnClickDirective } from './modal/directive/modal-open-on-click.directive';
|
|
12
|
+
export { ModalService } from './modal/service/modal.service';
|
|
13
|
+
export { DefaultModalHeaderComponent } from './modal/header/default/default-modal-header.component';
|
|
14
|
+
export { DefaultModalFooterComponent } from './modal/footer/default/default-modal-footer.component';
|
|
15
|
+
export { ModalTemplate } from './modal/modal-template.enum';
|
|
16
|
+
export { HamburgerComponent } from './hamburger/hamburger.component';
|
|
17
|
+
export { DotsComponent } from './dots/dots.component';
|
|
18
|
+
export { ToggleSwitcherComponent } from './toggle-switcher/toggle-switcher.component';
|
|
19
|
+
export { CheckmarkComponent } from './checkmark/checkmark.component';
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0IHsgQnV0dG9uVHlwZSB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi10eXBlLmVudW0nO1xyXG5leHBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuZXhwb3J0IHsgVG9vbHRpcFR5cGUgfSBmcm9tICcuL3Rvb2x0aXAvdG9vbHRpcC10eXBlLmVudW0nO1xyXG5leHBvcnQgeyBEZWxpbWV0ZXJDb21wb25lbnQgfSBmcm9tICcuL2RlbGltZXRlci9kZWxpbWV0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQm91bmNlTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkZXIvYm91bmNlL2JvdW5jZS1sb2FkZXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ2lyY2xlTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkZXIvY2lyY2xlL2NpcmNsZS1sb2FkZXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ2lyY2xlTG9hZGVyVHlwZSB9IGZyb20gJy4vbG9hZGVyL2NpcmNsZS9jaXJjbGUtbG9hZGVyLXR5cGUuZW51bSc7XHJcbmV4cG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuL2xvYWRlci9zZXJ2aWNlL2xvYWRlci5zZXJ2aWNlJztcclxuZXhwb3J0IHsgSUxvYWRlckV2ZW50IH0gZnJvbSAnLi9sb2FkZXIvbG9hZGVyLmV2ZW50JztcclxuZXhwb3J0IHsgTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IE1vZGFsT3Blbk9uQ2xpY2tEaXJlY3RpdmUgfSBmcm9tICcuL21vZGFsL2RpcmVjdGl2ZS9tb2RhbC1vcGVuLW9uLWNsaWNrLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4vbW9kYWwvc2VydmljZS9tb2RhbC5zZXJ2aWNlJztcclxuZXhwb3J0IHsgRGVmYXVsdE1vZGFsSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC9oZWFkZXIvZGVmYXVsdC9kZWZhdWx0LW1vZGFsLWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBEZWZhdWx0TW9kYWxGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL21vZGFsL2Zvb3Rlci9kZWZhdWx0L2RlZmF1bHQtbW9kYWwtZm9vdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IE1vZGFsVGVtcGxhdGUgfSBmcm9tICcuL21vZGFsL21vZGFsLXRlbXBsYXRlLmVudW0nO1xyXG5leHBvcnQgeyBIYW1idXJnZXJDb21wb25lbnQgfSBmcm9tICcuL2hhbWJ1cmdlci9oYW1idXJnZXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgRG90c0NvbXBvbmVudCB9IGZyb20gJy4vZG90cy9kb3RzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFRvZ2dsZVN3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi90b2dnbGUtc3dpdGNoZXIvdG9nZ2xlLXN3aXRjaGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IElUb2dnbGVTd2l0Y2hlck1vZGVsIH0gZnJvbSAnLi90b2dnbGUtc3dpdGNoZXIvdG9nZ2xlLXN3aXRjaGVyLm1vZGVsJztcclxuZXhwb3J0IHsgQ2hlY2ttYXJrQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVja21hcmsvY2hlY2ttYXJrLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -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: "13.2.6", ngImport: i0, type: BounceLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
BounceLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", 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}: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}: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
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", 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}: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}: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: "13.2.6", ngImport: i0, type: CircleLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
CircleLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", 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}: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}: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
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", 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}: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}: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: "13.2.6", ngImport: i0, type: LoaderBaseComponent, deps: [{ token: i1.LoaderService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
41
|
+
LoaderBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: LoaderBaseComponent, inputs: { id: "id", start: "start", background: "background" }, ngImport: i0 });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", 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, removeItem, updateItem } 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 (removeItem(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 = updateItem(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: "13.2.6", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoaderService, providedIn: 'root' });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoaderService, decorators: [{
|
|
71
|
+
type: Injectable,
|
|
72
|
+
args: [{
|
|
73
|
+
providedIn: 'root'
|
|
74
|
+
}]
|
|
75
|
+
}] });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL3NlcnZpY2UvbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTXRELE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBS1Usa0JBQWEsR0FBb0MsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLGFBQVEsR0FBK0IsSUFBSSxDQUFDLGFBQWE7YUFDOUQsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUNILE1BQU0sQ0FBaUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDL0Msb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztLQTZFTDtJQTNFQzs7OztPQUlHO0lBQ0ksSUFBSSxDQUFDLEtBQWEsZUFBZSxDQUFDLGdCQUFnQixFQUFFLFdBQW9CLEtBQUs7UUFFbEYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLElBQUksQ0FBQyxLQUFhLGVBQWUsQ0FBQyxnQkFBZ0I7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsS0FBbUI7UUFFakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUN4QixHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBZSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNsQztRQUVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEtBQWEsZUFBZSxDQUFDLGdCQUFnQjtRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTlDLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsRUFBVTtRQUNqQyxPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLElBQUksQ0FDSCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQWlCLENBQUMsRUFDdkUsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFTyxlQUFlLENBQUMsRUFBVSxFQUFFLE1BQWUsRUFBRSxXQUFvQixLQUFLO1FBQzVFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQzNDLFlBQVksR0FBaUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQzNDLE1BQU0sR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxNQUFNLElBQUksTUFBTTtZQUMvQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVuQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUV0RixJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFnQyxDQUFDLENBQUM7U0FDM0Q7UUFFRCxJQUFJLFFBQVEsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7MEdBckZVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGFkZEl0ZW0sIGFueSwgZmlyc3RPckRlZmF1bHQsIGhhc09iamVjdEl0ZW0sIGlzRGVmaW5lZCwgbmFtZW9mLCByZW1vdmVJdGVtLCB1cGRhdGVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBMb2FkZXJDb25zdGFudHMgfSBmcm9tICcuLi9sb2FkZXIuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgSUxvYWRlckV2ZW50IH0gZnJvbSAnLi4vbG9hZGVyLmV2ZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRlclNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIGxvYWRlclN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxJTG9hZGVyRXZlbnRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElMb2FkZXJFdmVudFtdPihbXSk7XHJcblxyXG4gIHByaXZhdGUgbG9hZGVycyQ6IE9ic2VydmFibGU8SUxvYWRlckV2ZW50W10+ID0gdGhpcy5sb2FkZXJTdWJqZWN0XHJcbiAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgIC5waXBlKFxyXG4gICAgICBmaWx0ZXI8SUxvYWRlckV2ZW50W10+KGxvYWRlcnMgPT4gYW55KGxvYWRlcnMpKSxcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxyXG4gICAgKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdyBsb2FkZXIgYnkgSWRcclxuICAgKiBAcGFyYW0gaWQgTG9hZGVyIElkXHJcbiAgICogQHBhcmFtIHJlZ2lzdGVyIElmIHRydWUgcmVnaXN0ZXIgbG9hZGVyIGFuZCBzaG93IGl0XHJcbiAgICovXHJcbiAgcHVibGljIHNob3coaWQ6IHN0cmluZyA9IExvYWRlckNvbnN0YW50cy5HTE9CQUxfTE9BREVSX0lELCByZWdpc3RlcjogYm9vbGVhbiA9IGZhbHNlKVxyXG4gICAgOiBPYnNlcnZhYmxlPElMb2FkZXJFdmVudD4gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLnNldExvYWRlclN0YXR1cyhpZCwgdHJ1ZSwgcmVnaXN0ZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGlkZSBsb2FkZXJcclxuICAgKiBAcGFyYW0gaWQgTG9hZGVyIElkXHJcbiAgICovXHJcbiAgcHVibGljIGhpZGUoaWQ6IHN0cmluZyA9IExvYWRlckNvbnN0YW50cy5HTE9CQUxfTE9BREVSX0lEKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldExvYWRlclN0YXR1cyhpZCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgbG9hZGVyIGZvciBuZXh0IHVzZVxyXG4gICAqIEBwYXJhbSBldmVudCBMb2FkZXIgZXZlbnRcclxuICAgKiBAcmV0dXJucyBSZWdpc3RyZWQgbG9hZGUgb2JzZXJ2YWJsZVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWdpc3RlcihldmVudDogSUxvYWRlckV2ZW50KTogT2JzZXJ2YWJsZTxJTG9hZGVyRXZlbnQ+IHtcclxuXHJcbiAgICBjb25zdCBsb2FkZXJzID0gdGhpcy5sb2FkZXJTdWJqZWN0LmdldFZhbHVlKCk7XHJcblxyXG4gICAgaWYgKGFkZEl0ZW0obG9hZGVycywgZXZlbnQsXHJcbiAgICAgICgpID0+IGhhc09iamVjdEl0ZW0obG9hZGVycywgbmFtZW9mPElMb2FkZXJFdmVudD4oJ2lkJyksIGV2ZW50LmlkKSkpIHtcclxuICAgICAgdGhpcy5sb2FkZXJTdWJqZWN0Lm5leHQobG9hZGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0TG9hZGVyQnlJZChldmVudC5pZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgbG9hZGVyXHJcbiAgICogQHBhcmFtIGlkIExvYWRlciBJZFxyXG4gICAqL1xyXG4gIHB1YmxpYyByZW1vdmUoaWQ6IHN0cmluZyA9IExvYWRlckNvbnN0YW50cy5HTE9CQUxfTE9BREVSX0lEKTogdm9pZCB7XHJcbiAgICBjb25zdCBsb2FkZXJzID0gdGhpcy5sb2FkZXJTdWJqZWN0LmdldFZhbHVlKCk7XHJcblxyXG4gICAgaWYgKHJlbW92ZUl0ZW0obG9hZGVycywgbG9hZGVyID0+IGxvYWRlci5pZCA9PSBpZCkpIHtcclxuICAgICAgdGhpcy5sb2FkZXJTdWJqZWN0Lm5leHQobG9hZGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdExvYWRlckJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SUxvYWRlckV2ZW50PiB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkZXJzJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAobG9hZGVycyA9PiBsb2FkZXJzLmZpbmQobG9hZGVyID0+IGxvYWRlci5pZCA9PSBpZCkgYXMgSUxvYWRlckV2ZW50KSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldExvYWRlclN0YXR1cyhpZDogc3RyaW5nLCBzdGF0dXM6IGJvb2xlYW4sIHJlZ2lzdGVyOiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPElMb2FkZXJFdmVudD4gfCBudWxsIHtcclxuICAgIGNvbnN0IGxvYWRlcnMgPSB0aGlzLmxvYWRlclN1YmplY3QuZ2V0VmFsdWUoKSxcclxuICAgICAgSUxvYWRlckV2ZW50OiBJTG9hZGVyRXZlbnQgPSB7IGlkLCBzdGF0dXMgfSxcclxuICAgICAgbG9hZGVyID0gZmlyc3RPckRlZmF1bHQobG9hZGVycywgKGxvYWRlcikgPT4gbG9hZGVyLmlkID09IGlkKTtcclxuXHJcbiAgICBpZiAoaXNEZWZpbmVkKGxvYWRlcikgJiYgbG9hZGVyPy5zdGF0dXMgPT0gc3RhdHVzKVxyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RMb2FkZXJCeUlkKGlkKTtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVkTG9hZGVycyA9IHVwZGF0ZUl0ZW0obG9hZGVycywgKGxvYWRlcikgPT4gbG9hZGVyLmlkID09IGlkLCBJTG9hZGVyRXZlbnQpO1xyXG5cclxuICAgIGlmIChpc0RlZmluZWQodXBkYXRlZExvYWRlcnMpKSB7XHJcbiAgICAgIHRoaXMubG9hZGVyU3ViamVjdC5uZXh0KHVwZGF0ZWRMb2FkZXJzIGFzIElMb2FkZXJFdmVudFtdKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocmVnaXN0ZXIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVnaXN0ZXIoSUxvYWRlckV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { isDefined } from '../../../utils';
|
|
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(() => {
|
|
31
|
+
this.viewContainer.clear();
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
this._closeSubscription?.unsubscribe();
|
|
36
|
+
this.elements.forEach(el => el.removeEventListener('click', this.clickHandler));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
ModalOpenOnClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ModalOpenOnClickDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
+
ModalOpenOnClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: ModalOpenOnClickDirective, selector: "[sfcModalOpenOnClick]", inputs: { modalOpenOnClick: ["sfcModalOpenOnClick", "modalOpenOnClick"] }, ngImport: i0 });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ModalOpenOnClickDirective, decorators: [{
|
|
42
|
+
type: Directive,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: '[sfcModalOpenOnClick]'
|
|
45
|
+
}]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.ModalService }]; }, propDecorators: { modalOpenOnClick: [{
|
|
47
|
+
type: Input,
|
|
48
|
+
args: ['sfcModalOpenOnClick']
|
|
49
|
+
}] } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3Blbi1vbi1jbGljay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvZGlyZWN0aXZlL21vZGFsLW9wZW4tb24tY2xpY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvRCxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU0zQyxNQUFNLE9BQU8seUJBQXlCO0lBMkJwQyxZQUNVLFdBQTZCLEVBQzdCLGFBQStCLEVBQy9CLFlBQTBCO1FBRjFCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFiNUIsaUJBQVksR0FBRyxDQUFDLENBQUMsS0FBaUIsRUFBUSxFQUFFO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVOLGFBQVEsR0FBa0IsRUFBRSxDQUFDO0lBUXJDLENBQUM7SUE3QkQsSUFDSSxnQkFBZ0IsQ0FBQyxRQUFxQztRQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN0QixPQUFPO1FBRVQsSUFBSSxRQUFRLFlBQVksV0FBVztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7O1lBRTNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRTNCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3pCLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQWtCRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTthQUMvQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDOztzSEEzQ1UseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQzs0SkFJSyxnQkFBZ0I7c0JBRG5CLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvbW9kYWwuc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzZmNNb2RhbE9wZW5PbkNsaWNrXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsT3Blbk9uQ2xpY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgnc2ZjTW9kYWxPcGVuT25DbGljaycpXHJcbiAgc2V0IG1vZGFsT3Blbk9uQ2xpY2soZWxlbWVudHM6IEhUTUxFbGVtZW50IHwgSFRNTEVsZW1lbnRbXSkge1xyXG4gICAgaWYgKCFpc0RlZmluZWQoZWxlbWVudHMpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgaWYgKGVsZW1lbnRzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXHJcbiAgICAgIHRoaXMuZWxlbWVudHMgPSBbZWxlbWVudHNdO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmVsZW1lbnRzID0gZWxlbWVudHM7XHJcblxyXG4gICAgdGhpcy5lbGVtZW50cy5mb3JFYWNoKGVsID0+IHtcclxuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrSGFuZGxlcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xpY2tIYW5kbGVyID0gKChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihldmVudC5jdXJyZW50VGFyZ2V0KTtcclxuICB9KS5iaW5kKHRoaXMpO1xyXG5cclxuICBwcml2YXRlIGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Nsb3NlU3Vic2NyaXB0aW9uID0gdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2UkXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY2xvc2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmVsZW1lbnRzLmZvckVhY2goZWwgPT4gZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrSGFuZGxlcikpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { isDefined } from '../../../../utils';
|
|
3
|
+
import { ButtonType } from '../../../button/button-type.enum';
|
|
4
|
+
import { ComponentSize } from '../../../../enums';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../service/modal.service";
|
|
7
|
+
import * as i2 from "../../../button/button.component";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "../../../../directives/component-size/component-size.directive";
|
|
10
|
+
export class DefaultModalFooterComponent {
|
|
11
|
+
constructor(modalService) {
|
|
12
|
+
this.modalService = modalService;
|
|
13
|
+
this.DEFAULT_MODAL_FOOTER_MODEL = {
|
|
14
|
+
cancelButton: true,
|
|
15
|
+
applyButton: true
|
|
16
|
+
};
|
|
17
|
+
this.BUTTON_CUSTOM_SIZE = 0.9;
|
|
18
|
+
this.ComponentSize = ComponentSize;
|
|
19
|
+
this.ButtonType = ButtonType;
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
if (!isDefined(this.model)) {
|
|
23
|
+
this.model = this.DEFAULT_MODAL_FOOTER_MODEL;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
onButtonClick(isCancelButton = false) {
|
|
27
|
+
if (isCancelButton) {
|
|
28
|
+
if (this.model?.onCancel) {
|
|
29
|
+
return this.model?.onCancel();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
if (this.model?.onApply) {
|
|
34
|
+
return this.model?.onApply();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
this.modalService.close();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
DefaultModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DefaultModalFooterComponent, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
+
DefaultModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: DefaultModalFooterComponent, selector: "sfc-default-modal-footer", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"container\">\r\n <sfc-button *ngIf=\"model?.applyButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Ok\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick()\">\r\n </sfc-button>\r\n <sfc-button *ngIf=\"model?.cancelButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Cancel\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick(true)\">\r\n </sfc-button>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;justify-content:center;align-items:center;width:100%}:host .container sfc-button:first-child{padding-right:.3em}:host .container sfc-button:nth-child(2){padding-left:.3em}:host .container ::ng-deep sfc-button .button.rounded{width:5em}:host .container ::ng-deep sfc-button .button:not(:hover){color:#545e61!important;border-color:#545e61!important}\n"], components: [{ type: i2.ButtonComponent, selector: "sfc-button", inputs: ["text", "iconBefore", "iconAfter", "disabled", "types"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }] });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DefaultModalFooterComponent, decorators: [{
|
|
43
|
+
type: Component,
|
|
44
|
+
args: [{ selector: 'sfc-default-modal-footer', template: "<div class=\"container\">\r\n <sfc-button *ngIf=\"model?.applyButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Ok\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick()\">\r\n </sfc-button>\r\n <sfc-button *ngIf=\"model?.cancelButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Cancel\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick(true)\">\r\n </sfc-button>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;justify-content:center;align-items:center;width:100%}:host .container sfc-button:first-child{padding-right:.3em}:host .container sfc-button:nth-child(2){padding-left:.3em}:host .container ::ng-deep sfc-button .button.rounded{width:5em}:host .container ::ng-deep sfc-button .button:not(:hover){color:#545e61!important;border-color:#545e61!important}\n"] }]
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i1.ModalService }]; }, propDecorators: { model: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1tb2RhbC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL2Zvb3Rlci9kZWZhdWx0L2RlZmF1bHQtbW9kYWwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9mb290ZXIvZGVmYXVsdC9kZWZhdWx0LW1vZGFsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBUWxELE1BQU0sT0FBTywyQkFBMkI7SUFldEMsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFiN0IsK0JBQTBCLEdBQTZCO1lBQ3RFLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUE7UUFFUSx1QkFBa0IsR0FBRyxHQUFHLENBQUM7UUFFbEMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsZUFBVSxHQUFHLFVBQVUsQ0FBQztJQUswQixDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsaUJBQTBCLEtBQUs7UUFDM0MsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO2FBQy9CO1NBQ0Y7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQzthQUM5QjtTQUNGO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDOzt3SEFuQ1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsNEZDWnhDLGdkQU9NOzJGREtPLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7bUdBaUJwQyxLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSURlZmF1bHRNb2RhbEZvb3Rlck1vZGVsIH0gZnJvbSAnLi9kZWZhdWx0LW1vZGFsLWZvb3Rlci5tb2RlbCc7XHJcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbi9idXR0b24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9tb2RhbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWRlZmF1bHQtbW9kYWwtZm9vdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVmYXVsdC1tb2RhbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RlZmF1bHQtbW9kYWwtZm9vdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRNb2RhbEZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9NT0RBTF9GT09URVJfTU9ERUw6IElEZWZhdWx0TW9kYWxGb290ZXJNb2RlbCA9IHtcclxuICAgIGNhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgIGFwcGx5QnV0dG9uOiB0cnVlXHJcbiAgfVxyXG5cclxuICByZWFkb25seSBCVVRUT05fQ1VTVE9NX1NJWkUgPSAwLjk7XHJcblxyXG4gIENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplO1xyXG4gIEJ1dHRvblR5cGUgPSBCdXR0b25UeXBlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1vZGVsPzogSURlZmF1bHRNb2RhbEZvb3Rlck1vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLm1vZGVsKSkge1xyXG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5ERUZBVUxUX01PREFMX0ZPT1RFUl9NT0RFTDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQnV0dG9uQ2xpY2soaXNDYW5jZWxCdXR0b246IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgaWYgKGlzQ2FuY2VsQnV0dG9uKSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsPy5vbkNhbmNlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsPy5vbkNhbmNlbCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5tb2RlbD8ub25BcHBseSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsPy5vbkFwcGx5KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1vZGFsU2VydmljZS5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8c2ZjLWJ1dHRvbiAqbmdJZj1cIm1vZGVsPy5hcHBseUJ1dHRvblwiIFtzZmNDb21wb25lbnRTaXplXSBbY3VzdG9tU2l6ZV09XCJCVVRUT05fQ1VTVE9NX1NJWkVcIiB0ZXh0PVwiT2tcIlxyXG4gICAgICAgIFt0eXBlc109XCJbQnV0dG9uVHlwZS5Sb3VuZGVkXVwiIChjbGljayk9XCJvbkJ1dHRvbkNsaWNrKClcIj5cclxuICAgIDwvc2ZjLWJ1dHRvbj5cclxuICAgIDxzZmMtYnV0dG9uICpuZ0lmPVwibW9kZWw/LmNhbmNlbEJ1dHRvblwiIFtzZmNDb21wb25lbnRTaXplXSBbY3VzdG9tU2l6ZV09XCJCVVRUT05fQ1VTVE9NX1NJWkVcIiB0ZXh0PVwiQ2FuY2VsXCJcclxuICAgICAgICBbdHlwZXNdPVwiW0J1dHRvblR5cGUuUm91bmRlZF1cIiAoY2xpY2spPVwib25CdXR0b25DbGljayh0cnVlKVwiPlxyXG4gICAgPC9zZmMtYnV0dG9uPlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1tb2RhbC1mb290ZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvZm9vdGVyL2RlZmF1bHQvZGVmYXVsdC1tb2RhbC1mb290ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSURlZmF1bHRNb2RhbEZvb3Rlck1vZGVsIHtcclxuICAgIGNhbmNlbEJ1dHRvbj86IGJvb2xlYW47XHJcbiAgICBhcHBseUJ1dHRvbj86IGJvb2xlYW47XHJcbiAgICBvbkNhbmNlbD86ICgpID0+IHZvaWQ7XHJcbiAgICBvbkFwcGx5PzogKCkgPT4gdm9pZDtcclxufSJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { isDefined } from '../../../../utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../service/modal.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class DefaultModalHeaderComponent {
|
|
7
|
+
constructor(modalService) {
|
|
8
|
+
this.modalService = modalService;
|
|
9
|
+
this.DEFAULT_MODAL_HEADER_MODEL = {
|
|
10
|
+
icon: 'fa fa-window-restore',
|
|
11
|
+
showCloseIcon: true,
|
|
12
|
+
text: 'Modal'
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
if (!isDefined(this.model))
|
|
17
|
+
this.model = this.DEFAULT_MODAL_HEADER_MODEL;
|
|
18
|
+
}
|
|
19
|
+
onClose() {
|
|
20
|
+
this.modalService.close();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
DefaultModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DefaultModalHeaderComponent, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
DefaultModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: DefaultModalHeaderComponent, selector: "sfc-default-modal-header", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"container\">\r\n <i *ngIf=\"model?.icon\" class=\"icon\" class=\"{{model?.icon}}\"></i>\r\n <span *ngIf=\"model?.text\" class=\"label\">{{model?.text}}</span>\r\n <span *ngIf=\"model?.showCloseIcon\" class=\"close\" (click)=\"onClose()\">\r\n <i class=\"fa fa-times\"></i>\r\n </span>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;align-items:flex-start;width:100%;justify-content:space-between}:host .container i{font-size:1em}:host .container .icon{padding-right:.7em}:host .container .label{font-size:1.2em;font-weight:700;-webkit-user-select:none;user-select:none;padding:0 .7em}:host .container .close{color:#545e61;cursor:pointer;display:flex;padding-left:.7em}:host .container .close:hover{color:#2bbbad}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DefaultModalHeaderComponent, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{ selector: 'sfc-default-modal-header', template: "<div class=\"container\">\r\n <i *ngIf=\"model?.icon\" class=\"icon\" class=\"{{model?.icon}}\"></i>\r\n <span *ngIf=\"model?.text\" class=\"label\">{{model?.text}}</span>\r\n <span *ngIf=\"model?.showCloseIcon\" class=\"close\" (click)=\"onClose()\">\r\n <i class=\"fa fa-times\"></i>\r\n </span>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;align-items:flex-start;width:100%;justify-content:space-between}:host .container i{font-size:1em}:host .container .icon{padding-right:.7em}:host .container .label{font-size:1.2em;font-weight:700;-webkit-user-select:none;user-select:none;padding:0 .7em}:host .container .close{color:#545e61;cursor:pointer;display:flex;padding-left:.7em}:host .container .close:hover{color:#2bbbad}\n"] }]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.ModalService }]; }, propDecorators: { model: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1tb2RhbC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL2hlYWRlci9kZWZhdWx0L2RlZmF1bHQtbW9kYWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9oZWFkZXIvZGVmYXVsdC9kZWZhdWx0LW1vZGFsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFROUMsTUFBTSxPQUFPLDJCQUEyQjtJQVd0QyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVQ3QiwrQkFBMEIsR0FBNkI7WUFDdEUsSUFBSSxFQUFFLHNCQUFzQjtZQUM1QixhQUFhLEVBQUUsSUFBSTtZQUNuQixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUE7SUFLaUQsQ0FBQztJQUVuRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDO0lBQ2pELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDOzt3SEFwQlUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsNEZDVnhDLHdVQU1NOzJGRElPLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7bUdBYXBDLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJRGVmYXVsdE1vZGFsSGVhZGVyTW9kZWwgfSBmcm9tICcuL2RlZmF1bHQtbW9kYWwtaGVhZGVyLm1vZGVsJztcclxuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL21vZGFsLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZmMtZGVmYXVsdC1tb2RhbC1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kZWZhdWx0LW1vZGFsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC1tb2RhbC1oZWFkZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmYXVsdE1vZGFsSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX01PREFMX0hFQURFUl9NT0RFTDogSURlZmF1bHRNb2RhbEhlYWRlck1vZGVsID0ge1xyXG4gICAgaWNvbjogJ2ZhIGZhLXdpbmRvdy1yZXN0b3JlJyxcclxuICAgIHNob3dDbG9zZUljb246IHRydWUsXHJcbiAgICB0ZXh0OiAnTW9kYWwnXHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIG1vZGVsPzogSURlZmF1bHRNb2RhbEhlYWRlck1vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLm1vZGVsKSlcclxuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuREVGQVVMVF9NT0RBTF9IRUFERVJfTU9ERUw7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlKCkge1xyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGkgKm5nSWY9XCJtb2RlbD8uaWNvblwiIGNsYXNzPVwiaWNvblwiIGNsYXNzPVwie3ttb2RlbD8uaWNvbn19XCI+PC9pPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJtb2RlbD8udGV4dFwiIGNsYXNzPVwibGFiZWxcIj57e21vZGVsPy50ZXh0fX08L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cIm1vZGVsPy5zaG93Q2xvc2VJY29uXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCI+PC9pPlxyXG4gICAgPC9zcGFuPlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1tb2RhbC1oZWFkZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvaGVhZGVyL2RlZmF1bHQvZGVmYXVsdC1tb2RhbC1oZWFkZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSURlZmF1bHRNb2RhbEhlYWRlck1vZGVsIHtcclxuICAgIHRleHQ/OiBzdHJpbmc7XHJcbiAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgc2hvd0Nsb3NlSWNvbj86IGJvb2xlYW47XHJcbn0iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var ModalTemplate;
|
|
2
|
+
(function (ModalTemplate) {
|
|
3
|
+
ModalTemplate["Body"] = "body";
|
|
4
|
+
ModalTemplate["Header"] = "header";
|
|
5
|
+
ModalTemplate["Footer"] = "footer";
|
|
6
|
+
})(ModalTemplate || (ModalTemplate = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVtcGxhdGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC10ZW1wbGF0ZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsOEJBQWEsQ0FBQTtJQUNiLGtDQUFpQixDQUFBO0lBQ2pCLGtDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1vZGFsVGVtcGxhdGUge1xyXG4gICAgQm9keSA9ICdib2R5JyxcclxuICAgIEhlYWRlciA9ICdoZWFkZXInLFxyXG4gICAgRm9vdGVyID0gJ2Zvb3RlcidcclxufSJdfQ==
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { animate, animateChild, group, query, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
+
import { Component, ContentChildren, HostListener, Input } from '@angular/core';
|
|
3
|
+
import { TemplateReferenceDirective } from '../../directives';
|
|
4
|
+
import { firstOrDefault, isDefined } from '../../utils';
|
|
5
|
+
import { ModalTemplate } from './modal-template.enum';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./service/modal.service";
|
|
8
|
+
import * as i2 from "./header/default/default-modal-header.component";
|
|
9
|
+
import * as i3 from "./footer/default/default-modal-footer.component";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
export class ModalComponent {
|
|
12
|
+
constructor(modalService) {
|
|
13
|
+
this.modalService = modalService;
|
|
14
|
+
this.ModalTemplate = ModalTemplate;
|
|
15
|
+
// End Defaults
|
|
16
|
+
this.hideOnEsc = true;
|
|
17
|
+
this.hideOnClickOutside = true;
|
|
18
|
+
}
|
|
19
|
+
onEscapeKeyDownHandler() {
|
|
20
|
+
if (this.hideOnEsc)
|
|
21
|
+
this.close();
|
|
22
|
+
}
|
|
23
|
+
getTemplate(template) {
|
|
24
|
+
if (!isDefined(this.templates))
|
|
25
|
+
return null;
|
|
26
|
+
const templateRef = firstOrDefault(this.templates?.toArray(), t => t.templateName == template);
|
|
27
|
+
return isDefined(templateRef) ? templateRef?.template : null;
|
|
28
|
+
}
|
|
29
|
+
isShowDefault(template) {
|
|
30
|
+
return !isDefined(this.getTemplate(template))
|
|
31
|
+
&& (template == ModalTemplate.Header
|
|
32
|
+
? !isDefined(this.header)
|
|
33
|
+
: !isDefined(this.footer));
|
|
34
|
+
}
|
|
35
|
+
close() {
|
|
36
|
+
this.modalService.close();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ModalComponent, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: ModalComponent, selector: "sfc-modal", inputs: { body: "body", header: "header", footer: "footer", defaultHeaderModel: "defaultHeaderModel", defaultFooterModel: "defaultFooterModel", hideOnEsc: "hideOnEsc", hideOnClickOutside: "hideOnClickOutside" }, host: { listeners: { "document:keydown.escape": "onEscapeKeyDownHandler()" } }, queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"overlay\" [@hideOverlay] (click)=\"hideOnClickOutside && close()\">\r\n <div class=\"content\" [@hideContent] (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"header\">\r\n\r\n <ng-container *ngIf=\"header;else headerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"header;\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #headerTemplate>\r\n <ng-container *ngTemplateOutlet=\"getTemplate(ModalTemplate.Header)\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"isShowDefault(ModalTemplate.Header)\">\r\n <sfc-default-modal-header [model]=\"defaultHeaderModel\">\r\n </sfc-default-modal-header>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <ng-container *ngIf=\"body;else bodyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"body;\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #bodyTemplate>\r\n <ng-container #bodyTemplate *ngTemplateOutlet=\"getTemplate(ModalTemplate.Body)\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n\r\n <ng-container *ngIf=\"footer;else footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footer;\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #footerTemplate>\r\n <ng-container *ngTemplateOutlet=\"getTemplate(ModalTemplate.Footer)\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"isShowDefault(ModalTemplate.Footer)\">\r\n <sfc-default-modal-footer [model]=\"defaultFooterModel\">\r\n </sfc-default-modal-footer>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background-color:#0009;-webkit-backface-visibility:visible;backface-visibility:visible;animation:expand-overlay .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-overlay{0%{visibility:hidden;opacity:0}}.overlay .content{display:flex;align-items:center;position:relative;padding:.7em;margin:auto;background-color:#f5f7fa;max-width:calc(100% - 3em);max-height:calc(100% - 3em);border-radius:3px;overflow-y:auto;box-shadow:0 .125em .625em #0003;transform:scale(1);flex-direction:column;animation:expand-modal .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-modal{0%{visibility:hidden;opacity:0;transform:scale(1.2)}}.overlay .content>div{width:100%;flex:0 0 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#545e61;flex-direction:row;display:flex;justify-content:center}\n"], components: [{ type: i2.DefaultModalHeaderComponent, selector: "sfc-default-modal-header", inputs: ["model"] }, { type: i3.DefaultModalFooterComponent, selector: "sfc-default-modal-footer", inputs: ["model"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
|
|
41
|
+
trigger('hideOverlay', [
|
|
42
|
+
state('initial', style({ opacity: 1, visibility: 'visible' })),
|
|
43
|
+
state('void', style({ opacity: 0, visibility: 'hidden' })),
|
|
44
|
+
transition('* => void', [
|
|
45
|
+
group([
|
|
46
|
+
query(':self', [
|
|
47
|
+
animate('400ms cubic-bezier(.55, 0, .1, 1)', style({
|
|
48
|
+
opacity: 0,
|
|
49
|
+
visibility: 'hidden'
|
|
50
|
+
}))
|
|
51
|
+
]),
|
|
52
|
+
query('@hideContent', [animateChild()])
|
|
53
|
+
])
|
|
54
|
+
])
|
|
55
|
+
]),
|
|
56
|
+
trigger('hideContent', [
|
|
57
|
+
state('initial', style({ opacity: 1, visibility: 'visible', transform: 'scale(1)' })),
|
|
58
|
+
state('void', style({ opacity: 0, visibility: 'hidden', transform: 'scale(1.2)' })),
|
|
59
|
+
transition('* => void', animate('400ms cubic-bezier(.55, 0, .1, 1)'))
|
|
60
|
+
])
|
|
61
|
+
] });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ModalComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{ selector: 'sfc-modal', animations: [
|
|
65
|
+
trigger('hideOverlay', [
|
|
66
|
+
state('initial', style({ opacity: 1, visibility: 'visible' })),
|
|
67
|
+
state('void', style({ opacity: 0, visibility: 'hidden' })),
|
|
68
|
+
transition('* => void', [
|
|
69
|
+
group([
|
|
70
|
+
query(':self', [
|
|
71
|
+
animate('400ms cubic-bezier(.55, 0, .1, 1)', style({
|
|
72
|
+
opacity: 0,
|
|
73
|
+
visibility: 'hidden'
|
|
74
|
+
}))
|
|
75
|
+
]),
|
|
76
|
+
query('@hideContent', [animateChild()])
|
|
77
|
+
])
|
|
78
|
+
])
|
|
79
|
+
]),
|
|
80
|
+
trigger('hideContent', [
|
|
81
|
+
state('initial', style({ opacity: 1, visibility: 'visible', transform: 'scale(1)' })),
|
|
82
|
+
state('void', style({ opacity: 0, visibility: 'hidden', transform: 'scale(1.2)' })),
|
|
83
|
+
transition('* => void', animate('400ms cubic-bezier(.55, 0, .1, 1)'))
|
|
84
|
+
])
|
|
85
|
+
], template: "<div class=\"overlay\" [@hideOverlay] (click)=\"hideOnClickOutside && close()\">\r\n <div class=\"content\" [@hideContent] (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"header\">\r\n\r\n <ng-container *ngIf=\"header;else headerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"header;\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #headerTemplate>\r\n <ng-container *ngTemplateOutlet=\"getTemplate(ModalTemplate.Header)\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"isShowDefault(ModalTemplate.Header)\">\r\n <sfc-default-modal-header [model]=\"defaultHeaderModel\">\r\n </sfc-default-modal-header>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <ng-container *ngIf=\"body;else bodyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"body;\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #bodyTemplate>\r\n <ng-container #bodyTemplate *ngTemplateOutlet=\"getTemplate(ModalTemplate.Body)\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n\r\n <ng-container *ngIf=\"footer;else footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footer;\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #footerTemplate>\r\n <ng-container *ngTemplateOutlet=\"getTemplate(ModalTemplate.Footer)\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"isShowDefault(ModalTemplate.Footer)\">\r\n <sfc-default-modal-footer [model]=\"defaultFooterModel\">\r\n </sfc-default-modal-footer>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background-color:#0009;-webkit-backface-visibility:visible;backface-visibility:visible;animation:expand-overlay .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-overlay{0%{visibility:hidden;opacity:0}}.overlay .content{display:flex;align-items:center;position:relative;padding:.7em;margin:auto;background-color:#f5f7fa;max-width:calc(100% - 3em);max-height:calc(100% - 3em);border-radius:3px;overflow-y:auto;box-shadow:0 .125em .625em #0003;transform:scale(1);flex-direction:column;animation:expand-modal .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-modal{0%{visibility:hidden;opacity:0;transform:scale(1.2)}}.overlay .content>div{width:100%;flex:0 0 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#545e61;flex-direction:row;display:flex;justify-content:center}\n"] }]
|
|
86
|
+
}], ctorParameters: function () { return [{ type: i1.ModalService }]; }, propDecorators: { body: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], header: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], footer: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], defaultHeaderModel: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], defaultFooterModel: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], hideOnEsc: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], hideOnClickOutside: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], onEscapeKeyDownHandler: [{
|
|
101
|
+
type: HostListener,
|
|
102
|
+
args: ['document:keydown.escape']
|
|
103
|
+
}], templates: [{
|
|
104
|
+
type: ContentChildren,
|
|
105
|
+
args: [TemplateReferenceDirective, { read: TemplateReferenceDirective }]
|
|
106
|
+
}] } });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUNuQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQ3BDLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNILFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFFbEQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUErQnRELE1BQU0sT0FBTyxjQUFjO0lBMEN2QixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXhDOUMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUF1QjlCLGVBQWU7UUFHZixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLHVCQUFrQixHQUFZLElBQUksQ0FBQztJQVdlLENBQUM7SUFSbkQsc0JBQXNCO1FBQ2xCLElBQUksSUFBSSxDQUFDLFNBQVM7WUFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQU9ELFdBQVcsQ0FBQyxRQUF1QjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUM7UUFFaEIsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQ3hELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUMsQ0FBQztRQUVyQyxPQUFPLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFFBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyRixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQXVCO1FBQ2pDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztlQUN0QyxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsTUFBTTtnQkFDaEMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7MkdBL0RRLGNBQWM7K0ZBQWQsY0FBYywrV0F1Q04sMEJBQTBCLFFBQVUsMEJBQTBCLDZCQ2xGbkYsNDhEQW9ETSx3MUNEakNVO1FBQ1IsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUNuQixLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDOUQsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBRTFELFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BCLEtBQUssQ0FBQztvQkFDRixLQUFLLENBQUMsT0FBTyxFQUFFO3dCQUNYLE9BQU8sQ0FBQyxtQ0FBbUMsRUFBRSxLQUFLLENBQUM7NEJBQy9DLE9BQU8sRUFBRSxDQUFDOzRCQUNWLFVBQVUsRUFBRSxRQUFRO3lCQUN2QixDQUFDLENBQUM7cUJBQ04sQ0FBQztvQkFDRixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztpQkFDMUMsQ0FBQzthQUNMLENBQUM7U0FDTCxDQUFDO1FBQ0YsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUNuQixLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNyRixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztZQUNuRixVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ3hFLENBQUM7S0FDTDsyRkFFUSxjQUFjO2tCQTVCMUIsU0FBUzsrQkFDSSxXQUFXLGNBR1Q7d0JBQ1IsT0FBTyxDQUFDLGFBQWEsRUFBRTs0QkFDbkIsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDOzRCQUM5RCxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7NEJBRTFELFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3BCLEtBQUssQ0FBQztvQ0FDRixLQUFLLENBQUMsT0FBTyxFQUFFO3dDQUNYLE9BQU8sQ0FBQyxtQ0FBbUMsRUFBRSxLQUFLLENBQUM7NENBQy9DLE9BQU8sRUFBRSxDQUFDOzRDQUNWLFVBQVUsRUFBRSxRQUFRO3lDQUN2QixDQUFDLENBQUM7cUNBQ04sQ0FBQztvQ0FDRixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztpQ0FDMUMsQ0FBQzs2QkFDTCxDQUFDO3lCQUNMLENBQUM7d0JBQ0YsT0FBTyxDQUFDLGFBQWEsRUFBRTs0QkFDbkIsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7NEJBQ3JGLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDOzRCQUNuRixVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO3lCQUN4RSxDQUFDO3FCQUNMO21HQVNELElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQVFOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBTU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixzQkFBc0I7c0JBRHJCLFlBQVk7dUJBQUMseUJBQXlCO2dCQU8vQixTQUFTO3NCQURoQixlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgZ3JvdXAsIHF1ZXJ5LFxyXG4gICAgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSG9zdExpc3RlbmVyLCBJbnB1dCxcclxuICAgIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVSZWZlcmVuY2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgZmlyc3RPckRlZmF1bHQsIGlzRGVmaW5lZCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgSURlZmF1bHRNb2RhbEZvb3Rlck1vZGVsIH0gZnJvbSAnLi9mb290ZXIvZGVmYXVsdC9kZWZhdWx0LW1vZGFsLWZvb3Rlci5tb2RlbCc7XHJcbmltcG9ydCB7IElEZWZhdWx0TW9kYWxIZWFkZXJNb2RlbCB9IGZyb20gJy4vaGVhZGVyL2RlZmF1bHQvZGVmYXVsdC1tb2RhbC1oZWFkZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBNb2RhbFRlbXBsYXRlIH0gZnJvbSAnLi9tb2RhbC10ZW1wbGF0ZS5lbnVtJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL21vZGFsLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NmYy1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICB0cmlnZ2VyKCdoaWRlT3ZlcmxheScsIFtcclxuICAgICAgICAgICAgc3RhdGUoJ2luaXRpYWwnLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHZpc2liaWxpdHk6ICd2aXNpYmxlJyB9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyBvcGFjaXR5OiAwLCB2aXNpYmlsaXR5OiAnaGlkZGVuJyB9KSksXHJcblxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBbXHJcbiAgICAgICAgICAgICAgICBncm91cChbXHJcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJzpzZWxmJywgW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc0MDBtcyBjdWJpYy1iZXppZXIoLjU1LCAwLCAuMSwgMSknLCBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbidcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgICAgICAgICAgXSksXHJcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJ0BoaWRlQ29udGVudCcsIFthbmltYXRlQ2hpbGQoKV0pXHJcbiAgICAgICAgICAgICAgICBdKVxyXG4gICAgICAgICAgICBdKVxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHRyaWdnZXIoJ2hpZGVDb250ZW50JywgW1xyXG4gICAgICAgICAgICBzdGF0ZSgnaW5pdGlhbCcsIHN0eWxlKHsgb3BhY2l0eTogMSwgdmlzaWJpbGl0eTogJ3Zpc2libGUnLCB0cmFuc2Zvcm06ICdzY2FsZSgxKScgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHsgb3BhY2l0eTogMCwgdmlzaWJpbGl0eTogJ2hpZGRlbicsIHRyYW5zZm9ybTogJ3NjYWxlKDEuMiknIH0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKC41NSwgMCwgLjEsIDEpJykpXHJcbiAgICAgICAgXSlcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IHtcclxuXHJcbiAgICBNb2RhbFRlbXBsYXRlID0gTW9kYWxUZW1wbGF0ZTtcclxuXHJcbiAgICAvLyBUZW1wbGF0ZSByZWZlcmVuY2VzIFxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBib2R5PzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaGVhZGVyPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZm9vdGVyPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICAvLyBFbmQgVGVtcGxhdGUgcmVmZXJlbmNlcyAgICAgICAgXHJcblxyXG4gICAgLy8gRGVmYXVsdHNcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZGVmYXVsdEhlYWRlck1vZGVsPzogSURlZmF1bHRNb2RhbEhlYWRlck1vZGVsO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBkZWZhdWx0Rm9vdGVyTW9kZWw/OiBJRGVmYXVsdE1vZGFsRm9vdGVyTW9kZWw7XHJcblxyXG4gICAgLy8gRW5kIERlZmF1bHRzXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGhpZGVPbkVzYzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGhpZGVPbkNsaWNrT3V0c2lkZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnKVxyXG4gICAgb25Fc2NhcGVLZXlEb3duSGFuZGxlcigpIHtcclxuICAgICAgICBpZiAodGhpcy5oaWRlT25Fc2MpXHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlIH0pXHJcbiAgICBwcml2YXRlIHRlbXBsYXRlczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlPiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBnZXRUZW1wbGF0ZSh0ZW1wbGF0ZTogTW9kYWxUZW1wbGF0ZSk6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsIHtcclxuICAgICAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLnRlbXBsYXRlcykpXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVJlZiA9IGZpcnN0T3JEZWZhdWx0KHRoaXMudGVtcGxhdGVzPy50b0FycmF5KCksXHJcbiAgICAgICAgICAgIHQgPT4gdC50ZW1wbGF0ZU5hbWUgPT0gdGVtcGxhdGUpO1xyXG5cclxuICAgICAgICByZXR1cm4gaXNEZWZpbmVkKHRlbXBsYXRlUmVmKSA/IHRlbXBsYXRlUmVmPy50ZW1wbGF0ZSBhcyBUZW1wbGF0ZVJlZjxhbnk+IDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpc1Nob3dEZWZhdWx0KHRlbXBsYXRlOiBNb2RhbFRlbXBsYXRlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICFpc0RlZmluZWQodGhpcy5nZXRUZW1wbGF0ZSh0ZW1wbGF0ZSkpXHJcbiAgICAgICAgICAgICYmICh0ZW1wbGF0ZSA9PSBNb2RhbFRlbXBsYXRlLkhlYWRlclxyXG4gICAgICAgICAgICAgICAgPyAhaXNEZWZpbmVkKHRoaXMuaGVhZGVyKVxyXG4gICAgICAgICAgICAgICAgOiAhaXNEZWZpbmVkKHRoaXMuZm9vdGVyKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2UoKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmxheVwiIFtAaGlkZU92ZXJsYXldIChjbGljayk9XCJoaWRlT25DbGlja091dHNpZGUgJiYgY2xvc2UoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIiBbQGhpZGVDb250ZW50XSAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXI7ZWxzZSBoZWFkZXJUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlcjtcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdldFRlbXBsYXRlKE1vZGFsVGVtcGxhdGUuSGVhZGVyKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaG93RGVmYXVsdChNb2RhbFRlbXBsYXRlLkhlYWRlcilcIj5cclxuICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC1tb2RhbC1oZWFkZXIgW21vZGVsXT1cImRlZmF1bHRIZWFkZXJNb2RlbFwiPlxyXG4gICAgICAgICAgICAgICAgPC9zZmMtZGVmYXVsdC1tb2RhbC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvZHlcIj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJib2R5O2Vsc2UgYm9keVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keTtcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2JvZHlUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgI2JvZHlUZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImdldFRlbXBsYXRlKE1vZGFsVGVtcGxhdGUuQm9keSlcIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvb3RlcjtlbHNlIGZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyO1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ2V0VGVtcGxhdGUoTW9kYWxUZW1wbGF0ZS5Gb290ZXIpXCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Nob3dEZWZhdWx0KE1vZGFsVGVtcGxhdGUuRm9vdGVyKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNmYy1kZWZhdWx0LW1vZGFsLWZvb3RlciBbbW9kZWxdPVwiZGVmYXVsdEZvb3Rlck1vZGVsXCI+XHJcbiAgICAgICAgICAgICAgICA8L3NmYy1kZWZhdWx0LW1vZGFsLWZvb3Rlcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|