@vgip/meta-ui 1.1.7 → 1.2.3
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/{esm2015/lib/common/fieldNormalizer/boolean.js → esm2020/lib/common/fieldNormalizer/boolean.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/datetime.js → esm2020/lib/common/fieldNormalizer/datetime.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/index.js → esm2020/lib/common/fieldNormalizer/index.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/number.js → esm2020/lib/common/fieldNormalizer/number.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/options.js → esm2020/lib/common/fieldNormalizer/options.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/radio.js → esm2020/lib/common/fieldNormalizer/radio.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/reference.js → esm2020/lib/common/fieldNormalizer/reference.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/richtext.js → esm2020/lib/common/fieldNormalizer/richtext.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/string.js → esm2020/lib/common/fieldNormalizer/string.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/text.js → esm2020/lib/common/fieldNormalizer/text.mjs} +0 -0
- package/{esm2015/lib/common/fieldNormalizer/uniqueNameFilter.js → esm2020/lib/common/fieldNormalizer/uniqueNameFilter.mjs} +0 -0
- package/esm2020/lib/common/metaAutofocus.directive.mjs +35 -0
- package/esm2020/lib/common/metaIcons.pipe.mjs +29 -0
- package/esm2020/lib/common/metaModel.pipe.mjs +25 -0
- package/esm2020/lib/common/metaNormalizer.mjs +309 -0
- package/esm2020/lib/common/metaStripHtml.pipe.mjs +22 -0
- package/{esm2015/lib/common/utils/colorThemes.js → esm2020/lib/common/utils/colorThemes.mjs} +0 -0
- package/{esm2015/lib/common/utils/indexedDbStore/index.js → esm2020/lib/common/utils/indexedDbStore/index.mjs} +0 -0
- package/esm2020/lib/common/utils/relativeTimeBuilder.mjs +49 -0
- package/{esm2015/lib/common/utils/templateBuilder.js → esm2020/lib/common/utils/templateBuilder.mjs} +0 -0
- package/esm2020/lib/field.mjs +2175 -0
- package/esm2020/lib/fieldAbstract.mjs +198 -0
- package/esm2020/lib/fieldBoolean/index.mjs +51 -0
- package/esm2020/lib/fieldDatetime/index.mjs +337 -0
- package/esm2020/lib/fieldInput/index.mjs +444 -0
- package/esm2020/lib/fieldRadio/index.mjs +87 -0
- package/esm2020/lib/fieldRichtext/index.mjs +85 -0
- package/esm2020/lib/fieldText/index.mjs +65 -0
- package/esm2020/lib/fieldUnknown/index.mjs +19 -0
- package/esm2020/lib/index.mjs +165 -0
- package/esm2020/lib/services/metaContext/index.mjs +35 -0
- package/esm2020/lib/services/metaMsg/index.mjs +84 -0
- package/esm2020/lib/services/metaReference/index.mjs +94 -0
- package/esm2020/lib/services/metaResource/index.mjs +139 -0
- package/esm2020/lib/services/metaResource/metaHttpClient.mjs +64 -0
- package/esm2020/lib/services/metaTracker/index.mjs +31 -0
- package/esm2020/lib/services/resourceDrafts/index.mjs +68 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/vgip-meta-ui.js → esm2020/vgip-meta-ui.mjs} +0 -0
- package/fesm2015/vgip-meta-ui.mjs +5207 -0
- package/fesm2015/vgip-meta-ui.mjs.map +1 -0
- package/fesm2020/vgip-meta-ui.mjs +5207 -0
- package/fesm2020/vgip-meta-ui.mjs.map +1 -0
- package/lib/common/metaAutofocus.directive.d.ts +3 -0
- package/lib/common/metaIcons.pipe.d.ts +3 -0
- package/lib/common/metaModel.pipe.d.ts +3 -0
- package/lib/common/metaStripHtml.pipe.d.ts +3 -0
- package/lib/field.d.ts +260 -1
- package/lib/fieldAbstract.d.ts +3 -0
- package/lib/fieldBoolean/index.d.ts +3 -0
- package/lib/fieldDatetime/index.d.ts +3 -0
- package/lib/fieldInput/index.d.ts +3 -0
- package/lib/fieldRadio/index.d.ts +3 -0
- package/lib/fieldRichtext/index.d.ts +3 -0
- package/lib/fieldText/index.d.ts +3 -0
- package/lib/fieldUnknown/index.d.ts +3 -0
- package/lib/index.d.ts +28 -8
- package/lib/services/metaContext/index.d.ts +3 -0
- package/lib/services/metaMsg/index.d.ts +3 -0
- package/lib/services/metaReference/index.d.ts +3 -0
- package/lib/services/metaResource/index.d.ts +3 -0
- package/lib/services/metaResource/metaHttpClient.d.ts +3 -0
- package/lib/services/metaTracker/index.d.ts +3 -0
- package/lib/services/resourceDrafts/index.d.ts +3 -0
- package/package.json +19 -7
- package/vgip-meta-ui.d.ts +1 -0
- package/bundles/vgip-meta-ui.umd.js +0 -6370
- package/bundles/vgip-meta-ui.umd.js.map +0 -1
- package/esm2015/lib/common/metaAutofocus.directive.js +0 -35
- package/esm2015/lib/common/metaIcons.pipe.js +0 -28
- package/esm2015/lib/common/metaModel.pipe.js +0 -22
- package/esm2015/lib/common/metaNormalizer.js +0 -311
- package/esm2015/lib/common/metaStripHtml.pipe.js +0 -18
- package/esm2015/lib/common/utils/relativeTimeBuilder.js +0 -51
- package/esm2015/lib/field.js +0 -157
- package/esm2015/lib/fieldAbstract.js +0 -195
- package/esm2015/lib/fieldBoolean/index.js +0 -50
- package/esm2015/lib/fieldComposite/index.js +0 -41
- package/esm2015/lib/fieldDatetime/index.js +0 -334
- package/esm2015/lib/fieldInput/index.js +0 -444
- package/esm2015/lib/fieldList/index.js +0 -68
- package/esm2015/lib/fieldRadio/index.js +0 -85
- package/esm2015/lib/fieldReference/index.js +0 -817
- package/esm2015/lib/fieldRichtext/index.js +0 -82
- package/esm2015/lib/fieldSelect/index.js +0 -448
- package/esm2015/lib/fieldText/index.js +0 -66
- package/esm2015/lib/fieldUnknown/index.js +0 -16
- package/esm2015/lib/index.js +0 -105
- package/esm2015/lib/layout/index.js +0 -155
- package/esm2015/lib/refDialog/index.js +0 -133
- package/esm2015/lib/resource/index.js +0 -428
- package/esm2015/lib/resourceCard/index.js +0 -56
- package/esm2015/lib/services/metaContext/index.js +0 -34
- package/esm2015/lib/services/metaMsg/index.js +0 -86
- package/esm2015/lib/services/metaReference/index.js +0 -98
- package/esm2015/lib/services/metaResource/index.js +0 -141
- package/esm2015/lib/services/metaResource/metaHttpClient.js +0 -65
- package/esm2015/lib/services/metaTracker/index.js +0 -30
- package/esm2015/lib/services/resourceDrafts/index.js +0 -70
- package/fesm2015/vgip-meta-ui.js +0 -5272
- package/fesm2015/vgip-meta-ui.js.map +0 -1
- package/lib/fieldComposite/index.d.ts +0 -8
- package/lib/fieldList/index.d.ts +0 -10
- package/lib/fieldReference/index.d.ts +0 -69
- package/lib/fieldSelect/index.d.ts +0 -38
- package/lib/layout/index.d.ts +0 -35
- package/lib/refDialog/index.d.ts +0 -30
- package/lib/resource/index.d.ts +0 -55
- package/lib/resourceCard/index.d.ts +0 -15
- package/vgip-meta-ui.metadata.json +0 -1
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: Alexander.Vangelov@vonage.com
|
|
3
|
+
* @Date: 2019-09-19 17:34:34
|
|
4
|
+
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
5
|
+
* @Last Modified time: 2021-02-09 16:57:29
|
|
6
|
+
*/
|
|
7
|
+
import { NgModule } from '@angular/core';
|
|
8
|
+
import { CommonModule } from '@angular/common';
|
|
9
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
10
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
11
|
+
import { QuillModule } from 'ngx-quill';
|
|
12
|
+
import { MetaField, MetaFieldContentDirective } from './field';
|
|
13
|
+
// import { MetaRefDialog } from './refDialog';
|
|
14
|
+
import { MetaRefDialog } from './field';
|
|
15
|
+
// import { MetaLayout } from './layout';
|
|
16
|
+
import { MetaLayout } from './field';
|
|
17
|
+
// import { MetaResource } from './resource';
|
|
18
|
+
import { MetaResource } from './field';
|
|
19
|
+
// import { MetaResourceCard } from './resourceCard';
|
|
20
|
+
import { MetaResourceCard } from './field';
|
|
21
|
+
import { FieldUnknown } from './fieldUnknown';
|
|
22
|
+
import { FieldInput } from './fieldInput';
|
|
23
|
+
import { FieldText } from './fieldText';
|
|
24
|
+
// import { FieldSelect } from './fieldSelect';
|
|
25
|
+
import { FieldSelect } from './field';
|
|
26
|
+
// import { FieldReference } from './fieldReference';
|
|
27
|
+
import { FieldReference } from './field';
|
|
28
|
+
// import { FieldComposite } from './fieldComposite';
|
|
29
|
+
import { FieldComposite } from './field';
|
|
30
|
+
import { FieldBoolean } from './fieldBoolean';
|
|
31
|
+
import { FieldRadio } from './fieldRadio';
|
|
32
|
+
// import { FieldList } from './fieldList';
|
|
33
|
+
import { FieldList } from './field';
|
|
34
|
+
import { FieldRichtext } from './fieldRichtext';
|
|
35
|
+
import { FieldDatetime } from './fieldDatetime';
|
|
36
|
+
import { MetaIconsPipe } from './common/metaIcons.pipe';
|
|
37
|
+
import { MetaModelPipe } from './common/metaModel.pipe';
|
|
38
|
+
import { MetaStripHtmlPipe } from './common/metaStripHtml.pipe';
|
|
39
|
+
import { MetaAutofocusDirective } from './common/metaAutofocus.directive';
|
|
40
|
+
import { MetaContextService } from './services/metaContext';
|
|
41
|
+
import { MetaTrackerService } from './services/metaTracker';
|
|
42
|
+
import { ResourceDraftsService } from './services/resourceDrafts';
|
|
43
|
+
import { MetaMsgService } from './services/metaMsg';
|
|
44
|
+
import { MetaReferenceService } from './services/metaReference';
|
|
45
|
+
import { MetaResourceService } from './services/metaResource';
|
|
46
|
+
import { MetaHttpClient } from './services/metaResource/metaHttpClient';
|
|
47
|
+
import { relativeTimeBuilder } from './common/utils/relativeTimeBuilder';
|
|
48
|
+
import * as i0 from "@angular/core";
|
|
49
|
+
import * as i1 from "ngx-quill";
|
|
50
|
+
export * from './common/utils/colorThemes';
|
|
51
|
+
export * from './common/metaNormalizer';
|
|
52
|
+
export class MetaModule {
|
|
53
|
+
static withProviders(customProviders) {
|
|
54
|
+
return {
|
|
55
|
+
ngModule: MetaModule,
|
|
56
|
+
providers: customProviders
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
MetaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
61
|
+
MetaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaModule, declarations: [MetaIconsPipe,
|
|
62
|
+
MetaModelPipe,
|
|
63
|
+
MetaStripHtmlPipe,
|
|
64
|
+
MetaField,
|
|
65
|
+
MetaRefDialog,
|
|
66
|
+
MetaFieldContentDirective,
|
|
67
|
+
MetaLayout,
|
|
68
|
+
MetaResource,
|
|
69
|
+
MetaResourceCard,
|
|
70
|
+
FieldUnknown,
|
|
71
|
+
FieldInput,
|
|
72
|
+
FieldText,
|
|
73
|
+
FieldSelect,
|
|
74
|
+
FieldReference,
|
|
75
|
+
FieldComposite,
|
|
76
|
+
FieldBoolean,
|
|
77
|
+
FieldRadio,
|
|
78
|
+
FieldList,
|
|
79
|
+
FieldRichtext,
|
|
80
|
+
FieldDatetime,
|
|
81
|
+
MetaAutofocusDirective], imports: [CommonModule,
|
|
82
|
+
FormsModule,
|
|
83
|
+
ReactiveFormsModule,
|
|
84
|
+
HttpClientModule, i1.QuillModule], exports: [MetaIconsPipe,
|
|
85
|
+
MetaModelPipe,
|
|
86
|
+
MetaStripHtmlPipe,
|
|
87
|
+
MetaField,
|
|
88
|
+
MetaLayout,
|
|
89
|
+
MetaResource,
|
|
90
|
+
MetaResourceCard,
|
|
91
|
+
MetaAutofocusDirective] });
|
|
92
|
+
MetaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaModule, imports: [[
|
|
93
|
+
CommonModule,
|
|
94
|
+
FormsModule,
|
|
95
|
+
ReactiveFormsModule,
|
|
96
|
+
HttpClientModule,
|
|
97
|
+
QuillModule.forRoot({
|
|
98
|
+
modules: {
|
|
99
|
+
toolbar: [
|
|
100
|
+
['bold', 'italic', 'underline'],
|
|
101
|
+
[{ list: 'bullet' }],
|
|
102
|
+
[{ header: [1, 2, 3, 4, 5, 6, false] }],
|
|
103
|
+
[{ font: [] }],
|
|
104
|
+
[{ align: [] }]
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
})
|
|
108
|
+
]] });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaModule, decorators: [{
|
|
110
|
+
type: NgModule,
|
|
111
|
+
args: [{
|
|
112
|
+
declarations: [
|
|
113
|
+
MetaIconsPipe,
|
|
114
|
+
MetaModelPipe,
|
|
115
|
+
MetaStripHtmlPipe,
|
|
116
|
+
MetaField,
|
|
117
|
+
MetaRefDialog,
|
|
118
|
+
MetaFieldContentDirective,
|
|
119
|
+
MetaLayout,
|
|
120
|
+
MetaResource,
|
|
121
|
+
MetaResourceCard,
|
|
122
|
+
FieldUnknown,
|
|
123
|
+
FieldInput,
|
|
124
|
+
FieldText,
|
|
125
|
+
FieldSelect,
|
|
126
|
+
FieldReference,
|
|
127
|
+
FieldComposite,
|
|
128
|
+
FieldBoolean,
|
|
129
|
+
FieldRadio,
|
|
130
|
+
FieldList,
|
|
131
|
+
FieldRichtext,
|
|
132
|
+
FieldDatetime,
|
|
133
|
+
MetaAutofocusDirective
|
|
134
|
+
],
|
|
135
|
+
exports: [
|
|
136
|
+
MetaIconsPipe,
|
|
137
|
+
MetaModelPipe,
|
|
138
|
+
MetaStripHtmlPipe,
|
|
139
|
+
MetaField,
|
|
140
|
+
MetaLayout,
|
|
141
|
+
MetaResource,
|
|
142
|
+
MetaResourceCard,
|
|
143
|
+
MetaAutofocusDirective
|
|
144
|
+
],
|
|
145
|
+
imports: [
|
|
146
|
+
CommonModule,
|
|
147
|
+
FormsModule,
|
|
148
|
+
ReactiveFormsModule,
|
|
149
|
+
HttpClientModule,
|
|
150
|
+
QuillModule.forRoot({
|
|
151
|
+
modules: {
|
|
152
|
+
toolbar: [
|
|
153
|
+
['bold', 'italic', 'underline'],
|
|
154
|
+
[{ list: 'bullet' }],
|
|
155
|
+
[{ header: [1, 2, 3, 4, 5, 6, false] }],
|
|
156
|
+
[{ font: [] }],
|
|
157
|
+
[{ align: [] }]
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
})
|
|
161
|
+
]
|
|
162
|
+
}]
|
|
163
|
+
}] });
|
|
164
|
+
export { MetaField, MetaFieldContentDirective, MetaRefDialog, MetaResourceCard, MetaIconsPipe, MetaModelPipe, MetaStripHtmlPipe, MetaAutofocusDirective, FieldUnknown, FieldInput, FieldText, FieldSelect, MetaLayout, MetaResource, FieldBoolean, FieldRadio, FieldList, FieldComposite, FieldReference, FieldRichtext, FieldDatetime, MetaContextService, MetaTrackerService, ResourceDraftsService, MetaMsgService, MetaReferenceService, MetaResourceService, MetaHttpClient, relativeTimeBuilder };
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUvRCwrQ0FBK0M7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV4Qyx5Q0FBeUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVyQyw2Q0FBNkM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV2QyxxREFBcUQ7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsK0NBQStDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMscURBQXFEO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMscURBQXFEO0FBQ3JELE9BQU8sRUFB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QUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQ3ZFLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUMxRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUNuRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUMzRixjQUFjLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUN6RSxtQkFBbUIsRUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBAQXV0aG9yOiBBbGV4YW5kZXIuVmFuZ2Vsb3ZAdm9uYWdlLmNvbSBcbiAqIEBEYXRlOiAyMDE5LTA5LTE5IDE3OjM0OjM0IFxuICogQExhc3QgTW9kaWZpZWQgYnk6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBATGFzdCBNb2RpZmllZCB0aW1lOiAyMDIxLTAyLTA5IDE2OjU3OjI5XG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IFF1aWxsTW9kdWxlIH0gZnJvbSAnbmd4LXF1aWxsJztcblxuaW1wb3J0IHsgTWV0YUZpZWxkLCBNZXRhRmllbGRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZCc7XG5cbi8vIGltcG9ydCB7IE1ldGFSZWZEaWFsb2cgfSBmcm9tICcuL3JlZkRpYWxvZyc7XG5pbXBvcnQgeyBNZXRhUmVmRGlhbG9nIH0gZnJvbSAnLi9maWVsZCc7XG5cbi8vIGltcG9ydCB7IE1ldGFMYXlvdXQgfSBmcm9tICcuL2xheW91dCc7XG5pbXBvcnQgeyBNZXRhTGF5b3V0IH0gZnJvbSAnLi9maWVsZCc7XG5cbi8vIGltcG9ydCB7IE1ldGFSZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2UnO1xuaW1wb3J0IHsgTWV0YVJlc291cmNlIH0gZnJvbSAnLi9maWVsZCc7XG5cbi8vIGltcG9ydCB7IE1ldGFSZXNvdXJjZUNhcmQgfSBmcm9tICcuL3Jlc291cmNlQ2FyZCc7XG5pbXBvcnQgeyBNZXRhUmVzb3VyY2VDYXJkIH0gZnJvbSAnLi9maWVsZCc7XG5cbmltcG9ydCB7IEZpZWxkVW5rbm93biB9IGZyb20gJy4vZmllbGRVbmtub3duJztcbmltcG9ydCB7IEZpZWxkSW5wdXQgfSBmcm9tICcuL2ZpZWxkSW5wdXQnO1xuaW1wb3J0IHsgRmllbGRUZXh0IH0gZnJvbSAnLi9maWVsZFRleHQnO1xuXG4vLyBpbXBvcnQgeyBGaWVsZFNlbGVjdCB9IGZyb20gJy4vZmllbGRTZWxlY3QnO1xuaW1wb3J0IHsgRmllbGRTZWxlY3QgfSBmcm9tICcuL2ZpZWxkJztcblxuLy8gaW1wb3J0IHsgRmllbGRSZWZlcmVuY2UgfSBmcm9tICcuL2ZpZWxkUmVmZXJlbmNlJztcbmltcG9ydCB7IEZpZWxkUmVmZXJlbmNlIH0gZnJvbSAnLi9maWVsZCc7XG5cbi8vIGltcG9ydCB7IEZpZWxkQ29tcG9zaXRlIH0gZnJvbSAnLi9maWVsZENvbXBvc2l0ZSc7XG5pbXBvcnQgeyBGaWVsZENvbXBvc2l0ZSB9IGZyb20gJy4vZmllbGQnO1xuXG5pbXBvcnQgeyBGaWVsZEJvb2xlYW4gfSBmcm9tICcuL2ZpZWxkQm9vbGVhbic7XG5pbXBvcnQgeyBGaWVsZFJhZGlvIH0gZnJvbSAnLi9maWVsZFJhZGlvJztcblxuLy8gaW1wb3J0IHsgRmllbGRMaXN0IH0gZnJvbSAnLi9maWVsZExpc3QnO1xuaW1wb3J0IHsgRmllbGRMaXN0IH0gZnJvbSAnLi9maWVsZCc7XG5cbmltcG9ydCB7IEZpZWxkUmljaHRleHQgfSBmcm9tICcuL2ZpZWxkUmljaHRleHQnO1xuaW1wb3J0IHsgRmllbGREYXRldGltZSB9IGZyb20gJy4vZmllbGREYXRldGltZSc7XG5cbmltcG9ydCB7IE1ldGFJY29uc1BpcGUgfSBmcm9tICcuL2NvbW1vbi9tZXRhSWNvbnMucGlwZSc7XG5pbXBvcnQgeyBNZXRhTW9kZWxQaXBlIH0gZnJvbSAnLi9jb21tb24vbWV0YU1vZGVsLnBpcGUnO1xuaW1wb3J0IHsgTWV0YVN0cmlwSHRtbFBpcGUgfSBmcm9tICcuL2NvbW1vbi9tZXRhU3RyaXBIdG1sLnBpcGUnO1xuaW1wb3J0IHsgTWV0YUF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vY29tbW9uL21ldGFBdXRvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1ldGFDb250ZXh0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWV0YUNvbnRleHQnO1xuaW1wb3J0IHsgTWV0YVRyYWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tZXRhVHJhY2tlcic7XG5pbXBvcnQgeyBSZXNvdXJjZURyYWZ0c1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Jlc291cmNlRHJhZnRzJztcbmltcG9ydCB7IE1ldGFNc2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tZXRhTXNnJztcbmltcG9ydCB7IE1ldGFSZWZlcmVuY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tZXRhUmVmZXJlbmNlJztcbmltcG9ydCB7IE1ldGFSZXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21ldGFSZXNvdXJjZSc7XG5pbXBvcnQgeyBNZXRhSHR0cENsaWVudCB9IGZyb20gJy4vc2VydmljZXMvbWV0YVJlc291cmNlL21ldGFIdHRwQ2xpZW50JztcbmltcG9ydCB7IHJlbGF0aXZlVGltZUJ1aWxkZXIgfSBmcm9tICcuL2NvbW1vbi91dGlscy9yZWxhdGl2ZVRpbWVCdWlsZGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24vdXRpbHMvY29sb3JUaGVtZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24vbWV0YU5vcm1hbGl6ZXInO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNZXRhSWNvbnNQaXBlLFxuICAgIE1ldGFNb2RlbFBpcGUsXG4gICAgTWV0YVN0cmlwSHRtbFBpcGUsXG4gICAgTWV0YUZpZWxkLCBcbiAgICBNZXRhUmVmRGlhbG9nLFxuICAgIE1ldGFGaWVsZENvbnRlbnREaXJlY3RpdmUsXG4gICAgTWV0YUxheW91dCxcbiAgICBNZXRhUmVzb3VyY2UsXG4gICAgTWV0YVJlc291cmNlQ2FyZCxcbiAgICBGaWVsZFVua25vd24sXG4gICAgRmllbGRJbnB1dCxcbiAgICBGaWVsZFRleHQsXG4gICAgRmllbGRTZWxlY3QsXG4gICAgRmllbGRSZWZlcmVuY2UsXG4gICAgRmllbGRDb21wb3NpdGUsXG4gICAgRmllbGRCb29sZWFuLFxuICAgIEZpZWxkUmFkaW8sXG4gICAgRmllbGRMaXN0LFxuICAgIEZpZWxkUmljaHRleHQsXG4gICAgRmllbGREYXRldGltZSxcbiAgICBNZXRhQXV0b2ZvY3VzRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNZXRhSWNvbnNQaXBlLFxuICAgIE1ldGFNb2RlbFBpcGUsXG4gICAgTWV0YVN0cmlwSHRtbFBpcGUsXG4gICAgTWV0YUZpZWxkLFxuICAgIE1ldGFMYXlvdXQsXG4gICAgTWV0YVJlc291cmNlLFxuICAgIE1ldGFSZXNvdXJjZUNhcmQsXG4gICAgTWV0YUF1dG9mb2N1c0RpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLCBcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgUXVpbGxNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBtb2R1bGVzOiB7XG4gICAgICAgIHRvb2xiYXI6IFtcbiAgICAgICAgICBbJ2JvbGQnLCAnaXRhbGljJywgJ3VuZGVybGluZSddLFxuICAgICAgICAgIFt7IGxpc3Q6ICdidWxsZXQnIH1dLFxuICAgICAgICAgIFt7IGhlYWRlcjogWzEsIDIsIDMsIDQsIDUsIDYsIGZhbHNlXSB9XSxcbiAgICAgICAgICBbeyBmb250OiBbXSB9XSxcbiAgICAgICAgICBbeyBhbGlnbjogW10gfV1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWV0YU1vZHVsZSB7XG4gIHN0YXRpYyB3aXRoUHJvdmlkZXJzKGN1c3RvbVByb3ZpZGVyczogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVyczxNZXRhTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBNZXRhTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBjdXN0b21Qcm92aWRlcnNcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCB7IFxuICBNZXRhRmllbGQsIE1ldGFGaWVsZENvbnRlbnREaXJlY3RpdmUsIE1ldGFSZWZEaWFsb2csIE1ldGFSZXNvdXJjZUNhcmQsXG4gIE1ldGFJY29uc1BpcGUsIE1ldGFNb2RlbFBpcGUsIE1ldGFTdHJpcEh0bWxQaXBlLCBNZXRhQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICBGaWVsZFVua25vd24sIEZpZWxkSW5wdXQsIEZpZWxkVGV4dCwgRmllbGRTZWxlY3QsIE1ldGFMYXlvdXQsIE1ldGFSZXNvdXJjZSxcbiAgRmllbGRCb29sZWFuLCBGaWVsZFJhZGlvLCBGaWVsZExpc3QsIEZpZWxkQ29tcG9zaXRlLCBGaWVsZFJlZmVyZW5jZSxcbiAgRmllbGRSaWNodGV4dCwgRmllbGREYXRldGltZSwgTWV0YUNvbnRleHRTZXJ2aWNlLCBNZXRhVHJhY2tlclNlcnZpY2UsIFJlc291cmNlRHJhZnRzU2VydmljZSxcbiAgTWV0YU1zZ1NlcnZpY2UsIE1ldGFSZWZlcmVuY2VTZXJ2aWNlLCBNZXRhUmVzb3VyY2VTZXJ2aWNlLCBNZXRhSHR0cENsaWVudCxcbiAgcmVsYXRpdmVUaW1lQnVpbGRlclxufTtcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: Alexander.Vangelov@vonage.com
|
|
3
|
+
* @Date: 2019-09-19 17:35:19
|
|
4
|
+
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
5
|
+
* @Last Modified time: 2020-03-06 10:10:09
|
|
6
|
+
*/
|
|
7
|
+
import { Injectable } from '@angular/core';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class MetaContextService {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.defaultContactables = {};
|
|
12
|
+
this.workers = {};
|
|
13
|
+
this.contactables = {};
|
|
14
|
+
this.profiles = {};
|
|
15
|
+
}
|
|
16
|
+
set(context) {
|
|
17
|
+
if (context) {
|
|
18
|
+
if (context.phoneNumber) {
|
|
19
|
+
this.phoneNumber = context.phoneNumber;
|
|
20
|
+
}
|
|
21
|
+
if (context.displayName) {
|
|
22
|
+
this.displayName = context.displayName;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
MetaContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
MetaContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaContextService, providedIn: 'root' });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaContextService, decorators: [{
|
|
30
|
+
type: Injectable,
|
|
31
|
+
args: [{
|
|
32
|
+
providedIn: 'root'
|
|
33
|
+
}]
|
|
34
|
+
}], ctorParameters: function () { return []; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvc2VydmljZXMvbWV0YUNvbnRleHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sa0JBQWtCO0lBYTdCO1FBVkEsd0JBQW1CLEdBQXFDLEVBQUUsQ0FBQztRQUMzRCxZQUFPLEdBQXFDLEVBQUUsQ0FBQztRQUMvQyxpQkFBWSxHQUFxQyxFQUFFLENBQUM7UUFDcEQsYUFBUSxHQUFxQyxFQUFFLENBQUM7SUFTaEQsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFRO1FBQ1YsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQzthQUN4QztZQUNELElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO2FBQ3hDO1NBQ0Y7SUFDSCxDQUFDOzsrR0ExQlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEBBdXRob3I6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBARGF0ZTogMjAxOS0wOS0xOSAxNzozNToxOVxuICogQExhc3QgTW9kaWZpZWQgYnk6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBATGFzdCBNb2RpZmllZCB0aW1lOiAyMDIwLTAzLTA2IDEwOjEwOjA5XG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNZXRhQ29udGV4dFNlcnZpY2Uge1xuICBwaG9uZU51bWJlcjogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBkZWZhdWx0Q29udGFjdGFibGVzOiB7W2ludGVncmF0aW9uQ29kZTogc3RyaW5nXTogYW55fSA9IHt9O1xuICB3b3JrZXJzOiB7W2ludGVncmF0aW9uQ29kZTogc3RyaW5nXTogYW55fSA9IHt9O1xuICBjb250YWN0YWJsZXM6IHtbaW50ZWdyYXRpb25Db2RlOiBzdHJpbmddOiBhbnl9ID0ge307XG4gIHByb2ZpbGVzOiB7W2ludGVncmF0aW9uQ29kZTogc3RyaW5nXTogYW55fSA9IHt9O1xuICB2Z2lwRXZlbnRJZDogc3RyaW5nO1xuICB2Z2lwVXNlcklkOiBzdHJpbmc7XG4gIGNvbnRleHQ6IGFueTtcbiAgdWlkOiBzdHJpbmc7XG4gIHN1YmplY3Q6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcblxuICB9XG5cbiAgc2V0KGNvbnRleHQ/KSB7XG4gICAgaWYgKGNvbnRleHQpIHtcbiAgICAgIGlmIChjb250ZXh0LnBob25lTnVtYmVyKSB7XG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXIgPSBjb250ZXh0LnBob25lTnVtYmVyO1xuICAgICAgfVxuICAgICAgaWYgKGNvbnRleHQuZGlzcGxheU5hbWUpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSA9IGNvbnRleHQuZGlzcGxheU5hbWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: Alexander.Vangelov@vonage.com
|
|
3
|
+
* @Date: 2019-09-19 17:35:19
|
|
4
|
+
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
5
|
+
* @Last Modified time: 2020-05-03 21:31:16
|
|
6
|
+
*/
|
|
7
|
+
/*
|
|
8
|
+
* Worker messages systems. Every integration may extend the base functionality by registering an integration worker.
|
|
9
|
+
* This service provides single response for the worker message requests as a callback.
|
|
10
|
+
*/
|
|
11
|
+
import { Injectable } from '@angular/core';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "../metaContext";
|
|
14
|
+
export class MetaMsgService {
|
|
15
|
+
constructor(metaContext) {
|
|
16
|
+
this.metaContext = metaContext;
|
|
17
|
+
this.msgCallbacks = {}; // message subscribers holder
|
|
18
|
+
this.msgListeneres = []; // ensure listener is registerd only once
|
|
19
|
+
this.workerMsgListener = (msg) => {
|
|
20
|
+
if (msg && msg.data && msg.data.action && msg.data.$state) {
|
|
21
|
+
const state = msg.data.$state;
|
|
22
|
+
const callback = this.msgCallbacks[state]; // original requester callback
|
|
23
|
+
if (callback) {
|
|
24
|
+
delete msg.data.$state;
|
|
25
|
+
callback(msg.data);
|
|
26
|
+
}
|
|
27
|
+
delete this.msgCallbacks[state]; // get rid of the listener callback when done
|
|
28
|
+
}
|
|
29
|
+
this.removeExpiredListeners(); // wipe out the expired listeners if any
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
sendMessage(provider, msg, callback, isLong = false) {
|
|
33
|
+
provider = (provider || '').toUpperCase();
|
|
34
|
+
const providerWorker = this.metaContext.workers[provider];
|
|
35
|
+
if (providerWorker) {
|
|
36
|
+
if (this.msgListeneres.indexOf(provider)) {
|
|
37
|
+
this.msgListeneres.push(provider);
|
|
38
|
+
providerWorker.addEventListener('message', this.workerMsgListener, false); // register a short time listener
|
|
39
|
+
}
|
|
40
|
+
let state; // message unique identifier
|
|
41
|
+
do {
|
|
42
|
+
state = new Date().getTime();
|
|
43
|
+
} while (!!this.msgCallbacks[state]);
|
|
44
|
+
this.msgCallbacks[state] = callback; // register message callback
|
|
45
|
+
msg.$state = state;
|
|
46
|
+
providerWorker.postMessage(msg);
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
this.cancelMsgListener(msg.action, state); // give up, worker does not replied on time
|
|
49
|
+
const listenerIndex = this.msgListeneres.indexOf(provider);
|
|
50
|
+
if (listenerIndex !== -1) {
|
|
51
|
+
this.msgListeneres.splice(listenerIndex, 1);
|
|
52
|
+
}
|
|
53
|
+
providerWorker.removeEventListener('message', this.workerMsgListener); // remove listener when done
|
|
54
|
+
}, isLong ? 60000 : 2000);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
callback({ action: msg.action, error: `Worker ${provider} is not registered` });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
cancelMsgListener(action, storedState) {
|
|
61
|
+
const storedCallback = this.msgCallbacks[storedState];
|
|
62
|
+
if (storedCallback) {
|
|
63
|
+
storedCallback({ action, error: 'Timeout', state: storedState }); // always reply with something
|
|
64
|
+
}
|
|
65
|
+
delete this.msgCallbacks[storedState];
|
|
66
|
+
}
|
|
67
|
+
removeExpiredListeners() {
|
|
68
|
+
const now = new Date();
|
|
69
|
+
for (const state in this.msgCallbacks) { // cleanup expired listeners (< 1 min ago);
|
|
70
|
+
if (parseInt(state, 10) < now.setMinutes(now.getMinutes() - 1)) {
|
|
71
|
+
delete this.msgCallbacks[state];
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
MetaMsgService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaMsgService, deps: [{ token: i1.MetaContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
+
MetaMsgService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaMsgService, providedIn: 'root' });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaMsgService, decorators: [{
|
|
79
|
+
type: Injectable,
|
|
80
|
+
args: [{
|
|
81
|
+
providedIn: 'root'
|
|
82
|
+
}]
|
|
83
|
+
}], ctorParameters: function () { return [{ type: i1.MetaContextService }]; } });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvc2VydmljZXMvbWV0YU1zZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVGOzs7RUFHRTtBQUNILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sY0FBYztJQUd6QixZQUFvQixXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFGM0MsaUJBQVksR0FBMkIsRUFBRSxDQUFDLENBQUMsNkJBQTZCO1FBQ3hFLGtCQUFhLEdBQWtCLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQTBDNUUsc0JBQWlCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNsQyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUN6RCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDhCQUE4QjtnQkFDekUsSUFBSSxRQUFRLEVBQUU7b0JBQ1osT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztvQkFDdkIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDcEI7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsNkNBQTZDO2FBQy9FO1lBQ0QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyx3Q0FBd0M7UUFDekUsQ0FBQyxDQUFDO0lBbkRGLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0IsRUFB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TTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBAQXV0aG9yOiBBbGV4YW5kZXIuVmFuZ2Vsb3ZAdm9uYWdlLmNvbVxuICogQERhdGU6IDIwMTktMDktMTkgMTc6MzU6MTlcbiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiBBbGV4YW5kZXIuVmFuZ2Vsb3ZAdm9uYWdlLmNvbVxuICogQExhc3QgTW9kaWZpZWQgdGltZTogMjAyMC0wNS0wMyAyMTozMToxNlxuICovXG5cbiAvKlxuICogV29ya2VyIG1lc3NhZ2VzIHN5c3RlbXMuIEV2ZXJ5IGludGVncmF0aW9uIG1heSBleHRlbmQgdGhlIGJhc2UgZnVuY3Rpb25hbGl0eSBieSByZWdpc3RlcmluZyBhbiBpbnRlZ3JhdGlvbiB3b3JrZXIuXG4gKiBUaGlzIHNlcnZpY2UgcHJvdmlkZXMgc2luZ2xlIHJlc3BvbnNlIGZvciB0aGUgd29ya2VyIG1lc3NhZ2UgcmVxdWVzdHMgYXMgYSBjYWxsYmFjay5cbiAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNZXRhQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi9tZXRhQ29udGV4dCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFNc2dTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtc2dDYWxsYmFja3M6IHtbc3RhdGU6IG51bWJlcl06IGFueX0gPSB7fTsgLy8gbWVzc2FnZSBzdWJzY3JpYmVycyBob2xkZXJcbiAgcHJpdmF0ZSBtc2dMaXN0ZW5lcmVzOiBBcnJheTxzdHJpbmc+ID0gW107IC8vIGVuc3VyZSBsaXN0ZW5lciBpcyByZWdpc3RlcmQgb25seSBvbmNlXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWV0YUNvbnRleHQ6IE1ldGFDb250ZXh0U2VydmljZSkge1xuICB9XG5cbiAgc2VuZE1lc3NhZ2UocHJvdmlkZXI6IHN0cmluZywgbXNnOiBhbnksIGNhbGxiYWNrOiAocmVzcG9uc2UpID0+IHZvaWQsIGlzTG9uZyA9IGZhbHNlKSB7XG4gICAgcHJvdmlkZXIgPSAocHJvdmlkZXIgfHwgJycpLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3QgcHJvdmlkZXJXb3JrZXIgPSB0aGlzLm1ldGFDb250ZXh0LndvcmtlcnNbcHJvdmlkZXJdO1xuICAgIGlmIChwcm92aWRlcldvcmtlcikge1xuICAgICAgaWYgKHRoaXMubXNnTGlzdGVuZXJlcy5pbmRleE9mKHByb3ZpZGVyKSkge1xuICAgICAgICB0aGlzLm1zZ0xpc3RlbmVyZXMucHVzaChwcm92aWRlcik7XG4gICAgICAgIHByb3ZpZGVyV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLndvcmtlck1zZ0xpc3RlbmVyLCBmYWxzZSk7IC8vIHJlZ2lzdGVyIGEgc2hvcnQgdGltZSBsaXN0ZW5lclxuICAgICAgfVxuICAgICAgbGV0IHN0YXRlOyAvLyBtZXNzYWdlIHVuaXF1ZSBpZGVudGlmaWVyXG4gICAgICBkbyB7XG4gICAgICAgIHN0YXRlID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICB9IHdoaWxlICghIXRoaXMubXNnQ2FsbGJhY2tzW3N0YXRlXSk7XG5cbiAgICAgIHRoaXMubXNnQ2FsbGJhY2tzW3N0YXRlXSA9IGNhbGxiYWNrOyAvLyByZWdpc3RlciBtZXNzYWdlIGNhbGxiYWNrXG4gICAgICBtc2cuJHN0YXRlID0gc3RhdGU7XG4gICAgICBwcm92aWRlcldvcmtlci5wb3N0TWVzc2FnZShtc2cpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jYW5jZWxNc2dMaXN0ZW5lcihtc2cuYWN0aW9uLCBzdGF0ZSk7IC8vIGdpdmUgdXAsIHdvcmtlciBkb2VzIG5vdCByZXBsaWVkIG9uIHRpbWVcbiAgICAgICAgY29uc3QgbGlzdGVuZXJJbmRleCA9IHRoaXMubXNnTGlzdGVuZXJlcy5pbmRleE9mKHByb3ZpZGVyKTtcbiAgICAgICAgaWYgKGxpc3RlbmVySW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5tc2dMaXN0ZW5lcmVzLnNwbGljZShsaXN0ZW5lckluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgICBwcm92aWRlcldvcmtlci5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdGhpcy53b3JrZXJNc2dMaXN0ZW5lcik7IC8vIHJlbW92ZSBsaXN0ZW5lciB3aGVuIGRvbmVcbiAgICAgIH0sIGlzTG9uZyA/IDYwMDAwIDogMjAwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhbGxiYWNrKHsgYWN0aW9uOiBtc2cuYWN0aW9uLCBlcnJvcjogYFdvcmtlciAke3Byb3ZpZGVyfSBpcyBub3QgcmVnaXN0ZXJlZGAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYW5jZWxNc2dMaXN0ZW5lcihhY3Rpb24sIHN0b3JlZFN0YXRlKSB7XG4gICAgY29uc3Qgc3RvcmVkQ2FsbGJhY2sgPSB0aGlzLm1zZ0NhbGxiYWNrc1tzdG9yZWRTdGF0ZV07XG4gICAgaWYgKHN0b3JlZENhbGxiYWNrKSB7XG4gICAgICBzdG9yZWRDYWxsYmFjayh7IGFjdGlvbiwgZXJyb3I6ICdUaW1lb3V0Jywgc3RhdGU6IHN0b3JlZFN0YXRlIH0pOyAvLyBhbHdheXMgcmVwbHkgd2l0aCBzb21ldGhpbmdcbiAgICB9XG4gICAgZGVsZXRlIHRoaXMubXNnQ2FsbGJhY2tzW3N0b3JlZFN0YXRlXTtcbiAgfVxuXG4gIHByaXZhdGUgd29ya2VyTXNnTGlzdGVuZXIgPSAobXNnKSA9PiB7XG4gICAgaWYgKG1zZyAmJiBtc2cuZGF0YSAmJiBtc2cuZGF0YS5hY3Rpb24gJiYgbXNnLmRhdGEuJHN0YXRlKSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IG1zZy5kYXRhLiRzdGF0ZTtcbiAgICAgIGNvbnN0IGNhbGxiYWNrID0gdGhpcy5tc2dDYWxsYmFja3Nbc3RhdGVdOyAvLyBvcmlnaW5hbCByZXF1ZXN0ZXIgY2FsbGJhY2tcbiAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICBkZWxldGUgbXNnLmRhdGEuJHN0YXRlO1xuICAgICAgICBjYWxsYmFjayhtc2cuZGF0YSk7XG4gICAgICB9XG4gICAgICBkZWxldGUgdGhpcy5tc2dDYWxsYmFja3Nbc3RhdGVdOyAvLyBnZXQgcmlkIG9mIHRoZSBsaXN0ZW5lciBjYWxsYmFjayB3aGVuIGRvbmVcbiAgICB9XG4gICAgdGhpcy5yZW1vdmVFeHBpcmVkTGlzdGVuZXJzKCk7IC8vIHdpcGUgb3V0IHRoZSBleHBpcmVkIGxpc3RlbmVycyBpZiBhbnlcbiAgfTtcblxuICBwcml2YXRlIHJlbW92ZUV4cGlyZWRMaXN0ZW5lcnMoKSB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICBmb3IgKGNvbnN0IHN0YXRlIGluIHRoaXMubXNnQ2FsbGJhY2tzKSB7IC8vIGNsZWFudXAgZXhwaXJlZCBsaXN0ZW5lcnMgKDwgMSBtaW4gYWdvKTtcbiAgICAgIGlmIChwYXJzZUludChzdGF0ZSwgMTApIDwgbm93LnNldE1pbnV0ZXMobm93LmdldE1pbnV0ZXMoKSAtIDEpKSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLm1zZ0NhbGxiYWNrc1tzdGF0ZV07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: Alexander.Vangelov@vonage.com
|
|
3
|
+
* @Date: 2019-09-19 17:35:19
|
|
4
|
+
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
5
|
+
* @Last Modified time: 2020-05-03 21:31:44
|
|
6
|
+
*/
|
|
7
|
+
import { Injectable } from '@angular/core';
|
|
8
|
+
import { Observable } from 'rxjs';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/router";
|
|
11
|
+
export class MetaReferenceService {
|
|
12
|
+
constructor(appRef, injector, router) {
|
|
13
|
+
this.appRef = appRef;
|
|
14
|
+
this.injector = injector;
|
|
15
|
+
this.router = router;
|
|
16
|
+
this.dialogs = [];
|
|
17
|
+
this.router.events.subscribe((e) => {
|
|
18
|
+
if (this.dialogs.length) {
|
|
19
|
+
for (let d = (this.dialogs.length - 1); d >= 0; d--) {
|
|
20
|
+
this.dialogs[d].onComplete();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
openDialog(refDialogFactory, metaResource, integrationCode, reference, resource, preview, preferResourceType, theme) {
|
|
26
|
+
const references = !(reference instanceof Array) ? [reference] : reference.filter((r) => r.creatable !== false);
|
|
27
|
+
if (resource && resource.type) {
|
|
28
|
+
if (!references.find((f) => (f.name || f.resourceType) === (resource.resourceType || resource.type))) {
|
|
29
|
+
references.push({
|
|
30
|
+
name: resource.resourceType || resource.type,
|
|
31
|
+
resourceType: resource.resourceType || resource.type,
|
|
32
|
+
label: resource.label || resource.resourceType || resource.type
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const modalObservable = new Observable(observer => {
|
|
37
|
+
const componentRef = refDialogFactory.create(this.injector);
|
|
38
|
+
this.appRef.attachView(componentRef.hostView);
|
|
39
|
+
const refDialog = componentRef.instance;
|
|
40
|
+
refDialog.integrationCode = integrationCode;
|
|
41
|
+
refDialog.reference = references;
|
|
42
|
+
refDialog.resource = resource;
|
|
43
|
+
refDialog.metaResource = metaResource;
|
|
44
|
+
refDialog.edit = !preview;
|
|
45
|
+
refDialog.preferResourceType = preferResourceType;
|
|
46
|
+
refDialog.theme = theme;
|
|
47
|
+
const domElem = componentRef.hostView.rootNodes[0];
|
|
48
|
+
const dialogIndex = this.dialogs.push(refDialog);
|
|
49
|
+
if (dialogIndex > 1) {
|
|
50
|
+
const modalPanel = domElem.querySelector('.Vlt-modal__panel');
|
|
51
|
+
if (modalPanel) {
|
|
52
|
+
modalPanel.style.marginLeft = `${(dialogIndex * 5)}px`;
|
|
53
|
+
modalPanel.style.marginTop = `${(dialogIndex * 10)}px`;
|
|
54
|
+
modalPanel.style.marginBottom = `${((dialogIndex - 1) * 8)}px`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
document.body.appendChild(domElem);
|
|
58
|
+
refDialog.onComplete = (result) => {
|
|
59
|
+
if (result) {
|
|
60
|
+
/* eslint-disable no-underscore-dangle */
|
|
61
|
+
if (result._vgis) {
|
|
62
|
+
observer.next({
|
|
63
|
+
id: result._vgis.externalId || result._vgis.id,
|
|
64
|
+
label: result._vgis.label,
|
|
65
|
+
type: result._vgis.resourceType,
|
|
66
|
+
raw: result
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
console.log('onComplete non VGIS result', result);
|
|
71
|
+
}
|
|
72
|
+
/* eslint-enable no-underscore-dangle */
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
observer.next();
|
|
76
|
+
}
|
|
77
|
+
observer.complete();
|
|
78
|
+
this.appRef.detachView(componentRef.hostView);
|
|
79
|
+
componentRef.destroy();
|
|
80
|
+
this.dialogs.splice(dialogIndex - 1, 1);
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
return modalObservable;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
MetaReferenceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaReferenceService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
87
|
+
MetaReferenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaReferenceService, providedIn: 'root' });
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaReferenceService, decorators: [{
|
|
89
|
+
type: Injectable,
|
|
90
|
+
args: [{
|
|
91
|
+
providedIn: 'root'
|
|
92
|
+
}]
|
|
93
|
+
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i1.Router }]; } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvc2VydmljZXMvbWV0YVJlZmVyZW5jZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUtsQyxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsTUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsTUFBYztRQUZkLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUN2QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztpQkFDOUI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVILFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBaUIsRUFBRSxrQkFBbUIsRUFBRSxLQUFjO1FBQ3JJLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxTQUFTLFlBQVksS0FBSyxDQUFDLENB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Q0FBQyxFQUFFOzRCQUM5QyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLOzRCQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZOzRCQUMvQixHQUFHLEVBQUUsTUFBTTt5QkFDWixDQUFDLENBQUM7cUJBQ0o7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUMsQ0FBQztxQkFDbkQ7b0JBQ0Qsd0NBQXdDO2lCQUN6QztxQkFBTTtvQkFDTCxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2pCO2dCQUNELFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5QyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDOztpSEFoRlUsb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEBBdXRob3I6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBARGF0ZTogMjAxOS0wOS0xOSAxNzozNToxOVxuICogQExhc3QgTW9kaWZpZWQgYnk6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBATGFzdCBNb2RpZmllZCB0aW1lOiAyMDIwLTA1LTAzIDIxOjMxOjQ0XG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgQXBwbGljYXRpb25SZWYsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNZXRhUmVmZXJlbmNlU2VydmljZSB7XG4gIGRpYWxvZ3M6IEFycmF5PGFueT47XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgICB0aGlzLmRpYWxvZ3MgPSBbXTtcbiAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9ncy5sZW5ndGgpIHtcbiAgICAgICAgICBmb3IgKGxldCBkID0gKHRoaXMuZGlhbG9ncy5sZW5ndGggLSAxKTsgZCA+PSAwOyBkLS0pIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nc1tkXS5vbkNvbXBsZXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgb3BlbkRpYWxvZyhyZWZEaWFsb2dGYWN0b3J5LCBtZXRhUmVzb3VyY2UsIGludGVncmF0aW9uQ29kZSwgcmVmZXJlbmNlLCByZXNvdXJjZSwgcHJldmlldz86IGJvb2xlYW4sIHByZWZlclJlc291cmNlVHlwZT8sIHRoZW1lPzogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlcyA9ICEocmVmZXJlbmNlIGluc3RhbmNlb2YgQXJyYXkpID8gW3JlZmVyZW5jZV0gOiByZWZlcmVuY2UuZmlsdGVyKChyKSA9PiByLmNyZWF0YWJsZSAhPT0gZmFsc2UpO1xuICAgIGlmIChyZXNvdXJjZSAmJiByZXNvdXJjZS50eXBlKSB7XG4gICAgICBpZiAoIXJlZmVyZW5jZXMuZmluZCgoZikgPT4gKGYubmFtZSB8fCBmLnJlc291cmNlVHlwZSkgPT09IChyZXNvdXJjZS5yZXNvdXJjZVR5cGUgfHwgcmVzb3VyY2UudHlwZSkpKSB7XG4gICAgICAgIHJlZmVyZW5jZXMucHVzaCh7XG4gICAgICAgICAgbmFtZTogcmVzb3VyY2UucmVzb3VyY2VUeXBlIHx8IHJlc291cmNlLnR5cGUsXG4gICAgICAgICAgcmVzb3VyY2VUeXBlOiByZXNvdXJjZS5yZXNvdXJjZVR5cGUgfHwgcmVzb3VyY2UudHlwZSxcbiAgICAgICAgICBsYWJlbDogcmVzb3VyY2UubGFiZWwgfHwgcmVzb3VyY2UucmVzb3VyY2VUeXBlIHx8IHJlc291cmNlLnR5cGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbW9kYWxPYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gcmVmRGlhbG9nRmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICBjb25zdCByZWZEaWFsb2cgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICByZWZEaWFsb2cuaW50ZWdyYXRpb25Db2RlID0gaW50ZWdyYXRpb25Db2RlO1xuICAgICAgcmVmRGlhbG9nLnJlZmVyZW5jZSA9IHJlZmVyZW5jZXM7XG4gICAgICByZWZEaWFsb2cucmVzb3VyY2UgPSByZXNvdXJjZTtcbiAgICAgIHJlZkRpYWxvZy5tZXRhUmVzb3VyY2UgPSBtZXRhUmVzb3VyY2U7XG4gICAgICByZWZEaWFsb2cuZWRpdCA9ICFwcmV2aWV3O1xuICAgICAgcmVmRGlhbG9nLnByZWZlclJlc291cmNlVHlwZSA9IHByZWZlclJlc291cmNlVHlwZTtcbiAgICAgIHJlZkRpYWxvZy50aGVtZSA9IHRoZW1lO1xuXG4gICAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBhbnkpLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIFxuICAgICAgY29uc3QgZGlhbG9nSW5kZXggPSB0aGlzLmRpYWxvZ3MucHVzaChyZWZEaWFsb2cpO1xuXG4gICAgICBpZiAoZGlhbG9nSW5kZXggPiAxKSB7XG4gICAgICAgIGNvbnN0IG1vZGFsUGFuZWw6IEhUTUxFbGVtZW50ID0gZG9tRWxlbS5xdWVyeVNlbGVjdG9yKCcuVmx0LW1vZGFsX19wYW5lbCcpO1xuICAgICAgICBpZiAobW9kYWxQYW5lbCkge1xuICAgICAgICAgIG1vZGFsUGFuZWwuc3R5bGUubWFyZ2luTGVmdCA9IGAkeyhkaWFsb2dJbmRleCAqIDUpfXB4YDtcbiAgICAgICAgICBtb2RhbFBhbmVsLnN0eWxlLm1hcmdpblRvcCA9IGAkeyhkaWFsb2dJbmRleCAqIDEwKX1weGA7XG4gICAgICAgICAgbW9kYWxQYW5lbC5zdHlsZS5tYXJnaW5Cb3R0b20gPSBgJHsoKGRpYWxvZ0luZGV4IC0gMSkgKiA4KX1weGA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcblxuICAgICAgcmVmRGlhbG9nLm9uQ29tcGxldGUgPSAocmVzdWx0KSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlcnNjb3JlLWRhbmdsZSAqL1xuICAgICAgICAgIGlmIChyZXN1bHQuX3ZnaXMpIHtcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQoe1xuICAgICAgICAgICAgICBpZDogcmVzdWx0Ll92Z2lzLmV4dGVybmFsSWQgfHwgcmVzdWx0Ll92Z2lzLmlkLFxuICAgICAgICAgICAgICBsYWJlbDogcmVzdWx0Ll92Z2lzLmxhYmVsLFxuICAgICAgICAgICAgICB0eXBlOiByZXN1bHQuX3ZnaXMucmVzb3VyY2VUeXBlLFxuICAgICAgICAgICAgICByYXc6IHJlc3VsdFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdvbkNvbXBsZXRlIG5vbiBWR0lTIHJlc3VsdCcsIHJlc3VsdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8qIGVzbGludC1lbmFibGUgbm8tdW5kZXJzY29yZS1kYW5nbGUgKi9cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KCk7XG4gICAgICAgIH1cbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRpYWxvZ3Muc3BsaWNlKGRpYWxvZ0luZGV4IC0gMSwgMSk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1vZGFsT2JzZXJ2YWJsZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: Alexander.Vangelov@vonage.com
|
|
3
|
+
* @Date: 2019-09-19 17:35:19
|
|
4
|
+
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
5
|
+
* @Last Modified time: 2020-08-10 22:35:31
|
|
6
|
+
*/
|
|
7
|
+
import { Injectable } from '@angular/core';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "./metaHttpClient";
|
|
10
|
+
const STORAGE_PARAMS_REGEXES = {
|
|
11
|
+
localStorage: /^localStorage\.(.*)/,
|
|
12
|
+
sessionStorage: /^sessionStorage\.(.*)/,
|
|
13
|
+
};
|
|
14
|
+
const INTEGRATION_URL_TEMPLATE = '/extensions/v2/accounts/${localStorage.vgis.accountId}/users/${localStorage.vgis.userId}/connectors/${integrationCode}';
|
|
15
|
+
const RESOURCE_URL_TEMPLATE = INTEGRATION_URL_TEMPLATE + '${parentsPath}/${resourceType}';
|
|
16
|
+
const NEW_RESOURCE_URL_TEMPLATE = INTEGRATION_URL_TEMPLATE + '${parentsPath}/resources/${resourceType}';
|
|
17
|
+
export class IMetaParentConfig {
|
|
18
|
+
}
|
|
19
|
+
export class IMetaResourceConfig {
|
|
20
|
+
}
|
|
21
|
+
export class MetaResourceService {
|
|
22
|
+
constructor(httpClient) {
|
|
23
|
+
this.httpClient = httpClient;
|
|
24
|
+
}
|
|
25
|
+
setConfig(config) {
|
|
26
|
+
this.baseIntegrationUrl = INTEGRATION_URL_TEMPLATE.replace(/\${\s*([\w\.]+)\s*}/g, (m, value) => {
|
|
27
|
+
for (const storage of Object.keys(STORAGE_PARAMS_REGEXES)) {
|
|
28
|
+
const match = value.match(STORAGE_PARAMS_REGEXES[storage]);
|
|
29
|
+
if (match) {
|
|
30
|
+
return window[storage].getItem(match[1]) || window[storage].getItem(`cti.${match[1]}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return config[value];
|
|
34
|
+
});
|
|
35
|
+
this.baseResourceUrl = RESOURCE_URL_TEMPLATE.replace(/\${\s*([\w\.]+)\s*}/g, (m, value) => {
|
|
36
|
+
for (const storage of Object.keys(STORAGE_PARAMS_REGEXES)) {
|
|
37
|
+
const match = value.match(STORAGE_PARAMS_REGEXES[storage]);
|
|
38
|
+
if (match) {
|
|
39
|
+
return window[storage].getItem(match[1]) || window[storage].getItem(`cti.${match[1]}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (value === 'parentsPath') {
|
|
43
|
+
let parentsPath = '';
|
|
44
|
+
if (config.parent) { // config.parent: { resourceType: '...', id: '...', parent: {...} }
|
|
45
|
+
let rootParent = config.parent;
|
|
46
|
+
while (rootParent) {
|
|
47
|
+
parentsPath += `/${rootParent.resourceType || rootParent.type}/${rootParent.externalId || rootParent.id}`;
|
|
48
|
+
rootParent = rootParent.parent;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return parentsPath;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return config[value];
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
this.newResourceUrl = NEW_RESOURCE_URL_TEMPLATE.replace(/\${\s*([\w\.]+)\s*}/g, (m, value) => {
|
|
58
|
+
for (const storage of Object.keys(STORAGE_PARAMS_REGEXES)) {
|
|
59
|
+
const match = value.match(STORAGE_PARAMS_REGEXES[storage]);
|
|
60
|
+
if (match) {
|
|
61
|
+
return window[storage].getItem(match[1]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (value === 'parentsPath') {
|
|
65
|
+
let parentsPath = '';
|
|
66
|
+
if (config.parent) { // config.parent: { resourceType: '...', id: '...', parent: {...} }
|
|
67
|
+
let rootParent = config.parent;
|
|
68
|
+
while (rootParent) {
|
|
69
|
+
parentsPath += `/${rootParent.resourceType || rootParent.type}/${rootParent.externalId || rootParent.id}`;
|
|
70
|
+
rootParent = rootParent.parent;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return parentsPath;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return config[value];
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
this.id = config.externalId;
|
|
80
|
+
}
|
|
81
|
+
new(config) {
|
|
82
|
+
const s = new MetaResourceService(this.httpClient);
|
|
83
|
+
s.setConfig(config);
|
|
84
|
+
return s;
|
|
85
|
+
}
|
|
86
|
+
searchIntegration(query, scope) {
|
|
87
|
+
let searchUrl = `${this.baseIntegrationUrl}/search?q=${encodeURIComponent(query)}`;
|
|
88
|
+
if (scope) {
|
|
89
|
+
searchUrl += `&scope=${encodeURIComponent(scope)}`;
|
|
90
|
+
}
|
|
91
|
+
return this.httpClient.get(searchUrl);
|
|
92
|
+
}
|
|
93
|
+
getMetadata(layoutId, refresh) {
|
|
94
|
+
let url = `${this.baseResourceUrl.replace('/v2/', '/v3/')}/metadata`;
|
|
95
|
+
url += `?t=${new Date().getTime()}`;
|
|
96
|
+
if (refresh) {
|
|
97
|
+
url += '&refresh=true';
|
|
98
|
+
}
|
|
99
|
+
if (layoutId) {
|
|
100
|
+
url += `&layoutId=${layoutId}`;
|
|
101
|
+
}
|
|
102
|
+
return this.httpClient.get(url);
|
|
103
|
+
}
|
|
104
|
+
getDetails(externalId, extraParams) {
|
|
105
|
+
let params = 'referenceDetails=true';
|
|
106
|
+
if (extraParams) {
|
|
107
|
+
for (const p in extraParams) {
|
|
108
|
+
if (extraParams[p]) {
|
|
109
|
+
params += `&${p}=${extraParams[p]}`;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return this.httpClient.get(`${this.baseResourceUrl}/${externalId}?${params}`);
|
|
114
|
+
}
|
|
115
|
+
getByPath(path) {
|
|
116
|
+
let fullPath = `${this.newResourceUrl}${path}`;
|
|
117
|
+
if (/^..\//.test(path)) {
|
|
118
|
+
fullPath = `${this.baseIntegrationUrl}${path.substring(2)}`;
|
|
119
|
+
}
|
|
120
|
+
return this.httpClient.get(fullPath);
|
|
121
|
+
}
|
|
122
|
+
save(payload) {
|
|
123
|
+
if (this.id) {
|
|
124
|
+
return this.httpClient.put(`${this.baseResourceUrl}/${this.id}`, payload);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
return this.httpClient.post(`${this.baseResourceUrl}`, payload);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
MetaResourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaResourceService, deps: [{ token: i1.MetaHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
132
|
+
MetaResourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaResourceService, providedIn: 'root' });
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MetaResourceService, decorators: [{
|
|
134
|
+
type: Injectable,
|
|
135
|
+
args: [{
|
|
136
|
+
providedIn: 'root'
|
|
137
|
+
}]
|
|
138
|
+
}], ctorParameters: function () { return [{ type: i1.MetaHttpClient }]; } });
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvc2VydmljZXMvbWV0YVJlc291cmNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSTNDLE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsWUFBWSxFQUFFLHFCQUFxQjtJQUNuQyxjQUFjLEVBQUUsdUJBQXVCO0NBQ3hDLENBQUM7QUFFRixNQUFNLHdCQUF3QixHQUM1Qix3SEFBd0gsQ0FBQztBQUMzSCxNQUFNLHFCQUFxQixHQUFHLHdCQUF3QixHQUFHLGdDQUFnQyxDQUFDO0FBQzFGLE1BQU0seUJBQXlCLEdBQUcsd0JBQXdCLEdBQUcsMENBQTBDLENBQUM7QUFFeEcsTUFBTSxPQUFPLGlCQUFpQjtDQUk3QjtBQUNELE1BQU0sT0FBTyxtQkFBbUI7Q0FNL0I7QUFLRCxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCLFlBQW9CLFVBQTBCO1FBQTFCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBQUksQ0FBQztJQUVuRCxTQUFTLENBQUMsTUFBMkI7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM5RixLQUFLLE1BQU0sT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRTtnQkFDekQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLEtBQUssRUFBRTtvQkFDVCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFD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LlZhbmdlbG92QHZvbmFnZS5jb20gXG4gKiBARGF0ZTogMjAxOS0wOS0xOSAxNzozNToxOSBcbiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiBBbGV4YW5kZXIuVmFuZ2Vsb3ZAdm9uYWdlLmNvbVxuICogQExhc3QgTW9kaWZpZWQgdGltZTogMjAyMC0wOC0xMCAyMjozNTozMVxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWV0YUh0dHBDbGllbnQgfSBmcm9tICcuL21ldGFIdHRwQ2xpZW50JztcblxuY29uc3QgU1RPUkFHRV9QQVJBTVNfUkVHRVhFUyA9IHtcbiAgbG9jYWxTdG9yYWdlOiAvXmxvY2FsU3RvcmFnZVxcLiguKikvLFxuICBzZXNzaW9uU3RvcmFnZTogL15zZXNzaW9uU3RvcmFnZVxcLiguKikvLFxufTtcblxuY29uc3QgSU5URUdSQVRJT05fVVJMX1RFTVBMQVRFID1cbiAgJy9leHRlbnNpb25zL3YyL2FjY291bnRzLyR7bG9jYWxTdG9yYWdlLnZnaXMuYWNjb3VudElkfS91c2Vycy8ke2xvY2FsU3RvcmFnZS52Z2lzLnVzZXJJZH0vY29ubmVjdG9ycy8ke2ludGVncmF0aW9uQ29kZX0nO1xuY29uc3QgUkVTT1VSQ0VfVVJMX1RFTVBMQVRFID0gSU5URUdSQVRJT05fVVJMX1RFTVBMQVRFICsgJyR7cGFyZW50c1BhdGh9LyR7cmVzb3VyY2VUeXBlfSc7XG5jb25zdCBORVdfUkVTT1VSQ0VfVVJMX1RFTVBMQVRFID0gSU5URUdSQVRJT05fVVJMX1RFTVBMQVRFICsgJyR7cGFyZW50c1BhdGh9L3Jlc291cmNlcy8ke3Jlc291cmNlVHlwZX0nO1xuXG5leHBvcnQgY2xhc3MgSU1ldGFQYXJlbnRDb25maWcge1xuICByZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgZXh0ZXJuYWxJZDogc3RyaW5nO1xuICBwYXJlbnQ/OiBJTWV0YVBhcmVudENvbmZpZztcbn1cbmV4cG9ydCBjbGFzcyBJTWV0YVJlc291cmNlQ29uZmlnIHtcbiAgaW50ZWdyYXRpb25Db2RlOiBzdHJpbmc7XG4gIHJlc291cmNlVHlwZTogc3RyaW5nO1xuICBleHRlcm5hbElkPzogc3RyaW5nO1xuICBwYXJlbnQ/OiBJTWV0YVBhcmVudENvbmZpZztcbiAgdXJsVGVtcGxhdGU/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFSZXNvdXJjZVNlcnZpY2Uge1xuICBiYXNlSW50ZWdyYXRpb25Vcmw6IHN0cmluZztcbiAgYmFzZVJlc291cmNlVXJsOiBzdHJpbmc7XG4gIG5ld1Jlc291cmNlVXJsOiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBNZXRhSHR0cENsaWVudCkgeyB9XG5cbiAgc2V0Q29uZmlnKGNvbmZpZzogSU1ldGFSZXNvdXJjZUNvbmZpZykge1xuICAgIHRoaXMuYmFzZUludGVncmF0aW9uVXJsID0gSU5URUdSQVRJT05fVVJMX1RFTVBMQVRFLnJlcGxhY2UoL1xcJHtcXHMqKFtcXHdcXC5dKylcXHMqfS9nLCAobSwgdmFsdWUpID0+IHtcbiAgICAgIGZvciAoY29uc3Qgc3RvcmFnZSBvZiBPYmplY3Qua2V5cyhTVE9SQUdFX1BBUkFNU19SRUdFWEVTKSkge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKFNUT1JBR0VfUEFSQU1TX1JFR0VYRVNbc3RvcmFnZV0pO1xuICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICByZXR1cm4gd2luZG93W3N0b3JhZ2VdLmdldEl0ZW0obWF0Y2hbMV0pIHx8IHdpbmRvd1tzdG9yYWdlXS5nZXRJdGVtKGBjdGkuJHttYXRjaFsxXX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGNvbmZpZ1t2YWx1ZV07XG4gICAgfSk7XG4gICAgdGhpcy5iYXNlUmVzb3VyY2VVcmwgPSBSRVNPVVJDRV9VUkxfVEVNUExBVEUucmVwbGFjZSgvXFwke1xccyooW1xcd1xcLl0rKVxccyp9L2csIChtLCB2YWx1ZSkgPT4ge1xuICAgICAgZm9yIChjb25zdCBzdG9yYWdlIG9mIE9iamVjdC5rZXlzKFNUT1JBR0VfUEFSQU1TX1JFR0VYRVMpKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2goU1RPUkFHRV9QQVJBTVNfUkVHRVhFU1tzdG9yYWdlXSk7XG4gICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgIHJldHVybiB3aW5kb3dbc3RvcmFnZV0uZ2V0SXRlbShtYXRjaFsxXSkgfHwgd2luZG93W3N0b3JhZ2VdLmdldEl0ZW0oYGN0aS4ke21hdGNoWzFdfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUgPT09ICdwYXJlbnRzUGF0aCcpIHtcbiAgICAgICAgbGV0IHBhcmVudHNQYXRoID0gJyc7XG4gICAgICAgIGlmIChjb25maWcucGFyZW50KSB7IC8vIGNvbmZpZy5wYXJlbnQ6IHsgcmVzb3VyY2VUeXBlOiAnLi4uJywgaWQ6ICcuLi4nLCBwYXJlbnQ6IHsuLi59IH1cbiAgICAgICAgICBsZXQgcm9vdFBhcmVudDogYW55ID0gY29uZmlnLnBhcmVudDtcbiAgICAgICAgICB3aGlsZSAocm9vdFBhcmVudCkge1xuICAgICAgICAgICAgcGFyZW50c1BhdGggKz0gYC8ke3Jvb3RQYXJlbnQucmVzb3VyY2VUeXBlIHx8IHJvb3RQYXJlbnQudHlwZX0vJHtyb290UGFyZW50LmV4dGVybmFsSWQgfHwgcm9vdFBhcmVudC5pZH1gO1xuICAgICAgICAgICAgcm9vdFBhcmVudCA9IHJvb3RQYXJlbnQucGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyZW50c1BhdGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29uZmlnW3ZhbHVlXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLm5ld1Jlc291cmNlVXJsID0gTkVXX1JFU09VUkNFX1VSTF9URU1QTEFURS5yZXBsYWNlKC9cXCR7XFxzKihbXFx3XFwuXSspXFxzKn0vZywgKG0sIHZhbHVlKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IHN0b3JhZ2Ugb2YgT2JqZWN0LmtleXMoU1RPUkFHRV9QQVJBTVNfUkVHRVhFUykpIHtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSB2YWx1ZS5tYXRjaChTVE9SQUdFX1BBUkFNU19SRUdFWEVTW3N0b3JhZ2VdKTtcbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgcmV0dXJuIHdpbmRvd1tzdG9yYWdlXS5nZXRJdGVtKG1hdGNoWzFdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHZhbHVlID09PSAncGFyZW50c1BhdGgnKSB7XG4gICAgICAgIGxldCBwYXJlbnRzUGF0aCA9ICcnO1xuICAgICAgICBpZiAoY29uZmlnLnBhcmVudCkgeyAvLyBjb25maWcucGFyZW50OiB7IHJlc291cmNlVHlwZTogJy4uLicsIGlkOiAnLi4uJywgcGFyZW50OiB7Li4ufSB9XG4gICAgICAgICAgbGV0IHJvb3RQYXJlbnQ6IGFueSA9IGNvbmZpZy5wYXJlbnQ7XG4gICAgICAgICAgd2hpbGUgKHJvb3RQYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudHNQYXRoICs9IGAvJHtyb290UGFyZW50LnJlc291cmNlVHlwZSB8fCByb290UGFyZW50LnR5cGV9LyR7cm9vdFBhcmVudC5leHRlcm5hbElkIHx8IHJvb3RQYXJlbnQuaWR9YDtcbiAgICAgICAgICAgIHJvb3RQYXJlbnQgPSByb290UGFyZW50LnBhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcmVudHNQYXRoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGNvbmZpZ1t2YWx1ZV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5pZCA9IGNvbmZpZy5leHRlcm5hbElkO1xuICB9XG5cbiAgbmV3KGNvbmZpZzogSU1ldGFSZXNvdXJjZUNvbmZpZykge1xuICAgIGNvbnN0IHMgPSBuZXcgTWV0YVJlc291cmNlU2VydmljZSh0aGlzLmh0dHBDbGllbnQpO1xuICAgIHMuc2V0Q29uZmlnKGNvbmZpZyk7XG4gICAgcmV0dXJuIHM7XG4gIH1cblxuICBzZWFyY2hJbnRlZ3JhdGlvbihxdWVyeSwgc2NvcGU/OiBzdHJpbmcpIHtcbiAgICBsZXQgc2VhcmNoVXJsID0gYCR7dGhpcy5iYXNlSW50ZWdyYXRpb25Vcmx9L3NlYXJjaD9xPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5KX1gO1xuICAgIGlmIChzY29wZSkge1xuICAgICAgc2VhcmNoVXJsICs9IGAmc2NvcGU9JHtlbmNvZGVVUklDb21wb25lbnQoc2NvcGUpfWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KHNlYXJjaFVybCk7XG4gIH1cblxuICBnZXRNZXRhZGF0YShsYXlvdXRJZD8sIHJlZnJlc2g/KSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVJlc291cmNlVXJsLnJlcGxhY2UoJy92Mi8nLCAnL3YzLycpfS9tZXRhZGF0YWA7XG4gICAgdXJsICs9IGA/dD0ke25ldyBEYXRlKCkuZ2V0VGltZSgpfWA7XG4gICAgaWYgKHJlZnJlc2gpIHtcbiAgICAgIHVybCArPSAnJnJlZnJlc2g9dHJ1ZSc7XG4gICAgfVxuICAgIGlmIChsYXlvdXRJZCkge1xuICAgICAgdXJsICs9IGAmbGF5b3V0SWQ9JHtsYXlvdXRJZH1gO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwpO1xuICB9XG5cbiAgZ2V0RGV0YWlscyhleHRlcm5hbElkLCBleHRyYVBhcmFtcz8pIHtcbiAgICBsZXQgcGFyYW1zID0gJ3JlZmVyZW5jZURldGFpbHM9dHJ1ZSc7XG4gICAgaWYgKGV4dHJhUGFyYW1zKSB7XG4gICAgICBmb3IgKGNvbnN0IHAgaW4gZXh0cmFQYXJhbXMpIHtcbiAgICAgICAgaWYgKGV4dHJhUGFyYW1zW3BdKSB7XG4gICAgICAgICAgcGFyYW1zICs9IGAmJHtwfT0ke2V4dHJhUGFyYW1zW3BdfWA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5iYXNlUmVzb3VyY2VVcmx9LyR7ZXh0ZXJuYWxJZH0/JHtwYXJhbXN9YCk7XG4gIH1cblxuICBnZXRCeVBhdGgocGF0aCkgeyAvLyBUT0RPIG5vdCB1bml2ZXJzYWwhXG4gICAgbGV0IGZ1bGxQYXRoID0gYCR7dGhpcy5uZXdSZXNvdXJjZVVybH0ke3BhdGh9YDtcbiAgICBpZiAoL14uLlxcLy8udGVzdChwYXRoKSkge1xuICAgICAgZnVsbFBhdGggPSBgJHt0aGlzLmJhc2VJbnRlZ3JhdGlvblVybH0ke3BhdGguc3Vic3RyaW5nKDIpfWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGZ1bGxQYXRoKTtcbiAgfVxuXG4gIHNhdmUocGF5bG9hZCkge1xuICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dChcbiAgICAgICAgYCR7dGhpcy5iYXNlUmVzb3VyY2VVcmx9LyR7dGhpcy5pZH1gLFxuICAgICAgICBwYXlsb2FkXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXG4gICAgICAgIGAke3RoaXMuYmFzZVJlc291cmNlVXJsfWAsXG4gICAgICAgIHBheWxvYWRcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
|