@eternalcodestudio/primeng-table 19.0.3 → 19.0.5

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.
@@ -31,7 +31,6 @@ export declare class ECSPrimengTable implements OnInit, AfterViewInit {
31
31
  showColumnSelector: boolean;
32
32
  selectedRowsCheckbox: any[];
33
33
  dt: Table;
34
- showRefreshData: boolean;
35
34
  globalSearchText: string | null;
36
35
  tableViewsList: ITableView[];
37
36
  tableViews_menuItems: any[];
@@ -10,6 +10,7 @@ export declare class ExportExcel implements OnChanges {
10
10
  rowCheckboxSelectorActive: boolean;
11
11
  excelReportTitle: string;
12
12
  includeTimeInTitle: boolean;
13
+ exportUseIconsInBools: boolean;
13
14
  allowTitleUserEdit: boolean;
14
15
  exportToExcel: EventEmitter<{
15
16
  allColumns: boolean;
@@ -17,6 +18,7 @@ export declare class ExportExcel implements OnChanges {
17
18
  applySorts: boolean;
18
19
  selectedRows: number;
19
20
  filename: string;
21
+ useIconInBools: boolean;
20
22
  }>;
21
23
  visibleChange: EventEmitter<boolean>;
22
24
  constructor(notificationSerivce: ECSPrimengTableNotificationService, exportExcelService: ExportExcelService);
@@ -23,21 +23,26 @@ export declare class TableCell {
23
23
  getDataAlignHorizontalAsText(dataAlignHorizontal: DataAlignHorizontal): void;
24
24
  getDataAlignVerticalAsText(dataAlignVertical: DataAlignVertical): void;
25
25
  /**
26
- * Formats a date value to a specific string format. Provided date will be assumed to be in UTC
26
+ * Formats a date value using either column-level overrides or global settings.
27
+ * The incoming value is assumed to represent a UTC date.
27
28
  *
28
29
  * @param {any} value - The date value to be formatted.
29
- * @returns {string} - The formatted date string in 'dd-MMM-yyyy HH:mm:ss' format followed by the timezone, or empty string if the provided value is invalid or undefined.
30
+ * @param {string | null} dateFormat - Optional column-level override for the date format.
31
+ * @param {string | null} dateTimezone - Optional column-level override for the timezone used in formatting.
32
+ * @param {string | null} dateCulture - Optional column-level override for the culture used in formatting.
30
33
  *
31
- * @example
32
- * // Example date value
33
- * const dateValue: Date = new Date();
34
+ * @returns {string} - The formatted date string using the effective (column or global) settings,
35
+ * or an empty string if the value is invalid or undefined.
34
36
  *
35
- * // Use formatDate to get the formatted date string
36
- * const formattedDate: string = formatDate(dateValue);
37
+ * @example
38
+ * // Example using only global settings:
39
+ * const result = formatDate(dateValue, null, null, null);
37
40
  *
38
- * // Output might be: '18-Jun-2024 14:30:00 GMT+0000'
41
+ * @example
42
+ * // Example using column-level overrides:
43
+ * const result = formatDate(dateValue, 'dd/MM/yyyy', 'UTC', 'en-GB');
39
44
  */
40
- formatDate(value: any): string;
45
+ formatDate(value: any, dateFormat: string | null, dateTimezone: string | null, dateCulture: string | null): string;
41
46
  getPredefinedFilterTooltip(colMetadata: IColumnMetadata, value: any): any;
42
47
  /**
43
48
  * Checks if the provided column metadata matches a specific style of the predefined filters
@@ -1,5 +1,6 @@
1
- import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
1
+ import { DomSanitizer, SafeHtml, SafeUrl } from '@angular/platform-browser';
2
2
  import { ECSPrimengTableService } from '../ecs-primeng-table/ecs-primeng-table.service';
3
+ import { IColumnMetadata } from '../../interfaces';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class TablePredefinedFilters {
5
6
  private sanitizer;
@@ -9,6 +10,7 @@ export declare class TablePredefinedFilters {
9
10
  col: any;
10
11
  selectable: boolean;
11
12
  rowData: any;
13
+ globalSearchText?: any;
12
14
  /**
13
15
  * Converts a blob from the database to a safe URL that can be used to display an image.
14
16
  *
@@ -30,6 +32,7 @@ export declare class TablePredefinedFilters {
30
32
  getBlobIconAsUrl(blob: Blob): SafeUrl;
31
33
  handleClick(): void;
32
34
  getTagStyle(option: any): any;
35
+ highlightText(cellValue: any, colMetadata: IColumnMetadata, globalSearchText: string | null | undefined): SafeHtml;
33
36
  static ɵfac: i0.ɵɵFactoryDeclaration<TablePredefinedFilters, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<TablePredefinedFilters, "ecs-table-predefined-filters", never, { "option": { "alias": "option"; "required": false; }; "col": { "alias": "col"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<TablePredefinedFilters, "ecs-table-predefined-filters", never, { "option": { "alias": "option"; "required": false; }; "col": { "alias": "col"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "globalSearchText": { "alias": "globalSearchText"; "required": false; }; }, {}, never, never, true, never>;
35
38
  }
@@ -50,4 +50,10 @@ export interface IColumnMetadata {
50
50
  cellOverflowBehaviourAllowUserEdit: boolean;
51
51
  /** Initial width of the column in pixels. */
52
52
  initialWidth: number;
53
+ /** Optional date format override for this column. */
54
+ dateFormat: string | null;
55
+ /** Optional timezone override. */
56
+ dateTimezone: string | null;
57
+ /** Optional culture override. */
58
+ dateCulture: string | null;
53
59
  }
@@ -15,4 +15,6 @@ export interface IExcelExportRequest extends ITableQueryRequest {
15
15
  applyFilters: boolean;
16
16
  /** Determines whether the current table sorting should be applied in the export. */
17
17
  applySorts: boolean;
18
+ /** If in bools we need to use icons or the underlying boolean value. */
19
+ useIconInBools: boolean;
18
20
  }
@@ -22,6 +22,14 @@ export interface IPredefinedFilter {
22
22
  * Set to `true` to display the `name` as text in the cell.
23
23
  */
24
24
  displayName?: boolean;
25
+ /**
26
+ * Optional CSS style object to apply to the text when `displayName` is `true`.
27
+ *
28
+ * Example: { color: 'blue', fontWeight: 'bold', fontStyle: 'italic' }
29
+ */
30
+ nameStyle?: {
31
+ [key: string]: string;
32
+ };
25
33
  /**
26
34
  * Set to `true` to display the `name` as a tag in the cell.
27
35
  */
@@ -164,6 +164,13 @@ export interface ITableOptions {
164
164
  * @default "pi pi-pen-to-square"
165
165
  */
166
166
  selectorIcon?: string;
167
+ /**
168
+ * When `true`, columns in the selector are displayed alphabetically (A–Z).
169
+ * When `false`, columns keep the order provided by the backend.
170
+ *
171
+ * @default true
172
+ */
173
+ selectorOrderByColumnName?: boolean;
167
174
  /**
168
175
  * The combination of non-selectable columns and user-selected columns
169
176
  * that must be displayed in the table.
@@ -448,6 +455,24 @@ export interface ITableOptions {
448
455
  */
449
456
  urlSave?: string;
450
457
  };
458
+ /**
459
+ * Configurations related to the reset table view button.
460
+ */
461
+ resetTableView?: {
462
+ /**
463
+ * If the reset table view button should be enabled.
464
+ *
465
+ * @default true
466
+ */
467
+ enabled?: boolean;
468
+ /**
469
+ * Can be used to specifiy a different icon to be used by the reset table view button.
470
+ * You can replace it with any icon from PrimeNG or other libraries such as Font Awesome or Material Icons.
471
+ *
472
+ * @default "pi pi-eraser"
473
+ */
474
+ icon?: string;
475
+ };
451
476
  /**
452
477
  * Configurations for exporting the table data to Excel.
453
478
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternalcodestudio/primeng-table",
3
- "version": "19.0.3",
3
+ "version": "19.0.5",
4
4
  "description": "ECS reusable Angular PrimeNG table component with advanced server-side filters. Designed to offload filtering logic to any backend API.",
5
5
  "author": "ECS (Eternal CODE Studio)",
6
6
  "license": "MIT",