@praxisui/dynamic-form 10.0.0-rc.32 → 10.0.0-rc.34

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/dynamic-form",
3
- "version": "10.0.0-rc.32",
3
+ "version": "10.0.0-rc.34",
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.32",
13
- "@praxisui/dynamic-fields": "^10.0.0-rc.32",
14
- "@praxisui/metadata-editor": "^10.0.0-rc.32",
15
- "@praxisui/rich-content": "^10.0.0-rc.32",
16
- "@praxisui/settings-panel": "^10.0.0-rc.32",
17
- "@praxisui/visual-builder": "^10.0.0-rc.32",
18
- "@praxisui/core": "^10.0.0-rc.32",
12
+ "@praxisui/ai": "^10.0.0-rc.34",
13
+ "@praxisui/dynamic-fields": "^10.0.0-rc.34",
14
+ "@praxisui/metadata-editor": "^10.0.0-rc.34",
15
+ "@praxisui/rich-content": "^10.0.0-rc.34",
16
+ "@praxisui/settings-panel": "^10.0.0-rc.34",
17
+ "@praxisui/visual-builder": "^10.0.0-rc.34",
18
+ "@praxisui/core": "^10.0.0-rc.34",
19
19
  "rxjs": "^7.8.0"
20
20
  },
21
21
  "dependencies": {
@@ -2001,6 +2001,14 @@ declare class PraxisFilterForm implements OnChanges, OnDestroy {
2001
2001
  config: FormConfig;
2002
2002
  formId?: string;
2003
2003
  resourcePath?: string;
2004
+ /**
2005
+ * Optional logical endpoint key for multi-gateway filter schema resolution.
2006
+ */
2007
+ endpointKey?: ApiEndpoint;
2008
+ /**
2009
+ * Optional explicit API URL entry override for filter schema resolution.
2010
+ */
2011
+ apiUrlEntry?: ApiUrlEntry | null;
2004
2012
  mode?: string;
2005
2013
  formReady: EventEmitter<{
2006
2014
  formGroup: FormGroup<Record<string, any>>;
@@ -2018,11 +2026,18 @@ declare class PraxisFilterForm implements OnChanges, OnDestroy {
2018
2026
  form: FormGroup<Record<string, any>>;
2019
2027
  private valueChangesSub?;
2020
2028
  private statusChangesSub?;
2029
+ private schemaSub?;
2030
+ private hydratedFieldMetadata;
2031
+ private lastHydratedResourceKey;
2021
2032
  private columnFieldsCache;
2022
2033
  private singleFieldCache;
2034
+ private readonly crudService;
2035
+ private readonly resourceDiscovery;
2036
+ private readonly cdr;
2023
2037
  constructor(dynamicForm: DynamicFormService);
2024
2038
  ngOnChanges(changes: SimpleChanges): void;
2025
2039
  ngOnDestroy(): void;
2040
+ private loadFilterSchemaFieldsIfNeeded;
2026
2041
  private buildForm;
2027
2042
  private buildRestorableValues;
2028
2043
  private hasExplicitDefaultValue;
@@ -2036,7 +2051,7 @@ declare class PraxisFilterForm implements OnChanges, OnDestroy {
2036
2051
  trackByRow(i: number, _row: FormRow): string;
2037
2052
  trackByColumn(i: number, col: FormColumn): string;
2038
2053
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterForm, never>;
2039
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilterForm, "praxis-filter-form", never, { "config": { "alias": "config"; "required": true; }; "formId": { "alias": "formId"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; }, { "formReady": "formReady"; "valueChange": "valueChange"; "submit": "submit"; "requestSearch": "requestSearch"; "validityChange": "validityChange"; }, never, never, true, never>;
2054
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilterForm, "praxis-filter-form", never, { "config": { "alias": "config"; "required": true; }; "formId": { "alias": "formId"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "endpointKey": { "alias": "endpointKey"; "required": false; }; "apiUrlEntry": { "alias": "apiUrlEntry"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; }, { "formReady": "formReady"; "valueChange": "valueChange"; "submit": "submit"; "requestSearch": "requestSearch"; "validityChange": "validityChange"; }, never, never, true, never>;
2040
2055
  }
2041
2056
 
2042
2057
  /** Metadata for PraxisFilterForm component */
@@ -2048,6 +2063,9 @@ interface PraxisFilterFormWidgetEditorInputs {
2048
2063
  config?: FormConfig | null;
2049
2064
  formId?: string;
2050
2065
  resourcePath?: string;
2066
+ apiEndpointKey?: ApiEndpoint | string | null;
2067
+ endpointKey?: ApiEndpoint;
2068
+ apiUrlEntry?: ApiUrlEntry | null;
2051
2069
  mode?: DynamicFormMode | string;
2052
2070
  [key: string]: unknown;
2053
2071
  }
@@ -2061,13 +2079,33 @@ declare class PraxisFilterFormWidgetConfigEditor implements SettingsValueProvide
2061
2079
  readonly isDirty$: BehaviorSubject<boolean>;
2062
2080
  readonly isValid$: BehaviorSubject<boolean>;
2063
2081
  readonly isBusy$: BehaviorSubject<boolean>;
2082
+ schemaWarning: string;
2064
2083
  private readonly subscription;
2084
+ private schemaSubscription?;
2085
+ private childBusy;
2086
+ private schemaLoading;
2087
+ private resourcePathDraft?;
2088
+ private committedBaselineDocument?;
2089
+ private readonly crudService;
2090
+ private readonly resourceDiscovery;
2091
+ private readonly cdr;
2092
+ get effectiveResourcePath(): string;
2093
+ get effectiveEndpointKey(): ApiEndpoint | undefined;
2094
+ get effectiveApiUrlEntry(): ApiUrlEntry | null | undefined;
2095
+ onResourceQuickConnect(resourcePath: string): void;
2096
+ onResourceQuickClear(): void;
2097
+ private updateDirtyState;
2065
2098
  ngAfterViewInit(): void;
2066
2099
  ngOnDestroy(): void;
2067
2100
  getSettingsValue(): PraxisFilterFormWidgetEditorValue;
2068
2101
  onSave(): PraxisFilterFormWidgetEditorValue;
2069
2102
  reset(): void;
2103
+ private publishBusy;
2070
2104
  private initializeChildEditor;
2105
+ private applyBaselineDocumentToChildEditor;
2106
+ private applyDraftDocumentToChildEditor;
2107
+ private loadFilterSchemaFieldsIfNeeded;
2108
+ private buildDiscoveryOptions;
2071
2109
  private buildValue;
2072
2110
  private createDocumentFromInputs;
2073
2111
  private normalizeMode;
@@ -2415,6 +2453,11 @@ declare class FieldConfiguratorComponent {
2415
2453
 
2416
2454
  interface PraxisDynamicFormWidgetEditorInputs {
2417
2455
  config?: FormConfig | null;
2456
+ resourcePath?: string | null;
2457
+ apiEndpointKey?: ApiEndpoint | string | null;
2458
+ endpointKey?: ApiEndpoint;
2459
+ apiUrlEntry?: ApiUrlEntry | null;
2460
+ schemaSource?: 'resource' | 'filter';
2418
2461
  layoutPolicy?: DynamicFormLayoutPolicy | null;
2419
2462
  configPersistenceStrategy?: 'local-first' | 'input-first';
2420
2463
  mode?: DynamicFormMode;
@@ -2433,23 +2476,42 @@ interface PraxisDynamicFormWidgetEditorValue {
2433
2476
  inputs: PraxisDynamicFormWidgetEditorInputs;
2434
2477
  }
2435
2478
  declare class PraxisDynamicFormWidgetConfigEditor implements SettingsValueProvider, AfterViewInit, OnDestroy {
2479
+ private readonly crudService;
2480
+ private readonly resourceDiscovery;
2481
+ private readonly cdr;
2436
2482
  inputs: PraxisDynamicFormWidgetEditorInputs | null;
2437
2483
  widgetKey?: string;
2438
2484
  appliedValues$?: Observable<unknown>;
2439
2485
  private appliedSource?;
2486
+ private appliedResourcePath?;
2440
2487
  /** Runtime evidence supplied by the existing component editor context resolver. */
2441
2488
  context: Record<string, unknown>;
2442
2489
  formEditor?: PraxisDynamicFormConfigEditor;
2443
2490
  readonly isDirty$: BehaviorSubject<boolean>;
2444
2491
  readonly isValid$: BehaviorSubject<boolean>;
2445
2492
  readonly isBusy$: BehaviorSubject<boolean>;
2493
+ schemaWarning: string;
2446
2494
  private readonly subscription;
2495
+ private schemaSubscription?;
2496
+ private childBusy;
2497
+ private schemaLoading;
2447
2498
  private initialEditorConfig?;
2499
+ private committedBaselineConfig?;
2500
+ private committedBaselineDocument?;
2448
2501
  private sourceDraft?;
2502
+ private resourcePathDraft?;
2503
+ private optionalInject;
2449
2504
  get configurationSource(): 'local-first' | 'input-first';
2505
+ get effectiveResourcePath(): string;
2506
+ get effectiveEndpointKey(): ApiEndpoint | undefined;
2507
+ get effectiveApiUrlEntry(): ApiUrlEntry | null | undefined;
2508
+ get effectiveDiscoveryIntent(): 'crud' | 'filter';
2450
2509
  changeConfigurationSource(value: string): void;
2510
+ onResourceQuickConnect(resourcePath: string): void;
2511
+ onResourceQuickClear(): void;
2512
+ private baselineResourcePath;
2451
2513
  private updateDirtyState;
2452
- private readonly cdr;
2514
+ private publishBusy;
2453
2515
  ngAfterViewInit(): void;
2454
2516
  ngOnDestroy(): void;
2455
2517
  getSettingsValue(): PraxisDynamicFormWidgetEditorValue;
@@ -2457,6 +2519,10 @@ declare class PraxisDynamicFormWidgetConfigEditor implements SettingsValueProvid
2457
2519
  acceptAppliedValue(value: unknown): void;
2458
2520
  reset(): void;
2459
2521
  private initializeChildEditor;
2522
+ private applyBaselineDocumentToChildEditor;
2523
+ private applyDraftDocumentToChildEditor;
2524
+ private loadResourceSchemaFieldsIfNeeded;
2525
+ private buildDiscoveryOptions;
2460
2526
  private buildValue;
2461
2527
  private createDocumentFromInputs;
2462
2528
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisDynamicFormWidgetConfigEditor, never>;