@praxisui/table 3.0.0-beta.3 → 3.0.0-beta.4

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/index.d.ts CHANGED
@@ -250,6 +250,12 @@ declare class TableDefaultsProvider {
250
250
 
251
251
  type FilterConfig = {
252
252
  alwaysVisibleFields?: string[];
253
+ /**
254
+ * Deep metadata overrides for any field rendered by the filter runtime.
255
+ * This is used by runtime authoring to project field-level patches without
256
+ * mutating the canonical schema metadata returned by the source.
257
+ */
258
+ fieldMetadataOverrides?: Record<string, Record<string, any>>;
253
259
  /**
254
260
  * Deep metadata overrides for always-visible fields.
255
261
  * Source of truth remains the filter DTO; this map applies controlled
@@ -394,11 +400,14 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
394
400
  * Keys are field names from the filter DTO schema.
395
401
  */
396
402
  alwaysVisibleFieldMetadataOverrides: Record<string, Record<string, any>> | undefined;
403
+ /** Runtime field-level metadata overrides applied by the metadata editor. */
404
+ private fieldMetadataOverrides;
397
405
  /** Additional selected field ids to render before pinned always-visible */
398
406
  selectedFieldIds: string[];
399
407
  tags?: FilterTag[];
400
408
  allowSaveTags?: boolean;
401
409
  persistenceKey?: string;
410
+ disablePersistence: boolean;
402
411
  i18n?: Partial<I18n>;
403
412
  changeDebounceMs: number;
404
413
  /** Controla a exibição do botão de preferências dentro do filtro */
@@ -478,6 +487,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
478
487
  gridSelectedMetas: FieldMetadata[];
479
488
  gridAlwaysVisibleMetas: FieldMetadata[];
480
489
  toggleMetas: FieldMetadata[];
490
+ activeEditableFieldName: string | null;
481
491
  advancedConfig?: FormConfig;
482
492
  displayedTags: FilterTag[];
483
493
  private savedTags;
@@ -539,6 +549,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
539
549
  private resolveSchemaPrefs;
540
550
  private domIdSeed;
541
551
  private componentKeyId;
552
+ private isPersistenceDisabled;
542
553
  private resolveConfigKey;
543
554
  getComponentKeyId(): string | null;
544
555
  private filterTagsKey;
@@ -553,6 +564,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
553
564
  private readonly global;
554
565
  private resolveRuntimeEnvironment;
555
566
  private getLogger;
567
+ get activeEditableFieldMeta(): FieldMetadata | null;
568
+ get activeEditableFieldLabel(): string | null;
569
+ isFieldAuthoringEnabled(): boolean;
556
570
  private buildFilterLogOptions;
557
571
  private isFilterDebugEnabled;
558
572
  private logFilterDebug;
@@ -562,6 +576,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
562
576
  private setSchemaLoading;
563
577
  private setActiveFiltersCount;
564
578
  private loadSavedTagsFromStorage;
579
+ private resolveInputDto;
580
+ private resolveInitialDto;
581
+ private syncFormsFromDto;
565
582
  ngOnInit(): Promise<void>;
566
583
  ngAfterViewInit(): void;
567
584
  onWindowResize(): void;
@@ -618,13 +635,23 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
618
635
  private isAllowedFilterControlType;
619
636
  private inferFilterControlType;
620
637
  private cloneAlwaysVisibleMetadataOverrides;
638
+ private cloneFieldMetadataOverrides;
621
639
  private sanitizeAlwaysVisibleMetadataOverrides;
622
640
  private sanitizeMetadataOverrideValue;
623
641
  private mergeAlwaysVisibleMetadata;
642
+ private mergeFieldMetadataOverride;
624
643
  ngDoCheck(): void;
625
644
  onAlwaysComponents(map: Map<string, any>): void;
626
645
  onSelectedComponents(map: Map<string, any>): void;
627
646
  onToggleComponents(map: Map<string, any>): void;
647
+ onFieldInteraction(event: Event): void;
648
+ openSelectedFieldEditor(): void;
649
+ private isLocalE2eAuthoringOptInEnabled;
650
+ private openFieldMetadataEditorInternal;
651
+ private applyFieldMetadataPatch;
652
+ private buildFieldMetadataEditorSeed;
653
+ private getEditableFieldMeta;
654
+ private resolveFieldNameFromEvent;
628
655
  onAdvancedReady(event: {
629
656
  formGroup: FormGroup<Record<string, any>>;
630
657
  }): void;
@@ -706,7 +733,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
706
733
  private isEditableElement;
707
734
  private focusQuick;
708
735
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilter, [null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
709
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilter, "praxis-filter", never, { "resourcePath": { "alias": "resourcePath"; "required": true; }; "fieldMetadata": { "alias": "fieldMetadata"; "required": false; }; "filterId": { "alias": "filterId"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "value": { "alias": "value"; "required": false; }; "alwaysVisibleFields": { "alias": "alwaysVisibleFields"; "required": false; }; "alwaysVisibleFieldMetadataOverrides": { "alias": "alwaysVisibleFieldMetadataOverrides"; "required": false; }; "selectedFieldIds": { "alias": "selectedFieldIds"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; "allowSaveTags": { "alias": "allowSaveTags"; "required": false; }; "persistenceKey": { "alias": "persistenceKey"; "required": false; }; "i18n": { "alias": "i18n"; "required": false; }; "changeDebounceMs": { "alias": "changeDebounceMs"; "required": false; }; "showFilterSettings": { "alias": "showFilterSettings"; "required": false; }; "confirmTagDelete": { "alias": "confirmTagDelete"; "required": false; }; "placeBooleansInActions": { "alias": "placeBooleansInActions"; "required": false; }; "showToggleLabels": { "alias": "showToggleLabels"; "required": false; }; "useInlineSelectVariant": { "alias": "useInlineSelectVariant"; "required": false; }; "useInlineSearchableSelectVariant": { "alias": "useInlineSearchableSelectVariant"; "required": false; }; "useInlineMultiSelectVariant": { "alias": "useInlineMultiSelectVariant"; "required": false; }; "useInlineInputVariant": { "alias": "useInlineInputVariant"; "required": false; }; "useInlineToggleVariant": { "alias": "useInlineToggleVariant"; "required": false; }; "useInlineRangeVariant": { "alias": "useInlineRangeVariant"; "required": false; }; "useInlineDateVariant": { "alias": "useInlineDateVariant"; "required": false; }; "useInlineDateRangeVariant": { "alias": "useInlineDateRangeVariant"; "required": false; }; "useInlineTimeVariant": { "alias": "useInlineTimeVariant"; "required": false; }; "useInlineTimeRangeVariant": { "alias": "useInlineTimeRangeVariant"; "required": false; }; "useInlineTreeSelectVariant": { "alias": "useInlineTreeSelectVariant"; "required": false; }; "alwaysMinWidth": { "alias": "alwaysMinWidth"; "required": false; }; "alwaysColsMd": { "alias": "alwaysColsMd"; "required": false; }; "alwaysColsLg": { "alias": "alwaysColsLg"; "required": false; }; "tagColor": { "alias": "tagColor"; "required": false; }; "tagVariant": { "alias": "tagVariant"; "required": false; }; "tagButtonColor": { "alias": "tagButtonColor"; "required": false; }; "actionsButtonColor": { "alias": "actionsButtonColor"; "required": false; }; "actionsVariant": { "alias": "actionsVariant"; "required": false; }; "overlayVariant": { "alias": "overlayVariant"; "required": false; }; "overlayBackdrop": { "alias": "overlayBackdrop"; "required": false; }; "advancedOpenMode": { "alias": "advancedOpenMode"; "required": false; }; "advancedClearButtonsEnabled": { "alias": "advancedClearButtonsEnabled"; "required": false; }; }, { "submit": "submit"; "change": "change"; "clear": "clear"; "modeChange": "modeChange"; "requestSearch": "requestSearch"; "tagsChange": "tagsChange"; "selectedFieldIdsChange": "selectedFieldIdsChange"; "metaChanged": "metaChanged"; "schemaStatusChange": "schemaStatusChange"; }, never, never, true, never>;
736
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilter, "praxis-filter", never, { "resourcePath": { "alias": "resourcePath"; "required": true; }; "fieldMetadata": { "alias": "fieldMetadata"; "required": false; }; "filterId": { "alias": "filterId"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "value": { "alias": "value"; "required": false; }; "alwaysVisibleFields": { "alias": "alwaysVisibleFields"; "required": false; }; "alwaysVisibleFieldMetadataOverrides": { "alias": "alwaysVisibleFieldMetadataOverrides"; "required": false; }; "selectedFieldIds": { "alias": "selectedFieldIds"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; "allowSaveTags": { "alias": "allowSaveTags"; "required": false; }; "persistenceKey": { "alias": "persistenceKey"; "required": false; }; "disablePersistence": { "alias": "disablePersistence"; "required": false; }; "i18n": { "alias": "i18n"; "required": false; }; "changeDebounceMs": { "alias": "changeDebounceMs"; "required": false; }; "showFilterSettings": { "alias": "showFilterSettings"; "required": false; }; "confirmTagDelete": { "alias": "confirmTagDelete"; "required": false; }; "placeBooleansInActions": { "alias": "placeBooleansInActions"; "required": false; }; "showToggleLabels": { "alias": "showToggleLabels"; "required": false; }; "useInlineSelectVariant": { "alias": "useInlineSelectVariant"; "required": false; }; "useInlineSearchableSelectVariant": { "alias": "useInlineSearchableSelectVariant"; "required": false; }; "useInlineMultiSelectVariant": { "alias": "useInlineMultiSelectVariant"; "required": false; }; "useInlineInputVariant": { "alias": "useInlineInputVariant"; "required": false; }; "useInlineToggleVariant": { "alias": "useInlineToggleVariant"; "required": false; }; "useInlineRangeVariant": { "alias": "useInlineRangeVariant"; "required": false; }; "useInlineDateVariant": { "alias": "useInlineDateVariant"; "required": false; }; "useInlineDateRangeVariant": { "alias": "useInlineDateRangeVariant"; "required": false; }; "useInlineTimeVariant": { "alias": "useInlineTimeVariant"; "required": false; }; "useInlineTimeRangeVariant": { "alias": "useInlineTimeRangeVariant"; "required": false; }; "useInlineTreeSelectVariant": { "alias": "useInlineTreeSelectVariant"; "required": false; }; "alwaysMinWidth": { "alias": "alwaysMinWidth"; "required": false; }; "alwaysColsMd": { "alias": "alwaysColsMd"; "required": false; }; "alwaysColsLg": { "alias": "alwaysColsLg"; "required": false; }; "tagColor": { "alias": "tagColor"; "required": false; }; "tagVariant": { "alias": "tagVariant"; "required": false; }; "tagButtonColor": { "alias": "tagButtonColor"; "required": false; }; "actionsButtonColor": { "alias": "actionsButtonColor"; "required": false; }; "actionsVariant": { "alias": "actionsVariant"; "required": false; }; "overlayVariant": { "alias": "overlayVariant"; "required": false; }; "overlayBackdrop": { "alias": "overlayBackdrop"; "required": false; }; "advancedOpenMode": { "alias": "advancedOpenMode"; "required": false; }; "advancedClearButtonsEnabled": { "alias": "advancedClearButtonsEnabled"; "required": false; }; }, { "submit": "submit"; "change": "change"; "clear": "clear"; "modeChange": "modeChange"; "requestSearch": "requestSearch"; "tagsChange": "tagsChange"; "selectedFieldIdsChange": "selectedFieldIdsChange"; "metaChanged": "metaChanged"; "schemaStatusChange": "schemaStatusChange"; }, never, never, true, never>;
710
737
  }
711
738
 
712
739
  type SchemaFieldHint = {
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "3.0.0-beta.3",
3
+ "version": "3.0.0-beta.4",
4
4
  "description": "Advanced data table for Angular (Praxis UI) with editing, filtering, sorting, virtualization, and settings panel integration.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.0.0",
7
7
  "@angular/core": "^20.0.0",
8
- "@praxisui/core": "^3.0.0-beta.3",
9
- "@praxisui/dynamic-fields": "^3.0.0-beta.3",
10
- "@praxisui/dynamic-form": "^3.0.0-beta.3",
11
- "@praxisui/metadata-editor": "^3.0.0-beta.3",
12
- "@praxisui/settings-panel": "^3.0.0-beta.3",
13
- "@praxisui/table-rule-builder": "^3.0.0-beta.3"
8
+ "@praxisui/core": "^3.0.0-beta.4",
9
+ "@praxisui/dynamic-fields": "^3.0.0-beta.4",
10
+ "@praxisui/dynamic-form": "^3.0.0-beta.4",
11
+ "@praxisui/metadata-editor": "^3.0.0-beta.4",
12
+ "@praxisui/settings-panel": "^3.0.0-beta.4",
13
+ "@praxisui/table-rule-builder": "^3.0.0-beta.4"
14
14
  },
15
15
  "dependencies": {
16
16
  "tslib": "^2.3.0"