@pepperi-addons/ngx-lib 0.4.0-angular14.6 → 0.4.0-angular14.60

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 (234) hide show
  1. package/chips/chips.component.d.ts +88 -0
  2. package/chips/chips.component.theme.scss +58 -0
  3. package/chips/chips.model.d.ts +9 -0
  4. package/chips/chips.module.d.ts +20 -0
  5. package/chips/chips.service.d.ts +14 -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 +11 -9
  11. package/core/common/services/utilities.service.d.ts +5 -4
  12. package/core/customization/customization.model.d.ts +5 -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 +139 -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 +40 -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 +50 -38
  26. package/esm2020/core/common/services/utilities.service.mjs +66 -13
  27. package/esm2020/core/customization/customization.model.mjs +6 -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 +7 -1
  43. package/esm2020/icon/icon-generated.model.mjs +25 -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/menu/menu.component.mjs +11 -3
  51. package/esm2020/ngx-lib.module.mjs +4 -2
  52. package/esm2020/page-layout/page-layout.component.mjs +3 -3
  53. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
  54. package/esm2020/quantity-selector/quantity-selector.component.mjs +24 -4
  55. package/esm2020/query-builder/common/services/query-structure.service.mjs +12 -10
  56. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
  57. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +1 -1
  58. package/esm2020/query-builder/query-builder.module.mjs +8 -3
  59. package/esm2020/remote-loader/addon-block-loader.component.mjs +13 -5
  60. package/esm2020/remote-loader/addon-block-loader.service.mjs +6 -7
  61. package/esm2020/remote-loader/public-api.mjs +2 -1
  62. package/esm2020/remote-loader/remote-loader-element.component.mjs +100 -0
  63. package/esm2020/remote-loader/remote-loader.component.mjs +39 -62
  64. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  65. package/esm2020/remote-loader/remote-loader.module.mjs +12 -3
  66. package/esm2020/remote-loader/remote-loader.service.mjs +34 -28
  67. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +1 -1
  68. package/esm2020/select/select.component.mjs +33 -7
  69. package/esm2020/side-bar/side-bar.component.mjs +11 -27
  70. package/esm2020/side-bar/side-bar.module.mjs +7 -3
  71. package/esm2020/signature/signature.component.mjs +1 -1
  72. package/esm2020/size-detector/size-detector.component.mjs +2 -2
  73. package/esm2020/slider/slider.component.mjs +1 -1
  74. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  75. package/esm2020/smart-filters/common/model/base-filter-component.mjs +1 -1
  76. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  77. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
  78. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  79. package/esm2020/smart-filters/smart-filters.module.mjs +8 -3
  80. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
  81. package/esm2020/textarea/textarea.component.mjs +1 -1
  82. package/esm2020/textbox/textbox.component.mjs +33 -14
  83. package/esm2020/textbox-icon/textbox-icon.component.mjs +2 -2
  84. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
  85. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  86. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  87. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  88. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  89. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  90. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +264 -0
  91. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  92. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  93. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  94. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +2 -2
  95. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  96. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  97. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  98. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +53 -40
  99. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  100. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  101. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  102. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +31 -1
  103. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  104. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +1 -1
  105. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  106. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  107. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  108. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +8 -9
  109. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  110. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +5 -2
  111. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  112. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -2
  113. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  114. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  115. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  116. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  117. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  118. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  119. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  120. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +17 -10
  121. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  122. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +209 -109
  123. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  124. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  125. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  126. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +32 -6
  127. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  128. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  129. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  130. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +1 -1
  131. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  132. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  133. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  134. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +1 -1
  135. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  136. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +13 -8
  137. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  138. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  139. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  140. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  141. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  142. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +34 -15
  143. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  144. package/fesm2015/pepperi-addons-ngx-lib.mjs +135 -59
  145. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  146. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
  147. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  148. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  149. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  150. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  151. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  152. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +264 -0
  153. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  154. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  155. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  156. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +2 -2
  157. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  158. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  159. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  160. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +56 -40
  161. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  162. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  163. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  164. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +31 -1
  165. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  166. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +1 -1
  167. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  168. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  169. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  170. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +8 -9
  171. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  172. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +5 -2
  173. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  174. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -2
  175. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  176. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  177. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  178. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  179. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  180. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  181. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  182. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +17 -10
  183. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  184. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +194 -102
  185. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  186. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  187. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  188. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +32 -6
  189. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  190. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  191. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  192. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +1 -1
  193. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  194. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  195. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  196. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +1 -1
  197. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  198. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +13 -8
  199. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  200. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  201. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  202. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  203. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  204. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +34 -15
  205. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  206. package/fesm2020/pepperi-addons-ngx-lib.mjs +132 -60
  207. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  208. package/field-title/field-title.component.d.ts +2 -1
  209. package/form/field-generator.component.d.ts +1 -1
  210. package/form/internal-carusel.component.d.ts +1 -3
  211. package/form/internal-page.component.d.ts +2 -4
  212. package/group-buttons/group-buttons.component.d.ts +2 -1
  213. package/icon/icon-generated-all.model.d.ts +6 -0
  214. package/icon/icon-generated.model.d.ts +25 -1
  215. package/link/link.component.d.ts +2 -3
  216. package/menu/menu.component.d.ts +2 -0
  217. package/package.json +9 -1
  218. package/page-layout/page-layout.component.d.ts +1 -1
  219. package/quantity-selector/quantity-selector.component.d.ts +7 -1
  220. package/query-builder/common/services/query-structure.service.d.ts +3 -4
  221. package/remote-loader/addon-block-loader.component.d.ts +6 -3
  222. package/remote-loader/addon-block-loader.service.d.ts +2 -3
  223. package/remote-loader/public-api.d.ts +1 -0
  224. package/remote-loader/remote-loader-element.component.d.ts +30 -0
  225. package/remote-loader/remote-loader.component.d.ts +3 -5
  226. package/remote-loader/remote-loader.model.d.ts +5 -6
  227. package/remote-loader/remote-loader.module.d.ts +8 -6
  228. package/remote-loader/remote-loader.service.d.ts +4 -6
  229. package/select/select.component.d.ts +10 -4
  230. package/side-bar/side-bar.component.d.ts +3 -3
  231. package/src/assets/i18n/en.ngx-lib.json +3 -0
  232. package/src/core/style/components/checkbox.scss +20 -1
  233. package/src/core/style/components/general.scss +5 -4
  234. package/textbox/textbox.component.d.ts +9 -4
@@ -1,77 +1,84 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, ViewContainerRef, Component, ViewChild, Input, Output, TemplateRef, NgModule } from '@angular/core';
2
+ import { Injectable, EventEmitter, createNgModuleRef, ViewContainerRef, Component, ViewChild, Input, Output, Optional, TemplateRef, NgModule } from '@angular/core';
3
3
  import { __awaiter } from 'tslib';
4
4
  import * as i1 from '@pepperi-addons/ngx-lib';
5
5
  import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
6
- import * as i2 from '@angular/router';
7
- import * as i2$1 from '@angular/common';
6
+ import * as i2 from '@angular/common';
8
7
  import { CommonModule } from '@angular/common';
9
8
  import * as i1$1 from '@pepperi-addons/ngx-lib/dialog';
10
9
  import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
11
10
  import { loadRemoteModule } from '@angular-architects/module-federation';
11
+ import * as i3 from '@angular/router';
12
12
  import { HttpClientModule } from '@angular/common/http';
13
13
  import { MatDialogModule } from '@angular/material/dialog';
14
+ import { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
14
15
 
15
16
  class PepRemoteLoaderService {
16
- constructor(httpService, sessionService, addonService, route) {
17
+ constructor(httpService, sessionService, addonService) {
17
18
  this.httpService = httpService;
18
19
  this.sessionService = sessionService;
19
20
  this.addonService = addonService;
20
- this.route = route;
21
21
  //
22
22
  }
23
- getRemoteLoaderOptions(blockLoaderData, remoteEntry = '') {
24
- return {
25
- addonId: blockLoaderData.relation.AddonUUID,
26
- remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
23
+ getRemoteLoaderOptions(blockLoaderData, blockRemoteEntry = '', type = 'module') {
24
+ var _a, _b;
25
+ const exposedModule = ((_a = blockLoaderData.relation.ElementsModule) === null || _a === void 0 ? void 0 : _a.length) > 0 ? blockLoaderData.relation.ElementsModule : blockLoaderData.relation.ModuleName;
26
+ const res = {
27
+ type: type,
28
+ remoteEntry: blockRemoteEntry.length > 0 ? blockRemoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
27
29
  remoteName: blockLoaderData.relation.AddonRelativeURL,
28
- exposedModule: `./${blockLoaderData.relation.ModuleName}`,
29
- componentName: blockLoaderData.relation.ComponentName,
30
+ exposedModule: `./${exposedModule}`,
31
+ addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).
30
32
  };
33
+ // If it's web components
34
+ if (((_b = blockLoaderData.relation.ElementsModule) === null || _b === void 0 ? void 0 : _b.length) > 0) {
35
+ res['elementName'] = blockLoaderData.relation.ElementName;
36
+ }
37
+ else { // For load the component from the module.
38
+ res['componentName'] = blockLoaderData.relation.ComponentName;
39
+ }
40
+ return res;
31
41
  }
32
- getAddonBaseUrl(addonUUID, fileName = 'api') {
42
+ getBlockLoaderDataUrl(name, blockType = 'AddonBlock', addonUUID = '', pagesDevServer = '') {
43
+ const fileName = 'addon_blocks';
44
+ const pagesAddonUuid = this.addonService.getPagesAddonUUID();
45
+ let pagesBaseUrl;
33
46
  // For devServer run server on localhost.
34
- const devServer = this.route.snapshot.queryParamMap.get('devServer') === 'true';
35
- if (devServer) {
36
- return `http://localhost:4500/${fileName}`;
47
+ if (pagesDevServer.length > 0) {
48
+ pagesBaseUrl = `${pagesDevServer}/${fileName}`;
37
49
  }
38
50
  else {
39
51
  const baseUrl = this.sessionService.getPapiBaseUrl();
40
- return `${baseUrl}/addons/api/${addonUUID}/${fileName}`;
52
+ pagesBaseUrl = `${baseUrl}/addons/api/${pagesAddonUuid}/${fileName}`;
41
53
  }
54
+ const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}&addonUUID=${addonUUID}`;
55
+ return url;
42
56
  }
43
- getBlockRemoteLoaderOptions(name, blockType = 'AddonBlock', remoteEntry = '') {
57
+ getBlockRemoteLoaderOptions(name, blockType = 'AddonBlock', addonUUID = '', blockRemoteEntry = '', pagesDevServer = '') {
44
58
  return __awaiter(this, void 0, void 0, function* () {
45
59
  return new Promise((resolve, reject) => {
46
- const pagesAddonUuid = this.addonService.getPagesAddonUUID();
47
- const pagesBaseUrl = this.getAddonBaseUrl(pagesAddonUuid, 'addon_blocks');
48
- const url = `${pagesBaseUrl}/get_addon_block_loader_data?name=${name}&blockType=${blockType}`;
49
- this.httpService.getHttpCall(url).toPromise().then((data) => {
50
- if (data) {
51
- resolve(this.getRemoteLoaderOptions(data, remoteEntry));
52
- }
53
- else {
54
- reject(`Addon block with name - ${name} is not found for type - ${blockType}`);
55
- }
60
+ const blockLoaderDataUrl = this.getBlockLoaderDataUrl(name, blockType, addonUUID, pagesDevServer);
61
+ this.httpService.getHttpCall(blockLoaderDataUrl).toPromise().then((data) => {
62
+ resolve(this.getRemoteLoaderOptions(data, blockRemoteEntry));
63
+ }).catch(err => {
64
+ reject(`Addon block with name - ${name} is not found for type - ${blockType}`);
56
65
  });
57
66
  });
58
67
  });
59
68
  }
60
69
  }
61
- PepRemoteLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, deps: [{ token: i1.PepHttpService }, { token: i1.PepSessionService }, { token: i1.PepAddonService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
70
+ PepRemoteLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, deps: [{ token: i1.PepHttpService }, { token: i1.PepSessionService }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Injectable });
62
71
  PepRemoteLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, providedIn: 'root' });
63
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderService, decorators: [{
64
73
  type: Injectable,
65
74
  args: [{
66
75
  providedIn: 'root'
67
76
  }]
68
- }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }, { type: i2.ActivatedRoute }]; } });
77
+ }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }]; } });
69
78
 
70
79
  class PepRemoteLoaderComponent {
71
- constructor(injector, cfr, compiler, pepAddonService) {
80
+ constructor(injector, pepAddonService) {
72
81
  this.injector = injector;
73
- this.cfr = cfr;
74
- this.compiler = compiler;
75
82
  this.pepAddonService = pepAddonService;
76
83
  this._options = null;
77
84
  // This is the data passed by the API Design documentation.
@@ -96,82 +103,59 @@ class PepRemoteLoaderComponent {
96
103
  return this._hostObject;
97
104
  }
98
105
  setHostComponentIntoComponentRef() {
99
- var _a, _b, _c;
106
+ var _a;
100
107
  if (this.hostObject && ((_a = this.compRef) === null || _a === void 0 ? void 0 : _a.instance)) {
101
108
  this.compRef.instance.hostObject = this.hostObject;
102
109
  // TODO: Check if this is needed?? if not remove this.
103
- if ((_c = (_b = this.compRef) === null || _b === void 0 ? void 0 : _b.instance) === null || _c === void 0 ? void 0 : _c.ngOnChanges) {
104
- this.compRef.instance.ngOnChanges(this.hostObject);
105
- }
110
+ // if (this.compRef?.instance?.ngOnChanges) {
111
+ // this.compRef.instance.ngOnChanges(this.hostObject);
112
+ // }
106
113
  }
107
114
  }
108
115
  ngOnChanges(changes) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- // if (changes?.options?.currentValue) {
111
- // this.loadModule(changes?.options?.currentValue);
112
- // }
113
- });
116
+ // if (changes?.options?.currentValue) {
117
+ // this.loadModule(changes?.options?.currentValue);
118
+ // }
114
119
  }
115
120
  loadModule() {
116
- var _a, _b, _c, _d, _e, _f, _g;
121
+ var _a, _b, _c, _d, _e, _f;
117
122
  return __awaiter(this, void 0, void 0, function* () {
118
- const t0 = performance.now();
119
- // Check if only need update
120
- if (!((_a = this.options) === null || _a === void 0 ? void 0 : _a.update)) {
121
- (_b = this.viewContainer) === null || _b === void 0 ? void 0 : _b.clear();
122
- try {
123
- if (this.options.addonId) {
124
- const publicPathArr = this.options.remoteEntry.split('/');
125
- const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/') + '/';
126
- __webpack_public_path__ = publicPath;
127
- this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
123
+ try {
124
+ const t0 = performance.now();
125
+ (_a = this.viewContainer) === null || _a === void 0 ? void 0 : _a.clear();
126
+ if (((_b = this.options.exposedModule) === null || _b === void 0 ? void 0 : _b.length) > 0) { // Load module
127
+ if (((_c = this.options) === null || _c === void 0 ? void 0 : _c.addonId) && (this.options.type === 'module' || this.options.type === 'script')) {
128
+ const lastSlashIndex = ((_d = this.options.remoteEntry) === null || _d === void 0 ? void 0 : _d.lastIndexOf('/')) || -1;
129
+ if (lastSlashIndex > 0) {
130
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
131
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
132
+ }
128
133
  }
129
134
  const module = yield loadRemoteModule(this.options).then(m => m);
130
- const component = module[this.options.componentName];
131
- this.compRef = this.viewContainer.createComponent(component);
132
- }
133
- catch (e) {
134
- (_c = this.viewContainer) === null || _c === void 0 ? void 0 : _c.clear();
135
- // Load Component
136
- if ((_d = this.options) === null || _d === void 0 ? void 0 : _d.noModule) {
137
- const component = yield loadRemoteModule(this.options).then(m => m[this.options.componentName]);
138
- // New code
139
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });
140
- // Old code
141
- const componentFactory = this.cfr.resolveComponentFactory(component);
142
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector);
143
- }
144
- // Load Module
145
- else {
146
- // const publicPathArr = this.options.remoteEntry.split('/');
147
- // const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/')+'/';
148
- // __webpack_public_path__ = publicPath;
149
- // this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
150
- const module = yield loadRemoteModule(this.options).then(m => m);
151
- // New code
152
- // const moduleRef = createNgModuleRef(module, this.injector);
153
- // const component = module[this.options.componentName];
154
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });
155
- // Old code
156
- const moduleFactory = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./', '')]);
157
- const moduleRef = moduleFactory.create(this.injector);
158
- const componentFactory = (_e = moduleRef === null || moduleRef === void 0 ? void 0 : moduleRef.componentFactoryResolver) === null || _e === void 0 ? void 0 : _e.resolveComponentFactory(module[this.options.componentName]);
159
- this.compRef = this.viewContainer.createComponent(componentFactory, null, this.injector, null, moduleRef);
160
- const t1 = performance.now();
161
- console.log('remote module load performance: ' + (t1 - t0) / 1000);
162
- }
135
+ const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./', '')], this.injector);
136
+ this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });
137
+ const t1 = performance.now();
138
+ console.log('remote module load performance: ' + (t1 - t0) / 1000);
163
139
  }
140
+ // Check if this is in use??? (comment out in Angular 14 version)
141
+ // else { // Load Component
142
+ // const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
143
+ // this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });
144
+ // }
164
145
  this.load.emit();
146
+ if (this.compRef) {
147
+ this.setHostComponentIntoComponentRef();
148
+ (_f = (_e = this.compRef) === null || _e === void 0 ? void 0 : _e.instance['hostEvents']) === null || _f === void 0 ? void 0 : _f.subscribe(e => {
149
+ // switch(e.action){
150
+ // case 'addon-loaded':
151
+ // this.showSpinner = false;
152
+ // }
153
+ this.hostEvents.emit(e);
154
+ });
155
+ }
165
156
  }
166
- if (this.compRef) {
167
- this.setHostComponentIntoComponentRef();
168
- (_g = (_f = this.compRef) === null || _f === void 0 ? void 0 : _f.instance['hostEvents']) === null || _g === void 0 ? void 0 : _g.subscribe(e => {
169
- // switch(e.action){
170
- // case 'addon-loaded':
171
- // this.showSpinner = false;
172
- // }
173
- this.hostEvents.emit(e);
174
- });
157
+ catch (error) {
158
+ console.error(error);
175
159
  }
176
160
  });
177
161
  }
@@ -181,7 +165,7 @@ class PepRemoteLoaderComponent {
181
165
  (_b = this.viewContainer) === null || _b === void 0 ? void 0 : _b.clear();
182
166
  }
183
167
  }
184
- PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
168
+ PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
185
169
  PepRemoteLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: { options: "options", hostObject: "hostObject" }, outputs: { hostEvents: "hostEvents", load: "load" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["placeHolder"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
186
170
  <!-- <mat-spinner *ngIf="showSpinner; else placeHolder"></mat-spinner> -->
187
171
  <ng-template #placeHolder></ng-template>
@@ -195,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
195
179
  <ng-template #placeHolder></ng-template>
196
180
  `
197
181
  }]
198
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
182
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
199
183
  type: ViewChild,
200
184
  args: ['placeHolder', { read: ViewContainerRef, static: true }]
201
185
  }], options: [{
@@ -208,9 +192,112 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
208
192
  type: Output
209
193
  }] } });
210
194
 
195
+ class PepRemoteLoaderElementComponent {
196
+ constructor(renderer, el, pepAddonService, remoteLoaderService, route) {
197
+ this.renderer = renderer;
198
+ this.el = el;
199
+ this.pepAddonService = pepAddonService;
200
+ this.remoteLoaderService = remoteLoaderService;
201
+ this.route = route;
202
+ this.load = new EventEmitter();
203
+ this.element = null;
204
+ }
205
+ ngOnChanges() {
206
+ if (!this.element)
207
+ return;
208
+ this.populateProps();
209
+ }
210
+ populateProps() {
211
+ for (const prop in this.props) {
212
+ this.element[prop] = this.props[prop];
213
+ }
214
+ }
215
+ setupEvents() {
216
+ for (const event in this.events) {
217
+ this.element.addEventListener(event, this.events[event]);
218
+ }
219
+ }
220
+ loadOptionsFromRoute() {
221
+ var _a, _b;
222
+ return __awaiter(this, void 0, void 0, function* () {
223
+ const params = (_a = this.route) === null || _a === void 0 ? void 0 : _a.snapshot.params;
224
+ const data = (_b = this.route) === null || _b === void 0 ? void 0 : _b.snapshot.data;
225
+ const blockName = (params === null || params === void 0 ? void 0 : params.blockName) || (data === null || data === void 0 ? void 0 : data.blockName);
226
+ if ((blockName === null || blockName === void 0 ? void 0 : blockName.length) > 0) {
227
+ const addonUUID = (params === null || params === void 0 ? void 0 : params.addonUUID) || (data === null || data === void 0 ? void 0 : data.addonUUID) || '';
228
+ const blockType = (data === null || data === void 0 ? void 0 : data.blockType) || 'SettingsBlock';
229
+ const blockRemoteEntry = (data === null || data === void 0 ? void 0 : data.blockRemoteEntry) || '';
230
+ this.options = yield this.remoteLoaderService.getBlockRemoteLoaderOptions(blockName, blockType, addonUUID, blockRemoteEntry);
231
+ const fileName = `${this.options['remoteName']}.js`;
232
+ if (window.location.search.indexOf('dev=true') > 0) {
233
+ this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;
234
+ }
235
+ }
236
+ });
237
+ }
238
+ ngAfterContentInit() {
239
+ var _a, _b;
240
+ return __awaiter(this, void 0, void 0, function* () {
241
+ try {
242
+ const t0 = performance.now();
243
+ // If the options is not supplied then we need to get it from the route.
244
+ if (!this.options) {
245
+ yield this.loadOptionsFromRoute();
246
+ }
247
+ if (!this.options) {
248
+ throw new Error('No options supplied to the component.');
249
+ }
250
+ else {
251
+ if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.addonId) && (this.options.type === 'module' || this.options.type === 'script')) {
252
+ const lastSlashIndex = ((_b = this.options.remoteEntry) === null || _b === void 0 ? void 0 : _b.lastIndexOf('/')) || -1;
253
+ if (lastSlashIndex > 0) {
254
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
255
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
256
+ }
257
+ }
258
+ yield loadRemoteModule(this.options);
259
+ this.element = this.renderer.createElement(this.options.elementName);
260
+ this.populateProps();
261
+ this.setupEvents();
262
+ this.renderer.appendChild(this.el.nativeElement, this.element);
263
+ const t1 = performance.now();
264
+ console.log('remote module wc load performance: ' + (t1 - t0) / 1000);
265
+ this.load.emit();
266
+ }
267
+ }
268
+ catch (error) {
269
+ console.error(error);
270
+ }
271
+ });
272
+ }
273
+ }
274
+ PepRemoteLoaderElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderElementComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.PepAddonService }, { token: PepRemoteLoaderService }, { token: i3.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Component });
275
+ PepRemoteLoaderElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepRemoteLoaderElementComponent, selector: "pep-remote-loader-element", inputs: { options: "options", props: "props", events: "events" }, outputs: { load: "load" }, usesOnChanges: true, ngImport: i0, template: `
276
+ <!--<div #vc style="height: inherit;"></div>-->
277
+ `, isInline: true, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] });
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderElementComponent, decorators: [{
279
+ type: Component,
280
+ args: [{ selector: 'pep-remote-loader-element', template: `
281
+ <!--<div #vc style="height: inherit;"></div>-->
282
+ `, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] }]
283
+ }], ctorParameters: function () {
284
+ return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.PepAddonService }, { type: PepRemoteLoaderService }, { type: i3.ActivatedRoute, decorators: [{
285
+ type: Optional
286
+ }] }];
287
+ }, propDecorators: { options: [{
288
+ type: Input
289
+ }], props: [{
290
+ type: Input
291
+ }], events: [{
292
+ type: Input
293
+ }], load: [{
294
+ type: Output
295
+ }] } });
296
+
211
297
  class PepAddonBlockLoaderComponent {
212
298
  constructor(remoteLoaderService) {
213
299
  this.remoteLoaderService = remoteLoaderService;
300
+ this.addonId = '';
214
301
  this.remoteEntry = '';
215
302
  this._blockType = 'AddonBlock';
216
303
  this._name = '';
@@ -220,7 +307,10 @@ class PepAddonBlockLoaderComponent {
220
307
  this.blockLoad = new EventEmitter();
221
308
  this.inDialog = false;
222
309
  this.remotePathOptions = null;
223
- //
310
+ this.loadElement = false;
311
+ this.onHostEventsCallback = (event) => {
312
+ this.onHostEvents(event.detail);
313
+ };
224
314
  }
225
315
  set blockType(value) {
226
316
  this._blockType = value;
@@ -242,7 +332,9 @@ class PepAddonBlockLoaderComponent {
242
332
  return this._dialogRef;
243
333
  }
244
334
  ngOnInit() {
245
- this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.remoteEntry).then(options => {
335
+ this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.addonId, this.remoteEntry).then((options) => {
336
+ var _a;
337
+ this.loadElement = ((_a = options.elementName) === null || _a === void 0 ? void 0 : _a.length) > 0;
246
338
  this.remotePathOptions = options;
247
339
  });
248
340
  }
@@ -264,13 +356,15 @@ class PepAddonBlockLoaderComponent {
264
356
  }
265
357
  }
266
358
  PepAddonBlockLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, deps: [{ token: PepRemoteLoaderService }], target: i0.ɵɵFactoryTarget.Component });
267
- PepAddonBlockLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddonBlockLoaderComponent, selector: "pep-addon-block-loader", inputs: { remoteEntry: "remoteEntry", blockType: "blockType", name: "name", hostObject: "hostObject", dialogRef: "dialogRef" }, outputs: { hostEvents: "hostEvents", blockLoad: "blockLoad" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: ["options", "hostObject"], outputs: ["hostEvents", "load"] }] });
359
+ PepAddonBlockLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddonBlockLoaderComponent, selector: "pep-addon-block-loader", inputs: { addonId: "addonId", remoteEntry: "remoteEntry", blockType: "blockType", name: "name", hostObject: "hostObject", dialogRef: "dialogRef" }, outputs: { hostEvents: "hostEvents", blockLoad: "blockLoad" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: ["options", "hostObject"], outputs: ["hostEvents", "load"] }, { kind: "component", type: PepRemoteLoaderElementComponent, selector: "pep-remote-loader-element", inputs: ["options", "props", "events"], outputs: ["load"] }] });
268
360
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, decorators: [{
269
361
  type: Component,
270
- args: [{ selector: 'pep-addon-block-loader', template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n</ng-template>" }]
362
+ args: [{ selector: 'pep-addon-block-loader', template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>" }]
271
363
  }], ctorParameters: function () { return [{ type: PepRemoteLoaderService }]; }, propDecorators: { dialogTemplate: [{
272
364
  type: ViewChild,
273
365
  args: ['dialogTemplate', { static: true, read: TemplateRef }]
366
+ }], addonId: [{
367
+ type: Input
274
368
  }], remoteEntry: [{
275
369
  type: Input
276
370
  }], blockType: [{
@@ -288,15 +382,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
288
382
  }] } });
289
383
 
290
384
  class PepAddonBlockLoaderService {
291
- constructor(resolver, dialogService) {
292
- this.resolver = resolver;
385
+ constructor(dialogService) {
293
386
  this.dialogService = dialogService;
294
387
  //
295
388
  }
296
389
  loadAddonBlockInternal(options) {
297
390
  if (options.container !== null) {
298
- const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
299
- const componentRef = options.container.createComponent(factory);
391
+ // const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
392
+ const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);
300
393
  const addonBlockInstance = componentRef.instance;
301
394
  addonBlockInstance.blockType = options.blockType || 'AddonBlock';
302
395
  addonBlockInstance.name = options.name;
@@ -335,32 +428,36 @@ class PepAddonBlockLoaderService {
335
428
  }
336
429
  }
337
430
  }
338
- PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1$1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
431
+ PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i1$1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
339
432
  PepAddonBlockLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, providedIn: 'root' });
340
433
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, decorators: [{
341
434
  type: Injectable,
342
435
  args: [{
343
436
  providedIn: 'root'
344
437
  }]
345
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1$1.PepDialogService }]; } });
438
+ }], ctorParameters: function () { return [{ type: i1$1.PepDialogService }]; } });
346
439
 
347
440
  class PepRemoteLoaderModule {
348
441
  }
349
442
  PepRemoteLoaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
350
443
  PepRemoteLoaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, declarations: [PepAddonBlockLoaderComponent,
351
- PepRemoteLoaderComponent], imports: [CommonModule,
444
+ PepRemoteLoaderComponent,
445
+ PepRemoteLoaderElementComponent], imports: [CommonModule,
352
446
  HttpClientModule,
447
+ ModuleFederationToolsModule,
353
448
  // Material modules,
354
449
  MatDialogModule,
355
450
  // ngx-lib modules
356
451
  PepNgxLibModule,
357
452
  PepDialogModule], exports: [PepAddonBlockLoaderComponent,
358
- PepRemoteLoaderComponent] });
453
+ PepRemoteLoaderComponent,
454
+ PepRemoteLoaderElementComponent] });
359
455
  PepRemoteLoaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderModule, providers: [
360
456
  PepAddonBlockLoaderService,
361
457
  PepRemoteLoaderService
362
458
  ], imports: [CommonModule,
363
459
  HttpClientModule,
460
+ ModuleFederationToolsModule,
364
461
  // Material modules,
365
462
  MatDialogModule,
366
463
  // ngx-lib modules
@@ -372,10 +469,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
372
469
  declarations: [
373
470
  PepAddonBlockLoaderComponent,
374
471
  PepRemoteLoaderComponent,
472
+ PepRemoteLoaderElementComponent,
375
473
  ],
376
474
  imports: [
377
475
  CommonModule,
378
476
  HttpClientModule,
477
+ ModuleFederationToolsModule,
379
478
  // Material modules,
380
479
  MatDialogModule,
381
480
  // ngx-lib modules
@@ -385,6 +484,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
385
484
  exports: [
386
485
  PepAddonBlockLoaderComponent,
387
486
  PepRemoteLoaderComponent,
487
+ PepRemoteLoaderElementComponent
388
488
  ],
389
489
  providers: [
390
490
  PepAddonBlockLoaderService,
@@ -401,5 +501,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
401
501
  * Generated bundle index. Do not edit.
402
502
  */
403
503
 
404
- export { PepAddonBlockLoaderComponent, PepAddonBlockLoaderService, PepRemoteLoaderComponent, PepRemoteLoaderModule, PepRemoteLoaderService };
504
+ export { PepAddonBlockLoaderComponent, PepAddonBlockLoaderService, PepRemoteLoaderComponent, PepRemoteLoaderElementComponent, PepRemoteLoaderModule, PepRemoteLoaderService };
405
505
  //# sourceMappingURL=pepperi-addons-ngx-lib-remote-loader.mjs.map