@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
@@ -1288,6 +1288,7 @@ class PepListComponent {
1288
1288
  this.startX = 0;
1289
1289
  this.startWidth = 0;
1290
1290
  this.tableStartWidth = 0;
1291
+ this.lastColumnsWidth = [];
1291
1292
  // For sorting
1292
1293
  this.isAsc = true;
1293
1294
  this.sortBy = '';
@@ -1433,11 +1434,13 @@ class PepListComponent {
1433
1434
  }
1434
1435
  }
1435
1436
  }
1437
+ getSelectionCheckBoxWidth() {
1438
+ return this.selectionTypeForActions === 'multi' ? 44 : 0;
1439
+ }
1436
1440
  setContainerWidth() {
1437
1441
  if (!this.hostElement.nativeElement.parentElement) {
1438
1442
  return;
1439
1443
  }
1440
- const selectionCheckBoxWidth = this.selectionTypeForActions === 'multi' ? 44 : 0;
1441
1444
  const rowHeight = 40; // the table row height (2.5rem * 16font-size).
1442
1445
  const style = getComputedStyle(this.hostElement.nativeElement.parentElement);
1443
1446
  // The container-fluid class padding left + right + border
@@ -1450,7 +1453,7 @@ class PepListComponent {
1450
1453
  ? this.layoutService.getScrollbarWidth()
1451
1454
  : 0;
1452
1455
  // The selectionCheckBoxWidth width + containerFluidSpacing + this.tableScrollWidth.
1453
- const rowHeaderWidthToSub = containerFluidSpacing + selectionCheckBoxWidth + this.tableScrollWidth;
1456
+ const rowHeaderWidthToSub = containerFluidSpacing + this.getSelectionCheckBoxWidth() + this.tableScrollWidth;
1454
1457
  this.containerWidth = parentContainer.offsetWidth - rowHeaderWidthToSub;
1455
1458
  }
1456
1459
  saveSortingToSession() {
@@ -1535,13 +1538,55 @@ class PepListComponent {
1535
1538
  if (this.containerWidth <= 0) {
1536
1539
  this.setContainerWidth();
1537
1540
  }
1538
- this.calcColumnsWidth();
1541
+ const isLastColumnsWidthSet = this.setLastColumnsWidth();
1542
+ // Set the layout only if the last columns width couldn't set.
1543
+ if (!isLastColumnsWidthSet) {
1544
+ this.calcColumnsWidth();
1545
+ }
1539
1546
  this.checkForChanges = new Date().getTime();
1540
1547
  }
1548
+ setLastColumnsWidth() {
1549
+ let res = false;
1550
+ let totalCalcColsWidth = 0;
1551
+ let widthToSet = 'inherit';
1552
+ if (this.lastColumnsWidth.length > 0) {
1553
+ // Check if this is the same UI control for table.
1554
+ if (this.lastColumnsWidth.length === this._layout.ControlFields.length) {
1555
+ let uiControlsAreTheSame = true;
1556
+ for (let index = 0; index < this._layout.ControlFields.length; index++) {
1557
+ const uiControlField = this._layout.ControlFields[index];
1558
+ if (uiControlField.ApiName !== this.lastColumnsWidth[index].columnAPIName) {
1559
+ uiControlsAreTheSame = false;
1560
+ break;
1561
+ }
1562
+ }
1563
+ if (uiControlsAreTheSame) {
1564
+ for (let index = 0; index < this._layout.ControlFields.length; index++) {
1565
+ const uiControlField = this._layout.ControlFields[index];
1566
+ uiControlField.calcTitleColumnWidthString = this.lastColumnsWidth[index].calcTitleColumnWidthString;
1567
+ uiControlField.calcColumnWidthString = this.lastColumnsWidth[index].calcColumnWidthString;
1568
+ totalCalcColsWidth += this.lastColumnsWidth[index].calcColumnWidth;
1569
+ }
1570
+ widthToSet = (totalCalcColsWidth + this.getSelectionCheckBoxWidth()) + 'px';
1571
+ this.setColumnsWidth(widthToSet);
1572
+ res = true;
1573
+ }
1574
+ }
1575
+ }
1576
+ return res;
1577
+ }
1578
+ setColumnsWidth(widthToSet) {
1579
+ this.renderer.setStyle(this.hostElement.nativeElement, 'width', widthToSet);
1580
+ setTimeout(() => {
1581
+ // Do this only after UI is change cause the property isTable is Input and can refresh after this thread.
1582
+ if (this.virtualScroller) {
1583
+ this.renderer.setStyle(this.virtualScroller.contentElementRef.nativeElement, 'width', widthToSet === 'inherit' ? '100%' : widthToSet);
1584
+ }
1585
+ }, 0);
1586
+ }
1541
1587
  calcColumnsWidth() {
1542
1588
  const fixedMultiple = 3.78; // for converting em to pixel.
1543
1589
  const length = this._layout.ControlFields.length;
1544
- const selectionCheckBoxWidth = this.selectionTypeForActions === 'multi' ? 44 : 0;
1545
1590
  // Is table AND there is at least one column of width type of percentage.
1546
1591
  if (this.isTable) {
1547
1592
  if (this._layout && this._layout.ControlFields) {
@@ -1557,6 +1602,7 @@ class PepListComponent {
1557
1602
  }
1558
1603
  }
1559
1604
  let totalCalcColsWidth = 0;
1605
+ let widthToSet = 'inherit';
1560
1606
  // Calc by percentage
1561
1607
  if (this.hasColumnWidthOfTypePercentage) {
1562
1608
  const totalColsWidth = this._layout.ControlFields.map((cf) => cf.ColumnWidth).reduce((sum, current) => sum + current);
@@ -1572,7 +1618,6 @@ class PepListComponent {
1572
1618
  totalCalcColsWidth += uiControlField.calcColumnWidth;
1573
1619
  }
1574
1620
  }
1575
- this.renderer.setStyle(this.hostElement.nativeElement, 'width', 'inherit');
1576
1621
  }
1577
1622
  else {
1578
1623
  for (let index = 0; index < length; index++) {
@@ -1580,16 +1625,16 @@ class PepListComponent {
1580
1625
  .ControlFields[index];
1581
1626
  const currentFixedWidth = Math.floor(uiControlField.ColumnWidth * fixedMultiple);
1582
1627
  if (index === length - 1) {
1583
- uiControlField.calcTitleColumnWidthString = currentFixedWidth + 'px';
1584
- uiControlField.calcColumnWidthString = currentFixedWidth + 'px';
1628
+ uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString = currentFixedWidth + 'px';
1585
1629
  }
1586
1630
  else {
1587
1631
  uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString = currentFixedWidth + 'px';
1588
1632
  }
1589
1633
  totalCalcColsWidth += currentFixedWidth;
1590
1634
  }
1591
- this.renderer.setStyle(this.hostElement.nativeElement, 'width', totalCalcColsWidth + selectionCheckBoxWidth + 'px');
1635
+ widthToSet = (totalCalcColsWidth + this.getSelectionCheckBoxWidth()) + 'px';
1592
1636
  }
1637
+ this.setColumnsWidth(widthToSet);
1593
1638
  }
1594
1639
  calcObjectHeight() {
1595
1640
  setTimeout(() => {
@@ -1991,6 +2036,9 @@ class PepListComponent {
1991
2036
  }
1992
2037
  }
1993
2038
  }
2039
+ if (!this.isTable) {
2040
+ this.lastColumnsWidth = [];
2041
+ }
1994
2042
  this.setLayout();
1995
2043
  // setTimeout(() => {
1996
2044
  this.onListLoad();
@@ -2115,13 +2163,14 @@ class PepListComponent {
2115
2163
  onWinResize(e) {
2116
2164
  this.refresh();
2117
2165
  this.containerWidth = 0;
2166
+ this.lastColumnsWidth = [];
2118
2167
  this.setLayout();
2119
2168
  }
2120
2169
  onListResizeStart(event, columnKey) {
2121
2170
  this.pressedColumn = columnKey;
2122
2171
  this.startX = event.x;
2123
2172
  this.startWidth = event.target.closest('.header-column').offsetWidth;
2124
- this.tableStartWidth = this.virtualScroller?.contentElementRef.nativeElement.offsetWidth;
2173
+ this.tableStartWidth = this.hostElement.nativeElement.offsetWidth; // this.virtualScroller?.contentElementRef.nativeElement.offsetWidth;
2125
2174
  }
2126
2175
  onListResize(event) {
2127
2176
  if (this.pressedColumn.length > 0) {
@@ -2154,9 +2203,10 @@ class PepListComponent {
2154
2203
  }
2155
2204
  totalCalcColsWidth += uiControlField.calcColumnWidth;
2156
2205
  }
2157
- this.renderer.setStyle(this.hostElement.nativeElement, 'width', this.tableStartWidth + widthToAdd + 'px');
2206
+ const widthToSet = (this.tableStartWidth + widthToAdd) + 'px';
2207
+ this.setColumnsWidth(widthToSet);
2208
+ this.checkForChanges = new Date().getTime();
2158
2209
  }
2159
- this.checkForChanges = new Date().getTime();
2160
2210
  }
2161
2211
  }
2162
2212
  onListResizeEnd(event) {
@@ -2171,6 +2221,17 @@ class PepListComponent {
2171
2221
  this.initResizeData();
2172
2222
  }, 0);
2173
2223
  }
2224
+ this.lastColumnsWidth = [];
2225
+ // Set the last columns width
2226
+ for (let index = 0; index < this._layout.ControlFields.length; index++) {
2227
+ const uiControlField = this._layout.ControlFields[index];
2228
+ this.lastColumnsWidth.push({
2229
+ columnAPIName: uiControlField.ApiName,
2230
+ calcColumnWidth: uiControlField.calcColumnWidth,
2231
+ calcTitleColumnWidthString: uiControlField.calcTitleColumnWidthString,
2232
+ calcColumnWidthString: uiControlField.calcColumnWidthString
2233
+ });
2234
+ }
2174
2235
  event.stopPropagation();
2175
2236
  }
2176
2237
  }
@@ -2306,7 +2367,7 @@ PepListComponent.UN_SELECTED_ITEMS_STATE_KEY = 'UnSelectedItems';
2306
2367
  PepListComponent.ALL_SELECTED_STATE_KEY = 'AllSelected';
2307
2368
  PepListComponent.SORT_BY_STATE_KEY = 'SortBy';
2308
2369
  PepListComponent.ASCENDING_STATE_KEY = 'IsAscending';
2309
- PepListComponent.MINIMUM_COLUMN_WIDTH = 48;
2370
+ PepListComponent.MINIMUM_COLUMN_WIDTH = 72;
2310
2371
  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 });
2311
2372
  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" }] });
2312
2373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListComponent, decorators: [{