@praxisui/table 3.0.0-beta.0 → 3.0.0-beta.10
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/README.md +171 -82
- package/fesm2022/praxisui-table-filter-drawer-adapter.mjs +0 -1
- package/fesm2022/{praxisui-table-filter-form-dialog-host.component-C2rQnHE1.mjs → praxisui-table-filter-form-dialog-host.component-EHoM1uuJ.mjs} +2 -3
- package/fesm2022/praxisui-table-table-ai.adapter-C5rjLb8E.mjs +0 -1
- package/fesm2022/praxisui-table.mjs +5594 -2673
- package/index.d.ts +145 -61
- package/package.json +7 -7
- package/fesm2022/praxisui-table-filter-drawer-adapter.mjs.map +0 -1
- package/fesm2022/praxisui-table-filter-form-dialog-host.component-C2rQnHE1.mjs.map +0 -1
- package/fesm2022/praxisui-table-table-ai.adapter-C5rjLb8E.mjs.map +0 -1
- package/fesm2022/praxisui-table.mjs.map +0 -1
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnChanges, OnDestroy, EventEmitter, ElementRef, SimpleChanges, OnInit, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone,
|
|
2
|
+
import { OnChanges, OnDestroy, EventEmitter, ElementRef, SimpleChanges, OnInit, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, Provider, AfterContentInit } from '@angular/core';
|
|
3
3
|
import { ActivatedRoute } from '@angular/router';
|
|
4
4
|
import { MatTable, MatTableDataSource } from '@angular/material/table';
|
|
5
5
|
import { MatPaginator, PageEvent } from '@angular/material/paginator';
|
|
@@ -10,9 +10,8 @@ import { CdkDragDrop, CdkDragEnd, CdkDrag, CdkDropList } from '@angular/cdk/drag
|
|
|
10
10
|
import { BehaviorSubject, Subscription, Observable } from 'rxjs';
|
|
11
11
|
import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
|
|
12
12
|
import * as _praxisui_core from '@praxisui/core';
|
|
13
|
-
import { TableConfig, LoggerService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, LoadingState, ColumnDefinition, ConnectionStorage, LoadingOrchestrator, PraxisLoadingRenderer, GlobalActionSpec, IconPickerService, GlobalActionField, TableConfigService, FieldDefinition,
|
|
13
|
+
import { TableConfig, LoggerService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, LoadingState, ColumnDefinition, ConnectionStorage, LoadingOrchestrator, PraxisLoadingRenderer, GlobalActionSpec, IconPickerService, SurfaceOpenPayload, GlobalActionField, TableConfigService, FieldDefinition, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
|
|
14
14
|
import { FunctionRegistry, DslParser } from '@praxisui/specification';
|
|
15
|
-
import { DatePipe, DecimalPipe, CurrencyPipe, PercentPipe, UpperCasePipe, LowerCasePipe, TitleCasePipe } from '@angular/common';
|
|
16
15
|
import { FormGroup, FormControl, FormBuilder } from '@angular/forms';
|
|
17
16
|
import { MatDialog } from '@angular/material/dialog';
|
|
18
17
|
import { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
|
|
@@ -174,61 +173,69 @@ declare const PERCENTAGE_PRESETS: FormatPreset[];
|
|
|
174
173
|
declare const STRING_PRESETS: FormatPreset[];
|
|
175
174
|
declare const BOOLEAN_PRESETS: FormatPreset[];
|
|
176
175
|
|
|
176
|
+
interface FormattingLocalization {
|
|
177
|
+
locale?: string;
|
|
178
|
+
dateTime?: {
|
|
179
|
+
dateFormat?: string;
|
|
180
|
+
timeFormat?: string;
|
|
181
|
+
dateTimeFormat?: string;
|
|
182
|
+
};
|
|
183
|
+
number?: {
|
|
184
|
+
decimalSeparator?: string;
|
|
185
|
+
thousandsSeparator?: string;
|
|
186
|
+
defaultPrecision?: number;
|
|
187
|
+
negativeSign?: string;
|
|
188
|
+
negativeSignPosition?: 'before' | 'after';
|
|
189
|
+
};
|
|
190
|
+
currency?: {
|
|
191
|
+
code?: string;
|
|
192
|
+
symbol?: string;
|
|
193
|
+
position?: 'before' | 'after';
|
|
194
|
+
spacing?: boolean;
|
|
195
|
+
precision?: number;
|
|
196
|
+
};
|
|
197
|
+
formatting?: {
|
|
198
|
+
percentageFormat?: string;
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
interface DataFormattingOptions {
|
|
202
|
+
locale?: string;
|
|
203
|
+
localization?: FormattingLocalization | null;
|
|
204
|
+
}
|
|
177
205
|
declare class DataFormattingService {
|
|
178
|
-
private
|
|
179
|
-
private
|
|
180
|
-
private
|
|
181
|
-
private
|
|
182
|
-
private
|
|
183
|
-
private
|
|
184
|
-
|
|
185
|
-
private locale;
|
|
186
|
-
private groupSeparator;
|
|
187
|
-
private decimalSeparator;
|
|
188
|
-
constructor(datePipe: DatePipe, decimalPipe: DecimalPipe, currencyPipe: CurrencyPipe, percentPipe: PercentPipe, upperCasePipe: UpperCasePipe, lowerCasePipe: LowerCasePipe, titleCasePipe: TitleCasePipe, locale: string);
|
|
189
|
-
/**
|
|
190
|
-
* Apply formatting to a value based on column type and format string
|
|
191
|
-
*/
|
|
192
|
-
formatValue(value: any, columnType: ColumnDataType$1, formatString: string): any;
|
|
206
|
+
private readonly hostLocale;
|
|
207
|
+
private readonly localePipeCache;
|
|
208
|
+
private readonly numericSeparatorCache;
|
|
209
|
+
private readonly upperCasePipe;
|
|
210
|
+
private readonly lowerCasePipe;
|
|
211
|
+
private readonly titleCasePipe;
|
|
212
|
+
constructor(hostLocale: string);
|
|
193
213
|
/**
|
|
194
|
-
*
|
|
214
|
+
* Apply formatting to a value based on column type and format string.
|
|
215
|
+
* Formatting can honor a runtime locale/localization override before
|
|
216
|
+
* falling back to the host LOCALE_ID.
|
|
195
217
|
*/
|
|
218
|
+
formatValue(value: any, columnType: ColumnDataType$1, formatString: string, options?: DataFormattingOptions): any;
|
|
196
219
|
private coerceValueToType;
|
|
197
|
-
/**
|
|
198
|
-
* Format date values
|
|
199
|
-
*/
|
|
200
220
|
private formatDate;
|
|
201
|
-
/**
|
|
202
|
-
* Format number values
|
|
203
|
-
*/
|
|
204
221
|
private formatNumber;
|
|
205
|
-
/**
|
|
206
|
-
* Format currency values
|
|
207
|
-
*/
|
|
208
222
|
private formatCurrency;
|
|
209
|
-
/**
|
|
210
|
-
* Format percentage values
|
|
211
|
-
*/
|
|
212
223
|
private formatPercentage;
|
|
213
|
-
private removeGrouping;
|
|
214
|
-
/**
|
|
215
|
-
* Format string values
|
|
216
|
-
*/
|
|
217
224
|
private formatString;
|
|
218
|
-
/**
|
|
219
|
-
* Apply string transformations
|
|
220
|
-
*/
|
|
221
225
|
private applyStringTransform;
|
|
222
226
|
private isMaskFormat;
|
|
223
227
|
private applyMask;
|
|
224
|
-
/**
|
|
225
|
-
* Format boolean values
|
|
226
|
-
*/
|
|
227
228
|
private formatBoolean;
|
|
228
|
-
/**
|
|
229
|
-
* Check if formatting is needed for a column
|
|
230
|
-
*/
|
|
231
229
|
needsFormatting(columnType: ColumnDataType$1, formatString: string | null | undefined): boolean;
|
|
230
|
+
getHostLocale(): string;
|
|
231
|
+
private resolveFormattingContext;
|
|
232
|
+
private getLocalePipeBundle;
|
|
233
|
+
private getNumericSeparators;
|
|
234
|
+
private parseDigitsInfo;
|
|
235
|
+
private getNumberOverrides;
|
|
236
|
+
private normalizeNumericInput;
|
|
237
|
+
private composeNumericParts;
|
|
238
|
+
private escapeRegExp;
|
|
232
239
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataFormattingService, never>;
|
|
233
240
|
static ɵprov: i0.ɵɵInjectableDeclaration<DataFormattingService>;
|
|
234
241
|
}
|
|
@@ -251,6 +258,12 @@ declare class TableDefaultsProvider {
|
|
|
251
258
|
|
|
252
259
|
type FilterConfig = {
|
|
253
260
|
alwaysVisibleFields?: string[];
|
|
261
|
+
/**
|
|
262
|
+
* Deep metadata overrides for any field rendered by the filter runtime.
|
|
263
|
+
* This is used by runtime authoring to project field-level patches without
|
|
264
|
+
* mutating the canonical schema metadata returned by the source.
|
|
265
|
+
*/
|
|
266
|
+
fieldMetadataOverrides?: Record<string, Record<string, any>>;
|
|
254
267
|
/**
|
|
255
268
|
* Deep metadata overrides for always-visible fields.
|
|
256
269
|
* Source of truth remains the filter DTO; this map applies controlled
|
|
@@ -395,15 +408,26 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
395
408
|
* Keys are field names from the filter DTO schema.
|
|
396
409
|
*/
|
|
397
410
|
alwaysVisibleFieldMetadataOverrides: Record<string, Record<string, any>> | undefined;
|
|
411
|
+
/** Runtime field-level metadata overrides applied by the metadata editor. */
|
|
412
|
+
private fieldMetadataOverrides;
|
|
398
413
|
/** Additional selected field ids to render before pinned always-visible */
|
|
399
414
|
selectedFieldIds: string[];
|
|
400
415
|
tags?: FilterTag[];
|
|
401
416
|
allowSaveTags?: boolean;
|
|
402
417
|
persistenceKey?: string;
|
|
418
|
+
disablePersistence: boolean;
|
|
403
419
|
i18n?: Partial<I18n>;
|
|
404
420
|
changeDebounceMs: number;
|
|
405
421
|
/** Controla a exibição do botão de preferências dentro do filtro */
|
|
406
422
|
showFilterSettings: boolean;
|
|
423
|
+
/** Controla a exibição do botão de filtro avançado */
|
|
424
|
+
showAdvancedButton: boolean;
|
|
425
|
+
/** Controla a exibição do botão de adicionar campos */
|
|
426
|
+
showAddButton: boolean;
|
|
427
|
+
/** Controla a exibição do botão de limpar filtros */
|
|
428
|
+
showClearButton: boolean;
|
|
429
|
+
/** Controla a exibição do botão de pesquisar/aplicar filtros */
|
|
430
|
+
showSearchButton: boolean;
|
|
407
431
|
/** Exibir confirmação ao excluir atalho (tag) */
|
|
408
432
|
confirmTagDelete: boolean;
|
|
409
433
|
/** Move toggles/booleans simples para a área de ações */
|
|
@@ -479,6 +503,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
479
503
|
gridSelectedMetas: FieldMetadata[];
|
|
480
504
|
gridAlwaysVisibleMetas: FieldMetadata[];
|
|
481
505
|
toggleMetas: FieldMetadata[];
|
|
506
|
+
activeEditableFieldName: string | null;
|
|
482
507
|
advancedConfig?: FormConfig;
|
|
483
508
|
displayedTags: FilterTag[];
|
|
484
509
|
private savedTags;
|
|
@@ -540,6 +565,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
540
565
|
private resolveSchemaPrefs;
|
|
541
566
|
private domIdSeed;
|
|
542
567
|
private componentKeyId;
|
|
568
|
+
private isPersistenceDisabled;
|
|
543
569
|
private resolveConfigKey;
|
|
544
570
|
getComponentKeyId(): string | null;
|
|
545
571
|
private filterTagsKey;
|
|
@@ -554,6 +580,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
554
580
|
private readonly global;
|
|
555
581
|
private resolveRuntimeEnvironment;
|
|
556
582
|
private getLogger;
|
|
583
|
+
get activeEditableFieldMeta(): FieldMetadata | null;
|
|
584
|
+
get activeEditableFieldLabel(): string | null;
|
|
585
|
+
isFieldAuthoringEnabled(): boolean;
|
|
557
586
|
private buildFilterLogOptions;
|
|
558
587
|
private isFilterDebugEnabled;
|
|
559
588
|
private logFilterDebug;
|
|
@@ -563,6 +592,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
563
592
|
private setSchemaLoading;
|
|
564
593
|
private setActiveFiltersCount;
|
|
565
594
|
private loadSavedTagsFromStorage;
|
|
595
|
+
private resolveInputDto;
|
|
596
|
+
private resolveInitialDto;
|
|
597
|
+
private syncFormsFromDto;
|
|
566
598
|
ngOnInit(): Promise<void>;
|
|
567
599
|
ngAfterViewInit(): void;
|
|
568
600
|
onWindowResize(): void;
|
|
@@ -619,13 +651,23 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
619
651
|
private isAllowedFilterControlType;
|
|
620
652
|
private inferFilterControlType;
|
|
621
653
|
private cloneAlwaysVisibleMetadataOverrides;
|
|
654
|
+
private cloneFieldMetadataOverrides;
|
|
622
655
|
private sanitizeAlwaysVisibleMetadataOverrides;
|
|
623
656
|
private sanitizeMetadataOverrideValue;
|
|
624
657
|
private mergeAlwaysVisibleMetadata;
|
|
658
|
+
private mergeFieldMetadataOverride;
|
|
625
659
|
ngDoCheck(): void;
|
|
626
660
|
onAlwaysComponents(map: Map<string, any>): void;
|
|
627
661
|
onSelectedComponents(map: Map<string, any>): void;
|
|
628
662
|
onToggleComponents(map: Map<string, any>): void;
|
|
663
|
+
onFieldInteraction(event: Event): void;
|
|
664
|
+
openSelectedFieldEditor(): void;
|
|
665
|
+
private isLocalE2eAuthoringOptInEnabled;
|
|
666
|
+
private openFieldMetadataEditorInternal;
|
|
667
|
+
private applyFieldMetadataPatch;
|
|
668
|
+
private buildFieldMetadataEditorSeed;
|
|
669
|
+
private getEditableFieldMeta;
|
|
670
|
+
private resolveFieldNameFromEvent;
|
|
629
671
|
onAdvancedReady(event: {
|
|
630
672
|
formGroup: FormGroup<Record<string, any>>;
|
|
631
673
|
}): void;
|
|
@@ -707,9 +749,12 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
707
749
|
private isEditableElement;
|
|
708
750
|
private focusQuick;
|
|
709
751
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilter, [null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
710
|
-
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>;
|
|
752
|
+
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; }; "showAdvancedButton": { "alias": "showAdvancedButton"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "showClearButton": { "alias": "showClearButton"; "required": false; }; "showSearchButton": { "alias": "showSearchButton"; "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>;
|
|
711
753
|
}
|
|
712
754
|
|
|
755
|
+
declare const PRAXIS_FILTER_COMPONENT_METADATA: ComponentDocMeta;
|
|
756
|
+
declare function providePraxisFilterMetadata(): Provider;
|
|
757
|
+
|
|
713
758
|
type SchemaFieldHint = {
|
|
714
759
|
name: string;
|
|
715
760
|
label?: string;
|
|
@@ -721,6 +766,16 @@ type SchemaFieldHint = {
|
|
|
721
766
|
optionValueKey?: string;
|
|
722
767
|
enumValues?: string[];
|
|
723
768
|
};
|
|
769
|
+
type PraxisDataQueryContextBridge = {
|
|
770
|
+
filters?: Record<string, unknown> | null;
|
|
771
|
+
sort?: string[] | null;
|
|
772
|
+
limit?: number | null;
|
|
773
|
+
page?: {
|
|
774
|
+
index?: number | null;
|
|
775
|
+
size?: number | null;
|
|
776
|
+
} | null;
|
|
777
|
+
meta?: Record<string, unknown> | null;
|
|
778
|
+
};
|
|
724
779
|
type DataMode = 'remote' | 'local' | 'empty';
|
|
725
780
|
type RowExpansionTrigger = 'icon' | 'row' | 'keyboard' | 'api' | 'restore';
|
|
726
781
|
type RowExpansionReasonCode = 'user' | 'policy' | 'restore' | 'api';
|
|
@@ -822,6 +877,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
822
877
|
autoOpenSettingsOnOutdated: boolean;
|
|
823
878
|
crudContext: any;
|
|
824
879
|
dslFunctionRegistry: FunctionRegistry<any> | null;
|
|
880
|
+
filterCriteria: Record<string, any>;
|
|
881
|
+
queryContext: PraxisDataQueryContextBridge | null;
|
|
825
882
|
rowClick: EventEmitter<any>;
|
|
826
883
|
rowDoubleClick: EventEmitter<any>;
|
|
827
884
|
rowExpansionChange: EventEmitter<RowExpansionChangeEvent>;
|
|
@@ -855,7 +912,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
855
912
|
pageIndex: number;
|
|
856
913
|
pageSize: number;
|
|
857
914
|
sortState: Sort;
|
|
858
|
-
filterCriteria: any;
|
|
859
915
|
visibleColumns: ColumnDefinition[];
|
|
860
916
|
visibleDataColumnsForDrag: ColumnDefinition[];
|
|
861
917
|
displayedColumns: string[];
|
|
@@ -973,7 +1029,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
973
1029
|
private computedExpressionEvaluator;
|
|
974
1030
|
private resizeObserver;
|
|
975
1031
|
private removeViewportChangeListeners;
|
|
976
|
-
private warnedMissingId;
|
|
977
1032
|
private readonly warnedUnsupportedFeatures;
|
|
978
1033
|
private warnedStrictCspStyleMode;
|
|
979
1034
|
private fallbackLogger?;
|
|
@@ -1012,7 +1067,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1012
1067
|
private storageKey;
|
|
1013
1068
|
private tableConfigKey;
|
|
1014
1069
|
private filterConfigKey;
|
|
1015
|
-
private warnMissingId;
|
|
1016
1070
|
private ensureConfigDefaults;
|
|
1017
1071
|
private setShowToolbar;
|
|
1018
1072
|
private configureDslRuntime;
|
|
@@ -1225,6 +1279,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1225
1279
|
*/
|
|
1226
1280
|
private inferFieldTypeFromFieldName;
|
|
1227
1281
|
private fetchData;
|
|
1282
|
+
private getEffectiveFilterCriteria;
|
|
1228
1283
|
retryData(): void;
|
|
1229
1284
|
reloadSchema(): void;
|
|
1230
1285
|
refetch(): void;
|
|
@@ -1236,6 +1291,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1236
1291
|
* 3. format (data formatting like dates, numbers, currency)
|
|
1237
1292
|
*/
|
|
1238
1293
|
getCellValue(rowData: any, column: ColumnDefinition): any;
|
|
1294
|
+
private resolveImplicitFormat;
|
|
1239
1295
|
getCellClasses(rowData: any, column: ColumnDefinition): string[] | undefined;
|
|
1240
1296
|
getCellNgStyle(rowData: any, column: ColumnDefinition): Record<string, string> | undefined;
|
|
1241
1297
|
private resetComputedContextCache;
|
|
@@ -1501,7 +1557,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1501
1557
|
getRowMenuIcon(): string;
|
|
1502
1558
|
ngOnDestroy(): void;
|
|
1503
1559
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
1504
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "dslFunctionRegistry": { "alias": "dslFunctionRegistry"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
1560
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "dslFunctionRegistry": { "alias": "dslFunctionRegistry"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
1505
1561
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
1506
1562
|
}
|
|
1507
1563
|
|
|
@@ -1697,9 +1753,11 @@ interface ExtendedColumnDefinition extends ColumnDefinition {
|
|
|
1697
1753
|
}
|
|
1698
1754
|
declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
|
|
1699
1755
|
private cdr;
|
|
1700
|
-
readonly
|
|
1701
|
-
|
|
1702
|
-
readonly
|
|
1756
|
+
private readonly i18n;
|
|
1757
|
+
tx(key: string, fallback: string): string;
|
|
1758
|
+
readonly ratingAriaLabelPlaceholder: string;
|
|
1759
|
+
readonly ratingRendererHint: string;
|
|
1760
|
+
readonly composeRatingRendererHint: string;
|
|
1703
1761
|
config: TableConfig;
|
|
1704
1762
|
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
1705
1763
|
columnChange: EventEmitter<ColumnChange>;
|
|
@@ -1969,11 +2027,13 @@ interface BehaviorConfigChange {
|
|
|
1969
2027
|
}
|
|
1970
2028
|
declare class BehaviorConfigEditorComponent implements OnInit, OnDestroy, OnChanges {
|
|
1971
2029
|
private fb;
|
|
2030
|
+
private readonly i18n;
|
|
2031
|
+
tx(key: string, fallback: string): string;
|
|
1972
2032
|
readonly schemaOnlyLimitationsDocPath = "praxis-table.json-api.md#known-limitations-and-mismatches";
|
|
1973
|
-
readonly multiSortSchemaOnlyTooltip
|
|
1974
|
-
readonly columnFiltersSchemaOnlyTooltip
|
|
1975
|
-
readonly draggingRowsSchemaOnlyTooltip
|
|
1976
|
-
readonly expansionSchemaOnlyTooltip
|
|
2033
|
+
readonly multiSortSchemaOnlyTooltip: string;
|
|
2034
|
+
readonly columnFiltersSchemaOnlyTooltip: string;
|
|
2035
|
+
readonly draggingRowsSchemaOnlyTooltip: string;
|
|
2036
|
+
readonly expansionSchemaOnlyTooltip: string;
|
|
1977
2037
|
config: TableConfig;
|
|
1978
2038
|
resourcePath?: string;
|
|
1979
2039
|
forceClientStrategies: boolean;
|
|
@@ -2032,7 +2092,7 @@ interface ToolbarAction {
|
|
|
2032
2092
|
icon?: string;
|
|
2033
2093
|
type: 'button' | 'icon' | 'fab' | 'menu';
|
|
2034
2094
|
color?: 'primary' | 'accent' | 'warn';
|
|
2035
|
-
/**
|
|
2095
|
+
/** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
|
|
2036
2096
|
appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
|
|
2037
2097
|
action: string;
|
|
2038
2098
|
position: 'start' | 'end';
|
|
@@ -2096,14 +2156,27 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2096
2156
|
editingRowActionIndex: number | null;
|
|
2097
2157
|
editingBulkActionIndex: number | null;
|
|
2098
2158
|
readonly globalActionCatalog: GlobalActionSpec[];
|
|
2099
|
-
|
|
2159
|
+
get internalActionCatalog(): InternalActionSpec[];
|
|
2100
2160
|
readonly customActionValue = "__custom__";
|
|
2101
2161
|
readonly validShortcutScopes: ToolbarShortcutScope[];
|
|
2102
2162
|
private readonly actionFieldDrafts;
|
|
2103
2163
|
private readonly actionFieldErrors;
|
|
2104
2164
|
private readonly warnedInvalidShortcutScopes;
|
|
2165
|
+
private readonly i18n;
|
|
2105
2166
|
private destroy$;
|
|
2106
2167
|
constructor(fb: FormBuilder, iconPicker: IconPickerService);
|
|
2168
|
+
tx(key: string, fallback: string): string;
|
|
2169
|
+
getGlobalActionSpecLabel(spec: {
|
|
2170
|
+
id?: string;
|
|
2171
|
+
label?: string;
|
|
2172
|
+
}): string;
|
|
2173
|
+
getGlobalActionSpecHint(spec: {
|
|
2174
|
+
id?: string;
|
|
2175
|
+
description?: string;
|
|
2176
|
+
param?: {
|
|
2177
|
+
hint?: string;
|
|
2178
|
+
};
|
|
2179
|
+
}): string;
|
|
2107
2180
|
ngOnInit(): void;
|
|
2108
2181
|
ngOnChanges(changes: SimpleChanges): void;
|
|
2109
2182
|
ngOnDestroy(): void;
|
|
@@ -2138,6 +2211,12 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2138
2211
|
getGlobalActionSchema(action: {
|
|
2139
2212
|
action?: string;
|
|
2140
2213
|
}): _praxisui_core.GlobalActionUiSchema | undefined;
|
|
2214
|
+
getSurfaceOpenActionPayload(action: {
|
|
2215
|
+
action?: string;
|
|
2216
|
+
}): SurfaceOpenPayload;
|
|
2217
|
+
onSurfaceOpenActionPayloadChange(action: {
|
|
2218
|
+
action?: string;
|
|
2219
|
+
}, payload: SurfaceOpenPayload, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2141
2220
|
shouldShowGlobalActionField(action: {
|
|
2142
2221
|
action?: string;
|
|
2143
2222
|
}, field: GlobalActionField): boolean;
|
|
@@ -2156,6 +2235,7 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2156
2235
|
private getActionParamInfo;
|
|
2157
2236
|
private parseMethodAndUrl;
|
|
2158
2237
|
private stringifyJson;
|
|
2238
|
+
private normalizeSurfaceOpenPayload;
|
|
2159
2239
|
private setActionFieldError;
|
|
2160
2240
|
private clearActionFieldError;
|
|
2161
2241
|
private collectGlobalActionFieldValues;
|
|
@@ -2210,10 +2290,12 @@ declare class MessagesLocalizationEditorComponent implements OnInit, OnDestroy {
|
|
|
2210
2290
|
config: TableConfig;
|
|
2211
2291
|
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
2212
2292
|
messagesLocalizationChange: EventEmitter<MessagesLocalizationChange>;
|
|
2293
|
+
private readonly i18n;
|
|
2213
2294
|
messagesForm: FormGroup;
|
|
2214
2295
|
isV2: boolean;
|
|
2215
2296
|
private destroy$;
|
|
2216
2297
|
constructor(fb: FormBuilder);
|
|
2298
|
+
tx(key: string, fallback: string): string;
|
|
2217
2299
|
ngOnInit(): void;
|
|
2218
2300
|
ngOnDestroy(): void;
|
|
2219
2301
|
private initializeForm;
|
|
@@ -2527,7 +2609,9 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
2527
2609
|
private readonly panelData;
|
|
2528
2610
|
private readonly crudService;
|
|
2529
2611
|
private readonly panelRef;
|
|
2612
|
+
private readonly i18n;
|
|
2530
2613
|
constructor(cdr: ChangeDetectorRef, configService: TableConfigService);
|
|
2614
|
+
tx(key: string, fallback: string): string;
|
|
2531
2615
|
private isDebugLoggingEnabled;
|
|
2532
2616
|
private debugLog;
|
|
2533
2617
|
ngOnInit(): void;
|
|
@@ -2814,6 +2898,7 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2814
2898
|
private dynamicForm;
|
|
2815
2899
|
private crud?;
|
|
2816
2900
|
private static runtimeRegistryInstanceCounter;
|
|
2901
|
+
private readonly i18n;
|
|
2817
2902
|
config: TableConfig;
|
|
2818
2903
|
resourcePath?: string;
|
|
2819
2904
|
fields?: FieldDefinition[] | null;
|
|
@@ -2865,7 +2950,6 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2865
2950
|
/** Log a focused view for a single field */
|
|
2866
2951
|
private logSingleFieldMeta;
|
|
2867
2952
|
private logFieldChoices;
|
|
2868
|
-
i18nDefault: Record<string, string>;
|
|
2869
2953
|
t(key: string): string;
|
|
2870
2954
|
constructor(cdr: ChangeDetectorRef, registry: OperatorsRegistryService, compiler: RuleCompilerService, dynamicForm: DynamicFormService, crud?: GenericCrudService<any> | undefined);
|
|
2871
2955
|
private configureDslRuntime;
|
|
@@ -3214,5 +3298,5 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
|
|
|
3214
3298
|
}
|
|
3215
3299
|
declare const TABLE_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
|
|
3216
3300
|
|
|
3217
|
-
export { BOOLEAN_PRESETS, BehaviorConfigEditorComponent, CURRENCY_PRESETS, ColumnsConfigEditorComponent, DATE_PRESETS, DataFormatterComponent, DataFormattingService, FORMULA_TEMPLATES, FilterConfigService, FilterSettingsComponent, FormulaGeneratorService, JsonConfigEditorComponent, MessagesLocalizationEditorComponent, NUMBER_PRESETS, PERCENTAGE_PRESETS, PRAXIS_TABLE_COMPONENT_METADATA, PraxisFilter, PraxisTable, PraxisTableConfigEditor, PraxisTableToolbar, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, hasJsonKey, jsonPathGet, jsonPathMatches, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisTableMetadata, registerDateDslFunctions, registerJsonDslFunctions, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
|
|
3218
|
-
export type { ActionLike, ArithmeticParams, BehaviorConfigChange, BooleanFormatterOptions, BulkAction, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColumnChange, ColumnDataType$1 as ColumnDataType, ConcatenationParams, ConditionalMappingParams, CurrencyFormatterOptions, DataMode, DateFormatterOptions, DefaultValueParams, EditorDiagnostic, EditorDocument, FieldSchema, FilterConfig, FilterTag, FormatPreset, FormatterConfig, FormulaDefinition, FormulaParameterSchema, FormulaParams, FormulaTemplate, FormulaType, I18n, JsonEditorEvent, JsonValidationResult, MessagesLocalizationChange, NestedPropertyParams, NumberFormatterOptions, PercentageFormatterOptions, ResourcePathIntent, RowAction, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, StringFormatterOptions, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, ValueKind as TableComponentValueKind, TableHorizontalScroll, TableProjectionContext, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
|
|
3301
|
+
export { BOOLEAN_PRESETS, BehaviorConfigEditorComponent, CURRENCY_PRESETS, ColumnsConfigEditorComponent, DATE_PRESETS, DataFormatterComponent, DataFormattingService, FORMULA_TEMPLATES, FilterConfigService, FilterSettingsComponent, FormulaGeneratorService, JsonConfigEditorComponent, MessagesLocalizationEditorComponent, NUMBER_PRESETS, PERCENTAGE_PRESETS, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_TABLE_COMPONENT_METADATA, PraxisFilter, PraxisTable, PraxisTableConfigEditor, PraxisTableToolbar, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, hasJsonKey, jsonPathGet, jsonPathMatches, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, registerDateDslFunctions, registerJsonDslFunctions, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
|
|
3302
|
+
export type { ActionLike, ArithmeticParams, BehaviorConfigChange, BooleanFormatterOptions, BulkAction, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColumnChange, ColumnDataType$1 as ColumnDataType, ConcatenationParams, ConditionalMappingParams, CurrencyFormatterOptions, DataFormattingOptions, DataMode, DateFormatterOptions, DefaultValueParams, EditorDiagnostic, EditorDocument, FieldSchema, FilterConfig, FilterTag, FormatPreset, FormatterConfig, FormulaDefinition, FormulaParameterSchema, FormulaParams, FormulaTemplate, FormulaType, I18n, JsonEditorEvent, JsonValidationResult, MessagesLocalizationChange, NestedPropertyParams, NumberFormatterOptions, PercentageFormatterOptions, ResourcePathIntent, RowAction, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, StringFormatterOptions, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, ValueKind as TableComponentValueKind, TableHorizontalScroll, TableProjectionContext, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/table",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.10",
|
|
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.
|
|
9
|
-
"@praxisui/dynamic-fields": "^3.0.0-beta.
|
|
10
|
-
"@praxisui/dynamic-form": "^3.0.0-beta.
|
|
11
|
-
"@praxisui/metadata-editor": "^3.0.0-beta.
|
|
12
|
-
"@praxisui/settings-panel": "^3.0.0-beta.
|
|
13
|
-
"@praxisui/table-rule-builder": "^3.0.0-beta.
|
|
8
|
+
"@praxisui/core": "^3.0.0-beta.10",
|
|
9
|
+
"@praxisui/dynamic-fields": "^3.0.0-beta.10",
|
|
10
|
+
"@praxisui/dynamic-form": "^3.0.0-beta.10",
|
|
11
|
+
"@praxisui/metadata-editor": "^3.0.0-beta.10",
|
|
12
|
+
"@praxisui/settings-panel": "^3.0.0-beta.10",
|
|
13
|
+
"@praxisui/table-rule-builder": "^3.0.0-beta.10"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"tslib": "^2.3.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"praxisui-table-filter-drawer-adapter.mjs","sources":["../../../projects/praxis-table/filter-drawer-adapter/src/filter-drawer-adapter.ts","../../../projects/praxis-table/filter-drawer-adapter/praxisui-table-filter-drawer-adapter.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport type { FormConfig } from '@praxisui/core';\n\n/**\n * Configuração de abertura do Advanced Filter em gaveta pelo host.\n *\n * Notas para hosts que exibem botão \"Salvar como atalho\":\n * - Exiba a ação apenas quando `allowSaveTags === true`.\n * - Para habilitar o botão, verifique se há ao menos um filtro efetivo no DTO (campos não vazios).\n * - Monte o DTO para salvar mesclando `initialDto` e o valor atual do formulário (`lastValue`),\n * e limpe chaves com valores vazios ('' | null | undefined) antes de chamar `onSaveShortcut(dto)`.\n */\nexport interface FilterDrawerOpenConfig {\n resourcePath: string;\n formId: string;\n config: FormConfig;\n initialDto?: Record<string, any>;\n title?: string;\n onSubmit(dto: Record<string, any>): void;\n onClose?(): void;\n /** Permite que a UI do host exiba ação de salvar atalho (opcional, retrocompatível) */\n allowSaveTags?: boolean;\n /** Rótulo i18n para o botão de salvar atalho (opcional) */\n i18nSaveAsShortcut?: string;\n /** Callback disparado pelo host com o DTO atual quando o usuário optar por salvar um atalho */\n onSaveShortcut?: (dto: Record<string, any>) => void;\n}\n\nexport interface FilterDrawerAdapter {\n open(config: FilterDrawerOpenConfig): Promise<void> | void;\n}\n\nfunction getFilterDrawerAdapterToken(): InjectionToken<FilterDrawerAdapter> {\n const registryKey = '__PAX_FILTER_DRAWER_ADAPTER_TOKEN__';\n const globalRegistry = globalThis as typeof globalThis & {\n [registryKey]?: InjectionToken<FilterDrawerAdapter>;\n };\n if (!globalRegistry[registryKey]) {\n globalRegistry[registryKey] = new InjectionToken<FilterDrawerAdapter>('FILTER_DRAWER_ADAPTER');\n }\n return globalRegistry[registryKey];\n}\n\nexport const FILTER_DRAWER_ADAPTER = getFilterDrawerAdapterToken();\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAgCA,SAAS,2BAA2B,GAAA;IAClC,MAAM,WAAW,GAAG,qCAAqC;IACzD,MAAM,cAAc,GAAG,UAEtB;AACD,IAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;QAChC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,cAAc,CAAsB,uBAAuB,CAAC;IAChG;AACA,IAAA,OAAO,cAAc,CAAC,WAAW,CAAC;AACpC;AAEO,MAAM,qBAAqB,GAAG,2BAA2B;;AC3ChE;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"praxisui-table-filter-form-dialog-host.component-C2rQnHE1.mjs","sources":["../../../projects/praxis-table/src/lib/components/praxis-filter/filter-form-dialog-host.component.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { FormGroup } from '@angular/forms';\nimport { PraxisFilterForm } from '@praxisui/dynamic-form';\n\n@Component({\n selector: 'praxis-filter-form-dialog-host',\n standalone: true,\n imports: [CommonModule, MatDialogModule, MatButtonModule, MatProgressBarModule, MatIconModule, PraxisFilterForm],\n template: `\n <div mat-dialog-title class=\"pfx-dialog-title\" id=\"filterDialogTitle\">\n <div class=\"pfx-dialog-title-text\">\n <mat-icon>tune</mat-icon>\n <span>{{ data.title || 'Filtro avançado' }}</span>\n </div>\n <button mat-icon-button type=\"button\" class=\"pfx-dialog-close\" (click)=\"close()\"\n [attr.aria-label]=\"data.i18n?.cancel || 'Fechar'\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <mat-dialog-content class=\"pfx-filter-dialog-content\" aria-labelledby=\"filterDialogTitle\">\n <mat-progress-bar *ngIf=\"data?.schemaLoading\" mode=\"indeterminate\"></mat-progress-bar>\n <praxis-filter-form\n *ngIf=\"data?.config\"\n [formId]=\"data.formId\"\n [resourcePath]=\"data.resourcePath\"\n [mode]=\"'edit'\"\n [config]=\"data.config\"\n (formReady)=\"onReady($event)\"\n (valueChange)=\"onChange($event)\"\n (validityChange)=\"onValidity($event)\"\n ></praxis-filter-form>\n <p *ngIf=\"!data?.config && !data?.schemaLoading\" class=\"pfx-empty-state\">{{ data.i18n?.noData || 'Nenhum dado' }}</p>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\" class=\"pfx-dialog-actions\">\n <button mat-button type=\"button\"\n *ngIf=\"data?.allowSaveTags\"\n [disabled]=\"!canSave\"\n (click)=\"saveShortcut()\">\n {{ data.i18n?.saveAsShortcut || 'Salvar como atalho' }}\n </button>\n <button mat-stroked-button type=\"button\" (click)=\"close()\">{{ data.i18n?.cancel || 'Cancelar' }}</button>\n <button mat-flat-button color=\"primary\" (click)=\"apply()\" [disabled]=\"!valid\">\n {{ data.i18n?.apply || 'Aplicar' }}\n </button>\n </mat-dialog-actions>\n `,\n styles: [`\n .pfx-dialog-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding-right: 8px;\n }\n .pfx-dialog-title-text {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n color: var(--md-sys-color-on-surface);\n }\n .pfx-dialog-close {\n margin-left: auto;\n }\n .pfx-filter-dialog-content {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding-top: 8px;\n }\n .pfx-empty-state {\n margin: 8px 0 0;\n color: var(--md-sys-color-on-surface-variant);\n }\n .pfx-dialog-actions {\n padding: var(--pdx-dialog-actions-padding, 12px 24px 16px);\n border-top: 1px solid var(--md-sys-color-outline-variant);\n background: transparent;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n `],\n})\nexport class FilterFormDialogHostComponent {\n valid = true;\n private lastValue: any = {};\n private formGroup: FormGroup<Record<string, any>> | null = null;\n canSave = false;\n constructor(\n @Inject(MAT_DIALOG_DATA)\n public data: {\n formId: string;\n resourcePath: string;\n config: any;\n title?: string;\n schemaLoading?: boolean;\n initialDto?: Record<string, any>;\n allowSaveTags?: boolean;\n i18n?: { saveAsShortcut?: string; cancel?: string; apply?: string; noData?: string };\n onSaveShortcut?: (dto: Record<string, any>) => void;\n },\n private ref: MatDialogRef<FilterFormDialogHostComponent>,\n ) {}\n\n onReady(ev: { formGroup: any }): void {\n try {\n this.formGroup = (ev?.formGroup as FormGroup<Record<string, any>>) || null;\n const dto = this.data?.initialDto || {};\n if (ev?.formGroup && dto && Object.keys(dto).length) {\n ev.formGroup.patchValue(dto, { emitEvent: false });\n }\n this.lastValue = this.formGroup?.getRawValue?.() ?? this.lastValue;\n this.updateCanSave();\n } catch {}\n }\n onChange(ev: { formData: Record<string, any> }): void {\n this.lastValue = ev?.formData ?? {};\n this.updateCanSave();\n }\n onValidity(v: boolean): void {\n this.valid = v;\n this.updateCanSave();\n }\n apply(): void {\n const formData =\n this.formGroup?.getRawValue?.() ??\n this.lastValue ??\n this.data?.initialDto ??\n {};\n this.ref.close({ formData });\n }\n close(): void { this.ref.close(); }\n\n private clean(obj: Record<string, any> | undefined | null): Record<string, any> {\n const out: Record<string, any> = {};\n Object.keys(obj || {}).forEach((k) => {\n const v = (obj as any)[k];\n if (v !== '' && v !== null && v !== undefined) out[k] = v;\n });\n return out;\n }\n private buildDtoForSave(): Record<string, any> {\n const base = this.data?.initialDto || {};\n const merged = { ...base, ...(this.lastValue || {}) };\n return this.clean(merged);\n }\n private updateCanSave(): void {\n this.canSave = Object.keys(this.buildDtoForSave() || {}).length > 0;\n }\n saveShortcut(): void {\n try {\n const dto = this.buildDtoForSave();\n if (!Object.keys(dto).length) return;\n this.data?.onSaveShortcut?.(dto);\n } catch {}\n }\n}\n"],"names":["i2","i4"],"mappings":"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"}
|