@ajf/material 13.0.0-next.9 → 13.0.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/{report-builder/index.d.ts → barcode/barcode_public_index.d.ts} +1 -1
- package/barcode/index.d.ts +19 -1
- package/barcode/package.json +2 -2
- package/calendar/calendar_public_index.d.ts +4 -0
- package/calendar/index.d.ts +19 -1
- package/calendar/package.json +2 -2
- package/checkbox-group/checkbox-group_public_index.d.ts +4 -0
- package/checkbox-group/index.d.ts +19 -1
- package/checkbox-group/package.json +2 -2
- package/esm2020/barcode/barcode-module.mjs +7 -11
- package/esm2020/barcode/barcode.mjs +6 -6
- package/esm2020/barcode/barcode_public_index.mjs +5 -0
- package/esm2020/barcode/index.mjs +20 -2
- package/esm2020/calendar/calendar-module.mjs +8 -28
- package/esm2020/calendar/calendar.mjs +7 -11
- package/esm2020/calendar/calendar_public_index.mjs +5 -0
- package/esm2020/calendar/index.mjs +20 -2
- package/esm2020/checkbox-group/checkbox-group-item.mjs +6 -6
- package/esm2020/checkbox-group/checkbox-group-module.mjs +8 -27
- package/esm2020/checkbox-group/checkbox-group_public_index.mjs +5 -0
- package/esm2020/checkbox-group/index.mjs +20 -2
- package/esm2020/form-builder/branch-line.mjs +5 -5
- package/esm2020/form-builder/choices-origin-data-source.mjs +1 -1
- package/esm2020/form-builder/choices-origin-editor-dialog.mjs +10 -7
- package/esm2020/form-builder/choices-origin-editor.mjs +4 -4
- package/esm2020/form-builder/condition-editor-dialog.mjs +4 -4
- package/esm2020/form-builder/condition-editor.mjs +12 -11
- package/esm2020/form-builder/form-builder-module.mjs +85 -34
- package/esm2020/form-builder/form-builder-service.mjs +135 -128
- package/esm2020/form-builder/form-builder-utils.mjs +4 -3
- package/esm2020/form-builder/form-builder.mjs +33 -29
- package/esm2020/form-builder/form-builder_public_index.mjs +5 -0
- package/esm2020/form-builder/index.mjs +20 -2
- package/esm2020/form-builder/node-entry.mjs +10 -8
- package/esm2020/form-builder/node-properties.mjs +320 -315
- package/esm2020/form-builder/node-type-entry.mjs +5 -5
- package/esm2020/form-builder/string-identifier-dialog.mjs +8 -10
- package/esm2020/form-builder/validation-condition-editor-dialog.mjs +4 -4
- package/esm2020/form-builder/warning-condition-editor-dialog.mjs +4 -4
- package/esm2020/forms/barcode-field.mjs +6 -6
- package/esm2020/forms/boolean-field.mjs +6 -6
- package/esm2020/forms/date-field.mjs +5 -5
- package/esm2020/forms/date-input-field.mjs +6 -6
- package/esm2020/forms/empty-field.mjs +6 -6
- package/esm2020/forms/field-service.mjs +45 -45
- package/esm2020/forms/field-warning-dialog.mjs +4 -4
- package/esm2020/forms/field.mjs +5 -5
- package/esm2020/forms/form.mjs +5 -5
- package/esm2020/forms/forms-module.mjs +119 -43
- package/esm2020/forms/forms_public_index.mjs +5 -0
- package/esm2020/forms/index.mjs +20 -2
- package/esm2020/forms/input-field.mjs +5 -5
- package/esm2020/forms/multiple-choice-field.mjs +6 -6
- package/esm2020/forms/range-field.mjs +6 -6
- package/esm2020/forms/single-choice-field.mjs +6 -6
- package/esm2020/forms/table-field.mjs +6 -6
- package/esm2020/forms/text-field.mjs +5 -5
- package/esm2020/forms/time-field.mjs +6 -6
- package/esm2020/forms/video-url-field.mjs +5 -5
- package/esm2020/forms/warning-alert-service.mjs +4 -4
- package/esm2020/image/image-module.mjs +8 -19
- package/esm2020/image/image.mjs +5 -5
- package/esm2020/image/image_public_index.mjs +5 -0
- package/esm2020/image/index.mjs +20 -2
- package/esm2020/monaco-editor/autocomplete-singleton-model.mjs +3 -2
- package/esm2020/monaco-editor/editor-options-model.mjs +1 -1
- package/esm2020/monaco-editor/index.mjs +20 -2
- package/esm2020/monaco-editor/monaco-editor-module.mjs +7 -11
- package/esm2020/monaco-editor/monaco-editor.mjs +6 -6
- package/esm2020/monaco-editor/monaco-editor_public_index.mjs +5 -0
- package/esm2020/node-icon/index.mjs +20 -2
- package/esm2020/node-icon/node-icon-module.mjs +8 -19
- package/esm2020/node-icon/node-icon.mjs +4 -4
- package/esm2020/node-icon/node-icon_public_index.mjs +5 -0
- package/esm2020/page-slider/index.mjs +20 -2
- package/esm2020/page-slider/page-slider-module.mjs +8 -14
- package/esm2020/page-slider/page-slider.mjs +5 -5
- package/esm2020/page-slider/page-slider_public_index.mjs +5 -0
- package/esm2020/reports/chart-widget.mjs +5 -5
- package/esm2020/reports/filter-widget.mjs +71 -0
- package/esm2020/reports/formula-widget.mjs +5 -5
- package/esm2020/reports/image-container-widget.mjs +5 -5
- package/esm2020/reports/image-widget.mjs +5 -5
- package/esm2020/reports/index.mjs +20 -2
- package/esm2020/reports/map-widget.mjs +5 -5
- package/esm2020/reports/page-break-widget.mjs +5 -5
- package/esm2020/reports/public-api.mjs +2 -1
- package/esm2020/reports/report.mjs +5 -5
- package/esm2020/reports/reports-module.mjs +15 -12
- package/esm2020/reports/reports_public_index.mjs +5 -0
- package/esm2020/reports/table-widget.mjs +6 -6
- package/esm2020/reports/text-widget.mjs +5 -5
- package/esm2020/reports/widget.mjs +19 -16
- package/esm2020/time/index.mjs +20 -2
- package/esm2020/time/time-module.mjs +8 -22
- package/esm2020/time/time.mjs +6 -6
- package/esm2020/time/time_public_index.mjs +5 -0
- package/fesm2015/barcode.mjs +32 -14
- package/fesm2015/barcode.mjs.map +1 -1
- package/fesm2015/calendar.mjs +34 -36
- package/fesm2015/calendar.mjs.map +1 -1
- package/fesm2015/checkbox-group.mjs +33 -30
- package/fesm2015/checkbox-group.mjs.map +1 -1
- package/fesm2015/form-builder.mjs +638 -544
- package/fesm2015/form-builder.mjs.map +1 -1
- package/fesm2015/forms.mjs +235 -137
- package/fesm2015/forms.mjs.map +1 -1
- package/fesm2015/image.mjs +32 -21
- package/fesm2015/image.mjs.map +1 -1
- package/fesm2015/monaco-editor.mjs +34 -15
- package/fesm2015/monaco-editor.mjs.map +1 -1
- package/fesm2015/node-icon.mjs +32 -21
- package/fesm2015/node-icon.mjs.map +1 -1
- package/fesm2015/page-slider.mjs +32 -16
- package/fesm2015/page-slider.mjs.map +1 -1
- package/fesm2015/reports.mjs +156 -66
- package/fesm2015/reports.mjs.map +1 -1
- package/fesm2015/time.mjs +33 -25
- package/fesm2015/time.mjs.map +1 -1
- package/fesm2020/barcode.mjs +32 -14
- package/fesm2020/barcode.mjs.map +1 -1
- package/fesm2020/calendar.mjs +34 -36
- package/fesm2020/calendar.mjs.map +1 -1
- package/fesm2020/checkbox-group.mjs +33 -30
- package/fesm2020/checkbox-group.mjs.map +1 -1
- package/fesm2020/form-builder.mjs +638 -544
- package/fesm2020/form-builder.mjs.map +1 -1
- package/fesm2020/forms.mjs +235 -137
- package/fesm2020/forms.mjs.map +1 -1
- package/fesm2020/image.mjs +32 -21
- package/fesm2020/image.mjs.map +1 -1
- package/fesm2020/monaco-editor.mjs +34 -15
- package/fesm2020/monaco-editor.mjs.map +1 -1
- package/fesm2020/node-icon.mjs +32 -21
- package/fesm2020/node-icon.mjs.map +1 -1
- package/fesm2020/page-slider.mjs +32 -16
- package/fesm2020/page-slider.mjs.map +1 -1
- package/fesm2020/reports.mjs +156 -66
- package/fesm2020/reports.mjs.map +1 -1
- package/fesm2020/time.mjs +33 -25
- package/fesm2020/time.mjs.map +1 -1
- package/form-builder/form-builder_public_index.d.ts +4 -0
- package/form-builder/index.d.ts +19 -1
- package/form-builder/node-properties.d.ts +1 -0
- package/form-builder/package.json +2 -2
- package/forms/forms_public_index.d.ts +4 -0
- package/forms/index.d.ts +19 -1
- package/forms/package.json +2 -2
- package/image/image_public_index.d.ts +4 -0
- package/image/index.d.ts +19 -1
- package/image/package.json +2 -2
- package/monaco-editor/index.d.ts +19 -1
- package/monaco-editor/monaco-editor_public_index.d.ts +4 -0
- package/monaco-editor/package.json +2 -2
- package/node-icon/index.d.ts +19 -1
- package/node-icon/node-icon_public_index.d.ts +4 -0
- package/node-icon/package.json +2 -2
- package/package.json +26 -36
- package/page-slider/index.d.ts +19 -1
- package/page-slider/package.json +2 -2
- package/page-slider/page-slider_public_index.d.ts +4 -0
- package/reports/filter-widget.d.ts +37 -0
- package/reports/index.d.ts +19 -1
- package/reports/package.json +2 -2
- package/reports/public-api.d.ts +1 -0
- package/reports/reports-module.d.ts +21 -19
- package/reports/reports_public_index.d.ts +4 -0
- package/time/index.d.ts +19 -1
- package/time/package.json +2 -2
- package/time/time_public_index.d.ts +4 -0
- package/esm2020/report-builder/column.mjs +0 -76
- package/esm2020/report-builder/condition-editor.mjs +0 -162
- package/esm2020/report-builder/content.mjs +0 -256
- package/esm2020/report-builder/custom-widget-dialog.mjs +0 -50
- package/esm2020/report-builder/custom-widget-toolbar-button.mjs +0 -67
- package/esm2020/report-builder/custom-widgets-toolbar.mjs +0 -124
- package/esm2020/report-builder/forms-analyzer-dialog.mjs +0 -328
- package/esm2020/report-builder/forms-analyzer.mjs +0 -244
- package/esm2020/report-builder/image-filter.mjs +0 -38
- package/esm2020/report-builder/image-group.mjs +0 -112
- package/esm2020/report-builder/index.mjs +0 -5
- package/esm2020/report-builder/models.mjs +0 -23
- package/esm2020/report-builder/operations.mjs +0 -23
- package/esm2020/report-builder/properties.mjs +0 -761
- package/esm2020/report-builder/public-api.mjs +0 -26
- package/esm2020/report-builder/quill-editor.mjs +0 -307
- package/esm2020/report-builder/renderer-widget.mjs +0 -243
- package/esm2020/report-builder/report-builder-drag-data.mjs +0 -23
- package/esm2020/report-builder/report-builder-module.mjs +0 -155
- package/esm2020/report-builder/report-builder-service.mjs +0 -1690
- package/esm2020/report-builder/report-builder.mjs +0 -51
- package/esm2020/report-builder/theme-color-dialog.mjs +0 -67
- package/esm2020/report-builder/theme-color.mjs +0 -196
- package/esm2020/report-builder/tokens.mjs +0 -24
- package/esm2020/report-builder/toolbar-dialog.mjs +0 -54
- package/esm2020/report-builder/toolbar.mjs +0 -91
- package/esm2020/report-builder/utils.mjs +0 -48
- package/esm2020/report-builder/widget-toolbar-button.mjs +0 -46
- package/esm2020/report-builder/widgets-row-buttons.mjs +0 -136
- package/esm2020/report-builder/widgets-toolbar.mjs +0 -80
- package/fesm2015/report-builder.mjs +0 -5184
- package/fesm2015/report-builder.mjs.map +0 -1
- package/fesm2020/report-builder.mjs +0 -5182
- package/fesm2020/report-builder.mjs.map +0 -1
- package/report-builder/_report-builder.scss +0 -0
- package/report-builder/column.d.ts +0 -66
- package/report-builder/condition-editor.d.ts +0 -70
- package/report-builder/content.d.ts +0 -145
- package/report-builder/custom-widget-dialog.d.ts +0 -13
- package/report-builder/custom-widget-toolbar-button.d.ts +0 -48
- package/report-builder/custom-widgets-toolbar.d.ts +0 -74
- package/report-builder/forms-analyzer-dialog.d.ts +0 -94
- package/report-builder/forms-analyzer.d.ts +0 -105
- package/report-builder/image-filter.d.ts +0 -29
- package/report-builder/image-group.d.ts +0 -72
- package/report-builder/models.d.ts +0 -43
- package/report-builder/operations.d.ts +0 -45
- package/report-builder/package.json +0 -9
- package/report-builder/properties.d.ts +0 -368
- package/report-builder/public-api.d.ts +0 -26
- package/report-builder/quill-editor.d.ts +0 -116
- package/report-builder/renderer-widget.d.ts +0 -83
- package/report-builder/report-builder-drag-data.d.ts +0 -32
- package/report-builder/report-builder-module.d.ts +0 -52
- package/report-builder/report-builder-service.d.ts +0 -725
- package/report-builder/report-builder.d.ts +0 -39
- package/report-builder/theme-color-dialog.d.ts +0 -45
- package/report-builder/theme-color.d.ts +0 -111
- package/report-builder/tokens.d.ts +0 -24
- package/report-builder/toolbar-dialog.d.ts +0 -12
- package/report-builder/toolbar.d.ts +0 -30
- package/report-builder/utils.d.ts +0 -29
- package/report-builder/widget-toolbar-button.d.ts +0 -31
- package/report-builder/widgets-row-buttons.d.ts +0 -60
- package/report-builder/widgets-toolbar.d.ts +0 -26
|
@@ -1,67 +0,0 @@
|
|
|
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, Input, ViewEncapsulation } from '@angular/core';
|
|
23
|
-
import { AjfReportBuilderService } from './report-builder-service';
|
|
24
|
-
import { ajfWidgetTypeStringToIcon, ajfWidgetTypeStringToLabel } from './utils';
|
|
25
|
-
import * as i0 from "@angular/core";
|
|
26
|
-
import * as i1 from "./report-builder-service";
|
|
27
|
-
import * as i2 from "@angular/material/button";
|
|
28
|
-
/**
|
|
29
|
-
* This class will define an ajf builder field toolbar button
|
|
30
|
-
* @implements : OnInit
|
|
31
|
-
*/
|
|
32
|
-
export class AjfReportBuilderCustomWidgetToolbarButton {
|
|
33
|
-
// {...t, dropZones: ['header','content','footer','column','widget']}
|
|
34
|
-
/**
|
|
35
|
-
* this constructor will init icon registry
|
|
36
|
-
*/
|
|
37
|
-
constructor(_service) {
|
|
38
|
-
this._service = _service;
|
|
39
|
-
this.customWidgets = [];
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* this method call a service method for remove custom widget
|
|
43
|
-
*
|
|
44
|
-
* @memberOf AjfReportBuilderCustomWidgetToolbarButton
|
|
45
|
-
*/
|
|
46
|
-
remove() {
|
|
47
|
-
this._service.remove('customWidgets', this.position);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* this method will init fieldIcon and fieldLabel
|
|
51
|
-
*/
|
|
52
|
-
ngOnInit() {
|
|
53
|
-
this.widgetIcon = ajfWidgetTypeStringToIcon(this.widgetType);
|
|
54
|
-
this.widgetLabel = ajfWidgetTypeStringToLabel(this.widgetType);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
AjfReportBuilderCustomWidgetToolbarButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderCustomWidgetToolbarButton, deps: [{ token: i1.AjfReportBuilderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
AjfReportBuilderCustomWidgetToolbarButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: AjfReportBuilderCustomWidgetToolbarButton, selector: "ajf-report-builder-custom-widget-toolbar-button", inputs: { widgetType: "widgetType", position: "position" }, ngImport: i0, template: "<a mat-button>\n {{ widgetType}}\n <i class=\"material-icons\"(click)=\"remove()\">remove_circle_outline</i>\n</a>\n\n", styles: ["ajf-report-builder-custom-widget-toolbar-button{margin-right:20px}ajf-report-builder-custom-widget-toolbar-button a{min-height:60px;margin-top:20px}ajf-report-builder-custom-widget-toolbar-button a i{display:none}ajf-report-builder-custom-widget-toolbar-button a:hover i{display:inline;position:absolute !important;margin-left:5px !important;z-index:5}\n"], components: [{ type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderCustomWidgetToolbarButton, decorators: [{
|
|
60
|
-
type: Component,
|
|
61
|
-
args: [{ selector: 'ajf-report-builder-custom-widget-toolbar-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<a mat-button>\n {{ widgetType}}\n <i class=\"material-icons\"(click)=\"remove()\">remove_circle_outline</i>\n</a>\n\n", styles: ["ajf-report-builder-custom-widget-toolbar-button{margin-right:20px}ajf-report-builder-custom-widget-toolbar-button a{min-height:60px;margin-top:20px}ajf-report-builder-custom-widget-toolbar-button a i{display:none}ajf-report-builder-custom-widget-toolbar-button a:hover i{display:inline;position:absolute !important;margin-left:5px !important;z-index:5}\n"] }]
|
|
62
|
-
}], ctorParameters: function () { return [{ type: i1.AjfReportBuilderService }]; }, propDecorators: { widgetType: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], position: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXdpZGdldC10b29sYmFyLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9yZXBvcnQtYnVpbGRlci9jdXN0b20td2lkZ2V0LXRvb2xiYXItYnV0dG9uLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3JlcG9ydC1idWlsZGVyL2N1c3RvbS13aWRnZXQtdG9vbGJhci1idXR0b24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUMsTUFBTSxTQUFTLENBQUM7Ozs7QUFTOUU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHlDQUF5QztJQU9wRCxxRUFBcUU7SUFFckU7O09BRUc7SUFDSCxZQUFvQixRQUFpQztRQUFqQyxhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQVByRCxrQkFBYSxHQUFVLEVBQUUsQ0FBQztJQU84QixDQUFDO0lBRXpEOzs7O09BSUc7SUFDSCxNQUFNO1FBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakUsQ0FBQzs7OElBNUJVLHlDQUF5QztrSUFBekMseUNBQXlDLG1KQ3RDdEQsMEhBS0E7bUdEaUNhLHlDQUF5QztrQkFYckQsU0FBUzsrQkFDRSxpREFBaUQsaUJBRzVDLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEdBT3RDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QWpmUmVwb3J0QnVpbGRlclNlcnZpY2V9IGZyb20gJy4vcmVwb3J0LWJ1aWxkZXItc2VydmljZSc7XG5pbXBvcnQge2FqZldpZGdldFR5cGVTdHJpbmdUb0ljb24sIGFqZldpZGdldFR5cGVTdHJpbmdUb0xhYmVsfSBmcm9tICcuL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWpmLXJlcG9ydC1idWlsZGVyLWN1c3RvbS13aWRnZXQtdG9vbGJhci1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJ2N1c3RvbS13aWRnZXQtdG9vbGJhci1idXR0b24uaHRtbCcsXG4gIHN0eWxlVXJsczogWydjdXN0b20td2lkZ2V0LXRvb2xiYXItYnV0dG9uLmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbi8qKlxuICogVGhpcyBjbGFzcyB3aWxsIGRlZmluZSBhbiBhamYgYnVpbGRlciBmaWVsZCB0b29sYmFyIGJ1dHRvblxuICogQGltcGxlbWVudHMgOiBPbkluaXRcbiAqL1xuZXhwb3J0IGNsYXNzIEFqZlJlcG9ydEJ1aWxkZXJDdXN0b21XaWRnZXRUb29sYmFyQnV0dG9uIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgd2lkZ2V0VHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSBwb3NpdGlvbjogbnVtYmVyO1xuICB3aWRnZXRJY29uOiBzdHJpbmc7XG4gIHdpZGdldExhYmVsOiBzdHJpbmc7XG4gIGN1c3RvbVdpZGdldHM6IGFueVtdID0gW107XG5cbiAgLy8gey4uLnQsIGRyb3Bab25lczogWydoZWFkZXInLCdjb250ZW50JywnZm9vdGVyJywnY29sdW1uJywnd2lkZ2V0J119XG5cbiAgLyoqXG4gICAqIHRoaXMgY29uc3RydWN0b3Igd2lsbCBpbml0IGljb24gcmVnaXN0cnlcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEFqZlJlcG9ydEJ1aWxkZXJTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiB0aGlzIG1ldGhvZCBjYWxsIGEgc2VydmljZSBtZXRob2QgZm9yIHJlbW92ZSBjdXN0b20gd2lkZ2V0XG4gICAqXG4gICAqIEBtZW1iZXJPZiBBamZSZXBvcnRCdWlsZGVyQ3VzdG9tV2lkZ2V0VG9vbGJhckJ1dHRvblxuICAgKi9cbiAgcmVtb3ZlKCkge1xuICAgIHRoaXMuX3NlcnZpY2UucmVtb3ZlKCdjdXN0b21XaWRnZXRzJywgdGhpcy5wb3NpdGlvbik7XG4gIH1cbiAgLyoqXG4gICAqIHRoaXMgbWV0aG9kIHdpbGwgaW5pdCAgZmllbGRJY29uIGFuZCBmaWVsZExhYmVsXG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLndpZGdldEljb24gPSBhamZXaWRnZXRUeXBlU3RyaW5nVG9JY29uKHRoaXMud2lkZ2V0VHlwZSk7XG4gICAgdGhpcy53aWRnZXRMYWJlbCA9IGFqZldpZGdldFR5cGVTdHJpbmdUb0xhYmVsKHRoaXMud2lkZ2V0VHlwZSk7XG4gIH1cbn1cbiIsIjxhIG1hdC1idXR0b24+XG4gIHt7IHdpZGdldFR5cGV9fVxuICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIoY2xpY2spPVwicmVtb3ZlKClcIj5yZW1vdmVfY2lyY2xlX291dGxpbmU8L2k+XG48L2E+XG5cbiJdfQ==
|
|
@@ -1,124 +0,0 @@
|
|
|
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, ViewEncapsulation } from '@angular/core';
|
|
23
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
24
|
-
import { Subscription, timer } from 'rxjs';
|
|
25
|
-
import { AjfReportBuilderCustomWidgetDialog } from './custom-widget-dialog';
|
|
26
|
-
import { AjfReportBuilderService } from './report-builder-service';
|
|
27
|
-
import * as i0 from "@angular/core";
|
|
28
|
-
import * as i1 from "./report-builder-service";
|
|
29
|
-
import * as i2 from "@angular/material/dialog";
|
|
30
|
-
import * as i3 from "@angular/material/toolbar";
|
|
31
|
-
import * as i4 from "./custom-widget-toolbar-button";
|
|
32
|
-
import * as i5 from "@angular/common";
|
|
33
|
-
import * as i6 from "@angular/cdk/drag-drop";
|
|
34
|
-
/**
|
|
35
|
-
* This class will define an ajf builder toolbar
|
|
36
|
-
* @implements : OnDestroy
|
|
37
|
-
*/
|
|
38
|
-
export class AjfReportBuilderCustomWidgetsToolbar {
|
|
39
|
-
constructor(_service, dialog) {
|
|
40
|
-
this._service = _service;
|
|
41
|
-
this.dialog = dialog;
|
|
42
|
-
this.customWidgets = [];
|
|
43
|
-
this._customWidgetsSub = Subscription.EMPTY;
|
|
44
|
-
this._threeColumnsLayout = '{"widgetType":0,' +
|
|
45
|
-
'"content":[],"styles":{},"visibility":{"condition":"true"},"columns":[0.34,0.33,0.33],' +
|
|
46
|
-
'"content":' +
|
|
47
|
-
'[{"widgetType":7,"content":[],"styles":{},"visibility":{"condition":"true"},"content":[]},' +
|
|
48
|
-
'{"widgetType":7,"content":[],"styles":{},"visibility":{"condition":"true"},"content":[]},' +
|
|
49
|
-
'{"widgetType":7,"content":[],"styles":{},"visibility":{"condition":"true"},"content":[]}]}';
|
|
50
|
-
this._fourColumnsLayout = '{"widgetType":0,"content":[],"styles":{},"visibility":{"condition":"true"},' +
|
|
51
|
-
'"columns":[0.25,0.25,0.25,0.25],"content":' +
|
|
52
|
-
'[{"widgetType":7,"content":[],"styles":{},"visibility":{"condition":"true"},"content":[]},' +
|
|
53
|
-
'{"widgetType":7,"content":[],"styles":{},"visibility":{"condition":"true"},"content":[]},' +
|
|
54
|
-
'{"widgetType":7,"content":[],"styles":{},"visibility":{"condition":"true"},"content":[]},' +
|
|
55
|
-
'{"widgetType":7,"content":[],"styles":{},"visibility":{"condition":"true"},"content":[]}]}';
|
|
56
|
-
}
|
|
57
|
-
openDialog(idx) {
|
|
58
|
-
this._dialogRef = this.dialog.open(AjfReportBuilderCustomWidgetDialog);
|
|
59
|
-
this._dialogRef.componentInstance.label = this.customWidgets[idx].type;
|
|
60
|
-
this._dialogRef.componentInstance.position = idx;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* sign the start of mouse drag with 200 ms of delay
|
|
64
|
-
*
|
|
65
|
-
* @memberOf AjfReportBuilderContent
|
|
66
|
-
*/
|
|
67
|
-
onDragStartHandler() {
|
|
68
|
-
let s = timer(200).subscribe(() => {
|
|
69
|
-
if (s != null) {
|
|
70
|
-
s.unsubscribe();
|
|
71
|
-
}
|
|
72
|
-
this._service.dragStarted();
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* sign the end of mouse drag
|
|
77
|
-
*
|
|
78
|
-
* @memberOf AjfReportBuilderContent
|
|
79
|
-
*/
|
|
80
|
-
onDragEndHandler() {
|
|
81
|
-
this._service.dragEnded();
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* sign the enter of mouse drag
|
|
85
|
-
*
|
|
86
|
-
* @memberOf AjfReportBuilderContent
|
|
87
|
-
*/
|
|
88
|
-
onDragEnterHandler(array, index) {
|
|
89
|
-
this._service.dragEnter(array, index);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* sign the leave of mouse drag
|
|
93
|
-
*
|
|
94
|
-
* @memberOf AjfReportBuilderContent
|
|
95
|
-
*/
|
|
96
|
-
onDragLeaveHandler() {
|
|
97
|
-
this._service.dragLeave();
|
|
98
|
-
}
|
|
99
|
-
ngOnInit() {
|
|
100
|
-
this._customWidgetsSub = this._service.customWidgets.subscribe(x => {
|
|
101
|
-
this.customWidgets = x;
|
|
102
|
-
if (this.customWidgets.length > 0 &&
|
|
103
|
-
this.customWidgets[this.customWidgets.length - 1].type == '') {
|
|
104
|
-
this.openDialog(this.customWidgets.length - 1);
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
this._service.addCustomWidgets({
|
|
108
|
-
json: this._threeColumnsLayout,
|
|
109
|
-
type: 'LayoutWidgetWith3Columns',
|
|
110
|
-
});
|
|
111
|
-
this._service.addCustomWidgets({ json: this._fourColumnsLayout, type: 'LayoutWidgetWith4Columns' });
|
|
112
|
-
}
|
|
113
|
-
ngOnDestroy() {
|
|
114
|
-
this._customWidgetsSub.unsubscribe();
|
|
115
|
-
this._service.resetCustomWidgets();
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
AjfReportBuilderCustomWidgetsToolbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderCustomWidgetsToolbar, deps: [{ token: i1.AjfReportBuilderService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
-
AjfReportBuilderCustomWidgetsToolbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: AjfReportBuilderCustomWidgetsToolbar, selector: "ajf-report-builder-custom-widgets-toolbar", ngImport: i0, template: "<mat-toolbar>\n <ng-template ngFor let-t [ngForOf]=\"customWidgets\" let-i=\"index\">\n <ajf-report-builder-custom-widget-toolbar-button\n cdkDrag\n [cdkDragData]=\"t\"\n [widgetType]=\"t.type\"\n [position]=\"i\"\n (cdkDragStarted)=\"onDragStartHandler()\"\n (cdkDragEnded)=\"onDragEndHandler();\"\n (click)=\"openDialog(i)\">\n </ajf-report-builder-custom-widget-toolbar-button>\n </ng-template>\n</mat-toolbar>\n\n\n\n", styles: ["ajf-report-builder-custom-widgets-toolbar .mat-toolbar{background-color:rgba(144,238,144,.6);border-radius:16px}ajf-report-builder-custom-widgets-toolbar .ajf-hide{display:none}ajf-report-builder-custom-widgets-toolbar .ajf-show{display:block}ajf-report-builder-custom-widgets-toolbar a{margin-right:10px}\n"], components: [{ type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i4.AjfReportBuilderCustomWidgetToolbarButton, selector: "ajf-report-builder-custom-widget-toolbar-button", inputs: ["widgetType", "position"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderCustomWidgetsToolbar, decorators: [{
|
|
121
|
-
type: Component,
|
|
122
|
-
args: [{ selector: 'ajf-report-builder-custom-widgets-toolbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-toolbar>\n <ng-template ngFor let-t [ngForOf]=\"customWidgets\" let-i=\"index\">\n <ajf-report-builder-custom-widget-toolbar-button\n cdkDrag\n [cdkDragData]=\"t\"\n [widgetType]=\"t.type\"\n [position]=\"i\"\n (cdkDragStarted)=\"onDragStartHandler()\"\n (cdkDragEnded)=\"onDragEndHandler();\"\n (click)=\"openDialog(i)\">\n </ajf-report-builder-custom-widget-toolbar-button>\n </ng-template>\n</mat-toolbar>\n\n\n\n", styles: ["ajf-report-builder-custom-widgets-toolbar .mat-toolbar{background-color:rgba(144,238,144,.6);border-radius:16px}ajf-report-builder-custom-widgets-toolbar .ajf-hide{display:none}ajf-report-builder-custom-widgets-toolbar .ajf-show{display:block}ajf-report-builder-custom-widgets-toolbar a{margin-right:10px}\n"] }]
|
|
123
|
-
}], ctorParameters: function () { return [{ type: i1.AjfReportBuilderService }, { type: i2.MatDialog }]; } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXdpZGdldHMtdG9vbGJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9yZXBvcnQtYnVpbGRlci9jdXN0b20td2lkZ2V0cy10b29sYmFyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3JlcG9ydC1idWlsZGVyL2N1c3RvbS13aWRnZXRzLXRvb2xiYXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBZSxNQUFNLDBCQUEwQixDQUFDO0FBRWpFLE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQXVCakU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9DQUFvQztJQXFCL0MsWUFBb0IsUUFBaUMsRUFBUyxNQUFpQjtRQUEzRCxhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUFwQi9FLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUUzQixzQkFBaUIsR0FBaUIsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUlyRCx3QkFBbUIsR0FBVyxrQkFBa0I7WUFDcEQsd0ZBQXdGO1lBQ3hGLFlBQVk7WUFDWiw0RkFBNEY7WUFDNUYsMkZBQTJGO1lBQzNGLDRGQUE0RixDQUFDO1FBQ3pGLHVCQUFrQixHQUN0Qiw2RUFBNkU7WUFDN0UsNENBQTRDO1lBQzVDLDRGQUE0RjtZQUM1RiwyRkFBMkY7WUFDM0YsMkZBQTJGO1lBQzNGLDRGQUE0RixDQUFDO0lBRWYsQ0FBQztJQUVuRixVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ25ELENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDYixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDakI7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUMsS0FBYSxFQUFFLEtBQWE7UUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO2dCQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ2hEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQzlCLElBQUksRUFBRSwwQkFBMEI7U0FDakMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDMUIsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7O3lJQXpGVSxvQ0FBb0M7NkhBQXBDLG9DQUFvQyxpRkM3RGpELCtlQWdCQTttR0Q2Q2Esb0NBQW9DO2tCQVhoRCxTQUFTOytCQUNFLDJDQUEyQyxpQkFHdEMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXREaWFsb2csIE1hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHtTdWJzY3JpcHRpb24sIHRpbWVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtBamZSZXBvcnRCdWlsZGVyQ3VzdG9tV2lkZ2V0RGlhbG9nfSBmcm9tICcuL2N1c3RvbS13aWRnZXQtZGlhbG9nJztcbmltcG9ydCB7QWpmUmVwb3J0QnVpbGRlclNlcnZpY2V9IGZyb20gJy4vcmVwb3J0LWJ1aWxkZXItc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWpmU3R5bGVzIHtcbiAgW3N0eWxlOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tV2lkZ2V0IHtcbiAganNvbjogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tV2lkZ2V0cyB7XG4gIHdpZGdldHM6IEN1c3RvbVdpZGdldFtdO1xufVxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FqZi1yZXBvcnQtYnVpbGRlci1jdXN0b20td2lkZ2V0cy10b29sYmFyJyxcbiAgc3R5bGVVcmxzOiBbJ2N1c3RvbS13aWRnZXRzLXRvb2xiYXIuY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnY3VzdG9tLXdpZGdldHMtdG9vbGJhci5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG4vKipcbiAqIFRoaXMgY2xhc3Mgd2lsbCBkZWZpbmUgYW4gYWpmIGJ1aWxkZXIgdG9vbGJhclxuICogQGltcGxlbWVudHMgOiBPbkRlc3Ryb3lcbiAqL1xuZXhwb3J0IGNsYXNzIEFqZlJlcG9ydEJ1aWxkZXJDdXN0b21XaWRnZXRzVG9vbGJhciBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgY3VzdG9tV2lkZ2V0czogQ3VzdG9tV2lkZ2V0W10gPSBbXTtcblxuICBwcml2YXRlIF9jdXN0b21XaWRnZXRzU3ViOiBTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWpmUmVwb3J0QnVpbGRlckN1c3RvbVdpZGdldERpYWxvZz47XG5cbiAgcHJpdmF0ZSBfdGhyZWVDb2x1bW5zTGF5b3V0OiBzdHJpbmcgPSAne1wid2lkZ2V0VHlwZVwiOjAsJyArXG4gICAgICAnXCJjb250ZW50XCI6W10sXCJzdHlsZXNcIjp7fSxcInZpc2liaWxpdHlcIjp7XCJjb25kaXRpb25cIjpcInRydWVcIn0sXCJjb2x1bW5zXCI6WzAuMzQsMC4zMywwLjMzXSwnICtcbiAgICAgICdcImNvbnRlbnRcIjonICtcbiAgICAgICdbe1wid2lkZ2V0VHlwZVwiOjcsXCJjb250ZW50XCI6W10sXCJzdHlsZXNcIjp7fSxcInZpc2liaWxpdHlcIjp7XCJjb25kaXRpb25cIjpcInRydWVcIn0sXCJjb250ZW50XCI6W119LCcgK1xuICAgICAgJ3tcIndpZGdldFR5cGVcIjo3LFwiY29udGVudFwiOltdLFwic3R5bGVzXCI6e30sXCJ2aXNpYmlsaXR5XCI6e1wiY29uZGl0aW9uXCI6XCJ0cnVlXCJ9LFwiY29udGVudFwiOltdfSwnICtcbiAgICAgICd7XCJ3aWRnZXRUeXBlXCI6NyxcImNvbnRlbnRcIjpbXSxcInN0eWxlc1wiOnt9LFwidmlzaWJpbGl0eVwiOntcImNvbmRpdGlvblwiOlwidHJ1ZVwifSxcImNvbnRlbnRcIjpbXX1dfSc7XG4gIHByaXZhdGUgX2ZvdXJDb2x1bW5zTGF5b3V0OiBzdHJpbmcgPVxuICAgICAgJ3tcIndpZGdldFR5cGVcIjowLFwiY29udGVudFwiOltdLFwic3R5bGVzXCI6e30sXCJ2aXNpYmlsaXR5XCI6e1wiY29uZGl0aW9uXCI6XCJ0cnVlXCJ9LCcgK1xuICAgICAgJ1wiY29sdW1uc1wiOlswLjI1LDAuMjUsMC4yNSwwLjI1XSxcImNvbnRlbnRcIjonICtcbiAgICAgICdbe1wid2lkZ2V0VHlwZVwiOjcsXCJjb250ZW50XCI6W10sXCJzdHlsZXNcIjp7fSxcInZpc2liaWxpdHlcIjp7XCJjb25kaXRpb25cIjpcInRydWVcIn0sXCJjb250ZW50XCI6W119LCcgK1xuICAgICAgJ3tcIndpZGdldFR5cGVcIjo3LFwiY29udGVudFwiOltdLFwic3R5bGVzXCI6e30sXCJ2aXNpYmlsaXR5XCI6e1wiY29uZGl0aW9uXCI6XCJ0cnVlXCJ9LFwiY29udGVudFwiOltdfSwnICtcbiAgICAgICd7XCJ3aWRnZXRUeXBlXCI6NyxcImNvbnRlbnRcIjpbXSxcInN0eWxlc1wiOnt9LFwidmlzaWJpbGl0eVwiOntcImNvbmRpdGlvblwiOlwidHJ1ZVwifSxcImNvbnRlbnRcIjpbXX0sJyArXG4gICAgICAne1wid2lkZ2V0VHlwZVwiOjcsXCJjb250ZW50XCI6W10sXCJzdHlsZXNcIjp7fSxcInZpc2liaWxpdHlcIjp7XCJjb25kaXRpb25cIjpcInRydWVcIn0sXCJjb250ZW50XCI6W119XX0nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEFqZlJlcG9ydEJ1aWxkZXJTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgb3BlbkRpYWxvZyhpZHg6IG51bWJlcikge1xuICAgIHRoaXMuX2RpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWpmUmVwb3J0QnVpbGRlckN1c3RvbVdpZGdldERpYWxvZyk7XG4gICAgdGhpcy5fZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmxhYmVsID0gdGhpcy5jdXN0b21XaWRnZXRzW2lkeF0udHlwZTtcbiAgICB0aGlzLl9kaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UucG9zaXRpb24gPSBpZHg7XG4gIH1cblxuXG4gIC8qKlxuICAgKiAgc2lnbiB0aGUgc3RhcnQgb2YgbW91c2UgZHJhZyB3aXRoIDIwMCBtcyBvZiBkZWxheVxuICAgKlxuICAgKiBAbWVtYmVyT2YgQWpmUmVwb3J0QnVpbGRlckNvbnRlbnRcbiAgICovXG4gIG9uRHJhZ1N0YXJ0SGFuZGxlcigpOiB2b2lkIHtcbiAgICBsZXQgcyA9IHRpbWVyKDIwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmIChzICE9IG51bGwpIHtcbiAgICAgICAgcy51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5fc2VydmljZS5kcmFnU3RhcnRlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIHNpZ24gdGhlIGVuZCBvZiBtb3VzZSBkcmFnXG4gICAqXG4gICAqIEBtZW1iZXJPZiBBamZSZXBvcnRCdWlsZGVyQ29udGVudFxuICAgKi9cbiAgb25EcmFnRW5kSGFuZGxlcigpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXJ2aWNlLmRyYWdFbmRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqICBzaWduIHRoZSBlbnRlciBvZiBtb3VzZSBkcmFnXG4gICAqXG4gICAqIEBtZW1iZXJPZiBBamZSZXBvcnRCdWlsZGVyQ29udGVudFxuICAgKi9cbiAgb25EcmFnRW50ZXJIYW5kbGVyKGFycmF5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXJ2aWNlLmRyYWdFbnRlcihhcnJheSwgaW5kZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHNpZ24gdGhlIGxlYXZlIG9mIG1vdXNlIGRyYWdcbiAgICpcbiAgICogQG1lbWJlck9mIEFqZlJlcG9ydEJ1aWxkZXJDb250ZW50XG4gICAqL1xuICBvbkRyYWdMZWF2ZUhhbmRsZXIoKTogdm9pZCB7XG4gICAgdGhpcy5fc2VydmljZS5kcmFnTGVhdmUoKTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jdXN0b21XaWRnZXRzU3ViID0gdGhpcy5fc2VydmljZS5jdXN0b21XaWRnZXRzLnN1YnNjcmliZSh4ID0+IHtcbiAgICAgIHRoaXMuY3VzdG9tV2lkZ2V0cyA9IHg7XG4gICAgICBpZiAodGhpcy5jdXN0b21XaWRnZXRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICB0aGlzLmN1c3RvbVdpZGdldHNbdGhpcy5jdXN0b21XaWRnZXRzLmxlbmd0aCAtIDFdLnR5cGUgPT0gJycpIHtcbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nKHRoaXMuY3VzdG9tV2lkZ2V0cy5sZW5ndGggLSAxKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLl9zZXJ2aWNlLmFkZEN1c3RvbVdpZGdldHMoe1xuICAgICAganNvbjogdGhpcy5fdGhyZWVDb2x1bW5zTGF5b3V0LFxuICAgICAgdHlwZTogJ0xheW91dFdpZGdldFdpdGgzQ29sdW1ucycsXG4gICAgfSk7XG4gICAgdGhpcy5fc2VydmljZS5hZGRDdXN0b21XaWRnZXRzKFxuICAgICAgICB7anNvbjogdGhpcy5fZm91ckNvbHVtbnNMYXlvdXQsIHR5cGU6ICdMYXlvdXRXaWRnZXRXaXRoNENvbHVtbnMnfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jdXN0b21XaWRnZXRzU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fc2VydmljZS5yZXNldEN1c3RvbVdpZGdldHMoKTtcbiAgfVxufVxuIiwiPG1hdC10b29sYmFyPlxuICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXQgW25nRm9yT2ZdPVwiY3VzdG9tV2lkZ2V0c1wiIGxldC1pPVwiaW5kZXhcIj5cbiAgICA8YWpmLXJlcG9ydC1idWlsZGVyLWN1c3RvbS13aWRnZXQtdG9vbGJhci1idXR0b25cbiAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgW2Nka0RyYWdEYXRhXT1cInRcIlxuICAgICAgICAgIFt3aWRnZXRUeXBlXT1cInQudHlwZVwiXG4gICAgICAgICAgW3Bvc2l0aW9uXT1cImlcIlxuICAgICAgICAgIChjZGtEcmFnU3RhcnRlZCk9XCJvbkRyYWdTdGFydEhhbmRsZXIoKVwiXG4gICAgICAgICAgKGNka0RyYWdFbmRlZCk9XCJvbkRyYWdFbmRIYW5kbGVyKCk7XCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkRpYWxvZyhpKVwiPlxuICAgIDwvYWpmLXJlcG9ydC1idWlsZGVyLWN1c3RvbS13aWRnZXQtdG9vbGJhci1idXR0b24+XG4gICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtdG9vbGJhcj5cblxuXG5cbiJdfQ==
|
|
@@ -1,328 +0,0 @@
|
|
|
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 { AjfFieldType, AjfValidationService } from '@ajf/core/forms';
|
|
23
|
-
import { AjfImageType } from '@ajf/core/image';
|
|
24
|
-
import { AjfExpressionUtils, createFormula, validateExpression } from '@ajf/core/models';
|
|
25
|
-
import { AjfAggregationType } from '@ajf/core/reports';
|
|
26
|
-
import { sizedEnumToStringArray } from '@ajf/core/utils';
|
|
27
|
-
import { AjfMonacoEditor } from '@ajf/material/monaco-editor';
|
|
28
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
29
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
30
|
-
import { Subscription } from 'rxjs';
|
|
31
|
-
import { AjfReportBuilderService } from './report-builder-service';
|
|
32
|
-
import * as i0 from "@angular/core";
|
|
33
|
-
import * as i1 from "./report-builder-service";
|
|
34
|
-
import * as i2 from "@angular/material/dialog";
|
|
35
|
-
import * as i3 from "@ajf/core/forms";
|
|
36
|
-
import * as i4 from "@angular/material/list";
|
|
37
|
-
import * as i5 from "@angular/material/button";
|
|
38
|
-
import * as i6 from "@angular/material/select";
|
|
39
|
-
import * as i7 from "@angular/material/core";
|
|
40
|
-
import * as i8 from "@angular/material/form-field";
|
|
41
|
-
import * as i9 from "@ajf/material/monaco-editor";
|
|
42
|
-
import * as i10 from "@angular/common";
|
|
43
|
-
import * as i11 from "@angular/forms";
|
|
44
|
-
export class AjfReportBuilderFormsAnalyzerDialog {
|
|
45
|
-
constructor(_service, _dialogRef, _) {
|
|
46
|
-
this._service = _service;
|
|
47
|
-
this._dialogRef = _dialogRef;
|
|
48
|
-
this.aggregationTypes = sizedEnumToStringArray(AjfAggregationType);
|
|
49
|
-
// operators is an array of any type that contains all allow operators
|
|
50
|
-
this.operators = [
|
|
51
|
-
'true', 'false', '( )', '\' \'', '<', '<=', '>=', '>', '!=', '!', '&&', '||', '+', '-', '*',
|
|
52
|
-
'/', '%', '=='
|
|
53
|
-
];
|
|
54
|
-
this.formulaText = '';
|
|
55
|
-
this.formulaDate = '';
|
|
56
|
-
this.safeFormulaText = '';
|
|
57
|
-
this.label = '';
|
|
58
|
-
this.condition = '';
|
|
59
|
-
this.aggregationType = AjfAggregationType.Sum;
|
|
60
|
-
this.currentId = 0;
|
|
61
|
-
this.currentIndex = 0;
|
|
62
|
-
this.labels = [];
|
|
63
|
-
this.currentWidget = null;
|
|
64
|
-
this.formsVariablesName = [];
|
|
65
|
-
this.formsVariablesType = [];
|
|
66
|
-
this._formAnalyzerSub = Subscription.EMPTY;
|
|
67
|
-
this._currentWidgetSub = Subscription.EMPTY;
|
|
68
|
-
this._first = true;
|
|
69
|
-
if (this.init == false) {
|
|
70
|
-
this.formulaText = '';
|
|
71
|
-
this.aggregationType = AjfAggregationType.Sum;
|
|
72
|
-
}
|
|
73
|
-
this._currentWidgetSub = this._service.currentWidget.subscribe(x => {
|
|
74
|
-
if (x != null) {
|
|
75
|
-
this.currentWidget = x;
|
|
76
|
-
if (this.currentWidget.widgetType == 2) {
|
|
77
|
-
let myObj = this.currentWidget;
|
|
78
|
-
if (myObj.imageType == AjfImageType.Flag) {
|
|
79
|
-
this.formula = (myObj.flag) ? myObj.flag.formula : '';
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
this.formula = (myObj.icon) ? myObj.icon.formula : '';
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
this._formAnalyzerSub = this._service.formsVariables.subscribe((x) => {
|
|
88
|
-
if (x != null) {
|
|
89
|
-
this.formsVariables = x;
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
onEditorInit() {
|
|
94
|
-
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({ noSemanticValidation: false, noSyntaxValidation: false });
|
|
95
|
-
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
|
|
96
|
-
target: monaco.languages.typescript.ScriptTarget.ES2015,
|
|
97
|
-
allowNonTsExtensions: true,
|
|
98
|
-
allowJs: true,
|
|
99
|
-
module: monaco.languages.typescript.ModuleKind.None
|
|
100
|
-
});
|
|
101
|
-
try {
|
|
102
|
-
monaco.languages.typescript.javascriptDefaults.addExtraLib('', 'condition-editor-variables.d.ts');
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
monaco.languages.typescript.javascriptDefaults._extraLibs['condition-editor-variables.d.ts'] =
|
|
106
|
-
'';
|
|
107
|
-
}
|
|
108
|
-
try {
|
|
109
|
-
monaco.languages.typescript.javascriptDefaults.addExtraLib('', 'condition-editor-functions.d.ts');
|
|
110
|
-
}
|
|
111
|
-
catch (e) {
|
|
112
|
-
monaco.languages.typescript.javascriptDefaults._extraLibs['condition-editor-functions.d.ts'] =
|
|
113
|
-
'';
|
|
114
|
-
}
|
|
115
|
-
this._initFormsVariablesNames();
|
|
116
|
-
this._updateVariables();
|
|
117
|
-
this._updateFunctions();
|
|
118
|
-
}
|
|
119
|
-
_initFormsVariablesNames() {
|
|
120
|
-
this.formsVariables.forEach((formVar) => {
|
|
121
|
-
formVar.names.forEach((name) => {
|
|
122
|
-
this.formsVariablesName.push(name);
|
|
123
|
-
});
|
|
124
|
-
formVar.types.forEach((type) => {
|
|
125
|
-
this.formsVariablesType.push(this._fieldVarType(type) || '');
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
_updateVariables() {
|
|
130
|
-
if (this.formsVariables == null) {
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
try {
|
|
134
|
-
let value = '';
|
|
135
|
-
for (let i = 0; i < this.formsVariablesName.length; i++) {
|
|
136
|
-
value += `declare const ${this.formsVariablesName[i]}: ${this.formsVariablesType[i]};`;
|
|
137
|
-
}
|
|
138
|
-
value += `\n`;
|
|
139
|
-
monaco.languages.typescript.javascriptDefaults._extraLibs['condition-editor-variables.d.ts'] =
|
|
140
|
-
value;
|
|
141
|
-
}
|
|
142
|
-
catch (e) {
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
_updateFunctions() {
|
|
146
|
-
try {
|
|
147
|
-
monaco.languages.typescript.javascriptDefaults._extraLibs['condition-editor-functions.d.ts'] =
|
|
148
|
-
AjfExpressionUtils.UTIL_FUNCTIONS;
|
|
149
|
-
}
|
|
150
|
-
catch (e) {
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
_fieldVarType(fieldType) {
|
|
154
|
-
switch (fieldType) {
|
|
155
|
-
case AjfFieldType.Boolean:
|
|
156
|
-
return 'boolean';
|
|
157
|
-
case AjfFieldType.Date:
|
|
158
|
-
case AjfFieldType.DateInput:
|
|
159
|
-
case AjfFieldType.Time:
|
|
160
|
-
return 'Date';
|
|
161
|
-
case AjfFieldType.Empty:
|
|
162
|
-
return 'void';
|
|
163
|
-
case AjfFieldType.Formula:
|
|
164
|
-
return 'number';
|
|
165
|
-
case AjfFieldType.MultipleChoice:
|
|
166
|
-
case AjfFieldType.SingleChoice:
|
|
167
|
-
return 'any';
|
|
168
|
-
case AjfFieldType.Number:
|
|
169
|
-
return 'number';
|
|
170
|
-
case AjfFieldType.Table:
|
|
171
|
-
return 'Array';
|
|
172
|
-
case AjfFieldType.String:
|
|
173
|
-
case AjfFieldType.Text:
|
|
174
|
-
return 'string';
|
|
175
|
-
}
|
|
176
|
-
return null;
|
|
177
|
-
}
|
|
178
|
-
setCurrent(id, label, index) {
|
|
179
|
-
if (!this.init) {
|
|
180
|
-
this.label = label;
|
|
181
|
-
this.init = true;
|
|
182
|
-
}
|
|
183
|
-
this.insertVariable(this.formsVariables[id].names[index] || '');
|
|
184
|
-
}
|
|
185
|
-
setCurrentId(id) {
|
|
186
|
-
this.currentId = id;
|
|
187
|
-
this.labels = this.formsVariables[id].labels;
|
|
188
|
-
this._updateVariables();
|
|
189
|
-
}
|
|
190
|
-
setAggregationType(type) {
|
|
191
|
-
this.aggregationType = type;
|
|
192
|
-
}
|
|
193
|
-
checkValidation() {
|
|
194
|
-
if (this.validateFormula()) {
|
|
195
|
-
this.safeFormulaText = this.formulaText;
|
|
196
|
-
this.isValid = true;
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
this.isValid = false;
|
|
200
|
-
}
|
|
201
|
-
if (this.formulaText == '') {
|
|
202
|
-
this.isValid = false;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
validateFormula() {
|
|
206
|
-
if (this.formulaText == '') {
|
|
207
|
-
this.init = false;
|
|
208
|
-
}
|
|
209
|
-
if (this.formsVariables == null) {
|
|
210
|
-
return false;
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
return validateExpression(this.formulaText, this.formsVariablesName);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
saveDataset() {
|
|
217
|
-
if (this.currentWidget != null) {
|
|
218
|
-
switch (this.currentWidget.widgetType) {
|
|
219
|
-
case 2:
|
|
220
|
-
this.saveImageFormula();
|
|
221
|
-
break;
|
|
222
|
-
case 3:
|
|
223
|
-
this.saveFormulaHtml();
|
|
224
|
-
break;
|
|
225
|
-
case 4:
|
|
226
|
-
this.saveChartFormula();
|
|
227
|
-
break;
|
|
228
|
-
case 5:
|
|
229
|
-
this.saveTableFormula();
|
|
230
|
-
break;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
this.close();
|
|
234
|
-
}
|
|
235
|
-
saveImageFormula() {
|
|
236
|
-
this._service.saveImageFormula(createFormula({ formula: this.formulaText }));
|
|
237
|
-
}
|
|
238
|
-
saveFormulaHtml() {
|
|
239
|
-
this._service.saveFormulaToHtml(this.formulaText, this.reference);
|
|
240
|
-
}
|
|
241
|
-
saveChartFormula() {
|
|
242
|
-
this._service.saveChartFormula(this.label, this.level, this.mainIndex, this.index, this.formulaText, this.aggregationType);
|
|
243
|
-
}
|
|
244
|
-
saveTableFormula() {
|
|
245
|
-
this._service.saveTableFormula(this.label, this.aggregationType, this.formulaText, this.mainIndex, this.index);
|
|
246
|
-
}
|
|
247
|
-
insertVariable(variable) {
|
|
248
|
-
if (this.monacoEditor != null && this.monacoEditor.editor != null) {
|
|
249
|
-
const editor = this.monacoEditor.editor;
|
|
250
|
-
let value = editor.getValue().split('\n');
|
|
251
|
-
let position = editor.getPosition();
|
|
252
|
-
const ln = position.lineNumber - 1;
|
|
253
|
-
let line = value[ln];
|
|
254
|
-
let col = position.column - 1;
|
|
255
|
-
line = line.substring(0, col) + variable + line.substring(col);
|
|
256
|
-
value[ln] = line;
|
|
257
|
-
position.column += variable.length;
|
|
258
|
-
this.monacoEditor.value = value.join('\n');
|
|
259
|
-
editor.setPosition(position);
|
|
260
|
-
editor.focus();
|
|
261
|
-
this.formulaText = editor.getValue();
|
|
262
|
-
this.checkValidation();
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
setVariable(variable) {
|
|
266
|
-
if (this.monacoEditor != null && this.monacoEditor.editor != null) {
|
|
267
|
-
const editor = this.monacoEditor.editor;
|
|
268
|
-
editor.setValue(variable);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
reset() {
|
|
272
|
-
this.formulaText = '';
|
|
273
|
-
this.aggregationType = AjfAggregationType.None;
|
|
274
|
-
}
|
|
275
|
-
close() {
|
|
276
|
-
this.reset();
|
|
277
|
-
this._dialogRef.close();
|
|
278
|
-
}
|
|
279
|
-
ngOnInit() {
|
|
280
|
-
this.formulaText = this.formula;
|
|
281
|
-
this.aggregationType = this.aggregation;
|
|
282
|
-
this.label = this.labelText;
|
|
283
|
-
if (this.formulaText == '' || this.formulaText == null) {
|
|
284
|
-
this.isValid = false;
|
|
285
|
-
}
|
|
286
|
-
else {
|
|
287
|
-
this.isValid = true;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
ngAfterViewChecked() {
|
|
291
|
-
if (this._first && this.monacoEditor != null && this.monacoEditor.editor != null) {
|
|
292
|
-
this.insertVariable(this.formulaText || '');
|
|
293
|
-
this._first = false;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
ngOnDestroy() {
|
|
297
|
-
this._formAnalyzerSub.unsubscribe();
|
|
298
|
-
this._currentWidgetSub.unsubscribe();
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
AjfReportBuilderFormsAnalyzerDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderFormsAnalyzerDialog, deps: [{ token: i1.AjfReportBuilderService }, { token: i2.MatDialogRef }, { token: i3.AjfValidationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
302
|
-
AjfReportBuilderFormsAnalyzerDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: AjfReportBuilderFormsAnalyzerDialog, selector: "forms-analyzer-dialog", inputs: { formula: "formula", isFormula: "isFormula", labelText: "labelText", aggregation: "aggregation", init: "init", level: "level", index: "index", mainIndex: "mainIndex", reference: "reference" }, viewQueries: [{ propertyName: "monacoEditor", first: true, predicate: AjfMonacoEditor, descendants: true }], ngImport: i0, template: "<h3 matDialogTitle> Formula editor </h3>\n<div mat-dialog-content #elem>\n <ng-template [ngIf]=\"currentWidget != null && formsVariables != null\">\n <div class=\"ajf-left\">\n <mat-list>\n <mat-list-item *ngFor=\"let operator of operators\">\n <button mat-button (click)=\"insertVariable(operator)\">\n <h4 matLine>{{operator}}</h4>\n </button>\n </mat-list-item>\n </mat-list>\n </div>\n <div class=\"ajf-main\">\n <mat-select *ngIf=\"!isFormula\" placeholder=\"Select type of agregation\" [(ngModel)]=\"aggregationType\">\n <mat-option [value]=\"idx\" *ngFor=\"let ag of aggregationTypes; let idx = index\"> {{ ag }} </mat-option>\n </mat-select>\n <mat-form-field *ngIf=\"!isFormula\">\n <textarea matInput placeholder=\"Name field\" [(ngModel)]=\"label\" ></textarea>\n </mat-form-field>\n <ajf-monaco-editor\n (init)=\"onEditorInit()\"\n (valueChange)=\"formulaText = $event;checkValidation();\"\n [value]=\"condition\" language=\"javascript\">\n </ajf-monaco-editor>\n </div>\n <div class=\"ajf-menu\">\n <form>\n <mat-select placeholder=\"Select form\" (selectionChange)=\"setCurrentId($event.value)\">\n <ng-template ngFor let-form let-id=\"index\" [ngForOf]=\"formsVariables\">\n <mat-option [value]=\"id\"> {{ id }} </mat-option>\n </ng-template>\n </mat-select>\n </form>\n <mat-list>\n <h3 matSubheader>Field list</h3>\n <mat-list-item *ngFor=\"let label of labels;let i = index\">\n <button mat-button (click)=\"setCurrent(currentId, label, i)\">\n <h4 matLine>{{label}}</h4>\n </button>\n </mat-list-item>\n </mat-list>\n </div>\n </ng-template>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"saveDataset()\" [disabled]=\"!isValid\">Save</button>\n</div>\n\n", styles: ["forms-analyzer-dialog{height:512px}forms-analyzer-dialog h4[matLine]{font-size:xx-small}forms-analyzer-dialog [mat-dialog-content]{flex-direction:row;display:flex;align-items:stretch;min-width:1000px}forms-analyzer-dialog [mat-dialog-content] .ajf-left{flex:1 0 10%;width:10%;overflow-y:auto}forms-analyzer-dialog [mat-dialog-content] .ajf-left form>mat-select{width:90%;margin-left:10px;margin-right:10px}forms-analyzer-dialog [mat-dialog-content] .ajf-main{flex:1 0 55%;min-width:512px}forms-analyzer-dialog [mat-dialog-content] .ajf-main monaco-editor{height:450px;min-width:300px}forms-analyzer-dialog [mat-dialog-content] .ajf-main mat-select{width:80%}forms-analyzer-dialog [mat-dialog-content] .ajf-main mat-form-field{width:80%}forms-analyzer-dialog [mat-dialog-content] .ajf-main mat-form-field textarea{width:auto;height:auto}forms-analyzer-dialog [mat-dialog-content] .ajf-main textarea{width:80%;height:75px}forms-analyzer-dialog [mat-dialog-content] .ajf-menu{flex:1 0 30%;overflow-y:auto;min-width:350px}forms-analyzer-dialog [mat-dialog-content] .ajf-menu form>mat-select{width:90%;margin-left:10px;margin-right:10px}forms-analyzer-dialog ajf-monaco-editor{min-width:400px}\n"], components: [{ type: i4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i8.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i9.AjfMonacoEditor, selector: "ajf-monaco-editor", inputs: ["experimentalScreenReader", "ariaLabel", "rulers", "wordSeparators", "selectionClipboard", "lineNumbers", "selectOnLineNumbers", "lineNumbersMinChars", "glyphMargin", "lineDecorationsWidth", "revealHorizontalRightPadding", "roundedSelection", "theme", "readOnly", "scrollbar", "overviewRulerLanes", "cursorBlinking", "mouseWheelZoom", "cursorStyle", "fontLigatures", "disableTranslate3d", "hideCursorInOverviewRuler", "scrollBeyondLastLine", "automaticLayout", "wrappingColumn", "wordWrap", "wrappingIndent", "wordWrapBreakBeforeCharacters", "wordWrapBreakAfterCharacters", "wordWrapBreakObtrusiveCharacters", "stopRenderingLineAfter", "hover", "contextmenu", "mouseWheelScrollSensitivity", "quickSuggestions", "quickSuggestionsDelay", "parameterHints", "iconsInSuggestions", "autoClosingBrackets", "formatOnType", "suggestOnTriggerCharacters", "acceptSuggestionOnEnter", "snippetSuggestions", "tabCompletion", "wordBasedSuggestions", "selectionHighlight", "codeLens", "folding", "renderWhitespace", "renderControlCharacters", "renderIndentGuides", "renderLineHighlight", "useTabStops", "fontFamily", "fontWeight", "fontSize", "lineHeight", "language", "disableAutocomplete", "autoFormatOnLoad", "monacoLibPath", "valueToCompare", "value"], outputs: ["valueChange", "valueToCompareChange", "init"] }], directives: [{ type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.MatLine, selector: "[mat-line], [matLine]" }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i11.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i11.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
303
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AjfReportBuilderFormsAnalyzerDialog, decorators: [{
|
|
304
|
-
type: Component,
|
|
305
|
-
args: [{ selector: 'forms-analyzer-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<h3 matDialogTitle> Formula editor </h3>\n<div mat-dialog-content #elem>\n <ng-template [ngIf]=\"currentWidget != null && formsVariables != null\">\n <div class=\"ajf-left\">\n <mat-list>\n <mat-list-item *ngFor=\"let operator of operators\">\n <button mat-button (click)=\"insertVariable(operator)\">\n <h4 matLine>{{operator}}</h4>\n </button>\n </mat-list-item>\n </mat-list>\n </div>\n <div class=\"ajf-main\">\n <mat-select *ngIf=\"!isFormula\" placeholder=\"Select type of agregation\" [(ngModel)]=\"aggregationType\">\n <mat-option [value]=\"idx\" *ngFor=\"let ag of aggregationTypes; let idx = index\"> {{ ag }} </mat-option>\n </mat-select>\n <mat-form-field *ngIf=\"!isFormula\">\n <textarea matInput placeholder=\"Name field\" [(ngModel)]=\"label\" ></textarea>\n </mat-form-field>\n <ajf-monaco-editor\n (init)=\"onEditorInit()\"\n (valueChange)=\"formulaText = $event;checkValidation();\"\n [value]=\"condition\" language=\"javascript\">\n </ajf-monaco-editor>\n </div>\n <div class=\"ajf-menu\">\n <form>\n <mat-select placeholder=\"Select form\" (selectionChange)=\"setCurrentId($event.value)\">\n <ng-template ngFor let-form let-id=\"index\" [ngForOf]=\"formsVariables\">\n <mat-option [value]=\"id\"> {{ id }} </mat-option>\n </ng-template>\n </mat-select>\n </form>\n <mat-list>\n <h3 matSubheader>Field list</h3>\n <mat-list-item *ngFor=\"let label of labels;let i = index\">\n <button mat-button (click)=\"setCurrent(currentId, label, i)\">\n <h4 matLine>{{label}}</h4>\n </button>\n </mat-list-item>\n </mat-list>\n </div>\n </ng-template>\n</div>\n<div mat-dialog-actions>\n <button mat-button (click)=\"saveDataset()\" [disabled]=\"!isValid\">Save</button>\n</div>\n\n", styles: ["forms-analyzer-dialog{height:512px}forms-analyzer-dialog h4[matLine]{font-size:xx-small}forms-analyzer-dialog [mat-dialog-content]{flex-direction:row;display:flex;align-items:stretch;min-width:1000px}forms-analyzer-dialog [mat-dialog-content] .ajf-left{flex:1 0 10%;width:10%;overflow-y:auto}forms-analyzer-dialog [mat-dialog-content] .ajf-left form>mat-select{width:90%;margin-left:10px;margin-right:10px}forms-analyzer-dialog [mat-dialog-content] .ajf-main{flex:1 0 55%;min-width:512px}forms-analyzer-dialog [mat-dialog-content] .ajf-main monaco-editor{height:450px;min-width:300px}forms-analyzer-dialog [mat-dialog-content] .ajf-main mat-select{width:80%}forms-analyzer-dialog [mat-dialog-content] .ajf-main mat-form-field{width:80%}forms-analyzer-dialog [mat-dialog-content] .ajf-main mat-form-field textarea{width:auto;height:auto}forms-analyzer-dialog [mat-dialog-content] .ajf-main textarea{width:80%;height:75px}forms-analyzer-dialog [mat-dialog-content] .ajf-menu{flex:1 0 30%;overflow-y:auto;min-width:350px}forms-analyzer-dialog [mat-dialog-content] .ajf-menu form>mat-select{width:90%;margin-left:10px;margin-right:10px}forms-analyzer-dialog ajf-monaco-editor{min-width:400px}\n"] }]
|
|
306
|
-
}], ctorParameters: function () { return [{ type: i1.AjfReportBuilderService }, { type: i2.MatDialogRef }, { type: i3.AjfValidationService }]; }, propDecorators: { formula: [{
|
|
307
|
-
type: Input
|
|
308
|
-
}], isFormula: [{
|
|
309
|
-
type: Input
|
|
310
|
-
}], labelText: [{
|
|
311
|
-
type: Input
|
|
312
|
-
}], aggregation: [{
|
|
313
|
-
type: Input
|
|
314
|
-
}], init: [{
|
|
315
|
-
type: Input
|
|
316
|
-
}], level: [{
|
|
317
|
-
type: Input
|
|
318
|
-
}], index: [{
|
|
319
|
-
type: Input
|
|
320
|
-
}], mainIndex: [{
|
|
321
|
-
type: Input
|
|
322
|
-
}], reference: [{
|
|
323
|
-
type: Input
|
|
324
|
-
}], monacoEditor: [{
|
|
325
|
-
type: ViewChild,
|
|
326
|
-
args: [AjfMonacoEditor, { static: false }]
|
|
327
|
-
}] } });
|
|
328
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtYW5hbHl6ZXItZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3JlcG9ydC1idWlsZGVyL2Zvcm1zLWFuYWx5emVyLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9yZXBvcnQtYnVpbGRlci9mb3Jtcy1hbmFseXplci1kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RixPQUFPLEVBQ0wsa0JBQWtCLEVBS25CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFHTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBaUJqRSxNQUFNLE9BQU8sbUNBQW1DO0lBaUQ5QyxZQUNZLFFBQWlDLEVBQ2pDLFVBQTZELEVBQ3JFLENBQXVCO1FBRmYsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDakMs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QVAvQyxTQUFTOytCQUNFLHVCQUF1QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs0S0EyQnRDLE9BQU87c0JBQWYsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRXVDLFlBQVk7c0JBQXhELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtBamZGaWVsZFR5cGUsIEFqZlZhbGlkYXRpb25TZXJ2aWNlfSBmcm9tICdAYWpmL2NvcmUvZm9ybXMnO1xuaW1wb3J0IHtBamZJbWFnZVR5cGV9IGZyb20gJ0BhamYvY29yZS9pbWFnZSc7XG5pbXBvcnQge0FqZkV4cHJlc3Npb25VdGlscywgY3JlYXRlRm9ybXVsYSwgdmFsaWRhdGVFeHByZXNzaW9ufSBmcm9tICdAYWpmL2NvcmUvbW9kZWxzJztcbmltcG9ydCB7XG4gIEFqZkFnZ3JlZ2F0aW9uVHlwZSxcbiAgQWpmRGF0YXNldCxcbiAgQWpmRGF0YVdpZGdldCxcbiAgQWpmSW1hZ2VXaWRnZXQsXG4gIEFqZldpZGdldFxufSBmcm9tICdAYWpmL2NvcmUvcmVwb3J0cyc7XG5pbXBvcnQge3NpemVkRW51bVRvU3RyaW5nQXJyYXl9IGZyb20gJ0BhamYvY29yZS91dGlscyc7XG5pbXBvcnQge0FqZk1vbmFjb0VkaXRvcn0gZnJvbSAnQGFqZi9tYXRlcmlhbC9tb25hY28tZWRpdG9yJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0FqZkZvcm1WYXJpYWJsZXN9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7QWpmUmVwb3J0QnVpbGRlclNlcnZpY2V9IGZyb20gJy4vcmVwb3J0LWJ1aWxkZXItc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBlbnVtIEFqZkRhdGFUeXBlIHtcbiAgTWFpbkRhdGEsXG4gIERhdGFzZXQsXG4gIFJlbGF0ZWREYXRhLFxuICBMRU5HVEhcbn1cbmRlY2xhcmUgdmFyIG1vbmFjbzogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3Jtcy1hbmFseXplci1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJ2Zvcm1zLWFuYWx5emVyLWRpYWxvZy5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2Zvcm1zLWFuYWx5emVyLWRpYWxvZy5jc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWpmUmVwb3J0QnVpbGRlckZvcm1zQW5hbHl6ZXJEaWFsb2cgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uRGVzdHJveSB7XG4gIGFnZ3JlZ2F0aW9uVHlwZXM6IHN0cmluZ1tdID0gc2l6ZWRFbnVtVG9TdHJpbmdBcnJheShBamZBZ2dyZWdhdGlvblR5cGUpO1xuXG4gIC8vICBvcGVyYXRvcnMgaXMgYW4gYXJyYXkgb2YgYW55IHR5cGUgdGhhdCBjb250YWlucyBhbGwgYWxsb3cgb3BlcmF0b3JzXG4gIG9wZXJhdG9yczogc3RyaW5nW10gPSBbXG4gICAgJ3RydWUnLCAnZmFsc2UnLCAnKCApJywgJ1xcJyBcXCcnLCAnPCcsICc8PScsICc+PScsICc+JywgJyE9JywgJyEnLCAnJiYnLCAnfHwnLCAnKycsICctJywgJyonLFxuICAgICcvJywgJyUnLCAnPT0nXG4gIF07XG5cbiAgZm9ybXVsYVRleHQ6IHN0cmluZyA9ICcnO1xuICBmb3JtdWxhRGF0ZTogc3RyaW5nID0gJyc7XG4gIHNhZmVGb3JtdWxhVGV4dDogc3RyaW5nID0gJyc7XG4gIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgY29uZGl0aW9uOiBzdHJpbmcgPSAnJztcbiAgYWdncmVnYXRpb25UeXBlOiBBamZBZ2dyZWdhdGlvblR5cGUgPSBBamZBZ2dyZWdhdGlvblR5cGUuU3VtO1xuICBkYXRhc2V0OiBBamZEYXRhc2V0O1xuICBjdXJyZW50SWQ6IG51bWJlciA9IDA7XG4gIGN1cnJlbnRJbmRleDogbnVtYmVyID0gMDtcbiAgbGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xuICBjdXJyZW50V2lkZ2V0OiBBamZXaWRnZXR8bnVsbCA9IG51bGw7XG4gIGZvcm1zVmFyaWFibGVzOiBBamZGb3JtVmFyaWFibGVzW107XG4gIGZvcm1zVmFyaWFibGVzTmFtZTogc3RyaW5nW10gPSBbXTtcbiAgZm9ybXNWYXJpYWJsZXNUeXBlOiBzdHJpbmdbXSA9IFtdO1xuICBpc1ZhbGlkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGZvcm11bGE6IHN0cmluZztcblxuICBASW5wdXQoKSBpc0Zvcm11bGE6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgbGFiZWxUZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgYWdncmVnYXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKSBpbml0OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGxldmVsOiBudW1iZXI7XG5cbiAgQElucHV0KCkgaW5kZXg6IG51bWJlcjtcblxuICBASW5wdXQoKSBtYWluSW5kZXg6IG51bWJlcjtcblxuICBASW5wdXQoKSByZWZlcmVuY2U6IGFueTtcblxuICBAVmlld0NoaWxkKEFqZk1vbmFjb0VkaXRvciwge3N0YXRpYzogZmFsc2V9KSBtb25hY29FZGl0b3I6IEFqZk1vbmFjb0VkaXRvcjtcblxuICBwcml2YXRlIF9mb3JtQW5hbHl6ZXJTdWI6IFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgcHJpdmF0ZSBfY3VycmVudFdpZGdldFN1YjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICBwcml2YXRlIF9maXJzdDogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIF9zZXJ2aWNlOiBBamZSZXBvcnRCdWlsZGVyU2VydmljZSxcbiAgICAgIHByaXZhdGUgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFqZlJlcG9ydEJ1aWxkZXJGb3Jtc0FuYWx5emVyRGlhbG9nPixcbiAgICAgIF86IEFqZlZhbGlkYXRpb25TZXJ2aWNlKSB7XG4gICAgaWYgKHRoaXMuaW5pdCA9PSBmYWxzZSkge1xuICAgICAgdGhpcy5mb3JtdWxhVGV4dCA9ICcnO1xuICAgICAgdGhpcy5hZ2dyZWdhdGlvblR5cGUgPSBBamZBZ2dyZWdhdGlvblR5cGUuU3VtO1xuICAgIH1cbiAgICB0aGlzLl9jdXJyZW50V2lkZ2V0U3ViID0gdGhpcy5fc2VydmljZS5jdXJyZW50V2lkZ2V0LnN1YnNjcmliZSh4ID0+IHtcbiAgICAgIGlmICh4ICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50V2lkZ2V0ID0gPEFqZkRhdGFXaWRnZXQ+eDtcblxuICAgICAgICBpZiAodGhpcy5jdXJyZW50V2lkZ2V0LndpZGdldFR5cGUgPT0gMikge1xuICAgICAgICAgIGxldCBteU9iajogQWpmSW1hZ2VXaWRnZXQgPSA8QWpmSW1hZ2VXaWRnZXQ+dGhpcy5jdXJyZW50V2lkZ2V0O1xuICAgICAgICAgIGlmIChteU9iai5pbWFnZVR5cGUgPT0gQWpmSW1hZ2VUeXBlLkZsYWcpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybXVsYSA9IChteU9iai5mbGFnKSA/IG15T2JqLmZsYWcuZm9ybXVsYSA6ICcnO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvcm11bGEgPSAobXlPYmouaWNvbikgPyBteU9iai5pY29uLmZvcm11bGEgOiAnJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX2Zvcm1BbmFseXplclN1YiA9IHRoaXMuX3NlcnZpY2UuZm9ybXNWYXJpYWJsZXMuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICBpZiAoeCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuZm9ybXNWYXJpYWJsZXMgPSB4O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25FZGl0b3JJbml0KCk6IHZvaWQge1xuICAgIG1vbmFjby5sYW5ndWFnZXMudHlwZXNjcmlwdC5qYXZhc2NyaXB0RGVmYXVsdHMuc2V0RGlhZ25vc3RpY3NPcHRpb25zKFxuICAgICAgICB7bm9TZW1hbnRpY1ZhbGlkYXRpb246IGZhbHNlLCBub1N5bnRheFZhbGlkYXRpb246IGZhbHNlfSk7XG5cbiAgICBtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQuamF2YXNjcmlwdERlZmF1bHRzLnNldENvbXBpbGVyT3B0aW9ucyh7XG4gICAgICB0YXJnZXQ6IG1vbmFjby5sYW5ndWFnZXMudHlwZXNjcmlwdC5TY3JpcHRUYXJnZXQuRVMyMDE1LFxuICAgICAgYWxsb3dOb25Uc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICBhbGxvd0pzOiB0cnVlLFxuICAgICAgbW9kdWxlOiBtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQuTW9kdWxlS2luZC5Ob25lXG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgbW9uYWNvLmxhbmd1YWdlcy50eXBlc2NyaXB0LmphdmFzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYihcbiAgICAgICAgICAnJywgJ2NvbmRpdGlvbi1lZGl0b3ItdmFyaWFibGVzLmQudHMnKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQuamF2YXNjcmlwdERlZmF1bHRzLl9leHRyYUxpYnNbJ2NvbmRpdGlvbi1lZGl0b3ItdmFyaWFibGVzLmQudHMnXSA9XG4gICAgICAgICAgJyc7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQuamF2YXNjcmlwdERlZmF1bHRzLmFkZEV4dHJhTGliKFxuICAgICAgICAgICcnLCAnY29uZGl0aW9uLWVkaXRvci1mdW5jdGlvbnMuZC50cycpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIG1vbmFjby5sYW5ndWFnZXMudHlwZXNjcmlwdC5qYXZhc2NyaXB0RGVmYXVsdHMuX2V4dHJhTGlic1snY29uZGl0aW9uLWVkaXRvci1mdW5jdGlvbnMuZC50cyddID1cbiAgICAgICAgICAnJztcbiAgICB9XG5cbiAgICB0aGlzLl9pbml0Rm9ybXNWYXJpYWJsZXNOYW1lcygpO1xuICAgIHRoaXMuX3VwZGF0ZVZhcmlhYmxlcygpO1xuICAgIHRoaXMuX3VwZGF0ZUZ1bmN0aW9ucygpO1xuICB9XG5cblxuICBwcml2YXRlIF9pbml0Rm9ybXNWYXJpYWJsZXNOYW1lcygpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1zVmFyaWFibGVzLmZvckVhY2goKGZvcm1WYXIpID0+IHtcbiAgICAgIGZvcm1WYXIubmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICB0aGlzLmZvcm1zVmFyaWFibGVzTmFtZS5wdXNoKG5hbWUpO1xuICAgICAgfSk7XG4gICAgICBmb3JtVmFyLnR5cGVzLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgICAgdGhpcy5mb3Jtc1ZhcmlhYmxlc1R5cGUucHVzaCh0aGlzLl9maWVsZFZhclR5cGUodHlwZSkgfHwgJycpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgX3VwZGF0ZVZhcmlhYmxlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3Jtc1ZhcmlhYmxlcyA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBsZXQgdmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZm9ybXNWYXJpYWJsZXNOYW1lLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhbHVlICs9IGBkZWNsYXJlIGNvbnN0ICR7dGhpcy5mb3Jtc1ZhcmlhYmxlc05hbWVbaV19OiAke3RoaXMuZm9ybXNWYXJpYWJsZXNUeXBlW2ldfTtgO1xuICAgICAgfVxuXG4gICAgICB2YWx1ZSArPSBgXFxuYDtcbiAgICAgIG1vbmFjby5sYW5ndWFnZXMudHlwZXNjcmlwdC5qYXZhc2NyaXB0RGVmYXVsdHMuX2V4dHJhTGlic1snY29uZGl0aW9uLWVkaXRvci12YXJpYWJsZXMuZC50cyddID1cbiAgICAgICAgICB2YWx1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRnVuY3Rpb25zKCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBtb25hY28ubGFuZ3VhZ2VzLnR5cGVzY3JpcHQuamF2YXNjcmlwdERlZmF1bHRzLl9leHRyYUxpYnNbJ2NvbmRpdGlvbi1lZGl0b3ItZnVuY3Rpb25zLmQudHMnXSA9XG4gICAgICAgICAgQWpmRXhwcmVzc2lvblV0aWxzLlVUSUxfRlVOQ1RJT05TO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maWVsZFZhclR5cGUoZmllbGRUeXBlOiBBamZGaWVsZFR5cGUpOiBzdHJpbmd8bnVsbCB7XG4gICAgc3dpdGNoIChmaWVsZFR5cGUpIHtcbiAgICAgIGNhc2UgQWpmRmllbGRUeXBlLkJvb2xlYW46XG4gICAgICAgIHJldHVybiAnYm9vbGVhbic7XG4gICAgICBjYXNlIEFqZkZpZWxkVHlwZS5EYXRlOlxuICAgICAgY2FzZSBBamZGaWVsZFR5cGUuRGF0ZUlucHV0OlxuICAgICAgY2FzZSBBamZGaWVsZFR5cGUuVGltZTpcbiAgICAgICAgcmV0dXJuICdEYXRlJztcbiAgICAgIGNhc2UgQWpmRmllbGRUeXBlLkVtcHR5OlxuICAgICAgICByZXR1cm4gJ3ZvaWQnO1xuICAgICAgY2FzZSBBamZGaWVsZFR5cGUuRm9ybXVsYTpcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xuICAgICAgY2FzZSBBamZGaWVsZFR5cGUuTXVsdGlwbGVDaG9pY2U6XG4gICAgICBjYXNlIEFqZkZpZWxkVHlwZS5TaW5nbGVDaG9pY2U6XG4gICAgICAgIHJldHVybiAnYW55JztcbiAgICAgIGNhc2UgQWpmRmllbGRUeXBlLk51bWJlcjpcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xuICAgICAgY2FzZSBBamZGaWVsZFR5cGUuVGFibGU6XG4gICAgICAgIHJldHVybiAnQXJyYXknO1xuICAgICAgY2FzZSBBamZGaWVsZFR5cGUuU3RyaW5nOlxuICAgICAgY2FzZSBBamZGaWVsZFR5cGUuVGV4dDpcbiAgICAgICAgcmV0dXJuICdzdHJpbmcnO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHNldEN1cnJlbnQoaWQ6IG51bWJlciwgbGFiZWw6IHN0cmluZywgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICghdGhpcy5pbml0KSB7XG4gICAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gICAgICB0aGlzLmluaXQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmluc2VydFZhcmlhYmxlKHRoaXMuZm9ybXNWYXJpYWJsZXNbaWRdLm5hbWVzW2luZGV4XSB8fCAnJyk7XG4gIH1cblxuICBzZXRDdXJyZW50SWQoaWQ6IG51bWJlcikge1xuICAgIHRoaXMuY3VycmVudElkID0gaWQ7XG4gICAgdGhpcy5sYWJlbHMgPSB0aGlzLmZvcm1zVmFyaWFibGVzW2lkXS5sYWJlbHM7XG4gICAgdGhpcy5fdXBkYXRlVmFyaWFibGVzKCk7XG4gIH1cblxuICBzZXRBZ2dyZWdhdGlvblR5cGUodHlwZTogQWpmQWdncmVnYXRpb25UeXBlKSB7XG4gICAgdGhpcy5hZ2dyZWdhdGlvblR5cGUgPSB0eXBlO1xuICB9XG5cbiAgY2hlY2tWYWxpZGF0aW9uKCkge1xuICAgIGlmICh0aGlzLnZhbGlkYXRlRm9ybXVsYSgpKSB7XG4gICAgICB0aGlzLnNhZmVGb3JtdWxhVGV4dCA9IHRoaXMuZm9ybXVsYVRleHQ7XG4gICAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzVmFsaWQgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybXVsYVRleHQgPT0gJycpIHtcbiAgICAgIHRoaXMuaXNWYWxpZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlRm9ybXVsYSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5mb3JtdWxhVGV4dCA9PSAnJykge1xuICAgICAgdGhpcy5pbml0ID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1zVmFyaWFibGVzID09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbGlkYXRlRXhwcmVzc2lvbih0aGlzLmZvcm11bGFUZXh0LCB0aGlzLmZvcm1zVmFyaWFibGVzTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZURhdGFzZXQoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudFdpZGdldCAhPSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuY3VycmVudFdpZGdldC53aWRnZXRUeXBlKSB7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICB0aGlzLnNhdmVJbWFnZUZvcm11bGEoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIHRoaXMuc2F2ZUZvcm11bGFIdG1sKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICB0aGlzLnNhdmVDaGFydEZvcm11bGEoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIHRoaXMuc2F2ZVRhYmxlRm9ybXVsYSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBzYXZlSW1hZ2VGb3JtdWxhKCkge1xuICAgIHRoaXMuX3NlcnZpY2Uuc2F2ZUltYWdlRm9ybXVsYShjcmVhdGVGb3JtdWxhKHtmb3JtdWxhOiB0aGlzLmZvcm11bGFUZXh0fSkpO1xuICB9XG5cbiAgc2F2ZUZvcm11bGFIdG1sKCkge1xuICAgIHRoaXMuX3NlcnZpY2Uuc2F2ZUZvcm11bGFUb0h0bWwodGhpcy5mb3JtdWxhVGV4dCwgdGhpcy5yZWZlcmVuY2UpO1xuICB9XG5cbiAgc2F2ZUNoYXJ0Rm9ybXVsYSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXJ2aWNlLnNhdmVDaGFydEZvcm11bGEoXG4gICAgICAgIHRoaXMubGFiZWwsIHRoaXMubGV2ZWwsIHRoaXMubWFpbkluZGV4LCB0aGlzLmluZGV4LCB0aGlzLmZvcm11bGFUZXh0LCB0aGlzLmFnZ3JlZ2F0aW9uVHlwZSk7XG4gIH1cblxuICBzYXZlVGFibGVGb3JtdWxhKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlcnZpY2Uuc2F2ZVRhYmxlRm9ybXVsYShcbiAgICAgICAgdGhpcy5sYWJlbCwgdGhpcy5hZ2dyZWdhdGlvblR5cGUsIHRoaXMuZm9ybXVsYVRleHQsIHRoaXMubWFpbkluZGV4LCB0aGlzLmluZGV4KTtcbiAgfVxuXG4gIGluc2VydFZhcmlhYmxlKHZhcmlhYmxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb25hY29FZGl0b3IgIT0gbnVsbCAmJiB0aGlzLm1vbmFjb0VkaXRvci5lZGl0b3IgIT0gbnVsbCkge1xuICAgICAgY29uc3QgZWRpdG9yID0gdGhpcy5tb25hY29FZGl0b3IuZWRpdG9yO1xuICAgICAgbGV0IHZhbHVlOiBzdHJpbmdbXSA9IGVkaXRvci5nZXRWYWx1ZSgpLnNwbGl0KCdcXG4nKTtcbiAgICAgIGxldCBwb3NpdGlvbjoge2NvbHVtbjogbnVtYmVyLCBsaW5lTnVtYmVyOiBudW1iZXJ9ID0gZWRpdG9yLmdldFBvc2l0aW9uKCk7XG4gICAgICBjb25zdCBsbiA9IHBvc2l0aW9uLmxpbmVOdW1iZXIgLSAxO1xuICAgICAgbGV0IGxpbmUgPSB2YWx1ZVtsbl07XG4gICAgICBsZXQgY29sID0gcG9zaXRpb24uY29sdW1uIC0gMTtcbiAgICAgIGxpbmUgPSBsaW5lLnN1YnN0cmluZygwLCBjb2wpICsgdmFyaWFibGUgKyBsaW5lLnN1YnN0cmluZyhjb2wpO1xuICAgICAgdmFsdWVbbG5dID0gbGluZTtcbiAgICAgIHBvc2l0aW9uLmNvbHVtbiArPSB2YXJpYWJsZS5sZW5ndGg7XG4gICAgICB0aGlzLm1vbmFjb0VkaXRvci52YWx1ZSA9IHZhbHVlLmpvaW4oJ1xcbicpO1xuICAgICAgZWRpdG9yLnNldFBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICAgIGVkaXRvci5mb2N1cygpO1xuICAgICAgdGhpcy5mb3JtdWxhVGV4dCA9IGVkaXRvci5nZXRWYWx1ZSgpO1xuICAgICAgdGhpcy5jaGVja1ZhbGlkYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBzZXRWYXJpYWJsZSh2YXJpYWJsZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9uYWNvRWRpdG9yICE9IG51bGwgJiYgdGhpcy5tb25hY29FZGl0b3IuZWRpdG9yICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGVkaXRvciA9IHRoaXMubW9uYWNvRWRpdG9yLmVkaXRvcjtcbiAgICAgIGVkaXRvci5zZXRWYWx1ZSh2YXJpYWJsZSk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5mb3JtdWxhVGV4dCA9ICcnO1xuICAgIHRoaXMuYWdncmVnYXRpb25UeXBlID0gQWpmQWdncmVnYXRpb25UeXBlLk5vbmU7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLnJlc2V0KCk7XG4gICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm11bGFUZXh0ID0gdGhpcy5mb3JtdWxhO1xuICAgIHRoaXMuYWdncmVnYXRpb25UeXBlID0gdGhpcy5hZ2dyZWdhdGlvbjtcbiAgICB0aGlzLmxhYmVsID0gdGhpcy5sYWJlbFRleHQ7XG5cbiAgICBpZiAodGhpcy5mb3JtdWxhVGV4dCA9PSAnJyB8fCB0aGlzLmZvcm11bGFUZXh0ID09IG51bGwpIHtcbiAgICAgIHRoaXMuaXNWYWxpZCA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICBpZiAodGhpcy5fZmlyc3QgJiYgdGhpcy5tb25hY29FZGl0b3IgIT0gbnVsbCAmJiB0aGlzLm1vbmFjb0VkaXRvci5lZGl0b3IgIT0gbnVsbCkge1xuICAgICAgdGhpcy5pbnNlcnRWYXJpYWJsZSh0aGlzLmZvcm11bGFUZXh0IHx8ICcnKTtcbiAgICAgIHRoaXMuX2ZpcnN0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZm9ybUFuYWx5emVyU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fY3VycmVudFdpZGdldFN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8aDMgbWF0RGlhbG9nVGl0bGU+IEZvcm11bGEgZWRpdG9yIDwvaDM+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCAjZWxlbT5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImN1cnJlbnRXaWRnZXQgIT0gbnVsbCAmJiBmb3Jtc1ZhcmlhYmxlcyAhPSBudWxsXCI+XG4gICAgPGRpdiBjbGFzcz1cImFqZi1sZWZ0XCI+XG4gICAgICA8bWF0LWxpc3Q+XG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBvcGVyYXRvciBvZiBvcGVyYXRvcnNcIj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImluc2VydFZhcmlhYmxlKG9wZXJhdG9yKVwiPlxuICAgICAgICAgICAgPGg0IG1hdExpbmU+e3tvcGVyYXRvcn19PC9oND5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgPC9tYXQtbGlzdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWpmLW1haW5cIj5cbiAgICAgIDxtYXQtc2VsZWN0ICpuZ0lmPVwiIWlzRm9ybXVsYVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHR5cGUgb2YgYWdyZWdhdGlvblwiIFsobmdNb2RlbCldPVwiYWdncmVnYXRpb25UeXBlXCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImlkeFwiICpuZ0Zvcj1cImxldCBhZyBvZiBhZ2dyZWdhdGlvblR5cGVzOyBsZXQgaWR4ID0gaW5kZXhcIj4ge3sgYWcgfX0gPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiIWlzRm9ybXVsYVwiPlxuICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJOYW1lIGZpZWxkXCIgWyhuZ01vZGVsKV09XCJsYWJlbFwiID48L3RleHRhcmVhPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGFqZi1tb25hY28tZWRpdG9yXG4gICAgICAgICAgKGluaXQpPVwib25FZGl0b3JJbml0KClcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJmb3JtdWxhVGV4dCA9ICRldmVudDtjaGVja1ZhbGlkYXRpb24oKTtcIlxuICAgICAgICAgIFt2YWx1ZV09XCJjb25kaXRpb25cIiBsYW5ndWFnZT1cImphdmFzY3JpcHRcIj5cbiAgICAgICAgPC9hamYtbW9uYWNvLWVkaXRvcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWpmLW1lbnVcIj5cbiAgICAgIDxmb3JtPlxuICAgICAgICA8bWF0LXNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBmb3JtXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZXRDdXJyZW50SWQoJGV2ZW50LnZhbHVlKVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtZm9ybSBsZXQtaWQ9XCJpbmRleFwiIFtuZ0Zvck9mXT1cImZvcm1zVmFyaWFibGVzXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaWRcIj4ge3sgaWQgfX0gPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvZm9ybT5cbiAgICAgIDxtYXQtbGlzdD5cbiAgICAgICAgPGgzIG1hdFN1YmhlYWRlcj5GaWVsZCBsaXN0PC9oMz5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGxhYmVsIG9mIGxhYmVscztsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzZXRDdXJyZW50KGN1cnJlbnRJZCwgbGFiZWwsIGkpXCI+XG4gICAgICAgICAgICA8aDQgbWF0TGluZT57e2xhYmVsfX08L2g0PlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICA8L21hdC1saXN0PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzYXZlRGF0YXNldCgpXCIgW2Rpc2FibGVkXT1cIiFpc1ZhbGlkXCI+U2F2ZTwvYnV0dG9uPlxuPC9kaXY+XG5cbiJdfQ==
|