@pepperi-addons/ngx-composite-lib 0.4.1-beta.12 → 0.4.1-beta.13

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 (127) hide show
  1. package/color-settings/color-settings.component.d.ts +25 -25
  2. package/color-settings/color-settings.model.d.ts +6 -6
  3. package/color-settings/color-settings.module.d.ts +12 -12
  4. package/color-settings/index.d.ts +5 -5
  5. package/color-settings/public-api.d.ts +3 -3
  6. package/core/common/directives/index.d.ts +1 -1
  7. package/core/common/directives/public-api.d.ts +1 -1
  8. package/core/common/directives/reset-configuration-field.directive.d.ts +39 -39
  9. package/core/common/index.d.ts +1 -1
  10. package/core/common/public-api.d.ts +2 -2
  11. package/core/common/services/dimx.service.d.ts +46 -46
  12. package/core/common/services/index.d.ts +1 -1
  13. package/core/common/services/public-api.d.ts +2 -2
  14. package/core/common/services/utilities.service.d.ts +6 -6
  15. package/core/index.d.ts +1 -1
  16. package/core/public-api.d.ts +1 -1
  17. package/data-view-builder/data-view-builder.component.d.ts +35 -35
  18. package/data-view-builder/data-view-builder.model.d.ts +1 -1
  19. package/data-view-builder/data-view-builder.module.d.ts +23 -23
  20. package/data-view-builder/data-view-builder.service.d.ts +14 -14
  21. package/data-view-builder/index.d.ts +5 -5
  22. package/data-view-builder/menu-data-view/menu-data-view.component.d.ts +36 -36
  23. package/data-view-builder/public-api.d.ts +3 -3
  24. package/esm2020/color-settings/color-settings.component.mjs +86 -86
  25. package/esm2020/color-settings/color-settings.model.mjs +8 -8
  26. package/esm2020/color-settings/color-settings.module.mjs +37 -37
  27. package/esm2020/color-settings/pepperi-addons-ngx-composite-lib-color-settings.mjs +4 -4
  28. package/esm2020/color-settings/public-api.mjs +6 -6
  29. package/esm2020/core/common/directives/index.mjs +4 -4
  30. package/esm2020/core/common/directives/public-api.mjs +4 -4
  31. package/esm2020/core/common/directives/reset-configuration-field.directive.mjs +135 -135
  32. package/esm2020/core/common/index.mjs +4 -4
  33. package/esm2020/core/common/public-api.mjs +5 -5
  34. package/esm2020/core/common/services/dimx.service.mjs +63 -63
  35. package/esm2020/core/common/services/index.mjs +4 -4
  36. package/esm2020/core/common/services/public-api.mjs +5 -5
  37. package/esm2020/core/common/services/utilities.service.mjs +18 -18
  38. package/esm2020/core/index.mjs +4 -4
  39. package/esm2020/core/public-api.mjs +4 -4
  40. package/esm2020/data-view-builder/data-view-builder.component.mjs +116 -116
  41. package/esm2020/data-view-builder/data-view-builder.model.mjs +1 -1
  42. package/esm2020/data-view-builder/data-view-builder.module.mjs +79 -79
  43. package/esm2020/data-view-builder/data-view-builder.service.mjs +38 -38
  44. package/esm2020/data-view-builder/menu-data-view/menu-data-view.component.mjs +116 -116
  45. package/esm2020/data-view-builder/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +4 -4
  46. package/esm2020/data-view-builder/public-api.mjs +6 -6
  47. package/esm2020/file-status-panel/file-status-panel.component.mjs +34 -34
  48. package/esm2020/file-status-panel/file-status-panel.model.mjs +8 -8
  49. package/esm2020/file-status-panel/file-status-panel.module.mjs +53 -53
  50. package/esm2020/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +4 -4
  51. package/esm2020/file-status-panel/public-api.mjs +6 -6
  52. package/esm2020/generic-form/generic-form.component.mjs +189 -189
  53. package/esm2020/generic-form/generic-form.model.mjs +1 -1
  54. package/esm2020/generic-form/generic-form.module.mjs +67 -67
  55. package/esm2020/generic-form/generic-form.service.mjs +58 -59
  56. package/esm2020/generic-form/pepperi-addons-ngx-composite-lib-generic-form.mjs +4 -4
  57. package/esm2020/generic-form/public-api.mjs +7 -7
  58. package/esm2020/generic-list/generic-list.component.mjs +458 -458
  59. package/esm2020/generic-list/generic-list.model.mjs +1 -1
  60. package/esm2020/generic-list/generic-list.module.mjs +106 -106
  61. package/esm2020/generic-list/generic-list.service.mjs +136 -136
  62. package/esm2020/generic-list/pepperi-addons-ngx-composite-lib-generic-list.mjs +4 -4
  63. package/esm2020/generic-list/public-api.mjs +7 -7
  64. package/esm2020/group-buttons-settings/group-buttons-settings.component.mjs +129 -129
  65. package/esm2020/group-buttons-settings/group-buttons-settings.model.mjs +1 -1
  66. package/esm2020/group-buttons-settings/group-buttons-settings.module.mjs +47 -47
  67. package/esm2020/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +4 -4
  68. package/esm2020/group-buttons-settings/public-api.mjs +6 -6
  69. package/esm2020/ngx-composite-lib.module.mjs +53 -53
  70. package/esm2020/pepperi-addons-ngx-composite-lib.mjs +4 -4
  71. package/esm2020/public-api.mjs +5 -5
  72. package/esm2020/shadow-settings/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +4 -4
  73. package/esm2020/shadow-settings/public-api.mjs +6 -6
  74. package/esm2020/shadow-settings/shadow-settings.component.mjs +68 -68
  75. package/esm2020/shadow-settings/shadow-settings.model.mjs +7 -7
  76. package/esm2020/shadow-settings/shadow-settings.module.mjs +41 -41
  77. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.mjs +116 -116
  78. package/fesm2015/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +309 -309
  79. package/fesm2015/pepperi-addons-ngx-composite-lib-data-view-builder.mjs.map +1 -1
  80. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +80 -80
  81. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.mjs +285 -286
  82. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.mjs.map +1 -1
  83. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs +674 -674
  84. package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +164 -164
  85. package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +101 -101
  86. package/fesm2015/pepperi-addons-ngx-composite-lib.mjs +271 -271
  87. package/fesm2020/pepperi-addons-ngx-composite-lib-color-settings.mjs +116 -116
  88. package/fesm2020/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +307 -307
  89. package/fesm2020/pepperi-addons-ngx-composite-lib-data-view-builder.mjs.map +1 -1
  90. package/fesm2020/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +78 -78
  91. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-form.mjs +287 -288
  92. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-form.mjs.map +1 -1
  93. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs +656 -656
  94. package/fesm2020/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +163 -163
  95. package/fesm2020/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +101 -101
  96. package/fesm2020/pepperi-addons-ngx-composite-lib.mjs +264 -264
  97. package/file-status-panel/file-status-panel.component.d.ts +14 -14
  98. package/file-status-panel/file-status-panel.model.d.ts +7 -7
  99. package/file-status-panel/file-status-panel.module.d.ts +17 -17
  100. package/file-status-panel/index.d.ts +5 -5
  101. package/file-status-panel/public-api.d.ts +3 -3
  102. package/generic-form/generic-form.component.d.ts +43 -43
  103. package/generic-form/generic-form.model.d.ts +42 -42
  104. package/generic-form/generic-form.module.d.ts +13 -13
  105. package/generic-form/generic-form.service.d.ts +15 -15
  106. package/generic-form/index.d.ts +5 -5
  107. package/generic-form/public-api.d.ts +4 -4
  108. package/generic-list/generic-list.component.d.ts +109 -109
  109. package/generic-list/generic-list.model.d.ts +66 -66
  110. package/generic-list/generic-list.module.d.ts +25 -25
  111. package/generic-list/generic-list.service.d.ts +44 -44
  112. package/generic-list/index.d.ts +5 -5
  113. package/generic-list/public-api.d.ts +4 -4
  114. package/group-buttons-settings/group-buttons-settings.component.d.ts +33 -33
  115. package/group-buttons-settings/group-buttons-settings.model.d.ts +1 -1
  116. package/group-buttons-settings/group-buttons-settings.module.d.ts +15 -15
  117. package/group-buttons-settings/index.d.ts +5 -5
  118. package/group-buttons-settings/public-api.d.ts +3 -3
  119. package/index.d.ts +5 -5
  120. package/ngx-composite-lib.module.d.ts +13 -13
  121. package/package.json +1 -1
  122. package/public-api.d.ts +2 -2
  123. package/shadow-settings/index.d.ts +5 -5
  124. package/shadow-settings/public-api.d.ts +3 -3
  125. package/shadow-settings/shadow-settings.component.d.ts +23 -23
  126. package/shadow-settings/shadow-settings.model.d.ts +8 -8
  127. package/shadow-settings/shadow-settings.module.d.ts +13 -13
@@ -30,670 +30,670 @@ import { MatIconModule } from '@angular/material/icon';
30
30
  import { PepFormModule } from '@pepperi-addons/ngx-lib/form';
31
31
  import { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';
32
32
 
33
- class PepGenericListService {
34
- constructor(_translate, _queryBuilderService) {
35
- this._translate = _translate;
36
- this._queryBuilderService = _queryBuilderService;
37
- //
38
- }
39
- /**
40
- * checks if the object contains property
41
- * @param obj object
42
- * @param prop property name
43
- * @returns true if contains, false otherwise
44
- */
45
- hasProperty(obj, prop) {
46
- return Object.prototype.hasOwnProperty.call(obj, prop);
47
- }
48
- getListViewType(dataViewType) {
49
- switch (dataViewType) {
50
- case 'Grid':
51
- return 'table';
52
- case 'Card':
53
- return 'cards';
54
- case 'Line':
55
- return 'lines';
56
- default:
57
- return 'table';
58
- }
59
- }
60
- convertToPepRowData(item, dataView, uuidMapping) {
61
- const row = new PepRowData();
62
- let itemFields;
63
- if (this.hasProperty(item, 'fields') && typeof item.fields === 'object') {
64
- itemFields = item.fields;
65
- if (item.isEditable === false) {
66
- row.IsEditable = false;
67
- }
68
- if (item.isSelectableForActions === false) {
69
- row.IsSelectableForActions = false;
70
- }
71
- if (item.isEditable && item.isSelectableForActions && item.isSelected) {
72
- row.IsSelected = true;
73
- }
74
- }
75
- else {
76
- itemFields = item;
77
- }
78
- row.UUID = itemFields[uuidMapping] || undefined;
79
- row.Fields = [];
80
- if (dataView?.Fields && dataView.Columns) {
81
- for (let index = 0; index < dataView.Fields.length; index++) {
82
- const field = dataView.Fields[index];
83
- row.Fields.push({
84
- ApiName: field.FieldID,
85
- Title: field.Title ? this._translate.instant(field.Title) : '',
86
- XAlignment: 1,
87
- FormattedValue: (itemFields[field.FieldID] || '').toString(),
88
- Value: (itemFields[field.FieldID] || '').toString(),
89
- ColumnWidth: dataView.Columns[index]?.Width || undefined,
90
- AdditionalValue: '',
91
- OptionalValues: field.OptionalValues || [],
92
- FieldType: DataViewFieldTypes[field.Type],
93
- ReadOnly: field.ReadOnly,
94
- Enabled: !field.ReadOnly
95
- });
96
- }
97
- }
98
- return row;
99
- }
100
- convertToUiControlField(field) {
101
- return {
102
- ApiName: field.ApiName,
103
- FieldType: field.FieldType,
104
- Title: field.Title,
105
- ReadOnly: field.ReadOnlyField,
106
- ColumnWidth: field.ColumnWidth,
107
- ColumnWidthType: 1,
108
- Layout: {
109
- X: field.Layout.X,
110
- Y: field.Layout.Y,
111
- Width: field.Layout.Width,
112
- Height: field.Layout.Field_Height,
113
- XAlignment: field.Layout.xAlignment,
114
- YAlignment: field.Layout.yAlignment,
115
- }
116
- };
117
- }
118
- convertToSmartFilter(smartFilter) {
119
- let convertedFields = [];
120
- let filterData = [];
121
- if (smartFilter?.dataView) {
122
- convertedFields = this.createSmartFilterFields(smartFilter.dataView);
123
- if (smartFilter.data?.length) {
124
- filterData = smartFilter.data;
125
- }
126
- }
127
- return {
128
- fields: convertedFields,
129
- data: filterData
130
- };
131
- }
132
- createSmartFilterFields(dataView) {
133
- let smartFields = [];
134
- const fields = dataView.Fields.map((field) => {
135
- return {
136
- FieldID: field.FieldID,
137
- FieldType: field.Type,
138
- Title: field.Title,
139
- OptionalValues: field.OptionalValues
140
- };
141
- });
142
- const smartFilterfields = this._queryBuilderService.convertToSmartFilterFields(fields);
143
- if (smartFilterfields?.length) {
144
- smartFields = smartFilterfields.map((field => field.smart));
145
- }
146
- return smartFields;
147
- }
148
- getSelectedItems(items) {
149
- let selectedItems = [];
150
- for (let i = 0; i < items.length; i++) {
151
- if (items[i].IsSelected) {
152
- selectedItems.push(items[i].UID);
153
- }
154
- }
155
- return selectedItems;
156
- }
157
- }
158
- PepGenericListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListService, deps: [{ token: i1.TranslateService }, { token: i2.PepQueryBuilderService }], target: i0.ɵɵFactoryTarget.Injectable });
159
- PepGenericListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListService });
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListService, decorators: [{
161
- type: Injectable
33
+ class PepGenericListService {
34
+ constructor(_translate, _queryBuilderService) {
35
+ this._translate = _translate;
36
+ this._queryBuilderService = _queryBuilderService;
37
+ //
38
+ }
39
+ /**
40
+ * checks if the object contains property
41
+ * @param obj object
42
+ * @param prop property name
43
+ * @returns true if contains, false otherwise
44
+ */
45
+ hasProperty(obj, prop) {
46
+ return Object.prototype.hasOwnProperty.call(obj, prop);
47
+ }
48
+ getListViewType(dataViewType) {
49
+ switch (dataViewType) {
50
+ case 'Grid':
51
+ return 'table';
52
+ case 'Card':
53
+ return 'cards';
54
+ case 'Line':
55
+ return 'lines';
56
+ default:
57
+ return 'table';
58
+ }
59
+ }
60
+ convertToPepRowData(item, dataView, uuidMapping) {
61
+ const row = new PepRowData();
62
+ let itemFields;
63
+ if (this.hasProperty(item, 'fields') && typeof item.fields === 'object') {
64
+ itemFields = item.fields;
65
+ if (item.isEditable === false) {
66
+ row.IsEditable = false;
67
+ }
68
+ if (item.isSelectableForActions === false) {
69
+ row.IsSelectableForActions = false;
70
+ }
71
+ if (item.isEditable && item.isSelectableForActions && item.isSelected) {
72
+ row.IsSelected = true;
73
+ }
74
+ }
75
+ else {
76
+ itemFields = item;
77
+ }
78
+ row.UUID = itemFields[uuidMapping] || undefined;
79
+ row.Fields = [];
80
+ if (dataView?.Fields && dataView.Columns) {
81
+ for (let index = 0; index < dataView.Fields.length; index++) {
82
+ const field = dataView.Fields[index];
83
+ row.Fields.push({
84
+ ApiName: field.FieldID,
85
+ Title: field.Title ? this._translate.instant(field.Title) : '',
86
+ XAlignment: 1,
87
+ FormattedValue: (itemFields[field.FieldID] || '').toString(),
88
+ Value: (itemFields[field.FieldID] || '').toString(),
89
+ ColumnWidth: dataView.Columns[index]?.Width || undefined,
90
+ AdditionalValue: '',
91
+ OptionalValues: field.OptionalValues || [],
92
+ FieldType: DataViewFieldTypes[field.Type],
93
+ ReadOnly: field.ReadOnly,
94
+ Enabled: !field.ReadOnly
95
+ });
96
+ }
97
+ }
98
+ return row;
99
+ }
100
+ convertToUiControlField(field) {
101
+ return {
102
+ ApiName: field.ApiName,
103
+ FieldType: field.FieldType,
104
+ Title: field.Title,
105
+ ReadOnly: field.ReadOnlyField,
106
+ ColumnWidth: field.ColumnWidth,
107
+ ColumnWidthType: 1,
108
+ Layout: {
109
+ X: field.Layout.X,
110
+ Y: field.Layout.Y,
111
+ Width: field.Layout.Width,
112
+ Height: field.Layout.Field_Height,
113
+ XAlignment: field.Layout.xAlignment,
114
+ YAlignment: field.Layout.yAlignment,
115
+ }
116
+ };
117
+ }
118
+ convertToSmartFilter(smartFilter) {
119
+ let convertedFields = [];
120
+ let filterData = [];
121
+ if (smartFilter?.dataView) {
122
+ convertedFields = this.createSmartFilterFields(smartFilter.dataView);
123
+ if (smartFilter.data?.length) {
124
+ filterData = smartFilter.data;
125
+ }
126
+ }
127
+ return {
128
+ fields: convertedFields,
129
+ data: filterData
130
+ };
131
+ }
132
+ createSmartFilterFields(dataView) {
133
+ let smartFields = [];
134
+ const fields = dataView.Fields.map((field) => {
135
+ return {
136
+ FieldID: field.FieldID,
137
+ FieldType: field.Type,
138
+ Title: field.Title,
139
+ OptionalValues: field.OptionalValues
140
+ };
141
+ });
142
+ const smartFilterfields = this._queryBuilderService.convertToSmartFilterFields(fields);
143
+ if (smartFilterfields?.length) {
144
+ smartFields = smartFilterfields.map((field => field.smart));
145
+ }
146
+ return smartFields;
147
+ }
148
+ getSelectedItems(items) {
149
+ let selectedItems = [];
150
+ for (let i = 0; i < items.length; i++) {
151
+ if (items[i].IsSelected) {
152
+ selectedItems.push(items[i].UID);
153
+ }
154
+ }
155
+ return selectedItems;
156
+ }
157
+ }
158
+ PepGenericListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListService, deps: [{ token: i1.TranslateService }, { token: i2.PepQueryBuilderService }], target: i0.ɵɵFactoryTarget.Injectable });
159
+ PepGenericListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListService });
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListService, decorators: [{
161
+ type: Injectable
162
162
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.PepQueryBuilderService }]; } });
163
163
 
164
- class GenericListComponent {
165
- constructor(_dataConvertorService, _layoutService, _loaderService, _translate, _genericListService) {
166
- this._dataConvertorService = _dataConvertorService;
167
- this._layoutService = _layoutService;
168
- this._loaderService = _loaderService;
169
- this._translate = _translate;
170
- this._genericListService = _genericListService;
171
- this._dataSource = {
172
- init: async (params) => {
173
- return {
174
- dataView: {
175
- Type: 'Grid'
176
- },
177
- totalCount: -1,
178
- items: []
179
- };
180
- }
181
- };
182
- this.actions = {
183
- get: async (data) => {
184
- return [];
185
- }
186
- };
187
- this.uuidMapping = 'key';
188
- this.disabled = false;
189
- this.addPadding = false;
190
- this.title = '';
191
- this.description = '';
192
- this.inline = false;
193
- this.showSearch = false;
194
- this.noDataFoundMsg = '';
195
- this.selectionType = 'multi';
196
- this.supportSorting = false;
197
- this.pager = {
198
- type: 'scroll'
199
- };
200
- this.tableViewType = 'regular';
201
- this.zebraStripes = false;
202
- this.showTopBar = false;
203
- this.breadCrumbsItems = new Array();
204
- this.fieldClick = new EventEmitter();
205
- this.valueChange = new EventEmitter();
206
- this.breadCrumbItemClick = new EventEmitter();
207
- this._resize$ = new Subscription();
208
- this._loader$ = new Subscription();
209
- this._dataView = {
210
- Type: 'Grid'
211
- };
212
- this.onLoad = true;
213
- this.totalRowCount = -1;
214
- this.searchString = '';
215
- this.showSmartFilter = false;
216
- this.showEmptyState = false;
217
- this.internalSmartFilter = {
218
- fields: [],
219
- data: []
220
- };
221
- this._appliedFilters = [];
222
- this._sorting = undefined;
223
- this.menuHandlers = {};
224
- this.menuActions = [];
225
- this._resize$ = this._layoutService.onResize$.pipe().subscribe((size) => {
226
- //
227
- });
228
- this._loader$ = this._loaderService.onChanged$.subscribe((status) => {
229
- //
230
- });
231
- }
232
- set pepListContainer(val) {
233
- this._pepListContainer = val;
234
- }
235
- set dataSource(val) {
236
- this._dataSource = val;
237
- this._sorting = undefined;
238
- this.initSearch();
239
- this.initList();
240
- }
241
- set smartFilter(val) {
242
- this.internalSmartFilter = this._genericListService.convertToSmartFilter(val);
243
- this.showSmartFilter = this.internalSmartFilter.fields.length > 0;
244
- }
245
- set pepList(val) {
246
- this._pepList = val;
247
- }
248
- get pepList() {
249
- return this._pepList;
250
- }
251
- ngOnInit() {
252
- //
253
- }
254
- async initList() {
255
- this.onLoad = true;
256
- setTimeout(async () => {
257
- if (this._dataSource) {
258
- //merge selector inputs with callback inputs
259
- this.loadTableInputs();
260
- let fromIndex = 0;
261
- let toIndex = 0;
262
- if (this.listInputs.pager.type === 'pages') {
263
- fromIndex = this.listInputs.pager.size * this.listInputs.pager.index;
264
- toIndex = fromIndex + (this.listInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;
265
- }
266
- else {
267
- toIndex = 100; //TO DO - get value from - this.customList.getTopItems()
268
- }
269
- const data = await this.loadData(fromIndex, toIndex);
270
- this.totalRowCount = data?.length || 0;
271
- if (this.listInputs?.emptyState?.show === true) {
272
- this.setEmptyState();
273
- }
274
- this.onLoad = false;
275
- //show empty state
276
- if (this.showEmptyState) {
277
- if (!this.listInputs.emptyState.title) {
278
- this.listInputs.emptyState.title = this._translate.instant('GENERIC_LIST.EMPTY_STATE.TITLE');
279
- }
280
- if (!this.listInputs.emptyState.description) {
281
- this.listInputs.emptyState.description = this._translate.instant('GENERIC_LIST.EMPTY_STATE.DESCRIPTION');
282
- }
283
- return;
284
- }
285
- setTimeout(async () => {
286
- if (this._pepListContainer) {
287
- if (this._pepListContainer.length > 0) {
288
- this._pepListContainer.remove();
289
- }
290
- const { PepListComponent } = await import('@pepperi-addons/ngx-lib/list');
291
- const componentRef = this._pepListContainer.createComponent(PepListComponent);
292
- this.pepList = componentRef.instance;
293
- componentRef.instance.viewType = this._genericListService.getListViewType(this._dataView.Type);
294
- componentRef.instance.tableViewType = this.listInputs.tableViewType;
295
- componentRef.instance.zebraStripes = this.listInputs.zebraStripes;
296
- if (this.disabled) {
297
- componentRef.instance.disabled = true;
298
- componentRef.instance.lockItemInnerEvents = true;
299
- }
300
- componentRef.instance.supportSorting = this.listInputs.supportSorting;
301
- componentRef.instance.selectionTypeForActions = this.listInputs.selectionType;
302
- componentRef.instance.showCardSelection = this.listInputs.selectionType !== 'none';
303
- componentRef.instance.pagerType = this.listInputs.pager.type;
304
- if (this.listInputs.pager.type === 'pages') {
305
- componentRef.instance.pageSize = this.listInputs.pager?.size || DEFAULT_PAGE_SIZE;
306
- componentRef.instance.pageIndex = this.listInputs.pager?.index || 0;
307
- }
308
- componentRef.instance.noDataFoundMsg = this.listInputs.noDataFoundMsg;
309
- componentRef.instance.fieldClick.subscribe(($event) => {
310
- this.onCustomizeFieldClick($event);
311
- });
312
- componentRef.instance.selectedItemsChange.subscribe(($event) => {
313
- this.onSelectedItemsChanged($event);
314
- });
315
- componentRef.instance.loadItems.subscribe(($event) => {
316
- this.onLoadItems($event);
317
- });
318
- componentRef.instance.loadPage.subscribe(($event) => {
319
- this.onLoadPage($event);
320
- });
321
- componentRef.instance.valueChange.subscribe(($event) => {
322
- this.onValueChanged($event);
323
- });
324
- componentRef.instance.sortingChange.subscribe(($event) => {
325
- this.onSortingChange($event);
326
- });
327
- let convertedList = [];
328
- if (data) {
329
- if (data?.length) {
330
- convertedList = this._dataConvertorService.convertListData(data);
331
- }
332
- const uiControl = this.getUiControl(DataViewConverter.toUIControlData(this._dataView));
333
- const selectedItems = this._genericListService.getSelectedItems(convertedList);
334
- if (selectedItems?.length) {
335
- componentRef.instance.setSelectedIds(selectedItems);
336
- }
337
- componentRef.instance.initListData(uiControl, convertedList.length, convertedList);
338
- }
339
- }
340
- }, 0);
341
- }
342
- }, 0);
343
- }
344
- /**
345
- * loads inputs in case they are provided and merge with selector inputs
346
- * @returns merged pep-list inputs
347
- */
348
- loadTableInputs() {
349
- this.listInputs = {
350
- supportSorting: this.supportSorting,
351
- selectionType: this.selectionType,
352
- pager: this.pager,
353
- noDataFoundMsg: this.noDataFoundMsg,
354
- tableViewType: this.tableViewType,
355
- zebraStripes: this.zebraStripes,
356
- emptyState: this.emptyState
357
- };
358
- if (this._dataSource.inputs) {
359
- Object.entries(this._dataSource.inputs).forEach((item) => {
360
- if (this._genericListService.hasProperty(this.listInputs, item[0])) {
361
- this.listInputs[item[0]] = item[1];
362
- }
363
- });
364
- }
365
- }
366
- /**
367
- * detemines whether empty state is to be displayed
368
- */
369
- setEmptyState() {
370
- this.showEmptyState = this.totalRowCount === 0 &&
371
- this.searchString === '' &&
372
- this._appliedFilters.length === 0;
373
- }
374
- getUiControl(data) {
375
- const uiControl = new UIControl();
376
- uiControl.ControlFields = [];
377
- if (data?.ControlFields) {
378
- uiControl.ControlFields = data.ControlFields.map((field) => this._genericListService.convertToUiControlField(field));
379
- }
380
- return uiControl;
381
- }
382
- loadMenuItems() {
383
- if (this.listInputs.selectionType !== 'none') {
384
- this.getMenuActions().then(x => this.menuActions = x);
385
- }
386
- }
387
- async getMenuActions() {
388
- const res = [];
389
- const result = this.getMenuObjects();
390
- if (result.success) {
391
- const actions = await this.actions.get(result.data);
392
- this.menuHandlers = {};
393
- actions?.forEach(item => {
394
- const uuid = PepGuid.newGuid();
395
- this.menuHandlers[uuid] = item.handler;
396
- res.push({
397
- key: uuid,
398
- text: item.title
399
- });
400
- });
401
- }
402
- return res;
403
- }
404
- getMenuObjects() {
405
- const menuObjects = {
406
- success: false,
407
- data: new PepSelectionData()
408
- };
409
- if (this.pepList) {
410
- menuObjects.success = true;
411
- menuObjects.data = this.pepList.getSelectedItemsData();
412
- }
413
- return menuObjects;
414
- }
415
- initSearch() {
416
- this.searchString = '';
417
- this.search?.initSearch();
418
- }
419
- async loadData(fromIndex, toIndex) {
420
- this._loaderService.show();
421
- let converedData = [];
422
- const data = await this._dataSource.init({
423
- searchString: this.searchString || undefined,
424
- filters: this._appliedFilters.length ? this._appliedFilters : undefined,
425
- sorting: this._sorting || undefined,
426
- fromIndex: fromIndex,
427
- toIndex: toIndex
428
- });
429
- this._loaderService.hide();
430
- if (data) {
431
- this._dataView = data.dataView;
432
- if (data.items?.length > 0 && !data.isPepRowData) {
433
- converedData = data.items.map(item => this._genericListService.convertToPepRowData(item, data.dataView, this.uuidMapping));
434
- }
435
- }
436
- return converedData;
437
- }
438
- async updateDataList(fromIndex, toIndex, pageIndex = undefined) {
439
- if (this._dataSource.update) {
440
- this._loaderService.show();
441
- let converedData = [];
442
- const dataList = await this._dataSource.update({
443
- searchString: this.searchString || undefined,
444
- filters: this._appliedFilters.length ? this._appliedFilters : undefined,
445
- sorting: this._sorting || undefined,
446
- fromIndex: fromIndex,
447
- toIndex: toIndex,
448
- pageIndex: pageIndex
449
- });
450
- this._loaderService.hide();
451
- if (dataList?.length > 0) {
452
- converedData = dataList.map(item => this._genericListService.convertToPepRowData(item, this._dataView, this.uuidMapping));
453
- }
454
- return converedData;
455
- }
456
- else {
457
- return [];
458
- }
459
- }
460
- /**
461
- * loads virtual scroll items from api
462
- */
463
- async onLoadItems(event) {
464
- const list = await this.updateDataList(event.fromIndex, event.toIndex);
465
- const convertedList = this._dataConvertorService.convertListData(list);
466
- const selectedItems = this._genericListService.getSelectedItems(convertedList);
467
- if (selectedItems?.length) {
468
- this.pepList.setSelectedIds(selectedItems);
469
- }
470
- this.pepList.updateItems(convertedList, event);
471
- }
472
- /**
473
- * loads paging bulk from api
474
- */
475
- async onLoadPage(event) {
476
- const fromIndex = event.pageIndex * event.pageSize;
477
- const toIndex = Math.min(fromIndex + event.pageSize - 1, this.totalRowCount - 1);
478
- const list = await this.updateDataList(fromIndex, toIndex, event.pageIndex);
479
- const convertedList = this._dataConvertorService.convertListData(list);
480
- const selectedItems = this._genericListService.getSelectedItems(convertedList);
481
- if (selectedItems?.length) {
482
- this.pepList.setSelectedIds(selectedItems);
483
- }
484
- this.pepList.updatePage(convertedList, event);
485
- }
486
- getItemById(id) {
487
- if (this.pepList) {
488
- return this._pepList.getItemDataByID(id);
489
- }
490
- else {
491
- return null;
492
- }
493
- }
494
- getSelectedItems() {
495
- if (this.pepList) {
496
- return this._pepList.getSelectedItemsData();
497
- }
498
- else {
499
- return null;
500
- }
501
- }
502
- getPageIndex() {
503
- return this.pepList.pageIndex;
504
- }
505
- onActionItemClicked(action) {
506
- const result = this.getMenuObjects();
507
- if (result.success) {
508
- this.menuHandlers[action.source.key](result.data);
509
- }
510
- }
511
- onSearchChanged(event) {
512
- this.searchString = event.value;
513
- this.initList();
514
- }
515
- onSelectedItemsChanged(selectedRowsCount) {
516
- //loading menu items after pep-list selected items are updated
517
- setTimeout(() => {
518
- this.loadMenuItems();
519
- }, 0);
520
- }
521
- onCustomizeFieldClick(fieldClickEvent) {
522
- this.fieldClick.emit(fieldClickEvent);
523
- }
524
- onBreadCrumbItemClick(event) {
525
- this.breadCrumbItemClick.emit(event);
526
- }
527
- onValueChanged(event) {
528
- this.valueChange.emit(event);
529
- }
530
- onSortingChange(event) {
531
- this._sorting = event;
532
- this.initList();
533
- }
534
- onFiltersChange(filters) {
535
- this._appliedFilters = filters;
536
- this.initList();
537
- }
538
- ngOnDestroy() {
539
- if (this._resize$) {
540
- this._resize$.unsubscribe();
541
- }
542
- if (this._loader$) {
543
- this._loader$.unsubscribe();
544
- }
545
- }
546
- }
547
- GenericListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericListComponent, deps: [{ token: i1$1.PepDataConvertorService }, { token: i1$1.PepLayoutService }, { token: i1$1.PepLoaderService }, { token: i1.TranslateService }, { token: PepGenericListService }], target: i0.ɵɵFactoryTarget.Component });
548
- GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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", emptyState: "emptyState", 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 *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </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 *ngIf=\"!onLoad\" 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 *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" 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%}.list-empty-state{height:100%;background:rgb(247,247,247);border-radius:var(--pep-border-radius-md, .25rem);position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;flex-direction:column}.list-empty-state .leaf-skiny{z-index:1;height:52rem;position:absolute;left:-10rem;top:-2rem;pointer-events:none;transform:scale(1.4)}.list-empty-state .leaf-round{z-index:1;height:45rem;position:absolute;right:-13rem;top:-7rem;pointer-events:none;transform:rotate(45deg) scale(1)}.list-empty-state .list-empty-title{font-family:var(--pep-font-family-title, Nexa),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-weight:var(--pep-font-weight-bold, 600);font-size:var(--pep-font-size-2xl, 1.5rem)!important;line-height:var(--pep-line-height-2xl, 2.25rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}.list-empty-state .list-empty-descr{font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.5rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}@media (max-width: 1279px){.list-empty-state .leaf-skiny{top:-5rem;left:-11rem;transform:scale(1.1)}.list-empty-state .leaf-round{right:-12rem;top:-7rem;transform:rotate(45deg) scale(.9)}}@media (max-width: 959px){.list-empty-state .leaf-round{display:none}.list-empty-state .list-empty-title,.list-empty-state .list-empty-descr{padding-inline:var(--pep-spacing-md, .75rem)}}.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)}.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", ".list-empty-state ::ng-deep .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.PepListActionsComponent, selector: "pep-list-actions", inputs: ["actions", "sizeType", "xPosition", "hidden"], outputs: ["actionClick", "stateChange", "menuClick"] }, { kind: "component", type: i5.PepListTotalComponent, selector: "pep-list-total", inputs: ["totalRows", "totalAmount", "isMapView", "sizeType"] }, { kind: "component", type: i6.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i7.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { kind: "component", type: i8.PepSideBarComponent, selector: "pep-side-bar", inputs: ["position", "ignoreResize", "showHeader", "showFooter", "showToggle", "useAsWebComponent"], outputs: ["stateChange"] }, { kind: "component", type: i9.PepSearchComponent, selector: "pep-search", inputs: ["triggerOn", "autoCompleteTop", "autoCompleteValues", "shrink", "value", "searchControl", "useAsWebComponent", "sizeType"], outputs: ["search", "autocompleteChange", "stateChange"] }, { kind: "component", type: i10.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["items", "displayType", "addSpacing"], outputs: ["itemClick"] }, { kind: "component", type: i1$2.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i12.PepSmartFiltersComponent, selector: "pep-smart-filters", inputs: ["title", "filters", "fields", "useAsWebComponent"], outputs: ["filtersChange", "fieldToggleChange"] }] });
549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericListComponent, decorators: [{
550
- type: Component,
551
- args: [{ selector: 'pep-generic-list', providers: [PepGenericListService], 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 *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </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 *ngIf=\"!onLoad\" 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 *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" 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%}.list-empty-state{height:100%;background:rgb(247,247,247);border-radius:var(--pep-border-radius-md, .25rem);position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;flex-direction:column}.list-empty-state .leaf-skiny{z-index:1;height:52rem;position:absolute;left:-10rem;top:-2rem;pointer-events:none;transform:scale(1.4)}.list-empty-state .leaf-round{z-index:1;height:45rem;position:absolute;right:-13rem;top:-7rem;pointer-events:none;transform:rotate(45deg) scale(1)}.list-empty-state .list-empty-title{font-family:var(--pep-font-family-title, Nexa),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-weight:var(--pep-font-weight-bold, 600);font-size:var(--pep-font-size-2xl, 1.5rem)!important;line-height:var(--pep-line-height-2xl, 2.25rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}.list-empty-state .list-empty-descr{font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.5rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}@media (max-width: 1279px){.list-empty-state .leaf-skiny{top:-5rem;left:-11rem;transform:scale(1.1)}.list-empty-state .leaf-round{right:-12rem;top:-7rem;transform:rotate(45deg) scale(.9)}}@media (max-width: 959px){.list-empty-state .leaf-round{display:none}.list-empty-state .list-empty-title,.list-empty-state .list-empty-descr{padding-inline:var(--pep-spacing-md, .75rem)}}.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)}.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", ".list-empty-state ::ng-deep .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}\n"] }]
552
- }], ctorParameters: function () { return [{ type: i1$1.PepDataConvertorService }, { type: i1$1.PepLayoutService }, { type: i1$1.PepLoaderService }, { type: i1.TranslateService }, { type: PepGenericListService }]; }, propDecorators: { search: [{
553
- type: ViewChild,
554
- args: ['search']
555
- }], pepListContainer: [{
556
- type: ViewChild,
557
- args: ['pepListContainer', { read: ViewContainerRef }]
558
- }], dataSource: [{
559
- type: Input
560
- }], actions: [{
561
- type: Input
562
- }], uuidMapping: [{
563
- type: Input
564
- }], disabled: [{
565
- type: Input
566
- }], addPadding: [{
567
- type: Input
568
- }], title: [{
569
- type: Input
570
- }], description: [{
571
- type: Input
572
- }], inline: [{
573
- type: Input
574
- }], showSearch: [{
575
- type: Input
576
- }], noDataFoundMsg: [{
577
- type: Input
578
- }], emptyState: [{
579
- type: Input
580
- }], selectionType: [{
581
- type: Input
582
- }], supportSorting: [{
583
- type: Input
584
- }], pager: [{
585
- type: Input
586
- }], tableViewType: [{
587
- type: Input
588
- }], zebraStripes: [{
589
- type: Input
590
- }], smartFilter: [{
591
- type: Input
592
- }], showTopBar: [{
593
- type: Input
594
- }], breadCrumbsItems: [{
595
- type: Input
596
- }], fieldClick: [{
597
- type: Output
598
- }], valueChange: [{
599
- type: Output
600
- }], breadCrumbItemClick: [{
601
- type: Output
164
+ class GenericListComponent {
165
+ constructor(_dataConvertorService, _layoutService, _loaderService, _translate, _genericListService) {
166
+ this._dataConvertorService = _dataConvertorService;
167
+ this._layoutService = _layoutService;
168
+ this._loaderService = _loaderService;
169
+ this._translate = _translate;
170
+ this._genericListService = _genericListService;
171
+ this._dataSource = {
172
+ init: async (params) => {
173
+ return {
174
+ dataView: {
175
+ Type: 'Grid'
176
+ },
177
+ totalCount: -1,
178
+ items: []
179
+ };
180
+ }
181
+ };
182
+ this.actions = {
183
+ get: async (data) => {
184
+ return [];
185
+ }
186
+ };
187
+ this.uuidMapping = 'key';
188
+ this.disabled = false;
189
+ this.addPadding = false;
190
+ this.title = '';
191
+ this.description = '';
192
+ this.inline = false;
193
+ this.showSearch = false;
194
+ this.noDataFoundMsg = '';
195
+ this.selectionType = 'multi';
196
+ this.supportSorting = false;
197
+ this.pager = {
198
+ type: 'scroll'
199
+ };
200
+ this.tableViewType = 'regular';
201
+ this.zebraStripes = false;
202
+ this.showTopBar = false;
203
+ this.breadCrumbsItems = new Array();
204
+ this.fieldClick = new EventEmitter();
205
+ this.valueChange = new EventEmitter();
206
+ this.breadCrumbItemClick = new EventEmitter();
207
+ this._resize$ = new Subscription();
208
+ this._loader$ = new Subscription();
209
+ this._dataView = {
210
+ Type: 'Grid'
211
+ };
212
+ this.onLoad = true;
213
+ this.totalRowCount = -1;
214
+ this.searchString = '';
215
+ this.showSmartFilter = false;
216
+ this.showEmptyState = false;
217
+ this.internalSmartFilter = {
218
+ fields: [],
219
+ data: []
220
+ };
221
+ this._appliedFilters = [];
222
+ this._sorting = undefined;
223
+ this.menuHandlers = {};
224
+ this.menuActions = [];
225
+ this._resize$ = this._layoutService.onResize$.pipe().subscribe((size) => {
226
+ //
227
+ });
228
+ this._loader$ = this._loaderService.onChanged$.subscribe((status) => {
229
+ //
230
+ });
231
+ }
232
+ set pepListContainer(val) {
233
+ this._pepListContainer = val;
234
+ }
235
+ set dataSource(val) {
236
+ this._dataSource = val;
237
+ this._sorting = undefined;
238
+ this.initSearch();
239
+ this.initList();
240
+ }
241
+ set smartFilter(val) {
242
+ this.internalSmartFilter = this._genericListService.convertToSmartFilter(val);
243
+ this.showSmartFilter = this.internalSmartFilter.fields.length > 0;
244
+ }
245
+ set pepList(val) {
246
+ this._pepList = val;
247
+ }
248
+ get pepList() {
249
+ return this._pepList;
250
+ }
251
+ ngOnInit() {
252
+ //
253
+ }
254
+ async initList() {
255
+ this.onLoad = true;
256
+ setTimeout(async () => {
257
+ if (this._dataSource) {
258
+ //merge selector inputs with callback inputs
259
+ this.loadTableInputs();
260
+ let fromIndex = 0;
261
+ let toIndex = 0;
262
+ if (this.listInputs.pager.type === 'pages') {
263
+ fromIndex = this.listInputs.pager.size * this.listInputs.pager.index;
264
+ toIndex = fromIndex + (this.listInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;
265
+ }
266
+ else {
267
+ toIndex = 100; //TO DO - get value from - this.customList.getTopItems()
268
+ }
269
+ const data = await this.loadData(fromIndex, toIndex);
270
+ this.totalRowCount = data?.length || 0;
271
+ if (this.listInputs?.emptyState?.show === true) {
272
+ this.setEmptyState();
273
+ }
274
+ this.onLoad = false;
275
+ //show empty state
276
+ if (this.showEmptyState) {
277
+ if (!this.listInputs.emptyState.title) {
278
+ this.listInputs.emptyState.title = this._translate.instant('GENERIC_LIST.EMPTY_STATE.TITLE');
279
+ }
280
+ if (!this.listInputs.emptyState.description) {
281
+ this.listInputs.emptyState.description = this._translate.instant('GENERIC_LIST.EMPTY_STATE.DESCRIPTION');
282
+ }
283
+ return;
284
+ }
285
+ setTimeout(async () => {
286
+ if (this._pepListContainer) {
287
+ if (this._pepListContainer.length > 0) {
288
+ this._pepListContainer.remove();
289
+ }
290
+ const { PepListComponent } = await import('@pepperi-addons/ngx-lib/list');
291
+ const componentRef = this._pepListContainer.createComponent(PepListComponent);
292
+ this.pepList = componentRef.instance;
293
+ componentRef.instance.viewType = this._genericListService.getListViewType(this._dataView.Type);
294
+ componentRef.instance.tableViewType = this.listInputs.tableViewType;
295
+ componentRef.instance.zebraStripes = this.listInputs.zebraStripes;
296
+ if (this.disabled) {
297
+ componentRef.instance.disabled = true;
298
+ componentRef.instance.lockItemInnerEvents = true;
299
+ }
300
+ componentRef.instance.supportSorting = this.listInputs.supportSorting;
301
+ componentRef.instance.selectionTypeForActions = this.listInputs.selectionType;
302
+ componentRef.instance.showCardSelection = this.listInputs.selectionType !== 'none';
303
+ componentRef.instance.pagerType = this.listInputs.pager.type;
304
+ if (this.listInputs.pager.type === 'pages') {
305
+ componentRef.instance.pageSize = this.listInputs.pager?.size || DEFAULT_PAGE_SIZE;
306
+ componentRef.instance.pageIndex = this.listInputs.pager?.index || 0;
307
+ }
308
+ componentRef.instance.noDataFoundMsg = this.listInputs.noDataFoundMsg;
309
+ componentRef.instance.fieldClick.subscribe(($event) => {
310
+ this.onCustomizeFieldClick($event);
311
+ });
312
+ componentRef.instance.selectedItemsChange.subscribe(($event) => {
313
+ this.onSelectedItemsChanged($event);
314
+ });
315
+ componentRef.instance.loadItems.subscribe(($event) => {
316
+ this.onLoadItems($event);
317
+ });
318
+ componentRef.instance.loadPage.subscribe(($event) => {
319
+ this.onLoadPage($event);
320
+ });
321
+ componentRef.instance.valueChange.subscribe(($event) => {
322
+ this.onValueChanged($event);
323
+ });
324
+ componentRef.instance.sortingChange.subscribe(($event) => {
325
+ this.onSortingChange($event);
326
+ });
327
+ let convertedList = [];
328
+ if (data) {
329
+ if (data?.length) {
330
+ convertedList = this._dataConvertorService.convertListData(data);
331
+ }
332
+ const uiControl = this.getUiControl(DataViewConverter.toUIControlData(this._dataView));
333
+ const selectedItems = this._genericListService.getSelectedItems(convertedList);
334
+ if (selectedItems?.length) {
335
+ componentRef.instance.setSelectedIds(selectedItems);
336
+ }
337
+ componentRef.instance.initListData(uiControl, convertedList.length, convertedList);
338
+ }
339
+ }
340
+ }, 0);
341
+ }
342
+ }, 0);
343
+ }
344
+ /**
345
+ * loads inputs in case they are provided and merge with selector inputs
346
+ * @returns merged pep-list inputs
347
+ */
348
+ loadTableInputs() {
349
+ this.listInputs = {
350
+ supportSorting: this.supportSorting,
351
+ selectionType: this.selectionType,
352
+ pager: this.pager,
353
+ noDataFoundMsg: this.noDataFoundMsg,
354
+ tableViewType: this.tableViewType,
355
+ zebraStripes: this.zebraStripes,
356
+ emptyState: this.emptyState
357
+ };
358
+ if (this._dataSource.inputs) {
359
+ Object.entries(this._dataSource.inputs).forEach((item) => {
360
+ if (this._genericListService.hasProperty(this.listInputs, item[0])) {
361
+ this.listInputs[item[0]] = item[1];
362
+ }
363
+ });
364
+ }
365
+ }
366
+ /**
367
+ * detemines whether empty state is to be displayed
368
+ */
369
+ setEmptyState() {
370
+ this.showEmptyState = this.totalRowCount === 0 &&
371
+ this.searchString === '' &&
372
+ this._appliedFilters.length === 0;
373
+ }
374
+ getUiControl(data) {
375
+ const uiControl = new UIControl();
376
+ uiControl.ControlFields = [];
377
+ if (data?.ControlFields) {
378
+ uiControl.ControlFields = data.ControlFields.map((field) => this._genericListService.convertToUiControlField(field));
379
+ }
380
+ return uiControl;
381
+ }
382
+ loadMenuItems() {
383
+ if (this.listInputs.selectionType !== 'none') {
384
+ this.getMenuActions().then(x => this.menuActions = x);
385
+ }
386
+ }
387
+ async getMenuActions() {
388
+ const res = [];
389
+ const result = this.getMenuObjects();
390
+ if (result.success) {
391
+ const actions = await this.actions.get(result.data);
392
+ this.menuHandlers = {};
393
+ actions?.forEach(item => {
394
+ const uuid = PepGuid.newGuid();
395
+ this.menuHandlers[uuid] = item.handler;
396
+ res.push({
397
+ key: uuid,
398
+ text: item.title
399
+ });
400
+ });
401
+ }
402
+ return res;
403
+ }
404
+ getMenuObjects() {
405
+ const menuObjects = {
406
+ success: false,
407
+ data: new PepSelectionData()
408
+ };
409
+ if (this.pepList) {
410
+ menuObjects.success = true;
411
+ menuObjects.data = this.pepList.getSelectedItemsData();
412
+ }
413
+ return menuObjects;
414
+ }
415
+ initSearch() {
416
+ this.searchString = '';
417
+ this.search?.initSearch();
418
+ }
419
+ async loadData(fromIndex, toIndex) {
420
+ this._loaderService.show();
421
+ let converedData = [];
422
+ const data = await this._dataSource.init({
423
+ searchString: this.searchString || undefined,
424
+ filters: this._appliedFilters.length ? this._appliedFilters : undefined,
425
+ sorting: this._sorting || undefined,
426
+ fromIndex: fromIndex,
427
+ toIndex: toIndex
428
+ });
429
+ this._loaderService.hide();
430
+ if (data) {
431
+ this._dataView = data.dataView;
432
+ if (data.items?.length > 0 && !data.isPepRowData) {
433
+ converedData = data.items.map(item => this._genericListService.convertToPepRowData(item, data.dataView, this.uuidMapping));
434
+ }
435
+ }
436
+ return converedData;
437
+ }
438
+ async updateDataList(fromIndex, toIndex, pageIndex = undefined) {
439
+ if (this._dataSource.update) {
440
+ this._loaderService.show();
441
+ let converedData = [];
442
+ const dataList = await this._dataSource.update({
443
+ searchString: this.searchString || undefined,
444
+ filters: this._appliedFilters.length ? this._appliedFilters : undefined,
445
+ sorting: this._sorting || undefined,
446
+ fromIndex: fromIndex,
447
+ toIndex: toIndex,
448
+ pageIndex: pageIndex
449
+ });
450
+ this._loaderService.hide();
451
+ if (dataList?.length > 0) {
452
+ converedData = dataList.map(item => this._genericListService.convertToPepRowData(item, this._dataView, this.uuidMapping));
453
+ }
454
+ return converedData;
455
+ }
456
+ else {
457
+ return [];
458
+ }
459
+ }
460
+ /**
461
+ * loads virtual scroll items from api
462
+ */
463
+ async onLoadItems(event) {
464
+ const list = await this.updateDataList(event.fromIndex, event.toIndex);
465
+ const convertedList = this._dataConvertorService.convertListData(list);
466
+ const selectedItems = this._genericListService.getSelectedItems(convertedList);
467
+ if (selectedItems?.length) {
468
+ this.pepList.setSelectedIds(selectedItems);
469
+ }
470
+ this.pepList.updateItems(convertedList, event);
471
+ }
472
+ /**
473
+ * loads paging bulk from api
474
+ */
475
+ async onLoadPage(event) {
476
+ const fromIndex = event.pageIndex * event.pageSize;
477
+ const toIndex = Math.min(fromIndex + event.pageSize - 1, this.totalRowCount - 1);
478
+ const list = await this.updateDataList(fromIndex, toIndex, event.pageIndex);
479
+ const convertedList = this._dataConvertorService.convertListData(list);
480
+ const selectedItems = this._genericListService.getSelectedItems(convertedList);
481
+ if (selectedItems?.length) {
482
+ this.pepList.setSelectedIds(selectedItems);
483
+ }
484
+ this.pepList.updatePage(convertedList, event);
485
+ }
486
+ getItemById(id) {
487
+ if (this.pepList) {
488
+ return this._pepList.getItemDataByID(id);
489
+ }
490
+ else {
491
+ return null;
492
+ }
493
+ }
494
+ getSelectedItems() {
495
+ if (this.pepList) {
496
+ return this._pepList.getSelectedItemsData();
497
+ }
498
+ else {
499
+ return null;
500
+ }
501
+ }
502
+ getPageIndex() {
503
+ return this.pepList.pageIndex;
504
+ }
505
+ onActionItemClicked(action) {
506
+ const result = this.getMenuObjects();
507
+ if (result.success) {
508
+ this.menuHandlers[action.source.key](result.data);
509
+ }
510
+ }
511
+ onSearchChanged(event) {
512
+ this.searchString = event.value;
513
+ this.initList();
514
+ }
515
+ onSelectedItemsChanged(selectedRowsCount) {
516
+ //loading menu items after pep-list selected items are updated
517
+ setTimeout(() => {
518
+ this.loadMenuItems();
519
+ }, 0);
520
+ }
521
+ onCustomizeFieldClick(fieldClickEvent) {
522
+ this.fieldClick.emit(fieldClickEvent);
523
+ }
524
+ onBreadCrumbItemClick(event) {
525
+ this.breadCrumbItemClick.emit(event);
526
+ }
527
+ onValueChanged(event) {
528
+ this.valueChange.emit(event);
529
+ }
530
+ onSortingChange(event) {
531
+ this._sorting = event;
532
+ this.initList();
533
+ }
534
+ onFiltersChange(filters) {
535
+ this._appliedFilters = filters;
536
+ this.initList();
537
+ }
538
+ ngOnDestroy() {
539
+ if (this._resize$) {
540
+ this._resize$.unsubscribe();
541
+ }
542
+ if (this._loader$) {
543
+ this._loader$.unsubscribe();
544
+ }
545
+ }
546
+ }
547
+ GenericListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericListComponent, deps: [{ token: i1$1.PepDataConvertorService }, { token: i1$1.PepLayoutService }, { token: i1$1.PepLoaderService }, { token: i1.TranslateService }, { token: PepGenericListService }], target: i0.ɵɵFactoryTarget.Component });
548
+ GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", 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", emptyState: "emptyState", 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 *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </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 *ngIf=\"!onLoad\" 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 *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" 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%}.list-empty-state{height:100%;background:rgb(247,247,247);border-radius:var(--pep-border-radius-md, .25rem);position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;flex-direction:column}.list-empty-state .leaf-skiny{z-index:1;height:52rem;position:absolute;left:-10rem;top:-2rem;pointer-events:none;transform:scale(1.4)}.list-empty-state .leaf-round{z-index:1;height:45rem;position:absolute;right:-13rem;top:-7rem;pointer-events:none;transform:rotate(45deg) scale(1)}.list-empty-state .list-empty-title{font-family:var(--pep-font-family-title, Nexa),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-weight:var(--pep-font-weight-bold, 600);font-size:var(--pep-font-size-2xl, 1.5rem)!important;line-height:var(--pep-line-height-2xl, 2.25rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}.list-empty-state .list-empty-descr{font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.5rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}@media (max-width: 1279px){.list-empty-state .leaf-skiny{top:-5rem;left:-11rem;transform:scale(1.1)}.list-empty-state .leaf-round{right:-12rem;top:-7rem;transform:rotate(45deg) scale(.9)}}@media (max-width: 959px){.list-empty-state .leaf-round{display:none}.list-empty-state .list-empty-title,.list-empty-state .list-empty-descr{padding-inline:var(--pep-spacing-md, .75rem)}}.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)}.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", ".list-empty-state ::ng-deep .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.PepListActionsComponent, selector: "pep-list-actions", inputs: ["actions", "sizeType", "xPosition", "hidden"], outputs: ["actionClick", "stateChange", "menuClick"] }, { kind: "component", type: i5.PepListTotalComponent, selector: "pep-list-total", inputs: ["totalRows", "totalAmount", "isMapView", "sizeType"] }, { kind: "component", type: i6.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i7.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { kind: "component", type: i8.PepSideBarComponent, selector: "pep-side-bar", inputs: ["position", "ignoreResize", "showHeader", "showFooter", "showToggle", "useAsWebComponent"], outputs: ["stateChange"] }, { kind: "component", type: i9.PepSearchComponent, selector: "pep-search", inputs: ["triggerOn", "autoCompleteTop", "autoCompleteValues", "shrink", "value", "searchControl", "useAsWebComponent", "sizeType"], outputs: ["search", "autocompleteChange", "stateChange"] }, { kind: "component", type: i10.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["items", "displayType", "addSpacing"], outputs: ["itemClick"] }, { kind: "component", type: i1$2.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i12.PepSmartFiltersComponent, selector: "pep-smart-filters", inputs: ["title", "filters", "fields", "useAsWebComponent"], outputs: ["filtersChange", "fieldToggleChange"] }] });
549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericListComponent, decorators: [{
550
+ type: Component,
551
+ args: [{ selector: 'pep-generic-list', providers: [PepGenericListService], 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 *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </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 *ngIf=\"!onLoad\" 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 *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" 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%}.list-empty-state{height:100%;background:rgb(247,247,247);border-radius:var(--pep-border-radius-md, .25rem);position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;flex-direction:column}.list-empty-state .leaf-skiny{z-index:1;height:52rem;position:absolute;left:-10rem;top:-2rem;pointer-events:none;transform:scale(1.4)}.list-empty-state .leaf-round{z-index:1;height:45rem;position:absolute;right:-13rem;top:-7rem;pointer-events:none;transform:rotate(45deg) scale(1)}.list-empty-state .list-empty-title{font-family:var(--pep-font-family-title, Nexa),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-weight:var(--pep-font-weight-bold, 600);font-size:var(--pep-font-size-2xl, 1.5rem)!important;line-height:var(--pep-line-height-2xl, 2.25rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}.list-empty-state .list-empty-descr{font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.5rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}@media (max-width: 1279px){.list-empty-state .leaf-skiny{top:-5rem;left:-11rem;transform:scale(1.1)}.list-empty-state .leaf-round{right:-12rem;top:-7rem;transform:rotate(45deg) scale(.9)}}@media (max-width: 959px){.list-empty-state .leaf-round{display:none}.list-empty-state .list-empty-title,.list-empty-state .list-empty-descr{padding-inline:var(--pep-spacing-md, .75rem)}}.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)}.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", ".list-empty-state ::ng-deep .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}\n"] }]
552
+ }], ctorParameters: function () { return [{ type: i1$1.PepDataConvertorService }, { type: i1$1.PepLayoutService }, { type: i1$1.PepLoaderService }, { type: i1.TranslateService }, { type: PepGenericListService }]; }, propDecorators: { search: [{
553
+ type: ViewChild,
554
+ args: ['search']
555
+ }], pepListContainer: [{
556
+ type: ViewChild,
557
+ args: ['pepListContainer', { read: ViewContainerRef }]
558
+ }], dataSource: [{
559
+ type: Input
560
+ }], actions: [{
561
+ type: Input
562
+ }], uuidMapping: [{
563
+ type: Input
564
+ }], disabled: [{
565
+ type: Input
566
+ }], addPadding: [{
567
+ type: Input
568
+ }], title: [{
569
+ type: Input
570
+ }], description: [{
571
+ type: Input
572
+ }], inline: [{
573
+ type: Input
574
+ }], showSearch: [{
575
+ type: Input
576
+ }], noDataFoundMsg: [{
577
+ type: Input
578
+ }], emptyState: [{
579
+ type: Input
580
+ }], selectionType: [{
581
+ type: Input
582
+ }], supportSorting: [{
583
+ type: Input
584
+ }], pager: [{
585
+ type: Input
586
+ }], tableViewType: [{
587
+ type: Input
588
+ }], zebraStripes: [{
589
+ type: Input
590
+ }], smartFilter: [{
591
+ type: Input
592
+ }], showTopBar: [{
593
+ type: Input
594
+ }], breadCrumbsItems: [{
595
+ type: Input
596
+ }], fieldClick: [{
597
+ type: Output
598
+ }], valueChange: [{
599
+ type: Output
600
+ }], breadCrumbItemClick: [{
601
+ type: Output
602
602
  }] } });
603
603
 
604
- const pepIcons = [
605
- pepIconLeafRound,
606
- pepIconLeafSkiny, pepIconSystemView
607
- ];
608
- function appInitializerFactory(translate) {
609
- return () => {
610
- translate.setDefaultLang('en');
611
- return firstValueFrom(translate.use('en'));
612
- };
613
- }
614
- class PepGenericListModule {
615
- constructor(pepIconRegistry) {
616
- this.pepIconRegistry = pepIconRegistry;
617
- this.pepIconRegistry.registerIcons(pepIcons);
618
- }
619
- }
620
- PepGenericListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListModule, deps: [{ token: i1$2.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
621
- PepGenericListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListModule, declarations: [GenericListComponent], imports: [CommonModule,
622
- PepNgxLibModule,
623
- MatIconModule,
624
- PepListModule,
625
- PepFormModule,
626
- PepMenuModule,
627
- PepPageLayoutModule,
628
- PepTopBarModule,
629
- PepSideBarModule,
630
- PepSearchModule,
631
- PepBreadCrumbsModule,
632
- PepIconModule,
633
- PepSmartFiltersModule], exports: [GenericListComponent] });
634
- PepGenericListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListModule, providers: [
635
- PepGenericListService,
636
- {
637
- provide: APP_INITIALIZER,
638
- useFactory: appInitializerFactory,
639
- deps: [TranslateService],
640
- multi: true
641
- }
642
- ], imports: [CommonModule,
643
- PepNgxLibModule,
644
- MatIconModule,
645
- PepListModule,
646
- PepFormModule,
647
- PepMenuModule,
648
- PepPageLayoutModule,
649
- PepTopBarModule,
650
- PepSideBarModule,
651
- PepSearchModule,
652
- PepBreadCrumbsModule,
653
- PepIconModule,
654
- PepSmartFiltersModule] });
655
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListModule, decorators: [{
656
- type: NgModule,
657
- args: [{
658
- declarations: [
659
- GenericListComponent
660
- ],
661
- imports: [
662
- CommonModule,
663
- PepNgxLibModule,
664
- MatIconModule,
665
- PepListModule,
666
- PepFormModule,
667
- PepMenuModule,
668
- PepPageLayoutModule,
669
- PepTopBarModule,
670
- PepSideBarModule,
671
- PepSearchModule,
672
- PepBreadCrumbsModule,
673
- PepIconModule,
674
- PepSmartFiltersModule
675
- ],
676
- exports: [
677
- GenericListComponent
678
- ],
679
- providers: [
680
- PepGenericListService,
681
- {
682
- provide: APP_INITIALIZER,
683
- useFactory: appInitializerFactory,
684
- deps: [TranslateService],
685
- multi: true
686
- }
687
- ]
688
- }]
604
+ const pepIcons = [
605
+ pepIconLeafRound,
606
+ pepIconLeafSkiny, pepIconSystemView
607
+ ];
608
+ function appInitializerFactory(translate) {
609
+ return () => {
610
+ translate.setDefaultLang('en');
611
+ return firstValueFrom(translate.use('en'));
612
+ };
613
+ }
614
+ class PepGenericListModule {
615
+ constructor(pepIconRegistry) {
616
+ this.pepIconRegistry = pepIconRegistry;
617
+ this.pepIconRegistry.registerIcons(pepIcons);
618
+ }
619
+ }
620
+ PepGenericListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListModule, deps: [{ token: i1$2.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
621
+ PepGenericListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListModule, declarations: [GenericListComponent], imports: [CommonModule,
622
+ PepNgxLibModule,
623
+ MatIconModule,
624
+ PepListModule,
625
+ PepFormModule,
626
+ PepMenuModule,
627
+ PepPageLayoutModule,
628
+ PepTopBarModule,
629
+ PepSideBarModule,
630
+ PepSearchModule,
631
+ PepBreadCrumbsModule,
632
+ PepIconModule,
633
+ PepSmartFiltersModule], exports: [GenericListComponent] });
634
+ PepGenericListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListModule, providers: [
635
+ PepGenericListService,
636
+ {
637
+ provide: APP_INITIALIZER,
638
+ useFactory: appInitializerFactory,
639
+ deps: [TranslateService],
640
+ multi: true
641
+ }
642
+ ], imports: [CommonModule,
643
+ PepNgxLibModule,
644
+ MatIconModule,
645
+ PepListModule,
646
+ PepFormModule,
647
+ PepMenuModule,
648
+ PepPageLayoutModule,
649
+ PepTopBarModule,
650
+ PepSideBarModule,
651
+ PepSearchModule,
652
+ PepBreadCrumbsModule,
653
+ PepIconModule,
654
+ PepSmartFiltersModule] });
655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGenericListModule, decorators: [{
656
+ type: NgModule,
657
+ args: [{
658
+ declarations: [
659
+ GenericListComponent
660
+ ],
661
+ imports: [
662
+ CommonModule,
663
+ PepNgxLibModule,
664
+ MatIconModule,
665
+ PepListModule,
666
+ PepFormModule,
667
+ PepMenuModule,
668
+ PepPageLayoutModule,
669
+ PepTopBarModule,
670
+ PepSideBarModule,
671
+ PepSearchModule,
672
+ PepBreadCrumbsModule,
673
+ PepIconModule,
674
+ PepSmartFiltersModule
675
+ ],
676
+ exports: [
677
+ GenericListComponent
678
+ ],
679
+ providers: [
680
+ PepGenericListService,
681
+ {
682
+ provide: APP_INITIALIZER,
683
+ useFactory: appInitializerFactory,
684
+ deps: [TranslateService],
685
+ multi: true
686
+ }
687
+ ]
688
+ }]
689
689
  }], ctorParameters: function () { return [{ type: i1$2.PepIconRegistry }]; } });
690
690
 
691
- /*
692
- * Public API Surface of ngx-composite-lib/generic-list
691
+ /*
692
+ * Public API Surface of ngx-composite-lib/generic-list
693
693
  */
694
694
 
695
- /**
696
- * Generated bundle index. Do not edit.
695
+ /**
696
+ * Generated bundle index. Do not edit.
697
697
  */
698
698
 
699
699
  export { GenericListComponent, PepGenericListModule, PepGenericListService, appInitializerFactory };