@lenne.tech/ng-base 18.1.3 → 22.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/CLAUDE.md +55 -0
  2. package/LICENSE +2 -2
  3. package/README.md +237 -44
  4. package/fesm2022/lenne.tech-ng-base-ai.mjs +771 -0
  5. package/fesm2022/lenne.tech-ng-base-ai.mjs.map +1 -0
  6. package/fesm2022/lenne.tech-ng-base-auth-provide.mjs +945 -0
  7. package/fesm2022/lenne.tech-ng-base-auth-provide.mjs.map +1 -0
  8. package/fesm2022/lenne.tech-ng-base-auth.mjs +454 -0
  9. package/fesm2022/lenne.tech-ng-base-auth.mjs.map +1 -0
  10. package/fesm2022/lenne.tech-ng-base-bug-bug-report-dialog-BRzVmKJr.mjs +825 -0
  11. package/fesm2022/lenne.tech-ng-base-bug-bug-report-dialog-BRzVmKJr.mjs.map +1 -0
  12. package/fesm2022/lenne.tech-ng-base-bug-bug-report-service-DWoTb_iw.mjs +351 -0
  13. package/fesm2022/lenne.tech-ng-base-bug-bug-report-service-DWoTb_iw.mjs.map +1 -0
  14. package/fesm2022/lenne.tech-ng-base-bug-capture-engine-TkjMDdqj.mjs +1046 -0
  15. package/fesm2022/lenne.tech-ng-base-bug-capture-engine-TkjMDdqj.mjs.map +1 -0
  16. package/fesm2022/lenne.tech-ng-base-bug-constants-Brm2KGHi.mjs +4 -0
  17. package/fesm2022/lenne.tech-ng-base-bug-constants-Brm2KGHi.mjs.map +1 -0
  18. package/fesm2022/lenne.tech-ng-base-bug-messages-BsP4fRQU.mjs +179 -0
  19. package/fesm2022/lenne.tech-ng-base-bug-messages-BsP4fRQU.mjs.map +1 -0
  20. package/fesm2022/lenne.tech-ng-base-bug-provide.mjs +26 -0
  21. package/fesm2022/lenne.tech-ng-base-bug-provide.mjs.map +1 -0
  22. package/fesm2022/lenne.tech-ng-base-bug-report-Tzlhe1Cm.mjs +62 -0
  23. package/fesm2022/lenne.tech-ng-base-bug-report-Tzlhe1Cm.mjs.map +1 -0
  24. package/fesm2022/lenne.tech-ng-base-bug-server.mjs +818 -0
  25. package/fesm2022/lenne.tech-ng-base-bug-server.mjs.map +1 -0
  26. package/fesm2022/lenne.tech-ng-base-bug.mjs +196 -0
  27. package/fesm2022/lenne.tech-ng-base-bug.mjs.map +1 -0
  28. package/fesm2022/lenne.tech-ng-base-files-ui.mjs +445 -0
  29. package/fesm2022/lenne.tech-ng-base-files-ui.mjs.map +1 -0
  30. package/fesm2022/lenne.tech-ng-base-files.mjs +474 -0
  31. package/fesm2022/lenne.tech-ng-base-files.mjs.map +1 -0
  32. package/fesm2022/lenne.tech-ng-base-server.mjs +408 -0
  33. package/fesm2022/lenne.tech-ng-base-server.mjs.map +1 -0
  34. package/fesm2022/lenne.tech-ng-base-share.mjs +76 -0
  35. package/fesm2022/lenne.tech-ng-base-share.mjs.map +1 -0
  36. package/fesm2022/lenne.tech-ng-base-sync.mjs +1096 -0
  37. package/fesm2022/lenne.tech-ng-base-sync.mjs.map +1 -0
  38. package/fesm2022/lenne.tech-ng-base-testing.mjs +171 -0
  39. package/fesm2022/lenne.tech-ng-base-testing.mjs.map +1 -0
  40. package/fesm2022/lenne.tech-ng-base-ui-provide.mjs +124 -0
  41. package/fesm2022/lenne.tech-ng-base-ui-provide.mjs.map +1 -0
  42. package/fesm2022/lenne.tech-ng-base-ui.mjs +34645 -0
  43. package/fesm2022/lenne.tech-ng-base-ui.mjs.map +1 -0
  44. package/fesm2022/lenne.tech-ng-base-utils.mjs +287 -0
  45. package/fesm2022/lenne.tech-ng-base-utils.mjs.map +1 -0
  46. package/fesm2022/lenne.tech-ng-base.mjs +615 -910
  47. package/fesm2022/lenne.tech-ng-base.mjs.map +1 -1
  48. package/i18n/auth/de.json +17 -0
  49. package/i18n/auth/en.json +17 -0
  50. package/i18n/bug/de.json +85 -0
  51. package/i18n/bug/en.json +85 -0
  52. package/i18n/de.json +8 -0
  53. package/i18n/en.json +8 -0
  54. package/i18n/files/de.json +27 -0
  55. package/i18n/files/en.json +27 -0
  56. package/i18n/share/de.json +8 -0
  57. package/i18n/share/en.json +8 -0
  58. package/i18n/ui/de.json +38 -0
  59. package/i18n/ui/en.json +38 -0
  60. package/package.json +127 -58
  61. package/types/lenne.tech-ng-base-ai.d.ts +845 -0
  62. package/types/lenne.tech-ng-base-auth-provide.d.ts +604 -0
  63. package/types/lenne.tech-ng-base-auth.d.ts +320 -0
  64. package/types/lenne.tech-ng-base-bug-provide.d.ts +272 -0
  65. package/types/lenne.tech-ng-base-bug-rolldown-runtime-C25Le4-w.d.ts +1 -0
  66. package/types/lenne.tech-ng-base-bug-server.d.ts +316 -0
  67. package/types/lenne.tech-ng-base-bug.d.ts +202 -0
  68. package/types/lenne.tech-ng-base-files-ui.d.ts +116 -0
  69. package/types/lenne.tech-ng-base-files.d.ts +288 -0
  70. package/types/lenne.tech-ng-base-server.d.ts +262 -0
  71. package/types/lenne.tech-ng-base-share.d.ts +21 -0
  72. package/types/lenne.tech-ng-base-sync.d.ts +380 -0
  73. package/types/lenne.tech-ng-base-testing.d.ts +327 -0
  74. package/types/lenne.tech-ng-base-ui-provide.d.ts +65 -0
  75. package/types/lenne.tech-ng-base-ui.d.ts +7744 -0
  76. package/types/lenne.tech-ng-base-utils.d.ts +150 -0
  77. package/types/lenne.tech-ng-base.d.ts +503 -0
  78. package/ui/styles/components/accordion.css +3 -0
  79. package/ui/styles/components/alert-dialog.css +4 -0
  80. package/ui/styles/components/alert.css +3 -0
  81. package/ui/styles/components/aspect-ratio.css +3 -0
  82. package/ui/styles/components/attachment.css +4 -0
  83. package/ui/styles/components/autocomplete.css +4 -0
  84. package/ui/styles/components/avatar.css +3 -0
  85. package/ui/styles/components/badge.css +3 -0
  86. package/ui/styles/components/breadcrumb.css +3 -0
  87. package/ui/styles/components/bubble.css +3 -0
  88. package/ui/styles/components/button-group.css +3 -0
  89. package/ui/styles/components/button.css +3 -0
  90. package/ui/styles/components/calendar.css +5 -0
  91. package/ui/styles/components/card.css +3 -0
  92. package/ui/styles/components/checkbox.css +3 -0
  93. package/ui/styles/components/code-block.css +4 -0
  94. package/ui/styles/components/collapsible.css +3 -0
  95. package/ui/styles/components/combobox.css +5 -0
  96. package/ui/styles/components/command.css +5 -0
  97. package/ui/styles/components/context-menu.css +3 -0
  98. package/ui/styles/components/date-picker.css +7 -0
  99. package/ui/styles/components/dialog.css +4 -0
  100. package/ui/styles/components/drawer.css +3 -0
  101. package/ui/styles/components/dropdown-menu.css +3 -0
  102. package/ui/styles/components/empty.css +3 -0
  103. package/ui/styles/components/field.css +5 -0
  104. package/ui/styles/components/hover-card.css +3 -0
  105. package/ui/styles/components/index.css +91 -0
  106. package/ui/styles/components/input-group.css +6 -0
  107. package/ui/styles/components/input-otp.css +3 -0
  108. package/ui/styles/components/input.css +3 -0
  109. package/ui/styles/components/item.css +4 -0
  110. package/ui/styles/components/kbd.css +3 -0
  111. package/ui/styles/components/label.css +3 -0
  112. package/ui/styles/components/lt-breadcrumb.css +3 -0
  113. package/ui/styles/components/lt-bug-attachments.css +5 -0
  114. package/ui/styles/components/lt-bug-journey-timeline.css +5 -0
  115. package/ui/styles/components/lt-bug-report-dialog.css +15 -0
  116. package/ui/styles/components/lt-bug-report.css +4 -0
  117. package/ui/styles/components/lt-color-mode-button.css +3 -0
  118. package/ui/styles/components/lt-confirm-dialog.css +4 -0
  119. package/ui/styles/components/lt-data-view.css +5 -0
  120. package/ui/styles/components/lt-date-picker.css +3 -0
  121. package/ui/styles/components/lt-date-time-picker.css +5 -0
  122. package/ui/styles/components/lt-enter-action.css +2 -0
  123. package/ui/styles/components/lt-footer.css +3 -0
  124. package/ui/styles/components/lt-form-field.css +4 -0
  125. package/ui/styles/components/lt-header.css +5 -0
  126. package/ui/styles/components/lt-imports.css +21 -0
  127. package/ui/styles/components/lt-navigation-menu.css +3 -0
  128. package/ui/styles/components/lt-notice.css +3 -0
  129. package/ui/styles/components/lt-overlay-defaults.css +3 -0
  130. package/ui/styles/components/lt-page-card.css +3 -0
  131. package/ui/styles/components/lt-page-title.css +2 -0
  132. package/ui/styles/components/lt-password-input.css +4 -0
  133. package/ui/styles/components/lt-readonly-field.css +2 -0
  134. package/ui/styles/components/lt-select.css +4 -0
  135. package/ui/styles/components/lt-text-field.css +5 -0
  136. package/ui/styles/components/lt-toolbar-item.css +2 -0
  137. package/ui/styles/components/lt-toolbar.css +3 -0
  138. package/ui/styles/components/lt-tus-upload-component.css +5 -0
  139. package/ui/styles/components/marker.css +3 -0
  140. package/ui/styles/components/menubar.css +3 -0
  141. package/ui/styles/components/message-scroller.css +4 -0
  142. package/ui/styles/components/message.css +3 -0
  143. package/ui/styles/components/native-select.css +3 -0
  144. package/ui/styles/components/navigation-menu.css +3 -0
  145. package/ui/styles/components/pagination.css +4 -0
  146. package/ui/styles/components/popover.css +3 -0
  147. package/ui/styles/components/progress.css +3 -0
  148. package/ui/styles/components/questionnaire.css +4 -0
  149. package/ui/styles/components/radio-group.css +3 -0
  150. package/ui/styles/components/resizable.css +3 -0
  151. package/ui/styles/components/select.css +3 -0
  152. package/ui/styles/components/separator.css +3 -0
  153. package/ui/styles/components/sheet.css +4 -0
  154. package/ui/styles/components/sidebar.css +9 -0
  155. package/ui/styles/components/skeleton.css +3 -0
  156. package/ui/styles/components/slider.css +3 -0
  157. package/ui/styles/components/sonner.css +4 -0
  158. package/ui/styles/components/spinner.css +3 -0
  159. package/ui/styles/components/switch.css +3 -0
  160. package/ui/styles/components/table.css +3 -0
  161. package/ui/styles/components/tabs.css +4 -0
  162. package/ui/styles/components/textarea.css +3 -0
  163. package/ui/styles/components/toggle-group.css +4 -0
  164. package/ui/styles/components/toggle.css +3 -0
  165. package/ui/styles/components/tooltip.css +3 -0
  166. package/ui/styles/components/trace.css +3 -0
  167. package/ui/styles/components/typography.css +3 -0
  168. package/ui/styles/components/utils.css +2 -0
  169. package/ui/styles/core.css +137 -0
  170. package/ui/styles/palette.css +94 -0
  171. package/ui/styles/theme.css +14 -0
  172. package/ui/styles/transitions.css +131 -0
  173. package/base-cms/index.d.ts +0 -5
  174. package/base-cms/interfaces/base-cms-module-config.interface.d.ts +0 -16
  175. package/base-cms/pages/base-cms/base-cms.component.d.ts +0 -92
  176. package/base-cms/public-api.d.ts +0 -5
  177. package/base-components/components/breadcrumb/breadcrumb.component.d.ts +0 -10
  178. package/base-components/components/change-password/change-password.component.d.ts +0 -24
  179. package/base-components/components/checkbox/checkbox.component.d.ts +0 -12
  180. package/base-components/components/delete-account/delete-account.component.d.ts +0 -15
  181. package/base-components/components/fab-button/fab-button.component.d.ts +0 -16
  182. package/base-components/components/input/input.component.d.ts +0 -27
  183. package/base-components/components/loading-bar/loading-bar.component.d.ts +0 -17
  184. package/base-components/components/model-form/model-form-base.component.d.ts +0 -64
  185. package/base-components/components/model-form/model-form.component.d.ts +0 -139
  186. package/base-components/components/model-form-sub/model-form-sub.component.d.ts +0 -56
  187. package/base-components/components/model-table/model-table.component.d.ts +0 -115
  188. package/base-components/components/refence-input/refence-input.component.d.ts +0 -84
  189. package/base-components/components/select/select.component.d.ts +0 -25
  190. package/base-components/components/skeleton-loader/skeleton-loader.component.d.ts +0 -10
  191. package/base-components/components/tags/tags.component.d.ts +0 -60
  192. package/base-components/components/textarea/textarea.component.d.ts +0 -21
  193. package/base-components/components/toast/toast.component.d.ts +0 -19
  194. package/base-components/components/upload-image/upload-image.component.d.ts +0 -111
  195. package/base-components/directives/back-button.directive.d.ts +0 -9
  196. package/base-components/directives/context-menu.directive.d.ts +0 -22
  197. package/base-components/directives/sort.directive.d.ts +0 -15
  198. package/base-components/directives/stop-propagation.directive.d.ts +0 -10
  199. package/base-components/index.d.ts +0 -5
  200. package/base-components/pipes/ellipses.pipe.d.ts +0 -10
  201. package/base-components/public-api.d.ts +0 -26
  202. package/base-prototype/index.d.ts +0 -5
  203. package/base-prototype/pages/email-verification/email-verification.component.d.ts +0 -18
  204. package/base-prototype/pages/forgot-password/forgot-password.component.d.ts +0 -26
  205. package/base-prototype/pages/login/login.component.d.ts +0 -33
  206. package/base-prototype/pages/profile/profile.component.d.ts +0 -24
  207. package/base-prototype/pages/register/register.component.d.ts +0 -31
  208. package/base-prototype/pages/set-password/set-password.component.d.ts +0 -29
  209. package/base-prototype/public-api.d.ts +0 -9
  210. package/esm2022/base-cms/interfaces/base-cms-module-config.interface.mjs +0 -3
  211. package/esm2022/base-cms/lenne.tech-ng-base-base-cms.mjs +0 -5
  212. package/esm2022/base-cms/pages/base-cms/base-cms.component.mjs +0 -238
  213. package/esm2022/base-cms/public-api.mjs +0 -8
  214. package/esm2022/base-components/components/breadcrumb/breadcrumb.component.mjs +0 -23
  215. package/esm2022/base-components/components/change-password/change-password.component.mjs +0 -97
  216. package/esm2022/base-components/components/checkbox/checkbox.component.mjs +0 -38
  217. package/esm2022/base-components/components/delete-account/delete-account.component.mjs +0 -59
  218. package/esm2022/base-components/components/fab-button/fab-button.component.mjs +0 -24
  219. package/esm2022/base-components/components/input/input.component.mjs +0 -75
  220. package/esm2022/base-components/components/loading-bar/loading-bar.component.mjs +0 -37
  221. package/esm2022/base-components/components/model-form/model-form-base.component.mjs +0 -145
  222. package/esm2022/base-components/components/model-form/model-form.component.mjs +0 -591
  223. package/esm2022/base-components/components/model-form-sub/model-form-sub.component.mjs +0 -117
  224. package/esm2022/base-components/components/model-table/model-table.component.mjs +0 -478
  225. package/esm2022/base-components/components/refence-input/refence-input.component.mjs +0 -278
  226. package/esm2022/base-components/components/select/select.component.mjs +0 -62
  227. package/esm2022/base-components/components/skeleton-loader/skeleton-loader.component.mjs +0 -33
  228. package/esm2022/base-components/components/tags/tags.component.mjs +0 -227
  229. package/esm2022/base-components/components/textarea/textarea.component.mjs +0 -79
  230. package/esm2022/base-components/components/toast/toast.component.mjs +0 -69
  231. package/esm2022/base-components/components/upload-image/upload-image.component.mjs +0 -346
  232. package/esm2022/base-components/directives/back-button.directive.mjs +0 -25
  233. package/esm2022/base-components/directives/context-menu.directive.mjs +0 -112
  234. package/esm2022/base-components/directives/sort.directive.mjs +0 -61
  235. package/esm2022/base-components/directives/stop-propagation.directive.mjs +0 -24
  236. package/esm2022/base-components/lenne.tech-ng-base-base-components.mjs +0 -5
  237. package/esm2022/base-components/pipes/ellipses.pipe.mjs +0 -23
  238. package/esm2022/base-components/public-api.mjs +0 -30
  239. package/esm2022/base-prototype/lenne.tech-ng-base-base-prototype.mjs +0 -5
  240. package/esm2022/base-prototype/pages/email-verification/email-verification.component.mjs +0 -60
  241. package/esm2022/base-prototype/pages/forgot-password/forgot-password.component.mjs +0 -78
  242. package/esm2022/base-prototype/pages/login/login.component.mjs +0 -114
  243. package/esm2022/base-prototype/pages/profile/profile.component.mjs +0 -87
  244. package/esm2022/base-prototype/pages/register/register.component.mjs +0 -100
  245. package/esm2022/base-prototype/pages/set-password/set-password.component.mjs +0 -91
  246. package/esm2022/base-prototype/public-api.mjs +0 -11
  247. package/esm2022/lenne.tech-ng-base.mjs +0 -5
  248. package/esm2022/public-api.mjs +0 -25
  249. package/esm2022/shared/classes/auth.class.mjs +0 -14
  250. package/esm2022/shared/classes/basic-user.class.mjs +0 -49
  251. package/esm2022/shared/classes/graphql-enum.class.mjs +0 -10
  252. package/esm2022/shared/classes/graphql-meta.class.mjs +0 -345
  253. package/esm2022/shared/classes/graphql-type.class.mjs +0 -14
  254. package/esm2022/shared/classes/helper.class.mjs +0 -307
  255. package/esm2022/shared/classes/sort.class.mjs +0 -38
  256. package/esm2022/shared/classes/standard.class.mjs +0 -40
  257. package/esm2022/shared/decorators/debounce.decorator.mjs +0 -12
  258. package/esm2022/shared/enums/comparison-operator.enum.mjs +0 -16
  259. package/esm2022/shared/enums/graphql-request-type.enum.mjs +0 -10
  260. package/esm2022/shared/enums/logical-operator.enum.mjs +0 -10
  261. package/esm2022/shared/enums/skeleton-type.enum.mjs +0 -7
  262. package/esm2022/shared/enums/sort-order.enum.mjs +0 -6
  263. package/esm2022/shared/enums/toast-type.enum.mjs +0 -8
  264. package/esm2022/shared/functions/ws-client.function.mjs +0 -39
  265. package/esm2022/shared/interfaces/base-module-config.interface.mjs +0 -3
  266. package/esm2022/shared/interfaces/breadcrumb.interface.mjs +0 -2
  267. package/esm2022/shared/interfaces/can-component-deactivate.interface.mjs +0 -2
  268. package/esm2022/shared/interfaces/cms-enum-values.interface.mjs +0 -2
  269. package/esm2022/shared/interfaces/cms-field-config.interface.mjs +0 -2
  270. package/esm2022/shared/interfaces/cms-model-config.interface.mjs +0 -2
  271. package/esm2022/shared/interfaces/cms-table-field.interface.mjs +0 -2
  272. package/esm2022/shared/interfaces/combined-filter-input.interface.mjs +0 -2
  273. package/esm2022/shared/interfaces/compress-options.interface.mjs +0 -2
  274. package/esm2022/shared/interfaces/cropping-options.interface.mjs +0 -2
  275. package/esm2022/shared/interfaces/field-object.interface.mjs +0 -2
  276. package/esm2022/shared/interfaces/field.interface.mjs +0 -2
  277. package/esm2022/shared/interfaces/filter-input.interface.mjs +0 -2
  278. package/esm2022/shared/interfaces/find-args.interface.mjs +0 -2
  279. package/esm2022/shared/interfaces/graphql-crud-type.interface.mjs +0 -2
  280. package/esm2022/shared/interfaces/graphql-fields-object.interface.mjs +0 -2
  281. package/esm2022/shared/interfaces/graphql-options.interface.mjs +0 -2
  282. package/esm2022/shared/interfaces/graphql-plus-options.interfacen.mjs +0 -2
  283. package/esm2022/shared/interfaces/graphql-type-collection.interface.mjs +0 -2
  284. package/esm2022/shared/interfaces/login-config.interface.mjs +0 -2
  285. package/esm2022/shared/interfaces/register-config.interface.mjs +0 -2
  286. package/esm2022/shared/interfaces/single-filter-input.interface.mjs +0 -2
  287. package/esm2022/shared/interfaces/sort-input.interface.mjs +0 -2
  288. package/esm2022/shared/interfaces/time-components.interface.mjs +0 -2
  289. package/esm2022/shared/interfaces/toast.interface.mjs +0 -2
  290. package/esm2022/shared/lenne.tech-ng-base-shared.mjs +0 -5
  291. package/esm2022/shared/public-api.mjs +0 -74
  292. package/esm2022/shared/services/auth.service.mjs +0 -152
  293. package/esm2022/shared/services/breadcrumb.service.mjs +0 -69
  294. package/esm2022/shared/services/cms.service.mjs +0 -82
  295. package/esm2022/shared/services/file.service.mjs +0 -86
  296. package/esm2022/shared/services/forms.service.mjs +0 -61
  297. package/esm2022/shared/services/graphql-meta.service.mjs +0 -132
  298. package/esm2022/shared/services/graphql-plus.service.mjs +0 -93
  299. package/esm2022/shared/services/graphql.service.mjs +0 -510
  300. package/esm2022/shared/services/image.service.mjs +0 -102
  301. package/esm2022/shared/services/loader.service.mjs +0 -78
  302. package/esm2022/shared/services/navigation.service.mjs +0 -38
  303. package/esm2022/shared/services/scroll.service.mjs +0 -207
  304. package/esm2022/shared/services/storage.service.mjs +0 -149
  305. package/esm2022/shared/services/toast.service.mjs +0 -39
  306. package/esm2022/shared/services/user.service.mjs +0 -160
  307. package/esm2022/shared/services/ws.service.mjs +0 -17
  308. package/esm2022/shared/types/graphql-fields.type.mjs +0 -2
  309. package/esm2022/shared/types/storage.type.mjs +0 -2
  310. package/esm2022/shared/validators/email.validator.mjs +0 -7
  311. package/esm2022/shared/validators/match.validator.mjs +0 -22
  312. package/esm2022/shared/validators/secure-password.validator.mjs +0 -7
  313. package/esm2022/src/base.module.mjs +0 -64
  314. package/esm2022/src/decorators/auto-unsubscribe.decorator.mjs +0 -23
  315. package/esm2022/src/directives/lazy-load.directive.mjs +0 -48
  316. package/esm2022/src/directives/match-height.directive.mjs +0 -92
  317. package/esm2022/src/directives/resizable.directive.mjs +0 -92
  318. package/esm2022/src/factories/apollo-options.factory.mjs +0 -108
  319. package/esm2022/src/functions/extract-files.function.mjs +0 -87
  320. package/esm2022/src/guards/auth.guard.mjs +0 -91
  321. package/esm2022/src/guards/can-deactivate.guard.mjs +0 -16
  322. package/esm2022/src/guards/logout.guard.mjs +0 -34
  323. package/esm2022/src/pipes/date-ago.pipe.mjs +0 -64
  324. package/esm2022/src/pipes/safe-html.pipe.mjs +0 -22
  325. package/esm2022/src/services/fullscreen.service.mjs +0 -51
  326. package/esm2022/src/services/seo.service.mjs +0 -117
  327. package/esm2022/src/services/theme.service.mjs +0 -44
  328. package/fesm2022/lenne.tech-ng-base-base-cms.mjs +0 -251
  329. package/fesm2022/lenne.tech-ng-base-base-cms.mjs.map +0 -1
  330. package/fesm2022/lenne.tech-ng-base-base-components.mjs +0 -2917
  331. package/fesm2022/lenne.tech-ng-base-base-components.mjs.map +0 -1
  332. package/fesm2022/lenne.tech-ng-base-base-prototype.mjs +0 -505
  333. package/fesm2022/lenne.tech-ng-base-base-prototype.mjs.map +0 -1
  334. package/fesm2022/lenne.tech-ng-base-shared.mjs +0 -2863
  335. package/fesm2022/lenne.tech-ng-base-shared.mjs.map +0 -1
  336. package/index.d.ts +0 -5
  337. package/public-api.d.ts +0 -17
  338. package/shared/classes/auth.class.d.ts +0 -10
  339. package/shared/classes/basic-user.class.d.ts +0 -27
  340. package/shared/classes/graphql-enum.class.d.ts +0 -7
  341. package/shared/classes/graphql-meta.class.d.ts +0 -66
  342. package/shared/classes/graphql-type.class.d.ts +0 -13
  343. package/shared/classes/helper.class.d.ts +0 -99
  344. package/shared/classes/sort.class.d.ts +0 -12
  345. package/shared/classes/standard.class.d.ts +0 -32
  346. package/shared/decorators/debounce.decorator.d.ts +0 -1
  347. package/shared/enums/comparison-operator.enum.d.ts +0 -14
  348. package/shared/enums/graphql-request-type.enum.d.ts +0 -8
  349. package/shared/enums/logical-operator.enum.d.ts +0 -8
  350. package/shared/enums/skeleton-type.enum.d.ts +0 -5
  351. package/shared/enums/sort-order.enum.d.ts +0 -4
  352. package/shared/enums/toast-type.enum.d.ts +0 -6
  353. package/shared/functions/ws-client.function.d.ts +0 -5
  354. package/shared/index.d.ts +0 -5
  355. package/shared/interfaces/base-module-config.interface.d.ts +0 -61
  356. package/shared/interfaces/breadcrumb.interface.d.ts +0 -4
  357. package/shared/interfaces/can-component-deactivate.interface.d.ts +0 -7
  358. package/shared/interfaces/cms-enum-values.interface.d.ts +0 -4
  359. package/shared/interfaces/cms-field-config.interface.d.ts +0 -45
  360. package/shared/interfaces/cms-model-config.interface.d.ts +0 -14
  361. package/shared/interfaces/cms-table-field.interface.d.ts +0 -10
  362. package/shared/interfaces/combined-filter-input.interface.d.ts +0 -9
  363. package/shared/interfaces/compress-options.interface.d.ts +0 -15
  364. package/shared/interfaces/cropping-options.interface.d.ts +0 -12
  365. package/shared/interfaces/field-object.interface.d.ts +0 -6
  366. package/shared/interfaces/field.interface.d.ts +0 -5
  367. package/shared/interfaces/filter-input.interface.d.ts +0 -9
  368. package/shared/interfaces/find-args.interface.d.ts +0 -11
  369. package/shared/interfaces/graphql-crud-type.interface.d.ts +0 -7
  370. package/shared/interfaces/graphql-fields-object.interface.d.ts +0 -6
  371. package/shared/interfaces/graphql-options.interface.d.ts +0 -11
  372. package/shared/interfaces/graphql-plus-options.interfacen.d.ts +0 -9
  373. package/shared/interfaces/graphql-type-collection.interface.d.ts +0 -7
  374. package/shared/interfaces/login-config.interface.d.ts +0 -6
  375. package/shared/interfaces/register-config.interface.d.ts +0 -4
  376. package/shared/interfaces/single-filter-input.interface.d.ts +0 -11
  377. package/shared/interfaces/sort-input.interface.d.ts +0 -5
  378. package/shared/interfaces/time-components.interface.d.ts +0 -6
  379. package/shared/interfaces/toast.interface.d.ts +0 -8
  380. package/shared/public-api.d.ts +0 -65
  381. package/shared/services/auth.service.d.ts +0 -44
  382. package/shared/services/breadcrumb.service.d.ts +0 -32
  383. package/shared/services/cms.service.d.ts +0 -27
  384. package/shared/services/file.service.d.ts +0 -22
  385. package/shared/services/forms.service.d.ts +0 -14
  386. package/shared/services/graphql-meta.service.d.ts +0 -45
  387. package/shared/services/graphql-plus.service.d.ts +0 -27
  388. package/shared/services/graphql.service.d.ts +0 -71
  389. package/shared/services/image.service.d.ts +0 -27
  390. package/shared/services/loader.service.d.ts +0 -32
  391. package/shared/services/navigation.service.d.ts +0 -15
  392. package/shared/services/scroll.service.d.ts +0 -85
  393. package/shared/services/storage.service.d.ts +0 -49
  394. package/shared/services/toast.service.d.ts +0 -15
  395. package/shared/services/user.service.d.ts +0 -77
  396. package/shared/services/ws.service.d.ts +0 -8
  397. package/shared/types/graphql-fields.type.d.ts +0 -5
  398. package/shared/types/storage.type.d.ts +0 -4
  399. package/shared/validators/email.validator.d.ts +0 -1
  400. package/shared/validators/match.validator.d.ts +0 -4
  401. package/shared/validators/secure-password.validator.d.ts +0 -1
  402. package/src/base.module.d.ts +0 -16
  403. package/src/decorators/auto-unsubscribe.decorator.d.ts +0 -5
  404. package/src/directives/lazy-load.directive.d.ts +0 -17
  405. package/src/directives/match-height.directive.d.ts +0 -20
  406. package/src/directives/resizable.directive.d.ts +0 -26
  407. package/src/factories/apollo-options.factory.d.ts +0 -16
  408. package/src/functions/extract-files.function.d.ts +0 -15
  409. package/src/guards/auth.guard.d.ts +0 -27
  410. package/src/guards/can-deactivate.guard.d.ts +0 -10
  411. package/src/guards/logout.guard.d.ts +0 -16
  412. package/src/pipes/date-ago.pipe.d.ts +0 -34
  413. package/src/pipes/safe-html.pipe.d.ts +0 -13
  414. package/src/services/fullscreen.service.d.ts +0 -18
  415. package/src/services/seo.service.d.ts +0 -61
  416. package/src/services/theme.service.d.ts +0 -17
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtb2JqZWN0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZmllbGQtb2JqZWN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHcmFwaFFMIGZpZWxkIG9iamVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZE9iamVjdCB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIHwgSUZpZWxkT2JqZWN0O1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvaW50ZXJmYWNlcy9maWVsZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElGaWVsZE9iamVjdCB9IGZyb20gJy4vZmllbGQtb2JqZWN0LmludGVyZmFjZSc7XG5cbi8qKlxuICogR3JhcGhRTCBmaWVsZHNcbiAqL1xuZXhwb3J0IHR5cGUgSUZpZWxkcyA9IHN0cmluZyB8IHN0cmluZ1tdIHwgSUZpZWxkT2JqZWN0O1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWlucHV0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZmlsdGVyLWlucHV0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2luZ2xlRmlsdGVySW5wdXQgfSBmcm9tICcuL3NpbmdsZS1maWx0ZXItaW5wdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbWJpbmVkRmlsdGVySW5wdXQgfSBmcm9tICcuL2NvbWJpbmVkLWZpbHRlci1pbnB1dC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEZpbHRlciBpbnB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlcklucHV0IHtcbiAgY29tYmluZWRGaWx0ZXI/OiBDb21iaW5lZEZpbHRlcklucHV0O1xuICBzaW5nbGVGaWx0ZXI/OiBTaW5nbGVGaWx0ZXJJbnB1dDtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1hcmdzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZmluZC1hcmdzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVySW5wdXQgfSBmcm9tICcuL2ZpbHRlci1pbnB1dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU29ydElucHV0IH0gZnJvbSAnLi9zb3J0LWlucHV0LmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmluZEFyZ3Mge1xuICBsaW1pdD86IG51bWJlcjtcbiAgb2Zmc2V0PzogbnVtYmVyO1xuICBza2lwPzogbnVtYmVyO1xuICBzb3J0PzogU29ydElucHV0W107XG4gIHRha2U/OiBudW1iZXI7XG4gIHNhbXBsZXM/OiBudW1iZXI7XG4gIGZpbHRlcj86IEZpbHRlcklucHV0O1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1jcnVkLXR5cGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvaW50ZXJmYWNlcy9ncmFwaHFsLWNydWQtdHlwZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgR3JhcGhxbENydWRUeXBlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjcmVhdGU6IGJvb2xlYW47XG4gIHVwZGF0ZTogYm9vbGVhbjtcbiAgZGVsZXRlOiBib29sZWFuO1xuICBkdXBsaWNhdGU6IGJvb2xlYW47XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1maWVsZHMtb2JqZWN0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZ3JhcGhxbC1maWVsZHMtb2JqZWN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHcmFwaFFMIGZpZWxkcyBvYmplY3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaFFMRmllbGRzT2JqZWN0IHtcbiAgW2tleTogc3RyaW5nXTogYm9vbGVhbiB8IChzdHJpbmcgfCBHcmFwaFFMRmllbGRzT2JqZWN0KVtdIHwgR3JhcGhRTEZpZWxkc09iamVjdDtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZ3JhcGhxbC1vcHRpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTFJlcXVlc3RUeXBlIH0gZnJvbSAnLi4vZW51bXMvZ3JhcGhxbC1yZXF1ZXN0LXR5cGUuZW51bSc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZ3JhcGhxbCByZXF1ZXN0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmFwaFFMT3B0aW9ucyB7XG4gIGFyZ3VtZW50cz86IGFueTtcbiAgZmllbGRzPzogYW55O1xuICBsb2c/OiBib29sZWFuO1xuICBtb2RlbD86IGFueTtcbiAgdHlwZT86IEdyYXBoUUxSZXF1ZXN0VHlwZTtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1wbHVzLW9wdGlvbnMuaW50ZXJmYWNlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZ3JhcGhxbC1wbHVzLW9wdGlvbnMuaW50ZXJmYWNlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUdyYXBoUUxPcHRpb25zIH0gZnJvbSAnLi9ncmFwaHFsLW9wdGlvbnMuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBHcmFwaFFMIGV4dHJhIG9wdGlvbnMgZm9yIGVycm9ycyBhbmQgbG9hZGluZyBpbmRpY2F0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JhcGhRTFBsdXNPcHRpb25zIGV4dGVuZHMgSUdyYXBoUUxPcHRpb25zIHtcbiAgaWdub3JlRXJyb3JzPzogYm9vbGVhbjtcbiAgZXhjbHVkZWRFcnJvcnM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgbG9hZGluZz86IGJvb2xlYW47XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC10eXBlLWNvbGxlY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvaW50ZXJmYWNlcy9ncmFwaHFsLXR5cGUtY29sbGVjdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyYXBoUUxUeXBlIH0gZnJvbSAnLi4vY2xhc3Nlcy9ncmFwaHFsLXR5cGUuY2xhc3MnO1xuXG4vKipcbiAqIEludGVyZmFjZSBvZiBHcmFwaFFMIHR5cGUgY29sbGVjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmFwaFFMVHlwZUNvbGxlY3Rpb24ge1xuICBba2V5OiBzdHJpbmddOiBJR3JhcGhRTFR5cGVDb2xsZWN0aW9uIHwgR3JhcGhRTFR5cGU7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvbG9naW4tY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMb2dpbkNvbmZpZyB7XG4gIHJlZGlyZWN0VXJsPzogc3RyaW5nO1xuICBzaG93UGFzc3dvcmRGb3JnZXQ/OiBib29sZWFuO1xuICBzaG93UmVnaXN0ZXI/OiBib29sZWFuO1xuICBsb2dvVXJsPzogc3RyaW5nO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvcmVnaXN0ZXItY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckNvbmZpZyB7XG4gIHJlZGlyZWN0VXJsPzogc3RyaW5nO1xuICBoaWRlTG9naW5MaW5rPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWZpbHRlci1pbnB1dC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NoYXJlZC9pbnRlcmZhY2VzL3NpbmdsZS1maWx0ZXItaW5wdXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wYXJpc29uT3BlcmF0b3JFbnVtIH0gZnJvbSAnLi4vZW51bXMvY29tcGFyaXNvbi1vcGVyYXRvci5lbnVtJztcblxuLyoqXG4gKiBTaW5nbGUgZmlsdGVyIGlucHV0IGtqaGdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW5nbGVGaWx0ZXJJbnB1dCB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIG5vdD86IGJvb2xlYW47XG4gIG9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3JFbnVtO1xuICBvcHRpb25zPzogc3RyaW5nO1xuICB2YWx1ZTogYW55O1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pbnB1dC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NoYXJlZC9pbnRlcmZhY2VzL3NvcnQtaW5wdXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0T3JkZXJFbnVtIH0gZnJvbSAnLi4vZW51bXMvc29ydC1vcmRlci5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBTb3J0SW5wdXQge1xuICBmaWVsZDogc3RyaW5nO1xuICBvcmRlcjogU29ydE9yZGVyRW51bTtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1jb21wb25lbnRzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvdGltZS1jb21wb25lbnRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUaW1lQ29tcG9uZW50cyB7XG4gIHNlY29uZHNUb0RkYXk6IG51bWJlcjtcbiAgbWludXRlc1RvRGRheTogbnVtYmVyO1xuICBob3Vyc1RvRGRheTogbnVtYmVyO1xuICBkYXlzVG9EZGF5OiBudW1iZXI7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvaW50ZXJmYWNlcy90b2FzdC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvYXN0VHlwZSB9IGZyb20gJy4uL2VudW1zL3RvYXN0LXR5cGUuZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3Qge1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBUb2FzdFR5cGU7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZXJyb3JDb2RlPzogc3RyaW5nO1xufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVubmUudGVjaC1uZy1iYXNlLXNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2xlbm5lLnRlY2gtbmctYmFzZS1zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,74 +0,0 @@
1
- /**
2
- * Exports for public API
3
- */
4
- // Classes
5
- export * from './classes/basic-user.class';
6
- export * from './classes/graphql-enum.class';
7
- export * from './classes/graphql-meta.class';
8
- export * from './classes/graphql-type.class';
9
- export * from './classes/helper.class';
10
- export * from './classes/standard.class';
11
- export * from './classes/auth.class';
12
- export * from './classes/sort.class';
13
- // Decorators
14
- export * from './decorators/debounce.decorator';
15
- // Services
16
- export * from './services/auth.service';
17
- export * from './services/graphql.service';
18
- export * from './services/graphql-meta.service';
19
- export * from './services/graphql-plus.service';
20
- export * from './services/forms.service';
21
- export * from './services/storage.service';
22
- export * from './services/ws.service';
23
- export * from './services/user.service';
24
- export * from './services/loader.service';
25
- export * from './services/scroll.service';
26
- export * from './services/image.service';
27
- export * from './services/toast.service';
28
- export * from './services/breadcrumb.service';
29
- export * from './services/navigation.service';
30
- export * from './services/cms.service';
31
- export * from './services/file.service';
32
- // Enums
33
- export * from './enums/comparison-operator.enum';
34
- export * from './enums/graphql-request-type.enum';
35
- export * from './enums/logical-operator.enum';
36
- export * from './enums/sort-order.enum';
37
- export * from './enums/toast-type.enum';
38
- export * from './enums/skeleton-type.enum';
39
- // Interfaces
40
- export * from './interfaces/base-module-config.interface';
41
- export * from './interfaces/can-component-deactivate.interface';
42
- export * from './interfaces/combined-filter-input.interface';
43
- export * from './interfaces/field.interface';
44
- export * from './interfaces/field-object.interface';
45
- export * from './interfaces/filter-input.interface';
46
- export * from './interfaces/graphql-options.interface';
47
- export * from './interfaces/graphql-plus-options.interfacen';
48
- export * from './interfaces/graphql-type-collection.interface';
49
- export * from './interfaces/graphql-fields-object.interface';
50
- export * from './interfaces/single-filter-input.interface';
51
- export * from './interfaces/sort-input.interface';
52
- export * from './interfaces/find-args.interface';
53
- export * from './interfaces/time-components.interface';
54
- export * from './interfaces/toast.interface';
55
- export * from './interfaces/breadcrumb.interface';
56
- export * from './interfaces/graphql-crud-type.interface';
57
- export * from './interfaces/compress-options.interface';
58
- export * from './interfaces/cropping-options.interface';
59
- export * from './interfaces/cms-enum-values.interface';
60
- export * from './interfaces/cms-field-config.interface';
61
- export * from './interfaces/cms-model-config.interface';
62
- export * from './interfaces/cms-table-field.interface';
63
- export * from './interfaces/login-config.interface';
64
- export * from './interfaces/register-config.interface';
65
- // Types
66
- export * from './types/storage.type';
67
- export * from './types/graphql-fields.type';
68
- // Validators
69
- export * from './validators/match.validator';
70
- export * from './validators/email.validator';
71
- export * from './validators/secure-password.validator';
72
- // Functions
73
- export * from './functions/ws-client.function';
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxVQUFVO0FBQ1YsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGFBQWE7QUFDYixjQUFjLGlDQUFpQyxDQUFDO0FBRWhELFdBQVc7QUFDWCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLFFBQVE7QUFDUixjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxhQUFhO0FBQ2IsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxRQUFRO0FBQ1IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGFBQWE7QUFDYixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxZQUFZO0FBQ1osY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXhwb3J0cyBmb3IgcHVibGljIEFQSVxuICovXG5cbi8vIENsYXNzZXNcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9iYXNpYy11c2VyLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9ncmFwaHFsLWVudW0uY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL2dyYXBocWwtbWV0YS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsYXNzZXMvZ3JhcGhxbC10eXBlLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9oZWxwZXIuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL3N0YW5kYXJkLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9hdXRoLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9zb3J0LmNsYXNzJztcblxuLy8gRGVjb3JhdG9yc1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2RlYm91bmNlLmRlY29yYXRvcic7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2dyYXBocWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2dyYXBocWwtbWV0YS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZ3JhcGhxbC1wbHVzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9mb3Jtcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvd3Muc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc2Nyb2xsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pbWFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2JyZWFkY3J1bWIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL25hdmlnYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Ntcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcblxuLy8gRW51bXNcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMvY29tcGFyaXNvbi1vcGVyYXRvci5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMvZ3JhcGhxbC1yZXF1ZXN0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2VudW1zL2xvZ2ljYWwtb3BlcmF0b3IuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2VudW1zL3NvcnQtb3JkZXIuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2VudW1zL3RvYXN0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2VudW1zL3NrZWxldG9uLXR5cGUuZW51bSc7XG5cbi8vIEludGVyZmFjZXNcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9iYXNlLW1vZHVsZS1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9jYW4tY29tcG9uZW50LWRlYWN0aXZhdGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9jb21iaW5lZC1maWx0ZXItaW5wdXQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9maWVsZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2ZpZWxkLW9iamVjdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2ZpbHRlci1pbnB1dC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2dyYXBocWwtb3B0aW9ucy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2dyYXBocWwtcGx1cy1vcHRpb25zLmludGVyZmFjZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2dyYXBocWwtdHlwZS1jb2xsZWN0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvZ3JhcGhxbC1maWVsZHMtb2JqZWN0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvc2luZ2xlLWZpbHRlci1pbnB1dC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3NvcnQtaW5wdXQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9maW5kLWFyZ3MuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy90aW1lLWNvbXBvbmVudHMuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy90b2FzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2JyZWFkY3J1bWIuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9ncmFwaHFsLWNydWQtdHlwZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2NvbXByZXNzLW9wdGlvbnMuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9jcm9wcGluZy1vcHRpb25zLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvY21zLWVudW0tdmFsdWVzLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvY21zLWZpZWxkLWNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2Ntcy1tb2RlbC1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9jbXMtdGFibGUtZmllbGQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9sb2dpbi1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9yZWdpc3Rlci1jb25maWcuaW50ZXJmYWNlJztcblxuLy8gVHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvc3RvcmFnZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvZ3JhcGhxbC1maWVsZHMudHlwZSc7XG5cbi8vIFZhbGlkYXRvcnNcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycy9tYXRjaC52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3JzL2VtYWlsLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMvc2VjdXJlLXBhc3N3b3JkLnZhbGlkYXRvcic7XG5cbi8vIEZ1bmN0aW9uc1xuZXhwb3J0ICogZnJvbSAnLi9mdW5jdGlvbnMvd3MtY2xpZW50LmZ1bmN0aW9uJztcbiJdfQ==
@@ -1,152 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, Observable } from 'rxjs';
3
- import { GraphQLService } from './graphql.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./storage.service";
6
- import * as i2 from "./ws.service";
7
- import * as i3 from "@angular/router";
8
- /**
9
- * Authentication service
10
- */
11
- export class AuthService {
12
- storageService;
13
- wsService;
14
- injector;
15
- router;
16
- // Subjects
17
- _currentUser = new BehaviorSubject(null);
18
- _token = new BehaviorSubject(null);
19
- _refreshToken = new BehaviorSubject(null);
20
- /**
21
- * Constructor
22
- */
23
- constructor(storageService, wsService, injector, router) {
24
- this.storageService = storageService;
25
- this.wsService = wsService;
26
- this.injector = injector;
27
- this.router = router;
28
- this.loadFromStorage();
29
- }
30
- requestNewToken() {
31
- return new Observable((subscriber) => {
32
- this.injector
33
- .get(GraphQLService)
34
- .graphQl('refreshToken', {
35
- fields: ['token', 'refreshToken'],
36
- })
37
- .subscribe({
38
- next: (response) => {
39
- this.token = response.token;
40
- this.refreshToken = response.refreshToken;
41
- subscriber.next(response);
42
- subscriber.complete();
43
- },
44
- error: (err) => {
45
- subscriber.error(err);
46
- },
47
- });
48
- });
49
- }
50
- loadFromStorage() {
51
- if (localStorage) {
52
- this.token = this.storageService.load('token');
53
- this.refreshToken = this.storageService.load('refreshToken');
54
- this.currentUser = this.storageService.load('currentUser');
55
- }
56
- }
57
- /**
58
- * Logout
59
- */
60
- logout(redirect = true) {
61
- return new Observable((subscriber) => {
62
- this.injector
63
- .get(GraphQLService)
64
- .graphQl('logout', {
65
- fields: [],
66
- })
67
- .subscribe({
68
- next: () => {
69
- this.clearSession(redirect);
70
- subscriber.next(true);
71
- subscriber.complete();
72
- },
73
- error: (err) => {
74
- subscriber.error(err);
75
- },
76
- });
77
- });
78
- }
79
- clearSession(redirect = true) {
80
- this.storageService.remove(['token', 'refreshToken', 'currentUser']);
81
- this.currentUser = null;
82
- this.token = null;
83
- this.refreshToken = null;
84
- if (redirect) {
85
- this.router.navigate(['/auth']);
86
- }
87
- }
88
- // #################################################################
89
- // Current User
90
- // #################################################################
91
- get currentUser() {
92
- if (!localStorage) {
93
- return undefined;
94
- }
95
- return this._currentUser.value;
96
- }
97
- set currentUser(user) {
98
- this._currentUser.next(user);
99
- this.storageService.save('currentUser', user);
100
- }
101
- get currentUserObservable() {
102
- return this._currentUser.asObservable();
103
- }
104
- // #################################################################
105
- // Token
106
- // #################################################################
107
- get token() {
108
- if (!localStorage) {
109
- return undefined;
110
- }
111
- return this._token.value;
112
- }
113
- set token(token) {
114
- this._token.next(token);
115
- this.storageService.save('token', token);
116
- this.wsService.reconnect();
117
- }
118
- get tokenObservable() {
119
- if (!this._token.value) {
120
- this.loadFromStorage();
121
- }
122
- return this._token.asObservable();
123
- }
124
- // #################################################################
125
- // refreshToken
126
- // #################################################################
127
- get refreshToken() {
128
- if (!localStorage) {
129
- return undefined;
130
- }
131
- return this._refreshToken.value;
132
- }
133
- set refreshToken(refreshToken) {
134
- this._refreshToken.next(refreshToken);
135
- this.storageService.save('refreshToken', refreshToken);
136
- }
137
- get refreshTokenObservable() {
138
- if (!this._refreshToken.value) {
139
- this.loadFromStorage();
140
- }
141
- return this._refreshToken.asObservable();
142
- }
143
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AuthService, deps: [{ token: i1.StorageService }, { token: i2.WsService }, { token: i0.Injector }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
144
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AuthService, providedIn: 'root' });
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AuthService, decorators: [{
147
- type: Injectable,
148
- args: [{
149
- providedIn: 'root',
150
- }]
151
- }], ctorParameters: () => [{ type: i1.StorageService }, { type: i2.WsService }, { type: i0.Injector }, { type: i3.Router }] });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUduRDs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFXO0lBVVo7SUFDQTtJQUNBO0lBQ0E7SUFaVixXQUFXO0lBQ0gsWUFBWSxHQUErQixJQUFJLGVBQWUsQ0FBWSxJQUFJLENBQUMsQ0FBQztJQUNoRixNQUFNLEdBQTRCLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO0lBQ3BFLGFBQWEsR0FBNEIsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7SUFFbkY7O09BRUc7SUFDSCxZQUNVLGNBQThCLEVBQzlCLFNBQW9CLEVBQ3BCLFFBQWtCLEVBQ2xCLE1BQWM7UUFIZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLFVBQVUsQ0FBMEMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUM1RSxJQUFJLENBQUMsUUFBUTtpQkFDVixHQUFHLENBQUMsY0FBYyxDQUFDO2lCQUNuQixPQUFPLENBQUMsY0FBYyxFQUFFO2dCQUN2QixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDO2FBQ2xDLENBQUM7aUJBQ0QsU0FBUyxD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QUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO3VHQXZKVSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhc2ljVXNlciB9IGZyb20gJy4uL2NsYXNzZXMvYmFzaWMtdXNlci5jbGFzcyc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFdzU2VydmljZSB9IGZyb20gJy4vd3Muc2VydmljZSc7XG5pbXBvcnQgeyBHcmFwaFFMU2VydmljZSB9IGZyb20gJy4vZ3JhcGhxbC5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbi8qKlxuICogQXV0aGVudGljYXRpb24gc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICAvLyBTdWJqZWN0c1xuICBwcml2YXRlIF9jdXJyZW50VXNlcjogQmVoYXZpb3JTdWJqZWN0PEJhc2ljVXNlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJhc2ljVXNlcj4obnVsbCk7XG4gIHByaXZhdGUgX3Rva2VuOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcbiAgcHJpdmF0ZSBfcmVmcmVzaFRva2VuOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgd3NTZXJ2aWNlOiBXc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICB0aGlzLmxvYWRGcm9tU3RvcmFnZSgpO1xuICB9XG5cbiAgcmVxdWVzdE5ld1Rva2VuKCk6IE9ic2VydmFibGU8eyB0b2tlbjogc3RyaW5nOyByZWZyZXNoVG9rZW46IHN0cmluZyB9PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHsgdG9rZW46IHN0cmluZzsgcmVmcmVzaFRva2VuOiBzdHJpbmcgfT4oKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIHRoaXMuaW5qZWN0b3JcbiAgICAgICAgLmdldChHcmFwaFFMU2VydmljZSlcbiAgICAgICAgLmdyYXBoUWwoJ3JlZnJlc2hUb2tlbicsIHtcbiAgICAgICAgICBmaWVsZHM6IFsndG9rZW4nLCAncmVmcmVzaFRva2VuJ10sXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2tlbiA9IHJlc3BvbnNlLnRva2VuO1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW4gPSByZXNwb25zZS5yZWZyZXNoVG9rZW47XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRGcm9tU3RvcmFnZSgpIHtcbiAgICBpZiAobG9jYWxTdG9yYWdlKSB7XG4gICAgICB0aGlzLnRva2VuID0gdGhpcy5zdG9yYWdlU2VydmljZS5sb2FkKCd0b2tlbicpIGFzIHN0cmluZztcbiAgICAgIHRoaXMucmVmcmVzaFRva2VuID0gdGhpcy5zdG9yYWdlU2VydmljZS5sb2FkKCdyZWZyZXNoVG9rZW4nKSBhcyBzdHJpbmc7XG4gICAgICB0aGlzLmN1cnJlbnRVc2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5sb2FkKCdjdXJyZW50VXNlcicpIGFzIEJhc2ljVXNlcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9nb3V0XG4gICAqL1xuICBwdWJsaWMgbG9nb3V0KHJlZGlyZWN0ID0gdHJ1ZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgdGhpcy5pbmplY3RvclxuICAgICAgICAuZ2V0KEdyYXBoUUxTZXJ2aWNlKVxuICAgICAgICAuZ3JhcGhRbCgnbG9nb3V0Jywge1xuICAgICAgICAgIGZpZWxkczogW10sXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZXNzaW9uKHJlZGlyZWN0KTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjbGVhclNlc3Npb24ocmVkaXJlY3QgPSB0cnVlKSB7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmUoWyd0b2tlbicsICdyZWZyZXNoVG9rZW4nLCAnY3VycmVudFVzZXInXSk7XG4gICAgdGhpcy5jdXJyZW50VXNlciA9IG51bGw7XG4gICAgdGhpcy50b2tlbiA9IG51bGw7XG4gICAgdGhpcy5yZWZyZXNoVG9rZW4gPSBudWxsO1xuXG4gICAgaWYgKHJlZGlyZWN0KSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hdXRoJ10pO1xuICAgIH1cbiAgfVxuXG4gIC8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4gIC8vIEN1cnJlbnQgVXNlclxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4gIGdldCBjdXJyZW50VXNlcigpOiBCYXNpY1VzZXIge1xuICAgIGlmICghbG9jYWxTdG9yYWdlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VXNlci52YWx1ZTtcbiAgfVxuXG4gIHNldCBjdXJyZW50VXNlcih1c2VyOiBCYXNpY1VzZXIpIHtcbiAgICB0aGlzLl9jdXJyZW50VXNlci5uZXh0KHVzZXIpO1xuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2F2ZSgnY3VycmVudFVzZXInLCB1c2VyKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VXNlck9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxCYXNpY1VzZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFVzZXIuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuICAvLyBUb2tlblxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4gIGdldCB0b2tlbigpOiBzdHJpbmcge1xuICAgIGlmICghbG9jYWxTdG9yYWdlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl90b2tlbi52YWx1ZTtcbiAgfVxuXG4gIHNldCB0b2tlbih0b2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5fdG9rZW4ubmV4dCh0b2tlbik7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zYXZlKCd0b2tlbicsIHRva2VuKTtcbiAgICB0aGlzLndzU2VydmljZS5yZWNvbm5lY3QoKTtcbiAgfVxuXG4gIGdldCB0b2tlbk9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRoaXMuX3Rva2VuLnZhbHVlKSB7XG4gICAgICB0aGlzLmxvYWRGcm9tU3RvcmFnZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl90b2tlbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4gIC8vIHJlZnJlc2hUb2tlblxuICAvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4gIGdldCByZWZyZXNoVG9rZW4oKTogc3RyaW5nIHtcbiAgICBpZiAoIWxvY2FsU3RvcmFnZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaFRva2VuLnZhbHVlO1xuICB9XG5cbiAgc2V0IHJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW46IHN0cmluZykge1xuICAgIHRoaXMuX3JlZnJlc2hUb2tlbi5uZXh0KHJlZnJlc2hUb2tlbik7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zYXZlKCdyZWZyZXNoVG9rZW4nLCByZWZyZXNoVG9rZW4pO1xuICB9XG5cbiAgZ2V0IHJlZnJlc2hUb2tlbk9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRoaXMuX3JlZnJlc2hUb2tlbi52YWx1ZSkge1xuICAgICAgdGhpcy5sb2FkRnJvbVN0b3JhZ2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaFRva2VuLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=
@@ -1,69 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, filter } from 'rxjs';
3
- import { NavigationEnd } from '@angular/router';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/router";
6
- export class BreadcrumbService {
7
- router;
8
- _breadcrumbs = new BehaviorSubject([]);
9
- set breadcrumbs(value) {
10
- this._breadcrumbs.next(value);
11
- }
12
- get breadcrumbsObservable() {
13
- return this._breadcrumbs.asObservable();
14
- }
15
- constructor(router) {
16
- this.router = router;
17
- this.subscribeToRouteChanges();
18
- }
19
- /**
20
- * Subscribe to route changes and add element to breadcrumb
21
- */
22
- subscribeToRouteChanges() {
23
- this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
24
- const root = this.router.routerState.snapshot.root;
25
- const breadcrumbs = [];
26
- this.addBreadcrumb(root, [], breadcrumbs);
27
- this.breadcrumbs = breadcrumbs;
28
- });
29
- }
30
- /**
31
- * Add element to breadcrumb
32
- *
33
- * @param route
34
- * @param parentUrl
35
- * @param breadcrumbs
36
- * @private
37
- */
38
- addBreadcrumb(route, parentUrl, breadcrumbs) {
39
- if (route) {
40
- const routeUrl = parentUrl.concat(route.url.map((url) => url.path));
41
- if (route.data?.breadcrumb) {
42
- const breadcrumb = {
43
- label: this.getLabel(route.data),
44
- url: '/' + routeUrl.join('/'),
45
- };
46
- breadcrumbs.push(breadcrumb);
47
- }
48
- this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
49
- }
50
- }
51
- /**
52
- * Get label for breadcrumb
53
- *
54
- * @param data
55
- * @private
56
- */
57
- getLabel(data) {
58
- return typeof data.breadcrumb === 'function' ? data.breadcrumb(data) : data.breadcrumb;
59
- }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
61
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: BreadcrumbService, decorators: [{
64
- type: Injectable,
65
- args: [{
66
- providedIn: 'root',
67
- }]
68
- }], ctorParameters: () => [{ type: i1.Router }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvc2VydmljZXMvYnJlYWRjcnVtYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFnQyxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTXRGLE1BQU0sT0FBTyxpQkFBaUI7SUFXUjtJQVZILFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZSxFQUFFLENBQUMsQ0FBQztJQUV0RSxJQUFJLFdBQVcsQ0FBQyxLQUFtQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNoQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNuRCxNQUFNLFdBQVcsR0FBaUIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssYUFBYSxDQUFDLEtBQTZCLEVBQUUsU0FBbUIsRUFBRSxXQUF5QjtRQUNqRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFcEUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO2dCQUMzQixNQUFNLFVBQVUsR0FBRztvQkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDaEMsR0FBRyxFQUFFLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztpQkFDOUIsQ0FBQztnQkFDRixXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxRQUFRLENBQUMsSUFBVTtRQUN6QixPQUFPLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekYsQ0FBQzt1R0EzRFUsaUJBQWlCOzJHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBEYXRhLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnJlYWRjcnVtYiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYnJlYWRjcnVtYi5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYlNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9icmVhZGNydW1icyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnJlYWRjcnVtYltdPihbXSk7XG5cbiAgc2V0IGJyZWFkY3J1bWJzKHZhbHVlOiBCcmVhZGNydW1iW10pIHtcbiAgICB0aGlzLl9icmVhZGNydW1icy5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCBicmVhZGNydW1ic09ic2VydmFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2JyZWFkY3J1bWJzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIHRoaXMuc3Vic2NyaWJlVG9Sb3V0ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gcm91dGUgY2hhbmdlcyBhbmQgYWRkIGVsZW1lbnQgdG8gYnJlYWRjcnVtYlxuICAgKi9cbiAgc3Vic2NyaWJlVG9Sb3V0ZUNoYW5nZXMoKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3Q7XG4gICAgICBjb25zdCBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW107XG4gICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm9vdCwgW10sIGJyZWFkY3J1bWJzKTtcbiAgICAgIHRoaXMuYnJlYWRjcnVtYnMgPSBicmVhZGNydW1icztcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgZWxlbWVudCB0byBicmVhZGNydW1iXG4gICAqXG4gICAqIEBwYXJhbSByb3V0ZVxuICAgKiBAcGFyYW0gcGFyZW50VXJsXG4gICAqIEBwYXJhbSBicmVhZGNydW1ic1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBhZGRCcmVhZGNydW1iKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBwYXJlbnRVcmw6IHN0cmluZ1tdLCBicmVhZGNydW1iczogQnJlYWRjcnVtYltdKSB7XG4gICAgaWYgKHJvdXRlKSB7XG4gICAgICBjb25zdCByb3V0ZVVybCA9IHBhcmVudFVybC5jb25jYXQocm91dGUudXJsLm1hcCgodXJsKSA9PiB1cmwucGF0aCkpO1xuXG4gICAgICBpZiAocm91dGUuZGF0YT8uYnJlYWRjcnVtYikge1xuICAgICAgICBjb25zdCBicmVhZGNydW1iID0ge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLmdldExhYmVsKHJvdXRlLmRhdGEpLFxuICAgICAgICAgIHVybDogJy8nICsgcm91dGVVcmwuam9pbignLycpLFxuICAgICAgICB9O1xuICAgICAgICBicmVhZGNydW1icy5wdXNoKGJyZWFkY3J1bWIpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgcm91dGVVcmwsIGJyZWFkY3J1bWJzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxhYmVsIGZvciBicmVhZGNydW1iXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldExhYmVsKGRhdGE6IERhdGEpIHtcbiAgICByZXR1cm4gdHlwZW9mIGRhdGEuYnJlYWRjcnVtYiA9PT0gJ2Z1bmN0aW9uJyA/IGRhdGEuYnJlYWRjcnVtYihkYXRhKSA6IGRhdGEuYnJlYWRjcnVtYjtcbiAgfVxufVxuIl19
@@ -1,82 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { GraphQLRequestType } from '../enums/graphql-request-type.enum';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./graphql.service";
5
- export class CmsService {
6
- graphQLService;
7
- constructor(graphQLService) {
8
- this.graphQLService = graphQLService;
9
- }
10
- /**
11
- * It calls the graphQLService to delete the object with the id of the object that is currently being edited
12
- */
13
- deleteObject(id, modelName) {
14
- return new Promise((resolve, reject) => {
15
- if (confirm('Möchtest du das Objekt wirklich löschen?')) {
16
- this.graphQLService
17
- .graphQl('delete' + this.capitalizeFirstLetter(modelName), {
18
- arguments: { id },
19
- fields: ['id'],
20
- type: GraphQLRequestType.MUTATION,
21
- })
22
- .subscribe({
23
- next: (value) => {
24
- resolve(value);
25
- },
26
- error: (err) => {
27
- reject(err);
28
- console.error('Error on delete object', err);
29
- },
30
- });
31
- }
32
- });
33
- }
34
- /**
35
- * It sends a GraphQL mutation to the server to duplicate the object
36
- */
37
- async duplicateObject(id, modelName) {
38
- return new Promise((resolve, reject) => {
39
- if (confirm('Möchtest du das Objekt wirklich duplizieren?')) {
40
- this.graphQLService
41
- .graphQl('duplicate' + this.capitalizeFirstLetter(modelName), {
42
- arguments: { id },
43
- fields: ['id'],
44
- type: GraphQLRequestType.MUTATION,
45
- })
46
- .subscribe({
47
- next: (value) => {
48
- resolve(value);
49
- },
50
- error: (err) => {
51
- reject(err);
52
- console.error('Error on duplicate object', err);
53
- },
54
- });
55
- }
56
- });
57
- }
58
- /**
59
- * It takes a string, capitalizes the first letter, and returns the modified string
60
- *
61
- * @param value - The string to capitalize.
62
- * @returns The first letter of the string is being capitalized and the rest of the string is being returned.
63
- */
64
- capitalizeFirstLetter(value) {
65
- return value.charAt(0).toUpperCase() + value.slice(1);
66
- }
67
- /**
68
- * Transform first letter to lowercase
69
- */
70
- lowerCaseFirstLetter(value) {
71
- return value.charAt(0).toLowerCase() + value.slice(1);
72
- }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: CmsService, deps: [{ token: i1.GraphQLService }], target: i0.ɵɵFactoryTarget.Injectable });
74
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: CmsService, providedIn: 'root' });
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: CmsService, decorators: [{
77
- type: Injectable,
78
- args: [{
79
- providedIn: 'root',
80
- }]
81
- }], ctorParameters: () => [{ type: i1.GraphQLService }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NoYXJlZC9zZXJ2aWNlcy9jbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFNeEUsTUFBTSxPQUFPLFVBQVU7SUFDRDtJQUFwQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBQ3REOztPQUVHO0lBQ0gsWUFBWSxDQUFDLEVBQVUsRUFBRSxTQUFpQjtRQUN4QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksT0FBTyxDQUFDLDBDQUEwQyxDQUFDLEVBQUUsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLGNBQWM7cUJBQ2hCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUN6RCxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUU7b0JBQ2pCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztvQkFDZCxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUTtpQkFDbEMsQ0FBQztxQkFDRCxTQUFTLENBQUM7b0JBQ1QsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNqQixDQUFDO29CQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO3dCQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUMvQyxDQUFDO2lCQUNGLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsRUFBVSxFQUFFLFNBQWlCO1FBQ2pELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxPQUFPLENBQUMsOENBQThDLENBQUMsRUFBRSxDQUFDO2dCQUM1RCxJQUFJLENBQUMsY0FBYztxQkFDaEIsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQzVELFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRTtvQkFDakIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO29CQUNkLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO2lCQUNsQyxDQUFDO3FCQUNELFNBQVMsQ0FBQztvQkFDVCxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2pCLENBQUM7b0JBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7d0JBQ2IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ2xELENBQUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUMsS0FBYTtRQUNqQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0IsQ0FBQyxLQUFhO1FBQ2hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7dUdBbkVVLFVBQVU7MkdBQVYsVUFBVSxjQUZULE1BQU07OzJGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JhcGhRTFJlcXVlc3RUeXBlIH0gZnJvbSAnLi4vZW51bXMvZ3JhcGhxbC1yZXF1ZXN0LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBHcmFwaFFMU2VydmljZSB9IGZyb20gJy4vZ3JhcGhxbC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENtc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdyYXBoUUxTZXJ2aWNlOiBHcmFwaFFMU2VydmljZSkge31cbiAgLyoqXG4gICAqIEl0IGNhbGxzIHRoZSBncmFwaFFMU2VydmljZSB0byBkZWxldGUgdGhlIG9iamVjdCB3aXRoIHRoZSBpZCBvZiB0aGUgb2JqZWN0IHRoYXQgaXMgY3VycmVudGx5IGJlaW5nIGVkaXRlZFxuICAgKi9cbiAgZGVsZXRlT2JqZWN0KGlkOiBzdHJpbmcsIG1vZGVsTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmIChjb25maXJtKCdNw7ZjaHRlc3QgZHUgZGFzIE9iamVrdCB3aXJrbGljaCBsw7ZzY2hlbj8nKSkge1xuICAgICAgICB0aGlzLmdyYXBoUUxTZXJ2aWNlXG4gICAgICAgICAgLmdyYXBoUWwoJ2RlbGV0ZScgKyB0aGlzLmNhcGl0YWxpemVGaXJzdExldHRlcihtb2RlbE5hbWUpLCB7XG4gICAgICAgICAgICBhcmd1bWVudHM6IHsgaWQgfSxcbiAgICAgICAgICAgIGZpZWxkczogWydpZCddLFxuICAgICAgICAgICAgdHlwZTogR3JhcGhRTFJlcXVlc3RUeXBlLk1VVEFUSU9OLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIG9uIGRlbGV0ZSBvYmplY3QnLCBlcnIpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBzZW5kcyBhIEdyYXBoUUwgbXV0YXRpb24gdG8gdGhlIHNlcnZlciB0byBkdXBsaWNhdGUgdGhlIG9iamVjdFxuICAgKi9cbiAgYXN5bmMgZHVwbGljYXRlT2JqZWN0KGlkOiBzdHJpbmcsIG1vZGVsTmFtZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKGNvbmZpcm0oJ03DtmNodGVzdCBkdSBkYXMgT2JqZWt0IHdpcmtsaWNoIGR1cGxpemllcmVuPycpKSB7XG4gICAgICAgIHRoaXMuZ3JhcGhRTFNlcnZpY2VcbiAgICAgICAgICAuZ3JhcGhRbCgnZHVwbGljYXRlJyArIHRoaXMuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKG1vZGVsTmFtZSksIHtcbiAgICAgICAgICAgIGFyZ3VtZW50czogeyBpZCB9LFxuICAgICAgICAgICAgZmllbGRzOiBbJ2lkJ10sXG4gICAgICAgICAgICB0eXBlOiBHcmFwaFFMUmVxdWVzdFR5cGUuTVVUQVRJT04sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICByZXNvbHZlKHZhbHVlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igb24gZHVwbGljYXRlIG9iamVjdCcsIGVycik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IHRha2VzIGEgc3RyaW5nLCBjYXBpdGFsaXplcyB0aGUgZmlyc3QgbGV0dGVyLCBhbmQgcmV0dXJucyB0aGUgbW9kaWZpZWQgc3RyaW5nXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBzdHJpbmcgdG8gY2FwaXRhbGl6ZS5cbiAgICogQHJldHVybnMgVGhlIGZpcnN0IGxldHRlciBvZiB0aGUgc3RyaW5nIGlzIGJlaW5nIGNhcGl0YWxpemVkIGFuZCB0aGUgcmVzdCBvZiB0aGUgc3RyaW5nIGlzIGJlaW5nIHJldHVybmVkLlxuICAgKi9cbiAgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB2YWx1ZS5zbGljZSgxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gZmlyc3QgbGV0dGVyIHRvIGxvd2VyY2FzZVxuICAgKi9cbiAgbG93ZXJDYXNlRmlyc3RMZXR0ZXIodmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB2YWx1ZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIHZhbHVlLnNsaWNlKDEpO1xuICB9XG59XG4iXX0=
@@ -1,86 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import Compressor from 'compressorjs';
3
- import { HttpHeaders } from '@angular/common/http';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/auth.service";
6
- import * as i2 from "@angular/common/http";
7
- export class FileService {
8
- authService;
9
- httpClient;
10
- constructor(authService, httpClient) {
11
- this.authService = authService;
12
- this.httpClient = httpClient;
13
- }
14
- /**
15
- * Compress file with options and return file
16
- */
17
- compress(file, options) {
18
- const config = {
19
- quality: 0.6,
20
- checkOrientation: false,
21
- ...options,
22
- };
23
- return new Promise((resolve, reject) => {
24
- new Compressor(file, {
25
- success(result) {
26
- // Check if result is blob for convert to file
27
- if (result instanceof Blob) {
28
- resolve(new File([result], result.name));
29
- }
30
- else {
31
- resolve(result);
32
- }
33
- },
34
- error(err) {
35
- reject(err.message);
36
- },
37
- ...config,
38
- });
39
- });
40
- }
41
- /**
42
- * Upload file to server
43
- */
44
- async upload(url, path, file, compressOptions) {
45
- return new Promise(async (resolve, reject) => {
46
- if (compressOptions) {
47
- file = await this.compress(file, compressOptions);
48
- }
49
- const data = new FormData();
50
- data.append('file', file);
51
- const httpOptions = {
52
- headers: new HttpHeaders({
53
- Authorization: 'Bearer ' + this.authService.token,
54
- }),
55
- };
56
- this.httpClient.post(url + path, data, httpOptions).subscribe((result) => {
57
- resolve(result);
58
- }, (err) => {
59
- reject(err);
60
- });
61
- });
62
- }
63
- delete(url, path, id) {
64
- return new Promise(async (resolve, reject) => {
65
- const httpOptions = {
66
- headers: new HttpHeaders({
67
- Authorization: 'Bearer ' + this.authService.token,
68
- }),
69
- };
70
- this.httpClient.delete(url + path + id, httpOptions).subscribe((result) => {
71
- resolve(result);
72
- }, (err) => {
73
- reject(err);
74
- });
75
- });
76
- }
77
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FileService, deps: [{ token: i1.AuthService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
78
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FileService, providedIn: 'root' });
79
- }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FileService, decorators: [{
81
- type: Injectable,
82
- args: [{
83
- providedIn: 'root',
84
- }]
85
- }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.HttpClient }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvc2VydmljZXMvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBRXRDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU0vRCxNQUFNLE9BQU8sV0FBVztJQUNGO0lBQWtDO0lBQXRELFlBQW9CLFdBQXdCLEVBQVUsVUFBc0I7UUFBeEQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUVoRjs7T0FFRztJQUNILFFBQVEsQ0FBQyxJQUFVLEVBQUUsT0FBeUI7UUFDNUMsTUFBTSxNQUFNLEdBQUc7WUFDYixPQUFPLEVBQUUsR0FBRztZQUNaLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO2dCQUNuQixPQUFPLENBQUMsTUFBbUI7b0JBQ3pCLDhDQUE4QztvQkFDOUMsSUFBSSxNQUFNLFlBQVksSUFBSSxFQUFFLENBQUM7d0JBQzNCLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFHLE1BQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNwRCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNsQixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsS0FBSyxDQUFDLEdBQUc7b0JBQ1AsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdEIsQ0FBQztnQkFDRCxHQUFHLE1BQU07YUFDVixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLElBQVksRUFBRSxJQUFVLEVBQUUsZUFBaUM7UUFDbkYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNDLElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRTFCLE1BQU0sV0FBVyxHQUFHO2dCQUNsQixPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7b0JBQ3ZCLGFBQWEsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO2lCQUNsRCxDQUFDO2FBQ0gsQ0FBQztZQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FDM0QsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDZCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEIsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVyxFQUFFLElBQVksRUFBRSxFQUFVO1FBQzFDLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMzQyxNQUFNLFdBQVcsR0FBRztnQkFDbEIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO29CQUN2QixhQUFhLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSztpQkFDbEQsQ0FBQzthQUNILENBQUM7WUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQzVELENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xCLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNkLENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTdFVSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBDb21wcmVzc29yIGZyb20gJ2NvbXByZXNzb3Jqcyc7XG5pbXBvcnQgeyBDb21wcmVzc09wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbXByZXNzLW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxuXG4gIC8qKlxuICAgKiBDb21wcmVzcyBmaWxlIHdpdGggb3B0aW9ucyBhbmQgcmV0dXJuIGZpbGVcbiAgICovXG4gIGNvbXByZXNzKGZpbGU6IEZpbGUsIG9wdGlvbnM/OiBDb21wcmVzc09wdGlvbnMpOiBQcm9taXNlPEZpbGU+IHtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBxdWFsaXR5OiAwLjYsXG4gICAgICBjaGVja09yaWVudGF0aW9uOiBmYWxzZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBuZXcgQ29tcHJlc3NvcihmaWxlLCB7XG4gICAgICAgIHN1Y2Nlc3MocmVzdWx0OiBCbG9iIHwgRmlsZSkge1xuICAgICAgICAgIC8vIENoZWNrIGlmIHJlc3VsdCBpcyBibG9iIGZvciBjb252ZXJ0IHRvIGZpbGVcbiAgICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgQmxvYikge1xuICAgICAgICAgICAgcmVzb2x2ZShuZXcgRmlsZShbcmVzdWx0XSwgKHJlc3VsdCBhcyBhbnkpLm5hbWUpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IoZXJyKSB7XG4gICAgICAgICAgcmVqZWN0KGVyci5tZXNzYWdlKTtcbiAgICAgICAgfSxcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkIGZpbGUgdG8gc2VydmVyXG4gICAqL1xuICBhc3luYyB1cGxvYWQodXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgZmlsZTogRmlsZSwgY29tcHJlc3NPcHRpb25zPzogQ29tcHJlc3NPcHRpb25zKTogUHJvbWlzZTx7IGlkOiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAoY29tcHJlc3NPcHRpb25zKSB7XG4gICAgICAgIGZpbGUgPSBhd2FpdCB0aGlzLmNvbXByZXNzKGZpbGUsIGNvbXByZXNzT3B0aW9ucyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGRhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArIHRoaXMuYXV0aFNlcnZpY2UudG9rZW4sXG4gICAgICAgIH0pLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3QodXJsICsgcGF0aCwgZGF0YSwgaHR0cE9wdGlvbnMpLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBkZWxldGUodXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcbiAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLmF1dGhTZXJ2aWNlLnRva2VuLFxuICAgICAgICB9KSxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsICsgcGF0aCArIGlkLCBodHRwT3B0aW9ucykuc3Vic2NyaWJlKFxuICAgICAgICAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==