taon 18.0.18 → 18.0.20

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 (315) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base-classes/base-abstract-entity.mjs +1 -1
  3. package/browser/esm2022/lib/base-classes/base-crud-controller.mjs +1 -1
  4. package/browser/esm2022/lib/base-classes/base-injector.mjs +8 -1
  5. package/browser/esm2022/lib/base-classes/base.mjs +3 -3
  6. package/browser/esm2022/lib/create-context.mjs +10 -7
  7. package/browser/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  8. package/browser/esm2022/lib/decorators/http/http-methods-decorators.mjs +1 -1
  9. package/browser/esm2022/lib/endpoint-context.mjs +49 -11
  10. package/browser/esm2022/lib/entity-process.mjs +1 -10
  11. package/browser/esm2022/lib/get-response-value.mjs +1 -15
  12. package/browser/esm2022/lib/index.mjs +2 -1
  13. package/browser/esm2022/lib/models.mjs +1 -1
  14. package/browser/esm2022/lib/ui/directives/index.mjs +6 -0
  15. package/browser/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  16. package/browser/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  17. package/browser/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  18. package/browser/esm2022/lib/ui/index.mjs +12 -0
  19. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  20. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  21. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  22. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  23. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  24. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  25. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  26. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  27. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  28. package/browser/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  29. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  30. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  31. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  32. package/browser/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  33. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  34. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  35. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  36. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  37. package/browser/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  38. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
  39. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  40. package/browser/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  41. package/browser/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  42. package/browser/esm2022/lib/ui/taon-table/index.mjs +5 -0
  43. package/browser/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  44. package/browser/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  45. package/browser/fesm2022/taon.mjs +1463 -94
  46. package/browser/fesm2022/taon.mjs.map +1 -1
  47. package/browser/lib/base-classes/base-abstract-entity.d.ts +2 -1
  48. package/browser/lib/base-classes/base-context.d.ts +4 -1
  49. package/browser/lib/base-classes/base-crud-controller.d.ts +1 -1
  50. package/browser/lib/base-classes/base-injector.d.ts +5 -0
  51. package/browser/lib/base-classes/base.d.ts +7 -3
  52. package/browser/lib/create-context.d.ts +7 -4
  53. package/browser/lib/decorators/http/http-decorators.d.ts +2 -0
  54. package/browser/lib/decorators/http/http-methods-decorators.d.ts +9 -0
  55. package/browser/lib/endpoint-context.d.ts +3 -2
  56. package/browser/lib/index.d.ts +13 -3
  57. package/browser/lib/models.d.ts +2 -4
  58. package/browser/lib/ui/directives/index.d.ts +4 -0
  59. package/browser/lib/ui/directives/safe.pipe.d.ts +11 -0
  60. package/browser/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  61. package/browser/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  62. package/browser/lib/ui/index.d.ts +10 -0
  63. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  64. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  65. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  66. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  67. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  68. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  69. package/browser/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  70. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  71. package/browser/lib/ui/taon-full-material.module.d.ts +47 -0
  72. package/browser/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  73. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  74. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  75. package/browser/lib/ui/taon-notifications/index.d.ts +5 -0
  76. package/browser/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  77. package/browser/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  78. package/browser/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  79. package/browser/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  80. package/browser/lib/ui/taon-progress-bar/index.d.ts +3 -0
  81. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  82. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  83. package/browser/lib/ui/taon-session-passcode/index.d.ts +2 -0
  84. package/browser/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  85. package/browser/lib/ui/taon-table/index.d.ts +3 -0
  86. package/browser/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  87. package/browser/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  88. package/client/esm2022/lib/base-classes/base-abstract-entity.mjs +1 -1
  89. package/client/esm2022/lib/base-classes/base-crud-controller.mjs +1 -1
  90. package/client/esm2022/lib/base-classes/base-injector.mjs +8 -1
  91. package/client/esm2022/lib/base-classes/base.mjs +3 -3
  92. package/client/esm2022/lib/create-context.mjs +10 -7
  93. package/client/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  94. package/client/esm2022/lib/decorators/http/http-methods-decorators.mjs +1 -1
  95. package/client/esm2022/lib/endpoint-context.mjs +49 -11
  96. package/client/esm2022/lib/entity-process.mjs +1 -10
  97. package/client/esm2022/lib/get-response-value.mjs +1 -15
  98. package/client/esm2022/lib/index.mjs +2 -1
  99. package/client/esm2022/lib/models.mjs +1 -1
  100. package/client/esm2022/lib/ui/directives/index.mjs +6 -0
  101. package/client/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  102. package/client/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  103. package/client/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  104. package/client/esm2022/lib/ui/index.mjs +12 -0
  105. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  106. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  107. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  108. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  109. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  110. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  111. package/client/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  112. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  113. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  114. package/client/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  115. package/client/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  116. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  117. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  118. package/client/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  119. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  120. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  121. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  122. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  123. package/client/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  124. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
  125. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  126. package/client/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  127. package/client/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  128. package/client/esm2022/lib/ui/taon-table/index.mjs +5 -0
  129. package/client/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  130. package/client/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  131. package/client/fesm2022/taon.mjs +1463 -94
  132. package/client/fesm2022/taon.mjs.map +1 -1
  133. package/client/lib/base-classes/base-abstract-entity.d.ts +2 -1
  134. package/client/lib/base-classes/base-context.d.ts +4 -1
  135. package/client/lib/base-classes/base-crud-controller.d.ts +1 -1
  136. package/client/lib/base-classes/base-injector.d.ts +5 -0
  137. package/client/lib/base-classes/base.d.ts +7 -3
  138. package/client/lib/create-context.d.ts +7 -4
  139. package/client/lib/decorators/http/http-decorators.d.ts +2 -0
  140. package/client/lib/decorators/http/http-methods-decorators.d.ts +9 -0
  141. package/client/lib/endpoint-context.d.ts +3 -2
  142. package/client/lib/index.d.ts +13 -3
  143. package/client/lib/models.d.ts +2 -4
  144. package/client/lib/ui/directives/index.d.ts +4 -0
  145. package/client/lib/ui/directives/safe.pipe.d.ts +11 -0
  146. package/client/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  147. package/client/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  148. package/client/lib/ui/index.d.ts +10 -0
  149. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  150. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  151. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  152. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  153. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  154. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  155. package/client/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  156. package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  157. package/client/lib/ui/taon-full-material.module.d.ts +47 -0
  158. package/client/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  159. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  160. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  161. package/client/lib/ui/taon-notifications/index.d.ts +5 -0
  162. package/client/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  163. package/client/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  164. package/client/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  165. package/client/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  166. package/client/lib/ui/taon-progress-bar/index.d.ts +3 -0
  167. package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  168. package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  169. package/client/lib/ui/taon-session-passcode/index.d.ts +2 -0
  170. package/client/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  171. package/client/lib/ui/taon-table/index.d.ts +3 -0
  172. package/client/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  173. package/client/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  174. package/lib/base-classes/base-abstract-entity.d.ts +1 -0
  175. package/lib/base-classes/base-context.d.ts +4 -1
  176. package/lib/base-classes/base-crud-controller.d.ts +1 -1
  177. package/lib/base-classes/base-injector.d.ts +5 -0
  178. package/lib/base-classes/base-injector.js +11 -0
  179. package/lib/base-classes/base-injector.js.map +1 -1
  180. package/lib/base-classes/base.d.ts +7 -3
  181. package/lib/base-classes/base.js +2 -2
  182. package/lib/base-classes/base.js.map +1 -1
  183. package/lib/create-context.d.ts +7 -4
  184. package/lib/create-context.js +19 -6
  185. package/lib/create-context.js.map +1 -1
  186. package/lib/decorators/http/http-decorators.d.ts +3 -1
  187. package/lib/decorators/http/http-decorators.js +2 -0
  188. package/lib/decorators/http/http-decorators.js.map +1 -1
  189. package/lib/decorators/http/http-methods-decorators.d.ts +9 -0
  190. package/lib/decorators/http/http-methods-decorators.js.map +1 -1
  191. package/lib/endpoint-context.d.ts +3 -2
  192. package/lib/endpoint-context.js +165 -126
  193. package/lib/endpoint-context.js.map +1 -1
  194. package/lib/entity-process.js +0 -9
  195. package/lib/entity-process.js.map +1 -1
  196. package/lib/get-response-value.js +14 -37
  197. package/lib/get-response-value.js.map +1 -1
  198. package/lib/index.d.ts +13 -3
  199. package/lib/models.d.ts +2 -5
  200. package/lib/models.js.map +1 -1
  201. package/lib/ui/directives/index.d.ts +3 -4
  202. package/lib/ui/directives/index.js +2 -2
  203. package/lib/ui/index.d.ts +9 -0
  204. package/lib/ui/index.js +5 -0
  205. package/lib/ui/index.js.map +1 -0
  206. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +2 -2
  207. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +3 -5
  208. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +2 -2
  209. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +2 -3
  210. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +2 -2
  211. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +1 -2
  212. package/lib/ui/taon-admin-mode-configuration/index.d.ts +0 -1
  213. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  214. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  215. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  216. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  217. package/lib/ui/taon-progress-bar/index.js +2 -2
  218. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -0
  219. package/lib/ui/taon-session-passcode/index.js +2 -2
  220. package/lib/ui/taon-table/index.d.ts +2 -0
  221. package/lib/ui/taon-table/index.js +5 -0
  222. package/lib/ui/taon-table/index.js.map +1 -0
  223. package/lib/ui/taon-table/taon-table.component.d.ts +33 -0
  224. package/lib/ui/taon-table/taon-table.module.d.ts +2 -0
  225. package/package.json +7 -7
  226. package/tmp-environment.json +37 -31
  227. package/websql/esm2022/lib/base-classes/base-abstract-entity.mjs +1 -1
  228. package/websql/esm2022/lib/base-classes/base-crud-controller.mjs +1 -1
  229. package/websql/esm2022/lib/base-classes/base-injector.mjs +8 -1
  230. package/websql/esm2022/lib/base-classes/base.mjs +3 -3
  231. package/websql/esm2022/lib/create-context.mjs +10 -7
  232. package/websql/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  233. package/websql/esm2022/lib/decorators/http/http-methods-decorators.mjs +1 -1
  234. package/websql/esm2022/lib/endpoint-context.mjs +49 -11
  235. package/websql/esm2022/lib/entity-process.mjs +1 -10
  236. package/websql/esm2022/lib/get-response-value.mjs +4 -24
  237. package/websql/esm2022/lib/index.mjs +2 -1
  238. package/websql/esm2022/lib/models.mjs +1 -1
  239. package/websql/esm2022/lib/ui/directives/index.mjs +6 -0
  240. package/websql/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  241. package/websql/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  242. package/websql/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  243. package/websql/esm2022/lib/ui/index.mjs +12 -0
  244. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  245. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  246. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  247. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  248. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  249. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  250. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  251. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  252. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  253. package/websql/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  254. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  255. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  256. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  257. package/websql/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  258. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  259. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  260. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  261. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  262. package/websql/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  263. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +50 -0
  264. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  265. package/websql/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  266. package/websql/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  267. package/websql/esm2022/lib/ui/taon-table/index.mjs +5 -0
  268. package/websql/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  269. package/websql/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  270. package/websql/fesm2022/taon.mjs +1435 -120
  271. package/websql/fesm2022/taon.mjs.map +1 -1
  272. package/websql/lib/base-classes/base-abstract-entity.d.ts +2 -1
  273. package/websql/lib/base-classes/base-context.d.ts +4 -1
  274. package/websql/lib/base-classes/base-crud-controller.d.ts +1 -1
  275. package/websql/lib/base-classes/base-injector.d.ts +5 -0
  276. package/websql/lib/base-classes/base.d.ts +7 -3
  277. package/websql/lib/create-context.d.ts +7 -4
  278. package/websql/lib/decorators/http/http-decorators.d.ts +2 -0
  279. package/websql/lib/decorators/http/http-methods-decorators.d.ts +9 -0
  280. package/websql/lib/endpoint-context.d.ts +3 -2
  281. package/websql/lib/index.d.ts +13 -3
  282. package/websql/lib/models.d.ts +2 -5
  283. package/websql/lib/ui/directives/index.d.ts +4 -0
  284. package/websql/lib/ui/directives/safe.pipe.d.ts +11 -0
  285. package/websql/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  286. package/websql/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  287. package/websql/lib/ui/index.d.ts +10 -0
  288. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  289. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  290. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  291. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  292. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  293. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  294. package/websql/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  295. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  296. package/websql/lib/ui/taon-full-material.module.d.ts +47 -0
  297. package/websql/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  298. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  299. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  300. package/websql/lib/ui/taon-notifications/index.d.ts +5 -0
  301. package/websql/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  302. package/websql/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  303. package/websql/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  304. package/websql/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  305. package/websql/lib/ui/taon-progress-bar/index.d.ts +3 -0
  306. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  307. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  308. package/websql/lib/ui/taon-session-passcode/index.d.ts +2 -0
  309. package/websql/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  310. package/websql/lib/ui/taon-table/index.d.ts +3 -0
  311. package/websql/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  312. package/websql/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  313. /package/lib/ui/directives/{firedev-inject-html.directive.d.ts → taon-inject-html.directive.d.ts} +0 -0
  314. /package/lib/ui/directives/{firedev-long-press.directive.d.ts → taon-long-press.directive.d.ts} +0 -0
  315. /package/lib/ui/{toan-full-material.module.d.ts → taon-full-material.module.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import 'reflect-metadata';
2
2
  import * as coreHelpers from 'tnp-core/websql';
3
- import { _, Helpers, path } from 'tnp-core/websql';
3
+ import { _ as _$1, Helpers, path } from 'tnp-core/websql';
4
4
  import { Models as Models$1, RestHeaders, Resource, Mapping } from 'ng2-rest/websql';
5
5
  import * as tsorm from 'taon-typeorm/websql';
6
6
  import { OrignalClassKey, Entity, EventSubscriber, DataSource } from 'taon-typeorm/websql';
@@ -9,13 +9,89 @@ import * as JSON5 from 'json5';
9
9
  import { __decorate, __param, __metadata } from 'tslib';
10
10
  import { MySqlQuerySource } from 'taon-type-sql/websql';
11
11
  import { Stor } from 'taon-storage/websql';
12
- import { Subject, Observable, from } from 'rxjs';
12
+ import { Subject, Observable, from, interval, tap, defer, fromEvent, map, debounceTime, distinctUntilChanged, share, Subscription, takeUntil, of } from 'rxjs';
13
13
  import { config } from 'tnp-config/websql';
14
14
  import * as i0 from '@angular/core';
15
- import { Injectable, inject as inject$1 } from '@angular/core';
15
+ import { Injectable, inject as inject$1, EventEmitter, Directive, Input, Output, HostBinding, HostListener, Pipe, NgModule, Component, DestroyRef, Self, ViewChild, ChangeDetectorRef } from '@angular/core';
16
16
  import { JSON10 } from 'json10/websql';
17
17
  import axios from 'axios';
18
18
  import { io } from 'socket.io-client';
19
+ import { Log, Level } from 'ng2-logger/websql';
20
+ import * as i1 from '@angular/platform-browser';
21
+ import { A11yModule } from '@angular/cdk/a11y';
22
+ import * as i5 from '@angular/cdk/drag-drop';
23
+ import { DragDropModule } from '@angular/cdk/drag-drop';
24
+ import { ScrollingModule } from '@angular/cdk/scrolling';
25
+ import { CdkStepperModule } from '@angular/cdk/stepper';
26
+ import { CdkTableModule } from '@angular/cdk/table';
27
+ import { CdkTreeModule } from '@angular/cdk/tree';
28
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
29
+ import { MatBadgeModule } from '@angular/material/badge';
30
+ import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
31
+ import * as i6$1 from '@angular/material/button';
32
+ import { MatButtonModule } from '@angular/material/button';
33
+ import * as i7 from '@angular/material/card';
34
+ import { MatCardModule } from '@angular/material/card';
35
+ import * as i8 from '@angular/material/checkbox';
36
+ import { MatCheckboxModule } from '@angular/material/checkbox';
37
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
38
+ import { MatStepperModule } from '@angular/material/stepper';
39
+ import { MatDialogModule } from '@angular/material/dialog';
40
+ import { MatExpansionModule } from '@angular/material/expansion';
41
+ import { MatGridListModule } from '@angular/material/grid-list';
42
+ import * as i6 from '@angular/material/icon';
43
+ import { MatIconModule } from '@angular/material/icon';
44
+ import * as i11$1 from '@angular/material/list';
45
+ import { MatListModule } from '@angular/material/list';
46
+ import { MatDatepickerModule } from '@angular/material/datepicker';
47
+ import { MatPaginatorModule } from '@angular/material/paginator';
48
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
49
+ import { MatChipsModule } from '@angular/material/chips';
50
+ import { MatDividerModule } from '@angular/material/divider';
51
+ import * as i4 from '@angular/material/input';
52
+ import { MatInputModule } from '@angular/material/input';
53
+ import { MatMenuModule } from '@angular/material/menu';
54
+ import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
55
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
56
+ import { MatRadioModule } from '@angular/material/radio';
57
+ import { MatSelectModule } from '@angular/material/select';
58
+ import * as i10 from '@angular/material/sidenav';
59
+ import { MatSidenavModule } from '@angular/material/sidenav';
60
+ import { MatSliderModule } from '@angular/material/slider';
61
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
62
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
63
+ import { MatSortModule } from '@angular/material/sort';
64
+ import { MatTableModule } from '@angular/material/table';
65
+ import * as i11 from '@angular/material/tabs';
66
+ import { MatTabsModule } from '@angular/material/tabs';
67
+ import { MatToolbarModule } from '@angular/material/toolbar';
68
+ import { MatTooltipModule } from '@angular/material/tooltip';
69
+ import { MatTreeModule } from '@angular/material/tree';
70
+ import * as i2$1 from '@angular/common';
71
+ import { CommonModule } from '@angular/common';
72
+ import * as i1$1 from '@ngneat/hot-toast';
73
+ import * as i2 from '@angular/forms';
74
+ import { FormGroup, FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
75
+ import { PasswordModule } from 'primeng/password';
76
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
77
+ import * as i1$2 from 'ngx-progressbar';
78
+ import { NgProgressModule } from 'ngx-progressbar';
79
+ import * as _ from 'lodash';
80
+ import * as i2$2 from '@angular/material/form-field';
81
+ import { MatFormFieldModule } from '@angular/material/form-field';
82
+ import * as i3 from '@ng-matero/extensions/grid';
83
+ import { MtxGridModule } from '@ng-matero/extensions/grid';
84
+ import * as i1$3 from 'static-columns/websql';
85
+ import { StaticColumnsModule } from 'static-columns/websql';
86
+ import * as i4$1 from 'ngx-scrollbar';
87
+ import { NgScrollbarModule } from 'ngx-scrollbar';
88
+ import * as i1$4 from '@angular/router';
89
+ import 'brace';
90
+ import 'brace/mode/css';
91
+ import 'brace/mode/typescript';
92
+ import 'brace/theme/github';
93
+ import * as i13 from 'ngx-pipes';
94
+ import { NgArrayPipesModule } from 'ngx-pipes';
19
95
 
20
96
  var Symbols;
21
97
  (function (Symbols) {
@@ -52,7 +128,7 @@ var Symbols;
52
128
  return `${contextName}:${this.KEYroomUnsubscribe}CustomRoomEvent`;
53
129
  }
54
130
  ROOM_NAME_UPDATE_ENTITY(contextName, className, entityId) {
55
- return `${contextName}:room${_.camelCase(className)}${entityId}`.toLowerCase();
131
+ return `${contextName}:room${_$1.camelCase(className)}${entityId}`.toLowerCase();
56
132
  }
57
133
  ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
58
134
  return `${contextName}:${this.KEYroomSubscribe}EntityEvents`;
@@ -61,7 +137,7 @@ var Symbols;
61
137
  return `${contextName}:${this.KEYroomUnsubscribe}EntityEvents`;
62
138
  }
63
139
  ROOM_NAME_UPDATE_ENTITY_PROPERTY(contextName, className, property, entityId) {
64
- return `${contextName}:room${_.camelCase(className)}${_.camelCase(property)}${entityId}`.toLowerCase();
140
+ return `${contextName}:room${_$1.camelCase(className)}${_$1.camelCase(property)}${entityId}`.toLowerCase();
65
141
  }
66
142
  ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
67
143
  return `${contextName}:${this.KEYroomSubscribe}EntityPropertyEvents`;
@@ -114,7 +190,7 @@ var Validators;
114
190
  (function (Validators) {
115
191
  Validators.classNameVlidation = (className, target) => {
116
192
  setTimeout(() => {
117
- if (_.isUndefined(className)) {
193
+ if (_$1.isUndefined(className)) {
118
194
  throw `[Taon]
119
195
  Please provide "className" property for each Controller and Entity:
120
196
 
@@ -134,7 +210,7 @@ var Validators;
134
210
  `;
135
211
  }
136
212
  });
137
- return _.isUndefined(className) ? target.name : className;
213
+ return _$1.isUndefined(className) ? target.name : className;
138
214
  };
139
215
  Validators.checkIfMethodsWithReponseTYpeAlowed = (methods, current) => {
140
216
  const defaultResponseType = 'text or JSON';
@@ -157,8 +233,8 @@ var Validators;
157
233
  }
158
234
  };
159
235
  Validators.validateClassFunctions = (controllers, entities, proviers, repositories) => {
160
- if (_.isArray(controllers) &&
161
- controllers.filter(f => !_.isFunction(f)).length > 0) {
236
+ if (_$1.isArray(controllers) &&
237
+ controllers.filter(f => !_$1.isFunction(f)).length > 0) {
162
238
  console.error('controllers', controllers);
163
239
  throw `
164
240
 
@@ -166,8 +242,8 @@ var Validators;
166
242
 
167
243
  `;
168
244
  }
169
- if (_.isArray(entities) &&
170
- entities.filter(f => !_.isFunction(f)).length > 0) {
245
+ if (_$1.isArray(entities) &&
246
+ entities.filter(f => !_$1.isFunction(f)).length > 0) {
171
247
  console.error('entites', entities);
172
248
  throw `
173
249
 
@@ -177,7 +253,7 @@ var Validators;
177
253
  }
178
254
  };
179
255
  Validators.preventUndefinedModel = (model, id) => {
180
- if (_.isUndefined(model)) {
256
+ if (_$1.isUndefined(model)) {
181
257
  throw `Bad update by id, config, id: ${id}`;
182
258
  }
183
259
  };
@@ -188,7 +264,7 @@ var Validators;
188
264
  var TaonHelpers;
189
265
  (function (TaonHelpers) {
190
266
  TaonHelpers.fillUpTo = (s, nCharacters) => {
191
- return _.times(nCharacters, n => {
267
+ return _$1.times(nCharacters, n => {
192
268
  if (s.charAt(n)) {
193
269
  return s.charAt(n);
194
270
  }
@@ -236,7 +312,7 @@ var TaonHelpers;
236
312
  return {};
237
313
  };
238
314
  TaonHelpers.parseJSONwithStringJSONs = (object, waring = false) => {
239
- if (!_.isObject(object)) {
315
+ if (!_$1.isObject(object)) {
240
316
  if (waring) {
241
317
  console.error(`
242
318
  parseJSONwithStringJSONs(...)
@@ -245,7 +321,7 @@ var TaonHelpers;
245
321
  }
246
322
  return object;
247
323
  }
248
- let res = _.cloneDeep(object);
324
+ let res = _$1.cloneDeep(object);
249
325
  Object.keys(res).forEach(key => {
250
326
  let isJson = false;
251
327
  try {
@@ -310,7 +386,7 @@ var ClassHelpers;
310
386
  * TODO - repalce in every place when getting class fn from object
311
387
  */
312
388
  ClassHelpers.getClassFnFromObject = (json) => {
313
- if (_.isUndefined(json) || _.isNull(json)) {
389
+ if (_$1.isUndefined(json) || _$1.isNull(json)) {
314
390
  return;
315
391
  }
316
392
  if (json.constructor) {
@@ -351,25 +427,25 @@ var ClassHelpers;
351
427
  void 0);
352
428
  };
353
429
  ClassHelpers.getUniqueKey = (classFnOrObject) => {
354
- const classFn = _.isFunction(classFnOrObject)
430
+ const classFn = _$1.isFunction(classFnOrObject)
355
431
  ? classFnOrObject
356
432
  : classFnOrObject.constructor;
357
433
  const config = Reflect.getMetadata(Symbols.metadata.options.controller, classFn);
358
434
  return config.uniqueKeyProp;
359
435
  };
360
436
  ClassHelpers.isContextClassObject = (obj) => {
361
- if (!_.isObject(obj) ||
362
- _.isArray(obj) ||
363
- _.isRegExp(obj) ||
364
- _.isBuffer(obj) ||
365
- _.isArrayBuffer(obj)) {
437
+ if (!_$1.isObject(obj) ||
438
+ _$1.isArray(obj) ||
439
+ _$1.isRegExp(obj) ||
440
+ _$1.isBuffer(obj) ||
441
+ _$1.isArrayBuffer(obj)) {
366
442
  return false;
367
443
  }
368
- if (_.isDate(obj)) {
444
+ if (_$1.isDate(obj)) {
369
445
  return true;
370
446
  }
371
447
  const className = ClassHelpers.getName(obj);
372
- return _.isString(className) && className !== 'Object';
448
+ return _$1.isString(className) && className !== 'Object';
373
449
  };
374
450
  ClassHelpers.setName = (target, className) => {
375
451
  Validators.classNameVlidation(className, target);
@@ -381,7 +457,7 @@ var ClassHelpers;
381
457
  }
382
458
  targets.push(target);
383
459
  let targetProto = Object.getPrototypeOf(target);
384
- if (_.isFunction(targetProto) &&
460
+ if (_$1.isFunction(targetProto) &&
385
461
  ClassHelpers.getName(targetProto) === className) {
386
462
  return true;
387
463
  }
@@ -389,7 +465,7 @@ var ClassHelpers;
389
465
  };
390
466
  ClassHelpers.getControllerConfig = (target) => {
391
467
  const classMetadataOptions = Reflect.getMetadata(Symbols.metadata.options.controller, target);
392
- const classMetadata = _.merge(new Models.ControllerConfig(), classMetadataOptions);
468
+ const classMetadata = _$1.merge(new Models.ControllerConfig(), classMetadataOptions);
393
469
  const methodNames = ClassHelpers.getMethodsNames(target); // Object.getOwnPropertyNames(target.prototype);
394
470
  for (const methodName of methodNames) {
395
471
  const methodMetadata = Reflect.getMetadata(Symbols.metadata.options.controllerMethod, target, methodName);
@@ -424,7 +500,7 @@ var ClassHelpers;
424
500
  if (!classOrClassInstance) {
425
501
  return allMethodsNames;
426
502
  }
427
- const isClassFunction = _.isFunction(classOrClassInstance);
503
+ const isClassFunction = _$1.isFunction(classOrClassInstance);
428
504
  const classFun = isClassFunction
429
505
  ? classOrClassInstance
430
506
  : Object.getPrototypeOf(classOrClassInstance);
@@ -432,7 +508,7 @@ var ClassHelpers;
432
508
  ? classOrClassInstance?.prototype
433
509
  : classOrClassInstance;
434
510
  const prototypeObj = Object.getPrototypeOf(objectToCheck || {});
435
- const properties = _.uniq([
511
+ const properties = _$1.uniq([
436
512
  ...Object.getOwnPropertyNames(objectToCheck || {}),
437
513
  ...Object.getOwnPropertyNames(prototypeObj || {}),
438
514
  ...Object.keys(objectToCheck || {}),
@@ -449,13 +525,13 @@ var ClassHelpers;
449
525
  return ClassHelpers.getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);
450
526
  };
451
527
  ClassHelpers.getControllerConfigs = (target, configs = [], callerTarget) => {
452
- if (!_.isFunction(target)) {
528
+ if (!_$1.isFunction(target)) {
453
529
  throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
454
530
  }
455
531
  let config;
456
532
  const parentClass = Object.getPrototypeOf(target);
457
533
  const parentName = parentClass ? ClassHelpers.getName(parentClass) : void 0;
458
- const isValidParent = _.isFunction(parentClass) && parentName !== '';
534
+ const isValidParent = _$1.isFunction(parentClass) && parentName !== '';
459
535
  config = ClassHelpers.getControllerConfig(target);
460
536
  configs.push(config);
461
537
  return isValidParent
@@ -464,7 +540,7 @@ var ClassHelpers;
464
540
  };
465
541
  ClassHelpers.getCalculatedPathFor = (target) => {
466
542
  const configs = ClassHelpers.getControllerConfigs(target);
467
- const parentscalculatedPath = _.slice(configs, 1)
543
+ const parentscalculatedPath = _$1.slice(configs, 1)
468
544
  .reverse()
469
545
  .map(bc => {
470
546
  if (TaonHelpers.isGoodPath(bc.path)) {
@@ -572,7 +648,7 @@ const metaReq = (method, path, target, propertyKey, descriptor, pathOrOptions, p
572
648
  if (methodConfig.parameters.hasOwnProperty(key)) {
573
649
  const element = methodConfig.parameters[key];
574
650
  if (element.paramType === 'Path' &&
575
- _.isString(element.paramName) &&
651
+ _$1.isString(element.paramName) &&
576
652
  element.paramName.trim().length > 0) {
577
653
  paramsPathConcatedPath += `/${element.paramName}/:${element.paramName}`;
578
654
  }
@@ -675,6 +751,7 @@ var Http;
675
751
  Http.DELETE = DELETE;
676
752
  Http.PATCH = PATCH;
677
753
  Http.HEAD = HEAD;
754
+ Http.Response = Models$1.HttpResponse;
678
755
  let Param;
679
756
  (function (Param) {
680
757
  Param.Query = Query;
@@ -717,11 +794,18 @@ class BaseInjector {
717
794
  }
718
795
  }
719
796
  /**
797
+ * @deprecated use ctx instead
720
798
  * Current endpoint context
721
799
  */
722
800
  get __endpoint_context__() {
723
801
  return this[Symbols.ctxInClassOrClassObj];
724
802
  }
803
+ /**
804
+ * get current endpoint context
805
+ */
806
+ get ctx() {
807
+ return this.__endpoint_context__;
808
+ }
725
809
  /**
726
810
  * inject crud repo for entity
727
811
  */
@@ -849,7 +933,7 @@ class BaseInjector {
849
933
  }
850
934
  clone(override) {
851
935
  const classFn = ClassHelpers.getClassFnFromObject(this);
852
- const result = _.merge(new classFn(), _.merge(_.cloneDeep(this), override));
936
+ const result = _$1.merge(new classFn(), _$1.merge(_$1.cloneDeep(this), override));
853
937
  return result;
854
938
  }
855
939
  }
@@ -875,7 +959,7 @@ BaseController = __decorate([
875
959
  */
876
960
  let BaseCrudController = class BaseCrudController extends BaseController {
877
961
  async _() {
878
- if (!_.isFunction(this.entityClassResolveFn)) {
962
+ if (!_$1.isFunction(this.entityClassResolveFn)) {
879
963
  Helpers.warn(`Skipping initing CRUD controller ${ClassHelpers.getName(this)} because entityClassResolveFn is not provided.`);
880
964
  return;
881
965
  }
@@ -911,7 +995,7 @@ let BaseCrudController = class BaseCrudController extends BaseController {
911
995
  Validators.preventUndefinedModel(model, id);
912
996
  let value = model[property];
913
997
  let result;
914
- if (_.isString(value) || _.isArray(value)) {
998
+ if (_$1.isString(value) || _$1.isArray(value)) {
915
999
  result = value.slice(alreadyLength);
916
1000
  }
917
1001
  return result;
@@ -1097,7 +1181,7 @@ class BaseClass {
1097
1181
  async _() { }
1098
1182
  clone(override) {
1099
1183
  const classFn = ClassHelpers.getClassFnFromObject(this);
1100
- const result = _.merge(new classFn(), _.merge(_.cloneDeep(this), override));
1184
+ const result = _$1.merge(new classFn(), _$1.merge(_$1.cloneDeep(this), override));
1101
1185
  return result;
1102
1186
  }
1103
1187
  }
@@ -1358,7 +1442,7 @@ let BaseRepository = class BaseRepository extends BaseInjector {
1358
1442
  * Removes a given entities from the database.
1359
1443
  */
1360
1444
  async remove(idOrEntity) {
1361
- if (_.isObject(idOrEntity)) {
1445
+ if (_$1.isObject(idOrEntity)) {
1362
1446
  idOrEntity = idOrEntity.id;
1363
1447
  }
1364
1448
  const deletedEntity = await this.repo.findOne({
@@ -1383,7 +1467,7 @@ let BaseRepository = class BaseRepository extends BaseInjector {
1383
1467
  }
1384
1468
  async bulkRemove(idsOrEntities) {
1385
1469
  idsOrEntities = idsOrEntities.map(id => {
1386
- return _.isObject(id) ? id.id : id;
1470
+ return _$1.isObject(id) ? id.id : id;
1387
1471
  });
1388
1472
  const models = [];
1389
1473
  for (let index = 0; index < idsOrEntities.length; index++) {
@@ -1424,10 +1508,10 @@ let BaseRepository = class BaseRepository extends BaseInjector {
1424
1508
  async updateById(id, item) {
1425
1509
  const allowedPropsToUpdate = [];
1426
1510
  for (const key in item) {
1427
- if (_.isObject(item) &&
1511
+ if (_$1.isObject(item) &&
1428
1512
  item.hasOwnProperty(key) &&
1429
1513
  typeof item[key] !== 'object' &&
1430
- !_.isUndefined(this.repo.metadata.ownColumns.find(c => c.propertyName === key))) {
1514
+ !_$1.isUndefined(this.repo.metadata.ownColumns.find(c => c.propertyName === key))) {
1431
1515
  allowedPropsToUpdate.push(key);
1432
1516
  }
1433
1517
  }
@@ -1639,14 +1723,14 @@ const globalPublicStorage = Helpers.isBrowser ? window : global;
1639
1723
  ;
1640
1724
  ({}); // @--end-of-file-for-module=taon lib/storage.ts
1641
1725
 
1642
- const ENV$1 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1726
+ const ENV$2 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1643
1727
  class TaonAdmin {
1644
1728
  constructor() {
1645
1729
  this.scrollableEnabled = false; // TOOD false by default
1646
1730
  this.onEditMode = new Subject();
1647
1731
  this.onEditMode$ = this.onEditMode.asObservable();
1648
1732
  this.enabledTabs = [];
1649
- this.scrollableEnabled = !!ENV$1?.useGlobalNgxScrollbar;
1733
+ this.scrollableEnabled = !!ENV$2?.useGlobalNgxScrollbar;
1650
1734
  }
1651
1735
  static get Instance() {
1652
1736
  if (!globalPublicStorage[config.frameworkNames.productionFrameworkName]) {
@@ -1730,12 +1814,7 @@ class DITaonContainer {
1730
1814
  const getResponseValue = (response, options) => {
1731
1815
  const { req, res } = options || {};
1732
1816
  return new Promise(async (resolve, reject) => {
1733
- const resp = response;
1734
- if (!response && response.send === undefined) {
1735
- console.error('[taon] Bad response value for function');
1736
- resolve(undefined);
1737
- }
1738
- else if (typeof response === 'function') {
1817
+ if (typeof response === 'function') {
1739
1818
  const asyncResponse = response;
1740
1819
  try {
1741
1820
  const result = await asyncResponse(req, res);
@@ -1748,30 +1827,15 @@ const getResponseValue = (response, options) => {
1748
1827
  reject(e);
1749
1828
  }
1750
1829
  }
1751
- else if (typeof response === 'object') {
1752
- try {
1753
- if (typeof response.send === 'function') {
1754
- const result = response.send(req, res);
1755
- resolve(result);
1756
- }
1757
- else {
1758
- resolve(response.send);
1759
- }
1760
- }
1761
- catch (error) {
1762
- console.error('[taon] Bad synchonus function call ');
1763
- Helpers.renderError(error);
1764
- reject(error);
1765
- }
1830
+ else {
1831
+ reject(`[taon] Not recognized type of response ${response}`);
1766
1832
  }
1767
- else
1768
- reject(`[taon] Not recognized type of reposne ${response}`);
1769
1833
  });
1770
1834
  };
1771
1835
  ;
1772
1836
  ({}); // @--end-of-file-for-module=taon lib/get-response-value.ts
1773
1837
 
1774
- const ENV = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1838
+ const ENV$1 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1775
1839
  ;
1776
1840
  ({}); // @--end-of-file-for-module=taon lib/env.ts
1777
1841
 
@@ -1799,7 +1863,7 @@ class RealtimeSubsManager {
1799
1863
  realtime.emit(subscribeEvent, this.options.roomName);
1800
1864
  }
1801
1865
  else {
1802
- if (_.isString(this.options.property)) {
1866
+ if (_$1.isString(this.options.property)) {
1803
1867
  const subscribeEvent = Symbols.REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName);
1804
1868
  realtime.emit(subscribeEvent, this.options.roomName);
1805
1869
  }
@@ -1826,7 +1890,7 @@ class RealtimeSubsManager {
1826
1890
  realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.options.core.ctx.contextName), roomName);
1827
1891
  }
1828
1892
  else {
1829
- if (_.isString(property)) {
1893
+ if (_$1.isString(property)) {
1830
1894
  realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
1831
1895
  }
1832
1896
  else {
@@ -1904,7 +1968,7 @@ class RealtimeClient {
1904
1968
  options = options || {};
1905
1969
  const { property, customEvent } = options;
1906
1970
  const className = !customEvent && ClassHelpers.getName(entityClassFn);
1907
- if (_.isString(property)) {
1971
+ if (_$1.isString(property)) {
1908
1972
  if (property.trim() === '') {
1909
1973
  throw new Error(`[Taon][listenChangesEntity.. incorect property '' for ${className}`);
1910
1974
  }
@@ -1927,7 +1991,7 @@ to use socket realtime connection;
1927
1991
  roomName = Symbols.REALTIME.ROOM_NAME_CUSTOM(this.core.ctx.contextName, customEvent);
1928
1992
  }
1929
1993
  else {
1930
- roomName = _.isString(property)
1994
+ roomName = _$1.isString(property)
1931
1995
  ? Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(this.core.ctx.contextName, className, property, idOrUniqValue)
1932
1996
  : Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY(this.core.ctx.contextName, className, idOrUniqValue);
1933
1997
  }
@@ -2092,7 +2156,7 @@ class RealtimeServer {
2092
2156
  }
2093
2157
  else {
2094
2158
  let entityFn = entityObjOrClass;
2095
- const entityIsObject = !_.isFunction(entityObjOrClass) && _.isObject(entityObjOrClass);
2159
+ const entityIsObject = !_$1.isFunction(entityObjOrClass) && _$1.isObject(entityObjOrClass);
2096
2160
  if (entityIsObject) {
2097
2161
  entityFn = ClassHelpers.getClassFnFromObject(entityObjOrClass);
2098
2162
  }
@@ -2104,7 +2168,7 @@ class RealtimeServer {
2104
2168
  Helpers.error(`[Taon][Realtime] Entity without iD ! ${ClassHelpers.getName(entityFn)} `, true, true);
2105
2169
  return;
2106
2170
  }
2107
- roomName = _.isString(property)
2171
+ roomName = _$1.isString(property)
2108
2172
  ? Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(this.core.ctx.contextName, ClassHelpers.getName(entityFn), property, valueOfUniqueProperty)
2109
2173
  : Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY(this.core.ctx.contextName, ClassHelpers.getName(entityFn), valueOfUniqueProperty);
2110
2174
  }
@@ -2125,7 +2189,7 @@ class RealtimeServer {
2125
2189
  console.warn(`[Taon][TriggerEntityPropertyChanges][property=${property}] Entity "${className}' is not realtime`);
2126
2190
  return;
2127
2191
  }
2128
- if (_.isArray(property)) {
2192
+ if (_$1.isArray(property)) {
2129
2193
  property.forEach(propertyFromArr => {
2130
2194
  this.triggerChanges(entityObjOrClass, propertyFromArr, idToTrigger);
2131
2195
  });
@@ -2706,11 +2770,6 @@ class EndpointContext {
2706
2770
  static initNgZone(ngZone) {
2707
2771
  this.ngZone = ngZone;
2708
2772
  }
2709
- static findForTraget(classFnOrObject) {
2710
- const obj = ClassHelpers.getClassFnFromObject(classFnOrObject) || {};
2711
- return (classFnOrObject[Symbols.ctxInClassOrClassObj] ||
2712
- obj[Symbols.ctxInClassOrClassObj]);
2713
- }
2714
2773
  get realtimeClient() {
2715
2774
  return this.realtime.client;
2716
2775
  }
@@ -2718,25 +2777,25 @@ class EndpointContext {
2718
2777
  return this.realtime.server;
2719
2778
  }
2720
2779
  get logHttp() {
2721
- if (_.isObject(this.config?.logs)) {
2780
+ if (_$1.isObject(this.config?.logs)) {
2722
2781
  return !!this.config.logs.http;
2723
2782
  }
2724
2783
  return this.config?.logs === true;
2725
2784
  }
2726
2785
  get logRealtime() {
2727
- if (_.isObject(this.config?.logs)) {
2786
+ if (_$1.isObject(this.config?.logs)) {
2728
2787
  return !!this.config.logs.realtime;
2729
2788
  }
2730
2789
  return this.config?.logs === true;
2731
2790
  }
2732
2791
  get logFramework() {
2733
- if (_.isObject(this.config?.logs)) {
2792
+ if (_$1.isObject(this.config?.logs)) {
2734
2793
  return !!this.config.logs.framework;
2735
2794
  }
2736
2795
  return this.config?.logs === true;
2737
2796
  }
2738
2797
  get logDb() {
2739
- if (_.isObject(this.config?.logs)) {
2798
+ if (_$1.isObject(this.config?.logs)) {
2740
2799
  return !!this.config.logs.db;
2741
2800
  }
2742
2801
  return this.config?.logs === true;
@@ -2837,16 +2896,38 @@ class EndpointContext {
2837
2896
  };
2838
2897
  }
2839
2898
  async init(options) {
2840
- const { initFromRecrusiveContextResovle } = options || {}; // TODO use it ?
2899
+ const { initFromRecrusiveContextResovle, overrideHost, overrideRemoteHost, } = options || {}; // TODO use it ?
2841
2900
  this.inited = true;
2842
- this.config = this.configFn(ENV);
2901
+ this.config = this.configFn(ENV$1);
2902
+ if (overrideHost && overrideRemoteHost) {
2903
+ Helpers.throw(`[taon-config] You can't have overrideHost and overrideRemoteHost at the same time`);
2904
+ }
2905
+ this.config.host = !_$1.isUndefined(overrideHost)
2906
+ ? overrideHost
2907
+ : this.config.host;
2908
+ this.config.remoteHost = !_$1.isUndefined(overrideRemoteHost)
2909
+ ? overrideRemoteHost
2910
+ : this.config.remoteHost;
2911
+ this.config.host = this.host === null ? void 0 : this.host;
2912
+ this.config.remoteHost =
2913
+ this.remoteHost === null ? void 0 : this.remoteHost;
2914
+ if (this.config.host &&
2915
+ !this.config.host.startsWith('http://') &&
2916
+ !this.config.host.startsWith('https://')) {
2917
+ Helpers.throw(`[taon-config] Your 'host' must start with http:// or https://`);
2918
+ }
2919
+ if (this.config.remoteHost &&
2920
+ !this.config.remoteHost.startsWith('http://') &&
2921
+ !this.config.remoteHost.startsWith('https://')) {
2922
+ Helpers.throw(`[taon-config] Your 'remoteHost' must start with http:// or https://`);
2923
+ }
2843
2924
  if (this.config.host) {
2844
2925
  this.mode = 'backend-frontend(tcp+udp)';
2845
2926
  this.mode = 'backend-frontend(websql)';
2846
2927
  }
2847
2928
  if (this.config.remoteHost) {
2848
2929
  if (this.config.host) {
2849
- Helpers.error(`[taon] You can't have remoteHost and host at the same time`, false, true);
2930
+ Helpers.throw(`[taon] You can't have remoteHost and host at the same time`);
2850
2931
  }
2851
2932
  this.mode = 'remote-backend(tcp+udp)';
2852
2933
  }
@@ -2866,11 +2947,11 @@ class EndpointContext {
2866
2947
  if (this.config.database === true) {
2867
2948
  this.databaseConfig = this.getAutoGeneratedConfig();
2868
2949
  }
2869
- else if (_.isObject(this.config.database)) {
2870
- this.databaseConfig = _.cloneDeep(this.config.database);
2950
+ else if (_$1.isObject(this.config.database)) {
2951
+ this.databaseConfig = _$1.merge(this.getAutoGeneratedConfig(), _$1.cloneDeep(this.config.database));
2871
2952
  }
2872
2953
  if (this.config.session) {
2873
- this.session = _.cloneDeep(this.config.session);
2954
+ this.session = _$1.cloneDeep(this.config.session);
2874
2955
  const oneHour = 1000 * 60 * 60 * 1; // 24;
2875
2956
  if (!this.session.cookieMaxAge) {
2876
2957
  this.session.cookieMaxAge = oneHour;
@@ -2987,7 +3068,7 @@ class EndpointContext {
2987
3068
  if (Helpers.isRunningInDocker()) {
2988
3069
  Helpers.info('Running in docker, using in mysql database');
2989
3070
  databaseConfig = {
2990
- database: `tmp-db-${_.kebabCase(this.contextName)}.sqljs.db`,
3071
+ database: `tmp-db-${_$1.kebabCase(this.contextName)}.sqljs.db`,
2991
3072
  type: 'mysql',
2992
3073
  autoSave: true,
2993
3074
  synchronize: true,
@@ -3005,7 +3086,7 @@ class EndpointContext {
3005
3086
  switch (this.mode) {
3006
3087
  case 'backend-frontend(ipc-electron)':
3007
3088
  return {
3008
- location: `tmp-db-${_.kebabCase(this.contextName)}.sqljs`,
3089
+ location: `tmp-db-${_$1.kebabCase(this.contextName)}.sqljs`,
3009
3090
  type: 'sqljs',
3010
3091
  autoSave: true,
3011
3092
  synchronize: true,
@@ -3016,7 +3097,7 @@ class EndpointContext {
3016
3097
  case 'backend-frontend(websql-electron)':
3017
3098
  case 'backend-frontend(websql)':
3018
3099
  databaseConfig = {
3019
- location: `tmp-db-${_.kebabCase(this.contextName)}.sqljs`,
3100
+ location: `tmp-db-${_$1.kebabCase(this.contextName)}.sqljs`,
3020
3101
  type: 'sqljs',
3021
3102
  useLocalForage: true, // !!window['localforage'], // TODO this need to be checked in runtime
3022
3103
  autoSave: true,
@@ -3038,8 +3119,8 @@ class EndpointContext {
3038
3119
  break;
3039
3120
  case 'backend-frontend(tcp+udp)':
3040
3121
  databaseConfig = {
3041
- database: `context-db-${_.kebabCase(this.contextName)}`,
3042
- location: `tmp-db-${_.kebabCase(this.contextName)}.sqlite`,
3122
+ database: `context-db-${_$1.kebabCase(this.contextName)}`,
3123
+ location: `tmp-db-${_$1.kebabCase(this.contextName)}.sqlite`,
3043
3124
  type: 'sqljs',
3044
3125
  autoSave: true,
3045
3126
  synchronize: true,
@@ -3069,6 +3150,9 @@ class EndpointContext {
3069
3150
  /* */
3070
3151
  /* */
3071
3152
  /* */
3153
+ /* */
3154
+ /* */
3155
+ /* */
3072
3156
  return (void 0);
3073
3157
  }
3074
3158
  displayRoutes(app) {
@@ -3182,8 +3266,8 @@ class EndpointContext {
3182
3266
  return this.inject(ctor, { localInstance: false });
3183
3267
  }
3184
3268
  checkIfContextInitialized() {
3185
- if (_.isUndefined(this.config)) {
3186
- throw new Error(`Please check if your context has been initilized.
3269
+ if (_$1.isUndefined(this.config)) {
3270
+ throw new Error(`Please check if your context has been initialized.
3187
3271
 
3188
3272
 
3189
3273
  await Context.initialize();
@@ -3244,9 +3328,12 @@ class EndpointContext {
3244
3328
  }
3245
3329
  }
3246
3330
  async reinitControllers() {
3331
+ if (this.remoteHost) {
3332
+ return;
3333
+ }
3247
3334
  const controllers = this.getClassesInstancesArrBy(Models.ClassType.CONTROLLER);
3248
3335
  for (const ctrl of controllers) {
3249
- if (_.isFunction(ctrl.initExampleDbData)) {
3336
+ if (_$1.isFunction(ctrl.initExampleDbData)) {
3250
3337
  await Helpers.runSyncOrAsync({
3251
3338
  functionFn: ctrl.initExampleDbData,
3252
3339
  context: ctrl,
@@ -3255,6 +3342,9 @@ class EndpointContext {
3255
3342
  }
3256
3343
  }
3257
3344
  async initClasses() {
3345
+ if (this.remoteHost) {
3346
+ return;
3347
+ }
3258
3348
  for (const classTypeName of [
3259
3349
  Models.ClassType.PROVIDER,
3260
3350
  Models.ClassType.REPOSITORY,
@@ -3262,7 +3352,7 @@ class EndpointContext {
3262
3352
  Models.ClassType.ENTITY,
3263
3353
  ]) {
3264
3354
  for (const classFun of this.getClassFunByArr(classTypeName)) {
3265
- if (_.isFunction(classFun._)) {
3355
+ if (_$1.isFunction(classFun._)) {
3266
3356
  await Helpers.runSyncOrAsync({
3267
3357
  functionFn: classFun._,
3268
3358
  context: classFun,
@@ -3276,7 +3366,7 @@ class EndpointContext {
3276
3366
  Models.ClassType.CONTROLLER,
3277
3367
  ]) {
3278
3368
  for (const ctrl of this.getClassesInstancesArrBy(classTypeName)) {
3279
- if (_.isFunction(ctrl._)) {
3369
+ if (_$1.isFunction(ctrl._)) {
3280
3370
  await Helpers.runSyncOrAsync({
3281
3371
  functionFn: ctrl._,
3282
3372
  context: ctrl,
@@ -3322,6 +3412,9 @@ class EndpointContext {
3322
3412
  return this.uri?.origin;
3323
3413
  }
3324
3414
  async initSubscribers() {
3415
+ if (this.remoteHost) {
3416
+ return;
3417
+ }
3325
3418
  const subscriberClasses = this.getClassFunByArr(Models.ClassType.SUBSCRIBER);
3326
3419
  for (const subscriberClassFn of subscriberClasses) {
3327
3420
  const options = Reflect.getMetadata(Symbols.metadata.options.subscriber, subscriberClassFn);
@@ -3329,14 +3422,17 @@ class EndpointContext {
3329
3422
  }
3330
3423
  }
3331
3424
  async initEntities() {
3425
+ if (this.remoteHost) {
3426
+ return;
3427
+ }
3332
3428
  const entities = this.getClassFunByArr(Models.ClassType.ENTITY);
3333
3429
  for (const entity of entities) {
3334
3430
  const options = Reflect.getMetadata(Symbols.metadata.options.entity, entity);
3335
- const createTable = _.isUndefined(options.createTable)
3431
+ const createTable = _$1.isUndefined(options.createTable)
3336
3432
  ? true
3337
3433
  : options.createTable;
3338
3434
  const nameForEntity = ClassHelpers.getName(entity);
3339
- if (_.isUndefined(options.createTable) ? true : options.createTable) {
3435
+ if (_$1.isUndefined(options.createTable) ? true : options.createTable) {
3340
3436
  this.logDb &&
3341
3437
  console.info(`[taon][typeorm] create table for entity "${nameForEntity}" ? '${createTable}'`);
3342
3438
  Entity(nameForEntity)(entity);
@@ -3348,6 +3444,9 @@ class EndpointContext {
3348
3444
  }
3349
3445
  }
3350
3446
  async initDatabaseConnection() {
3447
+ if (this.remoteHost) {
3448
+ return;
3449
+ }
3351
3450
  const entities = (this.config.override?.entities
3352
3451
  ? this.config.override.entities
3353
3452
  : this.getClassFunByArr(Models.ClassType.ENTITY)).map(entityFn => {
@@ -3356,7 +3455,7 @@ class EndpointContext {
3356
3455
  const subscribers = this.config.override?.subscribers
3357
3456
  ? this.config.override.subscribers
3358
3457
  : this.getClassFunByArr(Models.ClassType.SUBSCRIBER);
3359
- const dataSourceDbConfig = _.isObject(this.databaseConfig)
3458
+ const dataSourceDbConfig = _$1.isObject(this.databaseConfig)
3360
3459
  ? {
3361
3460
  type: this.databaseConfig.type,
3362
3461
  port: this.databaseConfig.databasePort,
@@ -3415,7 +3514,7 @@ class EndpointContext {
3415
3514
  ClassHelpers.getMethodsNames(controllerClassFn);
3416
3515
  const configs = ClassHelpers.getControllerConfigs(controllerClassFn);
3417
3516
  const classConfig = configs[0];
3418
- const parentscalculatedPath = _.slice(configs, 1)
3517
+ const parentscalculatedPath = _$1.slice(configs, 1)
3419
3518
  .reverse()
3420
3519
  .map(bc => {
3421
3520
  if (TaonHelpers.isGoodPath(bc.path)) {
@@ -3433,13 +3532,13 @@ class EndpointContext {
3433
3532
  .replace(/\/\//g, '/')
3434
3533
  .split('/')
3435
3534
  .reduce((acc, bc) => {
3436
- return _.last(acc) === bc ? acc : [...acc, bc];
3535
+ return _$1.last(acc) === bc ? acc : [...acc, bc];
3437
3536
  }, [])
3438
3537
  .join('/');
3439
3538
  }
3440
- _.slice(configs, 1).forEach(bc => {
3539
+ _$1.slice(configs, 1).forEach(bc => {
3441
3540
  const alreadyIs = classConfig.methods;
3442
- const toMerge = _.cloneDeep(bc.methods);
3541
+ const toMerge = _$1.cloneDeep(bc.methods);
3443
3542
  for (const key in toMerge) {
3444
3543
  if (toMerge.hasOwnProperty(key) && !alreadyIs[key]) {
3445
3544
  const element = toMerge[key];
@@ -3479,6 +3578,9 @@ class EndpointContext {
3479
3578
  }
3480
3579
  }
3481
3580
  writeActiveRoutes() {
3581
+ if (this.remoteHost) {
3582
+ return;
3583
+ }
3482
3584
  const contexts = [this];
3483
3585
  const troutes = this.activeRoutes.map(({ method, routePath }) => {
3484
3586
  return (TaonHelpers.fillUpTo(method.toUpperCase() + ':', 10) +
@@ -3492,7 +3594,7 @@ class EndpointContext {
3492
3594
  const fileName = path.join(
3493
3595
  /* */
3494
3596
  /* */
3495
- `tmp-routes-${_.kebabCase(this.config.contextName)}.json`);
3597
+ `tmp-routes-${_$1.kebabCase(this.config.contextName)}.json`);
3496
3598
  this.logFramework && console.log(`[taon] routes file: ${fileName} `);
3497
3599
  /* */
3498
3600
  /* */
@@ -3505,7 +3607,7 @@ class EndpointContext {
3505
3607
  /* */
3506
3608
  return (void 0);
3507
3609
  }
3508
- initMidleware() {
3610
+ initMiddlewares() {
3509
3611
  /* */
3510
3612
  /* */
3511
3613
  /* */
@@ -3915,7 +4017,7 @@ class EndpointContext {
3915
4017
  method: methodConfig.type,
3916
4018
  url: `${ctx.uri.origin}${'' // TODO express path
3917
4019
  }${methodConfig.path} `,
3918
- }, Helpers.isBlob(body) || _.isString(body)
4020
+ }, Helpers.isBlob(body) || _$1.isString(body)
3919
4021
  ? body
3920
4022
  : JSON.stringify(body), RestHeaders.from(headers), void 0, () => body);
3921
4023
  resolve(res);
@@ -4007,7 +4109,7 @@ class EndpointContext {
4007
4109
  method: methodConfig.type,
4008
4110
  url: `${ctx.uri.origin}${'' // TODO express path
4009
4111
  }${methodConfig.path} `,
4010
- }, Helpers.isBlob(body) || _.isString(body)
4112
+ }, Helpers.isBlob(body) || _$1.isString(body)
4011
4113
  ? body
4012
4114
  : JSON.stringify(body), RestHeaders.from(headers), void 0, () => body);
4013
4115
  await periods();
@@ -4094,7 +4196,7 @@ class EndpointContext {
4094
4196
  if (mapping) {
4095
4197
  rest.headers.set(Symbols.old.MAPPING_CONFIG_HEADER_QUERY_PARAMS, JSON.stringify(mapping));
4096
4198
  }
4097
- queryParams = _.cloneDeep(param);
4199
+ queryParams = _$1.cloneDeep(param);
4098
4200
  }
4099
4201
  }
4100
4202
  if (currentParam.paramType === 'Header') {
@@ -4173,7 +4275,7 @@ instead
4173
4275
  ({}); // @--end-of-file-for-module=taon lib/endpoint-context.ts
4174
4276
 
4175
4277
  const createContext = (configFn) => {
4176
- let config = configFn(ENV);
4278
+ let config = configFn(ENV$1);
4177
4279
  const endpointContextRef = new EndpointContext(config, configFn);
4178
4280
  const res = {
4179
4281
  types: {
@@ -4209,9 +4311,9 @@ const createContext = (configFn) => {
4209
4311
  return endpointContextRef;
4210
4312
  },
4211
4313
  /**
4212
- * only for internal use
4213
- * @deprecated
4214
- */
4314
+ * only for internal use
4315
+ * @deprecated
4316
+ */
4215
4317
  get __refSync() {
4216
4318
  return endpointContextRef;
4217
4319
  },
@@ -4226,10 +4328,12 @@ const createContext = (configFn) => {
4226
4328
  * - create controller instances for context
4227
4329
  * - init database (if enable) + migation scripts
4228
4330
  */
4229
- initialize: async () => {
4331
+ initialize: async (overrideOptions) => {
4230
4332
  return await new Promise(async (resolve, reject) => {
4231
4333
  setTimeout(async () => {
4232
- await endpointContextRef.init();
4334
+ await endpointContextRef.init({
4335
+ ...overrideOptions,
4336
+ });
4233
4337
  if (config.abstract) {
4234
4338
  throw new Error(`Abstract context can not be initialized`);
4235
4339
  }
@@ -4249,6 +4353,7 @@ const createContext = (configFn) => {
4249
4353
  else {
4250
4354
  await endpointContextRef.reinitControllers();
4251
4355
  }
4356
+ ///#region TODO this may be usefull but for now
4252
4357
  resolve(endpointContextRef);
4253
4358
  });
4254
4359
  });
@@ -4264,7 +4369,7 @@ const createContext = (configFn) => {
4264
4369
  },
4265
4370
  get server() {
4266
4371
  return endpointContextRef.realtimeServer;
4267
- }
4372
+ },
4268
4373
  };
4269
4374
  },
4270
4375
  };
@@ -4464,7 +4569,7 @@ function TaonEntity(options) {
4464
4569
  options = options || {};
4465
4570
  options.uniqueKeyProp = options.uniqueKeyProp || 'id';
4466
4571
  ClassHelpers.setName(constructor, options?.className);
4467
- Mapping.DefaultModelWithMapping(options?.defaultModelValues || {}, _.merge(options?.defaultModelMapping || {}, (options?.defaultModelMappingDeep || {})))(constructor);
4572
+ Mapping.DefaultModelWithMapping(options?.defaultModelValues || {}, _$1.merge(options?.defaultModelMapping || {}, (options?.defaultModelMappingDeep || {})))(constructor);
4468
4573
  Mapping.DefaultModelWithMapping(void 0, {})(constructor);
4469
4574
  Reflect.defineMetadata(Symbols.metadata.options.entity, options, constructor);
4470
4575
  Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
@@ -4523,6 +4628,1216 @@ const inject = (entity) => {
4523
4628
  ;
4524
4629
  ({}); // @--end-of-file-for-module=taon lib/inject.ts
4525
4630
 
4631
+ const log$1 = Log.create(`[taon-helpers] long-press`, Level.__NOTHING);
4632
+ class TaonLongPress {
4633
+ constructor() {
4634
+ this.pressDuration = 1000;
4635
+ this.onLongPress = new EventEmitter();
4636
+ this.onLongPressing = new EventEmitter();
4637
+ this.onLongPressEnd = new EventEmitter();
4638
+ this.mouseX = 0;
4639
+ this.mouseY = 0;
4640
+ this.allowTrigger = false;
4641
+ this.triggerEnd = _$1.debounce(() => {
4642
+ this.endPress();
4643
+ }, 500);
4644
+ }
4645
+ get press() {
4646
+ return this.pressing;
4647
+ }
4648
+ get longPress() {
4649
+ return this.longPressing;
4650
+ }
4651
+ onMouseDown(event) {
4652
+ log$1.d(`MOUSE DOWN `);
4653
+ if (event.which !== 1)
4654
+ return;
4655
+ this.allowTrigger = true;
4656
+ this.mouseX = event.clientX;
4657
+ this.mouseY = event.clientY;
4658
+ this.pressing = true;
4659
+ this.longPressing = false;
4660
+ this.timeout = setTimeout(() => {
4661
+ if (this.allowTrigger) {
4662
+ this.longPressing = true;
4663
+ log$1.d(`long pressing start pressDuration:${this.pressDuration} `);
4664
+ this.onLongPress.emit(event);
4665
+ this.loop(event);
4666
+ }
4667
+ }, this.pressDuration);
4668
+ this.loop(event);
4669
+ }
4670
+ onMouseMove(event) {
4671
+ if (this.pressing && !this.longPressing) {
4672
+ const xThres = event.clientX - this.mouseX > 10;
4673
+ const yThres = event.clientY - this.mouseY > 10;
4674
+ if (xThres || yThres) {
4675
+ this.endPress();
4676
+ }
4677
+ }
4678
+ }
4679
+ loop(event) {
4680
+ if (this.longPressing) {
4681
+ this.timeout = setTimeout(() => {
4682
+ log$1.d(`emil longpressing`);
4683
+ this.triggerEnd();
4684
+ this.onLongPressing.emit(event);
4685
+ this.loop(event);
4686
+ }, 50);
4687
+ }
4688
+ }
4689
+ endPress(emit = true) {
4690
+ this.allowTrigger = false;
4691
+ clearTimeout(this.timeout);
4692
+ this.longPressing = false;
4693
+ this.pressing = false;
4694
+ if (emit) {
4695
+ log$1.d(`EMIT END`);
4696
+ this.onLongPressEnd.emit(true);
4697
+ }
4698
+ else {
4699
+ log$1.d(`NOT EMIT END`);
4700
+ }
4701
+ }
4702
+ onMouseUp() {
4703
+ this.endPress(false);
4704
+ }
4705
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4706
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", type: TaonLongPress, isStandalone: true, selector: "[taonLongPress]", inputs: { pressDuration: "pressDuration" }, outputs: { onLongPress: "onLongPress", onLongPressing: "onLongPressing", onLongPressEnd: "onLongPressEnd" }, host: { listeners: { "mousedown": "onMouseDown($event)", "mousemove": "onMouseMove($event)", "mouseup": "onMouseUp()" }, properties: { "class.press": "this.press", "class.longpress": "this.longPress" } }, ngImport: i0 }); }
4707
+ }
4708
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, decorators: [{
4709
+ type: Directive,
4710
+ args: [{
4711
+ selector: '[taonLongPress]',
4712
+ standalone: true,
4713
+ }]
4714
+ }], propDecorators: { pressDuration: [{
4715
+ type: Input
4716
+ }], onLongPress: [{
4717
+ type: Output
4718
+ }], onLongPressing: [{
4719
+ type: Output
4720
+ }], onLongPressEnd: [{
4721
+ type: Output
4722
+ }], press: [{
4723
+ type: HostBinding,
4724
+ args: ['class.press']
4725
+ }], longPress: [{
4726
+ type: HostBinding,
4727
+ args: ['class.longpress']
4728
+ }], onMouseDown: [{
4729
+ type: HostListener,
4730
+ args: ['mousedown', ['$event']]
4731
+ }], onMouseMove: [{
4732
+ type: HostListener,
4733
+ args: ['mousemove', ['$event']]
4734
+ }], onMouseUp: [{
4735
+ type: HostListener,
4736
+ args: ['mouseup']
4737
+ }] } });
4738
+ ;
4739
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/taon-long-press.directive.ts
4740
+
4741
+ class TaonInjectHTMLDirective {
4742
+ set taonInjectHTML(content) {
4743
+ this.host.nativeElement.innerHTML = content;
4744
+ }
4745
+ constructor(host) {
4746
+ this.host = host;
4747
+ }
4748
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonInjectHTMLDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
4749
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", type: TaonInjectHTMLDirective, isStandalone: true, selector: "[taonInjectHTML]", inputs: { taonInjectHTML: "taonInjectHTML" }, ngImport: i0 }); }
4750
+ }
4751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonInjectHTMLDirective, decorators: [{
4752
+ type: Directive,
4753
+ args: [{
4754
+ selector: '[taonInjectHTML]',
4755
+ standalone: true,
4756
+ }]
4757
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { taonInjectHTML: [{
4758
+ type: Input
4759
+ }] } });
4760
+ ;
4761
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/taon-inject-html.directive.ts
4762
+
4763
+ /* */
4764
+ /* */
4765
+ /* */
4766
+ /* */
4767
+ /* */
4768
+ /* */
4769
+ class SafePipe {
4770
+ constructor(sanitizer) {
4771
+ this.sanitizer = sanitizer;
4772
+ }
4773
+ transform(value, type) {
4774
+ switch (type) {
4775
+ case 'html':
4776
+ return this.sanitizer.bypassSecurityTrustHtml(value);
4777
+ case 'style':
4778
+ return this.sanitizer.bypassSecurityTrustStyle(value);
4779
+ case 'script':
4780
+ return this.sanitizer.bypassSecurityTrustScript(value);
4781
+ case 'url':
4782
+ return this.sanitizer.bypassSecurityTrustUrl(value);
4783
+ case 'resourceUrl':
4784
+ return this.sanitizer.bypassSecurityTrustResourceUrl(value);
4785
+ default:
4786
+ throw new Error(`Invalid safe type specified: ${type}`);
4787
+ }
4788
+ }
4789
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
4790
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, isStandalone: true, name: "safe" }); }
4791
+ }
4792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, decorators: [{
4793
+ type: Pipe,
4794
+ args: [{
4795
+ name: 'safe',
4796
+ standalone: true,
4797
+ }]
4798
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
4799
+ ;
4800
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/safe.pipe.ts
4801
+
4802
+ ;
4803
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/index.ts
4804
+
4805
+ class TaonFullMaterialModule {
4806
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4807
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, exports: [A11yModule,
4808
+ CdkStepperModule,
4809
+ CdkTableModule,
4810
+ CdkTreeModule,
4811
+ DragDropModule,
4812
+ MatAutocompleteModule,
4813
+ MatBadgeModule,
4814
+ MatBottomSheetModule,
4815
+ MatButtonModule,
4816
+ MatButtonToggleModule,
4817
+ MatCardModule,
4818
+ MatCheckboxModule,
4819
+ MatChipsModule,
4820
+ MatStepperModule,
4821
+ MatDatepickerModule,
4822
+ MatDialogModule,
4823
+ MatDividerModule,
4824
+ MatExpansionModule,
4825
+ MatGridListModule,
4826
+ MatIconModule,
4827
+ MatInputModule,
4828
+ MatListModule,
4829
+ MatMenuModule,
4830
+ MatNativeDateModule,
4831
+ MatPaginatorModule,
4832
+ MatProgressBarModule,
4833
+ MatProgressSpinnerModule,
4834
+ MatRadioModule,
4835
+ MatRippleModule,
4836
+ MatSelectModule,
4837
+ MatSidenavModule,
4838
+ MatSliderModule,
4839
+ MatSlideToggleModule,
4840
+ MatSnackBarModule,
4841
+ MatSortModule,
4842
+ MatTableModule,
4843
+ MatTabsModule,
4844
+ MatToolbarModule,
4845
+ MatTooltipModule,
4846
+ MatTreeModule,
4847
+ ScrollingModule] }); }
4848
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, imports: [A11yModule,
4849
+ CdkStepperModule,
4850
+ CdkTableModule,
4851
+ CdkTreeModule,
4852
+ DragDropModule,
4853
+ MatAutocompleteModule,
4854
+ MatBadgeModule,
4855
+ MatBottomSheetModule,
4856
+ MatButtonModule,
4857
+ MatButtonToggleModule,
4858
+ MatCardModule,
4859
+ MatCheckboxModule,
4860
+ MatChipsModule,
4861
+ MatStepperModule,
4862
+ MatDatepickerModule,
4863
+ MatDialogModule,
4864
+ MatDividerModule,
4865
+ MatExpansionModule,
4866
+ MatGridListModule,
4867
+ MatIconModule,
4868
+ MatInputModule,
4869
+ MatListModule,
4870
+ MatMenuModule,
4871
+ MatNativeDateModule,
4872
+ MatPaginatorModule,
4873
+ MatProgressBarModule,
4874
+ MatProgressSpinnerModule,
4875
+ MatRadioModule,
4876
+ MatRippleModule,
4877
+ MatSelectModule,
4878
+ MatSidenavModule,
4879
+ MatSliderModule,
4880
+ MatSlideToggleModule,
4881
+ MatSnackBarModule,
4882
+ MatSortModule,
4883
+ MatTableModule,
4884
+ MatTabsModule,
4885
+ MatToolbarModule,
4886
+ MatTooltipModule,
4887
+ MatTreeModule,
4888
+ ScrollingModule] }); }
4889
+ }
4890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, decorators: [{
4891
+ type: NgModule,
4892
+ args: [{
4893
+ exports: [
4894
+ A11yModule,
4895
+ CdkStepperModule,
4896
+ CdkTableModule,
4897
+ CdkTreeModule,
4898
+ DragDropModule,
4899
+ MatAutocompleteModule,
4900
+ MatBadgeModule,
4901
+ MatBottomSheetModule,
4902
+ MatButtonModule,
4903
+ MatButtonToggleModule,
4904
+ MatCardModule,
4905
+ MatCheckboxModule,
4906
+ MatChipsModule,
4907
+ MatStepperModule,
4908
+ MatDatepickerModule,
4909
+ MatDialogModule,
4910
+ MatDividerModule,
4911
+ MatExpansionModule,
4912
+ MatGridListModule,
4913
+ MatIconModule,
4914
+ MatInputModule,
4915
+ MatListModule,
4916
+ MatMenuModule,
4917
+ MatNativeDateModule,
4918
+ MatPaginatorModule,
4919
+ MatProgressBarModule,
4920
+ MatProgressSpinnerModule,
4921
+ MatRadioModule,
4922
+ MatRippleModule,
4923
+ MatSelectModule,
4924
+ MatSidenavModule,
4925
+ MatSliderModule,
4926
+ MatSlideToggleModule,
4927
+ MatSnackBarModule,
4928
+ MatSortModule,
4929
+ MatTableModule,
4930
+ MatTabsModule,
4931
+ MatToolbarModule,
4932
+ MatTooltipModule,
4933
+ MatTreeModule,
4934
+ ScrollingModule,
4935
+ ],
4936
+ }]
4937
+ }] });
4938
+ ;
4939
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-full-material.module.ts
4940
+
4941
+ class TaonGithubForkMeCornerComponent {
4942
+ constructor() {
4943
+ this.url = 'https://github.com';
4944
+ }
4945
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4946
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonGithubForkMeCornerComponent, selector: "taon-github-fork-me-corner", inputs: { url: "url" }, ngImport: i0, template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>\n", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }); }
4947
+ }
4948
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, decorators: [{
4949
+ type: Component,
4950
+ args: [{ selector: 'taon-github-fork-me-corner', template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>\n", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }]
4951
+ }], propDecorators: { url: [{
4952
+ type: Input
4953
+ }] } });
4954
+ ;
4955
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.ts
4956
+
4957
+ class TaonGithubForkMeCornerModule {
4958
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4959
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, declarations: [TaonGithubForkMeCornerComponent], imports: [CommonModule], exports: [TaonGithubForkMeCornerComponent] }); }
4960
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, imports: [CommonModule] }); }
4961
+ }
4962
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, decorators: [{
4963
+ type: NgModule,
4964
+ args: [{
4965
+ imports: [CommonModule],
4966
+ exports: [TaonGithubForkMeCornerComponent],
4967
+ declarations: [TaonGithubForkMeCornerComponent],
4968
+ providers: [],
4969
+ }]
4970
+ }] });
4971
+ ;
4972
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.ts
4973
+
4974
+ ;
4975
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/index.ts
4976
+
4977
+ /* */
4978
+ /* */
4979
+ class TaonNotificationsService {
4980
+ constructor(toast) {
4981
+ this.toast = toast;
4982
+ }
4983
+ options(type, options) {
4984
+ if (_$1.isString(options)) {
4985
+ options = {
4986
+ // @ts-ignore
4987
+ title: options,
4988
+ };
4989
+ }
4990
+ return options;
4991
+ }
4992
+ success(options) {
4993
+ const opt = this.options('success', options);
4994
+ return this.toast.success(opt.title);
4995
+ }
4996
+ error(options) {
4997
+ const opt = this.options('error', options);
4998
+ return this.toast.error(opt.title);
4999
+ }
5000
+ warn(options) {
5001
+ const opt = this.options('warning', options);
5002
+ return this.toast.warning(opt.title);
5003
+ }
5004
+ info(options) {
5005
+ const opt = this.options('info', options);
5006
+ return this.toast.info(opt.title);
5007
+ }
5008
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, deps: [{ token: i1$1.HotToastService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5009
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, providedIn: 'root' }); }
5010
+ }
5011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, decorators: [{
5012
+ type: Injectable,
5013
+ args: [{
5014
+ providedIn: 'root',
5015
+ }]
5016
+ }], ctorParameters: () => [{ type: i1$1.HotToastService }] });
5017
+ ;
5018
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.service.ts
5019
+
5020
+ class TaonNotificationsComponent {
5021
+ constructor(notification) {
5022
+ this.notification = notification;
5023
+ }
5024
+ ngOnInit() { }
5025
+ init(subscribtionsArray, template, callback) {
5026
+ subscribtionsArray.push(Resource.listenErrors.subscribe(err => {
5027
+ this.notification.error(err.msg);
5028
+ }));
5029
+ }
5030
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsComponent, deps: [{ token: TaonNotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
5031
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonNotificationsComponent, selector: "taon-notifications", ngImport: i0, template: "<!-- <p>\n notyfications works!\n</p> -->\n", styles: [":host{position:absolute;width:0px;height:0px}\n"] }); }
5032
+ }
5033
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsComponent, decorators: [{
5034
+ type: Component,
5035
+ args: [{ selector: 'taon-notifications', template: "<!-- <p>\n notyfications works!\n</p> -->\n", styles: [":host{position:absolute;width:0px;height:0px}\n"] }]
5036
+ }], ctorParameters: () => [{ type: TaonNotificationsService }] });
5037
+ ;
5038
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.component.ts
5039
+
5040
+ class TaonNotificationOptions {
5041
+ }
5042
+ ;
5043
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.models.ts
5044
+
5045
+ class TaonNotificationsModule {
5046
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5047
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, declarations: [TaonNotificationsComponent], exports: [TaonNotificationsComponent] }); }
5048
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, providers: [TaonNotificationsService] }); }
5049
+ }
5050
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, decorators: [{
5051
+ type: NgModule,
5052
+ args: [{
5053
+ imports: [],
5054
+ exports: [TaonNotificationsComponent],
5055
+ declarations: [TaonNotificationsComponent],
5056
+ providers: [TaonNotificationsService],
5057
+ }]
5058
+ }] });
5059
+ ;
5060
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.module.ts
5061
+
5062
+ ;
5063
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/index.ts
5064
+
5065
+ class TaonSessionPasscodeComponent {
5066
+ constructor(element, domSanitizer, cdr) {
5067
+ this.element = element;
5068
+ this.domSanitizer = domSanitizer;
5069
+ this.cdr = cdr;
5070
+ this.destroyRef = inject$1(DestroyRef);
5071
+ this.display = 'none';
5072
+ this.form = new FormGroup({
5073
+ passcode: new FormControl(),
5074
+ });
5075
+ }
5076
+ ngOnInit() {
5077
+ if (!this.passcode) {
5078
+ this.passcode = '123456';
5079
+ }
5080
+ if (!this.message) {
5081
+ this.message = `
5082
+ This website is only for testing purpose. Please type passcode bellow to see content.
5083
+
5084
+ `;
5085
+ }
5086
+ this.safeMessage = this.domSanitizer.bypassSecurityTrustHtml(this.message);
5087
+ if (this.lastPasscode?.toString() === this.passcode?.toString()) {
5088
+ this.hide();
5089
+ }
5090
+ else {
5091
+ this.show();
5092
+ this.focus();
5093
+ }
5094
+ interval(1000)
5095
+ .pipe(takeUntilDestroyed(this.destroyRef), tap(() => {
5096
+ this.focus();
5097
+ }))
5098
+ .subscribe();
5099
+ }
5100
+ submit({ passcode }) {
5101
+ if (this.isPasscodeOK(passcode || '')) {
5102
+ this.hide();
5103
+ }
5104
+ else {
5105
+ this.clear();
5106
+ }
5107
+ }
5108
+ isPasscodeOK(passcode) {
5109
+ this.lastPasscode = passcode.toString();
5110
+ return this.passcode.toString() === passcode;
5111
+ }
5112
+ ngAfterViewInit() { }
5113
+ focus() {
5114
+ this.element.nativeElement.querySelector('input')?.focus();
5115
+ }
5116
+ hide() {
5117
+ this.display = 'none';
5118
+ }
5119
+ show() {
5120
+ this.display = 'block';
5121
+ }
5122
+ clear() {
5123
+ this.form.controls.passcode.setValue('');
5124
+ }
5125
+ onKeyup(event) {
5126
+ if (this.isPasscodeOK(event.target.value || '')) {
5127
+ this.hide();
5128
+ return;
5129
+ }
5130
+ const key = event.keyCode || event.charCode;
5131
+ if (key === 8 || key === 46 || this.lastPasscode?.length > 5) {
5132
+ this.clear();
5133
+ }
5134
+ }
5135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonSessionPasscodeComponent, deps: [{ token: i0.ElementRef, self: true }, { token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5136
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonSessionPasscodeComponent, isStandalone: true, selector: "taon-session-passcode", inputs: { passcode: "passcode", message: "message" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n content=\"notranslate\"\n autocomplete=\"off\"\n (click)=\"focus()\"\n (ngSubmit)=\"submit(form.value)\"\n class=\"flex flex-column align-items-center w-full h-full\">\n <div class=\"flex align-content-center w-full justify-content-center mt-8\">\n <p\n class=\"p-3\"\n style=\"max-width: 400px; min-height: 100px\"\n [innerHtml]=\"safeMessage\"></p>\n </div>\n <input\n type=\"password\"\n class=\"text-5xl md:text-8xl pointer-events-none\"\n #taonpasscode\n (keyup)=\"onKeyup($event)\"\n formControlName=\"passcode\" />\n <!-- placeholder=\"Enter passcode\" -->\n</form>\n", styles: [":host{position:fixed;background-color:#9f9f9f57;z-index:99999;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);width:100%;height:100%;display:none}input{background:#fff;border-radius:6px;outline:0px;border:0px;color:gray;text-align:center;width:500px}\n"], dependencies: [{ kind: "ngmodule", type: PasswordModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }] }); }
5137
+ }
5138
+ __decorate([
5139
+ (Stor.property.in.localstorage
5140
+ .for(TaonSessionPasscodeComponent)
5141
+ .withDefaultValue('')),
5142
+ __metadata("design:type", String)
5143
+ ], TaonSessionPasscodeComponent.prototype, "lastPasscode", void 0);
5144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonSessionPasscodeComponent, decorators: [{
5145
+ type: Component,
5146
+ args: [{ selector: 'taon-session-passcode', standalone: true, imports: [PasswordModule, CommonModule, ReactiveFormsModule, FormsModule], template: "<form\n [formGroup]=\"form\"\n content=\"notranslate\"\n autocomplete=\"off\"\n (click)=\"focus()\"\n (ngSubmit)=\"submit(form.value)\"\n class=\"flex flex-column align-items-center w-full h-full\">\n <div class=\"flex align-content-center w-full justify-content-center mt-8\">\n <p\n class=\"p-3\"\n style=\"max-width: 400px; min-height: 100px\"\n [innerHtml]=\"safeMessage\"></p>\n </div>\n <input\n type=\"password\"\n class=\"text-5xl md:text-8xl pointer-events-none\"\n #taonpasscode\n (keyup)=\"onKeyup($event)\"\n formControlName=\"passcode\" />\n <!-- placeholder=\"Enter passcode\" -->\n</form>\n", styles: [":host{position:fixed;background-color:#9f9f9f57;z-index:99999;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);width:100%;height:100%;display:none}input{background:#fff;border-radius:6px;outline:0px;border:0px;color:gray;text-align:center;width:500px}\n"] }]
5147
+ }], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
5148
+ type: Self
5149
+ }] }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }], propDecorators: { passcode: [{
5150
+ type: Input
5151
+ }], message: [{
5152
+ type: Input
5153
+ }], display: [{
5154
+ type: HostBinding,
5155
+ args: ['style.display']
5156
+ }] } });
5157
+ ;
5158
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-session-passcode/taon-session-passcode.component.ts
5159
+
5160
+ ;
5161
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-session-passcode/index.ts
5162
+
5163
+ const calculatePercentage = (loaded, total) => Math.floor(loaded * 1.0) / total;
5164
+ class TaonProgressBarComponent {
5165
+ constructor() {
5166
+ this.handlers = [];
5167
+ this.options = _$1.merge({
5168
+ min: 8,
5169
+ max: 100,
5170
+ speed: 200,
5171
+ trickleSpeed: 300,
5172
+ debounceTime: 0,
5173
+ ease: 'linear',
5174
+ spinnerPosition: 'right',
5175
+ direction: 'ltr+',
5176
+ color: 'gray',
5177
+ fixed: true,
5178
+ meteor: true,
5179
+ spinner: true,
5180
+ thick: false,
5181
+ }, _$1.get(ENV, `plugins['ngx-progressbar']`));
5182
+ }
5183
+ ngOnInit() { }
5184
+ ngOnDestroy() {
5185
+ this.handlers.forEach(h => h.unsubscribe());
5186
+ }
5187
+ ngAfterViewInit() {
5188
+ this.loadProgressBar(void 0, axios);
5189
+ }
5190
+ loadProgressBar(config, instance = axios) {
5191
+ }
5192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5193
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonProgressBarComponent, selector: "taon-progress-bar", inputs: { isDesktop: "isDesktop" }, viewQueries: [{ propertyName: "labProgress", first: true, predicate: ["labProgress"], descendants: true }], ngImport: i0, template: "<ng-progress\n #labProgress\n id=\"lab\"\n [meteor]=\"options.meteor\"\n [color]=\"options.color\"\n [min]=\"options.min\"\n [max]=\"options.max\"\n [speed]=\"options.speed\"\n [spinner]=\"\n options.spinner &&\n (!admin.adminPanelIsOpen ||\n (admin.adminPanelIsOpen && (admin.draggablePopupMode || !isDesktop)))\n \"\n [spinnerPosition]=\"options.spinnerPosition\"\n [direction]=\"options.direction\"\n [trickleSpeed]=\"options.trickleSpeed\"\n [debounceTime]=\"options.debounceTime\"\n [ease]=\"options.ease\"\n [thick]=\"options.thick\"\n [fixed]=\"options.fixed\">\n</ng-progress>\n<!-- (started)=\"onProgressStarted()\"\n (completed)=\"onProgressCompleted()\" -->\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1$2.NgProgressComponent, selector: "ng-progress", inputs: ["id", "min", "max", "ease", "color", "speed", "thick", "fixed", "meteor", "spinner", "trickleSpeed", "debounceTime", "trickleFunc", "spinnerPosition", "direction"], outputs: ["started", "completed"] }] }); }
5194
+ }
5195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarComponent, decorators: [{
5196
+ type: Component,
5197
+ args: [{ selector: 'taon-progress-bar', template: "<ng-progress\n #labProgress\n id=\"lab\"\n [meteor]=\"options.meteor\"\n [color]=\"options.color\"\n [min]=\"options.min\"\n [max]=\"options.max\"\n [speed]=\"options.speed\"\n [spinner]=\"\n options.spinner &&\n (!admin.adminPanelIsOpen ||\n (admin.adminPanelIsOpen && (admin.draggablePopupMode || !isDesktop)))\n \"\n [spinnerPosition]=\"options.spinnerPosition\"\n [direction]=\"options.direction\"\n [trickleSpeed]=\"options.trickleSpeed\"\n [debounceTime]=\"options.debounceTime\"\n [ease]=\"options.ease\"\n [thick]=\"options.thick\"\n [fixed]=\"options.fixed\">\n</ng-progress>\n<!-- (started)=\"onProgressStarted()\"\n (completed)=\"onProgressCompleted()\" -->\n", styles: [":host{display:block}\n"] }]
5198
+ }], ctorParameters: () => [], propDecorators: { labProgress: [{
5199
+ type: ViewChild,
5200
+ args: ['labProgress']
5201
+ }], isDesktop: [{
5202
+ type: Input
5203
+ }] } });
5204
+ ;
5205
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/taon-progress-bar.component.ts
5206
+
5207
+ class TaonProgressBarModule {
5208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5209
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, declarations: [TaonProgressBarComponent], imports: [CommonModule, i1$2.NgProgressModule], exports: [TaonProgressBarComponent] }); }
5210
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, imports: [CommonModule, NgProgressModule.withConfig({})] }); }
5211
+ }
5212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, decorators: [{
5213
+ type: NgModule,
5214
+ args: [{
5215
+ imports: [CommonModule, NgProgressModule.withConfig({})],
5216
+ declarations: [TaonProgressBarComponent],
5217
+ exports: [TaonProgressBarComponent],
5218
+ }]
5219
+ }] });
5220
+ ;
5221
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/taon-progress-bar.module.ts
5222
+
5223
+ ;
5224
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/index.ts
5225
+
5226
+ const log = Log.create('Table wrapper', Level.__NOTHING);
5227
+ const defaultColumns = [
5228
+ {
5229
+ header: 'ID',
5230
+ field: 'id',
5231
+ },
5232
+ {
5233
+ header: 'NAME',
5234
+ field: 'name',
5235
+ },
5236
+ ];
5237
+ class TaonTableComponent {
5238
+ constructor() {
5239
+ this.pageNumber = 1;
5240
+ this.pageSize = 5;
5241
+ this.allowedColumns = [];
5242
+ this.rows = _.times(20, id => {
5243
+ return {
5244
+ id,
5245
+ name: `Amazing ${id} row `,
5246
+ };
5247
+ });
5248
+ this.columns = defaultColumns;
5249
+ this.pageSizeOptions = [5, 10, 20];
5250
+ this.expansionChange = new EventEmitter();
5251
+ this.addingItem = new EventEmitter();
5252
+ this.searchInputChange$ = defer(() => fromEvent(this.search?.nativeElement, 'keyup')).pipe(map(c => c.target['value']), debounceTime(500), distinctUntilChanged(), share(), tap(data => {
5253
+ console.log({ data });
5254
+ }));
5255
+ this.expandable = false;
5256
+ this.showPaginator = true;
5257
+ this.isLoading = false;
5258
+ this.totalElements = 100;
5259
+ this.sub = new Subscription();
5260
+ }
5261
+ async ngOnInit() {
5262
+ if (_.isString(this.entity)) {
5263
+ this.entity = CLASS.getBy(this.entity);
5264
+ }
5265
+ this.sub.add(this.searchInputChange$.subscribe());
5266
+ if (!!this.entity) {
5267
+ this.rows = [];
5268
+ }
5269
+ this.expandable = !!this.expansionTemplate;
5270
+ log.i('this.columns,', this.columns);
5271
+ const columnsConfigSameAsDefault = _.isEqual(this.columns, defaultColumns);
5272
+ const entityClass = this.entity;
5273
+ if (entityClass && columnsConfigSameAsDefault) {
5274
+ log.i('this.crud.entity', CLASS.describeProperites(entityClass));
5275
+ try {
5276
+ const props = CLASS.describeProperites(entityClass);
5277
+ let columns = props
5278
+ .filter(prop => this.allowedColumns.length > 0
5279
+ ? this.allowedColumns.includes(prop)
5280
+ : true)
5281
+ .map(prop => {
5282
+ return {
5283
+ header: _.upperCase(prop),
5284
+ field: prop,
5285
+ };
5286
+ });
5287
+ const extra = this.allowedColumns.filter(f => !props.includes(f));
5288
+ columns = [
5289
+ ...columns,
5290
+ ...extra.map(prop => {
5291
+ return {
5292
+ header: _.upperCase(prop),
5293
+ field: prop,
5294
+ };
5295
+ }),
5296
+ ];
5297
+ if (!this.expandable) {
5298
+ for (let index = 0; index < columns.length; index++) {
5299
+ const col = columns[index];
5300
+ delete col.showExpand;
5301
+ }
5302
+ }
5303
+ this.columns = columns;
5304
+ }
5305
+ catch (error) {
5306
+ console.error(error);
5307
+ }
5308
+ }
5309
+ else {
5310
+ }
5311
+ if (!this.entity) {
5312
+ this.showPaginator = false;
5313
+ }
5314
+ await this.retriveData();
5315
+ }
5316
+ ngOnDestroy() {
5317
+ this.sub.unsubscribe();
5318
+ }
5319
+ async getNextPage(e) {
5320
+ this.pageNumber = e.pageIndex + 1;
5321
+ this.pageSize = e.pageSize;
5322
+ await this.retriveData();
5323
+ }
5324
+ async retriveData() {
5325
+ // @ts-ignore
5326
+ }
5327
+ expansionRow(e) {
5328
+ this.expansionChange.next(e);
5329
+ }
5330
+ onTableContextMenu(e) {
5331
+ log.i('context menu event', e);
5332
+ }
5333
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5334
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonTableComponent, selector: "taon-table", inputs: { pageNumber: "pageNumber", pageSize: "pageSize", allowedColumns: "allowedColumns", entity: "entity", expansionTemplate: "expansionTemplate", rows: "rows", columns: "columns", pageSizeOptions: "pageSizeOptions" }, outputs: { expansionChange: "expansionChange", addingItem: "addingItem" }, viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<br />\n<columns-container>\n <column grow>\n <mat-form-field class=\"search-input\">\n <input matInput placeholder=\"Type to search table...\" #search />\n </mat-form-field>\n </column>\n <column [width]=\"80\">\n <button\n mat-fab\n [ngClass]=\"{ 'half-opacity': !search.value }\"\n class=\"undo-button\"\n color=\"secondary\"\n (click)=\"search.value = ''\">\n <mat-icon>close </mat-icon>\n </button>\n </column>\n\n <column [width]=\"80\">\n <button\n mat-fab\n (click)=\"addingItem.next()\"\n class=\"undo-button\"\n color=\"primary\">\n <mat-icon>add</mat-icon>\n </button>\n </column>\n</columns-container>\n\n<mtx-grid\n *ngIf=\"rows && columns\"\n [data]=\"rows\"\n [columns]=\"columns\"\n [expandable]=\"expandable\"\n [expansionTemplate]=\"expansionTemplate\"\n (expansionChange)=\"expansionRow($event)\"\n [length]=\"totalElements\"\n [loading]=\"isLoading\"\n [pageOnFront]=\"false\"\n [pageIndex]=\"pageNumber - 1\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showPaginator]=\"showPaginator\"\n (page)=\"getNextPage($event)\">\n</mtx-grid>\n", styles: [":host{min-height:250px}.search-input{width:100%}.undo-button{margin-left:10px}.half-opacity{opacity:.2}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.MtxGrid, selector: "mtx-grid", inputs: ["displayedColumns", "columns", "data", "length", "loading", "trackBy", "columnResizable", "emptyValuePlaceholder", "pageOnFront", "showPaginator", "pageDisabled", "showFirstLastButtons", "pageIndex", "pageSize", "pageSizeOptions", "hidePageSize", "paginationTemplate", "sortOnFront", "sortActive", "sortDirection", "sortDisableClear", "sortDisabled", "sortStart", "rowHover", "rowStriped", "expandable", "expansionTemplate", "multiSelectable", "multiSelectionWithClick", "rowSelectable", "hideRowSelectionCheckbox", "disableRowClickSelection", "rowSelectionFormatter", "rowClassFormatter", "rowSelected", "cellSelectable", "showToolbar", "toolbarTitle", "toolbarTemplate", "columnHideable", "columnHideableChecked", "columnSortable", "columnPinnable", "columnPinOptions", "showColumnMenuButton", "columnMenuButtonText", "columnMenuButtonType", "columnMenuButtonColor", "columnMenuButtonClass", "columnMenuButtonIcon", "showColumnMenuHeader", "columnMenuHeaderText", "columnMenuHeaderTemplate", "showColumnMenuFooter", "columnMenuFooterText", "columnMenuFooterTemplate", "noResultText", "noResultTemplate", "headerTemplate", "headerExtraTemplate", "cellTemplate", "useContentRowTemplate", "useContentHeaderRowTemplate", "useContentFooterRowTemplate", "showSummary", "summaryTemplate", "showSidebar", "sidebarTemplate", "showStatusbar", "statusbarTemplate"], outputs: ["page", "sortChange", "rowClick", "rowContextMenu", "expansionChange", "rowSelectedChange", "cellSelectedChange", "columnChange"], exportAs: ["mtxGrid"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i1$3.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$3.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$3.DirectiveGrow, selector: "[grow]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6$1.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }] }); }
5335
+ }
5336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, decorators: [{
5337
+ type: Component,
5338
+ args: [{ selector: 'taon-table', template: "<br />\n<columns-container>\n <column grow>\n <mat-form-field class=\"search-input\">\n <input matInput placeholder=\"Type to search table...\" #search />\n </mat-form-field>\n </column>\n <column [width]=\"80\">\n <button\n mat-fab\n [ngClass]=\"{ 'half-opacity': !search.value }\"\n class=\"undo-button\"\n color=\"secondary\"\n (click)=\"search.value = ''\">\n <mat-icon>close </mat-icon>\n </button>\n </column>\n\n <column [width]=\"80\">\n <button\n mat-fab\n (click)=\"addingItem.next()\"\n class=\"undo-button\"\n color=\"primary\">\n <mat-icon>add</mat-icon>\n </button>\n </column>\n</columns-container>\n\n<mtx-grid\n *ngIf=\"rows && columns\"\n [data]=\"rows\"\n [columns]=\"columns\"\n [expandable]=\"expandable\"\n [expansionTemplate]=\"expansionTemplate\"\n (expansionChange)=\"expansionRow($event)\"\n [length]=\"totalElements\"\n [loading]=\"isLoading\"\n [pageOnFront]=\"false\"\n [pageIndex]=\"pageNumber - 1\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showPaginator]=\"showPaginator\"\n (page)=\"getNextPage($event)\">\n</mtx-grid>\n", styles: [":host{min-height:250px}.search-input{width:100%}.undo-button{margin-left:10px}.half-opacity{opacity:.2}\n"] }]
5339
+ }], ctorParameters: () => [], propDecorators: { pageNumber: [{
5340
+ type: Input
5341
+ }], pageSize: [{
5342
+ type: Input
5343
+ }], allowedColumns: [{
5344
+ type: Input
5345
+ }], entity: [{
5346
+ type: Input
5347
+ }], expansionTemplate: [{
5348
+ type: Input
5349
+ }], rows: [{
5350
+ type: Input
5351
+ }], columns: [{
5352
+ type: Input
5353
+ }], pageSizeOptions: [{
5354
+ type: Input
5355
+ }], expansionChange: [{
5356
+ type: Output
5357
+ }], addingItem: [{
5358
+ type: Output
5359
+ }], search: [{
5360
+ type: ViewChild,
5361
+ args: ['search', { static: true }]
5362
+ }] } });
5363
+ ;
5364
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-table/taon-table.component.ts
5365
+
5366
+ class TaonTableModule {
5367
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5368
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, declarations: [TaonTableComponent], imports: [CommonModule,
5369
+ MatSelectModule,
5370
+ MtxGridModule,
5371
+ MatFormFieldModule,
5372
+ MatInputModule,
5373
+ StaticColumnsModule,
5374
+ MatIconModule,
5375
+ MatButtonModule,
5376
+ FormsModule,
5377
+ ReactiveFormsModule], exports: [TaonTableComponent] }); }
5378
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, imports: [CommonModule,
5379
+ MatSelectModule,
5380
+ MtxGridModule,
5381
+ MatFormFieldModule,
5382
+ MatInputModule,
5383
+ StaticColumnsModule,
5384
+ MatIconModule,
5385
+ MatButtonModule,
5386
+ FormsModule,
5387
+ ReactiveFormsModule] }); }
5388
+ }
5389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, decorators: [{
5390
+ type: NgModule,
5391
+ args: [{
5392
+ imports: [
5393
+ CommonModule,
5394
+ MatSelectModule,
5395
+ MtxGridModule,
5396
+ MatFormFieldModule,
5397
+ MatInputModule,
5398
+ StaticColumnsModule,
5399
+ MatIconModule,
5400
+ MatButtonModule,
5401
+ FormsModule,
5402
+ ReactiveFormsModule,
5403
+ ],
5404
+ exports: [TaonTableComponent],
5405
+ declarations: [TaonTableComponent],
5406
+ }]
5407
+ }] });
5408
+ ;
5409
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-table/taon-table.module.ts
5410
+
5411
+ ;
5412
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-table/index.ts
5413
+
5414
+ class TaonAdminService {
5415
+ /**
5416
+ * @deprecated
5417
+ */
5418
+ disableScroll() {
5419
+ }
5420
+ constructor(cdr) {
5421
+ this.cdr = cdr;
5422
+ this.admin = window['taon'];
5423
+ }
5424
+ addTab(name, template) {
5425
+ this.admin.cmp.tabs.push({
5426
+ name,
5427
+ template,
5428
+ });
5429
+ }
5430
+ init(taonAdminModeConfigurationComponent) {
5431
+ this.taonAdminModeConfigurationComponent =
5432
+ taonAdminModeConfigurationComponent;
5433
+ }
5434
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, deps: [{ token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
5435
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, providedIn: 'root' }); }
5436
+ }
5437
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, decorators: [{
5438
+ type: Injectable,
5439
+ args: [{ providedIn: 'root' }]
5440
+ }], ctorParameters: () => [{ type: i0.ApplicationRef }] });
5441
+ ;
5442
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-control.service.ts
5443
+
5444
+ class TaonAdminModeConfigurationComponent {
5445
+ get opened() {
5446
+ return !this.isIframe && this.admin.adminPanelIsOpen;
5447
+ }
5448
+ set opened(v) {
5449
+ if (v && !this.openedOnce) {
5450
+ this.openedOnce = true;
5451
+ }
5452
+ if (this.wasOpenDraggablePopup) {
5453
+ this.wasOpenDraggablePopup = false;
5454
+ this.admin.draggablePopupMode = true;
5455
+ }
5456
+ this.admin.adminPanelIsOpen = v;
5457
+ }
5458
+ constructor(breakpointsService) {
5459
+ this.breakpointsService = breakpointsService;
5460
+ this.$destroy = new Subject();
5461
+ this.cdr = inject$1(ChangeDetectorRef);
5462
+ this.taonAdminService = inject$1(TaonAdminService);
5463
+ this.tabs = [];
5464
+ this.admin = window['taon'];
5465
+ this.isWebSQLMode = Helpers.isWebSQL;
5466
+ this.hideTaonToolsInProduction = ENV.hideTaonToolsInProduction && ENV.angularProd;
5467
+ this.isIframe = window.location !== window.parent.location;
5468
+ this.height = 100;
5469
+ this.openedOnce = false;
5470
+ this.reloading = false;
5471
+ this.showPasscode = _$1.isString(ENV.passcode) || _$1.isObject(ENV.passcode);
5472
+ this.passcode = _$1.isString(ENV.passcode)
5473
+ ? ENV.passcode
5474
+ : _$1.isObject(ENV.passcode)
5475
+ ? ENV.passcode.code
5476
+ : '';
5477
+ this.message = _$1.isObject(ENV.passcode)
5478
+ ? ENV.passcode.message
5479
+ : void 0;
5480
+ this.dragPositionZero = { x: 0, y: 0 };
5481
+ this.taonAdminModeConfigurationDataChanged = new EventEmitter();
5482
+ this.taonAdminModeConfigurationData = {};
5483
+ this.admin.cmp = this;
5484
+ this.breakpointsService
5485
+ .listenTo()
5486
+ .pipe(takeUntil(this.$destroy))
5487
+ .subscribe(breakpoint => {
5488
+ // @ts-ignore
5489
+ this.isDesktop = breakpoint === 'desktop';
5490
+ });
5491
+ this.taonAdminService.init(this);
5492
+ }
5493
+ reloadTabs() {
5494
+ this.reloading = true;
5495
+ setTimeout(() => {
5496
+ this.reloading = false;
5497
+ console.log('reloading done');
5498
+ });
5499
+ }
5500
+ async ngOnInit() {
5501
+ await Stor.awaitPendingOperatios();
5502
+ this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
5503
+ this.openedOnce = this.opened;
5504
+ }
5505
+ ngAfterViewInit() {
5506
+ //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
5507
+ //Add 'implements AfterViewInit' to the class.
5508
+ setTimeout(() => {
5509
+ this.height = window.innerHeight;
5510
+ if (this.admin.draggablePopupMode) {
5511
+ this.reloadTabs();
5512
+ }
5513
+ });
5514
+ }
5515
+ ngOnDestroy() {
5516
+ this.$destroy.next(void 0);
5517
+ this.$destroy.complete();
5518
+ }
5519
+ onResize(event) {
5520
+ this.height = window.innerHeight;
5521
+ }
5522
+ async toogle() {
5523
+ this.opened = !this.opened;
5524
+ }
5525
+ async toogleFullScreen() {
5526
+ this.admin.draggablePopupMode = true;
5527
+ this.admin.draggablePopupModeFullScreen =
5528
+ !this.admin.draggablePopupModeFullScreen;
5529
+ this.resetDrag();
5530
+ }
5531
+ resetDrag() {
5532
+ this.dragPositionX = 0;
5533
+ this.dragPositionY = 0;
5534
+ this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
5535
+ }
5536
+ moved(c) {
5537
+ this.dragPositionX += c.distance.x;
5538
+ this.dragPositionY += c.distance.y;
5539
+ }
5540
+ scrollTabs(event) {
5541
+ return;
5542
+ }
5543
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1$3.BreakpointsService }], target: i0.ɵɵFactoryTarget.Component }); }
5544
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminModeConfigurationComponent, selector: "app-taon-admin-mode-configuration", inputs: { taonAdminModeConfigurationData: "taonAdminModeConfigurationData" }, outputs: { taonAdminModeConfigurationDataChanged: "taonAdminModeConfigurationDataChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }], ngImport: i0, template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <!-- <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode> -->\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\n </mat-tab> -->\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$3.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$3.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$3.DirectiveGrow, selector: "[grow]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$1.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i10.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i11.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: TaonSessionPasscodeComponent, selector: "taon-session-passcode", inputs: ["passcode", "message"] }] }); }
5545
+ }
5546
+ __decorate([
5547
+ Stor.property.in.localstorage
5548
+ .for(TaonAdminModeConfigurationComponent)
5549
+ .withDefaultValue(0),
5550
+ __metadata("design:type", Number)
5551
+ ], TaonAdminModeConfigurationComponent.prototype, "dragPositionX", void 0);
5552
+ __decorate([
5553
+ Stor.property.in.localstorage
5554
+ .for(TaonAdminModeConfigurationComponent)
5555
+ .withDefaultValue(0),
5556
+ __metadata("design:type", Number)
5557
+ ], TaonAdminModeConfigurationComponent.prototype, "dragPositionY", void 0);
5558
+ __decorate([
5559
+ Stor.property.in.localstorage
5560
+ .for(TaonAdminModeConfigurationComponent)
5561
+ .withDefaultValue(0),
5562
+ __metadata("design:type", Number)
5563
+ ], TaonAdminModeConfigurationComponent.prototype, "selectedIndex", void 0);
5564
+ __decorate([
5565
+ Stor.property.in.localstorage
5566
+ .for(TaonAdminModeConfigurationComponent)
5567
+ .withDefaultValue(false),
5568
+ __metadata("design:type", Boolean)
5569
+ ], TaonAdminModeConfigurationComponent.prototype, "wasOpenDraggablePopup", void 0);
5570
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, decorators: [{
5571
+ type: Component,
5572
+ args: [{ selector: 'app-taon-admin-mode-configuration', template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !admin.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!admin.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column width=\"200\" class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !admin.draggablePopupModeFullScreen && !admin.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"\n admin.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column width=\"40\" *ngIf=\"!admin.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"admin.draggablePopupMode\"\n (click)=\"admin.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': admin.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"admin.keepWebsqlDbDataAfterReload\"\n (change)=\"\n admin.setKeepWebsqlDbDataAfterReload($event.checked)\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n\n <mat-tab label=\"Files\" *ngIf=\"admin.enabledTabs.includes('files')\">\n <section>\n <mat-checkbox\n [ngModel]=\"admin.filesEditMode\"\n (change)=\"admin.setEditMode($event.checked)\"\n >Edit mode</mat-checkbox\n >\n </section>\n <!-- admin.filesEditMode: {{ admin.filesEditMode }} -->\n <!-- <taon-admin-edit-mode *ngIf=\"admin.filesEditMode\">\n </taon-admin-edit-mode> -->\n <br />\n <hr *ngIf=\"admin.filesEditMode\" />\n <!-- <section>\n <button mat-raised-button>[TODO] Clear Files from browser cache </button> <br>\n <button mat-raised-button>[TODO] Start files export (as zip) </button> <br>\n <button mat-raised-button>[TODO] Import whole database (from zip) </button><br>\n </section> -->\n </mat-tab>\n <mat-tab *ngFor=\"let tab of tabs\" label=\"{{ tab.name }}\">\n <div\n class=\"full-tabs\"\n [style.height.px]=\"height - 150\"\n *ngIf=\"!isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </div>\n <ng-container *ngIf=\"isIframe\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </mat-tab>\n\n <!-- <mat-tab label=\"Portal\">\n <section>\n <mat-checkbox>[TODO] Maintenance Mode for whole portal</mat-checkbox>\n\n <mat-expansion-panel>\n\n <mat-expansion-panel-header>\n [TODO] Active User: 80432\n </mat-expansion-panel-header>\n <section>\n <button mat-raised-button>[TODO] Send notification to users </button><br>\n <button mat-raised-button>[TODO] Send email to users </button><br>\n </section>\n </mat-expansion-panel>\n <mat-expansion-panel>\n <mat-expansion-panel-header>\n [TODO] Enable features\n </mat-expansion-panel-header>\n <mat-checkbox>[TODO] AB testing</mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Newsletter email question popup\n </mat-checkbox> <br>\n <mat-checkbox>\n [TODO] Promotion popup\n </mat-checkbox> <br>\n </mat-expansion-panel>\n </section>\n </mat-tab>\n <mat-tab label=\"User\">\n Welcome in user managements\n </mat-tab>\n <mat-tab label=\"Translations\">\n Welcome in user managements\n </mat-tab> -->\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n admin.draggablePopupMode && !admin.draggablePopupModeFullScreen && !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n admin.draggablePopupMode &&\n admin.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n admin.draggablePopupMode ||\n admin.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!admin.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer #drawer style=\"width: 580px\" [opened]=\"opened\" [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!admin.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n admin.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->\n", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"] }]
5573
+ }], ctorParameters: () => [{ type: i1$3.BreakpointsService }], propDecorators: { tabGroup: [{
5574
+ type: ViewChild,
5575
+ args: ['tabGroup']
5576
+ }], taonAdminModeConfigurationDataChanged: [{
5577
+ type: Output
5578
+ }], taonAdminModeConfigurationData: [{
5579
+ type: Input
5580
+ }], onResize: [{
5581
+ type: HostListener,
5582
+ args: ['window:resize', ['$event']]
5583
+ }] } });
5584
+ ;
5585
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.ts
5586
+
5587
+ class TaonAdminEditModeComponent {
5588
+ constructor(router) {
5589
+ this.router = router;
5590
+ this.inited$ = of(true);
5591
+ this.destroyed$ = new Subject();
5592
+ this.handlers = [];
5593
+ this.columns = [
5594
+ {
5595
+ header: 'ID',
5596
+ field: 'id',
5597
+ maxWidth: 100,
5598
+ showExpand: true,
5599
+ },
5600
+ {
5601
+ header: 'src',
5602
+ field: 'src',
5603
+ maxWidth: 250,
5604
+ },
5605
+ {
5606
+ header: 'Content Type',
5607
+ field: 'contentType',
5608
+ maxWidth: 120,
5609
+ },
5610
+ ];
5611
+ this.taonAdminEditModeDataChanged = new EventEmitter();
5612
+ this.taonAdminEditModeData = {};
5613
+ }
5614
+ ngOnInit() {
5615
+ this.files = this.admin.currentFiles;
5616
+ this.handlers.push(this.admin.onEditMode$.subscribe(() => {
5617
+ this.refresFilesList();
5618
+ }));
5619
+ this.admin.onRegisterFile().pipe(takeUntil(this.destroyed$), tap(() => {
5620
+ this.refresFilesList();
5621
+ }));
5622
+ }
5623
+ ngOnDestroy() {
5624
+ this.handlers.forEach(h => h.unsubscribe());
5625
+ this.destroyed$.next(void 0);
5626
+ this.destroyed$.unsubscribe();
5627
+ }
5628
+ ngAfterViewInit() {
5629
+ //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
5630
+ //Add 'implements AfterViewInit' to the class.
5631
+ setTimeout(() => {
5632
+ this.refresFilesList();
5633
+ }, 500);
5634
+ }
5635
+ expansionRow(e) {
5636
+ console.log(e);
5637
+ }
5638
+ refresFilesList() {
5639
+ this.files = this.admin.currentFiles;
5640
+ }
5641
+ searchFind(file) {
5642
+ if (!!this?.fileToSearch) {
5643
+ return file?.src?.search(this?.fileToSearch) !== -1;
5644
+ }
5645
+ return true;
5646
+ }
5647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeComponent, deps: [{ token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
5648
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminEditModeComponent, selector: "taon-admin-edit-mode", inputs: { taonAdminEditModeData: "taonAdminEditModeData" }, outputs: { taonAdminEditModeDataChanged: "taonAdminEditModeDataChanged" }, ngImport: i0, template: "<ng-template #expansionTpl let-row>\n hello from expansion {{ row.src }}\n</ng-template>\n\n<mat-card *ngIf=\"inited$ | async\">\n <div *ngIf=\"!admin.selectedFile\">Please select file from portal to edit</div>\n <taon-file\n *ngIf=\"admin.selectedFile\"\n class=\"file-inside-admin\"\n [insideAdmin]=\"true\"\n [file]=\"admin.selectedFile\"></taon-file>\n\n <hr />\n\n <mat-tab-group\n dynamicHeight\n [selectedIndex]=\"selectedTabIndex\"\n (selectedIndexChange)=\"selectedTabIndex = $event; refresFilesList()\">\n <mat-tab label=\"General\">\n <!-- <taon-file-general-opt\n [file]=\"admin.selectedFile\"></taon-file-general-opt> -->\n </mat-tab>\n <!-- <mat-tab label=\"CSS Editing\">\n <ace [mode]=\"'css'\"\n *ngIf=\"admin.selectedFile\"\n [(value)]=\"admin.selectedFile.css\"\n [theme]=\"'github'\"\n style=\"width: 100%; height: 300px;\"></ace>\n </mat-tab> -->\n\n <mat-tab label=\"Files Picker\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"File Version History\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"Current File\">\n <columns-container *ngIf=\"files.length > 0\">\n <column grow>\n <mat-form-field style=\"width: 100%\">\n <input\n matInput\n [(ngModel)]=\"fileToSearch\"\n (focus)=\"refresFilesList()\"\n placeholder=\"Search by name\" />\n </mat-form-field>\n </column>\n <column [width]=\"40\">\n <button\n mat-icon-button\n (click)=\"fileToSearch = ''; refresFilesList()\"\n *ngIf=\"fileToSearch && fileToSearch?.trim() !== ''\">\n <mat-icon>backspace</mat-icon>\n </button>\n </column>\n <!-- <column [width]=\"40\">\n <button mat-icon-button (click)=\"refresFilesList();\" >\n <mat-icon >refresh</mat-icon>\n </button>\n </column> -->\n </columns-container>\n <columns-container *ngIf=\"files.length == 0\">\n <section>\n <code\n >No &lt;taon-file/&gt; - s components detected on this page</code\n >\n </section>\n </columns-container>\n\n <div class=\"scrollable-files-list\" *ngIf=\"files.length > 0\">\n <ng-scrollbar>\n <!-- selected: \"{{ selectedFile?.src }}\" -->\n <!-- {{ filesSelection.selectedOptions | json }} -->\n <mat-selection-list\n [multiple]=\"false\"\n #filesToSelect\n (selectionChange)=\"\n admin.selectedFile = filesToSelect.selectedOptions.hasValue()\n ? filesToSelect.selectedOptions.selected[0].value\n : null\n \">\n <mat-list-option\n *ngFor=\"let file of files | filterBy: ['src'] : fileToSearch\"\n [value]=\"file\">\n <strong *ngIf=\"file?.src === admin.selectedFile?.src\">\n {{ file.src }}\n </strong>\n <span *ngIf=\"file?.src !== admin.selectedFile?.src\">\n {{ file.src }}\n </span>\n </mat-list-option>\n </mat-selection-list>\n </ng-scrollbar>\n </div>\n </mat-tab>\n </mat-tab-group>\n</mat-card>\n", styles: [":host{display:block}.scrollable-files-list{height:150px;background:#8080801c;display:block}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$3.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$3.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$3.DirectiveGrow, selector: "[grow]" }, { kind: "component", type: i4$1.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i11$1.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i11$1.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i11.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.FilterByPipe, name: "filterBy" }] }); }
5649
+ }
5650
+ __decorate([
5651
+ (Stor.property.in.localstorage
5652
+ .for(TaonAdminEditModeComponent)
5653
+ .withDefaultValue(0)),
5654
+ __metadata("design:type", Number)
5655
+ ], TaonAdminEditModeComponent.prototype, "selectedTabIndex", void 0);
5656
+ __decorate([
5657
+ (Stor.property.in.localstorage
5658
+ .for(TaonAdminEditModeComponent)
5659
+ .withDefaultValue('')),
5660
+ __metadata("design:type", String)
5661
+ ], TaonAdminEditModeComponent.prototype, "fileToSearch", void 0);
5662
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeComponent, decorators: [{
5663
+ type: Component,
5664
+ args: [{ selector: 'taon-admin-edit-mode', template: "<ng-template #expansionTpl let-row>\n hello from expansion {{ row.src }}\n</ng-template>\n\n<mat-card *ngIf=\"inited$ | async\">\n <div *ngIf=\"!admin.selectedFile\">Please select file from portal to edit</div>\n <taon-file\n *ngIf=\"admin.selectedFile\"\n class=\"file-inside-admin\"\n [insideAdmin]=\"true\"\n [file]=\"admin.selectedFile\"></taon-file>\n\n <hr />\n\n <mat-tab-group\n dynamicHeight\n [selectedIndex]=\"selectedTabIndex\"\n (selectedIndexChange)=\"selectedTabIndex = $event; refresFilesList()\">\n <mat-tab label=\"General\">\n <!-- <taon-file-general-opt\n [file]=\"admin.selectedFile\"></taon-file-general-opt> -->\n </mat-tab>\n <!-- <mat-tab label=\"CSS Editing\">\n <ace [mode]=\"'css'\"\n *ngIf=\"admin.selectedFile\"\n [(value)]=\"admin.selectedFile.css\"\n [theme]=\"'github'\"\n style=\"width: 100%; height: 300px;\"></ace>\n </mat-tab> -->\n\n <mat-tab label=\"Files Picker\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"File Version History\">\n <!-- <taon-table\n [entity]=\"entity\"\n [allowedColumns]=\"['src', 'contentType']\"\n [columns]=\"columns\"\n [expansionTemplate]=\"expansionTpl\"\n (expansionChange)=\"expansionRow($event)\">\n </taon-table> -->\n </mat-tab>\n <mat-tab label=\"Current File\">\n <columns-container *ngIf=\"files.length > 0\">\n <column grow>\n <mat-form-field style=\"width: 100%\">\n <input\n matInput\n [(ngModel)]=\"fileToSearch\"\n (focus)=\"refresFilesList()\"\n placeholder=\"Search by name\" />\n </mat-form-field>\n </column>\n <column [width]=\"40\">\n <button\n mat-icon-button\n (click)=\"fileToSearch = ''; refresFilesList()\"\n *ngIf=\"fileToSearch && fileToSearch?.trim() !== ''\">\n <mat-icon>backspace</mat-icon>\n </button>\n </column>\n <!-- <column [width]=\"40\">\n <button mat-icon-button (click)=\"refresFilesList();\" >\n <mat-icon >refresh</mat-icon>\n </button>\n </column> -->\n </columns-container>\n <columns-container *ngIf=\"files.length == 0\">\n <section>\n <code\n >No &lt;taon-file/&gt; - s components detected on this page</code\n >\n </section>\n </columns-container>\n\n <div class=\"scrollable-files-list\" *ngIf=\"files.length > 0\">\n <ng-scrollbar>\n <!-- selected: \"{{ selectedFile?.src }}\" -->\n <!-- {{ filesSelection.selectedOptions | json }} -->\n <mat-selection-list\n [multiple]=\"false\"\n #filesToSelect\n (selectionChange)=\"\n admin.selectedFile = filesToSelect.selectedOptions.hasValue()\n ? filesToSelect.selectedOptions.selected[0].value\n : null\n \">\n <mat-list-option\n *ngFor=\"let file of files | filterBy: ['src'] : fileToSearch\"\n [value]=\"file\">\n <strong *ngIf=\"file?.src === admin.selectedFile?.src\">\n {{ file.src }}\n </strong>\n <span *ngIf=\"file?.src !== admin.selectedFile?.src\">\n {{ file.src }}\n </span>\n </mat-list-option>\n </mat-selection-list>\n </ng-scrollbar>\n </div>\n </mat-tab>\n </mat-tab-group>\n</mat-card>\n", styles: [":host{display:block}.scrollable-files-list{height:150px;background:#8080801c;display:block}\n"] }]
5665
+ }], ctorParameters: () => [{ type: i1$4.Router }], propDecorators: { taonAdminEditModeDataChanged: [{
5666
+ type: Output
5667
+ }], taonAdminEditModeData: [{
5668
+ type: Input
5669
+ }] } });
5670
+ ;
5671
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.ts
5672
+
5673
+ class TaonFileGeneralOptComponent {
5674
+ constructor() {
5675
+ this.height = 100;
5676
+ this.handlers = [];
5677
+ this.fieldsOrder = [];
5678
+ this.fields = [
5679
+ {
5680
+ key: 'width',
5681
+ },
5682
+ {
5683
+ key: 'height',
5684
+ },
5685
+ {
5686
+ key: 'display',
5687
+ },
5688
+ {
5689
+ key: 'widthUnit',
5690
+ },
5691
+ {
5692
+ key: 'heightUnit', // @ts-ignore
5693
+ },
5694
+ {
5695
+ key: 'action',
5696
+ type: 'action',
5697
+ templateOptions: {
5698
+ label: 'Reset',
5699
+ icon: 'cancel',
5700
+ raised: true,
5701
+ action: () => {
5702
+ console.log('reset');
5703
+ },
5704
+ },
5705
+ },
5706
+ ].map(f => {
5707
+ f.className = 'formly-field-half-size';
5708
+ return f;
5709
+ });
5710
+ }
5711
+ ngOnInit() { }
5712
+ ngOnDestroy() {
5713
+ this.handlers.forEach(h => h.unsubscribe());
5714
+ }
5715
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5716
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonFileGeneralOptComponent, selector: "taon-file-general-opt", inputs: { height: "height", file: "file" }, host: { properties: { "style.minHeight.px": "this.height" } }, ngImport: i0, template: "<!-- <taon-formly-form\n *ngIf=\"file\"\n [fields]=\"fields\"\n [fieldsOrder]=\"fieldsOrder\"\n [exclude]=\"['id']\"\n [(model)]=\"file.css\">\n</taon-formly-form> -->\n", styles: [":host{display:block}\n"] }); }
5717
+ }
5718
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, decorators: [{
5719
+ type: Component,
5720
+ args: [{ selector: 'taon-file-general-opt', template: "<!-- <taon-formly-form\n *ngIf=\"file\"\n [fields]=\"fields\"\n [fieldsOrder]=\"fieldsOrder\"\n [exclude]=\"['id']\"\n [(model)]=\"file.css\">\n</taon-formly-form> -->\n", styles: [":host{display:block}\n"] }]
5721
+ }], ctorParameters: () => [], propDecorators: { height: [{
5722
+ type: HostBinding,
5723
+ args: ['style.minHeight.px']
5724
+ }, {
5725
+ type: Input
5726
+ }], file: [{
5727
+ type: Input
5728
+ }] } });
5729
+ ;
5730
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.ts
5731
+
5732
+ class TaonFileGeneralOptModule {
5733
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5734
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, declarations: [TaonFileGeneralOptComponent], imports: [CommonModule, TaonFullMaterialModule], exports: [TaonFileGeneralOptComponent] }); }
5735
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, imports: [CommonModule, TaonFullMaterialModule] }); }
5736
+ }
5737
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, decorators: [{
5738
+ type: NgModule,
5739
+ args: [{
5740
+ imports: [CommonModule, TaonFullMaterialModule],
5741
+ declarations: [TaonFileGeneralOptComponent],
5742
+ exports: [TaonFileGeneralOptComponent],
5743
+ }]
5744
+ }] });
5745
+ ;
5746
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.ts
5747
+
5748
+ ;
5749
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.ts
5750
+
5751
+ class TaonAdminEditModeModule {
5752
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5753
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, declarations: [TaonAdminEditModeComponent], imports: [CommonModule,
5754
+ StaticColumnsModule,
5755
+ NgScrollbarModule,
5756
+ TaonFileGeneralOptModule,
5757
+ FormsModule,
5758
+ NgArrayPipesModule,
5759
+ TaonTableModule,
5760
+ TaonFullMaterialModule], exports: [TaonAdminEditModeComponent] }); }
5761
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, imports: [CommonModule,
5762
+ StaticColumnsModule,
5763
+ NgScrollbarModule,
5764
+ TaonFileGeneralOptModule,
5765
+ FormsModule,
5766
+ NgArrayPipesModule,
5767
+ TaonTableModule,
5768
+ TaonFullMaterialModule] }); }
5769
+ }
5770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, decorators: [{
5771
+ type: NgModule,
5772
+ args: [{
5773
+ imports: [
5774
+ CommonModule,
5775
+ StaticColumnsModule,
5776
+ NgScrollbarModule,
5777
+ TaonFileGeneralOptModule,
5778
+ FormsModule,
5779
+ NgArrayPipesModule,
5780
+ TaonTableModule,
5781
+ TaonFullMaterialModule, // TODO import only partial things
5782
+ ],
5783
+ declarations: [TaonAdminEditModeComponent],
5784
+ exports: [TaonAdminEditModeComponent],
5785
+ }]
5786
+ }] });
5787
+ ;
5788
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.ts
5789
+
5790
+ ;
5791
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.ts
5792
+
5793
+ class TaonAdminModeConfigurationModule {
5794
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5795
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, declarations: [TaonAdminModeConfigurationComponent], imports: [CommonModule,
5796
+ StaticColumnsModule,
5797
+ FormsModule,
5798
+ NgScrollbarModule,
5799
+ TaonAdminEditModeModule,
5800
+ TaonProgressBarModule,
5801
+ TaonNotificationsModule,
5802
+ TaonFullMaterialModule, // TODO import only partial things
5803
+ TaonSessionPasscodeComponent], exports: [TaonAdminModeConfigurationComponent] }); }
5804
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, imports: [CommonModule,
5805
+ StaticColumnsModule,
5806
+ FormsModule,
5807
+ NgScrollbarModule,
5808
+ TaonAdminEditModeModule,
5809
+ TaonProgressBarModule,
5810
+ TaonNotificationsModule,
5811
+ TaonFullMaterialModule, // TODO import only partial things
5812
+ TaonSessionPasscodeComponent] }); }
5813
+ }
5814
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, decorators: [{
5815
+ type: NgModule,
5816
+ args: [{
5817
+ imports: [
5818
+ CommonModule,
5819
+ StaticColumnsModule,
5820
+ FormsModule,
5821
+ NgScrollbarModule,
5822
+ TaonAdminEditModeModule,
5823
+ TaonProgressBarModule,
5824
+ TaonNotificationsModule,
5825
+ TaonFullMaterialModule, // TODO import only partial things
5826
+ TaonSessionPasscodeComponent,
5827
+ ],
5828
+ declarations: [TaonAdminModeConfigurationComponent],
5829
+ exports: [TaonAdminModeConfigurationComponent],
5830
+ }]
5831
+ }] });
5832
+ ;
5833
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.ts
5834
+
5835
+ ;
5836
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/index.ts
5837
+
5838
+ ;
5839
+ ({}); // @--end-of-file-for-module=taon lib/ui/index.ts
5840
+
4526
5841
  ;
4527
5842
  ({}); // @--end-of-file-for-module=taon lib/constants.ts
4528
5843
 
@@ -4573,5 +5888,5 @@ var Taon;
4573
5888
  * Generated bundle index. Do not edit.
4574
5889
  */
4575
5890
 
4576
- export { BaseContext, BaseController, BaseEntity, BaseProvider, BaseRepository, ClassHelpers, Models, Taon, createContext, inject };
4577
- //# sourceMappingURL=taon.mjs.map
5891
+ export { BaseContext, BaseController, BaseEntity, BaseProvider, BaseRepository, ClassHelpers, Models, SafePipe, Taon, TaonAdminModeConfigurationComponent, TaonAdminModeConfigurationModule, TaonAdminService, TaonFullMaterialModule, TaonGithubForkMeCornerComponent, TaonGithubForkMeCornerModule, TaonInjectHTMLDirective, TaonLongPress, TaonNotificationOptions, TaonNotificationsComponent, TaonNotificationsModule, TaonNotificationsService, TaonProgressBarComponent, TaonProgressBarModule, TaonSessionPasscodeComponent, TaonTableComponent, TaonTableModule, createContext, inject };
5892
+ //# sourceMappingURL=taon.mjs.map