@pepperi-addons/ngx-lib 0.4.0-angular14.7 → 0.4.0-beta.1

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 (235) hide show
  1. package/chips/chips.component.d.ts +93 -0
  2. package/chips/chips.component.theme.scss +58 -0
  3. package/chips/chips.model.d.ts +13 -0
  4. package/chips/chips.module.d.ts +20 -0
  5. package/chips/chips.service.d.ts +15 -0
  6. package/chips/index.d.ts +5 -0
  7. package/chips/public-api.d.ts +3 -0
  8. package/color/color-picker.component.d.ts +1 -1
  9. package/core/common/model/wapi.model.d.ts +1 -0
  10. package/core/common/services/addon.service.d.ts +13 -9
  11. package/core/common/services/utilities.service.d.ts +5 -4
  12. package/core/customization/customization.model.d.ts +7 -0
  13. package/esm2020/address/address.component.mjs +1 -1
  14. package/esm2020/attachment/attachment.component.mjs +1 -1
  15. package/esm2020/checkbox/checkbox.component.mjs +1 -1
  16. package/esm2020/chips/chips.component.mjs +158 -0
  17. package/esm2020/chips/chips.model.mjs +2 -0
  18. package/esm2020/chips/chips.module.mjs +81 -0
  19. package/esm2020/chips/chips.service.mjs +44 -0
  20. package/esm2020/chips/pepperi-addons-ngx-lib-chips.mjs +5 -0
  21. package/esm2020/chips/public-api.mjs +7 -0
  22. package/esm2020/color/color-picker.component.mjs +4 -4
  23. package/esm2020/color/color.component.mjs +1 -1
  24. package/esm2020/core/common/model/wapi.model.mjs +1 -1
  25. package/esm2020/core/common/services/addon.service.mjs +42 -38
  26. package/esm2020/core/common/services/utilities.service.mjs +66 -13
  27. package/esm2020/core/customization/customization.model.mjs +10 -1
  28. package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -5
  29. package/esm2020/core/http/services/loader.service.mjs +4 -4
  30. package/esm2020/date/date.component.mjs +3 -3
  31. package/esm2020/field-title/field-title.component.mjs +6 -3
  32. package/esm2020/form/field-generator.component.mjs +7 -7
  33. package/esm2020/form/form.component.mjs +12 -3
  34. package/esm2020/form/form.module.mjs +8 -3
  35. package/esm2020/form/internal-button.component.mjs +1 -1
  36. package/esm2020/form/internal-carusel.component.mjs +11 -13
  37. package/esm2020/form/internal-field-generator.component.mjs +3 -3
  38. package/esm2020/form/internal-form.component.mjs +4 -2
  39. package/esm2020/form/internal-list.component.mjs +5 -2
  40. package/esm2020/form/internal-page.component.mjs +15 -18
  41. package/esm2020/group-buttons/group-buttons.component.mjs +8 -4
  42. package/esm2020/icon/icon-generated-all.model.mjs +8 -1
  43. package/esm2020/icon/icon-generated.model.mjs +29 -1
  44. package/esm2020/image/image.component.mjs +1 -1
  45. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +3 -91
  46. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +1 -56
  47. package/esm2020/link/link.component.mjs +10 -11
  48. package/esm2020/list/list-pager.component.mjs +1 -1
  49. package/esm2020/list/list.component.mjs +5 -2
  50. package/esm2020/list/virtual-scroller.mjs +11 -10
  51. package/esm2020/menu/menu.component.mjs +11 -3
  52. package/esm2020/ngx-lib.module.mjs +4 -2
  53. package/esm2020/page-layout/page-layout.component.mjs +3 -3
  54. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
  55. package/esm2020/quantity-selector/quantity-selector.component.mjs +24 -4
  56. package/esm2020/query-builder/common/services/query-structure.service.mjs +12 -10
  57. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
  58. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +1 -1
  59. package/esm2020/query-builder/query-builder.module.mjs +8 -3
  60. package/esm2020/remote-loader/addon-block-loader.component.mjs +23 -5
  61. package/esm2020/remote-loader/addon-block-loader.service.mjs +9 -8
  62. package/esm2020/remote-loader/public-api.mjs +2 -1
  63. package/esm2020/remote-loader/remote-loader-element.component.mjs +109 -0
  64. package/esm2020/remote-loader/remote-loader.component.mjs +40 -62
  65. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  66. package/esm2020/remote-loader/remote-loader.module.mjs +12 -3
  67. package/esm2020/remote-loader/remote-loader.service.mjs +50 -26
  68. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +1 -1
  69. package/esm2020/select/select.component.mjs +33 -7
  70. package/esm2020/side-bar/side-bar.component.mjs +11 -27
  71. package/esm2020/side-bar/side-bar.module.mjs +7 -3
  72. package/esm2020/signature/signature.component.mjs +1 -1
  73. package/esm2020/size-detector/size-detector.component.mjs +2 -2
  74. package/esm2020/slider/slider.component.mjs +1 -1
  75. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  76. package/esm2020/smart-filters/common/model/base-filter-component.mjs +1 -1
  77. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  78. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
  79. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  80. package/esm2020/smart-filters/smart-filters.module.mjs +8 -3
  81. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
  82. package/esm2020/textarea/textarea.component.mjs +1 -1
  83. package/esm2020/textbox/textbox.component.mjs +55 -15
  84. package/esm2020/textbox-icon/textbox-icon.component.mjs +2 -2
  85. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
  86. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  87. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  88. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  89. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  90. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  91. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +287 -0
  92. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  93. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  94. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  95. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +2 -2
  96. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  97. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  98. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  99. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +53 -40
  100. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  101. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  102. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  103. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +36 -1
  104. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  105. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +1 -1
  106. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  107. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  108. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  109. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +8 -9
  110. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  111. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +15 -11
  112. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  113. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -2
  114. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  115. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  116. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  117. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  118. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  119. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  120. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  121. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +17 -10
  122. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  123. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +252 -108
  124. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  125. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  126. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  127. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +32 -6
  128. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  129. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  130. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  131. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +1 -1
  132. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  133. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  134. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  135. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +1 -1
  136. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  137. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +13 -8
  138. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  139. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  140. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  141. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  142. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  143. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +58 -18
  144. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  145. package/fesm2015/pepperi-addons-ngx-lib.mjs +130 -58
  146. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  147. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
  148. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  149. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  150. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  151. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  152. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  153. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +287 -0
  154. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  155. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  156. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  157. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +2 -2
  158. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  159. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  160. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  161. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +56 -40
  162. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  163. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  164. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  165. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +36 -1
  166. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  167. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +1 -1
  168. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  169. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  170. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  171. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +8 -9
  172. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  173. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +15 -11
  174. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  175. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -2
  176. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  177. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  178. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  179. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  180. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  181. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  182. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  183. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +17 -10
  184. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  185. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +233 -101
  186. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  187. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  188. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  189. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +32 -6
  190. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  191. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  192. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  193. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +1 -1
  194. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  195. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  196. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  197. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +1 -1
  198. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  199. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +13 -8
  200. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  201. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  202. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  203. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  204. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  205. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +57 -18
  206. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  207. package/fesm2020/pepperi-addons-ngx-lib.mjs +127 -59
  208. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  209. package/field-title/field-title.component.d.ts +2 -1
  210. package/form/field-generator.component.d.ts +1 -1
  211. package/form/internal-carusel.component.d.ts +1 -3
  212. package/form/internal-page.component.d.ts +2 -4
  213. package/group-buttons/group-buttons.component.d.ts +2 -1
  214. package/icon/icon-generated-all.model.d.ts +7 -0
  215. package/icon/icon-generated.model.d.ts +29 -1
  216. package/link/link.component.d.ts +2 -3
  217. package/menu/menu.component.d.ts +2 -0
  218. package/package.json +10 -1
  219. package/page-layout/page-layout.component.d.ts +1 -1
  220. package/quantity-selector/quantity-selector.component.d.ts +7 -1
  221. package/query-builder/common/services/query-structure.service.d.ts +3 -4
  222. package/remote-loader/addon-block-loader.component.d.ts +10 -6
  223. package/remote-loader/addon-block-loader.service.d.ts +2 -3
  224. package/remote-loader/public-api.d.ts +1 -0
  225. package/remote-loader/remote-loader-element.component.d.ts +30 -0
  226. package/remote-loader/remote-loader.component.d.ts +3 -5
  227. package/remote-loader/remote-loader.model.d.ts +16 -11
  228. package/remote-loader/remote-loader.module.d.ts +8 -6
  229. package/remote-loader/remote-loader.service.d.ts +5 -7
  230. package/select/select.component.d.ts +10 -4
  231. package/side-bar/side-bar.component.d.ts +3 -3
  232. package/src/assets/i18n/en.ngx-lib.json +4 -0
  233. package/src/core/style/components/checkbox.scss +20 -1
  234. package/src/core/style/components/general.scss +5 -4
  235. package/textbox/textbox.component.d.ts +18 -4
@@ -1,16 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Directive, Optional, Pipe, Input, HostListener, Inject, PLATFORM_ID, NgModule } from '@angular/core';
3
- import { formatPercent, formatCurrency, formatNumber, DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
3
+ import { DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
4
4
  import * as i3 from '@angular/common/http';
5
5
  import { HttpResponse, HTTP_INTERCEPTORS, HttpHeaders, HttpClientModule } from '@angular/common/http';
6
6
  import * as i3$1 from '@angular/forms';
7
- import { FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
7
+ import { FormControl, Validators, ReactiveFormsModule, FormBuilder } from '@angular/forms';
8
8
  import { throwError, BehaviorSubject, Subject } from 'rxjs';
9
- import { catchError, distinctUntilChanged, finalize, tap } from 'rxjs/operators';
9
+ import { catchError, filter, distinctUntilChanged, finalize, tap } from 'rxjs/operators';
10
10
  import * as i1 from '@ngx-translate/core';
11
11
  import { TranslateModule } from '@ngx-translate/core';
12
12
  import * as i1$1 from '@angular/platform-browser';
13
13
  import { _isNumberValue, coerceNumberProperty } from '@angular/cdk/coercion';
14
+ import { createCustomElement } from '@angular/elements';
14
15
  import { MultiTranslateHttpLoader } from 'ngx-translate-multi-http-loader';
15
16
  import * as i6 from '@angular/router';
16
17
 
@@ -40,7 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
40
41
  class PepLoaderService {
41
42
  constructor() {
42
43
  this.counter = 0;
43
- this.showLoaderSubject = new BehaviorSubject(false);
44
+ this.showLoaderSubject = new BehaviorSubject(undefined);
44
45
  // Raise custom event for showing the loader.
45
46
  this.onChanged$.subscribe((show) => {
46
47
  this.showLoaderChanged(show);
@@ -49,7 +50,7 @@ class PepLoaderService {
49
50
  get onChanged$() {
50
51
  return this.showLoaderSubject
51
52
  .asObservable()
52
- .pipe(distinctUntilChanged());
53
+ .pipe(filter(v => v !== undefined), distinctUntilChanged());
53
54
  }
54
55
  showLoaderChanged(show) {
55
56
  const eventData = {
@@ -89,14 +90,13 @@ class PepLoaderInterceptor {
89
90
  }
90
91
  intercept(req, next) {
91
92
  // console.warn('LoaderInterceptor');
93
+ let newVer = 2;
92
94
  const loaderService = this.injector.get(PepLoaderService);
95
+ // console.log('show', req.url);
93
96
  loaderService.show();
94
97
  return next.handle(req).pipe(
95
98
  // delay(3000),
96
- catchError((err) => {
97
- loaderService.hide();
98
- return throwError(err);
99
- }), finalize(() => loaderService.hide()));
99
+ catchError((err) => throwError(err)), finalize(() => loaderService.hide()));
100
100
  // return next.handle(req).pipe(map(event => {
101
101
  // if (event instanceof HttpResponse) {
102
102
  // loaderService.hide();
@@ -689,6 +689,9 @@ class PepUtilitiesService {
689
689
  this.translate = translate;
690
690
  this.culture = 'en-US';
691
691
  this.culture = this.translate?.getBrowserCultureLang() || 'en-US';
692
+ // try {
693
+ // import(`@angular/common/locales/global/${this.culture}`);
694
+ // } catch {}
692
695
  }
693
696
  changeDecimalSeperator(value, reverse = false) {
694
697
  // If the decimal separator is ','
@@ -729,6 +732,19 @@ class PepUtilitiesService {
729
732
  str = new Array(size).join('0').concat(str);
730
733
  return str;
731
734
  }
735
+ isCurrencyShouldBeOnRight(currencySymbol) {
736
+ let res = false;
737
+ if (currencySymbol == "€" ||
738
+ currencySymbol == "₪" ||
739
+ currencySymbol == "Ft" ||
740
+ currencySymbol == "Kč" ||
741
+ currencySymbol == "руб" ||
742
+ currencySymbol == "zł" ||
743
+ currencySymbol == "kr.") {
744
+ res = true;
745
+ }
746
+ return res;
747
+ }
732
748
  parseDate(dateStr, showTime = false) {
733
749
  let retVal = null;
734
750
  if (dateStr !== '') {
@@ -790,44 +806,80 @@ class PepUtilitiesService {
790
806
  const div = document.createElement('DIV');
791
807
  // div.className = 'svg-icon';
792
808
  // Add class svg-icon
793
- div.innerHTML = svgContent.replace('<svg ', '<svg class="svg-icon" ');
809
+ if (svgContent?.length > 0) {
810
+ div.innerHTML = svgContent.replace('<svg ', '<svg class="svg-icon" ');
811
+ }
794
812
  return (div.querySelector('svg') ||
795
813
  document.createElementNS('http://www.w3.org/2000/svg', 'path'));
796
814
  }
797
- formatPercent(value, digitsInfo = '1.0-2') {
815
+ // formatPercent(value: any, digitsInfo = '1.0-2') {
816
+ formatPercent(value, minFractionDigits = 0, maxFractionDigits = 2) {
817
+ minFractionDigits = this.coerceNumberProperty(minFractionDigits, null);
818
+ maxFractionDigits = this.coerceNumberProperty(maxFractionDigits, null);
798
819
  const number = this.coerceNumberProperty(value);
799
820
  if (number === 0) {
800
821
  return '0%';
801
822
  }
802
823
  else {
803
- return formatPercent(number / 100, this.culture, digitsInfo);
804
- }
805
- }
806
- formatCurrency(value, currencySign = '', digitsInfo = '1.2-2') {
824
+ // return formatPercent(number / 100, this.culture, digitsInfo);
825
+ return new Intl.NumberFormat(this.culture, {
826
+ style: 'percent',
827
+ minimumFractionDigits: minFractionDigits || 0,
828
+ maximumFractionDigits: maxFractionDigits || Math.max(2, minFractionDigits),
829
+ }).format(number / 100);
830
+ }
831
+ }
832
+ // formatCurrency(value: any, currencySign = '', digitsInfo = '1.2-2') {
833
+ formatCurrency(value, currencySign = '', minFractionDigits = 0, maxFractionDigits = 2) {
834
+ minFractionDigits = this.coerceNumberProperty(minFractionDigits, null);
835
+ maxFractionDigits = this.coerceNumberProperty(maxFractionDigits, null);
836
+ let res = '';
807
837
  const number = this.coerceNumberProperty(value);
838
+ const styleOptions = {
839
+ // style: 'currency',
840
+ // currencySign: currencySign,
841
+ minimumFractionDigits: minFractionDigits || 0,
842
+ maximumFractionDigits: maxFractionDigits || Math.max(2, minFractionDigits),
843
+ };
808
844
  if (number === 0) {
809
- return formatCurrency(0, this.culture, currencySign, undefined, digitsInfo);
845
+ // return formatCurrency(0, this.culture, currencySign, undefined, digitsInfo);
846
+ res = new Intl.NumberFormat(this.culture, styleOptions).format(0);
810
847
  }
811
848
  else {
812
- return formatCurrency(value, this.culture, currencySign, undefined, digitsInfo);
849
+ // return formatCurrency(value, this.culture, currencySign, undefined, digitsInfo);
850
+ res = new Intl.NumberFormat(this.culture, styleOptions).format(number);
813
851
  }
852
+ res = this.isCurrencyShouldBeOnRight(currencySign) ? `${res} ${currencySign}` : `${currencySign} ${res}`;
853
+ return res;
814
854
  }
815
- formatDecimal(value, digitsInfo = '1.2-2') {
855
+ // formatDecimal(value: any, digitsInfo = '1.2-2') {
856
+ formatDecimal(value, minFractionDigits = 2, maxFractionDigits = 2) {
857
+ minFractionDigits = this.coerceNumberProperty(minFractionDigits, null);
858
+ maxFractionDigits = this.coerceNumberProperty(maxFractionDigits, null);
816
859
  const number = this.coerceNumberProperty(value);
817
860
  if (number === 0) {
818
861
  return '0';
819
862
  }
820
863
  else {
821
- return formatNumber(value, this.culture, digitsInfo);
864
+ // return formatNumber(value, this.culture, digitsInfo);
865
+ return new Intl.NumberFormat(this.culture, {
866
+ minimumFractionDigits: minFractionDigits || Math.min(2, maxFractionDigits),
867
+ maximumFractionDigits: maxFractionDigits || Math.max(2, minFractionDigits),
868
+ }).format(number);
822
869
  }
823
870
  }
824
- formatNumber(value, digitsInfo = '1.0-0') {
871
+ // formatNumber(value: any, digitsInfo = '1.0-0'): string {
872
+ formatNumber(value) {
825
873
  const number = this.coerceNumberProperty(value);
826
874
  if (number === 0) {
827
875
  return '0';
828
876
  }
829
877
  else {
830
- return formatNumber(value, this.culture, digitsInfo);
878
+ // return formatNumber(value, this.culture, digitsInfo);
879
+ return new Intl.NumberFormat(this.culture, {
880
+ minimumFractionDigits: 0,
881
+ maximumFractionDigits: 0,
882
+ }).format(number);
831
883
  }
832
884
  }
833
885
  /**
@@ -874,7 +926,9 @@ class PepUtilitiesService {
874
926
  }
875
927
  coerceNumberProperty(value, fallbackValue = 0) {
876
928
  // If the decimal separator is ',' change it to '.'
877
- value = this.changeDecimalSeperator(value);
929
+ if (value?.length > 0) {
930
+ value = this.changeDecimalSeperator(value);
931
+ }
878
932
  return coerceNumberProperty(value, fallbackValue);
879
933
  }
880
934
  }
@@ -2314,38 +2368,36 @@ class PepAddonService {
2314
2368
  this.fileService = fileService;
2315
2369
  this.route = route;
2316
2370
  this.PAGES_ADDON_UUID = '50062e0c-9967-4ed4-9102-f2bc50602d41';
2317
- this.ADDON_ASSETS_PATH_KEY = 'AddonAssetsPath';
2371
+ // private readonly ADDON_ASSETS_PATH_KEY = 'AddonAssetsPath';
2318
2372
  this.ADDONS_DICTIONARY_ASSETS_PATH_KEY = 'AddonsDictionaryAssetsPath';
2319
2373
  this.ADDON_API_RELATIVE_PATH = '/addons/api';
2320
2374
  this.ADDON_API_ASYNC_RELATIVE_PATH = `${this.ADDON_API_RELATIVE_PATH}/async`;
2321
2375
  //
2322
2376
  }
2323
2377
  get devServer() {
2324
- return this.route.snapshot.queryParamMap.get('devServer') === 'true';
2378
+ return this.route ? this.route.snapshot.queryParamMap.get('devServer') === 'true' : false;
2325
2379
  }
2326
2380
  getAddonBaseRelativePath(isAsync = false) {
2327
2381
  return isAsync
2328
2382
  ? this.ADDON_API_ASYNC_RELATIVE_PATH
2329
2383
  : this.ADDON_API_RELATIVE_PATH;
2330
2384
  }
2331
- getAddonStaticFolder(subAddonUUID = '') {
2332
- if (subAddonUUID.length > 0) {
2333
- const addonsDictionary = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY);
2334
- return addonsDictionary && addonsDictionary[subAddonUUID] ? addonsDictionary[subAddonUUID] : '';
2335
- }
2336
- else {
2337
- return this.sessionService.getObject(this.ADDON_ASSETS_PATH_KEY) || '';
2338
- }
2339
- }
2340
- setAddonStaticFolder(path, subAddonUUID = '') {
2341
- if (subAddonUUID.length > 0) {
2342
- const addonsDictionary = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY) ?? {};
2343
- addonsDictionary[subAddonUUID] = path;
2344
- this.sessionService.setObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY, addonsDictionary);
2345
- }
2346
- else {
2347
- return this.sessionService.setObject(this.ADDON_ASSETS_PATH_KEY, path);
2348
- }
2385
+ getAddonStaticFolder(addonUUID) {
2386
+ // if (addonUUID.length > 0) {
2387
+ const addonsDictionary = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY);
2388
+ return addonsDictionary && addonsDictionary[addonUUID] ? addonsDictionary[addonUUID] : '';
2389
+ // } else {
2390
+ // return this.sessionService.getObject(this.ADDON_ASSETS_PATH_KEY) || '';
2391
+ // }
2392
+ }
2393
+ setAddonStaticFolder(path, addonUUID) {
2394
+ // if (addonUUID.length > 0) {
2395
+ const addonsDictionary = this.sessionService.getObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY) ?? {};
2396
+ addonsDictionary[addonUUID] = path;
2397
+ this.sessionService.setObject(this.ADDONS_DICTIONARY_ASSETS_PATH_KEY, addonsDictionary);
2398
+ // } else {
2399
+ // return this.sessionService.setObject(this.ADDON_ASSETS_PATH_KEY, path);
2400
+ // }
2349
2401
  }
2350
2402
  getServerBaseUrl(addonUUID, fileName = '', isAsync = false, localhostPort = 4500) {
2351
2403
  const fileToAdd = fileName.length > 0 ? `/${fileName}` : '';
@@ -2386,8 +2438,8 @@ class PepAddonService {
2386
2438
  this.loaderService.hide();
2387
2439
  });
2388
2440
  }
2389
- getNgxLibTranslationResource(subAddonUUID = '', libName = 'ngx-lib') {
2390
- const addonStaticFolder = this.getAddonStaticFolder(subAddonUUID);
2441
+ getNgxLibTranslationResource(addonUUID, libName = 'ngx-lib') {
2442
+ const addonStaticFolder = this.getAddonStaticFolder(addonUUID);
2391
2443
  const translationsPath = this.fileService.getAssetsTranslationsPath(addonStaticFolder, libName);
2392
2444
  const translationsSuffix = this.fileService.getAssetsTranslationsSuffix(libName);
2393
2445
  return {
@@ -2395,8 +2447,8 @@ class PepAddonService {
2395
2447
  suffix: translationsSuffix,
2396
2448
  };
2397
2449
  }
2398
- getAddonTranslationResource(subAddonUUID = '') {
2399
- const addonStaticFolder = this.getAddonStaticFolder(subAddonUUID);
2450
+ getAddonTranslationResource(addonUUID) {
2451
+ const addonStaticFolder = this.getAddonStaticFolder(addonUUID);
2400
2452
  const defaultSubFolder = 'assets/i18n/';
2401
2453
  return {
2402
2454
  prefix: addonStaticFolder.length > 0 ? `${addonStaticFolder}${defaultSubFolder}` : `/${defaultSubFolder}`,
@@ -2409,38 +2461,43 @@ class PepAddonService {
2409
2461
  getPagesAddonUUID() {
2410
2462
  return this.PAGES_ADDON_UUID;
2411
2463
  }
2412
- // Deprecated need to delete in next major.
2413
- static createDefaultMultiTranslateLoader(http, fileService, addonService, subAddonUUID = '') {
2414
- const ngxLibTranslationResource = addonService.getNgxLibTranslationResource(subAddonUUID);
2415
- const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
2416
- return addonService.translateService.createMultiTranslateLoader([
2417
- ngxLibTranslationResource,
2418
- addonTranslationResource
2419
- ]);
2464
+ setShellRouterData(data) {
2465
+ const eventData = {
2466
+ detail: data,
2467
+ };
2468
+ const customEvent = new CustomEvent('set-router-data', eventData);
2469
+ window.dispatchEvent(customEvent);
2470
+ }
2471
+ defineCustomElement(elementName, component, injector) {
2472
+ if (!customElements.get(elementName)) {
2473
+ customElements.define(elementName, createCustomElement(component, { injector: injector }));
2474
+ }
2420
2475
  }
2421
- static createMultiTranslateLoader(addonService, libsName = ['ngx-lib'], subAddonUUID = '') {
2476
+ static createMultiTranslateLoader(addonUUID, addonService, libsName = ['ngx-lib']) {
2422
2477
  const ngxLibTranslationResources = [];
2423
2478
  if (libsName?.length > 0) {
2424
2479
  for (let index = 0; index < libsName.length; index++) {
2425
2480
  const libName = libsName[index];
2426
- ngxLibTranslationResources.push(addonService.getNgxLibTranslationResource(subAddonUUID, libName));
2481
+ ngxLibTranslationResources.push(addonService.getNgxLibTranslationResource(addonUUID, libName));
2427
2482
  }
2428
2483
  }
2429
- const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
2484
+ const addonTranslationResource = addonService.getAddonTranslationResource(addonUUID);
2430
2485
  return addonService.translateService.createMultiTranslateLoader([
2431
2486
  ...ngxLibTranslationResources,
2432
2487
  addonTranslationResource
2433
2488
  ]);
2434
2489
  }
2435
2490
  }
2436
- PepAddonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, deps: [{ token: PepSessionService }, { token: PepHttpService }, { token: PepLoaderService }, { token: PepTranslateService }, { token: PepFileService }, { token: i6.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
2491
+ PepAddonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, deps: [{ token: PepSessionService }, { token: PepHttpService }, { token: PepLoaderService }, { token: PepTranslateService }, { token: PepFileService }, { token: i6.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
2437
2492
  PepAddonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, providedIn: 'root' });
2438
2493
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonService, decorators: [{
2439
2494
  type: Injectable,
2440
2495
  args: [{
2441
2496
  providedIn: 'root',
2442
2497
  }]
2443
- }], ctorParameters: function () { return [{ type: PepSessionService }, { type: PepHttpService }, { type: PepLoaderService }, { type: PepTranslateService }, { type: PepFileService }, { type: i6.ActivatedRoute }]; } });
2498
+ }], ctorParameters: function () { return [{ type: PepSessionService }, { type: PepHttpService }, { type: PepLoaderService }, { type: PepTranslateService }, { type: PepFileService }, { type: i6.ActivatedRoute, decorators: [{
2499
+ type: Optional
2500
+ }] }]; } });
2444
2501
 
2445
2502
  class PepColorService {
2446
2503
  constructor() {
@@ -3320,11 +3377,14 @@ class PepTextboxField extends PepFieldBase {
3320
3377
  super(options);
3321
3378
  this.controlType = 'textbox';
3322
3379
  this.type = 'text';
3380
+ this.digitsNumberAfterDecimalPoint = NaN;
3323
3381
  this.type = options.type || 'text';
3382
+ this.regex = options.regex;
3324
3383
  this.update(options);
3325
3384
  }
3326
3385
  update(options) {
3327
3386
  super.update(options);
3387
+ this.digitsNumberAfterDecimalPoint = options.digitsNumberAfterDecimalPoint ?? NaN;
3328
3388
  if (this.type === 'link') {
3329
3389
  // DI-11292 - add changes for link field for the "Read Only display value" prop
3330
3390
  this.formattedValue =
@@ -3350,6 +3410,9 @@ class PepTextboxField extends PepFieldBase {
3350
3410
  validators.push(Validators.max(this.maxValue));
3351
3411
  }
3352
3412
  }
3413
+ if (this.type === 'text' && this.regex) {
3414
+ validators.push(Validators.pattern(this.regex));
3415
+ }
3353
3416
  return validators;
3354
3417
  }
3355
3418
  }
@@ -3420,12 +3483,14 @@ class PepQuantitySelectorField extends PepFieldBase {
3420
3483
  super(options);
3421
3484
  this.controlType = 'qs';
3422
3485
  this.notificationInfo = {};
3486
+ this.digitsNumberAfterDecimalPoint = NaN;
3423
3487
  this.updatedDataCount = 0;
3424
3488
  this.type = options.type || 'qs';
3425
3489
  this.update(options);
3426
3490
  }
3427
3491
  update(options) {
3428
3492
  super.update(options);
3493
+ this.digitsNumberAfterDecimalPoint = options.digitsNumberAfterDecimalPoint ?? NaN;
3429
3494
  this.allowDecimal = options.allowDecimal || false;
3430
3495
  this.notificationInfo = options.notificationInfo;
3431
3496
  this.updatedDataCount += 1;
@@ -3455,6 +3520,7 @@ class PepSelectField extends PepFieldBase {
3455
3520
  this.controlType = 'select';
3456
3521
  this.options = [];
3457
3522
  this.type = options.type || 'select';
3523
+ this.emptyOption = options.emptyOption;
3458
3524
  this.update(options);
3459
3525
  }
3460
3526
  update(options) {
@@ -4498,6 +4564,7 @@ PepNgxLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
4498
4564
  PepLayoutService,
4499
4565
  PepPortalService,
4500
4566
  PepScrollToService,
4567
+ FormBuilder
4501
4568
  ], imports: [CommonModule,
4502
4569
  HttpClientModule,
4503
4570
  ReactiveFormsModule, TranslateModule] });
@@ -4543,6 +4610,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
4543
4610
  PepLayoutService,
4544
4611
  PepPortalService,
4545
4612
  PepScrollToService,
4613
+ FormBuilder
4546
4614
  ]
4547
4615
  }]
4548
4616
  }] });