@openmrs/ngx-formentry 3.2.1-pre.241 → 3.2.1-pre.245
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/openmrs-ngx-formentry.umd.js +109 -86
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
- package/components/custom-component-wrapper/custom-component-wrapper..module.d.ts +2 -1
- package/components/custom-control-wrapper/custom-control-wrapper..module.d.ts +2 -1
- package/components/date-time-picker/date-time-picker.module.d.ts +2 -1
- package/components/ngx-datetime-picker/ngx-datetime-picker.module.d.ts +2 -1
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +7 -4
- package/components/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +2 -1
- package/components/ngx-remote-select/ngx-remote-select.module.d.ts +2 -1
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper..module.js +5 -4
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +3 -2
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper..module.js +5 -4
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +3 -2
- package/esm2015/components/date-time-picker/date-time-picker.component.js +3 -2
- package/esm2015/components/date-time-picker/date-time-picker.module.js +5 -4
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +3 -2
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +8 -4
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +11 -8
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +21 -4
- package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +3 -2
- package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +5 -4
- package/esm2015/form-entry/error-renderer/error-renderer.component.js +3 -2
- package/esm2015/form-entry/form-factory/form-node.js +8 -5
- package/esm2015/form-entry/form-factory/form.factory.js +8 -5
- package/esm2015/form-entry/form-factory/validation.factory.js +29 -14
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +2 -2
- package/esm2015/form-entry/pipes/time-ago.pipe.js +18 -15
- package/fesm2015/openmrs-ngx-formentry.js +107 -80
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
- package/form-entry/form-factory/form-node.d.ts +3 -1
- package/form-entry/form-factory/form.factory.d.ts +3 -1
- package/form-entry/form-factory/validation.factory.d.ts +3 -1
- package/form-entry/pipes/time-ago.pipe.d.ts +4 -2
- package/package.json +1 -1
- package/esm2015/form-entry/utils/messages.js +0 -12
- package/form-entry/utils/messages.d.ts +0 -11
|
@@ -4,12 +4,12 @@ import * as i1 from '@angular/common';
|
|
|
4
4
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
5
5
|
import * as i21 from '@angular/forms';
|
|
6
6
|
import { AbstractControl, FormControl, FormGroup, FormArray, NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, FormsModule, ReactiveFormsModule, FormBuilder } from '@angular/forms';
|
|
7
|
+
import * as i4 from '@ngx-translate/core';
|
|
8
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
7
9
|
import { Subject, BehaviorSubject, concat, of, Subscription, defer, merge } from 'rxjs';
|
|
8
10
|
import moment from 'moment';
|
|
9
11
|
import * as _ from 'lodash';
|
|
10
12
|
import ___default from 'lodash';
|
|
11
|
-
import * as i4 from '@ngx-translate/core';
|
|
12
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
13
13
|
import * as i2 from '@angular-extensions/elements';
|
|
14
14
|
import { LazyElementsModule } from '@angular-extensions/elements';
|
|
15
15
|
import * as i1$2 from 'ngx-file-uploader-openmrs';
|
|
@@ -55,9 +55,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
55
55
|
}], ctorParameters: function () { return []; } });
|
|
56
56
|
|
|
57
57
|
class TimeAgoPipe {
|
|
58
|
-
constructor(changeDetectorRef, ngZone) {
|
|
58
|
+
constructor(changeDetectorRef, ngZone, translate) {
|
|
59
59
|
this.changeDetectorRef = changeDetectorRef;
|
|
60
60
|
this.ngZone = ngZone;
|
|
61
|
+
this.translate = translate;
|
|
61
62
|
}
|
|
62
63
|
transform(value) {
|
|
63
64
|
this.removeTimer();
|
|
@@ -84,38 +85,38 @@ class TimeAgoPipe {
|
|
|
84
85
|
return '';
|
|
85
86
|
}
|
|
86
87
|
else if (seconds <= 45) {
|
|
87
|
-
return '
|
|
88
|
+
return this.translate.instant('aMinuteAgo');
|
|
88
89
|
}
|
|
89
90
|
else if (seconds <= 90) {
|
|
90
|
-
return '
|
|
91
|
+
return this.translate.instant('minutesAgo');
|
|
91
92
|
}
|
|
92
93
|
else if (minutes <= 45) {
|
|
93
|
-
return minutes + '
|
|
94
|
+
return minutes + ' ' + this.translate.instant('minutesAgo');
|
|
94
95
|
}
|
|
95
96
|
else if (minutes <= 90) {
|
|
96
|
-
return '
|
|
97
|
+
return this.translate.instant('anHourAgo');
|
|
97
98
|
}
|
|
98
99
|
else if (hours <= 22) {
|
|
99
|
-
return hours + '
|
|
100
|
+
return hours + ' ' + this.translate.instant('hoursAgo');
|
|
100
101
|
}
|
|
101
102
|
else if (hours <= 36) {
|
|
102
|
-
return '
|
|
103
|
+
return this.translate.instant('aDayAgo');
|
|
103
104
|
}
|
|
104
105
|
else if (days <= 25) {
|
|
105
|
-
return days + '
|
|
106
|
+
return days + ' ' + this.translate.instant('daysAgo');
|
|
106
107
|
}
|
|
107
108
|
else if (days <= 45) {
|
|
108
|
-
return '
|
|
109
|
+
return this.translate.instant('aMonthAgo');
|
|
109
110
|
}
|
|
110
111
|
else if (days <= 345) {
|
|
111
|
-
return months + '
|
|
112
|
+
return months + ' ' + this.translate.instant('monthsAgo');
|
|
112
113
|
}
|
|
113
114
|
else if (days <= 545) {
|
|
114
|
-
return '
|
|
115
|
+
return this.translate.instant('aYearAgo');
|
|
115
116
|
}
|
|
116
117
|
else {
|
|
117
118
|
// (days > 545)
|
|
118
|
-
return years + '
|
|
119
|
+
return years + ' ' + this.translate.instant('yearsAgo');
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
122
|
ngOnDestroy() {
|
|
@@ -149,7 +150,7 @@ class TimeAgoPipe {
|
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
152
|
}
|
|
152
|
-
TimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeAgoPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
153
|
+
TimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeAgoPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
153
154
|
TimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeAgoPipe, name: "timeAgo", pure: false });
|
|
154
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimeAgoPipe, decorators: [{
|
|
155
156
|
type: Pipe,
|
|
@@ -157,7 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
157
158
|
name: 'timeAgo',
|
|
158
159
|
pure: false
|
|
159
160
|
}]
|
|
160
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; } });
|
|
161
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i4.TranslateService }]; } });
|
|
161
162
|
|
|
162
163
|
class FormErrorsService {
|
|
163
164
|
constructor() {
|
|
@@ -407,8 +408,9 @@ class GroupNode extends NodeBase {
|
|
|
407
408
|
}
|
|
408
409
|
}
|
|
409
410
|
class ArrayNode extends NodeBase {
|
|
410
|
-
constructor(question, control, parentControl, formFactory, form, parentPath) {
|
|
411
|
+
constructor(question, translate, control, parentControl, formFactory, form, parentPath) {
|
|
411
412
|
super(question, control, form, parentPath);
|
|
413
|
+
this.translate = translate;
|
|
412
414
|
this.formFactory = formFactory;
|
|
413
415
|
this.childNodeCreatedEvents = [];
|
|
414
416
|
this._children = [];
|
|
@@ -419,7 +421,9 @@ class ArrayNode extends NodeBase {
|
|
|
419
421
|
}
|
|
420
422
|
createChildNode() {
|
|
421
423
|
if (this.children.length >= this.question.extras.questionOptions.max) {
|
|
422
|
-
confirm(
|
|
424
|
+
confirm(this.translate
|
|
425
|
+
.instant('maxEntries')
|
|
426
|
+
.replace('{max}', this.question.extras.questionOptions.max));
|
|
423
427
|
return;
|
|
424
428
|
}
|
|
425
429
|
if (this.createChildFunc) {
|
|
@@ -431,7 +435,7 @@ class ArrayNode extends NodeBase {
|
|
|
431
435
|
}
|
|
432
436
|
removeAt(index) {
|
|
433
437
|
if (this.children.length <= this.question.extras.questionOptions.min) {
|
|
434
|
-
const clearPrompt = confirm(
|
|
438
|
+
const clearPrompt = confirm(this.translate.instant('clearEntry'));
|
|
435
439
|
if (clearPrompt && this.removeChildFunc && this.createChildNode) {
|
|
436
440
|
this.removeChildFunc(index, this);
|
|
437
441
|
const g = this.createChildFunc(this.question, this, this.formFactory, index);
|
|
@@ -440,7 +444,7 @@ class ArrayNode extends NodeBase {
|
|
|
440
444
|
}
|
|
441
445
|
}
|
|
442
446
|
else {
|
|
443
|
-
const removePrompt = confirm(
|
|
447
|
+
const removePrompt = confirm(this.translate.instant('deleteEntry'));
|
|
444
448
|
if (removePrompt) {
|
|
445
449
|
if (this.removeChildFunc) {
|
|
446
450
|
this.removeChildFunc(index, this);
|
|
@@ -1946,18 +1950,6 @@ class JsExpressionValidator {
|
|
|
1946
1950
|
}
|
|
1947
1951
|
}
|
|
1948
1952
|
|
|
1949
|
-
class Messages {
|
|
1950
|
-
}
|
|
1951
|
-
Messages.REQUIRED_FIELD_MSG = 'This field is required!';
|
|
1952
|
-
Messages.INVALID_DATE_MSG = 'Provided date is invalid!';
|
|
1953
|
-
Messages.FUTURE_DATE_RESTRICTION_MSG = 'Future date is not allowed!';
|
|
1954
|
-
Messages.MIN_LENGTH_MSG = 'Min Length should be {minLength}';
|
|
1955
|
-
Messages.MAX_LENGTH_MSG = 'Max Length should be {maxLength}';
|
|
1956
|
-
Messages.MAX_DATE_MSG = 'Max Date should be {maxDate}';
|
|
1957
|
-
Messages.MIN_DATE_MSG = 'Min Date should be {minDate}';
|
|
1958
|
-
Messages.MAX_MSG = 'Max value should be {max}';
|
|
1959
|
-
Messages.MIN_MSG = 'Min value should be {min}';
|
|
1960
|
-
|
|
1961
1953
|
class MaxLengthValidator {
|
|
1962
1954
|
validate(maxLength) {
|
|
1963
1955
|
return (control) => {
|
|
@@ -1993,7 +1985,9 @@ class MinLengthValidator {
|
|
|
1993
1985
|
}
|
|
1994
1986
|
|
|
1995
1987
|
class ValidationFactory {
|
|
1996
|
-
constructor() {
|
|
1988
|
+
constructor(translate) {
|
|
1989
|
+
this.translate = translate;
|
|
1990
|
+
}
|
|
1997
1991
|
getValidators(question, form) {
|
|
1998
1992
|
const list = [];
|
|
1999
1993
|
if (question.validators) {
|
|
@@ -2083,31 +2077,43 @@ class ValidationFactory {
|
|
|
2083
2077
|
if (errors.hasOwnProperty(property)) {
|
|
2084
2078
|
switch (property) {
|
|
2085
2079
|
case 'required':
|
|
2086
|
-
messages.push(
|
|
2080
|
+
messages.push(this.translate.instant('requiredField'));
|
|
2087
2081
|
break;
|
|
2088
2082
|
case 'date':
|
|
2089
|
-
messages.push(
|
|
2083
|
+
messages.push(this.translate.instant('invalidDate'));
|
|
2090
2084
|
break;
|
|
2091
2085
|
case 'futureDateRestriction':
|
|
2092
|
-
messages.push(
|
|
2086
|
+
messages.push(this.translate.instant('futureDateRestriction'));
|
|
2093
2087
|
break;
|
|
2094
2088
|
case 'minlength':
|
|
2095
|
-
messages.push(
|
|
2089
|
+
messages.push(this.translate
|
|
2090
|
+
.instant('minLength')
|
|
2091
|
+
.replace('{minLength}', errors.minlength.requiredLength));
|
|
2096
2092
|
break;
|
|
2097
2093
|
case 'maxlength':
|
|
2098
|
-
messages.push(
|
|
2094
|
+
messages.push(this.translate
|
|
2095
|
+
.instant('maxLength')
|
|
2096
|
+
.replace('{maxLength}', errors.maxlength.requiredLength));
|
|
2099
2097
|
break;
|
|
2100
2098
|
case 'maxdate':
|
|
2101
|
-
messages.push(
|
|
2099
|
+
messages.push(this.translate
|
|
2100
|
+
.instant('maxDate')
|
|
2101
|
+
.replace('{maxDate}', errors.maxdate.requiredDate));
|
|
2102
2102
|
break;
|
|
2103
2103
|
case 'mindate':
|
|
2104
|
-
messages.push(
|
|
2104
|
+
messages.push(this.translate
|
|
2105
|
+
.instant('minDate')
|
|
2106
|
+
.replace('{minDate}', errors.mindate.requiredDate));
|
|
2105
2107
|
break;
|
|
2106
2108
|
case 'max':
|
|
2107
|
-
messages.push(
|
|
2109
|
+
messages.push(this.translate
|
|
2110
|
+
.instant('max')
|
|
2111
|
+
.replace('{max}', errors.max.requiredValue));
|
|
2108
2112
|
break;
|
|
2109
2113
|
case 'min':
|
|
2110
|
-
messages.push(
|
|
2114
|
+
messages.push(this.translate
|
|
2115
|
+
.instant('min')
|
|
2116
|
+
.replace('{min}', errors.min.requiredValue));
|
|
2111
2117
|
break;
|
|
2112
2118
|
case 'js_expression':
|
|
2113
2119
|
messages.push(errors['js_expression'].message);
|
|
@@ -2124,11 +2130,11 @@ class ValidationFactory {
|
|
|
2124
2130
|
return messages;
|
|
2125
2131
|
}
|
|
2126
2132
|
}
|
|
2127
|
-
ValidationFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidationFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2133
|
+
ValidationFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidationFactory, deps: [{ token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2128
2134
|
ValidationFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidationFactory });
|
|
2129
2135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidationFactory, decorators: [{
|
|
2130
2136
|
type: Injectable
|
|
2131
|
-
}], ctorParameters: function () { return []; } });
|
|
2137
|
+
}], ctorParameters: function () { return [{ type: i4.TranslateService }]; } });
|
|
2132
2138
|
|
|
2133
2139
|
class HidersDisablersFactory {
|
|
2134
2140
|
constructor(expressionRunner, expressionHelper, _debugModeService) {
|
|
@@ -2488,7 +2494,7 @@ class CustomComponentWrapperComponent {
|
|
|
2488
2494
|
}
|
|
2489
2495
|
}
|
|
2490
2496
|
CustomComponentWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2491
|
-
CustomComponentWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomComponentWrapperComponent, selector: "ofe-custom-component-wrapper", inputs: { componentConfigs: "componentConfigs", dark: "dark" }, ngImport: i0, template: "<div>\n <ng-template #error>
|
|
2497
|
+
CustomComponentWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomComponentWrapperComponent, selector: "ofe-custom-component-wrapper", inputs: { componentConfigs: "componentConfigs", dark: "dark" }, ngImport: i0, template: "<div>\n <ng-template #error>{{ 'componentLoadingFailed' | translate }}</ng-template>\n <ng-template #loading>{{ 'loadingComponent' | translate }}</ng-template>\n <div *ngFor=\"let componentConfig of componentConfigs\">\n <ax-lazy-element\n *axLazyElementDynamic=\"\n componentConfig.tag;\n url: componentConfig.url;\n module: true;\n errorTemplate: error;\n loadingTemplate: loading\n \"\n [config]=\"componentConfig\"\n [dark]=\"dark\"\n >\n </ax-lazy-element>\n </div>\n</div>\n", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.LazyElementDynamicDirective, selector: "[axLazyElementDynamic]", inputs: ["axLazyElementDynamic", "axLazyElementDynamicUrl", "axLazyElementDynamicLoadingTemplate", "axLazyElementDynamicErrorTemplate", "axLazyElementDynamicModule", "axLazyElementDynamicImportMap"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
2492
2498
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentWrapperComponent, decorators: [{
|
|
2493
2499
|
type: Component,
|
|
2494
2500
|
args: [{
|
|
@@ -2559,7 +2565,7 @@ CustomControlWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
2559
2565
|
multi: true,
|
|
2560
2566
|
useExisting: forwardRef(() => CustomControlWrapperComponent)
|
|
2561
2567
|
}
|
|
2562
|
-
], ngImport: i0, template: "<div>\n <ng-template #error>
|
|
2568
|
+
], ngImport: i0, template: "<div>\n <ng-template #error>{{ 'componentLoadingFailed' | translate }}</ng-template>\n <ng-template #loading>{{ 'loadingComponent' | translate }}</ng-template>\n <ax-lazy-element\n *axLazyElementDynamic=\"\n customControlConfig.tag;\n url: customControlConfig.url;\n module: true;\n errorTemplate: error;\n loadingTemplate: loading\n \"\n [question]=\"question\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n (on-change)=\"onValueChange($event)\"\n [config]=\"config\"\n >\n </ax-lazy-element>\n</div>\n", directives: [{ type: i2.LazyElementDynamicDirective, selector: "[axLazyElementDynamic]", inputs: ["axLazyElementDynamic", "axLazyElementDynamicUrl", "axLazyElementDynamicLoadingTemplate", "axLazyElementDynamicErrorTemplate", "axLazyElementDynamicModule", "axLazyElementDynamicImportMap"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
2563
2569
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomControlWrapperComponent, decorators: [{
|
|
2564
2570
|
type: Component,
|
|
2565
2571
|
args: [{
|
|
@@ -3070,7 +3076,7 @@ RemoteSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
3070
3076
|
useExisting: forwardRef(() => RemoteSelectComponent),
|
|
3071
3077
|
multi: true
|
|
3072
3078
|
}
|
|
3073
|
-
], ngImport: i0, template: "<div>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [disabled]=\"disabled\"\n [items]=\"remoteOptions$ | async\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [multiple]=\"false\"\n [hideSelected]=\"true\"\n [compareWith]=\"compareItems\"\n [trackByFn]=\"trackByFn\"\n [loading]=\"loading\"\n typeToSearchText=\"
|
|
3079
|
+
], ngImport: i0, template: "<div>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [disabled]=\"disabled\"\n [items]=\"remoteOptions$ | async\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [multiple]=\"false\"\n [hideSelected]=\"true\"\n [compareWith]=\"compareItems\"\n [trackByFn]=\"trackByFn\"\n [loading]=\"loading\"\n typeToSearchText=\"{{ 'enterMoreCharacters' | translate }}\"\n [typeahead]=\"remoteOptionInput$\"\n [(ngModel)]=\"selectedRemoteOptions\"\n [appendTo]=\"'form'\"\n (ngModelChange)=\"selected($event)\"\n >\n </ng-select>\n</div>\n", components: [{ type: i13.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i21.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i21.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i1.AsyncPipe, "translate": i4.TranslatePipe } });
|
|
3074
3080
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoteSelectComponent, decorators: [{
|
|
3075
3081
|
type: Component,
|
|
3076
3082
|
args: [{
|
|
@@ -3214,7 +3220,8 @@ class DateTimeAdapter {
|
|
|
3214
3220
|
* date-time-picker-intl.service
|
|
3215
3221
|
*/
|
|
3216
3222
|
class OwlDateTimeIntl {
|
|
3217
|
-
constructor() {
|
|
3223
|
+
constructor(translate) {
|
|
3224
|
+
this.translate = translate;
|
|
3218
3225
|
/**
|
|
3219
3226
|
* Stream that emits whenever the labels here are changed. Use this to notify
|
|
3220
3227
|
* components if the labels have changed after initialization.
|
|
@@ -3249,25 +3256,25 @@ class OwlDateTimeIntl {
|
|
|
3249
3256
|
/** A label for the 'switch to year view' button (used by screen readers). */
|
|
3250
3257
|
this.switchToMultiYearViewLabel = 'Choose month and year';
|
|
3251
3258
|
/** A label for the cancel button */
|
|
3252
|
-
this.cancelBtnLabel = '
|
|
3259
|
+
this.cancelBtnLabel = this.translate.instant('cancel');
|
|
3253
3260
|
/** A label for the set button */
|
|
3254
|
-
this.setBtnLabel = '
|
|
3261
|
+
this.setBtnLabel = this.translate.instant('set');
|
|
3255
3262
|
/** A label for the range 'from' in picker info */
|
|
3256
|
-
this.rangeFromLabel = '
|
|
3263
|
+
this.rangeFromLabel = this.translate.instant('from');
|
|
3257
3264
|
/** A label for the range 'to' in picker info */
|
|
3258
|
-
this.rangeToLabel = '
|
|
3265
|
+
this.rangeToLabel = this.translate.instant('to');
|
|
3259
3266
|
/** A label for the hour12 button (AM) */
|
|
3260
3267
|
this.hour12AMLabel = 'AM';
|
|
3261
3268
|
/** A label for the hour12 button (PM) */
|
|
3262
3269
|
this.hour12PMLabel = 'PM';
|
|
3263
3270
|
}
|
|
3264
3271
|
}
|
|
3265
|
-
OwlDateTimeIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OwlDateTimeIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3272
|
+
OwlDateTimeIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OwlDateTimeIntl, deps: [{ token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3266
3273
|
OwlDateTimeIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OwlDateTimeIntl, providedIn: 'root' });
|
|
3267
3274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OwlDateTimeIntl, decorators: [{
|
|
3268
3275
|
type: Injectable,
|
|
3269
3276
|
args: [{ providedIn: 'root' }]
|
|
3270
|
-
}] });
|
|
3277
|
+
}], ctorParameters: function () { return [{ type: i4.TranslateService }]; } });
|
|
3271
3278
|
|
|
3272
3279
|
/**
|
|
3273
3280
|
* date-time-format.class
|
|
@@ -7773,7 +7780,7 @@ NgxDatetimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
7773
7780
|
useExisting: forwardRef(() => NgxDatetimeComponent),
|
|
7774
7781
|
multi: true
|
|
7775
7782
|
}
|
|
7776
|
-
], ngImport: i0, template: "<div class=\"date-time-picker-container\">\n <div\n data-date-picker\n data-date-picker-type=\"single\"\n class=\"cds--date-picker cds--date-picker--single cds--date-picker--light\"\n [ngClass]=\"{\n 'cds--date-picker--light': theme === 'light'\n}\"\n >\n <div class=\"cds--date-picker-container fill\">\n <div class=\"cds--date-picker-input__wrapper\">\n <input\n [disabled]=\"isDisabled\"\n (dateTimeChange)=\"onInput($event)\"\n type=\"text\"\n class=\"cds--date-picker__input fill\"\n [id]=\"id\"\n [value]=\"value\"\n [owlDateTime]=\"dt1\"\n [ofeOwlDateTimeTrigger]=\"dt1\"\n placeholder=\"mm/dd/yyyy\"\n data-date-picker-input\n />\n <svg\n [ofeOwlDateTimeTrigger]=\"dt1\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-date-picker-icon=\"true\"\n class=\"cds--date-picker__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M13,2h-2V1h-1v1H6V1H5v1H3C2.4,2,2,2.4,2,3v10c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V3C14,2.4,13.6,2,13,2z M13,13H3V6h10V13z M13,5H3V3h2v1h1V3h4v1h1V3h2V5z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"showWeeks\"\n class=\"cds--select some-class week-select-wrapper\"\n [ngClass]=\"{'cds--select--light': theme === 'light'}\"\n >\n <div class=\"cds--select-input__wrapper\">\n <select\n (change)=\"onWeeksSelected($event.target.value)\"\n id=\"select-1\"\n class=\"cds--select-input\"\n >\n <option\n class=\"cds--select-option\"\n value=\"placeholder-item\"\n disabled=\"\"\n hidden=\"\"\n selected=\"\"\n >\n
|
|
7783
|
+
], ngImport: i0, template: "<div class=\"date-time-picker-container\">\n <div\n data-date-picker\n data-date-picker-type=\"single\"\n class=\"cds--date-picker cds--date-picker--single cds--date-picker--light\"\n [ngClass]=\"{\n 'cds--date-picker--light': theme === 'light'\n}\"\n >\n <div class=\"cds--date-picker-container fill\">\n <div class=\"cds--date-picker-input__wrapper\">\n <input\n [disabled]=\"isDisabled\"\n (dateTimeChange)=\"onInput($event)\"\n type=\"text\"\n class=\"cds--date-picker__input fill\"\n [id]=\"id\"\n [value]=\"value\"\n [owlDateTime]=\"dt1\"\n [ofeOwlDateTimeTrigger]=\"dt1\"\n placeholder=\"mm/dd/yyyy\"\n data-date-picker-input\n />\n <svg\n [ofeOwlDateTimeTrigger]=\"dt1\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-date-picker-icon=\"true\"\n class=\"cds--date-picker__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M13,2h-2V1h-1v1H6V1H5v1H3C2.4,2,2,2.4,2,3v10c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V3C14,2.4,13.6,2,13,2z M13,13H3V6h10V13z M13,5H3V3h2v1h1V3h4v1h1V3h2V5z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"showWeeks\"\n class=\"cds--select some-class week-select-wrapper\"\n [ngClass]=\"{'cds--select--light': theme === 'light'}\"\n >\n <div class=\"cds--select-input__wrapper\">\n <select\n (change)=\"onWeeksSelected($event.target.value)\"\n id=\"select-1\"\n class=\"cds--select-input\"\n >\n <option\n class=\"cds--select-option\"\n value=\"placeholder-item\"\n disabled=\"\"\n hidden=\"\"\n selected=\"\"\n >\n {{ 'selectWeeks' | translate }}\n </option>\n <option\n class=\"cds--select-option\"\n [value]=\"week\"\n *ngFor=\"let week of weeks\"\n >\n {{week}} {{ 'weeks' | translate }}\n </option>\n </select>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n class=\"cds--select__arrow\"\n >\n <path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"></path>\n </svg>\n </div>\n </div>\n</div>\n<ofe-owl-date-time\n [pickerType]=\"datePickerFormat ? datePickerFormat : 'calendar'\"\n [disabled]=\"isDisabled\"\n #dt1\n></ofe-owl-date-time>\n", styles: [".date-time-picker-container{display:flex;justify-content:space-between}.week-select-wrapper{margin-left:1rem;width:30%}\n"], components: [{ type: OwlDateTimeComponent, selector: "ofe-owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["owlDateTime", "owlDateTimeFilter", "min", "max", "selectMode", "value", "values", "_disabled", "rangeSeparator"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: OwlDateTimeTriggerDirective, selector: "[ofeOwlDateTimeTrigger]", inputs: ["ofeOwlDateTimeTrigger", "disabled"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i21.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i21.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
7777
7784
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxDatetimeComponent, decorators: [{
|
|
7778
7785
|
type: Component,
|
|
7779
7786
|
args: [{
|
|
@@ -8980,7 +8987,7 @@ class FormRendererComponent {
|
|
|
8980
8987
|
}
|
|
8981
8988
|
}
|
|
8982
8989
|
FormRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormRendererComponent, deps: [{ token: ValidationFactory }, { token: DataSources }, { token: FormErrorsService }, { token: i4.TranslateService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
8983
|
-
FormRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FormRendererComponent, selector: "ofe-form-renderer", inputs: { parentComponent: "parentComponent", node: "node", parentGroup: "parentGroup", theme: "theme", labelMap: "labelMap", controlId: "controlId" }, usesOnChanges: true, ngImport: i0, template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ofe-tab-set (tabSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ofe-tab\n [tabTitle]=\"question.label | translate\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <ofe-form-renderer\n [node]=\"node.children[question.key] | translate\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </ofe-form-renderer>\n </ofe-tab>\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label | translate }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode | translate) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n Fix\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ofe-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div\n class=\"cds--accordion__item\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n class=\"cds--accordion__heading\"\n type=\"button\"\n [attr.aria-expanded]=\"isCollapsed ? 'false' : 'true'\"\n aria-controls=\"accordion-item-0\"\n (click)=\"isCollapsed = !isCollapsed\"\n >\n <svg\n class=\"cds--accordion__arrow\"\n ibmIcon=\"chevron--right\"\n size=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n aria-hidden=\"true\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <p class=\"cds--accordion__title\">\n {{ node.question.label | translate }}\n </p>\n </button>\n <div ofeCollapse=\"isCollapsed\">\n <!--Section Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div\n class=\"cds--accordion__content accordion-content-override\"\n [ngClass]=\"{\n 'accordion-content-dark': theme === 'light'\n }\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">×</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <ofe-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key | translate\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : '' }}\n {{ node.question.label | translate }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <ofe-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </ofe-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ofe-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </option>\n </ofe-select>\n\n <div *ngSwitchCase=\"'file'\">\n <ofe-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </ofe-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ofeTextAreaInput\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder | translate\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ofe-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder | translate\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ofe-remote-select>\n\n <ofe-ngx-date-time-picker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ofe-ngx-date-time-picker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [multiple]=\"true\"\n [appendTo]=\"'form'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ofe-number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [maxlength]=\"node.question.extras.questionOptions.maxLength\"\n [minlength]=\"node.question.extras.questionOptions.minLength\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n >\n </ofe-number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ofeTextInput\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <ofe-radio-button\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [allowUnselect]=\"node.question.allowUnselect\"\n [selected]=\"node.control.value\"\n [orientation]=\"node.question.orientation\"\n ></ofe-radio-button>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <ofe-checkbox\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></ofe-checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\">Previous Value: </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n Use Value\n </button>\n </div>\n </div>\n </div>\n <ofe-appointments-overview [node]=\"node\"></ofe-appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo | translate }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">\n {{ node.question.label | translate }}\n </h4>\n <div>\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.min\"\n style=\"margin-right: 2px\"\n >min: {{ node.question.extras.questionOptions.min }}</label\n >\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.max\"\n >max: {{ node.question.extras.questionOptions.max }}</label\n >\n </div>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <div>{{ child.orderNumber }}</div>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'diagnosis'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary cds--btn--sm\"\n (click)=\"node.createChildNode()\"\n [ngClass]=\"{\n disabled:\n node.children.length >= node.question.extras.questionOptions.max\n }\"\n >\n Add\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:bold}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transtion-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:.125rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box}.question-area{width:100%;max-width:95%}.in-line{display:inline-block;padding-right:.5rem}\n"], components: [{ type: TabSetComponent, selector: "ofe-tab-set", inputs: ["disableStyle", "customNavClass", "customTabsClass", "selectedIndex"], outputs: ["tabSelect"] }, { type: TabComponent, selector: "ofe-tab", inputs: ["tabTitle", "tabSubTitle", "active", "disabled", "bypassDOM", "customPaneClass"] }, { type: FormRendererComponent, selector: "ofe-form-renderer", inputs: ["parentComponent", "node", "parentGroup", "theme", "labelMap", "controlId"] }, { type: CustomComponentWrapperComponent, selector: "ofe-custom-component-wrapper", inputs: ["componentConfigs", "dark"] }, { type: CustomControlWrapperComponent, selector: "ofe-custom-control-wrapper", inputs: ["question"] }, { type: SelectComponent, selector: "ofe-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { type: FileUploadComponent, selector: "ofe-file-upload", inputs: ["dataSource"] }, { type: RemoteSelectComponent, selector: "ofe-remote-select", inputs: ["placeholder", "componentID", "disabled", "theme", "dataSource"], outputs: ["done"] }, { type: NgxDatetimeComponent, selector: "ofe-ngx-date-time-picker", inputs: ["id", "theme", "datePickerFormat", "showWeeks", "weeks"] }, { type: i13.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i13.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }, { type: NumberInputComponent, selector: "ofe-number-input", inputs: ["theme", "disabled", "skeleton", "invalid", "id", "size", "required", "value", "min", "max", "maxlength", "minlength", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "decrementLabel", "incrementLabel"], outputs: ["numberChange"] }, { type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: ["id", "options", "selected", "allowUnselect", "orientation"] }, { type: CheckboxControlComponent, selector: "ofe-checkbox", inputs: ["id", "options", "selected"] }, { type: AppointmentsOverviewComponent, selector: "ofe-appointments-overview", inputs: ["node"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: HistoricalValueDirective, selector: "[node]", inputs: ["_node", "node"], outputs: ["_nodeChange"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CollapseDirective, selector: "[ofeCollapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { type: i21.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i21.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i21.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i21.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i21.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i21.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i21.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: TextAreaDirective, selector: "[ofeTextAreaInput]", inputs: ["theme", "invalid", "skeleton"] }, { type: i21.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i21.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: TextInputDirective, selector: "[ofeTextInput]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }], pipes: { "translate": i4.TranslatePipe, "date": i1.DatePipe, "timeAgo": TimeAgoPipe } });
|
|
8990
|
+
FormRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FormRendererComponent, selector: "ofe-form-renderer", inputs: { parentComponent: "parentComponent", node: "node", parentGroup: "parentGroup", theme: "theme", labelMap: "labelMap", controlId: "controlId" }, usesOnChanges: true, ngImport: i0, template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ofe-tab-set (tabSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ofe-tab\n [tabTitle]=\"question.label | translate\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <ofe-form-renderer\n [node]=\"node.children[question.key] | translate\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </ofe-form-renderer>\n </ofe-tab>\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label | translate }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode | translate) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n {{ 'fix' | translate }}\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ofe-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div\n class=\"cds--accordion__item\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n class=\"cds--accordion__heading\"\n type=\"button\"\n [attr.aria-expanded]=\"isCollapsed ? 'false' : 'true'\"\n aria-controls=\"accordion-item-0\"\n (click)=\"isCollapsed = !isCollapsed\"\n >\n <svg\n class=\"cds--accordion__arrow\"\n ibmIcon=\"chevron--right\"\n size=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n aria-hidden=\"true\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <p class=\"cds--accordion__title\">\n {{ node.question.label | translate }}\n </p>\n </button>\n <div ofeCollapse=\"isCollapsed\">\n <!--Section Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div\n class=\"cds--accordion__content accordion-content-override\"\n [ngClass]=\"{\n 'accordion-content-dark': theme === 'light'\n }\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">×</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <ofe-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key | translate\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : '' }}\n {{ node.question.label | translate }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <ofe-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </ofe-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ofe-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </option>\n </ofe-select>\n\n <div *ngSwitchCase=\"'file'\">\n <ofe-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </ofe-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ofeTextAreaInput\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder | translate\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ofe-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder | translate\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ofe-remote-select>\n\n <ofe-ngx-date-time-picker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ofe-ngx-date-time-picker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [multiple]=\"true\"\n [appendTo]=\"'form'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ofe-number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [maxlength]=\"node.question.extras.questionOptions.maxLength\"\n [minlength]=\"node.question.extras.questionOptions.minLength\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n >\n </ofe-number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ofeTextInput\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <ofe-radio-button\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [allowUnselect]=\"node.question.allowUnselect\"\n [selected]=\"node.control.value\"\n [orientation]=\"node.question.orientation\"\n ></ofe-radio-button>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <ofe-checkbox\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></ofe-checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\"\n >{{ 'previousValue' | translate }}:\n </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n {{ 'useValue' | translate }}\n </button>\n </div>\n </div>\n </div>\n <ofe-appointments-overview [node]=\"node\"></ofe-appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo | translate }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">\n {{ node.question.label | translate }}\n </h4>\n <div>\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.min\"\n style=\"margin-right: 2px\"\n >min: {{ node.question.extras.questionOptions.min }}</label\n >\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.max\"\n >max: {{ node.question.extras.questionOptions.max }}</label\n >\n </div>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <div>{{ child.orderNumber }}</div>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'diagnosis'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary cds--btn--sm\"\n (click)=\"node.createChildNode()\"\n [ngClass]=\"{\n disabled:\n node.children.length >= node.question.extras.questionOptions.max\n }\"\n >\n {{ 'add' | translate }}\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:bold}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transtion-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:.125rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box}.question-area{width:100%;max-width:95%}.in-line{display:inline-block;padding-right:.5rem}\n"], components: [{ type: TabSetComponent, selector: "ofe-tab-set", inputs: ["disableStyle", "customNavClass", "customTabsClass", "selectedIndex"], outputs: ["tabSelect"] }, { type: TabComponent, selector: "ofe-tab", inputs: ["tabTitle", "tabSubTitle", "active", "disabled", "bypassDOM", "customPaneClass"] }, { type: FormRendererComponent, selector: "ofe-form-renderer", inputs: ["parentComponent", "node", "parentGroup", "theme", "labelMap", "controlId"] }, { type: CustomComponentWrapperComponent, selector: "ofe-custom-component-wrapper", inputs: ["componentConfigs", "dark"] }, { type: CustomControlWrapperComponent, selector: "ofe-custom-control-wrapper", inputs: ["question"] }, { type: SelectComponent, selector: "ofe-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { type: FileUploadComponent, selector: "ofe-file-upload", inputs: ["dataSource"] }, { type: RemoteSelectComponent, selector: "ofe-remote-select", inputs: ["placeholder", "componentID", "disabled", "theme", "dataSource"], outputs: ["done"] }, { type: NgxDatetimeComponent, selector: "ofe-ngx-date-time-picker", inputs: ["id", "theme", "datePickerFormat", "showWeeks", "weeks"] }, { type: i13.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i13.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }, { type: NumberInputComponent, selector: "ofe-number-input", inputs: ["theme", "disabled", "skeleton", "invalid", "id", "size", "required", "value", "min", "max", "maxlength", "minlength", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "decrementLabel", "incrementLabel"], outputs: ["numberChange"] }, { type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: ["id", "options", "selected", "allowUnselect", "orientation"] }, { type: CheckboxControlComponent, selector: "ofe-checkbox", inputs: ["id", "options", "selected"] }, { type: AppointmentsOverviewComponent, selector: "ofe-appointments-overview", inputs: ["node"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: HistoricalValueDirective, selector: "[node]", inputs: ["_node", "node"], outputs: ["_nodeChange"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CollapseDirective, selector: "[ofeCollapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { type: i21.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i21.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i21.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i21.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i21.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i21.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i21.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: TextAreaDirective, selector: "[ofeTextAreaInput]", inputs: ["theme", "invalid", "skeleton"] }, { type: i21.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i21.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: TextInputDirective, selector: "[ofeTextInput]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }], pipes: { "translate": i4.TranslatePipe, "date": i1.DatePipe, "timeAgo": TimeAgoPipe } });
|
|
8984
8991
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormRendererComponent, decorators: [{
|
|
8985
8992
|
type: Component,
|
|
8986
8993
|
args: [{
|
|
@@ -9227,7 +9234,7 @@ class ErrorRendererComponent {
|
|
|
9227
9234
|
}
|
|
9228
9235
|
}
|
|
9229
9236
|
ErrorRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ErrorRendererComponent, deps: [{ token: ValidationFactory }, { token: FormErrorsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
9230
|
-
ErrorRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ErrorRendererComponent, selector: "ofe-error-renderer", inputs: { form: "form" }, ngImport: i0, template: "<div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n
|
|
9237
|
+
ErrorRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ErrorRendererComponent, selector: "ofe-error-renderer", inputs: { form: "form" }, ngImport: i0, template: "<div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n {{ 'fix' | translate }}\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n</div>\n", styles: ["ul{list-style:none}.list-group-item{padding:2px 15px;cursor:pointer}ul li:hover{background-color:#fff}h4{margin-top:7px;margin-bottom:7px}.pointer{cursor:pointer}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
9231
9238
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ErrorRendererComponent, decorators: [{
|
|
9232
9239
|
type: Component,
|
|
9233
9240
|
args: [{
|
|
@@ -9731,7 +9738,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
9731
9738
|
useExisting: forwardRef(() => DateTimePickerComponent),
|
|
9732
9739
|
multi: true
|
|
9733
9740
|
}
|
|
9734
|
-
], ngImport: i0, template: "<div class=\"row\">\n <div *ngIf=\"!showTime\" class=\"col-xs-12 col-md-12\">\n <input\n *ngIf=\"!showWeeks\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div *ngIf=\"showWeeks\" class=\"input-group\">\n <input\n type=\"text\"\n class=\"form-control\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default dropdown-toggle\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n
|
|
9741
|
+
], ngImport: i0, template: "<div class=\"row\">\n <div *ngIf=\"!showTime\" class=\"col-xs-12 col-md-12\">\n <input\n *ngIf=\"!showWeeks\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div *ngIf=\"showWeeks\" class=\"input-group\">\n <input\n type=\"text\"\n class=\"form-control\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default dropdown-toggle\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n {{ 'weeks' | translate }} <span class=\"caret\"></span>\n </button>\n <ul class=\"dropdown-menu up\">\n <li (click)=\"weeksSelected(count)\" *ngFor=\"let count of weeks\">\n <span> {{ count }} {{ 'weeks' | translate }}</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"col-xs-8 col-md-8\">\n <input\n *ngIf=\"!showWeeks\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div *ngIf=\"showWeeks\" class=\"input-group\">\n <input\n type=\"text\"\n class=\"form-control\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default dropdown-toggle\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n {{ 'weeks' | translate }} <span class=\"caret\"></span>\n </button>\n <ul class=\"dropdown-menu up\">\n <li (click)=\"weeksSelected(count)\" *ngFor=\"let count of weeks\">\n <span> {{ count }} {{ 'weeks' | translate }}</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"col-xs-4 col-md-4\">\n <input\n type=\"text\"\n class=\"form-control\"\n [value]=\"value | date: 'shortTime'\"\n (focus)=\"toggleTimePicker(true)\"\n readonly\n placeholder=\"Select Time\"\n />\n </div>\n</div>\n<ofe-date-picker\n *ngIf=\"showDatePicker\"\n [initDate]=\"value\"\n (dateSelect)=\"setDate($event)\"\n (datePickerCancel)=\"toggleDatePicker($event)\"\n></ofe-date-picker>\n\n<ofe-time-picker\n *ngIf=\"showTimePicker\"\n [initTime]=\"value\"\n [use12Hour]=\"true\"\n (timeSelect)=\"setTime($event)\"\n (timePickerCancel)=\"toggleTimePicker($event)\"\n></ofe-time-picker>\n", styles: ["input[readonly]{background-color:#fff}.up{bottom:100%!important;top:auto!important}.glyphicon{top:1px}\n"], components: [{ type: DatePickerComponent, selector: "ofe-date-picker", inputs: ["initDate", "locale", "viewFormat", "returnObject"], outputs: ["datePickerCancel", "dateSelect"] }, { type: TimePickerComponent, selector: "ofe-time-picker", inputs: ["initTime", "showSecond", "viewFormat", "use12Hour", "returnObject"], outputs: ["timeSelect", "timePickerCancel"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "date": i1.DatePipe, "translate": i4.TranslatePipe } });
|
|
9735
9742
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DateTimePickerComponent, decorators: [{
|
|
9736
9743
|
type: Component,
|
|
9737
9744
|
args: [{
|
|
@@ -9770,16 +9777,16 @@ DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ve
|
|
|
9770
9777
|
TimePickerComponent,
|
|
9771
9778
|
ModalComponent,
|
|
9772
9779
|
MomentPipe,
|
|
9773
|
-
DateTimePickerComponent], imports: [CommonModule, FormsModule], exports: [DatePickerComponent,
|
|
9780
|
+
DateTimePickerComponent], imports: [CommonModule, FormsModule, TranslateModule], exports: [DatePickerComponent,
|
|
9774
9781
|
TimePickerComponent,
|
|
9775
9782
|
ModalComponent,
|
|
9776
9783
|
MomentPipe,
|
|
9777
9784
|
DateTimePickerComponent] });
|
|
9778
|
-
DateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DateTimePickerModule, providers: [], imports: [[CommonModule, FormsModule]] });
|
|
9785
|
+
DateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DateTimePickerModule, providers: [], imports: [[CommonModule, FormsModule, TranslateModule]] });
|
|
9779
9786
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DateTimePickerModule, decorators: [{
|
|
9780
9787
|
type: NgModule,
|
|
9781
9788
|
args: [{
|
|
9782
|
-
imports: [CommonModule, FormsModule],
|
|
9789
|
+
imports: [CommonModule, FormsModule, TranslateModule],
|
|
9783
9790
|
declarations: [
|
|
9784
9791
|
DatePickerComponent,
|
|
9785
9792
|
TimePickerComponent,
|
|
@@ -10090,7 +10097,11 @@ OwlDateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
|
|
|
10090
10097
|
OwlCalendarComponent,
|
|
10091
10098
|
OwlCalendarBodyComponent,
|
|
10092
10099
|
NumberFixedLenPipe,
|
|
10093
|
-
OwlDateTimeInlineComponent], imports: [CommonModule,
|
|
10100
|
+
OwlDateTimeInlineComponent], imports: [CommonModule,
|
|
10101
|
+
OverlayModule,
|
|
10102
|
+
OwlDialogModule,
|
|
10103
|
+
A11yModule,
|
|
10104
|
+
TranslateModule], exports: [OwlCalendarComponent,
|
|
10094
10105
|
OwlTimerComponent,
|
|
10095
10106
|
OwlDateTimeTriggerDirective,
|
|
10096
10107
|
OwlDateTimeInputDirective,
|
|
@@ -10099,11 +10110,23 @@ OwlDateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
|
|
|
10099
10110
|
OwlMultiYearViewComponent,
|
|
10100
10111
|
OwlYearViewComponent,
|
|
10101
10112
|
OwlMonthViewComponent] });
|
|
10102
|
-
OwlDateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OwlDateTimeModule, providers: [OwlDateTimeIntl, OWL_DTPICKER_SCROLL_STRATEGY_PROVIDER], imports: [[
|
|
10113
|
+
OwlDateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OwlDateTimeModule, providers: [OwlDateTimeIntl, OWL_DTPICKER_SCROLL_STRATEGY_PROVIDER], imports: [[
|
|
10114
|
+
CommonModule,
|
|
10115
|
+
OverlayModule,
|
|
10116
|
+
OwlDialogModule,
|
|
10117
|
+
A11yModule,
|
|
10118
|
+
TranslateModule
|
|
10119
|
+
]] });
|
|
10103
10120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OwlDateTimeModule, decorators: [{
|
|
10104
10121
|
type: NgModule,
|
|
10105
10122
|
args: [{
|
|
10106
|
-
imports: [
|
|
10123
|
+
imports: [
|
|
10124
|
+
CommonModule,
|
|
10125
|
+
OverlayModule,
|
|
10126
|
+
OwlDialogModule,
|
|
10127
|
+
A11yModule,
|
|
10128
|
+
TranslateModule
|
|
10129
|
+
],
|
|
10107
10130
|
exports: [
|
|
10108
10131
|
OwlCalendarComponent,
|
|
10109
10132
|
OwlTimerComponent,
|
|
@@ -10534,12 +10557,14 @@ NgxDateTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
|
|
|
10534
10557
|
NgxDateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxDateTimePickerModule, declarations: [NgxDatetimeComponent], imports: [CommonModule,
|
|
10535
10558
|
FormsModule,
|
|
10536
10559
|
OwlDateTimeModule,
|
|
10537
|
-
OwlNativeDateTimeModule
|
|
10560
|
+
OwlNativeDateTimeModule,
|
|
10561
|
+
TranslateModule], exports: [NgxDatetimeComponent] });
|
|
10538
10562
|
NgxDateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxDateTimePickerModule, providers: [], imports: [[
|
|
10539
10563
|
CommonModule,
|
|
10540
10564
|
FormsModule,
|
|
10541
10565
|
OwlDateTimeModule,
|
|
10542
|
-
OwlNativeDateTimeModule
|
|
10566
|
+
OwlNativeDateTimeModule,
|
|
10567
|
+
TranslateModule
|
|
10543
10568
|
]] });
|
|
10544
10569
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxDateTimePickerModule, decorators: [{
|
|
10545
10570
|
type: NgModule,
|
|
@@ -10548,7 +10573,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
10548
10573
|
CommonModule,
|
|
10549
10574
|
FormsModule,
|
|
10550
10575
|
OwlDateTimeModule,
|
|
10551
|
-
OwlNativeDateTimeModule
|
|
10576
|
+
OwlNativeDateTimeModule,
|
|
10577
|
+
TranslateModule
|
|
10552
10578
|
],
|
|
10553
10579
|
declarations: [NgxDatetimeComponent],
|
|
10554
10580
|
exports: [NgxDatetimeComponent],
|
|
@@ -12359,10 +12385,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
12359
12385
|
}], ctorParameters: function () { return []; } });
|
|
12360
12386
|
|
|
12361
12387
|
class FormFactory {
|
|
12362
|
-
constructor(controlService, questionFactroy, controlRelationsFactory) {
|
|
12388
|
+
constructor(controlService, questionFactroy, controlRelationsFactory, translate) {
|
|
12363
12389
|
this.controlService = controlService;
|
|
12364
12390
|
this.questionFactroy = questionFactroy;
|
|
12365
12391
|
this.controlRelationsFactory = controlRelationsFactory;
|
|
12392
|
+
this.translate = translate;
|
|
12366
12393
|
this.nodeIndex = 0;
|
|
12367
12394
|
this.hd = {
|
|
12368
12395
|
getValue: () => {
|
|
@@ -12421,7 +12448,7 @@ class FormFactory {
|
|
|
12421
12448
|
}
|
|
12422
12449
|
createArrayNode(question, parentNode, parentControl, form) {
|
|
12423
12450
|
const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
|
|
12424
|
-
const arrayNode = new ArrayNode(question, controlModel, parentControl, this, form, parentNode ? parentNode.path : undefined);
|
|
12451
|
+
const arrayNode = new ArrayNode(question, this.translate, controlModel, parentControl, this, form, parentNode ? parentNode.path : undefined);
|
|
12425
12452
|
arrayNode.createChildFunc = this.createArrayNodeChild;
|
|
12426
12453
|
arrayNode.removeChildFunc = this.removeArrayNodeChild;
|
|
12427
12454
|
arrayNode.addChildNodeCreatedListener((node) => {
|
|
@@ -12479,11 +12506,11 @@ class FormFactory {
|
|
|
12479
12506
|
}
|
|
12480
12507
|
}
|
|
12481
12508
|
}
|
|
12482
|
-
FormFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormFactory, deps: [{ token: FormControlService }, { token: QuestionFactory }, { token: ControlRelationsFactory }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12509
|
+
FormFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormFactory, deps: [{ token: FormControlService }, { token: QuestionFactory }, { token: ControlRelationsFactory }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12483
12510
|
FormFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormFactory });
|
|
12484
12511
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FormFactory, decorators: [{
|
|
12485
12512
|
type: Injectable
|
|
12486
|
-
}], ctorParameters: function () { return [{ type: FormControlService }, { type: QuestionFactory }, { type: ControlRelationsFactory }]; } });
|
|
12513
|
+
}], ctorParameters: function () { return [{ type: FormControlService }, { type: QuestionFactory }, { type: ControlRelationsFactory }, { type: i4.TranslateService }]; } });
|
|
12487
12514
|
|
|
12488
12515
|
class ObsAdapterHelper {
|
|
12489
12516
|
constructor() {
|
|
@@ -14137,12 +14164,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
14137
14164
|
class NgxRemoteSelectModule {
|
|
14138
14165
|
}
|
|
14139
14166
|
NgxRemoteSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxRemoteSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14140
|
-
NgxRemoteSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxRemoteSelectModule, declarations: [RemoteSelectComponent], imports: [CommonModule, NgSelectModule, FormsModule], exports: [RemoteSelectComponent] });
|
|
14141
|
-
NgxRemoteSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxRemoteSelectModule, providers: [], imports: [[CommonModule, NgSelectModule, FormsModule]] });
|
|
14167
|
+
NgxRemoteSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxRemoteSelectModule, declarations: [RemoteSelectComponent], imports: [CommonModule, NgSelectModule, FormsModule, TranslateModule], exports: [RemoteSelectComponent] });
|
|
14168
|
+
NgxRemoteSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxRemoteSelectModule, providers: [], imports: [[CommonModule, NgSelectModule, FormsModule, TranslateModule]] });
|
|
14142
14169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxRemoteSelectModule, decorators: [{
|
|
14143
14170
|
type: NgModule,
|
|
14144
14171
|
args: [{
|
|
14145
|
-
imports: [CommonModule, NgSelectModule, FormsModule],
|
|
14172
|
+
imports: [CommonModule, NgSelectModule, FormsModule, TranslateModule],
|
|
14146
14173
|
exports: [RemoteSelectComponent],
|
|
14147
14174
|
declarations: [RemoteSelectComponent],
|
|
14148
14175
|
providers: []
|
|
@@ -14535,13 +14562,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
14535
14562
|
class CustomControlWrapperModule {
|
|
14536
14563
|
}
|
|
14537
14564
|
CustomControlWrapperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomControlWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14538
|
-
CustomControlWrapperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomControlWrapperModule, declarations: [CustomControlWrapperComponent], imports: [CommonModule, FormsModule, LazyElementsModule], exports: [CustomControlWrapperComponent] });
|
|
14539
|
-
CustomControlWrapperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomControlWrapperModule, providers: [], imports: [[CommonModule, FormsModule, LazyElementsModule]] });
|
|
14565
|
+
CustomControlWrapperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomControlWrapperModule, declarations: [CustomControlWrapperComponent], imports: [CommonModule, FormsModule, LazyElementsModule, TranslateModule], exports: [CustomControlWrapperComponent] });
|
|
14566
|
+
CustomControlWrapperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomControlWrapperModule, providers: [], imports: [[CommonModule, FormsModule, LazyElementsModule, TranslateModule]] });
|
|
14540
14567
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomControlWrapperModule, decorators: [{
|
|
14541
14568
|
type: NgModule,
|
|
14542
14569
|
args: [{
|
|
14543
14570
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
14544
|
-
imports: [CommonModule, FormsModule, LazyElementsModule],
|
|
14571
|
+
imports: [CommonModule, FormsModule, LazyElementsModule, TranslateModule],
|
|
14545
14572
|
exports: [CustomControlWrapperComponent],
|
|
14546
14573
|
declarations: [CustomControlWrapperComponent],
|
|
14547
14574
|
providers: []
|
|
@@ -14551,13 +14578,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
14551
14578
|
class CustomComponentWrapperModule {
|
|
14552
14579
|
}
|
|
14553
14580
|
CustomComponentWrapperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14554
|
-
CustomComponentWrapperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentWrapperModule, declarations: [CustomComponentWrapperComponent], imports: [CommonModule, LazyElementsModule], exports: [CustomComponentWrapperComponent] });
|
|
14555
|
-
CustomComponentWrapperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentWrapperModule, providers: [], imports: [[CommonModule, LazyElementsModule]] });
|
|
14581
|
+
CustomComponentWrapperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentWrapperModule, declarations: [CustomComponentWrapperComponent], imports: [CommonModule, LazyElementsModule, TranslateModule], exports: [CustomComponentWrapperComponent] });
|
|
14582
|
+
CustomComponentWrapperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentWrapperModule, providers: [], imports: [[CommonModule, LazyElementsModule, TranslateModule]] });
|
|
14556
14583
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomComponentWrapperModule, decorators: [{
|
|
14557
14584
|
type: NgModule,
|
|
14558
14585
|
args: [{
|
|
14559
14586
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
14560
|
-
imports: [CommonModule, LazyElementsModule],
|
|
14587
|
+
imports: [CommonModule, LazyElementsModule, TranslateModule],
|
|
14561
14588
|
exports: [CustomComponentWrapperComponent],
|
|
14562
14589
|
declarations: [CustomComponentWrapperComponent],
|
|
14563
14590
|
providers: []
|