zek 17.3.119 → 19.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 +49 -10
- package/fesm2022/zek.mjs +856 -750
- package/fesm2022/zek.mjs.map +1 -1
- package/lib/components/base.component.d.ts +1 -1
- package/lib/components/core-ui.component.d.ts +1 -1
- package/lib/components/core.component.d.ts +1 -1
- package/lib/components/edit-base.component.d.ts +3 -3
- package/lib/components/list-base.component.d.ts +1 -1
- package/lib/modules/bb/bb-modal-base.d.ts +1 -1
- package/lib/modules/validators/directive.d.ts +1 -1
- package/package.json +3 -5
- package/esm2022/lib/components/args.mjs +0 -2
- package/esm2022/lib/components/base.component.mjs +0 -101
- package/esm2022/lib/components/core-ui.component.mjs +0 -193
- package/esm2022/lib/components/core.component.mjs +0 -46
- package/esm2022/lib/components/edit-base.component.mjs +0 -226
- package/esm2022/lib/components/index.mjs +0 -8
- package/esm2022/lib/components/list-base.component.mjs +0 -311
- package/esm2022/lib/components/types.mjs +0 -2
- package/esm2022/lib/directives/delayed-input.directive.mjs +0 -57
- package/esm2022/lib/directives/index.mjs +0 -2
- package/esm2022/lib/models/alert-type.mjs +0 -2
- package/esm2022/lib/models/api.mjs +0 -2
- package/esm2022/lib/models/approve.moodel.mjs +0 -2
- package/esm2022/lib/models/batch.model.mjs +0 -2
- package/esm2022/lib/models/captcha.model.mjs +0 -2
- package/esm2022/lib/models/ctor.mjs +0 -2
- package/esm2022/lib/models/edit-base.model.mjs +0 -3
- package/esm2022/lib/models/file.model.mjs +0 -2
- package/esm2022/lib/models/filter.model.mjs +0 -12
- package/esm2022/lib/models/gender.model.mjs +0 -6
- package/esm2022/lib/models/index.mjs +0 -22
- package/esm2022/lib/models/key-pair.model.mjs +0 -14
- package/esm2022/lib/models/list-base.model.mjs +0 -3
- package/esm2022/lib/models/login.model.mjs +0 -2
- package/esm2022/lib/models/modal-size.mjs +0 -2
- package/esm2022/lib/models/month.model.mjs +0 -16
- package/esm2022/lib/models/nav.model.mjs +0 -2
- package/esm2022/lib/models/pager.model.mjs +0 -33
- package/esm2022/lib/models/print.model.mjs +0 -6
- package/esm2022/lib/models/tree.mjs +0 -2
- package/esm2022/lib/models/tree.model.mjs +0 -7
- package/esm2022/lib/models/valid-event-args.model.mjs +0 -6
- package/esm2022/lib/modules/age/age.pipe.mjs +0 -22
- package/esm2022/lib/modules/age/index.mjs +0 -2
- package/esm2022/lib/modules/alert/alert/alert.mjs +0 -48
- package/esm2022/lib/modules/alert/index.mjs +0 -5
- package/esm2022/lib/modules/alert/toast/toast.mjs +0 -119
- package/esm2022/lib/modules/alert/validation/validation.mjs +0 -56
- package/esm2022/lib/modules/autocomplete/autocomplete.directive.mjs +0 -25
- package/esm2022/lib/modules/autocomplete/index.mjs +0 -2
- package/esm2022/lib/modules/bb/bb-modal-base.mjs +0 -74
- package/esm2022/lib/modules/bb/bb-modal-toolbar.mjs +0 -44
- package/esm2022/lib/modules/bb/bb.component.mjs +0 -207
- package/esm2022/lib/modules/bb/bb.module.mjs +0 -37
- package/esm2022/lib/modules/bb/index.mjs +0 -5
- package/esm2022/lib/modules/callback/callback.pipe.mjs +0 -23
- package/esm2022/lib/modules/callback/index.mjs +0 -2
- package/esm2022/lib/modules/card/card/card.mjs +0 -48
- package/esm2022/lib/modules/card/index.mjs +0 -2
- package/esm2022/lib/modules/countdown/countdown.mjs +0 -103
- package/esm2022/lib/modules/countdown/index.mjs +0 -2
- package/esm2022/lib/modules/date-ago/date-ago.pipe.mjs +0 -45
- package/esm2022/lib/modules/date-ago/index.mjs +0 -2
- package/esm2022/lib/modules/datepicker/date-value-accessor.mjs +0 -188
- package/esm2022/lib/modules/datepicker/datepicker.module.mjs +0 -31
- package/esm2022/lib/modules/datepicker/index.mjs +0 -3
- package/esm2022/lib/modules/edit-toolbar/edit-toolbar.mjs +0 -94
- package/esm2022/lib/modules/edit-toolbar/index.mjs +0 -2
- package/esm2022/lib/modules/file/file-size.pipe.mjs +0 -50
- package/esm2022/lib/modules/file/index.mjs +0 -2
- package/esm2022/lib/modules/file-input/file-input.mjs +0 -79
- package/esm2022/lib/modules/file-input/index.mjs +0 -2
- package/esm2022/lib/modules/file-viewer/file-viewer.mjs +0 -53
- package/esm2022/lib/modules/file-viewer/index.mjs +0 -2
- package/esm2022/lib/modules/google-login-button/google-login-button.mjs +0 -135
- package/esm2022/lib/modules/google-login-button/index.mjs +0 -3
- package/esm2022/lib/modules/google-login-button/loader.mjs +0 -10
- package/esm2022/lib/modules/google-login-button/module.mjs +0 -40
- package/esm2022/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.mjs +0 -147
- package/esm2022/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.mjs +0 -16
- package/esm2022/lib/modules/grid-toolbar/index.mjs +0 -3
- package/esm2022/lib/modules/index.mjs +0 -39
- package/esm2022/lib/modules/list-toolbar/index.mjs +0 -2
- package/esm2022/lib/modules/list-toolbar/list-toolbar.mjs +0 -112
- package/esm2022/lib/modules/loading/index.mjs +0 -4
- package/esm2022/lib/modules/loading/loading-interceptor.mjs +0 -59
- package/esm2022/lib/modules/loading/loading.mjs +0 -33
- package/esm2022/lib/modules/loading/loading.module.mjs +0 -32
- package/esm2022/lib/modules/modal/filter-modal/filter-modal.component.mjs +0 -23
- package/esm2022/lib/modules/modal/index.mjs +0 -5
- package/esm2022/lib/modules/modal/modal/modal.component.mjs +0 -355
- package/esm2022/lib/modules/modal/modal.module.mjs +0 -62
- package/esm2022/lib/modules/modal/sum-modal/sum-modal.component.mjs +0 -27
- package/esm2022/lib/modules/numeric/index.mjs +0 -2
- package/esm2022/lib/modules/numeric/numeric.directive.mjs +0 -92
- package/esm2022/lib/modules/page-title/index.mjs +0 -2
- package/esm2022/lib/modules/page-title/page-title.component.mjs +0 -33
- package/esm2022/lib/modules/pager/index.mjs +0 -2
- package/esm2022/lib/modules/pager/pager/pager.mjs +0 -52
- package/esm2022/lib/modules/password/index.mjs +0 -2
- package/esm2022/lib/modules/password/password.mjs +0 -48
- package/esm2022/lib/modules/progress/index.mjs +0 -2
- package/esm2022/lib/modules/progress/progress.mjs +0 -97
- package/esm2022/lib/modules/radio/index.mjs +0 -2
- package/esm2022/lib/modules/radio/radio.mjs +0 -133
- package/esm2022/lib/modules/readonly/index.mjs +0 -2
- package/esm2022/lib/modules/readonly/readonly.directive.mjs +0 -29
- package/esm2022/lib/modules/recaptcha/index.mjs +0 -4
- package/esm2022/lib/modules/recaptcha/loader.mjs +0 -13
- package/esm2022/lib/modules/recaptcha/recaptcha.model.mjs +0 -2
- package/esm2022/lib/modules/recaptcha/recaptcha.module.mjs +0 -32
- package/esm2022/lib/modules/recaptcha/recaptcha.service.mjs +0 -119
- package/esm2022/lib/modules/safe/index.mjs +0 -2
- package/esm2022/lib/modules/safe/safe.pipe.mjs +0 -40
- package/esm2022/lib/modules/select/index.mjs +0 -2
- package/esm2022/lib/modules/select/model.mjs +0 -4
- package/esm2022/lib/modules/select/select.mjs +0 -201
- package/esm2022/lib/modules/select2/index.mjs +0 -2
- package/esm2022/lib/modules/select2/select2.mjs +0 -172
- package/esm2022/lib/modules/select2-multiple/index.mjs +0 -2
- package/esm2022/lib/modules/select2-multiple/select2-multiple.mjs +0 -137
- package/esm2022/lib/modules/sort/index.mjs +0 -3
- package/esm2022/lib/modules/sort/sort-button-group/sort-button-group.mjs +0 -81
- package/esm2022/lib/modules/sort/sort.mjs +0 -120
- package/esm2022/lib/modules/tag/index.mjs +0 -2
- package/esm2022/lib/modules/tag/tag.mjs +0 -111
- package/esm2022/lib/modules/time/index.mjs +0 -4
- package/esm2022/lib/modules/time/time.module.mjs +0 -27
- package/esm2022/lib/modules/time/time.pipe.mjs +0 -40
- package/esm2022/lib/modules/time/timer-service.mjs +0 -89
- package/esm2022/lib/modules/tooltip/index.mjs +0 -2
- package/esm2022/lib/modules/tooltip/tooltip.mjs +0 -27
- package/esm2022/lib/modules/utc-to-local/index.mjs +0 -3
- package/esm2022/lib/modules/utc-to-local/local-to-utc.pipe.mjs +0 -39
- package/esm2022/lib/modules/utc-to-local/utc-to-local.pipe.mjs +0 -38
- package/esm2022/lib/modules/validator/field-validator.mjs +0 -17
- package/esm2022/lib/modules/validator/index.mjs +0 -2
- package/esm2022/lib/modules/validators/directive.mjs +0 -107
- package/esm2022/lib/modules/validators/index.mjs +0 -4
- package/esm2022/lib/modules/validators/module.mjs +0 -28
- package/esm2022/lib/modules/validators/validator.mjs +0 -119
- package/esm2022/lib/modules/wizard/index.mjs +0 -3
- package/esm2022/lib/modules/wizard/wizard/wizard.mjs +0 -66
- package/esm2022/lib/modules/wizard/wizard2/wizard2.mjs +0 -14
- package/esm2022/lib/services/alert.service.mjs +0 -74
- package/esm2022/lib/services/auth-guard.service.mjs +0 -13
- package/esm2022/lib/services/auth.service.mjs +0 -194
- package/esm2022/lib/services/base.service.mjs +0 -8
- package/esm2022/lib/services/cache-helper.mjs +0 -35
- package/esm2022/lib/services/crud.service.mjs +0 -48
- package/esm2022/lib/services/file.service.mjs +0 -32
- package/esm2022/lib/services/http-error-handler.service.mjs +0 -141
- package/esm2022/lib/services/index.mjs +0 -9
- package/esm2022/lib/services/web.api.mjs +0 -139
- package/esm2022/lib/tokens.mjs +0 -7
- package/esm2022/lib/utils/array-helper.mjs +0 -216
- package/esm2022/lib/utils/base64-helper.mjs +0 -18
- package/esm2022/lib/utils/bitwise-helper.mjs +0 -14
- package/esm2022/lib/utils/bootstrap.helper.mjs +0 -124
- package/esm2022/lib/utils/convert.mjs +0 -35
- package/esm2022/lib/utils/css-helper.mjs +0 -41
- package/esm2022/lib/utils/date-helper.mjs +0 -264
- package/esm2022/lib/utils/error-helper.mjs +0 -32
- package/esm2022/lib/utils/excel-helper.mjs +0 -13
- package/esm2022/lib/utils/file.helper.mjs +0 -75
- package/esm2022/lib/utils/filter-helper.mjs +0 -13
- package/esm2022/lib/utils/handler.mjs +0 -24
- package/esm2022/lib/utils/html-helper.mjs +0 -73
- package/esm2022/lib/utils/index.mjs +0 -28
- package/esm2022/lib/utils/interval-helper.mjs +0 -32
- package/esm2022/lib/utils/jwt-helper.mjs +0 -11
- package/esm2022/lib/utils/math-helper.mjs +0 -19
- package/esm2022/lib/utils/object-helper.mjs +0 -80
- package/esm2022/lib/utils/overlap-helper.mjs +0 -73
- package/esm2022/lib/utils/pager-helper.mjs +0 -63
- package/esm2022/lib/utils/random-helper.mjs +0 -16
- package/esm2022/lib/utils/storage-helper.mjs +0 -28
- package/esm2022/lib/utils/string-helper.mjs +0 -84
- package/esm2022/lib/utils/thenBy.mjs +0 -41
- package/esm2022/lib/utils/time-helper.mjs +0 -46
- package/esm2022/lib/utils/tmp-helper.mjs +0 -25
- package/esm2022/lib/utils/url-helper.mjs +0 -44
- package/esm2022/lib/utils/validation-helper.mjs +0 -10
- package/esm2022/lib/zek.module.mjs +0 -28
- package/esm2022/public-api.mjs +0 -12
- package/esm2022/zek.mjs +0 -5
|
@@ -1,355 +0,0 @@
|
|
|
1
|
-
import { Component, Output, EventEmitter, Input, inject } from '@angular/core';
|
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
-
import { CoreComponent } from '../../../components';
|
|
4
|
-
import { BootstrapHelper, ComponentType, Convert, handler, ObjectHelper, RandomHelper } from '../../../utils';
|
|
5
|
-
import { ValidEventArgs } from '../../../models/valid-event-args.model';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "@ngx-translate/core";
|
|
9
|
-
export class ZekModal extends CoreComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.translate = inject(TranslateService);
|
|
13
|
-
this._uniqueId = `zek-modal-${this.uniqueId}`;
|
|
14
|
-
/** The unique ID for the radio button. */
|
|
15
|
-
this.id = this._uniqueId;
|
|
16
|
-
this.modalId = `${this.id}-modal`;
|
|
17
|
-
this.lableId = `${this.id}-lable`;
|
|
18
|
-
this.cancelButtonId = `${this.id}-cancel-button`;
|
|
19
|
-
this.okButtonId = `${this.id}-ok-button`;
|
|
20
|
-
this.elementId = RandomHelper.randomHex();
|
|
21
|
-
this._showOk = true;
|
|
22
|
-
this._disabledOk = false;
|
|
23
|
-
this._showCancel = true;
|
|
24
|
-
this._autoHide = true;
|
|
25
|
-
this.onShown = new EventEmitter();
|
|
26
|
-
this.onHidden = new EventEmitter();
|
|
27
|
-
this.onOk = new EventEmitter();
|
|
28
|
-
this.onCancel = new EventEmitter();
|
|
29
|
-
this.componentType = ComponentType.Primary;
|
|
30
|
-
this._size = '';
|
|
31
|
-
this._scrollable = false;
|
|
32
|
-
this._fullscreen = false;
|
|
33
|
-
this._showHeader = true;
|
|
34
|
-
this._showFooter = true;
|
|
35
|
-
this.onValidating = new EventEmitter(false);
|
|
36
|
-
}
|
|
37
|
-
async destroy() {
|
|
38
|
-
await super.destroy();
|
|
39
|
-
this._modal?.dispose();
|
|
40
|
-
this._modal = null;
|
|
41
|
-
if (this.hiddenHandler) {
|
|
42
|
-
handler.removeListener(this.hiddenHandler);
|
|
43
|
-
}
|
|
44
|
-
if (this.shownHandler) {
|
|
45
|
-
handler.removeListener(this.shownHandler);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
init() {
|
|
49
|
-
super.init();
|
|
50
|
-
if (!this.okButtonText) {
|
|
51
|
-
this.translate.get('Action.Ok').subscribe(text => {
|
|
52
|
-
this.okButtonText = text;
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
setTimeout(() => {
|
|
56
|
-
const modalEl = this.getModalElement();
|
|
57
|
-
if (modalEl) {
|
|
58
|
-
this.shownHandler = handler.addListener(modalEl, 'shown.bs.modal', () => {
|
|
59
|
-
this.onShown.emit();
|
|
60
|
-
});
|
|
61
|
-
this.hiddenHandler = handler.addListener(modalEl, 'hidden.bs.modal', () => {
|
|
62
|
-
this.onHidden.emit();
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}, 1);
|
|
66
|
-
}
|
|
67
|
-
get showOk() {
|
|
68
|
-
return this._showOk;
|
|
69
|
-
}
|
|
70
|
-
set showOk(v) {
|
|
71
|
-
this._showOk = Convert.toBooleanProperty(v);
|
|
72
|
-
}
|
|
73
|
-
get disabledOk() {
|
|
74
|
-
return this._disabledOk;
|
|
75
|
-
}
|
|
76
|
-
set disabledOk(v) {
|
|
77
|
-
this._disabledOk = Convert.toBooleanProperty(v);
|
|
78
|
-
}
|
|
79
|
-
get showCancel() {
|
|
80
|
-
return this._showCancel;
|
|
81
|
-
}
|
|
82
|
-
set showCancel(v) {
|
|
83
|
-
this._showCancel = Convert.toBooleanProperty(v);
|
|
84
|
-
}
|
|
85
|
-
get autoHide() {
|
|
86
|
-
return this._autoHide;
|
|
87
|
-
}
|
|
88
|
-
set autoHide(v) {
|
|
89
|
-
this._autoHide = Convert.toBooleanProperty(v);
|
|
90
|
-
}
|
|
91
|
-
get size() {
|
|
92
|
-
return this._size;
|
|
93
|
-
}
|
|
94
|
-
set size(v) {
|
|
95
|
-
this._size = v;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* @deprecated Please use size property
|
|
99
|
-
*/
|
|
100
|
-
get large() {
|
|
101
|
-
return this._size === 'lg';
|
|
102
|
-
}
|
|
103
|
-
set large(v) {
|
|
104
|
-
this._size = Convert.toBooleanProperty(v) ? 'lg' : '';
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* @deprecated Please use size property
|
|
108
|
-
*/
|
|
109
|
-
get xl() {
|
|
110
|
-
return this._size === 'xl';
|
|
111
|
-
}
|
|
112
|
-
set xl(v) {
|
|
113
|
-
this._size = Convert.toBooleanProperty(v) ? 'xl' : '';
|
|
114
|
-
}
|
|
115
|
-
get scrollable() {
|
|
116
|
-
return this._scrollable;
|
|
117
|
-
}
|
|
118
|
-
set scrollable(v) {
|
|
119
|
-
this._scrollable = Convert.toBooleanProperty(v);
|
|
120
|
-
}
|
|
121
|
-
get fullscreen() {
|
|
122
|
-
return this._fullscreen;
|
|
123
|
-
}
|
|
124
|
-
set fullscreen(v) {
|
|
125
|
-
this._fullscreen = Convert.toBooleanProperty(v);
|
|
126
|
-
}
|
|
127
|
-
get showHeader() {
|
|
128
|
-
return this._showHeader;
|
|
129
|
-
}
|
|
130
|
-
set showHeader(v) {
|
|
131
|
-
this._showHeader = Convert.toBooleanProperty(v);
|
|
132
|
-
}
|
|
133
|
-
get showFooter() {
|
|
134
|
-
return this._showFooter;
|
|
135
|
-
}
|
|
136
|
-
set showFooter(v) {
|
|
137
|
-
this._showFooter = Convert.toBooleanProperty(v);
|
|
138
|
-
}
|
|
139
|
-
// public get modal(): any {
|
|
140
|
-
// if (!this._modal) {
|
|
141
|
-
// this.getModal();
|
|
142
|
-
// }
|
|
143
|
-
// return this._modal;
|
|
144
|
-
// }
|
|
145
|
-
// public set modal(v: any) {
|
|
146
|
-
// this._modal = v;
|
|
147
|
-
// }
|
|
148
|
-
getModalElement() {
|
|
149
|
-
return document.getElementById(this.modalId);
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Creates with method new bootstrap.Modal(modalId, { backdrop: 'static' });
|
|
153
|
-
* @returns boostrap modal
|
|
154
|
-
*/
|
|
155
|
-
createModal() {
|
|
156
|
-
const modalEl = this.getModalElement();
|
|
157
|
-
return new bootstrap.Modal(modalEl, { backdrop: 'static' });
|
|
158
|
-
}
|
|
159
|
-
cssButton() {
|
|
160
|
-
return BootstrapHelper.cssButton(this.componentType);
|
|
161
|
-
}
|
|
162
|
-
// private isShown = false;
|
|
163
|
-
show(model) {
|
|
164
|
-
if (!ObjectHelper.isDefined(model))
|
|
165
|
-
model = {};
|
|
166
|
-
this.model = model;
|
|
167
|
-
// this.modal?.show();
|
|
168
|
-
if (!this._modal) {
|
|
169
|
-
this._modal = this.createModal();
|
|
170
|
-
}
|
|
171
|
-
if (this._modal) {
|
|
172
|
-
this._modal.show();
|
|
173
|
-
// this.isShown = true;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
cancel() {
|
|
177
|
-
this.onCancel.emit();
|
|
178
|
-
this.hide();
|
|
179
|
-
}
|
|
180
|
-
hide() {
|
|
181
|
-
// this.modal?.hide();
|
|
182
|
-
// if (this.isShown) {
|
|
183
|
-
// if (this._modal) {
|
|
184
|
-
// this._modal.hide();
|
|
185
|
-
// this.isShown = false;
|
|
186
|
-
// }
|
|
187
|
-
// } else {
|
|
188
|
-
// }
|
|
189
|
-
if (this._modal) {
|
|
190
|
-
this._modal.hide();
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
const btn = document.getElementById(this.cancelButtonId);
|
|
194
|
-
if (btn) {
|
|
195
|
-
btn.click();
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
ok() {
|
|
200
|
-
const event = new ValidEventArgs();
|
|
201
|
-
this.onValidating.emit(event);
|
|
202
|
-
if (!event.valid)
|
|
203
|
-
return;
|
|
204
|
-
if (this.autoHide)
|
|
205
|
-
this.hide();
|
|
206
|
-
this.onOk.emit(this.model);
|
|
207
|
-
}
|
|
208
|
-
keyDown(e) {
|
|
209
|
-
e.preventDefault();
|
|
210
|
-
this.ok();
|
|
211
|
-
}
|
|
212
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
213
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekModal, selector: "zek-modal", inputs: { id: "id", model: "model", showOk: "showOk", disabledOk: "disabledOk", showCancel: "showCancel", autoHide: "autoHide", title: "title", text: "text", icon: "icon", okButtonText: "okButtonText", componentType: "componentType", size: "size", large: "large", xl: "xl", scrollable: "scrollable", fullscreen: "fullscreen", showHeader: "showHeader", showFooter: "showFooter" }, outputs: { onShown: "onShown", onHidden: "onHidden", onOk: "onOk", onCancel: "onCancel", onValidating: "onValidating" }, usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
214
|
-
}
|
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, decorators: [{
|
|
216
|
-
type: Component,
|
|
217
|
-
args: [{ selector: 'zek-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
218
|
-
}], propDecorators: { id: [{
|
|
219
|
-
type: Input
|
|
220
|
-
}], model: [{
|
|
221
|
-
type: Input
|
|
222
|
-
}], showOk: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], disabledOk: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], showCancel: [{
|
|
227
|
-
type: Input
|
|
228
|
-
}], autoHide: [{
|
|
229
|
-
type: Input
|
|
230
|
-
}], title: [{
|
|
231
|
-
type: Input
|
|
232
|
-
}], text: [{
|
|
233
|
-
type: Input
|
|
234
|
-
}], icon: [{
|
|
235
|
-
type: Input
|
|
236
|
-
}], okButtonText: [{
|
|
237
|
-
type: Input
|
|
238
|
-
}], onShown: [{
|
|
239
|
-
type: Output
|
|
240
|
-
}], onHidden: [{
|
|
241
|
-
type: Output
|
|
242
|
-
}], onOk: [{
|
|
243
|
-
type: Output
|
|
244
|
-
}], onCancel: [{
|
|
245
|
-
type: Output
|
|
246
|
-
}], componentType: [{
|
|
247
|
-
type: Input
|
|
248
|
-
}], size: [{
|
|
249
|
-
type: Input
|
|
250
|
-
}], large: [{
|
|
251
|
-
type: Input
|
|
252
|
-
}], xl: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}], scrollable: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], fullscreen: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}], showHeader: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], showFooter: [{
|
|
261
|
-
type: Input
|
|
262
|
-
}], onValidating: [{
|
|
263
|
-
type: Output
|
|
264
|
-
}] } });
|
|
265
|
-
/**
|
|
266
|
-
* @deprecated Please use ZekModal
|
|
267
|
-
*/
|
|
268
|
-
export class ZekDeleteModal extends ZekModal {
|
|
269
|
-
constructor() {
|
|
270
|
-
super();
|
|
271
|
-
this.icon = 'fa-solid fa-trash';
|
|
272
|
-
this.translate.get('Action.Delete').subscribe((res) => this.title = res);
|
|
273
|
-
this.translate.get('Alert.DeleteQuestion').subscribe((res) => this.text = res);
|
|
274
|
-
this.componentType = ComponentType.Delete;
|
|
275
|
-
}
|
|
276
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDeleteModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
277
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDeleteModal, selector: "zek-delete-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
278
|
-
}
|
|
279
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDeleteModal, decorators: [{
|
|
280
|
-
type: Component,
|
|
281
|
-
args: [{ selector: 'zek-delete-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
282
|
-
}], ctorParameters: () => [] });
|
|
283
|
-
/**
|
|
284
|
-
* @deprecated Please use ZekModal
|
|
285
|
-
*/
|
|
286
|
-
export class ZekApproveModal extends ZekModal {
|
|
287
|
-
constructor() {
|
|
288
|
-
super();
|
|
289
|
-
this.icon = 'fa-solid fa-thumbs-up';
|
|
290
|
-
this.translate.get('Action.Approve').subscribe((res) => this.title = res);
|
|
291
|
-
this.translate.get('Alert.ApproveQuestion').subscribe((res) => this.text = res);
|
|
292
|
-
this.componentType = ComponentType.Success;
|
|
293
|
-
}
|
|
294
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekApproveModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
295
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekApproveModal, selector: "zek-approve-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
296
|
-
}
|
|
297
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekApproveModal, decorators: [{
|
|
298
|
-
type: Component,
|
|
299
|
-
args: [{ selector: 'zek-approve-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
300
|
-
}], ctorParameters: () => [] });
|
|
301
|
-
/**
|
|
302
|
-
* @deprecated Please use ZekModal
|
|
303
|
-
*/
|
|
304
|
-
export class ZekSubmitModal extends ZekModal {
|
|
305
|
-
constructor() {
|
|
306
|
-
super();
|
|
307
|
-
this.icon = 'fa-solid fa-thumbs-up';
|
|
308
|
-
this.translate.get('Action.Submit').subscribe((res) => this.title = res);
|
|
309
|
-
this.translate.get('Alert.SubmitQuestion').subscribe((res) => this.text = res);
|
|
310
|
-
this.componentType = ComponentType.Success;
|
|
311
|
-
}
|
|
312
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSubmitModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
313
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSubmitModal, selector: "zek-submit-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
314
|
-
}
|
|
315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSubmitModal, decorators: [{
|
|
316
|
-
type: Component,
|
|
317
|
-
args: [{ selector: 'zek-submit-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
318
|
-
}], ctorParameters: () => [] });
|
|
319
|
-
/**
|
|
320
|
-
* @deprecated Please use ZekModal
|
|
321
|
-
*/
|
|
322
|
-
export class ZekDisapproveModal extends ZekModal {
|
|
323
|
-
constructor() {
|
|
324
|
-
super();
|
|
325
|
-
this.icon = 'fa-solid fa-thumbs-down';
|
|
326
|
-
this.translate.get('Action.Disapprove').subscribe((res) => this.title = res);
|
|
327
|
-
this.translate.get('Alert.DisapproveQuestion').subscribe((res) => this.text = res);
|
|
328
|
-
this.componentType = ComponentType.Delete;
|
|
329
|
-
}
|
|
330
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDisapproveModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
331
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekDisapproveModal, selector: "zek-disapprove-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
332
|
-
}
|
|
333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekDisapproveModal, decorators: [{
|
|
334
|
-
type: Component,
|
|
335
|
-
args: [{ selector: 'zek-disapprove-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
336
|
-
}], ctorParameters: () => [] });
|
|
337
|
-
/**
|
|
338
|
-
* @deprecated Please use ZekModal
|
|
339
|
-
*/
|
|
340
|
-
export class ZekRestoreModal extends ZekModal {
|
|
341
|
-
constructor() {
|
|
342
|
-
super();
|
|
343
|
-
this.icon = 'fa-solid fa-rotate-right';
|
|
344
|
-
this.translate.get('Action.Restore').subscribe((res) => this.title = res);
|
|
345
|
-
this.translate.get('Action.RestoreQuestion').subscribe((res) => this.text = res);
|
|
346
|
-
this.componentType = ComponentType.Success;
|
|
347
|
-
}
|
|
348
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekRestoreModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
349
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekRestoreModal, selector: "zek-restore-modal", usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
350
|
-
}
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekRestoreModal, decorators: [{
|
|
352
|
-
type: Component,
|
|
353
|
-
args: [{ selector: 'zek-restore-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" (click)=\"cancel()\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\"\r\n (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"cancel()\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n <button type=\"button\" class=\"d-none\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
354
|
-
}], ctorParameters: () => [] });
|
|
355
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7O0FBU3hFLE1BQU0sT0FBTyxRQUFTLFNBQVEsYUFBYTtJQUozQzs7UUFLdUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBb0NoRCxjQUFTLEdBQVcsYUFBYSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekQsMENBQTBDO1FBQ2pDLE9BQUUsR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQztRQUM3QixZQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDN0IsbUJBQWMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLGdCQUFnQixDQUFDO1FBQzVDLGVBQVUsR0FB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LENBQUM7UUFDckYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQzlDLENBQUM7OEdBUFEsa0JBQWtCO2tHQUFsQixrQkFBa0IsbUZDM1YvQixnMURBOEJNOzsyRkQ2VE8sa0JBQWtCO2tCQUo5QixTQUFTOytCQUNJLHNCQUFzQjs7QUFjcEM7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxRQUFRO0lBQ3pDO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLDBCQUEwQixDQUFDO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxDQUFDOzhHQVBRLGVBQWU7a0dBQWYsZUFBZSxnRkM3VzVCLGcxREE4Qk07OzJGRCtVTyxlQUFlO2tCQUozQixTQUFTOytCQUNJLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIENvcmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQm9vdHN0cmFwSGVscGVyLCBDb21wb25lbnRUeXBlLCBDb252ZXJ0LCBoYW5kbGVyLCBPYmplY3RIZWxwZXIsIFJhbmRvbUhlbHBlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgVmFsaWRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdmFsaWQtZXZlbnQtYXJncy5tb2RlbCc7XHJcbmltcG9ydCB7IE1vZGFsU2l6ZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5kZWNsYXJlIGxldCBib290c3RyYXA6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrTW9kYWwgZXh0ZW5kcyBDb3JlQ29tcG9uZW50IHtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XHJcblxyXG4gICAgb3ZlcnJpZGUgYXN5bmMgZGVzdHJveSgpIHtcclxuICAgICAgICBhd2FpdCBzdXBlci5kZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5fbW9kYWw/LmRpc3Bvc2UoKTtcclxuICAgICAgICB0aGlzLl9tb2RhbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmhpZGRlbkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLmhpZGRlbkhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaG93bkhhbmRsZXIpIHtcclxuICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVMaXN0ZW5lcih0aGlzLnNob3duSGFuZGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgaW5pdCgpIHtcclxuICAgICAgICBzdXBlci5pbml0KClcclxuICAgICAgICBpZiAoIXRoaXMub2tCdXR0b25UZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLk9rJykuc3Vic2NyaWJlKHRleHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5va0J1dHRvblRleHQgPSB0ZXh0O1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBtb2RhbEVsID0gdGhpcy5nZXRNb2RhbEVsZW1lbnQoKTtcclxuICAgICAgICAgICAgaWYgKG1vZGFsRWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd25IYW5kbGVyID0gaGFuZGxlci5hZGRMaXN0ZW5lcihtb2RhbEVsLCAnc2hvd24uYnMubW9kYWwnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNob3duLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZGVuSGFuZGxlciA9IGhhbmRsZXIuYWRkTGlzdGVuZXIobW9kYWxFbCwgJ2hpZGRlbi5icy5tb2RhbCcsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uSGlkZGVuLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdW5pcXVlSWQ6IHN0cmluZyA9IGB6ZWstbW9kYWwtJHt0aGlzLnVuaXF1ZUlkfWA7XHJcbiAgICAvKiogVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIHJhZGlvIGJ1dHRvbi4gKi9cclxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSB0aGlzLl91bmlxdWVJZDtcclxuICAgIG1vZGFsSWQgPSBgJHt0aGlzLmlkfS1tb2RhbGA7XHJcbiAgICBsYWJsZUlkID0gYCR7dGhpcy5pZH0tbGFibGVgO1xyXG4gICAgY2FuY2VsQnV0dG9uSWQgPSBgJHt0aGlzLmlkfS1jYW5jZWwtYnV0dG9uYDtcclxuICAgIG9rQnV0dG9uSWQgPSBgJHt0aGlzLmlkfS1vay1idXR0b25gO1xyXG5cclxuICAgIHNob3duSGFuZGxlcj86IG51bWJlciB8IG51bGw7XHJcbiAgICBoaWRkZW5IYW5kbGVyPzogbnVtYmVyIHwgbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBtb2RlbDogYW55O1xyXG4gICAgcmVhZG9ubHkgZWxlbWVudElkID0gUmFuZG9tSGVscGVyLnJhbmRvbUhleCgpO1xyXG5cclxuXHJcbiAgICBwcml2YXRlIF9zaG93T2sgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93T2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dPaztcclxuICAgIH1cclxuICAgIHNldCBzaG93T2sodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd09rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kaXNhYmxlZE9rID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRpc2FibGVkT2soKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkT2s7XHJcbiAgICB9XHJcbiAgICBzZXQgZGlzYWJsZWRPayh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlZE9rID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zaG93Q2FuY2VsID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd0NhbmNlbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NhbmNlbDtcclxuICAgIH1cclxuICAgIHNldCBzaG93Q2FuY2VsKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Nob3dDYW5jZWwgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2F1dG9IaWRlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgYXV0b0hpZGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9IaWRlO1xyXG4gICAgfVxyXG4gICAgc2V0IGF1dG9IaWRlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2F1dG9IaWRlID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgdGV4dD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgaWNvbj86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgb2tCdXR0b25UZXh0Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25TaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25IaWRkZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBASW5wdXQoKSBjb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5QcmltYXJ5O1xyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc2l6ZTogTW9kYWxTaXplID0gJyc7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7XHJcbiAgICB9XHJcbiAgICBzZXQgc2l6ZSh2OiBNb2RhbFNpemUpIHtcclxuICAgICAgICB0aGlzLl9zaXplID0gdjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2Ugc2l6ZSBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGxhcmdlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplID09PSAnbGcnO1xyXG4gICAgfVxyXG4gICAgc2V0IGxhcmdlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3NpemUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpID8gJ2xnJyA6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBzaXplIHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgeGwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemUgPT09ICd4bCc7XHJcbiAgICB9XHJcbiAgICBzZXQgeGwodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2l6ZSA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodikgPyAneGwnIDogJyc7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbGFibGUgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2Nyb2xsYWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsYWJsZTtcclxuICAgIH1cclxuICAgIHNldCBzY3JvbGxhYmxlKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbGFibGUgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Z1bGxzY3JlZW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZnVsbHNjcmVlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbjtcclxuICAgIH1cclxuICAgIHNldCBmdWxsc2NyZWVuKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX2Z1bGxzY3JlZW4gPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dIZWFkZXIgPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93SGVhZGVyO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dIZWFkZXIodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fc2hvd0hlYWRlciA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0Zvb3RlciA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dGb290ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dGb290ZXI7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0Zvb3Rlcih2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93Rm9vdGVyID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KCkgb25WYWxpZGF0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxWYWxpZEV2ZW50QXJncz4oZmFsc2UpO1xyXG4gICAgLy8gQElucHV0KCkgeHhsOiBib29sZWFuO1xyXG5cclxuICAgIHByaXZhdGUgX21vZGFsOiBhbnk7XHJcbiAgICAvLyBwdWJsaWMgZ2V0IG1vZGFsKCk6IGFueSB7XHJcbiAgICAvLyAgICAgaWYgKCF0aGlzLl9tb2RhbCkge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmdldE1vZGFsKCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLl9tb2RhbDtcclxuICAgIC8vIH1cclxuICAgIC8vIHB1YmxpYyBzZXQgbW9kYWwodjogYW55KSB7XHJcbiAgICAvLyAgICAgdGhpcy5fbW9kYWwgPSB2O1xyXG4gICAgLy8gfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRNb2RhbEVsZW1lbnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMubW9kYWxJZCk7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgIHdpdGggbWV0aG9kIG5ldyBib290c3RyYXAuTW9kYWwobW9kYWxJZCwgeyBiYWNrZHJvcDogJ3N0YXRpYycgfSk7XHJcbiAgICAgKiBAcmV0dXJucyBib29zdHJhcCBtb2RhbFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgY3JlYXRlTW9kYWwoKSB7XHJcbiAgICAgICAgY29uc3QgbW9kYWxFbCA9IHRoaXMuZ2V0TW9kYWxFbGVtZW50KCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBib290c3RyYXAuTW9kYWwobW9kYWxFbCwgeyBiYWNrZHJvcDogJ3N0YXRpYycgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgY3NzQnV0dG9uKCkge1xyXG4gICAgICAgIHJldHVybiBCb290c3RyYXBIZWxwZXIuY3NzQnV0dG9uKHRoaXMuY29tcG9uZW50VHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcHJpdmF0ZSBpc1Nob3duID0gZmFsc2U7XHJcbiAgICBzaG93KG1vZGVsPzogYW55KSB7XHJcbiAgICAgICAgaWYgKCFPYmplY3RIZWxwZXIuaXNEZWZpbmVkKG1vZGVsKSkgbW9kZWwgPSB7fTtcclxuICAgICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcblxyXG4gICAgICAgIC8vIHRoaXMubW9kYWw/LnNob3coKTtcclxuXHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwgPSB0aGlzLmNyZWF0ZU1vZGFsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLl9tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbC5zaG93KCk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuaXNTaG93biA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjYW5jZWwoKSB7XHJcbiAgICAgICAgdGhpcy5vbkNhbmNlbC5lbWl0KCk7XHJcbiAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9XHJcbiAgICBoaWRlKCkge1xyXG4gICAgICAgIC8vIHRoaXMubW9kYWw/LmhpZGUoKTtcclxuXHJcbiAgICAgICAgLy8gaWYgKHRoaXMuaXNTaG93bikge1xyXG4gICAgICAgIC8vICAgICBpZiAodGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuX21vZGFsLmhpZGUoKTtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuaXNTaG93biA9IGZhbHNlO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfSBlbHNlIHtcclxuXHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fbW9kYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwuaGlkZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jYW5jZWxCdXR0b25JZCk7XHJcbiAgICAgICAgICAgIGlmIChidG4pIHtcclxuICAgICAgICAgICAgICAgIGJ0bi5jbGljaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgb2soKSB7XHJcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgVmFsaWRFdmVudEFyZ3MoKTtcclxuICAgICAgICB0aGlzLm9uVmFsaWRhdGluZy5lbWl0KGV2ZW50KTtcclxuICAgICAgICBpZiAoIWV2ZW50LnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmF1dG9IaWRlKVxyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5vbk9rLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGtleURvd24oZTogRXZlbnQpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5vaygpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBaZWtNb2RhbFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1kZWxldGUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrRGVsZXRlTW9kYWwgZXh0ZW5kcyBaZWtNb2RhbCB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdmYS1zb2xpZCBmYS10cmFzaCc7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uRGVsZXRlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBbGVydC5EZWxldGVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5EZWxldGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWFwcHJvdmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrQXBwcm92ZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdGh1bWJzLXVwJztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5BcHByb3ZlJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50aXRsZSA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBbGVydC5BcHByb3ZlUXVlc3Rpb24nKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRleHQgPSByZXMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IENvbXBvbmVudFR5cGUuU3VjY2VzcztcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgWmVrTW9kYWxcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstc3VibWl0LW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1N1Ym1pdE1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdGh1bWJzLXVwJztcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FjdGlvbi5TdWJtaXQnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LlN1Ym1pdFF1ZXN0aW9uJykuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4gdGhpcy50ZXh0ID0gcmVzKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBDb21wb25lbnRUeXBlLlN1Y2Nlc3M7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIFpla01vZGFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLWRpc2FwcHJvdmUtbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWmVrRGlzYXBwcm92ZU1vZGFsIGV4dGVuZHMgWmVrTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmljb24gPSAnZmEtc29saWQgZmEtdGh1bWJzLWRvd24nO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLkRpc2FwcHJvdmUnKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nKSA9PiB0aGlzLnRpdGxlID0gcmVzKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FsZXJ0LkRpc2FwcHJvdmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5EZWxldGU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBaZWtNb2RhbFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1yZXN0b3JlLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFpla1Jlc3RvcmVNb2RhbCBleHRlbmRzIFpla01vZGFsIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5pY29uID0gJ2ZhLXNvbGlkIGZhLXJvdGF0ZS1yaWdodCc7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBY3Rpb24uUmVzdG9yZScpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGl0bGUgPSByZXMpO1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnQWN0aW9uLlJlc3RvcmVRdWVzdGlvbicpLnN1YnNjcmliZSgocmVzOiBzdHJpbmcpID0+IHRoaXMudGV4dCA9IHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gQ29tcG9uZW50VHlwZS5TdWNjZXNzO1xyXG4gICAgfVxyXG59IiwiPGRpdiAoa2V5ZG93bi5lbnRlcik9XCJrZXlEb3duKCRldmVudClcIiBjbGFzcz1cIm1vZGFsIGZhZGVcIiBkYXRhLWJzLWJhY2tkcm9wPVwic3RhdGljXCIgaWQ9XCJ7e21vZGFsSWR9fVwiIHRhYmluZGV4PVwiLTFcIiBhdHRyLmFyaWEtbGFiZWxsZWRieT1cInt7bGFibGVJZH19XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdtb2RhbC1zbSc6IHNpemUgPT09ICdzbScsXHJcbiAgICAgICAgJ21vZGFsLWxnJzogc2l6ZSA9PT0gJ2xnJywgXHJcbiAgICAgICAgJ21vZGFsLXhsJzogc2l6ZSA9PT0gJ3hsJ1xyXG4gICAgfVwiIFtjbGFzcy5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCIgW2NsYXNzLm1vZGFsLWZ1bGxzY3JlZW5dPVwiZnVsbHNjcmVlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImhlYWRlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJ7e2xhYmxlSWR9fVwiPnt7dGl0bGV9fTwvaDU+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIChjbGljayk9XCJjYW5jZWwoKVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgIHt7dGV4dH19XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJzaG93Rm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmb290ZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIFtjbGFzcy52aXN1YWxseS1oaWRkZW5dPVwiIXNob3dPa1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZE9rXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIHt7Y3NzQnV0dG9uKCl9fVwiIGlkPVwie3tva0J1dHRvbklkfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvaygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJ7eyBpY29uIH19XCI+PC9pPiB7eyBva0J1dHRvblRleHQgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MudmlzdWFsbHktaGlkZGVuXT1cIiFzaG93Q2FuY2VsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtYmFuXCI+PC9pPiB7eyAnQWN0aW9uLkNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJkLW5vbmVcIiBpZD1cInt7Y2FuY2VsQnV0dG9uSWR9fVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
-
import { ZekModal, ZekDeleteModal, ZekApproveModal, ZekDisapproveModal, ZekRestoreModal, ZekSubmitModal } from './modal/modal.component';
|
|
5
|
-
import { ZekFilterModal } from './filter-modal/filter-modal.component';
|
|
6
|
-
import { ZekSumModal } from './sum-modal/sum-modal.component';
|
|
7
|
-
import { RouterModule } from '@angular/router';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class ZekModalModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ZekModalModule, declarations: [ZekModal,
|
|
12
|
-
ZekDeleteModal,
|
|
13
|
-
ZekApproveModal,
|
|
14
|
-
ZekSubmitModal,
|
|
15
|
-
ZekDisapproveModal,
|
|
16
|
-
ZekRestoreModal,
|
|
17
|
-
ZekFilterModal,
|
|
18
|
-
ZekSumModal], imports: [CommonModule,
|
|
19
|
-
RouterModule,
|
|
20
|
-
TranslateModule], exports: [ZekModal,
|
|
21
|
-
ZekDeleteModal,
|
|
22
|
-
ZekApproveModal,
|
|
23
|
-
ZekSubmitModal,
|
|
24
|
-
ZekDisapproveModal,
|
|
25
|
-
ZekRestoreModal,
|
|
26
|
-
ZekFilterModal,
|
|
27
|
-
ZekSumModal] }); }
|
|
28
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModalModule, imports: [CommonModule,
|
|
29
|
-
RouterModule,
|
|
30
|
-
TranslateModule] }); }
|
|
31
|
-
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModalModule, decorators: [{
|
|
33
|
-
type: NgModule,
|
|
34
|
-
args: [{
|
|
35
|
-
imports: [
|
|
36
|
-
CommonModule,
|
|
37
|
-
RouterModule,
|
|
38
|
-
TranslateModule
|
|
39
|
-
],
|
|
40
|
-
declarations: [
|
|
41
|
-
ZekModal,
|
|
42
|
-
ZekDeleteModal,
|
|
43
|
-
ZekApproveModal,
|
|
44
|
-
ZekSubmitModal,
|
|
45
|
-
ZekDisapproveModal,
|
|
46
|
-
ZekRestoreModal,
|
|
47
|
-
ZekFilterModal,
|
|
48
|
-
ZekSumModal
|
|
49
|
-
],
|
|
50
|
-
exports: [
|
|
51
|
-
ZekModal,
|
|
52
|
-
ZekDeleteModal,
|
|
53
|
-
ZekApproveModal,
|
|
54
|
-
ZekSubmitModal,
|
|
55
|
-
ZekDisapproveModal,
|
|
56
|
-
ZekRestoreModal,
|
|
57
|
-
ZekFilterModal,
|
|
58
|
-
ZekSumModal
|
|
59
|
-
]
|
|
60
|
-
}]
|
|
61
|
-
}] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDSCxRQUFRLEVBQ1IsY0FBYyxFQUNkLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGNBQWMsRUFDakIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUE2Qi9DLE1BQU0sT0FBTyxjQUFjOzhHQUFkLGNBQWM7K0dBQWQsY0FBYyxpQkFwQm5CLFFBQVE7WUFDUixjQUFjO1lBQ2QsZUFBZTtZQUNmLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGNBQWM7WUFDZCxXQUFXLGFBWlgsWUFBWTtZQUNaLFlBQVk7WUFDWixlQUFlLGFBYWYsUUFBUTtZQUNSLGNBQWM7WUFDZCxlQUFlO1lBQ2YsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsY0FBYztZQUNkLFdBQVc7K0dBR04sY0FBYyxZQXpCbkIsWUFBWTtZQUNaLFlBQVk7WUFDWixlQUFlOzsyRkF1QlYsY0FBYztrQkEzQjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3FCQUNsQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsUUFBUTt3QkFDUixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxXQUFXO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDTCxRQUFRO3dCQUNSLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFdBQVc7cUJBQ2Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IFxyXG4gICAgWmVrTW9kYWwsXHJcbiAgICBaZWtEZWxldGVNb2RhbCxcclxuICAgIFpla0FwcHJvdmVNb2RhbCxcclxuICAgIFpla0Rpc2FwcHJvdmVNb2RhbCxcclxuICAgIFpla1Jlc3RvcmVNb2RhbCxcclxuICAgIFpla1N1Ym1pdE1vZGFsXHJcbn0gZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZWtGaWx0ZXJNb2RhbCB9IGZyb20gJy4vZmlsdGVyLW1vZGFsL2ZpbHRlci1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZWtTdW1Nb2RhbCB9IGZyb20gJy4vc3VtLW1vZGFsL3N1bS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFpla01vZGFsLFxyXG4gICAgICAgIFpla0RlbGV0ZU1vZGFsLFxyXG4gICAgICAgIFpla0FwcHJvdmVNb2RhbCxcclxuICAgICAgICBaZWtTdWJtaXRNb2RhbCxcclxuICAgICAgICBaZWtEaXNhcHByb3ZlTW9kYWwsXHJcbiAgICAgICAgWmVrUmVzdG9yZU1vZGFsLFxyXG4gICAgICAgIFpla0ZpbHRlck1vZGFsLFxyXG4gICAgICAgIFpla1N1bU1vZGFsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFpla01vZGFsLFxyXG4gICAgICAgIFpla0RlbGV0ZU1vZGFsLFxyXG4gICAgICAgIFpla0FwcHJvdmVNb2RhbCxcclxuICAgICAgICBaZWtTdWJtaXRNb2RhbCxcclxuICAgICAgICBaZWtEaXNhcHByb3ZlTW9kYWwsXHJcbiAgICAgICAgWmVrUmVzdG9yZU1vZGFsLFxyXG4gICAgICAgIFpla0ZpbHRlck1vZGFsLFxyXG4gICAgICAgIFpla1N1bU1vZGFsXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtNb2RhbE1vZHVsZSB7IH0iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../modal/modal.component";
|
|
5
|
-
import * as i3 from "@ngx-translate/core";
|
|
6
|
-
export class ZekSumModal {
|
|
7
|
-
sum() {
|
|
8
|
-
if (this.modal) {
|
|
9
|
-
this.modal.show();
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
throw new Error('sumModal is null or undefined');
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSumModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSumModal, selector: "zek-sum-modal", inputs: { model: "model" }, viewQueries: [{ propertyName: "modal", first: true, predicate: ["sumModal"], descendants: true }], ngImport: i0, template: "<zek-modal #sumModal [showCancel]=\"false\" [title]=\"'Action.Sum' | translate\">\r\n <table class=\"table table-striped table-borderless table-hover\">\r\n <tbody>\r\n <tr *ngFor=\"let item of model\">\r\n <td class=\"w-75\">{{'Fields.'+item.key | translate}}</td>\r\n <td class=\"w-25\">\r\n <ng-container *ngIf=\"item.key != 'Count'; else elseBlock\">{{item.value | number:'1.2' }}</ng-container>\r\n <ng-template #elseBlock>{{item.value}}</ng-template>\r\n </td>\r\n <tr>\r\n </tbody>\r\n </table>\r\n</zek-modal>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ZekModal, selector: "zek-modal", inputs: ["id", "model", "showOk", "disabledOk", "showCancel", "autoHide", "title", "text", "icon", "okButtonText", "componentType", "size", "large", "xl", "scrollable", "fullscreen", "showHeader", "showFooter"], outputs: ["onShown", "onHidden", "onOk", "onCancel", "onValidating"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSumModal, decorators: [{
|
|
19
|
-
type: Component,
|
|
20
|
-
args: [{ selector: 'zek-sum-modal', template: "<zek-modal #sumModal [showCancel]=\"false\" [title]=\"'Action.Sum' | translate\">\r\n <table class=\"table table-striped table-borderless table-hover\">\r\n <tbody>\r\n <tr *ngFor=\"let item of model\">\r\n <td class=\"w-75\">{{'Fields.'+item.key | translate}}</td>\r\n <td class=\"w-25\">\r\n <ng-container *ngIf=\"item.key != 'Count'; else elseBlock\">{{item.value | number:'1.2' }}</ng-container>\r\n <ng-template #elseBlock>{{item.value}}</ng-template>\r\n </td>\r\n <tr>\r\n </tbody>\r\n </table>\r\n</zek-modal>" }]
|
|
21
|
-
}], propDecorators: { model: [{
|
|
22
|
-
type: Input
|
|
23
|
-
}], modal: [{
|
|
24
|
-
type: ViewChild,
|
|
25
|
-
args: ['sumModal', { static: false }]
|
|
26
|
-
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvbW9kYWwvc3VtLW1vZGFsL3N1bS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL21vZGFsL3N1bS1tb2RhbC9zdW0tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU81RCxNQUFNLE9BQU8sV0FBVztJQUlwQixHQUFHO1FBQ0MsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUM7YUFDSSxDQUFDO1lBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDTCxDQUFDOzhHQVhRLFdBQVc7a0dBQVgsV0FBVyxvTENQeEIsb29CQVlZOzsyRkRMQyxXQUFXO2tCQUp2QixTQUFTOytCQUNJLGVBQWU7OEJBSWhCLEtBQUs7c0JBQWIsS0FBSztnQkFDNEMsS0FBSztzQkFBdEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFpla01vZGFsIH0gZnJvbSAnLi4vbW9kYWwvbW9kYWwuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstc3VtLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdW0tbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZWtTdW1Nb2RhbCB7XHJcbiAgICBASW5wdXQoKSBtb2RlbDogYW55O1xyXG4gICAgQFZpZXdDaGlsZCgnc3VtTW9kYWwnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJpdmF0ZSBtb2RhbD86IFpla01vZGFsO1xyXG5cclxuICAgIHN1bSgpIHtcclxuICAgICAgICBpZiAodGhpcy5tb2RhbCkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsLnNob3coKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc3VtTW9kYWwgaXMgbnVsbCBvciB1bmRlZmluZWQnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCI8emVrLW1vZGFsICNzdW1Nb2RhbCBbc2hvd0NhbmNlbF09XCJmYWxzZVwiIFt0aXRsZV09XCInQWN0aW9uLlN1bScgfCB0cmFuc2xhdGVcIj5cclxuICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtYm9yZGVybGVzcyB0YWJsZS1ob3ZlclwiPlxyXG4gICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vZGVsXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ3LTc1XCI+e3snRmllbGRzLicraXRlbS5rZXkgfCB0cmFuc2xhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ3LTI1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0ua2V5ICE9ICdDb3VudCc7IGVsc2UgZWxzZUJsb2NrXCI+e3tpdGVtLnZhbHVlIHwgbnVtYmVyOicxLjInIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+e3tpdGVtLnZhbHVlfX08L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG48L3play1tb2RhbD4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './numeric.directive';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbnVtZXJpYy5kaXJlY3RpdmUnOyJdfQ==
|