@pepperi-addons/ngx-composite-lib 0.0.16-beta.4 → 0.0.16-beta.42

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 (92) hide show
  1. package/bundles/pepperi-addons-ngx-composite-lib-color-settings.umd.js +10 -1
  2. package/bundles/pepperi-addons-ngx-composite-lib-color-settings.umd.js.map +1 -1
  3. package/bundles/pepperi-addons-ngx-composite-lib-data-view-builder.umd.js +393 -0
  4. package/bundles/pepperi-addons-ngx-composite-lib-data-view-builder.umd.js.map +1 -0
  5. package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js +15 -10
  6. package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js.map +1 -1
  7. package/bundles/pepperi-addons-ngx-composite-lib-generic-form.umd.js +91 -58
  8. package/bundles/pepperi-addons-ngx-composite-lib-generic-form.umd.js.map +1 -1
  9. package/bundles/pepperi-addons-ngx-composite-lib-generic-list.umd.js +119 -74
  10. package/bundles/pepperi-addons-ngx-composite-lib-generic-list.umd.js.map +1 -1
  11. package/bundles/pepperi-addons-ngx-composite-lib-group-buttons-settings.umd.js +5 -2
  12. package/bundles/pepperi-addons-ngx-composite-lib-group-buttons-settings.umd.js.map +1 -1
  13. package/bundles/pepperi-addons-ngx-composite-lib.umd.js +114 -50
  14. package/bundles/pepperi-addons-ngx-composite-lib.umd.js.map +1 -1
  15. package/color-settings/color-settings.component.d.ts +4 -1
  16. package/core/common/directives/reset-configuration-field.directive.d.ts +1 -0
  17. package/core/common/services/dimx.service.d.ts +32 -0
  18. package/core/common/services/public-api.d.ts +1 -0
  19. package/data-view-builder/data-view-builder.component.d.ts +35 -0
  20. package/data-view-builder/data-view-builder.model.d.ts +1 -0
  21. package/data-view-builder/data-view-builder.module.d.ts +23 -0
  22. package/data-view-builder/data-view-builder.service.d.ts +14 -0
  23. package/data-view-builder/menu-data-view/menu-data-view.component.d.ts +36 -0
  24. package/data-view-builder/package.json +10 -0
  25. package/{dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.d.ts → data-view-builder/pepperi-addons-ngx-composite-lib-data-view-builder.d.ts} +1 -1
  26. package/data-view-builder/public-api.d.ts +3 -0
  27. package/esm2015/color-settings/color-settings.component.js +11 -2
  28. package/esm2015/core/common/directives/reset-configuration-field.directive.js +26 -22
  29. package/esm2015/core/common/services/dimx.service.js +50 -0
  30. package/esm2015/core/common/services/public-api.js +2 -1
  31. package/esm2015/data-view-builder/data-view-builder.component.js +122 -0
  32. package/esm2015/data-view-builder/data-view-builder.model.js +2 -0
  33. package/esm2015/data-view-builder/data-view-builder.module.js +82 -0
  34. package/esm2015/data-view-builder/data-view-builder.service.js +39 -0
  35. package/esm2015/data-view-builder/menu-data-view/menu-data-view.component.js +122 -0
  36. package/esm2015/data-view-builder/pepperi-addons-ngx-composite-lib-data-view-builder.js +5 -0
  37. package/esm2015/data-view-builder/public-api.js +7 -0
  38. package/esm2015/file-status-panel/file-status-panel.module.js +12 -4
  39. package/esm2015/generic-form/generic-form.component.js +86 -55
  40. package/esm2015/generic-form/generic-form.model.js +1 -1
  41. package/esm2015/generic-form/index.js +5 -0
  42. package/esm2015/generic-list/generic-list.component.js +65 -36
  43. package/esm2015/generic-list/generic-list.model.js +1 -1
  44. package/esm2015/generic-list/generic-list.module.js +7 -4
  45. package/esm2015/generic-list/generic-list.service.js +23 -10
  46. package/esm2015/group-buttons-settings/group-buttons-settings.component.js +2 -2
  47. package/esm2015/group-buttons-settings/group-buttons-settings.module.js +6 -3
  48. package/esm2015/ngx-composite-lib.module.js +19 -8
  49. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.js +10 -1
  50. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.js.map +1 -1
  51. package/fesm2015/pepperi-addons-ngx-composite-lib-data-view-builder.js +360 -0
  52. package/fesm2015/pepperi-addons-ngx-composite-lib-data-view-builder.js.map +1 -0
  53. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js +12 -5
  54. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js.map +1 -1
  55. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.js +85 -55
  56. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.js.map +1 -1
  57. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.js +88 -44
  58. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.js.map +1 -1
  59. package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.js +6 -3
  60. package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.js.map +1 -1
  61. package/fesm2015/pepperi-addons-ngx-composite-lib.js +117 -54
  62. package/fesm2015/pepperi-addons-ngx-composite-lib.js.map +1 -1
  63. package/file-status-panel/file-status-panel.module.d.ts +3 -0
  64. package/generic-form/generic-form.component.d.ts +12 -12
  65. package/generic-form/generic-form.model.d.ts +12 -13
  66. package/{dimx-export → generic-form}/index.d.ts +0 -0
  67. package/generic-list/generic-list.component.d.ts +11 -9
  68. package/generic-list/generic-list.model.d.ts +10 -6
  69. package/generic-list/generic-list.service.d.ts +2 -1
  70. package/group-buttons-settings/group-buttons-settings.module.d.ts +2 -1
  71. package/ngx-composite-lib.module.d.ts +4 -2
  72. package/package.json +2 -2
  73. package/src/assets/i18n/en.ngx-composite-lib.json +24 -1
  74. package/src/core/style/components/data-view-builder.scss +65 -0
  75. package/styling.scss +5 -1
  76. package/bundles/pepperi-addons-ngx-composite-lib-dimx-export.umd.js +0 -890
  77. package/bundles/pepperi-addons-ngx-composite-lib-dimx-export.umd.js.map +0 -1
  78. package/dimx-export/dimx.component.d.ts +0 -86
  79. package/dimx-export/dimx.model.d.ts +0 -5
  80. package/dimx-export/dimx.module.d.ts +0 -16
  81. package/dimx-export/dimx.service.d.ts +0 -21
  82. package/dimx-export/package.json +0 -16
  83. package/dimx-export/public-api.d.ts +0 -3
  84. package/esm2015/dimx-export/dimx.component.js +0 -335
  85. package/esm2015/dimx-export/dimx.model.js +0 -8
  86. package/esm2015/dimx-export/dimx.module.js +0 -53
  87. package/esm2015/dimx-export/dimx.service.js +0 -50
  88. package/esm2015/dimx-export/index.js +0 -5
  89. package/esm2015/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.js +0 -5
  90. package/esm2015/dimx-export/public-api.js +0 -7
  91. package/fesm2015/pepperi-addons-ngx-composite-lib-dimx-export.js +0 -446
  92. package/fesm2015/pepperi-addons-ngx-composite-lib-dimx-export.js.map +0 -1
@@ -1,28 +1,28 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, EventEmitter, ViewContainerRef, Component, ViewChild, Input, Output, NgModule } from '@angular/core';
3
- import * as i11 from '@angular/common';
3
+ import * as i10 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { __awaiter } from 'tslib';
6
6
  import * as i1$1 from '@pepperi-addons/ngx-lib';
7
7
  import { PepRowData, UIControl, PepGuid, PepNgxLibModule } from '@pepperi-addons/ngx-lib';
8
8
  import { Subscription } from 'rxjs';
9
- import * as i6 from '@pepperi-addons/ngx-lib/list';
9
+ import * as i5 from '@pepperi-addons/ngx-lib/list';
10
10
  import { PepListComponent, DEFAULT_PAGE_SIZE, PepSelectionData, PepListModule } from '@pepperi-addons/ngx-lib/list';
11
11
  import { DataViewFieldTypes } from '@pepperi-addons/papi-sdk/dist/entities/data-view';
12
12
  import * as i1 from '@ngx-translate/core';
13
13
  import * as i2 from '@pepperi-addons/ngx-lib/query-builder';
14
14
  import { DataViewConverter } from '@pepperi-addons/data-views';
15
- import * as i4 from '@pepperi-addons/ngx-lib/page-layout';
15
+ import * as i3 from '@pepperi-addons/ngx-lib/page-layout';
16
16
  import { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';
17
- import * as i5 from '@pepperi-addons/ngx-lib/top-bar';
17
+ import * as i4 from '@pepperi-addons/ngx-lib/top-bar';
18
18
  import { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';
19
- import * as i7 from '@pepperi-addons/ngx-lib/search';
19
+ import * as i6 from '@pepperi-addons/ngx-lib/search';
20
20
  import { PepSearchModule } from '@pepperi-addons/ngx-lib/search';
21
- import * as i8 from '@pepperi-addons/ngx-lib/side-bar';
21
+ import * as i7 from '@pepperi-addons/ngx-lib/side-bar';
22
22
  import { PepSideBarModule } from '@pepperi-addons/ngx-lib/side-bar';
23
- import * as i9 from '@pepperi-addons/ngx-lib/smart-filters';
23
+ import * as i8 from '@pepperi-addons/ngx-lib/smart-filters';
24
24
  import { PepSmartFiltersModule } from '@pepperi-addons/ngx-lib/smart-filters';
25
- import * as i10 from '@pepperi-addons/ngx-lib/bread-crumbs';
25
+ import * as i9 from '@pepperi-addons/ngx-lib/bread-crumbs';
26
26
  import { PepBreadCrumbsModule } from '@pepperi-addons/ngx-lib/bread-crumbs';
27
27
  import { PepFormModule } from '@pepperi-addons/ngx-lib/form';
28
28
  import { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';
@@ -42,20 +42,33 @@ class PepGenericListService {
42
42
  hasProperty(obj, prop) {
43
43
  return Object.prototype.hasOwnProperty.call(obj, prop);
44
44
  }
45
- convertToPepRowData(object, dataView, uuidMapping) {
45
+ getListViewType(dataViewType) {
46
+ switch (dataViewType) {
47
+ case 'Grid':
48
+ return 'table';
49
+ case 'Card':
50
+ return 'cards';
51
+ case 'Line':
52
+ return 'lines';
53
+ default:
54
+ return 'table';
55
+ }
56
+ }
57
+ convertToPepRowData(item, dataView, uuidMapping) {
58
+ var _a;
46
59
  const row = new PepRowData();
47
60
  let itemFields;
48
- if (this.hasProperty(object, 'fields') && typeof object.fields === 'object') {
49
- itemFields = object.fields;
50
- if (object.isEditable === false) {
61
+ if (this.hasProperty(item, 'fields') && typeof item.fields === 'object') {
62
+ itemFields = item.fields;
63
+ if (item.isEditable === false) {
51
64
  row.IsEditable = false;
52
65
  }
53
- if (object.isSelectableForActions === false) {
66
+ if (item.isSelectableForActions === false) {
54
67
  row.IsSelectableForActions = false;
55
68
  }
56
69
  }
57
70
  else {
58
- itemFields = object;
71
+ itemFields = item;
59
72
  }
60
73
  row.UUID = itemFields[uuidMapping] || undefined;
61
74
  row.Fields = [];
@@ -64,13 +77,13 @@ class PepGenericListService {
64
77
  const field = dataView.Fields[index];
65
78
  row.Fields.push({
66
79
  ApiName: field.FieldID,
67
- Title: this._translate.instant(field.Title),
80
+ Title: field.Title ? this._translate.instant(field.Title) : '',
68
81
  XAlignment: 1,
69
82
  FormattedValue: (itemFields[field.FieldID] || '').toString(),
70
83
  Value: (itemFields[field.FieldID] || '').toString(),
71
- ColumnWidth: dataView.Columns[index].Width,
84
+ ColumnWidth: ((_a = dataView.Columns[index]) === null || _a === void 0 ? void 0 : _a.Width) || undefined,
72
85
  AdditionalValue: '',
73
- OptionalValues: [],
86
+ OptionalValues: field.OptionalValues || [],
74
87
  FieldType: DataViewFieldTypes[field.Type],
75
88
  ReadOnly: field.ReadOnly,
76
89
  Enabled: !field.ReadOnly
@@ -136,11 +149,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
136
149
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.PepQueryBuilderService }]; } });
137
150
 
138
151
  class GenericListComponent {
139
- constructor(_resolver, _dataConvertorService, _layoutService, _translate, _genericListService) {
152
+ constructor(_resolver, _dataConvertorService, _layoutService, _loaderService,
153
+ // private _translate: TranslateService,
154
+ _genericListService) {
140
155
  this._resolver = _resolver;
141
156
  this._dataConvertorService = _dataConvertorService;
142
157
  this._layoutService = _layoutService;
143
- this._translate = _translate;
158
+ this._loaderService = _loaderService;
144
159
  this._genericListService = _genericListService;
145
160
  this._dataSource = {
146
161
  init: (params) => __awaiter(this, void 0, void 0, function* () {
@@ -162,10 +177,11 @@ class GenericListComponent {
162
177
  this.disabled = false;
163
178
  this.addPadding = false;
164
179
  this.title = '';
180
+ this.description = '';
165
181
  this.inline = false;
166
182
  this.showSearch = false;
167
183
  this.noDataFoundMsg = '';
168
- this.selectionType = 'single';
184
+ this.selectionType = 'multi';
169
185
  this.supportSorting = false;
170
186
  this.pager = {
171
187
  type: 'scroll'
@@ -178,6 +194,7 @@ class GenericListComponent {
178
194
  this.valueChange = new EventEmitter();
179
195
  this.breadCrumbItemClick = new EventEmitter();
180
196
  this._resize$ = new Subscription();
197
+ this._loader$ = new Subscription();
181
198
  this._dataView = {
182
199
  Type: 'Grid'
183
200
  };
@@ -195,6 +212,9 @@ class GenericListComponent {
195
212
  this._resize$ = this._layoutService.onResize$.pipe().subscribe((size) => {
196
213
  //
197
214
  });
215
+ this._loader$ = this._loaderService.onChanged$.subscribe((status) => {
216
+ //
217
+ });
198
218
  }
199
219
  set pepListContainer(val) {
200
220
  this._pepListContainer = val;
@@ -232,31 +252,33 @@ class GenericListComponent {
232
252
  this.pepList = componentRef.instance;
233
253
  //merge selector inputs with callback inputs
234
254
  this.loadTableInputs();
235
- const fromIndex = 0;
255
+ let fromIndex = 0;
236
256
  let toIndex = 0;
237
- if (this._tableInputs.pager.type === 'pages') {
238
- toIndex = fromIndex + (this._tableInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;
257
+ if (this._listInputs.pager.type === 'pages') {
258
+ fromIndex = this._listInputs.pager.size * this._listInputs.pager.index;
259
+ toIndex = fromIndex + (this._listInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;
239
260
  }
240
261
  else {
241
262
  toIndex = 100; //TO DO - get value from - this.customList.getTopItems()
242
263
  }
243
264
  const data = yield this.loadData(fromIndex, toIndex);
244
265
  this.totalRowCount = (data === null || data === void 0 ? void 0 : data.totalCount) || 0;
245
- componentRef.instance.viewType = 'table';
246
- componentRef.instance.tableViewType = this._tableInputs.tableViewType;
247
- componentRef.instance.zebraStripes = this._tableInputs.zebraStripes;
266
+ componentRef.instance.viewType = this._genericListService.getListViewType(this._dataView.Type);
267
+ componentRef.instance.tableViewType = this._listInputs.tableViewType;
268
+ componentRef.instance.zebraStripes = this._listInputs.zebraStripes;
248
269
  if (this.disabled) {
249
270
  componentRef.instance.disabled = true;
250
271
  componentRef.instance.lockItemInnerEvents = true;
251
272
  }
252
- componentRef.instance.supportSorting = this._tableInputs.supportSorting;
253
- componentRef.instance.selectionTypeForActions = this._tableInputs.selectionType;
254
- componentRef.instance.pagerType = this._tableInputs.pager.type;
255
- if (this._tableInputs.pager.type === 'pages') {
256
- componentRef.instance.pageSize = ((_a = this._tableInputs.pager) === null || _a === void 0 ? void 0 : _a.size) || DEFAULT_PAGE_SIZE;
257
- componentRef.instance.pageIndex = ((_b = this._tableInputs.pager) === null || _b === void 0 ? void 0 : _b.index) || 0;
273
+ componentRef.instance.supportSorting = this._listInputs.supportSorting;
274
+ componentRef.instance.selectionTypeForActions = this._listInputs.selectionType;
275
+ componentRef.instance.showCardSelection = this._listInputs.selectionType !== 'none';
276
+ componentRef.instance.pagerType = this._listInputs.pager.type;
277
+ if (this._listInputs.pager.type === 'pages') {
278
+ componentRef.instance.pageSize = ((_a = this._listInputs.pager) === null || _a === void 0 ? void 0 : _a.size) || DEFAULT_PAGE_SIZE;
279
+ componentRef.instance.pageIndex = ((_b = this._listInputs.pager) === null || _b === void 0 ? void 0 : _b.index) || 0;
258
280
  }
259
- componentRef.instance.noDataFoundMsg = this._tableInputs.noDataFoundMsg;
281
+ componentRef.instance.noDataFoundMsg = this._listInputs.noDataFoundMsg;
260
282
  componentRef.instance.fieldClick.subscribe(($event) => {
261
283
  this.onCustomizeFieldClick($event);
262
284
  });
@@ -292,7 +314,7 @@ class GenericListComponent {
292
314
  * @returns merged pep-list inputs
293
315
  */
294
316
  loadTableInputs() {
295
- this._tableInputs = {
317
+ this._listInputs = {
296
318
  supportSorting: this.supportSorting,
297
319
  selectionType: this.selectionType,
298
320
  pager: this.pager,
@@ -302,8 +324,8 @@ class GenericListComponent {
302
324
  };
303
325
  if (this._dataSource.inputs) {
304
326
  Object.entries(this._dataSource.inputs).forEach((item) => {
305
- if (this._genericListService.hasProperty(this._tableInputs, item[0])) {
306
- this._tableInputs[item[0]] = item[1];
327
+ if (this._genericListService.hasProperty(this._listInputs, item[0])) {
328
+ this._listInputs[item[0]] = item[1];
307
329
  }
308
330
  });
309
331
  }
@@ -317,7 +339,7 @@ class GenericListComponent {
317
339
  return uiControl;
318
340
  }
319
341
  loadMenuItems() {
320
- if (this._tableInputs.selectionType !== 'none') {
342
+ if (this._listInputs.selectionType !== 'none') {
321
343
  this.getMenuActions().then(x => this.menuActions = x);
322
344
  }
323
345
  }
@@ -359,6 +381,9 @@ class GenericListComponent {
359
381
  loadData(fromIndex, toIndex) {
360
382
  var _a;
361
383
  return __awaiter(this, void 0, void 0, function* () {
384
+ setTimeout(() => {
385
+ this._loaderService.show();
386
+ }, 150);
362
387
  const data = yield this._dataSource.init({
363
388
  searchString: this.searchString || undefined,
364
389
  filters: this._appliedFilters.length ? this._appliedFilters : undefined,
@@ -366,9 +391,12 @@ class GenericListComponent {
366
391
  fromIndex: fromIndex,
367
392
  toIndex: toIndex
368
393
  });
394
+ setTimeout(() => {
395
+ this._loaderService.hide();
396
+ }, 150);
369
397
  if (data) {
370
398
  this._dataView = data.dataView;
371
- if (((_a = data.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
399
+ if (((_a = data.items) === null || _a === void 0 ? void 0 : _a.length) > 0 && !data.isPepRowData) {
372
400
  data.items = data.items.map(item => this._genericListService.convertToPepRowData(item, data.dataView, this.uuidMapping));
373
401
  }
374
402
  }
@@ -378,6 +406,9 @@ class GenericListComponent {
378
406
  updateDataList(fromIndex, toIndex, pageIndex = undefined) {
379
407
  return __awaiter(this, void 0, void 0, function* () {
380
408
  if (this._dataSource.update) {
409
+ setTimeout(() => {
410
+ this._loaderService.show();
411
+ }, 150);
381
412
  const dataList = yield this._dataSource.update({
382
413
  searchString: this.searchString || undefined,
383
414
  filters: this._appliedFilters.length ? this._appliedFilters : undefined,
@@ -386,6 +417,9 @@ class GenericListComponent {
386
417
  toIndex: toIndex,
387
418
  pageIndex: pageIndex
388
419
  });
420
+ setTimeout(() => {
421
+ this._loaderService.hide();
422
+ }, 150);
389
423
  if ((dataList === null || dataList === void 0 ? void 0 : dataList.length) > 0) {
390
424
  return dataList.map(item => this._genericListService.convertToPepRowData(item, this._dataView, this.uuidMapping));
391
425
  }
@@ -436,6 +470,9 @@ class GenericListComponent {
436
470
  return null;
437
471
  }
438
472
  }
473
+ getPageIndex() {
474
+ return this.pepList.pageIndex;
475
+ }
439
476
  onActionItemClicked(action) {
440
477
  const result = this.getMenuObjects();
441
478
  if (result.success) {
@@ -473,10 +510,13 @@ class GenericListComponent {
473
510
  if (this._resize$) {
474
511
  this._resize$.unsubscribe();
475
512
  }
513
+ if (this._loader$) {
514
+ this._loader$.unsubscribe();
515
+ }
476
516
  }
477
517
  }
478
- GenericListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericListComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1$1.PepDataConvertorService }, { token: i1$1.PepLayoutService }, { token: i1.TranslateService }, { token: PepGenericListService }], target: i0.ɵɵFactoryTarget.Component });
479
- GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericListComponent, selector: "pep-generic-list", inputs: { dataSource: "dataSource", actions: "actions", uuidMapping: "uuidMapping", disabled: "disabled", addPadding: "addPadding", title: "title", inline: "inline", showSearch: "showSearch", noDataFoundMsg: "noDataFoundMsg", selectionType: "selectionType", supportSorting: "supportSorting", pager: "pager", tableViewType: "tableViewType", zebraStripes: "zebraStripes", smartFilter: "smartFilter", showTopBar: "showTopBar", breadCrumbsItems: "breadCrumbsItems" }, outputs: { fieldClick: "fieldClick", valueChange: "valueChange", breadCrumbItemClick: "breadCrumbItemClick" }, providers: [PepGenericListService], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "pepListContainer", first: true, predicate: ["pepListContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"header-area\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-top-area]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-top-area]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate>\n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\">\n <pep-smart-filters title=\"Test filters\" [fields]=\"internalSmartFilter.fields\"\n [filters]=\"internalSmartFilter.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.inline-container .header-area{grid-column:2/3;grid-row:1/2}.inline-container .smart-filter-area{grid-column:1/2;grid-row:1/3}.inline-container .list-container{grid-column:2/3;grid-row:2/3}::ng-deep .pep-top-bar-container:not(.inline){margin-inline:var(--pep-spacing-xs, .25rem)}.noDataFoundMsg{margin:1rem 0;height:calc(100% - 2rem);width:100%;background:rgba(26,26,26,.12);display:flex;justify-content:center;align-items:center}.bread-crumbs{padding:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem) 0}\n"], components: [{ type: i4.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i5.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { type: i6.PepListActionsComponent, selector: "pep-list-actions", inputs: ["actions", "sizeType", "xPosition", "hidden"], outputs: ["actionClick", "stateChange", "menuClick"] }, { type: i6.PepListTotalComponent, selector: "pep-list-total", inputs: ["totalRows", "totalAmount", "isMapView", "sizeType"] }, { type: i7.PepSearchComponent, selector: "pep-search", inputs: ["triggerOn", "autoCompleteTop", "sizeType", "autoCompleteValues", "shrink", "value", "searchControl", "useAsWebComponent"], outputs: ["search", "autocompleteChange", "stateChange"] }, { type: i8.PepSideBarComponent, selector: "pep-side-bar", inputs: ["ignoreResize", "showHeader", "showFooter", "useAsWebComponent"], outputs: ["stateChange"] }, { type: i9.PepSmartFiltersComponent, selector: "pep-smart-filters", inputs: ["title", "filters", "fields", "useAsWebComponent"], outputs: ["filtersChange", "fieldToggleChange"] }, { type: i10.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["addSpacing", "items", "displayType"], outputs: ["itemClick"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
518
+ GenericListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericListComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1$1.PepDataConvertorService }, { token: i1$1.PepLayoutService }, { token: i1$1.PepLoaderService }, { token: PepGenericListService }], target: i0.ɵɵFactoryTarget.Component });
519
+ GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericListComponent, selector: "pep-generic-list", inputs: { dataSource: "dataSource", actions: "actions", uuidMapping: "uuidMapping", disabled: "disabled", addPadding: "addPadding", title: "title", description: "description", inline: "inline", showSearch: "showSearch", noDataFoundMsg: "noDataFoundMsg", selectionType: "selectionType", supportSorting: "supportSorting", pager: "pager", tableViewType: "tableViewType", zebraStripes: "zebraStripes", smartFilter: "smartFilter", showTopBar: "showTopBar", breadCrumbsItems: "breadCrumbsItems" }, outputs: { fieldClick: "fieldClick", valueChange: "valueChange", breadCrumbItemClick: "breadCrumbItemClick" }, providers: [PepGenericListService], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "pepListContainer", first: true, predicate: ["pepListContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate>\n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\">\n <pep-smart-filters title=\"Test filters\" [fields]=\"internalSmartFilter.fields\"\n [filters]=\"internalSmartFilter.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.inline-container .header-area{grid-column:2/3;grid-row:1/2}.inline-container .smart-filter-area{grid-column:1/2;grid-row:1/3}.inline-container .list-container{grid-column:2/3;grid-row:2/3}.inline-container .list-description{font-size:var(--pep-font-size-xs, .75rem);max-width:640px;padding:var(--pep-spacing-sm, .5rem) 0}.inline-container .bread-crumbs{padding:var(--pep-spacing-md, .75rem) 0 var(--pep-spacing-sm, .5rem) 0}.none-inline .list-description{font-size:var(--pep-font-size-sm, .875rem);max-width:720px;padding:var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}.none-inline .bread-crumbs{padding:var(--pep-spacing-md, .75rem) var(--pep-spacing-xs, .25rem) var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}::ng-deep .pep-top-bar-container:not(.inline){margin-inline:var(--pep-spacing-xs, .25rem)}::ng-deep .pep-top-bar-container.inline{height:var(--pep-top-bar-field-height, 2.5rem)!important}.noDataFoundMsg{margin:1rem 0;height:calc(100% - 2rem);width:100%;background:hsla(0deg,0%,10%,.12);display:flex;justify-content:center;align-items:center}\n"], components: [{ type: i3.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i4.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { type: i5.PepListActionsComponent, selector: "pep-list-actions", inputs: ["actions", "sizeType", "xPosition", "hidden"], outputs: ["actionClick", "stateChange", "menuClick"] }, { type: i5.PepListTotalComponent, selector: "pep-list-total", inputs: ["totalRows", "totalAmount", "isMapView", "sizeType"] }, { type: i6.PepSearchComponent, selector: "pep-search", inputs: ["triggerOn", "autoCompleteTop", "sizeType", "autoCompleteValues", "shrink", "value", "searchControl", "useAsWebComponent"], outputs: ["search", "autocompleteChange", "stateChange"] }, { type: i7.PepSideBarComponent, selector: "pep-side-bar", inputs: ["ignoreResize", "showHeader", "showFooter", "useAsWebComponent"], outputs: ["stateChange"] }, { type: i8.PepSmartFiltersComponent, selector: "pep-smart-filters", inputs: ["title", "filters", "fields", "useAsWebComponent"], outputs: ["filtersChange", "fieldToggleChange"] }, { type: i9.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["addSpacing", "items", "displayType"], outputs: ["itemClick"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
480
520
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericListComponent, decorators: [{
481
521
  type: Component,
482
522
  args: [{
@@ -485,7 +525,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
485
525
  styleUrls: ['./generic-list.component.scss'],
486
526
  providers: [PepGenericListService]
487
527
  }]
488
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1$1.PepDataConvertorService }, { type: i1$1.PepLayoutService }, { type: i1.TranslateService }, { type: PepGenericListService }]; }, propDecorators: { search: [{
528
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1$1.PepDataConvertorService }, { type: i1$1.PepLayoutService }, { type: i1$1.PepLoaderService }, { type: PepGenericListService }]; }, propDecorators: { search: [{
489
529
  type: ViewChild,
490
530
  args: ['search']
491
531
  }], pepListContainer: [{
@@ -503,6 +543,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
503
543
  type: Input
504
544
  }], title: [{
505
545
  type: Input
546
+ }], description: [{
547
+ type: Input
506
548
  }], inline: [{
507
549
  type: Input
508
550
  }], showSearch: [{
@@ -547,7 +589,9 @@ PepGenericListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ve
547
589
  PepSearchModule,
548
590
  PepBreadCrumbsModule,
549
591
  PepSmartFiltersModule], exports: [GenericListComponent] });
550
- PepGenericListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, imports: [[
592
+ PepGenericListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, providers: [
593
+ PepGenericListService
594
+ ], imports: [[
551
595
  CommonModule,
552
596
  PepNgxLibModule,
553
597
  PepListModule,
@@ -581,10 +625,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
581
625
  ],
582
626
  exports: [
583
627
  GenericListComponent
584
- ] /*,
628
+ ],
585
629
  providers: [
586
630
  PepGenericListService
587
- ] */
631
+ ]
588
632
  }]
589
633
  }] });
590
634
 
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-list.js","sources":["../../../projects/ngx-composite-lib/generic-list/generic-list.service.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.html","../../../projects/ngx-composite-lib/generic-list/generic-list.module.ts","../../../projects/ngx-composite-lib/generic-list/public-api.ts","../../../projects/ngx-composite-lib/generic-list/pepperi-addons-ngx-composite-lib-generic-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { IPepGenericListSmartFilter } from './generic-list.model';\nimport {\n PepSmartFilterBaseField,\n IPepSmartFilterData,\n} from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepQueryBuilderService, IPepQueryBuilderField } from '@pepperi-addons/ngx-lib/query-builder';\nimport { PepRowData } from '@pepperi-addons/ngx-lib';\nimport { GridDataViewField, DataViewFieldTypes } from '@pepperi-addons/papi-sdk/dist/entities/data-view';\n\n\n@Injectable(/*{\n providedIn: 'root'\n}*/)\nexport class PepGenericListService {\n\n constructor(\n private _translate: TranslateService,\n private _queryBuilderService: PepQueryBuilderService\n ) {\n //\n }\n\n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n convertToPepRowData(object: any, dataView: any, uuidMapping: string) {\n const row = new PepRowData();\n let itemFields;\n\n if (this.hasProperty(object, 'fields') && typeof object.fields === 'object') {\n itemFields = object.fields;\n if (object.isEditable === false) {\n row.IsEditable = false;\n }\n if (object.isSelectableForActions === false) {\n row.IsSelectableForActions = false;\n }\n } else {\n itemFields = object;\n }\n\n row.UUID = itemFields[uuidMapping] || undefined;\n row.Fields = [];\n\n if (dataView?.Fields && dataView.Columns) {\n for (let index = 0; index < dataView.Fields.length; index++) {\n const field = dataView.Fields[index] as GridDataViewField;\n row.Fields.push({\n ApiName: field.FieldID,\n Title: this._translate.instant(field.Title),\n XAlignment: 1,\n FormattedValue: (itemFields[field.FieldID] || '').toString(),\n Value: (itemFields[field.FieldID] || '').toString(),\n ColumnWidth: dataView.Columns[index].Width,\n AdditionalValue: '',\n OptionalValues: [],\n FieldType: DataViewFieldTypes[field.Type],\n ReadOnly: field.ReadOnly,\n Enabled: !field.ReadOnly\n })\n }\n }\n return row;\n }\n\n convertToUiControlField(field: any) {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n convertToSmartFilter(smartFilter: IPepGenericListSmartFilter) {\n let convertedFields: PepSmartFilterBaseField[] = [];\n let filterData: IPepSmartFilterData[] = [];\n\n if (smartFilter?.dataView) {\n convertedFields = this.createSmartFilterFields(smartFilter.dataView);\n if (smartFilter.data?.length) {\n filterData = smartFilter.data;\n }\n }\n\n return {\n fields: convertedFields,\n data: filterData\n }\n }\n\n createSmartFilterFields(dataView: any) {\n let smartFields: PepSmartFilterBaseField[] = [];\n\n const fields = dataView.Fields.map((field: any) => {\n return {\n FieldID: field.FieldID,\n FieldType: field.Type,\n Title: field.Title,\n OptionalValues: field.OptionalValues\n } as IPepQueryBuilderField\n });\n const smartFilterfields = this._queryBuilderService.convertToSmartFilterFields(fields);\n if (smartFilterfields?.length) {\n smartFields = smartFilterfields.map((field => field.smart));\n }\n\n return smartFields;\n }\n\n\n}","import {\n Component,\n OnInit,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ViewContainerRef,\n ComponentFactoryResolver\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepDataConvertorService,\n PepLayoutService, \n ObjectsDataRow,\n PepGuid,\n UIControl,\n} from '@pepperi-addons/ngx-lib';\nimport { Subscription } from 'rxjs';\nimport { IPepFormFieldClickEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepListComponent,\n PepSelectionData,\n IPepListLoadPageEvent,\n PepListSelectionType,\n IPepListSortingChangeEvent,\n DEFAULT_PAGE_SIZE,\n IPepListLoadItemsEvent,\n PepListTableViewType\n} from '@pepperi-addons/ngx-lib/list';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n} from '@pepperi-addons/ngx-lib/menu';\nimport { IPepFormFieldValueChangeEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepBreadCrumbItem,\n IPepBreadCrumbItemClickEvent\n} from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { IPepSearchClickEvent, PepSearchComponent } from '@pepperi-addons/ngx-lib/search';\n\nimport { GridDataView } from '@pepperi-addons/papi-sdk/dist/entities/data-view';\nimport {\n IPepGenericListInitData,\n IPepGenericListDataSource,\n IPepGenericListPager,\n IPepGenericListActions,\n IPepGenericListSmartFilter,\n} from './generic-list.model';\nimport { PepGenericListService } from './generic-list.service';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport {\n IPepSmartFilterData,\n PepSmartFilterBaseField\n} from '@pepperi-addons/ngx-lib/smart-filters';\n\n\n@Component({\n selector: 'pep-generic-list',\n templateUrl: './generic-list.component.html',\n styleUrls: ['./generic-list.component.scss'],\n providers: [PepGenericListService]\n})\nexport class GenericListComponent implements OnInit {\n @ViewChild('search') search: PepSearchComponent | undefined;\n\n private _pepListContainer: ViewContainerRef | undefined;\n @ViewChild('pepListContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepListContainer = val;\n }\n\n private _dataSource: IPepGenericListDataSource = {\n init: async (params: any) => {\n return {\n dataView: {\n Type: 'Grid'\n },\n totalCount: -1,\n items: []\n }\n }\n }\n @Input()\n set dataSource(val: IPepGenericListDataSource) {\n this._dataSource = val;\n this._sorting = undefined;\n this.initSearch();\n this.initTable();\n }\n\n @Input()\n actions: IPepGenericListActions = {\n get: async (data: any) => {\n return []\n }\n };\n\n @Input()\n uuidMapping = 'key';\n\n @Input()\n disabled = false;\n\n @Input()\n addPadding = false;\n\n @Input()\n title = '';\n\n @Input()\n inline = false;\n\n @Input()\n showSearch = false;\n\n @Input()\n noDataFoundMsg = '';\n\n @Input()\n selectionType: PepListSelectionType = 'single';\n\n @Input()\n supportSorting = false;\n\n @Input()\n pager: IPepGenericListPager = {\n type: 'scroll'\n }\n\n @Input()\n tableViewType: PepListTableViewType = 'regular';\n\n @Input()\n zebraStripes = false;\n\n @Input()\n set smartFilter(val: IPepGenericListSmartFilter) {\n this.internalSmartFilter = this._genericListService.convertToSmartFilter(val);\n this.showSmartFilter = this.internalSmartFilter.fields.length > 0;\n }\n\n @Input()\n showTopBar = false;\n\n @Input()\n breadCrumbsItems: PepBreadCrumbItem[] = new Array<PepBreadCrumbItem>();\n\n @Output()\n fieldClick = new EventEmitter<IPepFormFieldClickEvent>();\n\n @Output()\n valueChange = new EventEmitter<IPepFormFieldValueChangeEvent>();\n\n @Output()\n breadCrumbItemClick = new EventEmitter<IPepBreadCrumbItemClickEvent>();\n\n set pepList(val: PepListComponent) {\n this._pepList = val;\n }\n\n get pepList() {\n return this._pepList;\n }\n\n private _resize$: Subscription = new Subscription();\n\n private _dataView: GridDataView = {\n Type: 'Grid'\n };\n private _tableInputs: any;\n private _pepList: any;\n totalRowCount = -1;\n searchString = '';\n showSmartFilter = false;\n internalSmartFilter: {\n fields: PepSmartFilterBaseField[],\n data: IPepSmartFilterData[]\n } = {\n fields: [],\n data: []\n };\n private _appliedFilters: IPepSmartFilterData[] = [];\n private _sorting: IPepListSortingChangeEvent | undefined = undefined;\n\n menuHandlers: { [key: string]: (obj: any) => Promise<void> } = {};\n menuActions: Array<PepMenuItem> = [];\n\n constructor(\n private _resolver: ComponentFactoryResolver,\n private _dataConvertorService: PepDataConvertorService,\n private _layoutService: PepLayoutService,\n private _translate: TranslateService,\n private _genericListService: PepGenericListService\n ) {\n this._resize$ = this._layoutService.onResize$.pipe().subscribe((size) => {\n // \n });\n }\n\n ngOnInit() {\n //\n }\n\n private async initTable() {\n setTimeout(async () => {\n if (this._dataSource &&\n this._pepListContainer) {\n\n if (this._pepListContainer.length > 0) {\n this._pepListContainer.remove();\n }\n const factory = this._resolver.resolveComponentFactory(PepListComponent);\n const componentRef = this._pepListContainer.createComponent(factory);\n this.pepList = componentRef.instance;\n\n //merge selector inputs with callback inputs\n this.loadTableInputs();\n\n const fromIndex = 0;\n let toIndex = 0;\n\n if (this._tableInputs.pager.type === 'pages') {\n toIndex = fromIndex + (this._tableInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;\n } else {\n toIndex = 100;//TO DO - get value from - this.customList.getTopItems()\n }\n\n const data = await this.loadData(fromIndex, toIndex);\n this.totalRowCount = data?.totalCount || 0;\n\n componentRef.instance.viewType = 'table';\n componentRef.instance.tableViewType = this._tableInputs.tableViewType;\n componentRef.instance.zebraStripes = this._tableInputs.zebraStripes;\n if (this.disabled) {\n componentRef.instance.disabled = true;\n componentRef.instance.lockItemInnerEvents = true;\n }\n componentRef.instance.supportSorting = this._tableInputs.supportSorting;\n componentRef.instance.selectionTypeForActions = this._tableInputs.selectionType;\n componentRef.instance.pagerType = this._tableInputs.pager.type;\n if (this._tableInputs.pager.type === 'pages') {\n componentRef.instance.pageSize = this._tableInputs.pager?.size || DEFAULT_PAGE_SIZE;\n componentRef.instance.pageIndex = this._tableInputs.pager?.index || 0;\n }\n componentRef.instance.noDataFoundMsg = this._tableInputs.noDataFoundMsg;\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onCustomizeFieldClick($event);\n });\n componentRef.instance.selectedItemsChange.subscribe(($event) => {\n this.onSelectedItemsChanged($event);\n });\n componentRef.instance.loadItems.subscribe(($event) => {\n this.onLoadItems($event);\n });\n componentRef.instance.loadPage.subscribe(($event) => {\n this.onLoadPage($event);\n });\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event)\n });\n componentRef.instance.sortingChange.subscribe(($event) => {\n this.onSortingChange($event);\n });\n let convertedList: ObjectsDataRow[] = [];\n if (data) { \n if (data.items?.length) {\n convertedList = this._dataConvertorService.convertListData(data.items);\n } \n const uiControl = this.getUiControl(DataViewConverter.toUIControlData(data.dataView));\n componentRef.instance.initListData(uiControl, data.totalCount, convertedList);\n }\n }\n }, 0);\n } \n\n /**\n * loads inputs in case they are provided and merge with selector inputs\n * @returns merged pep-list inputs\n */\n private loadTableInputs() { \n this._tableInputs = {\n supportSorting: this.supportSorting,\n selectionType: this.selectionType,\n pager: this.pager,\n noDataFoundMsg: this.noDataFoundMsg,\n tableViewType: this.tableViewType,\n zebraStripes: this.zebraStripes\n };\n if (this._dataSource.inputs) {\n Object.entries(this._dataSource.inputs).forEach((item: any) => {\n if (this._genericListService.hasProperty(this._tableInputs, item[0])) {\n this._tableInputs[item[0]] = item[1];\n }\n });\n }\n }\n\n private getUiControl(data: any): UIControl {\n const uiControl = new UIControl();\n uiControl.ControlFields = [];\n\n if (data?.ControlFields) {\n uiControl.ControlFields = data.ControlFields.map((field: any) => this._genericListService.convertToUiControlField(field));\n }\n\n return uiControl;\n }\n\n private loadMenuItems(): void {\n if (this._tableInputs.selectionType !== 'none') {\n this.getMenuActions().then(\n x => this.menuActions = x\n );\n }\n }\n\n private async getMenuActions(): Promise<PepMenuItem[]> {\n const res: PepMenuItem[] = [];\n const result = this.getMenuObjects();\n if (result.success) {\n const actions = await this.actions.get(result.data);\n this.menuHandlers = {};\n actions?.forEach(item => {\n const uuid = PepGuid.newGuid();\n this.menuHandlers[uuid] = item.handler;\n res.push({\n key: uuid,\n text: item.title\n })\n })\n }\n\n return res;\n }\n\n private getMenuObjects() {\n const menuObjects: any = {\n success: false,\n data: new PepSelectionData()\n };\n\n if (this.pepList) {\n menuObjects.success = true;\n menuObjects.data = this.pepList.getSelectedItemsData();\n }\n\n return menuObjects;\n }\n\n private initSearch() {\n this.searchString = '';\n this.search?.initSearch();\n }\n \n private async loadData(fromIndex: number, toIndex: number): Promise<IPepGenericListInitData> {\n const data: IPepGenericListInitData = await this._dataSource.init({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex\n });\n\n if (data) {\n this._dataView = data.dataView; \n\n if (data.items?.length > 0) {\n data.items = data.items.map(item => this._genericListService.convertToPepRowData(item, data.dataView, this.uuidMapping));\n }\n }\n\n return data;\n }\n\n\n private async updateDataList(fromIndex: number, toIndex: number, pageIndex: number | undefined = undefined) {\n if (this._dataSource.update) {\n const dataList = await this._dataSource.update({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex,\n pageIndex: pageIndex\n });\n\n if (dataList?.length > 0) {\n return dataList.map(item => this._genericListService.convertToPepRowData(item, this._dataView, this.uuidMapping));\n } else {\n return [];\n }\n } else {\n return [];\n }\n }\n\n /**\n * loads virtual scroll items from api\n */\n private async onLoadItems(event: IPepListLoadItemsEvent) {\n const list = await this.updateDataList(event.fromIndex, event.toIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n this.pepList.updateItems(convertedList, event);\n }\n\n /**\n * loads paging bulk from api\n */\n private async onLoadPage(event: IPepListLoadPageEvent) {\n const fromIndex = event.pageIndex * event.pageSize;\n const toIndex = Math.min(fromIndex + event.pageSize - 1, this.totalRowCount - 1);\n const list = await this.updateDataList(fromIndex, toIndex, event.pageIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n this.pepList.updatePage(convertedList, event);\n }\n\n getItemById(id: string) {\n if (this.pepList) {\n return this._pepList.getItemDataByID(id);\n } else {\n return null;\n }\n }\n\n getSelectedItems() {\n if (this.pepList) {\n return this._pepList.getSelectedItemsData();\n } else {\n return null;\n }\n }\n\n onActionItemClicked(action: IPepMenuItemClickEvent): void {\n const result = this.getMenuObjects();\n if (result.success) {\n this.menuHandlers[action.source.key](result.data);\n }\n }\n\n onSearchChanged(event: IPepSearchClickEvent) {\n this.searchString = event.value;\n this.initTable();\n }\n\n onSelectedItemsChanged(selectedRowsCount: number) {\n //loading menu items after pep-list selected items are updated\n setTimeout(() => { \n this.loadMenuItems();\n }, 0);\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent) {\n this.fieldClick.emit(fieldClickEvent);\n }\n\n onBreadCrumbItemClick(event: IPepBreadCrumbItemClickEvent) {\n this.breadCrumbItemClick.emit(event);\n }\n\n onValueChanged(event: IPepFormFieldValueChangeEvent) {\n this.valueChange.emit(event);\n }\n\n onSortingChange(event: IPepListSortingChangeEvent) {\n this._sorting = event;\n this.initTable();\n }\n\n onFiltersChange(filters: IPepSmartFilterData[]) {\n this._appliedFilters = filters;\n this.initTable();\n }\n\n ngOnDestroy() {\n if (this._resize$) {\n this._resize$.unsubscribe();\n }\n }\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"header-area\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-top-area]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-top-area]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate>\n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\">\n <pep-smart-filters title=\"Test filters\" [fields]=\"internalSmartFilter.fields\"\n [filters]=\"internalSmartFilter.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GenericListComponent } from './generic-list.component';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepListModule } from '@pepperi-addons/ngx-lib/list';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepSideBarModule } from '@pepperi-addons/ngx-lib/side-bar';\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\nimport { PepBreadCrumbsModule } from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { PepSmartFiltersModule } from '@pepperi-addons/ngx-lib/smart-filters';\n\nimport { PepGenericListService } from './generic-list.service';\n\n@NgModule({\n declarations: [\n GenericListComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n PepSideBarModule,\n PepSearchModule,\n PepBreadCrumbsModule,\n PepSmartFiltersModule\n ],\n exports: [\n GenericListComponent \n ]/*,\n providers: [\n PepGenericListService\n ] */\n})\nexport class PepGenericListModule { }\n","/*\n * Public API Surface of ngx-composite-lib/generic-list\n */\nexport * from './generic-list.module';\nexport * from './generic-list.component';\nexport * from './generic-list.model';\nexport * from './generic-list.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-list.js","sources":["../../../projects/ngx-composite-lib/generic-list/generic-list.service.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.html","../../../projects/ngx-composite-lib/generic-list/generic-list.module.ts","../../../projects/ngx-composite-lib/generic-list/public-api.ts","../../../projects/ngx-composite-lib/generic-list/pepperi-addons-ngx-composite-lib-generic-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n IPepGenericListSmartFilter,\n IPepGenericListDataView\n} from './generic-list.model';\nimport {\n PepSmartFilterBaseField,\n IPepSmartFilterData,\n} from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepQueryBuilderService, IPepQueryBuilderField } from '@pepperi-addons/ngx-lib/query-builder';\nimport { PepRowData } from '@pepperi-addons/ngx-lib';\nimport { GridDataViewField, DataViewFieldTypes } from '@pepperi-addons/papi-sdk/dist/entities/data-view';\n\n@Injectable()\nexport class PepGenericListService {\n\n constructor(\n private _translate: TranslateService,\n private _queryBuilderService: PepQueryBuilderService\n ) {\n //\n }\n\n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n getListViewType(dataViewType: string) {\n switch (dataViewType) {\n case 'Grid':\n return 'table';\n case 'Card':\n return 'cards';\n case 'Line':\n return 'lines';\n default:\n return 'table';\n }\n }\n\n convertToPepRowData(item: any, dataView: any, uuidMapping: string) {\n const row = new PepRowData();\n let itemFields: any;\n\n if (this.hasProperty(item, 'fields') && typeof item.fields === 'object') {\n itemFields = item.fields;\n if (item.isEditable === false) {\n row.IsEditable = false;\n }\n if (item.isSelectableForActions === false) {\n row.IsSelectableForActions = false;\n }\n } else {\n itemFields = item;\n }\n\n row.UUID = itemFields[uuidMapping] || undefined;\n row.Fields = [];\n\n if (dataView?.Fields && dataView.Columns) {\n for (let index = 0; index < dataView.Fields.length; index++) {\n const field = dataView.Fields[index] as IPepGenericListDataView;\n row.Fields.push({\n ApiName: field.FieldID,\n Title: field.Title ? this._translate.instant(field.Title) : '',\n XAlignment: 1,\n FormattedValue: (itemFields[field.FieldID] || '').toString(),\n Value: (itemFields[field.FieldID] || '').toString(),\n ColumnWidth: dataView.Columns[index]?.Width || undefined,\n AdditionalValue: '',\n OptionalValues: field.OptionalValues || [],\n FieldType: DataViewFieldTypes[field.Type],\n ReadOnly: field.ReadOnly,\n Enabled: !field.ReadOnly\n })\n }\n }\n return row;\n }\n\n convertToUiControlField(field: any) {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n convertToSmartFilter(smartFilter: IPepGenericListSmartFilter) {\n let convertedFields: PepSmartFilterBaseField[] = [];\n let filterData: IPepSmartFilterData[] = [];\n\n if (smartFilter?.dataView) {\n convertedFields = this.createSmartFilterFields(smartFilter.dataView);\n if (smartFilter.data?.length) {\n filterData = smartFilter.data;\n }\n }\n\n return {\n fields: convertedFields,\n data: filterData\n }\n }\n\n createSmartFilterFields(dataView: any) {\n let smartFields: PepSmartFilterBaseField[] = [];\n\n const fields = dataView.Fields.map((field: any) => {\n return {\n FieldID: field.FieldID,\n FieldType: field.Type,\n Title: field.Title,\n OptionalValues: field.OptionalValues\n } as IPepQueryBuilderField\n });\n const smartFilterfields = this._queryBuilderService.convertToSmartFilterFields(fields);\n if (smartFilterfields?.length) {\n smartFields = smartFilterfields.map((field => field.smart));\n }\n\n return smartFields;\n }\n\n\n}","import {\n Component,\n OnInit,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ViewContainerRef,\n ComponentFactoryResolver\n} from '@angular/core';\n//import { TranslateService } from '@ngx-translate/core';\nimport {\n PepDataConvertorService,\n PepLayoutService,\n ObjectsDataRow,\n PepGuid,\n UIControl,\n PepLoaderService\n} from '@pepperi-addons/ngx-lib';\nimport { Subscription } from 'rxjs';\nimport { IPepFormFieldClickEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepListComponent,\n PepSelectionData,\n IPepListLoadPageEvent,\n PepListSelectionType,\n IPepListSortingChangeEvent,\n DEFAULT_PAGE_SIZE,\n IPepListLoadItemsEvent,\n PepListTableViewType\n} from '@pepperi-addons/ngx-lib/list';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n} from '@pepperi-addons/ngx-lib/menu';\nimport { IPepFormFieldValueChangeEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepBreadCrumbItem,\n IPepBreadCrumbItemClickEvent\n} from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { IPepSearchClickEvent, PepSearchComponent } from '@pepperi-addons/ngx-lib/search';\n\nimport {\n DataView,\n GridDataView\n} from '@pepperi-addons/papi-sdk/dist/entities/data-view';\nimport {\n IPepGenericListInitData,\n IPepGenericListDataSource,\n IPepGenericListPager,\n IPepGenericListActions,\n IPepGenericListSmartFilter,\n IPepGenericListListInputs\n} from './generic-list.model';\nimport { PepGenericListService } from './generic-list.service';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport {\n IPepSmartFilterData,\n PepSmartFilterBaseField\n} from '@pepperi-addons/ngx-lib/smart-filters';\n\n\n@Component({\n selector: 'pep-generic-list',\n templateUrl: './generic-list.component.html',\n styleUrls: ['./generic-list.component.scss'],\n providers: [PepGenericListService]\n})\nexport class GenericListComponent implements OnInit {\n @ViewChild('search') search: PepSearchComponent | undefined;\n\n private _pepListContainer: ViewContainerRef | undefined;\n @ViewChild('pepListContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepListContainer = val;\n }\n\n private _dataSource: IPepGenericListDataSource = {\n init: async (params: any) => {\n return {\n dataView: {\n Type: 'Grid'\n },\n totalCount: -1,\n items: []\n }\n }\n }\n @Input()\n set dataSource(val: IPepGenericListDataSource) {\n this._dataSource = val;\n this._sorting = undefined;\n this.initSearch();\n this.initTable();\n }\n\n @Input()\n actions: IPepGenericListActions = {\n get: async (data: any) => {\n return []\n }\n };\n\n @Input()\n uuidMapping = 'key';\n\n @Input()\n disabled = false;\n\n @Input()\n addPadding = false;\n\n @Input()\n title = '';\n\n @Input()\n description = '';\n\n @Input()\n inline = false;\n\n @Input()\n showSearch = false;\n\n @Input()\n noDataFoundMsg = '';\n\n @Input()\n selectionType: PepListSelectionType = 'multi';\n\n @Input()\n supportSorting = false;\n\n @Input()\n pager: IPepGenericListPager = {\n type: 'scroll'\n }\n\n @Input()\n tableViewType: PepListTableViewType = 'regular';\n\n @Input()\n zebraStripes = false;\n\n @Input()\n set smartFilter(val: IPepGenericListSmartFilter) {\n this.internalSmartFilter = this._genericListService.convertToSmartFilter(val);\n this.showSmartFilter = this.internalSmartFilter.fields.length > 0;\n }\n\n @Input()\n showTopBar = false;\n\n @Input()\n breadCrumbsItems: PepBreadCrumbItem[] = new Array<PepBreadCrumbItem>();\n\n @Output()\n fieldClick = new EventEmitter<IPepFormFieldClickEvent>();\n\n @Output()\n valueChange = new EventEmitter<IPepFormFieldValueChangeEvent>();\n\n @Output()\n breadCrumbItemClick = new EventEmitter<IPepBreadCrumbItemClickEvent>();\n\n set pepList(val: PepListComponent) {\n this._pepList = val;\n }\n\n get pepList() {\n return this._pepList;\n }\n\n private _resize$: Subscription = new Subscription();\n private _loader$: Subscription = new Subscription();\n\n private _dataView: DataView = {\n Type: 'Grid'\n };\n private _listInputs: any;\n private _pepList: any;\n totalRowCount = -1;\n searchString = '';\n showSmartFilter = false;\n internalSmartFilter: {\n fields: PepSmartFilterBaseField[],\n data: IPepSmartFilterData[]\n } = {\n fields: [],\n data: []\n };\n private _appliedFilters: IPepSmartFilterData[] = [];\n private _sorting: IPepListSortingChangeEvent | undefined = undefined;\n\n menuHandlers: { [key: string]: (obj: any) => Promise<void> } = {};\n menuActions: Array<PepMenuItem> = [];\n\n constructor(\n private _resolver: ComponentFactoryResolver,\n private _dataConvertorService: PepDataConvertorService,\n private _layoutService: PepLayoutService,\n private _loaderService: PepLoaderService,\n // private _translate: TranslateService,\n private _genericListService: PepGenericListService\n ) {\n this._resize$ = this._layoutService.onResize$.pipe().subscribe((size) => {\n // \n });\n this._loader$ = this._loaderService.onChanged$.subscribe((status: boolean) => {\n //\n });\n }\n\n ngOnInit() {\n //\n }\n\n private async initTable() {\n setTimeout(async () => {\n if (this._dataSource &&\n this._pepListContainer) {\n\n if (this._pepListContainer.length > 0) {\n this._pepListContainer.remove();\n }\n const factory = this._resolver.resolveComponentFactory(PepListComponent);\n const componentRef = this._pepListContainer.createComponent(factory);\n this.pepList = componentRef.instance;\n\n //merge selector inputs with callback inputs\n this.loadTableInputs();\n\n let fromIndex = 0;\n let toIndex = 0; \n\n if (this._listInputs.pager.type === 'pages') {\n fromIndex = this._listInputs.pager.size * this._listInputs.pager.index;\n toIndex = fromIndex + (this._listInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;\n } else {\n toIndex = 100;//TO DO - get value from - this.customList.getTopItems()\n }\n\n const data = await this.loadData(fromIndex, toIndex);\n this.totalRowCount = data?.totalCount || 0;\n\n componentRef.instance.viewType = this._genericListService.getListViewType(this._dataView.Type);\n componentRef.instance.tableViewType = this._listInputs.tableViewType;\n componentRef.instance.zebraStripes = this._listInputs.zebraStripes;\n if (this.disabled) {\n componentRef.instance.disabled = true;\n componentRef.instance.lockItemInnerEvents = true;\n }\n componentRef.instance.supportSorting = this._listInputs.supportSorting;\n componentRef.instance.selectionTypeForActions = this._listInputs.selectionType;\n componentRef.instance.showCardSelection = this._listInputs.selectionType !== 'none';\n componentRef.instance.pagerType = this._listInputs.pager.type;\n if (this._listInputs.pager.type === 'pages') {\n componentRef.instance.pageSize = this._listInputs.pager?.size || DEFAULT_PAGE_SIZE;\n componentRef.instance.pageIndex = this._listInputs.pager?.index || 0;\n }\n componentRef.instance.noDataFoundMsg = this._listInputs.noDataFoundMsg;\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onCustomizeFieldClick($event);\n });\n componentRef.instance.selectedItemsChange.subscribe(($event) => {\n this.onSelectedItemsChanged($event);\n });\n componentRef.instance.loadItems.subscribe(($event) => {\n this.onLoadItems($event);\n });\n componentRef.instance.loadPage.subscribe(($event) => {\n this.onLoadPage($event);\n });\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event)\n });\n componentRef.instance.sortingChange.subscribe(($event) => {\n this.onSortingChange($event);\n });\n let convertedList: ObjectsDataRow[] = [];\n if (data) {\n if (data.items?.length) {\n convertedList = this._dataConvertorService.convertListData(data.items);\n }\n const uiControl = this.getUiControl(DataViewConverter.toUIControlData(data.dataView));\n componentRef.instance.initListData(uiControl, data.totalCount, convertedList);\n }\n }\n }, 0);\n }\n\n /**\n * loads inputs in case they are provided and merge with selector inputs\n * @returns merged pep-list inputs\n */\n private loadTableInputs() {\n this._listInputs = {\n supportSorting: this.supportSorting,\n selectionType: this.selectionType,\n pager: this.pager,\n noDataFoundMsg: this.noDataFoundMsg,\n tableViewType: this.tableViewType,\n zebraStripes: this.zebraStripes\n };\n if (this._dataSource.inputs) {\n Object.entries(this._dataSource.inputs).forEach((item: any) => {\n if (this._genericListService.hasProperty(this._listInputs, item[0])) {\n this._listInputs[item[0]] = item[1];\n }\n });\n }\n }\n\n private getUiControl(data: any): UIControl {\n const uiControl = new UIControl();\n uiControl.ControlFields = [];\n\n if (data?.ControlFields) {\n uiControl.ControlFields = data.ControlFields.map((field: any) => this._genericListService.convertToUiControlField(field));\n }\n\n return uiControl;\n }\n\n private loadMenuItems(): void { //TODO\n if (this._listInputs.selectionType !== 'none') {\n this.getMenuActions().then(\n x => this.menuActions = x\n );\n }\n }\n\n private async getMenuActions(): Promise<PepMenuItem[]> {\n const res: PepMenuItem[] = [];\n const result = this.getMenuObjects();\n if (result.success) {\n const actions = await this.actions.get(result.data);\n this.menuHandlers = {};\n actions?.forEach(item => {\n const uuid = PepGuid.newGuid();\n this.menuHandlers[uuid] = item.handler;\n res.push({\n key: uuid,\n text: item.title\n })\n })\n }\n\n return res;\n }\n\n private getMenuObjects() {\n const menuObjects: any = {\n success: false,\n data: new PepSelectionData()\n };\n\n if (this.pepList) {\n menuObjects.success = true;\n menuObjects.data = this.pepList.getSelectedItemsData();\n }\n\n return menuObjects;\n }\n\n private initSearch() {\n this.searchString = '';\n this.search?.initSearch();\n }\n\n private async loadData(fromIndex: number, toIndex: number): Promise<IPepGenericListInitData> {\n setTimeout(() => {\n this._loaderService.show();\n }, 150);\n const data: IPepGenericListInitData = await this._dataSource.init({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex\n });\n setTimeout(() => {\n this._loaderService.hide();\n }, 150);\n\n if (data) {\n this._dataView = data.dataView;\n\n if (data.items?.length > 0 && !data.isPepRowData) {\n data.items = data.items.map(item => this._genericListService.convertToPepRowData(item, data.dataView, this.uuidMapping));\n }\n }\n\n return data;\n }\n\n\n private async updateDataList(fromIndex: number, toIndex: number, pageIndex: number | undefined = undefined) {\n if (this._dataSource.update) {\n setTimeout(() => {\n this._loaderService.show();\n }, 150);\n const dataList = await this._dataSource.update({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex,\n pageIndex: pageIndex\n });\n setTimeout(() => {\n this._loaderService.hide();\n }, 150);\n\n if (dataList?.length > 0) {\n return dataList.map(item => this._genericListService.convertToPepRowData(item, this._dataView, this.uuidMapping));\n } else {\n return [];\n }\n } else {\n return [];\n }\n }\n\n /**\n * loads virtual scroll items from api\n */\n private async onLoadItems(event: IPepListLoadItemsEvent) {\n const list = await this.updateDataList(event.fromIndex, event.toIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n this.pepList.updateItems(convertedList, event);\n }\n\n /**\n * loads paging bulk from api\n */\n private async onLoadPage(event: IPepListLoadPageEvent) {\n const fromIndex = event.pageIndex * event.pageSize;\n const toIndex = Math.min(fromIndex + event.pageSize - 1, this.totalRowCount - 1);\n const list = await this.updateDataList(fromIndex, toIndex, event.pageIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n this.pepList.updatePage(convertedList, event);\n }\n\n getItemById(id: string): ObjectsDataRow | null {\n if (this.pepList) {\n return this._pepList.getItemDataByID(id);\n } else {\n return null;\n }\n }\n\n getSelectedItems(): PepSelectionData | null {\n if (this.pepList) {\n return this._pepList.getSelectedItemsData();\n } else {\n return null;\n }\n }\n\n getPageIndex() {\n return this.pepList.pageIndex;\n }\n\n onActionItemClicked(action: IPepMenuItemClickEvent): void {\n const result = this.getMenuObjects();\n if (result.success) {\n this.menuHandlers[action.source.key](result.data);\n }\n }\n\n onSearchChanged(event: IPepSearchClickEvent) {\n this.searchString = event.value;\n this.initTable();\n }\n\n onSelectedItemsChanged(selectedRowsCount: number) {\n //loading menu items after pep-list selected items are updated\n setTimeout(() => {\n this.loadMenuItems();\n }, 0);\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent) {\n this.fieldClick.emit(fieldClickEvent);\n }\n\n onBreadCrumbItemClick(event: IPepBreadCrumbItemClickEvent) {\n this.breadCrumbItemClick.emit(event);\n }\n\n onValueChanged(event: IPepFormFieldValueChangeEvent) {\n this.valueChange.emit(event);\n }\n\n onSortingChange(event: IPepListSortingChangeEvent) {\n this._sorting = event;\n this.initTable();\n }\n\n onFiltersChange(filters: IPepSmartFilterData[]) {\n this._appliedFilters = filters;\n this.initTable();\n }\n\n ngOnDestroy() {\n if (this._resize$) {\n this._resize$.unsubscribe();\n }\n if (this._loader$) {\n this._loader$.unsubscribe();\n }\n }\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate>\n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\">\n <pep-smart-filters title=\"Test filters\" [fields]=\"internalSmartFilter.fields\"\n [filters]=\"internalSmartFilter.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GenericListComponent } from './generic-list.component';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepListModule } from '@pepperi-addons/ngx-lib/list';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepSideBarModule } from '@pepperi-addons/ngx-lib/side-bar';\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\nimport { PepBreadCrumbsModule } from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { PepSmartFiltersModule } from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepGenericListService } from './generic-list.service';\n\n@NgModule({\n declarations: [\n GenericListComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n PepSideBarModule,\n PepSearchModule,\n PepBreadCrumbsModule,\n PepSmartFiltersModule\n ],\n exports: [\n GenericListComponent \n ],\n providers: [\n PepGenericListService\n ]\n})\nexport class PepGenericListModule { }\n","/*\n * Public API Surface of ngx-composite-lib/generic-list\n */\nexport * from './generic-list.module';\nexport * from './generic-list.component';\nexport * from './generic-list.model';\nexport * from './generic-list.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import * as i3 from '@pepperi-addons/ngx-lib/group-buttons';
9
9
  import { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';
10
10
  import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
11
11
  import * as i1$1 from '@pepperi-addons/ngx-lib/icon';
12
- import { pepIconTextAlignCenter, pepIconTextAlignLeft, pepIconTextAlignRight } from '@pepperi-addons/ngx-lib/icon';
12
+ import { pepIconTextAlignCenter, pepIconTextAlignLeft, pepIconTextAlignRight, PepIconModule } from '@pepperi-addons/ngx-lib/icon';
13
13
 
14
14
  class GroupButtonsSettingsComponent {
15
15
  // pepB: PepSizeType | 'none' = "xs";
@@ -78,7 +78,7 @@ class GroupButtonsSettingsComponent {
78
78
  case 'vertical-align': {
79
79
  return [
80
80
  { key: 'start', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.TOP'), callback: (event) => this.onKeyChange(event) },
81
- { key: 'center', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.MIDDLE'), callback: (event) => this.onKeyChange(event) },
81
+ { key: 'middle', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.MIDDLE'), callback: (event) => this.onKeyChange(event) },
82
82
  { key: 'end', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.BOTTOM'), callback: (event) => this.onKeyChange(event) }
83
83
  ];
84
84
  }
@@ -155,12 +155,14 @@ PepGroupButtonsSettingsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.
155
155
  PepGroupButtonsSettingsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGroupButtonsSettingsModule, declarations: [GroupButtonsSettingsComponent], imports: [CommonModule,
156
156
  PepNgxLibModule,
157
157
  PepFieldTitleModule,
158
- PepGroupButtonsModule], exports: [GroupButtonsSettingsComponent] });
158
+ PepGroupButtonsModule,
159
+ PepIconModule], exports: [GroupButtonsSettingsComponent] });
159
160
  PepGroupButtonsSettingsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGroupButtonsSettingsModule, imports: [[
160
161
  CommonModule,
161
162
  PepNgxLibModule,
162
163
  PepFieldTitleModule,
163
164
  PepGroupButtonsModule,
165
+ PepIconModule
164
166
  ]] });
165
167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGroupButtonsSettingsModule, decorators: [{
166
168
  type: NgModule,
@@ -173,6 +175,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
173
175
  PepNgxLibModule,
174
176
  PepFieldTitleModule,
175
177
  PepGroupButtonsModule,
178
+ PepIconModule
176
179
  ],
177
180
  exports: [GroupButtonsSettingsComponent]
178
181
  }]