ud-components 0.5.24 → 0.5.26

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.
@@ -2,6 +2,7 @@ import { TableDisplayColumnType } from '../enums/table-display-column-type';
2
2
  import { TemplateRef } from '@angular/core';
3
3
  import { SortDirection } from '@angular/material/sort';
4
4
  import { Observable } from 'rxjs';
5
+ import { UdSelectOption } from '../lib/form-fields/multi-select/multi-select.component';
5
6
  export interface TableDisplayColumn {
6
7
  /**
7
8
  * Property in which to take the value from
@@ -62,4 +63,12 @@ export interface TableDisplayColumn {
62
63
  * e.g. a column with ratio 2 gets twice the width of a column with ratio 1.
63
64
  */
64
65
  widthRatio?: number;
66
+ /**
67
+ * Enables inline editing for this column. Shows a pencil icon on hover.
68
+ */
69
+ editable?: boolean;
70
+ /**
71
+ * Options for SELECT type editable columns (the enum values to pick from).
72
+ */
73
+ editOptions?: UdSelectOption[];
65
74
  }
@@ -64,6 +64,7 @@ export declare class CalendarComponent implements OnDestroy {
64
64
  id: CalendarView;
65
65
  label: string;
66
66
  }[];
67
+ readonly monthDayNames: string[];
67
68
  private readonly CELL_H;
68
69
  private readonly TIME_COL_W;
69
70
  /** Drag snapping granularity, in minutes. */
@@ -5,7 +5,7 @@ import { TableDisplayColumn } from '../../interfaces/table-display-column.interf
5
5
  import { TranslateWrapperService } from '../../services/translate-wrapper/translate-wrapper.service';
6
6
  import { SelectionModel } from '@angular/cdk/collections';
7
7
  import { ElementRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
8
- import { FormGroup } from '@angular/forms';
8
+ import { FormControl, FormGroup } from '@angular/forms';
9
9
  import { MatPaginator, PageEvent } from '@angular/material/paginator';
10
10
  import { UdSelectOption } from '../form-fields/multi-select/multi-select.component';
11
11
  import { MatSort } from '@angular/material/sort';
@@ -121,6 +121,14 @@ export declare class CustomTableComponent implements OnInit {
121
121
  * Emits combined query change (filters + pagination)
122
122
  */
123
123
  queryChange: EventEmitter<TableQueryChange>;
124
+ /**
125
+ * Emits when an editable cell value is confirmed: { row, property, value }
126
+ */
127
+ cellEdited: EventEmitter<{
128
+ row: any;
129
+ property: string;
130
+ value: any;
131
+ }>;
124
132
  actionsTemplate: TemplateRef<any>;
125
133
  selection: SelectionModel<any>;
126
134
  selectedFilters: TableDisplayColumn[];
@@ -129,6 +137,17 @@ export declare class CustomTableComponent implements OnInit {
129
137
  tableDisplayColumnType: typeof TableDisplayColumnType;
130
138
  initSortedCol: TableDisplayColumn | null;
131
139
  filterByColumnFormGroup: FormGroup;
140
+ editingCell: {
141
+ rowIndex: number;
142
+ property: string;
143
+ } | null;
144
+ hoveredCell: {
145
+ rowIndex: number;
146
+ property: string;
147
+ } | null;
148
+ editFormGroup: FormGroup<{
149
+ value: FormControl<any>;
150
+ }>;
132
151
  /**
133
152
  * Related to filtering and pagination on localStorage
134
153
  */
@@ -183,9 +202,12 @@ export declare class CustomTableComponent implements OnInit {
183
202
  get displayedColumnsProperty(): string[];
184
203
  get displayedColumnsWithoutSelect(): TableDisplayColumn[];
185
204
  get displayCheckbox(): boolean;
205
+ startEditing(row: any, rowIndex: number, column: TableDisplayColumn): void;
206
+ confirmEdit(row: any, column: TableDisplayColumn): void;
207
+ cancelEdit(): void;
186
208
  protected readonly capitalize: (word: string) => string;
187
209
  protected readonly TableDisplayColumnType: typeof TableDisplayColumnType;
188
210
  protected readonly NumberOperator: typeof NumberOperator;
189
211
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomTableComponent, never>;
190
- static ɵcmp: i0.ɵɵComponentDeclaration<CustomTableComponent, "ud-table", never, { "id": { "alias": "id"; "required": false; }; "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "haveCheckbox": { "alias": "haveCheckbox"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "paginationSizeOptions": { "alias": "paginationSizeOptions"; "required": false; }; "initialPageSize": { "alias": "initialPageSize"; "required": false; }; "specificSelectRow": { "alias": "specificSelectRow"; "required": false; }; "hasFilter": { "alias": "hasFilter"; "required": false; }; "expandableRows": { "alias": "expandableRows"; "required": false; }; "expandedItem": { "alias": "expandedItem"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "separateFilters": { "alias": "separateFilters"; "required": false; }; "showPaginator": { "alias": "showPaginator"; "required": false; }; "noTableDataMessage": { "alias": "noTableDataMessage"; "required": false; }; "actionsMenuEnabled": { "alias": "actionsMenuEnabled"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; "totalElements": { "alias": "totalElements"; "required": false; }; "serverSideFiltering": { "alias": "serverSideFiltering"; "required": false; }; "disableHeader": { "alias": "disableHeader"; "required": false; }; }, { "actionClicked": "actionClicked"; "clicked": "clicked"; "queryChange": "queryChange"; }, ["actionsTemplate"], never, true, never>;
212
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomTableComponent, "ud-table", never, { "id": { "alias": "id"; "required": false; }; "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "haveCheckbox": { "alias": "haveCheckbox"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "paginationSizeOptions": { "alias": "paginationSizeOptions"; "required": false; }; "initialPageSize": { "alias": "initialPageSize"; "required": false; }; "specificSelectRow": { "alias": "specificSelectRow"; "required": false; }; "hasFilter": { "alias": "hasFilter"; "required": false; }; "expandableRows": { "alias": "expandableRows"; "required": false; }; "expandedItem": { "alias": "expandedItem"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "separateFilters": { "alias": "separateFilters"; "required": false; }; "showPaginator": { "alias": "showPaginator"; "required": false; }; "noTableDataMessage": { "alias": "noTableDataMessage"; "required": false; }; "actionsMenuEnabled": { "alias": "actionsMenuEnabled"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; "totalElements": { "alias": "totalElements"; "required": false; }; "serverSideFiltering": { "alias": "serverSideFiltering"; "required": false; }; "disableHeader": { "alias": "disableHeader"; "required": false; }; }, { "actionClicked": "actionClicked"; "clicked": "clicked"; "queryChange": "queryChange"; "cellEdited": "cellEdited"; }, ["actionsTemplate"], never, true, never>;
191
213
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ud-components",
3
- "version": "0.5.24",
3
+ "version": "0.5.26",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": ">=19",
6
6
  "@angular/common": ">=19",