@indice/ng-components 0.2.162 → 0.2.165
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 +4 -4
- package/_styles.css +4270 -4270
- package/bundles/indice-ng-components.umd.js +5000 -0
- package/bundles/indice-ng-components.umd.js.map +1 -0
- package/{esm2020/indice-ng-components.mjs → esm2015/indice-ng-components.js} +0 -0
- package/esm2015/lib/controls/advanced-search/advanced-search.component.js +116 -0
- package/esm2015/lib/controls/advanced-search/models.js +91 -0
- package/{esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs → esm2015/lib/controls/avatar-initials/avatar-initials.component.js} +8 -5
- package/esm2015/lib/controls/collapsible-panel/collapsible-panel.component.js +23 -0
- package/esm2015/lib/controls/combobox/combobox.component.js +100 -0
- package/esm2015/lib/controls/date-picker/date-picker.component.js +301 -0
- package/esm2015/lib/controls/drop-down-menu/drop-down-menu.component.js +72 -0
- package/esm2015/lib/controls/kpi-tile/kpi-tile.component.js +39 -0
- package/esm2015/lib/controls/language-selection/language-selection.component.js +35 -0
- package/{esm2020/lib/controls/list-view/list-column.component.mjs → esm2015/lib/controls/list-view/list-column.component.js} +4 -4
- package/{esm2020/lib/controls/list-view/list-details-section.component.mjs → esm2015/lib/controls/list-view/list-details-section.component.js} +4 -4
- package/{esm2020/lib/controls/list-view/list-tile.component.mjs → esm2015/lib/controls/list-view/list-tile.component.js} +4 -4
- package/esm2015/lib/controls/list-view/list-view-empty-state.component.js +32 -0
- package/esm2015/lib/controls/list-view/list-view.component.js +209 -0
- package/esm2015/lib/controls/nav-links-list/nav-links-list.component.js +51 -0
- package/esm2015/lib/controls/notifications-indicator/notifications-indicator.component.js +82 -0
- package/esm2015/lib/controls/pager/pager.component.js +133 -0
- package/esm2015/lib/controls/side-pane/side-pane.component.js +76 -0
- package/esm2015/lib/controls/skeleton-loader/skeleton-loader.component.js +29 -0
- package/{esm2020/lib/controls/stepper/lib-step-info.directive.mjs → esm2015/lib/controls/stepper/lib-step-info.directive.js} +4 -4
- package/{esm2020/lib/controls/stepper/lib-step-label.directive.mjs → esm2015/lib/controls/stepper/lib-step-label.directive.js} +4 -4
- package/esm2015/lib/controls/stepper/lib-step.component.js +82 -0
- package/esm2015/lib/controls/stepper/lib-stepper.component.js +115 -0
- package/esm2015/lib/controls/stepper/types/step-selected-event.js +4 -0
- package/{esm2020/lib/controls/stepper/types/stepper-type.mjs → esm2015/lib/controls/stepper/types/stepper-type.js} +1 -1
- package/esm2015/lib/controls/tabs/lib-tab-group.component.js +67 -0
- package/esm2015/lib/controls/tabs/lib-tab.component.js +58 -0
- package/esm2015/lib/controls/toaster/toaster-container.component.js +31 -0
- package/esm2015/lib/controls/toaster/toaster.component.js +34 -0
- package/esm2015/lib/controls/toggle/toggle.component.js +68 -0
- package/esm2015/lib/controls/user-profile-menu/user-profile-menu.component.js +75 -0
- package/{esm2020/lib/directives/click-outside.directive.mjs → esm2015/lib/directives/click-outside.directive.js} +4 -4
- package/{esm2020/lib/directives/dynamic-component-host.directive.mjs → esm2015/lib/directives/dynamic-component-host.directive.js} +4 -4
- package/esm2015/lib/helpers/base-list.component.js +227 -0
- package/{esm2020/lib/icons.mjs → esm2015/lib/icons.js} +1 -1
- package/esm2015/lib/layouts/shell/shell-footer/shell-footer.component.js +22 -0
- package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +135 -0
- package/esm2015/lib/layouts/shell/shell-layout/shell-layout.component.js +106 -0
- package/esm2015/lib/layouts/shell/shell-sidebar/shell-sidebar.component.js +50 -0
- package/esm2015/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.js +48 -0
- package/esm2015/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.js +28 -0
- package/esm2015/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.js +24 -0
- package/esm2015/lib/layouts/views/form-layout/form-layout.component.js +85 -0
- package/esm2015/lib/layouts/views/model-view-layout/model-view-layout.component.js +53 -0
- package/esm2015/lib/layouts/views/side-view-layout/side-view-layout.component.js +101 -0
- package/esm2015/lib/layouts/views/view-layout/view-layout.component.js +110 -0
- package/{esm2020/lib/ng-components.module.mjs → esm2015/lib/ng-components.module.js} +10 -8
- package/esm2015/lib/pages/auth/auth-callback/auth-callback.component.js +34 -0
- package/{esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs → esm2015/lib/pages/auth/auth-renew/auth-renew.component.js} +4 -4
- package/esm2015/lib/pages/auth/logged-out/logged-out.component.js +32 -0
- package/esm2015/lib/pages/http-status/error/error.component.js +20 -0
- package/esm2015/lib/pages/http-status/page-not-found/page-not-found.component.js +18 -0
- package/esm2015/lib/pages/http-status/unauthorized/unauthorized.component.js +17 -0
- package/{esm2020/lib/pipes/address.pipe.mjs → esm2015/lib/pipes/address.pipe.js} +4 -4
- package/{esm2020/lib/pipes/duration-format.pipe.mjs → esm2015/lib/pipes/duration-format.pipe.js} +4 -4
- package/esm2015/lib/services/component-loader/component-loader-options.class.js +8 -0
- package/esm2015/lib/services/component-loader/component-loader.class.js +192 -0
- package/{esm2020/lib/services/component-loader/component-loader.factory.mjs → esm2015/lib/services/component-loader/component-loader.factory.js} +4 -4
- package/{esm2020/lib/services/component-loader/content-ref.class.mjs → esm2015/lib/services/component-loader/content-ref.class.js} +1 -1
- package/esm2015/lib/services/modal-service/modal-backdrop-component.js +44 -0
- package/esm2015/lib/services/modal-service/modal-container-component.js +128 -0
- package/esm2015/lib/services/modal-service/modal-options.class.js +35 -0
- package/esm2015/lib/services/modal-service/modal-service.js +220 -0
- package/{esm2020/lib/services/modal-service/modal-styles.class.mjs → esm2015/lib/services/modal-service/modal-styles.class.js} +1 -1
- package/esm2015/lib/services/modal-service/modal.class.js +27 -0
- package/{esm2020/lib/services/toaster.service.mjs → esm2015/lib/services/toaster.service.js} +4 -4
- package/{esm2020/lib/tokens.mjs → esm2015/lib/tokens.js} +1 -1
- package/{esm2020/lib/types.mjs → esm2015/lib/types.js} +1 -1
- package/{esm2020/public-api.mjs → esm2015/public-api.js} +1 -1
- package/fesm2015/indice-ng-components.js +4352 -0
- package/fesm2015/indice-ng-components.js.map +1 -0
- package/{index.d.ts → indice-ng-components.d.ts} +0 -0
- package/lib/controls/advanced-search/advanced-search.component.d.ts +1 -1
- package/lib/controls/avatar-initials/avatar-initials.component.d.ts +1 -1
- package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +1 -1
- package/lib/controls/combobox/combobox.component.d.ts +1 -1
- package/lib/controls/date-picker/date-picker.component.d.ts +1 -1
- package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +1 -1
- package/lib/controls/kpi-tile/kpi-tile.component.d.ts +1 -1
- package/lib/controls/language-selection/language-selection.component.d.ts +1 -1
- package/lib/controls/list-view/list-column.component.d.ts +1 -1
- package/lib/controls/list-view/list-details-section.component.d.ts +1 -1
- package/lib/controls/list-view/list-tile.component.d.ts +1 -1
- package/lib/controls/list-view/list-view-empty-state.component.d.ts +1 -1
- package/lib/controls/list-view/list-view.component.d.ts +1 -1
- package/lib/controls/nav-links-list/nav-links-list.component.d.ts +1 -1
- package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +1 -1
- package/lib/controls/pager/pager.component.d.ts +1 -1
- package/lib/controls/side-pane/side-pane.component.d.ts +1 -1
- package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +1 -1
- package/lib/controls/stepper/lib-step-info.directive.d.ts +1 -1
- package/lib/controls/stepper/lib-step-label.directive.d.ts +1 -1
- package/lib/controls/stepper/lib-step.component.d.ts +1 -1
- package/lib/controls/stepper/lib-stepper.component.d.ts +1 -1
- package/lib/controls/tabs/lib-tab-group.component.d.ts +1 -1
- package/lib/controls/tabs/lib-tab.component.d.ts +1 -1
- package/lib/controls/toaster/toaster-container.component.d.ts +1 -1
- package/lib/controls/toaster/toaster.component.d.ts +1 -1
- package/lib/controls/toggle/toggle.component.d.ts +1 -1
- package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +1 -1
- package/lib/directives/click-outside.directive.d.ts +1 -1
- package/lib/directives/dynamic-component-host.directive.d.ts +1 -1
- package/lib/helpers/base-list.component.d.ts +1 -1
- package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +1 -1
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +1 -1
- package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +1 -1
- package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +1 -1
- package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +1 -1
- package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +1 -1
- package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +1 -1
- package/lib/layouts/views/form-layout/form-layout.component.d.ts +1 -1
- package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +1 -1
- package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +1 -1
- package/lib/layouts/views/view-layout/view-layout.component.d.ts +1 -1
- package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +1 -1
- package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +1 -1
- package/lib/pages/auth/logged-out/logged-out.component.d.ts +1 -1
- package/lib/pages/http-status/error/error.component.d.ts +1 -1
- package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +1 -1
- package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +1 -1
- package/lib/pipes/address.pipe.d.ts +1 -1
- package/lib/pipes/duration-format.pipe.d.ts +1 -1
- package/lib/services/modal-service/modal-backdrop-component.d.ts +1 -1
- package/lib/services/modal-service/modal-container-component.d.ts +1 -1
- package/modal.css +157 -157
- package/package.json +8 -21
- package/esm2020/lib/controls/advanced-search/advanced-search.component.mjs +0 -112
- package/esm2020/lib/controls/advanced-search/models.mjs +0 -90
- package/esm2020/lib/controls/collapsible-panel/collapsible-panel.component.mjs +0 -20
- package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -97
- package/esm2020/lib/controls/date-picker/date-picker.component.mjs +0 -292
- package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -68
- package/esm2020/lib/controls/kpi-tile/kpi-tile.component.mjs +0 -36
- package/esm2020/lib/controls/language-selection/language-selection.component.mjs +0 -31
- package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
- package/esm2020/lib/controls/list-view/list-view.component.mjs +0 -206
- package/esm2020/lib/controls/nav-links-list/nav-links-list.component.mjs +0 -46
- package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -77
- package/esm2020/lib/controls/pager/pager.component.mjs +0 -130
- package/esm2020/lib/controls/side-pane/side-pane.component.mjs +0 -72
- package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -25
- package/esm2020/lib/controls/stepper/lib-step.component.mjs +0 -81
- package/esm2020/lib/controls/stepper/lib-stepper.component.mjs +0 -108
- package/esm2020/lib/controls/stepper/types/step-selected-event.mjs +0 -4
- package/esm2020/lib/controls/tabs/lib-tab-group.component.mjs +0 -60
- package/esm2020/lib/controls/tabs/lib-tab.component.mjs +0 -57
- package/esm2020/lib/controls/toaster/toaster-container.component.mjs +0 -28
- package/esm2020/lib/controls/toaster/toaster.component.mjs +0 -31
- package/esm2020/lib/controls/toggle/toggle.component.mjs +0 -64
- package/esm2020/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -71
- package/esm2020/lib/helpers/base-list.component.mjs +0 -226
- package/esm2020/lib/layouts/shell/shell-footer/shell-footer.component.mjs +0 -19
- package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -130
- package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -101
- package/esm2020/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +0 -47
- package/esm2020/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +0 -45
- package/esm2020/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -25
- package/esm2020/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +0 -21
- package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +0 -80
- package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -49
- package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -98
- package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
- package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
- package/esm2020/lib/pages/auth/logged-out/logged-out.component.mjs +0 -28
- package/esm2020/lib/pages/http-status/error/error.component.mjs +0 -17
- package/esm2020/lib/pages/http-status/page-not-found/page-not-found.component.mjs +0 -15
- package/esm2020/lib/pages/http-status/unauthorized/unauthorized.component.mjs +0 -14
- package/esm2020/lib/services/component-loader/component-loader-options.class.mjs +0 -8
- package/esm2020/lib/services/component-loader/component-loader.class.mjs +0 -188
- package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
- package/esm2020/lib/services/modal-service/modal-container-component.mjs +0 -126
- package/esm2020/lib/services/modal-service/modal-options.class.mjs +0 -35
- package/esm2020/lib/services/modal-service/modal-service.mjs +0 -219
- package/esm2020/lib/services/modal-service/modal.class.mjs +0 -27
- package/fesm2015/indice-ng-components.mjs +0 -4264
- package/fesm2015/indice-ng-components.mjs.map +0 -1
- package/fesm2020/indice-ng-components.mjs +0 -4191
- package/fesm2020/indice-ng-components.mjs.map +0 -1
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { animationTime, cssClassNames } from './modal-styles.class';
|
|
5
|
-
import { ModalBackdropComponent } from './modal-backdrop-component';
|
|
6
|
-
import { ModalContainerComponent } from './modal-container-component';
|
|
7
|
-
import { modalConfigDefaults, ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE } from './modal-options.class';
|
|
8
|
-
import { Modal } from './modal.class';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../component-loader/component-loader.factory";
|
|
11
|
-
import * as i2 from "./modal-options.class";
|
|
12
|
-
/**
|
|
13
|
-
* A service for using modals.
|
|
14
|
-
*
|
|
15
|
-
* @public
|
|
16
|
-
*/
|
|
17
|
-
export class ModalService {
|
|
18
|
-
constructor(clf, rendererFactory, document, modalDefaultOption) {
|
|
19
|
-
this.clf = clf;
|
|
20
|
-
this.document = document;
|
|
21
|
-
this.onBeforeShow = new Subject();
|
|
22
|
-
this.onShown = new Subject();
|
|
23
|
-
this.onBeforeHide = new Subject();
|
|
24
|
-
this.onHidden = new Subject();
|
|
25
|
-
this.loaders = [];
|
|
26
|
-
this.modalsCount = 0;
|
|
27
|
-
this.initialPadding = '0px';
|
|
28
|
-
this.backdropLoader = this.clf.createLoader();
|
|
29
|
-
this.defaultConfig = { ...modalConfigDefaults, ...modalDefaultOption };
|
|
30
|
-
this.renderer = rendererFactory.createRenderer(null, null);
|
|
31
|
-
}
|
|
32
|
-
ngOnDestroy() {
|
|
33
|
-
this.loaders.forEach((loader) => loader.instance?.hide());
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Opens a new modal.
|
|
37
|
-
*
|
|
38
|
-
* @param content - `Component` or `TemplateRef` type.
|
|
39
|
-
* @param config - Specific {@link ModalOptions | options} for this modal. Global and specific options are merged.
|
|
40
|
-
* @returns An instance of {@link Modal}
|
|
41
|
-
*/
|
|
42
|
-
show(content, config) {
|
|
43
|
-
this.modalsCount++;
|
|
44
|
-
const combinedConfig = { ...this.defaultConfig, ...config };
|
|
45
|
-
combinedConfig.id = config?.id || new Date().getUTCMilliseconds();
|
|
46
|
-
this.createLoaders();
|
|
47
|
-
this.addBodyPadding();
|
|
48
|
-
if (this.modalsCount === 1) {
|
|
49
|
-
this.renderer.addClass(this.document.body, cssClassNames.modalOpen);
|
|
50
|
-
}
|
|
51
|
-
this.showBackdrop(combinedConfig);
|
|
52
|
-
return this.showModal(content, combinedConfig);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Hide an active modal.
|
|
56
|
-
* @param id - Id of modal to hide. If not provided all active modals are hidden.
|
|
57
|
-
* @param result - A result to be sent to observers.
|
|
58
|
-
*/
|
|
59
|
-
hide(id, result) {
|
|
60
|
-
if (this.modalsCount === 1 || id == null) {
|
|
61
|
-
this.hideBackdrop();
|
|
62
|
-
this.revertScrollbar();
|
|
63
|
-
this.renderer.removeClass(this.document.body, cssClassNames.modalOpen);
|
|
64
|
-
}
|
|
65
|
-
this.modalsCount = this.modalsCount >= 1 && id != null ? this.modalsCount - 1 : 0;
|
|
66
|
-
setTimeout(() => {
|
|
67
|
-
this.hideModal(id, result);
|
|
68
|
-
this.removeLoaders(id);
|
|
69
|
-
},
|
|
70
|
-
//Bug
|
|
71
|
-
//Should use combined config but for the moment is not possible to pass it this parameter.
|
|
72
|
-
//If config is an instance variable then every newly opened modal will override the config
|
|
73
|
-
//resulting in opened modals to get a new configuration
|
|
74
|
-
this.defaultConfig.animated ? animationTime.backdrop : 0);
|
|
75
|
-
}
|
|
76
|
-
getActiveModal() {
|
|
77
|
-
return this.loaders[this.modalsCount - 1].instance;
|
|
78
|
-
}
|
|
79
|
-
showModal(content, combinedConfig) {
|
|
80
|
-
const modalLoader = this.loaders[this.loaders.length - 1];
|
|
81
|
-
if (combinedConfig && combinedConfig.providers) {
|
|
82
|
-
combinedConfig.providers.forEach((provider) => modalLoader.provide(provider));
|
|
83
|
-
}
|
|
84
|
-
const modal = new Modal();
|
|
85
|
-
const modalContainerRef = modalLoader
|
|
86
|
-
.provide({ provide: ModalOptions, useValue: combinedConfig })
|
|
87
|
-
.provide({ provide: Modal, useValue: modal })
|
|
88
|
-
.attach(ModalContainerComponent)
|
|
89
|
-
.to('body');
|
|
90
|
-
modal.setClass = (newClass) => {
|
|
91
|
-
if (modalContainerRef.instance) {
|
|
92
|
-
modalContainerRef.instance.config.class = newClass;
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
modal.onBeforeHide = new Subject();
|
|
96
|
-
modal.onHidden = new Subject();
|
|
97
|
-
this.copyEvent(modalLoader.onBeforeHide, modal.onBeforeHide);
|
|
98
|
-
this.copyEvent(modalLoader.onHidden, modal.onHidden);
|
|
99
|
-
modalContainerRef.show({
|
|
100
|
-
content,
|
|
101
|
-
animationsEnabled: combinedConfig.animated,
|
|
102
|
-
initialState: combinedConfig.initialState,
|
|
103
|
-
modalService: this,
|
|
104
|
-
id: combinedConfig.id,
|
|
105
|
-
});
|
|
106
|
-
if (modalContainerRef.instance) {
|
|
107
|
-
modalContainerRef.instance.level = this.modalsCount;
|
|
108
|
-
modal.content = modalLoader.getInnerComponent();
|
|
109
|
-
modal.id = modalContainerRef.instance.config?.id;
|
|
110
|
-
modal.hide = (res) => modalContainerRef.instance?.hide(res);
|
|
111
|
-
}
|
|
112
|
-
return modal;
|
|
113
|
-
}
|
|
114
|
-
hideModal(id, result) {
|
|
115
|
-
if (id != null) {
|
|
116
|
-
const indexToRemove = this.loaders.findIndex((loader) => loader.instance?.config.id === id);
|
|
117
|
-
const modalLoader = this.loaders[indexToRemove];
|
|
118
|
-
if (modalLoader) {
|
|
119
|
-
modalLoader.hide(id, result);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
this.loaders.forEach((loader) => {
|
|
124
|
-
if (loader.instance) {
|
|
125
|
-
loader.hide(loader.instance.config.id);
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
showBackdrop(combinedConfig) {
|
|
131
|
-
const isBackdropEnabled = combinedConfig.backdrop === true || combinedConfig.backdrop === 'static';
|
|
132
|
-
const isBackdropInDOM = this.backdropRef != null;
|
|
133
|
-
if (isBackdropEnabled && !isBackdropInDOM) {
|
|
134
|
-
this.backdropLoader
|
|
135
|
-
.attach(ModalBackdropComponent)
|
|
136
|
-
.to('body')
|
|
137
|
-
.show({ animationsEnabled: combinedConfig.animated, backdropLoader: this.backdropLoader });
|
|
138
|
-
this.backdropRef = this.backdropLoader.componentRef;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
hideBackdrop() {
|
|
142
|
-
if (!this.backdropRef) {
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
this.backdropRef.instance.hide();
|
|
146
|
-
this.backdropRef = void 0;
|
|
147
|
-
}
|
|
148
|
-
removeLoaders(id) {
|
|
149
|
-
if (id != null) {
|
|
150
|
-
const indexToRemove = this.loaders.findIndex((loader) => loader.instance?.config.id === id);
|
|
151
|
-
if (indexToRemove >= 0) {
|
|
152
|
-
this.loaders.splice(indexToRemove, 1);
|
|
153
|
-
this.loaders.forEach((loader, i) => {
|
|
154
|
-
if (loader.instance) {
|
|
155
|
-
loader.instance.level = i + 1;
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
this.loaders.splice(0, this.loaders.length);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
addBodyPadding() {
|
|
165
|
-
if (this.modalsCount === 1) {
|
|
166
|
-
const width = this.getScrollbarWidth();
|
|
167
|
-
if (this.isScrollBarPresent(width)) {
|
|
168
|
-
this.initialPadding = this.document.body.style.paddingRight;
|
|
169
|
-
const actualPadding = parseFloat(window.getComputedStyle(this.document.body).paddingRight);
|
|
170
|
-
this.document.body.style.paddingRight = `${actualPadding + width}px`;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
revertScrollbar() {
|
|
175
|
-
this.document.body.style.paddingRight = this.initialPadding;
|
|
176
|
-
}
|
|
177
|
-
getScrollbarWidth() {
|
|
178
|
-
const measurer = this.document.createElement('div');
|
|
179
|
-
measurer.className = 'modal-scrollbar-measure';
|
|
180
|
-
const body = this.document.body;
|
|
181
|
-
body.appendChild(measurer);
|
|
182
|
-
const width = measurer.getBoundingClientRect().width - measurer.clientWidth;
|
|
183
|
-
body.removeChild(measurer);
|
|
184
|
-
return width;
|
|
185
|
-
}
|
|
186
|
-
isScrollBarPresent(scrollbarWidth) {
|
|
187
|
-
const rect = this.document.body.getBoundingClientRect();
|
|
188
|
-
const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);
|
|
189
|
-
const uncertainty = 0.1 * scrollbarWidth;
|
|
190
|
-
return bodyToViewportGap >= scrollbarWidth - uncertainty;
|
|
191
|
-
}
|
|
192
|
-
createLoaders() {
|
|
193
|
-
const loader = this.clf.createLoader();
|
|
194
|
-
this.copyEvent(loader.onBeforeShow, this.onBeforeShow);
|
|
195
|
-
this.copyEvent(loader.onShown, this.onShown);
|
|
196
|
-
this.copyEvent(loader.onBeforeHide, this.onBeforeHide);
|
|
197
|
-
this.copyEvent(loader.onHidden, this.onHidden);
|
|
198
|
-
this.loaders.push(loader);
|
|
199
|
-
}
|
|
200
|
-
copyEvent(from, to) {
|
|
201
|
-
from.subscribe((data) => {
|
|
202
|
-
to.next(data);
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ModalService, deps: [{ token: i1.ComponentLoaderFactory }, { token: i0.RendererFactory2 }, { token: DOCUMENT }, { token: MODAL_CONFIG_DEFAULT_OVERRIDE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
207
|
-
ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ModalService });
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ModalService, decorators: [{
|
|
209
|
-
type: Injectable
|
|
210
|
-
}], ctorParameters: function () { return [{ type: i1.ComponentLoaderFactory }, { type: i0.RendererFactory2 }, { type: undefined, decorators: [{
|
|
211
|
-
type: Inject,
|
|
212
|
-
args: [DOCUMENT]
|
|
213
|
-
}] }, { type: i2.ModalOptions, decorators: [{
|
|
214
|
-
type: Optional
|
|
215
|
-
}, {
|
|
216
|
-
type: Inject,
|
|
217
|
-
args: [MODAL_CONFIG_DEFAULT_OVERRIDE]
|
|
218
|
-
}] }]; } });
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1zZXJ2aWNlL21vZGFsLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBZ0IsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQTRDLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUd0Qzs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFhdkIsWUFDVSxHQUEyQixFQUNuQyxlQUFpQyxFQUNQLFFBQWEsRUFDWSxrQkFBZ0M7UUFIM0UsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFFVCxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBZmpDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDN0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFLekIsWUFBTyxHQUErQyxFQUFFLENBQUM7UUFFekQsZ0JB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QUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxJQUFzQixFQUFFLEVBQW9CO1FBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7eUdBMU5VLFlBQVksd0ZBZ0JiLFFBQVEsYUFDSSw2QkFBNkI7NkdBakJ4QyxZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7OzBCQWlCTixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudExvYWRlciB9IGZyb20gJy4uL2NvbXBvbmVudC1sb2FkZXIvY29tcG9uZW50LWxvYWRlci5jbGFzcyc7XG5pbXBvcnQgeyBhbmltYXRpb25UaW1lLCBjc3NDbGFzc05hbWVzIH0gZnJvbSAnLi9tb2RhbC1zdHlsZXMuY2xhc3MnO1xuaW1wb3J0IHsgTW9kYWxCYWNrZHJvcENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYmFja2Ryb3AtY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1jb250YWluZXItY29tcG9uZW50JztcbmltcG9ydCB7IG1vZGFsQ29uZmlnRGVmYXVsdHMsIE1vZGFsT3B0aW9ucywgTU9EQUxfQ09ORklHX0RFRkFVTFRfT1ZFUlJJREUgfSBmcm9tICcuL21vZGFsLW9wdGlvbnMuY2xhc3MnO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICcuL21vZGFsLmNsYXNzJztcbmltcG9ydCB7IENvbXBvbmVudExvYWRlckZhY3RvcnkgfSBmcm9tICcuLi9jb21wb25lbnQtbG9hZGVyL2NvbXBvbmVudC1sb2FkZXIuZmFjdG9yeSc7XG5cbi8qKlxuICogQSBzZXJ2aWNlIGZvciB1c2luZyBtb2RhbHMuXG4gKlxuICogQHB1YmxpY1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9kYWxTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBvbkJlZm9yZVNob3cgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIG9uU2hvd24gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIG9uQmVmb3JlSGlkZSA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgb25IaWRkZW4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgYmFja2Ryb3BSZWY/OiBDb21wb25lbnRSZWY8TW9kYWxCYWNrZHJvcENvbXBvbmVudD47XG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogTW9kYWxPcHRpb25zO1xuICBwcml2YXRlIGJhY2tkcm9wTG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxCYWNrZHJvcENvbXBvbmVudD47XG4gIHByaXZhdGUgbG9hZGVyczogQ29tcG9uZW50TG9hZGVyPE1vZGFsQ29udGFpbmVyQ29tcG9uZW50PltdID0gW107XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSBtb2RhbHNDb3VudCA9IDA7XG4gIHByaXZhdGUgaW5pdGlhbFBhZGRpbmcgPSAnMHB4JztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjbGY6IENvbXBvbmVudExvYWRlckZhY3RvcnksXG4gICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1PREFMX0NPTkZJR19ERUZBVUxUX09WRVJSSURFKSBtb2RhbERlZmF1bHRPcHRpb246IE1vZGFsT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLmJhY2tkcm9wTG9hZGVyID0gdGhpcy5jbGYuY3JlYXRlTG9hZGVyPE1vZGFsQmFja2Ryb3BDb21wb25lbnQ+KCk7XG4gICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi5tb2RhbENvbmZpZ0RlZmF1bHRzLCAuLi5tb2RhbERlZmF1bHRPcHRpb24gfTtcbiAgICB0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkZXJzLmZvckVhY2goKGxvYWRlcikgPT4gbG9hZGVyLmluc3RhbmNlPy5oaWRlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgbmV3IG1vZGFsLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGVudCAtIGBDb21wb25lbnRgIG9yIGBUZW1wbGF0ZVJlZmAgdHlwZS5cbiAgICogQHBhcmFtIGNvbmZpZyAtIFNwZWNpZmljIHtAbGluayBNb2RhbE9wdGlvbnMgfCBvcHRpb25zfSAgZm9yIHRoaXMgbW9kYWwuIEdsb2JhbCBhbmQgc3BlY2lmaWMgb3B0aW9ucyBhcmUgbWVyZ2VkLlxuICAgKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBvZiB7QGxpbmsgTW9kYWx9XG4gICAqL1xuICBwdWJsaWMgc2hvdzxUPihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgeyBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVCB9LCBjb25maWc/OiBNb2RhbE9wdGlvbnM8VD4pIHtcbiAgICB0aGlzLm1vZGFsc0NvdW50Kys7XG4gICAgY29uc3QgY29tYmluZWRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH07XG4gICAgY29tYmluZWRDb25maWcuaWQgPSBjb25maWc/LmlkIHx8IG5ldyBEYXRlKCkuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7XG4gICAgdGhpcy5jcmVhdGVMb2FkZXJzKCk7XG5cbiAgICB0aGlzLmFkZEJvZHlQYWRkaW5nKCk7XG4gICAgaWYgKHRoaXMubW9kYWxzQ291bnQgPT09IDEpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCBjc3NDbGFzc05hbWVzLm1vZGFsT3Blbik7XG4gICAgfVxuICAgIHRoaXMuc2hvd0JhY2tkcm9wKGNvbWJpbmVkQ29uZmlnKTtcbiAgICByZXR1cm4gdGhpcy5zaG93TW9kYWw8VD4oY29udGVudCwgY29tYmluZWRDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgYW4gYWN0aXZlIG1vZGFsLlxuICAgKiBAcGFyYW0gaWQgLSBJZCBvZiBtb2RhbCB0byBoaWRlLiBJZiBub3QgcHJvdmlkZWQgYWxsIGFjdGl2ZSBtb2RhbHMgYXJlIGhpZGRlbi5cbiAgICogQHBhcmFtIHJlc3VsdCAtIEEgcmVzdWx0IHRvIGJlIHNlbnQgdG8gb2JzZXJ2ZXJzLlxuICAgKi9cbiAgcHVibGljIGhpZGUoaWQ/OiBudW1iZXIgfCBzdHJpbmcsIHJlc3VsdD86IGFueSkge1xuICAgIGlmICh0aGlzLm1vZGFsc0NvdW50ID09PSAxIHx8IGlkID09IG51bGwpIHtcbiAgICAgIHRoaXMuaGlkZUJhY2tkcm9wKCk7XG4gICAgICB0aGlzLnJldmVydFNjcm9sbGJhcigpO1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIGNzc0NsYXNzTmFtZXMubW9kYWxPcGVuKTtcbiAgICB9XG4gICAgdGhpcy5tb2RhbHNDb3VudCA9IHRoaXMubW9kYWxzQ291bnQgPj0gMSAmJiBpZCAhPSBudWxsID8gdGhpcy5tb2RhbHNDb3VudCAtIDEgOiAwO1xuICAgIHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuaGlkZU1vZGFsKGlkLCByZXN1bHQpO1xuICAgICAgICB0aGlzLnJlbW92ZUxvYWRlcnMoaWQpO1xuICAgICAgfSxcbiAgICAgIC8vQnVnXG4gICAgICAvL1Nob3VsZCB1c2UgY29tYmluZWQgY29uZmlnIGJ1dCBmb3IgdGhlIG1vbWVudCBpcyBub3QgcG9zc2libGUgdG8gcGFzcyBpdCB0aGlzIHBhcmFtZXRlci5cbiAgICAgIC8vSWYgY29uZmlnIGlzIGFuIGluc3RhbmNlIHZhcmlhYmxlIHRoZW4gZXZlcnkgbmV3bHkgb3BlbmVkIG1vZGFsIHdpbGwgb3ZlcnJpZGUgdGhlIGNvbmZpZ1xuICAgICAgLy9yZXN1bHRpbmcgaW4gb3BlbmVkIG1vZGFscyB0byBnZXQgYSBuZXcgY29uZmlndXJhdGlvblxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmFuaW1hdGVkID8gYW5pbWF0aW9uVGltZS5iYWNrZHJvcCA6IDBcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZU1vZGFsKCk6IE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkZXJzW3RoaXMubW9kYWxzQ291bnQgLSAxXS5pbnN0YW5jZSBhcyBNb2RhbENvbnRhaW5lckNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd01vZGFsPFQ+KGNvbnRlbnQ6IGFueSwgY29tYmluZWRDb25maWc6IE1vZGFsT3B0aW9ucyk6IE1vZGFsPFQ+IHtcbiAgICBjb25zdCBtb2RhbExvYWRlciA9IHRoaXMubG9hZGVyc1t0aGlzLmxvYWRlcnMubGVuZ3RoIC0gMV07XG4gICAgaWYgKGNvbWJpbmVkQ29uZmlnICYmIGNvbWJpbmVkQ29uZmlnLnByb3ZpZGVycykge1xuICAgICAgY29tYmluZWRDb25maWcucHJvdmlkZXJzLmZvckVhY2goKHByb3ZpZGVyKSA9PiBtb2RhbExvYWRlci5wcm92aWRlKHByb3ZpZGVyKSk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9kYWwgPSBuZXcgTW9kYWw8YW55PigpO1xuICAgIGNvbnN0IG1vZGFsQ29udGFpbmVyUmVmID0gbW9kYWxMb2FkZXJcbiAgICAgIC5wcm92aWRlKHsgcHJvdmlkZTogTW9kYWxPcHRpb25zLCB1c2VWYWx1ZTogY29tYmluZWRDb25maWcgfSlcbiAgICAgIC5wcm92aWRlKHsgcHJvdmlkZTogTW9kYWwsIHVzZVZhbHVlOiBtb2RhbCB9KVxuICAgICAgLmF0dGFjaChNb2RhbENvbnRhaW5lckNvbXBvbmVudClcbiAgICAgIC50bygnYm9keScpO1xuXG4gICAgbW9kYWwuc2V0Q2xhc3MgPSAobmV3Q2xhc3M6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlKSB7XG4gICAgICAgIG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlLmNvbmZpZy5jbGFzcyA9IG5ld0NsYXNzO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBtb2RhbC5vbkJlZm9yZUhpZGUgPSBuZXcgU3ViamVjdCgpO1xuICAgIG1vZGFsLm9uSGlkZGVuID0gbmV3IFN1YmplY3QoKTtcbiAgICB0aGlzLmNvcHlFdmVudChtb2RhbExvYWRlci5vbkJlZm9yZUhpZGUsIG1vZGFsLm9uQmVmb3JlSGlkZSk7XG4gICAgdGhpcy5jb3B5RXZlbnQobW9kYWxMb2FkZXIub25IaWRkZW4sIG1vZGFsLm9uSGlkZGVuKTtcbiAgICBtb2RhbENvbnRhaW5lclJlZi5zaG93KHtcbiAgICAgIGNvbnRlbnQsXG4gICAgICBhbmltYXRpb25zRW5hYmxlZDogY29tYmluZWRDb25maWcuYW5pbWF0ZWQsXG4gICAgICBpbml0aWFsU3RhdGU6IGNvbWJpbmVkQ29uZmlnLmluaXRpYWxTdGF0ZSxcbiAgICAgIG1vZGFsU2VydmljZTogdGhpcyxcbiAgICAgIGlkOiBjb21iaW5lZENvbmZpZy5pZCxcbiAgICB9KTtcblxuICAgIGlmIChtb2RhbENvbnRhaW5lclJlZi5pbnN0YW5jZSkge1xuICAgICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UubGV2ZWwgPSB0aGlzLm1vZGFsc0NvdW50O1xuICAgICAgbW9kYWwuY29udGVudCA9IG1vZGFsTG9hZGVyLmdldElubmVyQ29tcG9uZW50KCk7XG4gICAgICBtb2RhbC5pZCA9IG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlLmNvbmZpZz8uaWQ7XG4gICAgICBtb2RhbC5oaWRlID0gKHJlcykgPT4gbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2U/LmhpZGUocmVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kYWw7XG4gIH1cblxuICBwcml2YXRlIGhpZGVNb2RhbChpZD86IG51bWJlciB8IHN0cmluZywgcmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGluZGV4VG9SZW1vdmUgPSB0aGlzLmxvYWRlcnMuZmluZEluZGV4KChsb2FkZXIpID0+IGxvYWRlci5pbnN0YW5jZT8uY29uZmlnLmlkID09PSBpZCk7XG4gICAgICBjb25zdCBtb2RhbExvYWRlciA9IHRoaXMubG9hZGVyc1tpbmRleFRvUmVtb3ZlXTtcbiAgICAgIGlmIChtb2RhbExvYWRlcikge1xuICAgICAgICBtb2RhbExvYWRlci5oaWRlKGlkLCByZXN1bHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvYWRlcnMuZm9yRWFjaCgobG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxDb250YWluZXJDb21wb25lbnQ+KSA9PiB7XG4gICAgICAgIGlmIChsb2FkZXIuaW5zdGFuY2UpIHtcbiAgICAgICAgICBsb2FkZXIuaGlkZShsb2FkZXIuaW5zdGFuY2UuY29uZmlnLmlkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93QmFja2Ryb3AoY29tYmluZWRDb25maWc6IE1vZGFsT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IGlzQmFja2Ryb3BFbmFibGVkID0gY29tYmluZWRDb25maWcuYmFja2Ryb3AgPT09IHRydWUgfHwgY29tYmluZWRDb25maWcuYmFja2Ryb3AgPT09ICdzdGF0aWMnO1xuICAgIGNvbnN0IGlzQmFja2Ryb3BJbkRPTSA9IHRoaXMuYmFja2Ryb3BSZWYgIT0gbnVsbDtcbiAgICBpZiAoaXNCYWNrZHJvcEVuYWJsZWQgJiYgIWlzQmFja2Ryb3BJbkRPTSkge1xuICAgICAgdGhpcy5iYWNrZHJvcExvYWRlclxuICAgICAgICAuYXR0YWNoKE1vZGFsQmFja2Ryb3BDb21wb25lbnQpXG4gICAgICAgIC50bygnYm9keScpXG4gICAgICAgIC5zaG93KHsgYW5pbWF0aW9uc0VuYWJsZWQ6IGNvbWJpbmVkQ29uZmlnLmFuaW1hdGVkLCBiYWNrZHJvcExvYWRlcjogdGhpcy5iYWNrZHJvcExvYWRlciB9KTtcbiAgICAgIHRoaXMuYmFja2Ryb3BSZWYgPSB0aGlzLmJhY2tkcm9wTG9hZGVyLmNvbXBvbmVudFJlZjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZGVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYmFja2Ryb3BSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5iYWNrZHJvcFJlZi5pbnN0YW5jZS5oaWRlKCk7XG4gICAgdGhpcy5iYWNrZHJvcFJlZiA9IHZvaWQgMDtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTG9hZGVycyhpZD86IG51bWJlciB8IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpZCAhPSBudWxsKSB7XG4gICAgICBjb25zdCBpbmRleFRvUmVtb3ZlID0gdGhpcy5sb2FkZXJzLmZpbmRJbmRleCgobG9hZGVyKSA9PiBsb2FkZXIuaW5zdGFuY2U/LmNvbmZpZy5pZCA9PT0gaWQpO1xuICAgICAgaWYgKGluZGV4VG9SZW1vdmUgPj0gMCkge1xuICAgICAgICB0aGlzLmxvYWRlcnMuc3BsaWNlKGluZGV4VG9SZW1vdmUsIDEpO1xuICAgICAgICB0aGlzLmxvYWRlcnMuZm9yRWFjaCgobG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxDb250YWluZXJDb21wb25lbnQ+LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICBpZiAobG9hZGVyLmluc3RhbmNlKSB7XG4gICAgICAgICAgICBsb2FkZXIuaW5zdGFuY2UubGV2ZWwgPSBpICsgMTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvYWRlcnMuc3BsaWNlKDAsIHRoaXMubG9hZGVycy5sZW5ndGgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQm9keVBhZGRpbmcoKSB7XG4gICAgaWYgKHRoaXMubW9kYWxzQ291bnQgPT09IDEpIHtcbiAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRTY3JvbGxiYXJXaWR0aCgpO1xuICAgICAgaWYgKHRoaXMuaXNTY3JvbGxCYXJQcmVzZW50KHdpZHRoKSkge1xuICAgICAgICB0aGlzLmluaXRpYWxQYWRkaW5nID0gdGhpcy5kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodDtcbiAgICAgICAgY29uc3QgYWN0dWFsUGFkZGluZyA9IHBhcnNlRmxvYXQod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5KS5wYWRkaW5nUmlnaHQpO1xuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gYCR7YWN0dWFsUGFkZGluZyArIHdpZHRofXB4YDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJldmVydFNjcm9sbGJhcigpIHtcbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gdGhpcy5pbml0aWFsUGFkZGluZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Nyb2xsYmFyV2lkdGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZWFzdXJlciA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgbWVhc3VyZXIuY2xhc3NOYW1lID0gJ21vZGFsLXNjcm9sbGJhci1tZWFzdXJlJztcblxuICAgIGNvbnN0IGJvZHkgPSB0aGlzLmRvY3VtZW50LmJvZHk7XG4gICAgYm9keS5hcHBlbmRDaGlsZChtZWFzdXJlcik7XG4gICAgY29uc3Qgd2lkdGggPSBtZWFzdXJlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIG1lYXN1cmVyLmNsaWVudFdpZHRoO1xuICAgIGJvZHkucmVtb3ZlQ2hpbGQobWVhc3VyZXIpO1xuXG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Njcm9sbEJhclByZXNlbnQoc2Nyb2xsYmFyV2lkdGg6IG51bWJlcikge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLmRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYm9keVRvVmlld3BvcnRHYXAgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIChyZWN0LmxlZnQgKyByZWN0LnJpZ2h0KTtcbiAgICBjb25zdCB1bmNlcnRhaW50eSA9IDAuMSAqIHNjcm9sbGJhcldpZHRoO1xuICAgIHJldHVybiBib2R5VG9WaWV3cG9ydEdhcCA+PSBzY3JvbGxiYXJXaWR0aCAtIHVuY2VydGFpbnR5O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMb2FkZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvYWRlciA9IHRoaXMuY2xmLmNyZWF0ZUxvYWRlcjxNb2RhbENvbnRhaW5lckNvbXBvbmVudD4oKTtcbiAgICB0aGlzLmNvcHlFdmVudChsb2FkZXIub25CZWZvcmVTaG93LCB0aGlzLm9uQmVmb3JlU2hvdyk7XG4gICAgdGhpcy5jb3B5RXZlbnQobG9hZGVyLm9uU2hvd24sIHRoaXMub25TaG93bik7XG4gICAgdGhpcy5jb3B5RXZlbnQobG9hZGVyLm9uQmVmb3JlSGlkZSwgdGhpcy5vbkJlZm9yZUhpZGUpO1xuICAgIHRoaXMuY29weUV2ZW50KGxvYWRlci5vbkhpZGRlbiwgdGhpcy5vbkhpZGRlbik7XG4gICAgdGhpcy5sb2FkZXJzLnB1c2gobG9hZGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgY29weUV2ZW50KGZyb206IFN1YmplY3Q8dW5rbm93bj4sIHRvOiBTdWJqZWN0PHVua25vd24+KSB7XG4gICAgZnJvbS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRvLm5leHQoZGF0YSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Modal class.
|
|
5
|
-
* @remarks
|
|
6
|
-
* This is returned from {@link ModalService.show}.
|
|
7
|
-
* @public
|
|
8
|
-
*/
|
|
9
|
-
export class Modal {
|
|
10
|
-
constructor() {
|
|
11
|
-
/**
|
|
12
|
-
* Hides the modal
|
|
13
|
-
* @param result - A result to the observers.
|
|
14
|
-
*/
|
|
15
|
-
this.hide = () => void 0;
|
|
16
|
-
/**
|
|
17
|
-
* Sets new class to modal window.
|
|
18
|
-
*/
|
|
19
|
-
this.setClass = () => void 0;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
Modal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: Modal, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
|
-
Modal.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: Modal });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: Modal, decorators: [{
|
|
25
|
-
type: Injectable
|
|
26
|
-
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbW9kYWwtc2VydmljZS9tb2RhbC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQzs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyxLQUFLO0lBRGxCO1FBMEJFOzs7V0FHRztRQUNILFNBQUksR0FBMkIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUM7O1dBRUc7UUFDSCxhQUFRLEdBQStCLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3JEOztrR0FsQ1ksS0FBSztzR0FBTCxLQUFLOzJGQUFMLEtBQUs7a0JBRGpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogTW9kYWwgY2xhc3MuXG4gKiBAcmVtYXJrc1xuICogVGhpcyBpcyByZXR1cm5lZCBmcm9tIHtAbGluayBNb2RhbFNlcnZpY2Uuc2hvd30uXG4gKiBAcHVibGljXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbDxUID0gYW55PiB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGZpcmVkIHdoZW4gdGhlIG1vZGFsIGJlaGluZCB0aGUgcmVmIHN0YXJ0cyBoaWRpbmcuXG4gICAqIEByZXR1cm5zXG4gICAqIE1vZGFsIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICovXG4gIG9uQmVmb3JlSGlkZT86IFN1YmplY3Q8dW5rbm93bj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGZpcmVkIHdoZW4gdGhlIG1vZGFsIGJlaGluZCB0aGUgcmVmIGZpbmlzaGVzIGhpZGluZy5cbiAgICogQHJldHVybnNcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGlkIG9mIHRoZSBjbG9zZWQgbW9kYWwgYW5kIHJlc3VsdC5cbiAgICovXG4gIG9uSGlkZGVuPzogU3ViamVjdDx1bmtub3duPjtcbiAgLyoqXG4gICAqICBJZCBvZiB0aGlzIG1vZGFsLlxuICAgKi9cbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byBhIGNvbXBvbmVudCBpbnNpZGUgdGhlIG1vZGFsLiBOdWxsIGlmIG1vZGFsJ3MgYmVlbiBjcmVhdGVkIHdpdGggVGVtcGxhdGVSZWYuXG4gICAqIEByZW1hcmtzXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gZG8gbmFzdHkgc3R1ZmYgd2l0aCBvcGVuZWQgbW9kYWwgaW5zdGFuY2UuXG4gICAqL1xuICBjb250ZW50PzogVDtcblxuICAvKipcbiAgICogSGlkZXMgdGhlIG1vZGFsXG4gICAqIEBwYXJhbSByZXN1bHQgLSBBIHJlc3VsdCB0byB0aGUgb2JzZXJ2ZXJzLlxuICAgKi9cbiAgaGlkZTogKHJlc3VsdD86IGFueSkgPT4gdm9pZCA9ICgpID0+IHZvaWQgMDtcbiAgLyoqXG4gICAqIFNldHMgbmV3IGNsYXNzIHRvIG1vZGFsIHdpbmRvdy5cbiAgICovXG4gIHNldENsYXNzOiAobmV3Q2xhc3M6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHZvaWQgMDtcbn1cbiJdfQ==
|