@pepperi-addons/ngx-composite-lib 0.0.10-beta.2 → 0.0.10-beta.21

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 (133) hide show
  1. package/README.md +24 -24
  2. package/bundles/pepperi-addons-ngx-composite-lib-color-settings.umd.js +123 -122
  3. package/bundles/pepperi-addons-ngx-composite-lib-color-settings.umd.js.map +1 -1
  4. package/bundles/pepperi-addons-ngx-composite-lib-draggable-item.umd.js +72 -70
  5. package/bundles/pepperi-addons-ngx-composite-lib-draggable-item.umd.js.map +1 -1
  6. package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js +119 -0
  7. package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js.map +1 -0
  8. package/bundles/pepperi-addons-ngx-composite-lib-generic-list.umd.js +644 -540
  9. package/bundles/pepperi-addons-ngx-composite-lib-generic-list.umd.js.map +1 -1
  10. package/bundles/pepperi-addons-ngx-composite-lib-group-buttons-settings.umd.js +173 -173
  11. package/bundles/pepperi-addons-ngx-composite-lib-group-buttons-settings.umd.js.map +1 -1
  12. package/bundles/pepperi-addons-ngx-composite-lib-shadow-settings.umd.js +117 -117
  13. package/bundles/pepperi-addons-ngx-composite-lib-shadow-settings.umd.js.map +1 -1
  14. package/bundles/pepperi-addons-ngx-composite-lib.umd.js +72 -29
  15. package/bundles/pepperi-addons-ngx-composite-lib.umd.js.map +1 -1
  16. package/color-settings/color-settings.component.d.ts +22 -22
  17. package/color-settings/color-settings.model.d.ts +5 -5
  18. package/color-settings/color-settings.module.d.ts +12 -12
  19. package/color-settings/package.json +1 -1
  20. package/color-settings/pepperi-addons-ngx-composite-lib-color-settings.d.ts +5 -5
  21. package/color-settings/public-api.d.ts +3 -3
  22. package/core/common/index.d.ts +1 -0
  23. package/core/common/public-api.d.ts +1 -0
  24. package/core/common/services/index.d.ts +1 -0
  25. package/core/common/services/public-api.d.ts +1 -0
  26. package/core/common/services/utilities.service.d.ts +6 -0
  27. package/core/index.d.ts +1 -0
  28. package/core/public-api.d.ts +1 -0
  29. package/draggable-item/draggable-item.component.d.ts +11 -11
  30. package/draggable-item/draggable-item.module.d.ts +11 -11
  31. package/draggable-item/package.json +1 -1
  32. package/draggable-item/pepperi-addons-ngx-composite-lib-draggable-item.d.ts +5 -5
  33. package/draggable-item/public-api.d.ts +2 -2
  34. package/esm2015/color-settings/color-settings.component.js +82 -81
  35. package/esm2015/color-settings/color-settings.model.js +9 -9
  36. package/esm2015/color-settings/color-settings.module.js +40 -40
  37. package/esm2015/color-settings/pepperi-addons-ngx-composite-lib-color-settings.js +4 -4
  38. package/esm2015/color-settings/public-api.js +7 -7
  39. package/esm2015/core/common/index.js +5 -0
  40. package/esm2015/core/common/public-api.js +5 -0
  41. package/esm2015/core/common/services/index.js +5 -0
  42. package/esm2015/core/common/services/public-api.js +5 -0
  43. package/esm2015/core/common/services/utilities.service.js +19 -0
  44. package/esm2015/core/index.js +5 -0
  45. package/esm2015/core/public-api.js +5 -0
  46. package/esm2015/draggable-item/draggable-item.component.js +42 -40
  47. package/esm2015/draggable-item/draggable-item.module.js +36 -36
  48. package/esm2015/draggable-item/pepperi-addons-ngx-composite-lib-draggable-item.js +4 -4
  49. package/esm2015/draggable-item/public-api.js +6 -6
  50. package/esm2015/file-status-panel/file-status-panel.component.js +34 -0
  51. package/esm2015/file-status-panel/file-status-panel.model.js +8 -0
  52. package/esm2015/file-status-panel/file-status-panel.module.js +40 -0
  53. package/esm2015/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.js +5 -0
  54. package/esm2015/file-status-panel/public-api.js +7 -0
  55. package/esm2015/generic-list/generic-list.component.js +240 -164
  56. package/esm2015/generic-list/generic-list.model.js +2 -2
  57. package/esm2015/generic-list/generic-list.module.js +56 -52
  58. package/esm2015/generic-list/pepperi-addons-ngx-composite-lib-generic-list.js +4 -4
  59. package/esm2015/generic-list/public-api.js +7 -7
  60. package/esm2015/group-buttons-settings/group-buttons-settings.component.js +132 -132
  61. package/esm2015/group-buttons-settings/group-buttons-settings.model.js +1 -1
  62. package/esm2015/group-buttons-settings/group-buttons-settings.module.js +47 -47
  63. package/esm2015/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.js +4 -4
  64. package/esm2015/group-buttons-settings/public-api.js +7 -7
  65. package/esm2015/ngx-composite-lib.module.js +26 -26
  66. package/esm2015/pepperi-addons-ngx-composite-lib.js +4 -4
  67. package/esm2015/public-api.js +6 -5
  68. package/esm2015/shadow-settings/pepperi-addons-ngx-composite-lib-shadow-settings.js +4 -4
  69. package/esm2015/shadow-settings/public-api.js +7 -7
  70. package/esm2015/shadow-settings/shadow-settings.component.js +73 -73
  71. package/esm2015/shadow-settings/shadow-settings.model.js +8 -8
  72. package/esm2015/shadow-settings/shadow-settings.module.js +44 -44
  73. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.js +113 -112
  74. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.js.map +1 -1
  75. package/fesm2015/pepperi-addons-ngx-composite-lib-draggable-item.js +68 -66
  76. package/fesm2015/pepperi-addons-ngx-composite-lib-draggable-item.js.map +1 -1
  77. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js +90 -0
  78. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js.map +1 -0
  79. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.js +274 -194
  80. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.js.map +1 -1
  81. package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.js +164 -164
  82. package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.js.map +1 -1
  83. package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.js +107 -107
  84. package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.js.map +1 -1
  85. package/fesm2015/pepperi-addons-ngx-composite-lib.js +70 -29
  86. package/fesm2015/pepperi-addons-ngx-composite-lib.js.map +1 -1
  87. package/file-status-panel/file-status-panel.component.d.ts +14 -0
  88. package/file-status-panel/file-status-panel.model.d.ts +6 -0
  89. package/file-status-panel/file-status-panel.module.d.ts +12 -0
  90. package/file-status-panel/package.json +13 -0
  91. package/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.d.ts +5 -0
  92. package/file-status-panel/public-api.d.ts +3 -0
  93. package/generic-list/generic-list.component.d.ts +60 -45
  94. package/generic-list/generic-list.model.d.ts +22 -11
  95. package/generic-list/generic-list.module.d.ts +16 -15
  96. package/generic-list/package.json +1 -1
  97. package/generic-list/pepperi-addons-ngx-composite-lib-generic-list.d.ts +5 -5
  98. package/generic-list/public-api.d.ts +3 -3
  99. package/group-buttons-settings/group-buttons-settings.component.d.ts +32 -32
  100. package/group-buttons-settings/group-buttons-settings.model.d.ts +1 -1
  101. package/group-buttons-settings/group-buttons-settings.module.d.ts +14 -14
  102. package/group-buttons-settings/package.json +1 -1
  103. package/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.d.ts +5 -5
  104. package/group-buttons-settings/public-api.d.ts +3 -3
  105. package/ngx-composite-lib.module.d.ts +6 -6
  106. package/package.json +2 -2
  107. package/pepperi-addons-ngx-composite-lib.d.ts +5 -5
  108. package/public-api.d.ts +2 -1
  109. package/shadow-settings/package.json +1 -1
  110. package/shadow-settings/pepperi-addons-ngx-composite-lib-shadow-settings.d.ts +5 -5
  111. package/shadow-settings/public-api.d.ts +3 -3
  112. package/shadow-settings/shadow-settings.component.d.ts +23 -23
  113. package/shadow-settings/shadow-settings.model.d.ts +7 -7
  114. package/shadow-settings/shadow-settings.module.d.ts +13 -13
  115. package/src/assets/i18n/de.ngx-composite-lib.json +1 -1
  116. package/src/assets/i18n/en.ngx-composite-lib.json +42 -42
  117. package/src/assets/i18n/es.ngx-composite-lib.json +1 -1
  118. package/src/assets/i18n/fr.ngx-composite-lib.json +1 -1
  119. package/src/assets/i18n/he.ngx-composite-lib.json +1 -1
  120. package/src/assets/i18n/hu.ngx-composite-lib.json +1 -1
  121. package/src/assets/i18n/it.ngx-composite-lib.json +1 -1
  122. package/src/assets/i18n/ja.ngx-composite-lib.json +1 -1
  123. package/src/assets/i18n/nl.ngx-composite-lib.json +1 -1
  124. package/src/assets/i18n/pl.ngx-composite-lib.json +1 -1
  125. package/src/assets/i18n/pt.ngx-composite-lib.json +1 -1
  126. package/src/assets/i18n/ru.ngx-composite-lib.json +1 -1
  127. package/src/assets/i18n/zh.ngx-lib.json +1 -1
  128. package/src/core/style/abstracts/functions.scss +0 -0
  129. package/src/core/style/abstracts/mixins.scss +0 -0
  130. package/src/core/style/abstracts/variables.scss +1 -0
  131. package/src/core/style/base/helpers.scss +0 -0
  132. package/{styles.scss → src/core/style/components/general.scss} +6 -4
  133. package/styling.scss +14 -0
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Component, ViewChild, Input, Output, NgModule } from '@angular/core';
3
- import * as i7 from '@angular/common';
3
+ import * as i8 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { __awaiter } from 'tslib';
6
6
  import * as i1 from '@pepperi-addons/ngx-lib';
7
7
  import { PepRowData, PepGuid, PepNgxLibModule } from '@pepperi-addons/ngx-lib';
8
8
  import * as i5 from '@pepperi-addons/ngx-lib/list';
9
- import { PepListComponent, PepListModule } from '@pepperi-addons/ngx-lib/list';
9
+ import { DEFAULT_PAGE_SIZE, PepSelectionData, PepListComponent, PepListModule } from '@pepperi-addons/ngx-lib/list';
10
10
  import { DataViewFieldTypes } from '@pepperi-addons/papi-sdk/dist/entities/data-view';
11
11
  import * as i2 from '@ngx-translate/core';
12
12
  import * as i3 from '@pepperi-addons/ngx-lib/page-layout';
@@ -15,207 +15,287 @@ import * as i4 from '@pepperi-addons/ngx-lib/top-bar';
15
15
  import { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';
16
16
  import * as i6 from '@pepperi-addons/ngx-lib/search';
17
17
  import { PepSearchModule } from '@pepperi-addons/ngx-lib/search';
18
+ import * as i7 from '@pepperi-addons/ngx-lib/bread-crumbs';
19
+ import { PepBreadCrumbsModule } from '@pepperi-addons/ngx-lib/bread-crumbs';
18
20
  import { PepFormModule } from '@pepperi-addons/ngx-lib/form';
19
21
  import { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';
20
22
 
21
- class GenericListComponent {
22
- // PepScreenSizeType = PepScreenSizeType;
23
- // screenSize: PepScreenSizeType;
24
- constructor(dataConvertorService, layoutService, translate) {
25
- this.dataConvertorService = dataConvertorService;
26
- this.layoutService = layoutService;
27
- this.translate = translate;
28
- this.dataObjects = [];
29
- this.searchString = '';
30
- this.addPadding = false;
31
- this.title = '';
32
- this.inline = false;
33
- this.showSearch = false;
34
- this.allowSelection = true;
35
- this.noDataMessage = "No data";
36
- this.allowMultipleSelection = false;
37
- this.fieldClick = new EventEmitter();
38
- // @Output()
39
- // onAddClicked = new EventEmitter<void>();
40
- this.menuHandlers = {};
41
- this.menuActions = [];
42
- this.layoutService.onResize$.pipe().subscribe((size) => {
43
- // this.screenSize = size;
44
- });
45
- }
46
- loadMenuItems() {
47
- if (this.allowSelection) {
48
- this.getMenuActions().then(x => this.menuActions = x);
49
- }
50
- }
51
- convertToPepRowData(object, dataView) {
52
- const row = new PepRowData();
53
- row.Fields = [];
54
- if ((dataView === null || dataView === void 0 ? void 0 : dataView.Fields) && dataView.Columns) {
55
- for (let index = 0; index < dataView.Fields.length; index++) {
56
- let field = dataView.Fields[index];
57
- row.Fields.push({
58
- ApiName: field.FieldID,
59
- Title: this.translate.instant(field.Title),
60
- XAlignment: 1,
61
- FormattedValue: (object[field.FieldID] || '').toString(),
62
- Value: (object[field.FieldID] || '').toString(),
63
- ColumnWidth: dataView.Columns[index].Width,
64
- AdditionalValue: '',
65
- OptionalValues: [],
66
- FieldType: DataViewFieldTypes[field.Type],
67
- ReadOnly: field.ReadOnly,
68
- Enabled: !field.ReadOnly
69
- });
70
- }
71
- }
72
- return row;
73
- }
74
- getMenuActions() {
75
- var _a;
76
- return __awaiter(this, void 0, void 0, function* () {
77
- const actions = yield ((_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.getActions(this.getMenuObjects()));
78
- const res = [];
79
- this.menuHandlers = {};
80
- actions === null || actions === void 0 ? void 0 : actions.forEach(item => {
81
- const uuid = PepGuid.newGuid();
82
- this.menuHandlers[uuid] = item.handler;
83
- res.push({
84
- key: uuid,
85
- text: item.title
86
- });
87
- });
88
- return res;
89
- });
90
- }
91
- getMenuObjects() {
92
- var _a, _b, _c;
93
- let uuids = (_b = (_a = this.customList) === null || _a === void 0 ? void 0 : _a.getSelectedItemsData().rows) !== null && _b !== void 0 ? _b : [];
94
- if ((_c = this.customList) === null || _c === void 0 ? void 0 : _c.getIsAllSelectedForActions()) {
95
- uuids = this.dataObjects.map(obj => obj.UID).filter(x => uuids.indexOf(x) != -1);
96
- }
97
- const objects = uuids.map(uuid => this.getObject(uuid));
98
- return objects;
99
- }
100
- getObject(uuid) {
101
- return this.dataObjects.find(obj => obj.UID === uuid);
102
- }
103
- ngOnInit() {
104
- }
105
- ngAfterViewInit() {
106
- this.reload();
107
- }
108
- onMenuItemClicked(action) {
109
- this.menuHandlers[action.source.key](this.getMenuObjects());
110
- }
111
- onSearchChanged(event) {
112
- this.searchString = event.value;
113
- this.reload();
114
- }
115
- reload() {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- if (this.customList && this.dataSource) {
118
- this.dataObjects = yield this.dataSource.getList({
119
- searchString: this.searchString
120
- });
121
- const dataView = yield this.dataSource.getDataView();
122
- const tableData = this.dataObjects.map(x => this.convertToPepRowData(x, dataView));
123
- const data = this.dataConvertorService.convertListData(tableData);
124
- data.forEach((obj, i) => {
125
- this.dataObjects[i].UID = obj.UID;
126
- });
127
- const uiControl = this.dataConvertorService.getUiControl(tableData[0]);
128
- this.customList.initListData(uiControl, data.length, data);
129
- this.loadMenuItems();
130
- }
131
- });
132
- }
133
- selectedRowsChanged(selectedRowsCount) {
134
- this.loadMenuItems();
135
- }
136
- onCustomizeFieldClick(fieldClickEvent) {
137
- this.fieldClick.emit(fieldClickEvent);
138
- }
139
- }
140
- GenericListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericListComponent, deps: [{ token: i1.PepDataConvertorService }, { token: i1.PepLayoutService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
141
- GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericListComponent, selector: "pep-generic-list", inputs: { dataSource: "dataSource", addPadding: "addPadding", title: "title", inline: "inline", showSearch: "showSearch", allowSelection: "allowSelection", noDataMessage: "noDataMessage", allowMultipleSelection: "allowMultipleSelection" }, outputs: { fieldClick: "fieldClick" }, viewQueries: [{ propertyName: "customList", first: true, predicate: PepListComponent, descendants: true }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n\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 <pep-list-actions [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\" (actionClick)=\"onMenuItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"customList ? customList.totalRows : -1\"></pep-list-total>\n\n <pep-search *ngIf=\"showSearch\" [sizeType]=\"inline ? 'sm' : 'md'\" (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #listTemplate>\n <div #listContainer class=\"list-container\">\n <pep-list viewType=\"table\" [supportSorting]=\"false\"\n [selectionTypeForActions]=\"allowMultipleSelection ? 'multi' : (allowSelection ? 'single' : 'none')\" [noDataFoundMsg]=\"noDataMessage\"\n (fieldClick)=\"onCustomizeFieldClick($event)\"\n (selectedItemsChange)=\"selectedRowsChanged($event)\">\n </pep-list>\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}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.inline-container ::ng-deep .pep-top-bar-container.inline{height:auto;overflow:hidden}\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", "shrinkInSmallScreen", "sizeType", "autoCompleteValues", "value", "searchControl", "useAsWebComponent"], outputs: ["search", "autocompleteChange", "stateChange"] }, { type: i5.PepListComponent, selector: "pep-list", inputs: ["noDataFoundMsg", "selectionTypeForActions", "showCardSelection", "hideAllSelectionInMulti", "cardSize", "firstFieldAsLink", "supportSorting", "supportResizing", "disabled", "lockItemInnerEvents", "printMode", "isReport", "totalsRow", "pagerType", "pageSize", "pageIndex", "scrollAnimationTime", "scrollDebounceTime", "scrollThrottlingTime", "viewType", "parentScroll", "lockEvents", "useAsWebComponent"], outputs: ["itemClick", "fieldClick", "valueChange", "sortingChange", "selectedItemsChange", "selectedItemChange", "selectAllClick", "listLoad", "loadItems", "loadPage", "startIndexChange"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericListComponent, decorators: [{
143
- type: Component,
144
- args: [{
145
- selector: 'pep-generic-list',
146
- templateUrl: './generic-list.component.html',
147
- styleUrls: ['./generic-list.component.scss'],
148
- }]
149
- }], ctorParameters: function () { return [{ type: i1.PepDataConvertorService }, { type: i1.PepLayoutService }, { type: i2.TranslateService }]; }, propDecorators: { customList: [{
150
- type: ViewChild,
151
- args: [PepListComponent]
152
- }], dataSource: [{
153
- type: Input
154
- }], addPadding: [{
155
- type: Input
156
- }], title: [{
157
- type: Input
158
- }], inline: [{
159
- type: Input
160
- }], showSearch: [{
161
- type: Input
162
- }], allowSelection: [{
163
- type: Input
164
- }], noDataMessage: [{
165
- type: Input
166
- }], allowMultipleSelection: [{
167
- type: Input
168
- }], fieldClick: [{
169
- type: Output
23
+ class GenericListComponent {
24
+ constructor(dataConvertorService, layoutService, translate) {
25
+ this.dataConvertorService = dataConvertorService;
26
+ this.layoutService = layoutService;
27
+ this.translate = translate;
28
+ this.data = {
29
+ getList: (options) => __awaiter(this, void 0, void 0, function* () {
30
+ return [];
31
+ }),
32
+ dataView: {
33
+ Type: 'Grid'
34
+ },
35
+ totalCount: 0
36
+ };
37
+ this.actions = {
38
+ get: (data) => __awaiter(this, void 0, void 0, function* () {
39
+ return [];
40
+ })
41
+ };
42
+ this.addPadding = false;
43
+ this.title = '';
44
+ this.inline = false;
45
+ this.showSearch = false;
46
+ this.allowSelection = true;
47
+ this.noDataFoundMsg = this.translate.instant('GENERIC_LIST.NO_DATA');
48
+ this.allowMultipleSelection = false;
49
+ this.firstFieldAsLink = false;
50
+ this.supportSorting = false;
51
+ this.showTopBar = true;
52
+ this.breadCrumbsItems = new Array();
53
+ this.pager = {
54
+ type: 'scroll',
55
+ size: DEFAULT_PAGE_SIZE,
56
+ index: 0
57
+ };
58
+ this.fieldClick = new EventEmitter();
59
+ this.valueChange = new EventEmitter();
60
+ this.breadCrumbItemClick = new EventEmitter();
61
+ // dataObjects: any[] = [];
62
+ this.searchString = '';
63
+ this.menuHandlers = {};
64
+ this.menuActions = [];
65
+ this.hasRows = true;
66
+ this.layoutService.onResize$.pipe().subscribe((size) => {
67
+ //
68
+ });
69
+ }
70
+ loadMenuItems() {
71
+ if (this.allowSelection) {
72
+ this.getMenuActions().then(x => this.menuActions = x);
73
+ }
74
+ }
75
+ convertToPepRowData(object, dataView) {
76
+ const row = new PepRowData();
77
+ row.Fields = [];
78
+ if ((dataView === null || dataView === void 0 ? void 0 : dataView.Fields) && dataView.Columns) {
79
+ for (let index = 0; index < dataView.Fields.length; index++) {
80
+ const field = dataView.Fields[index];
81
+ row.Fields.push({
82
+ ApiName: field.FieldID,
83
+ Title: this.translate.instant(field.Title),
84
+ XAlignment: 1,
85
+ FormattedValue: (object[field.FieldID] || '').toString(),
86
+ Value: (object[field.FieldID] || '').toString(),
87
+ ColumnWidth: dataView.Columns[index].Width,
88
+ AdditionalValue: '',
89
+ OptionalValues: [],
90
+ FieldType: DataViewFieldTypes[field.Type],
91
+ ReadOnly: field.ReadOnly,
92
+ Enabled: !field.ReadOnly
93
+ });
94
+ }
95
+ }
96
+ return row;
97
+ }
98
+ getMenuActions() {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const actions = yield this.actions.get(this.getMenuObjects());
101
+ const res = [];
102
+ this.menuHandlers = {};
103
+ actions === null || actions === void 0 ? void 0 : actions.forEach(item => {
104
+ const uuid = PepGuid.newGuid();
105
+ this.menuHandlers[uuid] = item.handler;
106
+ res.push({
107
+ key: uuid,
108
+ text: item.title
109
+ });
110
+ });
111
+ return res;
112
+ });
113
+ }
114
+ getMenuObjects() {
115
+ var _a;
116
+ const selectedData = ((_a = this.customList) === null || _a === void 0 ? void 0 : _a.getSelectedItemsData()) || new PepSelectionData();
117
+ // if (selectedData.rows?.length > 0 && this.customList?.getIsAllSelectedForActions()) {
118
+ // selectedData.rows = this.dataObjects.map(obj => obj.UID).filter(x => selectedData.rows.indexOf(x) !== -1);
119
+ // }
120
+ // if (selectedData.rows?.length > 0) {
121
+ // selectedData.rows = selectedData.rows.map(uuid => this.getObject(uuid));
122
+ // }
123
+ return selectedData;
124
+ }
125
+ getObject(uuid) {
126
+ var _a;
127
+ return (_a = this.customList) === null || _a === void 0 ? void 0 : _a.getItemDataByID(uuid); // this.dataObjects.find(obj => obj.UID === uuid);
128
+ }
129
+ ngOnInit() {
130
+ //
131
+ }
132
+ ngAfterViewInit() {
133
+ this.reload();
134
+ }
135
+ onMenuItemClicked(action) {
136
+ this.menuHandlers[action.source.key](this.getMenuObjects());
137
+ }
138
+ onSearchChanged(event) {
139
+ this.searchString = event.value;
140
+ this.reload();
141
+ }
142
+ reload() {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ if (this.customList && this.data.totalCount > 0) {
145
+ const fromIndex = 0;
146
+ const toIndex = Math.min(fromIndex + this.pager.size - 1, this.data.totalCount - 1);
147
+ const dataList = yield this.getDataList(fromIndex, toIndex);
148
+ const convertedList = this.dataConvertorService.convertListData(dataList);
149
+ const uiControl = this.dataConvertorService.getUiControl(dataList[0]);
150
+ this.customList.initListData(uiControl, this.data.totalCount, convertedList);
151
+ this.loadMenuItems();
152
+ this.hasRows = dataList.length > 0 ? true : false;
153
+ }
154
+ else {
155
+ this.hasRows = false;
156
+ }
157
+ });
158
+ }
159
+ onSelectedRowsChanged(selectedRowsCount) {
160
+ this.loadMenuItems();
161
+ }
162
+ onCustomizeFieldClick(fieldClickEvent) {
163
+ this.fieldClick.emit(fieldClickEvent);
164
+ }
165
+ onBreadCrumbItemClick(event) {
166
+ this.breadCrumbItemClick.emit(event);
167
+ }
168
+ onValueChanged(event) {
169
+ this.valueChange.emit(event);
170
+ }
171
+ getDataList(fromIndex, toIndex) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ const dataList = yield this.data.getList({
174
+ searchString: this.searchString,
175
+ fromIndex: fromIndex,
176
+ toIndex: toIndex
177
+ });
178
+ const dataView = this.data.dataView;
179
+ return dataList.map(item => this.convertToPepRowData(item, dataView));
180
+ });
181
+ }
182
+ onLoadItems(event) {
183
+ var _a;
184
+ return __awaiter(this, void 0, void 0, function* () {
185
+ const dataList = yield this.getDataList(event.fromIndex, event.toIndex);
186
+ const data = this.dataConvertorService.convertListData(dataList);
187
+ (_a = this.customList) === null || _a === void 0 ? void 0 : _a.updateItems(data, event);
188
+ });
189
+ }
190
+ onLoadPage(event) {
191
+ var _a;
192
+ return __awaiter(this, void 0, void 0, function* () {
193
+ const fromIndex = event.pageIndex * event.pageSize;
194
+ const toIndex = Math.min(fromIndex + event.pageSize - 1, this.data.totalCount - 1);
195
+ const dataList = yield this.getDataList(fromIndex, toIndex);
196
+ const data = this.dataConvertorService.convertListData(dataList);
197
+ (_a = this.customList) === null || _a === void 0 ? void 0 : _a.updatePage(data, event);
198
+ });
199
+ }
200
+ }
201
+ GenericListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericListComponent, deps: [{ token: i1.PepDataConvertorService }, { token: i1.PepLayoutService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
202
+ GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericListComponent, selector: "pep-generic-list", inputs: { data: "data", actions: "actions", addPadding: "addPadding", title: "title", inline: "inline", showSearch: "showSearch", allowSelection: "allowSelection", noDataFoundMsg: "noDataFoundMsg", allowMultipleSelection: "allowMultipleSelection", firstFieldAsLink: "firstFieldAsLink", supportSorting: "supportSorting", showTopBar: "showTopBar", breadCrumbsItems: "breadCrumbsItems", pager: "pager" }, outputs: { fieldClick: "fieldClick", valueChange: "valueChange", breadCrumbItemClick: "breadCrumbItemClick" }, viewQueries: [{ propertyName: "customList", first: true, predicate: PepListComponent, descendants: true }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\r\n <div>\r\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\r\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"breadCrumbsItems && breadCrumbsItems.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\r\n</div>\r\n\r\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\r\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\r\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"breadCrumbsItems && breadCrumbsItems.length > 0\" pep-top-area>\r\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <div pep-main-area class=\"main-area-container\">\r\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\r\n </div>\r\n</pep-page-layout>\r\n\r\n<ng-template #topBarTemplate>\r\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\r\n <div header-start-content>\r\n <ng-content select=\"[left-buttons]\"></ng-content>\r\n </div>\r\n <div header-end-content>\r\n <ng-content select=\"[right-buttons]\"></ng-content>\r\n </div>\r\n <pep-list-actions [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\r\n (actionClick)=\"onMenuItemClicked($event)\"></pep-list-actions>\r\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"customList ? customList.totalRows : -1\">\r\n </pep-list-total>\r\n\r\n <pep-search *ngIf=\"showSearch\" [sizeType]=\"inline ? 'sm' : 'md'\" (search)=\"onSearchChanged($event)\">\r\n </pep-search>\r\n </pep-top-bar>\r\n</ng-template>\r\n\r\n<ng-template #breadCrumbsTemplate>\r\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\r\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\r\n</ng-template>\r\n\r\n<ng-template #listTemplate>\r\n <div class=\"list-container\">\r\n <pep-list #customList *ngIf=\"hasRows\" viewType=\"table\" [supportSorting]=\"supportSorting\"\r\n [selectionTypeForActions]=\"allowMultipleSelection ? 'multi' : (allowSelection ? 'single' : 'none')\"\r\n [pagerType]=\"pager.type\" [pageSize]=\"pager.size\" [pageIndex]=\"pager.index\" [noDataFoundMsg]=\"noDataFoundMsg\"\r\n (fieldClick)=\"onCustomizeFieldClick($event)\" [firstFieldAsLink]=\"firstFieldAsLink\"\r\n (selectedItemsChange)=\"onSelectedRowsChanged($event)\" (loadItems)=\"onLoadItems($event)\"\r\n (loadPage)=\"onLoadPage($event)\" (valueChange)=\"onValueChanged($event)\">\r\n </pep-list>\r\n <ng-container *ngIf=\"!hasRows\">\r\n <div class=\"noDataFoundMsg\">\r\n <h2>{{noDataFoundMsg}}</h2>\r\n </div>\r\n </ng-container>\r\n </div>\r\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}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.inline-container ::ng-deep .pep-top-bar-container.inline{height:auto;overflow:hidden}.noDataFoundMsg{height:100%;width:100%;background:rgba(26,26,26,.12);display:flex;justify-content:center;align-items:center}.bread-crumbs{padding:1rem 0 .5rem}\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", "shrinkInSmallScreen", "sizeType", "autoCompleteValues", "value", "searchControl", "useAsWebComponent"], outputs: ["search", "autocompleteChange", "stateChange"] }, { type: i7.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["addSpacing", "items", "displayType"], outputs: ["itemClick"] }, { type: i5.PepListComponent, selector: "pep-list", inputs: ["noDataFoundMsg", "selectionTypeForActions", "showCardSelection", "hideAllSelectionInMulti", "cardSize", "firstFieldAsLink", "supportSorting", "supportResizing", "disabled", "lockItemInnerEvents", "printMode", "isReport", "totalsRow", "pagerType", "pageSize", "pageIndex", "scrollAnimationTime", "scrollDebounceTime", "scrollThrottlingTime", "viewType", "parentScroll", "lockEvents", "useAsWebComponent"], outputs: ["itemClick", "fieldClick", "valueChange", "sortingChange", "selectedItemsChange", "selectedItemChange", "selectAllClick", "listLoad", "loadItems", "loadPage", "startIndexChange"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericListComponent, decorators: [{
204
+ type: Component,
205
+ args: [{
206
+ selector: 'pep-generic-list',
207
+ templateUrl: './generic-list.component.html',
208
+ styleUrls: ['./generic-list.component.scss'],
209
+ }]
210
+ }], ctorParameters: function () { return [{ type: i1.PepDataConvertorService }, { type: i1.PepLayoutService }, { type: i2.TranslateService }]; }, propDecorators: { customList: [{
211
+ type: ViewChild,
212
+ args: [PepListComponent]
213
+ }], data: [{
214
+ type: Input
215
+ }], actions: [{
216
+ type: Input
217
+ }], addPadding: [{
218
+ type: Input
219
+ }], title: [{
220
+ type: Input
221
+ }], inline: [{
222
+ type: Input
223
+ }], showSearch: [{
224
+ type: Input
225
+ }], allowSelection: [{
226
+ type: Input
227
+ }], noDataFoundMsg: [{
228
+ type: Input
229
+ }], allowMultipleSelection: [{
230
+ type: Input
231
+ }], firstFieldAsLink: [{
232
+ type: Input
233
+ }], supportSorting: [{
234
+ type: Input
235
+ }], showTopBar: [{
236
+ type: Input
237
+ }], breadCrumbsItems: [{
238
+ type: Input
239
+ }], pager: [{
240
+ type: Input
241
+ }], fieldClick: [{
242
+ type: Output
243
+ }], valueChange: [{
244
+ type: Output
245
+ }], breadCrumbItemClick: [{
246
+ type: Output
170
247
  }] } });
171
248
 
172
- class PepGenericListModule {
173
- }
174
- PepGenericListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
175
- PepGenericListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, declarations: [GenericListComponent], imports: [CommonModule,
176
- PepNgxLibModule,
177
- PepListModule,
178
- PepFormModule,
179
- PepMenuModule,
180
- PepPageLayoutModule,
181
- PepTopBarModule,
182
- PepSearchModule], exports: [GenericListComponent] });
183
- PepGenericListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, imports: [[
184
- CommonModule,
185
- PepNgxLibModule,
186
- PepListModule,
187
- PepFormModule,
188
- PepMenuModule,
189
- PepPageLayoutModule,
190
- PepTopBarModule,
191
- PepSearchModule
192
- ]] });
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, decorators: [{
194
- type: NgModule,
195
- args: [{
196
- declarations: [
197
- GenericListComponent
198
- ],
199
- imports: [
200
- CommonModule,
201
- PepNgxLibModule,
202
- PepListModule,
203
- PepFormModule,
204
- PepMenuModule,
205
- PepPageLayoutModule,
206
- PepTopBarModule,
207
- PepSearchModule
208
- ],
209
- exports: [GenericListComponent],
210
- }]
249
+ class PepGenericListModule {
250
+ }
251
+ PepGenericListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
252
+ PepGenericListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, declarations: [GenericListComponent], imports: [CommonModule,
253
+ PepNgxLibModule,
254
+ PepListModule,
255
+ PepFormModule,
256
+ PepMenuModule,
257
+ PepPageLayoutModule,
258
+ PepTopBarModule,
259
+ PepSearchModule,
260
+ PepBreadCrumbsModule], exports: [GenericListComponent] });
261
+ PepGenericListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, imports: [[
262
+ CommonModule,
263
+ PepNgxLibModule,
264
+ PepListModule,
265
+ PepFormModule,
266
+ PepMenuModule,
267
+ PepPageLayoutModule,
268
+ PepTopBarModule,
269
+ PepSearchModule,
270
+ PepBreadCrumbsModule
271
+ ]] });
272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepGenericListModule, decorators: [{
273
+ type: NgModule,
274
+ args: [{
275
+ declarations: [
276
+ GenericListComponent
277
+ ],
278
+ imports: [
279
+ CommonModule,
280
+ PepNgxLibModule,
281
+ PepListModule,
282
+ PepFormModule,
283
+ PepMenuModule,
284
+ PepPageLayoutModule,
285
+ PepTopBarModule,
286
+ PepSearchModule,
287
+ PepBreadCrumbsModule
288
+ ],
289
+ exports: [GenericListComponent],
290
+ }]
211
291
  }] });
212
292
 
213
- /*
214
- * Public API Surface of ngx-composite-lib/generic-list
293
+ /*
294
+ * Public API Surface of ngx-composite-lib/generic-list
215
295
  */
216
296
 
217
- /**
218
- * Generated bundle index. Do not edit.
297
+ /**
298
+ * Generated bundle index. Do not edit.
219
299
  */
220
300
 
221
301
  export { GenericListComponent, PepGenericListModule };
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-list.js","sources":["../../../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 {\n Component,\n OnInit,\n AfterViewInit,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepDataConvertorService,\n PepLayoutService,\n PepRowData,\n PepScreenSizeType,\n PepGuid,\n } from '@pepperi-addons/ngx-lib';\nimport { IPepFormFieldClickEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepListComponent\n} from '@pepperi-addons/ngx-lib/list';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n} from '@pepperi-addons/ngx-lib/menu';\nimport { IPepSearchClickEvent } from '@pepperi-addons/ngx-lib/search';\n \nimport { GridDataViewField, DataViewFieldTypes, GridDataView } from '@pepperi-addons/papi-sdk/dist/entities/data-view';\nimport { GenericListDataSource } from './generic-list.model';\n\nimport * as tween from '@tweenjs/tween.js'\n\n@Component({\n selector: 'pep-generic-list',\n templateUrl: './generic-list.component.html',\n styleUrls: ['./generic-list.component.scss'],\n})\nexport class GenericListComponent implements OnInit, AfterViewInit {\n @ViewChild(PepListComponent) customList: PepListComponent | undefined;\n \n @Input()\n dataSource: GenericListDataSource | undefined;\n dataObjects: any[] = []\n \n searchString: string = '';\n \n @Input()\n addPadding: boolean = false;\n\n @Input()\n title: string = '';\n \n @Input()\n inline: boolean = false;\n \n @Input()\n showSearch: boolean = false;\n \n @Input()\n allowSelection: boolean = true;\n \n @Input()\n noDataMessage: string = \"No data\";\n \n @Input()\n allowMultipleSelection: boolean = false;\n \n @Output()\n fieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\n\n // @Output()\n // onAddClicked = new EventEmitter<void>();\n\n menuHandlers: { [key: string]: (obj: any) => Promise<void> } = {};\n menuActions: Array<PepMenuItem> = [];\n // PepScreenSizeType = PepScreenSizeType;\n // screenSize: PepScreenSizeType;\n \n constructor(\n private dataConvertorService: PepDataConvertorService,\n private layoutService: PepLayoutService,\n private translate: TranslateService\n ) {\n this.layoutService.onResize$.pipe().subscribe((size) => {\n // this.screenSize = size;\n });\n }\n \n private loadMenuItems(): void {\n if (this.allowSelection) {\n this.getMenuActions().then(x => this.menuActions = x);\n }\n }\n \n private convertToPepRowData(object: any, dataView: GridDataView) {\n const row = new PepRowData();\n row.Fields = [];\n\n if (dataView?.Fields && dataView.Columns) {\n for (let index = 0; index < dataView.Fields.length; index++) {\n let 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: (object[field.FieldID] || '').toString(),\n Value: (object[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 private async getMenuActions(): Promise<PepMenuItem[]> {\n const actions = await this.dataSource?.getActions(this.getMenuObjects());\n const res: PepMenuItem[] = []\n this.menuHandlers = {};\n \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 return res;\n }\n \n private getMenuObjects() {\n let uuids = this.customList?.getSelectedItemsData().rows ?? [];\n if (this.customList?.getIsAllSelectedForActions()) {\n uuids = this.dataObjects.map(obj => obj.UID).filter(x => uuids.indexOf(x) != -1);\n }\n const objects = uuids.map(uuid => this.getObject(uuid))\n return objects;\n }\n \n private getObject(uuid: string) {\n return this.dataObjects.find(obj => obj.UID === uuid);\n }\n \n ngOnInit() {\n }\n \n ngAfterViewInit(): void {\n this.reload();\n }\n \n onMenuItemClicked(action: IPepMenuItemClickEvent): void {\n this.menuHandlers[action.source.key](this.getMenuObjects());\n }\n \n onSearchChanged(event: IPepSearchClickEvent) {\n this.searchString = event.value\n this.reload();\n }\n \n async reload() {\n if (this.customList && this.dataSource) {\n this.dataObjects = await this.dataSource.getList({\n searchString: this.searchString\n });\n const dataView = await this.dataSource.getDataView();\n const tableData = this.dataObjects.map(x => this.convertToPepRowData(x, dataView));\n const data = this.dataConvertorService.convertListData(tableData);\n data.forEach((obj, i) => {\n this.dataObjects[i].UID = obj.UID;\n })\n const uiControl = this.dataConvertorService.getUiControl(tableData[0]);\n this.customList.initListData(uiControl, data.length, data);\n \n this.loadMenuItems();\n }\n }\n\n selectedRowsChanged(selectedRowsCount: number) {\n this.loadMenuItems();\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent) {\n this.fieldClick.emit(fieldClickEvent);\n }\n \n}\n ","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n\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 <pep-list-actions [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\" (actionClick)=\"onMenuItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"customList ? customList.totalRows : -1\"></pep-list-total>\n\n <pep-search *ngIf=\"showSearch\" [sizeType]=\"inline ? 'sm' : 'md'\" (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #listTemplate>\n <div #listContainer class=\"list-container\">\n <pep-list viewType=\"table\" [supportSorting]=\"false\"\n [selectionTypeForActions]=\"allowMultipleSelection ? 'multi' : (allowSelection ? 'single' : 'none')\" [noDataFoundMsg]=\"noDataMessage\"\n (fieldClick)=\"onCustomizeFieldClick($event)\"\n (selectedItemsChange)=\"selectedRowsChanged($event)\">\n </pep-list>\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 { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\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 PepSearchModule\n ],\n exports: [GenericListComponent],\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';\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.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 {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n ViewChild,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {\r\n PepDataConvertorService,\r\n PepLayoutService,\r\n PepRowData,\r\n PepScreenSizeType,\r\n PepGuid,\r\n} from '@pepperi-addons/ngx-lib';\r\nimport { IPepFormFieldClickEvent } from '@pepperi-addons/ngx-lib/form';\r\nimport {\r\n PepListComponent,\r\n PepSelectionData,\r\n IPepListLoadPageEvent, \r\n IPepListPagerChangeEvent,\r\n PepListPagerType,\r\n DEFAULT_PAGE_SIZE,\r\n IPepListLoadItemsEvent\r\n} from '@pepperi-addons/ngx-lib/list';\r\nimport {\r\n PepMenuItem,\r\n IPepMenuItemClickEvent,\r\n} from '@pepperi-addons/ngx-lib/menu';\r\nimport { IPepFormFieldValueChangeEvent } from '@pepperi-addons/ngx-lib/form';\r\nimport {\r\n PepBreadCrumbItem,\r\n IPepBreadCrumbItemClickEvent\r\n} from '@pepperi-addons/ngx-lib/bread-crumbs';\r\nimport { IPepSearchClickEvent } from '@pepperi-addons/ngx-lib/search';\r\n\r\nimport { GridDataViewField, DataViewFieldTypes, GridDataView } from '@pepperi-addons/papi-sdk/dist/entities/data-view';\r\nimport { IPepGenericListDataSource, IPepGenericListPager, IPepGenericListActions } from './generic-list.model';\r\n\r\n\r\n@Component({\r\n selector: 'pep-generic-list',\r\n templateUrl: './generic-list.component.html',\r\n styleUrls: ['./generic-list.component.scss'],\r\n})\r\nexport class GenericListComponent implements OnInit, AfterViewInit {\r\n @ViewChild(PepListComponent) customList: PepListComponent | undefined;\r\n\r\n @Input()\r\n data: IPepGenericListDataSource = {\r\n getList: async (options: any) => {\r\n return [];\r\n },\r\n dataView: {\r\n Type: 'Grid'\r\n },\r\n totalCount: 0\r\n }; \r\n\r\n @Input()\r\n actions: IPepGenericListActions = {\r\n get: async (data: any) => {\r\n return []\r\n }\r\n };\r\n\r\n @Input()\r\n addPadding = false;\r\n\r\n @Input()\r\n title = '';\r\n\r\n @Input()\r\n inline = false;\r\n\r\n @Input()\r\n showSearch = false;\r\n\r\n @Input()\r\n allowSelection = true;\r\n\r\n @Input()\r\n noDataFoundMsg: string = this.translate.instant('GENERIC_LIST.NO_DATA');\r\n\r\n @Input()\r\n allowMultipleSelection = false;\r\n\r\n @Input()\r\n firstFieldAsLink = false;\r\n\r\n @Input()\r\n supportSorting = false;\r\n\r\n @Input()\r\n showTopBar = true;\r\n\r\n @Input()\r\n breadCrumbsItems = new Array<PepBreadCrumbItem>();\r\n\r\n @Input() \r\n pager: IPepGenericListPager = {\r\n type: 'scroll',\r\n size: DEFAULT_PAGE_SIZE, \r\n index: 0\r\n } \r\n\r\n @Output()\r\n fieldClick: EventEmitter<IPepFormFieldClickEvent> = new EventEmitter<IPepFormFieldClickEvent>();\r\n\r\n @Output()\r\n valueChange: EventEmitter<IPepFormFieldValueChangeEvent> = new EventEmitter<IPepFormFieldValueChangeEvent>();\r\n\r\n @Output()\r\n breadCrumbItemClick: EventEmitter<IPepBreadCrumbItemClickEvent> = new EventEmitter<IPepBreadCrumbItemClickEvent>();\r\n\r\n // dataObjects: any[] = [];\r\n searchString = '';\r\n menuHandlers: { [key: string]: (obj: any) => Promise<void> } = {};\r\n menuActions: Array<PepMenuItem> = [];\r\n hasRows = true; \r\n\r\n constructor(\r\n private dataConvertorService: PepDataConvertorService,\r\n private layoutService: PepLayoutService,\r\n private translate: TranslateService\r\n ) {\r\n this.layoutService.onResize$.pipe().subscribe((size) => {\r\n // \r\n });\r\n } \r\n\r\n private loadMenuItems(): void {\r\n if (this.allowSelection) {\r\n this.getMenuActions().then(x => this.menuActions = x);\r\n }\r\n }\r\n\r\n private convertToPepRowData(object: any, dataView: GridDataView) {\r\n const row = new PepRowData();\r\n row.Fields = [];\r\n\r\n if (dataView?.Fields && dataView.Columns) {\r\n for (let index = 0; index < dataView.Fields.length; index++) {\r\n const field = dataView.Fields[index] as GridDataViewField\r\n row.Fields.push({\r\n ApiName: field.FieldID,\r\n Title: this.translate.instant(field.Title),\r\n XAlignment: 1,\r\n FormattedValue: (object[field.FieldID] || '').toString(),\r\n Value: (object[field.FieldID] || '').toString(),\r\n ColumnWidth: dataView.Columns[index].Width,\r\n AdditionalValue: '',\r\n OptionalValues: [],\r\n FieldType: DataViewFieldTypes[field.Type],\r\n ReadOnly: field.ReadOnly,\r\n Enabled: !field.ReadOnly\r\n })\r\n }\r\n }\r\n return row;\r\n }\r\n\r\n private async getMenuActions(): Promise<PepMenuItem[]> { \r\n const actions = await this.actions.get(this.getMenuObjects()); \r\n const res: PepMenuItem[] = [];\r\n this.menuHandlers = {};\r\n\r\n actions?.forEach(item => {\r\n const uuid = PepGuid.newGuid();\r\n this.menuHandlers[uuid] = item.handler;\r\n res.push({\r\n key: uuid,\r\n text: item.title\r\n })\r\n })\r\n\r\n return res;\r\n }\r\n\r\n private getMenuObjects() {\r\n const selectedData = this.customList?.getSelectedItemsData() || new PepSelectionData();\r\n\r\n // if (selectedData.rows?.length > 0 && this.customList?.getIsAllSelectedForActions()) {\r\n // selectedData.rows = this.dataObjects.map(obj => obj.UID).filter(x => selectedData.rows.indexOf(x) !== -1);\r\n // }\r\n\r\n // if (selectedData.rows?.length > 0) {\r\n // selectedData.rows = selectedData.rows.map(uuid => this.getObject(uuid));\r\n // }\r\n\r\n return selectedData;\r\n }\r\n\r\n getObject(uuid: string) {\r\n return this.customList?.getItemDataByID(uuid); // this.dataObjects.find(obj => obj.UID === uuid);\r\n }\r\n\r\n ngOnInit() {\r\n // \r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.reload();\r\n }\r\n\r\n onMenuItemClicked(action: IPepMenuItemClickEvent): void {\r\n this.menuHandlers[action.source.key](this.getMenuObjects());\r\n }\r\n\r\n onSearchChanged(event: IPepSearchClickEvent) {\r\n this.searchString = event.value;\r\n this.reload();\r\n }\r\n\r\n async reload() { \r\n if (this.customList && this.data.totalCount > 0) {\r\n const fromIndex = 0;\r\n const toIndex = Math.min(fromIndex + this.pager.size - 1, this.data.totalCount - 1);\r\n\r\n const dataList = await this.getDataList(fromIndex, toIndex); \r\n const convertedList = this.dataConvertorService.convertListData(dataList); \r\n const uiControl = this.dataConvertorService.getUiControl(dataList[0]);\r\n\r\n this.customList.initListData(uiControl, this.data.totalCount, convertedList); \r\n this.loadMenuItems();\r\n this.hasRows = dataList.length > 0 ? true : false;\r\n } else {\r\n this.hasRows = false;\r\n }\r\n }\r\n \r\n onSelectedRowsChanged(selectedRowsCount: number) {\r\n this.loadMenuItems();\r\n }\r\n \r\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent) {\r\n this.fieldClick.emit(fieldClickEvent);\r\n }\r\n\r\n onBreadCrumbItemClick(event: IPepBreadCrumbItemClickEvent) {\r\n this.breadCrumbItemClick.emit(event);\r\n }\r\n\r\n onValueChanged(event: IPepFormFieldValueChangeEvent) {\r\n this.valueChange.emit(event);\r\n }\r\n\r\n private async getDataList(fromIndex: number, toIndex: number) {\r\n const dataList = await this.data.getList({\r\n searchString: this.searchString,\r\n fromIndex: fromIndex,\r\n toIndex: toIndex\r\n }); \r\n const dataView = this.data.dataView;\r\n return dataList.map(item => this.convertToPepRowData(item, dataView)); \r\n }\r\n\r\n public async onLoadItems(event: IPepListLoadItemsEvent) { \r\n const dataList = await this.getDataList(event.fromIndex, event.toIndex); \r\n const data = this.dataConvertorService.convertListData(dataList);\r\n \r\n this.customList?.updateItems(data, event);\r\n }\r\n\r\n public async onLoadPage(event: IPepListLoadPageEvent) {\r\n const fromIndex = event.pageIndex * event.pageSize;\r\n const toIndex = Math.min(fromIndex + event.pageSize - 1, this.data.totalCount - 1);\r\n\r\n const dataList = await this.getDataList(fromIndex, toIndex); \r\n const data = this.dataConvertorService.convertListData(dataList);\r\n \r\n this.customList?.updatePage(data, event);\r\n }\r\n\r\n}\r\n","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\r\n <div>\r\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\r\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"breadCrumbsItems && breadCrumbsItems.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\r\n</div>\r\n\r\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\r\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\r\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"breadCrumbsItems && breadCrumbsItems.length > 0\" pep-top-area>\r\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <div pep-main-area class=\"main-area-container\">\r\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\r\n </div>\r\n</pep-page-layout>\r\n\r\n<ng-template #topBarTemplate>\r\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\r\n <div header-start-content>\r\n <ng-content select=\"[left-buttons]\"></ng-content>\r\n </div>\r\n <div header-end-content>\r\n <ng-content select=\"[right-buttons]\"></ng-content>\r\n </div>\r\n <pep-list-actions [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\r\n (actionClick)=\"onMenuItemClicked($event)\"></pep-list-actions>\r\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"customList ? customList.totalRows : -1\">\r\n </pep-list-total>\r\n\r\n <pep-search *ngIf=\"showSearch\" [sizeType]=\"inline ? 'sm' : 'md'\" (search)=\"onSearchChanged($event)\">\r\n </pep-search>\r\n </pep-top-bar>\r\n</ng-template>\r\n\r\n<ng-template #breadCrumbsTemplate>\r\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\r\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\r\n</ng-template>\r\n\r\n<ng-template #listTemplate>\r\n <div class=\"list-container\">\r\n <pep-list #customList *ngIf=\"hasRows\" viewType=\"table\" [supportSorting]=\"supportSorting\"\r\n [selectionTypeForActions]=\"allowMultipleSelection ? 'multi' : (allowSelection ? 'single' : 'none')\"\r\n [pagerType]=\"pager.type\" [pageSize]=\"pager.size\" [pageIndex]=\"pager.index\" [noDataFoundMsg]=\"noDataFoundMsg\"\r\n (fieldClick)=\"onCustomizeFieldClick($event)\" [firstFieldAsLink]=\"firstFieldAsLink\"\r\n (selectedItemsChange)=\"onSelectedRowsChanged($event)\" (loadItems)=\"onLoadItems($event)\"\r\n (loadPage)=\"onLoadPage($event)\" (valueChange)=\"onValueChanged($event)\">\r\n </pep-list>\r\n <ng-container *ngIf=\"!hasRows\">\r\n <div class=\"noDataFoundMsg\">\r\n <h2>{{noDataFoundMsg}}</h2>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-template>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GenericListComponent } from './generic-list.component';\r\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\r\nimport { PepListModule } from '@pepperi-addons/ngx-lib/list';\r\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\r\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\r\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\r\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\r\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\r\nimport { PepBreadCrumbsModule } from '@pepperi-addons/ngx-lib/bread-crumbs';\r\n\r\n@NgModule({\r\n declarations: [\r\n GenericListComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PepNgxLibModule,\r\n PepListModule,\r\n PepFormModule,\r\n PepMenuModule,\r\n PepPageLayoutModule,\r\n PepTopBarModule,\r\n PepSearchModule,\r\n PepBreadCrumbsModule\r\n ],\r\n exports: [GenericListComponent],\r\n})\r\nexport class PepGenericListModule { }\r\n","/*\r\n * Public API Surface of ngx-composite-lib/generic-list\r\n */\r\nexport * from './generic-list.module';\r\nexport * from './generic-list.component';\r\nexport * from './generic-list.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}