@praxisui/table 8.0.0-beta.31 → 8.0.0-beta.32

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,7 +1,7 @@
1
1
  import { firstValueFrom } from 'rxjs';
2
2
  import { BaseAiAdapter, createComponentAuthoringContext } from '@praxisui/ai';
3
3
  import { deepMerge } from '@praxisui/core';
4
- import { T as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, P as PRAXIS_TABLE_AUTHORING_MANIFEST, a as TABLE_AI_CAPABILITIES, c as coerceTableComponentEditPlans, b as compileTableComponentEditPlans, d as TASK_PRESETS, g as getTableComponentEditPlanCapabilities, e as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, f as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, h as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, i as TABLE_COMPONENT_EDIT_PLAN_VERSION, j as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, k as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-qO5EkftZ.mjs';
4
+ import { z as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, R as coerceTableComponentEditPlans, W as compileTableComponentEditPlans, G as TASK_PRESETS, $ as getTableComponentEditPlanCapabilities, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, y as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-BoDxoDos.mjs';
5
5
 
6
6
  const TABLE_COMPONENT_CONTEXT_PACK = {
7
7
  version: 'v1',
@@ -1 +1 @@
1
- export { A as AnalyticsTableConfigAdapterService, G as AnalyticsTableContractService, E as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, V as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, W as ColumnsConfigEditorComponent, D as DATE_PRESETS, y as DataFormatterComponent, x as DataFormattingService, a4 as FORMULA_TEMPLATES, F as FilterConfigService, a0 as FilterSettingsComponent, a3 as FormulaGeneratorService, $ as JsonConfigEditorComponent, Y as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, w as PERCENTAGE_PRESETS, t as PRAXIS_FILTER_COMPONENT_METADATA, P as PRAXIS_TABLE_AUTHORING_MANIFEST, a5 as PRAXIS_TABLE_COMPONENT_METADATA, s as PraxisFilter, v as PraxisFilterWidgetConfigEditor, o as PraxisTable, q as PraxisTableConfigEditor, X as PraxisTableInlineAuthoringEditorComponent, p as PraxisTableToolbar, r as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, a as TABLE_AI_CAPABILITIES, l as TABLE_COMPONENT_AI_CAPABILITIES, f as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, j as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, e as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, h as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, k as TABLE_COMPONENT_EDIT_PLAN_KIND, i as TABLE_COMPONENT_EDIT_PLAN_VERSION, d as TASK_PRESETS, z as TableDefaultsProvider, a1 as TableRulesEditorComponent, Z as ToolbarActionsEditorComponent, _ as ValueMappingEditorComponent, a2 as VisualFormulaBuilderComponent, R as buildTableApplyPlan, m as coerceTableComponentEditPlan, c as coerceTableComponentEditPlans, n as compileTableComponentEditPlan, b as compileTableComponentEditPlans, K as createTableAuthoringDocument, H as getActionId, a8 as getEnum, a7 as getTableCapabilities, g as getTableComponentEditPlanCapabilities, I as isTableRendererSupportedByRichContentP0, J as mapTableRendererToRichContentP0, M as normalizeTableAuthoringDocument, L as parseLegacyOrTableDocument, u as providePraxisFilterMetadata, a6 as providePraxisTableMetadata, U as serializeTableAuthoringDocument, Q as toCanonicalTableConfig, O as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-qO5EkftZ.mjs';
1
+ export { A as AnalyticsTableConfigAdapterService, a as AnalyticsTableContractService, b as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, c as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, d as ColumnsConfigEditorComponent, D as DATE_PRESETS, e as DataFormatterComponent, f as DataFormattingService, F as FORMULA_TEMPLATES, g as FilterConfigService, h as FilterSettingsComponent, i as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, j as PRAXIS_FILTER_COMPONENT_METADATA, k as PRAXIS_TABLE_AUTHORING_MANIFEST, l as PRAXIS_TABLE_COMPONENT_METADATA, m as PraxisFilter, n as PraxisFilterWidgetConfigEditor, o as PraxisTable, p as PraxisTableConfigEditor, q as PraxisTableInlineAuthoringEditorComponent, r as PraxisTableToolbar, s as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, t as TABLE_COMPONENT_AI_CAPABILITIES, u as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, v as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, w as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, x as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, y as TABLE_COMPONENT_EDIT_PLAN_KIND, E as TABLE_COMPONENT_EDIT_PLAN_VERSION, G as TASK_PRESETS, H as TableDefaultsProvider, I as TableRulesEditorComponent, K as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, L as VisualFormulaBuilderComponent, O as buildTableApplyPlan, Q as coerceTableComponentEditPlan, R as coerceTableComponentEditPlans, U as compileTableComponentEditPlan, W as compileTableComponentEditPlans, X as createTableAuthoringDocument, Y as getActionId, Z as getEnum, _ as getTableCapabilities, $ as getTableComponentEditPlanCapabilities, a0 as isTableRendererSupportedByRichContentP0, a1 as mapTableRendererToRichContentP0, a2 as normalizeTableAuthoringDocument, a3 as parseLegacyOrTableDocument, a4 as providePraxisFilterMetadata, a5 as providePraxisTableMetadata, a6 as serializeTableAuthoringDocument, a7 as toCanonicalTableConfig, a8 as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-BoDxoDos.mjs';
@@ -1,3 +1,4 @@
1
1
  {
2
- "module": "../fesm2022/praxisui-table-filter-drawer-adapter.mjs"
2
+ "module": "../fesm2022/praxisui-table-filter-drawer-adapter.mjs",
3
+ "typings": "../types/praxisui-table-filter-drawer-adapter.d.ts"
3
4
  }
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "8.0.0-beta.31",
3
+ "version": "8.0.0-beta.32",
4
4
  "description": "Advanced data table for Angular (Praxis UI) with editing, filtering, sorting, virtualization, and settings panel integration.",
5
5
  "peerDependencies": {
6
- "@angular/common": "^20.0.0",
7
- "@angular/core": "^20.0.0",
8
- "@praxisui/ai": "^8.0.0-beta.31",
9
- "@praxisui/core": "^8.0.0-beta.31",
10
- "@praxisui/dynamic-fields": "^8.0.0-beta.31",
11
- "@praxisui/dynamic-form": "^8.0.0-beta.31",
12
- "@praxisui/metadata-editor": "^8.0.0-beta.31",
13
- "@praxisui/rich-content": "^8.0.0-beta.31",
14
- "@praxisui/settings-panel": "^8.0.0-beta.31",
15
- "@praxisui/table-rule-builder": "^8.0.0-beta.31",
16
- "@angular/cdk": "^20.0.0",
17
- "@angular/forms": "^20.0.0",
18
- "@angular/material": "^20.0.0",
19
- "@angular/router": "^20.0.0",
20
- "@praxisui/dialog": "^8.0.0-beta.31",
6
+ "@angular/common": "^21.0.0",
7
+ "@angular/core": "^21.0.0",
8
+ "@praxisui/ai": "^8.0.0-beta.32",
9
+ "@praxisui/core": "^8.0.0-beta.32",
10
+ "@praxisui/dynamic-fields": "^8.0.0-beta.32",
11
+ "@praxisui/dynamic-form": "^8.0.0-beta.32",
12
+ "@praxisui/metadata-editor": "^8.0.0-beta.32",
13
+ "@praxisui/rich-content": "^8.0.0-beta.32",
14
+ "@praxisui/settings-panel": "^8.0.0-beta.32",
15
+ "@praxisui/table-rule-builder": "^8.0.0-beta.32",
16
+ "@angular/cdk": "^21.0.0",
17
+ "@angular/forms": "^21.0.0",
18
+ "@angular/material": "^21.0.0",
19
+ "@angular/router": "^21.0.0",
20
+ "@praxisui/dialog": "^8.0.0-beta.32",
21
21
  "rxjs": "~7.8.0"
22
22
  },
23
23
  "dependencies": {
@@ -46,18 +46,19 @@
46
46
  ],
47
47
  "sideEffects": false,
48
48
  "module": "fesm2022/praxisui-table.mjs",
49
- "typings": "index.d.ts",
49
+ "typings": "types/praxisui-table.d.ts",
50
50
  "exports": {
51
51
  "./package.json": {
52
52
  "default": "./package.json"
53
53
  },
54
54
  ".": {
55
- "types": "./index.d.ts",
55
+ "types": "./types/praxisui-table.d.ts",
56
56
  "default": "./fesm2022/praxisui-table.mjs"
57
57
  },
58
58
  "./filter-drawer-adapter": {
59
- "types": "./filter-drawer-adapter/index.d.ts",
59
+ "types": "./types/praxisui-table-filter-drawer-adapter.d.ts",
60
60
  "default": "./fesm2022/praxisui-table-filter-drawer-adapter.mjs"
61
61
  }
62
- }
62
+ },
63
+ "type": "module"
63
64
  }
@@ -1,9 +1,10 @@
1
1
  import * as _praxisui_core from '@praxisui/core';
2
- import { TableConfig, LoggerService, PraxisI18nService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
2
+ import { TableConfig, LoggerService, PraxisI18nService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
3
3
  import * as i0 from '@angular/core';
4
4
  import { OnDestroy, EventEmitter, ElementRef, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, Provider, AfterContentInit, Injector } from '@angular/core';
5
5
  import { ActivatedRoute } from '@angular/router';
6
6
  import { MatTable, MatTableDataSource } from '@angular/material/table';
7
+ import * as _angular_material_paginator from '@angular/material/paginator';
7
8
  import { MatPaginatorSelectConfig, MatPaginator, PageEvent } from '@angular/material/paginator';
8
9
  import { MatSort, Sort } from '@angular/material/sort';
9
10
  import { MatSnackBar } from '@angular/material/snack-bar';
@@ -20,7 +21,6 @@ import { PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssista
20
21
  import { HttpClient } from '@angular/common/http';
21
22
  import { MatTabChangeEvent } from '@angular/material/tabs';
22
23
  import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
23
- import * as _angular_material_paginator_d_Zo1cMMo4 from '@angular/material/paginator.d-Zo1cMMo4';
24
24
  import { MatCheckboxChange } from '@angular/material/checkbox';
25
25
 
26
26
  interface ActionLike {
@@ -3769,7 +3769,7 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
3769
3769
  [key: number]: string;
3770
3770
  }>;
3771
3771
  mappingPairs: ValueMappingPair[];
3772
- dataSource: MatTableDataSource<ValueMappingPair, _angular_material_paginator_d_Zo1cMMo4.M>;
3772
+ dataSource: MatTableDataSource<ValueMappingPair, _angular_material_paginator.MatPaginator>;
3773
3773
  displayedColumns: string[];
3774
3774
  showImportDialog: boolean;
3775
3775
  importJsonText: string;
@@ -1,220 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Inject, Component } from '@angular/core';
3
- import * as i2 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import * as i1 from '@angular/material/dialog';
6
- import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
7
- import * as i3 from '@angular/material/button';
8
- import { MatButtonModule } from '@angular/material/button';
9
- import * as i15 from '@angular/material/progress-bar';
10
- import { MatProgressBarModule } from '@angular/material/progress-bar';
11
- import * as i5 from '@angular/material/icon';
12
- import { MatIconModule } from '@angular/material/icon';
13
- import * as i10 from '@angular/material/tooltip';
14
- import { MatTooltipModule } from '@angular/material/tooltip';
15
- import { PraxisFilterForm } from '@praxisui/dynamic-form';
16
-
17
- class FilterFormDialogHostComponent {
18
- data;
19
- ref;
20
- valid = true;
21
- ready = false;
22
- lastValue = {};
23
- formGroup = null;
24
- canSave = false;
25
- saving = false;
26
- constructor(data, ref) {
27
- this.data = data;
28
- this.ref = ref;
29
- }
30
- onReady(ev) {
31
- try {
32
- this.formGroup = ev?.formGroup || null;
33
- const dto = this.data?.initialDto || {};
34
- if (ev?.formGroup && dto && Object.keys(dto).length) {
35
- ev.formGroup.patchValue(dto, { emitEvent: false });
36
- }
37
- this.lastValue = this.formGroup?.getRawValue?.() ?? this.lastValue;
38
- }
39
- catch { }
40
- this.ready = true;
41
- this.updateCanSave();
42
- }
43
- onChange(ev) {
44
- this.lastValue = ev?.formData ?? {};
45
- this.updateCanSave();
46
- }
47
- onValidity(v) {
48
- this.valid = v;
49
- this.updateCanSave();
50
- }
51
- apply() {
52
- const formData = this.formGroup?.getRawValue?.() ??
53
- this.lastValue ??
54
- this.data?.initialDto ??
55
- {};
56
- this.ref.close({ formData });
57
- }
58
- close() { this.ref.close(); }
59
- clean(obj) {
60
- const out = {};
61
- Object.keys(obj || {}).forEach((k) => {
62
- const v = obj[k];
63
- if (v !== '' && v !== null && v !== undefined)
64
- out[k] = v;
65
- });
66
- return out;
67
- }
68
- buildDtoForSave() {
69
- const base = this.data?.initialDto || {};
70
- const current = this.formGroup?.getRawValue?.() ?? this.lastValue ?? {};
71
- const merged = { ...base, ...current };
72
- return this.clean(merged);
73
- }
74
- updateCanSave() {
75
- this.canSave =
76
- this.ready &&
77
- this.valid &&
78
- Object.keys(this.buildDtoForSave() || {}).length > 0;
79
- }
80
- saveShortcutTooltip() {
81
- if (this.saving) {
82
- return this.data.i18n?.shortcutSaving || 'Salvando atalho...';
83
- }
84
- if (!this.valid) {
85
- return this.data.i18n?.shortcutInvalid || 'Corrija os filtros antes de salvar o atalho.';
86
- }
87
- if (!Object.keys(this.buildDtoForSave() || {}).length) {
88
- return this.data.i18n?.shortcutRequiresFilter || 'Preencha ao menos um filtro para salvar um atalho.';
89
- }
90
- return '';
91
- }
92
- saveShortcut() {
93
- if (!this.canSave || this.saving)
94
- return;
95
- const dto = this.buildDtoForSave();
96
- if (!Object.keys(dto).length)
97
- return;
98
- this.saving = true;
99
- try {
100
- this.data?.onSaveShortcut?.(dto);
101
- }
102
- finally {
103
- this.saving = false;
104
- this.updateCanSave();
105
- }
106
- }
107
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FilterFormDialogHostComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
108
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: FilterFormDialogHostComponent, isStandalone: true, selector: "praxis-filter-form-dialog-host", ngImport: i0, template: `
109
- <div mat-dialog-title class="pfx-dialog-title" id="filterDialogTitle">
110
- <div class="pfx-dialog-title-text">
111
- <mat-icon>tune</mat-icon>
112
- <span>{{ data.title || 'Filtro avançado' }}</span>
113
- </div>
114
- <button mat-icon-button type="button" class="pfx-dialog-close" (click)="close()"
115
- [attr.aria-label]="data.i18n?.cancel || 'Fechar'">
116
- <mat-icon>close</mat-icon>
117
- </button>
118
- </div>
119
- <mat-dialog-content class="pfx-filter-dialog-content" aria-labelledby="filterDialogTitle">
120
- <mat-progress-bar *ngIf="data?.schemaLoading" mode="indeterminate"></mat-progress-bar>
121
- <div
122
- *ngIf="data?.config && !ready"
123
- class="pfx-dialog-loading"
124
- role="status"
125
- aria-live="polite"
126
- >
127
- <mat-progress-bar mode="indeterminate"></mat-progress-bar>
128
- <span>{{ data.i18n?.opening || 'Carregando filtros...' }}</span>
129
- </div>
130
- <praxis-filter-form
131
- *ngIf="data?.config"
132
- [class.pfx-form-pending]="!ready"
133
- [formId]="data.formId"
134
- [resourcePath]="data.resourcePath"
135
- [mode]="'edit'"
136
- [config]="data.config"
137
- (formReady)="onReady($event)"
138
- (valueChange)="onChange($event)"
139
- (validityChange)="onValidity($event)"
140
- ></praxis-filter-form>
141
- <p *ngIf="!data?.config && !data?.schemaLoading" class="pfx-empty-state">{{ data.i18n?.noData || 'Nenhum dado' }}</p>
142
- </mat-dialog-content>
143
- <mat-dialog-actions align="end" class="pfx-dialog-actions">
144
- <button mat-stroked-button type="button"
145
- class="pfx-save-shortcut-button"
146
- *ngIf="data?.allowSaveTags"
147
- [disabled]="!canSave || saving"
148
- [matTooltip]="saveShortcutTooltip()"
149
- [matTooltipDisabled]="canSave && !saving"
150
- (click)="saveShortcut()">
151
- <mat-icon aria-hidden="true">{{ saving ? 'hourglass_empty' : 'bookmark_add' }}</mat-icon>
152
- {{ data.i18n?.saveAsShortcut || 'Salvar como atalho' }}
153
- </button>
154
- <button mat-stroked-button type="button" (click)="close()">{{ data.i18n?.cancel || 'Cancelar' }}</button>
155
- <button mat-flat-button color="primary" (click)="apply()" [disabled]="!valid">
156
- {{ data.i18n?.apply || 'Aplicar' }}
157
- </button>
158
- </mat-dialog-actions>
159
- `, isInline: true, styles: [".pfx-dialog-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:8px}.pfx-dialog-title-text{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--mdc-dialog-subhead-color, var(--md-sys-color-on-surface))}.pfx-dialog-close{margin-left:auto}.pfx-filter-dialog-content{display:flex;flex-direction:column;gap:12px;padding-top:8px}.pfx-empty-state{margin:8px 0 0;color:var(--mdc-dialog-supporting-text-color, var(--md-sys-color-on-surface-variant))}.pfx-dialog-loading{display:flex;flex-direction:column;gap:10px;min-height:128px;justify-content:center;color:var(--mdc-dialog-supporting-text-color, var(--md-sys-color-on-surface-variant));font-size:.875rem}.pfx-form-pending{height:0;overflow:hidden;visibility:hidden;pointer-events:none}.pfx-dialog-actions{padding:var(--pdx-dialog-actions-padding, 12px 24px 16px);border-top:1px solid var(--md-sys-color-outline-variant);background:transparent;display:flex;align-items:center;gap:8px}.pfx-save-shortcut-button{margin-right:auto}.pfx-save-shortcut-button mat-icon{margin-right:6px;width:18px;height:18px;font-size:18px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i15.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: PraxisFilterForm, selector: "praxis-filter-form", inputs: ["config", "formId", "resourcePath", "mode"], outputs: ["formReady", "valueChange", "submit", "requestSearch", "validityChange"] }] });
160
- }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: FilterFormDialogHostComponent, decorators: [{
162
- type: Component,
163
- args: [{ selector: 'praxis-filter-form-dialog-host', standalone: true, imports: [CommonModule, MatDialogModule, MatButtonModule, MatProgressBarModule, MatIconModule, MatTooltipModule, PraxisFilterForm], template: `
164
- <div mat-dialog-title class="pfx-dialog-title" id="filterDialogTitle">
165
- <div class="pfx-dialog-title-text">
166
- <mat-icon>tune</mat-icon>
167
- <span>{{ data.title || 'Filtro avançado' }}</span>
168
- </div>
169
- <button mat-icon-button type="button" class="pfx-dialog-close" (click)="close()"
170
- [attr.aria-label]="data.i18n?.cancel || 'Fechar'">
171
- <mat-icon>close</mat-icon>
172
- </button>
173
- </div>
174
- <mat-dialog-content class="pfx-filter-dialog-content" aria-labelledby="filterDialogTitle">
175
- <mat-progress-bar *ngIf="data?.schemaLoading" mode="indeterminate"></mat-progress-bar>
176
- <div
177
- *ngIf="data?.config && !ready"
178
- class="pfx-dialog-loading"
179
- role="status"
180
- aria-live="polite"
181
- >
182
- <mat-progress-bar mode="indeterminate"></mat-progress-bar>
183
- <span>{{ data.i18n?.opening || 'Carregando filtros...' }}</span>
184
- </div>
185
- <praxis-filter-form
186
- *ngIf="data?.config"
187
- [class.pfx-form-pending]="!ready"
188
- [formId]="data.formId"
189
- [resourcePath]="data.resourcePath"
190
- [mode]="'edit'"
191
- [config]="data.config"
192
- (formReady)="onReady($event)"
193
- (valueChange)="onChange($event)"
194
- (validityChange)="onValidity($event)"
195
- ></praxis-filter-form>
196
- <p *ngIf="!data?.config && !data?.schemaLoading" class="pfx-empty-state">{{ data.i18n?.noData || 'Nenhum dado' }}</p>
197
- </mat-dialog-content>
198
- <mat-dialog-actions align="end" class="pfx-dialog-actions">
199
- <button mat-stroked-button type="button"
200
- class="pfx-save-shortcut-button"
201
- *ngIf="data?.allowSaveTags"
202
- [disabled]="!canSave || saving"
203
- [matTooltip]="saveShortcutTooltip()"
204
- [matTooltipDisabled]="canSave && !saving"
205
- (click)="saveShortcut()">
206
- <mat-icon aria-hidden="true">{{ saving ? 'hourglass_empty' : 'bookmark_add' }}</mat-icon>
207
- {{ data.i18n?.saveAsShortcut || 'Salvar como atalho' }}
208
- </button>
209
- <button mat-stroked-button type="button" (click)="close()">{{ data.i18n?.cancel || 'Cancelar' }}</button>
210
- <button mat-flat-button color="primary" (click)="apply()" [disabled]="!valid">
211
- {{ data.i18n?.apply || 'Aplicar' }}
212
- </button>
213
- </mat-dialog-actions>
214
- `, styles: [".pfx-dialog-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:8px}.pfx-dialog-title-text{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--mdc-dialog-subhead-color, var(--md-sys-color-on-surface))}.pfx-dialog-close{margin-left:auto}.pfx-filter-dialog-content{display:flex;flex-direction:column;gap:12px;padding-top:8px}.pfx-empty-state{margin:8px 0 0;color:var(--mdc-dialog-supporting-text-color, var(--md-sys-color-on-surface-variant))}.pfx-dialog-loading{display:flex;flex-direction:column;gap:10px;min-height:128px;justify-content:center;color:var(--mdc-dialog-supporting-text-color, var(--md-sys-color-on-surface-variant));font-size:.875rem}.pfx-form-pending{height:0;overflow:hidden;visibility:hidden;pointer-events:none}.pfx-dialog-actions{padding:var(--pdx-dialog-actions-padding, 12px 24px 16px);border-top:1px solid var(--md-sys-color-outline-variant);background:transparent;display:flex;align-items:center;gap:8px}.pfx-save-shortcut-button{margin-right:auto}.pfx-save-shortcut-button mat-icon{margin-right:6px;width:18px;height:18px;font-size:18px}\n"] }]
215
- }], ctorParameters: () => [{ type: undefined, decorators: [{
216
- type: Inject,
217
- args: [MAT_DIALOG_DATA]
218
- }] }, { type: i1.MatDialogRef }] });
219
-
220
- export { FilterFormDialogHostComponent };