@yourself.create/ngx-form-designer 0.0.11 → 0.0.12
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/fesm2022/uch-web-ngx-form-designer.mjs +50 -12
- package/fesm2022/uch-web-ngx-form-designer.mjs.map +1 -1
- package/lib/form-designer/designer-state.service.d.ts +1 -1
- package/lib/form-designer/form-preview.component.d.ts +1 -1
- package/lib/form-designer/layout-canvas.component.d.ts +1 -1
- package/lib/form-designer/widget-inspector.component.d.ts +1 -1
- package/lib/form-renderer/form-journey-viewer.component.d.ts +3 -2
- package/lib/form-renderer/form-viewer/form-viewer.component.d.ts +3 -2
- package/lib/form-renderer/json-form-renderer.component.d.ts +5 -1
- package/lib/website/website-preview-shell.component.d.ts +1 -1
- package/lib/widgets/page-widgets/inline-quill-editor.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -433,6 +433,7 @@ class FormEngine {
|
|
|
433
433
|
}
|
|
434
434
|
updateSchema(schema) {
|
|
435
435
|
this.schema = schema;
|
|
436
|
+
let valuesChanged = false;
|
|
436
437
|
// Re-initialize any new fields
|
|
437
438
|
this.schema.fields.forEach(field => {
|
|
438
439
|
if (this.values[field.name] === undefined) {
|
|
@@ -442,10 +443,13 @@ class FormEngine {
|
|
|
442
443
|
else {
|
|
443
444
|
this.values[field.name] = null;
|
|
444
445
|
}
|
|
446
|
+
valuesChanged = true;
|
|
445
447
|
}
|
|
446
448
|
});
|
|
447
|
-
// Emit
|
|
448
|
-
|
|
449
|
+
// Emit only when schema updates also change the value map.
|
|
450
|
+
if (valuesChanged) {
|
|
451
|
+
this.valueSubject.next({ ...this.values });
|
|
452
|
+
}
|
|
449
453
|
// Re-validate all
|
|
450
454
|
this.validate();
|
|
451
455
|
}
|
|
@@ -5178,6 +5182,7 @@ class JsonFormRendererComponent {
|
|
|
5178
5182
|
eventApiExecutor;
|
|
5179
5183
|
navigateToPage;
|
|
5180
5184
|
uploadOnSubmit = true;
|
|
5185
|
+
severityEvaluationMode = 'rule-failed';
|
|
5181
5186
|
fieldDataAccessMap;
|
|
5182
5187
|
fieldDataAccessApi;
|
|
5183
5188
|
formContentId;
|
|
@@ -5478,7 +5483,7 @@ class JsonFormRendererComponent {
|
|
|
5478
5483
|
errors: fieldErrors,
|
|
5479
5484
|
validators: this.describeFieldValidators(field, visible, required, fieldErrors)
|
|
5480
5485
|
};
|
|
5481
|
-
states[field.name].isSeverityError = states[field.name].validators.some(validator => validator.severity === 'error' && validator.
|
|
5486
|
+
states[field.name].isSeverityError = states[field.name].validators.some(validator => validator.severity === 'error' && validator.isSeverityTriggered === true);
|
|
5482
5487
|
}
|
|
5483
5488
|
return states;
|
|
5484
5489
|
}
|
|
@@ -5556,11 +5561,13 @@ class JsonFormRendererComponent {
|
|
|
5556
5561
|
}
|
|
5557
5562
|
for (const outcome of ruleOutcomes) {
|
|
5558
5563
|
const message = this.getRuleValidationMessage(outcome.rule);
|
|
5564
|
+
const isSeverityTriggered = this.isRuleSeverityTriggered(outcome);
|
|
5559
5565
|
validators.push({
|
|
5560
5566
|
name: outcome.rule.name?.trim() || this.describeRuleName(outcome.rule),
|
|
5561
5567
|
source: 'rule',
|
|
5562
5568
|
active: true,
|
|
5563
5569
|
valid: outcome.conditionMet || outcome.nextAction !== undefined,
|
|
5570
|
+
...(isSeverityTriggered ? { isSeverityTriggered: true } : {}),
|
|
5564
5571
|
value: {
|
|
5565
5572
|
action: outcome.rule.action,
|
|
5566
5573
|
elseAction: outcome.rule.elseAction
|
|
@@ -5585,6 +5592,15 @@ class JsonFormRendererComponent {
|
|
|
5585
5592
|
}
|
|
5586
5593
|
return false;
|
|
5587
5594
|
}
|
|
5595
|
+
isRuleSeverityTriggered(outcome) {
|
|
5596
|
+
if (outcome.rule.severity !== 'error') {
|
|
5597
|
+
return false;
|
|
5598
|
+
}
|
|
5599
|
+
if (this.severityEvaluationMode === 'rule-matched') {
|
|
5600
|
+
return outcome.conditionMet && outcome.rule.elseAction === undefined;
|
|
5601
|
+
}
|
|
5602
|
+
return !outcome.conditionMet && outcome.nextAction === undefined;
|
|
5603
|
+
}
|
|
5588
5604
|
getRuleOutcomes(field) {
|
|
5589
5605
|
if (!field.rules?.length) {
|
|
5590
5606
|
return [];
|
|
@@ -5944,7 +5960,7 @@ class JsonFormRendererComponent {
|
|
|
5944
5960
|
|| typeof record['type'] === 'string';
|
|
5945
5961
|
}
|
|
5946
5962
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: JsonFormRendererComponent, deps: [{ token: DesignerStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5947
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: JsonFormRendererComponent, isStandalone: true, selector: "app-json-form-renderer", inputs: { schema: "schema", initialValues: "initialValues", initialFieldLabels: "initialFieldLabels", mode: "mode", device: "device", showLayoutGuides: "showLayoutGuides", breakpoint: "breakpoint", eventLogger: "eventLogger", eventApis: "eventApis", eventApiExecutor: "eventApiExecutor", navigateToPage: "navigateToPage", uploadOnSubmit: "uploadOnSubmit", fieldDataAccessMap: "fieldDataAccessMap", fieldDataAccessApi: "fieldDataAccessApi", formContentId: "formContentId", formContentVersion: "formContentVersion" }, outputs: { valueChange: "valueChange", groupedValueChange: "groupedValueChange", combinedValueChange: "combinedValueChange", validationChange: "validationChange", uploadedFilesChange: "uploadedFilesChange", formSubmit: "formSubmit" }, usesOnChanges: true, ngImport: i0, template: `
|
|
5963
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: JsonFormRendererComponent, isStandalone: true, selector: "app-json-form-renderer", inputs: { schema: "schema", initialValues: "initialValues", initialFieldLabels: "initialFieldLabels", mode: "mode", device: "device", showLayoutGuides: "showLayoutGuides", breakpoint: "breakpoint", eventLogger: "eventLogger", eventApis: "eventApis", eventApiExecutor: "eventApiExecutor", navigateToPage: "navigateToPage", uploadOnSubmit: "uploadOnSubmit", severityEvaluationMode: "severityEvaluationMode", fieldDataAccessMap: "fieldDataAccessMap", fieldDataAccessApi: "fieldDataAccessApi", formContentId: "formContentId", formContentVersion: "formContentVersion" }, outputs: { valueChange: "valueChange", groupedValueChange: "groupedValueChange", combinedValueChange: "combinedValueChange", validationChange: "validationChange", uploadedFilesChange: "uploadedFilesChange", formSubmit: "formSubmit" }, usesOnChanges: true, ngImport: i0, template: `
|
|
5948
5964
|
<div class="form-renderer-container"
|
|
5949
5965
|
data-fd="renderer"
|
|
5950
5966
|
[class.is-mobile]="device === 'mobile'"
|
|
@@ -6017,6 +6033,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
6017
6033
|
type: Input
|
|
6018
6034
|
}], uploadOnSubmit: [{
|
|
6019
6035
|
type: Input
|
|
6036
|
+
}], severityEvaluationMode: [{
|
|
6037
|
+
type: Input
|
|
6020
6038
|
}], fieldDataAccessMap: [{
|
|
6021
6039
|
type: Input
|
|
6022
6040
|
}], fieldDataAccessApi: [{
|
|
@@ -6217,6 +6235,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
6217
6235
|
class FormJourneyViewerComponent {
|
|
6218
6236
|
journey;
|
|
6219
6237
|
viewOnly = false;
|
|
6238
|
+
severityEvaluationMode = 'rule-failed';
|
|
6220
6239
|
eventApis = [];
|
|
6221
6240
|
eventApiExecutor;
|
|
6222
6241
|
initialValues;
|
|
@@ -6359,7 +6378,7 @@ class FormJourneyViewerComponent {
|
|
|
6359
6378
|
return flattened;
|
|
6360
6379
|
}
|
|
6361
6380
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FormJourneyViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6362
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FormJourneyViewerComponent, isStandalone: true, selector: "app-form-journey-viewer", inputs: { journey: "journey", viewOnly: "viewOnly", eventApis: "eventApis", eventApiExecutor: "eventApiExecutor", initialValues: "initialValues", initialFieldLabels: "initialFieldLabels", fieldDataAccessMap: "fieldDataAccessMap", fieldDataAccessApi: "fieldDataAccessApi", formContentId: "formContentId", formContentVersion: "formContentVersion" }, outputs: { formDataChange: "formDataChange", formDataByPageChange: "formDataByPageChange", formValidationChange: "formValidationChange", uploadedFilesChange: "uploadedFilesChange", submit: "submit", activePageIdChange: "activePageIdChange" }, viewQueries: [{ propertyName: "renderer", first: true, predicate: JsonFormRendererComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
6381
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FormJourneyViewerComponent, isStandalone: true, selector: "app-form-journey-viewer", inputs: { journey: "journey", viewOnly: "viewOnly", severityEvaluationMode: "severityEvaluationMode", eventApis: "eventApis", eventApiExecutor: "eventApiExecutor", initialValues: "initialValues", initialFieldLabels: "initialFieldLabels", fieldDataAccessMap: "fieldDataAccessMap", fieldDataAccessApi: "fieldDataAccessApi", formContentId: "formContentId", formContentVersion: "formContentVersion" }, outputs: { formDataChange: "formDataChange", formDataByPageChange: "formDataByPageChange", formValidationChange: "formValidationChange", uploadedFilesChange: "uploadedFilesChange", submit: "submit", activePageIdChange: "activePageIdChange" }, viewQueries: [{ propertyName: "renderer", first: true, predicate: JsonFormRendererComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
6363
6382
|
<div class="form-journey-viewer flex h-full w-full flex-col" data-fd="form-journey-viewer">
|
|
6364
6383
|
<div class="border-b border-gray-200 bg-white px-4 py-2 text-xs text-gray-600" data-fd="journey-progress">
|
|
6365
6384
|
{{ activePageIndex() + 1 }} / {{ journey.pages.length }}
|
|
@@ -6373,6 +6392,7 @@ class FormJourneyViewerComponent {
|
|
|
6373
6392
|
[initialValues]="values()"
|
|
6374
6393
|
[initialFieldLabels]="fieldLabels()"
|
|
6375
6394
|
[mode]="viewOnly ? 'preview' : 'live'"
|
|
6395
|
+
[severityEvaluationMode]="severityEvaluationMode"
|
|
6376
6396
|
[eventApis]="eventApis"
|
|
6377
6397
|
[eventApiExecutor]="eventApiExecutor"
|
|
6378
6398
|
[fieldDataAccessMap]="fieldDataAccessMap"
|
|
@@ -6387,7 +6407,7 @@ class FormJourneyViewerComponent {
|
|
|
6387
6407
|
</app-json-form-renderer>
|
|
6388
6408
|
</div>
|
|
6389
6409
|
</div>
|
|
6390
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }] });
|
|
6410
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "severityEvaluationMode", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }] });
|
|
6391
6411
|
}
|
|
6392
6412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FormJourneyViewerComponent, decorators: [{
|
|
6393
6413
|
type: Component,
|
|
@@ -6409,6 +6429,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
6409
6429
|
[initialValues]="values()"
|
|
6410
6430
|
[initialFieldLabels]="fieldLabels()"
|
|
6411
6431
|
[mode]="viewOnly ? 'preview' : 'live'"
|
|
6432
|
+
[severityEvaluationMode]="severityEvaluationMode"
|
|
6412
6433
|
[eventApis]="eventApis"
|
|
6413
6434
|
[eventApiExecutor]="eventApiExecutor"
|
|
6414
6435
|
[fieldDataAccessMap]="fieldDataAccessMap"
|
|
@@ -6430,6 +6451,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
6430
6451
|
args: [{ required: true }]
|
|
6431
6452
|
}], viewOnly: [{
|
|
6432
6453
|
type: Input
|
|
6454
|
+
}], severityEvaluationMode: [{
|
|
6455
|
+
type: Input
|
|
6433
6456
|
}], eventApis: [{
|
|
6434
6457
|
type: Input
|
|
6435
6458
|
}], eventApiExecutor: [{
|
|
@@ -6486,6 +6509,7 @@ class FormViewerComponent {
|
|
|
6486
6509
|
emitOnChange: true
|
|
6487
6510
|
};
|
|
6488
6511
|
viewOnly = false;
|
|
6512
|
+
severityEvaluationMode = 'rule-failed';
|
|
6489
6513
|
eventApis = [];
|
|
6490
6514
|
eventApiExecutor;
|
|
6491
6515
|
fieldDataAccessMap;
|
|
@@ -6767,7 +6791,7 @@ class FormViewerComponent {
|
|
|
6767
6791
|
return !!value && typeof value === 'object';
|
|
6768
6792
|
}
|
|
6769
6793
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FormViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6770
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FormViewerComponent, isStandalone: true, selector: "app-form-viewer", inputs: { schema: "schema", journey: "journey", data: "data", dataUsesFieldNameKeys: "dataUsesFieldNameKeys", options: "options", viewOnly: "viewOnly", eventApis: "eventApis", eventApiExecutor: "eventApiExecutor", fieldDataAccessMap: "fieldDataAccessMap", fieldDataAccessApi: "fieldDataAccessApi", formContentId: "formContentId", formContentVersion: "formContentVersion" }, outputs: { formDataChange: "formDataChange", formDataByPageChange: "formDataByPageChange", formValidationChange: "formValidationChange", uploadedFilesChange: "uploadedFilesChange", submit: "submit", activePageIdChange: "activePageIdChange" }, viewQueries: [{ propertyName: "renderer", first: true, predicate: JsonFormRendererComponent, descendants: true }, { propertyName: "journeyViewer", first: true, predicate: FormJourneyViewerComponent, descendants: true }], ngImport: i0, template: `
|
|
6794
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FormViewerComponent, isStandalone: true, selector: "app-form-viewer", inputs: { schema: "schema", journey: "journey", data: "data", dataUsesFieldNameKeys: "dataUsesFieldNameKeys", options: "options", viewOnly: "viewOnly", severityEvaluationMode: "severityEvaluationMode", eventApis: "eventApis", eventApiExecutor: "eventApiExecutor", fieldDataAccessMap: "fieldDataAccessMap", fieldDataAccessApi: "fieldDataAccessApi", formContentId: "formContentId", formContentVersion: "formContentVersion" }, outputs: { formDataChange: "formDataChange", formDataByPageChange: "formDataByPageChange", formValidationChange: "formValidationChange", uploadedFilesChange: "uploadedFilesChange", submit: "submit", activePageIdChange: "activePageIdChange" }, viewQueries: [{ propertyName: "renderer", first: true, predicate: JsonFormRendererComponent, descendants: true }, { propertyName: "journeyViewer", first: true, predicate: FormJourneyViewerComponent, descendants: true }], ngImport: i0, template: `
|
|
6771
6795
|
<div class="form-viewer-container flex flex-col h-full"
|
|
6772
6796
|
data-fd="form-viewer"
|
|
6773
6797
|
[attr.data-fd-mode]="viewOnly ? 'preview' : 'live'">
|
|
@@ -6777,6 +6801,7 @@ class FormViewerComponent {
|
|
|
6777
6801
|
data-fd="form-viewer-journey"
|
|
6778
6802
|
[journey]="journey!"
|
|
6779
6803
|
[viewOnly]="viewOnly"
|
|
6804
|
+
[severityEvaluationMode]="severityEvaluationMode"
|
|
6780
6805
|
[eventApis]="eventApis"
|
|
6781
6806
|
[eventApiExecutor]="eventApiExecutor"
|
|
6782
6807
|
[initialValues]="normalizedInitialValues"
|
|
@@ -6800,6 +6825,7 @@ class FormViewerComponent {
|
|
|
6800
6825
|
[initialValues]="normalizedInitialValues"
|
|
6801
6826
|
[initialFieldLabels]="normalizedInitialFieldLabels"
|
|
6802
6827
|
[mode]="viewOnly ? 'preview' : 'live'"
|
|
6828
|
+
[severityEvaluationMode]="severityEvaluationMode"
|
|
6803
6829
|
[breakpoint]="breakpoint()"
|
|
6804
6830
|
[uploadOnSubmit]="true"
|
|
6805
6831
|
[eventApis]="eventApis"
|
|
@@ -6828,7 +6854,7 @@ class FormViewerComponent {
|
|
|
6828
6854
|
</button>
|
|
6829
6855
|
</div>
|
|
6830
6856
|
</div>
|
|
6831
|
-
`, isInline: true, styles: [":host{display:block;height:100%;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }, { kind: "component", type: FormJourneyViewerComponent, selector: "app-form-journey-viewer", inputs: ["journey", "viewOnly", "eventApis", "eventApiExecutor", "initialValues", "initialFieldLabels", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["formDataChange", "formDataByPageChange", "formValidationChange", "uploadedFilesChange", "submit", "activePageIdChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6857
|
+
`, isInline: true, styles: [":host{display:block;height:100%;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "severityEvaluationMode", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }, { kind: "component", type: FormJourneyViewerComponent, selector: "app-form-journey-viewer", inputs: ["journey", "viewOnly", "severityEvaluationMode", "eventApis", "eventApiExecutor", "initialValues", "initialFieldLabels", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["formDataChange", "formDataByPageChange", "formValidationChange", "uploadedFilesChange", "submit", "activePageIdChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6832
6858
|
}
|
|
6833
6859
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FormViewerComponent, decorators: [{
|
|
6834
6860
|
type: Component,
|
|
@@ -6842,6 +6868,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
6842
6868
|
data-fd="form-viewer-journey"
|
|
6843
6869
|
[journey]="journey!"
|
|
6844
6870
|
[viewOnly]="viewOnly"
|
|
6871
|
+
[severityEvaluationMode]="severityEvaluationMode"
|
|
6845
6872
|
[eventApis]="eventApis"
|
|
6846
6873
|
[eventApiExecutor]="eventApiExecutor"
|
|
6847
6874
|
[initialValues]="normalizedInitialValues"
|
|
@@ -6865,6 +6892,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
6865
6892
|
[initialValues]="normalizedInitialValues"
|
|
6866
6893
|
[initialFieldLabels]="normalizedInitialFieldLabels"
|
|
6867
6894
|
[mode]="viewOnly ? 'preview' : 'live'"
|
|
6895
|
+
[severityEvaluationMode]="severityEvaluationMode"
|
|
6868
6896
|
[breakpoint]="breakpoint()"
|
|
6869
6897
|
[uploadOnSubmit]="true"
|
|
6870
6898
|
[eventApis]="eventApis"
|
|
@@ -6906,6 +6934,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
6906
6934
|
type: Input
|
|
6907
6935
|
}], viewOnly: [{
|
|
6908
6936
|
type: Input
|
|
6937
|
+
}], severityEvaluationMode: [{
|
|
6938
|
+
type: Input
|
|
6909
6939
|
}], eventApis: [{
|
|
6910
6940
|
type: Input
|
|
6911
6941
|
}], eventApiExecutor: [{
|
|
@@ -8999,7 +9029,7 @@ class LayoutCanvasComponent {
|
|
|
8999
9029
|
|
|
9000
9030
|
<!-- Hidden file input for import -->
|
|
9001
9031
|
<input type="file" #fileInput accept=".json" (change)="onFileSelected($event)" style="display: none;">
|
|
9002
|
-
`, isInline: true, styles: [".canvas-grid{background-image:radial-gradient(rgba(148,163,184,.35) 1px,transparent 1px);background-size:18px 18px}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}.custom-scrollbar:hover::-webkit-scrollbar-thumb{background:#00000026}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:transparent transparent}.custom-scrollbar:hover{scrollbar-color:rgba(0,0,0,.15) transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }, { kind: "ngmodule", type: UiIconModule }, { kind: "component", type: i3$1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }, { kind: "component", type: MonacoEditorComponent, selector: "app-monaco-editor", inputs: ["value", "language", "theme", "readOnly", "minimap", "options"], outputs: ["valueChange"] }] });
|
|
9032
|
+
`, isInline: true, styles: [".canvas-grid{background-image:radial-gradient(rgba(148,163,184,.35) 1px,transparent 1px);background-size:18px 18px}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}.custom-scrollbar:hover::-webkit-scrollbar-thumb{background:#00000026}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:transparent transparent}.custom-scrollbar:hover{scrollbar-color:rgba(0,0,0,.15) transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "severityEvaluationMode", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }, { kind: "ngmodule", type: UiIconModule }, { kind: "component", type: i3$1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }, { kind: "component", type: MonacoEditorComponent, selector: "app-monaco-editor", inputs: ["value", "language", "theme", "readOnly", "minimap", "options"], outputs: ["valueChange"] }] });
|
|
9003
9033
|
}
|
|
9004
9034
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: LayoutCanvasComponent, decorators: [{
|
|
9005
9035
|
type: Component,
|
|
@@ -19608,7 +19638,7 @@ class FormPreviewComponent {
|
|
|
19608
19638
|
</div>
|
|
19609
19639
|
</div>
|
|
19610
19640
|
</div>
|
|
19611
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }, { kind: "ngmodule", type: UiIconModule }, { kind: "component", type: i3$1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }] });
|
|
19641
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }, { kind: "ngmodule", type: UiIconModule }, { kind: "component", type: i3$1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "severityEvaluationMode", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }] });
|
|
19612
19642
|
}
|
|
19613
19643
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FormPreviewComponent, decorators: [{
|
|
19614
19644
|
type: Component,
|
|
@@ -26263,7 +26293,7 @@ class FormDesignerShellComponent {
|
|
|
26263
26293
|
</div>
|
|
26264
26294
|
</section>
|
|
26265
26295
|
</div>
|
|
26266
|
-
`, isInline: true, styles: ["@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-slide-in-right{animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "component", type: JsonFormDesignerComponent, selector: "app-json-form-designer", inputs: ["flavor", "mode", "eventApis", "eventApiExecutor", "pages", "activePageId", "canRemovePage"], outputs: ["pageAdd", "pageSelect", "pageRemove", "pageRename", "pageRouteChange"] }, { kind: "component", type: EventsWorkspaceComponent, selector: "app-events-workspace", inputs: ["schema", "readOnly", "eventApis", "eventApiBrowser", "pages"], outputs: ["schemaChange", "eventsSave"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }, { kind: "component", type: EmailRendererComponent, selector: "app-email-renderer", inputs: ["schema", "engine"] }, { kind: "component", type: GlobalDataManagerComponent, selector: "app-global-data-manager", outputs: ["close"] }, { kind: "component", type: AiChatDrawerComponent, selector: "app-ai-chat-drawer", outputs: ["close", "expand"] }, { kind: "component", type: AiWorkspaceComponent, selector: "app-ai-workspace", outputs: ["close"] }] });
|
|
26296
|
+
`, isInline: true, styles: ["@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-slide-in-right{animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "component", type: JsonFormDesignerComponent, selector: "app-json-form-designer", inputs: ["flavor", "mode", "eventApis", "eventApiExecutor", "pages", "activePageId", "canRemovePage"], outputs: ["pageAdd", "pageSelect", "pageRemove", "pageRename", "pageRouteChange"] }, { kind: "component", type: EventsWorkspaceComponent, selector: "app-events-workspace", inputs: ["schema", "readOnly", "eventApis", "eventApiBrowser", "pages"], outputs: ["schemaChange", "eventsSave"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "severityEvaluationMode", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }, { kind: "component", type: EmailRendererComponent, selector: "app-email-renderer", inputs: ["schema", "engine"] }, { kind: "component", type: GlobalDataManagerComponent, selector: "app-global-data-manager", outputs: ["close"] }, { kind: "component", type: AiChatDrawerComponent, selector: "app-ai-chat-drawer", outputs: ["close", "expand"] }, { kind: "component", type: AiWorkspaceComponent, selector: "app-ai-workspace", outputs: ["close"] }] });
|
|
26267
26297
|
}
|
|
26268
26298
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FormDesignerShellComponent, decorators: [{
|
|
26269
26299
|
type: Component,
|
|
@@ -31517,7 +31547,7 @@ class WebsitePreviewShellComponent {
|
|
|
31517
31547
|
}
|
|
31518
31548
|
</main>
|
|
31519
31549
|
</div>
|
|
31520
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }] });
|
|
31550
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: JsonFormRendererComponent, selector: "app-json-form-renderer", inputs: ["schema", "initialValues", "initialFieldLabels", "mode", "device", "showLayoutGuides", "breakpoint", "eventLogger", "eventApis", "eventApiExecutor", "navigateToPage", "uploadOnSubmit", "severityEvaluationMode", "fieldDataAccessMap", "fieldDataAccessApi", "formContentId", "formContentVersion"], outputs: ["valueChange", "groupedValueChange", "combinedValueChange", "validationChange", "uploadedFilesChange", "formSubmit"] }] });
|
|
31521
31551
|
}
|
|
31522
31552
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: WebsitePreviewShellComponent, decorators: [{
|
|
31523
31553
|
type: Component,
|
|
@@ -36973,6 +37003,9 @@ class InlineQuillEditorComponent {
|
|
|
36973
37003
|
this.applyEditorAppearance();
|
|
36974
37004
|
}
|
|
36975
37005
|
if (changes['html'] && !changes['html'].firstChange) {
|
|
37006
|
+
if (!this.readOnly) {
|
|
37007
|
+
return;
|
|
37008
|
+
}
|
|
36976
37009
|
this.setHtml(this.html ?? '');
|
|
36977
37010
|
}
|
|
36978
37011
|
}
|
|
@@ -37066,6 +37099,9 @@ class InlineQuillEditorComponent {
|
|
|
37066
37099
|
onEditorMouseDown(event) {
|
|
37067
37100
|
this.stopInteractionEvent(event);
|
|
37068
37101
|
}
|
|
37102
|
+
onEditorClick(event) {
|
|
37103
|
+
this.stopInteractionEvent(event);
|
|
37104
|
+
}
|
|
37069
37105
|
onEditorPointerDown(event) {
|
|
37070
37106
|
this.stopInteractionEvent(event);
|
|
37071
37107
|
}
|
|
@@ -37086,6 +37122,7 @@ class InlineQuillEditorComponent {
|
|
|
37086
37122
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: InlineQuillEditorComponent, isStandalone: true, selector: "app-inline-quill-editor", inputs: { html: "html", placeholder: "placeholder", readOnly: "readOnly", autoFocus: "autoFocus", containerClass: "containerClass", editorClass: "editorClass", editorStyle: "editorStyle" }, outputs: { htmlChange: "htmlChange", editorBlur: "editorBlur", editorFocus: "editorFocus" }, viewQueries: [{ propertyName: "editorRef", first: true, predicate: ["editor"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
37087
37123
|
<div class="inline-quill"
|
|
37088
37124
|
[ngClass]="containerClass"
|
|
37125
|
+
(click)="onEditorClick($event)"
|
|
37089
37126
|
(mousedown)="onEditorMouseDown($event)"
|
|
37090
37127
|
(pointerdown)="onEditorPointerDown($event)"
|
|
37091
37128
|
(touchstart)="onEditorTouchStart($event)"
|
|
@@ -37099,6 +37136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
37099
37136
|
args: [{ selector: 'app-inline-quill-editor', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
37100
37137
|
<div class="inline-quill"
|
|
37101
37138
|
[ngClass]="containerClass"
|
|
37139
|
+
(click)="onEditorClick($event)"
|
|
37102
37140
|
(mousedown)="onEditorMouseDown($event)"
|
|
37103
37141
|
(pointerdown)="onEditorPointerDown($event)"
|
|
37104
37142
|
(touchstart)="onEditorTouchStart($event)"
|