@praxisui/table 8.0.0-beta.1 → 8.0.0-beta.3

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.
@@ -36581,6 +36581,7 @@ class PraxisTable {
36581
36581
  metadataChange = new EventEmitter();
36582
36582
  loadingStateChange = new EventEmitter();
36583
36583
  collectionLinksChange = new EventEmitter();
36584
+ selectionChange = new EventEmitter();
36584
36585
  latestLoadingState = null;
36585
36586
  paginator;
36586
36587
  sort;
@@ -47052,6 +47053,7 @@ class PraxisTable {
47052
47053
  this.isAllSelected() ?
47053
47054
  this.selection.clear() :
47054
47055
  this.dataSource.data.forEach(row => this.selection.select(row));
47056
+ this.emitSelectionChange('select-all-toggle');
47055
47057
  }
47056
47058
  isAllSelected() {
47057
47059
  const numSelected = this.selection.selected.length;
@@ -47069,13 +47071,26 @@ class PraxisTable {
47069
47071
  if (isSingleSelection) {
47070
47072
  if (allowDeselect && alreadySelected) {
47071
47073
  this.selection.deselect(row);
47074
+ this.emitSelectionChange('row-toggle', row);
47072
47075
  return;
47073
47076
  }
47074
47077
  this.selection.clear();
47075
47078
  this.selection.select(row);
47079
+ this.emitSelectionChange('row-select', row);
47076
47080
  return;
47077
47081
  }
47078
47082
  this.selection.toggle(row);
47083
+ this.emitSelectionChange('row-toggle', row);
47084
+ }
47085
+ emitSelectionChange(trigger, row) {
47086
+ const selectedRows = this.selection.selected.slice();
47087
+ this.selectionChange.emit({
47088
+ trigger,
47089
+ row,
47090
+ selectedRows,
47091
+ selectedCount: selectedRows.length,
47092
+ tableId: this.tableId,
47093
+ });
47079
47094
  }
47080
47095
  getRowActionsConfig() {
47081
47096
  return this.config.actions?.row || {};
@@ -47490,7 +47505,7 @@ class PraxisTable {
47490
47505
  this.removeViewportChangeListeners = null;
47491
47506
  }
47492
47507
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: PraxisTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i3$1.SettingsPanelService }, { token: i1.GenericCrudService }, { token: TableDefaultsProvider }, { token: FilterConfigService }, { token: DataFormattingService }, { token: i6$3.PraxisDialog }, { token: i2$2.MatSnackBar }, { token: ASYNC_CONFIG_STORAGE }, { token: CONNECTION_STORAGE }, { token: i0.ElementRef }, { token: i1.GlobalConfigService }, { token: i1.ResourceDiscoveryService }, { token: i1.ComponentKeyService }, { token: i1.LoadingOrchestrator }, { token: PRAXIS_LOADING_RENDERER, optional: true }, { token: i6$2.ActivatedRoute, optional: true }, { token: i1.LoggerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
47493
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.17", type: PraxisTable, isStandalone: true, selector: "praxis-table", inputs: { config: "config", resourcePath: "resourcePath", data: "data", tableId: "tableId", componentInstanceId: "componentInstanceId", title: "title", subtitle: "subtitle", icon: "icon", autoDelete: "autoDelete", notifyIfOutdated: "notifyIfOutdated", snoozeMs: "snoozeMs", autoOpenSettingsOnOutdated: "autoOpenSettingsOnOutdated", crudContext: "crudContext", filterCriteria: "filterCriteria", queryContext: "queryContext", enableCustomization: ["enableCustomization", "enableCustomization", booleanAttribute], dense: "dense" }, outputs: { 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", collectionLinksChange: "collectionLinksChange" }, host: { properties: { "class.density-compact": "this.hostDensityCompactClass", "class.density-comfortable": "this.hostDensityComfortableClass", "class.density-spacious": "this.hostDensitySpaciousClass", "class.row-borders": "this.hostRowBordersClass", "class.col-borders": "this.hostColumnBordersClass" } }, providers: [
47508
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.17", type: PraxisTable, isStandalone: true, selector: "praxis-table", inputs: { config: "config", resourcePath: "resourcePath", data: "data", tableId: "tableId", componentInstanceId: "componentInstanceId", title: "title", subtitle: "subtitle", icon: "icon", autoDelete: "autoDelete", notifyIfOutdated: "notifyIfOutdated", snoozeMs: "snoozeMs", autoOpenSettingsOnOutdated: "autoOpenSettingsOnOutdated", crudContext: "crudContext", filterCriteria: "filterCriteria", queryContext: "queryContext", enableCustomization: ["enableCustomization", "enableCustomization", booleanAttribute], dense: "dense" }, outputs: { 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", collectionLinksChange: "collectionLinksChange", selectionChange: "selectionChange" }, host: { properties: { "class.density-compact": "this.hostDensityCompactClass", "class.density-comfortable": "this.hostDensityComfortableClass", "class.density-spacious": "this.hostDensitySpaciousClass", "class.row-borders": "this.hostRowBordersClass", "class.col-borders": "this.hostColumnBordersClass" } }, providers: [
47494
47509
  providePraxisI18nConfig(RESOURCE_DISCOVERY_I18N_CONFIG),
47495
47510
  providePraxisI18nConfig(PRAXIS_TABLE_RUNTIME_I18N_CONFIG),
47496
47511
  MatPaginatorIntl,
@@ -47616,6 +47631,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
47616
47631
  type: Output
47617
47632
  }], collectionLinksChange: [{
47618
47633
  type: Output
47634
+ }], selectionChange: [{
47635
+ type: Output
47619
47636
  }], paginator: [{
47620
47637
  type: ViewChild,
47621
47638
  args: [MatPaginator]
@@ -49563,6 +49580,12 @@ const PRAXIS_TABLE_COMPONENT_METADATA = {
49563
49580
  label: 'Mudança de expansão',
49564
49581
  description: 'Emitido ao expandir/colapsar detalhes com contrato discriminado por política de exposição de identificadores',
49565
49582
  },
49583
+ {
49584
+ name: 'selectionChange',
49585
+ type: '{ trigger: string; row?: any; selectedRows: any[]; selectedCount: number; tableId?: string }',
49586
+ label: 'Selecao alterada',
49587
+ description: 'Emitido quando a selecao de linhas muda por interacao do usuario',
49588
+ },
49566
49589
  {
49567
49590
  name: 'rowAction',
49568
49591
  type: '{ action: string; row: any }',
package/index.d.ts CHANGED
@@ -912,6 +912,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
912
912
  metadataChange: EventEmitter<any>;
913
913
  loadingStateChange: EventEmitter<LoadingState>;
914
914
  collectionLinksChange: EventEmitter<RestApiLinks | null>;
915
+ selectionChange: EventEmitter<any>;
915
916
  private latestLoadingState;
916
917
  paginator: MatPaginator;
917
918
  sort: MatSort;
@@ -1785,6 +1786,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1785
1786
  isAllSelected(): boolean;
1786
1787
  toggleRow(row: any): void;
1787
1788
  private selectRowFromUserInteraction;
1789
+ private emitSelectionChange;
1788
1790
  private getRowActionsConfig;
1789
1791
  getActionsHeaderAlign(): string;
1790
1792
  getActionsHeaderTooltip(): string | undefined;
@@ -1828,7 +1830,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1828
1830
  private scheduleRowDiscoveryMarkForCheck;
1829
1831
  ngOnDestroy(): void;
1830
1832
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
1831
- 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; }; "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"; "collectionLinksChange": "collectionLinksChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
1833
+ 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; }; "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"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
1832
1834
  static ngAcceptInputType_enableCustomization: unknown;
1833
1835
  }
1834
1836
 
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "8.0.0-beta.1",
3
+ "version": "8.0.0-beta.3",
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/ai": "^8.0.0-beta.1",
9
- "@praxisui/core": "^8.0.0-beta.1",
10
- "@praxisui/dynamic-fields": "^8.0.0-beta.1",
11
- "@praxisui/dynamic-form": "^8.0.0-beta.1",
12
- "@praxisui/metadata-editor": "^8.0.0-beta.1",
13
- "@praxisui/rich-content": "^8.0.0-beta.1",
14
- "@praxisui/settings-panel": "^8.0.0-beta.1",
15
- "@praxisui/table-rule-builder": "^8.0.0-beta.1"
8
+ "@praxisui/ai": "^8.0.0-beta.3",
9
+ "@praxisui/core": "^8.0.0-beta.3",
10
+ "@praxisui/dynamic-fields": "^8.0.0-beta.3",
11
+ "@praxisui/dynamic-form": "^8.0.0-beta.3",
12
+ "@praxisui/metadata-editor": "^8.0.0-beta.3",
13
+ "@praxisui/rich-content": "^8.0.0-beta.3",
14
+ "@praxisui/settings-panel": "^8.0.0-beta.3",
15
+ "@praxisui/table-rule-builder": "^8.0.0-beta.3"
16
16
  },
17
17
  "dependencies": {
18
18
  "tslib": "^2.3.0"