@ajf/material 12.1.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,49 @@
|
|
|
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 { AjfPageSliderModule as AjfCorePageSliderModule } from '@ajf/core/page-slider';
|
|
23
|
+
import { CommonModule } from '@angular/common';
|
|
24
|
+
import { NgModule } from '@angular/core';
|
|
25
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
26
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
27
|
+
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
28
|
+
import { AjfPageSlider } from './page-slider';
|
|
29
|
+
export class AjfPageSliderModule {
|
|
30
|
+
}
|
|
31
|
+
AjfPageSliderModule.decorators = [
|
|
32
|
+
{ type: NgModule, args: [{
|
|
33
|
+
imports: [
|
|
34
|
+
AjfCorePageSliderModule,
|
|
35
|
+
CommonModule,
|
|
36
|
+
MatButtonModule,
|
|
37
|
+
MatIconModule,
|
|
38
|
+
MatToolbarModule,
|
|
39
|
+
],
|
|
40
|
+
declarations: [
|
|
41
|
+
AjfPageSlider,
|
|
42
|
+
],
|
|
43
|
+
exports: [
|
|
44
|
+
AjfCorePageSliderModule,
|
|
45
|
+
AjfPageSlider,
|
|
46
|
+
],
|
|
47
|
+
},] }
|
|
48
|
+
];
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zbGlkZXItbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3BhZ2Utc2xpZGVyL3BhZ2Utc2xpZGVyLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsbUJBQW1CLElBQUksdUJBQXVCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFrQjVDLE1BQU0sT0FBTyxtQkFBbUI7OztZQWhCL0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCx1QkFBdUI7b0JBQ3ZCLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixhQUFhO29CQUNiLGdCQUFnQjtpQkFDakI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGFBQWE7aUJBQ2Q7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtvQkFDdkIsYUFBYTtpQkFDZDthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge0FqZlBhZ2VTbGlkZXJNb2R1bGUgYXMgQWpmQ29yZVBhZ2VTbGlkZXJNb2R1bGV9IGZyb20gJ0BhamYvY29yZS9wYWdlLXNsaWRlcic7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXRUb29sYmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcblxuaW1wb3J0IHtBamZQYWdlU2xpZGVyfSBmcm9tICcuL3BhZ2Utc2xpZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEFqZkNvcmVQYWdlU2xpZGVyTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBamZQYWdlU2xpZGVyLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQWpmQ29yZVBhZ2VTbGlkZXJNb2R1bGUsXG4gICAgQWpmUGFnZVNsaWRlcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQWpmUGFnZVNsaWRlck1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,44 @@
|
|
|
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 { AjfPageSlider as AjfCorePageSlider } from '@ajf/core/page-slider';
|
|
23
|
+
import { AnimationBuilder } from '@angular/animations';
|
|
24
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
25
|
+
export class AjfPageSlider extends AjfCorePageSlider {
|
|
26
|
+
constructor(animationBuilder, cdr, renderer) {
|
|
27
|
+
super(animationBuilder, cdr, renderer);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
AjfPageSlider.decorators = [
|
|
31
|
+
{ type: Component, args: [{
|
|
32
|
+
selector: 'ajf-page-slider',
|
|
33
|
+
template: "<div class=\"ajf-page-slider-content\">\n <div #body [ngClass]=\"'ajf-page-slider-' + orientation\" (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd()\" (mousewheel)=\"onMouseWheel($event)\"\n class=\"ajf-page-slider-body\">\n <ng-content></ng-content>\n </div>\n</div>\n<mat-toolbar *ngIf=\"!hideNavigationButtons\" class=\"ajf-toolbar\">\n <ng-content select=[ajfPageSliderBar]></ng-content>\n <div class=\"ajf-spacer\"></div>\n <div>\n <button aria-label=\"Switch orientation\" mat-button *ngIf=\"!fixedOrientation\" (click)=\"switchOrientation()\">\n <mat-icon>{{ orientation == 'vertical' ? 'swap_horiz' : 'swap_vert' }}</mat-icon>\n </button>\n <button aria-label=\"Back\" mat-button (click)=\"slide({dir: 'up'})\" secondary>\n <mat-icon *ngIf=\"orientation == 'horizontal'\">arrow_backward</mat-icon>\n <mat-icon *ngIf=\"orientation == 'vertical'\">arrow_upward</mat-icon>\n </button>\n <button aria-label=\"Forward\" mat-button (click)=\"slide({dir: 'down'})\" secondary>\n <mat-icon *ngIf=\"orientation == 'horizontal'\">arrow_forward</mat-icon>\n <mat-icon *ngIf=\"orientation == 'vertical'\">arrow_downward</mat-icon>\n </button>\n </div>\n</mat-toolbar>\n",
|
|
34
|
+
encapsulation: ViewEncapsulation.None,
|
|
35
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
36
|
+
styles: ["ajf-page-slider{display:flex;flex-direction:column;align-items:stretch}ajf-page-slider>.ajf-page-slider-content{flex:1;display:block;overflow:hidden;height:100%}ajf-page-slider>.ajf-page-slider-content>.ajf-page-slider-body{display:flex;align-items:stretch}ajf-page-slider>.ajf-page-slider-content>.ajf-page-slider-body.ajf-page-slider-vertical{flex-direction:column;width:100%}ajf-page-slider>.ajf-page-slider-content>.ajf-page-slider-body.ajf-page-slider-horizontal{flex-direction:row;height:100%}ajf-page-slider>.ajf-page-slider-content>.ajf-page-slider-body>ajf-page-slider-item{flex:1 0 auto}ajf-page-slider .ajf-spacer{flex:1 0 auto}\n"]
|
|
37
|
+
},] }
|
|
38
|
+
];
|
|
39
|
+
AjfPageSlider.ctorParameters = () => [
|
|
40
|
+
{ type: AnimationBuilder },
|
|
41
|
+
{ type: ChangeDetectorRef },
|
|
42
|
+
{ type: Renderer2 }
|
|
43
|
+
];
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zbGlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvcGFnZS1zbGlkZXIvcGFnZS1zbGlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsT0FBTyxFQUFDLGFBQWEsSUFBSSxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBU3ZCLE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBQ2xELFlBQVksZ0JBQWtDLEVBQUUsR0FBc0IsRUFBRSxRQUFtQjtRQUN6RixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQix3d0NBQStCO2dCQUUvQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFoQk8sZ0JBQWdCO1lBSXRCLGlCQUFpQjtZQUVqQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge0FqZlBhZ2VTbGlkZXIgYXMgQWpmQ29yZVBhZ2VTbGlkZXJ9IGZyb20gJ0BhamYvY29yZS9wYWdlLXNsaWRlcic7XG5pbXBvcnQge0FuaW1hdGlvbkJ1aWxkZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWpmLXBhZ2Utc2xpZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICdwYWdlLXNsaWRlci5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3BhZ2Utc2xpZGVyLmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQWpmUGFnZVNsaWRlciBleHRlbmRzIEFqZkNvcmVQYWdlU2xpZGVyIHtcbiAgY29uc3RydWN0b3IoYW5pbWF0aW9uQnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlciwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHN1cGVyKGFuaW1hdGlvbkJ1aWxkZXIsIGNkciwgcmVuZGVyZXIpO1xuICB9XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hpZGVOYXZpZ2F0aW9uQnV0dG9uczogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZml4ZWRPcmllbnRhdGlvbjogQm9vbGVhbklucHV0O1xufVxuIl19
|
|
@@ -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 './page-slider';
|
|
23
|
+
export * from './page-slider-module';
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9wYWdlLXNsaWRlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUVILGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgKEMpIEdudWNvb3Agc29jLiBjb29wLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLFxuICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uXG4gKlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zbGlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlLXNsaWRlci1tb2R1bGUnO1xuIl19
|
|
@@ -0,0 +1,97 @@
|
|
|
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 { Subscription, timer } from 'rxjs';
|
|
24
|
+
import { AjfReportBuilderService } from './report-builder-service';
|
|
25
|
+
/**
|
|
26
|
+
* this component manages the report text
|
|
27
|
+
*
|
|
28
|
+
* @export
|
|
29
|
+
*/
|
|
30
|
+
export class AjfReportBuilderColumn {
|
|
31
|
+
constructor(_service) {
|
|
32
|
+
this._service = _service;
|
|
33
|
+
/**
|
|
34
|
+
* if true mouse event is on dragged status
|
|
35
|
+
*
|
|
36
|
+
* @memberOf AjfReportBuilderContent
|
|
37
|
+
*/
|
|
38
|
+
this.showActions = false;
|
|
39
|
+
this.layoutShow = false;
|
|
40
|
+
// this boolean sign if is dragged a widget
|
|
41
|
+
this.onDragged = false;
|
|
42
|
+
this._onDraggedSub = Subscription.EMPTY;
|
|
43
|
+
}
|
|
44
|
+
addToList(event, idx, toColumn) {
|
|
45
|
+
this.onDragEndHandler();
|
|
46
|
+
if (event.dragData.fromColumn) {
|
|
47
|
+
this._service.changePositionOnColumn(event, toColumn, idx);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this._service.addToColumn(event, toColumn, idx);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* sign the start of mouse drag with 200 ms of delay
|
|
55
|
+
*
|
|
56
|
+
* @memberOf AjfReportBuilderContent
|
|
57
|
+
*/
|
|
58
|
+
onDragStartHandler() {
|
|
59
|
+
let s = timer(200).subscribe(() => {
|
|
60
|
+
s.unsubscribe();
|
|
61
|
+
this._service.dragStarted();
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* sign the end of mouse drag
|
|
66
|
+
*
|
|
67
|
+
* @memberOf AjfReportBuilderContent
|
|
68
|
+
*/
|
|
69
|
+
onDragEndHandler() {
|
|
70
|
+
this._service.dragEnded();
|
|
71
|
+
}
|
|
72
|
+
ngOnInit() {
|
|
73
|
+
// this.widget = changes.widget.currentValue;
|
|
74
|
+
this._onDraggedSub = this._service.onDragged.subscribe(x => {
|
|
75
|
+
this.onDragged = x;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
ngOnDestroy() {
|
|
79
|
+
this._onDraggedSub.unsubscribe();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
AjfReportBuilderColumn.decorators = [
|
|
83
|
+
{ type: Component, args: [{
|
|
84
|
+
selector: 'ajf-column',
|
|
85
|
+
template: "<ng-template [ngIf]=\"column.content != null\">\n <div class=\"ajf-column\"\n [ngClass]=\"{'ajf-is-on-over': showActions}\"\n (mouseenter)=\"showActions = true\"\n (mouseleave)=\"showActions = false\">\n <mat-list>\n <ng-template ngFor let-widget let-idx=\"index\" [ngForOf]=\"column.content\">\n\n <ng-template [ngIf]=\"!onDragged\">\n <ajf-report-builder-widgets-row-buttons\n cdkDrag\n [cdkDragData]=\"{fromColumn: column, fromIndex: idx, widget: widget, dropZones: ['widget']}\"\n [from]=\"'column'\"\n [fromWidget]=\"column\"\n [widget]=\"widget\"\n [position]=\"idx\"\n [child]=\"true\"\n (cdkDragStarted)=\"onDragStartHandler()\"\n (cdkDragEnded)=\"onDragEndHandler()\">\n </ajf-report-builder-widgets-row-buttons>\n </ng-template>\n <ajf-report-builder-renderer-widget [widget]=\"widget\"></ajf-report-builder-renderer-widget>\n </ng-template>\n </mat-list>\n </div>\n</ng-template>\n",
|
|
86
|
+
encapsulation: ViewEncapsulation.None,
|
|
87
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
88
|
+
styles: [".ajf-column{max-width:100%;max-height:100%;background:rgba(0,0,0,0);z-index:100}.ajf-column span{flex-direction:row;width:100%}.ajf-column .mat-list{padding:0}.ajf-column:hover span,.ajf-is-on-over span{visibility:visible !important;display:block !important}.ajf-column-drop-zone{margin:10%;height:50px;background-color:#fff;border:9px solid rgba(66,134,244,.6);border-radius:16px}mat-list{height:100%;padding:0}\n"]
|
|
89
|
+
},] }
|
|
90
|
+
];
|
|
91
|
+
AjfReportBuilderColumn.ctorParameters = () => [
|
|
92
|
+
{ type: AjfReportBuilderService }
|
|
93
|
+
];
|
|
94
|
+
AjfReportBuilderColumn.propDecorators = {
|
|
95
|
+
column: [{ type: Input }]
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3JlcG9ydC1idWlsZGVyL2NvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFHSCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBR0wsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRWpFOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sc0JBQXNCO0lBb0RqQyxZQUFvQixRQUFpQztRQUFqQyxhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQW5EckQ7Ozs7V0FJRztRQUNILGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsMkNBQTJDO1FBQzNDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVVixrQkFBYSxHQUFpQixZQUFZLENBQUMsS0FBSyxDQUFDO0lBK0JELENBQUM7SUE3QnpELFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBVyxFQUFFLFFBQXlCO1FBQzFELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzVEO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQjtRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUdELFFBQVE7UUFDTiw2Q0FBNkM7UUFFN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7O1lBdkVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsK2pDQUEwQjtnQkFFMUIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBYk8sdUJBQXVCOzs7cUJBaUM1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge0FqZkNvbHVtbldpZGdldH0gZnJvbSAnQGFqZi9jb3JlL3JlcG9ydHMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9uLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7QWpmUmVwb3J0QnVpbGRlclNlcnZpY2V9IGZyb20gJy4vcmVwb3J0LWJ1aWxkZXItc2VydmljZSc7XG5cbi8qKlxuICogdGhpcyBjb21wb25lbnQgbWFuYWdlcyB0aGUgcmVwb3J0IHRleHRcbiAqXG4gKiBAZXhwb3J0XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FqZi1jb2x1bW4nLFxuICB0ZW1wbGF0ZVVybDogJ2NvbHVtbi5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2NvbHVtbi5jc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWpmUmVwb3J0QnVpbGRlckNvbHVtbiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgLyoqXG4gICAqIGlmIHRydWUgbW91c2UgZXZlbnQgaXMgb24gZHJhZ2dlZCBzdGF0dXNcbiAgICpcbiAgICogQG1lbWJlck9mIEFqZlJlcG9ydEJ1aWxkZXJDb250ZW50XG4gICAqL1xuICBzaG93QWN0aW9ucyA9IGZhbHNlO1xuXG4gIGxheW91dFNob3cgPSBmYWxzZTtcblxuICAvLyB0aGlzIGJvb2xlYW4gc2lnbiBpZiBpcyBkcmFnZ2VkIGEgd2lkZ2V0XG4gIG9uRHJhZ2dlZCA9IGZhbHNlO1xuXG5cbiAgLyoqXG4gICAqIGlzIHRoZSBhcnJheSBvZiB2YWx1ZXNcbiAgICpcbiAgICogQG1lbWJlck9mIFRhYmxlQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjb2x1bW46IEFqZkNvbHVtbldpZGdldDtcblxuICBwcml2YXRlIF9vbkRyYWdnZWRTdWI6IFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBhZGRUb0xpc3QoZXZlbnQ6IGFueSwgaWR4OiBudW1iZXIsIHRvQ29sdW1uOiBBamZDb2x1bW5XaWRnZXQpIHtcbiAgICB0aGlzLm9uRHJhZ0VuZEhhbmRsZXIoKTtcbiAgICBpZiAoZXZlbnQuZHJhZ0RhdGEuZnJvbUNvbHVtbikge1xuICAgICAgdGhpcy5fc2VydmljZS5jaGFuZ2VQb3NpdGlvbk9uQ29sdW1uKGV2ZW50LCB0b0NvbHVtbiwgaWR4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2VydmljZS5hZGRUb0NvbHVtbihldmVudCwgdG9Db2x1bW4sIGlkeCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBzaWduIHRoZSBzdGFydCBvZiBtb3VzZSBkcmFnIHdpdGggMjAwIG1zIG9mIGRlbGF5XG4gICAqXG4gICAqIEBtZW1iZXJPZiBBamZSZXBvcnRCdWlsZGVyQ29udGVudFxuICAgKi9cbiAgb25EcmFnU3RhcnRIYW5kbGVyKCk6IHZvaWQge1xuICAgIGxldCBzID0gdGltZXIoMjAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgcy51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5fc2VydmljZS5kcmFnU3RhcnRlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIHNpZ24gdGhlIGVuZCBvZiBtb3VzZSBkcmFnXG4gICAqXG4gICAqIEBtZW1iZXJPZiBBamZSZXBvcnRCdWlsZGVyQ29udGVudFxuICAgKi9cbiAgb25EcmFnRW5kSGFuZGxlcigpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXJ2aWNlLmRyYWdFbmRlZCgpO1xuICB9XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEFqZlJlcG9ydEJ1aWxkZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIHRoaXMud2lkZ2V0ID0gY2hhbmdlcy53aWRnZXQuY3VycmVudFZhbHVlO1xuXG4gICAgdGhpcy5fb25EcmFnZ2VkU3ViID0gdGhpcy5fc2VydmljZS5vbkRyYWdnZWQuc3Vic2NyaWJlKHggPT4ge1xuICAgICAgdGhpcy5vbkRyYWdnZWQgPSB4O1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb25EcmFnZ2VkU3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,159 @@
|
|
|
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 { validateExpression } from '@ajf/core/models';
|
|
23
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
24
|
+
import { Subscription, timer } from 'rxjs';
|
|
25
|
+
import { AjfReportBuilderService } from './report-builder-service';
|
|
26
|
+
import { sanitizeConditionString } from './utils';
|
|
27
|
+
/**
|
|
28
|
+
* This class will define an ajf builder builder condition editor
|
|
29
|
+
* @implements : OnDestroy
|
|
30
|
+
* @implements : AfterViewInit
|
|
31
|
+
*/
|
|
32
|
+
export class AjfReportBuilderConditionEditor {
|
|
33
|
+
/**
|
|
34
|
+
* this constructor will init current condition by ajfBuilderservice
|
|
35
|
+
* and init condition and availableFieldNames subscriptions
|
|
36
|
+
*/
|
|
37
|
+
constructor(_service) {
|
|
38
|
+
this._service = _service;
|
|
39
|
+
this.isValid = false;
|
|
40
|
+
this.names = [];
|
|
41
|
+
// conditionText is a string
|
|
42
|
+
this.conditionText = 'true';
|
|
43
|
+
// operators is an array of any type that contains all allow operators
|
|
44
|
+
this.operators = [
|
|
45
|
+
'( )', '\' \'', '<', '<=', '==', '>=', '>', '!=', '!', '&&', '||', '+', '-', '*', '/', '%',
|
|
46
|
+
'true', 'false'
|
|
47
|
+
];
|
|
48
|
+
this._conditionNamesSub = Subscription.EMPTY;
|
|
49
|
+
}
|
|
50
|
+
extractNames(formsVariables) {
|
|
51
|
+
this.names.length = 0;
|
|
52
|
+
for (let i = 0; i < formsVariables.length; i++) {
|
|
53
|
+
this.names = this.names.concat(formsVariables[i].names);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
setCurrent(id, index) {
|
|
57
|
+
this.currentId = id;
|
|
58
|
+
this.appendText(this.formsVariables[id].names[index]);
|
|
59
|
+
this.checkValidation();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* this method will return success if the current condtion is valid
|
|
63
|
+
* @return boolean
|
|
64
|
+
*/
|
|
65
|
+
validateCondition() {
|
|
66
|
+
return validateExpression(this.conditionText, this.names);
|
|
67
|
+
}
|
|
68
|
+
// TODO complete the comment
|
|
69
|
+
/**
|
|
70
|
+
* this method will append text to json
|
|
71
|
+
* @param text : string -
|
|
72
|
+
* @param goBackNum : number -
|
|
73
|
+
*/
|
|
74
|
+
appendText(text, _goBackNum) {
|
|
75
|
+
if (text == null || this.conditionTextArea == null) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
let el = this.conditionTextArea.nativeElement;
|
|
79
|
+
let sStart = Math.min(el.selectionStart, el.selectionEnd);
|
|
80
|
+
let sEnd = Math.max(el.selectionStart, el.selectionEnd);
|
|
81
|
+
let startingString = this.conditionText.substr(0, sStart);
|
|
82
|
+
let endingString = this.conditionText.substr(sEnd);
|
|
83
|
+
let initialLenght = startingString.length;
|
|
84
|
+
let newStr = '';
|
|
85
|
+
startingString = sanitizeConditionString(startingString);
|
|
86
|
+
endingString = sanitizeConditionString(endingString);
|
|
87
|
+
sStart +=
|
|
88
|
+
startingString.length - initialLenght + text.length + (startingString.length > 0 ? 2 : 1);
|
|
89
|
+
newStr = startingString.length > 0 ? `${startingString} ` : '';
|
|
90
|
+
this.conditionText = `${newStr}${text} ${endingString}`;
|
|
91
|
+
const s = timer(0).subscribe(() => {
|
|
92
|
+
if (s && !s.closed) {
|
|
93
|
+
s.unsubscribe();
|
|
94
|
+
}
|
|
95
|
+
if (el.createTextRange) {
|
|
96
|
+
let range = el.createTextRange();
|
|
97
|
+
range.move('character', sStart);
|
|
98
|
+
range.select();
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
if (el.selectionStart) {
|
|
102
|
+
el.focus();
|
|
103
|
+
el.setSelectionRange(sStart, sStart);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
el.focus();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
checkValidation() {
|
|
112
|
+
this.isValid = this.validateCondition();
|
|
113
|
+
if (this.isValid) {
|
|
114
|
+
this.saveCondition();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* this method will save current condition
|
|
119
|
+
*/
|
|
120
|
+
saveCondition() {
|
|
121
|
+
this._service.saveCondition(this.conditionText);
|
|
122
|
+
}
|
|
123
|
+
ngOnInit() {
|
|
124
|
+
this.conditionText = this.visibility.condition;
|
|
125
|
+
this.isValid = true;
|
|
126
|
+
if (this.conditionText == 'true') {
|
|
127
|
+
this.conditionText = '';
|
|
128
|
+
}
|
|
129
|
+
this._conditionNamesSub = this._service.conditionNames.subscribe((x) => {
|
|
130
|
+
this.formsVariables = x;
|
|
131
|
+
if (x != null) {
|
|
132
|
+
this.extractNames(this.formsVariables);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* this method will destroy a conditionSubscriptions
|
|
138
|
+
*/
|
|
139
|
+
ngOnDestroy() {
|
|
140
|
+
this._conditionNamesSub.unsubscribe();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
AjfReportBuilderConditionEditor.decorators = [
|
|
144
|
+
{ type: Component, args: [{
|
|
145
|
+
selector: 'ajf-report-builder-condition-editor',
|
|
146
|
+
template: "<ng-template [ngIf]=\"formsVariables != null && visibility != null\">\n <mat-card>\n <mat-card-header>\n <mat-card-title>condition of visibility</mat-card-title>\n <mat-card-subtitle>\n <ng-template [ngIf]=\"visibility\">\n {{visibility.condition}}\n </ng-template>\n </mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <br />\n <form>\n <mat-select\n [(ngModel)]=\"a\"\n [ngModelOptions]=\"{standalone: true}\"\n placeholder=\"Select condition\"\n >\n <ng-template ngFor let-form let-id=\"index\" [ngForOf]=\"formsVariables\">\n <mat-option\n *ngFor=\"let label of form.labels;let i = index;\"\n [value]=\"label\"\n (click)=\"setCurrent(id, i)\"\n >\n {{ id}}: {{ label }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-select\n [(ngModel)]=\"b\"\n [ngModelOptions]=\"{standalone: true}\"\n placeholder=\"Select operator\"\n >\n <mat-option\n *ngFor=\"let operator of operators\"\n (click)=\"appendText(operator);\"\n >\n {{ operator }}\n </mat-option>\n </mat-select>\n </form>\n </mat-card-content>\n <mat-card-actions>\n <ng-template [ngIf]=\"!isValid\">\n <ng-container\n >{{'Invalid condition! Please check syntax.'|transloco}}</ng-container\n >\n </ng-template>\n <textarea\n #conditionTextArea\n [(ngModel)]=\"conditionText\"\n (keyup)=\"checkValidation()\"\n >\n </textarea>\n </mat-card-actions>\n </mat-card>\n</ng-template>\n",
|
|
147
|
+
encapsulation: ViewEncapsulation.None,
|
|
148
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
149
|
+
styles: ["ajf-report-builder-condition-editor textarea{width:100%}\n"]
|
|
150
|
+
},] }
|
|
151
|
+
];
|
|
152
|
+
AjfReportBuilderConditionEditor.ctorParameters = () => [
|
|
153
|
+
{ type: AjfReportBuilderService }
|
|
154
|
+
];
|
|
155
|
+
AjfReportBuilderConditionEditor.propDecorators = {
|
|
156
|
+
visibility: [{ type: Input }],
|
|
157
|
+
conditionTextArea: [{ type: ViewChild, args: ['conditionTextArea', { static: false },] }]
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLWVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9yZXBvcnQtYnVpbGRlci9jb25kaXRpb24tZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUVILE9BQU8sRUFBZSxrQkFBa0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFHTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQVVoRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtJQXlCMUM7OztPQUdHO0lBQ0gsWUFBb0IsUUFBaUM7UUFBakMsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUF6QnJELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUdyQiw0QkFBNEI7UUFDNUIsa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFRdkIsdUVBQXVFO1FBQ3ZFLGNBQVMsR0FBYTtZQUNwQixLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO1lBQzFGLE1BQU0sRUFBRSxPQUFPO1NBQ2hCLENBQUM7UUFFTSx1QkFBa0IsR0FBaUIsWUFBWSxDQUFDLEtB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QUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzs7WUE5SUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLDR1REFBb0M7Z0JBRXBDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQVZPLHVCQUF1Qjs7O3lCQWlCNUIsS0FBSztnQ0FjTCxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge0FqZkNvbmRpdGlvbiwgdmFsaWRhdGVFeHByZXNzaW9ufSBmcm9tICdAYWpmL2NvcmUvbW9kZWxzJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9uLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7QWpmRm9ybVZhcmlhYmxlc30gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHtBamZSZXBvcnRCdWlsZGVyU2VydmljZX0gZnJvbSAnLi9yZXBvcnQtYnVpbGRlci1zZXJ2aWNlJztcbmltcG9ydCB7c2FuaXRpemVDb25kaXRpb25TdHJpbmd9IGZyb20gJy4vdXRpbHMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FqZi1yZXBvcnQtYnVpbGRlci1jb25kaXRpb24tZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICdjb25kaXRpb24tZWRpdG9yLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnY29uZGl0aW9uLWVkaXRvci5jc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG4vKipcbiAqIFRoaXMgY2xhc3Mgd2lsbCBkZWZpbmUgYW4gYWpmIGJ1aWxkZXIgYnVpbGRlciBjb25kaXRpb24gZWRpdG9yXG4gKiBAaW1wbGVtZW50cyA6IE9uRGVzdHJveVxuICogQGltcGxlbWVudHMgOiBBZnRlclZpZXdJbml0XG4gKi9cbmV4cG9ydCBjbGFzcyBBamZSZXBvcnRCdWlsZGVyQ29uZGl0aW9uRWRpdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB2aXNpYmlsaXR5OiBBamZDb25kaXRpb247XG5cbiAgZm9ybXNWYXJpYWJsZXM6IEFqZkZvcm1WYXJpYWJsZXNbXTtcbiAgaXNWYWxpZCA9IGZhbHNlO1xuICBuYW1lczogc3RyaW5nW10gPSBbXTtcbiAgY3VycmVudElkOiBudW1iZXI7XG5cbiAgLy8gY29uZGl0aW9uVGV4dCBpcyBhIHN0cmluZ1xuICBjb25kaXRpb25UZXh0ID0gJ3RydWUnO1xuXG4gIGE6IGFueTtcbiAgYjogYW55O1xuXG5cbiAgQFZpZXdDaGlsZCgnY29uZGl0aW9uVGV4dEFyZWEnLCB7c3RhdGljOiBmYWxzZX0pIGNvbmRpdGlvblRleHRBcmVhOiBhbnk7XG5cbiAgLy8gIG9wZXJhdG9ycyBpcyBhbiBhcnJheSBvZiBhbnkgdHlwZSB0aGF0IGNvbnRhaW5zIGFsbCBhbGxvdyBvcGVyYXRvcnNcbiAgb3BlcmF0b3JzOiBzdHJpbmdbXSA9IFtcbiAgICAnKCApJywgJ1xcJyBcXCcnLCAnPCcsICc8PScsICc9PScsICc+PScsICc+JywgJyE9JywgJyEnLCAnJiYnLCAnfHwnLCAnKycsICctJywgJyonLCAnLycsICclJyxcbiAgICAndHJ1ZScsICdmYWxzZSdcbiAgXTtcblxuICBwcml2YXRlIF9jb25kaXRpb25OYW1lc1N1YjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIC8qKlxuICAgKiB0aGlzIGNvbnN0cnVjdG9yIHdpbGwgaW5pdCBjdXJyZW50IGNvbmRpdGlvbiBieSBhamZCdWlsZGVyc2VydmljZVxuICAgKiBhbmQgaW5pdCBjb25kaXRpb24gYW5kIGF2YWlsYWJsZUZpZWxkTmFtZXMgc3Vic2NyaXB0aW9uc1xuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2VydmljZTogQWpmUmVwb3J0QnVpbGRlclNlcnZpY2UpIHt9XG4gIGV4dHJhY3ROYW1lcyhmb3Jtc1ZhcmlhYmxlczogQWpmRm9ybVZhcmlhYmxlc1tdKSB7XG4gICAgdGhpcy5uYW1lcy5sZW5ndGggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybXNWYXJpYWJsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMubmFtZXMgPSB0aGlzLm5hbWVzLmNvbmNhdChmb3Jtc1ZhcmlhYmxlc1tpXS5uYW1lcyk7XG4gICAgfVxuICB9XG5cbiAgc2V0Q3VycmVudChpZDogbnVtYmVyLCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5jdXJyZW50SWQgPSBpZDtcbiAgICB0aGlzLmFwcGVuZFRleHQodGhpcy5mb3Jtc1ZhcmlhYmxlc1tpZF0ubmFtZXNbaW5kZXhdKTtcbiAgICB0aGlzLmNoZWNrVmFsaWRhdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIHN1Y2Nlc3MgaWYgdGhlIGN1cnJlbnQgY29uZHRpb24gaXMgdmFsaWRcbiAgICogQHJldHVybiBib29sZWFuXG4gICAqL1xuICB2YWxpZGF0ZUNvbmRpdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsaWRhdGVFeHByZXNzaW9uKHRoaXMuY29uZGl0aW9uVGV4dCwgdGhpcy5uYW1lcyk7XG4gIH1cblxuICAvLyBUT0RPIGNvbXBsZXRlIHRoZSBjb21tZW50XG4gIC8qKlxuICAgKiB0aGlzIG1ldGhvZCB3aWxsIGFwcGVuZCB0ZXh0IHRvIGpzb25cbiAgICogQHBhcmFtIHRleHQgICAgICA6IHN0cmluZyAtXG4gICAqIEBwYXJhbSBnb0JhY2tOdW0gOiBudW1iZXIgLVxuICAgKi9cbiAgYXBwZW5kVGV4dCh0ZXh0OiBzdHJpbmcsIF9nb0JhY2tOdW0/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGV4dCA9PSBudWxsIHx8IHRoaXMuY29uZGl0aW9uVGV4dEFyZWEgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBlbCA9IHRoaXMuY29uZGl0aW9uVGV4dEFyZWEubmF0aXZlRWxlbWVudDtcbiAgICBsZXQgc1N0YXJ0OiBudW1iZXIgPSBNYXRoLm1pbihlbC5zZWxlY3Rpb25TdGFydCwgZWwuc2VsZWN0aW9uRW5kKTtcbiAgICBsZXQgc0VuZDogbnVtYmVyID0gTWF0aC5tYXgoZWwuc2VsZWN0aW9uU3RhcnQsIGVsLnNlbGVjdGlvbkVuZCk7XG4gICAgbGV0IHN0YXJ0aW5nU3RyaW5nOiBzdHJpbmcgPSB0aGlzLmNvbmRpdGlvblRleHQuc3Vic3RyKDAsIHNTdGFydCk7XG4gICAgbGV0IGVuZGluZ1N0cmluZzogc3RyaW5nID0gdGhpcy5jb25kaXRpb25UZXh0LnN1YnN0cihzRW5kKTtcbiAgICBsZXQgaW5pdGlhbExlbmdodDogbnVtYmVyID0gc3RhcnRpbmdTdHJpbmcubGVuZ3RoO1xuICAgIGxldCBuZXdTdHIgPSAnJztcblxuICAgIHN0YXJ0aW5nU3RyaW5nID0gc2FuaXRpemVDb25kaXRpb25TdHJpbmcoc3RhcnRpbmdTdHJpbmcpO1xuICAgIGVuZGluZ1N0cmluZyA9IHNhbml0aXplQ29uZGl0aW9uU3RyaW5nKGVuZGluZ1N0cmluZyk7XG4gICAgc1N0YXJ0ICs9XG4gICAgICAgIHN0YXJ0aW5nU3RyaW5nLmxlbmd0aCAtIGluaXRpYWxMZW5naHQgKyB0ZXh0Lmxlbmd0aCArIChzdGFydGluZ1N0cmluZy5sZW5ndGggPiAwID8gMiA6IDEpO1xuICAgIG5ld1N0ciA9IHN0YXJ0aW5nU3RyaW5nLmxlbmd0aCA+IDAgPyBgJHtzdGFydGluZ1N0cmluZ30gYCA6ICcnO1xuICAgIHRoaXMuY29uZGl0aW9uVGV4dCA9IGAke25ld1N0cn0ke3RleHR9ICR7ZW5kaW5nU3RyaW5nfWA7XG5cbiAgICBjb25zdCBzID0gdGltZXIoMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmIChzICYmICFzLmNsb3NlZCkge1xuICAgICAgICBzLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgICBpZiAoZWwuY3JlYXRlVGV4dFJhbmdlKSB7XG4gICAgICAgIGxldCByYW5nZSA9IGVsLmNyZWF0ZVRleHRSYW5nZSgpO1xuICAgICAgICByYW5nZS5tb3ZlKCdjaGFyYWN0ZXInLCBzU3RhcnQpO1xuICAgICAgICByYW5nZS5zZWxlY3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChlbC5zZWxlY3Rpb25TdGFydCkge1xuICAgICAgICAgIGVsLmZvY3VzKCk7XG4gICAgICAgICAgZWwuc2V0U2VsZWN0aW9uUmFuZ2Uoc1N0YXJ0LCBzU3RhcnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVsLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrVmFsaWRhdGlvbigpIHtcbiAgICB0aGlzLmlzVmFsaWQgPSB0aGlzLnZhbGlkYXRlQ29uZGl0aW9uKCk7XG4gICAgaWYgKHRoaXMuaXNWYWxpZCkge1xuICAgICAgdGhpcy5zYXZlQ29uZGl0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHRoaXMgbWV0aG9kIHdpbGwgc2F2ZSBjdXJyZW50IGNvbmRpdGlvblxuICAgKi9cbiAgc2F2ZUNvbmRpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXJ2aWNlLnNhdmVDb25kaXRpb24odGhpcy5jb25kaXRpb25UZXh0KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZGl0aW9uVGV4dCA9IHRoaXMudmlzaWJpbGl0eS5jb25kaXRpb247XG4gICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLmNvbmRpdGlvblRleHQgPT0gJ3RydWUnKSB7XG4gICAgICB0aGlzLmNvbmRpdGlvblRleHQgPSAnJztcbiAgICB9XG5cbiAgICB0aGlzLl9jb25kaXRpb25OYW1lc1N1YiA9IHRoaXMuX3NlcnZpY2UuY29uZGl0aW9uTmFtZXMuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICB0aGlzLmZvcm1zVmFyaWFibGVzID0geDtcbiAgICAgIGlmICh4ICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5leHRyYWN0TmFtZXModGhpcy5mb3Jtc1ZhcmlhYmxlcyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIHRoaXMgbWV0aG9kIHdpbGwgZGVzdHJveSBhIGNvbmRpdGlvblN1YnNjcmlwdGlvbnNcbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbmRpdGlvbk5hbWVzU3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|