@ajf/material 15.3.14 → 16.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/{esm2020 → esm2022}/barcode/barcode-module.mjs +19 -19
- package/{esm2020 → esm2022}/barcode/barcode.mjs +4 -4
- package/{esm2020 → esm2022}/calendar/calendar-module.mjs +5 -5
- package/{esm2020 → esm2022}/calendar/calendar.mjs +4 -4
- package/{esm2020 → esm2022}/checkbox-group/checkbox-group-item.mjs +4 -4
- package/{esm2020 → esm2022}/checkbox-group/checkbox-group-module.mjs +5 -5
- package/esm2022/form-builder/branch-line.mjs +69 -0
- package/{esm2020 → esm2022}/form-builder/choices-origin-editor-dialog.mjs +7 -7
- package/{esm2020 → esm2022}/form-builder/choices-origin-editor.mjs +5 -5
- package/{esm2020 → esm2022}/form-builder/condition-editor-dialog.mjs +7 -7
- package/{esm2020 → esm2022}/form-builder/condition-editor.mjs +9 -9
- package/{esm2020 → esm2022}/form-builder/form-builder-module.mjs +64 -64
- package/esm2022/form-builder/form-builder-service.mjs +923 -0
- package/esm2022/form-builder/form-builder.mjs +183 -0
- package/esm2022/form-builder/node-entry.mjs +267 -0
- package/{esm2020 → esm2022}/form-builder/node-properties-name-validator.mjs +4 -4
- package/esm2022/form-builder/node-properties.mjs +1030 -0
- package/{esm2020 → esm2022}/form-builder/node-type-entry.mjs +7 -7
- package/{esm2020 → esm2022}/form-builder/string-identifier-dialog.mjs +4 -4
- package/{esm2020 → esm2022}/form-builder/validation-condition-editor-dialog.mjs +7 -7
- package/{esm2020 → esm2022}/form-builder/warning-condition-editor-dialog.mjs +7 -7
- package/{esm2020 → esm2022}/forms/barcode-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/boolean-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/date-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/date-input-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/empty-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/field-service.mjs +4 -4
- package/{esm2020 → esm2022}/forms/field-warning-dialog.mjs +4 -4
- package/{esm2020 → esm2022}/forms/field.mjs +4 -4
- package/esm2022/forms/form.mjs +58 -0
- package/{esm2020 → esm2022}/forms/forms-module.mjs +81 -81
- package/{esm2020 → esm2022}/forms/geolocation-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/input-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/multiple-choice-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/range-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/signature-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/single-choice-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/table-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/text-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/time-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/video-url-field.mjs +4 -4
- package/{esm2020 → esm2022}/forms/warning-alert-service.mjs +4 -4
- package/{esm2020 → esm2022}/geolocation/geolocation-module.mjs +15 -15
- package/{esm2020 → esm2022}/geolocation/geolocation.mjs +4 -4
- package/{esm2020 → esm2022}/image/image-module.mjs +5 -5
- package/{esm2020 → esm2022}/image/image.mjs +4 -4
- package/{esm2020 → esm2022}/node-icon/node-icon-module.mjs +5 -5
- package/{esm2020 → esm2022}/node-icon/node-icon.mjs +4 -4
- package/{esm2020 → esm2022}/page-slider/page-slider-module.mjs +5 -5
- package/{esm2020 → esm2022}/page-slider/page-slider.mjs +4 -4
- package/{esm2020 → esm2022}/reports/chart-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/filter-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/formula-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/graph-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/heat-map-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/image-container-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/image-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/map-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/page-break-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/report.mjs +4 -4
- package/{esm2020 → esm2022}/reports/reports-module.mjs +50 -50
- package/{esm2020 → esm2022}/reports/table-widget.mjs +4 -4
- package/{esm2020 → esm2022}/reports/text-widget.mjs +4 -4
- package/esm2022/reports/widget.mjs +368 -0
- package/{esm2020 → esm2022}/signature/signature-module.mjs +15 -15
- package/{esm2020 → esm2022}/signature/signature.mjs +4 -4
- package/{esm2020 → esm2022}/time/time-module.mjs +5 -5
- package/{esm2020 → esm2022}/time/time.mjs +4 -4
- package/{fesm2020 → fesm2022}/ajf-material-barcode.mjs +21 -21
- package/{fesm2020 → fesm2022}/ajf-material-barcode.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ajf-material-calendar.mjs +7 -7
- package/{fesm2015 → fesm2022}/ajf-material-calendar.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ajf-material-checkbox-group.mjs +7 -7
- package/{fesm2015 → fesm2022}/ajf-material-checkbox-group.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ajf-material-form-builder.mjs +284 -284
- package/fesm2022/ajf-material-form-builder.mjs.map +1 -0
- package/fesm2022/ajf-material-forms.mjs +1102 -0
- package/fesm2022/ajf-material-forms.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/ajf-material-geolocation.mjs +17 -17
- package/{fesm2015 → fesm2022}/ajf-material-geolocation.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/ajf-material-image.mjs +7 -7
- package/{fesm2020 → fesm2022}/ajf-material-image.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/ajf-material-node-icon.mjs +7 -7
- package/{fesm2020 → fesm2022}/ajf-material-node-icon.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ajf-material-page-slider.mjs +7 -7
- package/{fesm2015 → fesm2022}/ajf-material-page-slider.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ajf-material-reports.mjs +135 -135
- package/{fesm2015 → fesm2022}/ajf-material-reports.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ajf-material-signature.mjs +17 -17
- package/{fesm2020 → fesm2022}/ajf-material-signature.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/ajf-material-time.mjs +7 -7
- package/{fesm2020 → fesm2022}/ajf-material-time.mjs.map +1 -1
- package/form-builder/branch-line.d.ts +1 -1
- package/form-builder/choices-origin-data-source.d.ts +1 -1
- package/form-builder/choices-origin-editor.d.ts +1 -1
- package/form-builder/condition-editor.d.ts +1 -1
- package/form-builder/form-builder-service.d.ts +2 -2
- package/form-builder/form-builder.d.ts +1 -1
- package/form-builder/node-entry.d.ts +1 -1
- package/form-builder/node-type-entry.d.ts +1 -1
- package/forms/form.d.ts +1 -1
- package/package.json +49 -79
- package/esm2020/form-builder/branch-line.mjs +0 -69
- package/esm2020/form-builder/form-builder-service.mjs +0 -923
- package/esm2020/form-builder/form-builder.mjs +0 -183
- package/esm2020/form-builder/node-entry.mjs +0 -267
- package/esm2020/form-builder/node-properties.mjs +0 -1030
- package/esm2020/forms/form.mjs +0 -58
- package/esm2020/reports/widget.mjs +0 -368
- package/fesm2015/ajf-material-barcode.mjs +0 -170
- package/fesm2015/ajf-material-barcode.mjs.map +0 -1
- package/fesm2015/ajf-material-calendar.mjs +0 -116
- package/fesm2015/ajf-material-checkbox-group.mjs +0 -120
- package/fesm2015/ajf-material-form-builder.mjs +0 -3120
- package/fesm2015/ajf-material-form-builder.mjs.map +0 -1
- package/fesm2015/ajf-material-forms.mjs +0 -1134
- package/fesm2015/ajf-material-forms.mjs.map +0 -1
- package/fesm2015/ajf-material-image.mjs.map +0 -1
- package/fesm2015/ajf-material-node-icon.mjs.map +0 -1
- package/fesm2015/ajf-material-page-slider.mjs +0 -109
- package/fesm2015/ajf-material-reports.mjs +0 -943
- package/fesm2015/ajf-material-signature.mjs +0 -164
- package/fesm2015/ajf-material-signature.mjs.map +0 -1
- package/fesm2015/ajf-material-time.mjs.map +0 -1
- package/fesm2020/ajf-material-calendar.mjs.map +0 -1
- package/fesm2020/ajf-material-checkbox-group.mjs.map +0 -1
- package/fesm2020/ajf-material-form-builder.mjs.map +0 -1
- package/fesm2020/ajf-material-forms.mjs +0 -1102
- package/fesm2020/ajf-material-forms.mjs.map +0 -1
- package/fesm2020/ajf-material-geolocation.mjs +0 -136
- package/fesm2020/ajf-material-geolocation.mjs.map +0 -1
- package/fesm2020/ajf-material-image.mjs +0 -105
- package/fesm2020/ajf-material-node-icon.mjs +0 -149
- package/fesm2020/ajf-material-page-slider.mjs.map +0 -1
- package/fesm2020/ajf-material-reports.mjs.map +0 -1
- package/fesm2020/ajf-material-time.mjs +0 -111
- package/fesm2020/ajf-material.mjs +0 -28
- package/fesm2020/ajf-material.mjs.map +0 -1
- /package/{esm2020 → esm2022}/ajf-material.mjs +0 -0
- /package/{esm2020 → esm2022}/barcode/ajf-material-barcode.mjs +0 -0
- /package/{esm2020 → esm2022}/barcode/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/ajf-material-calendar.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox-group/ajf-material-checkbox-group.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox-group/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/form-builder/ajf-material-form-builder.mjs +0 -0
- /package/{esm2020 → esm2022}/form-builder/choices-origin-data-source.mjs +0 -0
- /package/{esm2020 → esm2022}/form-builder/form-builder-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/form-builder/operations.mjs +0 -0
- /package/{esm2020 → esm2022}/form-builder/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/ajf-material-forms.mjs +0 -0
- /package/{esm2020 → esm2022}/forms/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/geolocation/ajf-material-geolocation.mjs +0 -0
- /package/{esm2020 → esm2022}/geolocation/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/image/ajf-material-image.mjs +0 -0
- /package/{esm2020 → esm2022}/image/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/node-icon/ajf-material-node-icon.mjs +0 -0
- /package/{esm2020 → esm2022}/node-icon/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/page-slider/ajf-material-page-slider.mjs +0 -0
- /package/{esm2020 → esm2022}/page-slider/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/reports/ajf-material-reports.mjs +0 -0
- /package/{esm2020 → esm2022}/reports/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/signature/ajf-material-signature.mjs +0 -0
- /package/{esm2020 → esm2022}/signature/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/time/ajf-material-time.mjs +0 -0
- /package/{esm2020 → esm2022}/time/public_api.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ajf-material.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ajf-material.mjs.map +0 -0
|
@@ -1,1102 +0,0 @@
|
|
|
1
|
-
import * as i1 from '@ajf/core/forms';
|
|
2
|
-
import { AjfBaseFieldComponent, AJF_WARNING_ALERT_SERVICE, AjfInputFieldComponent as AjfInputFieldComponent$1, AjfFieldWithChoicesComponent, AJF_SEARCH_ALERT_THRESHOLD, AjfTableFieldComponent as AjfTableFieldComponent$1, AjfVideoUrlFieldComponent as AjfVideoUrlFieldComponent$1, AjfFieldService as AjfFieldService$1, AjfFieldType, AjfReadOnlyFieldComponent, AjfReadOnlyDateFieldComponent, AjfReadOnlyTableFieldComponent, AjfReadOnlySelectFieldComponent, AjfReadOnlyImageFieldComponent, AjfReadOnlyGeolocationFieldComponent, AjfFileFieldComponent, AjfReadOnlyFileFieldComponent, AjfImageFieldComponent, AjfReadOnlyVideoUrlFieldComponent, AjfFormField as AjfFormField$1, AjfFormRenderer as AjfFormRenderer$1, AjfFormsModule as AjfFormsModule$1 } from '@ajf/core/forms';
|
|
3
|
-
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, ChangeDetectionStrategy, ViewEncapsulation, Injectable, Inject, ViewChild, Optional, Input, NgModule } from '@angular/core';
|
|
5
|
-
import * as i2$1 from '@angular/common';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import * as i3 from '@angular/material/slide-toggle';
|
|
8
|
-
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
9
|
-
import * as i4 from '@angular/forms';
|
|
10
|
-
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
11
|
-
import { map } from 'rxjs/operators';
|
|
12
|
-
import * as i5 from '@angular/material/button';
|
|
13
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
14
|
-
import * as i2 from '@angular/material/dialog';
|
|
15
|
-
import { MatDialogModule } from '@angular/material/dialog';
|
|
16
|
-
import * as i2$2 from '@ajf/material/calendar';
|
|
17
|
-
import { AjfCalendarModule } from '@ajf/material/calendar';
|
|
18
|
-
import * as i4$2 from '@angular/material/input';
|
|
19
|
-
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
20
|
-
import * as i3$1 from '@angular/material/datepicker';
|
|
21
|
-
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
22
|
-
import * as i4$1 from '@angular/material/form-field';
|
|
23
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
24
|
-
import * as i3$2 from '@ngneat/transloco';
|
|
25
|
-
import * as i2$3 from '@ajf/material/barcode';
|
|
26
|
-
import { AjfBarcodeModule } from '@ajf/material/barcode';
|
|
27
|
-
import * as i2$4 from '@ajf/material/geolocation';
|
|
28
|
-
import { AjfGeolocationModule } from '@ajf/material/geolocation';
|
|
29
|
-
import * as i2$5 from '@ajf/material/checkbox-group';
|
|
30
|
-
import { AjfCheckboxGroupModule } from '@ajf/material/checkbox-group';
|
|
31
|
-
import * as i3$3 from '@ajf/core/checkbox-group';
|
|
32
|
-
import * as i5$1 from '@angular/material/select';
|
|
33
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
34
|
-
import * as i6 from '@angular/material/core';
|
|
35
|
-
import { MatNativeDateModule } from '@angular/material/core';
|
|
36
|
-
import * as i8 from 'ngx-mat-select-search';
|
|
37
|
-
import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
|
38
|
-
import { AjfRange } from '@ajf/core/range';
|
|
39
|
-
import * as i4$3 from '@angular/material/slider';
|
|
40
|
-
import { MatSliderModule } from '@angular/material/slider';
|
|
41
|
-
import * as i3$4 from '@angular/material/radio';
|
|
42
|
-
import { MatRadioModule } from '@angular/material/radio';
|
|
43
|
-
import * as i4$4 from '@ajf/core/common';
|
|
44
|
-
import { AjfCommonModule } from '@ajf/core/common';
|
|
45
|
-
import * as i5$2 from '@angular/cdk/text-field';
|
|
46
|
-
import { TextFieldModule } from '@angular/cdk/text-field';
|
|
47
|
-
import * as i2$6 from '@ajf/material/time';
|
|
48
|
-
import { AjfTimeModule } from '@ajf/material/time';
|
|
49
|
-
import * as i2$7 from '@angular/platform-browser';
|
|
50
|
-
import * as i3$5 from '@angular/common/http';
|
|
51
|
-
import * as i2$8 from '@ajf/material/signature';
|
|
52
|
-
import { AjfSignatureModule } from '@ajf/material/signature';
|
|
53
|
-
import * as i2$9 from '@ajf/core/page-slider';
|
|
54
|
-
import * as i3$6 from '@ajf/material/page-slider';
|
|
55
|
-
import { AjfPageSliderModule } from '@ajf/material/page-slider';
|
|
56
|
-
import * as i6$1 from '@angular/material/button-toggle';
|
|
57
|
-
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
58
|
-
import * as i7 from '@angular/material/card';
|
|
59
|
-
import { MatCardModule } from '@angular/material/card';
|
|
60
|
-
import * as i8$1 from '@angular/material/icon';
|
|
61
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
62
|
-
import * as i9 from '@angular/material/toolbar';
|
|
63
|
-
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
64
|
-
import * as i10 from '@angular/material/tooltip';
|
|
65
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
66
|
-
import { AjfTranslocoModule } from '@ajf/core/transloco';
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* @license
|
|
70
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
71
|
-
*
|
|
72
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
73
|
-
*
|
|
74
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
75
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
76
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
77
|
-
* or (at your option) any later version.
|
|
78
|
-
*
|
|
79
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
80
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
81
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
82
|
-
* General Public License for more details.
|
|
83
|
-
*
|
|
84
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
85
|
-
* along with Advanced JSON forms (ajf).
|
|
86
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
87
|
-
*
|
|
88
|
-
*/
|
|
89
|
-
class AjfFieldWarningDialog {
|
|
90
|
-
constructor() {
|
|
91
|
-
this.message = '';
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
AjfFieldWarningDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFieldWarningDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
-
AjfFieldWarningDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfFieldWarningDialog, selector: "ng-component", ngImport: i0, template: "<mat-dialog-content><div [innerHTML]=\"message\"></div></mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"true\">Ok</button>\n <button mat-button [mat-dialog-close]=\"false\">Cancel</button>\n</mat-dialog-actions>\n", dependencies: [{ kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFieldWarningDialog, decorators: [{
|
|
97
|
-
type: Component,
|
|
98
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-dialog-content><div [innerHTML]=\"message\"></div></mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"true\">Ok</button>\n <button mat-button [mat-dialog-close]=\"false\">Cancel</button>\n</mat-dialog-actions>\n" }]
|
|
99
|
-
}] });
|
|
100
|
-
|
|
101
|
-
class AjfWarningAlertService {
|
|
102
|
-
constructor(_dialog) {
|
|
103
|
-
this._dialog = _dialog;
|
|
104
|
-
}
|
|
105
|
-
showWarningAlertPrompt(warnings) {
|
|
106
|
-
const dialog = this._dialog.open(AjfFieldWarningDialog);
|
|
107
|
-
dialog.componentInstance.message = warnings.join('<br>');
|
|
108
|
-
return dialog.afterClosed().pipe(map((result) => ({ result })));
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
AjfWarningAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfWarningAlertService, deps: [{ token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
112
|
-
AjfWarningAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfWarningAlertService });
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfWarningAlertService, decorators: [{
|
|
114
|
-
type: Injectable
|
|
115
|
-
}], ctorParameters: function () { return [{ type: i2.MatDialog }]; } });
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* @license
|
|
119
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
120
|
-
*
|
|
121
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
122
|
-
*
|
|
123
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
124
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
125
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
126
|
-
* or (at your option) any later version.
|
|
127
|
-
*
|
|
128
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
129
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
130
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
131
|
-
* General Public License for more details.
|
|
132
|
-
*
|
|
133
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
134
|
-
* along with Advanced JSON forms (ajf).
|
|
135
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
136
|
-
*
|
|
137
|
-
*/
|
|
138
|
-
class AjfBooleanFieldComponent extends AjfBaseFieldComponent {
|
|
139
|
-
constructor(cdr, service, was) {
|
|
140
|
-
super(cdr, service, was);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
AjfBooleanFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfBooleanFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
144
|
-
AjfBooleanFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfBooleanFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-slide-toggle *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></mat-slide-toggle>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfBooleanFieldComponent, decorators: [{
|
|
146
|
-
type: Component,
|
|
147
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-slide-toggle *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></mat-slide-toggle>\n" }]
|
|
148
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
149
|
-
type: Inject,
|
|
150
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
151
|
-
}] }]; } });
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* @license
|
|
155
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
156
|
-
*
|
|
157
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
158
|
-
*
|
|
159
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
160
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
161
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
162
|
-
* or (at your option) any later version.
|
|
163
|
-
*
|
|
164
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
165
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
166
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
167
|
-
* General Public License for more details.
|
|
168
|
-
*
|
|
169
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
170
|
-
* along with Advanced JSON forms (ajf).
|
|
171
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
172
|
-
*
|
|
173
|
-
*/
|
|
174
|
-
class AjfDateFieldComponent extends AjfBaseFieldComponent {
|
|
175
|
-
constructor(cdr, service, was) {
|
|
176
|
-
super(cdr, service, was);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
AjfDateFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfDateFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
180
|
-
AjfDateFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfDateFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ajf-calendar\n *ngIf=\"control|async as ctrl\"\n selectionMode=\"day\"\n [dateOnlyForDay]=\"true\"\n [minDate]=\"instance!.node.minDate|ajfDateValue\"\n [maxDate]=\"instance!.node.maxDate|ajfDateValue\"\n [formControl]=\"ctrl!\"\n></ajf-calendar>\n", styles: [""], dependencies: [{ kind: "component", type: i2$2.AjfCalendarComponent, selector: "ajf-calendar" }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AjfDateValuePipe, name: "ajfDateValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfDateFieldComponent, decorators: [{
|
|
182
|
-
type: Component,
|
|
183
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-calendar\n *ngIf=\"control|async as ctrl\"\n selectionMode=\"day\"\n [dateOnlyForDay]=\"true\"\n [minDate]=\"instance!.node.minDate|ajfDateValue\"\n [maxDate]=\"instance!.node.maxDate|ajfDateValue\"\n [formControl]=\"ctrl!\"\n></ajf-calendar>\n" }]
|
|
184
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
185
|
-
type: Inject,
|
|
186
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
187
|
-
}] }]; } });
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* @license
|
|
191
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
192
|
-
*
|
|
193
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
194
|
-
*
|
|
195
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
196
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
197
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
198
|
-
* or (at your option) any later version.
|
|
199
|
-
*
|
|
200
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
201
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
202
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
203
|
-
* General Public License for more details.
|
|
204
|
-
*
|
|
205
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
206
|
-
* along with Advanced JSON forms (ajf).
|
|
207
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
208
|
-
*
|
|
209
|
-
*/
|
|
210
|
-
class AjfDateInputFieldComponent extends AjfBaseFieldComponent {
|
|
211
|
-
constructor(cdr, service, was) {
|
|
212
|
-
super(cdr, service, was);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
AjfDateInputFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfDateInputFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
216
|
-
AjfDateInputFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfDateInputFieldComponent, selector: "ng-component", viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <input\n matInput\n [matDatepicker]=\"picker\"\n [attr.aria-label]=\"instance!|ajfNodeCompleteName\"\n [min]=\"instance!.node.minDate|ajfDateValueString\"\n [max]=\"instance!.node.maxDate|ajfDateValueString\"\n [formControl]=\"ctrl!\"\n readonly\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i3$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AjfDateValueStringPipe, name: "ajfDateValueString" }, { kind: "pipe", type: i1.AjfNodeCompleteNamePipe, name: "ajfNodeCompleteName" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfDateInputFieldComponent, decorators: [{
|
|
218
|
-
type: Component,
|
|
219
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <input\n matInput\n [matDatepicker]=\"picker\"\n [attr.aria-label]=\"instance!|ajfNodeCompleteName\"\n [min]=\"instance!.node.minDate|ajfDateValueString\"\n [max]=\"instance!.node.maxDate|ajfDateValueString\"\n [formControl]=\"ctrl!\"\n readonly\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n</mat-form-field>\n" }]
|
|
220
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
221
|
-
type: Inject,
|
|
222
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
223
|
-
}] }]; }, propDecorators: { input: [{
|
|
224
|
-
type: ViewChild,
|
|
225
|
-
args: [MatInput, { static: false }]
|
|
226
|
-
}] } });
|
|
227
|
-
|
|
228
|
-
/**
|
|
229
|
-
* @license
|
|
230
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
231
|
-
*
|
|
232
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
233
|
-
*
|
|
234
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
235
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
236
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
237
|
-
* or (at your option) any later version.
|
|
238
|
-
*
|
|
239
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
240
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
241
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
242
|
-
* General Public License for more details.
|
|
243
|
-
*
|
|
244
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
245
|
-
* along with Advanced JSON forms (ajf).
|
|
246
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
247
|
-
*
|
|
248
|
-
*/
|
|
249
|
-
class AjfEmptyFieldComponent extends AjfBaseFieldComponent {
|
|
250
|
-
constructor(cdr, service, was) {
|
|
251
|
-
super(cdr, service, was);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
AjfEmptyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfEmptyFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
255
|
-
AjfEmptyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfEmptyFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"instance\">\n <h1 [innerHTML]=\"instance.node.label | transloco\"></h1>\n <div [innerHTML]=\"instance.node.HTML | transloco\"></div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$2.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfEmptyFieldComponent, decorators: [{
|
|
257
|
-
type: Component,
|
|
258
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"instance\">\n <h1 [innerHTML]=\"instance.node.label | transloco\"></h1>\n <div [innerHTML]=\"instance.node.HTML | transloco\"></div>\n</ng-container>\n" }]
|
|
259
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
260
|
-
type: Inject,
|
|
261
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
262
|
-
}] }]; } });
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* @license
|
|
266
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
267
|
-
*
|
|
268
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
269
|
-
*
|
|
270
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
271
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
272
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
273
|
-
* or (at your option) any later version.
|
|
274
|
-
*
|
|
275
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
276
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
277
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
278
|
-
* General Public License for more details.
|
|
279
|
-
*
|
|
280
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
281
|
-
* along with Advanced JSON forms (ajf).
|
|
282
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
283
|
-
*
|
|
284
|
-
*/
|
|
285
|
-
class AjfBarcodeFieldComponent extends AjfBaseFieldComponent {
|
|
286
|
-
constructor(cdr, service, was) {
|
|
287
|
-
super(cdr, service, was);
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
AjfBarcodeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfBarcodeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
291
|
-
AjfBarcodeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfBarcodeFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ajf-barcode *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-barcode>\n", styles: [""], dependencies: [{ kind: "component", type: i2$3.AjfBarcodeComponent, selector: "ajf-barcode" }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
292
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfBarcodeFieldComponent, decorators: [{
|
|
293
|
-
type: Component,
|
|
294
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-barcode *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-barcode>\n" }]
|
|
295
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
296
|
-
type: Inject,
|
|
297
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
298
|
-
}] }]; } });
|
|
299
|
-
|
|
300
|
-
/**
|
|
301
|
-
* @license
|
|
302
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
303
|
-
*
|
|
304
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
305
|
-
*
|
|
306
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
307
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
308
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
309
|
-
* or (at your option) any later version.
|
|
310
|
-
*
|
|
311
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
312
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
313
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
314
|
-
* General Public License for more details.
|
|
315
|
-
*
|
|
316
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
317
|
-
* along with Advanced JSON forms (ajf).
|
|
318
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
319
|
-
*
|
|
320
|
-
*/
|
|
321
|
-
class AjfInputFieldComponent extends AjfInputFieldComponent$1 {
|
|
322
|
-
constructor(cdr, service, was) {
|
|
323
|
-
super(cdr, service, was);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
AjfInputFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfInputFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
327
|
-
AjfInputFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfInputFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <input matInput *ngIf=\"type === 'text'\" type=\"text\" [formControl]=\"ctrl!\"\n [readonly]=\"instance!|ajfIsReadonlyInputField\" [attr.aria-labelledby]=\"instance!.node.name\">\n <input matInput *ngIf=\"type === 'number'\" type=\"number\" [formControl]=\"ctrl!\"\n [readonly]=\"instance!|ajfIsReadonlyInputField\" [attr.aria-labelledby]=\"instance!.node.name\">\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AjfIsReadonlyInputFieldPipe, name: "ajfIsReadonlyInputField" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfInputFieldComponent, decorators: [{
|
|
329
|
-
type: Component,
|
|
330
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <input matInput *ngIf=\"type === 'text'\" type=\"text\" [formControl]=\"ctrl!\"\n [readonly]=\"instance!|ajfIsReadonlyInputField\" [attr.aria-labelledby]=\"instance!.node.name\">\n <input matInput *ngIf=\"type === 'number'\" type=\"number\" [formControl]=\"ctrl!\"\n [readonly]=\"instance!|ajfIsReadonlyInputField\" [attr.aria-labelledby]=\"instance!.node.name\">\n</mat-form-field>\n" }]
|
|
331
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
332
|
-
type: Inject,
|
|
333
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
334
|
-
}] }]; } });
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* @license
|
|
338
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
339
|
-
*
|
|
340
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
341
|
-
*
|
|
342
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
343
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
344
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
345
|
-
* or (at your option) any later version.
|
|
346
|
-
*
|
|
347
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
348
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
349
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
350
|
-
* General Public License for more details.
|
|
351
|
-
*
|
|
352
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
353
|
-
* along with Advanced JSON forms (ajf).
|
|
354
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
355
|
-
*
|
|
356
|
-
*/
|
|
357
|
-
class AjfGeolocationFieldComponent extends AjfBaseFieldComponent {
|
|
358
|
-
constructor(cdr, service, was) {
|
|
359
|
-
super(cdr, service, was);
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
AjfGeolocationFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfGeolocationFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
363
|
-
AjfGeolocationFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfGeolocationFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ajf-geolocation *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-geolocation>", styles: [""], dependencies: [{ kind: "component", type: i2$4.AjfGeolocationComponent, selector: "ajf-geolocation" }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
364
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfGeolocationFieldComponent, decorators: [{
|
|
365
|
-
type: Component,
|
|
366
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-geolocation *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-geolocation>" }]
|
|
367
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
368
|
-
type: Inject,
|
|
369
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
370
|
-
}] }]; } });
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* @license
|
|
374
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
375
|
-
*
|
|
376
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
377
|
-
*
|
|
378
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
379
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
380
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
381
|
-
* or (at your option) any later version.
|
|
382
|
-
*
|
|
383
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
384
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
385
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
386
|
-
* General Public License for more details.
|
|
387
|
-
*
|
|
388
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
389
|
-
* along with Advanced JSON forms (ajf).
|
|
390
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
391
|
-
*
|
|
392
|
-
*/
|
|
393
|
-
class AjfMultipleChoiceFieldComponent extends AjfFieldWithChoicesComponent {
|
|
394
|
-
constructor(cdr, service, was, searchThreshold) {
|
|
395
|
-
super(cdr, service, was, searchThreshold);
|
|
396
|
-
this.searchFilterCtrl = new FormControl('');
|
|
397
|
-
this.searchFilterSub = this.searchFilterCtrl.valueChanges.subscribe(() => {
|
|
398
|
-
cdr.markForCheck();
|
|
399
|
-
});
|
|
400
|
-
}
|
|
401
|
-
filteredChoices() {
|
|
402
|
-
const choices = this.instance?.filteredChoices || [];
|
|
403
|
-
let search = this.searchFilterCtrl.value;
|
|
404
|
-
if (!search) {
|
|
405
|
-
return choices;
|
|
406
|
-
}
|
|
407
|
-
search = search.toLowerCase();
|
|
408
|
-
return choices.filter(c => c.label.toLowerCase().includes(search));
|
|
409
|
-
}
|
|
410
|
-
ngOnDestroy() {
|
|
411
|
-
super.ngOnDestroy();
|
|
412
|
-
this.searchFilterSub.unsubscribe();
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
AjfMultipleChoiceFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfMultipleChoiceFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }, { token: AJF_SEARCH_ALERT_THRESHOLD, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
416
|
-
AjfMultipleChoiceFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfMultipleChoiceFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"instance\">\n <ng-container *ngIf=\"!(instance|ajfExpandFieldWithChoices:searchThreshold); else expanded\">\n <mat-select *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\" [multiple]=\"true\">\n <mat-option [style.backgroundColor]=\"'white'\">\n <ngx-mat-select-search\n [formControl]=\"searchFilterCtrl\"\n [placeholderLabel]=\"'Search'|transloco\"\n [noEntriesFoundLabel]=\"'Nothing found'|transloco\"\n [enableClearOnEscapePressed]=\"true\">\n </ngx-mat-select-search>\n </mat-option>\n <mat-option [value]=\"choice.value\" *ngFor=\"let choice of filteredChoices()\">\n {{ choice.label | transloco }}\n </mat-option>\n </mat-select>\n </ng-container>\n</ng-container>\n<ng-template #expanded>\n <ajf-checkbox-group *ngIf=\"control|async as ctrl\" class=\"ajf-choices-container\"\n [formControl]=\"ctrl!\">\n <ajf-checkbox-group-item [value]=\"choice.value\" *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </ajf-checkbox-group-item>\n </ajf-checkbox-group>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: i2$5.CheckboxGroupItem, selector: "ajf-checkbox-group-item" }, { kind: "directive", type: i3$3.AjfCheckboxGroup, selector: "ajf-checkbox-group,[ajf-checkbox-group]", inputs: ["value", "name", "disabled"], outputs: ["change"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i8.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i3$2.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AjfExpandFieldWithChoicesPipe, name: "ajfExpandFieldWithChoices" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
417
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfMultipleChoiceFieldComponent, decorators: [{
|
|
418
|
-
type: Component,
|
|
419
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"instance\">\n <ng-container *ngIf=\"!(instance|ajfExpandFieldWithChoices:searchThreshold); else expanded\">\n <mat-select *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\" [multiple]=\"true\">\n <mat-option [style.backgroundColor]=\"'white'\">\n <ngx-mat-select-search\n [formControl]=\"searchFilterCtrl\"\n [placeholderLabel]=\"'Search'|transloco\"\n [noEntriesFoundLabel]=\"'Nothing found'|transloco\"\n [enableClearOnEscapePressed]=\"true\">\n </ngx-mat-select-search>\n </mat-option>\n <mat-option [value]=\"choice.value\" *ngFor=\"let choice of filteredChoices()\">\n {{ choice.label | transloco }}\n </mat-option>\n </mat-select>\n </ng-container>\n</ng-container>\n<ng-template #expanded>\n <ajf-checkbox-group *ngIf=\"control|async as ctrl\" class=\"ajf-choices-container\"\n [formControl]=\"ctrl!\">\n <ajf-checkbox-group-item [value]=\"choice.value\" *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </ajf-checkbox-group-item>\n </ajf-checkbox-group>\n</ng-template>\n" }]
|
|
420
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
421
|
-
type: Inject,
|
|
422
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
423
|
-
}] }, { type: undefined, decorators: [{
|
|
424
|
-
type: Optional
|
|
425
|
-
}, {
|
|
426
|
-
type: Inject,
|
|
427
|
-
args: [AJF_SEARCH_ALERT_THRESHOLD]
|
|
428
|
-
}] }]; } });
|
|
429
|
-
|
|
430
|
-
/**
|
|
431
|
-
* @license
|
|
432
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
433
|
-
*
|
|
434
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
435
|
-
*
|
|
436
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
437
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
438
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
439
|
-
* or (at your option) any later version.
|
|
440
|
-
*
|
|
441
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
442
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
443
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
444
|
-
* General Public License for more details.
|
|
445
|
-
*
|
|
446
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
447
|
-
* along with Advanced JSON forms (ajf).
|
|
448
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
449
|
-
*
|
|
450
|
-
*/
|
|
451
|
-
class AjfRangeFieldComponent extends AjfRange {
|
|
452
|
-
constructor(cdr, service, was) {
|
|
453
|
-
super(cdr, service, was);
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
AjfRangeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfRangeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
457
|
-
AjfRangeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfRangeFieldComponent, selector: "ajf-range", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control|async as ctrl\">\n <mat-slider\n discrete\n showTickMarks\n [step]=\"step\"\n [min]=\"start\"\n [max]=\"end\"\n [attr.aria-label]=\"name\"\n [attr.name]=\"name\"\n ><input matSliderThumb [value]=\"value\" [formControl]=\"ctrl\" /></mat-slider>\n <div class=\"ajf-range-label\">\n <label>{{ctrl.value}}</label>\n </div>\n</ng-container>\n", styles: ["ajf-range{display:inline-block;padding-top:20px}ajf-range .ajf-range-label{display:inline-block;padding:0 10px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$3.MatSlider, selector: "mat-slider", inputs: ["color", "disableRipple", "disabled", "discrete", "showTickMarks", "min", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i4$3.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
458
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfRangeFieldComponent, decorators: [{
|
|
459
|
-
type: Component,
|
|
460
|
-
args: [{ selector: 'ajf-range', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"control|async as ctrl\">\n <mat-slider\n discrete\n showTickMarks\n [step]=\"step\"\n [min]=\"start\"\n [max]=\"end\"\n [attr.aria-label]=\"name\"\n [attr.name]=\"name\"\n ><input matSliderThumb [value]=\"value\" [formControl]=\"ctrl\" /></mat-slider>\n <div class=\"ajf-range-label\">\n <label>{{ctrl.value}}</label>\n </div>\n</ng-container>\n", styles: ["ajf-range{display:inline-block;padding-top:20px}ajf-range .ajf-range-label{display:inline-block;padding:0 10px}\n"] }]
|
|
461
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
462
|
-
type: Inject,
|
|
463
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
464
|
-
}] }]; } });
|
|
465
|
-
|
|
466
|
-
/**
|
|
467
|
-
* @license
|
|
468
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
469
|
-
*
|
|
470
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
471
|
-
*
|
|
472
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
473
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
474
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
475
|
-
* or (at your option) any later version.
|
|
476
|
-
*
|
|
477
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
478
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
479
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
480
|
-
* General Public License for more details.
|
|
481
|
-
*
|
|
482
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
483
|
-
* along with Advanced JSON forms (ajf).
|
|
484
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
485
|
-
*
|
|
486
|
-
*/
|
|
487
|
-
class AjfSingleChoiceFieldComponent extends AjfFieldWithChoicesComponent {
|
|
488
|
-
constructor(cdr, service, was, searchThreshold) {
|
|
489
|
-
super(cdr, service, was, searchThreshold);
|
|
490
|
-
this.searchFilterCtrl = new FormControl('');
|
|
491
|
-
this.searchFilterSub = this.searchFilterCtrl.valueChanges.subscribe(() => {
|
|
492
|
-
cdr.markForCheck();
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
filteredChoices() {
|
|
496
|
-
const choices = this.instance?.filteredChoices || [];
|
|
497
|
-
let search = this.searchFilterCtrl.value;
|
|
498
|
-
if (!search) {
|
|
499
|
-
return choices;
|
|
500
|
-
}
|
|
501
|
-
search = search.toLowerCase();
|
|
502
|
-
return choices.filter(c => c.label.toLowerCase().includes(search));
|
|
503
|
-
}
|
|
504
|
-
ngOnDestroy() {
|
|
505
|
-
super.ngOnDestroy();
|
|
506
|
-
this.searchFilterSub.unsubscribe();
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
AjfSingleChoiceFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfSingleChoiceFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }, { token: AJF_SEARCH_ALERT_THRESHOLD, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
510
|
-
AjfSingleChoiceFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfSingleChoiceFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"instance\">\n <ng-container *ngIf=\"!(instance|ajfExpandFieldWithChoices:searchThreshold) ; else expanded\">\n <mat-select *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\">\n <mat-option [style.backgroundColor]=\"'white'\">\n <ngx-mat-select-search\n [formControl]=\"searchFilterCtrl\"\n [placeholderLabel]=\"'Search'|transloco\"\n [noEntriesFoundLabel]=\"'Nothing found'|transloco\"\n [enableClearOnEscapePressed]=\"true\">\n </ngx-mat-select-search>\n </mat-option>\n <mat-option [value]=\"choice.value\" *ngFor=\"let choice of filteredChoices()\">\n {{ choice.label | transloco }}\n </mat-option>\n </mat-select>\n </ng-container>\n</ng-container>\n<ng-template #expanded>\n <mat-radio-group *ngIf=\"control|async as ctrl\" class=\"ajf-choices-container\"\n [attr.aria-labelledby]=\"instance!.node.name\"\n [formControl]=\"ctrl!\">\n <mat-radio-button [value]=\"choice.value\" *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </mat-radio-button>\n </mat-radio-group>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i5$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i8.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "pipe", type: i3$2.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AjfExpandFieldWithChoicesPipe, name: "ajfExpandFieldWithChoices" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfSingleChoiceFieldComponent, decorators: [{
|
|
512
|
-
type: Component,
|
|
513
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"instance\">\n <ng-container *ngIf=\"!(instance|ajfExpandFieldWithChoices:searchThreshold) ; else expanded\">\n <mat-select *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\">\n <mat-option [style.backgroundColor]=\"'white'\">\n <ngx-mat-select-search\n [formControl]=\"searchFilterCtrl\"\n [placeholderLabel]=\"'Search'|transloco\"\n [noEntriesFoundLabel]=\"'Nothing found'|transloco\"\n [enableClearOnEscapePressed]=\"true\">\n </ngx-mat-select-search>\n </mat-option>\n <mat-option [value]=\"choice.value\" *ngFor=\"let choice of filteredChoices()\">\n {{ choice.label | transloco }}\n </mat-option>\n </mat-select>\n </ng-container>\n</ng-container>\n<ng-template #expanded>\n <mat-radio-group *ngIf=\"control|async as ctrl\" class=\"ajf-choices-container\"\n [attr.aria-labelledby]=\"instance!.node.name\"\n [formControl]=\"ctrl!\">\n <mat-radio-button [value]=\"choice.value\" *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </mat-radio-button>\n </mat-radio-group>\n</ng-template>\n" }]
|
|
514
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
515
|
-
type: Inject,
|
|
516
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
517
|
-
}] }, { type: undefined, decorators: [{
|
|
518
|
-
type: Optional
|
|
519
|
-
}, {
|
|
520
|
-
type: Inject,
|
|
521
|
-
args: [AJF_SEARCH_ALERT_THRESHOLD]
|
|
522
|
-
}] }]; } });
|
|
523
|
-
|
|
524
|
-
/**
|
|
525
|
-
* @license
|
|
526
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
527
|
-
*
|
|
528
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
529
|
-
*
|
|
530
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
531
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
532
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
533
|
-
* or (at your option) any later version.
|
|
534
|
-
*
|
|
535
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
536
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
537
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
538
|
-
* General Public License for more details.
|
|
539
|
-
*
|
|
540
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
541
|
-
* along with Advanced JSON forms (ajf).
|
|
542
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
543
|
-
*
|
|
544
|
-
*/
|
|
545
|
-
class AjfTableFieldComponent extends AjfTableFieldComponent$1 {
|
|
546
|
-
constructor(cdr, service, was) {
|
|
547
|
-
super(cdr, service, was);
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
AjfTableFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfTableFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
551
|
-
AjfTableFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfTableFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<table *ngIf=\"instance\" class=\"ajf-table-field\">\n <ng-container *ngIf=\"instance.node as node\">\n <ng-container *ngFor=\"let columns of instance.controls; let row = index\">\n <tr [ngClass]=\"row | ajfTableRowClass\">\n <td>\n <ng-container *ngIf=\"columns.length > 0 && columns[0]\">\n {{ columns[0] | ajfTranslateIfString | ajfFormatIfNumber: '.0-2' }}\n </ng-container>\n </td>\n <ng-container *ngIf=\"columns.length > 1\">\n <td *ngFor=\"let c of columns[1]; let column = index\">\n <ng-container *ngIf=\"row === 0; else controlCell\">\n {{ c | ajfTranslateIfString | ajfFormatIfNumber: '.0-2' }}\n </ng-container>\n <ng-template #controlCell>\n <ng-container *ngIf=\"c|ajfGetTableCellControl as contr\">\n <ng-container *ngIf=\"contr\">\n <ng-container\n *ngIf=\"contr!.show && (node.rows[row-1][column]|ajfIsCellEditable); else plainTextCell\"\n >\n <ng-container *ngIf=\"contr.type === 'number';else genericInput\">\n <input\n (focusout)=\"contr!.show = false\"\n type=\"number\"\n [formControl]=\"contr.control\"\n (keydown.tab)=\"goToNextCell($event, row, column)\"\n autofocus\n />\n </ng-container>\n <ng-template #genericInput>\n <input\n (focusout)=\"contr!.show = false\"\n [type]=\"contr.type\"\n [formControl]=\"contr.control\"\n (keydown.tab)=\"goToNextCell($event, row, column)\"\n autofocus\n />\n </ng-template>\n </ng-container>\n\n <ng-template #plainTextCell>\n <span class=\"ajf-table-cell\" (click)=\"goToCell(row, column)\"\n >{{ contr.control!.value | ajfTranslateIfString | ajfFormatIfNumber: '.0-2'\n }}</span\n >\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n</table>\n", styles: ["table.ajf-table-field{border-collapse:collapse;border-spacing:0;width:100%}table.ajf-table-field tr td{position:relative;min-width:2em;border-top:solid 1px #cccccc;border-left:solid 1px #cccccc}table.ajf-table-field tr td span,table.ajf-table-field tr td input{cursor:text;width:100%;box-sizing:border-box;outline:none;display:inline-block;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center;position:relative;min-height:22px;border:none}table.ajf-table-field tr td:last-child span,table.ajf-table-field tr td:last-child input{border-right-color:#ccc}table.ajf-table-field tr:last-of-type td span,table.ajf-table-field tr:last-of-type td input{border-bottom-color:#ccc}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i4$4.FormatIfNumber, name: "ajfFormatIfNumber" }, { kind: "pipe", type: i4$4.TranslateIfString, name: "ajfTranslateIfString" }, { kind: "pipe", type: i1.AjfGetTableCellControlPipe, name: "ajfGetTableCellControl" }, { kind: "pipe", type: i1.AjfIsCellEditablePipe, name: "ajfIsCellEditable" }, { kind: "pipe", type: i1.AjfTableRowClass, name: "ajfTableRowClass" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
552
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfTableFieldComponent, decorators: [{
|
|
553
|
-
type: Component,
|
|
554
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<table *ngIf=\"instance\" class=\"ajf-table-field\">\n <ng-container *ngIf=\"instance.node as node\">\n <ng-container *ngFor=\"let columns of instance.controls; let row = index\">\n <tr [ngClass]=\"row | ajfTableRowClass\">\n <td>\n <ng-container *ngIf=\"columns.length > 0 && columns[0]\">\n {{ columns[0] | ajfTranslateIfString | ajfFormatIfNumber: '.0-2' }}\n </ng-container>\n </td>\n <ng-container *ngIf=\"columns.length > 1\">\n <td *ngFor=\"let c of columns[1]; let column = index\">\n <ng-container *ngIf=\"row === 0; else controlCell\">\n {{ c | ajfTranslateIfString | ajfFormatIfNumber: '.0-2' }}\n </ng-container>\n <ng-template #controlCell>\n <ng-container *ngIf=\"c|ajfGetTableCellControl as contr\">\n <ng-container *ngIf=\"contr\">\n <ng-container\n *ngIf=\"contr!.show && (node.rows[row-1][column]|ajfIsCellEditable); else plainTextCell\"\n >\n <ng-container *ngIf=\"contr.type === 'number';else genericInput\">\n <input\n (focusout)=\"contr!.show = false\"\n type=\"number\"\n [formControl]=\"contr.control\"\n (keydown.tab)=\"goToNextCell($event, row, column)\"\n autofocus\n />\n </ng-container>\n <ng-template #genericInput>\n <input\n (focusout)=\"contr!.show = false\"\n [type]=\"contr.type\"\n [formControl]=\"contr.control\"\n (keydown.tab)=\"goToNextCell($event, row, column)\"\n autofocus\n />\n </ng-template>\n </ng-container>\n\n <ng-template #plainTextCell>\n <span class=\"ajf-table-cell\" (click)=\"goToCell(row, column)\"\n >{{ contr.control!.value | ajfTranslateIfString | ajfFormatIfNumber: '.0-2'\n }}</span\n >\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n</table>\n", styles: ["table.ajf-table-field{border-collapse:collapse;border-spacing:0;width:100%}table.ajf-table-field tr td{position:relative;min-width:2em;border-top:solid 1px #cccccc;border-left:solid 1px #cccccc}table.ajf-table-field tr td span,table.ajf-table-field tr td input{cursor:text;width:100%;box-sizing:border-box;outline:none;display:inline-block;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center;position:relative;min-height:22px;border:none}table.ajf-table-field tr td:last-child span,table.ajf-table-field tr td:last-child input{border-right-color:#ccc}table.ajf-table-field tr:last-of-type td span,table.ajf-table-field tr:last-of-type td input{border-bottom-color:#ccc}\n"] }]
|
|
555
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
556
|
-
type: Inject,
|
|
557
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
558
|
-
}] }]; } });
|
|
559
|
-
|
|
560
|
-
/**
|
|
561
|
-
* @license
|
|
562
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
563
|
-
*
|
|
564
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
565
|
-
*
|
|
566
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
567
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
568
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
569
|
-
* or (at your option) any later version.
|
|
570
|
-
*
|
|
571
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
572
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
573
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
574
|
-
* General Public License for more details.
|
|
575
|
-
*
|
|
576
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
577
|
-
* along with Advanced JSON forms (ajf).
|
|
578
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
579
|
-
*
|
|
580
|
-
*/
|
|
581
|
-
class AjfTextFieldComponent extends AjfInputFieldComponent$1 {
|
|
582
|
-
constructor(cdr, service, was) {
|
|
583
|
-
super(cdr, service, was);
|
|
584
|
-
}
|
|
585
|
-
}
|
|
586
|
-
AjfTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfTextFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
587
|
-
AjfTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfTextFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <textarea matInput cdkTextareaAutosize [formControl]=\"ctrl!\"></textarea>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5$2.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
588
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfTextFieldComponent, decorators: [{
|
|
589
|
-
type: Component,
|
|
590
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <textarea matInput cdkTextareaAutosize [formControl]=\"ctrl!\"></textarea>\n</mat-form-field>\n" }]
|
|
591
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
592
|
-
type: Inject,
|
|
593
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
594
|
-
}] }]; } });
|
|
595
|
-
|
|
596
|
-
/**
|
|
597
|
-
* @license
|
|
598
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
599
|
-
*
|
|
600
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
601
|
-
*
|
|
602
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
603
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
604
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
605
|
-
* or (at your option) any later version.
|
|
606
|
-
*
|
|
607
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
608
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
609
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
610
|
-
* General Public License for more details.
|
|
611
|
-
*
|
|
612
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
613
|
-
* along with Advanced JSON forms (ajf).
|
|
614
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
615
|
-
*
|
|
616
|
-
*/
|
|
617
|
-
class AjfTimeFieldComponent extends AjfBaseFieldComponent {
|
|
618
|
-
constructor(cdr, service, was) {
|
|
619
|
-
super(cdr, service, was);
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
AjfTimeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfTimeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
623
|
-
AjfTimeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfTimeFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ajf-time *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-time>\n", styles: [""], dependencies: [{ kind: "component", type: i2$6.AjfTime, selector: "ajf-time" }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
624
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfTimeFieldComponent, decorators: [{
|
|
625
|
-
type: Component,
|
|
626
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-time *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-time>\n" }]
|
|
627
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
628
|
-
type: Inject,
|
|
629
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
630
|
-
}] }]; } });
|
|
631
|
-
|
|
632
|
-
/**
|
|
633
|
-
* @license
|
|
634
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
635
|
-
*
|
|
636
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
637
|
-
*
|
|
638
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
639
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
640
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
641
|
-
* or (at your option) any later version.
|
|
642
|
-
*
|
|
643
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
644
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
645
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
646
|
-
* General Public License for more details.
|
|
647
|
-
*
|
|
648
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
649
|
-
* along with Advanced JSON forms (ajf).
|
|
650
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
651
|
-
*
|
|
652
|
-
*/
|
|
653
|
-
class AjfVideoUrlFieldComponent extends AjfVideoUrlFieldComponent$1 {
|
|
654
|
-
constructor(cdr, service, was, domSanitizer, httpClient) {
|
|
655
|
-
super(cdr, service, was, domSanitizer, httpClient);
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
AjfVideoUrlFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfVideoUrlFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }, { token: i2$7.DomSanitizer }, { token: i3$5.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
659
|
-
AjfVideoUrlFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfVideoUrlFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control|async as ctrl\">\n <mat-form-field class=\"ajf-video-input\">\n <input matInput type=\"url\" [formControl]=\"ctrl!\">\n </mat-form-field>\n <div class=\"ajf-video-thumbnail\">\n <ng-container *ngIf=\"validUrl|async\">\n <a target=\"_blank\" [href]=\"ctrl.value\">\n <img *ngIf=\"videoThumbnail|async as thumb\" [src]=\"thumb\" class=\"\" alt=\"\">\n </a>\n </ng-container>\n </div>\n</ng-container>\n", styles: [".ajf-video-input{width:100%}.ajf-video-thumbnail{width:212px;height:120px;background-color:#eee;display:flex;align-items:center;justify-content:center}.ajf-video-thumbnail img{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfVideoUrlFieldComponent, decorators: [{
|
|
661
|
-
type: Component,
|
|
662
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"control|async as ctrl\">\n <mat-form-field class=\"ajf-video-input\">\n <input matInput type=\"url\" [formControl]=\"ctrl!\">\n </mat-form-field>\n <div class=\"ajf-video-thumbnail\">\n <ng-container *ngIf=\"validUrl|async\">\n <a target=\"_blank\" [href]=\"ctrl.value\">\n <img *ngIf=\"videoThumbnail|async as thumb\" [src]=\"thumb\" class=\"\" alt=\"\">\n </a>\n </ng-container>\n </div>\n</ng-container>\n", styles: [".ajf-video-input{width:100%}.ajf-video-thumbnail{width:212px;height:120px;background-color:#eee;display:flex;align-items:center;justify-content:center}.ajf-video-thumbnail img{flex:1 1 auto}\n"] }]
|
|
663
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
664
|
-
type: Inject,
|
|
665
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
666
|
-
}] }, { type: i2$7.DomSanitizer }, { type: i3$5.HttpClient }]; } });
|
|
667
|
-
|
|
668
|
-
/**
|
|
669
|
-
* @license
|
|
670
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
671
|
-
*
|
|
672
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
673
|
-
*
|
|
674
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
675
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
676
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
677
|
-
* or (at your option) any later version.
|
|
678
|
-
*
|
|
679
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
680
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
681
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
682
|
-
* General Public License for more details.
|
|
683
|
-
*
|
|
684
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
685
|
-
* along with Advanced JSON forms (ajf).
|
|
686
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
687
|
-
*
|
|
688
|
-
*/
|
|
689
|
-
/**
|
|
690
|
-
* It allows the loading of a Signature canvas image inside an AjfForm.
|
|
691
|
-
*
|
|
692
|
-
* @export
|
|
693
|
-
* @class AjfSignatureFieldComponent
|
|
694
|
-
*/
|
|
695
|
-
class AjfSignatureFieldComponent extends AjfBaseFieldComponent {
|
|
696
|
-
constructor(cdr, service, was) {
|
|
697
|
-
super(cdr, service, was);
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
AjfSignatureFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfSignatureFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
701
|
-
AjfSignatureFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfSignatureFieldComponent, selector: "ajf-signature-field", usesInheritance: true, ngImport: i0, template: "<ajf-signature *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-signature>\n", styles: [""], dependencies: [{ kind: "component", type: i2$8.AjfSignatureComponent, selector: "ajf-signature" }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
702
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfSignatureFieldComponent, decorators: [{
|
|
703
|
-
type: Component,
|
|
704
|
-
args: [{ selector: 'ajf-signature-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-signature *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-signature>\n" }]
|
|
705
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
|
|
706
|
-
type: Inject,
|
|
707
|
-
args: [AJF_WARNING_ALERT_SERVICE]
|
|
708
|
-
}] }]; } });
|
|
709
|
-
|
|
710
|
-
/**
|
|
711
|
-
* @license
|
|
712
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
713
|
-
*
|
|
714
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
715
|
-
*
|
|
716
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
717
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
718
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
719
|
-
* or (at your option) any later version.
|
|
720
|
-
*
|
|
721
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
722
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
723
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
724
|
-
* General Public License for more details.
|
|
725
|
-
*
|
|
726
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
727
|
-
* along with Advanced JSON forms (ajf).
|
|
728
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
729
|
-
*
|
|
730
|
-
*/
|
|
731
|
-
class AjfFieldService extends AjfFieldService$1 {
|
|
732
|
-
constructor() {
|
|
733
|
-
super();
|
|
734
|
-
(this.componentsMap[AjfFieldType.String] = {
|
|
735
|
-
component: AjfInputFieldComponent,
|
|
736
|
-
readOnlyComponent: AjfReadOnlyFieldComponent,
|
|
737
|
-
}),
|
|
738
|
-
(this.componentsMap[AjfFieldType.Text] = {
|
|
739
|
-
component: AjfTextFieldComponent,
|
|
740
|
-
readOnlyComponent: AjfReadOnlyFieldComponent,
|
|
741
|
-
}),
|
|
742
|
-
(this.componentsMap[AjfFieldType.Number] = {
|
|
743
|
-
component: AjfInputFieldComponent,
|
|
744
|
-
readOnlyComponent: AjfReadOnlyFieldComponent,
|
|
745
|
-
inputs: { type: 'number' },
|
|
746
|
-
}),
|
|
747
|
-
(this.componentsMap[AjfFieldType.Boolean] = {
|
|
748
|
-
component: AjfBooleanFieldComponent,
|
|
749
|
-
readOnlyComponent: AjfReadOnlyFieldComponent,
|
|
750
|
-
}),
|
|
751
|
-
(this.componentsMap[AjfFieldType.Formula] = {
|
|
752
|
-
component: AjfInputFieldComponent,
|
|
753
|
-
readOnlyComponent: AjfReadOnlyFieldComponent,
|
|
754
|
-
inputs: { readonly: true },
|
|
755
|
-
}),
|
|
756
|
-
(this.componentsMap[AjfFieldType.Date] = {
|
|
757
|
-
component: AjfDateFieldComponent,
|
|
758
|
-
readOnlyComponent: AjfReadOnlyFieldComponent,
|
|
759
|
-
}),
|
|
760
|
-
(this.componentsMap[AjfFieldType.DateInput] = {
|
|
761
|
-
component: AjfDateInputFieldComponent,
|
|
762
|
-
readOnlyComponent: AjfReadOnlyDateFieldComponent,
|
|
763
|
-
}),
|
|
764
|
-
(this.componentsMap[AjfFieldType.Table] = {
|
|
765
|
-
component: AjfTableFieldComponent,
|
|
766
|
-
readOnlyComponent: AjfReadOnlyTableFieldComponent,
|
|
767
|
-
}),
|
|
768
|
-
(this.componentsMap[AjfFieldType.Empty] = { component: AjfEmptyFieldComponent }),
|
|
769
|
-
(this.componentsMap[AjfFieldType.SingleChoice] = {
|
|
770
|
-
component: AjfSingleChoiceFieldComponent,
|
|
771
|
-
readOnlyComponent: AjfReadOnlySelectFieldComponent,
|
|
772
|
-
}),
|
|
773
|
-
(this.componentsMap[AjfFieldType.MultipleChoice] = {
|
|
774
|
-
component: AjfMultipleChoiceFieldComponent,
|
|
775
|
-
readOnlyComponent: AjfReadOnlySelectFieldComponent,
|
|
776
|
-
}),
|
|
777
|
-
(this.componentsMap[AjfFieldType.Time] = {
|
|
778
|
-
component: AjfTimeFieldComponent,
|
|
779
|
-
readOnlyComponent: AjfReadOnlyFieldComponent,
|
|
780
|
-
}),
|
|
781
|
-
(this.componentsMap[AjfFieldType.Barcode] = {
|
|
782
|
-
component: AjfBarcodeFieldComponent,
|
|
783
|
-
readOnlyComponent: AjfReadOnlyFieldComponent,
|
|
784
|
-
});
|
|
785
|
-
this.componentsMap[AjfFieldType.Signature] = {
|
|
786
|
-
component: AjfSignatureFieldComponent,
|
|
787
|
-
readOnlyComponent: AjfReadOnlyImageFieldComponent,
|
|
788
|
-
};
|
|
789
|
-
this.componentsMap[AjfFieldType.Geolocation] = {
|
|
790
|
-
component: AjfGeolocationFieldComponent,
|
|
791
|
-
readOnlyComponent: AjfReadOnlyGeolocationFieldComponent,
|
|
792
|
-
};
|
|
793
|
-
this.componentsMap[AjfFieldType.File] = {
|
|
794
|
-
component: AjfFileFieldComponent,
|
|
795
|
-
readOnlyComponent: AjfReadOnlyFileFieldComponent,
|
|
796
|
-
};
|
|
797
|
-
this.componentsMap[AjfFieldType.Image] = {
|
|
798
|
-
component: AjfImageFieldComponent,
|
|
799
|
-
readOnlyComponent: AjfReadOnlyImageFieldComponent,
|
|
800
|
-
};
|
|
801
|
-
this.componentsMap[AjfFieldType.VideoUrl] = {
|
|
802
|
-
component: AjfVideoUrlFieldComponent,
|
|
803
|
-
readOnlyComponent: AjfReadOnlyVideoUrlFieldComponent,
|
|
804
|
-
};
|
|
805
|
-
this.componentsMap[AjfFieldType.Range] = {
|
|
806
|
-
component: AjfRangeFieldComponent,
|
|
807
|
-
readOnlyComponent: AjfReadOnlyFieldComponent,
|
|
808
|
-
};
|
|
809
|
-
}
|
|
810
|
-
}
|
|
811
|
-
AjfFieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFieldService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
812
|
-
AjfFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFieldService, providedIn: 'root' });
|
|
813
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFieldService, decorators: [{
|
|
814
|
-
type: Injectable,
|
|
815
|
-
args: [{ providedIn: 'root' }]
|
|
816
|
-
}], ctorParameters: function () { return []; } });
|
|
817
|
-
|
|
818
|
-
/**
|
|
819
|
-
* @license
|
|
820
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
821
|
-
*
|
|
822
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
823
|
-
*
|
|
824
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
825
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
826
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
827
|
-
* or (at your option) any later version.
|
|
828
|
-
*
|
|
829
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
830
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
831
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
832
|
-
* General Public License for more details.
|
|
833
|
-
*
|
|
834
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
835
|
-
* along with Advanced JSON forms (ajf).
|
|
836
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
837
|
-
*
|
|
838
|
-
*/
|
|
839
|
-
class AjfFormField extends AjfFormField$1 {
|
|
840
|
-
constructor(cdr, fieldService) {
|
|
841
|
-
super(cdr);
|
|
842
|
-
this.componentsMap = fieldService.componentsMap;
|
|
843
|
-
}
|
|
844
|
-
tabEvent(evt, instance) {
|
|
845
|
-
if (evt.code != 'Tab')
|
|
846
|
-
return;
|
|
847
|
-
const isShiftKey = evt.shiftKey;
|
|
848
|
-
const cardIdNext = 'field_entry_' + (isShiftKey ? instance.node.id - 1 : instance.node.id + 1);
|
|
849
|
-
const targetElement = document.querySelector(`#${cardIdNext}`);
|
|
850
|
-
if (targetElement == null || instance == null) {
|
|
851
|
-
evt.preventDefault();
|
|
852
|
-
evt.stopPropagation();
|
|
853
|
-
}
|
|
854
|
-
}
|
|
855
|
-
}
|
|
856
|
-
AjfFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFormField, deps: [{ token: i0.ChangeDetectorRef }, { token: AjfFieldService }], target: i0.ɵɵFactoryTarget.Component });
|
|
857
|
-
AjfFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfFormField, selector: "ajf-field,ajf-form-field", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"instance\"\n [ngClass]=\"'ajf-field-' + (instance|ajfNodeCompleteName)\"\n [class.ajf-validated]=\"instance.validationResults|ajfFieldIsValid\"\n (keydown)=\"tabEvent($event, instance)\"\n>\n <ng-template ajf-field-host></ng-template>\n</div>\n<ng-container *ngIf=\"instance && instance.node && instance.node.attachments\">\n <a *ngFor=\"let attachment of instance.node.attachments\"\n [href]=\"attachment.value\" target=\"_blank\">{{attachment.label | transloco}}</a>\n</ng-container>\n<div *ngIf=\"!readonly && instance && instance.validationResults\" class=\"ajf-errors\">\n <ng-container *ngFor=\"let res of instance.validationResults\">\n <div class=\"error\" *ngIf=\"!res.result\">\n {{ res.error|transloco }}\n </div>\n </ng-container>\n</div>\n", styles: ["ajf-field .ajf-choices-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch}ajf-field .ajf-choices-container ajf-checkbox-group-item{width:100%}ajf-field .ajf-choices-container ajf-checkbox-group-item .mat-mdc-button{display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}ajf-field .ajf-item-container{position:relative}ajf-field .ajf-errors{font-style:italic;padding:5px}ajf-field tr.ajf-row-odd{background-color:gray}table{border-collapse:collapse;border-spacing:0}table tr td{position:relative}table tr td span,table tr td input{cursor:text;position:absolute;width:100%;box-sizing:border-box;outline:none;inset:0;display:inline-block;border-top:solid 1px #cccccc;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px #cccccc;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table tr td:last-child span,table tr td:last-child input{border-right-color:#ccc}table tr:last-of-type td span,table tr:last-of-type td input{border-bottom-color:#ccc}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.AjfFieldHost, selector: "[ajf-field-host]" }, { kind: "pipe", type: i3$2.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i1.AjfFieldIsValidPipe, name: "ajfFieldIsValid" }, { kind: "pipe", type: i1.AjfNodeCompleteNamePipe, name: "ajfNodeCompleteName" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
858
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFormField, decorators: [{
|
|
859
|
-
type: Component,
|
|
860
|
-
args: [{ selector: 'ajf-field,ajf-form-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"instance\"\n [ngClass]=\"'ajf-field-' + (instance|ajfNodeCompleteName)\"\n [class.ajf-validated]=\"instance.validationResults|ajfFieldIsValid\"\n (keydown)=\"tabEvent($event, instance)\"\n>\n <ng-template ajf-field-host></ng-template>\n</div>\n<ng-container *ngIf=\"instance && instance.node && instance.node.attachments\">\n <a *ngFor=\"let attachment of instance.node.attachments\"\n [href]=\"attachment.value\" target=\"_blank\">{{attachment.label | transloco}}</a>\n</ng-container>\n<div *ngIf=\"!readonly && instance && instance.validationResults\" class=\"ajf-errors\">\n <ng-container *ngFor=\"let res of instance.validationResults\">\n <div class=\"error\" *ngIf=\"!res.result\">\n {{ res.error|transloco }}\n </div>\n </ng-container>\n</div>\n", styles: ["ajf-field .ajf-choices-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch}ajf-field .ajf-choices-container ajf-checkbox-group-item{width:100%}ajf-field .ajf-choices-container ajf-checkbox-group-item .mat-mdc-button{display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}ajf-field .ajf-item-container{position:relative}ajf-field .ajf-errors{font-style:italic;padding:5px}ajf-field tr.ajf-row-odd{background-color:gray}table{border-collapse:collapse;border-spacing:0}table tr td{position:relative}table tr td span,table tr td input{cursor:text;position:absolute;width:100%;box-sizing:border-box;outline:none;inset:0;display:inline-block;border-top:solid 1px #cccccc;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px #cccccc;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table tr td:last-child span,table tr td:last-child input{border-right-color:#ccc}table tr:last-of-type td span,table tr:last-of-type td input{border-bottom-color:#ccc}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
|
|
861
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: AjfFieldService }]; } });
|
|
862
|
-
|
|
863
|
-
/**
|
|
864
|
-
* @license
|
|
865
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
866
|
-
*
|
|
867
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
868
|
-
*
|
|
869
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
870
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
871
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
872
|
-
* or (at your option) any later version.
|
|
873
|
-
*
|
|
874
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
875
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
876
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
877
|
-
* General Public License for more details.
|
|
878
|
-
*
|
|
879
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
880
|
-
* along with Advanced JSON forms (ajf).
|
|
881
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
882
|
-
*
|
|
883
|
-
*/
|
|
884
|
-
class AjfFormRenderer extends AjfFormRenderer$1 {
|
|
885
|
-
constructor(rendererService, changeDetectorRef) {
|
|
886
|
-
super(rendererService, changeDetectorRef);
|
|
887
|
-
this.topBar = false;
|
|
888
|
-
this.centeredFieldsContent = false;
|
|
889
|
-
this.maxColumns = 1;
|
|
890
|
-
}
|
|
891
|
-
}
|
|
892
|
-
AjfFormRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFormRenderer, deps: [{ token: i1.AjfFormRendererService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
893
|
-
AjfFormRenderer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AjfFormRenderer, selector: "ajf-form", inputs: { topBar: "topBar", centeredFieldsContent: "centeredFieldsContent", maxColumns: "maxColumns" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"formGroup|async as fg\">\n <form [class.ajf-form-readonly]=\"readonly\" novalidate [formGroup]=\"fg!\">\n <div class=\"ajf-form-container\">\n <mat-toolbar *ngIf=\"!hideTopToolbar && topBar\" class=\"ajf-btn-strip\">\n <mat-button-toggle-group>\n <ng-container\n *ngFor=\"let slideInstance of (slides|async); let idx = index; trackBy: trackNodeById\"\n >\n <mat-button-toggle\n *ngIf=\"slideInstance.node.label && slideInstance.node.label.length > 0\"\n class=\"ajf-topbar-button\"\n (click)=\"scrollToSlide(slideInstance)\"\n [checked]=\"isSlideToggleChecked(slideInstance, formSlider.currentPage)\"\n [disabled]=\"slideInstance.visible === false\"\n >\n {{slideInstance.node.label | transloco}} {{ getRepeatingSlideRepIndex(slideInstance,\n formSlider.currentPage)|async}}\n <mat-icon *ngIf=\"!slideInstance.valid && slideInstance.visible !== false\" class=\"ajf-warning\">warning</mat-icon>\n <mat-icon *ngIf=\"slideInstance.valid && slideInstance.visible !== false\" class=\"ajf-success\">check</mat-icon>\n </mat-button-toggle>\n </ng-container>\n </mat-button-toggle-group>\n </mat-toolbar>\n <mat-toolbar *ngIf=\"!hideTopToolbar\">\n {{ title }}\n <span class=\"ajf-spacer\"></span>\n <!-- this content projection allow to add buttons on toolbar -->\n <ng-content select=\"[ajfFormTopToolbarButtons]\"></ng-content>\n <!-- apply a default save button only when ajfFormSaveButton is empty -->\n <span *ngIf=\"!saveDisabled\" (click)=\"onSave($event)\">\n <span #saveButton><ng-content select=\"[ajfFormSaveButton]\"></ng-content></span>\n <button\n *ngIf=\"saveButton && saveButton.childNodes && saveButton.childNodes.length === 0\"\n mat-button\n default\n >\n {{'Save'|transloco}}\n </button>\n </span>\n </mat-toolbar>\n <div class=\"ajf-slider-container\">\n <ajf-page-slider\n (orientationChange)=\"orientationChangeHandler($event)\"\n [fixedOrientation]=\"fixedOrientation\"\n [hideNavigationButtons]=\"hideNavigationButtons\"\n [orientation]=\"orientation\"\n #formSlider\n >\n <ng-container *ngIf=\"(slides|async) as curSlides\">\n <ng-container *ngIf=\"curSlides!.length > 0 && hasStartMessage\">\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"> 1 → </span>\n <span class=\"ajf-title\">\n <ng-content select=\"[ajfFormStartMessageTitle]\"></ng-content>\n </span>\n </h2>\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-content select=\"[ajfFormStartMessage]\"></ng-content>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n <ng-container *ngFor=\"let slideInstance of curSlides; trackBy:trackNodeById\">\n <!-- non repeating slides -->\n <ng-container *ngIf=\"slideInstance.visible\">\n <ng-container *ngIf=\"!(slideInstance|ajfIsRepeatingSlideInstance)\">\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"\n >{{ slideInstance.position + (hasStartMessage | ajfBoolToInt) }}\n →</span\n >\n <span [innerHTML]=\"slideInstance.node.label | transloco\"></span>\n </h2>\n <mat-icon class=\"ajf-warning\" *ngIf=\"!slideInstance.valid\"\n >warning</mat-icon\n >\n <mat-icon class=\"ajf-success\" *ngIf=\"slideInstance.valid\"\n >check</mat-icon\n >\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-template\n ngFor\n let-fieldInstance\n [ngForOf]=\"slideInstance.flatNodes\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <mat-card\n appearance=\"outlined\"\n [ngClass]=\"'ajf-' + (fieldInstance|ajfAsFieldInstance).node.size +\n ' ajf-max-columns-' + maxColumns +\n (centeredFieldsContent ? ' ajf-centered-field' : '')\"\n class=\"ajf-field-entry\"\n *ngIf=\"fieldInstance.visible\"\n >\n <i\n [class]=\"(fieldInstance|ajfAsFieldInstance).node.fieldType | ajfFieldIcon\"\n item-right\n ></i>\n <p>\n {{ ((fieldInstance|ajfAsFieldInstance).node.description || '') |\n transloco }}\n </p>\n\n <mat-card-header>\n <mat-card-title>\n <label\n [attr.id]=\"fieldInstance.node.name\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node.fieldType !== 7\"\n [innerHTML]=\"fieldInstance.node.label | transloco\"\n ></label>\n </mat-card-title>\n <mat-icon\n class=\"ajf-tooltip-icon\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node?.hint as hint\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"right\"\n >\n {{(fieldInstance|ajfAsFieldInstance).node.hintIcon ||\n 'help'}}</mat-icon\n ></mat-card-header\n >\n <mat-card-content>\n <ajf-field\n [instance]=\"fieldInstance|ajfAsFieldInstance\"\n [readonly]=\"readonly || !slideInstance.editable\"\n [id]=\"'field_entry_' + fieldInstance.node.id\"\n >\n </ajf-field>\n </mat-card-content>\n <mat-card-actions\n [ngClass]=\"(fieldInstance|ajfAsFieldInstance)?.valid ?\n 'ajf-valid-field'\n : 'ajf-invalid-field'\"\n >\n <ng-container\n *ngIf=\"(fieldInstance|ajfAsFieldInstance)?.valid !== true; else ajfValidFieldTemplate\"\n >\n <span class=\"ajf-field-error-message\"\n >{{(fieldInstance|ajfAsFieldInstanceErrors|transloco)}}</span\n >\n <mat-icon class=\"ajf-warning\">warning</mat-icon>\n </ng-container>\n <ng-template #ajfValidFieldTemplate>\n <mat-icon class=\"ajf-success\">check</mat-icon>\n </ng-template>\n </mat-card-actions>\n </mat-card>\n </ng-template>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n <!-- repeating slides -->\n <ng-container *ngIf=\"(slideInstance|ajfIsRepeatingSlideInstance)\">\n <ajf-page-slider-item\n *ngFor=\"let curRep of ((slideInstance|ajfAsRepeatingSlideInstance).reps|ajfRange); let idx = index; let lastSlide = last\"\n >\n <div class=\"ajf-form-page\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"\n >{{ slideInstance.position|ajfIncrement:idx + (hasStartMessage |\n ajfBoolToInt) }} →</span\n >\n <span [innerHTML]=\"slideInstance.node.label | transloco\"></span>\n </h2>\n <mat-icon class=\"ajf-warning\" *ngIf=\"!(slideInstance|ajfValidSlide:idx)\"\n >warning</mat-icon\n >\n <mat-icon class=\"ajf-success\" *ngIf=\"(slideInstance|ajfValidSlide:idx)\"\n >check</mat-icon\n >\n </div>\n </mat-card-header>\n <mat-card-content>\n <div *ngIf=\"lastSlide && !readonly\" class=\"ajf-group-actions\">\n <button\n (click)=\"addGroup(slideInstance)\"\n [disabled]=\"!(slideInstance|ajfAsRepeatingSlideInstance).canAdd || ((slideInstance|ajfAsRepeatingSlideInstance).node.disableRemoval && !slideInstance.valid)\"\n mat-mini-fab\n >\n <mat-icon>add</mat-icon>\n </button>\n <button\n (click)=\"removeGroup(slideInstance)\"\n [disabled]=\"!(slideInstance|ajfAsRepeatingSlideInstance).canRemove || (slideInstance|ajfAsRepeatingSlideInstance).node.disableRemoval\"\n mat-mini-fab\n >\n <mat-icon>remove</mat-icon>\n </button>\n </div>\n <ng-template\n ngFor\n let-fieldInstance\n [ngForOf]=\"slideInstance.slideNodes[idx]\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <mat-card\n appearance=\"outlined\"\n [ngClass]=\"'ajf-' + (fieldInstance|ajfAsFieldInstance).node.size +\n ' ajf-max-columns-' + maxColumns +\n (centeredFieldsContent ? ' ajf-centered-field' : '')\"\n class=\"ajf-field-entry\"\n *ngIf=\"fieldInstance.visible\"\n >\n <i\n [class]=\"(fieldInstance|ajfAsFieldInstance).node.fieldType | ajfFieldIcon\"\n item-right\n ></i>\n <p>\n {{ ((fieldInstance|ajfAsFieldInstance).node.description || '') |\n transloco }}\n </p>\n\n <mat-card-header>\n <mat-card-title>\n <label\n [attr.id]=\"fieldInstance.node.name\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node.fieldType !== 7\"\n [innerHTML]=\"fieldInstance.node.label | transloco\"\n ></label>\n </mat-card-title>\n <mat-icon\n class=\"ajf-tooltip-icon\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node?.hint as hint\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"right\"\n >\n {{(fieldInstance|ajfAsFieldInstance).node.hintIcon ||\n 'help'}}</mat-icon\n ></mat-card-header\n >\n <mat-card-content>\n <ajf-field\n [instance]=\"fieldInstance|ajfAsFieldInstance\"\n [readonly]=\"readonly || !slideInstance.editable\"\n [id]=\"'field_entry_' + fieldInstance.node.id\"\n >\n </ajf-field>\n </mat-card-content>\n <mat-card-actions\n [ngClass]=\"(fieldInstance|ajfAsFieldInstance)?.valid ?\n 'ajf-valid-field'\n : 'ajf-invalid-field'\"\n >\n <ng-container\n *ngIf=\"(fieldInstance|ajfAsFieldInstance)?.valid !== true; else ajfValidFieldTemplate\"\n >\n <span class=\"ajf-field-error-message\"\n >{{(fieldInstance|ajfAsFieldInstanceErrors)}}</span\n >\n <mat-icon class=\"ajf-warning\">warning</mat-icon>\n </ng-container>\n <ng-template #ajfValidFieldTemplate>\n <mat-icon class=\"ajf-success\">check</mat-icon>\n </ng-template>\n </mat-card-actions>\n </mat-card>\n </ng-template>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"curSlides && curSlides!.length > 0 && hasEndMessage\">\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span *ngIf=\"(slidesNum|async) as snum\" class=\"ajf-form-header-number\">\n {{ snum! + (hasStartMessage | ajfBoolToInt ) + 1 }} →\n </span>\n <span class=\"ajf-title\">\n <ng-content select=\"[ajfFormEndMessageTitle]\"></ng-content>\n </span>\n </h2>\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-content select=\"[ajfFormEndMessage]\"></ng-content>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n </ng-container>\n <div ajfPageSliderBar *ngIf=\"!hideBottomToolbar\">\n <div class=\"ajf-left-bar\">\n <div class=\"ajf-errors\" *ngIf=\"((errors | async) || 0) > 0\">\n <button mat-button (click)=\"goToPrevError()\" danger>\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button mat-button (click)=\"goToNextError()\" danger>\n <mat-icon>arrow_downward</mat-icon>\n </button>\n </div>\n <div class=\"ajf-info-box ajf-error\">\n <div class=\"ajf-title\">{{'Errors'|transloco}}</div>\n <div class=\"ajf-content\">{{ errors | async }} / {{ slidesNum|async }}</div>\n </div>\n </div>\n </div>\n </ajf-page-slider>\n </div>\n </div>\n </form>\n</ng-container>\n", styles: ["ajf-form{display:block}ajf-form .ajf-form-readonly .ajf-field-entry>label{font-weight:700}ajf-form .ajf-form-container{display:flex;flex-direction:column;position:absolute;inset:0}ajf-form .ajf-form-container mat-toolbar.ajf-hidden{opacity:0}ajf-form .ajf-form-container .ajf-btn-strip .mat-button-toggle-group{overflow-x:auto}ajf-form .ajf-form-container .ajf-topbar-button{font-size:.8em}ajf-form .ajf-form-container mat-icon.ajf-warning{color:#f53d3d}ajf-form .ajf-form-container mat-icon.ajf-success{color:#32db64}ajf-form .ajf-form-container>.ajf-slider-container{flex:1;position:relative}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider{height:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content{padding:16px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page{flex:1;max-height:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card{margin:1em 0 3em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content{display:flex;flex-wrap:wrap;flex-direction:row;align-content:flex-start;position:relative}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content .ajf-group-actions{position:absolute;right:0;top:-30px;padding:15px;z-index:10}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry{padding-right:10px;min-width:350px;display:flex;flex-direction:column;margin:5px;border-left:3px solid;border-radius:5px;min-height:30vh;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-icon{vertical-align:bottom;margin-left:5px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-max-columns-1{flex:1 0 100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-max-columns-2{flex:1 0 45%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-max-columns-3{flex:1 0 30%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-normal{width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-small{width:50%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-smaller{width:33%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-tiny{width:25%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-mini{width:20%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions{position:absolute;bottom:0;width:100%;display:flex;justify-content:flex-start;align-items:center;align-content:center;border-bottom-left-radius:5px;border-bottom-right-radius:5px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions.ajf-valid-field{background-color:#32db6433}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions.ajf-invalid-field{background-color:#f53d3d33}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions.ajf-invalid-field .ajf-field-error-message{margin-left:8px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions .mat-icon{margin-left:auto}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-radio-button,ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry ajf-checkbox-group-item .mat-mdc-button{background-color:inherit!important}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-header{margin-bottom:15px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-header .ajf-tooltip-icon{align-self:center}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content{position:relative;flex:1;flex-flow:row wrap;justify-content:flex-start;align-items:flex-start;padding-top:2%;padding-bottom:10%;overflow-y:auto;max-width:95%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content .mat-mdc-select{margin:20px 0}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content .mat-mdc-radio-group{display:flex;flex-flow:column wrap;justify-content:space-between}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content .mat-mdc-radio-group .mat-mdc-radio-button{flex:1 1 30%;padding:5px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content .ajf-errors .error{display:none}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-centered-field .mat-mdc-card-content,ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-centered-field .mat-mdc-card-header{justify-content:center;text-align:center}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-centered-field .ajf-choices-container .mat-mdc-radio-button{text-align:start}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .ajf-field-range{margin-top:30px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header{display:flex;align-items:center;width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header>h2{flex:1}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header>h2>.ajf-form-header-number{margin-right:.5em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header h2>.ajf-title{display:inline-block;margin-right:40px;white-space:normal;vertical-align:top}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar{display:flex;align-items:flex-start;flex-direction:row;position:absolute;bottom:0}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-right-button{float:right}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-button-icon-only ion-icon{padding:0 .1em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box{height:40px;padding:4px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box>div{height:16px;line-height:16px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box>div.ajf-content{font-weight:700}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box.ajf-error{order:2;color:red}ajf-form .ajf-form-container .ajf-spacer{flex:1 0 auto}\n"], dependencies: [{ kind: "component", type: i2$9.AjfPageSliderItem, selector: "ajf-page-slider-item", outputs: ["scroll"] }, { kind: "component", type: i3$6.AjfPageSlider, selector: "ajf-page-slider" }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatMiniFabButton, selector: "button[mat-mini-fab]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i6$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i8$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: AjfFormField, selector: "ajf-field,ajf-form-field" }, { kind: "pipe", type: i3$2.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AjfAsFieldInstancePipe, name: "ajfAsFieldInstance" }, { kind: "pipe", type: i1.AjfAsFieldInstanceErrorsPipe, name: "ajfAsFieldInstanceErrors" }, { kind: "pipe", type: i1.AjfAsRepeatingSlideInstancePipe, name: "ajfAsRepeatingSlideInstance" }, { kind: "pipe", type: i1.AjfBoolToIntPipe, name: "ajfBoolToInt" }, { kind: "pipe", type: i1.AjfFieldIconPipe, name: "ajfFieldIcon" }, { kind: "pipe", type: i1.AjfIncrementPipe, name: "ajfIncrement" }, { kind: "pipe", type: i1.AjfIsRepeatingSlideInstancePipe, name: "ajfIsRepeatingSlideInstance" }, { kind: "pipe", type: i1.AjfRangePipe, name: "ajfRange" }, { kind: "pipe", type: i1.AjfValidSlidePipe, name: "ajfValidSlide" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
894
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFormRenderer, decorators: [{
|
|
895
|
-
type: Component,
|
|
896
|
-
args: [{ selector: 'ajf-form', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"formGroup|async as fg\">\n <form [class.ajf-form-readonly]=\"readonly\" novalidate [formGroup]=\"fg!\">\n <div class=\"ajf-form-container\">\n <mat-toolbar *ngIf=\"!hideTopToolbar && topBar\" class=\"ajf-btn-strip\">\n <mat-button-toggle-group>\n <ng-container\n *ngFor=\"let slideInstance of (slides|async); let idx = index; trackBy: trackNodeById\"\n >\n <mat-button-toggle\n *ngIf=\"slideInstance.node.label && slideInstance.node.label.length > 0\"\n class=\"ajf-topbar-button\"\n (click)=\"scrollToSlide(slideInstance)\"\n [checked]=\"isSlideToggleChecked(slideInstance, formSlider.currentPage)\"\n [disabled]=\"slideInstance.visible === false\"\n >\n {{slideInstance.node.label | transloco}} {{ getRepeatingSlideRepIndex(slideInstance,\n formSlider.currentPage)|async}}\n <mat-icon *ngIf=\"!slideInstance.valid && slideInstance.visible !== false\" class=\"ajf-warning\">warning</mat-icon>\n <mat-icon *ngIf=\"slideInstance.valid && slideInstance.visible !== false\" class=\"ajf-success\">check</mat-icon>\n </mat-button-toggle>\n </ng-container>\n </mat-button-toggle-group>\n </mat-toolbar>\n <mat-toolbar *ngIf=\"!hideTopToolbar\">\n {{ title }}\n <span class=\"ajf-spacer\"></span>\n <!-- this content projection allow to add buttons on toolbar -->\n <ng-content select=\"[ajfFormTopToolbarButtons]\"></ng-content>\n <!-- apply a default save button only when ajfFormSaveButton is empty -->\n <span *ngIf=\"!saveDisabled\" (click)=\"onSave($event)\">\n <span #saveButton><ng-content select=\"[ajfFormSaveButton]\"></ng-content></span>\n <button\n *ngIf=\"saveButton && saveButton.childNodes && saveButton.childNodes.length === 0\"\n mat-button\n default\n >\n {{'Save'|transloco}}\n </button>\n </span>\n </mat-toolbar>\n <div class=\"ajf-slider-container\">\n <ajf-page-slider\n (orientationChange)=\"orientationChangeHandler($event)\"\n [fixedOrientation]=\"fixedOrientation\"\n [hideNavigationButtons]=\"hideNavigationButtons\"\n [orientation]=\"orientation\"\n #formSlider\n >\n <ng-container *ngIf=\"(slides|async) as curSlides\">\n <ng-container *ngIf=\"curSlides!.length > 0 && hasStartMessage\">\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"> 1 → </span>\n <span class=\"ajf-title\">\n <ng-content select=\"[ajfFormStartMessageTitle]\"></ng-content>\n </span>\n </h2>\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-content select=\"[ajfFormStartMessage]\"></ng-content>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n <ng-container *ngFor=\"let slideInstance of curSlides; trackBy:trackNodeById\">\n <!-- non repeating slides -->\n <ng-container *ngIf=\"slideInstance.visible\">\n <ng-container *ngIf=\"!(slideInstance|ajfIsRepeatingSlideInstance)\">\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"\n >{{ slideInstance.position + (hasStartMessage | ajfBoolToInt) }}\n →</span\n >\n <span [innerHTML]=\"slideInstance.node.label | transloco\"></span>\n </h2>\n <mat-icon class=\"ajf-warning\" *ngIf=\"!slideInstance.valid\"\n >warning</mat-icon\n >\n <mat-icon class=\"ajf-success\" *ngIf=\"slideInstance.valid\"\n >check</mat-icon\n >\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-template\n ngFor\n let-fieldInstance\n [ngForOf]=\"slideInstance.flatNodes\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <mat-card\n appearance=\"outlined\"\n [ngClass]=\"'ajf-' + (fieldInstance|ajfAsFieldInstance).node.size +\n ' ajf-max-columns-' + maxColumns +\n (centeredFieldsContent ? ' ajf-centered-field' : '')\"\n class=\"ajf-field-entry\"\n *ngIf=\"fieldInstance.visible\"\n >\n <i\n [class]=\"(fieldInstance|ajfAsFieldInstance).node.fieldType | ajfFieldIcon\"\n item-right\n ></i>\n <p>\n {{ ((fieldInstance|ajfAsFieldInstance).node.description || '') |\n transloco }}\n </p>\n\n <mat-card-header>\n <mat-card-title>\n <label\n [attr.id]=\"fieldInstance.node.name\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node.fieldType !== 7\"\n [innerHTML]=\"fieldInstance.node.label | transloco\"\n ></label>\n </mat-card-title>\n <mat-icon\n class=\"ajf-tooltip-icon\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node?.hint as hint\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"right\"\n >\n {{(fieldInstance|ajfAsFieldInstance).node.hintIcon ||\n 'help'}}</mat-icon\n ></mat-card-header\n >\n <mat-card-content>\n <ajf-field\n [instance]=\"fieldInstance|ajfAsFieldInstance\"\n [readonly]=\"readonly || !slideInstance.editable\"\n [id]=\"'field_entry_' + fieldInstance.node.id\"\n >\n </ajf-field>\n </mat-card-content>\n <mat-card-actions\n [ngClass]=\"(fieldInstance|ajfAsFieldInstance)?.valid ?\n 'ajf-valid-field'\n : 'ajf-invalid-field'\"\n >\n <ng-container\n *ngIf=\"(fieldInstance|ajfAsFieldInstance)?.valid !== true; else ajfValidFieldTemplate\"\n >\n <span class=\"ajf-field-error-message\"\n >{{(fieldInstance|ajfAsFieldInstanceErrors|transloco)}}</span\n >\n <mat-icon class=\"ajf-warning\">warning</mat-icon>\n </ng-container>\n <ng-template #ajfValidFieldTemplate>\n <mat-icon class=\"ajf-success\">check</mat-icon>\n </ng-template>\n </mat-card-actions>\n </mat-card>\n </ng-template>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n <!-- repeating slides -->\n <ng-container *ngIf=\"(slideInstance|ajfIsRepeatingSlideInstance)\">\n <ajf-page-slider-item\n *ngFor=\"let curRep of ((slideInstance|ajfAsRepeatingSlideInstance).reps|ajfRange); let idx = index; let lastSlide = last\"\n >\n <div class=\"ajf-form-page\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"\n >{{ slideInstance.position|ajfIncrement:idx + (hasStartMessage |\n ajfBoolToInt) }} →</span\n >\n <span [innerHTML]=\"slideInstance.node.label | transloco\"></span>\n </h2>\n <mat-icon class=\"ajf-warning\" *ngIf=\"!(slideInstance|ajfValidSlide:idx)\"\n >warning</mat-icon\n >\n <mat-icon class=\"ajf-success\" *ngIf=\"(slideInstance|ajfValidSlide:idx)\"\n >check</mat-icon\n >\n </div>\n </mat-card-header>\n <mat-card-content>\n <div *ngIf=\"lastSlide && !readonly\" class=\"ajf-group-actions\">\n <button\n (click)=\"addGroup(slideInstance)\"\n [disabled]=\"!(slideInstance|ajfAsRepeatingSlideInstance).canAdd || ((slideInstance|ajfAsRepeatingSlideInstance).node.disableRemoval && !slideInstance.valid)\"\n mat-mini-fab\n >\n <mat-icon>add</mat-icon>\n </button>\n <button\n (click)=\"removeGroup(slideInstance)\"\n [disabled]=\"!(slideInstance|ajfAsRepeatingSlideInstance).canRemove || (slideInstance|ajfAsRepeatingSlideInstance).node.disableRemoval\"\n mat-mini-fab\n >\n <mat-icon>remove</mat-icon>\n </button>\n </div>\n <ng-template\n ngFor\n let-fieldInstance\n [ngForOf]=\"slideInstance.slideNodes[idx]\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <mat-card\n appearance=\"outlined\"\n [ngClass]=\"'ajf-' + (fieldInstance|ajfAsFieldInstance).node.size +\n ' ajf-max-columns-' + maxColumns +\n (centeredFieldsContent ? ' ajf-centered-field' : '')\"\n class=\"ajf-field-entry\"\n *ngIf=\"fieldInstance.visible\"\n >\n <i\n [class]=\"(fieldInstance|ajfAsFieldInstance).node.fieldType | ajfFieldIcon\"\n item-right\n ></i>\n <p>\n {{ ((fieldInstance|ajfAsFieldInstance).node.description || '') |\n transloco }}\n </p>\n\n <mat-card-header>\n <mat-card-title>\n <label\n [attr.id]=\"fieldInstance.node.name\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node.fieldType !== 7\"\n [innerHTML]=\"fieldInstance.node.label | transloco\"\n ></label>\n </mat-card-title>\n <mat-icon\n class=\"ajf-tooltip-icon\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node?.hint as hint\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"right\"\n >\n {{(fieldInstance|ajfAsFieldInstance).node.hintIcon ||\n 'help'}}</mat-icon\n ></mat-card-header\n >\n <mat-card-content>\n <ajf-field\n [instance]=\"fieldInstance|ajfAsFieldInstance\"\n [readonly]=\"readonly || !slideInstance.editable\"\n [id]=\"'field_entry_' + fieldInstance.node.id\"\n >\n </ajf-field>\n </mat-card-content>\n <mat-card-actions\n [ngClass]=\"(fieldInstance|ajfAsFieldInstance)?.valid ?\n 'ajf-valid-field'\n : 'ajf-invalid-field'\"\n >\n <ng-container\n *ngIf=\"(fieldInstance|ajfAsFieldInstance)?.valid !== true; else ajfValidFieldTemplate\"\n >\n <span class=\"ajf-field-error-message\"\n >{{(fieldInstance|ajfAsFieldInstanceErrors)}}</span\n >\n <mat-icon class=\"ajf-warning\">warning</mat-icon>\n </ng-container>\n <ng-template #ajfValidFieldTemplate>\n <mat-icon class=\"ajf-success\">check</mat-icon>\n </ng-template>\n </mat-card-actions>\n </mat-card>\n </ng-template>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"curSlides && curSlides!.length > 0 && hasEndMessage\">\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span *ngIf=\"(slidesNum|async) as snum\" class=\"ajf-form-header-number\">\n {{ snum! + (hasStartMessage | ajfBoolToInt ) + 1 }} →\n </span>\n <span class=\"ajf-title\">\n <ng-content select=\"[ajfFormEndMessageTitle]\"></ng-content>\n </span>\n </h2>\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-content select=\"[ajfFormEndMessage]\"></ng-content>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n </ng-container>\n <div ajfPageSliderBar *ngIf=\"!hideBottomToolbar\">\n <div class=\"ajf-left-bar\">\n <div class=\"ajf-errors\" *ngIf=\"((errors | async) || 0) > 0\">\n <button mat-button (click)=\"goToPrevError()\" danger>\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button mat-button (click)=\"goToNextError()\" danger>\n <mat-icon>arrow_downward</mat-icon>\n </button>\n </div>\n <div class=\"ajf-info-box ajf-error\">\n <div class=\"ajf-title\">{{'Errors'|transloco}}</div>\n <div class=\"ajf-content\">{{ errors | async }} / {{ slidesNum|async }}</div>\n </div>\n </div>\n </div>\n </ajf-page-slider>\n </div>\n </div>\n </form>\n</ng-container>\n", styles: ["ajf-form{display:block}ajf-form .ajf-form-readonly .ajf-field-entry>label{font-weight:700}ajf-form .ajf-form-container{display:flex;flex-direction:column;position:absolute;inset:0}ajf-form .ajf-form-container mat-toolbar.ajf-hidden{opacity:0}ajf-form .ajf-form-container .ajf-btn-strip .mat-button-toggle-group{overflow-x:auto}ajf-form .ajf-form-container .ajf-topbar-button{font-size:.8em}ajf-form .ajf-form-container mat-icon.ajf-warning{color:#f53d3d}ajf-form .ajf-form-container mat-icon.ajf-success{color:#32db64}ajf-form .ajf-form-container>.ajf-slider-container{flex:1;position:relative}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider{height:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content{padding:16px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page{flex:1;max-height:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card{margin:1em 0 3em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content{display:flex;flex-wrap:wrap;flex-direction:row;align-content:flex-start;position:relative}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content .ajf-group-actions{position:absolute;right:0;top:-30px;padding:15px;z-index:10}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry{padding-right:10px;min-width:350px;display:flex;flex-direction:column;margin:5px;border-left:3px solid;border-radius:5px;min-height:30vh;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-icon{vertical-align:bottom;margin-left:5px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-max-columns-1{flex:1 0 100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-max-columns-2{flex:1 0 45%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-max-columns-3{flex:1 0 30%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-normal{width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-small{width:50%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-smaller{width:33%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-tiny{width:25%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-mini{width:20%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions{position:absolute;bottom:0;width:100%;display:flex;justify-content:flex-start;align-items:center;align-content:center;border-bottom-left-radius:5px;border-bottom-right-radius:5px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions.ajf-valid-field{background-color:#32db6433}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions.ajf-invalid-field{background-color:#f53d3d33}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions.ajf-invalid-field .ajf-field-error-message{margin-left:8px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-actions .mat-icon{margin-left:auto}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-radio-button,ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry ajf-checkbox-group-item .mat-mdc-button{background-color:inherit!important}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-header{margin-bottom:15px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-header .ajf-tooltip-icon{align-self:center}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content{position:relative;flex:1;flex-flow:row wrap;justify-content:flex-start;align-items:flex-start;padding-top:2%;padding-bottom:10%;overflow-y:auto;max-width:95%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content .mat-mdc-select{margin:20px 0}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content .mat-mdc-radio-group{display:flex;flex-flow:column wrap;justify-content:space-between}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content .mat-mdc-radio-group .mat-mdc-radio-button{flex:1 1 30%;padding:5px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-mdc-card-content .ajf-errors .error{display:none}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-centered-field .mat-mdc-card-content,ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-centered-field .mat-mdc-card-header{justify-content:center;text-align:center}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-centered-field .ajf-choices-container .mat-mdc-radio-button{text-align:start}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .ajf-field-range{margin-top:30px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header{display:flex;align-items:center;width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header>h2{flex:1}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header>h2>.ajf-form-header-number{margin-right:.5em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header h2>.ajf-title{display:inline-block;margin-right:40px;white-space:normal;vertical-align:top}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar{display:flex;align-items:flex-start;flex-direction:row;position:absolute;bottom:0}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-right-button{float:right}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-button-icon-only ion-icon{padding:0 .1em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box{height:40px;padding:4px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box>div{height:16px;line-height:16px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box>div.ajf-content{font-weight:700}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box.ajf-error{order:2;color:red}ajf-form .ajf-form-container .ajf-spacer{flex:1 0 auto}\n"] }]
|
|
897
|
-
}], ctorParameters: function () { return [{ type: i1.AjfFormRendererService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { topBar: [{
|
|
898
|
-
type: Input
|
|
899
|
-
}], centeredFieldsContent: [{
|
|
900
|
-
type: Input
|
|
901
|
-
}], maxColumns: [{
|
|
902
|
-
type: Input
|
|
903
|
-
}] } });
|
|
904
|
-
|
|
905
|
-
/**
|
|
906
|
-
* @license
|
|
907
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
908
|
-
*
|
|
909
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
910
|
-
*
|
|
911
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
912
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
913
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
914
|
-
* or (at your option) any later version.
|
|
915
|
-
*
|
|
916
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
917
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
918
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
919
|
-
* General Public License for more details.
|
|
920
|
-
*
|
|
921
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
922
|
-
* along with Advanced JSON forms (ajf).
|
|
923
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
924
|
-
*
|
|
925
|
-
*/
|
|
926
|
-
class AjfFormsModule {
|
|
927
|
-
static forRoot() {
|
|
928
|
-
return {
|
|
929
|
-
ngModule: AjfFormsModule,
|
|
930
|
-
providers: [AjfFieldService],
|
|
931
|
-
};
|
|
932
|
-
}
|
|
933
|
-
}
|
|
934
|
-
AjfFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
935
|
-
AjfFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AjfFormsModule, declarations: [AjfBarcodeFieldComponent,
|
|
936
|
-
AjfBooleanFieldComponent,
|
|
937
|
-
AjfDateFieldComponent,
|
|
938
|
-
AjfDateInputFieldComponent,
|
|
939
|
-
AjfEmptyFieldComponent,
|
|
940
|
-
AjfFieldWarningDialog,
|
|
941
|
-
AjfFormField,
|
|
942
|
-
AjfFormRenderer,
|
|
943
|
-
AjfGeolocationFieldComponent,
|
|
944
|
-
AjfInputFieldComponent,
|
|
945
|
-
AjfMultipleChoiceFieldComponent,
|
|
946
|
-
AjfRangeFieldComponent,
|
|
947
|
-
AjfSignatureFieldComponent,
|
|
948
|
-
AjfSingleChoiceFieldComponent,
|
|
949
|
-
AjfTableFieldComponent,
|
|
950
|
-
AjfTextFieldComponent,
|
|
951
|
-
AjfTimeFieldComponent,
|
|
952
|
-
AjfVideoUrlFieldComponent], imports: [AjfBarcodeModule,
|
|
953
|
-
AjfCalendarModule,
|
|
954
|
-
AjfCommonModule,
|
|
955
|
-
AjfCheckboxGroupModule,
|
|
956
|
-
AjfGeolocationModule,
|
|
957
|
-
AjfPageSliderModule,
|
|
958
|
-
AjfSignatureModule,
|
|
959
|
-
AjfTimeModule,
|
|
960
|
-
AjfTranslocoModule,
|
|
961
|
-
CommonModule,
|
|
962
|
-
AjfFormsModule$1,
|
|
963
|
-
MatButtonModule,
|
|
964
|
-
MatButtonToggleModule,
|
|
965
|
-
MatCardModule,
|
|
966
|
-
MatDatepickerModule,
|
|
967
|
-
MatDialogModule,
|
|
968
|
-
MatFormFieldModule,
|
|
969
|
-
MatIconModule,
|
|
970
|
-
MatInputModule,
|
|
971
|
-
MatNativeDateModule,
|
|
972
|
-
MatRadioModule,
|
|
973
|
-
MatSelectModule,
|
|
974
|
-
MatSlideToggleModule,
|
|
975
|
-
MatToolbarModule,
|
|
976
|
-
MatTooltipModule,
|
|
977
|
-
ReactiveFormsModule,
|
|
978
|
-
TextFieldModule,
|
|
979
|
-
MatSliderModule,
|
|
980
|
-
NgxMatSelectSearchModule], exports: [AjfFormField, AjfFormRenderer] });
|
|
981
|
-
AjfFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFormsModule, providers: [
|
|
982
|
-
AjfFieldService,
|
|
983
|
-
{ provide: AJF_WARNING_ALERT_SERVICE, useClass: AjfWarningAlertService },
|
|
984
|
-
], imports: [AjfBarcodeModule,
|
|
985
|
-
AjfCalendarModule,
|
|
986
|
-
AjfCommonModule,
|
|
987
|
-
AjfCheckboxGroupModule,
|
|
988
|
-
AjfGeolocationModule,
|
|
989
|
-
AjfPageSliderModule,
|
|
990
|
-
AjfSignatureModule,
|
|
991
|
-
AjfTimeModule,
|
|
992
|
-
AjfTranslocoModule,
|
|
993
|
-
CommonModule,
|
|
994
|
-
AjfFormsModule$1,
|
|
995
|
-
MatButtonModule,
|
|
996
|
-
MatButtonToggleModule,
|
|
997
|
-
MatCardModule,
|
|
998
|
-
MatDatepickerModule,
|
|
999
|
-
MatDialogModule,
|
|
1000
|
-
MatFormFieldModule,
|
|
1001
|
-
MatIconModule,
|
|
1002
|
-
MatInputModule,
|
|
1003
|
-
MatNativeDateModule,
|
|
1004
|
-
MatRadioModule,
|
|
1005
|
-
MatSelectModule,
|
|
1006
|
-
MatSlideToggleModule,
|
|
1007
|
-
MatToolbarModule,
|
|
1008
|
-
MatTooltipModule,
|
|
1009
|
-
ReactiveFormsModule,
|
|
1010
|
-
TextFieldModule,
|
|
1011
|
-
MatSliderModule,
|
|
1012
|
-
NgxMatSelectSearchModule] });
|
|
1013
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AjfFormsModule, decorators: [{
|
|
1014
|
-
type: NgModule,
|
|
1015
|
-
args: [{
|
|
1016
|
-
imports: [
|
|
1017
|
-
AjfBarcodeModule,
|
|
1018
|
-
AjfCalendarModule,
|
|
1019
|
-
AjfCommonModule,
|
|
1020
|
-
AjfCheckboxGroupModule,
|
|
1021
|
-
AjfGeolocationModule,
|
|
1022
|
-
AjfPageSliderModule,
|
|
1023
|
-
AjfSignatureModule,
|
|
1024
|
-
AjfTimeModule,
|
|
1025
|
-
AjfTranslocoModule,
|
|
1026
|
-
CommonModule,
|
|
1027
|
-
AjfFormsModule$1,
|
|
1028
|
-
MatButtonModule,
|
|
1029
|
-
MatButtonToggleModule,
|
|
1030
|
-
MatCardModule,
|
|
1031
|
-
MatDatepickerModule,
|
|
1032
|
-
MatDialogModule,
|
|
1033
|
-
MatFormFieldModule,
|
|
1034
|
-
MatIconModule,
|
|
1035
|
-
MatInputModule,
|
|
1036
|
-
MatNativeDateModule,
|
|
1037
|
-
MatRadioModule,
|
|
1038
|
-
MatSelectModule,
|
|
1039
|
-
MatSlideToggleModule,
|
|
1040
|
-
MatToolbarModule,
|
|
1041
|
-
MatTooltipModule,
|
|
1042
|
-
ReactiveFormsModule,
|
|
1043
|
-
TextFieldModule,
|
|
1044
|
-
MatSliderModule,
|
|
1045
|
-
NgxMatSelectSearchModule,
|
|
1046
|
-
],
|
|
1047
|
-
declarations: [
|
|
1048
|
-
AjfBarcodeFieldComponent,
|
|
1049
|
-
AjfBooleanFieldComponent,
|
|
1050
|
-
AjfDateFieldComponent,
|
|
1051
|
-
AjfDateInputFieldComponent,
|
|
1052
|
-
AjfEmptyFieldComponent,
|
|
1053
|
-
AjfFieldWarningDialog,
|
|
1054
|
-
AjfFormField,
|
|
1055
|
-
AjfFormRenderer,
|
|
1056
|
-
AjfGeolocationFieldComponent,
|
|
1057
|
-
AjfInputFieldComponent,
|
|
1058
|
-
AjfMultipleChoiceFieldComponent,
|
|
1059
|
-
AjfRangeFieldComponent,
|
|
1060
|
-
AjfSignatureFieldComponent,
|
|
1061
|
-
AjfSingleChoiceFieldComponent,
|
|
1062
|
-
AjfTableFieldComponent,
|
|
1063
|
-
AjfTextFieldComponent,
|
|
1064
|
-
AjfTimeFieldComponent,
|
|
1065
|
-
AjfVideoUrlFieldComponent,
|
|
1066
|
-
],
|
|
1067
|
-
exports: [AjfFormField, AjfFormRenderer],
|
|
1068
|
-
providers: [
|
|
1069
|
-
AjfFieldService,
|
|
1070
|
-
{ provide: AJF_WARNING_ALERT_SERVICE, useClass: AjfWarningAlertService },
|
|
1071
|
-
],
|
|
1072
|
-
}]
|
|
1073
|
-
}] });
|
|
1074
|
-
|
|
1075
|
-
/**
|
|
1076
|
-
* @license
|
|
1077
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
1078
|
-
*
|
|
1079
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
1080
|
-
*
|
|
1081
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
1082
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
1083
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
1084
|
-
* or (at your option) any later version.
|
|
1085
|
-
*
|
|
1086
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
1087
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
1088
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
1089
|
-
* General Public License for more details.
|
|
1090
|
-
*
|
|
1091
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
1092
|
-
* along with Advanced JSON forms (ajf).
|
|
1093
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
1094
|
-
*
|
|
1095
|
-
*/
|
|
1096
|
-
|
|
1097
|
-
/**
|
|
1098
|
-
* Generated bundle index. Do not edit.
|
|
1099
|
-
*/
|
|
1100
|
-
|
|
1101
|
-
export { AjfBooleanFieldComponent, AjfDateFieldComponent, AjfDateInputFieldComponent, AjfEmptyFieldComponent, AjfFieldService, AjfFieldWarningDialog, AjfFormField, AjfFormRenderer, AjfFormsModule, AjfInputFieldComponent, AjfMultipleChoiceFieldComponent, AjfSingleChoiceFieldComponent, AjfTableFieldComponent, AjfTimeFieldComponent, AjfWarningAlertService };
|
|
1102
|
-
//# sourceMappingURL=ajf-material-forms.mjs.map
|