@ng-formworks/core 20.6.8 → 21.6.9
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/README.md +1 -0
- package/fesm2022/ng-formworks-core.mjs +1845 -1418
- package/fesm2022/ng-formworks-core.mjs.map +1 -1
- package/package.json +10 -8
- package/{index.d.ts → types/ng-formworks-core.d.ts} +25 -8
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import * as i1 from '@angular/common';
|
|
2
1
|
import { CommonModule } from '@angular/common';
|
|
3
2
|
import * as i0 from '@angular/core';
|
|
4
3
|
import { Injectable, inject, input, viewChild, ViewContainerRef, Component, Input, Directive, ChangeDetectionStrategy, ViewChild, ChangeDetectorRef, signal, Inject, ElementRef, NgZone, NgModule, forwardRef, output } from '@angular/core';
|
|
5
|
-
import * as
|
|
4
|
+
import * as i1 from '@angular/forms';
|
|
6
5
|
import { UntypedFormControl, UntypedFormArray, UntypedFormGroup, FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
6
|
import addFormats from 'ajv-formats';
|
|
8
7
|
import Ajv2019 from 'ajv/dist/2019';
|
|
9
8
|
import jsonDraft6 from 'ajv/lib/refs/json-schema-draft-06.json';
|
|
10
9
|
import jsonDraft7 from 'ajv/lib/refs/json-schema-draft-07.json';
|
|
11
10
|
import cloneDeep from 'lodash/cloneDeep';
|
|
11
|
+
import _isArray from 'lodash/isArray';
|
|
12
12
|
import { from, Observable, forkJoin, Subject, BehaviorSubject, lastValueFrom } from 'rxjs';
|
|
13
13
|
import { some, isNil, isEmpty as isEmpty$1, pick, isObject as isObject$1, isEqual as isEqual$2, memoize } from 'lodash';
|
|
14
14
|
import isEqual$1 from 'lodash/isEqual';
|
|
@@ -16,10 +16,9 @@ import { map, takeUntil } from 'rxjs/operators';
|
|
|
16
16
|
import omit from 'lodash/omit';
|
|
17
17
|
import filter from 'lodash/filter';
|
|
18
18
|
import map$1 from 'lodash/map';
|
|
19
|
-
import _isArray from 'lodash/isArray';
|
|
20
19
|
import _isPlainObject from 'lodash/isPlainObject';
|
|
21
20
|
import uniqueId from 'lodash/uniqueId';
|
|
22
|
-
import * as
|
|
21
|
+
import * as i1$1 from '@angular/cdk/drag-drop';
|
|
23
22
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
24
23
|
import { HttpClient } from '@angular/common/http';
|
|
25
24
|
|
|
@@ -29,10 +28,10 @@ class Framework {
|
|
|
29
28
|
this.stylesheets = [];
|
|
30
29
|
this.scripts = [];
|
|
31
30
|
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
33
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: Framework, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: Framework }); }
|
|
34
33
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: Framework, decorators: [{
|
|
36
35
|
type: Injectable
|
|
37
36
|
}] });
|
|
38
37
|
|
|
@@ -1457,6 +1456,49 @@ function hasNonNullValue(obj) {
|
|
|
1457
1456
|
return !isNil(value);
|
|
1458
1457
|
});
|
|
1459
1458
|
}
|
|
1459
|
+
/**
|
|
1460
|
+
* Recursively compares array sizes of nested arrays
|
|
1461
|
+
*
|
|
1462
|
+
* @param obj1 - The object to check.
|
|
1463
|
+
* @param obj2 - The object to check.
|
|
1464
|
+
* @returns `false` if at least one nested array size mismatches`.
|
|
1465
|
+
*
|
|
1466
|
+
* @example
|
|
1467
|
+
* const obj1 = { a: ['a','aa'], b:{c:[1,11,11]} };
|
|
1468
|
+
* const obj2 = { a: ['ee','dd'], b:{c:[2]} };
|
|
1469
|
+
*
|
|
1470
|
+
* console.log(compareObjectArraySizes(obj1,obj1)); // Output: false
|
|
1471
|
+
* mismatch will be on path b/c
|
|
1472
|
+
*/
|
|
1473
|
+
function compareObjectArraySizes(obj1, obj2, comparePath = "") {
|
|
1474
|
+
if (isArray(obj1) && isArray(obj2)) {
|
|
1475
|
+
if (obj1.length != obj2.length) {
|
|
1476
|
+
console.log(`size mismatch at ${comparePath}`);
|
|
1477
|
+
return false; // immediately return false on mismatch
|
|
1478
|
+
}
|
|
1479
|
+
else {
|
|
1480
|
+
for (let ind = 0; ind < obj1.length; ind++) {
|
|
1481
|
+
const item1 = obj1[ind];
|
|
1482
|
+
const item2 = obj2[ind];
|
|
1483
|
+
const result = compareObjectArraySizes(item1, item2, `${comparePath}/${ind}`);
|
|
1484
|
+
if (result === false) {
|
|
1485
|
+
return false; // propagate false if mismatch is found
|
|
1486
|
+
}
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
}
|
|
1490
|
+
if (isObject(obj1) && !isArray(obj1)) {
|
|
1491
|
+
for (let key in obj1) {
|
|
1492
|
+
if (obj2.hasOwnProperty(key)) {
|
|
1493
|
+
const result = compareObjectArraySizes(obj1[key], obj2[key], `${comparePath}/${key}`);
|
|
1494
|
+
if (result === false) {
|
|
1495
|
+
return false; // propagate false if mismatch is found
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
}
|
|
1499
|
+
}
|
|
1500
|
+
return true; // all checks passed
|
|
1501
|
+
}
|
|
1460
1502
|
|
|
1461
1503
|
class JsonPointer {
|
|
1462
1504
|
/**
|
|
@@ -2473,10 +2515,10 @@ class JsonPointer {
|
|
|
2473
2515
|
}
|
|
2474
2516
|
console.error('parseObjectPath error: Input object path must be a string.');
|
|
2475
2517
|
}
|
|
2476
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2477
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2518
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonPointer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2519
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonPointer }); }
|
|
2478
2520
|
}
|
|
2479
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2521
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonPointer, decorators: [{
|
|
2480
2522
|
type: Injectable
|
|
2481
2523
|
}] });
|
|
2482
2524
|
|
|
@@ -4643,14 +4685,7 @@ function convertJSONSchemaIfToCondition(schema, layoutNode, negate = false) {
|
|
|
4643
4685
|
.join("")
|
|
4644
4686
|
: "";
|
|
4645
4687
|
let modelPath = parentPath ? `model.${parentPath}` : "model";
|
|
4646
|
-
let checkPath = modelPath.split('.')
|
|
4647
|
-
.map((_, index, array) => {
|
|
4648
|
-
return array.slice(0, index + 1).join('.'); // Build each part of the path dynamically
|
|
4649
|
-
}).join(' && '); // Join the parts with '&&'
|
|
4650
|
-
// .reduce((accumulator, currentPart, index) => {
|
|
4651
|
-
// const currentExpression = index === 0 ? currentPart : `${accumulator}.${currentPart}`;
|
|
4652
|
-
// return index === 0 ? currentExpression : `${accumulator} && ${currentExpression}`;
|
|
4653
|
-
// }, '');
|
|
4688
|
+
let checkPath = modelPath.replace(/\[/g, ".[").split('.').join("?.");
|
|
4654
4689
|
if (schema.if) {
|
|
4655
4690
|
Object.keys(schema.if.properties).forEach((ifProp, ind) => {
|
|
4656
4691
|
let amper = ind > 0 ? "&" : "";
|
|
@@ -6201,7 +6236,7 @@ function buildLayout_original(jsf, widgetLibrary) {
|
|
|
6201
6236
|
return formLayout;
|
|
6202
6237
|
}
|
|
6203
6238
|
//TODO-review:this implements a quick 'post' fix rather than an
|
|
6204
|
-
//
|
|
6239
|
+
//integrated ideal fix
|
|
6205
6240
|
function buildLayout(jsf, widgetLibrary) {
|
|
6206
6241
|
let layout = buildLayout_original(jsf, widgetLibrary);
|
|
6207
6242
|
if (jsf.formValues) {
|
|
@@ -6317,11 +6352,21 @@ function fixNestedArrayLayout(options) {
|
|
|
6317
6352
|
: cloneDeep(builtLayout.items[0]); //copy first
|
|
6318
6353
|
newItem._id = uniqueId("new_");
|
|
6319
6354
|
builtLayout.items.unshift(newItem);
|
|
6355
|
+
// builtLayout.items=[newItem, ...builtLayout.items];
|
|
6320
6356
|
}
|
|
6321
|
-
|
|
6322
|
-
|
|
6357
|
+
}
|
|
6358
|
+
else if (numActualItems > numDataItems) {
|
|
6359
|
+
let numItemsToRemove = numActualItems - numDataItems;
|
|
6360
|
+
for (let i = 0; i < numItemsToRemove; i++) {
|
|
6361
|
+
builtLayout.items.pop();
|
|
6362
|
+
//builtLayout.items=builtLayout.items.slice(0, -1);
|
|
6363
|
+
//builtLayout.items.slice(0, -1);
|
|
6323
6364
|
}
|
|
6324
6365
|
}
|
|
6366
|
+
if (builtLayout.options.listItems) {
|
|
6367
|
+
builtLayout.options.listItems = numDataItems;
|
|
6368
|
+
}
|
|
6369
|
+
//builtLayout.items=[...builtLayout.items];
|
|
6325
6370
|
indices[builtLayout.dataPointer] = indices[builtLayout.dataPointer] || -1;
|
|
6326
6371
|
indexPos++;
|
|
6327
6372
|
builtLayout.items.forEach((item, index) => {
|
|
@@ -7693,7 +7738,7 @@ class JsonSchemaFormService {
|
|
|
7693
7738
|
// Set values of any related controls in copyValueTo array
|
|
7694
7739
|
if (isArray(ctx.options.copyValueTo)) {
|
|
7695
7740
|
for (const item of ctx.options.copyValueTo) {
|
|
7696
|
-
const targetControl = getControl(this.formGroup, item);
|
|
7741
|
+
const targetControl = this.formGroup && getControl(this.formGroup, item);
|
|
7697
7742
|
if (isObject(targetControl) &&
|
|
7698
7743
|
typeof targetControl.setValue === 'function') {
|
|
7699
7744
|
targetControl.setValue(value);
|
|
@@ -7768,7 +7813,8 @@ class JsonSchemaFormService {
|
|
|
7768
7813
|
getFormControlValue(ctx) {
|
|
7769
7814
|
if (!ctx || !ctx.layoutNode ||
|
|
7770
7815
|
!isDefined(ctx.layoutNode().dataPointer) ||
|
|
7771
|
-
ctx.layoutNode().type === '$ref'
|
|
7816
|
+
ctx.layoutNode().type === '$ref'
|
|
7817
|
+
|| this.formGroup == null) {
|
|
7772
7818
|
return null;
|
|
7773
7819
|
}
|
|
7774
7820
|
const schemaPointer = ctx.layoutNode()?.isITEItem ? ctx.layoutNode()?.schemaPointer : null;
|
|
@@ -7778,7 +7824,7 @@ class JsonSchemaFormService {
|
|
|
7778
7824
|
return control ? control.value : null;
|
|
7779
7825
|
}
|
|
7780
7826
|
getFormControlGroup(ctx) {
|
|
7781
|
-
if (!ctx || !ctx.layoutNode || !isDefined(ctx.layoutNode().dataPointer)) {
|
|
7827
|
+
if (!ctx || !ctx.layoutNode || !isDefined(ctx.layoutNode().dataPointer) || this.formGroup == null) {
|
|
7782
7828
|
return null;
|
|
7783
7829
|
}
|
|
7784
7830
|
const schemaPointer = ctx.layoutNode()?.isITEItem ? ctx.layoutNode()?.schemaPointer : null;
|
|
@@ -7906,10 +7952,66 @@ class JsonSchemaFormService {
|
|
|
7906
7952
|
JsonPointer.remove(this.layout, this.getLayoutPointer(ctx));
|
|
7907
7953
|
return true;
|
|
7908
7954
|
}
|
|
7909
|
-
|
|
7910
|
-
|
|
7955
|
+
//TODO fix-doesnt seem to work for nested array
|
|
7956
|
+
adjustLayout(layout, newData, currLayoutIndex = [0], currDataIndex = []) {
|
|
7957
|
+
const createWidgetCtx = (layoutNode, layoutIndex, dataIndex) => {
|
|
7958
|
+
return {
|
|
7959
|
+
layoutNode: () => { return layoutNode; },
|
|
7960
|
+
layoutIndex: () => { return layoutIndex; },
|
|
7961
|
+
dataIndex: () => { return dataIndex; },
|
|
7962
|
+
};
|
|
7963
|
+
};
|
|
7964
|
+
// console.log(`adjustLayout currLayoutIndex:${currLayoutIndex}`);
|
|
7965
|
+
if (layout.items && _isArray(newData)) {
|
|
7966
|
+
let ctx = createWidgetCtx({
|
|
7967
|
+
...layout,
|
|
7968
|
+
$ref: layout.$ref || layout.items[0]?.dataPointer,
|
|
7969
|
+
dataPointer: layout.items[0]?.dataPointer,
|
|
7970
|
+
arrayItem: true,
|
|
7971
|
+
arrayItemType: "list"
|
|
7972
|
+
}, [...currLayoutIndex.slice(0, currLayoutIndex.length - 1), layout.items.length - 1], [...currDataIndex.slice(0, currDataIndex.length - 1), layout.items.length - 1]);
|
|
7973
|
+
const lengthDifference = newData.length - layout.items.filter(litem => {
|
|
7974
|
+
return litem?.type != "$ref";
|
|
7975
|
+
}).length;
|
|
7976
|
+
if (lengthDifference > 0) {
|
|
7977
|
+
// Add missing controls if newData has more items
|
|
7978
|
+
for (let i = 0; i < lengthDifference; i++) {
|
|
7979
|
+
this.addItem(ctx);
|
|
7980
|
+
}
|
|
7981
|
+
}
|
|
7982
|
+
else if (lengthDifference < 0) {
|
|
7983
|
+
let numToRemove = layout.items.filter(litem => {
|
|
7984
|
+
return litem?.type != "$ref";
|
|
7985
|
+
})
|
|
7986
|
+
.length - newData.length;
|
|
7987
|
+
// Remove extra controls if newData has fewer items
|
|
7988
|
+
for (let i = 0; i < numToRemove; i++) {
|
|
7989
|
+
let oldDataIndex = ctx.dataIndex();
|
|
7990
|
+
let lastDataIndex = oldDataIndex[oldDataIndex.length - 1];
|
|
7991
|
+
let updatedLayoutIndex = [...currLayoutIndex.slice(0, currLayoutIndex.length - 1), 0];
|
|
7992
|
+
let updatedDataIndex = [...oldDataIndex.slice(0, oldDataIndex.length - 1), 0];
|
|
7993
|
+
ctx = createWidgetCtx(ctx.layoutNode(), updatedLayoutIndex, updatedDataIndex);
|
|
7994
|
+
let removed = this.removeItem(ctx);
|
|
7995
|
+
// if(removed){
|
|
7996
|
+
//}
|
|
7997
|
+
}
|
|
7998
|
+
}
|
|
7999
|
+
return;
|
|
8000
|
+
}
|
|
8001
|
+
if (_isArray(layout)) {
|
|
8002
|
+
layout.forEach((layoutNode, ind) => {
|
|
8003
|
+
//if(layoutNode.items){
|
|
8004
|
+
let layoutMappedData = layoutNode.dataPointer ? JsonPointer.get(newData, layoutNode.dataPointer)
|
|
8005
|
+
: undefined;
|
|
8006
|
+
this.adjustLayout(layoutNode, layoutMappedData, [...currLayoutIndex, ind], [...currDataIndex, ind]);
|
|
8007
|
+
///}
|
|
8008
|
+
});
|
|
8009
|
+
}
|
|
8010
|
+
}
|
|
8011
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonSchemaFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8012
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonSchemaFormService }); }
|
|
7911
8013
|
}
|
|
7912
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8014
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonSchemaFormService, decorators: [{
|
|
7913
8015
|
type: Injectable
|
|
7914
8016
|
}], ctorParameters: () => [] });
|
|
7915
8017
|
|
|
@@ -7917,10 +8019,10 @@ class SelectWidgetComponent {
|
|
|
7917
8019
|
constructor() {
|
|
7918
8020
|
this.jsf = inject(JsonSchemaFormService);
|
|
7919
8021
|
this.newComponent = null;
|
|
7920
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
7921
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
7922
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
7923
|
-
this.widgetContainer = viewChild('widgetContainer', ...(ngDevMode ?
|
|
8022
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8023
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8024
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8025
|
+
this.widgetContainer = viewChild('widgetContainer', { ...(ngDevMode ? { debugName: "widgetContainer" } : {}), read: ViewContainerRef });
|
|
7924
8026
|
}
|
|
7925
8027
|
ngOnInit() {
|
|
7926
8028
|
this.updateComponent();
|
|
@@ -7940,10 +8042,10 @@ class SelectWidgetComponent {
|
|
|
7940
8042
|
}
|
|
7941
8043
|
}
|
|
7942
8044
|
}
|
|
7943
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7944
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
8045
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SelectWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8046
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.2", type: SelectWidgetComponent, isStandalone: false, selector: "select-widget-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: ["widgetContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `<div #widgetContainer></div>`, isInline: true }); }
|
|
7945
8047
|
}
|
|
7946
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8048
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SelectWidgetComponent, decorators: [{
|
|
7947
8049
|
type: Component,
|
|
7948
8050
|
args: [{
|
|
7949
8051
|
// tslint:disable-next-line:component-selector
|
|
@@ -7951,21 +8053,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
7951
8053
|
template: `<div #widgetContainer></div>`,
|
|
7952
8054
|
standalone: false
|
|
7953
8055
|
}]
|
|
7954
|
-
}] });
|
|
8056
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }], widgetContainer: [{ type: i0.ViewChild, args: ['widgetContainer', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
|
|
7955
8057
|
|
|
7956
8058
|
class NoFrameworkComponent {
|
|
7957
8059
|
constructor() {
|
|
7958
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
7959
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
7960
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8060
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8061
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8062
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
7961
8063
|
}
|
|
7962
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7963
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
8064
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoFrameworkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8065
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.2", type: NoFrameworkComponent, isStandalone: false, selector: "no-framework", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<select-widget-widget [dataIndex]=\"dataIndex()\" [layoutIndex]=\"layoutIndex()\" [layoutNode]=\"layoutNode()\">\r\n</select-widget-widget>", dependencies: [{ kind: "component", type: SelectWidgetComponent, selector: "select-widget-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }] }); }
|
|
7964
8066
|
}
|
|
7965
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8067
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoFrameworkComponent, decorators: [{
|
|
7966
8068
|
type: Component,
|
|
7967
8069
|
args: [{ selector: 'no-framework', standalone: false, template: "<select-widget-widget [dataIndex]=\"dataIndex()\" [layoutIndex]=\"layoutIndex()\" [layoutNode]=\"layoutNode()\">\r\n</select-widget-widget>" }]
|
|
7968
|
-
}] });
|
|
8070
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
7969
8071
|
|
|
7970
8072
|
// No framework - plain HTML controls (styles from form layout only)
|
|
7971
8073
|
class NoFramework extends Framework {
|
|
@@ -7975,10 +8077,10 @@ class NoFramework extends Framework {
|
|
|
7975
8077
|
this.text = 'None (plain HTML)';
|
|
7976
8078
|
this.framework = NoFrameworkComponent;
|
|
7977
8079
|
}
|
|
7978
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7979
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
8080
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoFramework, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8081
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoFramework }); }
|
|
7980
8082
|
}
|
|
7981
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8083
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoFramework, decorators: [{
|
|
7982
8084
|
type: Injectable
|
|
7983
8085
|
}] });
|
|
7984
8086
|
|
|
@@ -8000,10 +8102,10 @@ class ElementAttributeDirective {
|
|
|
8000
8102
|
}
|
|
8001
8103
|
}
|
|
8002
8104
|
}
|
|
8003
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8004
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
8105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: ElementAttributeDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8106
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.2", type: ElementAttributeDirective, isStandalone: false, selector: "[attributes]", inputs: { attributes: "attributes" }, usesOnChanges: true, ngImport: i0 }); }
|
|
8005
8107
|
}
|
|
8006
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: ElementAttributeDirective, decorators: [{
|
|
8007
8109
|
type: Directive,
|
|
8008
8110
|
args: [{
|
|
8009
8111
|
selector: '[attributes]',
|
|
@@ -8040,10 +8142,10 @@ class StopPropagationDirective {
|
|
|
8040
8142
|
// Call each stored unsubscribe function to clean up listeners
|
|
8041
8143
|
this.unsubscribeFunctions.forEach(unsub => unsub());
|
|
8042
8144
|
}
|
|
8043
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8044
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
8145
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: StopPropagationDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8146
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.2", type: StopPropagationDirective, isStandalone: false, selector: "[appStopPropagation]", inputs: { events: ["appStopPropagation", "events"] }, ngImport: i0 }); }
|
|
8045
8147
|
}
|
|
8046
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: StopPropagationDirective, decorators: [{
|
|
8047
8149
|
type: Directive,
|
|
8048
8150
|
args: [{
|
|
8049
8151
|
selector: '[appStopPropagation]', standalone: false
|
|
@@ -8056,9 +8158,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
8056
8158
|
class AddReferenceComponent {
|
|
8057
8159
|
constructor() {
|
|
8058
8160
|
this.jsf = inject(JsonSchemaFormService);
|
|
8059
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8060
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8061
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8161
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8162
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8163
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8062
8164
|
}
|
|
8063
8165
|
ngOnInit() {
|
|
8064
8166
|
this.options = this.layoutNode().options || {};
|
|
@@ -8077,55 +8179,65 @@ class AddReferenceComponent {
|
|
|
8077
8179
|
layoutIndex: this.layoutIndex().slice(0, -1),
|
|
8078
8180
|
layoutNode: this.jsf.getParentNode(this)
|
|
8079
8181
|
};
|
|
8080
|
-
return parent.layoutNode.add ||
|
|
8081
|
-
this.jsf.setArrayItemTitle(parent, this.layoutNode(), this.itemCount);
|
|
8082
|
-
}
|
|
8083
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8084
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8085
|
-
<section [class]="options?.htmlClass || ''" align="end">
|
|
8086
|
-
|
|
8087
|
-
|
|
8088
|
-
|
|
8089
|
-
|
|
8090
|
-
|
|
8091
|
-
|
|
8092
|
-
|
|
8093
|
-
|
|
8094
|
-
|
|
8095
|
-
|
|
8096
|
-
|
|
8182
|
+
return parent.layoutNode && (parent.layoutNode.add ||
|
|
8183
|
+
this.jsf.setArrayItemTitle(parent, this.layoutNode(), this.itemCount));
|
|
8184
|
+
}
|
|
8185
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: AddReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8186
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: AddReferenceComponent, isStandalone: false, selector: "add-reference-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
8187
|
+
<section [class]="options?.htmlClass || ''" align="end">
|
|
8188
|
+
@if (showAddButton) {
|
|
8189
|
+
<button
|
|
8190
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8191
|
+
[disabled]="options?.readonly"
|
|
8192
|
+
(click)="addItem($event)"
|
|
8193
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8194
|
+
>
|
|
8195
|
+
@if (options?.icon) {
|
|
8196
|
+
<span [class]="options?.icon"></span>
|
|
8197
|
+
}
|
|
8198
|
+
@if (options?.title) {
|
|
8199
|
+
<span [innerHTML]="buttonText"></span>
|
|
8200
|
+
}
|
|
8201
|
+
</button>
|
|
8202
|
+
}
|
|
8203
|
+
</section>`, isInline: true, dependencies: [{ kind: "directive", type: StopPropagationDirective, selector: "[appStopPropagation]", inputs: ["appStopPropagation"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
8097
8204
|
}
|
|
8098
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: AddReferenceComponent, decorators: [{
|
|
8099
8206
|
type: Component,
|
|
8100
8207
|
args: [{
|
|
8101
8208
|
// tslint:disable-next-line:component-selector
|
|
8102
8209
|
selector: 'add-reference-widget',
|
|
8103
|
-
template: `
|
|
8104
|
-
<section [class]="options?.htmlClass || ''" align="end">
|
|
8105
|
-
|
|
8106
|
-
|
|
8107
|
-
|
|
8108
|
-
|
|
8109
|
-
|
|
8110
|
-
|
|
8111
|
-
|
|
8112
|
-
|
|
8113
|
-
|
|
8114
|
-
|
|
8210
|
+
template: `
|
|
8211
|
+
<section [class]="options?.htmlClass || ''" align="end">
|
|
8212
|
+
@if (showAddButton) {
|
|
8213
|
+
<button
|
|
8214
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8215
|
+
[disabled]="options?.readonly"
|
|
8216
|
+
(click)="addItem($event)"
|
|
8217
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8218
|
+
>
|
|
8219
|
+
@if (options?.icon) {
|
|
8220
|
+
<span [class]="options?.icon"></span>
|
|
8221
|
+
}
|
|
8222
|
+
@if (options?.title) {
|
|
8223
|
+
<span [innerHTML]="buttonText"></span>
|
|
8224
|
+
}
|
|
8225
|
+
</button>
|
|
8226
|
+
}
|
|
8115
8227
|
</section>`,
|
|
8116
8228
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
8117
8229
|
standalone: false
|
|
8118
8230
|
}]
|
|
8119
|
-
}] });
|
|
8231
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
8120
8232
|
|
|
8121
8233
|
class ButtonComponent {
|
|
8122
8234
|
constructor() {
|
|
8123
8235
|
this.jsf = inject(JsonSchemaFormService);
|
|
8124
8236
|
this.controlDisabled = false;
|
|
8125
8237
|
this.boundControl = false;
|
|
8126
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8127
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8128
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8238
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8239
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8240
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8129
8241
|
}
|
|
8130
8242
|
ngOnInit() {
|
|
8131
8243
|
this.options = this.layoutNode().options || {};
|
|
@@ -8142,54 +8254,58 @@ class ButtonComponent {
|
|
|
8142
8254
|
ngOnDestroy() {
|
|
8143
8255
|
this.jsf.updateValue(this, null);
|
|
8144
8256
|
}
|
|
8145
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8146
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8147
|
-
<div
|
|
8148
|
-
[class]="options?.htmlClass || ''">
|
|
8149
|
-
<button
|
|
8150
|
-
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
8151
|
-
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8152
|
-
[class]="options?.fieldHtmlClass || ''"
|
|
8153
|
-
[disabled]="controlDisabled"
|
|
8154
|
-
[name]="controlName"
|
|
8155
|
-
[type]="layoutNode()?.type"
|
|
8156
|
-
[value]="controlValue"
|
|
8157
|
-
(click)="updateValue($event)"
|
|
8158
|
-
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8159
|
-
>
|
|
8160
|
-
|
|
8161
|
-
|
|
8162
|
-
|
|
8163
|
-
|
|
8164
|
-
|
|
8257
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8258
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: ButtonComponent, isStandalone: false, selector: "button-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
8259
|
+
<div
|
|
8260
|
+
[class]="options?.htmlClass || ''">
|
|
8261
|
+
<button
|
|
8262
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
8263
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8264
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8265
|
+
[disabled]="controlDisabled"
|
|
8266
|
+
[name]="controlName"
|
|
8267
|
+
[type]="layoutNode()?.type"
|
|
8268
|
+
[value]="controlValue"
|
|
8269
|
+
(click)="updateValue($event)"
|
|
8270
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8271
|
+
>
|
|
8272
|
+
@if (options?.icon || options?.title) {
|
|
8273
|
+
<span
|
|
8274
|
+
[class]="options?.icon"
|
|
8275
|
+
[innerHTML]="options?.title"></span>
|
|
8276
|
+
}
|
|
8277
|
+
</button>
|
|
8278
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: StopPropagationDirective, selector: "[appStopPropagation]", inputs: ["appStopPropagation"] }] }); }
|
|
8165
8279
|
}
|
|
8166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
8167
8281
|
type: Component,
|
|
8168
8282
|
args: [{
|
|
8169
8283
|
// tslint:disable-next-line:component-selector
|
|
8170
8284
|
selector: 'button-widget',
|
|
8171
|
-
template: `
|
|
8172
|
-
<div
|
|
8173
|
-
[class]="options?.htmlClass || ''">
|
|
8174
|
-
<button
|
|
8175
|
-
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
8176
|
-
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8177
|
-
[class]="options?.fieldHtmlClass || ''"
|
|
8178
|
-
[disabled]="controlDisabled"
|
|
8179
|
-
[name]="controlName"
|
|
8180
|
-
[type]="layoutNode()?.type"
|
|
8181
|
-
[value]="controlValue"
|
|
8182
|
-
(click)="updateValue($event)"
|
|
8183
|
-
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8184
|
-
>
|
|
8185
|
-
|
|
8186
|
-
|
|
8187
|
-
|
|
8188
|
-
|
|
8285
|
+
template: `
|
|
8286
|
+
<div
|
|
8287
|
+
[class]="options?.htmlClass || ''">
|
|
8288
|
+
<button
|
|
8289
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
8290
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8291
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8292
|
+
[disabled]="controlDisabled"
|
|
8293
|
+
[name]="controlName"
|
|
8294
|
+
[type]="layoutNode()?.type"
|
|
8295
|
+
[value]="controlValue"
|
|
8296
|
+
(click)="updateValue($event)"
|
|
8297
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8298
|
+
>
|
|
8299
|
+
@if (options?.icon || options?.title) {
|
|
8300
|
+
<span
|
|
8301
|
+
[class]="options?.icon"
|
|
8302
|
+
[innerHTML]="options?.title"></span>
|
|
8303
|
+
}
|
|
8304
|
+
</button>
|
|
8189
8305
|
</div>`,
|
|
8190
8306
|
standalone: false
|
|
8191
8307
|
}]
|
|
8192
|
-
}] });
|
|
8308
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
8193
8309
|
|
|
8194
8310
|
///NB issue caused by sortablejs when it its destroyed
|
|
8195
8311
|
//this mainly affects checkboxes coupled with conditions
|
|
@@ -8203,9 +8319,9 @@ class CheckboxComponent {
|
|
|
8203
8319
|
this.boundControl = false;
|
|
8204
8320
|
this.trueValue = true;
|
|
8205
8321
|
this.falseValue = false;
|
|
8206
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8207
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8208
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8322
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8323
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8324
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8209
8325
|
}
|
|
8210
8326
|
ngOnInit() {
|
|
8211
8327
|
this.options = this.layoutNode().options || {};
|
|
@@ -8225,78 +8341,90 @@ class CheckboxComponent {
|
|
|
8225
8341
|
ngOnDestroy() {
|
|
8226
8342
|
this.jsf.updateValue(this, null);
|
|
8227
8343
|
}
|
|
8228
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8229
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8230
|
-
<label
|
|
8231
|
-
[attr.for]="'control' + layoutNode()?._id"
|
|
8232
|
-
[class]="options?.itemLabelHtmlClass || ''">
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
|
-
|
|
8344
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8345
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: CheckboxComponent, isStandalone: false, selector: "checkbox-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
8346
|
+
<label
|
|
8347
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
8348
|
+
[class]="options?.itemLabelHtmlClass || ''">
|
|
8349
|
+
@if (boundControl) {
|
|
8350
|
+
<input
|
|
8351
|
+
[formControl]="formControl"
|
|
8352
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8236
8353
|
[class]="(options?.fieldHtmlClass || '') + (isChecked ?
|
|
8237
8354
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
8238
8355
|
(' ' + (options?.style?.unselected || '')))"
|
|
8239
|
-
|
|
8240
|
-
|
|
8241
|
-
|
|
8242
|
-
|
|
8243
|
-
|
|
8244
|
-
|
|
8245
|
-
|
|
8356
|
+
[id]="'control' + layoutNode()?._id"
|
|
8357
|
+
[name]="controlName"
|
|
8358
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8359
|
+
type="checkbox">
|
|
8360
|
+
}
|
|
8361
|
+
@if (!boundControl) {
|
|
8362
|
+
<input
|
|
8363
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8364
|
+
[checked]="isChecked"
|
|
8246
8365
|
[class]="(options?.fieldHtmlClass || '') + (isChecked ?
|
|
8247
8366
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
8248
8367
|
(' ' + (options?.style?.unselected || '')))"
|
|
8249
|
-
|
|
8250
|
-
|
|
8251
|
-
|
|
8252
|
-
|
|
8253
|
-
|
|
8254
|
-
|
|
8255
|
-
|
|
8256
|
-
|
|
8257
|
-
|
|
8258
|
-
|
|
8259
|
-
|
|
8368
|
+
[disabled]="controlDisabled"
|
|
8369
|
+
[id]="'control' + layoutNode()?._id"
|
|
8370
|
+
[name]="controlName"
|
|
8371
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8372
|
+
[value]="controlValue"
|
|
8373
|
+
type="checkbox"
|
|
8374
|
+
(change)="updateValue($event)">
|
|
8375
|
+
}
|
|
8376
|
+
@if (options?.title) {
|
|
8377
|
+
<span
|
|
8378
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
8379
|
+
[innerHTML]="options?.title"></span>
|
|
8380
|
+
}
|
|
8381
|
+
</label>`, isInline: true, dependencies: [{ kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
8260
8382
|
}
|
|
8261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8383
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
8262
8384
|
type: Component,
|
|
8263
8385
|
args: [{
|
|
8264
8386
|
// tslint:disable-next-line:component-selector
|
|
8265
8387
|
selector: 'checkbox-widget',
|
|
8266
|
-
template: `
|
|
8267
|
-
<label
|
|
8268
|
-
[attr.for]="'control' + layoutNode()?._id"
|
|
8269
|
-
[class]="options?.itemLabelHtmlClass || ''">
|
|
8270
|
-
|
|
8271
|
-
|
|
8272
|
-
|
|
8388
|
+
template: `
|
|
8389
|
+
<label
|
|
8390
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
8391
|
+
[class]="options?.itemLabelHtmlClass || ''">
|
|
8392
|
+
@if (boundControl) {
|
|
8393
|
+
<input
|
|
8394
|
+
[formControl]="formControl"
|
|
8395
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8273
8396
|
[class]="(options?.fieldHtmlClass || '') + (isChecked ?
|
|
8274
8397
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
8275
8398
|
(' ' + (options?.style?.unselected || '')))"
|
|
8276
|
-
|
|
8277
|
-
|
|
8278
|
-
|
|
8279
|
-
|
|
8280
|
-
|
|
8281
|
-
|
|
8282
|
-
|
|
8399
|
+
[id]="'control' + layoutNode()?._id"
|
|
8400
|
+
[name]="controlName"
|
|
8401
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8402
|
+
type="checkbox">
|
|
8403
|
+
}
|
|
8404
|
+
@if (!boundControl) {
|
|
8405
|
+
<input
|
|
8406
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8407
|
+
[checked]="isChecked"
|
|
8283
8408
|
[class]="(options?.fieldHtmlClass || '') + (isChecked ?
|
|
8284
8409
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
8285
8410
|
(' ' + (options?.style?.unselected || '')))"
|
|
8286
|
-
|
|
8287
|
-
|
|
8288
|
-
|
|
8289
|
-
|
|
8290
|
-
|
|
8291
|
-
|
|
8292
|
-
|
|
8293
|
-
|
|
8294
|
-
|
|
8295
|
-
|
|
8411
|
+
[disabled]="controlDisabled"
|
|
8412
|
+
[id]="'control' + layoutNode()?._id"
|
|
8413
|
+
[name]="controlName"
|
|
8414
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8415
|
+
[value]="controlValue"
|
|
8416
|
+
type="checkbox"
|
|
8417
|
+
(change)="updateValue($event)">
|
|
8418
|
+
}
|
|
8419
|
+
@if (options?.title) {
|
|
8420
|
+
<span
|
|
8421
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
8422
|
+
[innerHTML]="options?.title"></span>
|
|
8423
|
+
}
|
|
8296
8424
|
</label>`,
|
|
8297
8425
|
standalone: false
|
|
8298
8426
|
}]
|
|
8299
|
-
}] });
|
|
8427
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
8300
8428
|
|
|
8301
8429
|
class CheckboxesComponent {
|
|
8302
8430
|
constructor() {
|
|
@@ -8304,9 +8432,9 @@ class CheckboxesComponent {
|
|
|
8304
8432
|
this.controlDisabled = false;
|
|
8305
8433
|
this.boundControl = false;
|
|
8306
8434
|
this.checkboxList = [];
|
|
8307
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8308
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8309
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8435
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8436
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8437
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8310
8438
|
}
|
|
8311
8439
|
ngOnInit() {
|
|
8312
8440
|
this.options = this.layoutNode().options || {};
|
|
@@ -8337,114 +8465,134 @@ class CheckboxesComponent {
|
|
|
8337
8465
|
this.formControl.reset(nullVal);
|
|
8338
8466
|
this.controlValue = null;
|
|
8339
8467
|
}
|
|
8340
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8341
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8342
|
-
|
|
8343
|
-
|
|
8344
|
-
|
|
8345
|
-
|
|
8346
|
-
|
|
8347
|
-
|
|
8348
|
-
|
|
8349
|
-
|
|
8350
|
-
|
|
8468
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: CheckboxesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8469
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: CheckboxesComponent, isStandalone: false, selector: "checkboxes-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
8470
|
+
@if (options?.title) {
|
|
8471
|
+
<label
|
|
8472
|
+
[class]="options?.labelHtmlClass || ''"
|
|
8473
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
8474
|
+
[innerHTML]="options?.title"></label>
|
|
8475
|
+
}
|
|
8476
|
+
|
|
8477
|
+
<!-- 'horizontal' = checkboxes-inline or checkboxbuttons -->
|
|
8478
|
+
@if (layoutOrientation === 'horizontal') {
|
|
8479
|
+
<div [class]="options?.htmlClass || ''">
|
|
8480
|
+
@for (checkboxItem of checkboxList; track checkboxItem) {
|
|
8481
|
+
<label
|
|
8482
|
+
[attr.for]="'control' + layoutNode()?._id + '/' + checkboxItem.value"
|
|
8351
8483
|
[class]="(options?.itemLabelHtmlClass || '') + (checkboxItem.checked ?
|
|
8352
8484
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
8353
8485
|
(' ' + (options?.style?.unselected || '')))">
|
|
8354
|
-
|
|
8355
|
-
|
|
8356
|
-
|
|
8357
|
-
|
|
8358
|
-
|
|
8359
|
-
|
|
8360
|
-
|
|
8361
|
-
|
|
8362
|
-
|
|
8363
|
-
|
|
8364
|
-
|
|
8365
|
-
|
|
8366
|
-
|
|
8367
|
-
|
|
8368
|
-
|
|
8369
|
-
|
|
8370
|
-
|
|
8371
|
-
|
|
8372
|
-
|
|
8486
|
+
<input type="checkbox"
|
|
8487
|
+
[attr.required]="options?.required"
|
|
8488
|
+
[checked]="checkboxItem.checked"
|
|
8489
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8490
|
+
[disabled]="controlDisabled"
|
|
8491
|
+
[id]="'control' + layoutNode()?._id + '/' + checkboxItem.value"
|
|
8492
|
+
[name]="checkboxItem?.name"
|
|
8493
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8494
|
+
[value]="checkboxItem.value"
|
|
8495
|
+
(change)="updateValue($event)">
|
|
8496
|
+
<span [innerHTML]="checkboxItem.name"></span>
|
|
8497
|
+
</label>
|
|
8498
|
+
}
|
|
8499
|
+
</div>
|
|
8500
|
+
}
|
|
8501
|
+
|
|
8502
|
+
<!-- 'vertical' = regular checkboxes -->
|
|
8503
|
+
@if (layoutOrientation === 'vertical') {
|
|
8504
|
+
<div>
|
|
8505
|
+
@for (checkboxItem of checkboxList; track checkboxItem) {
|
|
8506
|
+
<div [class]="options?.htmlClass || ''">
|
|
8507
|
+
<label
|
|
8508
|
+
[attr.for]="'control' + layoutNode()?._id + '/' + checkboxItem.value"
|
|
8373
8509
|
[class]="(options?.itemLabelHtmlClass || '') + (checkboxItem.checked ?
|
|
8374
8510
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
8375
8511
|
(' ' + (options?.style?.unselected || '')))">
|
|
8376
|
-
|
|
8377
|
-
|
|
8378
|
-
|
|
8379
|
-
|
|
8380
|
-
|
|
8381
|
-
|
|
8382
|
-
|
|
8383
|
-
|
|
8384
|
-
|
|
8385
|
-
|
|
8386
|
-
|
|
8387
|
-
|
|
8388
|
-
|
|
8389
|
-
|
|
8512
|
+
<input type="checkbox"
|
|
8513
|
+
[attr.required]="options?.required"
|
|
8514
|
+
[checked]="checkboxItem.checked"
|
|
8515
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8516
|
+
[disabled]="controlDisabled"
|
|
8517
|
+
[id]="options?.name + '/' + checkboxItem.value"
|
|
8518
|
+
[name]="checkboxItem?.name"
|
|
8519
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8520
|
+
[value]="checkboxItem.value"
|
|
8521
|
+
(change)="updateValue($event)">
|
|
8522
|
+
<span [innerHTML]="checkboxItem?.name"></span>
|
|
8523
|
+
</label>
|
|
8524
|
+
</div>
|
|
8525
|
+
}
|
|
8526
|
+
</div>
|
|
8527
|
+
}`, isInline: true }); }
|
|
8390
8528
|
}
|
|
8391
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: CheckboxesComponent, decorators: [{
|
|
8392
8530
|
type: Component,
|
|
8393
8531
|
args: [{
|
|
8394
8532
|
// tslint:disable-next-line:component-selector
|
|
8395
8533
|
selector: 'checkboxes-widget',
|
|
8396
|
-
template: `
|
|
8397
|
-
|
|
8398
|
-
|
|
8399
|
-
|
|
8400
|
-
|
|
8401
|
-
|
|
8402
|
-
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
|
|
8534
|
+
template: `
|
|
8535
|
+
@if (options?.title) {
|
|
8536
|
+
<label
|
|
8537
|
+
[class]="options?.labelHtmlClass || ''"
|
|
8538
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
8539
|
+
[innerHTML]="options?.title"></label>
|
|
8540
|
+
}
|
|
8541
|
+
|
|
8542
|
+
<!-- 'horizontal' = checkboxes-inline or checkboxbuttons -->
|
|
8543
|
+
@if (layoutOrientation === 'horizontal') {
|
|
8544
|
+
<div [class]="options?.htmlClass || ''">
|
|
8545
|
+
@for (checkboxItem of checkboxList; track checkboxItem) {
|
|
8546
|
+
<label
|
|
8547
|
+
[attr.for]="'control' + layoutNode()?._id + '/' + checkboxItem.value"
|
|
8406
8548
|
[class]="(options?.itemLabelHtmlClass || '') + (checkboxItem.checked ?
|
|
8407
8549
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
8408
8550
|
(' ' + (options?.style?.unselected || '')))">
|
|
8409
|
-
|
|
8410
|
-
|
|
8411
|
-
|
|
8412
|
-
|
|
8413
|
-
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8418
|
-
|
|
8419
|
-
|
|
8420
|
-
|
|
8421
|
-
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
|
|
8426
|
-
|
|
8427
|
-
|
|
8551
|
+
<input type="checkbox"
|
|
8552
|
+
[attr.required]="options?.required"
|
|
8553
|
+
[checked]="checkboxItem.checked"
|
|
8554
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8555
|
+
[disabled]="controlDisabled"
|
|
8556
|
+
[id]="'control' + layoutNode()?._id + '/' + checkboxItem.value"
|
|
8557
|
+
[name]="checkboxItem?.name"
|
|
8558
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8559
|
+
[value]="checkboxItem.value"
|
|
8560
|
+
(change)="updateValue($event)">
|
|
8561
|
+
<span [innerHTML]="checkboxItem.name"></span>
|
|
8562
|
+
</label>
|
|
8563
|
+
}
|
|
8564
|
+
</div>
|
|
8565
|
+
}
|
|
8566
|
+
|
|
8567
|
+
<!-- 'vertical' = regular checkboxes -->
|
|
8568
|
+
@if (layoutOrientation === 'vertical') {
|
|
8569
|
+
<div>
|
|
8570
|
+
@for (checkboxItem of checkboxList; track checkboxItem) {
|
|
8571
|
+
<div [class]="options?.htmlClass || ''">
|
|
8572
|
+
<label
|
|
8573
|
+
[attr.for]="'control' + layoutNode()?._id + '/' + checkboxItem.value"
|
|
8428
8574
|
[class]="(options?.itemLabelHtmlClass || '') + (checkboxItem.checked ?
|
|
8429
8575
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
8430
8576
|
(' ' + (options?.style?.unselected || '')))">
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
|
|
8434
|
-
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
|
|
8442
|
-
|
|
8443
|
-
|
|
8444
|
-
|
|
8577
|
+
<input type="checkbox"
|
|
8578
|
+
[attr.required]="options?.required"
|
|
8579
|
+
[checked]="checkboxItem.checked"
|
|
8580
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8581
|
+
[disabled]="controlDisabled"
|
|
8582
|
+
[id]="options?.name + '/' + checkboxItem.value"
|
|
8583
|
+
[name]="checkboxItem?.name"
|
|
8584
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8585
|
+
[value]="checkboxItem.value"
|
|
8586
|
+
(change)="updateValue($event)">
|
|
8587
|
+
<span [innerHTML]="checkboxItem?.name"></span>
|
|
8588
|
+
</label>
|
|
8589
|
+
</div>
|
|
8590
|
+
}
|
|
8591
|
+
</div>
|
|
8592
|
+
}`,
|
|
8445
8593
|
standalone: false
|
|
8446
8594
|
}]
|
|
8447
|
-
}] });
|
|
8595
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
8448
8596
|
|
|
8449
8597
|
// TODO: Add this control
|
|
8450
8598
|
class FileComponent {
|
|
@@ -8452,9 +8600,9 @@ class FileComponent {
|
|
|
8452
8600
|
this.jsf = inject(JsonSchemaFormService);
|
|
8453
8601
|
this.controlDisabled = false;
|
|
8454
8602
|
this.boundControl = false;
|
|
8455
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8456
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8457
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8603
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8604
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8605
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8458
8606
|
}
|
|
8459
8607
|
ngOnInit() {
|
|
8460
8608
|
this.options = this.layoutNode().options || {};
|
|
@@ -8466,10 +8614,10 @@ class FileComponent {
|
|
|
8466
8614
|
ngOnDestroy() {
|
|
8467
8615
|
this.jsf.updateValue(this, null);
|
|
8468
8616
|
}
|
|
8469
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8470
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
8617
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: FileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8618
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.2", type: FileComponent, isStandalone: false, selector: "file-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: ``, isInline: true }); }
|
|
8471
8619
|
}
|
|
8472
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8620
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: FileComponent, decorators: [{
|
|
8473
8621
|
type: Component,
|
|
8474
8622
|
args: [{
|
|
8475
8623
|
// tslint:disable-next-line:component-selector
|
|
@@ -8477,16 +8625,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
8477
8625
|
template: ``,
|
|
8478
8626
|
standalone: false
|
|
8479
8627
|
}]
|
|
8480
|
-
}] });
|
|
8628
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
8481
8629
|
|
|
8482
8630
|
class HiddenComponent {
|
|
8483
8631
|
constructor() {
|
|
8484
8632
|
this.jsf = inject(JsonSchemaFormService);
|
|
8485
8633
|
this.controlDisabled = false;
|
|
8486
8634
|
this.boundControl = false;
|
|
8487
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8488
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8489
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8635
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8636
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8637
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8490
8638
|
}
|
|
8491
8639
|
ngOnInit() {
|
|
8492
8640
|
this.jsf.initializeControl(this);
|
|
@@ -8494,40 +8642,48 @@ class HiddenComponent {
|
|
|
8494
8642
|
ngOnDestroy() {
|
|
8495
8643
|
this.jsf.updateValue(this, null);
|
|
8496
8644
|
}
|
|
8497
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8498
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8499
|
-
|
|
8500
|
-
|
|
8501
|
-
|
|
8502
|
-
|
|
8503
|
-
|
|
8504
|
-
|
|
8505
|
-
|
|
8506
|
-
|
|
8507
|
-
|
|
8508
|
-
|
|
8509
|
-
|
|
8645
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: HiddenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8646
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: HiddenComponent, isStandalone: false, selector: "hidden-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
8647
|
+
@if (boundControl) {
|
|
8648
|
+
<input
|
|
8649
|
+
[formControl]="formControl"
|
|
8650
|
+
[id]="'control' + layoutNode()?._id"
|
|
8651
|
+
[name]="controlName"
|
|
8652
|
+
type="hidden">
|
|
8653
|
+
}
|
|
8654
|
+
@if (!boundControl) {
|
|
8655
|
+
<input
|
|
8656
|
+
[disabled]="controlDisabled"
|
|
8657
|
+
[name]="controlName"
|
|
8658
|
+
[id]="'control' + layoutNode()?._id"
|
|
8659
|
+
type="hidden"
|
|
8660
|
+
[value]="controlValue">
|
|
8661
|
+
}`, isInline: true, dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
8510
8662
|
}
|
|
8511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: HiddenComponent, decorators: [{
|
|
8512
8664
|
type: Component,
|
|
8513
8665
|
args: [{
|
|
8514
8666
|
// tslint:disable-next-line:component-selector
|
|
8515
8667
|
selector: 'hidden-widget',
|
|
8516
|
-
template: `
|
|
8517
|
-
|
|
8518
|
-
|
|
8519
|
-
|
|
8520
|
-
|
|
8521
|
-
|
|
8522
|
-
|
|
8523
|
-
|
|
8524
|
-
|
|
8525
|
-
|
|
8526
|
-
|
|
8527
|
-
|
|
8668
|
+
template: `
|
|
8669
|
+
@if (boundControl) {
|
|
8670
|
+
<input
|
|
8671
|
+
[formControl]="formControl"
|
|
8672
|
+
[id]="'control' + layoutNode()?._id"
|
|
8673
|
+
[name]="controlName"
|
|
8674
|
+
type="hidden">
|
|
8675
|
+
}
|
|
8676
|
+
@if (!boundControl) {
|
|
8677
|
+
<input
|
|
8678
|
+
[disabled]="controlDisabled"
|
|
8679
|
+
[name]="controlName"
|
|
8680
|
+
[id]="'control' + layoutNode()?._id"
|
|
8681
|
+
type="hidden"
|
|
8682
|
+
[value]="controlValue">
|
|
8683
|
+
}`,
|
|
8528
8684
|
standalone: false
|
|
8529
8685
|
}]
|
|
8530
|
-
}] });
|
|
8686
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
8531
8687
|
|
|
8532
8688
|
class InputComponent {
|
|
8533
8689
|
constructor() {
|
|
@@ -8535,9 +8691,9 @@ class InputComponent {
|
|
|
8535
8691
|
this.controlDisabled = false;
|
|
8536
8692
|
this.boundControl = false;
|
|
8537
8693
|
this.autoCompleteList = [];
|
|
8538
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8539
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8540
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8694
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8695
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8696
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8541
8697
|
}
|
|
8542
8698
|
//needed as templates don't accept something like [attributes]="options?.['x-inputAttributes']"
|
|
8543
8699
|
get inputAttributes() {
|
|
@@ -8551,157 +8707,226 @@ class InputComponent {
|
|
|
8551
8707
|
this.jsf.updateValue(this, event.target.value);
|
|
8552
8708
|
}
|
|
8553
8709
|
ngOnDestroy() {
|
|
8554
|
-
|
|
8710
|
+
//needed to be done in timeout for when dynamic/condition based
|
|
8711
|
+
//titles depend on the formControls value but the formControl
|
|
8712
|
+
//is also destroyed
|
|
8713
|
+
setTimeout(() => {
|
|
8714
|
+
this.jsf.updateValue(this, null);
|
|
8715
|
+
});
|
|
8555
8716
|
}
|
|
8556
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8557
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8558
|
-
<div [class]="options?.htmlClass || ''" >
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
|
-
|
|
8562
|
-
|
|
8563
|
-
|
|
8564
|
-
|
|
8565
|
-
|
|
8566
|
-
|
|
8567
|
-
|
|
8568
|
-
|
|
8569
|
-
|
|
8570
|
-
|
|
8571
|
-
|
|
8572
|
-
|
|
8573
|
-
|
|
8574
|
-
|
|
8575
|
-
|
|
8576
|
-
|
|
8577
|
-
|
|
8578
|
-
|
|
8579
|
-
|
|
8580
|
-
|
|
8581
|
-
|
|
8582
|
-
|
|
8583
|
-
|
|
8584
|
-
|
|
8585
|
-
|
|
8586
|
-
|
|
8587
|
-
|
|
8588
|
-
|
|
8589
|
-
|
|
8590
|
-
|
|
8591
|
-
|
|
8592
|
-
|
|
8593
|
-
|
|
8594
|
-
|
|
8595
|
-
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8601
|
-
|
|
8602
|
-
|
|
8603
|
-
|
|
8604
|
-
|
|
8717
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8718
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: InputComponent, isStandalone: false, selector: "input-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
8719
|
+
<div [class]="options?.htmlClass || ''" >
|
|
8720
|
+
@if (options?.title) {
|
|
8721
|
+
<label
|
|
8722
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
8723
|
+
[class]="options?.labelHtmlClass || ''"
|
|
8724
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
8725
|
+
[innerHTML]="options?.title"></label>
|
|
8726
|
+
}
|
|
8727
|
+
@if (boundControl) {
|
|
8728
|
+
<input
|
|
8729
|
+
[formControl]="formControl"
|
|
8730
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8731
|
+
[attr.list]="'control' + layoutNode()?._id + 'Autocomplete'"
|
|
8732
|
+
[attr.maxlength]="options?.maxLength"
|
|
8733
|
+
[attr.minlength]="options?.minLength"
|
|
8734
|
+
[attr.pattern]="options?.pattern"
|
|
8735
|
+
[attr.placeholder]="options?.placeholder"
|
|
8736
|
+
[attr.required]="options?.required"
|
|
8737
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8738
|
+
[id]="'control' + layoutNode()?._id"
|
|
8739
|
+
[name]="controlName"
|
|
8740
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8741
|
+
[type]="layoutNode()?.type"
|
|
8742
|
+
[attributes]="inputAttributes"
|
|
8743
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8744
|
+
>
|
|
8745
|
+
}
|
|
8746
|
+
@if (!boundControl) {
|
|
8747
|
+
<input
|
|
8748
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8749
|
+
[attr.list]="'control' + layoutNode()?._id + 'Autocomplete'"
|
|
8750
|
+
[attr.maxlength]="options?.maxLength"
|
|
8751
|
+
[attr.minlength]="options?.minLength"
|
|
8752
|
+
[attr.pattern]="options?.pattern"
|
|
8753
|
+
[attr.placeholder]="options?.placeholder"
|
|
8754
|
+
[attr.required]="options?.required"
|
|
8755
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8756
|
+
[disabled]="controlDisabled"
|
|
8757
|
+
[id]="'control' + layoutNode()?._id"
|
|
8758
|
+
[name]="controlName"
|
|
8759
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8760
|
+
[type]="layoutNode()?.type"
|
|
8761
|
+
[value]="controlValue"
|
|
8762
|
+
(input)="updateValue($event)"
|
|
8763
|
+
[attributes]="inputAttributes"
|
|
8764
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8765
|
+
>
|
|
8766
|
+
}
|
|
8767
|
+
@if (options?.typeahead?.source) {
|
|
8768
|
+
<datalist
|
|
8769
|
+
[id]="'control' + layoutNode()?._id + 'Autocomplete'">
|
|
8770
|
+
@for (word of options?.typeahead?.source; track word) {
|
|
8771
|
+
<option [value]="word">
|
|
8772
|
+
}
|
|
8773
|
+
</datalist>
|
|
8774
|
+
}
|
|
8775
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ElementAttributeDirective, selector: "[attributes]", inputs: ["attributes"] }, { kind: "directive", type: StopPropagationDirective, selector: "[appStopPropagation]", inputs: ["appStopPropagation"] }] }); }
|
|
8605
8776
|
}
|
|
8606
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8777
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: InputComponent, decorators: [{
|
|
8607
8778
|
type: Component,
|
|
8608
8779
|
args: [{
|
|
8609
8780
|
// tslint:disable-next-line:component-selector
|
|
8610
8781
|
selector: 'input-widget',
|
|
8611
|
-
template: `
|
|
8612
|
-
<div [class]="options?.htmlClass || ''" >
|
|
8613
|
-
|
|
8614
|
-
|
|
8615
|
-
|
|
8616
|
-
|
|
8617
|
-
|
|
8618
|
-
|
|
8619
|
-
|
|
8620
|
-
|
|
8621
|
-
|
|
8622
|
-
|
|
8623
|
-
|
|
8624
|
-
|
|
8625
|
-
|
|
8626
|
-
|
|
8627
|
-
|
|
8628
|
-
|
|
8629
|
-
|
|
8630
|
-
|
|
8631
|
-
|
|
8632
|
-
|
|
8633
|
-
|
|
8634
|
-
|
|
8635
|
-
|
|
8636
|
-
|
|
8637
|
-
|
|
8638
|
-
|
|
8639
|
-
|
|
8640
|
-
|
|
8641
|
-
|
|
8642
|
-
|
|
8643
|
-
|
|
8644
|
-
|
|
8645
|
-
|
|
8646
|
-
|
|
8647
|
-
|
|
8648
|
-
|
|
8649
|
-
|
|
8650
|
-
|
|
8651
|
-
|
|
8652
|
-
|
|
8653
|
-
|
|
8654
|
-
|
|
8655
|
-
|
|
8656
|
-
|
|
8657
|
-
|
|
8658
|
-
|
|
8782
|
+
template: `
|
|
8783
|
+
<div [class]="options?.htmlClass || ''" >
|
|
8784
|
+
@if (options?.title) {
|
|
8785
|
+
<label
|
|
8786
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
8787
|
+
[class]="options?.labelHtmlClass || ''"
|
|
8788
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
8789
|
+
[innerHTML]="options?.title"></label>
|
|
8790
|
+
}
|
|
8791
|
+
@if (boundControl) {
|
|
8792
|
+
<input
|
|
8793
|
+
[formControl]="formControl"
|
|
8794
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8795
|
+
[attr.list]="'control' + layoutNode()?._id + 'Autocomplete'"
|
|
8796
|
+
[attr.maxlength]="options?.maxLength"
|
|
8797
|
+
[attr.minlength]="options?.minLength"
|
|
8798
|
+
[attr.pattern]="options?.pattern"
|
|
8799
|
+
[attr.placeholder]="options?.placeholder"
|
|
8800
|
+
[attr.required]="options?.required"
|
|
8801
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8802
|
+
[id]="'control' + layoutNode()?._id"
|
|
8803
|
+
[name]="controlName"
|
|
8804
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8805
|
+
[type]="layoutNode()?.type"
|
|
8806
|
+
[attributes]="inputAttributes"
|
|
8807
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8808
|
+
>
|
|
8809
|
+
}
|
|
8810
|
+
@if (!boundControl) {
|
|
8811
|
+
<input
|
|
8812
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8813
|
+
[attr.list]="'control' + layoutNode()?._id + 'Autocomplete'"
|
|
8814
|
+
[attr.maxlength]="options?.maxLength"
|
|
8815
|
+
[attr.minlength]="options?.minLength"
|
|
8816
|
+
[attr.pattern]="options?.pattern"
|
|
8817
|
+
[attr.placeholder]="options?.placeholder"
|
|
8818
|
+
[attr.required]="options?.required"
|
|
8819
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8820
|
+
[disabled]="controlDisabled"
|
|
8821
|
+
[id]="'control' + layoutNode()?._id"
|
|
8822
|
+
[name]="controlName"
|
|
8823
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8824
|
+
[type]="layoutNode()?.type"
|
|
8825
|
+
[value]="controlValue"
|
|
8826
|
+
(input)="updateValue($event)"
|
|
8827
|
+
[attributes]="inputAttributes"
|
|
8828
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
8829
|
+
>
|
|
8830
|
+
}
|
|
8831
|
+
@if (options?.typeahead?.source) {
|
|
8832
|
+
<datalist
|
|
8833
|
+
[id]="'control' + layoutNode()?._id + 'Autocomplete'">
|
|
8834
|
+
@for (word of options?.typeahead?.source; track word) {
|
|
8835
|
+
<option [value]="word">
|
|
8836
|
+
}
|
|
8837
|
+
</datalist>
|
|
8838
|
+
}
|
|
8839
|
+
</div>`,
|
|
8659
8840
|
standalone: false
|
|
8660
8841
|
}]
|
|
8661
|
-
}] });
|
|
8842
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
8843
|
+
|
|
8844
|
+
// item-title.component.ts
|
|
8845
|
+
class ItemTitleComponent {
|
|
8846
|
+
constructor(jsf) {
|
|
8847
|
+
this.jsf = jsf;
|
|
8848
|
+
}
|
|
8849
|
+
ngOnChanges(changes) {
|
|
8850
|
+
this.updateTitle();
|
|
8851
|
+
}
|
|
8852
|
+
ngOnInit() {
|
|
8853
|
+
// Calculate the title once on init, or subscribe to changes here
|
|
8854
|
+
this.updateTitle();
|
|
8855
|
+
this.dataChangesSubs = this.jsf.dataChanges.subscribe((val) => {
|
|
8856
|
+
this.updateTitle();
|
|
8857
|
+
});
|
|
8858
|
+
}
|
|
8859
|
+
updateTitle() {
|
|
8860
|
+
this.title = this.jsf.setArrayItemTitle(this.ctx, this.item, this.index);
|
|
8861
|
+
}
|
|
8862
|
+
ngOnDestroy() {
|
|
8863
|
+
this.dataChangesSubs?.unsubscribe();
|
|
8864
|
+
}
|
|
8865
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: ItemTitleComponent, deps: [{ token: JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8866
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.2", type: ItemTitleComponent, isStandalone: false, selector: "item-title", inputs: { item: "item", index: "index", ctx: "ctx" }, usesOnChanges: true, ngImport: i0, template: `<div>{{ title }}</div>`, isInline: true }); }
|
|
8867
|
+
}
|
|
8868
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: ItemTitleComponent, decorators: [{
|
|
8869
|
+
type: Component,
|
|
8870
|
+
args: [{
|
|
8871
|
+
selector: 'item-title',
|
|
8872
|
+
template: `<div>{{ title }}</div>`,
|
|
8873
|
+
standalone: false
|
|
8874
|
+
// Consider using ChangeDetectionStrategy.OnPush here for maximum efficiency
|
|
8875
|
+
}]
|
|
8876
|
+
}], ctorParameters: () => [{ type: JsonSchemaFormService }], propDecorators: { item: [{
|
|
8877
|
+
type: Input
|
|
8878
|
+
}], index: [{
|
|
8879
|
+
type: Input
|
|
8880
|
+
}], ctx: [{
|
|
8881
|
+
type: Input
|
|
8882
|
+
}] } });
|
|
8662
8883
|
|
|
8663
8884
|
class MessageComponent {
|
|
8664
8885
|
constructor() {
|
|
8665
8886
|
this.jsf = inject(JsonSchemaFormService);
|
|
8666
8887
|
this.message = null;
|
|
8667
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8668
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8669
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8888
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8889
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8890
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8670
8891
|
}
|
|
8671
8892
|
ngOnInit() {
|
|
8672
8893
|
this.options = this.layoutNode().options || {};
|
|
8673
8894
|
this.message = this.options.help || this.options.helpvalue ||
|
|
8674
8895
|
this.options.msg || this.options.message;
|
|
8675
8896
|
}
|
|
8676
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8677
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8678
|
-
|
|
8679
|
-
|
|
8680
|
-
|
|
8897
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: MessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8898
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: MessageComponent, isStandalone: false, selector: "message-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
8899
|
+
@if (message) {
|
|
8900
|
+
<span
|
|
8901
|
+
[class]="options?.labelHtmlClass || ''"
|
|
8902
|
+
[innerHTML]="message"></span>
|
|
8903
|
+
}`, isInline: true }); }
|
|
8681
8904
|
}
|
|
8682
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8905
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: MessageComponent, decorators: [{
|
|
8683
8906
|
type: Component,
|
|
8684
8907
|
args: [{
|
|
8685
8908
|
// tslint:disable-next-line:component-selector
|
|
8686
8909
|
selector: 'message-widget',
|
|
8687
|
-
template: `
|
|
8688
|
-
|
|
8689
|
-
|
|
8690
|
-
|
|
8910
|
+
template: `
|
|
8911
|
+
@if (message) {
|
|
8912
|
+
<span
|
|
8913
|
+
[class]="options?.labelHtmlClass || ''"
|
|
8914
|
+
[innerHTML]="message"></span>
|
|
8915
|
+
}`,
|
|
8691
8916
|
standalone: false
|
|
8692
8917
|
}]
|
|
8693
|
-
}] });
|
|
8918
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
8694
8919
|
|
|
8695
8920
|
class NoneComponent {
|
|
8696
8921
|
constructor() {
|
|
8697
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8698
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8699
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8922
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8923
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8924
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8700
8925
|
}
|
|
8701
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8702
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
8926
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8927
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.2", type: NoneComponent, isStandalone: false, selector: "none-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: ``, isInline: true }); }
|
|
8703
8928
|
}
|
|
8704
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8929
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoneComponent, decorators: [{
|
|
8705
8930
|
type: Component,
|
|
8706
8931
|
args: [{
|
|
8707
8932
|
// tslint:disable-next-line:component-selector
|
|
@@ -8709,7 +8934,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
8709
8934
|
template: ``,
|
|
8710
8935
|
standalone: false
|
|
8711
8936
|
}]
|
|
8712
|
-
}] });
|
|
8937
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
8713
8938
|
|
|
8714
8939
|
//TODO look at reusing InputComponent
|
|
8715
8940
|
class NumberComponent {
|
|
@@ -8721,9 +8946,9 @@ class NumberComponent {
|
|
|
8721
8946
|
this.allowDecimal = true;
|
|
8722
8947
|
this.allowExponents = false;
|
|
8723
8948
|
this.lastValidNumber = '';
|
|
8724
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8725
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8726
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8949
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
8950
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
8951
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8727
8952
|
}
|
|
8728
8953
|
//needed as templates don't accept something like [attributes]="options?.['x-inputAttributes']"
|
|
8729
8954
|
get inputAttributes() {
|
|
@@ -8740,112 +8965,131 @@ class NumberComponent {
|
|
|
8740
8965
|
this.jsf.updateValue(this, event.target.value);
|
|
8741
8966
|
}
|
|
8742
8967
|
ngOnDestroy() {
|
|
8743
|
-
|
|
8968
|
+
//see cpmments in input component
|
|
8969
|
+
setTimeout(() => {
|
|
8970
|
+
this.jsf.updateValue(this, null);
|
|
8971
|
+
});
|
|
8744
8972
|
}
|
|
8745
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8746
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8747
|
-
<div #divElt [class]="options?.htmlClass || ''" >
|
|
8748
|
-
|
|
8749
|
-
|
|
8750
|
-
|
|
8751
|
-
|
|
8752
|
-
|
|
8753
|
-
|
|
8754
|
-
|
|
8755
|
-
|
|
8756
|
-
|
|
8757
|
-
|
|
8758
|
-
|
|
8759
|
-
|
|
8760
|
-
|
|
8761
|
-
|
|
8762
|
-
|
|
8763
|
-
|
|
8764
|
-
|
|
8765
|
-
|
|
8766
|
-
|
|
8767
|
-
|
|
8768
|
-
|
|
8769
|
-
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8789
|
-
|
|
8790
|
-
|
|
8791
|
-
|
|
8792
|
-
|
|
8973
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8974
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: NumberComponent, isStandalone: false, selector: "number-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["inputControl"], descendants: true }, { propertyName: "div", first: true, predicate: ["divElt"], descendants: true }], ngImport: i0, template: `
|
|
8975
|
+
<div #divElt [class]="options?.htmlClass || ''" >
|
|
8976
|
+
@if (options?.title) {
|
|
8977
|
+
<label
|
|
8978
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
8979
|
+
[class]="options?.labelHtmlClass || ''"
|
|
8980
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
8981
|
+
[innerHTML]="options?.title"></label>
|
|
8982
|
+
}
|
|
8983
|
+
@if (boundControl) {
|
|
8984
|
+
<input #inputControl
|
|
8985
|
+
[formControl]="formControl"
|
|
8986
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
8987
|
+
[attr.max]="options?.maximum"
|
|
8988
|
+
[attr.min]="options?.minimum"
|
|
8989
|
+
[attr.placeholder]="options?.placeholder"
|
|
8990
|
+
[attr.required]="options?.required"
|
|
8991
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
8992
|
+
[attr.step]="options?.multipleOf || options?.step || 'any'"
|
|
8993
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
8994
|
+
[id]="'control' + layoutNode()?._id"
|
|
8995
|
+
[name]="controlName"
|
|
8996
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
8997
|
+
[title]="lastValidNumber"
|
|
8998
|
+
[type]="layoutNode()?.type === 'range' ? 'range' : 'number'"
|
|
8999
|
+
[attributes]="inputAttributes"
|
|
9000
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
9001
|
+
>
|
|
9002
|
+
}
|
|
9003
|
+
@if (!boundControl) {
|
|
9004
|
+
<input #inputControl
|
|
9005
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
9006
|
+
[attr.max]="options?.maximum"
|
|
9007
|
+
[attr.min]="options?.minimum"
|
|
9008
|
+
[attr.placeholder]="options?.placeholder"
|
|
9009
|
+
[attr.required]="options?.required"
|
|
9010
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
9011
|
+
[attr.step]="options?.multipleOf || options?.step || 'any'"
|
|
9012
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
9013
|
+
[disabled]="controlDisabled"
|
|
9014
|
+
[id]="'control' + layoutNode()?._id"
|
|
9015
|
+
[name]="controlName"
|
|
9016
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
9017
|
+
[title]="lastValidNumber"
|
|
9018
|
+
[type]="layoutNode()?.type === 'range' ? 'range' : 'number'"
|
|
9019
|
+
[value]="controlValue"
|
|
9020
|
+
(input)="updateValue($event)"
|
|
9021
|
+
[attributes]="inputAttributes"
|
|
9022
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
9023
|
+
>
|
|
9024
|
+
}
|
|
9025
|
+
@if (layoutNode()?.type === 'range') {
|
|
9026
|
+
<span [innerHTML]="controlValue"></span>
|
|
9027
|
+
}
|
|
9028
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ElementAttributeDirective, selector: "[attributes]", inputs: ["attributes"] }, { kind: "directive", type: StopPropagationDirective, selector: "[appStopPropagation]", inputs: ["appStopPropagation"] }] }); }
|
|
8793
9029
|
}
|
|
8794
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9030
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NumberComponent, decorators: [{
|
|
8795
9031
|
type: Component,
|
|
8796
9032
|
args: [{
|
|
8797
9033
|
// tslint:disable-next-line:component-selector
|
|
8798
9034
|
selector: 'number-widget',
|
|
8799
|
-
template: `
|
|
8800
|
-
<div #divElt [class]="options?.htmlClass || ''" >
|
|
8801
|
-
|
|
8802
|
-
|
|
8803
|
-
|
|
8804
|
-
|
|
8805
|
-
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
|
|
8811
|
-
|
|
8812
|
-
|
|
8813
|
-
|
|
8814
|
-
|
|
8815
|
-
|
|
8816
|
-
|
|
8817
|
-
|
|
8818
|
-
|
|
8819
|
-
|
|
8820
|
-
|
|
8821
|
-
|
|
8822
|
-
|
|
8823
|
-
|
|
8824
|
-
|
|
8825
|
-
|
|
8826
|
-
|
|
8827
|
-
|
|
8828
|
-
|
|
8829
|
-
|
|
8830
|
-
|
|
8831
|
-
|
|
8832
|
-
|
|
8833
|
-
|
|
8834
|
-
|
|
8835
|
-
|
|
8836
|
-
|
|
8837
|
-
|
|
8838
|
-
|
|
8839
|
-
|
|
8840
|
-
|
|
8841
|
-
|
|
8842
|
-
|
|
8843
|
-
|
|
8844
|
-
|
|
9035
|
+
template: `
|
|
9036
|
+
<div #divElt [class]="options?.htmlClass || ''" >
|
|
9037
|
+
@if (options?.title) {
|
|
9038
|
+
<label
|
|
9039
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
9040
|
+
[class]="options?.labelHtmlClass || ''"
|
|
9041
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
9042
|
+
[innerHTML]="options?.title"></label>
|
|
9043
|
+
}
|
|
9044
|
+
@if (boundControl) {
|
|
9045
|
+
<input #inputControl
|
|
9046
|
+
[formControl]="formControl"
|
|
9047
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
9048
|
+
[attr.max]="options?.maximum"
|
|
9049
|
+
[attr.min]="options?.minimum"
|
|
9050
|
+
[attr.placeholder]="options?.placeholder"
|
|
9051
|
+
[attr.required]="options?.required"
|
|
9052
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
9053
|
+
[attr.step]="options?.multipleOf || options?.step || 'any'"
|
|
9054
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
9055
|
+
[id]="'control' + layoutNode()?._id"
|
|
9056
|
+
[name]="controlName"
|
|
9057
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
9058
|
+
[title]="lastValidNumber"
|
|
9059
|
+
[type]="layoutNode()?.type === 'range' ? 'range' : 'number'"
|
|
9060
|
+
[attributes]="inputAttributes"
|
|
9061
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
9062
|
+
>
|
|
9063
|
+
}
|
|
9064
|
+
@if (!boundControl) {
|
|
9065
|
+
<input #inputControl
|
|
9066
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
9067
|
+
[attr.max]="options?.maximum"
|
|
9068
|
+
[attr.min]="options?.minimum"
|
|
9069
|
+
[attr.placeholder]="options?.placeholder"
|
|
9070
|
+
[attr.required]="options?.required"
|
|
9071
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
9072
|
+
[attr.step]="options?.multipleOf || options?.step || 'any'"
|
|
9073
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
9074
|
+
[disabled]="controlDisabled"
|
|
9075
|
+
[id]="'control' + layoutNode()?._id"
|
|
9076
|
+
[name]="controlName"
|
|
9077
|
+
[readonly]="options?.readonly ? 'readonly' : null"
|
|
9078
|
+
[title]="lastValidNumber"
|
|
9079
|
+
[type]="layoutNode()?.type === 'range' ? 'range' : 'number'"
|
|
9080
|
+
[value]="controlValue"
|
|
9081
|
+
(input)="updateValue($event)"
|
|
9082
|
+
[attributes]="inputAttributes"
|
|
9083
|
+
[appStopPropagation]="['mousedown', 'touchstart']"
|
|
9084
|
+
>
|
|
9085
|
+
}
|
|
9086
|
+
@if (layoutNode()?.type === 'range') {
|
|
9087
|
+
<span [innerHTML]="controlValue"></span>
|
|
9088
|
+
}
|
|
8845
9089
|
</div>`,
|
|
8846
9090
|
standalone: false
|
|
8847
9091
|
}]
|
|
8848
|
-
}], propDecorators: { inputControl: [{
|
|
9092
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }], inputControl: [{
|
|
8849
9093
|
type: ViewChild,
|
|
8850
9094
|
args: ['inputControl', {}]
|
|
8851
9095
|
}], div: [{
|
|
@@ -8858,10 +9102,10 @@ class SelectFrameworkComponent {
|
|
|
8858
9102
|
this.jsf = inject(JsonSchemaFormService);
|
|
8859
9103
|
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
8860
9104
|
this.newComponent = null;
|
|
8861
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8862
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8863
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
8864
|
-
this.widgetContainer = viewChild('widgetContainer', ...(ngDevMode ?
|
|
9105
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
9106
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
9107
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
9108
|
+
this.widgetContainer = viewChild('widgetContainer', { ...(ngDevMode ? { debugName: "widgetContainer" } : {}), read: ViewContainerRef });
|
|
8865
9109
|
}
|
|
8866
9110
|
ngOnInit() {
|
|
8867
9111
|
this.updateComponent();
|
|
@@ -8885,10 +9129,10 @@ class SelectFrameworkComponent {
|
|
|
8885
9129
|
//this.changeDetectorRef.detectChanges();
|
|
8886
9130
|
}
|
|
8887
9131
|
}
|
|
8888
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8889
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
9132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SelectFrameworkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.2", type: SelectFrameworkComponent, isStandalone: false, selector: "select-framework-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: ["widgetContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `<div #widgetContainer></div>`, isInline: true }); }
|
|
8890
9134
|
}
|
|
8891
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SelectFrameworkComponent, decorators: [{
|
|
8892
9136
|
type: Component,
|
|
8893
9137
|
args: [{
|
|
8894
9138
|
// tslint:disable-next-line:component-selector
|
|
@@ -8896,7 +9140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
8896
9140
|
template: `<div #widgetContainer></div>`,
|
|
8897
9141
|
standalone: false
|
|
8898
9142
|
}]
|
|
8899
|
-
}] });
|
|
9143
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }], widgetContainer: [{ type: i0.ViewChild, args: ['widgetContainer', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
|
|
8900
9144
|
|
|
8901
9145
|
class TabsComponent {
|
|
8902
9146
|
constructor() {
|
|
@@ -8904,9 +9148,9 @@ class TabsComponent {
|
|
|
8904
9148
|
this.cdr = inject(ChangeDetectorRef);
|
|
8905
9149
|
this.selectedItem = 0;
|
|
8906
9150
|
this.showAddTab = true;
|
|
8907
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
8908
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
8909
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
9151
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
9152
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
9153
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
8910
9154
|
}
|
|
8911
9155
|
ngOnInit() {
|
|
8912
9156
|
this.options = this.layoutNode().options || {};
|
|
@@ -8918,8 +9162,9 @@ class TabsComponent {
|
|
|
8918
9162
|
//TODO review/test-introduced to fix dynamic titles not updating
|
|
8919
9163
|
//when their conditional linked field is destroyed
|
|
8920
9164
|
//-forces change detection!
|
|
8921
|
-
|
|
8922
|
-
|
|
9165
|
+
//-commented out, causing other issues
|
|
9166
|
+
this.dataChangesSubs = this.jsf.dataChanges.subscribe((val) => {
|
|
9167
|
+
//this.cdr.detectChanges();
|
|
8923
9168
|
});
|
|
8924
9169
|
}
|
|
8925
9170
|
select(index) {
|
|
@@ -8948,115 +9193,133 @@ class TabsComponent {
|
|
|
8948
9193
|
ngOnDestroy() {
|
|
8949
9194
|
this.dataChangesSubs?.unsubscribe();
|
|
8950
9195
|
}
|
|
8951
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8952
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
8953
|
-
<ul
|
|
8954
|
-
[class]="options?.labelHtmlClass || ''">
|
|
8955
|
-
|
|
9196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: TabsComponent, isStandalone: false, selector: "tabs-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
9198
|
+
<ul
|
|
9199
|
+
[class]="options?.labelHtmlClass || ''">
|
|
9200
|
+
@for (item of layoutNode()?.items; track item; let i = $index) {
|
|
9201
|
+
<li
|
|
8956
9202
|
[class]="(options?.itemLabelHtmlClass || '') + (selectedItem === i ?
|
|
8957
9203
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
8958
9204
|
(' ' + options?.style?.unselected))"
|
|
8959
|
-
|
|
8960
|
-
|
|
8961
|
-
|
|
9205
|
+
role="presentation"
|
|
9206
|
+
data-tabs>
|
|
9207
|
+
@if (showAddTab || item.type !== '$ref') {
|
|
9208
|
+
<a
|
|
8962
9209
|
[class]="'nav-link' + (selectedItem === i ? (' ' + options?.activeClass + ' ' + options?.style?.selected) :
|
|
8963
9210
|
(' ' + options?.style?.unselected))"
|
|
8964
|
-
|
|
8965
|
-
|
|
8966
|
-
|
|
8967
|
-
|
|
8968
|
-
|
|
8969
|
-
|
|
8970
|
-
|
|
8971
|
-
|
|
8972
|
-
|
|
8973
|
-
|
|
8974
|
-
|
|
8975
|
-
|
|
8976
|
-
|
|
8977
|
-
|
|
8978
|
-
|
|
8979
|
-
|
|
8980
|
-
|
|
8981
|
-
|
|
8982
|
-
|
|
8983
|
-
|
|
8984
|
-
|
|
8985
|
-
|
|
8986
|
-
|
|
9211
|
+
(click)="select(i)">
|
|
9212
|
+
@if (options?.tabMode=='oneOfMode') {
|
|
9213
|
+
<input type="radio" [value]="i"
|
|
9214
|
+
name="tabSelection"
|
|
9215
|
+
[(ngModel)]="selectedItem"
|
|
9216
|
+
[class]="(options?.widget_radioClass || '')"
|
|
9217
|
+
[value]="i"
|
|
9218
|
+
(change)="select(i)"
|
|
9219
|
+
/>
|
|
9220
|
+
}
|
|
9221
|
+
{{setTabTitle(item, i)}}
|
|
9222
|
+
</a>
|
|
9223
|
+
}
|
|
9224
|
+
</li>
|
|
9225
|
+
}
|
|
9226
|
+
</ul>
|
|
9227
|
+
|
|
9228
|
+
@for (layoutItem of layoutNode()?.items; track layoutItem; let i = $index) {
|
|
9229
|
+
<div
|
|
9230
|
+
[class]="(options?.htmlClass || '') + (selectedItem != i?' ngf-hidden':'') ">
|
|
9231
|
+
<!--for now the only difference between oneOfMode and the default
|
|
9232
|
+
is that oneOfMode uses the *ngIf="selectedItem === i" clause, which automatically
|
|
9233
|
+
destroys the tabs that are not rendered while default mode only hide them
|
|
9234
|
+
the upshot is that only the active tabs value will be used
|
|
9235
|
+
-->
|
|
9236
|
+
@if (options?.tabMode=='oneOfMode') {
|
|
9237
|
+
@if (selectedItem === i) {
|
|
9238
|
+
<select-framework-widget
|
|
8987
9239
|
[class]="(options?.fieldHtmlClass || '') +
|
|
8988
9240
|
' ' + (options?.activeClass || '') +
|
|
8989
9241
|
' ' + (options?.style?.selected || '')"
|
|
8990
|
-
|
|
8991
|
-
|
|
8992
|
-
|
|
8993
|
-
|
|
8994
|
-
|
|
8995
|
-
|
|
9242
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
9243
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
9244
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9245
|
+
}
|
|
9246
|
+
}
|
|
9247
|
+
@if (options?.tabMode !='oneOfMode') {
|
|
9248
|
+
<select-framework-widget
|
|
8996
9249
|
[class]="(options?.fieldHtmlClass || '') +
|
|
8997
9250
|
' ' + (options?.activeClass || '') +
|
|
8998
9251
|
' ' + (options?.style?.selected || '')"
|
|
8999
|
-
|
|
9000
|
-
|
|
9001
|
-
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9002
|
-
|
|
9003
|
-
|
|
9252
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
9253
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
9254
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9255
|
+
}
|
|
9256
|
+
</div>
|
|
9257
|
+
}`, isInline: true, styles: ["a{cursor:pointer}.ngf-hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }] }); }
|
|
9004
9258
|
}
|
|
9005
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9259
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: TabsComponent, decorators: [{
|
|
9006
9260
|
type: Component,
|
|
9007
|
-
args: [{ selector: 'tabs-widget', template: `
|
|
9008
|
-
<ul
|
|
9009
|
-
[class]="options?.labelHtmlClass || ''">
|
|
9010
|
-
|
|
9261
|
+
args: [{ selector: 'tabs-widget', template: `
|
|
9262
|
+
<ul
|
|
9263
|
+
[class]="options?.labelHtmlClass || ''">
|
|
9264
|
+
@for (item of layoutNode()?.items; track item; let i = $index) {
|
|
9265
|
+
<li
|
|
9011
9266
|
[class]="(options?.itemLabelHtmlClass || '') + (selectedItem === i ?
|
|
9012
9267
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
9013
9268
|
(' ' + options?.style?.unselected))"
|
|
9014
|
-
|
|
9015
|
-
|
|
9016
|
-
|
|
9269
|
+
role="presentation"
|
|
9270
|
+
data-tabs>
|
|
9271
|
+
@if (showAddTab || item.type !== '$ref') {
|
|
9272
|
+
<a
|
|
9017
9273
|
[class]="'nav-link' + (selectedItem === i ? (' ' + options?.activeClass + ' ' + options?.style?.selected) :
|
|
9018
9274
|
(' ' + options?.style?.unselected))"
|
|
9019
|
-
|
|
9020
|
-
|
|
9021
|
-
|
|
9022
|
-
|
|
9023
|
-
|
|
9024
|
-
|
|
9025
|
-
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
9031
|
-
|
|
9032
|
-
|
|
9033
|
-
|
|
9034
|
-
|
|
9035
|
-
|
|
9036
|
-
|
|
9037
|
-
|
|
9038
|
-
|
|
9039
|
-
|
|
9040
|
-
|
|
9041
|
-
|
|
9275
|
+
(click)="select(i)">
|
|
9276
|
+
@if (options?.tabMode=='oneOfMode') {
|
|
9277
|
+
<input type="radio" [value]="i"
|
|
9278
|
+
name="tabSelection"
|
|
9279
|
+
[(ngModel)]="selectedItem"
|
|
9280
|
+
[class]="(options?.widget_radioClass || '')"
|
|
9281
|
+
[value]="i"
|
|
9282
|
+
(change)="select(i)"
|
|
9283
|
+
/>
|
|
9284
|
+
}
|
|
9285
|
+
{{setTabTitle(item, i)}}
|
|
9286
|
+
</a>
|
|
9287
|
+
}
|
|
9288
|
+
</li>
|
|
9289
|
+
}
|
|
9290
|
+
</ul>
|
|
9291
|
+
|
|
9292
|
+
@for (layoutItem of layoutNode()?.items; track layoutItem; let i = $index) {
|
|
9293
|
+
<div
|
|
9294
|
+
[class]="(options?.htmlClass || '') + (selectedItem != i?' ngf-hidden':'') ">
|
|
9295
|
+
<!--for now the only difference between oneOfMode and the default
|
|
9296
|
+
is that oneOfMode uses the *ngIf="selectedItem === i" clause, which automatically
|
|
9297
|
+
destroys the tabs that are not rendered while default mode only hide them
|
|
9298
|
+
the upshot is that only the active tabs value will be used
|
|
9299
|
+
-->
|
|
9300
|
+
@if (options?.tabMode=='oneOfMode') {
|
|
9301
|
+
@if (selectedItem === i) {
|
|
9302
|
+
<select-framework-widget
|
|
9042
9303
|
[class]="(options?.fieldHtmlClass || '') +
|
|
9043
9304
|
' ' + (options?.activeClass || '') +
|
|
9044
9305
|
' ' + (options?.style?.selected || '')"
|
|
9045
|
-
|
|
9046
|
-
|
|
9047
|
-
|
|
9048
|
-
|
|
9049
|
-
|
|
9050
|
-
|
|
9306
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
9307
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
9308
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9309
|
+
}
|
|
9310
|
+
}
|
|
9311
|
+
@if (options?.tabMode !='oneOfMode') {
|
|
9312
|
+
<select-framework-widget
|
|
9051
9313
|
[class]="(options?.fieldHtmlClass || '') +
|
|
9052
9314
|
' ' + (options?.activeClass || '') +
|
|
9053
9315
|
' ' + (options?.style?.selected || '')"
|
|
9054
|
-
|
|
9055
|
-
|
|
9056
|
-
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9057
|
-
|
|
9058
|
-
|
|
9059
|
-
|
|
9316
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
9317
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
9318
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9319
|
+
}
|
|
9320
|
+
</div>
|
|
9321
|
+
}`, standalone: false, styles: ["a{cursor:pointer}.ngf-hidden{display:none}\n"] }]
|
|
9322
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
9060
9323
|
|
|
9061
9324
|
// TODO: Add this control
|
|
9062
9325
|
class OneOfComponent {
|
|
@@ -9064,9 +9327,9 @@ class OneOfComponent {
|
|
|
9064
9327
|
this.jsf = inject(JsonSchemaFormService);
|
|
9065
9328
|
this.controlDisabled = false;
|
|
9066
9329
|
this.boundControl = false;
|
|
9067
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
9068
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
9069
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
9330
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
9331
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
9332
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
9070
9333
|
}
|
|
9071
9334
|
ngOnInit() {
|
|
9072
9335
|
this.options = this.layoutNode().options || {};
|
|
@@ -9147,14 +9410,14 @@ class OneOfComponent {
|
|
|
9147
9410
|
ngOnDestroy() {
|
|
9148
9411
|
//this.jsf.updateValue(this, null);
|
|
9149
9412
|
}
|
|
9150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9151
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
9413
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: OneOfComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9414
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.2", type: OneOfComponent, isStandalone: false, selector: "one-of-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `<h4>{{this.options?.description}}</h4>
|
|
9152
9415
|
<tabs-widget #tabs [layoutNode]="layoutNode()"
|
|
9153
9416
|
[layoutIndex]="layoutIndex()"
|
|
9154
9417
|
[dataIndex]="dataIndex()" >
|
|
9155
9418
|
</tabs-widget>`, isInline: true, dependencies: [{ kind: "component", type: TabsComponent, selector: "tabs-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }] }); }
|
|
9156
9419
|
}
|
|
9157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9420
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: OneOfComponent, decorators: [{
|
|
9158
9421
|
type: Component,
|
|
9159
9422
|
args: [{
|
|
9160
9423
|
// tslint:disable-next-line:component-selector
|
|
@@ -9166,7 +9429,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
9166
9429
|
</tabs-widget>`,
|
|
9167
9430
|
standalone: false
|
|
9168
9431
|
}]
|
|
9169
|
-
}] });
|
|
9432
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
9170
9433
|
|
|
9171
9434
|
class RadiosComponent {
|
|
9172
9435
|
constructor() {
|
|
@@ -9175,9 +9438,9 @@ class RadiosComponent {
|
|
|
9175
9438
|
this.boundControl = false;
|
|
9176
9439
|
this.layoutOrientation = 'vertical';
|
|
9177
9440
|
this.radiosList = [];
|
|
9178
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
9179
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
9180
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
9441
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
9442
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
9443
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
9181
9444
|
}
|
|
9182
9445
|
ngOnInit() {
|
|
9183
9446
|
this.options = this.layoutNode().options || {};
|
|
@@ -9195,139 +9458,159 @@ class RadiosComponent {
|
|
|
9195
9458
|
ngOnDestroy() {
|
|
9196
9459
|
this.jsf.updateValue(this, null);
|
|
9197
9460
|
}
|
|
9198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
9200
|
-
|
|
9201
|
-
|
|
9202
|
-
|
|
9203
|
-
|
|
9204
|
-
|
|
9205
|
-
|
|
9206
|
-
|
|
9207
|
-
|
|
9208
|
-
|
|
9209
|
-
|
|
9210
|
-
|
|
9461
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: RadiosComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9462
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: RadiosComponent, isStandalone: false, selector: "radios-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
9463
|
+
@if (options?.title) {
|
|
9464
|
+
<label
|
|
9465
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
9466
|
+
[class]="options?.labelHtmlClass || ''"
|
|
9467
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
9468
|
+
[innerHTML]="options?.title"></label>
|
|
9469
|
+
}
|
|
9470
|
+
|
|
9471
|
+
<!-- 'horizontal' = radios-inline or radiobuttons -->
|
|
9472
|
+
@if (layoutOrientation === 'horizontal') {
|
|
9473
|
+
<div
|
|
9474
|
+
[class]="options?.htmlClass || ''">
|
|
9475
|
+
@for (radioItem of radiosList; track radioItem) {
|
|
9476
|
+
<label
|
|
9477
|
+
[attr.for]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
9211
9478
|
[class]="(options?.itemLabelHtmlClass || '') +
|
|
9212
9479
|
((controlValue + '' === radioItem?.value + '') ?
|
|
9213
9480
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
9214
9481
|
(' ' + (options?.style?.unselected || '')))">
|
|
9215
|
-
|
|
9216
|
-
|
|
9217
|
-
|
|
9218
|
-
|
|
9219
|
-
|
|
9220
|
-
|
|
9221
|
-
|
|
9222
|
-
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
|
|
9226
|
-
|
|
9227
|
-
|
|
9228
|
-
|
|
9229
|
-
|
|
9230
|
-
|
|
9231
|
-
|
|
9232
|
-
|
|
9233
|
-
|
|
9234
|
-
<
|
|
9235
|
-
|
|
9482
|
+
<input type="radio"
|
|
9483
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
9484
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
9485
|
+
[attr.required]="options?.required"
|
|
9486
|
+
[checked]="radioItem?.value === controlValue"
|
|
9487
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
9488
|
+
[disabled]="controlDisabled"
|
|
9489
|
+
[id]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
9490
|
+
[name]="controlName"
|
|
9491
|
+
[value]="radioItem?.value"
|
|
9492
|
+
(change)="updateValue($event)">
|
|
9493
|
+
<span [innerHTML]="radioItem?.name"></span>
|
|
9494
|
+
</label>
|
|
9495
|
+
}
|
|
9496
|
+
</div>
|
|
9497
|
+
}
|
|
9498
|
+
|
|
9499
|
+
<!-- 'vertical' = regular radios -->
|
|
9500
|
+
@if (layoutOrientation !== 'horizontal') {
|
|
9501
|
+
<div>
|
|
9502
|
+
@for (radioItem of radiosList; track radioItem) {
|
|
9503
|
+
<div
|
|
9504
|
+
[class]="options?.htmlClass || ''">
|
|
9505
|
+
<label
|
|
9506
|
+
[attr.for]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
9236
9507
|
[class]="(options?.itemLabelHtmlClass || '') +
|
|
9237
9508
|
((controlValue + '' === radioItem?.value + '') ?
|
|
9238
9509
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
9239
9510
|
(' ' + (options?.style?.unselected || '')))">
|
|
9240
|
-
|
|
9241
|
-
|
|
9242
|
-
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
|
|
9247
|
-
|
|
9248
|
-
|
|
9249
|
-
|
|
9250
|
-
|
|
9251
|
-
|
|
9252
|
-
|
|
9253
|
-
|
|
9254
|
-
|
|
9511
|
+
<input type="radio"
|
|
9512
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
9513
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
9514
|
+
[attr.required]="options?.required"
|
|
9515
|
+
[checked]="radioItem?.value === controlValue"
|
|
9516
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
9517
|
+
[disabled]="controlDisabled"
|
|
9518
|
+
[id]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
9519
|
+
[name]="controlName"
|
|
9520
|
+
[value]="radioItem?.value"
|
|
9521
|
+
(change)="updateValue($event)">
|
|
9522
|
+
<span [innerHTML]="radioItem?.name"></span>
|
|
9523
|
+
</label>
|
|
9524
|
+
</div>
|
|
9525
|
+
}
|
|
9526
|
+
</div>
|
|
9527
|
+
}`, isInline: true }); }
|
|
9255
9528
|
}
|
|
9256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: RadiosComponent, decorators: [{
|
|
9257
9530
|
type: Component,
|
|
9258
9531
|
args: [{
|
|
9259
9532
|
// tslint:disable-next-line:component-selector
|
|
9260
9533
|
selector: 'radios-widget',
|
|
9261
|
-
template: `
|
|
9262
|
-
|
|
9263
|
-
|
|
9264
|
-
|
|
9265
|
-
|
|
9266
|
-
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
|
|
9270
|
-
|
|
9271
|
-
|
|
9272
|
-
|
|
9534
|
+
template: `
|
|
9535
|
+
@if (options?.title) {
|
|
9536
|
+
<label
|
|
9537
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
9538
|
+
[class]="options?.labelHtmlClass || ''"
|
|
9539
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
9540
|
+
[innerHTML]="options?.title"></label>
|
|
9541
|
+
}
|
|
9542
|
+
|
|
9543
|
+
<!-- 'horizontal' = radios-inline or radiobuttons -->
|
|
9544
|
+
@if (layoutOrientation === 'horizontal') {
|
|
9545
|
+
<div
|
|
9546
|
+
[class]="options?.htmlClass || ''">
|
|
9547
|
+
@for (radioItem of radiosList; track radioItem) {
|
|
9548
|
+
<label
|
|
9549
|
+
[attr.for]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
9273
9550
|
[class]="(options?.itemLabelHtmlClass || '') +
|
|
9274
9551
|
((controlValue + '' === radioItem?.value + '') ?
|
|
9275
9552
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
9276
9553
|
(' ' + (options?.style?.unselected || '')))">
|
|
9277
|
-
|
|
9278
|
-
|
|
9279
|
-
|
|
9280
|
-
|
|
9281
|
-
|
|
9282
|
-
|
|
9283
|
-
|
|
9284
|
-
|
|
9285
|
-
|
|
9286
|
-
|
|
9287
|
-
|
|
9288
|
-
|
|
9289
|
-
|
|
9290
|
-
|
|
9291
|
-
|
|
9292
|
-
|
|
9293
|
-
|
|
9294
|
-
|
|
9295
|
-
|
|
9296
|
-
<
|
|
9297
|
-
|
|
9554
|
+
<input type="radio"
|
|
9555
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
9556
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
9557
|
+
[attr.required]="options?.required"
|
|
9558
|
+
[checked]="radioItem?.value === controlValue"
|
|
9559
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
9560
|
+
[disabled]="controlDisabled"
|
|
9561
|
+
[id]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
9562
|
+
[name]="controlName"
|
|
9563
|
+
[value]="radioItem?.value"
|
|
9564
|
+
(change)="updateValue($event)">
|
|
9565
|
+
<span [innerHTML]="radioItem?.name"></span>
|
|
9566
|
+
</label>
|
|
9567
|
+
}
|
|
9568
|
+
</div>
|
|
9569
|
+
}
|
|
9570
|
+
|
|
9571
|
+
<!-- 'vertical' = regular radios -->
|
|
9572
|
+
@if (layoutOrientation !== 'horizontal') {
|
|
9573
|
+
<div>
|
|
9574
|
+
@for (radioItem of radiosList; track radioItem) {
|
|
9575
|
+
<div
|
|
9576
|
+
[class]="options?.htmlClass || ''">
|
|
9577
|
+
<label
|
|
9578
|
+
[attr.for]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
9298
9579
|
[class]="(options?.itemLabelHtmlClass || '') +
|
|
9299
9580
|
((controlValue + '' === radioItem?.value + '') ?
|
|
9300
9581
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
9301
9582
|
(' ' + (options?.style?.unselected || '')))">
|
|
9302
|
-
|
|
9303
|
-
|
|
9304
|
-
|
|
9305
|
-
|
|
9306
|
-
|
|
9307
|
-
|
|
9308
|
-
|
|
9309
|
-
|
|
9310
|
-
|
|
9311
|
-
|
|
9312
|
-
|
|
9313
|
-
|
|
9314
|
-
|
|
9315
|
-
|
|
9316
|
-
|
|
9583
|
+
<input type="radio"
|
|
9584
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
9585
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
9586
|
+
[attr.required]="options?.required"
|
|
9587
|
+
[checked]="radioItem?.value === controlValue"
|
|
9588
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
9589
|
+
[disabled]="controlDisabled"
|
|
9590
|
+
[id]="'control' + layoutNode()?._id + '/' + radioItem?.value"
|
|
9591
|
+
[name]="controlName"
|
|
9592
|
+
[value]="radioItem?.value"
|
|
9593
|
+
(change)="updateValue($event)">
|
|
9594
|
+
<span [innerHTML]="radioItem?.name"></span>
|
|
9595
|
+
</label>
|
|
9596
|
+
</div>
|
|
9597
|
+
}
|
|
9598
|
+
</div>
|
|
9599
|
+
}`,
|
|
9317
9600
|
standalone: false
|
|
9318
9601
|
}]
|
|
9319
|
-
}] });
|
|
9602
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
9320
9603
|
|
|
9321
9604
|
class RootComponent {
|
|
9322
9605
|
constructor() {
|
|
9323
9606
|
this.jsf = inject(JsonSchemaFormService);
|
|
9324
9607
|
this.cdr = inject(ChangeDetectorRef);
|
|
9325
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
9326
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
9327
|
-
this.layout = input(undefined, ...(ngDevMode ?
|
|
9328
|
-
this.isOrderable = input(undefined, ...(ngDevMode ?
|
|
9329
|
-
this.isFlexItem = input(false, ...(ngDevMode ?
|
|
9330
|
-
this.memoizationEnabled = input(true, ...(ngDevMode ?
|
|
9608
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
9609
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
9610
|
+
this.layout = input(undefined, { ...(ngDevMode ? { debugName: "layout" } : {}) });
|
|
9611
|
+
this.isOrderable = input(undefined, { ...(ngDevMode ? { debugName: "isOrderable" } : {}) });
|
|
9612
|
+
this.isFlexItem = input(false, { ...(ngDevMode ? { debugName: "isFlexItem" } : {}) });
|
|
9613
|
+
this.memoizationEnabled = input(true, { ...(ngDevMode ? { debugName: "memoizationEnabled" } : {}) });
|
|
9331
9614
|
/**
|
|
9332
9615
|
* Predicate function that disallows '$ref' item sorts
|
|
9333
9616
|
* NB declared as a var instead of a function
|
|
@@ -9429,6 +9712,8 @@ class RootComponent {
|
|
|
9429
9712
|
return this._getSelectFrameworkInputsRaw(layoutItem, i);
|
|
9430
9713
|
}
|
|
9431
9714
|
}
|
|
9715
|
+
//TODO investigate-causing layout issue with layout,for now
|
|
9716
|
+
//removed from template
|
|
9432
9717
|
trackByFn(index, item) {
|
|
9433
9718
|
return item._id ?? index;
|
|
9434
9719
|
}
|
|
@@ -9468,123 +9753,129 @@ class RootComponent {
|
|
|
9468
9753
|
this._getSelectFrameworkInputsMemoized.cache.clear();
|
|
9469
9754
|
this.dataChangesSubs?.unsubscribe();
|
|
9470
9755
|
}
|
|
9471
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9472
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
9473
|
-
<div cdkDropList (cdkDropListDropped)="drop($event)"
|
|
9474
|
-
[class.flex-inherit]="true"
|
|
9475
|
-
[cdkDropListSortPredicate]="sortPredicate"
|
|
9476
|
-
|
|
9477
|
-
<!-- -for now left out
|
|
9478
|
-
cdkDragHandle directive, by itself, does not disable the
|
|
9479
|
-
default drag behavior of its parent cdkDrag element.
|
|
9480
|
-
You must explicitly disable dragging on the main element
|
|
9481
|
-
and re-enable it only when using the handle.
|
|
9482
|
-
-->
|
|
9483
|
-
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
9487
|
-
|
|
9488
|
-
|
|
9489
|
-
|
|
9490
|
-
|
|
9491
|
-
|
|
9492
|
-
|
|
9493
|
-
|
|
9494
|
-
|
|
9495
|
-
|
|
9496
|
-
|
|
9497
|
-
|
|
9498
|
-
|
|
9499
|
-
|
|
9500
|
-
|
|
9501
|
-
otherwise the compiler won't recognize dataIndex and other dependent attributes
|
|
9502
|
-
|
|
9503
|
-
|
|
9504
|
-
|
|
9505
|
-
|
|
9506
|
-
|
|
9507
|
-
|
|
9508
|
-
|
|
9509
|
-
|
|
9510
|
-
|
|
9511
|
-
|
|
9512
|
-
|
|
9513
|
-
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9514
|
-
|
|
9515
|
-
|
|
9516
|
-
|
|
9517
|
-
|
|
9518
|
-
|
|
9519
|
-
|
|
9520
|
-
|
|
9521
|
-
|
|
9522
|
-
|
|
9523
|
-
|
|
9756
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: RootComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9757
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: RootComponent, isStandalone: false, selector: "root-widget", inputs: { dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, isOrderable: { classPropertyName: "isOrderable", publicName: "isOrderable", isSignal: true, isRequired: false, transformFunction: null }, isFlexItem: { classPropertyName: "isFlexItem", publicName: "isFlexItem", isSignal: true, isRequired: false, transformFunction: null }, memoizationEnabled: { classPropertyName: "memoizationEnabled", publicName: "memoizationEnabled", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0, template: `
|
|
9758
|
+
<div cdkDropList (cdkDropListDropped)="drop($event)"
|
|
9759
|
+
[class.flex-inherit]="true"
|
|
9760
|
+
[cdkDropListSortPredicate]="sortPredicate"
|
|
9761
|
+
>
|
|
9762
|
+
<!-- -for now left out
|
|
9763
|
+
cdkDragHandle directive, by itself, does not disable the
|
|
9764
|
+
default drag behavior of its parent cdkDrag element.
|
|
9765
|
+
You must explicitly disable dragging on the main element
|
|
9766
|
+
and re-enable it only when using the handle.
|
|
9767
|
+
-->
|
|
9768
|
+
@for (layoutItem of layout(); track layoutItem; let i = $index) {
|
|
9769
|
+
<div
|
|
9770
|
+
cdkDrag [cdkDragStartDelay]="{touch:1000,mouse:0}"
|
|
9771
|
+
[cdkDragDisabled]="!isDraggable(layoutItem)"
|
|
9772
|
+
[class.form-flex-item]="isFlexItem()"
|
|
9773
|
+
[style.align-self]="(layoutItem.options || {})['align-self']"
|
|
9774
|
+
[style.flex-basis]="getFlexAttribute(layoutItem, 'flex-basis')"
|
|
9775
|
+
[style.flex-grow]="getFlexAttribute(layoutItem, 'flex-grow')"
|
|
9776
|
+
[style.flex-shrink]="getFlexAttribute(layoutItem, 'flex-shrink')"
|
|
9777
|
+
[style.order]="(layoutItem.options || {}).order"
|
|
9778
|
+
>
|
|
9779
|
+
<!-- workaround to disbale dragging of input fields -->
|
|
9780
|
+
<!--
|
|
9781
|
+
<div *ngIf="layoutItem?.dataType !='object'" cdkDragHandle>
|
|
9782
|
+
<p>Drag Handle {{layoutItem?.dataType}}</p>
|
|
9783
|
+
</div>
|
|
9784
|
+
-->
|
|
9785
|
+
<!--NB orderable directive is not used but has been left in for now and set to false
|
|
9786
|
+
otherwise the compiler won't recognize dataIndex and other dependent attributes
|
|
9787
|
+
-->
|
|
9788
|
+
<!--
|
|
9789
|
+
<div
|
|
9790
|
+
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
9791
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
9792
|
+
[layoutNode]="layoutItem"
|
|
9793
|
+
[orderable]="false"
|
|
9794
|
+
>
|
|
9795
|
+
<select-framework-widget *ngIf="showWidget(layoutItem)"
|
|
9796
|
+
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
9797
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
9798
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9799
|
+
</div>
|
|
9800
|
+
-->
|
|
9801
|
+
@if (showWidget(layoutItem)) {
|
|
9802
|
+
<select-framework-widget
|
|
9803
|
+
[dataIndex]="getSelectFrameworkInputs(layoutItem,i).dataIndex"
|
|
9804
|
+
[layoutIndex]="getSelectFrameworkInputs(layoutItem,i).layoutIndex"
|
|
9805
|
+
[layoutNode]="getSelectFrameworkInputs(layoutItem,i).layoutNode">
|
|
9806
|
+
</select-framework-widget>
|
|
9807
|
+
}
|
|
9808
|
+
</div>
|
|
9809
|
+
}
|
|
9810
|
+
</div>
|
|
9811
|
+
`, isInline: true, styles: ["[draggable=true]{transition:all .15s cubic-bezier(.4,0,.2,1)}[draggable=true]:hover{cursor:move;box-shadow:2px 2px 4px #0003;position:relative;z-index:10;margin:-1px 1px 1px -1px}[draggable=true].drag-target-top{box-shadow:0 -2px #000;position:relative;z-index:20}[draggable=true].drag-target-bottom{box-shadow:0 2px #000;position:relative;z-index:20}.flex-inherit{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i1$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9524
9812
|
}
|
|
9525
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9813
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: RootComponent, decorators: [{
|
|
9526
9814
|
type: Component,
|
|
9527
|
-
args: [{ selector: 'root-widget', template: `
|
|
9528
|
-
<div cdkDropList (cdkDropListDropped)="drop($event)"
|
|
9529
|
-
[class.flex-inherit]="true"
|
|
9530
|
-
[cdkDropListSortPredicate]="sortPredicate"
|
|
9531
|
-
|
|
9532
|
-
<!-- -for now left out
|
|
9533
|
-
cdkDragHandle directive, by itself, does not disable the
|
|
9534
|
-
default drag behavior of its parent cdkDrag element.
|
|
9535
|
-
You must explicitly disable dragging on the main element
|
|
9536
|
-
and re-enable it only when using the handle.
|
|
9537
|
-
-->
|
|
9538
|
-
|
|
9539
|
-
|
|
9540
|
-
|
|
9541
|
-
|
|
9542
|
-
|
|
9543
|
-
|
|
9544
|
-
|
|
9545
|
-
|
|
9546
|
-
|
|
9547
|
-
|
|
9548
|
-
|
|
9549
|
-
|
|
9550
|
-
|
|
9551
|
-
|
|
9552
|
-
|
|
9553
|
-
|
|
9554
|
-
|
|
9555
|
-
|
|
9556
|
-
otherwise the compiler won't recognize dataIndex and other dependent attributes
|
|
9557
|
-
|
|
9558
|
-
|
|
9559
|
-
|
|
9560
|
-
|
|
9561
|
-
|
|
9562
|
-
|
|
9563
|
-
|
|
9564
|
-
|
|
9565
|
-
|
|
9566
|
-
|
|
9567
|
-
|
|
9568
|
-
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9569
|
-
|
|
9570
|
-
|
|
9571
|
-
|
|
9572
|
-
|
|
9573
|
-
|
|
9574
|
-
|
|
9575
|
-
|
|
9576
|
-
|
|
9577
|
-
|
|
9815
|
+
args: [{ selector: 'root-widget', template: `
|
|
9816
|
+
<div cdkDropList (cdkDropListDropped)="drop($event)"
|
|
9817
|
+
[class.flex-inherit]="true"
|
|
9818
|
+
[cdkDropListSortPredicate]="sortPredicate"
|
|
9819
|
+
>
|
|
9820
|
+
<!-- -for now left out
|
|
9821
|
+
cdkDragHandle directive, by itself, does not disable the
|
|
9822
|
+
default drag behavior of its parent cdkDrag element.
|
|
9823
|
+
You must explicitly disable dragging on the main element
|
|
9824
|
+
and re-enable it only when using the handle.
|
|
9825
|
+
-->
|
|
9826
|
+
@for (layoutItem of layout(); track layoutItem; let i = $index) {
|
|
9827
|
+
<div
|
|
9828
|
+
cdkDrag [cdkDragStartDelay]="{touch:1000,mouse:0}"
|
|
9829
|
+
[cdkDragDisabled]="!isDraggable(layoutItem)"
|
|
9830
|
+
[class.form-flex-item]="isFlexItem()"
|
|
9831
|
+
[style.align-self]="(layoutItem.options || {})['align-self']"
|
|
9832
|
+
[style.flex-basis]="getFlexAttribute(layoutItem, 'flex-basis')"
|
|
9833
|
+
[style.flex-grow]="getFlexAttribute(layoutItem, 'flex-grow')"
|
|
9834
|
+
[style.flex-shrink]="getFlexAttribute(layoutItem, 'flex-shrink')"
|
|
9835
|
+
[style.order]="(layoutItem.options || {}).order"
|
|
9836
|
+
>
|
|
9837
|
+
<!-- workaround to disbale dragging of input fields -->
|
|
9838
|
+
<!--
|
|
9839
|
+
<div *ngIf="layoutItem?.dataType !='object'" cdkDragHandle>
|
|
9840
|
+
<p>Drag Handle {{layoutItem?.dataType}}</p>
|
|
9841
|
+
</div>
|
|
9842
|
+
-->
|
|
9843
|
+
<!--NB orderable directive is not used but has been left in for now and set to false
|
|
9844
|
+
otherwise the compiler won't recognize dataIndex and other dependent attributes
|
|
9845
|
+
-->
|
|
9846
|
+
<!--
|
|
9847
|
+
<div
|
|
9848
|
+
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
9849
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
9850
|
+
[layoutNode]="layoutItem"
|
|
9851
|
+
[orderable]="false"
|
|
9852
|
+
>
|
|
9853
|
+
<select-framework-widget *ngIf="showWidget(layoutItem)"
|
|
9854
|
+
[dataIndex]="layoutItem?.arrayItem ? (dataIndex() || []).concat(i) : (dataIndex() || [])"
|
|
9855
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
9856
|
+
[layoutNode]="layoutItem"></select-framework-widget>
|
|
9857
|
+
</div>
|
|
9858
|
+
-->
|
|
9859
|
+
@if (showWidget(layoutItem)) {
|
|
9860
|
+
<select-framework-widget
|
|
9861
|
+
[dataIndex]="getSelectFrameworkInputs(layoutItem,i).dataIndex"
|
|
9862
|
+
[layoutIndex]="getSelectFrameworkInputs(layoutItem,i).layoutIndex"
|
|
9863
|
+
[layoutNode]="getSelectFrameworkInputs(layoutItem,i).layoutNode">
|
|
9864
|
+
</select-framework-widget>
|
|
9865
|
+
}
|
|
9866
|
+
</div>
|
|
9867
|
+
}
|
|
9868
|
+
</div>
|
|
9578
9869
|
`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: ["[draggable=true]{transition:all .15s cubic-bezier(.4,0,.2,1)}[draggable=true]:hover{cursor:move;box-shadow:2px 2px 4px #0003;position:relative;z-index:10;margin:-1px 1px 1px -1px}[draggable=true].drag-target-top{box-shadow:0 -2px #000;position:relative;z-index:20}[draggable=true].drag-target-bottom{box-shadow:0 2px #000;position:relative;z-index:20}.flex-inherit{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}\n"] }]
|
|
9579
|
-
}] });
|
|
9870
|
+
}], propDecorators: { dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], isOrderable: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOrderable", required: false }] }], isFlexItem: [{ type: i0.Input, args: [{ isSignal: true, alias: "isFlexItem", required: false }] }], memoizationEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "memoizationEnabled", required: false }] }] } });
|
|
9580
9871
|
|
|
9581
9872
|
class SectionComponent {
|
|
9582
9873
|
constructor() {
|
|
9583
9874
|
this.jsf = inject(JsonSchemaFormService);
|
|
9584
9875
|
this.expanded = true;
|
|
9585
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
9586
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
9587
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
9876
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
9877
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
9878
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
9588
9879
|
}
|
|
9589
9880
|
get sectionTitle() {
|
|
9590
9881
|
return this.options.notitle ? null : this.jsf.setItemTitle(this);
|
|
@@ -9639,135 +9930,167 @@ class SectionComponent {
|
|
|
9639
9930
|
return this.options[attribute];
|
|
9640
9931
|
}
|
|
9641
9932
|
}
|
|
9642
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9643
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
9644
|
-
|
|
9645
|
-
|
|
9646
|
-
|
|
9647
|
-
|
|
9648
|
-
|
|
9649
|
-
|
|
9650
|
-
|
|
9651
|
-
|
|
9652
|
-
|
|
9653
|
-
|
|
9654
|
-
|
|
9655
|
-
|
|
9656
|
-
|
|
9657
|
-
|
|
9658
|
-
|
|
9659
|
-
|
|
9660
|
-
|
|
9661
|
-
|
|
9662
|
-
|
|
9663
|
-
|
|
9664
|
-
|
|
9665
|
-
|
|
9666
|
-
|
|
9667
|
-
|
|
9668
|
-
|
|
9669
|
-
|
|
9670
|
-
|
|
9671
|
-
|
|
9672
|
-
|
|
9673
|
-
<
|
|
9674
|
-
class="
|
|
9675
|
-
[class]="options?.
|
|
9676
|
-
[
|
|
9677
|
-
|
|
9678
|
-
|
|
9679
|
-
|
|
9680
|
-
|
|
9681
|
-
|
|
9682
|
-
|
|
9683
|
-
|
|
9684
|
-
|
|
9685
|
-
|
|
9686
|
-
|
|
9687
|
-
|
|
9688
|
-
|
|
9689
|
-
|
|
9690
|
-
|
|
9691
|
-
|
|
9692
|
-
|
|
9693
|
-
|
|
9694
|
-
|
|
9695
|
-
|
|
9696
|
-
|
|
9697
|
-
|
|
9698
|
-
|
|
9699
|
-
|
|
9700
|
-
|
|
9701
|
-
|
|
9702
|
-
|
|
9703
|
-
|
|
9704
|
-
|
|
9933
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9934
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: SectionComponent, isStandalone: false, selector: "section-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
9935
|
+
@if (containerType === 'div') {
|
|
9936
|
+
<div
|
|
9937
|
+
[class]="options?.htmlClass || ''"
|
|
9938
|
+
[class.expandable]="options?.expandable && !expanded"
|
|
9939
|
+
[class.expanded]="options?.expandable && expanded">
|
|
9940
|
+
@if (sectionTitle) {
|
|
9941
|
+
<label
|
|
9942
|
+
class="legend"
|
|
9943
|
+
[class]="options?.labelHtmlClass || ''"
|
|
9944
|
+
[innerHTML]="sectionTitle"
|
|
9945
|
+
(click)="toggleExpanded()"></label>
|
|
9946
|
+
}
|
|
9947
|
+
<root-widget
|
|
9948
|
+
[dataIndex]="dataIndex()"
|
|
9949
|
+
[layout]="layoutNode().items"
|
|
9950
|
+
[layoutIndex]="layoutIndex()"
|
|
9951
|
+
[isFlexItem]="getFlexAttribute('is-flex')"
|
|
9952
|
+
[isOrderable]="options?.orderable"
|
|
9953
|
+
[class.form-flex-column]="getFlexAttribute('flex-direction') === 'column'"
|
|
9954
|
+
[class.form-flex-row]="getFlexAttribute('flex-direction') === 'row'"
|
|
9955
|
+
[style.align-content]="getFlexAttribute('align-content')"
|
|
9956
|
+
[style.align-items]="getFlexAttribute('align-items')"
|
|
9957
|
+
[style.display]="!expanded?'none':getFlexAttribute('display')"
|
|
9958
|
+
[style.flex-direction]="getFlexAttribute('flex-direction')"
|
|
9959
|
+
[style.flex-wrap]="getFlexAttribute('flex-wrap')"
|
|
9960
|
+
[style.justify-content]="getFlexAttribute('justify-content')"></root-widget>
|
|
9961
|
+
</div>
|
|
9962
|
+
}
|
|
9963
|
+
@if (containerType === 'fieldset') {
|
|
9964
|
+
<fieldset
|
|
9965
|
+
[class]="options?.htmlClass || ''"
|
|
9966
|
+
[class.expandable]="options?.expandable && !expanded"
|
|
9967
|
+
[class.expanded]="options?.expandable && expanded"
|
|
9968
|
+
[disabled]="options?.readonly">
|
|
9969
|
+
@if (sectionTitle) {
|
|
9970
|
+
<legend
|
|
9971
|
+
class="legend"
|
|
9972
|
+
[class]="options?.labelHtmlClass || ''"
|
|
9973
|
+
[innerHTML]="sectionTitle"
|
|
9974
|
+
(click)="toggleExpanded()"></legend>
|
|
9975
|
+
}
|
|
9976
|
+
@if (options?.messageLocation !== 'bottom') {
|
|
9977
|
+
<div>
|
|
9978
|
+
@if (options?.description) {
|
|
9979
|
+
<p
|
|
9980
|
+
class="help-block"
|
|
9981
|
+
[class]="options?.labelHelpBlockClass || ''"
|
|
9982
|
+
[innerHTML]="options?.description"></p>
|
|
9983
|
+
}
|
|
9984
|
+
</div>
|
|
9985
|
+
}
|
|
9986
|
+
<root-widget
|
|
9987
|
+
[dataIndex]="dataIndex()"
|
|
9988
|
+
[layout]="layoutNode().items"
|
|
9989
|
+
[layoutIndex]="layoutIndex()"
|
|
9990
|
+
[isFlexItem]="getFlexAttribute('is-flex')"
|
|
9991
|
+
[isOrderable]="options?.orderable"
|
|
9992
|
+
[class.form-flex-column]="getFlexAttribute('flex-direction') === 'column'"
|
|
9993
|
+
[class.form-flex-row]="getFlexAttribute('flex-direction') === 'row'"
|
|
9994
|
+
[style.align-content]="getFlexAttribute('align-content')"
|
|
9995
|
+
[style.align-items]="getFlexAttribute('align-items')"
|
|
9996
|
+
[style.display]="!expanded?'none':getFlexAttribute('display')"
|
|
9997
|
+
[style.flex-direction]="getFlexAttribute('flex-direction')"
|
|
9998
|
+
[style.flex-wrap]="getFlexAttribute('flex-wrap')"
|
|
9999
|
+
[style.justify-content]="getFlexAttribute('justify-content')"></root-widget>
|
|
10000
|
+
@if (options?.messageLocation === 'bottom') {
|
|
10001
|
+
<div>
|
|
10002
|
+
@if (options?.description) {
|
|
10003
|
+
<p
|
|
10004
|
+
class="help-block"
|
|
10005
|
+
[class]="options?.labelHelpBlockClass || ''"
|
|
10006
|
+
[innerHTML]="options?.description"></p>
|
|
10007
|
+
}
|
|
10008
|
+
</div>
|
|
10009
|
+
}
|
|
10010
|
+
</fieldset>
|
|
10011
|
+
}`, isInline: true, styles: [".legend{font-weight:700}.expandable>legend:before,.expandable>label:before{content:\"\\25b6\";padding-right:.3em;font-family:auto}.expanded>legend:before,.expanded>label:before{content:\"\\25bc\";padding-right:.2em}\n"], dependencies: [{ kind: "component", type: RootComponent, selector: "root-widget", inputs: ["dataIndex", "layoutIndex", "layout", "isOrderable", "isFlexItem", "memoizationEnabled"] }] }); }
|
|
9705
10012
|
}
|
|
9706
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10013
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SectionComponent, decorators: [{
|
|
9707
10014
|
type: Component,
|
|
9708
|
-
args: [{ selector: 'section-widget', template: `
|
|
9709
|
-
|
|
9710
|
-
|
|
9711
|
-
|
|
9712
|
-
|
|
9713
|
-
|
|
9714
|
-
|
|
9715
|
-
|
|
9716
|
-
|
|
9717
|
-
|
|
9718
|
-
|
|
9719
|
-
|
|
9720
|
-
|
|
9721
|
-
|
|
9722
|
-
|
|
9723
|
-
|
|
9724
|
-
|
|
9725
|
-
|
|
9726
|
-
|
|
9727
|
-
|
|
9728
|
-
|
|
9729
|
-
|
|
9730
|
-
|
|
9731
|
-
|
|
9732
|
-
|
|
9733
|
-
|
|
9734
|
-
|
|
9735
|
-
|
|
9736
|
-
|
|
9737
|
-
|
|
9738
|
-
<
|
|
9739
|
-
class="
|
|
9740
|
-
[class]="options?.
|
|
9741
|
-
[
|
|
9742
|
-
|
|
9743
|
-
|
|
9744
|
-
|
|
9745
|
-
|
|
9746
|
-
|
|
9747
|
-
|
|
9748
|
-
|
|
9749
|
-
|
|
9750
|
-
|
|
9751
|
-
|
|
9752
|
-
|
|
9753
|
-
|
|
9754
|
-
|
|
9755
|
-
|
|
9756
|
-
|
|
9757
|
-
|
|
9758
|
-
|
|
9759
|
-
|
|
9760
|
-
|
|
9761
|
-
|
|
9762
|
-
|
|
9763
|
-
|
|
9764
|
-
|
|
9765
|
-
|
|
9766
|
-
|
|
9767
|
-
|
|
9768
|
-
|
|
9769
|
-
|
|
9770
|
-
|
|
10015
|
+
args: [{ selector: 'section-widget', template: `
|
|
10016
|
+
@if (containerType === 'div') {
|
|
10017
|
+
<div
|
|
10018
|
+
[class]="options?.htmlClass || ''"
|
|
10019
|
+
[class.expandable]="options?.expandable && !expanded"
|
|
10020
|
+
[class.expanded]="options?.expandable && expanded">
|
|
10021
|
+
@if (sectionTitle) {
|
|
10022
|
+
<label
|
|
10023
|
+
class="legend"
|
|
10024
|
+
[class]="options?.labelHtmlClass || ''"
|
|
10025
|
+
[innerHTML]="sectionTitle"
|
|
10026
|
+
(click)="toggleExpanded()"></label>
|
|
10027
|
+
}
|
|
10028
|
+
<root-widget
|
|
10029
|
+
[dataIndex]="dataIndex()"
|
|
10030
|
+
[layout]="layoutNode().items"
|
|
10031
|
+
[layoutIndex]="layoutIndex()"
|
|
10032
|
+
[isFlexItem]="getFlexAttribute('is-flex')"
|
|
10033
|
+
[isOrderable]="options?.orderable"
|
|
10034
|
+
[class.form-flex-column]="getFlexAttribute('flex-direction') === 'column'"
|
|
10035
|
+
[class.form-flex-row]="getFlexAttribute('flex-direction') === 'row'"
|
|
10036
|
+
[style.align-content]="getFlexAttribute('align-content')"
|
|
10037
|
+
[style.align-items]="getFlexAttribute('align-items')"
|
|
10038
|
+
[style.display]="!expanded?'none':getFlexAttribute('display')"
|
|
10039
|
+
[style.flex-direction]="getFlexAttribute('flex-direction')"
|
|
10040
|
+
[style.flex-wrap]="getFlexAttribute('flex-wrap')"
|
|
10041
|
+
[style.justify-content]="getFlexAttribute('justify-content')"></root-widget>
|
|
10042
|
+
</div>
|
|
10043
|
+
}
|
|
10044
|
+
@if (containerType === 'fieldset') {
|
|
10045
|
+
<fieldset
|
|
10046
|
+
[class]="options?.htmlClass || ''"
|
|
10047
|
+
[class.expandable]="options?.expandable && !expanded"
|
|
10048
|
+
[class.expanded]="options?.expandable && expanded"
|
|
10049
|
+
[disabled]="options?.readonly">
|
|
10050
|
+
@if (sectionTitle) {
|
|
10051
|
+
<legend
|
|
10052
|
+
class="legend"
|
|
10053
|
+
[class]="options?.labelHtmlClass || ''"
|
|
10054
|
+
[innerHTML]="sectionTitle"
|
|
10055
|
+
(click)="toggleExpanded()"></legend>
|
|
10056
|
+
}
|
|
10057
|
+
@if (options?.messageLocation !== 'bottom') {
|
|
10058
|
+
<div>
|
|
10059
|
+
@if (options?.description) {
|
|
10060
|
+
<p
|
|
10061
|
+
class="help-block"
|
|
10062
|
+
[class]="options?.labelHelpBlockClass || ''"
|
|
10063
|
+
[innerHTML]="options?.description"></p>
|
|
10064
|
+
}
|
|
10065
|
+
</div>
|
|
10066
|
+
}
|
|
10067
|
+
<root-widget
|
|
10068
|
+
[dataIndex]="dataIndex()"
|
|
10069
|
+
[layout]="layoutNode().items"
|
|
10070
|
+
[layoutIndex]="layoutIndex()"
|
|
10071
|
+
[isFlexItem]="getFlexAttribute('is-flex')"
|
|
10072
|
+
[isOrderable]="options?.orderable"
|
|
10073
|
+
[class.form-flex-column]="getFlexAttribute('flex-direction') === 'column'"
|
|
10074
|
+
[class.form-flex-row]="getFlexAttribute('flex-direction') === 'row'"
|
|
10075
|
+
[style.align-content]="getFlexAttribute('align-content')"
|
|
10076
|
+
[style.align-items]="getFlexAttribute('align-items')"
|
|
10077
|
+
[style.display]="!expanded?'none':getFlexAttribute('display')"
|
|
10078
|
+
[style.flex-direction]="getFlexAttribute('flex-direction')"
|
|
10079
|
+
[style.flex-wrap]="getFlexAttribute('flex-wrap')"
|
|
10080
|
+
[style.justify-content]="getFlexAttribute('justify-content')"></root-widget>
|
|
10081
|
+
@if (options?.messageLocation === 'bottom') {
|
|
10082
|
+
<div>
|
|
10083
|
+
@if (options?.description) {
|
|
10084
|
+
<p
|
|
10085
|
+
class="help-block"
|
|
10086
|
+
[class]="options?.labelHelpBlockClass || ''"
|
|
10087
|
+
[innerHTML]="options?.description"></p>
|
|
10088
|
+
}
|
|
10089
|
+
</div>
|
|
10090
|
+
}
|
|
10091
|
+
</fieldset>
|
|
10092
|
+
}`, standalone: false, styles: [".legend{font-weight:700}.expandable>legend:before,.expandable>label:before{content:\"\\25b6\";padding-right:.3em;font-family:auto}.expanded>legend:before,.expanded>label:before{content:\"\\25bc\";padding-right:.2em}\n"] }]
|
|
10093
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
9771
10094
|
|
|
9772
10095
|
class SelectComponent {
|
|
9773
10096
|
constructor() {
|
|
@@ -9777,9 +10100,9 @@ class SelectComponent {
|
|
|
9777
10100
|
this.selectList = [];
|
|
9778
10101
|
this.selectListFlatGroup = [];
|
|
9779
10102
|
this.isArray = isArray;
|
|
9780
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
9781
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
9782
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
10103
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
10104
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
10105
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
9783
10106
|
}
|
|
9784
10107
|
ngOnInit() {
|
|
9785
10108
|
this.options = this.layoutNode().options || {};
|
|
@@ -9819,191 +10142,243 @@ class SelectComponent {
|
|
|
9819
10142
|
this.formControl.reset(nullVal);
|
|
9820
10143
|
this.controlValue = null;
|
|
9821
10144
|
}
|
|
9822
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9823
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
9824
|
-
<div
|
|
9825
|
-
[class]="options?.htmlClass || ''">
|
|
9826
|
-
|
|
9827
|
-
|
|
9828
|
-
|
|
9829
|
-
|
|
9830
|
-
|
|
9831
|
-
|
|
9832
|
-
|
|
9833
|
-
|
|
9834
|
-
|
|
9835
|
-
|
|
9836
|
-
|
|
9837
|
-
|
|
9838
|
-
|
|
9839
|
-
|
|
9840
|
-
|
|
9841
|
-
|
|
9842
|
-
|
|
9843
|
-
|
|
9844
|
-
|
|
9845
|
-
|
|
9846
|
-
|
|
9847
|
-
|
|
9848
|
-
|
|
9849
|
-
|
|
9850
|
-
|
|
9851
|
-
|
|
9852
|
-
|
|
9853
|
-
|
|
9854
|
-
|
|
9855
|
-
|
|
9856
|
-
|
|
9857
|
-
|
|
9858
|
-
|
|
9859
|
-
|
|
9860
|
-
|
|
9861
|
-
|
|
9862
|
-
|
|
9863
|
-
|
|
9864
|
-
|
|
9865
|
-
|
|
9866
|
-
|
|
9867
|
-
|
|
9868
|
-
|
|
9869
|
-
|
|
9870
|
-
|
|
9871
|
-
|
|
9872
|
-
|
|
9873
|
-
|
|
9874
|
-
|
|
9875
|
-
|
|
9876
|
-
|
|
9877
|
-
|
|
9878
|
-
|
|
9879
|
-
|
|
9880
|
-
|
|
9881
|
-
|
|
9882
|
-
|
|
9883
|
-
|
|
9884
|
-
|
|
9885
|
-
|
|
9886
|
-
|
|
9887
|
-
|
|
9888
|
-
|
|
9889
|
-
|
|
9890
|
-
|
|
9891
|
-
|
|
9892
|
-
|
|
9893
|
-
|
|
9894
|
-
|
|
9895
|
-
|
|
9896
|
-
|
|
9897
|
-
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
9901
|
-
|
|
9902
|
-
|
|
9903
|
-
|
|
9904
|
-
|
|
9905
|
-
|
|
10145
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10146
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: SelectComponent, isStandalone: false, selector: "select-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
10147
|
+
<div
|
|
10148
|
+
[class]="options?.htmlClass || ''">
|
|
10149
|
+
@if (options?.title) {
|
|
10150
|
+
<label
|
|
10151
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
10152
|
+
[class]="options?.labelHtmlClass || ''"
|
|
10153
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
10154
|
+
[innerHTML]="options?.title"></label>
|
|
10155
|
+
}
|
|
10156
|
+
@if (boundControl && !options?.multiple) {
|
|
10157
|
+
<select
|
|
10158
|
+
[formControl]="formControl"
|
|
10159
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10160
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10161
|
+
[attr.required]="options?.required"
|
|
10162
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10163
|
+
[id]="'control' + layoutNode()?._id"
|
|
10164
|
+
[name]="controlName">
|
|
10165
|
+
@for (selectItem of selectList; track selectItem) {
|
|
10166
|
+
@if (!isArray(selectItem?.items)) {
|
|
10167
|
+
<option
|
|
10168
|
+
[ngValue]="selectItem?.value">
|
|
10169
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
10170
|
+
</option>
|
|
10171
|
+
}
|
|
10172
|
+
@if (isArray(selectItem?.items)) {
|
|
10173
|
+
<optgroup
|
|
10174
|
+
[label]="selectItem?.group">
|
|
10175
|
+
@for (subItem of selectItem.items; track subItem) {
|
|
10176
|
+
<option
|
|
10177
|
+
[ngValue]="subItem?.value">
|
|
10178
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
10179
|
+
</option>
|
|
10180
|
+
}
|
|
10181
|
+
</optgroup>
|
|
10182
|
+
}
|
|
10183
|
+
}
|
|
10184
|
+
</select>
|
|
10185
|
+
}
|
|
10186
|
+
@if (!boundControl) {
|
|
10187
|
+
<select
|
|
10188
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10189
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10190
|
+
[attr.required]="options?.required"
|
|
10191
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10192
|
+
[disabled]="controlDisabled"
|
|
10193
|
+
[id]="'control' + layoutNode()?._id"
|
|
10194
|
+
[name]="controlName"
|
|
10195
|
+
(change)="updateValue($event)">
|
|
10196
|
+
@for (selectItem of selectList; track selectItem) {
|
|
10197
|
+
@if (!isArray(selectItem?.items)) {
|
|
10198
|
+
<option
|
|
10199
|
+
[selected]="selectItem?.value === controlValue"
|
|
10200
|
+
[ngValue]="selectItem?.value">
|
|
10201
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
10202
|
+
</option>
|
|
10203
|
+
}
|
|
10204
|
+
@if (isArray(selectItem?.items)) {
|
|
10205
|
+
<optgroup
|
|
10206
|
+
[label]="selectItem?.group">
|
|
10207
|
+
@for (subItem of selectItem.items; track subItem) {
|
|
10208
|
+
<option
|
|
10209
|
+
[attr.selected]="subItem?.value === controlValue"
|
|
10210
|
+
[ngValue]="subItem?.value">
|
|
10211
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
10212
|
+
</option>
|
|
10213
|
+
}
|
|
10214
|
+
</optgroup>
|
|
10215
|
+
}
|
|
10216
|
+
}
|
|
10217
|
+
</select>
|
|
10218
|
+
}
|
|
10219
|
+
@if (boundControl && options?.multiple) {
|
|
10220
|
+
<select
|
|
10221
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10222
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10223
|
+
[attr.required]="options?.required"
|
|
10224
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10225
|
+
[disabled]="controlDisabled"
|
|
10226
|
+
[id]="'control' + layoutNode()?._id"
|
|
10227
|
+
[multiple]="options?.multiple"
|
|
10228
|
+
[name]="controlName"
|
|
10229
|
+
[(ngModel)]="controlValue"
|
|
10230
|
+
(change)="updateValue($event)">
|
|
10231
|
+
@for (selectItem of selectList; track selectItem) {
|
|
10232
|
+
@if (!isArray(selectItem?.items)) {
|
|
10233
|
+
<option
|
|
10234
|
+
[selected]="selectItem?.value === controlValue"
|
|
10235
|
+
[ngValue]="selectItem?.value">
|
|
10236
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
10237
|
+
</option>
|
|
10238
|
+
}
|
|
10239
|
+
@if (isArray(selectItem?.items)) {
|
|
10240
|
+
<optgroup
|
|
10241
|
+
[label]="selectItem?.group">
|
|
10242
|
+
@for (subItem of selectItem.items; track subItem) {
|
|
10243
|
+
<option
|
|
10244
|
+
[attr.selected]="subItem?.value === controlValue"
|
|
10245
|
+
[ngValue]="subItem?.value">
|
|
10246
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
10247
|
+
</option>
|
|
10248
|
+
}
|
|
10249
|
+
</optgroup>
|
|
10250
|
+
}
|
|
10251
|
+
}
|
|
10252
|
+
</select>
|
|
10253
|
+
}
|
|
10254
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
9906
10255
|
}
|
|
9907
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SelectComponent, decorators: [{
|
|
9908
10257
|
type: Component,
|
|
9909
10258
|
args: [{
|
|
9910
10259
|
// tslint:disable-next-line:component-selector
|
|
9911
10260
|
selector: 'select-widget',
|
|
9912
|
-
template: `
|
|
9913
|
-
<div
|
|
9914
|
-
[class]="options?.htmlClass || ''">
|
|
9915
|
-
|
|
9916
|
-
|
|
9917
|
-
|
|
9918
|
-
|
|
9919
|
-
|
|
9920
|
-
|
|
9921
|
-
|
|
9922
|
-
|
|
9923
|
-
|
|
9924
|
-
|
|
9925
|
-
|
|
9926
|
-
|
|
9927
|
-
|
|
9928
|
-
|
|
9929
|
-
|
|
9930
|
-
|
|
9931
|
-
|
|
9932
|
-
|
|
9933
|
-
|
|
9934
|
-
|
|
9935
|
-
|
|
9936
|
-
|
|
9937
|
-
|
|
9938
|
-
|
|
9939
|
-
|
|
9940
|
-
|
|
9941
|
-
|
|
9942
|
-
|
|
9943
|
-
|
|
9944
|
-
|
|
9945
|
-
|
|
9946
|
-
|
|
9947
|
-
|
|
9948
|
-
|
|
9949
|
-
|
|
9950
|
-
|
|
9951
|
-
|
|
9952
|
-
|
|
9953
|
-
|
|
9954
|
-
|
|
9955
|
-
|
|
9956
|
-
|
|
9957
|
-
|
|
9958
|
-
|
|
9959
|
-
|
|
9960
|
-
|
|
9961
|
-
|
|
9962
|
-
|
|
9963
|
-
|
|
9964
|
-
|
|
9965
|
-
|
|
9966
|
-
|
|
9967
|
-
|
|
9968
|
-
|
|
9969
|
-
|
|
9970
|
-
|
|
9971
|
-
|
|
9972
|
-
|
|
9973
|
-
|
|
9974
|
-
|
|
9975
|
-
|
|
9976
|
-
|
|
9977
|
-
|
|
9978
|
-
|
|
9979
|
-
|
|
9980
|
-
|
|
9981
|
-
|
|
9982
|
-
|
|
9983
|
-
|
|
9984
|
-
|
|
9985
|
-
|
|
9986
|
-
|
|
9987
|
-
|
|
9988
|
-
|
|
9989
|
-
|
|
9990
|
-
|
|
9991
|
-
|
|
9992
|
-
|
|
9993
|
-
|
|
10261
|
+
template: `
|
|
10262
|
+
<div
|
|
10263
|
+
[class]="options?.htmlClass || ''">
|
|
10264
|
+
@if (options?.title) {
|
|
10265
|
+
<label
|
|
10266
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
10267
|
+
[class]="options?.labelHtmlClass || ''"
|
|
10268
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
10269
|
+
[innerHTML]="options?.title"></label>
|
|
10270
|
+
}
|
|
10271
|
+
@if (boundControl && !options?.multiple) {
|
|
10272
|
+
<select
|
|
10273
|
+
[formControl]="formControl"
|
|
10274
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10275
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10276
|
+
[attr.required]="options?.required"
|
|
10277
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10278
|
+
[id]="'control' + layoutNode()?._id"
|
|
10279
|
+
[name]="controlName">
|
|
10280
|
+
@for (selectItem of selectList; track selectItem) {
|
|
10281
|
+
@if (!isArray(selectItem?.items)) {
|
|
10282
|
+
<option
|
|
10283
|
+
[ngValue]="selectItem?.value">
|
|
10284
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
10285
|
+
</option>
|
|
10286
|
+
}
|
|
10287
|
+
@if (isArray(selectItem?.items)) {
|
|
10288
|
+
<optgroup
|
|
10289
|
+
[label]="selectItem?.group">
|
|
10290
|
+
@for (subItem of selectItem.items; track subItem) {
|
|
10291
|
+
<option
|
|
10292
|
+
[ngValue]="subItem?.value">
|
|
10293
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
10294
|
+
</option>
|
|
10295
|
+
}
|
|
10296
|
+
</optgroup>
|
|
10297
|
+
}
|
|
10298
|
+
}
|
|
10299
|
+
</select>
|
|
10300
|
+
}
|
|
10301
|
+
@if (!boundControl) {
|
|
10302
|
+
<select
|
|
10303
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10304
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10305
|
+
[attr.required]="options?.required"
|
|
10306
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10307
|
+
[disabled]="controlDisabled"
|
|
10308
|
+
[id]="'control' + layoutNode()?._id"
|
|
10309
|
+
[name]="controlName"
|
|
10310
|
+
(change)="updateValue($event)">
|
|
10311
|
+
@for (selectItem of selectList; track selectItem) {
|
|
10312
|
+
@if (!isArray(selectItem?.items)) {
|
|
10313
|
+
<option
|
|
10314
|
+
[selected]="selectItem?.value === controlValue"
|
|
10315
|
+
[ngValue]="selectItem?.value">
|
|
10316
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
10317
|
+
</option>
|
|
10318
|
+
}
|
|
10319
|
+
@if (isArray(selectItem?.items)) {
|
|
10320
|
+
<optgroup
|
|
10321
|
+
[label]="selectItem?.group">
|
|
10322
|
+
@for (subItem of selectItem.items; track subItem) {
|
|
10323
|
+
<option
|
|
10324
|
+
[attr.selected]="subItem?.value === controlValue"
|
|
10325
|
+
[ngValue]="subItem?.value">
|
|
10326
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
10327
|
+
</option>
|
|
10328
|
+
}
|
|
10329
|
+
</optgroup>
|
|
10330
|
+
}
|
|
10331
|
+
}
|
|
10332
|
+
</select>
|
|
10333
|
+
}
|
|
10334
|
+
@if (boundControl && options?.multiple) {
|
|
10335
|
+
<select
|
|
10336
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10337
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10338
|
+
[attr.required]="options?.required"
|
|
10339
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10340
|
+
[disabled]="controlDisabled"
|
|
10341
|
+
[id]="'control' + layoutNode()?._id"
|
|
10342
|
+
[multiple]="options?.multiple"
|
|
10343
|
+
[name]="controlName"
|
|
10344
|
+
[(ngModel)]="controlValue"
|
|
10345
|
+
(change)="updateValue($event)">
|
|
10346
|
+
@for (selectItem of selectList; track selectItem) {
|
|
10347
|
+
@if (!isArray(selectItem?.items)) {
|
|
10348
|
+
<option
|
|
10349
|
+
[selected]="selectItem?.value === controlValue"
|
|
10350
|
+
[ngValue]="selectItem?.value">
|
|
10351
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
10352
|
+
</option>
|
|
10353
|
+
}
|
|
10354
|
+
@if (isArray(selectItem?.items)) {
|
|
10355
|
+
<optgroup
|
|
10356
|
+
[label]="selectItem?.group">
|
|
10357
|
+
@for (subItem of selectItem.items; track subItem) {
|
|
10358
|
+
<option
|
|
10359
|
+
[attr.selected]="subItem?.value === controlValue"
|
|
10360
|
+
[ngValue]="subItem?.value">
|
|
10361
|
+
<span [innerHTML]="subItem?.name"></span>
|
|
10362
|
+
</option>
|
|
10363
|
+
}
|
|
10364
|
+
</optgroup>
|
|
10365
|
+
}
|
|
10366
|
+
}
|
|
10367
|
+
</select>
|
|
10368
|
+
}
|
|
9994
10369
|
</div>`,
|
|
9995
10370
|
standalone: false
|
|
9996
10371
|
}]
|
|
9997
|
-
}] });
|
|
10372
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
9998
10373
|
|
|
9999
10374
|
class SubmitComponent {
|
|
10000
10375
|
constructor() {
|
|
10001
10376
|
this.jsf = inject(JsonSchemaFormService);
|
|
10002
10377
|
this.controlDisabled = false;
|
|
10003
10378
|
this.boundControl = false;
|
|
10004
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
10005
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
10006
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
10379
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
10380
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
10381
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
10007
10382
|
}
|
|
10008
10383
|
ngOnDestroy() {
|
|
10009
10384
|
this.isValidChangesSubs?.unsubscribe();
|
|
@@ -10032,8 +10407,8 @@ class SubmitComponent {
|
|
|
10032
10407
|
this.jsf.updateValue(this, event.target.value);
|
|
10033
10408
|
}
|
|
10034
10409
|
}
|
|
10035
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10036
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
10410
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SubmitComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10411
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.2", type: SubmitComponent, isStandalone: false, selector: "submit-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
10037
10412
|
<div
|
|
10038
10413
|
[class]="options?.htmlClass || ''">
|
|
10039
10414
|
<input
|
|
@@ -10051,7 +10426,7 @@ class SubmitComponent {
|
|
|
10051
10426
|
>
|
|
10052
10427
|
</div>`, isInline: true, dependencies: [{ kind: "directive", type: StopPropagationDirective, selector: "[appStopPropagation]", inputs: ["appStopPropagation"] }] }); }
|
|
10053
10428
|
}
|
|
10054
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10429
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SubmitComponent, decorators: [{
|
|
10055
10430
|
type: Component,
|
|
10056
10431
|
args: [{
|
|
10057
10432
|
// tslint:disable-next-line:component-selector
|
|
@@ -10075,16 +10450,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
10075
10450
|
</div>`,
|
|
10076
10451
|
standalone: false
|
|
10077
10452
|
}]
|
|
10078
|
-
}] });
|
|
10453
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
10079
10454
|
|
|
10080
10455
|
class TemplateComponent {
|
|
10081
10456
|
constructor() {
|
|
10082
10457
|
this.jsf = inject(JsonSchemaFormService);
|
|
10083
10458
|
this.newComponent = null;
|
|
10084
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
10085
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
10086
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
10087
|
-
this.widgetContainer = viewChild('widgetContainer', ...(ngDevMode ?
|
|
10459
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
10460
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
10461
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
10462
|
+
this.widgetContainer = viewChild('widgetContainer', { ...(ngDevMode ? { debugName: "widgetContainer" } : {}), read: ViewContainerRef });
|
|
10088
10463
|
}
|
|
10089
10464
|
ngOnInit() {
|
|
10090
10465
|
this.updateComponent();
|
|
@@ -10104,10 +10479,10 @@ class TemplateComponent {
|
|
|
10104
10479
|
}
|
|
10105
10480
|
}
|
|
10106
10481
|
}
|
|
10107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
10482
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: TemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10483
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.2", type: TemplateComponent, isStandalone: false, selector: "template-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "widgetContainer", first: true, predicate: ["widgetContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `<div #widgetContainer></div>`, isInline: true }); }
|
|
10109
10484
|
}
|
|
10110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10485
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: TemplateComponent, decorators: [{
|
|
10111
10486
|
type: Component,
|
|
10112
10487
|
args: [{
|
|
10113
10488
|
// tslint:disable-next-line:component-selector
|
|
@@ -10115,16 +10490,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
10115
10490
|
template: `<div #widgetContainer></div>`,
|
|
10116
10491
|
standalone: false
|
|
10117
10492
|
}]
|
|
10118
|
-
}] });
|
|
10493
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }], widgetContainer: [{ type: i0.ViewChild, args: ['widgetContainer', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
|
|
10119
10494
|
|
|
10120
10495
|
class TextareaComponent {
|
|
10121
10496
|
constructor() {
|
|
10122
10497
|
this.jsf = inject(JsonSchemaFormService);
|
|
10123
10498
|
this.controlDisabled = false;
|
|
10124
10499
|
this.boundControl = false;
|
|
10125
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
10126
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
10127
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
10500
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
10501
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
10502
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
10128
10503
|
}
|
|
10129
10504
|
ngOnInit() {
|
|
10130
10505
|
this.options = this.layoutNode().options || {};
|
|
@@ -10134,88 +10509,103 @@ class TextareaComponent {
|
|
|
10134
10509
|
this.jsf.updateValue(this, event.target.value);
|
|
10135
10510
|
}
|
|
10136
10511
|
ngOnDestroy() {
|
|
10137
|
-
|
|
10512
|
+
//see cpmments in input component
|
|
10513
|
+
setTimeout(() => {
|
|
10514
|
+
this.jsf.updateValue(this, null);
|
|
10515
|
+
});
|
|
10138
10516
|
}
|
|
10139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
10141
|
-
<div
|
|
10142
|
-
[class]="options?.htmlClass || ''">
|
|
10143
|
-
|
|
10144
|
-
|
|
10145
|
-
|
|
10146
|
-
|
|
10147
|
-
|
|
10148
|
-
|
|
10149
|
-
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
|
|
10154
|
-
|
|
10155
|
-
|
|
10156
|
-
|
|
10157
|
-
|
|
10158
|
-
|
|
10159
|
-
|
|
10160
|
-
|
|
10161
|
-
|
|
10162
|
-
[
|
|
10163
|
-
|
|
10164
|
-
|
|
10165
|
-
|
|
10166
|
-
|
|
10167
|
-
|
|
10168
|
-
|
|
10169
|
-
|
|
10170
|
-
|
|
10171
|
-
|
|
10172
|
-
|
|
10173
|
-
|
|
10174
|
-
|
|
10517
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10518
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: TextareaComponent, isStandalone: false, selector: "textarea-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
10519
|
+
<div
|
|
10520
|
+
[class]="options?.htmlClass || ''">
|
|
10521
|
+
@if (options?.title) {
|
|
10522
|
+
<label
|
|
10523
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
10524
|
+
[class]="options?.labelHtmlClass || ''"
|
|
10525
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
10526
|
+
[innerHTML]="options?.title"></label>
|
|
10527
|
+
}
|
|
10528
|
+
@if (boundControl) {
|
|
10529
|
+
<textarea
|
|
10530
|
+
[formControl]="formControl"
|
|
10531
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10532
|
+
[attr.maxlength]="options?.maxLength"
|
|
10533
|
+
[attr.minlength]="options?.minLength"
|
|
10534
|
+
[attr.pattern]="options?.pattern"
|
|
10535
|
+
[attr.placeholder]="options?.placeholder"
|
|
10536
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10537
|
+
[attr.required]="options?.required"
|
|
10538
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10539
|
+
[id]="'control' + layoutNode()?._id"
|
|
10540
|
+
[name]="controlName"></textarea>
|
|
10541
|
+
}
|
|
10542
|
+
@if (!boundControl) {
|
|
10543
|
+
<textarea
|
|
10544
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10545
|
+
[attr.maxlength]="options?.maxLength"
|
|
10546
|
+
[attr.minlength]="options?.minLength"
|
|
10547
|
+
[attr.pattern]="options?.pattern"
|
|
10548
|
+
[attr.placeholder]="options?.placeholder"
|
|
10549
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10550
|
+
[attr.required]="options?.required"
|
|
10551
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10552
|
+
[disabled]="controlDisabled"
|
|
10553
|
+
[id]="'control' + layoutNode()?._id"
|
|
10554
|
+
[name]="controlName"
|
|
10555
|
+
[value]="controlValue"
|
|
10556
|
+
(input)="updateValue($event)">{{controlValue}}</textarea>
|
|
10557
|
+
}
|
|
10558
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
10175
10559
|
}
|
|
10176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10560
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: TextareaComponent, decorators: [{
|
|
10177
10561
|
type: Component,
|
|
10178
10562
|
args: [{
|
|
10179
10563
|
// tslint:disable-next-line:component-selector
|
|
10180
10564
|
selector: 'textarea-widget',
|
|
10181
|
-
template: `
|
|
10182
|
-
<div
|
|
10183
|
-
[class]="options?.htmlClass || ''">
|
|
10184
|
-
|
|
10185
|
-
|
|
10186
|
-
|
|
10187
|
-
|
|
10188
|
-
|
|
10189
|
-
|
|
10190
|
-
|
|
10191
|
-
|
|
10192
|
-
|
|
10193
|
-
|
|
10194
|
-
|
|
10195
|
-
|
|
10196
|
-
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10201
|
-
|
|
10202
|
-
|
|
10203
|
-
[
|
|
10204
|
-
|
|
10205
|
-
|
|
10206
|
-
|
|
10207
|
-
|
|
10208
|
-
|
|
10209
|
-
|
|
10210
|
-
|
|
10211
|
-
|
|
10212
|
-
|
|
10213
|
-
|
|
10214
|
-
|
|
10565
|
+
template: `
|
|
10566
|
+
<div
|
|
10567
|
+
[class]="options?.htmlClass || ''">
|
|
10568
|
+
@if (options?.title) {
|
|
10569
|
+
<label
|
|
10570
|
+
[attr.for]="'control' + layoutNode()?._id"
|
|
10571
|
+
[class]="options?.labelHtmlClass || ''"
|
|
10572
|
+
[style.display]="options?.notitle ? 'none' : ''"
|
|
10573
|
+
[innerHTML]="options?.title"></label>
|
|
10574
|
+
}
|
|
10575
|
+
@if (boundControl) {
|
|
10576
|
+
<textarea
|
|
10577
|
+
[formControl]="formControl"
|
|
10578
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10579
|
+
[attr.maxlength]="options?.maxLength"
|
|
10580
|
+
[attr.minlength]="options?.minLength"
|
|
10581
|
+
[attr.pattern]="options?.pattern"
|
|
10582
|
+
[attr.placeholder]="options?.placeholder"
|
|
10583
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10584
|
+
[attr.required]="options?.required"
|
|
10585
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10586
|
+
[id]="'control' + layoutNode()?._id"
|
|
10587
|
+
[name]="controlName"></textarea>
|
|
10588
|
+
}
|
|
10589
|
+
@if (!boundControl) {
|
|
10590
|
+
<textarea
|
|
10591
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
10592
|
+
[attr.maxlength]="options?.maxLength"
|
|
10593
|
+
[attr.minlength]="options?.minLength"
|
|
10594
|
+
[attr.pattern]="options?.pattern"
|
|
10595
|
+
[attr.placeholder]="options?.placeholder"
|
|
10596
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
10597
|
+
[attr.required]="options?.required"
|
|
10598
|
+
[class]="options?.fieldHtmlClass || ''"
|
|
10599
|
+
[disabled]="controlDisabled"
|
|
10600
|
+
[id]="'control' + layoutNode()?._id"
|
|
10601
|
+
[name]="controlName"
|
|
10602
|
+
[value]="controlValue"
|
|
10603
|
+
(input)="updateValue($event)">{{controlValue}}</textarea>
|
|
10604
|
+
}
|
|
10215
10605
|
</div>`,
|
|
10216
10606
|
standalone: false
|
|
10217
10607
|
}]
|
|
10218
|
-
}] });
|
|
10608
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
10219
10609
|
|
|
10220
10610
|
class WidgetLibraryService {
|
|
10221
10611
|
constructor() {
|
|
@@ -10414,10 +10804,10 @@ class WidgetLibraryService {
|
|
|
10414
10804
|
activeWidgets: this.activeWidgets,
|
|
10415
10805
|
};
|
|
10416
10806
|
}
|
|
10417
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10418
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
10807
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: WidgetLibraryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10808
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: WidgetLibraryService, providedIn: 'root' }); }
|
|
10419
10809
|
}
|
|
10420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10810
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: WidgetLibraryService, decorators: [{
|
|
10421
10811
|
type: Injectable,
|
|
10422
10812
|
args: [{
|
|
10423
10813
|
providedIn: 'root',
|
|
@@ -10576,10 +10966,10 @@ class FrameworkLibraryService {
|
|
|
10576
10966
|
return actFramework.unregisterTheme(name);
|
|
10577
10967
|
}
|
|
10578
10968
|
}
|
|
10579
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10580
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
10969
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: FrameworkLibraryService, deps: [{ token: Framework }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10970
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: FrameworkLibraryService, providedIn: 'root' }); }
|
|
10581
10971
|
}
|
|
10582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10972
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: FrameworkLibraryService, decorators: [{
|
|
10583
10973
|
type: Injectable,
|
|
10584
10974
|
args: [{
|
|
10585
10975
|
providedIn: 'root',
|
|
@@ -10600,9 +10990,9 @@ class SelectCheckboxComponent {
|
|
|
10600
10990
|
this.selectList = [];
|
|
10601
10991
|
this.selectListFlatGroup = [];
|
|
10602
10992
|
this.isArray = isArray;
|
|
10603
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
10604
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
10605
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
10993
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
10994
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
10995
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
10606
10996
|
this.frameworkStyles = {
|
|
10607
10997
|
daisyui: { selectClass: "select-box", optionClass: "checkbox tw:dui-checkbox", optionChecked: "active", optionUnchecked: "" },
|
|
10608
10998
|
"bootstrap-3": { selectClass: "select-box", optionClass: "bs3-option checkbox display-inline-block", optionChecked: "active", optionUnchecked: "" },
|
|
@@ -10655,128 +11045,144 @@ class SelectCheckboxComponent {
|
|
|
10655
11045
|
this.formControl.reset(nullVal);
|
|
10656
11046
|
this.controlValue = null;
|
|
10657
11047
|
}
|
|
10658
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10659
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
10660
|
-
<div
|
|
10661
|
-
[class]="options?.htmlClass || ''">
|
|
10662
|
-
|
|
10663
|
-
|
|
10664
|
-
|
|
10665
|
-
|
|
10666
|
-
|
|
10667
|
-
|
|
10668
|
-
|
|
10669
|
-
|
|
10670
|
-
|
|
10671
|
-
|
|
10672
|
-
|
|
10673
|
-
|
|
10674
|
-
|
|
10675
|
-
|
|
10676
|
-
|
|
10677
|
-
|
|
10678
|
-
|
|
10679
|
-
|
|
10680
|
-
|
|
10681
|
-
|
|
10682
|
-
|
|
10683
|
-
|
|
10684
|
-
|
|
10685
|
-
|
|
10686
|
-
|
|
10687
|
-
|
|
10688
|
-
|
|
10689
|
-
|
|
10690
|
-
|
|
10691
|
-
|
|
10692
|
-
|
|
10693
|
-
|
|
10694
|
-
|
|
10695
|
-
|
|
10696
|
-
|
|
10697
|
-
|
|
10698
|
-
|
|
10699
|
-
|
|
10700
|
-
|
|
10701
|
-
|
|
10702
|
-
|
|
10703
|
-
|
|
10704
|
-
|
|
10705
|
-
|
|
10706
|
-
|
|
10707
|
-
|
|
10708
|
-
|
|
10709
|
-
|
|
10710
|
-
|
|
11048
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SelectCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11049
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: SelectCheckboxComponent, isStandalone: false, selector: "selectcheckbox-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
11050
|
+
<div
|
|
11051
|
+
[class]="options?.htmlClass || ''">
|
|
11052
|
+
@if (boundControl) {
|
|
11053
|
+
<select
|
|
11054
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
11055
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
11056
|
+
[attr.required]="options?.required"
|
|
11057
|
+
[class]=" frameworkStyles[activeFramework].selectClass"
|
|
11058
|
+
[multiple]="true"
|
|
11059
|
+
[id]="'control' + layoutNode()?._id"
|
|
11060
|
+
[name]="controlName"
|
|
11061
|
+
[ngModel]="selectValue"
|
|
11062
|
+
>
|
|
11063
|
+
@for (selectItem of selectList; track selectItem) {
|
|
11064
|
+
@if (!isArray(selectItem?.items)) {
|
|
11065
|
+
<option
|
|
11066
|
+
[class]="frameworkStyles[activeFramework].optionClass"
|
|
11067
|
+
[class.active]="selectItem?.value === controlValue"
|
|
11068
|
+
[class.unchecked-notusing]="selectItem?.value != controlValue"
|
|
11069
|
+
[value]="selectItem?.value"
|
|
11070
|
+
(click)="onSelectClicked($event)"
|
|
11071
|
+
type="checkbox"
|
|
11072
|
+
>
|
|
11073
|
+
</option>
|
|
11074
|
+
}
|
|
11075
|
+
<!--NB the text is out of the option element to display besides the checkbox-->
|
|
11076
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
11077
|
+
}
|
|
11078
|
+
</select>
|
|
11079
|
+
}
|
|
11080
|
+
@if (!boundControl) {
|
|
11081
|
+
<select
|
|
11082
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
11083
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
11084
|
+
[attr.required]="options?.required"
|
|
11085
|
+
[class]="frameworkStyles[activeFramework].selectClass +' select-box'"
|
|
11086
|
+
[multiple]="true"
|
|
11087
|
+
[disabled]="controlDisabled"
|
|
11088
|
+
[id]="'control' + layoutNode()?._id"
|
|
11089
|
+
[name]="controlName"
|
|
11090
|
+
(change)="updateValue($event)">
|
|
11091
|
+
@for (selectItem of selectList; track selectItem) {
|
|
11092
|
+
@if (!isArray(selectItem?.items)) {
|
|
11093
|
+
<option
|
|
11094
|
+
[selected]="selectItem?.value === controlValue"
|
|
11095
|
+
[class]="frameworkStyles[activeFramework].optionClass"
|
|
11096
|
+
[class.checked-notusing]="selectItem?.value === controlValue"
|
|
11097
|
+
[class.unchecked-notusing]]="selectItem?.value != controlValue"
|
|
11098
|
+
[value]="selectItem?.value"
|
|
11099
|
+
type="checkbox">
|
|
11100
|
+
</option>
|
|
11101
|
+
}
|
|
11102
|
+
<!--NB the text is out of the option element to display besides the checkbox-->
|
|
11103
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
11104
|
+
}
|
|
11105
|
+
</select>
|
|
11106
|
+
}
|
|
11107
|
+
|
|
11108
|
+
</div>`, isInline: true, styles: [".select-box{font-size:16px;border:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;height:25px;overflow:hidden;text-overflow:ellipsis;background-color:#fff;color:#000;background-color:transparent}.select-box:focus{outline:none}.select-option{font-size:20px;color:#000;background-color:#fff;display:inline-block}.unchecked:before{content:\"\\2610\";left:5px;top:50%;transform:translateY(-50%);font-size:30px}.checked:before{content:\"\\2611\";left:5px;top:50%;transform:translateY(-50%);font-size:30px}.select-option:checked{background-image:linear-gradient(0deg,#fff 0% 100%);color:#000}.select-box[multiple]:focus{background-color:transparent;color:#00f;-webkit-text-fill-color:black}.display-inline-block{display:inline-block}.bs4-option,.bs3-option{width:14px;height:14px;border:solid 1px;color:#a9a9a9;min-block-size:auto;border-radius:3px}.bs4-option:checked[type=checkbox],.bs3-option:checked[type=checkbox]{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!--%20License%3A%20MIT.%20Made%20by%20jaynewey%3A%20https%3A%2F%2Fgithub.com%2Fjaynewey%2Fcharm-icons%20--%3E%3Csvg%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222.5%22%3E%3Cpolyline%20points%3D%224%208.75%2C6.25%2012.25%2C13.25%203.5%22%2F%3E%3C%2Fsvg%3E);background-color:#00ced1}\n"], dependencies: [{ kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
10711
11109
|
}
|
|
10712
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: SelectCheckboxComponent, decorators: [{
|
|
10713
11111
|
type: Component,
|
|
10714
|
-
args: [{ selector: 'selectcheckbox-widget', template: `
|
|
10715
|
-
<div
|
|
10716
|
-
[class]="options?.htmlClass || ''">
|
|
10717
|
-
|
|
10718
|
-
|
|
10719
|
-
|
|
10720
|
-
|
|
10721
|
-
|
|
10722
|
-
|
|
10723
|
-
|
|
10724
|
-
|
|
10725
|
-
|
|
10726
|
-
|
|
10727
|
-
|
|
10728
|
-
|
|
10729
|
-
|
|
10730
|
-
|
|
10731
|
-
|
|
10732
|
-
|
|
10733
|
-
|
|
10734
|
-
|
|
10735
|
-
|
|
10736
|
-
|
|
10737
|
-
|
|
10738
|
-
|
|
10739
|
-
|
|
10740
|
-
|
|
10741
|
-
|
|
10742
|
-
|
|
10743
|
-
|
|
10744
|
-
|
|
10745
|
-
|
|
10746
|
-
|
|
10747
|
-
|
|
10748
|
-
|
|
10749
|
-
|
|
10750
|
-
|
|
10751
|
-
|
|
10752
|
-
|
|
10753
|
-
|
|
10754
|
-
|
|
10755
|
-
|
|
10756
|
-
|
|
10757
|
-
|
|
10758
|
-
|
|
10759
|
-
|
|
10760
|
-
|
|
10761
|
-
|
|
10762
|
-
|
|
10763
|
-
|
|
10764
|
-
|
|
11112
|
+
args: [{ selector: 'selectcheckbox-widget', template: `
|
|
11113
|
+
<div
|
|
11114
|
+
[class]="options?.htmlClass || ''">
|
|
11115
|
+
@if (boundControl) {
|
|
11116
|
+
<select
|
|
11117
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
11118
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
11119
|
+
[attr.required]="options?.required"
|
|
11120
|
+
[class]=" frameworkStyles[activeFramework].selectClass"
|
|
11121
|
+
[multiple]="true"
|
|
11122
|
+
[id]="'control' + layoutNode()?._id"
|
|
11123
|
+
[name]="controlName"
|
|
11124
|
+
[ngModel]="selectValue"
|
|
11125
|
+
>
|
|
11126
|
+
@for (selectItem of selectList; track selectItem) {
|
|
11127
|
+
@if (!isArray(selectItem?.items)) {
|
|
11128
|
+
<option
|
|
11129
|
+
[class]="frameworkStyles[activeFramework].optionClass"
|
|
11130
|
+
[class.active]="selectItem?.value === controlValue"
|
|
11131
|
+
[class.unchecked-notusing]="selectItem?.value != controlValue"
|
|
11132
|
+
[value]="selectItem?.value"
|
|
11133
|
+
(click)="onSelectClicked($event)"
|
|
11134
|
+
type="checkbox"
|
|
11135
|
+
>
|
|
11136
|
+
</option>
|
|
11137
|
+
}
|
|
11138
|
+
<!--NB the text is out of the option element to display besides the checkbox-->
|
|
11139
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
11140
|
+
}
|
|
11141
|
+
</select>
|
|
11142
|
+
}
|
|
11143
|
+
@if (!boundControl) {
|
|
11144
|
+
<select
|
|
11145
|
+
[attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
|
|
11146
|
+
[attr.readonly]="options?.readonly ? 'readonly' : null"
|
|
11147
|
+
[attr.required]="options?.required"
|
|
11148
|
+
[class]="frameworkStyles[activeFramework].selectClass +' select-box'"
|
|
11149
|
+
[multiple]="true"
|
|
11150
|
+
[disabled]="controlDisabled"
|
|
11151
|
+
[id]="'control' + layoutNode()?._id"
|
|
11152
|
+
[name]="controlName"
|
|
11153
|
+
(change)="updateValue($event)">
|
|
11154
|
+
@for (selectItem of selectList; track selectItem) {
|
|
11155
|
+
@if (!isArray(selectItem?.items)) {
|
|
11156
|
+
<option
|
|
11157
|
+
[selected]="selectItem?.value === controlValue"
|
|
11158
|
+
[class]="frameworkStyles[activeFramework].optionClass"
|
|
11159
|
+
[class.checked-notusing]="selectItem?.value === controlValue"
|
|
11160
|
+
[class.unchecked-notusing]]="selectItem?.value != controlValue"
|
|
11161
|
+
[value]="selectItem?.value"
|
|
11162
|
+
type="checkbox">
|
|
11163
|
+
</option>
|
|
11164
|
+
}
|
|
11165
|
+
<!--NB the text is out of the option element to display besides the checkbox-->
|
|
11166
|
+
<span [innerHTML]="selectItem?.name"></span>
|
|
11167
|
+
}
|
|
11168
|
+
</select>
|
|
11169
|
+
}
|
|
11170
|
+
|
|
10765
11171
|
</div>`, standalone: false, styles: [".select-box{font-size:16px;border:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;height:25px;overflow:hidden;text-overflow:ellipsis;background-color:#fff;color:#000;background-color:transparent}.select-box:focus{outline:none}.select-option{font-size:20px;color:#000;background-color:#fff;display:inline-block}.unchecked:before{content:\"\\2610\";left:5px;top:50%;transform:translateY(-50%);font-size:30px}.checked:before{content:\"\\2611\";left:5px;top:50%;transform:translateY(-50%);font-size:30px}.select-option:checked{background-image:linear-gradient(0deg,#fff 0% 100%);color:#000}.select-box[multiple]:focus{background-color:transparent;color:#00f;-webkit-text-fill-color:black}.display-inline-block{display:inline-block}.bs4-option,.bs3-option{width:14px;height:14px;border:solid 1px;color:#a9a9a9;min-block-size:auto;border-radius:3px}.bs4-option:checked[type=checkbox],.bs3-option:checked[type=checkbox]{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!--%20License%3A%20MIT.%20Made%20by%20jaynewey%3A%20https%3A%2F%2Fgithub.com%2Fjaynewey%2Fcharm-icons%20--%3E%3Csvg%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222.5%22%3E%3Cpolyline%20points%3D%224%208.75%2C6.25%2012.25%2C13.25%203.5%22%2F%3E%3C%2Fsvg%3E);background-color:#00ced1}\n"] }]
|
|
10766
|
-
}] });
|
|
11172
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
10767
11173
|
|
|
10768
11174
|
class TabComponent {
|
|
10769
11175
|
constructor() {
|
|
10770
11176
|
this.jsf = inject(JsonSchemaFormService);
|
|
10771
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
10772
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
10773
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
11177
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
11178
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
11179
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
10774
11180
|
}
|
|
10775
11181
|
ngOnInit() {
|
|
10776
11182
|
this.options = this.layoutNode().options || {};
|
|
10777
11183
|
}
|
|
10778
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10779
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
11184
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11185
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.2", type: TabComponent, isStandalone: false, selector: "tab-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
10780
11186
|
<div [class]="options?.htmlClass || ''">
|
|
10781
11187
|
<root-widget
|
|
10782
11188
|
[dataIndex]="dataIndex()"
|
|
@@ -10784,7 +11190,7 @@ class TabComponent {
|
|
|
10784
11190
|
[layout]="layoutNode().items"></root-widget>
|
|
10785
11191
|
</div>`, isInline: true, dependencies: [{ kind: "component", type: RootComponent, selector: "root-widget", inputs: ["dataIndex", "layoutIndex", "layout", "isOrderable", "isFlexItem", "memoizationEnabled"] }] }); }
|
|
10786
11192
|
}
|
|
10787
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: TabComponent, decorators: [{
|
|
10788
11194
|
type: Component,
|
|
10789
11195
|
args: [{
|
|
10790
11196
|
// tslint:disable-next-line:component-selector
|
|
@@ -10798,7 +11204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
10798
11204
|
</div>`,
|
|
10799
11205
|
standalone: false
|
|
10800
11206
|
}]
|
|
10801
|
-
}] });
|
|
11207
|
+
}], propDecorators: { layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
10802
11208
|
|
|
10803
11209
|
/**
|
|
10804
11210
|
* OrderableDirective
|
|
@@ -10828,10 +11234,10 @@ class OrderableDirective {
|
|
|
10828
11234
|
this.ngZone = inject(NgZone);
|
|
10829
11235
|
this.overParentElement = false;
|
|
10830
11236
|
this.overChildElement = false;
|
|
10831
|
-
this.orderable = input(undefined, ...(ngDevMode ?
|
|
10832
|
-
this.layoutNode = input(undefined, ...(ngDevMode ?
|
|
10833
|
-
this.layoutIndex = input(undefined, ...(ngDevMode ?
|
|
10834
|
-
this.dataIndex = input(undefined, ...(ngDevMode ?
|
|
11237
|
+
this.orderable = input(undefined, { ...(ngDevMode ? { debugName: "orderable" } : {}) });
|
|
11238
|
+
this.layoutNode = input(undefined, { ...(ngDevMode ? { debugName: "layoutNode" } : {}) });
|
|
11239
|
+
this.layoutIndex = input(undefined, { ...(ngDevMode ? { debugName: "layoutIndex" } : {}) });
|
|
11240
|
+
this.dataIndex = input(undefined, { ...(ngDevMode ? { debugName: "dataIndex" } : {}) });
|
|
10835
11241
|
}
|
|
10836
11242
|
ngOnInit() {
|
|
10837
11243
|
const layoutIndex = this.layoutIndex();
|
|
@@ -10915,17 +11321,17 @@ class OrderableDirective {
|
|
|
10915
11321
|
this.draggableStateSubscription.unsubscribe();
|
|
10916
11322
|
}
|
|
10917
11323
|
}
|
|
10918
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10919
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
11324
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: OrderableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
11325
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.2", type: OrderableDirective, isStandalone: false, selector: "[orderable]", inputs: { orderable: { classPropertyName: "orderable", publicName: "orderable", isSignal: true, isRequired: false, transformFunction: null }, layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
10920
11326
|
}
|
|
10921
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: OrderableDirective, decorators: [{
|
|
10922
11328
|
type: Directive,
|
|
10923
11329
|
args: [{
|
|
10924
11330
|
// tslint:disable-next-line:directive-selector
|
|
10925
11331
|
selector: '[orderable]',
|
|
10926
11332
|
standalone: false
|
|
10927
11333
|
}]
|
|
10928
|
-
}] });
|
|
11334
|
+
}], propDecorators: { orderable: [{ type: i0.Input, args: [{ isSignal: true, alias: "orderable", required: false }] }], layoutNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutNode", required: false }] }], layoutIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "layoutIndex", required: false }] }], dataIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataIndex", required: false }] }] } });
|
|
10929
11335
|
|
|
10930
11336
|
const BASIC_WIDGETS = [
|
|
10931
11337
|
AddReferenceComponent, OneOfComponent, ButtonComponent, CheckboxComponent,
|
|
@@ -10933,15 +11339,15 @@ const BASIC_WIDGETS = [
|
|
|
10933
11339
|
MessageComponent, NoneComponent, NumberComponent, RadiosComponent,
|
|
10934
11340
|
RootComponent, SectionComponent, SelectComponent, SelectFrameworkComponent,
|
|
10935
11341
|
SelectWidgetComponent, SubmitComponent, TabComponent, TabsComponent,
|
|
10936
|
-
TemplateComponent, TextareaComponent, SelectCheckboxComponent
|
|
11342
|
+
TemplateComponent, TextareaComponent, SelectCheckboxComponent, ItemTitleComponent
|
|
10937
11343
|
];
|
|
10938
11344
|
|
|
10939
11345
|
class WidgetLibraryModule {
|
|
10940
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10941
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
10942
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
11346
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: WidgetLibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11347
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: WidgetLibraryModule, declarations: [AddReferenceComponent, OneOfComponent, ButtonComponent, CheckboxComponent, CheckboxesComponent, FileComponent, HiddenComponent, InputComponent, MessageComponent, NoneComponent, NumberComponent, RadiosComponent, RootComponent, SectionComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, SelectCheckboxComponent, ItemTitleComponent, OrderableDirective, ElementAttributeDirective, StopPropagationDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule, DragDropModule], exports: [AddReferenceComponent, OneOfComponent, ButtonComponent, CheckboxComponent, CheckboxesComponent, FileComponent, HiddenComponent, InputComponent, MessageComponent, NoneComponent, NumberComponent, RadiosComponent, RootComponent, SectionComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, SelectCheckboxComponent, ItemTitleComponent, OrderableDirective, ElementAttributeDirective, StopPropagationDirective] }); }
|
|
11348
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: WidgetLibraryModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, DragDropModule] }); }
|
|
10943
11349
|
}
|
|
10944
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11350
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: WidgetLibraryModule, decorators: [{
|
|
10945
11351
|
type: NgModule,
|
|
10946
11352
|
args: [{
|
|
10947
11353
|
imports: [CommonModule, FormsModule, ReactiveFormsModule, DragDropModule
|
|
@@ -10953,13 +11359,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
10953
11359
|
|
|
10954
11360
|
// No framework - plain HTML controls (styles from form layout only)
|
|
10955
11361
|
class NoFrameworkModule {
|
|
10956
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10957
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
10958
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
11362
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoFrameworkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11363
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: NoFrameworkModule, declarations: [NoFrameworkComponent], imports: [CommonModule, WidgetLibraryModule], exports: [NoFrameworkComponent] }); }
|
|
11364
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoFrameworkModule, providers: [
|
|
10959
11365
|
{ provide: Framework, useClass: NoFramework, multi: true }
|
|
10960
11366
|
], imports: [CommonModule, WidgetLibraryModule] }); }
|
|
10961
11367
|
}
|
|
10962
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: NoFrameworkModule, decorators: [{
|
|
10963
11369
|
type: NgModule,
|
|
10964
11370
|
args: [{
|
|
10965
11371
|
imports: [CommonModule, WidgetLibraryModule],
|
|
@@ -11027,27 +11433,27 @@ class JsonSchemaFormComponent {
|
|
|
11027
11433
|
formData: null, loadExternalAssets: null, debug: null, ajvOptions: null
|
|
11028
11434
|
};
|
|
11029
11435
|
// Recommended inputs
|
|
11030
|
-
this.schema = input(undefined, ...(ngDevMode ?
|
|
11031
|
-
this.layout = input(undefined, ...(ngDevMode ?
|
|
11032
|
-
this.data = input(undefined, ...(ngDevMode ?
|
|
11033
|
-
this.options = input(undefined, ...(ngDevMode ?
|
|
11034
|
-
this.framework = input(undefined, ...(ngDevMode ?
|
|
11035
|
-
this.widgets = input(undefined, ...(ngDevMode ?
|
|
11436
|
+
this.schema = input(undefined, { ...(ngDevMode ? { debugName: "schema" } : {}) }); // The JSON Schema
|
|
11437
|
+
this.layout = input(undefined, { ...(ngDevMode ? { debugName: "layout" } : {}) }); // The form layout
|
|
11438
|
+
this.data = input(undefined, { ...(ngDevMode ? { debugName: "data" } : {}) }); // The form data
|
|
11439
|
+
this.options = input(undefined, { ...(ngDevMode ? { debugName: "options" } : {}) }); // The global form options
|
|
11440
|
+
this.framework = input(undefined, { ...(ngDevMode ? { debugName: "framework" } : {}) }); // The framework to load
|
|
11441
|
+
this.widgets = input(undefined, { ...(ngDevMode ? { debugName: "widgets" } : {}) }); // Any custom widgets to load
|
|
11036
11442
|
// Alternate combined single input
|
|
11037
|
-
this.form = input(undefined, ...(ngDevMode ?
|
|
11443
|
+
this.form = input(undefined, { ...(ngDevMode ? { debugName: "form" } : {}) }); // For testing, and JSON Schema Form API compatibility
|
|
11038
11444
|
// Angular Schema Form API compatibility input
|
|
11039
|
-
this.model = input(undefined, ...(ngDevMode ?
|
|
11445
|
+
this.model = input(undefined, { ...(ngDevMode ? { debugName: "model" } : {}) }); // Alternate input for form data
|
|
11040
11446
|
// React JSON Schema Form API compatibility inputs
|
|
11041
|
-
this.JSONSchema = input(undefined, ...(ngDevMode ?
|
|
11042
|
-
this.UISchema = input(undefined, ...(ngDevMode ?
|
|
11043
|
-
this.formData = input(undefined, ...(ngDevMode ?
|
|
11044
|
-
this.ngModel = input(undefined, ...(ngDevMode ?
|
|
11045
|
-
this.language = input(undefined, ...(ngDevMode ?
|
|
11447
|
+
this.JSONSchema = input(undefined, { ...(ngDevMode ? { debugName: "JSONSchema" } : {}) }); // Alternate input for JSON Schema
|
|
11448
|
+
this.UISchema = input(undefined, { ...(ngDevMode ? { debugName: "UISchema" } : {}) }); // UI schema - alternate form layout format
|
|
11449
|
+
this.formData = input(undefined, { ...(ngDevMode ? { debugName: "formData" } : {}) }); // Alternate input for form data
|
|
11450
|
+
this.ngModel = input(undefined, { ...(ngDevMode ? { debugName: "ngModel" } : {}) }); // Alternate input for Angular forms
|
|
11451
|
+
this.language = input(undefined, { ...(ngDevMode ? { debugName: "language" } : {}) }); // Language
|
|
11046
11452
|
// Development inputs, for testing and debugging
|
|
11047
|
-
this.loadExternalAssets = input(undefined, ...(ngDevMode ?
|
|
11048
|
-
this.debug = input(undefined, ...(ngDevMode ?
|
|
11049
|
-
this.theme = input(undefined, ...(ngDevMode ?
|
|
11050
|
-
this.ajvOptions = input(undefined, ...(ngDevMode ?
|
|
11453
|
+
this.loadExternalAssets = input(undefined, { ...(ngDevMode ? { debugName: "loadExternalAssets" } : {}) }); // Load external framework assets?
|
|
11454
|
+
this.debug = input(undefined, { ...(ngDevMode ? { debugName: "debug" } : {}) }); // Show debug information?
|
|
11455
|
+
this.theme = input(undefined, { ...(ngDevMode ? { debugName: "theme" } : {}) }); // Theme
|
|
11456
|
+
this.ajvOptions = input(undefined, { ...(ngDevMode ? { debugName: "ajvOptions" } : {}) }); // ajvOptions
|
|
11051
11457
|
// Outputs
|
|
11052
11458
|
this.onChanges = output(); // Live unvalidated internal form data
|
|
11053
11459
|
this.onSubmit = output(); // Complete validated form data
|
|
@@ -11186,11 +11592,26 @@ class JsonSchemaFormComponent {
|
|
|
11186
11592
|
if (this.formValuesInput.indexOf('.') === -1) {
|
|
11187
11593
|
changedData = this.getInputValue(this.formValuesInput);
|
|
11188
11594
|
//this[this.formValuesInput];
|
|
11189
|
-
this.setFormValues(changedData, resetFirst);
|
|
11190
11595
|
}
|
|
11191
11596
|
else {
|
|
11192
11597
|
const [input, key] = this.formValuesInput.split('.');
|
|
11193
11598
|
changedData = this.getInputValue(input)[key];
|
|
11599
|
+
}
|
|
11600
|
+
//TODO -review if any of the the array sizes changed then the
|
|
11601
|
+
//layout array sizes need to be resynced to match
|
|
11602
|
+
//-for now jsf.adjustLayout doesnt seem to work with nested arrays
|
|
11603
|
+
//so entire form is reinited
|
|
11604
|
+
let arraySizesChanged = !compareObjectArraySizes(changedData, this.jsf.data);
|
|
11605
|
+
if (arraySizesChanged) {
|
|
11606
|
+
this.initializeForm(changedData);
|
|
11607
|
+
if (this.onChange) {
|
|
11608
|
+
this.onChange(changedData);
|
|
11609
|
+
}
|
|
11610
|
+
if (this.onTouched) {
|
|
11611
|
+
this.onTouched(changedData);
|
|
11612
|
+
}
|
|
11613
|
+
}
|
|
11614
|
+
else {
|
|
11194
11615
|
this.setFormValues(changedData, resetFirst);
|
|
11195
11616
|
}
|
|
11196
11617
|
// If anything else has changed, re-render the entire form
|
|
@@ -11215,7 +11636,7 @@ class JsonSchemaFormComponent {
|
|
|
11215
11636
|
.forEach(input => this.previousInputs[input] = this.getInputValue(input));
|
|
11216
11637
|
}
|
|
11217
11638
|
}
|
|
11218
|
-
setFormValues(formValues, resetFirst = true) {
|
|
11639
|
+
setFormValues(formValues, resetFirst = true, emitFormEvent = true, usePatch = true) {
|
|
11219
11640
|
if (formValues) {
|
|
11220
11641
|
const newFormValues = this.objectWrap ? formValues['1'] : formValues;
|
|
11221
11642
|
if (!this.jsf.formGroup) {
|
|
@@ -11223,10 +11644,15 @@ class JsonSchemaFormComponent {
|
|
|
11223
11644
|
this.activateForm();
|
|
11224
11645
|
}
|
|
11225
11646
|
else if (resetFirst) { //changed to avoid reset events
|
|
11226
|
-
this.jsf.formGroup.reset({}, { emitEvent:
|
|
11647
|
+
this.jsf.formGroup.reset({}, { emitEvent: emitFormEvent });
|
|
11227
11648
|
}
|
|
11228
11649
|
if (this.jsf.formGroup) { //changed to avoid reset events
|
|
11229
|
-
|
|
11650
|
+
if (usePatch) {
|
|
11651
|
+
this.jsf.formGroup.patchValue(newFormValues, { emitEvent: emitFormEvent });
|
|
11652
|
+
}
|
|
11653
|
+
else {
|
|
11654
|
+
this.jsf.formGroup.setValue(newFormValues, { emitEvent: emitFormEvent });
|
|
11655
|
+
}
|
|
11230
11656
|
}
|
|
11231
11657
|
if (this.onChange) {
|
|
11232
11658
|
this.onChange(newFormValues);
|
|
@@ -11238,6 +11664,7 @@ class JsonSchemaFormComponent {
|
|
|
11238
11664
|
else {
|
|
11239
11665
|
this.jsf.formGroup.reset();
|
|
11240
11666
|
}
|
|
11667
|
+
this.changeDetector.markForCheck();
|
|
11241
11668
|
}
|
|
11242
11669
|
submitForm() {
|
|
11243
11670
|
const validData = this.jsf.validData;
|
|
@@ -11721,24 +12148,24 @@ class JsonSchemaFormComponent {
|
|
|
11721
12148
|
}
|
|
11722
12149
|
}
|
|
11723
12150
|
}
|
|
11724
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11725
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
12151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonSchemaFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12152
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: JsonSchemaFormComponent, isStandalone: false, selector: "json-schema-form", inputs: { schema: { classPropertyName: "schema", publicName: "schema", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, framework: { classPropertyName: "framework", publicName: "framework", isSignal: true, isRequired: false, transformFunction: null }, widgets: { classPropertyName: "widgets", publicName: "widgets", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, JSONSchema: { classPropertyName: "JSONSchema", publicName: "JSONSchema", isSignal: true, isRequired: false, transformFunction: null }, UISchema: { classPropertyName: "UISchema", publicName: "UISchema", isSignal: true, isRequired: false, transformFunction: null }, formData: { classPropertyName: "formData", publicName: "formData", isSignal: true, isRequired: false, transformFunction: null }, ngModel: { classPropertyName: "ngModel", publicName: "ngModel", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, loadExternalAssets: { classPropertyName: "loadExternalAssets", publicName: "loadExternalAssets", isSignal: true, isRequired: false, transformFunction: null }, debug: { classPropertyName: "debug", publicName: "debug", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, ajvOptions: { classPropertyName: "ajvOptions", publicName: "ajvOptions", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onChanges: "onChanges", onSubmit: "onSubmit", isValid: "isValid", validationErrors: "validationErrors", formSchema: "formSchema", formLayout: "formLayout", dataChange: "dataChange", modelChange: "modelChange", formDataChange: "formDataChange", ngModelChange: "ngModelChange" }, providers: [JsonSchemaFormService, JSON_SCHEMA_FORM_VALUE_ACCESSOR], usesOnChanges: true, ngImport: i0, template: "<form [autocomplete]=\"jsf?.formOptions?.autocomplete ? 'on' : 'off'\" class=\"json-schema-form\" (ngSubmit)=\"submitForm()\">\n <root-widget [layout]=\"jsf?.layout\"></root-widget>\n</form>\n@if (debug() || jsf?.formOptions?.debug) {\n <div>\n Debug output:\n <pre>{{debugOutput}}</pre>\n </div>\n}", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: RootComponent, selector: "root-widget", inputs: ["dataIndex", "layoutIndex", "layout", "isOrderable", "isFlexItem", "memoizationEnabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11726
12153
|
}
|
|
11727
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonSchemaFormComponent, decorators: [{
|
|
11728
12155
|
type: Component,
|
|
11729
|
-
args: [{ selector: 'json-schema-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [JsonSchemaFormService, JSON_SCHEMA_FORM_VALUE_ACCESSOR], standalone: false, template: "<form [autocomplete]=\"jsf?.formOptions?.autocomplete ? 'on' : 'off'\" class=\"json-schema-form\" (ngSubmit)=\"submitForm()\">\
|
|
11730
|
-
}], propDecorators: { value: [{
|
|
12156
|
+
args: [{ selector: 'json-schema-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [JsonSchemaFormService, JSON_SCHEMA_FORM_VALUE_ACCESSOR], standalone: false, template: "<form [autocomplete]=\"jsf?.formOptions?.autocomplete ? 'on' : 'off'\" class=\"json-schema-form\" (ngSubmit)=\"submitForm()\">\n <root-widget [layout]=\"jsf?.layout\"></root-widget>\n</form>\n@if (debug() || jsf?.formOptions?.debug) {\n <div>\n Debug output:\n <pre>{{debugOutput}}</pre>\n </div>\n}" }]
|
|
12157
|
+
}], propDecorators: { schema: [{ type: i0.Input, args: [{ isSignal: true, alias: "schema", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], framework: [{ type: i0.Input, args: [{ isSignal: true, alias: "framework", required: false }] }], widgets: [{ type: i0.Input, args: [{ isSignal: true, alias: "widgets", required: false }] }], form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: false }] }], model: [{ type: i0.Input, args: [{ isSignal: true, alias: "model", required: false }] }], JSONSchema: [{ type: i0.Input, args: [{ isSignal: true, alias: "JSONSchema", required: false }] }], UISchema: [{ type: i0.Input, args: [{ isSignal: true, alias: "UISchema", required: false }] }], formData: [{ type: i0.Input, args: [{ isSignal: true, alias: "formData", required: false }] }], ngModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngModel", required: false }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], loadExternalAssets: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadExternalAssets", required: false }] }], debug: [{ type: i0.Input, args: [{ isSignal: true, alias: "debug", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], ajvOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "ajvOptions", required: false }] }], value: [{
|
|
11731
12158
|
type: Input
|
|
11732
|
-
}] } });
|
|
12159
|
+
}], onChanges: [{ type: i0.Output, args: ["onChanges"] }], onSubmit: [{ type: i0.Output, args: ["onSubmit"] }], isValid: [{ type: i0.Output, args: ["isValid"] }], validationErrors: [{ type: i0.Output, args: ["validationErrors"] }], formSchema: [{ type: i0.Output, args: ["formSchema"] }], formLayout: [{ type: i0.Output, args: ["formLayout"] }], dataChange: [{ type: i0.Output, args: ["dataChange"] }], modelChange: [{ type: i0.Output, args: ["modelChange"] }], formDataChange: [{ type: i0.Output, args: ["formDataChange"] }], ngModelChange: [{ type: i0.Output, args: ["ngModelChange"] }] } });
|
|
11733
12160
|
|
|
11734
12161
|
class JsonSchemaFormModule {
|
|
11735
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11736
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
12162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonSchemaFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12163
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: JsonSchemaFormModule, declarations: [JsonSchemaFormComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule,
|
|
11737
12164
|
WidgetLibraryModule, NoFrameworkModule], exports: [JsonSchemaFormComponent, WidgetLibraryModule] }); }
|
|
11738
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
12165
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonSchemaFormModule, imports: [CommonModule, FormsModule, ReactiveFormsModule,
|
|
11739
12166
|
WidgetLibraryModule, NoFrameworkModule, WidgetLibraryModule] }); }
|
|
11740
12167
|
}
|
|
11741
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: JsonSchemaFormModule, decorators: [{
|
|
11742
12169
|
type: NgModule,
|
|
11743
12170
|
args: [{
|
|
11744
12171
|
imports: [
|
|
@@ -11758,5 +12185,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
11758
12185
|
* Generated bundle index. Do not edit.
|
|
11759
12186
|
*/
|
|
11760
12187
|
|
|
11761
|
-
export { AddReferenceComponent, BASIC_WIDGETS, ButtonComponent, CheckboxComponent, CheckboxesComponent, ElementAttributeDirective, FileComponent, Framework, FrameworkLibraryService, HiddenComponent, InputComponent, JsonPointer, JsonSchemaFormComponent, JsonSchemaFormModule, JsonSchemaFormService, JsonValidators, MessageComponent, NoneComponent, NumberComponent, OneOfComponent, OrderableDirective, RadiosComponent, RootComponent, SectionComponent, SelectCheckboxComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, StopPropagationDirective, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, WidgetLibraryModule, WidgetLibraryService, _executeAsyncValidators, _executeValidators, _mergeErrors, _mergeObjects, _toPromise, addClasses, buildFormGroup, buildFormGroupTemplate, buildLayout, buildLayoutFromSchema, buildSchemaFromData, buildSchemaFromLayout, buildTitleMap, checkInlineType, combineAllOf, commonItems, convertSchemaToDraft6, copy, deValidationMessages, enValidationMessages, esValidationMessages, fixRequiredArrayProperties, fixTitle, forEach, forEachCopy, formatFormData, frValidationMessages, getControl, getControlValidators, getFromSchema, getInputType, getLayoutNode, getSubSchema, getTitleMapFromOneOf, getType, hasNonNullValue, hasOwn, hasValue, inArray, isArray, isBoolean, isDate, isDefined, isEmpty, isFunction, isInputRequired, isInteger, isMap, isNumber, isObject, isObservable, isPrimitive, isPromise, isSet, isString, isType, itValidationMessages, mapLayout, mergeFilteredObject, mergeSchemas, path2ControlKey, ptValidationMessages, removeRecursiveReferences, resolveSchemaReferences, setControl, setRequiredFields, toJavaScriptType, toObservable, toSchemaType, toTitleCase, uniqueItems, updateInputOptions, xor, zhValidationMessages };
|
|
12188
|
+
export { AddReferenceComponent, BASIC_WIDGETS, ButtonComponent, CheckboxComponent, CheckboxesComponent, ElementAttributeDirective, FileComponent, Framework, FrameworkLibraryService, HiddenComponent, InputComponent, ItemTitleComponent, JsonPointer, JsonSchemaFormComponent, JsonSchemaFormModule, JsonSchemaFormService, JsonValidators, MessageComponent, NoneComponent, NumberComponent, OneOfComponent, OrderableDirective, RadiosComponent, RootComponent, SectionComponent, SelectCheckboxComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, StopPropagationDirective, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, WidgetLibraryModule, WidgetLibraryService, _executeAsyncValidators, _executeValidators, _mergeErrors, _mergeObjects, _toPromise, addClasses, buildFormGroup, buildFormGroupTemplate, buildLayout, buildLayoutFromSchema, buildSchemaFromData, buildSchemaFromLayout, buildTitleMap, checkInlineType, combineAllOf, commonItems, convertSchemaToDraft6, copy, deValidationMessages, enValidationMessages, esValidationMessages, fixRequiredArrayProperties, fixTitle, forEach, forEachCopy, formatFormData, frValidationMessages, getControl, getControlValidators, getFromSchema, getInputType, getLayoutNode, getSubSchema, getTitleMapFromOneOf, getType, hasNonNullValue, hasOwn, hasValue, inArray, isArray, isBoolean, isDate, isDefined, isEmpty, isFunction, isInputRequired, isInteger, isMap, isNumber, isObject, isObservable, isPrimitive, isPromise, isSet, isString, isType, itValidationMessages, mapLayout, mergeFilteredObject, mergeSchemas, path2ControlKey, ptValidationMessages, removeRecursiveReferences, resolveSchemaReferences, setControl, setRequiredFields, toJavaScriptType, toObservable, toSchemaType, toTitleCase, uniqueItems, updateInputOptions, xor, zhValidationMessages };
|
|
11762
12189
|
//# sourceMappingURL=ng-formworks-core.mjs.map
|