@praxisui/dynamic-form 10.0.0-rc.22 → 10.0.0-rc.24
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.
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-10-
|
|
3
|
+
"generatedAt": "2026-10-15T13:55:17.858Z",
|
|
4
4
|
"packageName": "@praxisui/dynamic-form",
|
|
5
|
-
"packageVersion": "10.0.0-rc.
|
|
5
|
+
"packageVersion": "10.0.0-rc.24",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 2,
|
|
@@ -897,7 +897,6 @@
|
|
|
897
897
|
}
|
|
898
898
|
],
|
|
899
899
|
"configEditor": {
|
|
900
|
-
"component": "[ref:PraxisDynamicFormWidgetConfigEditor]",
|
|
901
900
|
"title": "Configurar formulário"
|
|
902
901
|
},
|
|
903
902
|
"authoringManifestRef": {
|
|
@@ -10361,7 +10360,6 @@
|
|
|
10361
10360
|
}
|
|
10362
10361
|
],
|
|
10363
10362
|
"configEditor": {
|
|
10364
|
-
"component": "[ref:PraxisFilterFormWidgetConfigEditor]",
|
|
10365
10363
|
"title": "Configurar filtro"
|
|
10366
10364
|
},
|
|
10367
10365
|
"authoringManifestRef": {
|
|
@@ -33618,103 +33618,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
33618
33618
|
type: Output
|
|
33619
33619
|
}] } });
|
|
33620
33620
|
|
|
33621
|
-
class PraxisFilterFormWidgetConfigEditor {
|
|
33622
|
-
inputs = null;
|
|
33623
|
-
widgetKey;
|
|
33624
|
-
formEditor;
|
|
33625
|
-
isDirty$ = new BehaviorSubject(false);
|
|
33626
|
-
isValid$ = new BehaviorSubject(true);
|
|
33627
|
-
isBusy$ = new BehaviorSubject(false);
|
|
33628
|
-
subscription = new Subscription();
|
|
33629
|
-
ngAfterViewInit() {
|
|
33630
|
-
if (!this.formEditor) {
|
|
33631
|
-
return;
|
|
33632
|
-
}
|
|
33633
|
-
this.formEditor.supportsPresentationSettings = false;
|
|
33634
|
-
this.initializeChildEditor();
|
|
33635
|
-
this.subscription.add(this.formEditor.isDirty$.subscribe((value) => this.isDirty$.next(value)));
|
|
33636
|
-
this.subscription.add(this.formEditor.isValid$.subscribe((value) => this.isValid$.next(value)));
|
|
33637
|
-
this.subscription.add(this.formEditor.isBusy$.subscribe((value) => this.isBusy$.next(value)));
|
|
33638
|
-
}
|
|
33639
|
-
ngOnDestroy() {
|
|
33640
|
-
this.subscription.unsubscribe();
|
|
33641
|
-
}
|
|
33642
|
-
getSettingsValue() {
|
|
33643
|
-
return this.buildValue(this.formEditor?.getSettingsValue());
|
|
33644
|
-
}
|
|
33645
|
-
onSave() {
|
|
33646
|
-
return this.buildValue(this.formEditor?.onSave?.() ?? this.formEditor?.getSettingsValue());
|
|
33647
|
-
}
|
|
33648
|
-
reset() {
|
|
33649
|
-
this.formEditor?.reset?.();
|
|
33650
|
-
}
|
|
33651
|
-
initializeChildEditor() {
|
|
33652
|
-
const document = this.createDocumentFromInputs();
|
|
33653
|
-
const serialized = serializeDynamicFormAuthoringDocument(document);
|
|
33654
|
-
const editor = this.formEditor;
|
|
33655
|
-
editor.onJsonConfigChange?.(serialized);
|
|
33656
|
-
editor.initialDocument = document;
|
|
33657
|
-
editor.initialConfig = document.config;
|
|
33658
|
-
editor.updateDirtyState?.('filter-form-widget-config-init');
|
|
33659
|
-
editor.isDirty$?.next(false);
|
|
33660
|
-
editor.isValid$?.next(true);
|
|
33661
|
-
}
|
|
33662
|
-
buildValue(rawDocument) {
|
|
33663
|
-
const document = parseLegacyOrDynamicFormDocument(rawDocument ?? this.createDocumentFromInputs());
|
|
33664
|
-
return {
|
|
33665
|
-
inputs: {
|
|
33666
|
-
...(this.inputs ?? {}),
|
|
33667
|
-
config: document.config,
|
|
33668
|
-
formId: this.inputs?.formId ?? this.widgetKey,
|
|
33669
|
-
resourcePath: this.inputs?.resourcePath,
|
|
33670
|
-
mode: document.bindings?.mode ?? this.inputs?.mode ?? 'create',
|
|
33671
|
-
},
|
|
33672
|
-
};
|
|
33673
|
-
}
|
|
33674
|
-
createDocumentFromInputs() {
|
|
33675
|
-
return parseLegacyOrDynamicFormDocument({
|
|
33676
|
-
kind: 'praxis.dynamic-form.editor',
|
|
33677
|
-
version: 1,
|
|
33678
|
-
config: this.inputs?.config ?? { sections: [], fieldMetadata: [] },
|
|
33679
|
-
bindings: {
|
|
33680
|
-
mode: this.normalizeMode(this.inputs?.mode) ?? 'create',
|
|
33681
|
-
},
|
|
33682
|
-
});
|
|
33683
|
-
}
|
|
33684
|
-
normalizeMode(value) {
|
|
33685
|
-
return value === 'create' || value === 'edit' || value === 'view'
|
|
33686
|
-
? value
|
|
33687
|
-
: undefined;
|
|
33688
|
-
}
|
|
33689
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisFilterFormWidgetConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33690
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.14", type: PraxisFilterFormWidgetConfigEditor, isStandalone: true, selector: "praxis-filter-form-widget-config-editor", inputs: { inputs: "inputs", widgetKey: "widgetKey" }, viewQueries: [{ propertyName: "formEditor", first: true, predicate: ["formEditor"], descendants: true }], ngImport: i0, template: `
|
|
33691
|
-
<section data-testid="filter-form-widget-config-editor">
|
|
33692
|
-
<praxis-dynamic-form-config-editor #formEditor />
|
|
33693
|
-
</section>
|
|
33694
|
-
`, isInline: true, dependencies: [{ kind: "component", type: PraxisDynamicFormConfigEditor, selector: "praxis-dynamic-form-config-editor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33695
|
-
}
|
|
33696
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisFilterFormWidgetConfigEditor, decorators: [{
|
|
33697
|
-
type: Component,
|
|
33698
|
-
args: [{
|
|
33699
|
-
selector: 'praxis-filter-form-widget-config-editor',
|
|
33700
|
-
standalone: true,
|
|
33701
|
-
imports: [PraxisDynamicFormConfigEditor],
|
|
33702
|
-
template: `
|
|
33703
|
-
<section data-testid="filter-form-widget-config-editor">
|
|
33704
|
-
<praxis-dynamic-form-config-editor #formEditor />
|
|
33705
|
-
</section>
|
|
33706
|
-
`,
|
|
33707
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
33708
|
-
}]
|
|
33709
|
-
}], propDecorators: { inputs: [{
|
|
33710
|
-
type: Input
|
|
33711
|
-
}], widgetKey: [{
|
|
33712
|
-
type: Input
|
|
33713
|
-
}], formEditor: [{
|
|
33714
|
-
type: ViewChild,
|
|
33715
|
-
args: ['formEditor']
|
|
33716
|
-
}] } });
|
|
33717
|
-
|
|
33718
33621
|
const PRAXIS_FILTER_FORM_PHASE1_PORTS = [
|
|
33719
33622
|
{
|
|
33720
33623
|
id: 'config',
|
|
@@ -33781,7 +33684,7 @@ const PRAXIS_FILTER_FORM_COMPONENT_METADATA = {
|
|
|
33781
33684
|
description: 'Filter form driven by FormConfig and fieldMetadata.',
|
|
33782
33685
|
icon: 'filter_alt',
|
|
33783
33686
|
configEditor: {
|
|
33784
|
-
|
|
33687
|
+
loadComponent: async () => (await Promise.resolve().then(function () { return praxisFilterFormWidgetConfigEditor; })).PraxisFilterFormWidgetConfigEditor,
|
|
33785
33688
|
title: 'Configurar filtro',
|
|
33786
33689
|
},
|
|
33787
33690
|
authoringManifestRef: {
|
|
@@ -33857,6 +33760,108 @@ function providePraxisFilterFormMetadata() {
|
|
|
33857
33760
|
};
|
|
33858
33761
|
}
|
|
33859
33762
|
|
|
33763
|
+
class PraxisFilterFormWidgetConfigEditor {
|
|
33764
|
+
inputs = null;
|
|
33765
|
+
widgetKey;
|
|
33766
|
+
formEditor;
|
|
33767
|
+
isDirty$ = new BehaviorSubject(false);
|
|
33768
|
+
isValid$ = new BehaviorSubject(true);
|
|
33769
|
+
isBusy$ = new BehaviorSubject(false);
|
|
33770
|
+
subscription = new Subscription();
|
|
33771
|
+
ngAfterViewInit() {
|
|
33772
|
+
if (!this.formEditor) {
|
|
33773
|
+
return;
|
|
33774
|
+
}
|
|
33775
|
+
this.formEditor.supportsPresentationSettings = false;
|
|
33776
|
+
this.initializeChildEditor();
|
|
33777
|
+
this.subscription.add(this.formEditor.isDirty$.subscribe((value) => this.isDirty$.next(value)));
|
|
33778
|
+
this.subscription.add(this.formEditor.isValid$.subscribe((value) => this.isValid$.next(value)));
|
|
33779
|
+
this.subscription.add(this.formEditor.isBusy$.subscribe((value) => this.isBusy$.next(value)));
|
|
33780
|
+
}
|
|
33781
|
+
ngOnDestroy() {
|
|
33782
|
+
this.subscription.unsubscribe();
|
|
33783
|
+
}
|
|
33784
|
+
getSettingsValue() {
|
|
33785
|
+
return this.buildValue(this.formEditor?.getSettingsValue());
|
|
33786
|
+
}
|
|
33787
|
+
onSave() {
|
|
33788
|
+
return this.buildValue(this.formEditor?.onSave?.() ?? this.formEditor?.getSettingsValue());
|
|
33789
|
+
}
|
|
33790
|
+
reset() {
|
|
33791
|
+
this.formEditor?.reset?.();
|
|
33792
|
+
}
|
|
33793
|
+
initializeChildEditor() {
|
|
33794
|
+
const document = this.createDocumentFromInputs();
|
|
33795
|
+
const serialized = serializeDynamicFormAuthoringDocument(document);
|
|
33796
|
+
const editor = this.formEditor;
|
|
33797
|
+
editor.onJsonConfigChange?.(serialized);
|
|
33798
|
+
editor.initialDocument = document;
|
|
33799
|
+
editor.initialConfig = document.config;
|
|
33800
|
+
editor.updateDirtyState?.('filter-form-widget-config-init');
|
|
33801
|
+
editor.isDirty$?.next(false);
|
|
33802
|
+
editor.isValid$?.next(true);
|
|
33803
|
+
}
|
|
33804
|
+
buildValue(rawDocument) {
|
|
33805
|
+
const document = parseLegacyOrDynamicFormDocument(rawDocument ?? this.createDocumentFromInputs());
|
|
33806
|
+
return {
|
|
33807
|
+
inputs: {
|
|
33808
|
+
...(this.inputs ?? {}),
|
|
33809
|
+
config: document.config,
|
|
33810
|
+
formId: this.inputs?.formId ?? this.widgetKey,
|
|
33811
|
+
resourcePath: this.inputs?.resourcePath,
|
|
33812
|
+
mode: document.bindings?.mode ?? this.inputs?.mode ?? 'create',
|
|
33813
|
+
},
|
|
33814
|
+
};
|
|
33815
|
+
}
|
|
33816
|
+
createDocumentFromInputs() {
|
|
33817
|
+
return parseLegacyOrDynamicFormDocument({
|
|
33818
|
+
kind: 'praxis.dynamic-form.editor',
|
|
33819
|
+
version: 1,
|
|
33820
|
+
config: this.inputs?.config ?? { sections: [], fieldMetadata: [] },
|
|
33821
|
+
bindings: {
|
|
33822
|
+
mode: this.normalizeMode(this.inputs?.mode) ?? 'create',
|
|
33823
|
+
},
|
|
33824
|
+
});
|
|
33825
|
+
}
|
|
33826
|
+
normalizeMode(value) {
|
|
33827
|
+
return value === 'create' || value === 'edit' || value === 'view'
|
|
33828
|
+
? value
|
|
33829
|
+
: undefined;
|
|
33830
|
+
}
|
|
33831
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisFilterFormWidgetConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33832
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.14", type: PraxisFilterFormWidgetConfigEditor, isStandalone: true, selector: "praxis-filter-form-widget-config-editor", inputs: { inputs: "inputs", widgetKey: "widgetKey" }, viewQueries: [{ propertyName: "formEditor", first: true, predicate: ["formEditor"], descendants: true }], ngImport: i0, template: `
|
|
33833
|
+
<section data-testid="filter-form-widget-config-editor">
|
|
33834
|
+
<praxis-dynamic-form-config-editor #formEditor />
|
|
33835
|
+
</section>
|
|
33836
|
+
`, isInline: true, dependencies: [{ kind: "component", type: PraxisDynamicFormConfigEditor, selector: "praxis-dynamic-form-config-editor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33837
|
+
}
|
|
33838
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisFilterFormWidgetConfigEditor, decorators: [{
|
|
33839
|
+
type: Component,
|
|
33840
|
+
args: [{
|
|
33841
|
+
selector: 'praxis-filter-form-widget-config-editor',
|
|
33842
|
+
standalone: true,
|
|
33843
|
+
imports: [PraxisDynamicFormConfigEditor],
|
|
33844
|
+
template: `
|
|
33845
|
+
<section data-testid="filter-form-widget-config-editor">
|
|
33846
|
+
<praxis-dynamic-form-config-editor #formEditor />
|
|
33847
|
+
</section>
|
|
33848
|
+
`,
|
|
33849
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
33850
|
+
}]
|
|
33851
|
+
}], propDecorators: { inputs: [{
|
|
33852
|
+
type: Input
|
|
33853
|
+
}], widgetKey: [{
|
|
33854
|
+
type: Input
|
|
33855
|
+
}], formEditor: [{
|
|
33856
|
+
type: ViewChild,
|
|
33857
|
+
args: ['formEditor']
|
|
33858
|
+
}] } });
|
|
33859
|
+
|
|
33860
|
+
var praxisFilterFormWidgetConfigEditor = /*#__PURE__*/Object.freeze({
|
|
33861
|
+
__proto__: null,
|
|
33862
|
+
PraxisFilterFormWidgetConfigEditor: PraxisFilterFormWidgetConfigEditor
|
|
33863
|
+
});
|
|
33864
|
+
|
|
33860
33865
|
class PraxisDynamicFormWidgetConfigEditor {
|
|
33861
33866
|
inputs = null;
|
|
33862
33867
|
widgetKey;
|
|
@@ -34086,6 +34091,11 @@ function isRecord(value) {
|
|
|
34086
34091
|
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
34087
34092
|
}
|
|
34088
34093
|
|
|
34094
|
+
var praxisDynamicFormWidgetConfigEditor = /*#__PURE__*/Object.freeze({
|
|
34095
|
+
__proto__: null,
|
|
34096
|
+
PraxisDynamicFormWidgetConfigEditor: PraxisDynamicFormWidgetConfigEditor
|
|
34097
|
+
});
|
|
34098
|
+
|
|
34089
34099
|
// Owner-qualified dictionary keys work through the registry's existing editorial
|
|
34090
34100
|
// resolver without requiring a consuming builder to know the form's namespace.
|
|
34091
34101
|
const FORM_EDITORIAL_LABELS = {
|
|
@@ -34356,7 +34366,7 @@ const PRAXIS_DYNAMIC_FORM_COMPONENT_METADATA = {
|
|
|
34356
34366
|
source: 'PRAXIS_DYNAMIC_FORM_AUTHORING_MANIFEST',
|
|
34357
34367
|
},
|
|
34358
34368
|
configEditor: {
|
|
34359
|
-
|
|
34369
|
+
loadComponent: async () => (await Promise.resolve().then(function () { return praxisDynamicFormWidgetConfigEditor; })).PraxisDynamicFormWidgetConfigEditor,
|
|
34360
34370
|
contextResolver: ({ materializedInputs }) => ({
|
|
34361
34371
|
context: {
|
|
34362
34372
|
effectiveConfig: materializedInputs?.['config'],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dynamic-form",
|
|
3
|
-
"version": "10.0.0-rc.
|
|
3
|
+
"version": "10.0.0-rc.24",
|
|
4
4
|
"description": "Angular dynamic form engine for Praxis UI: metadata-driven forms, hooks, and services integrating @praxisui/* packages.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"@angular/forms": "^21.0.0",
|
|
10
10
|
"@angular/material": "^21.0.0",
|
|
11
11
|
"@angular/router": "^21.0.0",
|
|
12
|
-
"@praxisui/ai": "^10.0.0-rc.
|
|
13
|
-
"@praxisui/dynamic-fields": "^10.0.0-rc.
|
|
14
|
-
"@praxisui/metadata-editor": "^10.0.0-rc.
|
|
15
|
-
"@praxisui/rich-content": "^10.0.0-rc.
|
|
16
|
-
"@praxisui/settings-panel": "^10.0.0-rc.
|
|
17
|
-
"@praxisui/visual-builder": "^10.0.0-rc.
|
|
18
|
-
"@praxisui/core": "^10.0.0-rc.
|
|
12
|
+
"@praxisui/ai": "^10.0.0-rc.24",
|
|
13
|
+
"@praxisui/dynamic-fields": "^10.0.0-rc.24",
|
|
14
|
+
"@praxisui/metadata-editor": "^10.0.0-rc.24",
|
|
15
|
+
"@praxisui/rich-content": "^10.0.0-rc.24",
|
|
16
|
+
"@praxisui/settings-panel": "^10.0.0-rc.24",
|
|
17
|
+
"@praxisui/visual-builder": "^10.0.0-rc.24",
|
|
18
|
+
"@praxisui/core": "^10.0.0-rc.24",
|
|
19
19
|
"rxjs": "^7.8.0"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|