@wavemaker/app-ng-runtime 11.4.0-next.24591 → 11.4.0-next.24593
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.
- app-ng-runtime/components/data/table/bundles/index.umd.js +7 -0
- app-ng-runtime/components/data/table/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/data/table/esm2015/table.component.js +8 -1
- app-ng-runtime/components/data/table/fesm2015/index.js +7 -0
- app-ng-runtime/components/data/table/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/data/table/index.metadata.json +1 -1
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +2 -1
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/dialogs/default/esm2015/base-dialog.js +3 -2
- app-ng-runtime/components/dialogs/default/fesm2015/index.js +2 -1
- app-ng-runtime/components/dialogs/default/fesm2015/index.js.map +1 -1
- app-ng-runtime/package.json +1 -1
|
@@ -52,7 +52,7 @@ export class BaseDialog extends BaseComponent {
|
|
|
52
52
|
const subscriptions = [
|
|
53
53
|
this.bsModal.onShown.subscribe(({ id }) => {
|
|
54
54
|
const ref = this.dialogService.getLastOpenedDialog();
|
|
55
|
-
if (ref === this) {
|
|
55
|
+
if (ref === this && !this.dialogId) {
|
|
56
56
|
// Always get the reference of last pushed dialog in the array for calling onOpen callback
|
|
57
57
|
invokeOpenedCallback(ref);
|
|
58
58
|
this.dialogId = id;
|
|
@@ -70,6 +70,7 @@ export class BaseDialog extends BaseComponent {
|
|
|
70
70
|
ref = this.dialogService.getLastOpenedDialog();
|
|
71
71
|
}
|
|
72
72
|
if (ref === this) {
|
|
73
|
+
this.dialogId = null;
|
|
73
74
|
// remove the dialog reference from opened dialogs and closed dialogs
|
|
74
75
|
this.dialogService.removeFromOpenedDialogs(ref);
|
|
75
76
|
this.dialogService.removeFromClosedDialogs(ref);
|
|
@@ -178,4 +179,4 @@ BaseDialog.ctorParameters = () => [
|
|
|
178
179
|
{ type: ModalOptions }
|
|
179
180
|
];
|
|
180
181
|
export { ɵ0, ɵ1 };
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvZGlhbG9ncy9kZWZhdWx0L3NyYy9iYXNlLWRpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUEwQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQWMsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSS9FLE9BQU8sRUFBQyxxQkFBcUIsRUFBZ0IsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFckgsT0FBTyxFQUFFLGFBQWEsRUFBMEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJeEUsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7QUFFN0IsSUFBSSxZQUFZLEdBQUc7SUFDZixhQUFhLEVBQUUsSUFBSTtDQUN0QixDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ2pDLElBQUksR0FBRyxFQUFFO1FBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QywyRkFBMkY7WUFDM0YsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDN0Q7WUFDRCxHQUFHLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLEVB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SSxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pGLElBQUksRUFBRSxFQUFFO2dCQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLFlBQVksR0FBRyxFQUFFLENBQUM7YUFDekU7U0FDSjtRQUNELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OztZQTVKSixVQUFVOzs7WUExREYsUUFBUTs7WUFFb0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiwgQnNNb2RhbFNlcnZpY2UsIE1vZGFsT3B0aW9ucyB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtBYnN0cmFjdERpYWxvZ1NlcnZpY2UsIGNsb3NlUG9wb3ZlciwgZmluZFJvb3RDb250YWluZXIsIGdlbmVyYXRlR1VJZCwgaXNNb2JpbGUsIGlzTW9iaWxlQXBwfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIElEaWFsb2csIElXaWRnZXRDb25maWcgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IGNyZWF0ZUZvY3VzVHJhcCB9IGZyb20gJ0B3YXZlbWFrZXIvZm9jdXMtdHJhcC9kaXN0L2ZvY3VzLXRyYXAnO1xuXG5kZWNsYXJlIGNvbnN0IF87XG5cbmxldCBldmVudHNSZWdpc3RlcmVkID0gZmFsc2U7XG5cbmxldCBmb2N1c1RyYXBPYmogPSB7XG4gICAgYWN0aXZlRWxlbWVudDogbnVsbFxufTtcblxuY29uc3QgaW52b2tlT3BlbmVkQ2FsbGJhY2sgPSAocmVmKSA9PiB7XG4gICAgaWYgKHJlZikge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBmaW5kUm9vdENvbnRhaW5lcihyZWYuJGVsZW1lbnQpO1xuICAgICAgICAgICAgLy8gaWYgcGFnZSBzdHlsZXMgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGRpYWxvZyB0aGVuIGRpYWxvZyBoYXMgdG8gYmUgY2hpbGQgb2YgcGFnZSBlbGVtZW50LlxuICAgICAgICAgICAgaWYgKHJvb3QpIHtcbiAgICAgICAgICAgICAgICAkKCdib2R5ID4gbW9kYWwtY29udGFpbmVyID4gZGl2Jykud3JhcCgnPCcgKyByb290ICsgJy8+Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZWYuaW52b2tlRXZlbnRDYWxsYmFjaygnb3BlbmVkJywgeyRldmVudDoge3R5cGU6ICdvcGVuZWQnfX0pO1xuICAgICAgICAgICAgLy8gZm9jdXNUcmFwT2JqIHdpbGwgY3JlYXRlIGZvY3VzIHRyYXAgZm9yIHRoZSByZXNwZWN0aXZlIGRpYWxvZyBhY2NvcmRpbmcgdG8gdGhlIHRpdGxlSWQgYXNzaWduZWQgdG8gdGhlbSB3aGljaCBpcyB1bmlxdWUuXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSAkKCdbYXJpYS1sYWJlbGxlZGJ5PSAnICsgcmVmLnRpdGxlSWQgKyAnXScpWzBdO1xuXG4gICAgICAgICAgICBjb25zdCBrZXlib2FyZEZvY3VzYWJsZUVsZW1lbnRzID0gW2NvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICAgICAgICdhLCBidXR0b24sIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBkZXRhaWxzLCBpZnJhbWUsIGVtYmVkLCBvYmplY3QsIHN1bW1hcnkgZGlhbG9nLCBhdWRpb1tjb250cm9sc10sIHZpZGVvW2NvbnRyb2xzXSwgW2NvbnRlbnRlZGl0YWJsZV0sIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKSdcbiAgICAgICAgICAgICAgKV0uZmlsdGVyKGVsID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgIWVsWzBdLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJiAhZWxbMF0uaGFzQXR0cmlidXRlKCdoaWRkZW4nKSlcbiAgICAgICAgICAgICAgfSlbMF07XG5cbiAgICAgICAgICAgICQoa2V5Ym9hcmRGb2N1c2FibGVFbGVtZW50c1swXSkuZm9jdXMoKTtcblxuICAgICAgICAgICAgZm9jdXNUcmFwT2JqW3JlZi50aXRsZUlkXSA9IGNyZWF0ZUZvY3VzVHJhcChjb250YWluZXIsIHtcbiAgICAgICAgICAgICAgICBvbkFjdGl2YXRlOiAoKSA9PiBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnaXMtYWN0aXZlJyksXG4gICAgICAgICAgICAgICAgb25EZWFjdGl2YXRlOiAoKSA9PiBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgnaXMtYWN0aXZlJyksXG4gICAgICAgICAgICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IHRydWUsXG4gICAgICAgICAgICAgICAgc2V0UmV0dXJuRm9jdXM6IGZvY3VzVHJhcE9iai5hY3RpdmVFbGVtZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBmb2N1c1RyYXBPYmpbcmVmLnRpdGxlSWRdLmFjdGl2YXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmNvbnN0IGludm9rZUNsb3NlZENhbGxiYWNrID0gKHJlZikgPT4ge1xuICAgIGlmIChyZWYpIHtcbiAgICAgICAgcmVmLmludm9rZUV2ZW50Q2FsbGJhY2soJ2Nsb3NlJyk7XG4gICAgICAgIHJlZi5kaWFsb2dSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEaWFsb2cgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgSURpYWxvZywgT25EZXN0cm95IHtcblxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IEFic3RyYWN0RGlhbG9nU2VydmljZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJzTW9kYWw6IEJzTW9kYWxTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IEJzTW9kYWxSZWY7XG4gICAgcHJpdmF0ZSBkaWFsb2dJZDogbnVtYmVyO1xuICAgIHB1YmxpYyB0aXRsZUlkOnN0cmluZyA9ICd3bWRpYWxvZy0nICsgZ2VuZXJhdGVHVUlkKCk7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIGluajogSW5qZWN0b3IsXG4gICAgICAgIHdpZGdldENvbmZpZzogSVdpZGdldENvbmZpZyxcbiAgICAgICAgcHJvdGVjdGVkIG1vZGFsT3B0aW9uczogTW9kYWxPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluaiwgd2lkZ2V0Q29uZmlnKTtcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlID0gaW5qLmdldChBYnN0cmFjdERpYWxvZ1NlcnZpY2UpO1xuICAgICAgICB0aGlzLmJzTW9kYWwgPSBpbmouZ2V0KEJzTW9kYWxTZXJ2aWNlKTtcbiAgICAgICAgY29uc3Qgcm91dGVyID0gaW5qLmdldChSb3V0ZXIpO1xuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW1xuICAgICAgICAgICAgdGhpcy5ic01vZGFsLm9uU2hvd24uc3Vic2NyaWJlKCh7aWR9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmdldExhc3RPcGVuZWREaWFsb2coKTtcbiAgICAgICAgICAgICAgICBpZiAocmVmID09PSB0aGlzKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEFsd2F5cyBnZXQgdGhlIHJlZmVyZW5jZSBvZiBsYXN0IHB1c2hlZCBkaWFsb2cgaW4gdGhlIGFycmF5IGZvciBjYWxsaW5nIG9uT3BlbiBjYWxsYmFja1xuICAgICAgICAgICAgICAgICAgICBpbnZva2VPcGVuZWRDYWxsYmFjayhyZWYpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0lkID0gaWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0aGlzLmJzTW9kYWwub25TaG93LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgZm9jdXNUcmFwT2JqLmFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0aGlzLmJzTW9kYWwub25IaWRkZW4uc3Vic2NyaWJlKChjbG9zZVJlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2UuZ2V0RGlhbG9nUmVmRnJvbUNsb3NlZERpYWxvZ3MoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dJZCAmJiBjbG9zZVJlYXNvbj8uaWQgPT09IHRoaXMuZGlhbG9nSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmID0gdGhpcztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNsb3NlUmVhc29uID09PSAnZXNjJyB8fCBjbG9zZVJlYXNvbiA9PT0gJ2JhY2tkcm9wLWNsaWNrJykge1xuICAgICAgICAgICAgICAgICAgICByZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2UuZ2V0TGFzdE9wZW5lZERpYWxvZygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocmVmID09PSB0aGlzKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSB0aGUgZGlhbG9nIHJlZmVyZW5jZSBmcm9tIG9wZW5lZCBkaWFsb2dzIGFuZCBjbG9zZWQgZGlhbG9nc1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UucmVtb3ZlRnJvbU9wZW5lZERpYWxvZ3MocmVmKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnJlbW92ZUZyb21DbG9zZWREaWFsb2dzKHJlZik7XG4gICAgICAgICAgICAgICAgICAgIGludm9rZUNsb3NlZENhbGxiYWNrKHJlZik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWYuY2xvc2VDYWxsQmFja0ZuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWYuY2xvc2VDYWxsQmFja0ZuKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRoaXMuYnNNb2RhbC5vbkhpZGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyAgV2lsbCBkZS1hY3RpdmF0ZSBmb2N1cyB0cmFwIGZvciB0aGUgcmVzcGVjdGl2ZSBkaWFsb2cgd2hlbiB0aGV5IGFyZSBjbG9zZWQuXG4gICAgICAgICAgICAgICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmdldERpYWxvZ1JlZkZyb21DbG9zZWREaWFsb2dzKCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlZiAmJiBmb2N1c1RyYXBPYmpbcmVmLnRpdGxlSWRdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNUcmFwT2JqW3JlZi50aXRsZUlkXS5kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICByb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIF07XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gey8vIHJlbW92ZSB0aGUgZGlhbG9nIHJlZmVyZW5jZSBmcm9tIG9wZW5lZCBkaWFsb2dzIGFuZCBjbG9zZWQgZGlhbG9nc1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnJlbW92ZUZyb21PcGVuZWREaWFsb2dzKHRoaXMpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnJlbW92ZUZyb21DbG9zZWREaWFsb2dzKHRoaXMpO1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbnMgdGhlIGRpYWxvZ1xuICAgICAqIFN1YnNjcmliZSB0byB0aGUgb25TaG93biBldmVudCBlbWl0dGVyIG9mIGJzTW9kYWwgYW5kIHRyaWdnZXIgb24tb3BlbmVkIGV2ZW50IGNhbGxiYWNrXG4gICAgICovXG4gICAgcHVibGljIG9wZW4oaW5pdFN0YXRlPzogYW55KSB7XG5cbiAgICAgICAgLy8gcmVtb3ZlIHRoZSBwb3BvdmVycyBpbiB0aGUgcGFnZSB0byBhdm9pZCB0aGUgb3ZlcmxhcCB3aXRoIGRpYWxvZ1xuICAgICAgICAvLyBjbG9zZVBvcG92ZXIodGhpcy4kZWxlbWVudCk7IENvbW1lbnRpbmcgdGhpcyBsaW5lIGJlY2F1c2UgaXQgaXMgY2F1c2luZyByZWdyZXNzaW9uKGlmIHdlIGhhdmUgZGlhbG9nIGluc2lkZSBwb3BvdmVyIGFzIHBhcnRhaWwgY29udGVudCwgdGhlbiB0aGUgZGlhbG9nIGNsb3NlIGlzIG5vdCB3b3JraW5nIGJlY2F1c2Ugb24gY2xvc2luZyB0aGUgcG9wb3ZlciB0aGUgcGFydGlhbCBnZXQgZGVzdHJveWVkLilcblxuICAgICAgICAvLyBkbyBub3Qgb3BlbiB0aGUgZGlhbG9nIGFnYWluIGlmIGl0IGlzIGFscmVhZHkgb3BlbmVkXG4gICAgICAgIGNvbnN0IGR1cGxpY2F0ZURpYWxvZ0NoZWNrID0gKG9wZW5lZERpYWxvZykgPT4ge1xuICAgICAgICAgICByZXR1cm4gb3BlbmVkRGlhbG9nID09PSB0aGlzO1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1NlcnZpY2UuZ2V0T3BlbmVkRGlhbG9ncygpLnNvbWUoZHVwbGljYXRlRGlhbG9nQ2hlY2spKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuYWRkVG9PcGVuZWREaWFsb2dzKHRoaXMpO1xuXG4gICAgICAgIC8vIGV4dGVuZCB0aGUgY29udGV4dCB3aXRoIHRoZSBpbml0U3RhdGVcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNvbnRleHQsIGluaXRTdGF0ZSk7XG4gICAgICAgIHRoaXMubW9kYWxPcHRpb25zLmFyaWFMYWJlbGxlZEJ5ID0gdGhpcy50aXRsZUlkO1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuYnNNb2RhbC5zaG93KHRoaXMuZ2V0VGVtcGxhdGVSZWYoKSwgdGhpcy5tb2RhbE9wdGlvbnMpO1xuICAgICAgICAvLyBGaXggZm9yIFtXTVMtMjM5NDhdOiBGb2N1cyBtb3Zpbmcgb3V0IG9mIGFjdGl2ZSBEaWFsb2cgd2lkZ2V0XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1NlcnZpY2UuZ2V0T3BlbmVkRGlhbG9ncygpLmxlbmd0aCA9PT0gMSAmJiAoaXNNb2JpbGUoKSB8fCBpc01vYmlsZUFwcCgpKSkge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50U2VsZWN0b3IgPSAkKCdib2R5ID4gYXBwLXJvb3QnKVswXTtcbiAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2xvc2VzIHRoZSBkaWFsb2dcbiAgICAgKiBpbnZva2VzIHRoZSBvbi1jbG9zZSBldmVudCBjYWxsYmFja1xuICAgICAqL1xuICAgIHB1YmxpYyBjbG9zZSgpIHtcbiAgICAgICAgLy8gcmVtb3ZlIHRoZSBwb3BvdmVycyBpbiB0aGUgcGFnZSB0byBhdm9pZCB0aGUgb3ZlcmxhcCB3aXRoIGRpYWxvZ1xuICAgICAgICAvLyBjbG9zZVBvcG92ZXIodGhpcy4kZWxlbWVudCk7IENvbW1lbnRpbmcgdGhpcyBsaW5lIGJlY2F1c2UgaXQgaXMgY2F1c2luZyByZWdyZXNzaW9uKGlmIHdlIGhhdmUgZGlhbG9nIGluc2lkZSBwb3BvdmVyIGFzIHBhcnRhaWwgY29udGVudCwgdGhlbiB0aGUgZGlhbG9nIGNsb3NlIGlzIG5vdCB3b3JraW5nIGJlY2F1c2Ugb24gY2xvc2luZyB0aGUgcG9wb3ZlciB0aGUgcGFydGlhbCBnZXQgZGVzdHJveWVkLilcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuYWRkVG9DbG9zZWREaWFsb2dzKHRoaXMpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuaGlkZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgdGhlIGRpYWxvZyB3aXRoIHRoZSBkaWFsb2cgc2VydmljZSBmb3IgcHJvZ3JhbW1hdGljIGFjY2Vzc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWdpc3RlcihzY29wZSkge1xuICAgICAgICAvLyBhZGQgc2NvcGUgYWxvbmcgd2l0aCBuYW1lIGluIHRoZSBkaWFsb2dSZWZzQ29sbGVjdGlvbiBNYXAgd2hpbGUgcmVnaXN0ZXJpbmcgZGlhbG9nXG4gICAgICAgIC8vIFNvIHRoYXQgMiBkaWFsb2dzIGhhdmluZyBzYW1lIG5hbWUgb24gZGlmZmVyZW50IHBhZ2VzIHdvbid0IGJlIG92ZXJyaWRkZW4uXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5yZWdpc3Rlcih0aGlzLm5hbWUsIHRoaXMsIHNjb3BlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZSBSZWdpc3RlciB0aGUgZGlhbG9nIHdpdGggdGhlIGRpYWxvZyBzZXJ2aWNlIGFmdGVyIGRpYWxvZyBkZXN0cnVjdGlvblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBkZVJlZ2lzdGVyKHNjb3BlKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5kZVJlZ2lzdGVyKHRoaXMubmFtZSwgc2NvcGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHN1YmNsYXNzZXMgb2YgQmFzZURpYWxvZyBtdXN0IGltcGxlbWVudCB0aGlzIG1ldGhvZCB0byByZXR1cm4gdGhlIHByb3BlciB0ZW1wbGF0ZSBlbGVtZW50IHJlZlxuICAgICAqIGJzTW9kYWwgd2lsbCB1c2UgdGhpcyByZWZlbmNlIHRvIG9wZW4gdGhlIGRpYWxvZ1xuICAgICAqIEByZXR1cm5zIHtUZW1wbGF0ZVJlZjxhbnk+fVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRUZW1wbGF0ZVJlZigpOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHJvdGVjdGVkIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIC8vIGlnbm9yZSB0aGUgY2xhc3MgYXR0cmlidXRlLlxuICAgICAgICAvLyBQcmV2ZW50IHRoZSBmcmFtZXdvcmsgZnJvbSBzZXR0aW5nIHRoZSBjbGFzcyBvbiB0aGUgaG9zdCBlbGVtZW50LlxuICAgICAgICBpZiAoa2V5ID09PSAnY2xhc3MnIHx8IGtleSA9PT0gJ25hbWUnIHx8IGtleSA9PT0gJ3RhYmluZGV4Jykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2FuaW1hdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMubW9kYWxPcHRpb25zLmNsYXNzID0gdGhpcy5tb2RhbE9wdGlvbnMuY2xhc3MucmVwbGFjZSgnIGFuaW1hdGVkICcgKyBvdiwgJycpO1xuICAgICAgICAgICAgaWYgKG52KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RhbE9wdGlvbnMuY2xhc3MgPSB0aGlzLm1vZGFsT3B0aW9ucy5jbGFzcyArICcgYW5pbWF0ZWQgJyArIG52O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aGlzLmRlUmVnaXN0ZXIodGhpcy52aWV3UGFyZW50KTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvZGlhbG9ncy9kZWZhdWx0L3NyYy9iYXNlLWRpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUEwQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQWMsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSS9FLE9BQU8sRUFBQyxxQkFBcUIsRUFBZ0IsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFckgsT0FBTyxFQUFFLGFBQWEsRUFBMEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJeEUsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7QUFFN0IsSUFBSSxZQUFZLEdBQUc7SUFDZixhQUFhLEVBQUUsSUFBSTtDQUN0QixDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ2pDLElBQUksR0FBRyxFQUFFO1FBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QywyRkFBMkY7WUFDM0YsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDN0Q7WUFDRCxHQUFHLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLEVB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QUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxVQUFVLEVBQUU7WUFDekQsT0FBTztTQUNWO2FBQU0sSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pGLElBQUksRUFBRSxFQUFFO2dCQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLFlBQVksR0FBRyxFQUFFLENBQUM7YUFDekU7U0FDSjtRQUNELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OztZQTdKSixVQUFVOzs7WUExREYsUUFBUTs7WUFFb0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiwgQnNNb2RhbFNlcnZpY2UsIE1vZGFsT3B0aW9ucyB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtBYnN0cmFjdERpYWxvZ1NlcnZpY2UsIGNsb3NlUG9wb3ZlciwgZmluZFJvb3RDb250YWluZXIsIGdlbmVyYXRlR1VJZCwgaXNNb2JpbGUsIGlzTW9iaWxlQXBwfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIElEaWFsb2csIElXaWRnZXRDb25maWcgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IGNyZWF0ZUZvY3VzVHJhcCB9IGZyb20gJ0B3YXZlbWFrZXIvZm9jdXMtdHJhcC9kaXN0L2ZvY3VzLXRyYXAnO1xuXG5kZWNsYXJlIGNvbnN0IF87XG5cbmxldCBldmVudHNSZWdpc3RlcmVkID0gZmFsc2U7XG5cbmxldCBmb2N1c1RyYXBPYmogPSB7XG4gICAgYWN0aXZlRWxlbWVudDogbnVsbFxufTtcblxuY29uc3QgaW52b2tlT3BlbmVkQ2FsbGJhY2sgPSAocmVmKSA9PiB7XG4gICAgaWYgKHJlZikge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBmaW5kUm9vdENvbnRhaW5lcihyZWYuJGVsZW1lbnQpO1xuICAgICAgICAgICAgLy8gaWYgcGFnZSBzdHlsZXMgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGRpYWxvZyB0aGVuIGRpYWxvZyBoYXMgdG8gYmUgY2hpbGQgb2YgcGFnZSBlbGVtZW50LlxuICAgICAgICAgICAgaWYgKHJvb3QpIHtcbiAgICAgICAgICAgICAgICAkKCdib2R5ID4gbW9kYWwtY29udGFpbmVyID4gZGl2Jykud3JhcCgnPCcgKyByb290ICsgJy8+Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZWYuaW52b2tlRXZlbnRDYWxsYmFjaygnb3BlbmVkJywgeyRldmVudDoge3R5cGU6ICdvcGVuZWQnfX0pO1xuICAgICAgICAgICAgLy8gZm9jdXNUcmFwT2JqIHdpbGwgY3JlYXRlIGZvY3VzIHRyYXAgZm9yIHRoZSByZXNwZWN0aXZlIGRpYWxvZyBhY2NvcmRpbmcgdG8gdGhlIHRpdGxlSWQgYXNzaWduZWQgdG8gdGhlbSB3aGljaCBpcyB1bmlxdWUuXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSAkKCdbYXJpYS1sYWJlbGxlZGJ5PSAnICsgcmVmLnRpdGxlSWQgKyAnXScpWzBdO1xuXG4gICAgICAgICAgICBjb25zdCBrZXlib2FyZEZvY3VzYWJsZUVsZW1lbnRzID0gW2NvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICAgICAgICdhLCBidXR0b24sIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBkZXRhaWxzLCBpZnJhbWUsIGVtYmVkLCBvYmplY3QsIHN1bW1hcnkgZGlhbG9nLCBhdWRpb1tjb250cm9sc10sIHZpZGVvW2NvbnRyb2xzXSwgW2NvbnRlbnRlZGl0YWJsZV0sIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKSdcbiAgICAgICAgICAgICAgKV0uZmlsdGVyKGVsID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgIWVsWzBdLmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSAmJiAhZWxbMF0uaGFzQXR0cmlidXRlKCdoaWRkZW4nKSlcbiAgICAgICAgICAgICAgfSlbMF07XG5cbiAgICAgICAgICAgICQoa2V5Ym9hcmRGb2N1c2FibGVFbGVtZW50c1swXSkuZm9jdXMoKTtcblxuICAgICAgICAgICAgZm9jdXNUcmFwT2JqW3JlZi50aXRsZUlkXSA9IGNyZWF0ZUZvY3VzVHJhcChjb250YWluZXIsIHtcbiAgICAgICAgICAgICAgICBvbkFjdGl2YXRlOiAoKSA9PiBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnaXMtYWN0aXZlJyksXG4gICAgICAgICAgICAgICAgb25EZWFjdGl2YXRlOiAoKSA9PiBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgnaXMtYWN0aXZlJyksXG4gICAgICAgICAgICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IHRydWUsXG4gICAgICAgICAgICAgICAgc2V0UmV0dXJuRm9jdXM6IGZvY3VzVHJhcE9iai5hY3RpdmVFbGVtZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBmb2N1c1RyYXBPYmpbcmVmLnRpdGxlSWRdLmFjdGl2YXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmNvbnN0IGludm9rZUNsb3NlZENhbGxiYWNrID0gKHJlZikgPT4ge1xuICAgIGlmIChyZWYpIHtcbiAgICAgICAgcmVmLmludm9rZUV2ZW50Q2FsbGJhY2soJ2Nsb3NlJyk7XG4gICAgICAgIHJlZi5kaWFsb2dSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEaWFsb2cgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgSURpYWxvZywgT25EZXN0cm95IHtcblxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IEFic3RyYWN0RGlhbG9nU2VydmljZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJzTW9kYWw6IEJzTW9kYWxTZXJ2aWNlO1xuXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IEJzTW9kYWxSZWY7XG4gICAgcHJpdmF0ZSBkaWFsb2dJZDogbnVtYmVyO1xuICAgIHB1YmxpYyB0aXRsZUlkOnN0cmluZyA9ICd3bWRpYWxvZy0nICsgZ2VuZXJhdGVHVUlkKCk7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIGluajogSW5qZWN0b3IsXG4gICAgICAgIHdpZGdldENvbmZpZzogSVdpZGdldENvbmZpZyxcbiAgICAgICAgcHJvdGVjdGVkIG1vZGFsT3B0aW9uczogTW9kYWxPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluaiwgd2lkZ2V0Q29uZmlnKTtcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlID0gaW5qLmdldChBYnN0cmFjdERpYWxvZ1NlcnZpY2UpO1xuICAgICAgICB0aGlzLmJzTW9kYWwgPSBpbmouZ2V0KEJzTW9kYWxTZXJ2aWNlKTtcbiAgICAgICAgY29uc3Qgcm91dGVyID0gaW5qLmdldChSb3V0ZXIpO1xuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW1xuICAgICAgICAgICAgdGhpcy5ic01vZGFsLm9uU2hvd24uc3Vic2NyaWJlKCh7aWR9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmdldExhc3RPcGVuZWREaWFsb2coKTtcbiAgICAgICAgICAgICAgICBpZiAocmVmID09PSB0aGlzICYmICF0aGlzLmRpYWxvZ0lkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEFsd2F5cyBnZXQgdGhlIHJlZmVyZW5jZSBvZiBsYXN0IHB1c2hlZCBkaWFsb2cgaW4gdGhlIGFycmF5IGZvciBjYWxsaW5nIG9uT3BlbiBjYWxsYmFja1xuICAgICAgICAgICAgICAgICAgICBpbnZva2VPcGVuZWRDYWxsYmFjayhyZWYpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0lkID0gaWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0aGlzLmJzTW9kYWwub25TaG93LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgZm9jdXNUcmFwT2JqLmFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0aGlzLmJzTW9kYWwub25IaWRkZW4uc3Vic2NyaWJlKChjbG9zZVJlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2UuZ2V0RGlhbG9nUmVmRnJvbUNsb3NlZERpYWxvZ3MoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dJZCAmJiBjbG9zZVJlYXNvbj8uaWQgPT09IHRoaXMuZGlhbG9nSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmID0gdGhpcztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNsb3NlUmVhc29uID09PSAnZXNjJyB8fCBjbG9zZVJlYXNvbiA9PT0gJ2JhY2tkcm9wLWNsaWNrJykge1xuICAgICAgICAgICAgICAgICAgICByZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2UuZ2V0TGFzdE9wZW5lZERpYWxvZygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocmVmID09PSB0aGlzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nSWQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgdGhlIGRpYWxvZyByZWZlcmVuY2UgZnJvbSBvcGVuZWQgZGlhbG9ncyBhbmQgY2xvc2VkIGRpYWxvZ3NcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnJlbW92ZUZyb21PcGVuZWREaWFsb2dzKHJlZik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5yZW1vdmVGcm9tQ2xvc2VkRGlhbG9ncyhyZWYpO1xuICAgICAgICAgICAgICAgICAgICBpbnZva2VDbG9zZWRDYWxsYmFjayhyZWYpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVmLmNsb3NlQ2FsbEJhY2tGbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmLmNsb3NlQ2FsbEJhY2tGbigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0aGlzLmJzTW9kYWwub25IaWRlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gIFdpbGwgZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBmb3IgdGhlIHJlc3BlY3RpdmUgZGlhbG9nIHdoZW4gdGhleSBhcmUgY2xvc2VkLlxuICAgICAgICAgICAgICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dSZWZGcm9tQ2xvc2VkRGlhbG9ncygpO1xuICAgICAgICAgICAgICAgIGlmIChyZWYgJiYgZm9jdXNUcmFwT2JqW3JlZi50aXRsZUlkXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvY3VzVHJhcE9ialtyZWYudGl0bGVJZF0uZGVhY3RpdmF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICBdO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IHsvLyByZW1vdmUgdGhlIGRpYWxvZyByZWZlcmVuY2UgZnJvbSBvcGVuZWQgZGlhbG9ncyBhbmQgY2xvc2VkIGRpYWxvZ3NcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5yZW1vdmVGcm9tT3BlbmVkRGlhbG9ncyh0aGlzKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5yZW1vdmVGcm9tQ2xvc2VkRGlhbG9ncyh0aGlzKTtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIHRoZSBkaWFsb2dcbiAgICAgKiBTdWJzY3JpYmUgdG8gdGhlIG9uU2hvd24gZXZlbnQgZW1pdHRlciBvZiBic01vZGFsIGFuZCB0cmlnZ2VyIG9uLW9wZW5lZCBldmVudCBjYWxsYmFja1xuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKGluaXRTdGF0ZT86IGFueSkge1xuXG4gICAgICAgIC8vIHJlbW92ZSB0aGUgcG9wb3ZlcnMgaW4gdGhlIHBhZ2UgdG8gYXZvaWQgdGhlIG92ZXJsYXAgd2l0aCBkaWFsb2dcbiAgICAgICAgLy8gY2xvc2VQb3BvdmVyKHRoaXMuJGVsZW1lbnQpOyBDb21tZW50aW5nIHRoaXMgbGluZSBiZWNhdXNlIGl0IGlzIGNhdXNpbmcgcmVncmVzc2lvbihpZiB3ZSBoYXZlIGRpYWxvZyBpbnNpZGUgcG9wb3ZlciBhcyBwYXJ0YWlsIGNvbnRlbnQsIHRoZW4gdGhlIGRpYWxvZyBjbG9zZSBpcyBub3Qgd29ya2luZyBiZWNhdXNlIG9uIGNsb3NpbmcgdGhlIHBvcG92ZXIgdGhlIHBhcnRpYWwgZ2V0IGRlc3Ryb3llZC4pXG5cbiAgICAgICAgLy8gZG8gbm90IG9wZW4gdGhlIGRpYWxvZyBhZ2FpbiBpZiBpdCBpcyBhbHJlYWR5IG9wZW5lZFxuICAgICAgICBjb25zdCBkdXBsaWNhdGVEaWFsb2dDaGVjayA9IChvcGVuZWREaWFsb2cpID0+IHtcbiAgICAgICAgICAgcmV0dXJuIG9wZW5lZERpYWxvZyA9PT0gdGhpcztcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5kaWFsb2dTZXJ2aWNlLmdldE9wZW5lZERpYWxvZ3MoKS5zb21lKGR1cGxpY2F0ZURpYWxvZ0NoZWNrKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmFkZFRvT3BlbmVkRGlhbG9ncyh0aGlzKTtcblxuICAgICAgICAvLyBleHRlbmQgdGhlIGNvbnRleHQgd2l0aCB0aGUgaW5pdFN0YXRlXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5jb250ZXh0LCBpbml0U3RhdGUpO1xuICAgICAgICB0aGlzLm1vZGFsT3B0aW9ucy5hcmlhTGFiZWxsZWRCeSA9IHRoaXMudGl0bGVJZDtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmJzTW9kYWwuc2hvdyh0aGlzLmdldFRlbXBsYXRlUmVmKCksIHRoaXMubW9kYWxPcHRpb25zKTtcbiAgICAgICAgLy8gRml4IGZvciBbV01TLTIzOTQ4XTogRm9jdXMgbW92aW5nIG91dCBvZiBhY3RpdmUgRGlhbG9nIHdpZGdldFxuICAgICAgICBpZiAodGhpcy5kaWFsb2dTZXJ2aWNlLmdldE9wZW5lZERpYWxvZ3MoKS5sZW5ndGggPT09IDEgJiYgKGlzTW9iaWxlKCkgfHwgaXNNb2JpbGVBcHAoKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudFNlbGVjdG9yID0gJCgnYm9keSA+IGFwcC1yb290JylbMF07XG4gICAgICAgICAgICBwYXJlbnRTZWxlY3Rvci5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNsb3NlcyB0aGUgZGlhbG9nXG4gICAgICogaW52b2tlcyB0aGUgb24tY2xvc2UgZXZlbnQgY2FsbGJhY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgICAgIC8vIHJlbW92ZSB0aGUgcG9wb3ZlcnMgaW4gdGhlIHBhZ2UgdG8gYXZvaWQgdGhlIG92ZXJsYXAgd2l0aCBkaWFsb2dcbiAgICAgICAgLy8gY2xvc2VQb3BvdmVyKHRoaXMuJGVsZW1lbnQpOyBDb21tZW50aW5nIHRoaXMgbGluZSBiZWNhdXNlIGl0IGlzIGNhdXNpbmcgcmVncmVzc2lvbihpZiB3ZSBoYXZlIGRpYWxvZyBpbnNpZGUgcG9wb3ZlciBhcyBwYXJ0YWlsIGNvbnRlbnQsIHRoZW4gdGhlIGRpYWxvZyBjbG9zZSBpcyBub3Qgd29ya2luZyBiZWNhdXNlIG9uIGNsb3NpbmcgdGhlIHBvcG92ZXIgdGhlIHBhcnRpYWwgZ2V0IGRlc3Ryb3llZC4pXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmFkZFRvQ2xvc2VkRGlhbG9ncyh0aGlzKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmhpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIHRoZSBkaWFsb2cgd2l0aCB0aGUgZGlhbG9nIHNlcnZpY2UgZm9yIHByb2dyYW1tYXRpYyBhY2Nlc3NcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVnaXN0ZXIoc2NvcGUpIHtcbiAgICAgICAgLy8gYWRkIHNjb3BlIGFsb25nIHdpdGggbmFtZSBpbiB0aGUgZGlhbG9nUmVmc0NvbGxlY3Rpb24gTWFwIHdoaWxlIHJlZ2lzdGVyaW5nIGRpYWxvZ1xuICAgICAgICAvLyBTbyB0aGF0IDIgZGlhbG9ncyBoYXZpbmcgc2FtZSBuYW1lIG9uIGRpZmZlcmVudCBwYWdlcyB3b24ndCBiZSBvdmVycmlkZGVuLlxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UucmVnaXN0ZXIodGhpcy5uYW1lLCB0aGlzLCBzY29wZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGUgUmVnaXN0ZXIgdGhlIGRpYWxvZyB3aXRoIHRoZSBkaWFsb2cgc2VydmljZSBhZnRlciBkaWFsb2cgZGVzdHJ1Y3Rpb25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZGVSZWdpc3RlcihzY29wZSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuZGVSZWdpc3Rlcih0aGlzLm5hbWUsIHNjb3BlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzdWJjbGFzc2VzIG9mIEJhc2VEaWFsb2cgbXVzdCBpbXBsZW1lbnQgdGhpcyBtZXRob2QgdG8gcmV0dXJuIHRoZSBwcm9wZXIgdGVtcGxhdGUgZWxlbWVudCByZWZcbiAgICAgKiBic01vZGFsIHdpbGwgdXNlIHRoaXMgcmVmZW5jZSB0byBvcGVuIHRoZSBkaWFsb2dcbiAgICAgKiBAcmV0dXJucyB7VGVtcGxhdGVSZWY8YW55Pn1cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0VGVtcGxhdGVSZWYoKTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHByb3RlY3RlZCBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuICAgICAgICAvLyBpZ25vcmUgdGhlIGNsYXNzIGF0dHJpYnV0ZS5cbiAgICAgICAgLy8gUHJldmVudCB0aGUgZnJhbWV3b3JrIGZyb20gc2V0dGluZyB0aGUgY2xhc3Mgb24gdGhlIGhvc3QgZWxlbWVudC5cbiAgICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzJyB8fCBrZXkgPT09ICduYW1lJyB8fCBrZXkgPT09ICd0YWJpbmRleCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdhbmltYXRpb24nKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGFsT3B0aW9ucy5jbGFzcyA9IHRoaXMubW9kYWxPcHRpb25zLmNsYXNzLnJlcGxhY2UoJyBhbmltYXRlZCAnICsgb3YsICcnKTtcbiAgICAgICAgICAgIGlmIChudikge1xuICAgICAgICAgICAgICAgIHRoaXMubW9kYWxPcHRpb25zLmNsYXNzID0gdGhpcy5tb2RhbE9wdGlvbnMuY2xhc3MgKyAnIGFuaW1hdGVkICcgKyBudjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5kZVJlZ2lzdGVyKHRoaXMudmlld1BhcmVudCk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -138,7 +138,7 @@ class BaseDialog extends BaseComponent {
|
|
|
138
138
|
const subscriptions = [
|
|
139
139
|
this.bsModal.onShown.subscribe(({ id }) => {
|
|
140
140
|
const ref = this.dialogService.getLastOpenedDialog();
|
|
141
|
-
if (ref === this) {
|
|
141
|
+
if (ref === this && !this.dialogId) {
|
|
142
142
|
// Always get the reference of last pushed dialog in the array for calling onOpen callback
|
|
143
143
|
invokeOpenedCallback(ref);
|
|
144
144
|
this.dialogId = id;
|
|
@@ -156,6 +156,7 @@ class BaseDialog extends BaseComponent {
|
|
|
156
156
|
ref = this.dialogService.getLastOpenedDialog();
|
|
157
157
|
}
|
|
158
158
|
if (ref === this) {
|
|
159
|
+
this.dialogId = null;
|
|
159
160
|
// remove the dialog reference from opened dialogs and closed dialogs
|
|
160
161
|
this.dialogService.removeFromOpenedDialogs(ref);
|
|
161
162
|
this.dialogService.removeFromClosedDialogs(ref);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../projects/components/widgets/dialogs/default/src/dialog-body/dialog-body.directive.ts","../../../../../projects/components/widgets/dialogs/default/src/dialog-footer/dialog-footer.props.ts","../../../../../projects/components/widgets/dialogs/default/src/dialog-footer/dialog-footer.directive.ts","../../../../../projects/components/widgets/dialogs/default/src/base-dialog.ts","../../../../../projects/components/widgets/dialogs/default/src/dialog-header/dialog-header.component.ts","../../../../../projects/components/widgets/dialogs/default/src/dialog.module.ts","../../../../../projects/components/widgets/dialogs/default/src/index.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Inject, Renderer2 } from '@angular/core';\n\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\nimport { addClass, setAttr, setCSS } from '@wm/core';\n\nimport { DialogRef } from '@wm/components/base';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-dialog-body modal-body';\n\n@Directive({\n selector: 'div[wmDialogBody]',\n})\nexport class DialogBodyDirective {\n @HostBinding('style.height') height;\n constructor(\n elRef: ElementRef,\n @Inject(DialogRef) private dialogRef,\n bsModal: BsModalService,\n private renderer: Renderer2\n ) {\n addClass(elRef.nativeElement, DEFAULT_CLS);\n\n const subscription = bsModal.onShown.subscribe(() => {\n const dialogRoot = $(elRef.nativeElement).closest('.app-dialog')[0];\n let dialogRootContainer = $('body.wm-app')[0];\n // To identify the microfrontend, if body tag doesn't have wm-app class then app loading as micro-frontend\n if(!dialogRootContainer) {\n const dialogBackrop = $('body > .modal-backdrop')[0];\n const parentContainer = $('body > modal-container')[0];\n dialogRootContainer = $('.wm-app')[0];\n if(dialogRootContainer && parentContainer ){\n if(dialogBackrop){\n this.renderer.appendChild(dialogRootContainer, dialogBackrop);\n }\n this.renderer.appendChild(dialogRootContainer, parentContainer);\n \n }\n }\n const width = this.dialogRef.width;\n const height = this.dialogRef.height;\n if(height){\n setTimeout(e=>{\n setCSS($(elRef.nativeElement)[0], 'height', height);\n });\n } \n if (dialogRoot) {\n if (width) {\n setCSS(dialogRoot, 'width', width);\n }\n setAttr(dialogRoot, 'tabindex', this.dialogRef.tabindex);\n setAttr(dialogRoot, 'name', this.dialogRef.name);\n\n }\n subscription.unsubscribe();\n });\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-dialogfooter',\n new Map([\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ])\n );\n};\n","import { Directive, Injector } from '@angular/core';\n\nimport { BaseComponent, IWidgetConfig, provideAsWidgetRef } from '@wm/components/base';\nimport { registerProps } from './dialog-footer.props';\n\nconst WIDGET_INFO: IWidgetConfig = {\n widgetType: 'wm-dialogfooter',\n hostClass: 'app-dialog-footer modal-footer'\n};\n\n@Directive({\n selector: 'div[wmDialogFooter]',\n providers: [\n provideAsWidgetRef(DialogFooterDirective)\n ]\n})\nexport class DialogFooterDirective extends BaseComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector) {\n super(inj, WIDGET_INFO);\n }\n}\n","import { Injector, OnDestroy, TemplateRef, Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\n\nimport { Subscription } from 'rxjs';\n\nimport {AbstractDialogService, closePopover, findRootContainer, generateGUId, isMobile, isMobileApp} from '@wm/core';\n\nimport { BaseComponent, IDialog, IWidgetConfig } from '@wm/components/base';\nimport { createFocusTrap } from '@wavemaker/focus-trap/dist/focus-trap';\n\ndeclare const _;\n\nlet eventsRegistered = false;\n\nlet focusTrapObj = {\n activeElement: null\n};\n\nconst invokeOpenedCallback = (ref) => {\n if (ref) {\n setTimeout(() => {\n const root = findRootContainer(ref.$element);\n // if page styles have to be applied to dialog then dialog has to be child of page element.\n if (root) {\n $('body > modal-container > div').wrap('<' + root + '/>');\n }\n ref.invokeEventCallback('opened', {$event: {type: 'opened'}});\n // focusTrapObj will create focus trap for the respective dialog according to the titleId assigned to them which is unique.\n const container = $('[aria-labelledby= ' + ref.titleId + ']')[0];\n\n const keyboardFocusableElements = [container.querySelectorAll(\n 'a, button, input, textarea, select, details, iframe, embed, object, summary dialog, audio[controls], video[controls], [contenteditable], [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => {\n return (\n !el[0].hasAttribute('disabled') && !el[0].hasAttribute('hidden'))\n })[0];\n\n $(keyboardFocusableElements[0]).focus();\n\n focusTrapObj[ref.titleId] = createFocusTrap(container, {\n onActivate: () => container.classList.add('is-active'),\n onDeactivate: () => container.classList.remove('is-active'),\n allowOutsideClick: true,\n setReturnFocus: focusTrapObj.activeElement,\n });\n focusTrapObj[ref.titleId].activate();\n });\n }\n};\n\nconst invokeClosedCallback = (ref) => {\n if (ref) {\n ref.invokeEventCallback('close');\n ref.dialogRef = undefined;\n }\n};\n\n@Injectable()\nexport abstract class BaseDialog extends BaseComponent implements IDialog, OnDestroy {\n\n public name: string;\n\n private readonly dialogService: AbstractDialogService;\n private readonly bsModal: BsModalService;\n\n private dialogRef: BsModalRef;\n private dialogId: number;\n public titleId:string = 'wmdialog-' + generateGUId();\n\n protected constructor(\n inj: Injector,\n widgetConfig: IWidgetConfig,\n protected modalOptions: ModalOptions\n ) {\n super(inj, widgetConfig);\n this.dialogService = inj.get(AbstractDialogService);\n this.bsModal = inj.get(BsModalService);\n const router = inj.get(Router);\n\n const subscriptions: Subscription[] = [\n this.bsModal.onShown.subscribe(({id}) => {\n const ref = this.dialogService.getLastOpenedDialog();\n if (ref === this) {\n // Always get the reference of last pushed dialog in the array for calling onOpen callback\n invokeOpenedCallback(ref);\n this.dialogId = id;\n }\n }),\n this.bsModal.onShow.subscribe(() => {\n focusTrapObj.activeElement = document.activeElement;\n }),\n this.bsModal.onHidden.subscribe((closeReason) => {\n let ref = this.dialogService.getDialogRefFromClosedDialogs();\n if (this.dialogId && closeReason?.id === this.dialogId) {\n ref = this;\n } else if (closeReason === 'esc' || closeReason === 'backdrop-click') {\n ref = this.dialogService.getLastOpenedDialog();\n }\n if (ref === this) {\n // remove the dialog reference from opened dialogs and closed dialogs\n this.dialogService.removeFromOpenedDialogs(ref);\n this.dialogService.removeFromClosedDialogs(ref);\n invokeClosedCallback(ref);\n if (ref.closeCallBackFn) {\n ref.closeCallBackFn();\n }\n }\n }),\n this.bsModal.onHide.subscribe(() => {\n // Will de-activate focus trap for the respective dialog when they are closed.\n const ref = this.dialogService.getDialogRefFromClosedDialogs();\n if (ref && focusTrapObj[ref.titleId] !== undefined) {\n focusTrapObj[ref.titleId].deactivate();\n }\n }),\n router.events.subscribe(e => {\n if (e instanceof NavigationEnd) {\n this.close();\n }\n })\n ];\n this.registerDestroyListener(() => {// remove the dialog reference from opened dialogs and closed dialogs\n this.dialogService.removeFromOpenedDialogs(this);\n this.dialogService.removeFromClosedDialogs(this);\n subscriptions.forEach(s => s.unsubscribe());\n });\n }\n\n /**\n * Opens the dialog\n * Subscribe to the onShown event emitter of bsModal and trigger on-opened event callback\n */\n public open(initState?: any) {\n\n // remove the popovers in the page to avoid the overlap with dialog\n // closePopover(this.$element); Commenting this line because it is causing regression(if we have dialog inside popover as partail content, then the dialog close is not working because on closing the popover the partial get destroyed.)\n\n // do not open the dialog again if it is already opened\n const duplicateDialogCheck = (openedDialog) => {\n return openedDialog === this;\n };\n\n if (this.dialogService.getOpenedDialogs().some(duplicateDialogCheck)) {\n return;\n }\n\n this.dialogService.addToOpenedDialogs(this);\n\n // extend the context with the initState\n Object.assign(this.context, initState);\n this.modalOptions.ariaLabelledBy = this.titleId;\n this.dialogRef = this.bsModal.show(this.getTemplateRef(), this.modalOptions);\n // Fix for [WMS-23948]: Focus moving out of active Dialog widget\n if (this.dialogService.getOpenedDialogs().length === 1 && (isMobile() || isMobileApp())) {\n const parentSelector = $('body > app-root')[0];\n parentSelector.setAttribute('aria-hidden', 'true');\n }\n }\n\n /**\n * closes the dialog\n * invokes the on-close event callback\n */\n public close() {\n // remove the popovers in the page to avoid the overlap with dialog\n // closePopover(this.$element); Commenting this line because it is causing regression(if we have dialog inside popover as partail content, then the dialog close is not working because on closing the popover the partial get destroyed.)\n if (this.dialogRef) {\n this.dialogService.addToClosedDialogs(this);\n this.dialogRef.hide();\n }\n }\n\n /**\n * Register the dialog with the dialog service for programmatic access\n */\n protected register(scope) {\n // add scope along with name in the dialogRefsCollection Map while registering dialog\n // So that 2 dialogs having same name on different pages won't be overridden.\n this.dialogService.register(this.name, this, scope);\n }\n\n /**\n * De Register the dialog with the dialog service after dialog destruction\n */\n protected deRegister(scope) {\n this.dialogService.deRegister(this.name, scope);\n }\n\n /**\n * subclasses of BaseDialog must implement this method to return the proper template element ref\n * bsModal will use this refence to open the dialog\n * @returns {TemplateRef<any>}\n */\n protected abstract getTemplateRef(): TemplateRef<any>;\n\n protected onPropertyChange(key: string, nv: any, ov?: any) {\n // ignore the class attribute.\n // Prevent the framework from setting the class on the host element.\n if (key === 'class' || key === 'name' || key === 'tabindex') {\n return;\n } else if (key === 'animation') {\n this.modalOptions.class = this.modalOptions.class.replace(' animated ' + ov, '');\n if (nv) {\n this.modalOptions.class = this.modalOptions.class + ' animated ' + nv;\n }\n }\n super.onPropertyChange(key, nv, ov);\n }\n\n public ngOnDestroy() {\n this.close();\n this.deRegister(this.viewParent);\n super.ngOnDestroy();\n }\n}\n","import { Component, ElementRef, Inject, Input } from '@angular/core';\n\nimport { addClass, toBoolean } from '@wm/core';\n\nimport { DialogRef } from '@wm/components/base';\nimport { BaseDialog } from '../base-dialog';\n\nconst DEFAULT_CLS = 'app-dialog-header modal-header';\nconst DEFAULT_ICON_DIMENSIONS = '21px';\n\n@Component({\n selector: 'div[wmDialogHeader]',\n templateUrl: './dialog-header.component.html'\n})\nexport class DialogHeaderComponent {\n\n @Input() public iconwidth = DEFAULT_ICON_DIMENSIONS;\n @Input() public iconheight = DEFAULT_ICON_DIMENSIONS;\n @Input() public iconmargin: string;\n @Input() public iconclass: string;\n @Input() public iconurl: string;\n @Input() public closable = true;\n @Input() public heading: string;\n @Input() public subheading: string;\n @Input() public titleid:string;\n\n public get isClosable() {\n return toBoolean(this.closable);\n }\n\n constructor(elRef: ElementRef, @Inject(DialogRef) private dialogRef: BaseDialog) {\n addClass(elRef.nativeElement, DEFAULT_CLS);\n }\n\n public closeDialog() {\n this.dialogRef.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { DialogBodyDirective } from './dialog-body/dialog-body.directive';\nimport { DialogFooterDirective } from './dialog-footer/dialog-footer.directive';\nimport { DialogHeaderComponent } from './dialog-header/dialog-header.component';\n\nconst components = [\n DialogBodyDirective,\n DialogFooterDirective,\n DialogHeaderComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ModalModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components],\n entryComponents: []\n})\nexport class DialogModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {registerProps as ɵa} from './dialog-footer/dialog-footer.props';"],"names":["DEFAULT_CLS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../projects/components/widgets/dialogs/default/src/dialog-body/dialog-body.directive.ts","../../../../../projects/components/widgets/dialogs/default/src/dialog-footer/dialog-footer.props.ts","../../../../../projects/components/widgets/dialogs/default/src/dialog-footer/dialog-footer.directive.ts","../../../../../projects/components/widgets/dialogs/default/src/base-dialog.ts","../../../../../projects/components/widgets/dialogs/default/src/dialog-header/dialog-header.component.ts","../../../../../projects/components/widgets/dialogs/default/src/dialog.module.ts","../../../../../projects/components/widgets/dialogs/default/src/index.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Inject, Renderer2 } from '@angular/core';\n\nimport { BsModalService } from 'ngx-bootstrap/modal';\n\nimport { addClass, setAttr, setCSS } from '@wm/core';\n\nimport { DialogRef } from '@wm/components/base';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-dialog-body modal-body';\n\n@Directive({\n selector: 'div[wmDialogBody]',\n})\nexport class DialogBodyDirective {\n @HostBinding('style.height') height;\n constructor(\n elRef: ElementRef,\n @Inject(DialogRef) private dialogRef,\n bsModal: BsModalService,\n private renderer: Renderer2\n ) {\n addClass(elRef.nativeElement, DEFAULT_CLS);\n\n const subscription = bsModal.onShown.subscribe(() => {\n const dialogRoot = $(elRef.nativeElement).closest('.app-dialog')[0];\n let dialogRootContainer = $('body.wm-app')[0];\n // To identify the microfrontend, if body tag doesn't have wm-app class then app loading as micro-frontend\n if(!dialogRootContainer) {\n const dialogBackrop = $('body > .modal-backdrop')[0];\n const parentContainer = $('body > modal-container')[0];\n dialogRootContainer = $('.wm-app')[0];\n if(dialogRootContainer && parentContainer ){\n if(dialogBackrop){\n this.renderer.appendChild(dialogRootContainer, dialogBackrop);\n }\n this.renderer.appendChild(dialogRootContainer, parentContainer);\n \n }\n }\n const width = this.dialogRef.width;\n const height = this.dialogRef.height;\n if(height){\n setTimeout(e=>{\n setCSS($(elRef.nativeElement)[0], 'height', height);\n });\n } \n if (dialogRoot) {\n if (width) {\n setCSS(dialogRoot, 'width', width);\n }\n setAttr(dialogRoot, 'tabindex', this.dialogRef.tabindex);\n setAttr(dialogRoot, 'name', this.dialogRef.name);\n\n }\n subscription.unsubscribe();\n });\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-dialogfooter',\n new Map([\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ])\n );\n};\n","import { Directive, Injector } from '@angular/core';\n\nimport { BaseComponent, IWidgetConfig, provideAsWidgetRef } from '@wm/components/base';\nimport { registerProps } from './dialog-footer.props';\n\nconst WIDGET_INFO: IWidgetConfig = {\n widgetType: 'wm-dialogfooter',\n hostClass: 'app-dialog-footer modal-footer'\n};\n\n@Directive({\n selector: 'div[wmDialogFooter]',\n providers: [\n provideAsWidgetRef(DialogFooterDirective)\n ]\n})\nexport class DialogFooterDirective extends BaseComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector) {\n super(inj, WIDGET_INFO);\n }\n}\n","import { Injector, OnDestroy, TemplateRef, Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\n\nimport { Subscription } from 'rxjs';\n\nimport {AbstractDialogService, closePopover, findRootContainer, generateGUId, isMobile, isMobileApp} from '@wm/core';\n\nimport { BaseComponent, IDialog, IWidgetConfig } from '@wm/components/base';\nimport { createFocusTrap } from '@wavemaker/focus-trap/dist/focus-trap';\n\ndeclare const _;\n\nlet eventsRegistered = false;\n\nlet focusTrapObj = {\n activeElement: null\n};\n\nconst invokeOpenedCallback = (ref) => {\n if (ref) {\n setTimeout(() => {\n const root = findRootContainer(ref.$element);\n // if page styles have to be applied to dialog then dialog has to be child of page element.\n if (root) {\n $('body > modal-container > div').wrap('<' + root + '/>');\n }\n ref.invokeEventCallback('opened', {$event: {type: 'opened'}});\n // focusTrapObj will create focus trap for the respective dialog according to the titleId assigned to them which is unique.\n const container = $('[aria-labelledby= ' + ref.titleId + ']')[0];\n\n const keyboardFocusableElements = [container.querySelectorAll(\n 'a, button, input, textarea, select, details, iframe, embed, object, summary dialog, audio[controls], video[controls], [contenteditable], [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => {\n return (\n !el[0].hasAttribute('disabled') && !el[0].hasAttribute('hidden'))\n })[0];\n\n $(keyboardFocusableElements[0]).focus();\n\n focusTrapObj[ref.titleId] = createFocusTrap(container, {\n onActivate: () => container.classList.add('is-active'),\n onDeactivate: () => container.classList.remove('is-active'),\n allowOutsideClick: true,\n setReturnFocus: focusTrapObj.activeElement,\n });\n focusTrapObj[ref.titleId].activate();\n });\n }\n};\n\nconst invokeClosedCallback = (ref) => {\n if (ref) {\n ref.invokeEventCallback('close');\n ref.dialogRef = undefined;\n }\n};\n\n@Injectable()\nexport abstract class BaseDialog extends BaseComponent implements IDialog, OnDestroy {\n\n public name: string;\n\n private readonly dialogService: AbstractDialogService;\n private readonly bsModal: BsModalService;\n\n private dialogRef: BsModalRef;\n private dialogId: number;\n public titleId:string = 'wmdialog-' + generateGUId();\n\n protected constructor(\n inj: Injector,\n widgetConfig: IWidgetConfig,\n protected modalOptions: ModalOptions\n ) {\n super(inj, widgetConfig);\n this.dialogService = inj.get(AbstractDialogService);\n this.bsModal = inj.get(BsModalService);\n const router = inj.get(Router);\n\n const subscriptions: Subscription[] = [\n this.bsModal.onShown.subscribe(({id}) => {\n const ref = this.dialogService.getLastOpenedDialog();\n if (ref === this && !this.dialogId) {\n // Always get the reference of last pushed dialog in the array for calling onOpen callback\n invokeOpenedCallback(ref);\n this.dialogId = id;\n }\n }),\n this.bsModal.onShow.subscribe(() => {\n focusTrapObj.activeElement = document.activeElement;\n }),\n this.bsModal.onHidden.subscribe((closeReason) => {\n let ref = this.dialogService.getDialogRefFromClosedDialogs();\n if (this.dialogId && closeReason?.id === this.dialogId) {\n ref = this;\n } else if (closeReason === 'esc' || closeReason === 'backdrop-click') {\n ref = this.dialogService.getLastOpenedDialog();\n }\n if (ref === this) {\n this.dialogId = null;\n // remove the dialog reference from opened dialogs and closed dialogs\n this.dialogService.removeFromOpenedDialogs(ref);\n this.dialogService.removeFromClosedDialogs(ref);\n invokeClosedCallback(ref);\n if (ref.closeCallBackFn) {\n ref.closeCallBackFn();\n }\n }\n }),\n this.bsModal.onHide.subscribe(() => {\n // Will de-activate focus trap for the respective dialog when they are closed.\n const ref = this.dialogService.getDialogRefFromClosedDialogs();\n if (ref && focusTrapObj[ref.titleId] !== undefined) {\n focusTrapObj[ref.titleId].deactivate();\n }\n }),\n router.events.subscribe(e => {\n if (e instanceof NavigationEnd) {\n this.close();\n }\n })\n ];\n this.registerDestroyListener(() => {// remove the dialog reference from opened dialogs and closed dialogs\n this.dialogService.removeFromOpenedDialogs(this);\n this.dialogService.removeFromClosedDialogs(this);\n subscriptions.forEach(s => s.unsubscribe());\n });\n }\n\n /**\n * Opens the dialog\n * Subscribe to the onShown event emitter of bsModal and trigger on-opened event callback\n */\n public open(initState?: any) {\n\n // remove the popovers in the page to avoid the overlap with dialog\n // closePopover(this.$element); Commenting this line because it is causing regression(if we have dialog inside popover as partail content, then the dialog close is not working because on closing the popover the partial get destroyed.)\n\n // do not open the dialog again if it is already opened\n const duplicateDialogCheck = (openedDialog) => {\n return openedDialog === this;\n };\n\n if (this.dialogService.getOpenedDialogs().some(duplicateDialogCheck)) {\n return;\n }\n\n this.dialogService.addToOpenedDialogs(this);\n\n // extend the context with the initState\n Object.assign(this.context, initState);\n this.modalOptions.ariaLabelledBy = this.titleId;\n this.dialogRef = this.bsModal.show(this.getTemplateRef(), this.modalOptions);\n // Fix for [WMS-23948]: Focus moving out of active Dialog widget\n if (this.dialogService.getOpenedDialogs().length === 1 && (isMobile() || isMobileApp())) {\n const parentSelector = $('body > app-root')[0];\n parentSelector.setAttribute('aria-hidden', 'true');\n }\n }\n\n /**\n * closes the dialog\n * invokes the on-close event callback\n */\n public close() {\n // remove the popovers in the page to avoid the overlap with dialog\n // closePopover(this.$element); Commenting this line because it is causing regression(if we have dialog inside popover as partail content, then the dialog close is not working because on closing the popover the partial get destroyed.)\n if (this.dialogRef) {\n this.dialogService.addToClosedDialogs(this);\n this.dialogRef.hide();\n }\n }\n\n /**\n * Register the dialog with the dialog service for programmatic access\n */\n protected register(scope) {\n // add scope along with name in the dialogRefsCollection Map while registering dialog\n // So that 2 dialogs having same name on different pages won't be overridden.\n this.dialogService.register(this.name, this, scope);\n }\n\n /**\n * De Register the dialog with the dialog service after dialog destruction\n */\n protected deRegister(scope) {\n this.dialogService.deRegister(this.name, scope);\n }\n\n /**\n * subclasses of BaseDialog must implement this method to return the proper template element ref\n * bsModal will use this refence to open the dialog\n * @returns {TemplateRef<any>}\n */\n protected abstract getTemplateRef(): TemplateRef<any>;\n\n protected onPropertyChange(key: string, nv: any, ov?: any) {\n // ignore the class attribute.\n // Prevent the framework from setting the class on the host element.\n if (key === 'class' || key === 'name' || key === 'tabindex') {\n return;\n } else if (key === 'animation') {\n this.modalOptions.class = this.modalOptions.class.replace(' animated ' + ov, '');\n if (nv) {\n this.modalOptions.class = this.modalOptions.class + ' animated ' + nv;\n }\n }\n super.onPropertyChange(key, nv, ov);\n }\n\n public ngOnDestroy() {\n this.close();\n this.deRegister(this.viewParent);\n super.ngOnDestroy();\n }\n}\n","import { Component, ElementRef, Inject, Input } from '@angular/core';\n\nimport { addClass, toBoolean } from '@wm/core';\n\nimport { DialogRef } from '@wm/components/base';\nimport { BaseDialog } from '../base-dialog';\n\nconst DEFAULT_CLS = 'app-dialog-header modal-header';\nconst DEFAULT_ICON_DIMENSIONS = '21px';\n\n@Component({\n selector: 'div[wmDialogHeader]',\n templateUrl: './dialog-header.component.html'\n})\nexport class DialogHeaderComponent {\n\n @Input() public iconwidth = DEFAULT_ICON_DIMENSIONS;\n @Input() public iconheight = DEFAULT_ICON_DIMENSIONS;\n @Input() public iconmargin: string;\n @Input() public iconclass: string;\n @Input() public iconurl: string;\n @Input() public closable = true;\n @Input() public heading: string;\n @Input() public subheading: string;\n @Input() public titleid:string;\n\n public get isClosable() {\n return toBoolean(this.closable);\n }\n\n constructor(elRef: ElementRef, @Inject(DialogRef) private dialogRef: BaseDialog) {\n addClass(elRef.nativeElement, DEFAULT_CLS);\n }\n\n public closeDialog() {\n this.dialogRef.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { DialogBodyDirective } from './dialog-body/dialog-body.directive';\nimport { DialogFooterDirective } from './dialog-footer/dialog-footer.directive';\nimport { DialogHeaderComponent } from './dialog-header/dialog-header.component';\n\nconst components = [\n DialogBodyDirective,\n DialogFooterDirective,\n DialogHeaderComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ModalModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components],\n entryComponents: []\n})\nexport class DialogModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {registerProps as ɵa} from './dialog-footer/dialog-footer.props';"],"names":["DEFAULT_CLS"],"mappings":"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"}
|