@smallpearl/ngx-helper 0.33.50 → 20.0.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.
Files changed (119) hide show
  1. package/core/index.d.ts +3 -1
  2. package/entities/index.d.ts +313 -2
  3. package/entity-field/index.d.ts +101 -2
  4. package/fesm2022/smallpearl-ngx-helper-entities.mjs +18 -18
  5. package/fesm2022/smallpearl-ngx-helper-entities.mjs.map +1 -1
  6. package/fesm2022/smallpearl-ngx-helper-entity-field.mjs +5 -4
  7. package/fesm2022/smallpearl-ngx-helper-entity-field.mjs.map +1 -1
  8. package/fesm2022/smallpearl-ngx-helper-forms.mjs.map +1 -1
  9. package/fesm2022/smallpearl-ngx-helper-hover-dropdown.mjs +6 -6
  10. package/fesm2022/smallpearl-ngx-helper-hover-dropdown.mjs.map +1 -1
  11. package/fesm2022/smallpearl-ngx-helper-locale.mjs +6 -6
  12. package/fesm2022/smallpearl-ngx-helper-locale.mjs.map +1 -1
  13. package/fesm2022/smallpearl-ngx-helper-mat-busy-wheel.mjs +57 -31
  14. package/fesm2022/smallpearl-ngx-helper-mat-busy-wheel.mjs.map +1 -1
  15. package/fesm2022/smallpearl-ngx-helper-mat-context-menu.mjs +15 -15
  16. package/fesm2022/smallpearl-ngx-helper-mat-context-menu.mjs.map +1 -1
  17. package/fesm2022/smallpearl-ngx-helper-mat-entity-crud.mjs +346 -334
  18. package/fesm2022/smallpearl-ngx-helper-mat-entity-crud.mjs.map +1 -1
  19. package/fesm2022/smallpearl-ngx-helper-mat-entity-list.mjs +152 -146
  20. package/fesm2022/smallpearl-ngx-helper-mat-entity-list.mjs.map +1 -1
  21. package/fesm2022/smallpearl-ngx-helper-mat-file-input.mjs +5 -5
  22. package/fesm2022/smallpearl-ngx-helper-mat-file-input.mjs.map +1 -1
  23. package/fesm2022/smallpearl-ngx-helper-mat-form-error.mjs +19 -19
  24. package/fesm2022/smallpearl-ngx-helper-mat-form-error.mjs.map +1 -1
  25. package/fesm2022/smallpearl-ngx-helper-mat-select-entity.mjs +25 -26
  26. package/fesm2022/smallpearl-ngx-helper-mat-select-entity.mjs.map +1 -1
  27. package/fesm2022/smallpearl-ngx-helper-mat-select-infinite-scroll.mjs +7 -7
  28. package/fesm2022/smallpearl-ngx-helper-mat-select-infinite-scroll.mjs.map +1 -1
  29. package/fesm2022/smallpearl-ngx-helper-mat-side-menu-layout.mjs +24 -24
  30. package/fesm2022/smallpearl-ngx-helper-mat-side-menu-layout.mjs.map +1 -1
  31. package/fesm2022/smallpearl-ngx-helper-mat-tel-input.mjs +8 -9
  32. package/fesm2022/smallpearl-ngx-helper-mat-tel-input.mjs.map +1 -1
  33. package/fesm2022/smallpearl-ngx-helper-sideload.mjs.map +1 -1
  34. package/fesm2022/smallpearl-ngx-helper-stationary-with-line-items.mjs +35 -35
  35. package/fesm2022/smallpearl-ngx-helper-stationary-with-line-items.mjs.map +1 -1
  36. package/forms/index.d.ts +55 -1
  37. package/hover-dropdown/index.d.ts +44 -1
  38. package/index.d.ts +4 -5
  39. package/locale/index.d.ts +55 -5
  40. package/mat-busy-wheel/index.d.ts +165 -4
  41. package/mat-context-menu/index.d.ts +65 -1
  42. package/mat-entity-crud/index.d.ts +1075 -6
  43. package/mat-entity-list/index.d.ts +394 -3
  44. package/mat-file-input/index.d.ts +61 -1
  45. package/mat-form-error/index.d.ts +184 -6
  46. package/mat-select-entity/index.d.ts +194 -1
  47. package/mat-select-infinite-scroll/index.d.ts +45 -2
  48. package/mat-side-menu-layout/index.d.ts +180 -6
  49. package/mat-tel-input/index.d.ts +169 -2
  50. package/package.json +18 -13
  51. package/sideload/index.d.ts +20 -1
  52. package/stationary-with-line-items/index.d.ts +78 -1
  53. package/core/src/version.d.ts +0 -1
  54. package/entities/src/paged-loader.d.ts +0 -219
  55. package/entities/src/paginator.d.ts +0 -87
  56. package/entity-field/src/entity-field.d.ts +0 -70
  57. package/entity-field/src/provider.d.ts +0 -27
  58. package/forms/src/validation-error-handler.d.ts +0 -52
  59. package/hover-dropdown/src/hover-dropdown.directive.d.ts +0 -41
  60. package/locale/src/currency.pipe.d.ts +0 -14
  61. package/locale/src/date.pipe.d.ts +0 -14
  62. package/locale/src/format-currency.d.ts +0 -1
  63. package/locale/src/format-date.d.ts +0 -2
  64. package/locale/src/is-empty.d.ts +0 -1
  65. package/locale/src/providers.d.ts +0 -20
  66. package/mat-busy-wheel/src/busy-wheel-op.d.ts +0 -65
  67. package/mat-busy-wheel/src/busy-wheel.component.d.ts +0 -12
  68. package/mat-busy-wheel/src/busy-wheel.service.d.ts +0 -42
  69. package/mat-busy-wheel/src/host-busy-wheel.directive.d.ts +0 -35
  70. package/mat-context-menu/src/mat-context-menu.component.d.ts +0 -61
  71. package/mat-entity-crud/src/convert-context-input-to-http-context.d.ts +0 -11
  72. package/mat-entity-crud/src/default-config.d.ts +0 -9
  73. package/mat-entity-crud/src/form-view-host.component.d.ts +0 -41
  74. package/mat-entity-crud/src/mat-entity-crud-form-base.d.ts +0 -277
  75. package/mat-entity-crud/src/mat-entity-crud-internal-types.d.ts +0 -131
  76. package/mat-entity-crud/src/mat-entity-crud-item-action.d.ts +0 -68
  77. package/mat-entity-crud/src/mat-entity-crud-types.d.ts +0 -149
  78. package/mat-entity-crud/src/mat-entity-crud.component.d.ts +0 -366
  79. package/mat-entity-crud/src/preview-host.component.d.ts +0 -21
  80. package/mat-entity-crud/src/preview-pane.component.d.ts +0 -31
  81. package/mat-entity-crud/src/providers.d.ts +0 -3
  82. package/mat-entity-list/src/config.d.ts +0 -6
  83. package/mat-entity-list/src/mat-entity-list-types.d.ts +0 -128
  84. package/mat-entity-list/src/mat-entity-list.component.d.ts +0 -259
  85. package/mat-entity-list/src/providers.d.ts +0 -3
  86. package/mat-file-input/src/mat-file-input.component.d.ts +0 -58
  87. package/mat-form-error/src/locales/en.d.ts +0 -4
  88. package/mat-form-error/src/locales/hu.d.ts +0 -4
  89. package/mat-form-error/src/locales/index.d.ts +0 -5
  90. package/mat-form-error/src/locales/pt-br.d.ts +0 -4
  91. package/mat-form-error/src/locales/zh-hans.d.ts +0 -4
  92. package/mat-form-error/src/locales/zh-hant.d.ts +0 -4
  93. package/mat-form-error/src/ngx-error-list.component.d.ts +0 -9
  94. package/mat-form-error/src/ngx-mat-error-control.d.ts +0 -17
  95. package/mat-form-error/src/ngx-mat-error-def.directive.d.ts +0 -30
  96. package/mat-form-error/src/ngx-mat-errors-for-date-range-picker.directive.d.ts +0 -8
  97. package/mat-form-error/src/ngx-mat-errors.component.d.ts +0 -44
  98. package/mat-form-error/src/types.d.ts +0 -68
  99. package/mat-form-error/src/utils/coerce-to-observable.d.ts +0 -3
  100. package/mat-form-error/src/utils/distinct-until-error-changed.d.ts +0 -2
  101. package/mat-form-error/src/utils/find-error-for-control.d.ts +0 -9
  102. package/mat-form-error/src/utils/get-abstract-controls.d.ts +0 -3
  103. package/mat-form-error/src/utils/get-control-with-error.d.ts +0 -3
  104. package/mat-select-entity/src/mat-select-entity.component.d.ts +0 -190
  105. package/mat-select-infinite-scroll/src/mat-select-infinite-scroll.directive.d.ts +0 -19
  106. package/mat-select-infinite-scroll/src/mat-select-infinite-scroll.service.d.ts +0 -25
  107. package/mat-side-menu-layout/src/layout.service.d.ts +0 -23
  108. package/mat-side-menu-layout/src/mat-menu-layout.component.d.ts +0 -39
  109. package/mat-side-menu-layout/src/mat-menu-layout.module.d.ts +0 -18
  110. package/mat-side-menu-layout/src/mat-menu-list-item.component.d.ts +0 -36
  111. package/mat-side-menu-layout/src/mat-menu-pane.component.d.ts +0 -66
  112. package/mat-side-menu-layout/src/nav-item.d.ts +0 -10
  113. package/mat-tel-input/src/country-codes.d.ts +0 -5
  114. package/mat-tel-input/src/mat-telephone.component.d.ts +0 -129
  115. package/mat-tel-input/src/providers.d.ts +0 -38
  116. package/ngx-helper.d.ts +0 -2
  117. package/public-api.d.ts +0 -1
  118. package/sideload/src/sideload.d.ts +0 -18
  119. package/stationary-with-line-items/src/stationary-with-line-items.component.d.ts +0 -74
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@angular/common/http';
2
2
  import { HttpContextToken, HttpContext, HttpParams } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, inject, input, Directive, computed, signal, viewChild, viewChildren, effect, runInInjectionContext, EventEmitter, Component, ChangeDetectionStrategy, ContentChildren, Output } from '@angular/core';
4
+ import { InjectionToken, inject, input, Directive, computed, signal, viewChild, viewChildren, effect, runInInjectionContext, EventEmitter, Output, ContentChildren, ChangeDetectionStrategy, Component } from '@angular/core';
5
5
  import * as i3 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { MatButtonModule } from '@angular/material/button';
@@ -22,7 +22,7 @@ import { withEntities, selectAllEntities, getEntitiesCount, addEntities, hasEnti
22
22
  import { SPEntityField, SP_ENTITY_FIELD_CONFIG } from '@smallpearl/ngx-helper/entity-field';
23
23
  import { InfiniteScrollDirective } from 'ngx-infinite-scroll';
24
24
  import { plural } from 'pluralize';
25
- import { Subscription, Subject, takeUntil, tap, filter, distinctUntilChanged, switchMap, finalize, Observable, of } from 'rxjs';
25
+ import { Subscription, Subject, takeUntil, tap, filter, distinctUntilChanged, switchMap, finalize, of, Observable } from 'rxjs';
26
26
 
27
27
  const SP_MAT_ENTITY_LIST_HTTP_CONTEXT = new HttpContextToken(() => ({
28
28
  entityName: '',
@@ -54,7 +54,7 @@ function getEntityListConfig() {
54
54
 
55
55
  class HeaderAlignmentDirective {
56
56
  el;
57
- headerAlignment = input();
57
+ headerAlignment = input(...(ngDevMode ? [undefined, { debugName: "headerAlignment" }] : []));
58
58
  constructor(el) {
59
59
  this.el = el;
60
60
  // this.el.nativeElement.style.backgroundColor = 'yellow';
@@ -70,16 +70,16 @@ class HeaderAlignmentDirective {
70
70
  }
71
71
  }
72
72
  }
73
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: HeaderAlignmentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
74
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.6", type: HeaderAlignmentDirective, isStandalone: true, selector: "[headerAlignment]", inputs: { headerAlignment: { classPropertyName: "headerAlignment", publicName: "headerAlignment", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
73
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HeaderAlignmentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
74
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: HeaderAlignmentDirective, isStandalone: true, selector: "[headerAlignment]", inputs: { headerAlignment: { classPropertyName: "headerAlignment", publicName: "headerAlignment", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: HeaderAlignmentDirective, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HeaderAlignmentDirective, decorators: [{
77
77
  type: Directive,
78
78
  args: [{
79
79
  selector: '[headerAlignment]',
80
- standalone: true
80
+ standalone: true,
81
81
  }]
82
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
82
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { headerAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerAlignment", required: false }] }] } });
83
83
  /**
84
84
  * Represents a request to load entities from the remote. This is used to
85
85
  * compare two requests to determine if they are equal. This is useful to
@@ -116,17 +116,17 @@ class SPMatEntityListComponent {
116
116
  sanitizer;
117
117
  injector;
118
118
  /* CLIENT PROVIDED PARAMETERS */
119
- entityName = input.required();
120
- entityNamePlural = input();
119
+ entityName = input.required(...(ngDevMode ? [{ debugName: "entityName" }] : []));
120
+ entityNamePlural = input(...(ngDevMode ? [undefined, { debugName: "entityNamePlural" }] : []));
121
121
  /**
122
122
  * The endpoint from where the entities are to be retrieved
123
123
  */
124
- endpoint = input('');
124
+ endpoint = input('', ...(ngDevMode ? [{ debugName: "endpoint" }] : []));
125
125
  /**
126
126
  * Custom entities loader function, which if provided will be called
127
127
  * instead of HttpClient.get.
128
128
  */
129
- entityLoaderFn = input(undefined);
129
+ entityLoaderFn = input(undefined, ...(ngDevMode ? [{ debugName: "entityLoaderFn" }] : []));
130
130
  /**
131
131
  * The columns of the entity to be displayed. This is an array of
132
132
  * SPEntityFieldSpec objects. If there's a one-to-one mapping between the
@@ -134,47 +134,47 @@ class SPMatEntityListComponent {
134
134
  * specified instead. That is, the value of this property is a heterogeneous
135
135
  * array consisting of SPEntityFieldSpec<> objects and strings.
136
136
  */
137
- columns = input([]);
137
+ columns = input([], ...(ngDevMode ? [{ debugName: "columns" }] : []));
138
138
  /**
139
139
  * Names of columns that are displayed. This will default to all the columns
140
140
  * listed in columns.
141
141
  */
142
- displayedColumns = input([]); // ['name', 'cell', 'gender'];
142
+ displayedColumns = input([], ...(ngDevMode ? [{ debugName: "displayedColumns" }] : [])); // ['name', 'cell', 'gender'];
143
143
  /**
144
144
  * Number of entities per page. If this is not set and paginator is defined,
145
145
  * the number of entities int in the first request, will be taken as the
146
146
  * page size.
147
147
  */
148
- pageSize = input(0);
148
+ pageSize = input(0, ...(ngDevMode ? [{ debugName: "pageSize" }] : []));
149
149
  /**
150
150
  * Entity idKey, if idKey is different from the default 'id'.
151
151
  */
152
- idKey = input('id');
152
+ idKey = input('id', ...(ngDevMode ? [{ debugName: "idKey" }] : []));
153
153
  /**
154
154
  * Type of pagination -- continuous or discrete. 'infinite' pagination
155
155
  * uses an 'infiniteScroll' and 'discrete' pagination uses a mat-paginator
156
156
  * at the bottom to navigate between pages.
157
157
  */
158
- pagination = input('discrete');
158
+ pagination = input('discrete', ...(ngDevMode ? [{ debugName: "pagination" }] : []));
159
159
  /**
160
160
  * Component specific paginator. Only used if pagination != 'none'.
161
161
  */
162
- paginator = input();
162
+ paginator = input(...(ngDevMode ? [undefined, { debugName: "paginator" }] : []));
163
163
  /**
164
164
  *
165
165
  */
166
- sorter = input();
166
+ sorter = input(...(ngDevMode ? [undefined, { debugName: "sorter" }] : []));
167
167
  /**
168
168
  * Disable sorting of rows
169
169
  */
170
- disableSort = input(false);
170
+ disableSort = input(false, ...(ngDevMode ? [{ debugName: "disableSort" }] : []));
171
171
  /**
172
172
  * Wrappers for infiniteScroll properties, for customization by the client
173
173
  */
174
- infiniteScrollContainer = input('');
175
- infiniteScrollDistance = input(1);
176
- infiniteScrollThrottle = input(400);
177
- infiniteScrollWindow = input(false);
174
+ infiniteScrollContainer = input('', ...(ngDevMode ? [{ debugName: "infiniteScrollContainer" }] : []));
175
+ infiniteScrollDistance = input(1, ...(ngDevMode ? [{ debugName: "infiniteScrollDistance" }] : []));
176
+ infiniteScrollThrottle = input(400, ...(ngDevMode ? [{ debugName: "infiniteScrollThrottle" }] : []));
177
+ infiniteScrollWindow = input(false, ...(ngDevMode ? [{ debugName: "infiniteScrollWindow" }] : []));
178
178
  /**
179
179
  * Custom context to be set for HttpClient requests. Value for this attribute
180
180
  * can be an array of HttpContextToken key, value pairs, or an instance of
@@ -207,12 +207,12 @@ class SPMatEntityListComponent {
207
207
  * as an array of array. That is, `[[HttpContextToken<any>, any]]` and
208
208
  * initialize it appropriately.
209
209
  */
210
- httpReqContext = input();
210
+ httpReqContext = input(...(ngDevMode ? [undefined, { debugName: "httpReqContext" }] : []));
211
211
  /* END CLIENT PROVIDED PARAMETERS */
212
212
  // *** INTERNAL *** //
213
213
  _entityNamePlural = computed(() => this.entityNamePlural()
214
214
  ? this.entityNamePlural()
215
- : plural(this.entityName()));
215
+ : plural(this.entityName()), ...(ngDevMode ? [{ debugName: "_entityNamePlural" }] : []));
216
216
  _httpReqContext = computed(() => {
217
217
  let reqContext = this.httpReqContext();
218
218
  let context = new HttpContext();
@@ -242,20 +242,21 @@ class SPMatEntityListComponent {
242
242
  });
243
243
  }
244
244
  return context;
245
- });
246
- deferViewInit = input(false);
245
+ }, ...(ngDevMode ? [{ debugName: "_httpReqContext" }] : []));
246
+ deferViewInit = input(false, ...(ngDevMode ? [{ debugName: "deferViewInit" }] : []));
247
247
  firstLoadDone = false;
248
- allColumnNames = signal([]);
248
+ allColumnNames = signal([], ...(ngDevMode ? [{ debugName: "allColumnNames" }] : []));
249
249
  _displayedColumns = computed(() => this.displayedColumns().length > 0
250
- ? this.displayedColumns().filter((colName) => this.allColumnNames().find((name) => name === colName) !== undefined)
251
- : this.allColumnNames());
252
- dataSource = signal(new MatTableDataSource());
253
- table = viewChild(MatTable);
254
- sort = viewChild(MatSort);
250
+ ? this.displayedColumns().filter((colName) => this.allColumnNames().find((name) => name === colName) !==
251
+ undefined)
252
+ : this.allColumnNames(), ...(ngDevMode ? [{ debugName: "_displayedColumns" }] : []));
253
+ dataSource = signal(new MatTableDataSource(), ...(ngDevMode ? [{ debugName: "dataSource" }] : []));
254
+ table = viewChild(MatTable, ...(ngDevMode ? [{ debugName: "table" }] : []));
255
+ sort = viewChild(MatSort, ...(ngDevMode ? [{ debugName: "sort" }] : []));
255
256
  // These are our own <ng-container matColumnDef></ng-container>
256
257
  // which we create for each column that we create by the declaration:
257
258
  // <ng-container *ngFor="let column of columns()" [matColumnDef]="column.name">
258
- viewColumnDefs = viewChildren(MatColumnDef);
259
+ viewColumnDefs = viewChildren(MatColumnDef, ...(ngDevMode ? [{ debugName: "viewColumnDefs" }] : []));
259
260
  // These are the <ng-container matColumnDef></ng-container> placed
260
261
  // inside <sp-mat-entity-list></<sp-mat-entity-list> by the client to override
261
262
  // the default <ng-container matColumnDef> created by the component.
@@ -264,13 +265,14 @@ class SPMatEntityListComponent {
264
265
  subs$ = new Subscription();
265
266
  destroy$ = new Subject();
266
267
  // Pagination state
267
- entityCount = signal(0);
268
- pageIndex = signal(0);
268
+ entityCount = signal(0, ...(ngDevMode ? [{ debugName: "entityCount" }] : []));
269
+ pageIndex = signal(0, ...(ngDevMode ? [{ debugName: "pageIndex" }] : []));
269
270
  // Mechanism to default pageSize to last entities length.
270
- lastFetchedEntitiesCount = signal(0);
271
+ lastFetchedEntitiesCount = signal(0, ...(ngDevMode ? [{ debugName: "lastFetchedEntitiesCount" }] : []));
271
272
  _pageSize = computed(() => this.pageSize()
272
273
  ? this.pageSize()
273
- : this.entityListConfig.defaultPageSize ?? this.lastFetchedEntitiesCount());
274
+ : (this.entityListConfig.defaultPageSize ??
275
+ this.lastFetchedEntitiesCount()), ...(ngDevMode ? [{ debugName: "_pageSize" }] : []));
274
276
  // Effective columns, derived from columns(), which can either be an array
275
277
  // of objects of array of strings.
276
278
  _columns = computed(() => {
@@ -287,8 +289,8 @@ class SPMatEntityListComponent {
287
289
  }
288
290
  });
289
291
  return cols;
290
- });
291
- __columns = computed(() => this.columns().map((colDef) => new SPEntityField(colDef, this.fieldConfig)));
292
+ }, ...(ngDevMode ? [{ debugName: "_columns" }] : []));
293
+ __columns = computed(() => this.columns().map((colDef) => new SPEntityField(colDef, this.fieldConfig)), ...(ngDevMode ? [{ debugName: "__columns" }] : []));
292
294
  // We isolate retrieving items from the remote and providing the items
293
295
  // to the component into two distinct operations. The retrieval operation
294
296
  // retrieves data asynchronously and then stores the data in a local store.
@@ -315,11 +317,13 @@ class SPMatEntityListComponent {
315
317
  // config.
316
318
  _paginator;
317
319
  // We will toggle this during every entity load.
318
- loading = signal(false);
320
+ loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
319
321
  // We will update this after every load and pagination() == 'infinite'
320
- hasMore = signal(true);
321
- activeEntity = signal(undefined);
322
- activeEntityId = computed(() => this.activeEntity() ? this.activeEntity()[this.idKey()] : undefined);
322
+ hasMore = signal(true, ...(ngDevMode ? [{ debugName: "hasMore" }] : []));
323
+ activeEntity = signal(undefined, ...(ngDevMode ? [{ debugName: "activeEntity" }] : []));
324
+ activeEntityId = computed(() => this.activeEntity()
325
+ ? this.activeEntity()[this.idKey()]
326
+ : undefined, ...(ngDevMode ? [{ debugName: "activeEntityId" }] : []));
323
327
  _prevActiveEntity;
324
328
  _activeEntityChange = effect(() => {
325
329
  runInInjectionContext(this.injector, () => {
@@ -342,7 +346,7 @@ class SPMatEntityListComponent {
342
346
  });
343
347
  }
344
348
  });
345
- });
349
+ }, ...(ngDevMode ? [{ debugName: "_activeEntityChange" }] : []));
346
350
  selectEntity = new EventEmitter();
347
351
  fieldConfig = inject(SP_ENTITY_FIELD_CONFIG, { optional: true });
348
352
  entityListConfig = getEntityListConfig();
@@ -361,7 +365,7 @@ class SPMatEntityListComponent {
361
365
  });
362
366
  }
363
367
  });
364
- });
368
+ }, ...(ngDevMode ? [{ debugName: "endpointChanged" }] : []));
365
369
  constructor(http, sanitizer, injector) {
366
370
  this.http = http;
367
371
  this.sanitizer = sanitizer;
@@ -671,8 +675,8 @@ class SPMatEntityListComponent {
671
675
  isAsync(val) {
672
676
  return val instanceof Observable;
673
677
  }
674
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: SPMatEntityListComponent, deps: [{ token: i1.HttpClient }, { token: i2.DomSanitizer }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
675
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.6", type: SPMatEntityListComponent, isStandalone: true, selector: "sp-mat-entity-list", inputs: { entityName: { classPropertyName: "entityName", publicName: "entityName", isSignal: true, isRequired: true, transformFunction: null }, entityNamePlural: { classPropertyName: "entityNamePlural", publicName: "entityNamePlural", isSignal: true, isRequired: false, transformFunction: null }, endpoint: { classPropertyName: "endpoint", publicName: "endpoint", isSignal: true, isRequired: false, transformFunction: null }, entityLoaderFn: { classPropertyName: "entityLoaderFn", publicName: "entityLoaderFn", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, idKey: { classPropertyName: "idKey", publicName: "idKey", isSignal: true, isRequired: false, transformFunction: null }, pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, sorter: { classPropertyName: "sorter", publicName: "sorter", isSignal: true, isRequired: false, transformFunction: null }, disableSort: { classPropertyName: "disableSort", publicName: "disableSort", isSignal: true, isRequired: false, transformFunction: null }, infiniteScrollContainer: { classPropertyName: "infiniteScrollContainer", publicName: "infiniteScrollContainer", isSignal: true, isRequired: false, transformFunction: null }, infiniteScrollDistance: { classPropertyName: "infiniteScrollDistance", publicName: "infiniteScrollDistance", isSignal: true, isRequired: false, transformFunction: null }, infiniteScrollThrottle: { classPropertyName: "infiniteScrollThrottle", publicName: "infiniteScrollThrottle", isSignal: true, isRequired: false, transformFunction: null }, infiniteScrollWindow: { classPropertyName: "infiniteScrollWindow", publicName: "infiniteScrollWindow", isSignal: true, isRequired: false, transformFunction: null }, httpReqContext: { classPropertyName: "httpReqContext", publicName: "httpReqContext", isSignal: true, isRequired: false, transformFunction: null }, deferViewInit: { classPropertyName: "deferViewInit", publicName: "deferViewInit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectEntity: "selectEntity" }, queries: [{ propertyName: "clientColumnDefs", predicate: MatColumnDef }], viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true, isSignal: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }, { propertyName: "viewColumnDefs", predicate: MatColumnDef, descendants: true, isSignal: true }], ngImport: i0, template: `
678
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SPMatEntityListComponent, deps: [{ token: i1.HttpClient }, { token: i2.DomSanitizer }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
679
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SPMatEntityListComponent, isStandalone: true, selector: "sp-mat-entity-list", inputs: { entityName: { classPropertyName: "entityName", publicName: "entityName", isSignal: true, isRequired: true, transformFunction: null }, entityNamePlural: { classPropertyName: "entityNamePlural", publicName: "entityNamePlural", isSignal: true, isRequired: false, transformFunction: null }, endpoint: { classPropertyName: "endpoint", publicName: "endpoint", isSignal: true, isRequired: false, transformFunction: null }, entityLoaderFn: { classPropertyName: "entityLoaderFn", publicName: "entityLoaderFn", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, idKey: { classPropertyName: "idKey", publicName: "idKey", isSignal: true, isRequired: false, transformFunction: null }, pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, sorter: { classPropertyName: "sorter", publicName: "sorter", isSignal: true, isRequired: false, transformFunction: null }, disableSort: { classPropertyName: "disableSort", publicName: "disableSort", isSignal: true, isRequired: false, transformFunction: null }, infiniteScrollContainer: { classPropertyName: "infiniteScrollContainer", publicName: "infiniteScrollContainer", isSignal: true, isRequired: false, transformFunction: null }, infiniteScrollDistance: { classPropertyName: "infiniteScrollDistance", publicName: "infiniteScrollDistance", isSignal: true, isRequired: false, transformFunction: null }, infiniteScrollThrottle: { classPropertyName: "infiniteScrollThrottle", publicName: "infiniteScrollThrottle", isSignal: true, isRequired: false, transformFunction: null }, infiniteScrollWindow: { classPropertyName: "infiniteScrollWindow", publicName: "infiniteScrollWindow", isSignal: true, isRequired: false, transformFunction: null }, httpReqContext: { classPropertyName: "httpReqContext", publicName: "httpReqContext", isSignal: true, isRequired: false, transformFunction: null }, deferViewInit: { classPropertyName: "deferViewInit", publicName: "deferViewInit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectEntity: "selectEntity" }, queries: [{ propertyName: "clientColumnDefs", predicate: MatColumnDef }], viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true, isSignal: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, isSignal: true }, { propertyName: "viewColumnDefs", predicate: MatColumnDef, descendants: true, isSignal: true }], ngImport: i0, template: `
676
680
  <div
677
681
  class="entities-list-wrapper"
678
682
  infiniteScroll
@@ -701,17 +705,17 @@ class SPMatEntityListComponent {
701
705
  ></tr>
702
706
  </table>
703
707
  @if (pagination() == 'discrete' && _paginator) {
704
- <mat-paginator
705
- showFirstLastButtons
706
- [length]="entityCount()"
707
- [pageSize]="_pageSize()"
708
- [pageIndex]="pageIndex()"
709
- [pageSizeOptions]="[]"
710
- [hidePageSize]="true"
711
- (page)="handlePageEvent($event)"
712
- [disabled]="loading()"
713
- aria-label="Select page"
714
- ></mat-paginator>
708
+ <mat-paginator
709
+ showFirstLastButtons
710
+ [length]="entityCount()"
711
+ [pageSize]="_pageSize()"
712
+ [pageIndex]="pageIndex()"
713
+ [pageSizeOptions]="[]"
714
+ [hidePageSize]="true"
715
+ (page)="handlePageEvent($event)"
716
+ [disabled]="loading()"
717
+ aria-label="Select page"
718
+ ></mat-paginator>
715
719
  }
716
720
  <div
717
721
  class="infinite-scroll-loading"
@@ -724,43 +728,44 @@ class SPMatEntityListComponent {
724
728
  be dynamically added to the MatTable. -->
725
729
  <span matSort="sorter()">
726
730
  @for (column of __columns(); track $index) {
727
- <ng-container [matColumnDef]="column.spec.name">
728
- @if (disableSort()) {
729
- <th
730
- [class]="column.class"
731
- [headerAlignment]="column.options.alignment"
732
- mat-header-cell
733
- *matHeaderCellDef
734
- >
735
- {{ getColumnLabel(column) | async }}
736
- </th>
737
- } @else {
738
- <th
739
- [class]="column.class"
740
- [headerAlignment]="column.options.alignment"
741
- mat-header-cell
742
- mat-sort-header
743
- *matHeaderCellDef
744
- >
745
- {{ getColumnLabel(column) | async }}
746
- </th>
747
- }
748
- <td
749
- [class]="column.class"
750
- [style.text-align]="column.options.alignment"
751
- mat-cell
752
- *matCellDef="let element"
753
- [routerLink]="column.getRouterLink(element)"
754
- >
755
- @if (column.hasRouterLink(element)) {
756
- <a [routerLink]="column.getRouterLink(element)">
757
- <span [innerHTML]="column.value(element)"></span>
758
- </a>
759
- } @else { @let val = column.value(element);
760
- <span [innerHTML]="isAsync(val) ? (val | async) : val"></span>
731
+ <ng-container [matColumnDef]="column.spec.name">
732
+ @if (disableSort()) {
733
+ <th
734
+ [class]="column.class"
735
+ [headerAlignment]="column.options.alignment"
736
+ mat-header-cell
737
+ *matHeaderCellDef
738
+ >
739
+ {{ getColumnLabel(column) | async }}
740
+ </th>
741
+ } @else {
742
+ <th
743
+ [class]="column.class"
744
+ [headerAlignment]="column.options.alignment"
745
+ mat-header-cell
746
+ mat-sort-header
747
+ *matHeaderCellDef
748
+ >
749
+ {{ getColumnLabel(column) | async }}
750
+ </th>
761
751
  }
762
- </td>
763
- </ng-container>
752
+ <td
753
+ [class]="column.class"
754
+ [style.text-align]="column.options.alignment"
755
+ mat-cell
756
+ *matCellDef="let element"
757
+ [routerLink]="column.getRouterLink(element)"
758
+ >
759
+ @if (column.hasRouterLink(element)) {
760
+ <a [routerLink]="column.getRouterLink(element)">
761
+ <span [innerHTML]="column.value(element)"></span>
762
+ </a>
763
+ } @else {
764
+ @let val = column.value(element);
765
+ <span [innerHTML]="isAsync(val) ? (val | async) : val"></span>
766
+ }
767
+ </td>
768
+ </ng-container>
764
769
  }
765
770
  </span>
766
771
  <ng-template #busySpinner>
@@ -768,9 +773,9 @@ class SPMatEntityListComponent {
768
773
  <mat-spinner mode="indeterminate" diameter="28"></mat-spinner>
769
774
  </div>
770
775
  </ng-template>
771
- `, isInline: true, styles: [".entities-list-wrapper{position:relative}.busy-overlay{display:none;height:100%;width:100%;position:absolute;top:0;left:0;z-index:1000;opacity:.6;background-color:transparent}.show{display:block}.busy-spinner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.infinite-scroll-loading{display:none;width:100%;padding:8px}.active-row{font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i6.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: HeaderAlignmentDirective, selector: "[headerAlignment]", inputs: ["headerAlignment"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
776
+ `, isInline: true, styles: [".entities-list-wrapper{position:relative}.busy-overlay{display:none;height:100%;width:100%;position:absolute;top:0;left:0;z-index:1000;opacity:.6;background-color:transparent}.show{display:block}.busy-spinner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.infinite-scroll-loading{display:none;width:100%;padding:8px}.active-row{font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i6.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: HeaderAlignmentDirective, selector: "[headerAlignment]", inputs: ["headerAlignment"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
772
777
  }
773
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: SPMatEntityListComponent, decorators: [{
778
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SPMatEntityListComponent, decorators: [{
774
779
  type: Component,
775
780
  args: [{ imports: [
776
781
  CommonModule,
@@ -812,17 +817,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
812
817
  ></tr>
813
818
  </table>
814
819
  @if (pagination() == 'discrete' && _paginator) {
815
- <mat-paginator
816
- showFirstLastButtons
817
- [length]="entityCount()"
818
- [pageSize]="_pageSize()"
819
- [pageIndex]="pageIndex()"
820
- [pageSizeOptions]="[]"
821
- [hidePageSize]="true"
822
- (page)="handlePageEvent($event)"
823
- [disabled]="loading()"
824
- aria-label="Select page"
825
- ></mat-paginator>
820
+ <mat-paginator
821
+ showFirstLastButtons
822
+ [length]="entityCount()"
823
+ [pageSize]="_pageSize()"
824
+ [pageIndex]="pageIndex()"
825
+ [pageSizeOptions]="[]"
826
+ [hidePageSize]="true"
827
+ (page)="handlePageEvent($event)"
828
+ [disabled]="loading()"
829
+ aria-label="Select page"
830
+ ></mat-paginator>
826
831
  }
827
832
  <div
828
833
  class="infinite-scroll-loading"
@@ -835,43 +840,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
835
840
  be dynamically added to the MatTable. -->
836
841
  <span matSort="sorter()">
837
842
  @for (column of __columns(); track $index) {
838
- <ng-container [matColumnDef]="column.spec.name">
839
- @if (disableSort()) {
840
- <th
841
- [class]="column.class"
842
- [headerAlignment]="column.options.alignment"
843
- mat-header-cell
844
- *matHeaderCellDef
845
- >
846
- {{ getColumnLabel(column) | async }}
847
- </th>
848
- } @else {
849
- <th
850
- [class]="column.class"
851
- [headerAlignment]="column.options.alignment"
852
- mat-header-cell
853
- mat-sort-header
854
- *matHeaderCellDef
855
- >
856
- {{ getColumnLabel(column) | async }}
857
- </th>
858
- }
859
- <td
860
- [class]="column.class"
861
- [style.text-align]="column.options.alignment"
862
- mat-cell
863
- *matCellDef="let element"
864
- [routerLink]="column.getRouterLink(element)"
865
- >
866
- @if (column.hasRouterLink(element)) {
867
- <a [routerLink]="column.getRouterLink(element)">
868
- <span [innerHTML]="column.value(element)"></span>
869
- </a>
870
- } @else { @let val = column.value(element);
871
- <span [innerHTML]="isAsync(val) ? (val | async) : val"></span>
843
+ <ng-container [matColumnDef]="column.spec.name">
844
+ @if (disableSort()) {
845
+ <th
846
+ [class]="column.class"
847
+ [headerAlignment]="column.options.alignment"
848
+ mat-header-cell
849
+ *matHeaderCellDef
850
+ >
851
+ {{ getColumnLabel(column) | async }}
852
+ </th>
853
+ } @else {
854
+ <th
855
+ [class]="column.class"
856
+ [headerAlignment]="column.options.alignment"
857
+ mat-header-cell
858
+ mat-sort-header
859
+ *matHeaderCellDef
860
+ >
861
+ {{ getColumnLabel(column) | async }}
862
+ </th>
872
863
  }
873
- </td>
874
- </ng-container>
864
+ <td
865
+ [class]="column.class"
866
+ [style.text-align]="column.options.alignment"
867
+ mat-cell
868
+ *matCellDef="let element"
869
+ [routerLink]="column.getRouterLink(element)"
870
+ >
871
+ @if (column.hasRouterLink(element)) {
872
+ <a [routerLink]="column.getRouterLink(element)">
873
+ <span [innerHTML]="column.value(element)"></span>
874
+ </a>
875
+ } @else {
876
+ @let val = column.value(element);
877
+ <span [innerHTML]="isAsync(val) ? (val | async) : val"></span>
878
+ }
879
+ </td>
880
+ </ng-container>
875
881
  }
876
882
  </span>
877
883
  <ng-template #busySpinner>
@@ -880,7 +886,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
880
886
  </div>
881
887
  </ng-template>
882
888
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".entities-list-wrapper{position:relative}.busy-overlay{display:none;height:100%;width:100%;position:absolute;top:0;left:0;z-index:1000;opacity:.6;background-color:transparent}.show{display:block}.busy-spinner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.infinite-scroll-loading{display:none;width:100%;padding:8px}.active-row{font-weight:700}\n"] }]
883
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.DomSanitizer }, { type: i0.Injector }], propDecorators: { clientColumnDefs: [{
889
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.DomSanitizer }, { type: i0.Injector }], propDecorators: { entityName: [{ type: i0.Input, args: [{ isSignal: true, alias: "entityName", required: true }] }], entityNamePlural: [{ type: i0.Input, args: [{ isSignal: true, alias: "entityNamePlural", required: false }] }], endpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "endpoint", required: false }] }], entityLoaderFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "entityLoaderFn", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], displayedColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayedColumns", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }], idKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "idKey", required: false }] }], pagination: [{ type: i0.Input, args: [{ isSignal: true, alias: "pagination", required: false }] }], paginator: [{ type: i0.Input, args: [{ isSignal: true, alias: "paginator", required: false }] }], sorter: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorter", required: false }] }], disableSort: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableSort", required: false }] }], infiniteScrollContainer: [{ type: i0.Input, args: [{ isSignal: true, alias: "infiniteScrollContainer", required: false }] }], infiniteScrollDistance: [{ type: i0.Input, args: [{ isSignal: true, alias: "infiniteScrollDistance", required: false }] }], infiniteScrollThrottle: [{ type: i0.Input, args: [{ isSignal: true, alias: "infiniteScrollThrottle", required: false }] }], infiniteScrollWindow: [{ type: i0.Input, args: [{ isSignal: true, alias: "infiniteScrollWindow", required: false }] }], httpReqContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "httpReqContext", required: false }] }], deferViewInit: [{ type: i0.Input, args: [{ isSignal: true, alias: "deferViewInit", required: false }] }], table: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatTable), { isSignal: true }] }], sort: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatSort), { isSignal: true }] }], viewColumnDefs: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => MatColumnDef), { isSignal: true }] }], clientColumnDefs: [{
884
890
  type: ContentChildren,
885
891
  args: [MatColumnDef]
886
892
  }], selectEntity: [{