spiderly 19.8.8 → 19.8.9

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,4 +1,4 @@
1
- import { AfterViewInit, EventEmitter, OnDestroy, OnInit } from '@angular/core';
1
+ import { AfterViewInit, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { TranslocoService } from '@jsverse/transloco';
4
4
  import { SelectItem } from 'primeng/api';
@@ -23,6 +23,11 @@ export declare class SpiderlyDataTableComponent implements OnInit, AfterViewInit
23
23
  private locale;
24
24
  private readonly destroy$;
25
25
  table: Table;
26
+ /**
27
+ * Custom toolbar content projected via `<ng-template spiderlyDataTableActions>`.
28
+ * Rendered in the caption action area ahead of the built-in buttons.
29
+ */
30
+ actionsTemplate: TemplateRef<any>;
26
31
  tableTitle: string;
27
32
  tableIcon: string;
28
33
  items: any[];
@@ -136,7 +141,7 @@ export declare class SpiderlyDataTableComponent implements OnInit, AfterViewInit
136
141
  rowUnselect(id: number): void;
137
142
  getFormArrayControlByIndex(formControlName: string, index: number): SpiderlyFormControl;
138
143
  static ɵfac: i0.ɵɵFactoryDeclaration<SpiderlyDataTableComponent, never>;
139
- static ɵcmp: i0.ɵɵComponentDeclaration<SpiderlyDataTableComponent, "spiderly-data-table", never, { "tableTitle": { "alias": "tableTitle"; "required": false; }; "tableIcon": { "alias": "tableIcon"; "required": false; }; "items": { "alias": "items"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "showPaginator": { "alias": "showPaginator"; "required": false; }; "showCardWrapper": { "alias": "showCardWrapper"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "getPaginatedListObservableMethod": { "alias": "getPaginatedListObservableMethod"; "required": false; }; "exportListToExcelObservableMethod": { "alias": "exportListToExcelObservableMethod"; "required": false; }; "deleteItemFromTableObservableMethod": { "alias": "deleteItemFromTableObservableMethod"; "required": false; }; "deleteListFromTableObservableMethod": { "alias": "deleteListFromTableObservableMethod"; "required": false; }; "newlySelectedItems": { "alias": "newlySelectedItems"; "required": false; }; "unselectedItems": { "alias": "unselectedItems"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "selectedLazyLoadObservableMethod": { "alias": "selectedLazyLoadObservableMethod"; "required": false; }; "additionalFilterIdLong": { "alias": "additionalFilterIdLong"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "showExportToExcelButton": { "alias": "showExportToExcelButton"; "required": false; }; "showReloadTableButton": { "alias": "showReloadTableButton"; "required": false; }; "getFormArrayItems": { "alias": "getFormArrayItems"; "required": false; }; "hasLazyLoad": { "alias": "hasLazyLoad"; "required": false; }; "stateKey": { "alias": "stateKey"; "required": false; }; "stateStorage": { "alias": "stateStorage"; "required": false; }; "getAlreadySelectedItemIds": { "alias": "getAlreadySelectedItemIds"; "required": false; }; "getAlreadySelectedItems": { "alias": "getAlreadySelectedItems"; "required": false; }; "getFormControl": { "alias": "getFormControl"; "required": false; }; "additionalIndexes": { "alias": "additionalIndexes"; "required": false; }; "navigateOnRowClick": { "alias": "navigateOnRowClick"; "required": false; }; "rowNavigationPath": { "alias": "rowNavigationPath"; "required": false; }; }, { "onTotalRecordsChange": "onTotalRecordsChange"; "onLazyLoad": "onLazyLoad"; "onIsAllSelectedChange": "onIsAllSelectedChange"; "onRowSelect": "onRowSelect"; "onRowUnselect": "onRowUnselect"; }, never, never, true, never>;
144
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpiderlyDataTableComponent, "spiderly-data-table", never, { "tableTitle": { "alias": "tableTitle"; "required": false; }; "tableIcon": { "alias": "tableIcon"; "required": false; }; "items": { "alias": "items"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "showPaginator": { "alias": "showPaginator"; "required": false; }; "showCardWrapper": { "alias": "showCardWrapper"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "getPaginatedListObservableMethod": { "alias": "getPaginatedListObservableMethod"; "required": false; }; "exportListToExcelObservableMethod": { "alias": "exportListToExcelObservableMethod"; "required": false; }; "deleteItemFromTableObservableMethod": { "alias": "deleteItemFromTableObservableMethod"; "required": false; }; "deleteListFromTableObservableMethod": { "alias": "deleteListFromTableObservableMethod"; "required": false; }; "newlySelectedItems": { "alias": "newlySelectedItems"; "required": false; }; "unselectedItems": { "alias": "unselectedItems"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "selectedLazyLoadObservableMethod": { "alias": "selectedLazyLoadObservableMethod"; "required": false; }; "additionalFilterIdLong": { "alias": "additionalFilterIdLong"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "showExportToExcelButton": { "alias": "showExportToExcelButton"; "required": false; }; "showReloadTableButton": { "alias": "showReloadTableButton"; "required": false; }; "getFormArrayItems": { "alias": "getFormArrayItems"; "required": false; }; "hasLazyLoad": { "alias": "hasLazyLoad"; "required": false; }; "stateKey": { "alias": "stateKey"; "required": false; }; "stateStorage": { "alias": "stateStorage"; "required": false; }; "getAlreadySelectedItemIds": { "alias": "getAlreadySelectedItemIds"; "required": false; }; "getAlreadySelectedItems": { "alias": "getAlreadySelectedItems"; "required": false; }; "getFormControl": { "alias": "getFormControl"; "required": false; }; "additionalIndexes": { "alias": "additionalIndexes"; "required": false; }; "navigateOnRowClick": { "alias": "navigateOnRowClick"; "required": false; }; "rowNavigationPath": { "alias": "rowNavigationPath"; "required": false; }; }, { "onTotalRecordsChange": "onTotalRecordsChange"; "onLazyLoad": "onLazyLoad"; "onIsAllSelectedChange": "onIsAllSelectedChange"; "onRowSelect": "onRowSelect"; "onRowUnselect": "onRowUnselect"; }, ["actionsTemplate"], never, true, never>;
140
145
  }
141
146
  export declare class Action {
142
147
  name?: string;
@@ -0,0 +1,26 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Marks an `<ng-template>` projected into `spiderly-data-table` as custom toolbar
4
+ * content. The template is rendered in the table's caption action area, ahead of the
5
+ * built-in Clear Filters / Export to Excel / Reload / Delete Selected buttons, so its
6
+ * position stays stable regardless of selection state.
7
+ *
8
+ * The projected template binds to the consumer component (so `(click)` handlers call
9
+ * the consumer's methods), and inherits the action row's spacing and responsive
10
+ * stacking. No table state is passed as context — read it via the table's outputs
11
+ * (`onLazyLoad`, `onTotalRecordsChange`, `onRowSelect`) when needed.
12
+ *
13
+ * @example
14
+ * ```html
15
+ * <spiderly-data-table [cols]="cols" [getPaginatedListObservableMethod]="...">
16
+ * <ng-template spiderlyDataTableActions>
17
+ * <button pButton class="p-button-outlined" style="flex: none"
18
+ * icon="pi pi-check" [label]="t('ApproveAll')" (click)="approveAll()"></button>
19
+ * </ng-template>
20
+ * </spiderly-data-table>
21
+ * ```
22
+ */
23
+ export declare class SpiderlyDataTableActionsDirective {
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpiderlyDataTableActionsDirective, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SpiderlyDataTableActionsDirective, "[spiderlyDataTableActions]", never, {}, {}, never, never, true, never>;
26
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spiderly",
3
- "version": "19.8.8",
3
+ "version": "19.8.9",
4
4
  "author": "Filip Trivan",
5
5
  "license": "MIT",
6
6
  "description": "Spiderly Angular Library to use in combination with Spiderly.",
package/public-api.d.ts CHANGED
@@ -90,4 +90,5 @@ export * from './lib/services/helper-functions';
90
90
  export * from './lib/services/spiderly-message.service';
91
91
  export * from './lib/services/spiderly-transloco-loader';
92
92
  export * from './lib/services/validator-abstract.service';
93
+ export * from './lib/directives/spiderly-data-table-actions.directive';
93
94
  export * from './lib/directives/template-type.directive';