@ajf/material 13.0.0-next.0
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/LICENSE +661 -0
- package/README.md +6 -0
- package/barcode/_barcode.scss +0 -0
- package/barcode/barcode-module.d.ts +23 -0
- package/barcode/barcode.d.ts +30 -0
- package/barcode/index.d.ts +4 -0
- package/barcode/index.metadata.json +1 -0
- package/barcode/package.json +9 -0
- package/barcode/public-api.d.ts +23 -0
- package/bundles/material-barcode.umd.js +433 -0
- package/bundles/material-barcode.umd.js.map +1 -0
- package/bundles/material-calendar.umd.js +435 -0
- package/bundles/material-calendar.umd.js.map +1 -0
- package/bundles/material-checkbox-group.umd.js +432 -0
- package/bundles/material-checkbox-group.umd.js.map +1 -0
- package/bundles/material-form-builder.umd.js +3558 -0
- package/bundles/material-form-builder.umd.js.map +1 -0
- package/bundles/material-forms.umd.js +968 -0
- package/bundles/material-forms.umd.js.map +1 -0
- package/bundles/material-image.umd.js +420 -0
- package/bundles/material-image.umd.js.map +1 -0
- package/bundles/material-monaco-editor.umd.js +755 -0
- package/bundles/material-monaco-editor.umd.js.map +1 -0
- package/bundles/material-node-icon.umd.js +415 -0
- package/bundles/material-node-icon.umd.js.map +1 -0
- package/bundles/material-page-slider.umd.js +424 -0
- package/bundles/material-page-slider.umd.js.map +1 -0
- package/bundles/material-report-builder.umd.js +5814 -0
- package/bundles/material-report-builder.umd.js.map +1 -0
- package/bundles/material-reports.umd.js +731 -0
- package/bundles/material-reports.umd.js.map +1 -0
- package/bundles/material-time.umd.js +424 -0
- package/bundles/material-time.umd.js.map +1 -0
- package/bundles/material.umd.js +40 -0
- package/bundles/material.umd.js.map +1 -0
- package/calendar/_calendar.scss +0 -0
- package/calendar/calendar-module.d.ts +23 -0
- package/calendar/calendar.d.ts +30 -0
- package/calendar/index.d.ts +4 -0
- package/calendar/index.metadata.json +1 -0
- package/calendar/package.json +9 -0
- package/calendar/public-api.d.ts +23 -0
- package/checkbox-group/_checkbox-group.scss +0 -0
- package/checkbox-group/checkbox-group-item.d.ts +25 -0
- package/checkbox-group/checkbox-group-module.d.ts +23 -0
- package/checkbox-group/index.d.ts +4 -0
- package/checkbox-group/index.metadata.json +1 -0
- package/checkbox-group/package.json +9 -0
- package/checkbox-group/public-api.d.ts +23 -0
- package/esm2015/barcode/barcode-module.js +50 -0
- package/esm2015/barcode/barcode.externs.js +6 -0
- package/esm2015/barcode/barcode.js +52 -0
- package/esm2015/barcode/index.js +5 -0
- package/esm2015/barcode/public-api.js +24 -0
- package/esm2015/calendar/calendar-module.js +48 -0
- package/esm2015/calendar/calendar.externs.js +6 -0
- package/esm2015/calendar/calendar.js +55 -0
- package/esm2015/calendar/index.js +5 -0
- package/esm2015/calendar/public-api.js +24 -0
- package/esm2015/checkbox-group/checkbox-group-item.js +51 -0
- package/esm2015/checkbox-group/checkbox-group-module.js +47 -0
- package/esm2015/checkbox-group/checkbox-group.externs.js +6 -0
- package/esm2015/checkbox-group/index.js +5 -0
- package/esm2015/checkbox-group/public-api.js +24 -0
- package/esm2015/form-builder/branch-line.js +73 -0
- package/esm2015/form-builder/choices-origin-data-source.js +38 -0
- package/esm2015/form-builder/choices-origin-editor-dialog.js +57 -0
- package/esm2015/form-builder/choices-origin-editor.js +78 -0
- package/esm2015/form-builder/condition-editor-dialog.js +59 -0
- package/esm2015/form-builder/condition-editor.js +143 -0
- package/esm2015/form-builder/form-builder-module.js +96 -0
- package/esm2015/form-builder/form-builder-service.js +764 -0
- package/esm2015/form-builder/form-builder-utils.js +63 -0
- package/esm2015/form-builder/form-builder.externs.js +6 -0
- package/esm2015/form-builder/form-builder.js +187 -0
- package/esm2015/form-builder/index.js +16 -0
- package/esm2015/form-builder/node-entry.js +245 -0
- package/esm2015/form-builder/node-properties.js +968 -0
- package/esm2015/form-builder/node-type-entry.js +50 -0
- package/esm2015/form-builder/operations.js +23 -0
- package/esm2015/form-builder/public-api.js +26 -0
- package/esm2015/form-builder/string-identifier-dialog.js +94 -0
- package/esm2015/form-builder/validation-condition-editor-dialog.js +59 -0
- package/esm2015/form-builder/warning-condition-editor-dialog.js +59 -0
- package/esm2015/forms/barcode-field.js +43 -0
- package/esm2015/forms/boolean-field.js +43 -0
- package/esm2015/forms/date-field.js +43 -0
- package/esm2015/forms/date-input-field.js +65 -0
- package/esm2015/forms/empty-field.js +43 -0
- package/esm2015/forms/field-service.js +115 -0
- package/esm2015/forms/field-warning-dialog.js +32 -0
- package/esm2015/forms/field.js +45 -0
- package/esm2015/forms/form.js +46 -0
- package/esm2015/forms/forms-module.js +107 -0
- package/esm2015/forms/forms.externs.js +6 -0
- package/esm2015/forms/index.js +9 -0
- package/esm2015/forms/input-field.js +43 -0
- package/esm2015/forms/multiple-choice-field.js +44 -0
- package/esm2015/forms/public-api.js +37 -0
- package/esm2015/forms/range-field.js +45 -0
- package/esm2015/forms/single-choice-field.js +44 -0
- package/esm2015/forms/table-field.js +43 -0
- package/esm2015/forms/text-field.js +43 -0
- package/esm2015/forms/time-field.js +43 -0
- package/esm2015/forms/video-url-field.js +47 -0
- package/esm2015/forms/warning-alert-service.js +42 -0
- package/esm2015/image/image-module.js +42 -0
- package/esm2015/image/image.externs.js +6 -0
- package/esm2015/image/image.js +44 -0
- package/esm2015/image/index.js +5 -0
- package/esm2015/image/public-api.js +24 -0
- package/esm2015/index.js +28 -0
- package/esm2015/material.externs.js +0 -0
- package/esm2015/monaco-editor/auto-complete-item-model.js +44 -0
- package/esm2015/monaco-editor/autocomplete-singleton-model.js +134 -0
- package/esm2015/monaco-editor/editor-language-model.js +60 -0
- package/esm2015/monaco-editor/editor-options-model.js +27 -0
- package/esm2015/monaco-editor/editor-scrollbar-options.js +23 -0
- package/esm2015/monaco-editor/editor-theme.js +30 -0
- package/esm2015/monaco-editor/index.js +5 -0
- package/esm2015/monaco-editor/monaco-editor-module.js +36 -0
- package/esm2015/monaco-editor/monaco-editor.externs.js +6 -0
- package/esm2015/monaco-editor/monaco-editor.js +389 -0
- package/esm2015/monaco-editor/public-api.js +24 -0
- package/esm2015/node-icon/index.js +5 -0
- package/esm2015/node-icon/node-icon-module.js +42 -0
- package/esm2015/node-icon/node-icon.externs.js +6 -0
- package/esm2015/node-icon/node-icon.js +35 -0
- package/esm2015/node-icon/public-api.js +24 -0
- package/esm2015/page-slider/index.js +5 -0
- package/esm2015/page-slider/page-slider-module.js +49 -0
- package/esm2015/page-slider/page-slider.externs.js +6 -0
- package/esm2015/page-slider/page-slider.js +44 -0
- package/esm2015/page-slider/public-api.js +24 -0
- package/esm2015/report-builder/column.js +97 -0
- package/esm2015/report-builder/condition-editor.js +159 -0
- package/esm2015/report-builder/content.js +255 -0
- package/esm2015/report-builder/custom-widget-dialog.js +51 -0
- package/esm2015/report-builder/custom-widget-toolbar-button.js +70 -0
- package/esm2015/report-builder/custom-widgets-toolbar.js +124 -0
- package/esm2015/report-builder/forms-analyzer-dialog.js +315 -0
- package/esm2015/report-builder/forms-analyzer.js +264 -0
- package/esm2015/report-builder/image-filter.js +32 -0
- package/esm2015/report-builder/image-group.js +106 -0
- package/esm2015/report-builder/index.js +25 -0
- package/esm2015/report-builder/models.js +23 -0
- package/esm2015/report-builder/operations.js +23 -0
- package/esm2015/report-builder/properties.js +765 -0
- package/esm2015/report-builder/public-api.js +26 -0
- package/esm2015/report-builder/quill-editor.js +299 -0
- package/esm2015/report-builder/renderer-widget.js +238 -0
- package/esm2015/report-builder/report-builder-drag-data.js +23 -0
- package/esm2015/report-builder/report-builder-module.js +114 -0
- package/esm2015/report-builder/report-builder-service.js +1685 -0
- package/esm2015/report-builder/report-builder.externs.js +6 -0
- package/esm2015/report-builder/report-builder.js +69 -0
- package/esm2015/report-builder/theme-color-dialog.js +90 -0
- package/esm2015/report-builder/theme-color.js +215 -0
- package/esm2015/report-builder/tokens.js +24 -0
- package/esm2015/report-builder/toolbar-dialog.js +56 -0
- package/esm2015/report-builder/toolbar.js +90 -0
- package/esm2015/report-builder/utils.js +48 -0
- package/esm2015/report-builder/widget-toolbar-button.js +47 -0
- package/esm2015/report-builder/widgets-row-buttons.js +133 -0
- package/esm2015/report-builder/widgets-toolbar.js +79 -0
- package/esm2015/reports/chart-widget.js +41 -0
- package/esm2015/reports/formula-widget.js +41 -0
- package/esm2015/reports/image-container-widget.js +43 -0
- package/esm2015/reports/image-widget.js +41 -0
- package/esm2015/reports/index.js +5 -0
- package/esm2015/reports/layout-widget.js +22 -0
- package/esm2015/reports/map-widget.js +41 -0
- package/esm2015/reports/page-break-widget.js +41 -0
- package/esm2015/reports/public-api.js +33 -0
- package/esm2015/reports/report.js +41 -0
- package/esm2015/reports/reports-module.js +79 -0
- package/esm2015/reports/reports.externs.js +6 -0
- package/esm2015/reports/table-widget.js +41 -0
- package/esm2015/reports/text-widget.js +41 -0
- package/esm2015/reports/widget.js +120 -0
- package/esm2015/time/index.js +5 -0
- package/esm2015/time/public-api.js +24 -0
- package/esm2015/time/time-module.js +44 -0
- package/esm2015/time/time.externs.js +6 -0
- package/esm2015/time/time.js +46 -0
- package/fesm2015/barcode.js +129 -0
- package/fesm2015/barcode.js.map +1 -0
- package/fesm2015/calendar.js +128 -0
- package/fesm2015/calendar.js.map +1 -0
- package/fesm2015/checkbox-group.js +124 -0
- package/fesm2015/checkbox-group.js.map +1 -0
- package/fesm2015/form-builder.js +2987 -0
- package/fesm2015/form-builder.js.map +1 -0
- package/fesm2015/forms.js +923 -0
- package/fesm2015/forms.js.map +1 -0
- package/fesm2015/image.js +113 -0
- package/fesm2015/image.js.map +1 -0
- package/fesm2015/material.js +30 -0
- package/fesm2015/material.js.map +1 -0
- package/fesm2015/monaco-editor.js +741 -0
- package/fesm2015/monaco-editor.js.map +1 -0
- package/fesm2015/node-icon.js +104 -0
- package/fesm2015/node-icon.js.map +1 -0
- package/fesm2015/page-slider.js +119 -0
- package/fesm2015/page-slider.js.map +1 -0
- package/fesm2015/report-builder.js +5332 -0
- package/fesm2015/report-builder.js.map +1 -0
- package/fesm2015/reports.js +560 -0
- package/fesm2015/reports.js.map +1 -0
- package/fesm2015/time.js +116 -0
- package/fesm2015/time.js.map +1 -0
- package/form-builder/_form-builder.scss +0 -0
- package/form-builder/branch-line.d.ts +36 -0
- package/form-builder/choices-origin-data-source.d.ts +35 -0
- package/form-builder/choices-origin-editor-dialog.d.ts +34 -0
- package/form-builder/choices-origin-editor.d.ts +43 -0
- package/form-builder/condition-editor-dialog.d.ts +35 -0
- package/form-builder/condition-editor.d.ts +37 -0
- package/form-builder/form-builder-module.d.ts +23 -0
- package/form-builder/form-builder-service.d.ts +191 -0
- package/form-builder/form-builder-utils.d.ts +41 -0
- package/form-builder/form-builder.d.ts +78 -0
- package/form-builder/index.d.ts +15 -0
- package/form-builder/index.metadata.json +1 -0
- package/form-builder/node-entry.d.ts +93 -0
- package/form-builder/node-properties.d.ts +184 -0
- package/form-builder/node-type-entry.d.ts +30 -0
- package/form-builder/operations.d.ts +31 -0
- package/form-builder/package.json +9 -0
- package/form-builder/public-api.d.ts +25 -0
- package/form-builder/string-identifier-dialog.d.ts +45 -0
- package/form-builder/validation-condition-editor-dialog.d.ts +36 -0
- package/form-builder/warning-condition-editor-dialog.d.ts +36 -0
- package/forms/_forms.scss +0 -0
- package/forms/barcode-field.d.ts +27 -0
- package/forms/boolean-field.d.ts +27 -0
- package/forms/date-field.d.ts +27 -0
- package/forms/date-input-field.d.ts +34 -0
- package/forms/empty-field.d.ts +27 -0
- package/forms/field-service.d.ts +25 -0
- package/forms/field-warning-dialog.d.ts +24 -0
- package/forms/field.d.ts +30 -0
- package/forms/form.d.ts +36 -0
- package/forms/forms-module.d.ts +25 -0
- package/forms/index.d.ts +8 -0
- package/forms/index.metadata.json +1 -0
- package/forms/input-field.d.ts +27 -0
- package/forms/multiple-choice-field.d.ts +27 -0
- package/forms/package.json +9 -0
- package/forms/public-api.d.ts +36 -0
- package/forms/range-field.d.ts +28 -0
- package/forms/single-choice-field.d.ts +27 -0
- package/forms/table-field.d.ts +27 -0
- package/forms/text-field.d.ts +27 -0
- package/forms/time-field.d.ts +27 -0
- package/forms/video-url-field.d.ts +29 -0
- package/forms/warning-alert-service.d.ts +29 -0
- package/image/_image.scss +0 -0
- package/image/image-module.d.ts +23 -0
- package/image/image.d.ts +27 -0
- package/image/index.d.ts +4 -0
- package/image/index.metadata.json +1 -0
- package/image/package.json +9 -0
- package/image/public-api.d.ts +23 -0
- package/index.d.ts +22 -0
- package/monaco-editor/_monaco-editor.scss +0 -0
- package/monaco-editor/auto-complete-item-model.d.ts +35 -0
- package/monaco-editor/autocomplete-singleton-model.d.ts +55 -0
- package/monaco-editor/editor-language-model.d.ts +59 -0
- package/monaco-editor/editor-options-model.d.ts +334 -0
- package/monaco-editor/editor-scrollbar-options.d.ts +83 -0
- package/monaco-editor/editor-theme.d.ts +29 -0
- package/monaco-editor/index.d.ts +4 -0
- package/monaco-editor/index.metadata.json +1 -0
- package/monaco-editor/monaco-editor-module.d.ts +23 -0
- package/monaco-editor/monaco-editor.d.ts +152 -0
- package/monaco-editor/package.json +9 -0
- package/monaco-editor/public-api.d.ts +23 -0
- package/node-icon/_node-icon.scss +0 -0
- package/node-icon/index.d.ts +4 -0
- package/node-icon/index.metadata.json +1 -0
- package/node-icon/node-icon-module.d.ts +23 -0
- package/node-icon/node-icon.d.ts +24 -0
- package/node-icon/package.json +9 -0
- package/node-icon/public-api.d.ts +23 -0
- package/package.json +38 -0
- package/page-slider/_page-slider.scss +0 -0
- package/page-slider/index.d.ts +4 -0
- package/page-slider/index.metadata.json +1 -0
- package/page-slider/package.json +9 -0
- package/page-slider/page-slider-module.d.ts +23 -0
- package/page-slider/page-slider.d.ts +30 -0
- package/page-slider/public-api.d.ts +23 -0
- package/report-builder/_report-builder.scss +0 -0
- package/report-builder/column.d.ts +63 -0
- package/report-builder/condition-editor.d.ts +67 -0
- package/report-builder/content.d.ts +142 -0
- package/report-builder/custom-widget-dialog.d.ts +31 -0
- package/report-builder/custom-widget-toolbar-button.d.ts +45 -0
- package/report-builder/custom-widgets-toolbar.d.ts +71 -0
- package/report-builder/forms-analyzer-dialog.d.ts +91 -0
- package/report-builder/forms-analyzer.d.ts +102 -0
- package/report-builder/image-filter.d.ts +25 -0
- package/report-builder/image-group.d.ts +69 -0
- package/report-builder/index.d.ts +24 -0
- package/report-builder/index.metadata.json +1 -0
- package/report-builder/models.d.ts +43 -0
- package/report-builder/operations.d.ts +45 -0
- package/report-builder/package.json +9 -0
- package/report-builder/properties.d.ts +365 -0
- package/report-builder/public-api.d.ts +26 -0
- package/report-builder/quill-editor.d.ts +113 -0
- package/report-builder/renderer-widget.d.ts +80 -0
- package/report-builder/report-builder-drag-data.d.ts +32 -0
- package/report-builder/report-builder-module.d.ts +23 -0
- package/report-builder/report-builder-service.d.ts +722 -0
- package/report-builder/report-builder.d.ts +36 -0
- package/report-builder/theme-color-dialog.d.ts +42 -0
- package/report-builder/theme-color.d.ts +108 -0
- package/report-builder/tokens.d.ts +24 -0
- package/report-builder/toolbar-dialog.d.ts +30 -0
- package/report-builder/toolbar.d.ts +48 -0
- package/report-builder/utils.d.ts +29 -0
- package/report-builder/widget-toolbar-button.d.ts +28 -0
- package/report-builder/widgets-row-buttons.d.ts +57 -0
- package/report-builder/widgets-toolbar.d.ts +44 -0
- package/reports/_reports.scss +0 -0
- package/reports/chart-widget.d.ts +26 -0
- package/reports/formula-widget.d.ts +26 -0
- package/reports/image-container-widget.d.ts +28 -0
- package/reports/image-widget.d.ts +26 -0
- package/reports/index.d.ts +4 -0
- package/reports/index.metadata.json +1 -0
- package/reports/layout-widget.d.ts +21 -0
- package/reports/map-widget.d.ts +26 -0
- package/reports/package.json +9 -0
- package/reports/page-break-widget.d.ts +26 -0
- package/reports/public-api.d.ts +32 -0
- package/reports/report.d.ts +26 -0
- package/reports/reports-module.d.ts +23 -0
- package/reports/table-widget.d.ts +26 -0
- package/reports/text-widget.d.ts +26 -0
- package/reports/widget.d.ts +40 -0
- package/time/_time.scss +0 -0
- package/time/index.d.ts +4 -0
- package/time/index.metadata.json +1 -0
- package/time/package.json +9 -0
- package/time/public-api.d.ts +23 -0
- package/time/time-module.d.ts +23 -0
- package/time/time.d.ts +28 -0
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright (C) Gnucoop soc. coop.
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Advanced JSON forms (ajf).
|
|
6
|
+
*
|
|
7
|
+
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Affero General Public License as
|
|
9
|
+
* published by the Free Software Foundation, either version 3 of the License,
|
|
10
|
+
* or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
15
|
+
* General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
18
|
+
* along with Advanced JSON forms (ajf).
|
|
19
|
+
* If not, see http://www.gnu.org/licenses/.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
23
|
+
import { AutoCompleteSingleton } from './autocomplete-singleton-model';
|
|
24
|
+
import { IEditorLanguage } from './editor-language-model';
|
|
25
|
+
import { IEditorOptions } from './editor-options-model';
|
|
26
|
+
import { IEditorTheme } from './editor-theme';
|
|
27
|
+
export class AjfMonacoEditor {
|
|
28
|
+
constructor() {
|
|
29
|
+
this.autoFormatOnLoad = true;
|
|
30
|
+
this.monacoLibPath = 'vs/loader.js';
|
|
31
|
+
this.valueChange = new EventEmitter();
|
|
32
|
+
this.valueToCompareChange = new EventEmitter();
|
|
33
|
+
this.init = new EventEmitter();
|
|
34
|
+
this._value = '';
|
|
35
|
+
this._valueToCompare = '';
|
|
36
|
+
}
|
|
37
|
+
set valueToCompare(v) {
|
|
38
|
+
if (v !== this._valueToCompare) {
|
|
39
|
+
this._valueToCompare = v;
|
|
40
|
+
if (this._valueToCompare === void 0 || !this._valueToCompare || !this._editor) {
|
|
41
|
+
if (this._editor && this._editor.getEditorType() !== 'vs.editor.ICodeEditor') {
|
|
42
|
+
this._initEditor();
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (!this._value) {
|
|
48
|
+
this._value = '';
|
|
49
|
+
}
|
|
50
|
+
if (this._editor.getEditorType() === 'vs.editor.ICodeEditor') {
|
|
51
|
+
this._initEditor();
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
set value(v) {
|
|
57
|
+
if (v !== this._value) {
|
|
58
|
+
this._value = v;
|
|
59
|
+
if (this._value === void 0 || !this._editor) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (this._editor.getEditorType() !== 'vs.editor.ICodeEditor') {
|
|
63
|
+
this._initEditor();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this._editor.setValue(this._value);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
get editor() {
|
|
70
|
+
return this._editor;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* load Monaco lib
|
|
74
|
+
*/
|
|
75
|
+
ngAfterViewInit() {
|
|
76
|
+
let onGotAmdLoader = () => {
|
|
77
|
+
// Load monaco
|
|
78
|
+
window.require(['vs/editor/editor.main'], () => {
|
|
79
|
+
this._initMonaco();
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
// Load AMD loader if necessary
|
|
83
|
+
if (!window.require) {
|
|
84
|
+
let loaderScript = document.createElement('script');
|
|
85
|
+
loaderScript.type = 'text/javascript';
|
|
86
|
+
loaderScript.src = this.monacoLibPath;
|
|
87
|
+
loaderScript.addEventListener('load', onGotAmdLoader);
|
|
88
|
+
document.body.appendChild(loaderScript);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
onGotAmdLoader();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Upon destruction of the component we make sure to dispose both the editor and
|
|
96
|
+
* the extra libs that we might've loaded
|
|
97
|
+
*/
|
|
98
|
+
ngOnDestroy() {
|
|
99
|
+
this.dispose();
|
|
100
|
+
}
|
|
101
|
+
ngOnChanges(_changes) {
|
|
102
|
+
if (this._editor) {
|
|
103
|
+
this._editor.updateOptions(this._getOptions());
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Destroy the monaco componenent
|
|
108
|
+
*/
|
|
109
|
+
dispose() {
|
|
110
|
+
let myDiv = this.editorContent.nativeElement;
|
|
111
|
+
if (this._editor) {
|
|
112
|
+
this._editor.dispose();
|
|
113
|
+
while (myDiv.hasChildNodes()) {
|
|
114
|
+
if (myDiv.firstChild != null) {
|
|
115
|
+
myDiv.removeChild(myDiv.firstChild);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
this._editor = null;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Triggered when windows is resized
|
|
123
|
+
* @param event
|
|
124
|
+
*/
|
|
125
|
+
onResize(_event) {
|
|
126
|
+
// Manually set monaco size because MonacoEditor doesn't work with Flexbox css
|
|
127
|
+
let myDiv = this.editorContent.nativeElement;
|
|
128
|
+
if (myDiv == null || myDiv.parentElement == null) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
myDiv.setAttribute('style', `height: ${myDiv.parentElement.offsetHeight}px; width:100%;`);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Init editor
|
|
135
|
+
* Is called once monaco library is available
|
|
136
|
+
*/
|
|
137
|
+
_initMonaco() {
|
|
138
|
+
this._initEditor();
|
|
139
|
+
this.init.emit();
|
|
140
|
+
}
|
|
141
|
+
_initEditor() {
|
|
142
|
+
let myDiv = this.editorContent.nativeElement;
|
|
143
|
+
let options = this._getOptions();
|
|
144
|
+
this.dispose();
|
|
145
|
+
if (!this._valueToCompare) {
|
|
146
|
+
this._editor = this._initSimpleEditor(myDiv, options);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
this._editor = this._initDiffEditor(myDiv, options);
|
|
150
|
+
}
|
|
151
|
+
// Manually set monaco size because MonacoEditor doesn't work with Flexbox css
|
|
152
|
+
if (myDiv != null && myDiv.parentElement != null) {
|
|
153
|
+
myDiv.setAttribute('style', `height: ${myDiv.parentElement.offsetHeight}px; width:100%;`);
|
|
154
|
+
}
|
|
155
|
+
// Init Autocomplete if not disabled
|
|
156
|
+
if (!this.disableAutocomplete) {
|
|
157
|
+
AutoCompleteSingleton.getInstance().initAutoComplete(this.language);
|
|
158
|
+
}
|
|
159
|
+
// When content is loaded, scrollChange is trigerred,
|
|
160
|
+
// We can only force auto format at this moment, because editor
|
|
161
|
+
// doesn't have onReady event ...
|
|
162
|
+
// this._editor.onDidScrollChange(() => {
|
|
163
|
+
// if (this.autoFormatOnLoad && !this._isCodeFormatted) {
|
|
164
|
+
// this._editor.getAction('editor.action.format').run();
|
|
165
|
+
// this._isCodeFormatted = true;
|
|
166
|
+
// }
|
|
167
|
+
// });
|
|
168
|
+
// Trigger on change event for simple editor
|
|
169
|
+
this._getOriginalModel().onDidChangeContent((_e) => {
|
|
170
|
+
let newVal = this._getOriginalModel().getValue();
|
|
171
|
+
if (this._value !== newVal) {
|
|
172
|
+
this._updateValue(newVal);
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
// Trigger on change event for diff editor
|
|
176
|
+
if (this._getModifiedModel()) {
|
|
177
|
+
this._getModifiedModel().onDidChangeContent((_e) => {
|
|
178
|
+
let newVal = this._getModifiedModel().getValue();
|
|
179
|
+
if (this._valueToCompare !== newVal) {
|
|
180
|
+
this._updateValueToCompare(newVal);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Create a simple editor text
|
|
187
|
+
* @param div
|
|
188
|
+
* @param options
|
|
189
|
+
*/
|
|
190
|
+
_initSimpleEditor(div, options) {
|
|
191
|
+
return monaco.editor.create(div, options);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Create a diff editor to compare two string (_value and _valueToCompare)
|
|
195
|
+
* @param div
|
|
196
|
+
*/
|
|
197
|
+
_initDiffEditor(div, options) {
|
|
198
|
+
let originalModel = monaco.editor.createModel(this._value, this.language);
|
|
199
|
+
let modifiedModel = monaco.editor.createModel(this._valueToCompare, this.language);
|
|
200
|
+
let diffEditor = monaco.editor.createDiffEditor(div, options);
|
|
201
|
+
diffEditor.setModel({
|
|
202
|
+
modified: modifiedModel,
|
|
203
|
+
original: originalModel,
|
|
204
|
+
});
|
|
205
|
+
return diffEditor;
|
|
206
|
+
}
|
|
207
|
+
_getOptions() {
|
|
208
|
+
let options = new IEditorOptions();
|
|
209
|
+
options.experimentalScreenReader = this.experimentalScreenReader;
|
|
210
|
+
options.ariaLabel = this.ariaLabel;
|
|
211
|
+
options.rulers = this.rulers;
|
|
212
|
+
options.wordSeparators = this.wordSeparators;
|
|
213
|
+
options.selectionClipboard = this.selectionClipboard;
|
|
214
|
+
options.lineNumbers = this.lineNumbers;
|
|
215
|
+
options.selectOnLineNumbers = this.selectOnLineNumbers;
|
|
216
|
+
options.lineNumbersMinChars = this.lineNumbersMinChars;
|
|
217
|
+
options.glyphMargin = this.glyphMargin;
|
|
218
|
+
options.lineDecorationsWidth = this.lineDecorationsWidth;
|
|
219
|
+
options.revealHorizontalRightPadding = this.revealHorizontalRightPadding;
|
|
220
|
+
options.roundedSelection = this.roundedSelection;
|
|
221
|
+
options.theme = this.theme;
|
|
222
|
+
options.readOnly = this.readOnly;
|
|
223
|
+
options.scrollbar = this.scrollbar;
|
|
224
|
+
options.overviewRulerLanes = this.overviewRulerLanes;
|
|
225
|
+
options.cursorBlinking = this.cursorBlinking;
|
|
226
|
+
options.mouseWheelZoom = this.mouseWheelZoom;
|
|
227
|
+
options.cursorStyle = this.cursorStyle;
|
|
228
|
+
options.mouseWheelZoom = this.mouseWheelZoom;
|
|
229
|
+
options.fontLigatures = this.fontLigatures;
|
|
230
|
+
options.disableTranslate3d = this.disableTranslate3d;
|
|
231
|
+
options.hideCursorInOverviewRuler = this.hideCursorInOverviewRuler;
|
|
232
|
+
options.scrollBeyondLastLine = this.scrollBeyondLastLine;
|
|
233
|
+
options.automaticLayout = this.automaticLayout;
|
|
234
|
+
options.wrappingColumn = this.wrappingColumn;
|
|
235
|
+
options.wordWrap = this.wordWrap;
|
|
236
|
+
options.wrappingIndent = this.wrappingIndent;
|
|
237
|
+
options.wordWrapBreakBeforeCharacters = this.wordWrapBreakBeforeCharacters;
|
|
238
|
+
options.wordWrapBreakAfterCharacters = this.wordWrapBreakAfterCharacters;
|
|
239
|
+
options.wordWrapBreakObtrusiveCharacters = this.wordWrapBreakObtrusiveCharacters;
|
|
240
|
+
options.stopRenderingLineAfter = this.stopRenderingLineAfter;
|
|
241
|
+
options.hover = this.hover;
|
|
242
|
+
options.contextmenu = this.contextmenu;
|
|
243
|
+
options.mouseWheelScrollSensitivity = this.mouseWheelScrollSensitivity;
|
|
244
|
+
options.quickSuggestions = this.quickSuggestions;
|
|
245
|
+
options.quickSuggestionsDelay = this.quickSuggestionsDelay;
|
|
246
|
+
options.parameterHints = this.parameterHints;
|
|
247
|
+
options.iconsInSuggestions = this.iconsInSuggestions;
|
|
248
|
+
options.autoClosingBrackets = this.autoClosingBrackets;
|
|
249
|
+
options.formatOnType = this.formatOnType;
|
|
250
|
+
options.suggestOnTriggerCharacters = this.suggestOnTriggerCharacters;
|
|
251
|
+
options.acceptSuggestionOnEnter = this.acceptSuggestionOnEnter;
|
|
252
|
+
options.snippetSuggestions = this.snippetSuggestions;
|
|
253
|
+
options.tabCompletion = this.tabCompletion;
|
|
254
|
+
options.wordBasedSuggestions = this.wordBasedSuggestions;
|
|
255
|
+
options.selectionHighlight = this.selectionHighlight;
|
|
256
|
+
options.codeLens = this.codeLens;
|
|
257
|
+
options.folding = this.folding;
|
|
258
|
+
options.renderWhitespace = this.renderWhitespace;
|
|
259
|
+
options.renderControlCharacters = this.renderControlCharacters;
|
|
260
|
+
options.renderIndentGuides = this.renderIndentGuides;
|
|
261
|
+
options.renderLineHighlight = this.renderLineHighlight;
|
|
262
|
+
options.useTabStops = this.useTabStops;
|
|
263
|
+
options.fontFamily = this.fontFamily;
|
|
264
|
+
options.fontWeight = this.fontWeight;
|
|
265
|
+
options.fontSize = this.fontSize;
|
|
266
|
+
options.lineHeight = this.lineHeight;
|
|
267
|
+
options.value = this._value;
|
|
268
|
+
options.language = this.language;
|
|
269
|
+
Object.keys(options).forEach((key) => {
|
|
270
|
+
if (options[key] === undefined) {
|
|
271
|
+
delete options[key]; // Remove all undefined properties
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
return options;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* UpdateValue
|
|
278
|
+
*
|
|
279
|
+
* @param value
|
|
280
|
+
*/
|
|
281
|
+
_updateValue(value) {
|
|
282
|
+
this.value = value;
|
|
283
|
+
this._value = value;
|
|
284
|
+
this.valueChange.emit(value);
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* UpdateValue
|
|
288
|
+
*
|
|
289
|
+
* @param value
|
|
290
|
+
*/
|
|
291
|
+
_updateValueToCompare(value) {
|
|
292
|
+
this.valueToCompare = value;
|
|
293
|
+
this._valueToCompare = value;
|
|
294
|
+
this.valueToCompareChange.emit(value);
|
|
295
|
+
}
|
|
296
|
+
_getOriginalModel() {
|
|
297
|
+
if (this._editor) {
|
|
298
|
+
let model = this._editor.getModel();
|
|
299
|
+
return model.original ? model.original : model;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
_getModifiedModel() {
|
|
303
|
+
if (this._editor) {
|
|
304
|
+
let model = this._editor.getModel();
|
|
305
|
+
return model.modified ? model.modified : null;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
AjfMonacoEditor.decorators = [
|
|
310
|
+
{ type: Component, args: [{
|
|
311
|
+
encapsulation: ViewEncapsulation.None,
|
|
312
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
313
|
+
selector: 'ajf-monaco-editor',
|
|
314
|
+
template: "<div #editor class=\"ajf-monaco-editor\"></div>\n",
|
|
315
|
+
host: { '(window:resize)': 'onResize($event)' },
|
|
316
|
+
styles: ["ajf-monaco-editor{display:flex;align-items:stretch;overflow:hidden}ajf-monaco-editor .ajf-monaco-editor{flex:1 0 auto}\n"]
|
|
317
|
+
},] }
|
|
318
|
+
];
|
|
319
|
+
AjfMonacoEditor.ctorParameters = () => [];
|
|
320
|
+
AjfMonacoEditor.propDecorators = {
|
|
321
|
+
experimentalScreenReader: [{ type: Input }],
|
|
322
|
+
ariaLabel: [{ type: Input }],
|
|
323
|
+
rulers: [{ type: Input }],
|
|
324
|
+
wordSeparators: [{ type: Input }],
|
|
325
|
+
selectionClipboard: [{ type: Input }],
|
|
326
|
+
lineNumbers: [{ type: Input }],
|
|
327
|
+
selectOnLineNumbers: [{ type: Input }],
|
|
328
|
+
lineNumbersMinChars: [{ type: Input }],
|
|
329
|
+
glyphMargin: [{ type: Input }],
|
|
330
|
+
lineDecorationsWidth: [{ type: Input }],
|
|
331
|
+
revealHorizontalRightPadding: [{ type: Input }],
|
|
332
|
+
roundedSelection: [{ type: Input }],
|
|
333
|
+
theme: [{ type: Input }],
|
|
334
|
+
readOnly: [{ type: Input }],
|
|
335
|
+
scrollbar: [{ type: Input }],
|
|
336
|
+
overviewRulerLanes: [{ type: Input }],
|
|
337
|
+
cursorBlinking: [{ type: Input }],
|
|
338
|
+
mouseWheelZoom: [{ type: Input }],
|
|
339
|
+
cursorStyle: [{ type: Input }],
|
|
340
|
+
fontLigatures: [{ type: Input }],
|
|
341
|
+
disableTranslate3d: [{ type: Input }],
|
|
342
|
+
hideCursorInOverviewRuler: [{ type: Input }],
|
|
343
|
+
scrollBeyondLastLine: [{ type: Input }],
|
|
344
|
+
automaticLayout: [{ type: Input }],
|
|
345
|
+
wrappingColumn: [{ type: Input }],
|
|
346
|
+
wordWrap: [{ type: Input }],
|
|
347
|
+
wrappingIndent: [{ type: Input }],
|
|
348
|
+
wordWrapBreakBeforeCharacters: [{ type: Input }],
|
|
349
|
+
wordWrapBreakAfterCharacters: [{ type: Input }],
|
|
350
|
+
wordWrapBreakObtrusiveCharacters: [{ type: Input }],
|
|
351
|
+
stopRenderingLineAfter: [{ type: Input }],
|
|
352
|
+
hover: [{ type: Input }],
|
|
353
|
+
contextmenu: [{ type: Input }],
|
|
354
|
+
mouseWheelScrollSensitivity: [{ type: Input }],
|
|
355
|
+
quickSuggestions: [{ type: Input }],
|
|
356
|
+
quickSuggestionsDelay: [{ type: Input }],
|
|
357
|
+
parameterHints: [{ type: Input }],
|
|
358
|
+
iconsInSuggestions: [{ type: Input }],
|
|
359
|
+
autoClosingBrackets: [{ type: Input }],
|
|
360
|
+
formatOnType: [{ type: Input }],
|
|
361
|
+
suggestOnTriggerCharacters: [{ type: Input }],
|
|
362
|
+
acceptSuggestionOnEnter: [{ type: Input }],
|
|
363
|
+
snippetSuggestions: [{ type: Input }],
|
|
364
|
+
tabCompletion: [{ type: Input }],
|
|
365
|
+
wordBasedSuggestions: [{ type: Input }],
|
|
366
|
+
selectionHighlight: [{ type: Input }],
|
|
367
|
+
codeLens: [{ type: Input }],
|
|
368
|
+
folding: [{ type: Input }],
|
|
369
|
+
renderWhitespace: [{ type: Input }],
|
|
370
|
+
renderControlCharacters: [{ type: Input }],
|
|
371
|
+
renderIndentGuides: [{ type: Input }],
|
|
372
|
+
renderLineHighlight: [{ type: Input }],
|
|
373
|
+
useTabStops: [{ type: Input }],
|
|
374
|
+
fontFamily: [{ type: Input }],
|
|
375
|
+
fontWeight: [{ type: Input }],
|
|
376
|
+
fontSize: [{ type: Input }],
|
|
377
|
+
lineHeight: [{ type: Input }],
|
|
378
|
+
language: [{ type: Input }],
|
|
379
|
+
disableAutocomplete: [{ type: Input }],
|
|
380
|
+
autoFormatOnLoad: [{ type: Input }],
|
|
381
|
+
monacoLibPath: [{ type: Input }],
|
|
382
|
+
valueToCompare: [{ type: Input }],
|
|
383
|
+
value: [{ type: Input }],
|
|
384
|
+
valueChange: [{ type: Output }],
|
|
385
|
+
valueToCompareChange: [{ type: Output }],
|
|
386
|
+
init: [{ type: Output }],
|
|
387
|
+
editorContent: [{ type: ViewChild, args: ['editor', { static: true },] }]
|
|
388
|
+
};
|
|
389
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9tb25hY28tZWRpdG9yL21vbmFjby1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFhNUMsTUFBTSxPQUFPLGVBQWU7SUE0SDFCO1FBNURTLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixrQkFBYSxHQUFHLGNBQWMsQ0FBQztRQTZDckIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFTckMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLG9CQUFlLEdBQUcsRUFBRSxDQUFDO0lBRWQsQ0FBQztJQXpEaEIsSUFDSSxjQUFjLENBQUMsQ0FBUztRQUMxQixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1lBRXpCLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFl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LGlCQUFpQixFQUFFLGtCQUFrQixFQUFDOzthQUM5Qzs7Ozt1Q0FFRSxLQUFLO3dCQUNMLEtBQUs7cUJBQ0wsS0FBSzs2QkFDTCxLQUFLO2lDQUNMLEtBQUs7MEJBQ0wsS0FBSztrQ0FDTCxLQUFLO2tDQUNMLEtBQUs7MEJBQ0wsS0FBSzttQ0FDTCxLQUFLOzJDQUNMLEtBQUs7K0JBQ0wsS0FBSztvQkFDTCxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSztpQ0FDTCxLQUFLOzZCQUNMLEtBQUs7NkJBQ0wsS0FBSzswQkFDTCxLQUFLOzRCQUNMLEtBQUs7aUNBQ0wsS0FBSzt3Q0FDTCxLQUFLO21DQUNMLEtBQUs7OEJBQ0wsS0FBSzs2QkFDTCxLQUFLO3VCQUNMLEtBQUs7NkJBQ0wsS0FBSzs0Q0FDTCxLQUFLOzJDQUNMLEtBQUs7K0NBQ0wsS0FBSztxQ0FDTCxLQUFLO29CQUNMLEtBQUs7MEJBQ0wsS0FBSzswQ0FDTCxLQUFLOytCQUNMLEtBQUs7b0NBQ0wsS0FBSzs2QkFDTCxLQUFLO2lDQUNMLEtBQUs7a0NBQ0wsS0FBSzsyQkFDTCxLQUFLO3lDQUNMLEtBQUs7c0NBQ0wsS0FBSztpQ0FDTCxLQUFLOzRCQUNMLEtBQUs7bUNBQ0wsS0FBSztpQ0FDTCxLQUFLO3VCQUNMLEtBQUs7c0JBQ0wsS0FBSzsrQkFDTCxLQUFLO3NDQUNMLEtBQUs7aUNBQ0wsS0FBSztrQ0FDTCxLQUFLOzBCQUNMLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3VCQUdMLEtBQUs7eUJBQ0wsS0FBSzt1QkFFTCxLQUFLO2tDQUVMLEtBQUs7K0JBQ0wsS0FBSzs0QkFDTCxLQUFLOzZCQUVMLEtBQUs7b0JBeUJMLEtBQUs7MEJBa0JMLE1BQU07bUNBQ04sTUFBTTttQkFDTixNQUFNOzRCQUVOLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2UsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZVNpbmdsZXRvbn0gZnJvbSAnLi9hdXRvY29tcGxldGUtc2luZ2xldG9uLW1vZGVsJztcbmltcG9ydCB7SUVkaXRvckxhbmd1YWdlfSBmcm9tICcuL2VkaXRvci1sYW5ndWFnZS1tb2RlbCc7XG5pbXBvcnQge0lFZGl0b3JPcHRpb25zfSBmcm9tICcuL2VkaXRvci1vcHRpb25zLW1vZGVsJztcbmltcG9ydCB7SUVkaXRvclNjcm9sbGJhck9wdGlvbnN9IGZyb20gJy4vZWRpdG9yLXNjcm9sbGJhci1vcHRpb25zJztcbmltcG9ydCB7SUVkaXRvclRoZW1lfSBmcm9tICcuL2VkaXRvci10aGVtZSc7XG5cbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XG5cblxuQENvbXBvbmVudCh7XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ2FqZi1tb25hY28tZWRpdG9yJyxcbiAgc3R5bGVVcmxzOiBbJ21vbmFjby1lZGl0b3IuY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnbW9uYWNvLWVkaXRvci5odG1sJyxcbiAgaG9zdDogeycod2luZG93OnJlc2l6ZSknOiAnb25SZXNpemUoJGV2ZW50KSd9XG59KVxuZXhwb3J0IGNsYXNzIEFqZk1vbmFjb0VkaXRvciBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZXhwZXJpbWVudGFsU2NyZWVuUmVhZGVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBydWxlcnM/OiBudW1iZXJbXTtcbiAgQElucHV0KCkgd29yZFNlcGFyYXRvcnM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdGlvbkNsaXBib2FyZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpbmVOdW1iZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0T25MaW5lTnVtYmVycz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpbmVOdW1iZXJzTWluQ2hhcnM/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGdseXBoTWFyZ2luPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbGluZURlY29yYXRpb25zV2lkdGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHJldmVhbEhvcml6b250YWxSaWdodFBhZGRpbmc/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHJvdW5kZWRTZWxlY3Rpb24/OiBib29sZWFuO1xuICBASW5wdXQoKSB0aGVtZT86IElFZGl0b3JUaGVtZTtcbiAgQElucHV0KCkgcmVhZE9ubHk/OiBib29sZWFuO1xuICBASW5wdXQoKSBzY3JvbGxiYXI/OiBJRWRpdG9yU2Nyb2xsYmFyT3B0aW9ucztcbiAgQElucHV0KCkgb3ZlcnZpZXdSdWxlckxhbmVzPzogbnVtYmVyO1xuICBASW5wdXQoKSBjdXJzb3JCbGlua2luZz86IHN0cmluZztcbiAgQElucHV0KCkgbW91c2VXaGVlbFpvb20/OiBib29sZWFuO1xuICBASW5wdXQoKSBjdXJzb3JTdHlsZT86IHN0cmluZztcbiAgQElucHV0KCkgZm9udExpZ2F0dXJlcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVUcmFuc2xhdGUzZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGVDdXJzb3JJbk92ZXJ2aWV3UnVsZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBzY3JvbGxCZXlvbmRMYXN0TGluZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGF1dG9tYXRpY0xheW91dD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdyYXBwaW5nQ29sdW1uPzogbnVtYmVyO1xuICBASW5wdXQoKSB3b3JkV3JhcD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdyYXBwaW5nSW5kZW50Pzogc3RyaW5nO1xuICBASW5wdXQoKSB3b3JkV3JhcEJyZWFrQmVmb3JlQ2hhcmFjdGVycz86IHN0cmluZztcbiAgQElucHV0KCkgd29yZFdyYXBCcmVha0FmdGVyQ2hhcmFjdGVycz86IHN0cmluZztcbiAgQElucHV0KCkgd29yZFdyYXBCcmVha09idHJ1c2l2ZUNoYXJhY3RlcnM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0b3BSZW5kZXJpbmdMaW5lQWZ0ZXI/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhvdmVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29udGV4dG1lbnU/OiBib29sZWFuO1xuICBASW5wdXQoKSBtb3VzZVdoZWVsU2Nyb2xsU2Vuc2l0aXZpdHk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHF1aWNrU3VnZ2VzdGlvbnM/OiBib29sZWFuO1xuICBASW5wdXQoKSBxdWlja1N1Z2dlc3Rpb25zRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHBhcmFtZXRlckhpbnRzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaWNvbnNJblN1Z2dlc3Rpb25zPzogYm9vbGVhbjtcbiAgQElucHV0KCkgYXV0b0Nsb3NpbmdCcmFja2V0cz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGZvcm1hdE9uVHlwZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN1Z2dlc3RPblRyaWdnZXJDaGFyYWN0ZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgYWNjZXB0U3VnZ2VzdGlvbk9uRW50ZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBzbmlwcGV0U3VnZ2VzdGlvbnM/OiAndG9wJ3wnYm90dG9tJ3wnaW5saW5lJ3wnbm9uZSc7XG4gIEBJbnB1dCgpIHRhYkNvbXBsZXRpb24/OiBib29sZWFuO1xuICBASW5wdXQoKSB3b3JkQmFzZWRTdWdnZXN0aW9ucz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlbGVjdGlvbkhpZ2hsaWdodD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvZGVMZW5zPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZm9sZGluZz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlbmRlcldoaXRlc3BhY2U/OiAnbm9uZSd8J2JvdW5kYXJ5J3wnYWxsJztcbiAgQElucHV0KCkgcmVuZGVyQ29udHJvbENoYXJhY3RlcnM/OiBib29sZWFuO1xuICBASW5wdXQoKSByZW5kZXJJbmRlbnRHdWlkZXM/OiBib29sZWFuO1xuICBASW5wdXQoKSByZW5kZXJMaW5lSGlnaGxpZ2h0PzogYm9vbGVhbjtcbiAgQElucHV0KCkgdXNlVGFiU3RvcHM/OiBib29sZWFuO1xuICBASW5wdXQoKSBmb250RmFtaWx5Pzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBmb250V2VpZ2h0PzogJ25vcm1hbCd8J2JvbGQnfCdib2xkZXInfCdsaWdodGVyJ3wnaW5pdGlhbCd8J2luaGVyaXQnfCcxMDAnfCcyMDAnfCczMDAnfCc0MDAnfCc1MDAnfFxuICAgICAgJzYwMCd8JzcwMCd8JzgwMCd8JzkwMCc7XG4gIEBJbnB1dCgpIGZvbnRTaXplPzogbnVtYmVyO1xuICBASW5wdXQoKSBsaW5lSGVpZ2h0PzogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGxhbmd1YWdlOiBJRWRpdG9yTGFuZ3VhZ2U7XG5cbiAgQElucHV0KCkgZGlzYWJsZUF1dG9jb21wbGV0ZTogYm9vbGVhbjtcbiAgQElucHV0KCkgYXV0b0Zvcm1hdE9uTG9hZCA9IHRydWU7XG4gIEBJbnB1dCgpIG1vbmFjb0xpYlBhdGggPSAndnMvbG9hZGVyLmpzJztcblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWVUb0NvbXBhcmUodjogc3RyaW5nKSB7XG4gICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlVG9Db21wYXJlKSB7XG4gICAgICB0aGlzLl92YWx1ZVRvQ29tcGFyZSA9IHY7XG5cbiAgICAgIGlmICh0aGlzLl92YWx1ZVRvQ29tcGFyZSA9PT0gdm9pZCAwIHx8ICF0aGlzLl92YWx1ZVRvQ29tcGFyZSB8fCAhdGhpcy5fZWRpdG9yKSB7XG4gICAgICAgIGlmICh0aGlzLl9lZGl0b3IgJiYgdGhpcy5fZWRpdG9yLmdldEVkaXRvclR5cGUoKSAhPT0gJ3ZzLmVkaXRvci5JQ29kZUVkaXRvcicpIHtcbiAgICAgICAgICB0aGlzLl9pbml0RWRpdG9yKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuX3ZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gJyc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9lZGl0b3IuZ2V0RWRpdG9yVHlwZSgpID09PSAndnMuZWRpdG9yLklDb2RlRWRpdG9yJykge1xuICAgICAgICB0aGlzLl9pbml0RWRpdG9yKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodjogc3RyaW5nKSB7XG4gICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG5cbiAgICAgIGlmICh0aGlzLl92YWx1ZSA9PT0gdm9pZCAwIHx8ICF0aGlzLl9lZGl0b3IpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fZWRpdG9yLmdldEVkaXRvclR5cGUoKSAhPT0gJ3ZzLmVkaXRvci5JQ29kZUVkaXRvcicpIHtcbiAgICAgICAgdGhpcy5faW5pdEVkaXRvcigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2VkaXRvci5zZXRWYWx1ZSh0aGlzLl92YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVUb0NvbXBhcmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBpbml0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcicsIHtzdGF0aWM6IHRydWV9KSBlZGl0b3JDb250ZW50OiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgX2VkaXRvcjogYW55O1xuICBnZXQgZWRpdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvcjtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gIHByaXZhdGUgX3ZhbHVlVG9Db21wYXJlID0gJyc7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBsb2FkIE1vbmFjbyBsaWJcbiAgICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBsZXQgb25Hb3RBbWRMb2FkZXIgPSAoKSA9PiB7XG4gICAgICAvLyBMb2FkIG1vbmFjb1xuICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcbiAgICAgICAgdGhpcy5faW5pdE1vbmFjbygpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIExvYWQgQU1EIGxvYWRlciBpZiBuZWNlc3NhcnlcbiAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgbGV0IGxvYWRlclNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgbG9hZGVyU2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSB0aGlzLm1vbmFjb0xpYlBhdGg7XG4gICAgICBsb2FkZXJTY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uR290QW1kTG9hZGVyKTtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobG9hZGVyU2NyaXB0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgb25Hb3RBbWRMb2FkZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBvbiBkZXN0cnVjdGlvbiBvZiB0aGUgY29tcG9uZW50IHdlIG1ha2Ugc3VyZSB0byBkaXNwb3NlIGJvdGggdGhlIGVkaXRvciBhbmRcbiAgICogdGhlIGV4dHJhIGxpYnMgdGhhdCB3ZSBtaWdodCd2ZSBsb2FkZWRcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoX2NoYW5nZXM6IHtbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlfSkge1xuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci51cGRhdGVPcHRpb25zKHRoaXMuX2dldE9wdGlvbnMoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3kgdGhlIG1vbmFjbyBjb21wb25lbmVudFxuICAgKi9cbiAgZGlzcG9zZSgpIHtcbiAgICBsZXQgbXlEaXY6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5lZGl0b3JDb250ZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHdoaWxlIChteURpdi5oYXNDaGlsZE5vZGVzKCkpIHtcbiAgICAgICAgaWYgKG15RGl2LmZpcnN0Q2hpbGQgIT0gbnVsbCkge1xuICAgICAgICAgIG15RGl2LnJlbW92ZUNoaWxkKG15RGl2LmZpcnN0Q2hpbGQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLl9lZGl0b3IgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiB3aW5kb3dzIGlzIHJlc2l6ZWRcbiAgICogQHBhcmFtIGV2ZW50XG4gICAqL1xuICBvblJlc2l6ZShfZXZlbnQ6IGFueSkge1xuICAgIC8vIE1hbnVhbGx5IHNldCBtb25hY28gc2l6ZSBiZWNhdXNlIE1vbmFjb0VkaXRvciBkb2Vzbid0IHdvcmsgd2l0aCBGbGV4Ym94IGNzc1xuICAgIGxldCBteURpdjogSFRNTERpdkVsZW1lbnQgPSB0aGlzLmVkaXRvckNvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICBpZiAobXlEaXYgPT0gbnVsbCB8fCBteURpdi5wYXJlbnRFbGVtZW50ID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbXlEaXYuc2V0QXR0cmlidXRlKCdzdHlsZScsIGBoZWlnaHQ6ICR7bXlEaXYucGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHR9cHg7IHdpZHRoOjEwMCU7YCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdCBlZGl0b3JcbiAgICogSXMgY2FsbGVkIG9uY2UgbW9uYWNvIGxpYnJhcnkgaXMgYXZhaWxhYmxlXG4gICAqL1xuICBwcml2YXRlIF9pbml0TW9uYWNvKCkge1xuICAgIHRoaXMuX2luaXRFZGl0b3IoKTtcbiAgICB0aGlzLmluaXQuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEVkaXRvcigpIHtcbiAgICBsZXQgbXlEaXY6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5lZGl0b3JDb250ZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9nZXRPcHRpb25zKCk7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG5cbiAgICBpZiAoIXRoaXMuX3ZhbHVlVG9Db21wYXJlKSB7XG4gICAgICB0aGlzLl9lZGl0b3IgPSB0aGlzLl9pbml0U2ltcGxlRWRpdG9yKG15RGl2LCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZWRpdG9yID0gdGhpcy5faW5pdERpZmZFZGl0b3IobXlEaXYsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8vIE1hbnVhbGx5IHNldCBtb25hY28gc2l6ZSBiZWNhdXNlIE1vbmFjb0VkaXRvciBkb2Vzbid0IHdvcmsgd2l0aCBGbGV4Ym94IGNzc1xuICAgIGlmIChteURpdiAhPSBudWxsICYmIG15RGl2LnBhcmVudEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgbXlEaXYuc2V0QXR0cmlidXRlKCdzdHlsZScsIGBoZWlnaHQ6ICR7bXlEaXYucGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHR9cHg7IHdpZHRoOjEwMCU7YCk7XG4gICAgfVxuXG4gICAgLy8gSW5pdCBBdXRvY29tcGxldGUgaWYgbm90IGRpc2FibGVkXG4gICAgaWYgKCF0aGlzLmRpc2FibGVBdXRvY29tcGxldGUpIHtcbiAgICAgIEF1dG9Db21wbGV0ZVNpbmdsZXRvbi5nZXRJbnN0YW5jZSgpLmluaXRBdXRvQ29tcGxldGUodGhpcy5sYW5ndWFnZSk7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBjb250ZW50IGlzIGxvYWRlZCwgc2Nyb2xsQ2hhbmdlIGlzIHRyaWdlcnJlZCxcbiAgICAvLyBXZSBjYW4gb25seSBmb3JjZSBhdXRvIGZvcm1hdCBhdCB0aGlzIG1vbWVudCwgYmVjYXVzZSBlZGl0b3JcbiAgICAvLyBkb2Vzbid0IGhhdmUgb25SZWFkeSBldmVudCAuLi5cbiAgICAvLyAgdGhpcy5fZWRpdG9yLm9uRGlkU2Nyb2xsQ2hhbmdlKCgpID0+IHtcbiAgICAvLyAgICAgaWYgKHRoaXMuYXV0b0Zvcm1hdE9uTG9hZCAmJiAhdGhpcy5faXNDb2RlRm9ybWF0dGVkKSB7XG4gICAgLy8gICAgICAgICB0aGlzLl9lZGl0b3IuZ2V0QWN0aW9uKCdlZGl0b3IuYWN0aW9uLmZvcm1hdCcpLnJ1bigpO1xuICAgIC8vICAgICAgICAgdGhpcy5faXNDb2RlRm9ybWF0dGVkID0gdHJ1ZTtcbiAgICAvLyAgICAgfVxuICAgIC8vIH0pO1xuXG4gICAgLy8gVHJpZ2dlciBvbiBjaGFuZ2UgZXZlbnQgZm9yIHNpbXBsZSBlZGl0b3JcbiAgICB0aGlzLl9nZXRPcmlnaW5hbE1vZGVsKCkub25EaWRDaGFuZ2VDb250ZW50KChfZTogYW55KSA9PiB7XG4gICAgICBsZXQgbmV3VmFsOiBzdHJpbmcgPSB0aGlzLl9nZXRPcmlnaW5hbE1vZGVsKCkuZ2V0VmFsdWUoKTtcbiAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gbmV3VmFsKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlKG5ld1ZhbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBUcmlnZ2VyIG9uIGNoYW5nZSBldmVudCBmb3IgZGlmZiBlZGl0b3JcbiAgICBpZiAodGhpcy5fZ2V0TW9kaWZpZWRNb2RlbCgpKSB7XG4gICAgICB0aGlzLl9nZXRNb2RpZmllZE1vZGVsKCkub25EaWRDaGFuZ2VDb250ZW50KChfZTogYW55KSA9PiB7XG4gICAgICAgIGxldCBuZXdWYWw6IHN0cmluZyA9IHRoaXMuX2dldE1vZGlmaWVkTW9kZWwoKS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAodGhpcy5fdmFsdWVUb0NvbXBhcmUgIT09IG5ld1ZhbCkge1xuICAgICAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlVG9Db21wYXJlKG5ld1ZhbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBzaW1wbGUgZWRpdG9yIHRleHRcbiAgICogQHBhcmFtIGRpdlxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgcHJpdmF0ZSBfaW5pdFNpbXBsZUVkaXRvcihkaXY6IEhUTUxEaXZFbGVtZW50LCBvcHRpb25zOiBhbnkpIHtcbiAgICByZXR1cm4gbW9uYWNvLmVkaXRvci5jcmVhdGUoZGl2LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBkaWZmIGVkaXRvciB0byBjb21wYXJlIHR3byBzdHJpbmcgKF92YWx1ZSBhbmQgX3ZhbHVlVG9Db21wYXJlKVxuICAgKiBAcGFyYW0gZGl2XG4gICAqL1xuICBwcml2YXRlIF9pbml0RGlmZkVkaXRvcihkaXY6IEhUTUxEaXZFbGVtZW50LCBvcHRpb25zOiBhbnkpIHtcbiAgICBsZXQgb3JpZ2luYWxNb2RlbCA9IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5fdmFsdWUsIHRoaXMubGFuZ3VhZ2UpO1xuICAgIGxldCBtb2RpZmllZE1vZGVsID0gbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLl92YWx1ZVRvQ29tcGFyZSwgdGhpcy5sYW5ndWFnZSk7XG5cbiAgICBsZXQgZGlmZkVkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlRGlmZkVkaXRvcihkaXYsIG9wdGlvbnMpO1xuICAgIGRpZmZFZGl0b3Iuc2V0TW9kZWwoe1xuICAgICAgbW9kaWZpZWQ6IG1vZGlmaWVkTW9kZWwsXG4gICAgICBvcmlnaW5hbDogb3JpZ2luYWxNb2RlbCxcbiAgICB9KTtcblxuICAgIHJldHVybiBkaWZmRWRpdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0T3B0aW9ucygpOiBJRWRpdG9yT3B0aW9ucyB7XG4gICAgbGV0IG9wdGlvbnM6IElFZGl0b3JPcHRpb25zID0gbmV3IElFZGl0b3JPcHRpb25zKCk7XG4gICAgb3B0aW9ucy5leHBlcmltZW50YWxTY3JlZW5SZWFkZXIgPSB0aGlzLmV4cGVyaW1lbnRhbFNjcmVlblJlYWRlcjtcbiAgICBvcHRpb25zLmFyaWFMYWJlbCA9IHRoaXMuYXJpYUxhYmVsO1xuICAgIG9wdGlvbnMucnVsZXJzID0gdGhpcy5ydWxlcnM7XG4gICAgb3B0aW9ucy53b3JkU2VwYXJhdG9ycyA9IHRoaXMud29yZFNlcGFyYXRvcnM7XG4gICAgb3B0aW9ucy5zZWxlY3Rpb25DbGlwYm9hcmQgPSB0aGlzLnNlbGVjdGlvbkNsaXBib2FyZDtcbiAgICBvcHRpb25zLmxpbmVOdW1iZXJzID0gdGhpcy5saW5lTnVtYmVycztcbiAgICBvcHRpb25zLnNlbGVjdE9uTGluZU51bWJlcnMgPSB0aGlzLnNlbGVjdE9uTGluZU51bWJlcnM7XG4gICAgb3B0aW9ucy5saW5lTnVtYmVyc01pbkNoYXJzID0gdGhpcy5saW5lTnVtYmVyc01pbkNoYXJzO1xuICAgIG9wdGlvbnMuZ2x5cGhNYXJnaW4gPSB0aGlzLmdseXBoTWFyZ2luO1xuICAgIG9wdGlvbnMubGluZURlY29yYXRpb25zV2lkdGggPSB0aGlzLmxpbmVEZWNvcmF0aW9uc1dpZHRoO1xuICAgIG9wdGlvbnMucmV2ZWFsSG9yaXpvbnRhbFJpZ2h0UGFkZGluZyA9IHRoaXMucmV2ZWFsSG9yaXpvbnRhbFJpZ2h0UGFkZGluZztcbiAgICBvcHRpb25zLnJvdW5kZWRTZWxlY3Rpb24gPSB0aGlzLnJvdW5kZWRTZWxlY3Rpb247XG4gICAgb3B0aW9ucy50aGVtZSA9IHRoaXMudGhlbWU7XG4gICAgb3B0aW9ucy5yZWFkT25seSA9IHRoaXMucmVhZE9ubHk7XG4gICAgb3B0aW9ucy5zY3JvbGxiYXIgPSB0aGlzLnNjcm9sbGJhcjtcbiAgICBvcHRpb25zLm92ZXJ2aWV3UnVsZXJMYW5lcyA9IHRoaXMub3ZlcnZpZXdSdWxlckxhbmVzO1xuICAgIG9wdGlvbnMuY3Vyc29yQmxpbmtpbmcgPSB0aGlzLmN1cnNvckJsaW5raW5nO1xuICAgIG9wdGlvbnMubW91c2VXaGVlbFpvb20gPSB0aGlzLm1vdXNlV2hlZWxab29tO1xuICAgIG9wdGlvbnMuY3Vyc29yU3R5bGUgPSB0aGlzLmN1cnNvclN0eWxlO1xuICAgIG9wdGlvbnMubW91c2VXaGVlbFpvb20gPSB0aGlzLm1vdXNlV2hlZWxab29tO1xuICAgIG9wdGlvbnMuZm9udExpZ2F0dXJlcyA9IHRoaXMuZm9udExpZ2F0dXJlcztcbiAgICBvcHRpb25zLmRpc2FibGVUcmFuc2xhdGUzZCA9IHRoaXMuZGlzYWJsZVRyYW5zbGF0ZTNkO1xuICAgIG9wdGlvbnMuaGlkZUN1cnNvckluT3ZlcnZpZXdSdWxlciA9IHRoaXMuaGlkZUN1cnNvckluT3ZlcnZpZXdSdWxlcjtcbiAgICBvcHRpb25zLnNjcm9sbEJleW9uZExhc3RMaW5lID0gdGhpcy5zY3JvbGxCZXlvbmRMYXN0TGluZTtcbiAgICBvcHRpb25zLmF1dG9tYXRpY0xheW91dCA9IHRoaXMuYXV0b21hdGljTGF5b3V0O1xuICAgIG9wdGlvbnMud3JhcHBpbmdDb2x1bW4gPSB0aGlzLndyYXBwaW5nQ29sdW1uO1xuICAgIG9wdGlvbnMud29yZFdyYXAgPSB0aGlzLndvcmRXcmFwO1xuICAgIG9wdGlvbnMud3JhcHBpbmdJbmRlbnQgPSB0aGlzLndyYXBwaW5nSW5kZW50O1xuICAgIG9wdGlvbnMud29yZFdyYXBCcmVha0JlZm9yZUNoYXJhY3RlcnMgPSB0aGlzLndvcmRXcmFwQnJlYWtCZWZvcmVDaGFyYWN0ZXJzO1xuICAgIG9wdGlvbnMud29yZFdyYXBCcmVha0FmdGVyQ2hhcmFjdGVycyA9IHRoaXMud29yZFdyYXBCcmVha0FmdGVyQ2hhcmFjdGVycztcbiAgICBvcHRpb25zLndvcmRXcmFwQnJlYWtPYnRydXNpdmVDaGFyYWN0ZXJzID0gdGhpcy53b3JkV3JhcEJyZWFrT2J0cnVzaXZlQ2hhcmFjdGVycztcbiAgICBvcHRpb25zLnN0b3BSZW5kZXJpbmdMaW5lQWZ0ZXIgPSB0aGlzLnN0b3BSZW5kZXJpbmdMaW5lQWZ0ZXI7XG4gICAgb3B0aW9ucy5ob3ZlciA9IHRoaXMuaG92ZXI7XG4gICAgb3B0aW9ucy5jb250ZXh0bWVudSA9IHRoaXMuY29udGV4dG1lbnU7XG4gICAgb3B0aW9ucy5tb3VzZVdoZWVsU2Nyb2xsU2Vuc2l0aXZpdHkgPSB0aGlzLm1vdXNlV2hlZWxTY3JvbGxTZW5zaXRpdml0eTtcbiAgICBvcHRpb25zLnF1aWNrU3VnZ2VzdGlvbnMgPSB0aGlzLnF1aWNrU3VnZ2VzdGlvbnM7XG4gICAgb3B0aW9ucy5xdWlja1N1Z2dlc3Rpb25zRGVsYXkgPSB0aGlzLnF1aWNrU3VnZ2VzdGlvbnNEZWxheTtcbiAgICBvcHRpb25zLnBhcmFtZXRlckhpbnRzID0gdGhpcy5wYXJhbWV0ZXJIaW50cztcbiAgICBvcHRpb25zLmljb25zSW5TdWdnZXN0aW9ucyA9IHRoaXMuaWNvbnNJblN1Z2dlc3Rpb25zO1xuICAgIG9wdGlvbnMuYXV0b0Nsb3NpbmdCcmFja2V0cyA9IHRoaXMuYXV0b0Nsb3NpbmdCcmFja2V0cztcbiAgICBvcHRpb25zLmZvcm1hdE9uVHlwZSA9IHRoaXMuZm9ybWF0T25UeXBlO1xuICAgIG9wdGlvbnMuc3VnZ2VzdE9uVHJpZ2dlckNoYXJhY3RlcnMgPSB0aGlzLnN1Z2dlc3RPblRyaWdnZXJDaGFyYWN0ZXJzO1xuICAgIG9wdGlvbnMuYWNjZXB0U3VnZ2VzdGlvbk9uRW50ZXIgPSB0aGlzLmFjY2VwdFN1Z2dlc3Rpb25PbkVudGVyO1xuICAgIG9wdGlvbnMuc25pcHBldFN1Z2dlc3Rpb25zID0gdGhpcy5zbmlwcGV0U3VnZ2VzdGlvbnM7XG4gICAgb3B0aW9ucy50YWJDb21wbGV0aW9uID0gdGhpcy50YWJDb21wbGV0aW9uO1xuICAgIG9wdGlvbnMud29yZEJhc2VkU3VnZ2VzdGlvbnMgPSB0aGlzLndvcmRCYXNlZFN1Z2dlc3Rpb25zO1xuICAgIG9wdGlvbnMuc2VsZWN0aW9uSGlnaGxpZ2h0ID0gdGhpcy5zZWxlY3Rpb25IaWdobGlnaHQ7XG4gICAgb3B0aW9ucy5jb2RlTGVucyA9IHRoaXMuY29kZUxlbnM7XG4gICAgb3B0aW9ucy5mb2xkaW5nID0gdGhpcy5mb2xkaW5nO1xuICAgIG9wdGlvbnMucmVuZGVyV2hpdGVzcGFjZSA9IHRoaXMucmVuZGVyV2hpdGVzcGFjZTtcbiAgICBvcHRpb25zLnJlbmRlckNvbnRyb2xDaGFyYWN0ZXJzID0gdGhpcy5yZW5kZXJDb250cm9sQ2hhcmFjdGVycztcbiAgICBvcHRpb25zLnJlbmRlckluZGVudEd1aWRlcyA9IHRoaXMucmVuZGVySW5kZW50R3VpZGVzO1xuICAgIG9wdGlvbnMucmVuZGVyTGluZUhpZ2hsaWdodCA9IHRoaXMucmVuZGVyTGluZUhpZ2hsaWdodDtcbiAgICBvcHRpb25zLnVzZVRhYlN0b3BzID0gdGhpcy51c2VUYWJTdG9wcztcbiAgICBvcHRpb25zLmZvbnRGYW1pbHkgPSB0aGlzLmZvbnRGYW1pbHk7XG4gICAgb3B0aW9ucy5mb250V2VpZ2h0ID0gdGhpcy5mb250V2VpZ2h0O1xuICAgIG9wdGlvbnMuZm9udFNpemUgPSB0aGlzLmZvbnRTaXplO1xuICAgIG9wdGlvbnMubGluZUhlaWdodCA9IHRoaXMubGluZUhlaWdodDtcbiAgICBvcHRpb25zLnZhbHVlID0gdGhpcy5fdmFsdWU7XG4gICAgb3B0aW9ucy5sYW5ndWFnZSA9IHRoaXMubGFuZ3VhZ2U7XG5cbiAgICBPYmplY3Qua2V5cyhvcHRpb25zKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICgoPGFueT5vcHRpb25zKVtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlICg8YW55Pm9wdGlvbnMpW2tleV07ICAvLyBSZW1vdmUgYWxsIHVuZGVmaW5lZCBwcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlVmFsdWVcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIF91cGRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVWYWx1ZVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVZhbHVlVG9Db21wYXJlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZhbHVlVG9Db21wYXJlID0gdmFsdWU7XG4gICAgdGhpcy5fdmFsdWVUb0NvbXBhcmUgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbHVlVG9Db21wYXJlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0T3JpZ2luYWxNb2RlbCgpIHtcbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICBsZXQgbW9kZWwgPSB0aGlzLl9lZGl0b3IuZ2V0TW9kZWwoKTtcbiAgICAgIHJldHVybiBtb2RlbC5vcmlnaW5hbCA/IG1vZGVsLm9yaWdpbmFsIDogbW9kZWw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TW9kaWZpZWRNb2RlbCgpIHtcbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICBsZXQgbW9kZWwgPSB0aGlzLl9lZGl0b3IuZ2V0TW9kZWwoKTtcbiAgICAgIHJldHVybiBtb2RlbC5tb2RpZmllZCA/IG1vZGVsLm1vZGlmaWVkIDogbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright (C) Gnucoop soc. coop.
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Advanced JSON forms (ajf).
|
|
6
|
+
*
|
|
7
|
+
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Affero General Public License as
|
|
9
|
+
* published by the Free Software Foundation, either version 3 of the License,
|
|
10
|
+
* or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
15
|
+
* General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
18
|
+
* along with Advanced JSON forms (ajf).
|
|
19
|
+
* If not, see http://www.gnu.org/licenses/.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
export * from './monaco-editor-module';
|
|
23
|
+
export * from './monaco-editor';
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9tb25hY28tZWRpdG9yL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21vbmFjby1lZGl0b3ItbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9uYWNvLWVkaXRvcic7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvbm9kZS1pY29uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright (C) Gnucoop soc. coop.
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Advanced JSON forms (ajf).
|
|
6
|
+
*
|
|
7
|
+
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Affero General Public License as
|
|
9
|
+
* published by the Free Software Foundation, either version 3 of the License,
|
|
10
|
+
* or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
15
|
+
* General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
18
|
+
* along with Advanced JSON forms (ajf).
|
|
19
|
+
* If not, see http://www.gnu.org/licenses/.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
import { CommonModule } from '@angular/common';
|
|
23
|
+
import { NgModule } from '@angular/core';
|
|
24
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
25
|
+
import { AjfNodeIcon } from './node-icon';
|
|
26
|
+
export class AjfNodeIconModule {
|
|
27
|
+
}
|
|
28
|
+
AjfNodeIconModule.decorators = [
|
|
29
|
+
{ type: NgModule, args: [{
|
|
30
|
+
imports: [
|
|
31
|
+
CommonModule,
|
|
32
|
+
MatIconModule,
|
|
33
|
+
],
|
|
34
|
+
declarations: [
|
|
35
|
+
AjfNodeIcon,
|
|
36
|
+
],
|
|
37
|
+
exports: [
|
|
38
|
+
AjfNodeIcon,
|
|
39
|
+
],
|
|
40
|
+
},] }
|
|
41
|
+
];
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1pY29uLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9ub2RlLWljb24vbm9kZS1pY29uLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQWN4QyxNQUFNLE9BQU8saUJBQWlCOzs7WUFaN0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGFBQWE7aUJBQ2Q7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLFdBQVc7aUJBQ1o7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFdBQVc7aUJBQ1o7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7QWpmTm9kZUljb259IGZyb20gJy4vbm9kZS1pY29uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBamZOb2RlSWNvbixcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEFqZk5vZGVJY29uLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBamZOb2RlSWNvbk1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright (C) Gnucoop soc. coop.
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Advanced JSON forms (ajf).
|
|
6
|
+
*
|
|
7
|
+
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Affero General Public License as
|
|
9
|
+
* published by the Free Software Foundation, either version 3 of the License,
|
|
10
|
+
* or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
15
|
+
* General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
18
|
+
* along with Advanced JSON forms (ajf).
|
|
19
|
+
* If not, see http://www.gnu.org/licenses/.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
import { AjfNodeIcon as AjfCoreNodeIcon } from '@ajf/core/node-icon';
|
|
23
|
+
import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
|
|
24
|
+
export class AjfNodeIcon extends AjfCoreNodeIcon {
|
|
25
|
+
}
|
|
26
|
+
AjfNodeIcon.decorators = [
|
|
27
|
+
{ type: Component, args: [{
|
|
28
|
+
selector: 'ajf-node-icon',
|
|
29
|
+
template: "<ng-template [ngIf]=\"node\">\n <mat-icon [fontSet]=\"fontSet\" [fontIcon]=\"fontIcon\"></mat-icon>\n</ng-template>\n",
|
|
30
|
+
encapsulation: ViewEncapsulation.None,
|
|
31
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
32
|
+
styles: ["\n"]
|
|
33
|
+
},] }
|
|
34
|
+
];
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1pY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL25vZGUtaWNvbi9ub2RlLWljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsT0FBTyxFQUFDLFdBQVcsSUFBSSxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBU3BGLE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBZTs7O1lBUC9DLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsa0lBQTZCO2dCQUU3QixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge0FqZk5vZGVJY29uIGFzIEFqZkNvcmVOb2RlSWNvbn0gZnJvbSAnQGFqZi9jb3JlL25vZGUtaWNvbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWpmLW5vZGUtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnbm9kZS1pY29uLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnbm9kZS1pY29uLmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBamZOb2RlSWNvbiBleHRlbmRzIEFqZkNvcmVOb2RlSWNvbiB7XG59XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright (C) Gnucoop soc. coop.
|
|
4
|
+
*
|
|
5
|
+
* This file is part of the Advanced JSON forms (ajf).
|
|
6
|
+
*
|
|
7
|
+
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Affero General Public License as
|
|
9
|
+
* published by the Free Software Foundation, either version 3 of the License,
|
|
10
|
+
* or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
15
|
+
* General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
18
|
+
* along with Advanced JSON forms (ajf).
|
|
19
|
+
* If not, see http://www.gnu.org/licenses/.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
export * from './node-icon-module';
|
|
23
|
+
export * from './node-icon';
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9ub2RlLWljb24vcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL25vZGUtaWNvbi1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWljb24nO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvcGFnZS1zbGlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|