@lenne.tech/ng-base 12.1.0 → 13.2.0

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 (303) hide show
  1. package/base-components/base-components.module.d.ts +12 -0
  2. package/base-components/components/checkbox/checkbox.component.d.ts +11 -0
  3. package/base-components/components/input/input.component.d.ts +14 -0
  4. package/base-components/components/select/select.component.d.ts +19 -0
  5. package/base-components/components/textarea/textarea.component.d.ts +13 -0
  6. package/base-components/lenne.tech-ng-base-base-components.d.ts +5 -0
  7. package/base-components/package.json +10 -0
  8. package/base-components/public-api.d.ts +8 -0
  9. package/base-prototype/base-prototype.module.d.ts +12 -0
  10. package/{src/lib/base/lenne.tech-ng-base-src-lib-base.d.ts → base-prototype/lenne.tech-ng-base-base-prototype.d.ts} +1 -0
  11. package/base-prototype/package.json +10 -0
  12. package/base-prototype/pages/login/login.component.d.ts +20 -0
  13. package/base-prototype/pages/register/register.component.d.ts +20 -0
  14. package/base-prototype/public-api.d.ts +6 -0
  15. package/esm2020/base-components/base-components.module.mjs +42 -0
  16. package/esm2020/base-components/components/checkbox/checkbox.component.mjs +28 -0
  17. package/esm2020/base-components/components/input/input.component.mjs +36 -0
  18. package/esm2020/base-components/components/select/select.component.mjs +37 -0
  19. package/esm2020/base-components/components/textarea/textarea.component.mjs +35 -0
  20. package/esm2020/base-components/lenne.tech-ng-base-base-components.mjs +5 -0
  21. package/esm2020/base-components/public-api.mjs +11 -0
  22. package/esm2020/base-prototype/base-prototype.module.mjs +36 -0
  23. package/esm2020/base-prototype/lenne.tech-ng-base-base-prototype.mjs +5 -0
  24. package/esm2020/base-prototype/pages/login/login.component.mjs +39 -0
  25. package/esm2020/base-prototype/pages/register/register.component.mjs +45 -0
  26. package/esm2020/base-prototype/public-api.mjs +9 -0
  27. package/esm2020/lenne.tech-ng-base.mjs +5 -0
  28. package/esm2020/public-api.mjs +66 -0
  29. package/esm2020/src/base.module.mjs +101 -0
  30. package/esm2020/src/classes/basic-user.class.mjs +51 -0
  31. package/esm2020/src/classes/graphql-enum.class.mjs +9 -0
  32. package/esm2020/src/classes/graphql-meta.class.mjs +171 -0
  33. package/esm2020/src/classes/graphql-type.class.mjs +13 -0
  34. package/esm2020/src/classes/helper.class.mjs +304 -0
  35. package/esm2020/src/classes/standard.class.mjs +40 -0
  36. package/esm2020/src/directives/context-menu.directive.mjs +109 -0
  37. package/esm2020/src/directives/lazy-load.directive.mjs +45 -0
  38. package/esm2020/src/directives/match-height.directive.mjs +79 -0
  39. package/esm2020/src/directives/resizable.directive.mjs +90 -0
  40. package/esm2020/src/enums/comparison-operator.enum.mjs +16 -0
  41. package/esm2020/src/enums/graphql-request-type.enum.mjs +10 -0
  42. package/esm2020/src/enums/logical-operator.enum.mjs +10 -0
  43. package/esm2020/src/enums/sort-order.enum.mjs +6 -0
  44. package/esm2020/src/factories/apollo-options.factory.mjs +61 -0
  45. package/esm2020/src/guards/auth.guard.mjs +61 -0
  46. package/esm2020/src/guards/can-deactivate.guard.mjs +16 -0
  47. package/esm2020/src/guards/logout.guard.mjs +32 -0
  48. package/esm2020/src/interfaces/base-module-config.interface.mjs +3 -0
  49. package/esm2020/src/interfaces/can-component-deactivate.interface.mjs +2 -0
  50. package/esm2020/src/interfaces/combined-filter-input.interface.mjs +2 -0
  51. package/esm2020/src/interfaces/field-object.interface.mjs +2 -0
  52. package/esm2020/src/interfaces/field.interface.mjs +2 -0
  53. package/esm2020/src/interfaces/filter-input.interface.mjs +2 -0
  54. package/esm2020/src/interfaces/find-args.interface.mjs +2 -0
  55. package/esm2020/src/interfaces/graphql-fields-object.interface.mjs +2 -0
  56. package/esm2020/src/interfaces/graphql-options.interface.mjs +2 -0
  57. package/esm2020/src/interfaces/graphql-plus-options.interfacen.mjs +2 -0
  58. package/esm2020/src/interfaces/graphql-type-collection.interface.mjs +2 -0
  59. package/esm2020/src/interfaces/single-filter-input.interface.mjs +2 -0
  60. package/esm2020/src/interfaces/sort-input.interface.mjs +2 -0
  61. package/esm2020/src/pipes/date-ago.pipe.mjs +65 -0
  62. package/esm2020/src/pipes/ellipses.pipe.mjs +22 -0
  63. package/esm2020/src/pipes/safe-html.pipe.mjs +21 -0
  64. package/esm2020/src/services/auth.service.mjs +71 -0
  65. package/esm2020/src/services/forms.service.mjs +26 -0
  66. package/esm2020/src/services/fullscreen.service.mjs +51 -0
  67. package/esm2020/src/services/graphql-meta.service.mjs +123 -0
  68. package/esm2020/src/services/graphql-plus.service.mjs +84 -0
  69. package/esm2020/src/services/graphql.service.mjs +441 -0
  70. package/esm2020/src/services/image.service.mjs +102 -0
  71. package/esm2020/src/services/loader.service.mjs +29 -0
  72. package/esm2020/src/services/scroll.service.mjs +179 -0
  73. package/esm2020/src/services/seo.service.mjs +97 -0
  74. package/esm2020/src/services/storage.service.mjs +132 -0
  75. package/esm2020/src/services/theme.service.mjs +43 -0
  76. package/esm2020/src/services/ws.service.mjs +17 -0
  77. package/esm2020/src/types/graphql-fields.type.mjs +2 -0
  78. package/esm2020/src/types/storage.type.mjs +2 -0
  79. package/esm2020/src/validators/must-match.validator.mjs +22 -0
  80. package/fesm2015/lenne.tech-ng-base-base-components.mjs +173 -0
  81. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -0
  82. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +122 -0
  83. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs.map +1 -0
  84. package/fesm2015/{lenne.tech-ng-base.js → lenne.tech-ng-base.mjs} +385 -206
  85. package/fesm2015/lenne.tech-ng-base.mjs.map +1 -0
  86. package/fesm2020/lenne.tech-ng-base-base-components.mjs +171 -0
  87. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -0
  88. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs +120 -0
  89. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +1 -0
  90. package/{fesm2015/lenne.tech-ng-base-src-lib-base.js → fesm2020/lenne.tech-ng-base.mjs} +585 -350
  91. package/fesm2020/lenne.tech-ng-base.mjs.map +1 -0
  92. package/lenne.tech-ng-base.d.ts +1 -0
  93. package/package.json +48 -19
  94. package/public-api.d.ts +54 -1
  95. package/src/base.module.d.ts +22 -0
  96. package/src/{lib/base/classes → classes}/basic-user.class.d.ts +0 -0
  97. package/src/{lib/base/classes → classes}/graphql-enum.class.d.ts +0 -0
  98. package/{lib/base → src}/classes/graphql-meta.class.d.ts +2 -4
  99. package/src/{lib/base/classes → classes}/graphql-type.class.d.ts +0 -0
  100. package/{lib/base → src}/classes/helper.class.d.ts +1 -0
  101. package/src/{lib/base/classes → classes}/standard.class.d.ts +0 -0
  102. package/src/{lib/base/directives → directives}/context-menu.directive.d.ts +3 -0
  103. package/{lib/base → src}/directives/lazy-load.directive.d.ts +3 -0
  104. package/src/{lib/base/directives → directives}/match-height.directive.d.ts +3 -0
  105. package/{lib/base → src}/directives/resizable.directive.d.ts +3 -0
  106. package/src/{lib/base/enums → enums}/comparison-operator.enum.d.ts +0 -0
  107. package/src/{lib/base/enums → enums}/graphql-request-type.enum.d.ts +0 -0
  108. package/src/{lib/base/enums → enums}/logical-operator.enum.d.ts +0 -0
  109. package/src/{lib/base/enums → enums}/sort-order.enum.d.ts +0 -0
  110. package/src/{lib/base/factories → factories}/apollo-options.factory.d.ts +0 -0
  111. package/src/{lib/base/guards → guards}/auth.guard.d.ts +3 -0
  112. package/src/{lib/base/guards → guards}/can-deactivate.guard.d.ts +3 -0
  113. package/{lib/base → src}/guards/logout.guard.d.ts +3 -0
  114. package/src/{lib/base/interfaces → interfaces}/base-module-config.interface.d.ts +0 -0
  115. package/src/{lib/base/interfaces → interfaces}/can-component-deactivate.interface.d.ts +0 -0
  116. package/src/{lib/base/interfaces → interfaces}/combined-filter-input.interface.d.ts +0 -0
  117. package/src/{lib/base/interfaces → interfaces}/field-object.interface.d.ts +0 -0
  118. package/src/{lib/base/interfaces → interfaces}/field.interface.d.ts +0 -0
  119. package/src/{lib/base/interfaces → interfaces}/filter-input.interface.d.ts +0 -0
  120. package/src/{lib/base/interfaces → interfaces}/find-args.interface.d.ts +0 -0
  121. package/src/interfaces/graphql-fields-object.interface.d.ts +6 -0
  122. package/src/{lib/base/interfaces → interfaces}/graphql-options.interface.d.ts +0 -0
  123. package/src/{lib/base/interfaces → interfaces}/graphql-plus-options.interfacen.d.ts +0 -0
  124. package/src/{lib/base/interfaces → interfaces}/graphql-type-collection.interface.d.ts +0 -0
  125. package/src/{lib/base/interfaces → interfaces}/single-filter-input.interface.d.ts +0 -0
  126. package/src/{lib/base/interfaces → interfaces}/sort-input.interface.d.ts +0 -0
  127. package/src/pipes/date-ago.pipe.d.ts +34 -0
  128. package/{lib/base → src}/pipes/ellipses.pipe.d.ts +3 -0
  129. package/{lib/base → src}/pipes/safe-html.pipe.d.ts +3 -0
  130. package/{lib/base → src}/services/auth.service.d.ts +3 -0
  131. package/src/services/forms.service.d.ts +8 -0
  132. package/src/{lib/base/services → services}/fullscreen.service.d.ts +3 -0
  133. package/src/{lib/base/services → services}/graphql-meta.service.d.ts +3 -0
  134. package/src/{lib/base/services → services}/graphql-plus.service.d.ts +3 -0
  135. package/src/{lib/base/services → services}/graphql.service.d.ts +3 -0
  136. package/src/{lib/base/services → services}/image.service.d.ts +3 -0
  137. package/{lib/base → src}/services/loader.service.d.ts +3 -0
  138. package/src/{lib/base/services → services}/scroll.service.d.ts +3 -0
  139. package/src/{lib/base/services → services}/seo.service.d.ts +3 -0
  140. package/{lib/base → src}/services/storage.service.d.ts +3 -0
  141. package/src/services/theme.service.d.ts +17 -0
  142. package/src/services/ws.service.d.ts +8 -0
  143. package/src/types/graphql-fields.type.d.ts +5 -0
  144. package/src/{lib/base/types → types}/storage.type.d.ts +0 -0
  145. package/{lib/base → src}/validators/must-match.validator.d.ts +2 -2
  146. package/bundles/lenne.tech-ng-base-src-lib-base.umd.js +0 -3152
  147. package/bundles/lenne.tech-ng-base-src-lib-base.umd.js.map +0 -1
  148. package/bundles/lenne.tech-ng-base.umd.js +0 -3154
  149. package/bundles/lenne.tech-ng-base.umd.js.map +0 -1
  150. package/esm2015/lenne.tech-ng-base.js +0 -5
  151. package/esm2015/lib/base/base.module.js +0 -66
  152. package/esm2015/lib/base/classes/basic-user.class.js +0 -51
  153. package/esm2015/lib/base/classes/graphql-enum.class.js +0 -9
  154. package/esm2015/lib/base/classes/graphql-meta.class.js +0 -156
  155. package/esm2015/lib/base/classes/graphql-type.class.js +0 -13
  156. package/esm2015/lib/base/classes/helper.class.js +0 -290
  157. package/esm2015/lib/base/classes/standard.class.js +0 -40
  158. package/esm2015/lib/base/directives/context-menu.directive.js +0 -104
  159. package/esm2015/lib/base/directives/lazy-load.directive.js +0 -43
  160. package/esm2015/lib/base/directives/match-height.directive.js +0 -78
  161. package/esm2015/lib/base/directives/resizable.directive.js +0 -89
  162. package/esm2015/lib/base/enums/comparison-operator.enum.js +0 -16
  163. package/esm2015/lib/base/enums/graphql-request-type.enum.js +0 -10
  164. package/esm2015/lib/base/enums/logical-operator.enum.js +0 -10
  165. package/esm2015/lib/base/enums/sort-order.enum.js +0 -6
  166. package/esm2015/lib/base/factories/apollo-options.factory.js +0 -61
  167. package/esm2015/lib/base/guards/auth.guard.js +0 -61
  168. package/esm2015/lib/base/guards/can-deactivate.guard.js +0 -13
  169. package/esm2015/lib/base/guards/logout.guard.js +0 -33
  170. package/esm2015/lib/base/index.js +0 -2
  171. package/esm2015/lib/base/interfaces/base-module-config.interface.js +0 -3
  172. package/esm2015/lib/base/interfaces/can-component-deactivate.interface.js +0 -2
  173. package/esm2015/lib/base/interfaces/combined-filter-input.interface.js +0 -2
  174. package/esm2015/lib/base/interfaces/field-object.interface.js +0 -2
  175. package/esm2015/lib/base/interfaces/field.interface.js +0 -2
  176. package/esm2015/lib/base/interfaces/filter-input.interface.js +0 -2
  177. package/esm2015/lib/base/interfaces/find-args.interface.js +0 -2
  178. package/esm2015/lib/base/interfaces/graphql-options.interface.js +0 -2
  179. package/esm2015/lib/base/interfaces/graphql-plus-options.interfacen.js +0 -2
  180. package/esm2015/lib/base/interfaces/graphql-type-collection.interface.js +0 -2
  181. package/esm2015/lib/base/interfaces/single-filter-input.interface.js +0 -2
  182. package/esm2015/lib/base/interfaces/sort-input.interface.js +0 -2
  183. package/esm2015/lib/base/pipes/ellipses.pipe.js +0 -18
  184. package/esm2015/lib/base/pipes/safe-html.pipe.js +0 -20
  185. package/esm2015/lib/base/public-api.js +0 -61
  186. package/esm2015/lib/base/services/auth.service.js +0 -74
  187. package/esm2015/lib/base/services/fullscreen.service.js +0 -50
  188. package/esm2015/lib/base/services/graphql-meta.service.js +0 -116
  189. package/esm2015/lib/base/services/graphql-plus.service.js +0 -90
  190. package/esm2015/lib/base/services/graphql.service.js +0 -423
  191. package/esm2015/lib/base/services/image.service.js +0 -99
  192. package/esm2015/lib/base/services/loader.service.js +0 -27
  193. package/esm2015/lib/base/services/scroll.service.js +0 -172
  194. package/esm2015/lib/base/services/seo.service.js +0 -100
  195. package/esm2015/lib/base/services/storage.service.js +0 -131
  196. package/esm2015/lib/base/services/ws.service.js +0 -16
  197. package/esm2015/lib/base/types/storage.type.js +0 -2
  198. package/esm2015/lib/base/validators/must-match.validator.js +0 -22
  199. package/esm2015/public-api.js +0 -3
  200. package/esm2015/src/lib/base/base.module.js +0 -66
  201. package/esm2015/src/lib/base/classes/basic-user.class.js +0 -51
  202. package/esm2015/src/lib/base/classes/graphql-enum.class.js +0 -9
  203. package/esm2015/src/lib/base/classes/graphql-meta.class.js +0 -156
  204. package/esm2015/src/lib/base/classes/graphql-type.class.js +0 -13
  205. package/esm2015/src/lib/base/classes/helper.class.js +0 -290
  206. package/esm2015/src/lib/base/classes/standard.class.js +0 -40
  207. package/esm2015/src/lib/base/directives/context-menu.directive.js +0 -104
  208. package/esm2015/src/lib/base/directives/lazy-load.directive.js +0 -43
  209. package/esm2015/src/lib/base/directives/match-height.directive.js +0 -78
  210. package/esm2015/src/lib/base/directives/resizable.directive.js +0 -89
  211. package/esm2015/src/lib/base/enums/comparison-operator.enum.js +0 -16
  212. package/esm2015/src/lib/base/enums/graphql-request-type.enum.js +0 -10
  213. package/esm2015/src/lib/base/enums/logical-operator.enum.js +0 -10
  214. package/esm2015/src/lib/base/enums/sort-order.enum.js +0 -6
  215. package/esm2015/src/lib/base/factories/apollo-options.factory.js +0 -61
  216. package/esm2015/src/lib/base/guards/auth.guard.js +0 -61
  217. package/esm2015/src/lib/base/guards/can-deactivate.guard.js +0 -13
  218. package/esm2015/src/lib/base/guards/logout.guard.js +0 -33
  219. package/esm2015/src/lib/base/interfaces/base-module-config.interface.js +0 -3
  220. package/esm2015/src/lib/base/interfaces/can-component-deactivate.interface.js +0 -2
  221. package/esm2015/src/lib/base/interfaces/combined-filter-input.interface.js +0 -2
  222. package/esm2015/src/lib/base/interfaces/field-object.interface.js +0 -2
  223. package/esm2015/src/lib/base/interfaces/field.interface.js +0 -2
  224. package/esm2015/src/lib/base/interfaces/filter-input.interface.js +0 -2
  225. package/esm2015/src/lib/base/interfaces/find-args.interface.js +0 -2
  226. package/esm2015/src/lib/base/interfaces/graphql-options.interface.js +0 -2
  227. package/esm2015/src/lib/base/interfaces/graphql-plus-options.interfacen.js +0 -2
  228. package/esm2015/src/lib/base/interfaces/graphql-type-collection.interface.js +0 -2
  229. package/esm2015/src/lib/base/interfaces/single-filter-input.interface.js +0 -2
  230. package/esm2015/src/lib/base/interfaces/sort-input.interface.js +0 -2
  231. package/esm2015/src/lib/base/lenne.tech-ng-base-src-lib-base.js +0 -5
  232. package/esm2015/src/lib/base/pipes/ellipses.pipe.js +0 -18
  233. package/esm2015/src/lib/base/pipes/safe-html.pipe.js +0 -20
  234. package/esm2015/src/lib/base/public-api.js +0 -61
  235. package/esm2015/src/lib/base/services/auth.service.js +0 -74
  236. package/esm2015/src/lib/base/services/fullscreen.service.js +0 -50
  237. package/esm2015/src/lib/base/services/graphql-meta.service.js +0 -116
  238. package/esm2015/src/lib/base/services/graphql-plus.service.js +0 -90
  239. package/esm2015/src/lib/base/services/graphql.service.js +0 -423
  240. package/esm2015/src/lib/base/services/image.service.js +0 -99
  241. package/esm2015/src/lib/base/services/loader.service.js +0 -27
  242. package/esm2015/src/lib/base/services/scroll.service.js +0 -172
  243. package/esm2015/src/lib/base/services/seo.service.js +0 -100
  244. package/esm2015/src/lib/base/services/storage.service.js +0 -131
  245. package/esm2015/src/lib/base/services/ws.service.js +0 -16
  246. package/esm2015/src/lib/base/types/storage.type.js +0 -2
  247. package/esm2015/src/lib/base/validators/must-match.validator.js +0 -22
  248. package/fesm2015/lenne.tech-ng-base-src-lib-base.js.map +0 -1
  249. package/fesm2015/lenne.tech-ng-base.js.map +0 -1
  250. package/lenne.tech-ng-base.metadata.json +0 -1
  251. package/lib/base/base.module.d.ts +0 -11
  252. package/lib/base/classes/basic-user.class.d.ts +0 -26
  253. package/lib/base/classes/graphql-enum.class.d.ts +0 -7
  254. package/lib/base/classes/graphql-type.class.d.ts +0 -9
  255. package/lib/base/classes/standard.class.d.ts +0 -32
  256. package/lib/base/directives/context-menu.directive.d.ts +0 -19
  257. package/lib/base/directives/match-height.directive.d.ts +0 -16
  258. package/lib/base/enums/comparison-operator.enum.d.ts +0 -14
  259. package/lib/base/enums/graphql-request-type.enum.d.ts +0 -8
  260. package/lib/base/enums/logical-operator.enum.d.ts +0 -8
  261. package/lib/base/enums/sort-order.enum.d.ts +0 -4
  262. package/lib/base/factories/apollo-options.factory.d.ts +0 -18
  263. package/lib/base/guards/auth.guard.d.ts +0 -24
  264. package/lib/base/guards/can-deactivate.guard.d.ts +0 -8
  265. package/lib/base/index.d.ts +0 -1
  266. package/lib/base/interfaces/base-module-config.interface.d.ts +0 -57
  267. package/lib/base/interfaces/can-component-deactivate.interface.d.ts +0 -7
  268. package/lib/base/interfaces/combined-filter-input.interface.d.ts +0 -9
  269. package/lib/base/interfaces/field-object.interface.d.ts +0 -6
  270. package/lib/base/interfaces/field.interface.d.ts +0 -5
  271. package/lib/base/interfaces/filter-input.interface.d.ts +0 -9
  272. package/lib/base/interfaces/find-args.interface.d.ts +0 -10
  273. package/lib/base/interfaces/graphql-options.interface.d.ts +0 -11
  274. package/lib/base/interfaces/graphql-plus-options.interfacen.d.ts +0 -9
  275. package/lib/base/interfaces/graphql-type-collection.interface.d.ts +0 -7
  276. package/lib/base/interfaces/single-filter-input.interface.d.ts +0 -11
  277. package/lib/base/interfaces/sort-input.interface.d.ts +0 -5
  278. package/lib/base/public-api.d.ts +0 -49
  279. package/lib/base/services/fullscreen.service.d.ts +0 -15
  280. package/lib/base/services/graphql-meta.service.d.ts +0 -42
  281. package/lib/base/services/graphql-plus.service.d.ts +0 -22
  282. package/lib/base/services/graphql.service.d.ts +0 -53
  283. package/lib/base/services/image.service.d.ts +0 -24
  284. package/lib/base/services/scroll.service.d.ts +0 -82
  285. package/lib/base/services/seo.service.d.ts +0 -46
  286. package/lib/base/services/ws.service.d.ts +0 -5
  287. package/lib/base/types/storage.type.d.ts +0 -4
  288. package/src/lib/base/base.module.d.ts +0 -11
  289. package/src/lib/base/classes/graphql-meta.class.d.ts +0 -48
  290. package/src/lib/base/classes/helper.class.d.ts +0 -98
  291. package/src/lib/base/directives/lazy-load.directive.d.ts +0 -14
  292. package/src/lib/base/directives/resizable.directive.d.ts +0 -23
  293. package/src/lib/base/guards/logout.guard.d.ts +0 -13
  294. package/src/lib/base/lenne.tech-ng-base-src-lib-base.metadata.json +0 -1
  295. package/src/lib/base/package.json +0 -11
  296. package/src/lib/base/pipes/ellipses.pipe.d.ts +0 -7
  297. package/src/lib/base/pipes/safe-html.pipe.d.ts +0 -10
  298. package/src/lib/base/public-api.d.ts +0 -49
  299. package/src/lib/base/services/auth.service.d.ts +0 -29
  300. package/src/lib/base/services/loader.service.d.ts +0 -10
  301. package/src/lib/base/services/storage.service.d.ts +0 -45
  302. package/src/lib/base/services/ws.service.d.ts +0 -5
  303. package/src/lib/base/validators/must-match.validator.d.ts +0 -6
@@ -1,172 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Inject, Injectable } from '@angular/core';
3
- import { Router } from '@angular/router';
4
- import { BASE_MODULE_CONFIG } from '../interfaces/base-module-config.interface';
5
- import { ImageService } from './image.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "../interfaces/base-module-config.interface";
9
- import * as i3 from "./image.service";
10
- /**
11
- * Scroll service for autoscroll to specific fragments
12
- */
13
- export class ScrollService {
14
- /**
15
- * Initializer
16
- */
17
- constructor(router, moduleConfig, imageService) {
18
- this.router = router;
19
- this.moduleConfig = moduleConfig;
20
- this.imageService = imageService;
21
- /**
22
- * Is a scroll listener set
23
- *
24
- * @protected
25
- */
26
- this.scrollListener = false;
27
- /**
28
- * Current scroll timer;
29
- *
30
- * @protected
31
- */
32
- this.scrollTimer = -1;
33
- const config = Object.assign({ scrollDetectionOffset: 200, scrollOffset: 100, scrollSamplingRate: 100 }, moduleConfig);
34
- this.detectionOffset = config.scrollDetectionOffset;
35
- this.scrollOffset = config.scrollOffset;
36
- this.scrollSamplingRate = config.scrollSamplingRate;
37
- }
38
- /**
39
- * Scroll to structureElement with specific ID
40
- */
41
- scrollTo(id, options = {}) {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- // Prepare config
44
- const config = Object.assign({ checkUrl: false, loadImagesBefore: true, resetStyles: false, setOverflow: true, stopPropagation: true }, options);
45
- // Check current URL
46
- if (config.checkUrl && this.router.url !== '/' && !this.router.url.startsWith('/#')) {
47
- yield this.router.navigate(['/'], { fragment: id });
48
- return !config.stopPropagation;
49
- }
50
- // Check if target element exits
51
- const el = document.getElementById(id);
52
- if (!el) {
53
- console.error('Missing scroll element with ID:', id);
54
- return !config.stopPropagation;
55
- }
56
- // Check if body overflow is visible
57
- // This is necessary for scroll handling
58
- const body = document.querySelector('body');
59
- let undoOverflowChanges = false;
60
- const scrollBodyStyles = JSON.parse(JSON.stringify(window.getComputedStyle(body)));
61
- if (config.setOverflow && (scrollBodyStyles.overflowX !== 'visible' || scrollBodyStyles.overflowY !== 'visible')) {
62
- // Set body overflow to visible
63
- console.warn('Style of body element for overflowX and overflowY will be set to "visible" for scrolling!');
64
- body.style.overflowX = 'visible';
65
- body.style.overflowY = 'visible';
66
- undoOverflowChanges = true;
67
- }
68
- // Load images before scrolling (once)
69
- if (config.loadImagesBefore) {
70
- yield this.imageService.preLoadImages();
71
- }
72
- // Get get bounding rect of target element
73
- const cords = el.getBoundingClientRect();
74
- // Scroll to element
75
- window.scrollBy({ top: cords.top - this.scrollOffset, behavior: 'smooth' });
76
- yield this.scrollDone({
77
- doneFunction: () => {
78
- // Undo changes
79
- if (undoOverflowChanges && config.resetStyles) {
80
- body.style.overflowX = scrollBodyStyles.overflowX;
81
- body.style.overflowY = scrollBodyStyles.overflowY;
82
- console.warn('Original style of body element for overflowX and overflowY is set.');
83
- }
84
- },
85
- });
86
- // Return stop propagation configuration
87
- return !config.stopPropagation;
88
- });
89
- }
90
- /**
91
- * Get last active structureElement
92
- */
93
- getLastActiveElement(list) {
94
- const currentScrollPosition = window.scrollY;
95
- const elementsWithId = document.querySelectorAll('[id]');
96
- let lastId = null;
97
- let lastPosition = 0 - this.detectionOffset - 1;
98
- elementsWithId.forEach((element) => {
99
- const cords = element.getBoundingClientRect();
100
- const top = cords.top + window.pageYOffset - this.detectionOffset;
101
- if ((!list || !list.length || list.includes(element.id)) && // In list
102
- top < currentScrollPosition && // In active area
103
- lastPosition < top // Higher than the last one
104
- ) {
105
- lastId = element.id;
106
- lastPosition = top;
107
- }
108
- });
109
- return lastId;
110
- }
111
- /**
112
- * Check if ID is active
113
- */
114
- isActive(id, list, isFirst) {
115
- const lastActiveElement = this.getLastActiveElement(list);
116
- return id === lastActiveElement || (lastActiveElement === null && isFirst);
117
- }
118
- /**
119
- * Scroll done promise
120
- */
121
- scrollDone(options = {}) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- // Init configuration
124
- const config = Object.assign({ doneFunction: undefined }, options);
125
- // Wait for scroll done
126
- yield this.scrollDoneDetection();
127
- // Get result
128
- if (config.doneFunction) {
129
- return config.doneFunction();
130
- }
131
- });
132
- }
133
- /**
134
- * Scroll done detecton
135
- *
136
- * @protected
137
- */
138
- scrollDoneDetection() {
139
- // Return current scroll promise (Singelton)
140
- if (this.scrollPromise) {
141
- return this.scrollPromise;
142
- }
143
- // Create current scroll promise
144
- this.scrollPromise = new Promise((resolve) => {
145
- this.scrollPromiseResolve = resolve;
146
- if (this.scrollTimer !== -1) {
147
- window.clearTimeout(this.scrollTimer);
148
- }
149
- this.scrollTimer = window.setTimeout(() => {
150
- window.removeEventListener('scroll', this.scrollDoneDetection.bind(this));
151
- this.scrollPromise = undefined;
152
- resolve();
153
- }, this.scrollSamplingRate);
154
- });
155
- // Lisitening to scroll event;
156
- window.addEventListener('scroll', this.scrollDoneDetection.bind(this));
157
- // Return promise
158
- return this.scrollPromise;
159
- }
160
- }
161
- ScrollService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScrollService_Factory() { return new ScrollService(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.BASE_MODULE_CONFIG), i0.ɵɵinject(i3.ImageService)); }, token: ScrollService, providedIn: "root" });
162
- ScrollService.decorators = [
163
- { type: Injectable, args: [{
164
- providedIn: 'root',
165
- },] }
166
- ];
167
- ScrollService.ctorParameters = () => [
168
- { type: Router },
169
- { type: undefined, decorators: [{ type: Inject, args: [BASE_MODULE_CONFIG,] }] },
170
- { type: ImageService }
171
- ];
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NyYy9saWIvYmFzZS9zZXJ2aWNlcy9zY3JvbGwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRS9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUE2Q3hCOztPQUVHO0lBQ0gsWUFDWSxNQUFjLEVBQ2MsWUFBOEIsRUFDMUQsWUFBMEI7UUFGMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNjLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUMxRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXBDdEM7Ozs7V0FJRztRQUNPLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRWpDOzs7O1dBSUc7UUFDTyxnQkFBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBMEJ6QixNQUFNLE1BQU0sbUJBQ1YscUJBQXFCLEVBQUUsR0FBRyxFQUMxQixZQUFZLEVBQUUsR0FBRyxFQUNqQixrQkFBa0IsRUFBRSxHQUFHLElBQ3BCLFlBQVksQ0FDaEIsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBQ3BELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNHLFFBQVEsQ0FDWixFQUFVLEVB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QUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFdkUsaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzs7O1lBN05GLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVFEsTUFBTTs0Q0E0RFYsTUFBTSxTQUFDLGtCQUFrQjtZQTFEckIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJBU0VfTU9EVUxFX0NPTkZJRywgQmFzZU1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvYmFzZS1tb2R1bGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbWFnZVNlcnZpY2UgfSBmcm9tICcuL2ltYWdlLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNjcm9sbCBzZXJ2aWNlIGZvciBhdXRvc2Nyb2xsIHRvIHNwZWNpZmljIGZyYWdtZW50c1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsU2VydmljZSB7XG4gIC8qKlxuICAgKiBDdXJyZW50IHNjcm9sbCBwcm9taXNlXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBzY3JvbGxQcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlIGZ1bmN0aW9uIG9mIGN1cnJlbnQgc2Nyb2xsIHByb21pc2VcbiAgICpcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIHNjcm9sbFByb21pc2VSZXNvbHZlOiAodmFsdWU6IHZvaWQgfCBQcm9taXNlTGlrZTx2b2lkPikgPT4gdm9pZDtcblxuICAvKipcbiAgICogSXMgYSBzY3JvbGwgbGlzdGVuZXIgc2V0XG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBzY3JvbGxMaXN0ZW5lciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IHNjcm9sbCB0aW1lcjtcbiAgICpcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIHNjcm9sbFRpbWVyID0gLTE7XG5cbiAgLyoqXG4gICAqIFNjcm9sbCBvZmZzZXRcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBzY3JvbGxPZmZzZXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogRGV0ZWN0aW9uIG9mZnNldFxuICAgKiBTaG91bGQgYmUgPj0gc2Nyb2xsT2Zmc2V0XG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGV0ZWN0aW9uT2Zmc2V0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNhbXBsaW5nIHJhdGUgZm9yIHNjcm9sbCBkb25lIGRldGVjdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNjcm9sbFNhbXBsaW5nUmF0ZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplclxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgIEBJbmplY3QoQkFTRV9NT0RVTEVfQ09ORklHKSBwcm90ZWN0ZWQgbW9kdWxlQ29uZmlnOiBCYXNlTW9kdWxlQ29uZmlnLFxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IEltYWdlU2VydmljZVxuICApIHtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBzY3JvbGxEZXRlY3Rpb25PZmZzZXQ6IDIwMCxcbiAgICAgIHNjcm9sbE9mZnNldDogMTAwLFxuICAgICAgc2Nyb2xsU2FtcGxpbmdSYXRlOiAxMDAsXG4gICAgICAuLi5tb2R1bGVDb25maWcsXG4gICAgfTtcblxuICAgIHRoaXMuZGV0ZWN0aW9uT2Zmc2V0ID0gY29uZmlnLnNjcm9sbERldGVjdGlvbk9mZnNldDtcbiAgICB0aGlzLnNjcm9sbE9mZnNldCA9IGNvbmZpZy5zY3JvbGxPZmZzZXQ7XG4gICAgdGhpcy5zY3JvbGxTYW1wbGluZ1JhdGUgPSBjb25maWcuc2Nyb2xsU2FtcGxpbmdSYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbCB0byBzdHJ1Y3R1cmVFbGVtZW50IHdpdGggc3BlY2lmaWMgSURcbiAgICovXG4gIGFzeW5jIHNjcm9sbFRvKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgb3B0aW9uczoge1xuICAgICAgY2hlY2tVcmw/OiBib29sZWFuO1xuICAgICAgbG9hZEltYWdlc0JlZm9yZT86IGJvb2xlYW47XG4gICAgICByZXNldFN0eWxlcz86IGJvb2xlYW47XG4gICAgICBzZXRPdmVyZmxvdz86IGJvb2xlYW47XG4gICAgICBzdG9wUHJvcGFnYXRpb24/OiBib29sZWFuO1xuICAgIH0gPSB7fVxuICApIHtcbiAgICAvLyBQcmVwYXJlIGNvbmZpZ1xuICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgIGNoZWNrVXJsOiBmYWxzZSxcbiAgICAgIGxvYWRJbWFnZXNCZWZvcmU6IHRydWUsXG4gICAgICByZXNldFN0eWxlczogZmFsc2UsXG4gICAgICBzZXRPdmVyZmxvdzogdHJ1ZSxcbiAgICAgIHN0b3BQcm9wYWdhdGlvbjogdHJ1ZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIC8vIENoZWNrIGN1cnJlbnQgVVJMXG4gICAgaWYgKGNvbmZpZy5jaGVja1VybCAmJiB0aGlzLnJvdXRlci51cmwgIT09ICcvJyAmJiAhdGhpcy5yb3V0ZXIudXJsLnN0YXJ0c1dpdGgoJy8jJykpIHtcbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddLCB7IGZyYWdtZW50OiBpZCB9KTtcbiAgICAgIHJldHVybiAhY29uZmlnLnN0b3BQcm9wYWdhdGlvbjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiB0YXJnZXQgZWxlbWVudCBleGl0c1xuICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICAgIGlmICghZWwpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ01pc3Npbmcgc2Nyb2xsIGVsZW1lbnQgd2l0aCBJRDonLCBpZCk7XG4gICAgICByZXR1cm4gIWNvbmZpZy5zdG9wUHJvcGFnYXRpb247XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgYm9keSBvdmVyZmxvdyBpcyB2aXNpYmxlXG4gICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHNjcm9sbCBoYW5kbGluZ1xuICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5Jyk7XG4gICAgbGV0IHVuZG9PdmVyZmxvd0NoYW5nZXMgPSBmYWxzZTtcbiAgICBjb25zdCBzY3JvbGxCb2R5U3R5bGVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShib2R5KSkpO1xuICAgIGlmIChjb25maWcuc2V0T3ZlcmZsb3cgJiYgKHNjcm9sbEJvZHlTdHlsZXMub3ZlcmZsb3dYICE9PSAndmlzaWJsZScgfHwgc2Nyb2xsQm9keVN0eWxlcy5vdmVyZmxvd1kgIT09ICd2aXNpYmxlJykpIHtcbiAgICAgIC8vIFNldCBib2R5IG92ZXJmbG93IHRvIHZpc2libGVcbiAgICAgIGNvbnNvbGUud2FybignU3R5bGUgb2YgYm9keSBlbGVtZW50IGZvciBvdmVyZmxvd1ggYW5kIG92ZXJmbG93WSB3aWxsIGJlIHNldCB0byBcInZpc2libGVcIiBmb3Igc2Nyb2xsaW5nIScpO1xuICAgICAgYm9keS5zdHlsZS5vdmVyZmxvd1ggPSAndmlzaWJsZSc7XG4gICAgICBib2R5LnN0eWxlLm92ZXJmbG93WSA9ICd2aXNpYmxlJztcbiAgICAgIHVuZG9PdmVyZmxvd0NoYW5nZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIExvYWQgaW1hZ2VzIGJlZm9yZSBzY3JvbGxpbmcgKG9uY2UpXG4gICAgaWYgKGNvbmZpZy5sb2FkSW1hZ2VzQmVmb3JlKSB7XG4gICAgICBhd2FpdCB0aGlzLmltYWdlU2VydmljZS5wcmVMb2FkSW1hZ2VzKCk7XG4gICAgfVxuXG4gICAgLy8gR2V0IGdldCBib3VuZGluZyByZWN0IG9mIHRhcmdldCBlbGVtZW50XG4gICAgY29uc3QgY29yZHMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIC8vIFNjcm9sbCB0byBlbGVtZW50XG4gICAgd2luZG93LnNjcm9sbEJ5KHsgdG9wOiBjb3Jkcy50b3AgLSB0aGlzLnNjcm9sbE9mZnNldCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIGF3YWl0IHRoaXMuc2Nyb2xsRG9uZSh7XG4gICAgICBkb25lRnVuY3Rpb246ICgpID0+IHtcbiAgICAgICAgLy8gVW5kbyBjaGFuZ2VzXG4gICAgICAgIGlmICh1bmRvT3ZlcmZsb3dDaGFuZ2VzICYmIGNvbmZpZy5yZXNldFN0eWxlcykge1xuICAgICAgICAgIGJvZHkuc3R5bGUub3ZlcmZsb3dYID0gc2Nyb2xsQm9keVN0eWxlcy5vdmVyZmxvd1g7XG4gICAgICAgICAgYm9keS5zdHlsZS5vdmVyZmxvd1kgPSBzY3JvbGxCb2R5U3R5bGVzLm92ZXJmbG93WTtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ09yaWdpbmFsIHN0eWxlIG9mIGJvZHkgZWxlbWVudCBmb3Igb3ZlcmZsb3dYIGFuZCBvdmVyZmxvd1kgaXMgc2V0LicpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gUmV0dXJuIHN0b3AgcHJvcGFnYXRpb24gY29uZmlndXJhdGlvblxuICAgIHJldHVybiAhY29uZmlnLnN0b3BQcm9wYWdhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGFzdCBhY3RpdmUgc3RydWN0dXJlRWxlbWVudFxuICAgKi9cbiAgZ2V0TGFzdEFjdGl2ZUVsZW1lbnQobGlzdD8pOiBzdHJpbmcge1xuICAgIGNvbnN0IGN1cnJlbnRTY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5zY3JvbGxZO1xuICAgIGNvbnN0IGVsZW1lbnRzV2l0aElkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2lkXScpO1xuICAgIGxldCBsYXN0SWQgPSBudWxsO1xuICAgIGxldCBsYXN0UG9zaXRpb24gPSAwIC0gdGhpcy5kZXRlY3Rpb25PZmZzZXQgLSAxO1xuICAgIGVsZW1lbnRzV2l0aElkLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGNvcmRzID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHRvcCA9IGNvcmRzLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldCAtIHRoaXMuZGV0ZWN0aW9uT2Zmc2V0O1xuICAgICAgaWYgKFxuICAgICAgICAoIWxpc3QgfHwgIWxpc3QubGVuZ3RoIHx8IGxpc3QuaW5jbHVkZXMoZWxlbWVudC5pZCkpICYmIC8vIEluIGxpc3RcbiAgICAgICAgdG9wIDwgY3VycmVudFNjcm9sbFBvc2l0aW9uICYmIC8vIEluIGFjdGl2ZSBhcmVhXG4gICAgICAgIGxhc3RQb3NpdGlvbiA8IHRvcCAvLyBIaWdoZXIgdGhhbiB0aGUgbGFzdCBvbmVcbiAgICAgICkge1xuICAgICAgICBsYXN0SWQgPSBlbGVtZW50LmlkO1xuICAgICAgICBsYXN0UG9zaXRpb24gPSB0b3A7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGxhc3RJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBJRCBpcyBhY3RpdmVcbiAgICovXG4gIGlzQWN0aXZlKGlkLCBsaXN0PywgaXNGaXJzdD8pIHtcbiAgICBjb25zdCBsYXN0QWN0aXZlRWxlbWVudCA9IHRoaXMuZ2V0TGFzdEFjdGl2ZUVsZW1lbnQobGlzdCk7XG4gICAgcmV0dXJuIGlkID09PSBsYXN0QWN0aXZlRWxlbWVudCB8fCAobGFzdEFjdGl2ZUVsZW1lbnQgPT09IG51bGwgJiYgaXNGaXJzdCk7XG4gIH1cblxuICAvKipcbiAgICogU2Nyb2xsIGRvbmUgcHJvbWlzZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNjcm9sbERvbmUob3B0aW9uczogeyBkb25lRnVuY3Rpb24/OiAoKSA9PiBhbnkgfCB2b2lkIH0gPSB7fSk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gSW5pdCBjb25maWd1cmF0aW9uXG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgZG9uZUZ1bmN0aW9uOiB1bmRlZmluZWQsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICAvLyBXYWl0IGZvciBzY3JvbGwgZG9uZVxuICAgIGF3YWl0IHRoaXMuc2Nyb2xsRG9uZURldGVjdGlvbigpO1xuXG4gICAgLy8gR2V0IHJlc3VsdFxuICAgIGlmIChjb25maWcuZG9uZUZ1bmN0aW9uKSB7XG4gICAgICByZXR1cm4gY29uZmlnLmRvbmVGdW5jdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTY3JvbGwgZG9uZSBkZXRlY3RvblxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgc2Nyb2xsRG9uZURldGVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBSZXR1cm4gY3VycmVudCBzY3JvbGwgcHJvbWlzZSAoU2luZ2VsdG9uKVxuICAgIGlmICh0aGlzLnNjcm9sbFByb21pc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLnNjcm9sbFByb21pc2U7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGN1cnJlbnQgc2Nyb2xsIHByb21pc2VcbiAgICB0aGlzLnNjcm9sbFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5zY3JvbGxQcm9taXNlUmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICBpZiAodGhpcy5zY3JvbGxUaW1lciAhPT0gLTEpIHtcbiAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnNjcm9sbFRpbWVyKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2Nyb2xsVGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLnNjcm9sbERvbmVEZXRlY3Rpb24uYmluZCh0aGlzKSk7XG4gICAgICAgIHRoaXMuc2Nyb2xsUHJvbWlzZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSwgdGhpcy5zY3JvbGxTYW1wbGluZ1JhdGUpO1xuICAgIH0pO1xuXG4gICAgLy8gTGlzaXRlbmluZyB0byBzY3JvbGwgZXZlbnQ7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuc2Nyb2xsRG9uZURldGVjdGlvbi5iaW5kKHRoaXMpKTtcblxuICAgIC8vIFJldHVybiBwcm9taXNlXG4gICAgcmV0dXJuIHRoaXMuc2Nyb2xsUHJvbWlzZTtcbiAgfVxufVxuIl19
@@ -1,100 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Meta, Title } from '@angular/platform-browser';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/platform-browser";
5
- /**
6
- * SEO service for setting HTML meta data
7
- */
8
- export class SEOService {
9
- constructor(titleService, metaTagService) {
10
- this.titleService = titleService;
11
- this.metaTagService = metaTagService;
12
- }
13
- initPageForSEO(input) {
14
- this.setGeneralData(input);
15
- this.setTwitterData(input);
16
- this.setTwitterData(input);
17
- this.setFacebookData(input);
18
- if (input.keywords) {
19
- this.setPageKeywords(input.keywords);
20
- }
21
- }
22
- /**
23
- * Set general metadata
24
- *
25
- * @param data
26
- * @private
27
- */
28
- setGeneralData(data) {
29
- this.titleService.setTitle(data.title);
30
- this.metaTagService.updateTag({ name: 'description', content: data.description });
31
- }
32
- /**
33
- * Set metadata for twitter
34
- *
35
- * @param data
36
- * @private
37
- */
38
- setTwitterData(data) {
39
- this.metaTagService.updateTag({ name: 'twitter:title', content: data.title });
40
- this.metaTagService.updateTag({ name: 'twitter:description', content: data.description });
41
- this.metaTagService.updateTag({
42
- property: 'twitter:url',
43
- content: data.url ? data.url : window.location.href,
44
- });
45
- if (data.image) {
46
- this.metaTagService.updateTag({
47
- property: 'twitter:image',
48
- content: data.image,
49
- });
50
- this.metaTagService.updateTag({
51
- property: 'twitter:card',
52
- content: 'summary_large_image',
53
- });
54
- }
55
- }
56
- /**
57
- * Set metadata for facebook
58
- *
59
- * @param data
60
- * @private
61
- */
62
- setFacebookData(data) {
63
- this.metaTagService.updateTag({ property: 'og:title', content: data.title });
64
- this.metaTagService.updateTag({ property: 'og:description', content: data.description });
65
- this.metaTagService.updateTag({
66
- property: 'og:type',
67
- content: 'website',
68
- });
69
- this.metaTagService.updateTag({
70
- property: 'og:url',
71
- content: data.url ? data.url : window.location.href,
72
- });
73
- if (data.image) {
74
- this.metaTagService.updateTag({
75
- property: 'og:image',
76
- content: data.image,
77
- });
78
- }
79
- }
80
- /**
81
- * Set page keywords
82
- *
83
- * @param keywords
84
- * @private
85
- */
86
- setPageKeywords(keywords) {
87
- this.metaTagService.updateTag({ name: 'keywords', content: keywords });
88
- }
89
- }
90
- SEOService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SEOService_Factory() { return new SEOService(i0.ɵɵinject(i1.Title), i0.ɵɵinject(i1.Meta)); }, token: SEOService, providedIn: "root" });
91
- SEOService.decorators = [
92
- { type: Injectable, args: [{
93
- providedIn: 'root',
94
- },] }
95
- ];
96
- SEOService.ctorParameters = () => [
97
- { type: Title },
98
- { type: Meta }
99
- ];
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NyYy9saWIvYmFzZS9zZXJ2aWNlcy9zZW8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVV4RDs7R0FFRztBQUlILE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQW9CLFlBQW1CLEVBQVUsY0FBb0I7UUFBakQsaUJBQVksR0FBWixZQUFZLENBQU87UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBTTtJQUFHLENBQUM7SUFFbEUsY0FBYyxDQUFDLEtBQWM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxjQUFjLENBQUMsSUFBYTtRQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxjQUFjLENBQUMsSUFBYTtRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUM1QixRQUFRLEVBQUUsYUFBYTtZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1NBQ3BELENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO2dCQUM1QixRQUFRLEVBQUUsZUFBZTtnQkFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ3BCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO2dCQUM1QixRQUFRLEVBQUUsY0FBYztnQkFDeEIsT0FBTyxFQUFFLHFCQUFxQjthQUMvQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGVBQWUsQ0FBQyxJQUFhO1FBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO1lBQzVCLFFBQVEsRUFBRSxTQUFTO1lBQ25CLE9BQU8sRUFBRSxTQUFTO1NBQ25CLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO1lBQzVCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7U0FDcEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7Z0JBQzVCLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDcEIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxlQUFlLENBQUMsUUFBZ0I7UUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Ozs7WUF6RkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFmYyxLQUFLO1lBQVgsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1ldGEsIFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmludGVyZmFjZSBTRU9EYXRhIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAga2V5d29yZHM/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU0VPIHNlcnZpY2UgZm9yIHNldHRpbmcgSFRNTCBtZXRhIGRhdGFcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNFT1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRpdGxlU2VydmljZTogVGl0bGUsIHByaXZhdGUgbWV0YVRhZ1NlcnZpY2U6IE1ldGEpIHt9XG5cbiAgcHVibGljIGluaXRQYWdlRm9yU0VPKGlucHV0OiBTRU9EYXRhKSB7XG4gICAgdGhpcy5zZXRHZW5lcmFsRGF0YShpbnB1dCk7XG4gICAgdGhpcy5zZXRUd2l0dGVyRGF0YShpbnB1dCk7XG4gICAgdGhpcy5zZXRUd2l0dGVyRGF0YShpbnB1dCk7XG4gICAgdGhpcy5zZXRGYWNlYm9va0RhdGEoaW5wdXQpO1xuXG4gICAgaWYgKGlucHV0LmtleXdvcmRzKSB7XG4gICAgICB0aGlzLnNldFBhZ2VLZXl3b3JkcyhpbnB1dC5rZXl3b3Jkcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBnZW5lcmFsIG1ldGFkYXRhXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHNldEdlbmVyYWxEYXRhKGRhdGE6IFNFT0RhdGEpIHtcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZShkYXRhLnRpdGxlKTtcbiAgICB0aGlzLm1ldGFUYWdTZXJ2aWNlLnVwZGF0ZVRhZyh7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IGRhdGEuZGVzY3JpcHRpb24gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IG1ldGFkYXRhIGZvciB0d2l0dGVyXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHNldFR3aXR0ZXJEYXRhKGRhdGE6IFNFT0RhdGEpIHtcbiAgICB0aGlzLm1ldGFUYWdTZXJ2aWNlLnVwZGF0ZVRhZyh7IG5hbWU6ICd0d2l0dGVyOnRpdGxlJywgY29udGVudDogZGF0YS50aXRsZSB9KTtcbiAgICB0aGlzLm1ldGFUYWdTZXJ2aWNlLnVwZGF0ZVRhZyh7IG5hbWU6ICd0d2l0dGVyOmRlc2NyaXB0aW9uJywgY29udGVudDogZGF0YS5kZXNjcmlwdGlvbiB9KTtcbiAgICB0aGlzLm1ldGFUYWdTZXJ2aWNlLnVwZGF0ZVRhZyh7XG4gICAgICBwcm9wZXJ0eTogJ3R3aXR0ZXI6dXJsJyxcbiAgICAgIGNvbnRlbnQ6IGRhdGEudXJsID8gZGF0YS51cmwgOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICB9KTtcblxuICAgIGlmIChkYXRhLmltYWdlKSB7XG4gICAgICB0aGlzLm1ldGFUYWdTZXJ2aWNlLnVwZGF0ZVRhZyh7XG4gICAgICAgIHByb3BlcnR5OiAndHdpdHRlcjppbWFnZScsXG4gICAgICAgIGNvbnRlbnQ6IGRhdGEuaW1hZ2UsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5tZXRhVGFnU2VydmljZS51cGRhdGVUYWcoe1xuICAgICAgICBwcm9wZXJ0eTogJ3R3aXR0ZXI6Y2FyZCcsXG4gICAgICAgIGNvbnRlbnQ6ICdzdW1tYXJ5X2xhcmdlX2ltYWdlJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgbWV0YWRhdGEgZm9yIGZhY2Vib29rXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHNldEZhY2Vib29rRGF0YShkYXRhOiBTRU9EYXRhKSB7XG4gICAgdGhpcy5tZXRhVGFnU2VydmljZS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOnRpdGxlJywgY29udGVudDogZGF0YS50aXRsZSB9KTtcbiAgICB0aGlzLm1ldGFUYWdTZXJ2aWNlLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiBkYXRhLmRlc2NyaXB0aW9uIH0pO1xuICAgIHRoaXMubWV0YVRhZ1NlcnZpY2UudXBkYXRlVGFnKHtcbiAgICAgIHByb3BlcnR5OiAnb2c6dHlwZScsXG4gICAgICBjb250ZW50OiAnd2Vic2l0ZScsXG4gICAgfSk7XG4gICAgdGhpcy5tZXRhVGFnU2VydmljZS51cGRhdGVUYWcoe1xuICAgICAgcHJvcGVydHk6ICdvZzp1cmwnLFxuICAgICAgY29udGVudDogZGF0YS51cmwgPyBkYXRhLnVybCA6IHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgIH0pO1xuXG4gICAgaWYgKGRhdGEuaW1hZ2UpIHtcbiAgICAgIHRoaXMubWV0YVRhZ1NlcnZpY2UudXBkYXRlVGFnKHtcbiAgICAgICAgcHJvcGVydHk6ICdvZzppbWFnZScsXG4gICAgICAgIGNvbnRlbnQ6IGRhdGEuaW1hZ2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IHBhZ2Uga2V5d29yZHNcbiAgICpcbiAgICogQHBhcmFtIGtleXdvcmRzXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHNldFBhZ2VLZXl3b3JkcyhrZXl3b3Jkczogc3RyaW5nKSB7XG4gICAgdGhpcy5tZXRhVGFnU2VydmljZS51cGRhdGVUYWcoeyBuYW1lOiAna2V5d29yZHMnLCBjb250ZW50OiBrZXl3b3JkcyB9KTtcbiAgfVxufVxuIl19
@@ -1,131 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { BASE_MODULE_CONFIG } from '../interfaces/base-module-config.interface';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../interfaces/base-module-config.interface";
5
- /**
6
- * Storage service for local data storage
7
- */
8
- export class StorageService {
9
- /**
10
- * Initializations
11
- */
12
- constructor(moduleConfig) {
13
- this.moduleConfig = moduleConfig;
14
- /**
15
- * Storage
16
- */
17
- this.storage = null;
18
- /**
19
- * Prefix for storage keys
20
- */
21
- this.prefix = '';
22
- // Set storage
23
- const type = moduleConfig.storageType ? moduleConfig.storageType : 'local';
24
- if (window[type + 'Storage']) {
25
- this.storage = window[type + 'Storage'];
26
- }
27
- // Set prefix
28
- this.prefix = '';
29
- if (moduleConfig.prefix) {
30
- this.prefix += moduleConfig.prefix + '_';
31
- }
32
- if (moduleConfig.version) {
33
- this.prefix += moduleConfig.version + '_';
34
- }
35
- }
36
- /**
37
- * Save itemKeys
38
- *
39
- * If you want to save one item, use itemKeys and value parameters like these:
40
- * save('KEY_OF_THE_ITEM', ITEM)
41
- *
42
- * If you want to save multiple items, use itemKeys only (value parameter will be ignored):
43
- * save({'KEY_OF_ITEM_1': ITEM_1, 'KEY_OF_ITEM_2': ITEM_2, ...})
44
- */
45
- save(itemKeys, value) {
46
- // Check local storage
47
- if (!this.storage) {
48
- return false;
49
- }
50
- // Check item keys and value
51
- if (!itemKeys ||
52
- (typeof itemKeys === 'object' && !Object.keys(itemKeys).length) ||
53
- (typeof itemKeys === 'string' && value === undefined)) {
54
- return false;
55
- }
56
- if (typeof itemKeys === 'object') {
57
- for (const [itemKey, itemValue] of Object.entries(itemKeys)) {
58
- this.storage.setItem(this.prefix + itemKey, JSON.stringify(itemValue));
59
- }
60
- return true;
61
- }
62
- this.storage.setItem(this.prefix + itemKeys, JSON.stringify(value));
63
- return true;
64
- }
65
- /**
66
- * Load items via key(s)
67
- */
68
- load(itemKeys) {
69
- // Check local storage
70
- if (!this.storage) {
71
- return;
72
- }
73
- // Check item keys
74
- if (!itemKeys || (Array.isArray(itemKeys) && !itemKeys.length)) {
75
- return null;
76
- }
77
- if (Array.isArray(itemKeys)) {
78
- const back = {};
79
- itemKeys.forEach((itemKey) => {
80
- const loadedItem = this.storage.getItem(this.prefix + itemKey);
81
- if (loadedItem) {
82
- back[itemKey] = JSON.parse(loadedItem);
83
- }
84
- else {
85
- back[itemKey] = null;
86
- }
87
- });
88
- return back;
89
- }
90
- let value = this.storage.getItem(this.prefix + itemKeys);
91
- if (value) {
92
- value = JSON.parse(value);
93
- }
94
- return value;
95
- }
96
- /**
97
- * Remove item from storage
98
- *
99
- * @param itemKeys keys or key to remove
100
- */
101
- remove(itemKeys) {
102
- // Check local storage
103
- if (!this.storage) {
104
- return false;
105
- }
106
- if (Array.isArray(itemKeys)) {
107
- itemKeys.forEach((key) => {
108
- this.storage.removeItem(this.prefix + key);
109
- });
110
- return true;
111
- }
112
- this.storage.removeItem(this.prefix + itemKeys);
113
- return true;
114
- }
115
- /**
116
- * Clear local storage
117
- */
118
- reset() {
119
- this.storage.clear();
120
- }
121
- }
122
- StorageService.ɵprov = i0.ɵɵdefineInjectable({ factory: function StorageService_Factory() { return new StorageService(i0.ɵɵinject(i1.BASE_MODULE_CONFIG)); }, token: StorageService, providedIn: "root" });
123
- StorageService.decorators = [
124
- { type: Injectable, args: [{
125
- providedIn: 'root',
126
- },] }
127
- ];
128
- StorageService.ctorParameters = () => [
129
- { type: undefined, decorators: [{ type: Inject, args: [BASE_MODULE_CONFIG,] }] }
130
- ];
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zcmMvbGliL2Jhc2Uvc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBRWxHOztHQUVHO0FBSUgsTUFBTSxPQUFPLGNBQWM7SUFXekI7O09BRUc7SUFDSCxZQUFnRCxZQUE4QjtRQUE5QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFiOUU7O1dBRUc7UUFDTyxZQUFPLEdBQVEsSUFBSSxDQUFDO1FBRTlCOztXQUVHO1FBQ08sV0FBTSxHQUFHLEVBQUUsQ0FBQztRQU1wQixjQUFjO1FBQ2QsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzNFLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUM7U0FDekM7UUFFRCxhQUFhO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7U0FDMUM7UUFDRCxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7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QUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7O1lBbklGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQWVjLE1BQU0sU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJBU0VfTU9EVUxFX0NPTkZJRywgQmFzZU1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvYmFzZS1tb2R1bGUtY29uZmlnLmludGVyZmFjZSc7XG5cbi8qKlxuICogU3RvcmFnZSBzZXJ2aWNlIGZvciBsb2NhbCBkYXRhIHN0b3JhZ2VcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFN0b3JhZ2VcbiAgICovXG4gIHByb3RlY3RlZCBzdG9yYWdlOiBhbnkgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggZm9yIHN0b3JhZ2Uga2V5c1xuICAgKi9cbiAgcHJvdGVjdGVkIHByZWZpeCA9ICcnO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXphdGlvbnNcbiAgICovXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQkFTRV9NT0RVTEVfQ09ORklHKSBwcml2YXRlIG1vZHVsZUNvbmZpZzogQmFzZU1vZHVsZUNvbmZpZykge1xuICAgIC8vIFNldCBzdG9yYWdlXG4gICAgY29uc3QgdHlwZSA9IG1vZHVsZUNvbmZpZy5zdG9yYWdlVHlwZSA/IG1vZHVsZUNvbmZpZy5zdG9yYWdlVHlwZSA6ICdsb2NhbCc7XG4gICAgaWYgKHdpbmRvd1t0eXBlICsgJ1N0b3JhZ2UnXSkge1xuICAgICAgdGhpcy5zdG9yYWdlID0gd2luZG93W3R5cGUgKyAnU3RvcmFnZSddO1xuICAgIH1cblxuICAgIC8vIFNldCBwcmVmaXhcbiAgICB0aGlzLnByZWZpeCA9ICcnO1xuICAgIGlmIChtb2R1bGVDb25maWcucHJlZml4KSB7XG4gICAgICB0aGlzLnByZWZpeCArPSBtb2R1bGVDb25maWcucHJlZml4ICsgJ18nO1xuICAgIH1cbiAgICBpZiAobW9kdWxlQ29uZmlnLnZlcnNpb24pIHtcbiAgICAgIHRoaXMucHJlZml4ICs9IG1vZHVsZUNvbmZpZy52ZXJzaW9uICsgJ18nO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIGl0ZW1LZXlzXG4gICAqXG4gICAqIElmIHlvdSB3YW50IHRvIHNhdmUgb25lIGl0ZW0sIHVzZSBpdGVtS2V5cyBhbmQgdmFsdWUgcGFyYW1ldGVycyBsaWtlIHRoZXNlOlxuICAgKiBzYXZlKCdLRVlfT0ZfVEhFX0lURU0nLCBJVEVNKVxuICAgKlxuICAgKiBJZiB5b3Ugd2FudCB0byBzYXZlIG11bHRpcGxlIGl0ZW1zLCB1c2UgaXRlbUtleXMgb25seSAodmFsdWUgcGFyYW1ldGVyIHdpbGwgYmUgaWdub3JlZCk6XG4gICAqIHNhdmUoeydLRVlfT0ZfSVRFTV8xJzogSVRFTV8xLCAnS0VZX09GX0lURU1fMic6IElURU1fMiwgLi4ufSlcbiAgICovXG4gIHB1YmxpYyBzYXZlKGl0ZW1LZXlzOiBzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9LCB2YWx1ZT86IGFueSk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIGxvY2FsIHN0b3JhZ2VcbiAgICBpZiAoIXRoaXMuc3RvcmFnZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGl0ZW0ga2V5cyBhbmQgdmFsdWVcbiAgICBpZiAoXG4gICAgICAhaXRlbUtleXMgfHxcbiAgICAgICh0eXBlb2YgaXRlbUtleXMgPT09ICdvYmplY3QnICYmICFPYmplY3Qua2V5cyhpdGVtS2V5cykubGVuZ3RoKSB8fFxuICAgICAgKHR5cGVvZiBpdGVtS2V5cyA9PT0gJ3N0cmluZycgJiYgdmFsdWUgPT09IHVuZGVmaW5lZClcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGl0ZW1LZXlzID09PSAnb2JqZWN0Jykge1xuICAgICAgZm9yIChjb25zdCBbaXRlbUtleSwgaXRlbVZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhpdGVtS2V5cykpIHtcbiAgICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0odGhpcy5wcmVmaXggKyBpdGVtS2V5LCBKU09OLnN0cmluZ2lmeShpdGVtVmFsdWUpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKHRoaXMucHJlZml4ICsgaXRlbUtleXMsIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBpdGVtcyB2aWEga2V5KHMpXG4gICAqL1xuICBwdWJsaWMgbG9hZChpdGVtS2V5czogc3RyaW5nIHwgc3RyaW5nW10pOiBhbnkge1xuICAgIC8vIENoZWNrIGxvY2FsIHN0b3JhZ2VcbiAgICBpZiAoIXRoaXMuc3RvcmFnZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGl0ZW0ga2V5c1xuICAgIGlmICghaXRlbUtleXMgfHwgKEFycmF5LmlzQXJyYXkoaXRlbUtleXMpICYmICFpdGVtS2V5cy5sZW5ndGgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtS2V5cykpIHtcbiAgICAgIGNvbnN0IGJhY2sgPSB7fTtcbiAgICAgIGl0ZW1LZXlzLmZvckVhY2goKGl0ZW1LZXkpID0+IHtcbiAgICAgICAgY29uc3QgbG9hZGVkSXRlbSA9IHRoaXMuc3RvcmFnZS5nZXRJdGVtKHRoaXMucHJlZml4ICsgaXRlbUtleSk7XG4gICAgICAgIGlmIChsb2FkZWRJdGVtKSB7XG4gICAgICAgICAgYmFja1tpdGVtS2V5XSA9IEpTT04ucGFyc2UobG9hZGVkSXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYmFja1tpdGVtS2V5XSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGJhY2s7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy5wcmVmaXggKyBpdGVtS2V5cyk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB2YWx1ZSA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaXRlbSBmcm9tIHN0b3JhZ2VcbiAgICpcbiAgICogQHBhcmFtIGl0ZW1LZXlzIGtleXMgb3Iga2V5IHRvIHJlbW92ZVxuICAgKi9cbiAgcHVibGljIHJlbW92ZShpdGVtS2V5czogc3RyaW5nIHwgc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAvLyBDaGVjayBsb2NhbCBzdG9yYWdlXG4gICAgaWYgKCF0aGlzLnN0b3JhZ2UpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtS2V5cykpIHtcbiAgICAgIGl0ZW1LZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLnByZWZpeCArIGtleSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMucHJlZml4ICsgaXRlbUtleXMpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIGxvY2FsIHN0b3JhZ2VcbiAgICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JhZ2UuY2xlYXIoKTtcbiAgfVxufVxuIl19
@@ -1,16 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class WsService {
4
- reconnect() {
5
- var _a, _b;
6
- (_a = this.client) === null || _a === void 0 ? void 0 : _a.close();
7
- (_b = this.client) === null || _b === void 0 ? void 0 : _b.connect();
8
- }
9
- }
10
- WsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function WsService_Factory() { return new WsService(); }, token: WsService, providedIn: "root" });
11
- WsService.decorators = [
12
- { type: Injectable, args: [{
13
- providedIn: 'root',
14
- },] }
15
- ];
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc3JjL2xpYi9iYXNlL3NlcnZpY2VzL3dzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLFNBQVM7SUFHcEIsU0FBUzs7UUFDUCxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3JCLE1BQUMsSUFBSSxDQUFDLE1BQWMsMENBQUUsT0FBTyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7OztZQVRGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbkNsaWVudCB9IGZyb20gJ3N1YnNjcmlwdGlvbnMtdHJhbnNwb3J0LXdzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFdzU2VydmljZSB7XG4gIGNsaWVudDogU3Vic2NyaXB0aW9uQ2xpZW50O1xuXG4gIHJlY29ubmVjdCgpIHtcbiAgICB0aGlzLmNsaWVudD8uY2xvc2UoKTtcbiAgICAodGhpcy5jbGllbnQgYXMgYW55KT8uY29ubmVjdCgpO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zcmMvbGliL2Jhc2UvdHlwZXMvc3RvcmFnZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0b3JhZ2UgdHlwZXNcbiAqL1xuZXhwb3J0IHR5cGUgU3RvcmFnZVR5cGUgPSAnbG9jYWwnIHwgJ3Nlc3Npb24nO1xuIl19
@@ -1,22 +0,0 @@
1
- /**
2
- * Custom validator to check that two fields match
3
- * (inspirated by https://jasonwatmore.com/post/2018/11/07/angular-7-reactive-forms-validation-example)
4
- */
5
- export function MustMatch(controlName, matchingControlName) {
6
- return (formGroup) => {
7
- const control = formGroup.controls[controlName];
8
- const matchingControl = formGroup.controls[matchingControlName];
9
- if (matchingControl.errors && !matchingControl.errors.mustMatch) {
10
- // return if another validator has already found an error on the matchingControl
11
- return;
12
- }
13
- // set error on matchingControl if validation fails
14
- if (control.value !== matchingControl.value) {
15
- matchingControl.setErrors({ mustMatch: true });
16
- }
17
- else {
18
- matchingControl.setErrors(null);
19
- }
20
- };
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVzdC1tYXRjaC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NyYy9saWIvYmFzZS92YWxpZGF0b3JzL211c3QtbWF0Y2gudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsV0FBbUIsRUFBRSxtQkFBMkI7SUFDeEUsT0FBTyxDQUFDLFNBQW9CLEVBQUUsRUFBRTtRQUM5QixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVoRSxJQUFJLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUMvRCxnRkFBZ0Y7WUFDaEYsT0FBTztTQUNSO1FBRUQsbURBQW1EO1FBQ25ELElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsS0FBSyxFQUFFO1lBQzNDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoRDthQUFNO1lBQ0wsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogQ3VzdG9tIHZhbGlkYXRvciB0byBjaGVjayB0aGF0IHR3byBmaWVsZHMgbWF0Y2hcbiAqIChpbnNwaXJhdGVkIGJ5IGh0dHBzOi8vamFzb253YXRtb3JlLmNvbS9wb3N0LzIwMTgvMTEvMDcvYW5ndWxhci03LXJlYWN0aXZlLWZvcm1zLXZhbGlkYXRpb24tZXhhbXBsZSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIE11c3RNYXRjaChjb250cm9sTmFtZTogc3RyaW5nLCBtYXRjaGluZ0NvbnRyb2xOYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChmb3JtR3JvdXA6IEZvcm1Hcm91cCkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdO1xuICAgIGNvbnN0IG1hdGNoaW5nQ29udHJvbCA9IGZvcm1Hcm91cC5jb250cm9sc1ttYXRjaGluZ0NvbnRyb2xOYW1lXTtcblxuICAgIGlmIChtYXRjaGluZ0NvbnRyb2wuZXJyb3JzICYmICFtYXRjaGluZ0NvbnRyb2wuZXJyb3JzLm11c3RNYXRjaCkge1xuICAgICAgLy8gcmV0dXJuIGlmIGFub3RoZXIgdmFsaWRhdG9yIGhhcyBhbHJlYWR5IGZvdW5kIGFuIGVycm9yIG9uIHRoZSBtYXRjaGluZ0NvbnRyb2xcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBzZXQgZXJyb3Igb24gbWF0Y2hpbmdDb250cm9sIGlmIHZhbGlkYXRpb24gZmFpbHNcbiAgICBpZiAoY29udHJvbC52YWx1ZSAhPT0gbWF0Y2hpbmdDb250cm9sLnZhbHVlKSB7XG4gICAgICBtYXRjaGluZ0NvbnRyb2wuc2V0RXJyb3JzKHsgbXVzdE1hdGNoOiB0cnVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXRjaGluZ0NvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==