nuxeo-development-framework 5.3.2 → 5.3.4
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/bundles/nuxeo-development-framework.umd.js +2677 -292
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +3 -3
- package/esm2015/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.js +35 -0
- package/esm2015/lib/components/ndf-config-editor/components/editor-mode-switch.component.js +43 -0
- package/esm2015/lib/components/ndf-config-editor/components/index.js +4 -0
- package/esm2015/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.js +27 -0
- package/esm2015/lib/components/ndf-config-editor/config.token.js +3 -0
- package/esm2015/lib/components/ndf-config-editor/constants/index.js +4 -0
- package/esm2015/lib/components/ndf-config-editor/constants/mode.js +5 -0
- package/esm2015/lib/components/ndf-config-editor/constants/query.js +5 -0
- package/esm2015/lib/components/ndf-config-editor/constants/type.js +5 -0
- package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +28 -0
- package/esm2015/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.js +73 -0
- package/esm2015/lib/components/ndf-config-editor/containers/index.js +5 -0
- package/esm2015/lib/components/ndf-config-editor/containers/monaco-editor.component.js +195 -0
- package/esm2015/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.js +133 -0
- package/esm2015/lib/components/ndf-config-editor/index.js +2 -0
- package/esm2015/lib/components/ndf-config-editor/models/config.js +2 -0
- package/esm2015/lib/components/ndf-config-editor/models/dialog-data.js +2 -0
- package/esm2015/lib/components/ndf-config-editor/models/editor-model.js +2 -0
- package/esm2015/lib/components/ndf-config-editor/models/index.js +5 -0
- package/esm2015/lib/components/ndf-config-editor/models/type-helper.js +2 -0
- package/esm2015/lib/components/ndf-config-editor/ndf-config-editor.module.js +118 -0
- package/esm2015/lib/components/ndf-config-editor/pipes/index.js +3 -0
- package/esm2015/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.js +17 -0
- package/esm2015/lib/components/ndf-config-editor/pipes/validate-object.pipe.js +16 -0
- package/esm2015/lib/components/ndf-config-editor/public/editor-navigate-button.js +104 -0
- package/esm2015/lib/components/ndf-config-editor/public/index.js +2 -0
- package/esm2015/lib/components/ndf-config-editor/public-api.js +7 -0
- package/esm2015/lib/components/ndf-config-editor/services/data-access.service.js +26 -0
- package/esm2015/lib/components/ndf-config-editor/services/data-store.service.js +52 -0
- package/esm2015/lib/components/ndf-config-editor/services/dummy-data.js +1321 -0
- package/esm2015/lib/components/ndf-config-editor/services/index.js +4 -0
- package/esm2015/lib/components/ndf-config-editor/services/monaco.loader.service.js +51 -0
- package/esm2015/lib/components/ndf-config-editor/utility/index.js +2 -0
- package/esm2015/lib/components/ndf-config-editor/utility/json.js +10 -0
- package/esm2015/lib/components/reports/charts/components/data-chart.component.js +2 -2
- package/esm2015/lib/components/reports/index.js +3 -0
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +19 -12
- package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +14 -5
- package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +15 -1
- package/esm2015/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.js +9 -1
- package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +20 -14
- package/esm2015/lib/components/tables/ndf-table/directives/index.js +1 -2
- package/esm2015/lib/components/tables/ndf-table/models/table-config.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +15 -7
- package/esm2015/lib/core/services/extension/component-register.service.js +4 -1
- package/esm2015/lib/core/tokens/index.js +2 -0
- package/esm2015/lib/core/tokens/project.token.js +3 -0
- package/esm2015/lib/directive/permissions/evaluators.service.js +20 -18
- package/esm2015/lib/shared/directives/copy-to-clipboard.directive.js +41 -0
- package/esm2015/lib/shared/directives/element-height.directive.js +80 -0
- package/esm2015/lib/shared/directives/fluid-height.directive.js +115 -0
- package/esm2015/lib/shared/directives/index.js +4 -0
- package/esm2015/lib/shared/index.js +6 -0
- package/esm2015/lib/shared/libraryShared.module.js +35 -10
- package/esm2015/lib/shared/models/index.js +2 -1
- package/esm2015/lib/shared/models/ndf-request.model.js +2 -0
- package/esm2015/public-api.js +4 -1
- package/fesm2015/nuxeo-development-framework.js +2531 -193
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.d.ts +14 -0
- package/lib/components/ndf-config-editor/components/editor-mode-switch.component.d.ts +17 -0
- package/lib/components/ndf-config-editor/components/index.d.ts +3 -0
- package/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.d.ts +11 -0
- package/lib/components/ndf-config-editor/config.token.d.ts +9 -0
- package/lib/components/ndf-config-editor/constants/index.d.ts +3 -0
- package/lib/components/ndf-config-editor/constants/mode.d.ts +4 -0
- package/lib/components/ndf-config-editor/constants/query.d.ts +4 -0
- package/lib/components/ndf-config-editor/constants/type.d.ts +4 -0
- package/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.d.ts +15 -0
- package/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.d.ts +24 -0
- package/lib/components/ndf-config-editor/containers/index.d.ts +4 -0
- package/lib/components/ndf-config-editor/containers/monaco-editor.component.d.ts +33 -0
- package/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.d.ts +48 -0
- package/lib/components/ndf-config-editor/index.d.ts +1 -0
- package/lib/components/ndf-config-editor/models/config.d.ts +24 -0
- package/lib/components/ndf-config-editor/models/dialog-data.d.ts +6 -0
- package/lib/components/ndf-config-editor/models/editor-model.d.ts +15 -0
- package/lib/components/ndf-config-editor/models/index.d.ts +4 -0
- package/lib/components/ndf-config-editor/models/type-helper.d.ts +3 -0
- package/lib/components/ndf-config-editor/ndf-config-editor.module.d.ts +36 -0
- package/lib/components/ndf-config-editor/pipes/index.d.ts +2 -0
- package/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.d.ts +7 -0
- package/lib/components/ndf-config-editor/pipes/validate-object.pipe.d.ts +7 -0
- package/lib/components/ndf-config-editor/public/editor-navigate-button.d.ts +31 -0
- package/lib/components/ndf-config-editor/public/index.d.ts +1 -0
- package/lib/components/ndf-config-editor/public-api.d.ts +6 -0
- package/lib/components/ndf-config-editor/services/data-access.service.d.ts +8 -0
- package/lib/components/ndf-config-editor/services/data-store.service.d.ts +24 -0
- package/lib/components/ndf-config-editor/services/dummy-data.d.ts +992 -0
- package/lib/components/ndf-config-editor/services/index.d.ts +3 -0
- package/lib/components/ndf-config-editor/services/monaco.loader.service.d.ts +14 -0
- package/lib/components/ndf-config-editor/utility/index.d.ts +1 -0
- package/lib/components/ndf-config-editor/utility/json.d.ts +1 -0
- package/lib/components/reports/index.d.ts +2 -0
- package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +6 -3
- package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +4 -2
- package/lib/components/reports/ndf-reports/services/chart-data-transformers.service.d.ts +10 -0
- package/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.d.ts +6 -0
- package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +3 -1
- package/lib/components/tables/ndf-table/directives/index.d.ts +0 -1
- package/lib/components/tables/ndf-table/models/table-config.d.ts +1 -0
- package/lib/components/tables/ndf-table/ndf-table.module.d.ts +4 -2
- package/lib/core/services/extension/component-register.service.d.ts +3 -0
- package/lib/core/tokens/index.d.ts +1 -0
- package/lib/core/tokens/project.token.d.ts +2 -0
- package/lib/directive/permissions/evaluators.service.d.ts +4 -2
- package/lib/shared/directives/copy-to-clipboard.directive.d.ts +15 -0
- package/lib/shared/directives/element-height.directive.d.ts +28 -0
- package/lib/{components/tables/ndf-table → shared}/directives/fluid-height.directive.d.ts +2 -1
- package/lib/shared/directives/index.d.ts +3 -0
- package/lib/shared/index.d.ts +5 -0
- package/lib/shared/libraryShared.module.d.ts +3 -1
- package/lib/shared/models/index.d.ts +1 -0
- package/lib/shared/models/ndf-request.model.d.ts +7 -0
- package/package.json +4 -2
- package/public-api.d.ts +3 -0
- package/src/docs/ndf-table.doc.md +1433 -0
- package/esm2015/lib/components/tables/ndf-table/directives/fluid-height.directive.js +0 -112
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { MONACO_EDITOR_CONFIG } from '../config.token';
|
|
3
|
+
import { fromEvent } from 'rxjs';
|
|
4
|
+
import { takeUntil, filter, delay } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../services";
|
|
7
|
+
import * as i2 from "@angular/cdk/bidi";
|
|
8
|
+
export class MonacoEditorComponent {
|
|
9
|
+
constructor(config, _loaderService, zone) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
this._loaderService = _loaderService;
|
|
12
|
+
this.zone = zone;
|
|
13
|
+
this.destroy$ = new EventEmitter();
|
|
14
|
+
this.onInit = new EventEmitter();
|
|
15
|
+
this.hasError = new EventEmitter();
|
|
16
|
+
this._value = '';
|
|
17
|
+
this.valueChange = new EventEmitter();
|
|
18
|
+
this._options = {
|
|
19
|
+
value: ``,
|
|
20
|
+
language: 'json',
|
|
21
|
+
theme: 'vs',
|
|
22
|
+
automaticLayout: true
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
set value(val) {
|
|
26
|
+
this._value = val;
|
|
27
|
+
if (this._editor && val !== this._editor.getValue()) {
|
|
28
|
+
this._editor.setValue(val);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
get value() {
|
|
32
|
+
return this._value;
|
|
33
|
+
}
|
|
34
|
+
set options(options) {
|
|
35
|
+
console.log(options);
|
|
36
|
+
this._options = Object.assign({}, this.config.defaultOptions, options);
|
|
37
|
+
if (this._editor) {
|
|
38
|
+
this._editor.dispose();
|
|
39
|
+
this.initMonaco(this._options);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
get options() {
|
|
43
|
+
return this._options;
|
|
44
|
+
}
|
|
45
|
+
set theme(theme) {
|
|
46
|
+
if (this._monaco) {
|
|
47
|
+
this._monaco.editor.setTheme(theme);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
set model(model) {
|
|
51
|
+
this.options.model = model;
|
|
52
|
+
if (this._editor) {
|
|
53
|
+
this._editor.dispose();
|
|
54
|
+
this.initMonaco(this.options);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
ngOnInit() { }
|
|
58
|
+
ngAfterViewInit() {
|
|
59
|
+
const baseUrl = this.config.baseUrl || './assets/monaco-editor/min/vs';
|
|
60
|
+
this._loaderService.load(baseUrl).then((monaco) => {
|
|
61
|
+
this._monaco = monaco;
|
|
62
|
+
this.initMonaco(this._options);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
ngOnDestroy() {
|
|
66
|
+
if (this._editor) {
|
|
67
|
+
this._editor.dispose();
|
|
68
|
+
this._editor = undefined;
|
|
69
|
+
}
|
|
70
|
+
this._monaco = undefined;
|
|
71
|
+
this.destroy$.next(null);
|
|
72
|
+
this.destroy$.complete();
|
|
73
|
+
}
|
|
74
|
+
initMonaco(options) {
|
|
75
|
+
var _a, _b;
|
|
76
|
+
if (!this._monaco) {
|
|
77
|
+
console.error('Monaco editor is not loaded yet.');
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const hasModel = !!(options === null || options === void 0 ? void 0 : options.model);
|
|
81
|
+
try {
|
|
82
|
+
if (hasModel) {
|
|
83
|
+
const model = this._monaco.editor.getModel(options.model.uri);
|
|
84
|
+
if (model) {
|
|
85
|
+
// If model exists, set the value
|
|
86
|
+
options.model = model;
|
|
87
|
+
options.model.setValue(this.value);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// If model doesn't exist, create a new model
|
|
91
|
+
options.model = this._monaco.editor.createModel(((_a = options.model) === null || _a === void 0 ? void 0 : _a.value) || this.value, ((_b = options.model) === null || _b === void 0 ? void 0 : _b.language) || 'json', options.model.uri);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
this._monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
|
|
95
|
+
validate: true,
|
|
96
|
+
allowComments: false,
|
|
97
|
+
schemas: [] // No schema provided
|
|
98
|
+
});
|
|
99
|
+
// Initialize the Monaco editor instance
|
|
100
|
+
const editorOptions = Object.assign(Object.assign({}, options), { minimap: {
|
|
101
|
+
enabled: false
|
|
102
|
+
} });
|
|
103
|
+
this._editor = this._monaco.editor.create(this._editorContainer.nativeElement, editorOptions);
|
|
104
|
+
// If no model is passed in options, set the value directly
|
|
105
|
+
if (!hasModel) {
|
|
106
|
+
this._editor.setValue(this.value || '');
|
|
107
|
+
}
|
|
108
|
+
this._monaco.editor.onDidChangeMarkers(() => {
|
|
109
|
+
const markers = this._monaco.editor.getModelMarkers({});
|
|
110
|
+
this.hasError.emit(!!(markers === null || markers === void 0 ? void 0 : markers.length));
|
|
111
|
+
});
|
|
112
|
+
// Handle content change events to propagate changes
|
|
113
|
+
this._editor.onDidChangeModelContent((e) => {
|
|
114
|
+
const value = this._editor.getValue();
|
|
115
|
+
this.zone.run(() => {
|
|
116
|
+
this.value = value;
|
|
117
|
+
this.valueChange.emit(value); // Emit the value change event
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
this._subscribeToWindowResize();
|
|
121
|
+
this.onInit.emit({
|
|
122
|
+
monaco: this._monaco,
|
|
123
|
+
editor: this._editor
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
console.error('Error initializing Monaco Editor:', error);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
_subscribeToWindowResize() {
|
|
131
|
+
fromEvent(window, 'resize')
|
|
132
|
+
.pipe(filter(() => !!this._editor), delay(200), takeUntil(this.destroy$))
|
|
133
|
+
.subscribe(() => {
|
|
134
|
+
this._editor.layout();
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
MonacoEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoEditorComponent, deps: [{ token: MONACO_EDITOR_CONFIG }, { token: i1.MonacoLoaderService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
139
|
+
MonacoEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MonacoEditorComponent, selector: "ndf-monaco-editor", inputs: { value: "value", options: "options", theme: "theme", model: "model" }, outputs: { onInit: "onInit", hasError: "hasError", valueChange: "valueChange" }, viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], ngImport: i0, template: `
|
|
140
|
+
<div
|
|
141
|
+
class="editor-container"
|
|
142
|
+
#editorContainer
|
|
143
|
+
dir="ltr"
|
|
144
|
+
style="text-align: left !important; direction: ltr !important"
|
|
145
|
+
></div>
|
|
146
|
+
`, isInline: true, styles: ["\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t\theight: var(--monaco-config-editor-height, 100%);\n\t\t\t\tborder: var(--monaco-config-editor-border, 1px solid var(--monaco-border-color, #bbb));\n\t\t\t}\n\t\t\t.editor-container {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t"], directives: [{ type: i2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoEditorComponent, decorators: [{
|
|
148
|
+
type: Component,
|
|
149
|
+
args: [{
|
|
150
|
+
selector: 'ndf-monaco-editor',
|
|
151
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
152
|
+
template: `
|
|
153
|
+
<div
|
|
154
|
+
class="editor-container"
|
|
155
|
+
#editorContainer
|
|
156
|
+
dir="ltr"
|
|
157
|
+
style="text-align: left !important; direction: ltr !important"
|
|
158
|
+
></div>
|
|
159
|
+
`,
|
|
160
|
+
styles: [
|
|
161
|
+
`
|
|
162
|
+
:host {
|
|
163
|
+
display: block;
|
|
164
|
+
height: var(--monaco-config-editor-height, 100%);
|
|
165
|
+
border: var(--monaco-config-editor-border, 1px solid var(--monaco-border-color, #bbb));
|
|
166
|
+
}
|
|
167
|
+
.editor-container {
|
|
168
|
+
width: 100%;
|
|
169
|
+
height: 100%;
|
|
170
|
+
}
|
|
171
|
+
`
|
|
172
|
+
]
|
|
173
|
+
}]
|
|
174
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
175
|
+
type: Inject,
|
|
176
|
+
args: [MONACO_EDITOR_CONFIG]
|
|
177
|
+
}] }, { type: i1.MonacoLoaderService }, { type: i0.NgZone }]; }, propDecorators: { _editorContainer: [{
|
|
178
|
+
type: ViewChild,
|
|
179
|
+
args: ['editorContainer', { static: true }]
|
|
180
|
+
}], onInit: [{
|
|
181
|
+
type: Output
|
|
182
|
+
}], hasError: [{
|
|
183
|
+
type: Output
|
|
184
|
+
}], value: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], valueChange: [{
|
|
187
|
+
type: Output
|
|
188
|
+
}], options: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], theme: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], model: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}] } });
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1jb25maWctZWRpdG9yL2NvbnRhaW5lcnMvbW9uYWNvLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsb0JBQW9CLEVBQXNCLE1BQU0saUJBQWlCLENBQUM7QUFFM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQTRCMUQsTUFBTSxPQUFPLHFCQUFxQjtJQXdEakMsWUFDeUMsTUFBMEIsRUFDMUQsY0FBbUMsRUFDbkMsSUFBWTtRQUZvQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxRCxtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFDbkMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQTFESixhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFL0QsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzFDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBSXpDLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFZbEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5DLGFBQVEsR0FBa0I7WUFDakMsS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUUsSUFBSTtZQUNYLGVBQWUs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TSxFQUFFLFFBQVEsQ0FBQzthQUN6QixJQUFJLENBQ0osTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQzVCLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFDVixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN4QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7bUhBdEtXLHFCQUFxQixrQkF5RHhCLG9CQUFvQjt1R0F6RGpCLHFCQUFxQiw2VkF0QnZCOzs7Ozs7O0VBT1Q7NEZBZVcscUJBQXFCO2tCQXpCakMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFOzs7Ozs7O0VBT1Q7b0JBQ0QsTUFBTSxFQUFFO3dCQUNQOzs7Ozs7Ozs7O0dBVUM7cUJBQ0Q7aUJBQ0Q7OzBCQTBERSxNQUFNOzJCQUFDLG9CQUFvQjttR0F2RG1CLGdCQUFnQjtzQkFBL0QsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ3BDLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUtNLEtBQUs7c0JBQWpCLEtBQUs7Z0JBV0ksV0FBVztzQkFBcEIsTUFBTTtnQkFTTSxPQUFPO3NCQUFuQixLQUFLO2dCQWFPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBTU8sS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0QWZ0ZXJWaWV3SW5pdCxcclxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuXHRDb21wb25lbnQsXHJcblx0RWxlbWVudFJlZixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5qZWN0LFxyXG5cdElucHV0LFxyXG5cdE5nWm9uZSxcclxuXHRPbkRlc3Ryb3ksXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxuXHRWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTW9uYWNvTG9hZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTU9OQUNPX0VESVRPUl9DT05GSUcsIE1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy50b2tlbic7XHJcbmltcG9ydCB7IEVkaXRvck1vZGVsLCBFZGl0b3JNb2RlbFR5cGUsIEVkaXRvck9wdGlvbnMsIEVkaXRvclRoZW1lLCBNb25hY29FZGl0b3IgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBmaWx0ZXIsIGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgKiBhcyBtb25hY28gZnJvbSAnbW9uYWNvLWVkaXRvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ25kZi1tb25hY28tZWRpdG9yJyxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuXHR0ZW1wbGF0ZTogYFxyXG5cdFx0PGRpdlxyXG5cdFx0XHRjbGFzcz1cImVkaXRvci1jb250YWluZXJcIlxyXG5cdFx0XHQjZWRpdG9yQ29udGFpbmVyXHJcblx0XHRcdGRpcj1cImx0clwiXHJcblx0XHRcdHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyBkaXJlY3Rpb246IGx0ciAhaW1wb3J0YW50XCJcclxuXHRcdD48L2Rpdj5cclxuXHRgLFxyXG5cdHN0eWxlczogW1xyXG5cdFx0YFxyXG5cdFx0XHQ6aG9zdCB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0aGVpZ2h0OiB2YXIoLS1tb25hY28tY29uZmlnLWVkaXRvci1oZWlnaHQsIDEwMCUpO1xyXG5cdFx0XHRcdGJvcmRlcjogdmFyKC0tbW9uYWNvLWNvbmZpZy1lZGl0b3ItYm9yZGVyLCAxcHggc29saWQgdmFyKC0tbW9uYWNvLWJvcmRlci1jb2xvciwgI2JiYikpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5lZGl0b3ItY29udGFpbmVyIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdGBcclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25hY29FZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcblx0cHJpdmF0ZSByZWFkb25seSBkZXN0cm95JDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cdEBWaWV3Q2hpbGQoJ2VkaXRvckNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIF9lZGl0b3JDb250YWluZXI6IEVsZW1lbnRSZWY7XHJcblx0QE91dHB1dCgpIG9uSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8TW9uYWNvRWRpdG9yPigpO1xyXG5cdEBPdXRwdXQoKSBoYXNFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHRwcml2YXRlIF9lZGl0b3I6IG1vbmFjby5lZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xyXG5cdHByaXZhdGUgX21vbmFjbzogdHlwZW9mIG1vbmFjbztcclxuXHJcblx0cHJpdmF0ZSBfdmFsdWU6IHN0cmluZyA9ICcnO1xyXG5cdEBJbnB1dCgpIHNldCB2YWx1ZSh2YWw6IHN0cmluZykge1xyXG5cdFx0dGhpcy5fdmFsdWUgPSB2YWw7XHJcblx0XHRpZiAodGhpcy5fZWRpdG9yICYmIHZhbCAhPT0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCkpIHtcclxuXHRcdFx0dGhpcy5fZWRpdG9yLnNldFZhbHVlKHZhbCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLl92YWx1ZTtcclxuXHR9XHJcblxyXG5cdEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblx0cHJpdmF0ZSBfb3B0aW9uczogRWRpdG9yT3B0aW9ucyA9IHtcclxuXHRcdHZhbHVlOiBgYCxcclxuXHRcdGxhbmd1YWdlOiAnanNvbicsXHJcblx0XHR0aGVtZTogJ3ZzJyxcclxuXHRcdGF1dG9tYXRpY0xheW91dDogdHJ1ZVxyXG5cdH07XHJcblxyXG5cdEBJbnB1dCgpIHNldCBvcHRpb25zKG9wdGlvbnM6IEVkaXRvck9wdGlvbnMpIHtcclxuXHRcdGNvbnNvbGUubG9nKG9wdGlvbnMpO1xyXG5cdFx0dGhpcy5fb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCBvcHRpb25zKTtcclxuXHRcdGlmICh0aGlzLl9lZGl0b3IpIHtcclxuXHRcdFx0dGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcclxuXHRcdFx0dGhpcy5pbml0TW9uYWNvKHRoaXMuX29wdGlvbnMpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0IG9wdGlvbnMoKTogRWRpdG9yT3B0aW9ucyB7XHJcblx0XHRyZXR1cm4gdGhpcy5fb3B0aW9ucztcclxuXHR9XHJcblxyXG5cdEBJbnB1dCgpIHNldCB0aGVtZSh0aGVtZTogRWRpdG9yVGhlbWUpIHtcclxuXHRcdGlmICh0aGlzLl9tb25hY28pIHtcclxuXHRcdFx0dGhpcy5fbW9uYWNvLmVkaXRvci5zZXRUaGVtZSh0aGVtZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRASW5wdXQoKSBzZXQgbW9kZWwobW9kZWw6IEVkaXRvck1vZGVsVHlwZSkge1xyXG5cdFx0dGhpcy5vcHRpb25zLm1vZGVsID0gbW9kZWw7XHJcblx0XHRpZiAodGhpcy5fZWRpdG9yKSB7XHJcblx0XHRcdHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XHJcblx0XHRcdHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRASW5qZWN0KE1PTkFDT19FRElUT1JfQ09ORklHKSBwcm90ZWN0ZWQgY29uZmlnOiBNb25hY29FZGl0b3JDb25maWcsXHJcblx0XHRwcml2YXRlIF9sb2FkZXJTZXJ2aWNlOiBNb25hY29Mb2FkZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSB6b25lOiBOZ1pvbmVcclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcblx0bmdBZnRlclZpZXdJbml0KCkge1xyXG5cdFx0Y29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnLmJhc2VVcmwgfHwgJy4vYXNzZXRzL21vbmFjby1lZGl0b3IvbWluL3ZzJztcclxuXHRcdHRoaXMuX2xvYWRlclNlcnZpY2UubG9hZChiYXNlVXJsKS50aGVuKChtb25hY28pID0+IHtcclxuXHRcdFx0dGhpcy5fbW9uYWNvID0gbW9uYWNvO1xyXG5cdFx0XHR0aGlzLmluaXRNb25hY28odGhpcy5fb3B0aW9ucyk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX2VkaXRvcikge1xyXG5cdFx0XHR0aGlzLl9lZGl0b3IuZGlzcG9zZSgpO1xyXG5cdFx0XHR0aGlzLl9lZGl0b3IgPSB1bmRlZmluZWQ7XHJcblx0XHR9XHJcblx0XHR0aGlzLl9tb25hY28gPSB1bmRlZmluZWQ7XHJcblx0XHR0aGlzLmRlc3Ryb3kkLm5leHQobnVsbCk7XHJcblx0XHR0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcblx0fVxyXG5cclxuXHRpbml0TW9uYWNvKG9wdGlvbnM6IEVkaXRvck9wdGlvbnMpOiB2b2lkIHtcclxuXHRcdGlmICghdGhpcy5fbW9uYWNvKSB7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ01vbmFjbyBlZGl0b3IgaXMgbm90IGxvYWRlZCB5ZXQuJyk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBoYXNNb2RlbCA9ICEhb3B0aW9ucz8ubW9kZWw7XHJcblxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0aWYgKGhhc01vZGVsKSB7XHJcblx0XHRcdFx0Y29uc3QgbW9kZWwgPSB0aGlzLl9tb25hY28uZWRpdG9yLmdldE1vZGVsKG9wdGlvbnMubW9kZWwudXJpKTtcclxuXHJcblx0XHRcdFx0aWYgKG1vZGVsKSB7XHJcblx0XHRcdFx0XHQvLyBJZiBtb2RlbCBleGlzdHMsIHNldCB0aGUgdmFsdWVcclxuXHRcdFx0XHRcdG9wdGlvbnMubW9kZWwgPSBtb2RlbDtcclxuXHRcdFx0XHRcdG9wdGlvbnMubW9kZWwuc2V0VmFsdWUodGhpcy52YWx1ZSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdC8vIElmIG1vZGVsIGRvZXNuJ3QgZXhpc3QsIGNyZWF0ZSBhIG5ldyBtb2RlbFxyXG5cdFx0XHRcdFx0b3B0aW9ucy5tb2RlbCA9IHRoaXMuX21vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwoXHJcblx0XHRcdFx0XHRcdChvcHRpb25zLm1vZGVsIGFzIEVkaXRvck1vZGVsKT8udmFsdWUgfHwgdGhpcy52YWx1ZSxcclxuXHRcdFx0XHRcdFx0KG9wdGlvbnMubW9kZWwgYXMgRWRpdG9yTW9kZWwpPy5sYW5ndWFnZSB8fCAnanNvbicsXHJcblx0XHRcdFx0XHRcdG9wdGlvbnMubW9kZWwudXJpXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5fbW9uYWNvLmxhbmd1YWdlcy5qc29uLmpzb25EZWZhdWx0cy5zZXREaWFnbm9zdGljc09wdGlvbnMoe1xyXG5cdFx0XHRcdHZhbGlkYXRlOiB0cnVlLCAvLyBFbmFibGVzIGJhc2ljIHN5bnRheCB2YWxpZGF0aW9uXHJcblx0XHRcdFx0YWxsb3dDb21tZW50czogZmFsc2UsIC8vIE9wdGlvbmFsOiBhbGxvdyBjb21tZW50cyBpbiBKU09OXHJcblx0XHRcdFx0c2NoZW1hczogW10gLy8gTm8gc2NoZW1hIHByb3ZpZGVkXHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0Ly8gSW5pdGlhbGl6ZSB0aGUgTW9uYWNvIGVkaXRvciBpbnN0YW5jZVxyXG5cdFx0XHRjb25zdCBlZGl0b3JPcHRpb25zOiBFZGl0b3JPcHRpb25zID0ge1xyXG5cdFx0XHRcdC4uLm9wdGlvbnMsXHJcblx0XHRcdFx0bWluaW1hcDoge1xyXG5cdFx0XHRcdFx0ZW5hYmxlZDogZmFsc2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdH07XHJcblx0XHRcdHRoaXMuX2VkaXRvciA9IHRoaXMuX21vbmFjby5lZGl0b3IuY3JlYXRlKFxyXG5cdFx0XHRcdHRoaXMuX2VkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LFxyXG5cdFx0XHRcdGVkaXRvck9wdGlvbnMgYXMgbW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUVkaXRvckNvbnN0cnVjdGlvbk9wdGlvbnNcclxuXHRcdFx0KTtcclxuXHJcblx0XHRcdC8vIElmIG5vIG1vZGVsIGlzIHBhc3NlZCBpbiBvcHRpb25zLCBzZXQgdGhlIHZhbHVlIGRpcmVjdGx5XHJcblx0XHRcdGlmICghaGFzTW9kZWwpIHtcclxuXHRcdFx0XHR0aGlzLl9lZGl0b3Iuc2V0VmFsdWUodGhpcy52YWx1ZSB8fCAnJyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuX21vbmFjby5lZGl0b3Iub25EaWRDaGFuZ2VNYXJrZXJzKCgpID0+IHtcclxuXHRcdFx0XHRjb25zdCBtYXJrZXJzID0gdGhpcy5fbW9uYWNvLmVkaXRvci5nZXRNb2RlbE1hcmtlcnMoe30pO1xyXG5cdFx0XHRcdHRoaXMuaGFzRXJyb3IuZW1pdCghIW1hcmtlcnM/Lmxlbmd0aCk7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0Ly8gSGFuZGxlIGNvbnRlbnQgY2hhbmdlIGV2ZW50cyB0byBwcm9wYWdhdGUgY2hhbmdlc1xyXG5cdFx0XHR0aGlzLl9lZGl0b3Iub25EaWRDaGFuZ2VNb2RlbENvbnRlbnQoKGU6IG1vbmFjby5lZGl0b3IuSU1vZGVsQ29udGVudENoYW5nZWRFdmVudCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHZhbHVlID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCk7XHJcblx0XHRcdFx0dGhpcy56b25lLnJ1bigoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnZhbHVlID0gdmFsdWU7XHJcblx0XHRcdFx0XHR0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpOyAvLyBFbWl0IHRoZSB2YWx1ZSBjaGFuZ2UgZXZlbnRcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0XHR0aGlzLl9zdWJzY3JpYmVUb1dpbmRvd1Jlc2l6ZSgpO1xyXG5cclxuXHRcdFx0dGhpcy5vbkluaXQuZW1pdCh7XHJcblx0XHRcdFx0bW9uYWNvOiB0aGlzLl9tb25hY28sXHJcblx0XHRcdFx0ZWRpdG9yOiB0aGlzLl9lZGl0b3JcclxuXHRcdFx0fSk7XHJcblx0XHR9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdFcnJvciBpbml0aWFsaXppbmcgTW9uYWNvIEVkaXRvcjonLCBlcnJvcik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9zdWJzY3JpYmVUb1dpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcclxuXHRcdGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRmaWx0ZXIoKCkgPT4gISF0aGlzLl9lZGl0b3IpLFxyXG5cdFx0XHRcdGRlbGF5KDIwMCksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5fZWRpdG9yLmxheW91dCgpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
+
import { DataStoreService } from '../../services';
|
|
3
|
+
import { CONFIG_EDITOR_MODE } from '../../constants';
|
|
4
|
+
import { BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
import { InfoDialogComponent } from '../../components';
|
|
7
|
+
import { switchMap, takeUntil } from 'rxjs/operators';
|
|
8
|
+
import { DestroySubject } from '../../../../shared';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../../services";
|
|
11
|
+
import * as i2 from "../../../../configuration/app-config.service";
|
|
12
|
+
import * as i3 from "@angular/material/dialog";
|
|
13
|
+
import * as i4 from "@angular/common";
|
|
14
|
+
import * as i5 from "../editor-settings/editor-settings.component";
|
|
15
|
+
import * as i6 from "../../components/config-editor-actions/config-editor-actions.component";
|
|
16
|
+
import * as i7 from "../../components/editor-mode-switch.component";
|
|
17
|
+
import * as i8 from "../config-preview/config-preview.component";
|
|
18
|
+
import * as i9 from "../monaco-editor.component";
|
|
19
|
+
import * as i10 from "../../../no-data-found/no-data-found.component";
|
|
20
|
+
import * as i11 from "../../../../directive/permissions/permissions.directive";
|
|
21
|
+
import * as i12 from "../../../../shared/directives/fluid-height.directive";
|
|
22
|
+
import * as i13 from "../../../../shared/directives/element-height.directive";
|
|
23
|
+
import * as i14 from "../../pipes/is-valid-json.pipe";
|
|
24
|
+
export class NdfConfigEditorComponent extends DestroySubject {
|
|
25
|
+
constructor(environment, dataStore, configService, matDialog, location) {
|
|
26
|
+
var _a;
|
|
27
|
+
super();
|
|
28
|
+
this.environment = environment;
|
|
29
|
+
this.dataStore = dataStore;
|
|
30
|
+
this.configService = configService;
|
|
31
|
+
this.matDialog = matDialog;
|
|
32
|
+
this.location = location;
|
|
33
|
+
this.isEditorHasErrors = false;
|
|
34
|
+
this._defaultEditorOptions = {
|
|
35
|
+
value: ``,
|
|
36
|
+
language: 'json',
|
|
37
|
+
theme: 'vs',
|
|
38
|
+
automaticLayout: true
|
|
39
|
+
};
|
|
40
|
+
this._optionsSubject = new BehaviorSubject(this._defaultEditorOptions);
|
|
41
|
+
this.options$ = this._optionsSubject.asObservable();
|
|
42
|
+
this._themeSubject = new ReplaySubject();
|
|
43
|
+
this.theme$ = this._themeSubject.asObservable();
|
|
44
|
+
this._dataKeySubject = new ReplaySubject();
|
|
45
|
+
this.previewData$ = this.dataStore.previewData$;
|
|
46
|
+
this.editorData$ = this.dataStore.editorData$;
|
|
47
|
+
this.modes = CONFIG_EDITOR_MODE;
|
|
48
|
+
this.isFeatureEnabled = false;
|
|
49
|
+
this.config = (_a = this.configService.myConfiguration) === null || _a === void 0 ? void 0 : _a.configEditor;
|
|
50
|
+
this.isFeatureEnabled = environment.configEditor === 'YES';
|
|
51
|
+
}
|
|
52
|
+
ngOnChanges(changes) {
|
|
53
|
+
this._handleMetadataChanges(changes);
|
|
54
|
+
this._handleOptionsAndThemeChanges(changes);
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
this._dataKeySubject
|
|
58
|
+
.pipe(switchMap((key) => this.dataStore.getData(key, this.metadata.type)), takeUntil(this.destroy$))
|
|
59
|
+
.subscribe((res) => { });
|
|
60
|
+
}
|
|
61
|
+
onDataChanged(data) {
|
|
62
|
+
this.dataStore.storeData(data);
|
|
63
|
+
}
|
|
64
|
+
onEditorErrors(hasErrors) {
|
|
65
|
+
this.isEditorHasErrors = hasErrors;
|
|
66
|
+
}
|
|
67
|
+
saveData() {
|
|
68
|
+
this.dataStore.saveData(this.metadata.key);
|
|
69
|
+
}
|
|
70
|
+
navigateBack() {
|
|
71
|
+
this.location.back();
|
|
72
|
+
}
|
|
73
|
+
onEditorReady(data) {
|
|
74
|
+
this._monaco = data.monaco;
|
|
75
|
+
}
|
|
76
|
+
openInfoDialog(documentation) {
|
|
77
|
+
this.matDialog.open(InfoDialogComponent, {
|
|
78
|
+
panelClass: 'ndf-dialog',
|
|
79
|
+
width: 'min(1200px,90%)',
|
|
80
|
+
height: '90vh',
|
|
81
|
+
data: {
|
|
82
|
+
title: 'JSON_EDITOR.info',
|
|
83
|
+
type: this.metadata.type,
|
|
84
|
+
url: documentation
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
_handleMetadataChanges(changes) {
|
|
89
|
+
var _a;
|
|
90
|
+
if ((_a = changes === null || changes === void 0 ? void 0 : changes.metadata) === null || _a === void 0 ? void 0 : _a.currentValue) {
|
|
91
|
+
const metadata = changes.metadata.currentValue;
|
|
92
|
+
this._dataKeySubject.next(metadata.key);
|
|
93
|
+
this.dataStore.changeEditorType(metadata.type);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
_handleOptionsAndThemeChanges(changes) {
|
|
97
|
+
var _a, _b, _c;
|
|
98
|
+
const themeValue = (_a = changes.theme) === null || _a === void 0 ? void 0 : _a.currentValue;
|
|
99
|
+
const optionsValue = (_b = changes.options) === null || _b === void 0 ? void 0 : _b.currentValue;
|
|
100
|
+
const isThemeFirstChange = (_c = changes === null || changes === void 0 ? void 0 : changes.theme) === null || _c === void 0 ? void 0 : _c.firstChange;
|
|
101
|
+
let mergedOptions = _.merge(this._defaultEditorOptions, optionsValue || {}, { language: 'json' });
|
|
102
|
+
if (themeValue && isThemeFirstChange) {
|
|
103
|
+
mergedOptions.theme = themeValue;
|
|
104
|
+
}
|
|
105
|
+
if (optionsValue || (themeValue && isThemeFirstChange)) {
|
|
106
|
+
this._optionsSubject.next(_.cloneDeep(mergedOptions));
|
|
107
|
+
}
|
|
108
|
+
if (themeValue && !isThemeFirstChange) {
|
|
109
|
+
this._themeSubject.next(themeValue);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
NdfConfigEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorComponent, deps: [{ token: 'environment' }, { token: i1.DataStoreService }, { token: i2.AppConfigService }, { token: i3.MatDialog }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
114
|
+
NdfConfigEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfConfigEditorComponent, selector: "app-ndf-config-editor", inputs: { metadata: "metadata", theme: "theme", options: "options" }, providers: [DataStoreService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"config?.enabled && isFeatureEnabled; else emptyTpl\">\r\n\t<div class=\"ndf-config-editor\" ndfFluidHeight *permission=\"{ name: config?.types[metadata?.type]?.permission }\">\r\n\t\t<div class=\"ndf-config-editor__sidebar\">\r\n\t\t\t<app-editor-settings class=\"ndf-config-editor__setting\"></app-editor-settings>\r\n\t\t\t<app-config-editor-actions\r\n\t\t\t\tappItemHeight\r\n\t\t\t\tcssVar=\"--ndf-editor-actions-height\"\r\n\t\t\t\t[saveDisabled]=\"isEditorHasErrors || !(dataStore.editorData | isValidJson)\"\r\n\t\t\t\t[config]=\"config?.types[metadata?.type]\"\r\n\t\t\t\t(onInfo)=\"openInfoDialog($event)\"\r\n\t\t\t\t(onBack)=\"navigateBack()\"\r\n\t\t\t\t(onSave)=\"saveData()\"\r\n\t\t\t>\r\n\t\t\t</app-config-editor-actions>\r\n\t\t</div>\r\n\t\t<div class=\"ndf-config-editor__content\">\r\n\t\t\t<div class=\"ndf-config-editor__topbar\">\r\n\t\t\t\t<app-editor-mode-switch\r\n\t\t\t\t\t[mode]=\"dataStore.editorMode\"\r\n\t\t\t\t\t(changeMode)=\"dataStore.changeMode($event)\"\r\n\t\t\t\t></app-editor-mode-switch>\r\n\t\t\t</div>\r\n\t\t\t<app-config-preview\r\n\t\t\t\t*ngIf=\"dataStore.editorMode === modes.PREVIEW\"\r\n [type]=\"dataStore.editorType$ | async\"\r\n\t\t\t\t[data]=\"previewData$ | async\"\r\n\t\t\t></app-config-preview>\r\n\t\t\t<ndf-monaco-editor\r\n\t\t\t\t*ngIf=\"dataStore.editorMode === modes.EDIT\"\r\n\t\t\t\t[value]=\"editorData$ | async\"\r\n\t\t\t\t[options]=\"options$ | async\"\r\n\t\t\t\t[theme]=\"theme$ | async\"\r\n\t\t\t\t(valueChange)=\"onDataChanged($event)\"\r\n\t\t\t\t(hasError)=\"onEditorErrors($event)\"\r\n\t\t\t\t(onInit)=\"onEditorReady($event)\"\r\n\t\t\t></ndf-monaco-editor>\r\n\t\t</div>\r\n\t</div>\r\n</ng-container>\r\n\r\n<ng-template #emptyTpl>\r\n\t<div class=\"ndf-empty-config\">\r\n\t\t<app-no-data-found message=\"JSON_EDITOR.MESSAGES.notAllowed\"></app-no-data-found>\r\n\t</div>\r\n</ng-template>\r\n", styles: [":host{display:var(--ndf-config-wrapper-display, flex);flex-direction:var(--ndf-config-wrapper-direction, column);grid-gap:var(--ndf-config-wrapper-gap, .5rem);gap:var(--ndf-config-wrapper-gap, .5rem);flex-grow:1;height:var(--ndf-config-wrapper-height, 100%)}.ndf-empty-config{justify-content:center;align-items:center}.ndf-empty-config,.ndf-config-editor{padding:var(--ndf-editor-padding, 1rem);background-color:var(--ndf-editor-background-color, #fff);color:var(--ndf-editor-color);border-radius:var(--ndf-editor-border-radius, .5rem);display:flex;flex-grow:1;max-height:var(--ndf-fluid-height, 100%)}.ndf-config-editor{grid-gap:var(--ndf-editor--gap, 1rem);gap:var(--ndf-editor--gap, 1rem)}.ndf-config-editor__sidebar{width:var(--ndf-editor-sidebar-width, 18rem);background:var(--ndf-editor-sidebar-background);border:var(--ndf-editor-sidebars-border, 0px solid transparent);border-radius:var(--ndf-editor-sidebar-radius, 0rem);display:grid;grid-template-rows:var(--ndf-editor-sidebar-rows, 1fr auto)}.ndf-config-editor__content{flex-grow:1;background:var(--ndf-editor-content-background);border:var(--ndf-editor-content-border, 0px solid transparent);border-radius:var(--ndf-editor-content-radius, 0rem);display:flex;flex-direction:column;grid-gap:var(--ndf-editor-content-gap, 1rem);gap:var(--ndf-editor-content-gap, 1rem)}.ndf-config-editor__topbar{display:var(--ndf-editor-topbar-display, flex);justify-content:var(--ndf-editor-topbar-justify-content, flex-end)}.ndf-config-editor__setting{max-height:var(--ndf-editor-content-max-height, calc(var(--ndf-fluid-height) - var(--ndf-editor-actions-height, 125px) - 2.5rem));overflow:auto}\n"], components: [{ type: i5.EditorSettingsComponent, selector: "app-editor-settings" }, { type: i6.ConfigEditorActionsComponent, selector: "app-config-editor-actions", inputs: ["saveDisabled", "config"], outputs: ["onSave", "onInfo", "onBack"] }, { type: i7.EditorModeSwitchComponent, selector: "app-editor-mode-switch", inputs: ["mode"], outputs: ["changeMode"] }, { type: i8.ConfigPreviewComponent, selector: "app-config-preview", inputs: ["type", "data"] }, { type: i9.MonacoEditorComponent, selector: "ndf-monaco-editor", inputs: ["value", "options", "theme", "model"], outputs: ["onInit", "hasError", "valueChange"] }, { type: i10.NoDataFoundComponent, selector: "app-no-data-found", inputs: ["message", "width", "height"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i12.FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i13.ElementHeightDirective, selector: "[appItemHeight]", inputs: ["cssVar", "calculate", "inlineStyle"], exportAs: ["appItemHeight"] }], pipes: { "isValidJson": i14.IsValidJsonPipe, "async": i4.AsyncPipe } });
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorComponent, decorators: [{
|
|
116
|
+
type: Component,
|
|
117
|
+
args: [{
|
|
118
|
+
selector: 'app-ndf-config-editor',
|
|
119
|
+
templateUrl: './ndf-config-editor.component.html',
|
|
120
|
+
styleUrls: ['./ndf-config-editor.component.scss'],
|
|
121
|
+
providers: [DataStoreService]
|
|
122
|
+
}]
|
|
123
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
124
|
+
type: Inject,
|
|
125
|
+
args: ['environment']
|
|
126
|
+
}] }, { type: i1.DataStoreService }, { type: i2.AppConfigService }, { type: i3.MatDialog }, { type: i4.Location }]; }, propDecorators: { metadata: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], theme: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], options: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}] } });
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLWNvbmZpZy1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtY29uZmlnLWVkaXRvci9jb250YWluZXJzL25kZi1jb25maWctZWRpdG9yL25kZi1jb25maWctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWNvbmZpZy1lZGl0b3IvY29udGFpbmVycy9uZGYtY29uZmlnLWVkaXRvci9uZGYtY29uZmlnLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBVXJELE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUd2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RCxPQUFPLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVNwRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsY0FBYztJQStCM0QsWUFDeUMsV0FBZ0MsRUFDeEQsU0FBMkIsRUFDMUIsYUFBK0IsRUFDL0IsU0FBb0IsRUFDcEIsUUFBa0I7O1FBRW5DLEtBQUssRUFBRSxDQUFDO1FBTmdDLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtRQUN4RCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBbkNwQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFVCwwQkFBcUIsR0FBa0I7WUFDdkQsS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUUsSUFBSTtZQUNYLGVBQWUsRUFBRSxJQUFJO1NBQ3JCLENBQUM7UUFFZSxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6RixhQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV2QyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFlLENBQUM7UUFDekQsV0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsb0JBQWUsR0FBRyxJQUFJLGFBQWEsRUFBVSxDQUFDO1FBVS9ELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUNoQyxVQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFFcEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBVXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsMENBQUUsWUFBWSxDQUFDO1FBQy9ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQztJQUM1RCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsZUFBZTthQUNsQixJQUFJLENBQ0osU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNuRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN4QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFZO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBa0I7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQVk7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBa0I7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjLENBQUMsYUFBcUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXNDLG1CQUFtQixFQUFFO1lBQzdFLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLGtCQUFrQjtnQkFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDeEIsR0FBRyxFQUFFLGFBQWE7YUFDbEI7U0FDRCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBc0I7O1FBQ3BELElBQUksTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsUUFBUSwwQ0FBRSxZQUFZLEVBQUU7WUFDcEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9DO0lBQ0YsQ0FBQztJQUVPLDZCQUE2QixDQUFDLE9BQXNCOztRQUMzRCxNQUFNLFVBQVUsR0FBRyxNQUFBLE9BQU8sQ0FBQyxLQUFLLDBDQUFFLFlBQVksQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxNQUFBLE9BQU8sQ0FBQyxPQUFPLDBDQUFFLFlBQVksQ0FBQztRQUNuRCxNQUFNLGtCQUFrQixHQUFHLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssMENBQUUsV0FBVyxDQUFDO1FBRXZELElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFlBQVksSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVsRyxJQUFJLFVBQVUsSUFBSSxrQkFBa0IsRUFBRTtZQUNyQyxhQUFhLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQztTQUNqQztRQUVELElBQUksWUFBWSxJQUFJLENBQUMsVUFBVSxJQUFJLGtCQUFrQixDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsSUFBSSxVQUFVLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNwQztJQUNGLENBQUM7O3NIQXBIVyx3QkFBd0Isa0JBZ0MzQixhQUFhOzBHQWhDVix3QkFBd0Isc0hBRnpCLENBQUMsZ0JBQWdCLENBQUMsc0VDMUI5Qix1M0RBNkNBOzRGRGpCYSx3QkFBd0I7a0JBTnBDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLG9DQUFvQztvQkFDakQsU0FBUyxFQUFFLENBQUMsb0NBQW9DLENBQUM7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM3Qjs7MEJBaUNFLE1BQU07MkJBQUMsYUFBYTt5SkFmYixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENPTkZJR19FRElUT1JfTU9ERSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7XHJcblx0RWRpdG9yT3B0aW9ucyxcclxuXHRFZGl0b3JUeXBlLFxyXG5cdEluZm9EaWFsb2dEYXRhLFxyXG5cdE5kZkNvbmZpZ01vZGVsLFxyXG5cdE5kZkNvbmZpZ01ldGFkYXRhLFxyXG5cdE1vbmFjb0VkaXRvcixcclxuXHRFZGl0b3JUaGVtZVxyXG59IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBJbmZvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGVzdHJveVN1YmplY3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQnO1xyXG5pbXBvcnQgKiBhcyBtb25hY28gZnJvbSAnbW9uYWNvLWVkaXRvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1uZGYtY29uZmlnLWVkaXRvcicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL25kZi1jb25maWctZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9uZGYtY29uZmlnLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxyXG5cdHByb3ZpZGVyczogW0RhdGFTdG9yZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZGZDb25maWdFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBEZXN0cm95U3ViamVjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHRpc0VkaXRvckhhc0Vycm9ycyA9IGZhbHNlO1xyXG5cclxuXHRwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0RWRpdG9yT3B0aW9uczogRWRpdG9yT3B0aW9ucyA9IHtcclxuXHRcdHZhbHVlOiBgYCxcclxuXHRcdGxhbmd1YWdlOiAnanNvbicsXHJcblx0XHR0aGVtZTogJ3ZzJywgLy8ndnMnIChkZWZhdWx0KSwgJ3ZzLWRhcmsnLCAnaGMtYmxhY2snLCAnaGMtbGlnaHQuXHJcblx0XHRhdXRvbWF0aWNMYXlvdXQ6IHRydWVcclxuXHR9O1xyXG5cclxuXHRwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWRpdG9yT3B0aW9ucz4odGhpcy5fZGVmYXVsdEVkaXRvck9wdGlvbnMpO1xyXG5cdHJlYWRvbmx5IG9wdGlvbnMkID0gdGhpcy5fb3B0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX3RoZW1lU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PEVkaXRvclRoZW1lPigpO1xyXG5cdHJlYWRvbmx5IHRoZW1lJCA9IHRoaXMuX3RoZW1lU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHRwcml2YXRlIHJlYWRvbmx5IF9kYXRhS2V5U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcblx0QElucHV0KCkgbWV0YWRhdGE6IE5kZkNvbmZpZ01ldGFkYXRhO1xyXG5cdEBJbnB1dCgpIHRoZW1lOiBFZGl0b3JUaGVtZTtcclxuXHRASW5wdXQoKSBvcHRpb25zOiBFZGl0b3JPcHRpb25zO1xyXG5cclxuXHRwcml2YXRlIF9tb25hY286IHR5cGVvZiBtb25hY287XHJcblxyXG5cdGNvbmZpZzogTmRmQ29uZmlnTW9kZWw7XHJcblxyXG5cdHByZXZpZXdEYXRhJCA9IHRoaXMuZGF0YVN0b3JlLnByZXZpZXdEYXRhJDtcclxuXHRlZGl0b3JEYXRhJCA9IHRoaXMuZGF0YVN0b3JlLmVkaXRvckRhdGEkO1xyXG5cdHJlYWRvbmx5IG1vZGVzID0gQ09ORklHX0VESVRPUl9NT0RFO1xyXG5cclxuXHRpc0ZlYXR1cmVFbmFibGVkID0gZmFsc2U7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIHJlYWRvbmx5IGVudmlyb25tZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG5cdFx0cHVibGljIHJlYWRvbmx5IGRhdGFTdG9yZTogRGF0YVN0b3JlU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2csXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvblxyXG5cdCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdHRoaXMuY29uZmlnID0gdGhpcy5jb25maWdTZXJ2aWNlLm15Q29uZmlndXJhdGlvbj8uY29uZmlnRWRpdG9yO1xyXG5cdFx0dGhpcy5pc0ZlYXR1cmVFbmFibGVkID0gZW52aXJvbm1lbnQuY29uZmlnRWRpdG9yID09PSAnWUVTJztcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2hhbmRsZU1ldGFkYXRhQ2hhbmdlcyhjaGFuZ2VzKTtcclxuXHRcdHRoaXMuX2hhbmRsZU9wdGlvbnNBbmRUaGVtZUNoYW5nZXMoY2hhbmdlcyk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2RhdGFLZXlTdWJqZWN0XHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHN3aXRjaE1hcCgoa2V5KSA9PiB0aGlzLmRhdGFTdG9yZS5nZXREYXRhKGtleSwgdGhpcy5tZXRhZGF0YS50eXBlKSksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7fSk7XHJcblx0fVxyXG5cclxuXHRvbkRhdGFDaGFuZ2VkKGRhdGE6IHN0cmluZykge1xyXG5cdFx0dGhpcy5kYXRhU3RvcmUuc3RvcmVEYXRhKGRhdGEpO1xyXG5cdH1cclxuXHJcblx0b25FZGl0b3JFcnJvcnMoaGFzRXJyb3JzOiBib29sZWFuKTogdm9pZCB7XHJcblx0XHR0aGlzLmlzRWRpdG9ySGFzRXJyb3JzID0gaGFzRXJyb3JzO1xyXG5cdH1cclxuXHJcblx0c2F2ZURhdGEoKSB7XHJcblx0XHR0aGlzLmRhdGFTdG9yZS5zYXZlRGF0YSh0aGlzLm1ldGFkYXRhLmtleSk7XHJcblx0fVxyXG5cclxuXHRuYXZpZ2F0ZUJhY2soKSB7XHJcblx0XHR0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuXHR9XHJcblxyXG5cdG9uRWRpdG9yUmVhZHkoZGF0YTogTW9uYWNvRWRpdG9yKSB7XHJcblx0XHR0aGlzLl9tb25hY28gPSBkYXRhLm1vbmFjbztcclxuXHR9XHJcblxyXG5cdG9wZW5JbmZvRGlhbG9nKGRvY3VtZW50YXRpb246IHN0cmluZyk6IHZvaWQge1xyXG5cdFx0dGhpcy5tYXREaWFsb2cub3BlbjxJbmZvRGlhbG9nQ29tcG9uZW50LCBJbmZvRGlhbG9nRGF0YT4oSW5mb0RpYWxvZ0NvbXBvbmVudCwge1xyXG5cdFx0XHRwYW5lbENsYXNzOiAnbmRmLWRpYWxvZycsXHJcblx0XHRcdHdpZHRoOiAnbWluKDEyMDBweCw5MCUpJyxcclxuXHRcdFx0aGVpZ2h0OiAnOTB2aCcsXHJcblx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHR0aXRsZTogJ0pTT05fRURJVE9SLmluZm8nLFxyXG5cdFx0XHRcdHR5cGU6IHRoaXMubWV0YWRhdGEudHlwZSxcclxuXHRcdFx0XHR1cmw6IGRvY3VtZW50YXRpb25cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9oYW5kbGVNZXRhZGF0YUNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0aWYgKGNoYW5nZXM/Lm1ldGFkYXRhPy5jdXJyZW50VmFsdWUpIHtcclxuXHRcdFx0Y29uc3QgbWV0YWRhdGEgPSBjaGFuZ2VzLm1ldGFkYXRhLmN1cnJlbnRWYWx1ZTtcclxuXHRcdFx0dGhpcy5fZGF0YUtleVN1YmplY3QubmV4dChtZXRhZGF0YS5rZXkpO1xyXG5cdFx0XHR0aGlzLmRhdGFTdG9yZS5jaGFuZ2VFZGl0b3JUeXBlKG1ldGFkYXRhLnR5cGUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfaGFuZGxlT3B0aW9uc0FuZFRoZW1lQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRjb25zdCB0aGVtZVZhbHVlID0gY2hhbmdlcy50aGVtZT8uY3VycmVudFZhbHVlO1xyXG5cdFx0Y29uc3Qgb3B0aW9uc1ZhbHVlID0gY2hhbmdlcy5vcHRpb25zPy5jdXJyZW50VmFsdWU7XHJcblx0XHRjb25zdCBpc1RoZW1lRmlyc3RDaGFuZ2UgPSBjaGFuZ2VzPy50aGVtZT8uZmlyc3RDaGFuZ2U7XHJcblxyXG5cdFx0bGV0IG1lcmdlZE9wdGlvbnMgPSBfLm1lcmdlKHRoaXMuX2RlZmF1bHRFZGl0b3JPcHRpb25zLCBvcHRpb25zVmFsdWUgfHwge30sIHsgbGFuZ3VhZ2U6ICdqc29uJyB9KTtcclxuXHJcblx0XHRpZiAodGhlbWVWYWx1ZSAmJiBpc1RoZW1lRmlyc3RDaGFuZ2UpIHtcclxuXHRcdFx0bWVyZ2VkT3B0aW9ucy50aGVtZSA9IHRoZW1lVmFsdWU7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKG9wdGlvbnNWYWx1ZSB8fCAodGhlbWVWYWx1ZSAmJiBpc1RoZW1lRmlyc3RDaGFuZ2UpKSB7XHJcblx0XHRcdHRoaXMuX29wdGlvbnNTdWJqZWN0Lm5leHQoXy5jbG9uZURlZXAobWVyZ2VkT3B0aW9ucykpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGVtZVZhbHVlICYmICFpc1RoZW1lRmlyc3RDaGFuZ2UpIHtcclxuXHRcdFx0dGhpcy5fdGhlbWVTdWJqZWN0Lm5leHQodGhlbWVWYWx1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LmVuYWJsZWQgJiYgaXNGZWF0dXJlRW5hYmxlZDsgZWxzZSBlbXB0eVRwbFwiPlxyXG5cdDxkaXYgY2xhc3M9XCJuZGYtY29uZmlnLWVkaXRvclwiIG5kZkZsdWlkSGVpZ2h0ICpwZXJtaXNzaW9uPVwieyBuYW1lOiBjb25maWc/LnR5cGVzW21ldGFkYXRhPy50eXBlXT8ucGVybWlzc2lvbiB9XCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwibmRmLWNvbmZpZy1lZGl0b3JfX3NpZGViYXJcIj5cclxuXHRcdFx0PGFwcC1lZGl0b3Itc2V0dGluZ3MgY2xhc3M9XCJuZGYtY29uZmlnLWVkaXRvcl9fc2V0dGluZ1wiPjwvYXBwLWVkaXRvci1zZXR0aW5ncz5cclxuXHRcdFx0PGFwcC1jb25maWctZWRpdG9yLWFjdGlvbnNcclxuXHRcdFx0XHRhcHBJdGVtSGVpZ2h0XHJcblx0XHRcdFx0Y3NzVmFyPVwiLS1uZGYtZWRpdG9yLWFjdGlvbnMtaGVpZ2h0XCJcclxuXHRcdFx0XHRbc2F2ZURpc2FibGVkXT1cImlzRWRpdG9ySGFzRXJyb3JzIHx8ICEoZGF0YVN0b3JlLmVkaXRvckRhdGEgfCBpc1ZhbGlkSnNvbilcIlxyXG5cdFx0XHRcdFtjb25maWddPVwiY29uZmlnPy50eXBlc1ttZXRhZGF0YT8udHlwZV1cIlxyXG5cdFx0XHRcdChvbkluZm8pPVwib3BlbkluZm9EaWFsb2coJGV2ZW50KVwiXHJcblx0XHRcdFx0KG9uQmFjayk9XCJuYXZpZ2F0ZUJhY2soKVwiXHJcblx0XHRcdFx0KG9uU2F2ZSk9XCJzYXZlRGF0YSgpXCJcclxuXHRcdFx0PlxyXG5cdFx0XHQ8L2FwcC1jb25maWctZWRpdG9yLWFjdGlvbnM+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxkaXYgY2xhc3M9XCJuZGYtY29uZmlnLWVkaXRvcl9fY29udGVudFwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwibmRmLWNvbmZpZy1lZGl0b3JfX3RvcGJhclwiPlxyXG5cdFx0XHRcdDxhcHAtZWRpdG9yLW1vZGUtc3dpdGNoXHJcblx0XHRcdFx0XHRbbW9kZV09XCJkYXRhU3RvcmUuZWRpdG9yTW9kZVwiXHJcblx0XHRcdFx0XHQoY2hhbmdlTW9kZSk9XCJkYXRhU3RvcmUuY2hhbmdlTW9kZSgkZXZlbnQpXCJcclxuXHRcdFx0XHQ+PC9hcHAtZWRpdG9yLW1vZGUtc3dpdGNoPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGFwcC1jb25maWctcHJldmlld1xyXG5cdFx0XHRcdCpuZ0lmPVwiZGF0YVN0b3JlLmVkaXRvck1vZGUgPT09IG1vZGVzLlBSRVZJRVdcIlxyXG4gICAgICAgIFt0eXBlXT1cImRhdGFTdG9yZS5lZGl0b3JUeXBlJCB8IGFzeW5jXCJcclxuXHRcdFx0XHRbZGF0YV09XCJwcmV2aWV3RGF0YSQgfCBhc3luY1wiXHJcblx0XHRcdD48L2FwcC1jb25maWctcHJldmlldz5cclxuXHRcdFx0PG5kZi1tb25hY28tZWRpdG9yXHJcblx0XHRcdFx0Km5nSWY9XCJkYXRhU3RvcmUuZWRpdG9yTW9kZSA9PT0gbW9kZXMuRURJVFwiXHJcblx0XHRcdFx0W3ZhbHVlXT1cImVkaXRvckRhdGEkIHwgYXN5bmNcIlxyXG5cdFx0XHRcdFtvcHRpb25zXT1cIm9wdGlvbnMkIHwgYXN5bmNcIlxyXG5cdFx0XHRcdFt0aGVtZV09XCJ0aGVtZSQgfCBhc3luY1wiXHJcblx0XHRcdFx0KHZhbHVlQ2hhbmdlKT1cIm9uRGF0YUNoYW5nZWQoJGV2ZW50KVwiXHJcblx0XHRcdFx0KGhhc0Vycm9yKT1cIm9uRWRpdG9yRXJyb3JzKCRldmVudClcIlxyXG5cdFx0XHRcdChvbkluaXQpPVwib25FZGl0b3JSZWFkeSgkZXZlbnQpXCJcclxuXHRcdFx0PjwvbmRmLW1vbmFjby1lZGl0b3I+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtcHR5VHBsPlxyXG5cdDxkaXYgY2xhc3M9XCJuZGYtZW1wdHktY29uZmlnXCI+XHJcblx0XHQ8YXBwLW5vLWRhdGEtZm91bmQgbWVzc2FnZT1cIkpTT05fRURJVE9SLk1FU1NBR0VTLm5vdEFsbG93ZWRcIj48L2FwcC1uby1kYXRhLWZvdW5kPlxyXG5cdDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1jb25maWctZWRpdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtY29uZmlnLWVkaXRvci9tb2RlbHMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZGZSZXF1ZXN0TW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBFZGl0b3JUeXBlIH0gZnJvbSBcIi4vdHlwZS1oZWxwZXJcIjtcclxuXHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTmRmQ29uZmlnVHlwZU1vZGVsID0ge1xyXG5cdGVuYWJsZWQ6IGJvb2xlYW47XHJcblx0cGVybWlzc2lvbj86IHN0cmluZztcclxuXHRuYXZpZ2F0ZVVybDogc3RyaW5nO1xyXG5cdGRvY3VtZW50YXRpb24/OiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5kZkNvbmZpZ01vZGVsIHtcclxuXHRlbmFibGVkOiBib29sZWFuO1xyXG5cdHR5cGVzOiBSZWNvcmQ8RWRpdG9yVHlwZSwgTmRmQ29uZmlnVHlwZU1vZGVsPjtcclxuXHRhcGk6IHtcclxuXHRcdGJhc2VVcmw6IHN0cmluZztcclxuXHRcdGVuZHBvaW50czoge1xyXG5cdFx0XHRnZXQ6IE5kZlJlcXVlc3RNb2RlbDtcclxuXHRcdFx0Y3JlYXRlOiBOZGZSZXF1ZXN0TW9kZWw7XHJcblx0XHRcdHVwZGF0ZTogTmRmUmVxdWVzdE1vZGVsO1xyXG5cdFx0fTtcclxuXHR9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBOZGZDb25maWdNZXRhZGF0YSA9IHtcclxuXHRrZXk6IHN0cmluZztcclxuXHR0eXBlOiBFZGl0b3JUeXBlO1xyXG59O1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1jb25maWctZWRpdG9yL21vZGVscy9kaWFsb2ctZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yVHlwZSB9IGZyb20gJy4vdHlwZS1oZWxwZXInO1xyXG5cclxuZXhwb3J0IHR5cGUgSW5mb0RpYWxvZ0RhdGEgPSB7XHJcblx0dGl0bGU6IHN0cmluZztcclxuXHR0eXBlOiBFZGl0b3JUeXBlO1xyXG5cdHVybDogc3RyaW5nO1xyXG59O1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtY29uZmlnLWVkaXRvci9tb2RlbHMvZWRpdG9yLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb25hY28gZnJvbSAnbW9uYWNvLWVkaXRvcic7XHJcblxyXG5leHBvcnQgdHlwZSBFZGl0b3JNb2RlbCA9IHtcclxuXHR2YWx1ZTogc3RyaW5nO1xyXG5cdGxhbmd1YWdlPzogc3RyaW5nO1xyXG5cdHVyaT86IGFueTtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yT3B0aW9ucyBleHRlbmRzIE9taXQ8bW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUVkaXRvckNvbnN0cnVjdGlvbk9wdGlvbnMsICdtb2RlbCc+IHtcclxuXHRtb2RlbD86IG1vbmFjby5lZGl0b3IuSVRleHRNb2RlbCB8IEVkaXRvck1vZGVsO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFZGl0b3JNb2RlbFR5cGUgPSBFZGl0b3JNb2RlbCB8IG1vbmFjby5lZGl0b3IuSVRleHRNb2RlbDtcclxuXHJcbmV4cG9ydCB0eXBlIE1vbmFjb0VkaXRvciA9IHtcclxuXHRtb25hY286IHR5cGVvZiBtb25hY287XHJcblx0ZWRpdG9yOiBtb25hY28uZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEVkaXRvclRoZW1lID0gJ3ZzJyB8ICd2cy1kYXJrJyB8ICdoYy1ibGFjaycgfCAnaGMtbGlnaHQnO1xyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './type-helper';
|
|
2
|
+
export * from './editor-model';
|
|
3
|
+
export * from './config';
|
|
4
|
+
export * from './dialog-data';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1jb25maWctZWRpdG9yL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90eXBlLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yLW1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy1kYXRhJztcclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1jb25maWctZWRpdG9yL21vZGVscy90eXBlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09ORklHX0VESVRPUl9NT0RFLCBOREZfRURJVE9SX1RZUEUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgRWRpdG9yTW9kZSA9ICh0eXBlb2YgQ09ORklHX0VESVRPUl9NT0RFKVtrZXlvZiB0eXBlb2YgQ09ORklHX0VESVRPUl9NT0RFXTtcclxuZXhwb3J0IHR5cGUgRWRpdG9yVHlwZSA9ICh0eXBlb2YgTkRGX0VESVRPUl9UWVBFKVtrZXlvZiB0eXBlb2YgTkRGX0VESVRPUl9UWVBFXTtcclxuIl19
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ConfigPreviewComponent, EditorSettingsComponent, MonacoEditorComponent, NdfConfigEditorComponent } from './containers';
|
|
4
|
+
import { EditorModeSwitchComponent, InfoDialogComponent, ConfigEditorActionsComponent } from './components';
|
|
5
|
+
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
6
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
8
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
10
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
11
|
+
import { MONACO_EDITOR_CONFIG } from './config.token';
|
|
12
|
+
import { CopyToClipboardModule, ElementHeightModule, FluidHeightModule, NuxeoDialogModule } from '../../shared';
|
|
13
|
+
import { NoDataModule } from '../no-data-found';
|
|
14
|
+
import { MarkdownModule } from 'ngx-markdown';
|
|
15
|
+
import { DynamicFormModule } from '../dynamic-form/dynamic-form.module';
|
|
16
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
17
|
+
import { NdfTableModule } from '../tables';
|
|
18
|
+
import { NdfReportsModule } from '../reports';
|
|
19
|
+
import { CdkAccordionModule } from '@angular/cdk/accordion';
|
|
20
|
+
import { IsValidJsonPipe, ValidateObjectPipe } from './pipes';
|
|
21
|
+
import { DirectiveModule } from '../../directive/directive.module';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
export class NdfConfigEditorModule {
|
|
24
|
+
static forRoot(config = {}) {
|
|
25
|
+
return {
|
|
26
|
+
ngModule: NdfConfigEditorModule,
|
|
27
|
+
providers: [{ provide: MONACO_EDITOR_CONFIG, useValue: config }]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
NdfConfigEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
32
|
+
NdfConfigEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorModule, declarations: [EditorModeSwitchComponent,
|
|
33
|
+
NdfConfigEditorComponent,
|
|
34
|
+
MonacoEditorComponent,
|
|
35
|
+
EditorSettingsComponent,
|
|
36
|
+
ConfigPreviewComponent,
|
|
37
|
+
ConfigEditorActionsComponent,
|
|
38
|
+
InfoDialogComponent,
|
|
39
|
+
ValidateObjectPipe,
|
|
40
|
+
IsValidJsonPipe], imports: [CommonModule,
|
|
41
|
+
MatButtonToggleModule,
|
|
42
|
+
MatFormFieldModule,
|
|
43
|
+
MatButtonModule,
|
|
44
|
+
MatIconModule,
|
|
45
|
+
MatTooltipModule,
|
|
46
|
+
TranslateModule,
|
|
47
|
+
FluidHeightModule,
|
|
48
|
+
ElementHeightModule,
|
|
49
|
+
NoDataModule,
|
|
50
|
+
MarkdownModule,
|
|
51
|
+
DynamicFormModule,
|
|
52
|
+
NuxeoDialogModule,
|
|
53
|
+
MatDialogModule,
|
|
54
|
+
NdfTableModule,
|
|
55
|
+
NdfReportsModule,
|
|
56
|
+
CdkAccordionModule,
|
|
57
|
+
DirectiveModule,
|
|
58
|
+
CopyToClipboardModule], exports: [NdfConfigEditorComponent] });
|
|
59
|
+
NdfConfigEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorModule, imports: [[
|
|
60
|
+
CommonModule,
|
|
61
|
+
MatButtonToggleModule,
|
|
62
|
+
MatFormFieldModule,
|
|
63
|
+
MatButtonModule,
|
|
64
|
+
MatIconModule,
|
|
65
|
+
MatTooltipModule,
|
|
66
|
+
TranslateModule,
|
|
67
|
+
FluidHeightModule,
|
|
68
|
+
ElementHeightModule,
|
|
69
|
+
NoDataModule,
|
|
70
|
+
MarkdownModule,
|
|
71
|
+
DynamicFormModule,
|
|
72
|
+
NuxeoDialogModule,
|
|
73
|
+
MatDialogModule,
|
|
74
|
+
NdfTableModule,
|
|
75
|
+
NdfReportsModule,
|
|
76
|
+
CdkAccordionModule,
|
|
77
|
+
DirectiveModule,
|
|
78
|
+
CopyToClipboardModule
|
|
79
|
+
]] });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorModule, decorators: [{
|
|
81
|
+
type: NgModule,
|
|
82
|
+
args: [{
|
|
83
|
+
declarations: [
|
|
84
|
+
EditorModeSwitchComponent,
|
|
85
|
+
NdfConfigEditorComponent,
|
|
86
|
+
MonacoEditorComponent,
|
|
87
|
+
EditorSettingsComponent,
|
|
88
|
+
ConfigPreviewComponent,
|
|
89
|
+
ConfigEditorActionsComponent,
|
|
90
|
+
InfoDialogComponent,
|
|
91
|
+
ValidateObjectPipe,
|
|
92
|
+
IsValidJsonPipe
|
|
93
|
+
],
|
|
94
|
+
imports: [
|
|
95
|
+
CommonModule,
|
|
96
|
+
MatButtonToggleModule,
|
|
97
|
+
MatFormFieldModule,
|
|
98
|
+
MatButtonModule,
|
|
99
|
+
MatIconModule,
|
|
100
|
+
MatTooltipModule,
|
|
101
|
+
TranslateModule,
|
|
102
|
+
FluidHeightModule,
|
|
103
|
+
ElementHeightModule,
|
|
104
|
+
NoDataModule,
|
|
105
|
+
MarkdownModule,
|
|
106
|
+
DynamicFormModule,
|
|
107
|
+
NuxeoDialogModule,
|
|
108
|
+
MatDialogModule,
|
|
109
|
+
NdfTableModule,
|
|
110
|
+
NdfReportsModule,
|
|
111
|
+
CdkAccordionModule,
|
|
112
|
+
DirectiveModule,
|
|
113
|
+
CopyToClipboardModule
|
|
114
|
+
],
|
|
115
|
+
exports: [NdfConfigEditorComponent]
|
|
116
|
+
}]
|
|
117
|
+
}] });
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLWNvbmZpZy1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtY29uZmlnLWVkaXRvci9uZGYtY29uZmlnLWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNOLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsbUJBQW1CLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBcUNuRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBNkIsRUFBRTtRQUM3QyxPQUFPO1lBQ04sUUFBUSxFQUFFLHFCQUFxQjtZQUMvQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDaEUsQ0FBQztJQUNILENBQUM7O21IQU5XLHFCQUFxQjtvSEFBckIscUJBQXFCLGlCQWpDaEMseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0Qiw0QkFBNEI7UUFDNUIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixlQUFlLGFBR2YsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YscUJBQXFCLGFBRVosd0JBQXdCO29IQUV0QixxQkFBcUIsWUF2QnhCO1lBQ1IsWUFBWTtZQUNaLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YscUJBQXFCO1NBQ3JCOzRGQUdXLHFCQUFxQjtrQkFuQ2pDLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFO3dCQUNiLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixlQUFlO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUixZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixxQkFBcUI7cUJBQ3JCO29CQUNELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcblx0Q29uZmlnUHJldmlld0NvbXBvbmVudCxcclxuXHRFZGl0b3JTZXR0aW5nc0NvbXBvbmVudCxcclxuXHRNb25hY29FZGl0b3JDb21wb25lbnQsXHJcblx0TmRmQ29uZmlnRWRpdG9yQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9jb250YWluZXJzJztcclxuaW1wb3J0IHsgRWRpdG9yTW9kZVN3aXRjaENvbXBvbmVudCwgSW5mb0RpYWxvZ0NvbXBvbmVudCwgQ29uZmlnRWRpdG9yQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBNT05BQ09fRURJVE9SX0NPTkZJRywgTW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9jb25maWcudG9rZW4nO1xyXG5pbXBvcnQgeyBDb3B5VG9DbGlwYm9hcmRNb2R1bGUsIEVsZW1lbnRIZWlnaHRNb2R1bGUsIEZsdWlkSGVpZ2h0TW9kdWxlLCBOdXhlb0RpYWxvZ01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uL25vLWRhdGEtZm91bmQnO1xyXG5pbXBvcnQgeyBNYXJrZG93bk1vZHVsZSB9IGZyb20gJ25neC1tYXJrZG93bic7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtTW9kdWxlIH0gZnJvbSAnLi4vZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBOZGZUYWJsZU1vZHVsZSB9IGZyb20gJy4uL3RhYmxlcyc7XHJcbmltcG9ydCB7IE5kZlJlcG9ydHNNb2R1bGUgfSBmcm9tICcuLi9yZXBvcnRzJztcclxuaW1wb3J0IHsgQ2RrQWNjb3JkaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2FjY29yZGlvbic7XHJcbmltcG9ydCB7IElzVmFsaWRKc29uUGlwZSwgVmFsaWRhdGVPYmplY3RQaXBlIH0gZnJvbSAnLi9waXBlcyc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9kaXJlY3RpdmUubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0ZGVjbGFyYXRpb25zOiBbXHJcblx0XHRFZGl0b3JNb2RlU3dpdGNoQ29tcG9uZW50LFxyXG5cdFx0TmRmQ29uZmlnRWRpdG9yQ29tcG9uZW50LFxyXG5cdFx0TW9uYWNvRWRpdG9yQ29tcG9uZW50LFxyXG5cdFx0RWRpdG9yU2V0dGluZ3NDb21wb25lbnQsXHJcblx0XHRDb25maWdQcmV2aWV3Q29tcG9uZW50LFxyXG5cdFx0Q29uZmlnRWRpdG9yQWN0aW9uc0NvbXBvbmVudCxcclxuXHRcdEluZm9EaWFsb2dDb21wb25lbnQsXHJcblx0XHRWYWxpZGF0ZU9iamVjdFBpcGUsXHJcblx0XHRJc1ZhbGlkSnNvblBpcGVcclxuXHRdLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcclxuXHRcdE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuXHRcdE1hdEJ1dHRvbk1vZHVsZSxcclxuXHRcdE1hdEljb25Nb2R1bGUsXHJcblx0XHRNYXRUb29sdGlwTW9kdWxlLFxyXG5cdFx0VHJhbnNsYXRlTW9kdWxlLFxyXG5cdFx0Rmx1aWRIZWlnaHRNb2R1bGUsXHJcblx0XHRFbGVtZW50SGVpZ2h0TW9kdWxlLFxyXG5cdFx0Tm9EYXRhTW9kdWxlLFxyXG5cdFx0TWFya2Rvd25Nb2R1bGUsXHJcblx0XHREeW5hbWljRm9ybU1vZHVsZSxcclxuXHRcdE51eGVvRGlhbG9nTW9kdWxlLFxyXG5cdFx0TWF0RGlhbG9nTW9kdWxlLFxyXG5cdFx0TmRmVGFibGVNb2R1bGUsXHJcblx0XHROZGZSZXBvcnRzTW9kdWxlLFxyXG5cdFx0Q2RrQWNjb3JkaW9uTW9kdWxlLFxyXG5cdFx0RGlyZWN0aXZlTW9kdWxlLFxyXG5cdFx0Q29weVRvQ2xpcGJvYXJkTW9kdWxlXHJcblx0XSxcclxuXHRleHBvcnRzOiBbTmRmQ29uZmlnRWRpdG9yQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmRmQ29uZmlnRWRpdG9yTW9kdWxlIHtcclxuXHRzdGF0aWMgZm9yUm9vdChjb25maWc6IE1vbmFjb0VkaXRvckNvbmZpZyA9IHt9KTogYW55IHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdG5nTW9kdWxlOiBOZGZDb25maWdFZGl0b3JNb2R1bGUsXHJcblx0XHRcdHByb3ZpZGVyczogW3sgcHJvdmlkZTogTU9OQUNPX0VESVRPUl9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfV1cclxuXHRcdH07XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './validate-object.pipe';
|
|
2
|
+
export * from './is-valid-json.pipe';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1jb25maWctZWRpdG9yL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGUtb2JqZWN0LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2lzLXZhbGlkLWpzb24ucGlwZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { isValidJson } from '../utility';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class IsValidJsonPipe {
|
|
5
|
+
transform(value) {
|
|
6
|
+
return isValidJson(value);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
IsValidJsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IsValidJsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
+
IsValidJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IsValidJsonPipe, name: "isValidJson" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IsValidJsonPipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{
|
|
14
|
+
name: 'isValidJson'
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtdmFsaWQtanNvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtY29uZmlnLWVkaXRvci9waXBlcy9pcy12YWxpZC1qc29uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFLekMsTUFBTSxPQUFPLGVBQWU7SUFDM0IsU0FBUyxDQUFDLEtBQWE7UUFDdEIsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7NkdBSFcsZUFBZTsyR0FBZixlQUFlOzRGQUFmLGVBQWU7a0JBSDNCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLGFBQWE7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc1ZhbGlkSnNvbiB9IGZyb20gJy4uL3V0aWxpdHknO1xyXG5cclxuQFBpcGUoe1xyXG5cdG5hbWU6ICdpc1ZhbGlkSnNvbidcclxufSlcclxuZXhwb3J0IGNsYXNzIElzVmFsaWRKc29uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cdHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gaXNWYWxpZEpzb24odmFsdWUpO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ValidateObjectPipe {
|
|
4
|
+
transform(value) {
|
|
5
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
ValidateObjectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidateObjectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
9
|
+
ValidateObjectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidateObjectPipe, name: "validateObject" });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidateObjectPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{
|
|
13
|
+
name: 'validateObject'
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtb2JqZWN0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1jb25maWctZWRpdG9yL3BpcGVzL3ZhbGlkYXRlLW9iamVjdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzlCLFNBQVMsQ0FBQyxLQUFjO1FBQ3ZCLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdFLENBQUM7O2dIQUhXLGtCQUFrQjs4R0FBbEIsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBSDlCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLGdCQUFnQjtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcblx0bmFtZTogJ3ZhbGlkYXRlT2JqZWN0J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdGVPYmplY3RQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblx0dHJhbnNmb3JtKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|