@pepperi-addons/ngx-lib 0.4.2-beta.7 → 0.4.2-beta.71

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 (175) hide show
  1. package/attachment/attachment.component.d.ts +11 -2
  2. package/button/button.component.d.ts +8 -8
  3. package/core/common/services/color.service.d.ts +1 -0
  4. package/core/common/services/file.service.d.ts +7 -2
  5. package/core/customization/customization.service.d.ts +3 -0
  6. package/dialog/dialog.service.d.ts +1 -0
  7. package/draggable-items/draggable-items.component.d.ts +3 -3
  8. package/draggable-items/draggable-items.module.d.ts +1 -1
  9. package/esm2020/attachment/attachment.component.mjs +38 -18
  10. package/esm2020/button/button.component.mjs +7 -7
  11. package/esm2020/chips/chips.component.mjs +2 -2
  12. package/esm2020/color/color-picker.component.mjs +1 -1
  13. package/esm2020/core/common/services/color.service.mjs +27 -1
  14. package/esm2020/core/common/services/file.service.mjs +57 -20
  15. package/esm2020/core/common/services/session.service.mjs +2 -1
  16. package/esm2020/core/customization/customization.model.mjs +7 -6
  17. package/esm2020/core/customization/customization.service.mjs +13 -4
  18. package/esm2020/core/http/services/http.service.mjs +1 -1
  19. package/esm2020/dialog/dialog.component.mjs +3 -3
  20. package/esm2020/dialog/dialog.service.mjs +22 -1
  21. package/esm2020/draggable-items/draggable-items.component.mjs +7 -7
  22. package/esm2020/draggable-items/draggable-items.module.mjs +6 -6
  23. package/esm2020/files-uploader/files-uploader.component.mjs +50 -45
  24. package/esm2020/form/field-generator.component.mjs +3 -3
  25. package/esm2020/form/form.component.mjs +4 -3
  26. package/esm2020/form/internal-field-generator.component.mjs +1 -1
  27. package/esm2020/form/internal-form.component.mjs +1 -1
  28. package/esm2020/form/internal-list.component.mjs +2 -2
  29. package/esm2020/image/image.component.mjs +32 -16
  30. package/esm2020/image/image.service.mjs +2 -4
  31. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +2 -2
  32. package/esm2020/link/link.component.mjs +33 -58
  33. package/esm2020/list/list.component.mjs +74 -13
  34. package/esm2020/menu/menu.component.mjs +3 -3
  35. package/esm2020/quantity-selector/quantity-selector.component.mjs +20 -25
  36. package/esm2020/select/select.component.mjs +3 -3
  37. package/esm2020/select-panel/select-panel.component.mjs +2 -2
  38. package/esm2020/signature/public-api.mjs +2 -1
  39. package/esm2020/signature/signature-dialog.component.mjs +78 -0
  40. package/esm2020/signature/signature.component.mjs +117 -89
  41. package/esm2020/signature/signature.module.mjs +6 -5
  42. package/esm2020/skeleton-loader/pepperi-addons-ngx-lib-skeleton-loader.mjs +5 -0
  43. package/esm2020/skeleton-loader/public-api.mjs +6 -0
  44. package/esm2020/skeleton-loader/skeleton-loader.component.mjs +44 -0
  45. package/esm2020/skeleton-loader/skeleton-loader.module.mjs +24 -0
  46. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +3 -3
  47. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +2 -2
  48. package/esm2020/textbox/textbox.component.mjs +9 -3
  49. package/esm2020/top-bar/top-bar.component.mjs +2 -2
  50. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +37 -17
  51. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  52. package/fesm2015/pepperi-addons-ngx-lib-button.mjs +6 -6
  53. package/fesm2015/pepperi-addons-ngx-lib-button.mjs.map +1 -1
  54. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +2 -2
  55. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  56. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  57. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +23 -2
  58. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  59. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +11 -11
  60. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  61. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +49 -44
  62. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  63. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +8 -7
  64. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  65. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +32 -18
  66. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  67. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +1 -1
  68. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  69. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +32 -57
  70. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  71. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +73 -13
  72. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  73. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +2 -2
  74. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  75. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +19 -24
  76. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  77. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +2 -2
  78. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  79. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +2 -2
  80. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  81. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +205 -102
  82. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  83. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +78 -0
  84. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
  85. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +3 -3
  86. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  87. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +8 -2
  88. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  89. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +2 -2
  90. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  91. package/fesm2015/pepperi-addons-ngx-lib.mjs +101 -27
  92. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  93. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +37 -17
  94. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  95. package/fesm2020/pepperi-addons-ngx-lib-button.mjs +6 -6
  96. package/fesm2020/pepperi-addons-ngx-lib-button.mjs.map +1 -1
  97. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +2 -2
  98. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  99. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  100. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +23 -2
  101. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  102. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +11 -11
  103. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  104. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +49 -44
  105. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  106. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +8 -7
  107. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  108. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +32 -18
  109. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  110. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +1 -1
  111. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  112. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +32 -57
  113. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  114. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +73 -12
  115. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  116. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +2 -2
  117. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  118. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +19 -24
  119. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  120. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +2 -2
  121. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  122. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +2 -2
  123. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  124. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +201 -102
  125. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  126. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +76 -0
  127. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
  128. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +3 -3
  129. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  130. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +8 -2
  131. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  132. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +2 -2
  133. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  134. package/fesm2020/pepperi-addons-ngx-lib.mjs +101 -27
  135. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  136. package/files-uploader/files-uploader.component.d.ts +7 -4
  137. package/image/image.component.d.ts +11 -3
  138. package/link/link.component.d.ts +23 -27
  139. package/list/list.component.d.ts +4 -0
  140. package/menu/menu.component.d.ts +1 -1
  141. package/package.json +10 -2
  142. package/quantity-selector/quantity-selector.component.d.ts +0 -2
  143. package/signature/public-api.d.ts +1 -0
  144. package/signature/signature-dialog.component.d.ts +29 -0
  145. package/signature/signature.component.d.ts +7 -16
  146. package/signature/signature.module.d.ts +16 -15
  147. package/skeleton-loader/index.d.ts +5 -0
  148. package/skeleton-loader/public-api.d.ts +2 -0
  149. package/skeleton-loader/skeleton-loader.component.d.ts +20 -0
  150. package/skeleton-loader/skeleton-loader.component.theme.scss +15 -0
  151. package/skeleton-loader/skeleton-loader.module.d.ts +9 -0
  152. package/src/core/style/abstracts/AbstractsIntro.stories.mdx +7 -0
  153. package/src/core/style/abstracts/functions.scss +11 -11
  154. package/src/core/style/abstracts/mixins.scss +9 -6
  155. package/src/core/style/abstracts/variables.scss +38 -18
  156. package/src/core/style/base/BorderRadius.stories.mdx +59 -0
  157. package/src/core/style/base/Breakpoints.stories.mdx +36 -0
  158. package/src/core/style/base/Colors.stories.mdx +128 -0
  159. package/src/core/style/base/Shadows.stories.mdx +69 -0
  160. package/src/core/style/base/Spacing.stories.mdx +75 -0
  161. package/src/core/style/base/States.stories.mdx +62 -0
  162. package/src/core/style/base/Typography.stories.mdx +89 -0
  163. package/src/core/style/base/ZIndex.stories.mdx +47 -0
  164. package/src/core/style/base/base.scss +8 -10
  165. package/src/core/style/base/borderRadius.component.ts +27 -0
  166. package/src/core/style/base/breakpoints.component.ts +14 -0
  167. package/src/core/style/base/colors.component.ts +174 -0
  168. package/src/core/style/base/shadows.component.ts +90 -0
  169. package/src/core/style/base/spacing.component.ts +71 -0
  170. package/src/core/style/base/states.component.ts +84 -0
  171. package/src/core/style/base/typography.component.ts +94 -0
  172. package/src/core/style/base/typography.scss +56 -49
  173. package/src/core/style/base/zIndex.component.ts +25 -0
  174. package/src/core/style/components/file.scss +4 -4
  175. package/src/core/style/components/general.scss +5 -0
@@ -1290,6 +1290,7 @@ class PepListComponent {
1290
1290
  this.startX = 0;
1291
1291
  this.startWidth = 0;
1292
1292
  this.tableStartWidth = 0;
1293
+ this.lastColumnsWidth = [];
1293
1294
  // For sorting
1294
1295
  this.isAsc = true;
1295
1296
  this.sortBy = '';
@@ -1436,11 +1437,13 @@ class PepListComponent {
1436
1437
  }
1437
1438
  }
1438
1439
  }
1440
+ getSelectionCheckBoxWidth() {
1441
+ return this.selectionTypeForActions === 'multi' ? 44 : 0;
1442
+ }
1439
1443
  setContainerWidth() {
1440
1444
  if (!this.hostElement.nativeElement.parentElement) {
1441
1445
  return;
1442
1446
  }
1443
- const selectionCheckBoxWidth = this.selectionTypeForActions === 'multi' ? 44 : 0;
1444
1447
  const rowHeight = 40; // the table row height (2.5rem * 16font-size).
1445
1448
  const style = getComputedStyle(this.hostElement.nativeElement.parentElement);
1446
1449
  // The container-fluid class padding left + right + border
@@ -1453,7 +1456,7 @@ class PepListComponent {
1453
1456
  ? this.layoutService.getScrollbarWidth()
1454
1457
  : 0;
1455
1458
  // The selectionCheckBoxWidth width + containerFluidSpacing + this.tableScrollWidth.
1456
- const rowHeaderWidthToSub = containerFluidSpacing + selectionCheckBoxWidth + this.tableScrollWidth;
1459
+ const rowHeaderWidthToSub = containerFluidSpacing + this.getSelectionCheckBoxWidth() + this.tableScrollWidth;
1457
1460
  this.containerWidth = parentContainer.offsetWidth - rowHeaderWidthToSub;
1458
1461
  }
1459
1462
  saveSortingToSession() {
@@ -1538,13 +1541,55 @@ class PepListComponent {
1538
1541
  if (this.containerWidth <= 0) {
1539
1542
  this.setContainerWidth();
1540
1543
  }
1541
- this.calcColumnsWidth();
1544
+ const isLastColumnsWidthSet = this.setLastColumnsWidth();
1545
+ // Set the layout only if the last columns width couldn't set.
1546
+ if (!isLastColumnsWidthSet) {
1547
+ this.calcColumnsWidth();
1548
+ }
1542
1549
  this.checkForChanges = new Date().getTime();
1543
1550
  }
1551
+ setLastColumnsWidth() {
1552
+ let res = false;
1553
+ let totalCalcColsWidth = 0;
1554
+ let widthToSet = 'inherit';
1555
+ if (this.lastColumnsWidth.length > 0) {
1556
+ // Check if this is the same UI control for table.
1557
+ if (this.lastColumnsWidth.length === this._layout.ControlFields.length) {
1558
+ let uiControlsAreTheSame = true;
1559
+ for (let index = 0; index < this._layout.ControlFields.length; index++) {
1560
+ const uiControlField = this._layout.ControlFields[index];
1561
+ if (uiControlField.ApiName !== this.lastColumnsWidth[index].columnAPIName) {
1562
+ uiControlsAreTheSame = false;
1563
+ break;
1564
+ }
1565
+ }
1566
+ if (uiControlsAreTheSame) {
1567
+ for (let index = 0; index < this._layout.ControlFields.length; index++) {
1568
+ const uiControlField = this._layout.ControlFields[index];
1569
+ uiControlField.calcTitleColumnWidthString = this.lastColumnsWidth[index].calcTitleColumnWidthString;
1570
+ uiControlField.calcColumnWidthString = this.lastColumnsWidth[index].calcColumnWidthString;
1571
+ totalCalcColsWidth += this.lastColumnsWidth[index].calcColumnWidth;
1572
+ }
1573
+ widthToSet = (totalCalcColsWidth + this.getSelectionCheckBoxWidth()) + 'px';
1574
+ this.setColumnsWidth(widthToSet);
1575
+ res = true;
1576
+ }
1577
+ }
1578
+ }
1579
+ return res;
1580
+ }
1581
+ setColumnsWidth(widthToSet) {
1582
+ this.renderer.setStyle(this.hostElement.nativeElement, 'width', widthToSet);
1583
+ setTimeout(() => {
1584
+ // Do this only after UI is change cause the property isTable is Input and can refresh after this thread.
1585
+ if (this.virtualScroller) {
1586
+ this.renderer.setStyle(this.virtualScroller.contentElementRef.nativeElement, 'width', widthToSet === 'inherit' ? '100%' : widthToSet);
1587
+ }
1588
+ }, 0);
1589
+ }
1544
1590
  calcColumnsWidth() {
1545
1591
  const fixedMultiple = 3.78; // for converting em to pixel.
1546
1592
  const length = this._layout.ControlFields.length;
1547
- const selectionCheckBoxWidth = this.selectionTypeForActions === 'multi' ? 44 : 0;
1548
1593
  // Is table AND there is at least one column of width type of percentage.
1549
1594
  if (this.isTable) {
1550
1595
  if (this._layout && this._layout.ControlFields) {
@@ -1560,6 +1605,7 @@ class PepListComponent {
1560
1605
  }
1561
1606
  }
1562
1607
  let totalCalcColsWidth = 0;
1608
+ let widthToSet = 'inherit';
1563
1609
  // Calc by percentage
1564
1610
  if (this.hasColumnWidthOfTypePercentage) {
1565
1611
  const totalColsWidth = this._layout.ControlFields.map((cf) => cf.ColumnWidth).reduce((sum, current) => sum + current);
@@ -1575,7 +1621,6 @@ class PepListComponent {
1575
1621
  totalCalcColsWidth += uiControlField.calcColumnWidth;
1576
1622
  }
1577
1623
  }
1578
- this.renderer.setStyle(this.hostElement.nativeElement, 'width', 'inherit');
1579
1624
  }
1580
1625
  else {
1581
1626
  for (let index = 0; index < length; index++) {
@@ -1583,16 +1628,16 @@ class PepListComponent {
1583
1628
  .ControlFields[index];
1584
1629
  const currentFixedWidth = Math.floor(uiControlField.ColumnWidth * fixedMultiple);
1585
1630
  if (index === length - 1) {
1586
- uiControlField.calcTitleColumnWidthString = currentFixedWidth + 'px';
1587
- uiControlField.calcColumnWidthString = currentFixedWidth + 'px';
1631
+ uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString = currentFixedWidth + 'px';
1588
1632
  }
1589
1633
  else {
1590
1634
  uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString = currentFixedWidth + 'px';
1591
1635
  }
1592
1636
  totalCalcColsWidth += currentFixedWidth;
1593
1637
  }
1594
- this.renderer.setStyle(this.hostElement.nativeElement, 'width', totalCalcColsWidth + selectionCheckBoxWidth + 'px');
1638
+ widthToSet = (totalCalcColsWidth + this.getSelectionCheckBoxWidth()) + 'px';
1595
1639
  }
1640
+ this.setColumnsWidth(widthToSet);
1596
1641
  }
1597
1642
  calcObjectHeight() {
1598
1643
  setTimeout(() => {
@@ -1997,6 +2042,9 @@ class PepListComponent {
1997
2042
  }
1998
2043
  }
1999
2044
  }
2045
+ if (!this.isTable) {
2046
+ this.lastColumnsWidth = [];
2047
+ }
2000
2048
  this.setLayout();
2001
2049
  // setTimeout(() => {
2002
2050
  this.onListLoad();
@@ -2124,14 +2172,14 @@ class PepListComponent {
2124
2172
  onWinResize(e) {
2125
2173
  this.refresh();
2126
2174
  this.containerWidth = 0;
2175
+ this.lastColumnsWidth = [];
2127
2176
  this.setLayout();
2128
2177
  }
2129
2178
  onListResizeStart(event, columnKey) {
2130
- var _a;
2131
2179
  this.pressedColumn = columnKey;
2132
2180
  this.startX = event.x;
2133
2181
  this.startWidth = event.target.closest('.header-column').offsetWidth;
2134
- this.tableStartWidth = (_a = this.virtualScroller) === null || _a === void 0 ? void 0 : _a.contentElementRef.nativeElement.offsetWidth;
2182
+ this.tableStartWidth = this.hostElement.nativeElement.offsetWidth; // this.virtualScroller?.contentElementRef.nativeElement.offsetWidth;
2135
2183
  }
2136
2184
  onListResize(event) {
2137
2185
  if (this.pressedColumn.length > 0) {
@@ -2164,9 +2212,10 @@ class PepListComponent {
2164
2212
  }
2165
2213
  totalCalcColsWidth += uiControlField.calcColumnWidth;
2166
2214
  }
2167
- this.renderer.setStyle(this.hostElement.nativeElement, 'width', this.tableStartWidth + widthToAdd + 'px');
2215
+ const widthToSet = (this.tableStartWidth + widthToAdd) + 'px';
2216
+ this.setColumnsWidth(widthToSet);
2217
+ this.checkForChanges = new Date().getTime();
2168
2218
  }
2169
- this.checkForChanges = new Date().getTime();
2170
2219
  }
2171
2220
  }
2172
2221
  onListResizeEnd(event) {
@@ -2181,6 +2230,17 @@ class PepListComponent {
2181
2230
  this.initResizeData();
2182
2231
  }, 0);
2183
2232
  }
2233
+ this.lastColumnsWidth = [];
2234
+ // Set the last columns width
2235
+ for (let index = 0; index < this._layout.ControlFields.length; index++) {
2236
+ const uiControlField = this._layout.ControlFields[index];
2237
+ this.lastColumnsWidth.push({
2238
+ columnAPIName: uiControlField.ApiName,
2239
+ calcColumnWidth: uiControlField.calcColumnWidth,
2240
+ calcTitleColumnWidthString: uiControlField.calcTitleColumnWidthString,
2241
+ calcColumnWidthString: uiControlField.calcColumnWidthString
2242
+ });
2243
+ }
2184
2244
  event.stopPropagation();
2185
2245
  }
2186
2246
  }
@@ -2316,7 +2376,7 @@ PepListComponent.UN_SELECTED_ITEMS_STATE_KEY = 'UnSelectedItems';
2316
2376
  PepListComponent.ALL_SELECTED_STATE_KEY = 'AllSelected';
2317
2377
  PepListComponent.SORT_BY_STATE_KEY = 'SortBy';
2318
2378
  PepListComponent.ASCENDING_STATE_KEY = 'IsAscending';
2319
- PepListComponent.MINIMUM_COLUMN_WIDTH = 48;
2379
+ PepListComponent.MINIMUM_COLUMN_WIDTH = 72;
2320
2380
  PepListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListComponent, deps: [{ token: i0.ElementRef }, { token: i1.PepLayoutService }, { token: i1.PepSessionService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
2321
2381
  PepListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListComponent, selector: "pep-list", inputs: { noDataFoundMsg: "noDataFoundMsg", selectionTypeForActions: "selectionTypeForActions", showCardSelection: "showCardSelection", hideAllSelectionInMulti: "hideAllSelectionInMulti", cardSize: "cardSize", tableViewType: "tableViewType", viewType: "viewType", firstFieldAsLink: "firstFieldAsLink", supportSorting: "supportSorting", supportResizing: "supportResizing", parentScroll: "parentScroll", disabled: "disabled", lockEvents: "lockEvents", lockItemInnerEvents: "lockItemInnerEvents", printMode: "printMode", isReport: "isReport", zebraStripes: "zebraStripes", totalsRow: "totalsRow", pagerType: "pagerType", pageSize: "pageSize", pageIndex: "pageIndex", bufferAmount: "bufferAmount", scrollAnimationTime: "scrollAnimationTime", scrollDebounceTime: "scrollDebounceTime", scrollThrottlingTime: "scrollThrottlingTime", useAsWebComponent: "useAsWebComponent" }, outputs: { itemClick: "itemClick", fieldClick: "fieldClick", valueChange: "valueChange", sortingChange: "sortingChange", selectedItemsChange: "selectedItemsChange", selectedItemChange: "selectedItemChange", selectAllClick: "selectAllClick", listLoad: "listLoad", loadItems: "loadItems", loadPage: "loadPage", startIndexChange: "startIndexChange" }, host: { listeners: { "window:resize": "onWinResize($event)" } }, viewQueries: [{ propertyName: "virtualScroller", first: true, predicate: VirtualScrollerComponent, descendants: true }, { propertyName: "selectAllCB", first: true, predicate: ["selectAllCB"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"totalRows == 0\">\n <ng-container *ngIf=\"noDataFoundMsg; then noDataMsgInputBlock; else noDataMsgDefaultBlock\"></ng-container>\n <ng-template #noDataMsgInputBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ noDataFoundMsg }}\n </p>\n </div>\n </ng-template>\n <ng-template #noDataMsgDefaultBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ 'LIST.NO_DATA_FOUND' | translate}}\n </p>\n </div>\n <div class=\"no-data-suggestions\">\n <p class=\"suggestions-title title-lg\">\n {{ 'LIST.NO_DATA_FOUND_SUGGESTIONS_TITLE' | translate}}\n </p>\n <ul class=\"suggestions-list body-lg\" [innerHtml]=\"'LIST.NO_DATA_FOUND_SUGGESTIONS_LIST' | translate\"></ul>\n </div>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"totalRows > 0\">\n <ng-container *ngTemplateOutlet=\"tableHeader\"></ng-container>\n\n <!-- (vsChildRectChange)=\"onChildRectChange($event)\" -->\n <virtual-scroller #scroller [items]=\"pagerType === 'pages' ? currentPageItems : items\"\n [scrollDebounceTime]=\"scrollDebounceTime\" [scrollThrottlingTime]=\"scrollThrottlingTime\"\n [bufferAmount]=\"printMode ? totalRows : bufferAmount\" [parentScroll]=\"parentScroll\" [disable]=\"loadingItemsFromApi\"\n class=\"virtual-scroller\" [ngClass]=\"{ 'table-body': isTable, 'cards-body': !isTable }\"\n (vsChange)=\"onVirtualScrollerChange($event)\" >\n <ng-container *ngFor=\"let item of scroller.viewPortItems; let index = index; let isFirst = first;\">\n <ng-container *ngTemplateOutlet=\"listData; context: {item: item, index:index}\"></ng-container>\n </ng-container>\n </virtual-scroller>\n\n <pep-list-pager *ngIf=\"pagerType === 'pages'\" class=\" list-pager\" [disabled]=\"loadingItemsFromApi\"\n [length]=\"totalRows\" [pageSize]=\"pageSize\" [pageIndex]=\"pageIndex\" (pagerChange)=\"onPagerChange($event)\">\n </pep-list-pager>\n\n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n</ng-container>\n\n<ng-template #listData let-item=\"item\" let-index=\"index\">\n <ng-container *ngIf=\"isTable\">\n <!-- getIsItemSelected(item) -> item | isItemSelected: selectionTypeForActions : selectedItemId : isAllSelected : selectedItems : unSelectedItems -->\n <div class=\"table-row\" (mouseenter)=\"onTableRowMouseEnter($event, item?.UID, item?.Type)\" \n (mouseleave)=\"onTableRowMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n even: zebraStripes && index % 2 !== 0,\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId}\" [ngStyle]=\"{ visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <fieldset class=\"table-row-fieldset\" [ngStyle]=\"{ 'background-color': item?.BackgroundColor }\">\n <mat-checkbox *ngIf=\"selectionTypeForActions == 'multi'\" type=\"checkbox\"\n class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"getisItemDisabled(item)\" [ngStyle]=\"{\n visibility: !deviceHasMouse ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId || isAllSelected || selectedItems.size > 0 ? 'visible' : 'hidden'\n }\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <mat-radio-button *ngIf=\"selectionTypeForActions == 'single'\" name=\"selection\"\n class=\"pull-left flip row-selection pep-radio-button\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"getisItemDisabled(item)\"\n [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-radio-button>\n <pep-form [layoutType]=\"'table'\" [checkForChanges]=\"checkForChanges\" [layout]=\"layout\"\n [firstFieldAsLink]=\"firstFieldAsLink\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isReport]=\"isReport\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!isTable\">\n <div (mouseenter)=\"onCardMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onCardMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId,\n 'line-view': viewType === 'lines',\n 'card-view': viewType === 'cards',\n 'small-card': cardSize === 'sm'\n }\" class=\"pull-left flip\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <mat-checkbox *ngIf=\"showCardSelection\" class=\"pull-left flip card-selection\"\n [disabled]=\"getisItemDisabled(item)\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <pep-form [layoutType]=\"'card'\" [firstFieldAsLink]=\"firstFieldAsLink\" [checkForChanges]=\"checkForChanges\"\n [layout]=\"layout\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tableHeader>\n <div *ngIf=\"isTable\" class=\"table-header\" (mouseup)=\"onListResizeEnd($event)\"\n (mouseenter)=\"onListHeaderMouseEnter($event)\" (mouseleave)=\"onListHeaderMouseLeave($event)\"\n (mousemove)=\"onListResize($event)\">\n\n <div class=\"table-header-padding-top\"></div>\n <fieldset class=\"table-header-fieldset\">\n <mat-checkbox *ngIf=\"selectionTypeForActions !== 'none'\" #selectAllCB class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n type=\"checkbox\" [ngStyle]=\"{\n visibility:\n selectionTypeForActions == 'single' || \n (selectionTypeForActions == 'multi' && hideAllSelectionInMulti) ? 'hidden' : 'visible'\n }\"\n [indeterminate]=\"isAllSelected ? unSelectedItems.size > 0 && unSelectedItems.size < totalRows : (selectedItems.size > 0 && !getIsAllSelectedForActions())\"\n [disabled]=\"disabled || selectionTypeForActions === 'single'\" [checked]=\"getIsAllSelectedForActions()\"\n (change)=\"selectAllItemsForActions($event)\"></mat-checkbox>\n <fieldset>\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"header-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n 'support-sorting': supportSorting,\n 'has-sorting': field.ApiName === sortBy,\n 'is-resizing': field.ApiName === pressedColumn,\n 'is-first': j === 0 && selectionTypeForActions !== 'multi',\n 'is-last': j === layout?.ControlFields?.length - 1\n }\"\n (click)=\"supportSorting ? (onListSortingChange(field.ApiName, sortBy !== null && sortBy != field.ApiName ? true : !isAsc, $event)) : false\">\n\n <label id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip text-align-{{ field.Layout.XAlignment }}\"\n title=\"{{ field.Title }}\">\n <span *ngIf=\"field.Mandatory\" class=\"mandatory\">\n <pep-icon name=\"system_must\"></pep-icon>\n </span>\n {{ field.Title != '' ? field.Title : ' '}}\n </label>\n\n <div *ngIf=\"supportResizing\" class=\"resize-box pull-right flip\"\n (mousedown)=\"onListResizeStart($event, field.ApiName)\">\n <div class=\"splitter\"></div>\n </div>\n\n <div *ngIf=\"supportSorting\" class=\"sorting-box pull-left flip\"\n [ngClass]=\"{ 'has-sorting': field.ApiName === sortBy }\">\n <mat-icon *ngIf=\"field.ApiName !== sortBy\">\n <pep-icon name=\"arrow_either\" class=\"asc\"></pep-icon>\n </mat-icon>\n <ng-container *ngIf=\"field.ApiName === sortBy\">\n <mat-icon *ngIf=\"!isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && isAsc }\"\n title=\"{{ 'LIST.SORT_ASC' | translate }}\">\n <pep-icon name=\"arrow_up\" class=\"asc\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && !isAsc }\"\n title=\"{{ 'LIST.SORT_DESC' | translate }}\">\n <pep-icon name=\"arrow_down\" class=\"desc\"></pep-icon>\n </mat-icon>\n </ng-container>\n </div>\n </div>\n </fieldset>\n </fieldset>\n </div>\n</ng-template>\n\n<ng-template #tableTotal>\n <div *ngIf=\"isTable && totalsRow?.length > 0 && totalsRow.length <= layout?.ControlFields.length\"\n class=\"table-total\">\n <fieldset class=\"table-header-fieldset\">\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"total-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\">\n <label class=\"total-label body-sm text-align-{{ field.Layout.XAlignment }}\">\n {{ totalsRow[j] }}\n </label>\n </div>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:flex;flex-direction:column}.no-data{margin:var(--pep-spacing-2xl, 2rem) 0}.no-data-suggestions .suggestions-title{margin:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem)}.no-data-suggestions .suggestions-list{margin:0;padding:0;padding-inline-start:var(--pep-spacing-2xl, 2rem)}.virtual-scroller{min-height:5rem;height:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4$1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i7.PepFormComponent, selector: "pep-form", inputs: ["isInternal", "isReport", "layout", "lockEvents", "canEditObject", "data", "lockFields", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "fieldClick", "internalFormFieldClick", "internalFormFieldChange"] }, { kind: "component", type: VirtualScrollerComponent, selector: "virtual-scroller,[virtualScroller]", inputs: ["disable", "executeRefreshOutsideAngularZone", "enableUnequalChildrenSizes", "RTL", "useMarginInsteadOfTranslate", "modifyOverflowStyleOfParentScroll", "stripedTable", "scrollbarWidth", "scrollbarHeight", "childWidth", "childHeight", "ssrChildWidth", "ssrChildHeight", "ssrViewportWidth", "ssrViewportHeight", "bufferAmount", "scrollAnimationTime", "resizeBypassRefreshThreshold", "scrollThrottlingTime", "scrollDebounceTime", "checkResizeInterval", "items", "compareItems", "horizontal", "parentScroll"], outputs: ["vsChildRectChange", "vsUpdate", "vsChange", "vsStart", "vsEnd"], exportAs: ["virtualScroller"] }, { kind: "component", type: PepListPagerComponent, selector: "pep-list-pager", inputs: ["disabled", "pageIndex", "length", "pageSize"], outputs: ["pagerChange"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
2322
2382
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListComponent, decorators: [{