@aemforms/af-core 0.22.117 → 0.22.119
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/esm/afb-runtime.js +77 -25
- package/esm/types/src/Checkbox.d.ts +4 -4
- package/esm/types/src/DateField.d.ts +5 -0
- package/esm/types/src/Field.d.ts +12 -12
- package/esm/types/src/Form.d.ts +4 -4
- package/esm/types/src/rules/RuleEngine.d.ts +3 -0
- package/esm/types/src/types/Json.d.ts +4 -4
- package/lib/Checkbox.d.ts +4 -4
- package/lib/DateField.d.ts +5 -0
- package/lib/DateField.js +45 -3
- package/lib/Field.d.ts +12 -12
- package/lib/Field.js +4 -0
- package/lib/Form.d.ts +4 -4
- package/lib/Form.js +28 -21
- package/lib/rules/RuleEngine.d.ts +3 -0
- package/lib/rules/RuleEngine.js +8 -1
- package/lib/types/Json.d.ts +4 -4
- package/package.json +2 -2
package/esm/afb-runtime.js
CHANGED
|
@@ -3450,28 +3450,35 @@ class Form extends Container {
|
|
|
3450
3450
|
}
|
|
3451
3451
|
}
|
|
3452
3452
|
setFocus(field, focusOption) {
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
currActiveChildIndex =
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3453
|
+
const dependencyTracking = this._ruleEngine.getDependencyTracking();
|
|
3454
|
+
this._ruleEngine.setDependencyTracking(false);
|
|
3455
|
+
try {
|
|
3456
|
+
if (!focusOption) {
|
|
3457
|
+
this.#clearCurrentFocus(field);
|
|
3458
|
+
this.#setActiveFirstDeepChild(field);
|
|
3459
|
+
return;
|
|
3460
|
+
}
|
|
3461
|
+
const parent = (field?.isContainer ? field : field.parent);
|
|
3462
|
+
const navigableChidren = this.#getNavigableChildren(parent.items);
|
|
3463
|
+
let activeChild = parent.activeChild;
|
|
3464
|
+
let currActiveChildIndex = activeChild !== null ? navigableChidren.indexOf(activeChild) : -1;
|
|
3465
|
+
if (parent.activeChild === null) {
|
|
3466
|
+
this.#setActiveFirstDeepChild(navigableChidren[0]);
|
|
3467
|
+
currActiveChildIndex = 0;
|
|
3468
|
+
return;
|
|
3469
|
+
}
|
|
3470
|
+
if (focusOption === FocusOption.NEXT_ITEM) {
|
|
3471
|
+
activeChild = this.#getNextItem(currActiveChildIndex, navigableChidren);
|
|
3472
|
+
}
|
|
3473
|
+
else if (focusOption === FocusOption.PREVIOUS_ITEM) {
|
|
3474
|
+
activeChild = this.#getPreviousItem(currActiveChildIndex, navigableChidren);
|
|
3475
|
+
}
|
|
3476
|
+
if (activeChild !== null) {
|
|
3477
|
+
this.#setActiveFirstDeepChild(activeChild);
|
|
3478
|
+
}
|
|
3472
3479
|
}
|
|
3473
|
-
|
|
3474
|
-
this
|
|
3480
|
+
finally {
|
|
3481
|
+
this._ruleEngine.setDependencyTracking(dependencyTracking);
|
|
3475
3482
|
}
|
|
3476
3483
|
}
|
|
3477
3484
|
getState(forRestore = false) {
|
|
@@ -3681,6 +3688,7 @@ class RuleEngine {
|
|
|
3681
3688
|
];
|
|
3682
3689
|
customFunctions;
|
|
3683
3690
|
debugInfo = [];
|
|
3691
|
+
dependencyTracking = true;
|
|
3684
3692
|
constructor() {
|
|
3685
3693
|
this.customFunctions = FunctionRuntime.getFunctions();
|
|
3686
3694
|
}
|
|
@@ -3715,10 +3723,16 @@ class RuleEngine {
|
|
|
3715
3723
|
return finalRes;
|
|
3716
3724
|
}
|
|
3717
3725
|
trackDependency(subscriber) {
|
|
3718
|
-
if (this._context && this._context.field !== undefined && this._context.field !== subscriber) {
|
|
3726
|
+
if (this.dependencyTracking && this._context && this._context.field !== undefined && this._context.field !== subscriber) {
|
|
3719
3727
|
subscriber._addDependent(this._context.field);
|
|
3720
3728
|
}
|
|
3721
3729
|
}
|
|
3730
|
+
setDependencyTracking(track) {
|
|
3731
|
+
this.dependencyTracking = track;
|
|
3732
|
+
}
|
|
3733
|
+
getDependencyTracking() {
|
|
3734
|
+
return this.dependencyTracking;
|
|
3735
|
+
}
|
|
3722
3736
|
}
|
|
3723
3737
|
|
|
3724
3738
|
class Fieldset extends Container {
|
|
@@ -3873,6 +3887,9 @@ class Field extends Scriptable {
|
|
|
3873
3887
|
if (['plain-text', 'image'].indexOf(this.fieldType) === -1) {
|
|
3874
3888
|
this._jsonModel.value = undefined;
|
|
3875
3889
|
}
|
|
3890
|
+
else if (this.fieldType === 'image') {
|
|
3891
|
+
this._jsonModel.value = this._jsonModel.properties['fd:repoPath'] ?? this._jsonModel.value;
|
|
3892
|
+
}
|
|
3876
3893
|
else {
|
|
3877
3894
|
this._jsonModel.default = this._jsonModel.default || this._jsonModel.value;
|
|
3878
3895
|
}
|
|
@@ -4764,14 +4781,21 @@ class DateField extends Field {
|
|
|
4764
4781
|
this._jsonModel.placeholder = parseDateSkeleton(this._jsonModel.editFormat, this.locale);
|
|
4765
4782
|
}
|
|
4766
4783
|
}
|
|
4784
|
+
#convertNumberToDate(value) {
|
|
4785
|
+
const coercedValue = numberToDatetime(value);
|
|
4786
|
+
if (!isNaN(coercedValue)) {
|
|
4787
|
+
return formatDate(coercedValue, this.locale, this._dataFormat);
|
|
4788
|
+
}
|
|
4789
|
+
return null;
|
|
4790
|
+
}
|
|
4767
4791
|
get value() {
|
|
4768
4792
|
return super.value;
|
|
4769
4793
|
}
|
|
4770
4794
|
set value(value) {
|
|
4771
4795
|
if (typeof value === 'number') {
|
|
4772
|
-
const coercedValue =
|
|
4773
|
-
if (
|
|
4774
|
-
super.value =
|
|
4796
|
+
const coercedValue = this.#convertNumberToDate(value);
|
|
4797
|
+
if (coercedValue) {
|
|
4798
|
+
super.value = coercedValue;
|
|
4775
4799
|
}
|
|
4776
4800
|
}
|
|
4777
4801
|
else {
|
|
@@ -4789,6 +4813,34 @@ class DateField extends Field {
|
|
|
4789
4813
|
}
|
|
4790
4814
|
}
|
|
4791
4815
|
}
|
|
4816
|
+
get minimum() {
|
|
4817
|
+
return super.minimum;
|
|
4818
|
+
}
|
|
4819
|
+
set minimum(value) {
|
|
4820
|
+
if (typeof value === 'number') {
|
|
4821
|
+
const coercedValue = this.#convertNumberToDate(value);
|
|
4822
|
+
if (coercedValue) {
|
|
4823
|
+
super.minimum = coercedValue;
|
|
4824
|
+
}
|
|
4825
|
+
}
|
|
4826
|
+
else if (typeof value === 'string') {
|
|
4827
|
+
super.minimum = value;
|
|
4828
|
+
}
|
|
4829
|
+
}
|
|
4830
|
+
get maximum() {
|
|
4831
|
+
return super.maximum;
|
|
4832
|
+
}
|
|
4833
|
+
set maximum(value) {
|
|
4834
|
+
if (typeof value === 'number') {
|
|
4835
|
+
const coercedValue = this.#convertNumberToDate(value);
|
|
4836
|
+
if (coercedValue) {
|
|
4837
|
+
super.maximum = coercedValue;
|
|
4838
|
+
}
|
|
4839
|
+
}
|
|
4840
|
+
else if (typeof value === 'string') {
|
|
4841
|
+
super.maximum = value;
|
|
4842
|
+
}
|
|
4843
|
+
}
|
|
4792
4844
|
}
|
|
4793
4845
|
|
|
4794
4846
|
class EmailInput extends Field {
|
|
@@ -99,17 +99,17 @@ declare class Checkbox extends Field {
|
|
|
99
99
|
enum?: any[] | undefined;
|
|
100
100
|
accept?: string[] | undefined;
|
|
101
101
|
enforceEnum?: boolean | undefined;
|
|
102
|
-
exclusiveMinimum?: number | undefined;
|
|
103
|
-
exclusiveMaximum?: number | undefined;
|
|
102
|
+
exclusiveMinimum?: string | number | undefined;
|
|
103
|
+
exclusiveMaximum?: string | number | undefined;
|
|
104
104
|
format?: string | undefined;
|
|
105
105
|
maxFileSize?: string | number | undefined;
|
|
106
106
|
maxLength?: number | undefined;
|
|
107
|
-
maximum?: number | undefined;
|
|
107
|
+
maximum?: string | number | undefined;
|
|
108
108
|
maxItems?: number | undefined;
|
|
109
109
|
minOccur?: number | undefined;
|
|
110
110
|
maxOccur?: number | undefined;
|
|
111
111
|
minLength?: number | undefined;
|
|
112
|
-
minimum?: number | undefined;
|
|
112
|
+
minimum?: string | number | undefined;
|
|
113
113
|
minItems?: number | undefined;
|
|
114
114
|
pattern?: string | undefined;
|
|
115
115
|
required?: boolean | undefined;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import Field from './Field';
|
|
2
2
|
declare class DateField extends Field {
|
|
3
|
+
#private;
|
|
3
4
|
private locale?;
|
|
4
5
|
private _dataFormat;
|
|
5
6
|
protected _applyDefaults(): void;
|
|
6
7
|
get value(): any;
|
|
7
8
|
set value(value: any);
|
|
9
|
+
get minimum(): string | number | undefined;
|
|
10
|
+
set minimum(value: string | number | undefined);
|
|
11
|
+
get maximum(): string | number | undefined;
|
|
12
|
+
set maximum(value: string | number | undefined);
|
|
8
13
|
}
|
|
9
14
|
export default DateField;
|
package/esm/types/src/Field.d.ts
CHANGED
|
@@ -44,10 +44,10 @@ declare class Field extends Scriptable<FieldJson> implements FieldModel {
|
|
|
44
44
|
set enumNames(e: string[] | undefined);
|
|
45
45
|
get required(): boolean;
|
|
46
46
|
set required(r: boolean);
|
|
47
|
-
get maximum(): number | undefined;
|
|
48
|
-
set maximum(m: number | undefined);
|
|
49
|
-
get minimum(): number | undefined;
|
|
50
|
-
set minimum(m: number | undefined);
|
|
47
|
+
get maximum(): string | number | undefined;
|
|
48
|
+
set maximum(m: string | number | undefined);
|
|
49
|
+
get minimum(): string | number | undefined;
|
|
50
|
+
set minimum(m: string | number | undefined);
|
|
51
51
|
private withCategory;
|
|
52
52
|
get editValue(): any;
|
|
53
53
|
get displayValue(): any;
|
|
@@ -142,10 +142,10 @@ declare class Field extends Scriptable<FieldJson> implements FieldModel {
|
|
|
142
142
|
get minLength(): number | undefined;
|
|
143
143
|
get pattern(): string | undefined;
|
|
144
144
|
get step(): number | undefined;
|
|
145
|
-
get exclusiveMinimum(): number | undefined;
|
|
146
|
-
set exclusiveMinimum(eM: number | undefined);
|
|
147
|
-
get exclusiveMaximum(): number | undefined;
|
|
148
|
-
set exclusiveMaximum(eM: number | undefined);
|
|
145
|
+
get exclusiveMinimum(): string | number | undefined;
|
|
146
|
+
set exclusiveMinimum(eM: string | number | undefined);
|
|
147
|
+
get exclusiveMaximum(): string | number | undefined;
|
|
148
|
+
set exclusiveMaximum(eM: string | number | undefined);
|
|
149
149
|
get default(): any;
|
|
150
150
|
private isNotEmpty;
|
|
151
151
|
protected evaluateConstraints(): any;
|
|
@@ -167,17 +167,17 @@ declare class Field extends Scriptable<FieldJson> implements FieldModel {
|
|
|
167
167
|
enum?: any[] | undefined;
|
|
168
168
|
accept?: string[] | undefined;
|
|
169
169
|
enforceEnum?: boolean | undefined;
|
|
170
|
-
exclusiveMinimum?: number | undefined;
|
|
171
|
-
exclusiveMaximum?: number | undefined;
|
|
170
|
+
exclusiveMinimum?: string | number | undefined;
|
|
171
|
+
exclusiveMaximum?: string | number | undefined;
|
|
172
172
|
format?: string | undefined;
|
|
173
173
|
maxFileSize?: string | number | undefined;
|
|
174
174
|
maxLength?: number | undefined;
|
|
175
|
-
maximum?: number | undefined;
|
|
175
|
+
maximum?: string | number | undefined;
|
|
176
176
|
maxItems?: number | undefined;
|
|
177
177
|
minOccur?: number | undefined;
|
|
178
178
|
maxOccur?: number | undefined;
|
|
179
179
|
minLength?: number | undefined;
|
|
180
|
-
minimum?: number | undefined;
|
|
180
|
+
minimum?: string | number | undefined;
|
|
181
181
|
minItems?: number | undefined;
|
|
182
182
|
pattern?: string | undefined;
|
|
183
183
|
required?: boolean | undefined;
|
package/esm/types/src/Form.d.ts
CHANGED
|
@@ -46,17 +46,17 @@ declare class Form extends Container<FormJson> implements FormModel {
|
|
|
46
46
|
} & {
|
|
47
47
|
accept?: string[] | undefined;
|
|
48
48
|
enforceEnum?: boolean | undefined;
|
|
49
|
-
exclusiveMinimum?: number | undefined;
|
|
50
|
-
exclusiveMaximum?: number | undefined;
|
|
49
|
+
exclusiveMinimum?: string | number | undefined;
|
|
50
|
+
exclusiveMaximum?: string | number | undefined;
|
|
51
51
|
format?: string | undefined;
|
|
52
52
|
maxFileSize?: string | number | undefined;
|
|
53
53
|
maxLength?: number | undefined;
|
|
54
|
-
maximum?: number | undefined;
|
|
54
|
+
maximum?: string | number | undefined;
|
|
55
55
|
maxItems?: number | undefined;
|
|
56
56
|
minOccur?: number | undefined;
|
|
57
57
|
maxOccur?: number | undefined;
|
|
58
58
|
minLength?: number | undefined;
|
|
59
|
-
minimum?: number | undefined;
|
|
59
|
+
minimum?: string | number | undefined;
|
|
60
60
|
minItems?: number | undefined;
|
|
61
61
|
pattern?: string | undefined;
|
|
62
62
|
required?: boolean | undefined;
|
|
@@ -5,6 +5,7 @@ declare class RuleEngine {
|
|
|
5
5
|
private _globalNames;
|
|
6
6
|
private readonly customFunctions;
|
|
7
7
|
private debugInfo;
|
|
8
|
+
private dependencyTracking;
|
|
8
9
|
constructor();
|
|
9
10
|
compileRule(rule: string, locale?: string): {
|
|
10
11
|
formula: Formula;
|
|
@@ -12,5 +13,7 @@ declare class RuleEngine {
|
|
|
12
13
|
};
|
|
13
14
|
execute(node: any, data: any, globals: any, useValueOf: boolean | undefined, eString: string): any;
|
|
14
15
|
trackDependency(subscriber: BaseModel): void;
|
|
16
|
+
setDependencyTracking(track: boolean): void;
|
|
17
|
+
getDependencyTracking(): boolean;
|
|
15
18
|
}
|
|
16
19
|
export default RuleEngine;
|
|
@@ -15,17 +15,17 @@ type TranslationConstraintsJson = {
|
|
|
15
15
|
export type ConstraintsJson = TranslationConstraintsJson & {
|
|
16
16
|
accept?: string[];
|
|
17
17
|
enforceEnum?: boolean;
|
|
18
|
-
exclusiveMinimum?: number;
|
|
19
|
-
exclusiveMaximum?: number;
|
|
18
|
+
exclusiveMinimum?: number | string;
|
|
19
|
+
exclusiveMaximum?: number | string;
|
|
20
20
|
format?: string;
|
|
21
21
|
maxFileSize?: number | string;
|
|
22
22
|
maxLength?: number;
|
|
23
|
-
maximum?: number;
|
|
23
|
+
maximum?: number | string;
|
|
24
24
|
maxItems?: number;
|
|
25
25
|
minOccur?: number;
|
|
26
26
|
maxOccur?: number;
|
|
27
27
|
minLength?: number;
|
|
28
|
-
minimum?: number;
|
|
28
|
+
minimum?: number | string;
|
|
29
29
|
minItems?: number;
|
|
30
30
|
pattern?: string;
|
|
31
31
|
required?: boolean;
|
package/lib/Checkbox.d.ts
CHANGED
|
@@ -99,17 +99,17 @@ declare class Checkbox extends Field {
|
|
|
99
99
|
enum?: any[] | undefined;
|
|
100
100
|
accept?: string[] | undefined;
|
|
101
101
|
enforceEnum?: boolean | undefined;
|
|
102
|
-
exclusiveMinimum?: number | undefined;
|
|
103
|
-
exclusiveMaximum?: number | undefined;
|
|
102
|
+
exclusiveMinimum?: string | number | undefined;
|
|
103
|
+
exclusiveMaximum?: string | number | undefined;
|
|
104
104
|
format?: string | undefined;
|
|
105
105
|
maxFileSize?: string | number | undefined;
|
|
106
106
|
maxLength?: number | undefined;
|
|
107
|
-
maximum?: number | undefined;
|
|
107
|
+
maximum?: string | number | undefined;
|
|
108
108
|
maxItems?: number | undefined;
|
|
109
109
|
minOccur?: number | undefined;
|
|
110
110
|
maxOccur?: number | undefined;
|
|
111
111
|
minLength?: number | undefined;
|
|
112
|
-
minimum?: number | undefined;
|
|
112
|
+
minimum?: string | number | undefined;
|
|
113
113
|
minItems?: number | undefined;
|
|
114
114
|
pattern?: string | undefined;
|
|
115
115
|
required?: boolean | undefined;
|
package/lib/DateField.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import Field from './Field';
|
|
2
2
|
declare class DateField extends Field {
|
|
3
|
+
#private;
|
|
3
4
|
private locale?;
|
|
4
5
|
private _dataFormat;
|
|
5
6
|
protected _applyDefaults(): void;
|
|
6
7
|
get value(): any;
|
|
7
8
|
set value(value: any);
|
|
9
|
+
get minimum(): string | number | undefined;
|
|
10
|
+
set minimum(value: string | number | undefined);
|
|
11
|
+
get maximum(): string | number | undefined;
|
|
12
|
+
set maximum(value: string | number | undefined);
|
|
8
13
|
}
|
|
9
14
|
export default DateField;
|
package/lib/DateField.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
2
7
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
8
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
9
|
};
|
|
10
|
+
var _DateField_instances, _DateField_convertNumberToDate;
|
|
5
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
12
|
const Field_1 = __importDefault(require("./Field"));
|
|
7
13
|
const af_formatters_1 = require("@aemforms/af-formatters");
|
|
8
14
|
class DateField extends Field_1.default {
|
|
9
15
|
constructor() {
|
|
10
16
|
super(...arguments);
|
|
17
|
+
_DateField_instances.add(this);
|
|
11
18
|
this._dataFormat = 'yyyy-MM-dd';
|
|
12
19
|
}
|
|
13
20
|
_applyDefaults() {
|
|
@@ -28,9 +35,9 @@ class DateField extends Field_1.default {
|
|
|
28
35
|
}
|
|
29
36
|
set value(value) {
|
|
30
37
|
if (typeof value === 'number') {
|
|
31
|
-
const coercedValue = (
|
|
32
|
-
if (
|
|
33
|
-
super.value =
|
|
38
|
+
const coercedValue = __classPrivateFieldGet(this, _DateField_instances, "m", _DateField_convertNumberToDate).call(this, value);
|
|
39
|
+
if (coercedValue) {
|
|
40
|
+
super.value = coercedValue;
|
|
34
41
|
}
|
|
35
42
|
}
|
|
36
43
|
else {
|
|
@@ -48,5 +55,40 @@ class DateField extends Field_1.default {
|
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
}
|
|
58
|
+
get minimum() {
|
|
59
|
+
return super.minimum;
|
|
60
|
+
}
|
|
61
|
+
set minimum(value) {
|
|
62
|
+
if (typeof value === 'number') {
|
|
63
|
+
const coercedValue = __classPrivateFieldGet(this, _DateField_instances, "m", _DateField_convertNumberToDate).call(this, value);
|
|
64
|
+
if (coercedValue) {
|
|
65
|
+
super.minimum = coercedValue;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else if (typeof value === 'string') {
|
|
69
|
+
super.minimum = value;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
get maximum() {
|
|
73
|
+
return super.maximum;
|
|
74
|
+
}
|
|
75
|
+
set maximum(value) {
|
|
76
|
+
if (typeof value === 'number') {
|
|
77
|
+
const coercedValue = __classPrivateFieldGet(this, _DateField_instances, "m", _DateField_convertNumberToDate).call(this, value);
|
|
78
|
+
if (coercedValue) {
|
|
79
|
+
super.maximum = coercedValue;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if (typeof value === 'string') {
|
|
83
|
+
super.maximum = value;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
51
86
|
}
|
|
87
|
+
_DateField_instances = new WeakSet(), _DateField_convertNumberToDate = function _DateField_convertNumberToDate(value) {
|
|
88
|
+
const coercedValue = (0, af_formatters_1.numberToDatetime)(value);
|
|
89
|
+
if (!isNaN(coercedValue)) {
|
|
90
|
+
return (0, af_formatters_1.formatDate)(coercedValue, this.locale, this._dataFormat);
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
};
|
|
52
94
|
exports.default = DateField;
|
package/lib/Field.d.ts
CHANGED
|
@@ -44,10 +44,10 @@ declare class Field extends Scriptable<FieldJson> implements FieldModel {
|
|
|
44
44
|
set enumNames(e: string[] | undefined);
|
|
45
45
|
get required(): boolean;
|
|
46
46
|
set required(r: boolean);
|
|
47
|
-
get maximum(): number | undefined;
|
|
48
|
-
set maximum(m: number | undefined);
|
|
49
|
-
get minimum(): number | undefined;
|
|
50
|
-
set minimum(m: number | undefined);
|
|
47
|
+
get maximum(): string | number | undefined;
|
|
48
|
+
set maximum(m: string | number | undefined);
|
|
49
|
+
get minimum(): string | number | undefined;
|
|
50
|
+
set minimum(m: string | number | undefined);
|
|
51
51
|
private withCategory;
|
|
52
52
|
get editValue(): any;
|
|
53
53
|
get displayValue(): any;
|
|
@@ -142,10 +142,10 @@ declare class Field extends Scriptable<FieldJson> implements FieldModel {
|
|
|
142
142
|
get minLength(): number | undefined;
|
|
143
143
|
get pattern(): string | undefined;
|
|
144
144
|
get step(): number | undefined;
|
|
145
|
-
get exclusiveMinimum(): number | undefined;
|
|
146
|
-
set exclusiveMinimum(eM: number | undefined);
|
|
147
|
-
get exclusiveMaximum(): number | undefined;
|
|
148
|
-
set exclusiveMaximum(eM: number | undefined);
|
|
145
|
+
get exclusiveMinimum(): string | number | undefined;
|
|
146
|
+
set exclusiveMinimum(eM: string | number | undefined);
|
|
147
|
+
get exclusiveMaximum(): string | number | undefined;
|
|
148
|
+
set exclusiveMaximum(eM: string | number | undefined);
|
|
149
149
|
get default(): any;
|
|
150
150
|
private isNotEmpty;
|
|
151
151
|
protected evaluateConstraints(): any;
|
|
@@ -167,17 +167,17 @@ declare class Field extends Scriptable<FieldJson> implements FieldModel {
|
|
|
167
167
|
enum?: any[] | undefined;
|
|
168
168
|
accept?: string[] | undefined;
|
|
169
169
|
enforceEnum?: boolean | undefined;
|
|
170
|
-
exclusiveMinimum?: number | undefined;
|
|
171
|
-
exclusiveMaximum?: number | undefined;
|
|
170
|
+
exclusiveMinimum?: string | number | undefined;
|
|
171
|
+
exclusiveMaximum?: string | number | undefined;
|
|
172
172
|
format?: string | undefined;
|
|
173
173
|
maxFileSize?: string | number | undefined;
|
|
174
174
|
maxLength?: number | undefined;
|
|
175
|
-
maximum?: number | undefined;
|
|
175
|
+
maximum?: string | number | undefined;
|
|
176
176
|
maxItems?: number | undefined;
|
|
177
177
|
minOccur?: number | undefined;
|
|
178
178
|
maxOccur?: number | undefined;
|
|
179
179
|
minLength?: number | undefined;
|
|
180
|
-
minimum?: number | undefined;
|
|
180
|
+
minimum?: string | number | undefined;
|
|
181
181
|
minItems?: number | undefined;
|
|
182
182
|
pattern?: string | undefined;
|
|
183
183
|
required?: boolean | undefined;
|
package/lib/Field.js
CHANGED
|
@@ -100,6 +100,7 @@ class Field extends Scriptable_1.default {
|
|
|
100
100
|
return finalType;
|
|
101
101
|
}
|
|
102
102
|
_applyDefaults() {
|
|
103
|
+
var _a;
|
|
103
104
|
super._applyDefaultsInModel();
|
|
104
105
|
this.coerceParam('required', 'boolean');
|
|
105
106
|
this.coerceParam('readOnly', 'boolean');
|
|
@@ -111,6 +112,9 @@ class Field extends Scriptable_1.default {
|
|
|
111
112
|
if (['plain-text', 'image'].indexOf(this.fieldType) === -1) {
|
|
112
113
|
this._jsonModel.value = undefined;
|
|
113
114
|
}
|
|
115
|
+
else if (this.fieldType === 'image') {
|
|
116
|
+
this._jsonModel.value = (_a = this._jsonModel.properties['fd:repoPath']) !== null && _a !== void 0 ? _a : this._jsonModel.value;
|
|
117
|
+
}
|
|
114
118
|
else {
|
|
115
119
|
this._jsonModel.default = this._jsonModel.default || this._jsonModel.value;
|
|
116
120
|
}
|
package/lib/Form.d.ts
CHANGED
|
@@ -46,17 +46,17 @@ declare class Form extends Container<FormJson> implements FormModel {
|
|
|
46
46
|
} & {
|
|
47
47
|
accept?: string[] | undefined;
|
|
48
48
|
enforceEnum?: boolean | undefined;
|
|
49
|
-
exclusiveMinimum?: number | undefined;
|
|
50
|
-
exclusiveMaximum?: number | undefined;
|
|
49
|
+
exclusiveMinimum?: string | number | undefined;
|
|
50
|
+
exclusiveMaximum?: string | number | undefined;
|
|
51
51
|
format?: string | undefined;
|
|
52
52
|
maxFileSize?: string | number | undefined;
|
|
53
53
|
maxLength?: number | undefined;
|
|
54
|
-
maximum?: number | undefined;
|
|
54
|
+
maximum?: string | number | undefined;
|
|
55
55
|
maxItems?: number | undefined;
|
|
56
56
|
minOccur?: number | undefined;
|
|
57
57
|
maxOccur?: number | undefined;
|
|
58
58
|
minLength?: number | undefined;
|
|
59
|
-
minimum?: number | undefined;
|
|
59
|
+
minimum?: string | number | undefined;
|
|
60
60
|
minItems?: number | undefined;
|
|
61
61
|
pattern?: string | undefined;
|
|
62
62
|
required?: boolean | undefined;
|
package/lib/Form.js
CHANGED
|
@@ -166,28 +166,35 @@ class Form extends Container_1.default {
|
|
|
166
166
|
return new SubmitMetaData_1.default(options);
|
|
167
167
|
}
|
|
168
168
|
setFocus(field, focusOption) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
currActiveChildIndex =
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
169
|
+
const dependencyTracking = this._ruleEngine.getDependencyTracking();
|
|
170
|
+
this._ruleEngine.setDependencyTracking(false);
|
|
171
|
+
try {
|
|
172
|
+
if (!focusOption) {
|
|
173
|
+
__classPrivateFieldGet(this, _Form_instances, "m", _Form_clearCurrentFocus).call(this, field);
|
|
174
|
+
__classPrivateFieldGet(this, _Form_instances, "m", _Form_setActiveFirstDeepChild).call(this, field);
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const parent = ((field === null || field === void 0 ? void 0 : field.isContainer) ? field : field.parent);
|
|
178
|
+
const navigableChidren = __classPrivateFieldGet(this, _Form_instances, "m", _Form_getNavigableChildren).call(this, parent.items);
|
|
179
|
+
let activeChild = parent.activeChild;
|
|
180
|
+
let currActiveChildIndex = activeChild !== null ? navigableChidren.indexOf(activeChild) : -1;
|
|
181
|
+
if (parent.activeChild === null) {
|
|
182
|
+
__classPrivateFieldGet(this, _Form_instances, "m", _Form_setActiveFirstDeepChild).call(this, navigableChidren[0]);
|
|
183
|
+
currActiveChildIndex = 0;
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
if (focusOption === index_1.FocusOption.NEXT_ITEM) {
|
|
187
|
+
activeChild = __classPrivateFieldGet(this, _Form_instances, "m", _Form_getNextItem).call(this, currActiveChildIndex, navigableChidren);
|
|
188
|
+
}
|
|
189
|
+
else if (focusOption === index_1.FocusOption.PREVIOUS_ITEM) {
|
|
190
|
+
activeChild = __classPrivateFieldGet(this, _Form_instances, "m", _Form_getPreviousItem).call(this, currActiveChildIndex, navigableChidren);
|
|
191
|
+
}
|
|
192
|
+
if (activeChild !== null) {
|
|
193
|
+
__classPrivateFieldGet(this, _Form_instances, "m", _Form_setActiveFirstDeepChild).call(this, activeChild);
|
|
194
|
+
}
|
|
188
195
|
}
|
|
189
|
-
|
|
190
|
-
|
|
196
|
+
finally {
|
|
197
|
+
this._ruleEngine.setDependencyTracking(dependencyTracking);
|
|
191
198
|
}
|
|
192
199
|
}
|
|
193
200
|
getState(forRestore = false) {
|
|
@@ -5,6 +5,7 @@ declare class RuleEngine {
|
|
|
5
5
|
private _globalNames;
|
|
6
6
|
private readonly customFunctions;
|
|
7
7
|
private debugInfo;
|
|
8
|
+
private dependencyTracking;
|
|
8
9
|
constructor();
|
|
9
10
|
compileRule(rule: string, locale?: string): {
|
|
10
11
|
formula: Formula;
|
|
@@ -12,5 +13,7 @@ declare class RuleEngine {
|
|
|
12
13
|
};
|
|
13
14
|
execute(node: any, data: any, globals: any, useValueOf: boolean | undefined, eString: string): any;
|
|
14
15
|
trackDependency(subscriber: BaseModel): void;
|
|
16
|
+
setDependencyTracking(track: boolean): void;
|
|
17
|
+
getDependencyTracking(): boolean;
|
|
15
18
|
}
|
|
16
19
|
export default RuleEngine;
|
package/lib/rules/RuleEngine.js
CHANGED
|
@@ -21,6 +21,7 @@ class RuleEngine {
|
|
|
21
21
|
'$event'
|
|
22
22
|
];
|
|
23
23
|
this.debugInfo = [];
|
|
24
|
+
this.dependencyTracking = true;
|
|
24
25
|
this.customFunctions = FunctionRuntime_1.FunctionRuntime.getFunctions();
|
|
25
26
|
}
|
|
26
27
|
compileRule(rule, locale) {
|
|
@@ -55,9 +56,15 @@ class RuleEngine {
|
|
|
55
56
|
return finalRes;
|
|
56
57
|
}
|
|
57
58
|
trackDependency(subscriber) {
|
|
58
|
-
if (this._context && this._context.field !== undefined && this._context.field !== subscriber) {
|
|
59
|
+
if (this.dependencyTracking && this._context && this._context.field !== undefined && this._context.field !== subscriber) {
|
|
59
60
|
subscriber._addDependent(this._context.field);
|
|
60
61
|
}
|
|
61
62
|
}
|
|
63
|
+
setDependencyTracking(track) {
|
|
64
|
+
this.dependencyTracking = track;
|
|
65
|
+
}
|
|
66
|
+
getDependencyTracking() {
|
|
67
|
+
return this.dependencyTracking;
|
|
68
|
+
}
|
|
62
69
|
}
|
|
63
70
|
exports.default = RuleEngine;
|
package/lib/types/Json.d.ts
CHANGED
|
@@ -15,17 +15,17 @@ declare type TranslationConstraintsJson = {
|
|
|
15
15
|
export declare type ConstraintsJson = TranslationConstraintsJson & {
|
|
16
16
|
accept?: string[];
|
|
17
17
|
enforceEnum?: boolean;
|
|
18
|
-
exclusiveMinimum?: number;
|
|
19
|
-
exclusiveMaximum?: number;
|
|
18
|
+
exclusiveMinimum?: number | string;
|
|
19
|
+
exclusiveMaximum?: number | string;
|
|
20
20
|
format?: string;
|
|
21
21
|
maxFileSize?: number | string;
|
|
22
22
|
maxLength?: number;
|
|
23
|
-
maximum?: number;
|
|
23
|
+
maximum?: number | string;
|
|
24
24
|
maxItems?: number;
|
|
25
25
|
minOccur?: number;
|
|
26
26
|
maxOccur?: number;
|
|
27
27
|
minLength?: number;
|
|
28
|
-
minimum?: number;
|
|
28
|
+
minimum?: number | string;
|
|
29
29
|
minItems?: number;
|
|
30
30
|
pattern?: string;
|
|
31
31
|
required?: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aemforms/af-core",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.119",
|
|
4
4
|
"description": "Core Module for Forms Runtime",
|
|
5
5
|
"author": "Adobe Systems",
|
|
6
6
|
"license": "Adobe Proprietary",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@adobe/json-formula": "0.1.50",
|
|
40
|
-
"@aemforms/af-formatters": "^0.22.
|
|
40
|
+
"@aemforms/af-formatters": "^0.22.119"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@babel/preset-env": "^7.20.2",
|