taon 18.0.18 → 18.0.19

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 (270) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base-classes/base-injector.mjs +8 -1
  3. package/browser/esm2022/lib/create-context.mjs +5 -3
  4. package/browser/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  5. package/browser/esm2022/lib/endpoint-context.mjs +35 -9
  6. package/browser/esm2022/lib/index.mjs +2 -1
  7. package/browser/esm2022/lib/ui/directives/index.mjs +6 -0
  8. package/browser/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  9. package/browser/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  10. package/browser/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  11. package/browser/esm2022/lib/ui/index.mjs +12 -0
  12. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  13. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  14. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  15. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  16. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  17. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  18. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  19. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  20. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  21. package/browser/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  22. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  23. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  24. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  25. package/browser/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  26. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  27. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  28. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  29. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  30. package/browser/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  31. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
  32. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  33. package/browser/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  34. package/browser/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  35. package/browser/esm2022/lib/ui/taon-table/index.mjs +5 -0
  36. package/browser/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  37. package/browser/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  38. package/browser/fesm2022/taon.mjs +1445 -75
  39. package/browser/fesm2022/taon.mjs.map +1 -1
  40. package/browser/lib/base-classes/base-context.d.ts +4 -1
  41. package/browser/lib/base-classes/base-injector.d.ts +5 -0
  42. package/browser/lib/base-classes/base.d.ts +4 -1
  43. package/browser/lib/create-context.d.ts +4 -1
  44. package/browser/lib/decorators/http/http-decorators.d.ts +2 -0
  45. package/browser/lib/endpoint-context.d.ts +3 -2
  46. package/browser/lib/index.d.ts +13 -3
  47. package/browser/lib/ui/directives/index.d.ts +4 -0
  48. package/browser/lib/ui/directives/safe.pipe.d.ts +11 -0
  49. package/browser/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  50. package/browser/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  51. package/browser/lib/ui/index.d.ts +10 -0
  52. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  53. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  54. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  55. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  56. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  57. package/browser/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  58. package/browser/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  59. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  60. package/browser/lib/ui/taon-full-material.module.d.ts +47 -0
  61. package/browser/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  62. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  63. package/browser/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  64. package/browser/lib/ui/taon-notifications/index.d.ts +5 -0
  65. package/browser/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  66. package/browser/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  67. package/browser/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  68. package/browser/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  69. package/browser/lib/ui/taon-progress-bar/index.d.ts +3 -0
  70. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  71. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  72. package/browser/lib/ui/taon-session-passcode/index.d.ts +2 -0
  73. package/browser/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  74. package/browser/lib/ui/taon-table/index.d.ts +3 -0
  75. package/browser/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  76. package/browser/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  77. package/client/esm2022/lib/base-classes/base-injector.mjs +8 -1
  78. package/client/esm2022/lib/create-context.mjs +5 -3
  79. package/client/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  80. package/client/esm2022/lib/endpoint-context.mjs +35 -9
  81. package/client/esm2022/lib/index.mjs +2 -1
  82. package/client/esm2022/lib/ui/directives/index.mjs +6 -0
  83. package/client/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  84. package/client/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  85. package/client/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  86. package/client/esm2022/lib/ui/index.mjs +12 -0
  87. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  88. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  89. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  90. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  91. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  92. package/client/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  93. package/client/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  94. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  95. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  96. package/client/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  97. package/client/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  98. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  99. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  100. package/client/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  101. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  102. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  103. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  104. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  105. package/client/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  106. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +98 -0
  107. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  108. package/client/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  109. package/client/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  110. package/client/esm2022/lib/ui/taon-table/index.mjs +5 -0
  111. package/client/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  112. package/client/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  113. package/client/fesm2022/taon.mjs +1445 -75
  114. package/client/fesm2022/taon.mjs.map +1 -1
  115. package/client/lib/base-classes/base-context.d.ts +4 -1
  116. package/client/lib/base-classes/base-injector.d.ts +5 -0
  117. package/client/lib/base-classes/base.d.ts +4 -1
  118. package/client/lib/create-context.d.ts +4 -1
  119. package/client/lib/decorators/http/http-decorators.d.ts +2 -0
  120. package/client/lib/endpoint-context.d.ts +3 -2
  121. package/client/lib/index.d.ts +13 -3
  122. package/client/lib/ui/directives/index.d.ts +4 -0
  123. package/client/lib/ui/directives/safe.pipe.d.ts +11 -0
  124. package/client/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  125. package/client/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  126. package/client/lib/ui/index.d.ts +10 -0
  127. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  128. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  129. package/client/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  130. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  131. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  132. package/client/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  133. package/client/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  134. package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  135. package/client/lib/ui/taon-full-material.module.d.ts +47 -0
  136. package/client/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  137. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  138. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  139. package/client/lib/ui/taon-notifications/index.d.ts +5 -0
  140. package/client/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  141. package/client/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  142. package/client/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  143. package/client/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  144. package/client/lib/ui/taon-progress-bar/index.d.ts +3 -0
  145. package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  146. package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  147. package/client/lib/ui/taon-session-passcode/index.d.ts +2 -0
  148. package/client/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  149. package/client/lib/ui/taon-table/index.d.ts +3 -0
  150. package/client/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  151. package/client/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  152. package/lib/base-classes/base-context.d.ts +4 -1
  153. package/lib/base-classes/base-injector.d.ts +5 -0
  154. package/lib/base-classes/base-injector.js +11 -0
  155. package/lib/base-classes/base-injector.js.map +1 -1
  156. package/lib/base-classes/base.d.ts +4 -1
  157. package/lib/create-context.d.ts +4 -1
  158. package/lib/create-context.js +2 -2
  159. package/lib/create-context.js.map +1 -1
  160. package/lib/decorators/http/http-decorators.d.ts +3 -1
  161. package/lib/decorators/http/http-decorators.js +2 -0
  162. package/lib/decorators/http/http-decorators.js.map +1 -1
  163. package/lib/endpoint-context.d.ts +3 -2
  164. package/lib/endpoint-context.js +136 -97
  165. package/lib/endpoint-context.js.map +1 -1
  166. package/lib/index.d.ts +13 -3
  167. package/lib/ui/directives/index.d.ts +3 -4
  168. package/lib/ui/directives/index.js +2 -2
  169. package/lib/ui/index.d.ts +9 -0
  170. package/lib/ui/index.js +5 -0
  171. package/lib/ui/index.js.map +1 -0
  172. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +2 -2
  173. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +3 -5
  174. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +2 -2
  175. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +2 -3
  176. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +2 -2
  177. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +1 -2
  178. package/lib/ui/taon-admin-mode-configuration/index.d.ts +0 -1
  179. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  180. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  181. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  182. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  183. package/lib/ui/taon-progress-bar/index.js +2 -2
  184. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -0
  185. package/lib/ui/taon-session-passcode/index.js +2 -2
  186. package/lib/ui/taon-table/index.d.ts +2 -0
  187. package/lib/ui/taon-table/index.js +5 -0
  188. package/lib/ui/taon-table/index.js.map +1 -0
  189. package/lib/ui/taon-table/taon-table.component.d.ts +33 -0
  190. package/lib/ui/taon-table/taon-table.module.d.ts +2 -0
  191. package/package.json +7 -7
  192. package/tmp-environment.json +30 -29
  193. package/websql/esm2022/lib/base-classes/base-injector.mjs +8 -1
  194. package/websql/esm2022/lib/create-context.mjs +5 -3
  195. package/websql/esm2022/lib/decorators/http/http-decorators.mjs +3 -1
  196. package/websql/esm2022/lib/endpoint-context.mjs +35 -9
  197. package/websql/esm2022/lib/index.mjs +2 -1
  198. package/websql/esm2022/lib/ui/directives/index.mjs +6 -0
  199. package/websql/esm2022/lib/ui/directives/safe.pipe.mjs +43 -0
  200. package/websql/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +24 -0
  201. package/websql/esm2022/lib/ui/directives/taon-long-press.directive.mjs +120 -0
  202. package/websql/esm2022/lib/ui/index.mjs +12 -0
  203. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.mjs +5 -0
  204. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.mjs +115 -0
  205. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.mjs +50 -0
  206. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.mjs +5 -0
  207. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.mjs +61 -0
  208. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.mjs +21 -0
  209. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +6 -0
  210. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +14 -3
  211. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.mjs +54 -0
  212. package/websql/esm2022/lib/ui/taon-full-material.module.mjs +179 -0
  213. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +5 -0
  214. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +18 -0
  215. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +21 -0
  216. package/websql/esm2022/lib/ui/taon-notifications/index.mjs +7 -0
  217. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +25 -0
  218. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +5 -0
  219. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +21 -0
  220. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +48 -0
  221. package/websql/esm2022/lib/ui/taon-progress-bar/index.mjs +5 -0
  222. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +50 -0
  223. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +22 -0
  224. package/websql/esm2022/lib/ui/taon-session-passcode/index.mjs +4 -0
  225. package/websql/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +120 -0
  226. package/websql/esm2022/lib/ui/taon-table/index.mjs +5 -0
  227. package/websql/esm2022/lib/ui/taon-table/taon-table.component.mjs +161 -0
  228. package/websql/esm2022/lib/ui/taon-table/taon-table.module.mjs +57 -0
  229. package/websql/fesm2022/taon.mjs +1414 -92
  230. package/websql/fesm2022/taon.mjs.map +1 -1
  231. package/websql/lib/base-classes/base-context.d.ts +4 -1
  232. package/websql/lib/base-classes/base-injector.d.ts +5 -0
  233. package/websql/lib/base-classes/base.d.ts +4 -1
  234. package/websql/lib/create-context.d.ts +4 -1
  235. package/websql/lib/decorators/http/http-decorators.d.ts +2 -0
  236. package/websql/lib/endpoint-context.d.ts +3 -2
  237. package/websql/lib/index.d.ts +13 -3
  238. package/websql/lib/ui/directives/index.d.ts +4 -0
  239. package/websql/lib/ui/directives/safe.pipe.d.ts +11 -0
  240. package/websql/lib/ui/directives/taon-inject-html.directive.d.ts +10 -0
  241. package/websql/lib/ui/directives/taon-long-press.directive.d.ts +26 -0
  242. package/websql/lib/ui/index.d.ts +10 -0
  243. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +3 -0
  244. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +33 -0
  245. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +16 -0
  246. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +3 -0
  247. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +17 -0
  248. package/websql/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +10 -0
  249. package/websql/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  250. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +17 -0
  251. package/websql/lib/ui/taon-full-material.module.d.ts +47 -0
  252. package/websql/lib/ui/taon-github-fork-me-corner/index.d.ts +3 -0
  253. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +7 -0
  254. package/websql/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +9 -0
  255. package/websql/lib/ui/taon-notifications/index.d.ts +5 -0
  256. package/websql/lib/ui/taon-notifications/taon-notifications.component.d.ts +13 -0
  257. package/websql/lib/ui/taon-notifications/taon-notifications.models.d.ts +7 -0
  258. package/websql/lib/ui/taon-notifications/taon-notifications.module.d.ts +8 -0
  259. package/websql/lib/ui/taon-notifications/taon-notifications.service.d.ts +15 -0
  260. package/websql/lib/ui/taon-progress-bar/index.d.ts +3 -0
  261. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +19 -0
  262. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +10 -0
  263. package/websql/lib/ui/taon-session-passcode/index.d.ts +2 -0
  264. package/websql/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +39 -0
  265. package/websql/lib/ui/taon-table/index.d.ts +3 -0
  266. package/websql/lib/ui/taon-table/taon-table.component.d.ts +37 -0
  267. package/websql/lib/ui/taon-table/taon-table.module.d.ts +17 -0
  268. /package/lib/ui/directives/{firedev-inject-html.directive.d.ts → taon-inject-html.directive.d.ts} +0 -0
  269. /package/lib/ui/directives/{firedev-long-press.directive.d.ts → taon-long-press.directive.d.ts} +0 -0
  270. /package/lib/ui/{toan-full-material.module.d.ts → taon-full-material.module.d.ts} +0 -0
@@ -1,19 +1,95 @@
1
1
  import 'reflect-metadata';
2
2
  import * as coreHelpers from 'tnp-core/browser';
3
- import { _, Helpers } from 'tnp-core/browser';
3
+ import { _ as _$1, Helpers } from 'tnp-core/browser';
4
4
  import { Models as Models$1, RestHeaders, Resource, Mapping } from 'ng2-rest/browser';
5
5
  import { OrignalClassKey } from 'taon-typeorm/browser';
6
6
  import { SYMBOL, CLASS } from 'typescript-class-helpers/browser';
7
7
  import * as JSON5 from 'json5';
8
8
  import { __decorate, __param, __metadata } from 'tslib';
9
9
  import { JSON10 } from 'json10/browser';
10
- import { Observable, from, Subject } from 'rxjs';
10
+ import { Observable, from, Subject, interval, tap, defer, fromEvent, map, debounceTime, distinctUntilChanged, share, Subscription, takeUntil, of } from 'rxjs';
11
11
  import axios from 'axios';
12
12
  import { io } from 'socket.io-client';
13
13
  import { Stor } from 'taon-storage/browser';
14
14
  import { config } from 'tnp-config/browser';
15
15
  import * as i0 from '@angular/core';
16
- import { Injectable, inject as inject$1 } from '@angular/core';
16
+ import { Injectable, inject as inject$1, EventEmitter, Directive, Input, Output, HostBinding, HostListener, Pipe, NgModule, Component, DestroyRef, Self, ViewChild, ChangeDetectorRef } from '@angular/core';
17
+ import { Log, Level } from 'ng2-logger/browser';
18
+ import * as i1 from '@angular/platform-browser';
19
+ import { A11yModule } from '@angular/cdk/a11y';
20
+ import * as i5 from '@angular/cdk/drag-drop';
21
+ import { DragDropModule } from '@angular/cdk/drag-drop';
22
+ import { ScrollingModule } from '@angular/cdk/scrolling';
23
+ import { CdkStepperModule } from '@angular/cdk/stepper';
24
+ import { CdkTableModule } from '@angular/cdk/table';
25
+ import { CdkTreeModule } from '@angular/cdk/tree';
26
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
27
+ import { MatBadgeModule } from '@angular/material/badge';
28
+ import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
29
+ import * as i6$1 from '@angular/material/button';
30
+ import { MatButtonModule } from '@angular/material/button';
31
+ import * as i7 from '@angular/material/card';
32
+ import { MatCardModule } from '@angular/material/card';
33
+ import * as i8 from '@angular/material/checkbox';
34
+ import { MatCheckboxModule } from '@angular/material/checkbox';
35
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
36
+ import { MatStepperModule } from '@angular/material/stepper';
37
+ import { MatDialogModule } from '@angular/material/dialog';
38
+ import { MatExpansionModule } from '@angular/material/expansion';
39
+ import { MatGridListModule } from '@angular/material/grid-list';
40
+ import * as i6 from '@angular/material/icon';
41
+ import { MatIconModule } from '@angular/material/icon';
42
+ import * as i11$1 from '@angular/material/list';
43
+ import { MatListModule } from '@angular/material/list';
44
+ import { MatDatepickerModule } from '@angular/material/datepicker';
45
+ import { MatPaginatorModule } from '@angular/material/paginator';
46
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
47
+ import { MatChipsModule } from '@angular/material/chips';
48
+ import { MatDividerModule } from '@angular/material/divider';
49
+ import * as i4 from '@angular/material/input';
50
+ import { MatInputModule } from '@angular/material/input';
51
+ import { MatMenuModule } from '@angular/material/menu';
52
+ import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
53
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
54
+ import { MatRadioModule } from '@angular/material/radio';
55
+ import { MatSelectModule } from '@angular/material/select';
56
+ import * as i10 from '@angular/material/sidenav';
57
+ import { MatSidenavModule } from '@angular/material/sidenav';
58
+ import { MatSliderModule } from '@angular/material/slider';
59
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
60
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
61
+ import { MatSortModule } from '@angular/material/sort';
62
+ import { MatTableModule } from '@angular/material/table';
63
+ import * as i11 from '@angular/material/tabs';
64
+ import { MatTabsModule } from '@angular/material/tabs';
65
+ import { MatToolbarModule } from '@angular/material/toolbar';
66
+ import { MatTooltipModule } from '@angular/material/tooltip';
67
+ import { MatTreeModule } from '@angular/material/tree';
68
+ import * as i2$1 from '@angular/common';
69
+ import { CommonModule } from '@angular/common';
70
+ import * as i1$1 from '@ngneat/hot-toast';
71
+ import * as i2 from '@angular/forms';
72
+ import { FormGroup, FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
73
+ import { PasswordModule } from 'primeng/password';
74
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
75
+ import * as i1$2 from 'ngx-progressbar';
76
+ import { NgProgressModule } from 'ngx-progressbar';
77
+ import * as _ from 'lodash';
78
+ import * as i2$2 from '@angular/material/form-field';
79
+ import { MatFormFieldModule } from '@angular/material/form-field';
80
+ import * as i3 from '@ng-matero/extensions/grid';
81
+ import { MtxGridModule } from '@ng-matero/extensions/grid';
82
+ import * as i1$3 from 'static-columns/browser';
83
+ import { StaticColumnsModule } from 'static-columns/browser';
84
+ import * as i4$1 from 'ngx-scrollbar';
85
+ import { NgScrollbarModule } from 'ngx-scrollbar';
86
+ import * as i1$4 from '@angular/router';
87
+ import 'brace';
88
+ import 'brace/mode/css';
89
+ import 'brace/mode/typescript';
90
+ import 'brace/theme/github';
91
+ import * as i13 from 'ngx-pipes';
92
+ import { NgArrayPipesModule } from 'ngx-pipes';
17
93
 
18
94
  var Symbols;
19
95
  (function (Symbols) {
@@ -50,7 +126,7 @@ var Symbols;
50
126
  return `${contextName}:${this.KEYroomUnsubscribe}CustomRoomEvent`;
51
127
  }
52
128
  ROOM_NAME_UPDATE_ENTITY(contextName, className, entityId) {
53
- return `${contextName}:room${_.camelCase(className)}${entityId}`.toLowerCase();
129
+ return `${contextName}:room${_$1.camelCase(className)}${entityId}`.toLowerCase();
54
130
  }
55
131
  ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(contextName) {
56
132
  return `${contextName}:${this.KEYroomSubscribe}EntityEvents`;
@@ -59,7 +135,7 @@ var Symbols;
59
135
  return `${contextName}:${this.KEYroomUnsubscribe}EntityEvents`;
60
136
  }
61
137
  ROOM_NAME_UPDATE_ENTITY_PROPERTY(contextName, className, property, entityId) {
62
- return `${contextName}:room${_.camelCase(className)}${_.camelCase(property)}${entityId}`.toLowerCase();
138
+ return `${contextName}:room${_$1.camelCase(className)}${_$1.camelCase(property)}${entityId}`.toLowerCase();
63
139
  }
64
140
  ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(contextName) {
65
141
  return `${contextName}:${this.KEYroomSubscribe}EntityPropertyEvents`;
@@ -112,7 +188,7 @@ var Validators;
112
188
  (function (Validators) {
113
189
  Validators.classNameVlidation = (className, target) => {
114
190
  setTimeout(() => {
115
- if (_.isUndefined(className)) {
191
+ if (_$1.isUndefined(className)) {
116
192
  throw `[Taon]
117
193
  Please provide "className" property for each Controller and Entity:
118
194
 
@@ -132,7 +208,7 @@ var Validators;
132
208
  `;
133
209
  }
134
210
  });
135
- return _.isUndefined(className) ? target.name : className;
211
+ return _$1.isUndefined(className) ? target.name : className;
136
212
  };
137
213
  Validators.checkIfMethodsWithReponseTYpeAlowed = (methods, current) => {
138
214
  const defaultResponseType = 'text or JSON';
@@ -155,8 +231,8 @@ var Validators;
155
231
  }
156
232
  };
157
233
  Validators.validateClassFunctions = (controllers, entities, proviers, repositories) => {
158
- if (_.isArray(controllers) &&
159
- controllers.filter(f => !_.isFunction(f)).length > 0) {
234
+ if (_$1.isArray(controllers) &&
235
+ controllers.filter(f => !_$1.isFunction(f)).length > 0) {
160
236
  console.error('controllers', controllers);
161
237
  throw `
162
238
 
@@ -164,8 +240,8 @@ var Validators;
164
240
 
165
241
  `;
166
242
  }
167
- if (_.isArray(entities) &&
168
- entities.filter(f => !_.isFunction(f)).length > 0) {
243
+ if (_$1.isArray(entities) &&
244
+ entities.filter(f => !_$1.isFunction(f)).length > 0) {
169
245
  console.error('entites', entities);
170
246
  throw `
171
247
 
@@ -175,7 +251,7 @@ var Validators;
175
251
  }
176
252
  };
177
253
  Validators.preventUndefinedModel = (model, id) => {
178
- if (_.isUndefined(model)) {
254
+ if (_$1.isUndefined(model)) {
179
255
  throw `Bad update by id, config, id: ${id}`;
180
256
  }
181
257
  };
@@ -186,7 +262,7 @@ var Validators;
186
262
  var TaonHelpers;
187
263
  (function (TaonHelpers) {
188
264
  TaonHelpers.fillUpTo = (s, nCharacters) => {
189
- return _.times(nCharacters, n => {
265
+ return _$1.times(nCharacters, n => {
190
266
  if (s.charAt(n)) {
191
267
  return s.charAt(n);
192
268
  }
@@ -234,7 +310,7 @@ var TaonHelpers;
234
310
  return {};
235
311
  };
236
312
  TaonHelpers.parseJSONwithStringJSONs = (object, waring = false) => {
237
- if (!_.isObject(object)) {
313
+ if (!_$1.isObject(object)) {
238
314
  if (waring) {
239
315
  console.error(`
240
316
  parseJSONwithStringJSONs(...)
@@ -243,7 +319,7 @@ var TaonHelpers;
243
319
  }
244
320
  return object;
245
321
  }
246
- let res = _.cloneDeep(object);
322
+ let res = _$1.cloneDeep(object);
247
323
  Object.keys(res).forEach(key => {
248
324
  let isJson = false;
249
325
  try {
@@ -308,7 +384,7 @@ var ClassHelpers;
308
384
  * TODO - repalce in every place when getting class fn from object
309
385
  */
310
386
  ClassHelpers.getClassFnFromObject = (json) => {
311
- if (_.isUndefined(json) || _.isNull(json)) {
387
+ if (_$1.isUndefined(json) || _$1.isNull(json)) {
312
388
  return;
313
389
  }
314
390
  if (json.constructor) {
@@ -349,25 +425,25 @@ var ClassHelpers;
349
425
  void 0);
350
426
  };
351
427
  ClassHelpers.getUniqueKey = (classFnOrObject) => {
352
- const classFn = _.isFunction(classFnOrObject)
428
+ const classFn = _$1.isFunction(classFnOrObject)
353
429
  ? classFnOrObject
354
430
  : classFnOrObject.constructor;
355
431
  const config = Reflect.getMetadata(Symbols.metadata.options.controller, classFn);
356
432
  return config.uniqueKeyProp;
357
433
  };
358
434
  ClassHelpers.isContextClassObject = (obj) => {
359
- if (!_.isObject(obj) ||
360
- _.isArray(obj) ||
361
- _.isRegExp(obj) ||
362
- _.isBuffer(obj) ||
363
- _.isArrayBuffer(obj)) {
435
+ if (!_$1.isObject(obj) ||
436
+ _$1.isArray(obj) ||
437
+ _$1.isRegExp(obj) ||
438
+ _$1.isBuffer(obj) ||
439
+ _$1.isArrayBuffer(obj)) {
364
440
  return false;
365
441
  }
366
- if (_.isDate(obj)) {
442
+ if (_$1.isDate(obj)) {
367
443
  return true;
368
444
  }
369
445
  const className = ClassHelpers.getName(obj);
370
- return _.isString(className) && className !== 'Object';
446
+ return _$1.isString(className) && className !== 'Object';
371
447
  };
372
448
  ClassHelpers.setName = (target, className) => {
373
449
  Validators.classNameVlidation(className, target);
@@ -379,7 +455,7 @@ var ClassHelpers;
379
455
  }
380
456
  targets.push(target);
381
457
  let targetProto = Object.getPrototypeOf(target);
382
- if (_.isFunction(targetProto) &&
458
+ if (_$1.isFunction(targetProto) &&
383
459
  ClassHelpers.getName(targetProto) === className) {
384
460
  return true;
385
461
  }
@@ -387,7 +463,7 @@ var ClassHelpers;
387
463
  };
388
464
  ClassHelpers.getControllerConfig = (target) => {
389
465
  const classMetadataOptions = Reflect.getMetadata(Symbols.metadata.options.controller, target);
390
- const classMetadata = _.merge(new Models.ControllerConfig(), classMetadataOptions);
466
+ const classMetadata = _$1.merge(new Models.ControllerConfig(), classMetadataOptions);
391
467
  const methodNames = ClassHelpers.getMethodsNames(target); // Object.getOwnPropertyNames(target.prototype);
392
468
  for (const methodName of methodNames) {
393
469
  const methodMetadata = Reflect.getMetadata(Symbols.metadata.options.controllerMethod, target, methodName);
@@ -422,7 +498,7 @@ var ClassHelpers;
422
498
  if (!classOrClassInstance) {
423
499
  return allMethodsNames;
424
500
  }
425
- const isClassFunction = _.isFunction(classOrClassInstance);
501
+ const isClassFunction = _$1.isFunction(classOrClassInstance);
426
502
  const classFun = isClassFunction
427
503
  ? classOrClassInstance
428
504
  : Object.getPrototypeOf(classOrClassInstance);
@@ -430,7 +506,7 @@ var ClassHelpers;
430
506
  ? classOrClassInstance?.prototype
431
507
  : classOrClassInstance;
432
508
  const prototypeObj = Object.getPrototypeOf(objectToCheck || {});
433
- const properties = _.uniq([
509
+ const properties = _$1.uniq([
434
510
  ...Object.getOwnPropertyNames(objectToCheck || {}),
435
511
  ...Object.getOwnPropertyNames(prototypeObj || {}),
436
512
  ...Object.keys(objectToCheck || {}),
@@ -447,13 +523,13 @@ var ClassHelpers;
447
523
  return ClassHelpers.getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);
448
524
  };
449
525
  ClassHelpers.getControllerConfigs = (target, configs = [], callerTarget) => {
450
- if (!_.isFunction(target)) {
526
+ if (!_$1.isFunction(target)) {
451
527
  throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
452
528
  }
453
529
  let config;
454
530
  const parentClass = Object.getPrototypeOf(target);
455
531
  const parentName = parentClass ? ClassHelpers.getName(parentClass) : void 0;
456
- const isValidParent = _.isFunction(parentClass) && parentName !== '';
532
+ const isValidParent = _$1.isFunction(parentClass) && parentName !== '';
457
533
  config = ClassHelpers.getControllerConfig(target);
458
534
  configs.push(config);
459
535
  return isValidParent
@@ -462,7 +538,7 @@ var ClassHelpers;
462
538
  };
463
539
  ClassHelpers.getCalculatedPathFor = (target) => {
464
540
  const configs = ClassHelpers.getControllerConfigs(target);
465
- const parentscalculatedPath = _.slice(configs, 1)
541
+ const parentscalculatedPath = _$1.slice(configs, 1)
466
542
  .reverse()
467
543
  .map(bc => {
468
544
  if (TaonHelpers.isGoodPath(bc.path)) {
@@ -577,7 +653,7 @@ const metaReq = (method, path, target, propertyKey, descriptor, pathOrOptions, p
577
653
  if (methodConfig.parameters.hasOwnProperty(key)) {
578
654
  const element = methodConfig.parameters[key];
579
655
  if (element.paramType === 'Path' &&
580
- _.isString(element.paramName) &&
656
+ _$1.isString(element.paramName) &&
581
657
  element.paramName.trim().length > 0) {
582
658
  paramsPathConcatedPath += `/${element.paramName}/:${element.paramName}`;
583
659
  }
@@ -680,6 +756,7 @@ var Http;
680
756
  Http.DELETE = DELETE;
681
757
  Http.PATCH = PATCH;
682
758
  Http.HEAD = HEAD;
759
+ Http.Response = Models$1.HttpResponse;
683
760
  let Param;
684
761
  (function (Param) {
685
762
  Param.Query = Query;
@@ -722,11 +799,18 @@ class BaseInjector {
722
799
  }
723
800
  }
724
801
  /**
802
+ * @deprecated use ctx instead
725
803
  * Current endpoint context
726
804
  */
727
805
  get __endpoint_context__() {
728
806
  return this[Symbols.ctxInClassOrClassObj];
729
807
  }
808
+ /**
809
+ * get current endpoint context
810
+ */
811
+ get ctx() {
812
+ return this.__endpoint_context__;
813
+ }
730
814
  /**
731
815
  * inject crud repo for entity
732
816
  */
@@ -854,7 +938,7 @@ class BaseInjector {
854
938
  }
855
939
  clone(override) {
856
940
  const classFn = ClassHelpers.getClassFnFromObject(this);
857
- const result = _.merge(new classFn(), _.merge(_.cloneDeep(this), override));
941
+ const result = _$1.merge(new classFn(), _$1.merge(_$1.cloneDeep(this), override));
858
942
  return result;
859
943
  }
860
944
  }
@@ -880,7 +964,7 @@ BaseController = __decorate([
880
964
  */
881
965
  let BaseCrudController = class BaseCrudController extends BaseController {
882
966
  async _() {
883
- if (!_.isFunction(this.entityClassResolveFn)) {
967
+ if (!_$1.isFunction(this.entityClassResolveFn)) {
884
968
  Helpers.warn(`Skipping initing CRUD controller ${ClassHelpers.getName(this)} because entityClassResolveFn is not provided.`);
885
969
  return;
886
970
  }
@@ -1144,7 +1228,7 @@ class BaseClass {
1144
1228
  async _() { }
1145
1229
  clone(override) {
1146
1230
  const classFn = ClassHelpers.getClassFnFromObject(this);
1147
- const result = _.merge(new classFn(), _.merge(_.cloneDeep(this), override));
1231
+ const result = _$1.merge(new classFn(), _$1.merge(_$1.cloneDeep(this), override));
1148
1232
  return result;
1149
1233
  }
1150
1234
  }
@@ -1781,7 +1865,7 @@ const getResponseValue = (response, options) => {
1781
1865
  ;
1782
1866
  ({}); // @--end-of-file-for-module=taon lib/get-response-value.ts
1783
1867
 
1784
- const ENV$1 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1868
+ const ENV$2 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
1785
1869
  ;
1786
1870
  ({}); // @--end-of-file-for-module=taon lib/env.ts
1787
1871
 
@@ -1809,7 +1893,7 @@ class RealtimeSubsManager {
1809
1893
  realtime.emit(subscribeEvent, this.options.roomName);
1810
1894
  }
1811
1895
  else {
1812
- if (_.isString(this.options.property)) {
1896
+ if (_$1.isString(this.options.property)) {
1813
1897
  const subscribeEvent = Symbols.REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName);
1814
1898
  realtime.emit(subscribeEvent, this.options.roomName);
1815
1899
  }
@@ -1836,7 +1920,7 @@ class RealtimeSubsManager {
1836
1920
  realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.options.core.ctx.contextName), roomName);
1837
1921
  }
1838
1922
  else {
1839
- if (_.isString(property)) {
1923
+ if (_$1.isString(property)) {
1840
1924
  realtime.emit(Symbols.REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.options.core.ctx.contextName), roomName);
1841
1925
  }
1842
1926
  else {
@@ -1914,7 +1998,7 @@ class RealtimeClient {
1914
1998
  options = options || {};
1915
1999
  const { property, customEvent } = options;
1916
2000
  const className = !customEvent && ClassHelpers.getName(entityClassFn);
1917
- if (_.isString(property)) {
2001
+ if (_$1.isString(property)) {
1918
2002
  if (property.trim() === '') {
1919
2003
  throw new Error(`[Taon][listenChangesEntity.. incorect property '' for ${className}`);
1920
2004
  }
@@ -1937,7 +2021,7 @@ to use socket realtime connection;
1937
2021
  roomName = Symbols.REALTIME.ROOM_NAME_CUSTOM(this.core.ctx.contextName, customEvent);
1938
2022
  }
1939
2023
  else {
1940
- roomName = _.isString(property)
2024
+ roomName = _$1.isString(property)
1941
2025
  ? Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(this.core.ctx.contextName, className, property, idOrUniqValue)
1942
2026
  : Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY(this.core.ctx.contextName, className, idOrUniqValue);
1943
2027
  }
@@ -2248,7 +2332,7 @@ class RealtimeServer {
2248
2332
  console.warn(`[Taon][TriggerEntityPropertyChanges][property=${property}] Entity "${className}' is not realtime`);
2249
2333
  return;
2250
2334
  }
2251
- if (_.isArray(property)) {
2335
+ if (_$1.isArray(property)) {
2252
2336
  property.forEach(propertyFromArr => {
2253
2337
  this.triggerChanges(entityObjOrClass, propertyFromArr, idToTrigger);
2254
2338
  });
@@ -2833,11 +2917,6 @@ class EndpointContext {
2833
2917
  static initNgZone(ngZone) {
2834
2918
  this.ngZone = ngZone;
2835
2919
  }
2836
- static findForTraget(classFnOrObject) {
2837
- const obj = ClassHelpers.getClassFnFromObject(classFnOrObject) || {};
2838
- return (classFnOrObject[Symbols.ctxInClassOrClassObj] ||
2839
- obj[Symbols.ctxInClassOrClassObj]);
2840
- }
2841
2920
  get realtimeClient() {
2842
2921
  return this.realtime.client;
2843
2922
  }
@@ -2845,25 +2924,25 @@ class EndpointContext {
2845
2924
  return this.realtime.server;
2846
2925
  }
2847
2926
  get logHttp() {
2848
- if (_.isObject(this.config?.logs)) {
2927
+ if (_$1.isObject(this.config?.logs)) {
2849
2928
  return !!this.config.logs.http;
2850
2929
  }
2851
2930
  return this.config?.logs === true;
2852
2931
  }
2853
2932
  get logRealtime() {
2854
- if (_.isObject(this.config?.logs)) {
2933
+ if (_$1.isObject(this.config?.logs)) {
2855
2934
  return !!this.config.logs.realtime;
2856
2935
  }
2857
2936
  return this.config?.logs === true;
2858
2937
  }
2859
2938
  get logFramework() {
2860
- if (_.isObject(this.config?.logs)) {
2939
+ if (_$1.isObject(this.config?.logs)) {
2861
2940
  return !!this.config.logs.framework;
2862
2941
  }
2863
2942
  return this.config?.logs === true;
2864
2943
  }
2865
2944
  get logDb() {
2866
- if (_.isObject(this.config?.logs)) {
2945
+ if (_$1.isObject(this.config?.logs)) {
2867
2946
  return !!this.config.logs.db;
2868
2947
  }
2869
2948
  return this.config?.logs === true;
@@ -2964,9 +3043,19 @@ class EndpointContext {
2964
3043
  };
2965
3044
  }
2966
3045
  async init(options) {
2967
- const { initFromRecrusiveContextResovle } = options || {}; // TODO use it ?
3046
+ const { initFromRecrusiveContextResovle, overrideHost, overrideRemoteHost } = options || {}; // TODO use it ?
2968
3047
  this.inited = true;
2969
- this.config = this.configFn(ENV$1);
3048
+ this.config = this.configFn(ENV$2);
3049
+ if (overrideHost && overrideRemoteHost) {
3050
+ if (Helpers.isWebSQL) {
3051
+ throw new Error(`You can't have overrideHost and overrideRemoteHost at the same time`);
3052
+ }
3053
+ Helpers.error(`You can't have overrideHost and overrideRemoteHost at the same time`, false, true);
3054
+ /* */
3055
+ /* */
3056
+ }
3057
+ this.config.host = overrideHost ? overrideHost : this.config.host;
3058
+ this.config.remoteHost = overrideRemoteHost ? overrideRemoteHost : this.config.remoteHost;
2970
3059
  if (this.config.host) {
2971
3060
  this.mode = 'backend-frontend(tcp+udp)';
2972
3061
  /* */
@@ -2994,11 +3083,11 @@ class EndpointContext {
2994
3083
  if (this.config.database === true) {
2995
3084
  this.databaseConfig = this.getAutoGeneratedConfig();
2996
3085
  }
2997
- else if (_.isObject(this.config.database)) {
2998
- this.databaseConfig = _.cloneDeep(this.config.database);
3086
+ else if (_$1.isObject(this.config.database)) {
3087
+ this.databaseConfig = _$1.cloneDeep(this.config.database);
2999
3088
  }
3000
3089
  if (this.config.session) {
3001
- this.session = _.cloneDeep(this.config.session);
3090
+ this.session = _$1.cloneDeep(this.config.session);
3002
3091
  const oneHour = 1000 * 60 * 60 * 1; // 24;
3003
3092
  if (!this.session.cookieMaxAge) {
3004
3093
  this.session.cookieMaxAge = oneHour;
@@ -3213,6 +3302,9 @@ class EndpointContext {
3213
3302
  /* */
3214
3303
  /* */
3215
3304
  /* */
3305
+ /* */
3306
+ /* */
3307
+ /* */
3216
3308
  return (void 0);
3217
3309
  }
3218
3310
  displayRoutes(app) {
@@ -3326,8 +3418,8 @@ class EndpointContext {
3326
3418
  return this.inject(ctor, { localInstance: false });
3327
3419
  }
3328
3420
  checkIfContextInitialized() {
3329
- if (_.isUndefined(this.config)) {
3330
- throw new Error(`Please check if your context has been initilized.
3421
+ if (_$1.isUndefined(this.config)) {
3422
+ throw new Error(`Please check if your context has been initialized.
3331
3423
 
3332
3424
 
3333
3425
  await Context.initialize();
@@ -3388,9 +3480,12 @@ class EndpointContext {
3388
3480
  }
3389
3481
  }
3390
3482
  async reinitControllers() {
3483
+ if (this.remoteHost) {
3484
+ return;
3485
+ }
3391
3486
  const controllers = this.getClassesInstancesArrBy(Models.ClassType.CONTROLLER);
3392
3487
  for (const ctrl of controllers) {
3393
- if (_.isFunction(ctrl.initExampleDbData)) {
3488
+ if (_$1.isFunction(ctrl.initExampleDbData)) {
3394
3489
  await Helpers.runSyncOrAsync({
3395
3490
  functionFn: ctrl.initExampleDbData,
3396
3491
  context: ctrl,
@@ -3399,6 +3494,9 @@ class EndpointContext {
3399
3494
  }
3400
3495
  }
3401
3496
  async initClasses() {
3497
+ if (this.remoteHost) {
3498
+ return;
3499
+ }
3402
3500
  for (const classTypeName of [
3403
3501
  Models.ClassType.PROVIDER,
3404
3502
  Models.ClassType.REPOSITORY,
@@ -3406,7 +3504,7 @@ class EndpointContext {
3406
3504
  Models.ClassType.ENTITY,
3407
3505
  ]) {
3408
3506
  for (const classFun of this.getClassFunByArr(classTypeName)) {
3409
- if (_.isFunction(classFun._)) {
3507
+ if (_$1.isFunction(classFun._)) {
3410
3508
  await Helpers.runSyncOrAsync({
3411
3509
  functionFn: classFun._,
3412
3510
  context: classFun,
@@ -3420,7 +3518,7 @@ class EndpointContext {
3420
3518
  Models.ClassType.CONTROLLER,
3421
3519
  ]) {
3422
3520
  for (const ctrl of this.getClassesInstancesArrBy(classTypeName)) {
3423
- if (_.isFunction(ctrl._)) {
3521
+ if (_$1.isFunction(ctrl._)) {
3424
3522
  await Helpers.runSyncOrAsync({
3425
3523
  functionFn: ctrl._,
3426
3524
  context: ctrl,
@@ -3479,6 +3577,9 @@ class EndpointContext {
3479
3577
  /* */
3480
3578
  /* */
3481
3579
  /* */
3580
+ /* */
3581
+ /* */
3582
+ /* */
3482
3583
  return (void 0);
3483
3584
  }
3484
3585
  async initEntities() {
@@ -3508,6 +3609,9 @@ class EndpointContext {
3508
3609
  /* */
3509
3610
  /* */
3510
3611
  /* */
3612
+ /* */
3613
+ /* */
3614
+ /* */
3511
3615
  }
3512
3616
  async initDatabaseConnection() {
3513
3617
  /* */
@@ -3594,6 +3698,9 @@ class EndpointContext {
3594
3698
  /* */
3595
3699
  /* */
3596
3700
  /* */
3701
+ /* */
3702
+ /* */
3703
+ /* */
3597
3704
  return (void 0);
3598
3705
  }
3599
3706
  initMetadata() {
@@ -3603,7 +3710,7 @@ class EndpointContext {
3603
3710
  ClassHelpers.getMethodsNames(controllerClassFn);
3604
3711
  const configs = ClassHelpers.getControllerConfigs(controllerClassFn);
3605
3712
  const classConfig = configs[0];
3606
- const parentscalculatedPath = _.slice(configs, 1)
3713
+ const parentscalculatedPath = _$1.slice(configs, 1)
3607
3714
  .reverse()
3608
3715
  .map(bc => {
3609
3716
  if (TaonHelpers.isGoodPath(bc.path)) {
@@ -3621,13 +3728,13 @@ class EndpointContext {
3621
3728
  .replace(/\/\//g, '/')
3622
3729
  .split('/')
3623
3730
  .reduce((acc, bc) => {
3624
- return _.last(acc) === bc ? acc : [...acc, bc];
3731
+ return _$1.last(acc) === bc ? acc : [...acc, bc];
3625
3732
  }, [])
3626
3733
  .join('/');
3627
3734
  }
3628
- _.slice(configs, 1).forEach(bc => {
3735
+ _$1.slice(configs, 1).forEach(bc => {
3629
3736
  const alreadyIs = classConfig.methods;
3630
- const toMerge = _.cloneDeep(bc.methods);
3737
+ const toMerge = _$1.cloneDeep(bc.methods);
3631
3738
  for (const key in toMerge) {
3632
3739
  if (toMerge.hasOwnProperty(key) && !alreadyIs[key]) {
3633
3740
  const element = toMerge[key];
@@ -3676,6 +3783,9 @@ class EndpointContext {
3676
3783
  }
3677
3784
  }
3678
3785
  writeActiveRoutes() {
3786
+ if (this.remoteHost) {
3787
+ return;
3788
+ }
3679
3789
  const contexts = [this];
3680
3790
  /* */
3681
3791
  /* */
@@ -3714,7 +3824,7 @@ class EndpointContext {
3714
3824
  /* */
3715
3825
  return (void 0);
3716
3826
  }
3717
- initMidleware() {
3827
+ initMiddlewares() {
3718
3828
  /* */
3719
3829
  /* */
3720
3830
  /* */
@@ -4127,7 +4237,7 @@ class EndpointContext {
4127
4237
  method: methodConfig.type,
4128
4238
  url: `${ctx.uri.origin}${'' // TODO express path
4129
4239
  }${methodConfig.path} `,
4130
- }, Helpers.isBlob(body) || _.isString(body)
4240
+ }, Helpers.isBlob(body) || _$1.isString(body)
4131
4241
  ? body
4132
4242
  : JSON.stringify(body), RestHeaders.from(headers), void 0, () => body);
4133
4243
  resolve(res);
@@ -4353,7 +4463,7 @@ class EndpointContext {
4353
4463
  if (mapping) {
4354
4464
  rest.headers.set(Symbols.old.MAPPING_CONFIG_HEADER_QUERY_PARAMS, JSON.stringify(mapping));
4355
4465
  }
4356
- queryParams = _.cloneDeep(param);
4466
+ queryParams = _$1.cloneDeep(param);
4357
4467
  }
4358
4468
  }
4359
4469
  if (currentParam.paramType === 'Header') {
@@ -4435,14 +4545,14 @@ const globalPublicStorage = Helpers.isBrowser ? window : global;
4435
4545
  ;
4436
4546
  ({}); // @--end-of-file-for-module=taon lib/storage.ts
4437
4547
 
4438
- const ENV = Helpers.isBrowser ? window['ENV'] : global['ENV'];
4548
+ const ENV$1 = Helpers.isBrowser ? window['ENV'] : global['ENV'];
4439
4549
  class TaonAdmin {
4440
4550
  constructor() {
4441
4551
  this.scrollableEnabled = false; // TOOD false by default
4442
4552
  this.onEditMode = new Subject();
4443
4553
  this.onEditMode$ = this.onEditMode.asObservable();
4444
4554
  this.enabledTabs = [];
4445
- this.scrollableEnabled = !!ENV?.useGlobalNgxScrollbar;
4555
+ this.scrollableEnabled = !!ENV$1?.useGlobalNgxScrollbar;
4446
4556
  }
4447
4557
  static get Instance() {
4448
4558
  if (!globalPublicStorage[config.frameworkNames.productionFrameworkName]) {
@@ -4492,7 +4602,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImpor
4492
4602
  ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin.service.ts
4493
4603
 
4494
4604
  const createContext = (configFn) => {
4495
- let config = configFn(ENV$1);
4605
+ let config = configFn(ENV$2);
4496
4606
  const endpointContextRef = new EndpointContext(config, configFn);
4497
4607
  const res = {
4498
4608
  types: {
@@ -4545,10 +4655,12 @@ const createContext = (configFn) => {
4545
4655
  * - create controller instances for context
4546
4656
  * - init database (if enable) + migation scripts
4547
4657
  */
4548
- initialize: async () => {
4658
+ initialize: async (overrideOptions) => {
4549
4659
  return await new Promise(async (resolve, reject) => {
4550
4660
  setTimeout(async () => {
4551
- await endpointContextRef.init();
4661
+ await endpointContextRef.init({
4662
+ ...overrideOptions,
4663
+ });
4552
4664
  if (config.abstract) {
4553
4665
  throw new Error(`Abstract context can not be initialized`);
4554
4666
  }
@@ -4786,7 +4898,7 @@ function TaonEntity(options) {
4786
4898
  options = options || {};
4787
4899
  options.uniqueKeyProp = options.uniqueKeyProp || 'id';
4788
4900
  ClassHelpers.setName(constructor, options?.className);
4789
- Mapping.DefaultModelWithMapping(options?.defaultModelValues || {}, _.merge(options?.defaultModelMapping || {}, (options?.defaultModelMappingDeep || {})))(constructor);
4901
+ Mapping.DefaultModelWithMapping(options?.defaultModelValues || {}, _$1.merge(options?.defaultModelMapping || {}, (options?.defaultModelMappingDeep || {})))(constructor);
4790
4902
  Mapping.DefaultModelWithMapping(void 0, {})(constructor);
4791
4903
  Reflect.defineMetadata(Symbols.metadata.options.entity, options, constructor);
4792
4904
  Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
@@ -4846,6 +4958,1264 @@ const inject = (entity) => {
4846
4958
  ;
4847
4959
  ({}); // @--end-of-file-for-module=taon lib/inject.ts
4848
4960
 
4961
+ const log$1 = Log.create(`[taon-helpers] long-press`, Level.__NOTHING);
4962
+ class TaonLongPress {
4963
+ constructor() {
4964
+ this.pressDuration = 1000;
4965
+ this.onLongPress = new EventEmitter();
4966
+ this.onLongPressing = new EventEmitter();
4967
+ this.onLongPressEnd = new EventEmitter();
4968
+ this.mouseX = 0;
4969
+ this.mouseY = 0;
4970
+ this.allowTrigger = false;
4971
+ this.triggerEnd = _$1.debounce(() => {
4972
+ this.endPress();
4973
+ }, 500);
4974
+ }
4975
+ get press() {
4976
+ return this.pressing;
4977
+ }
4978
+ get longPress() {
4979
+ return this.longPressing;
4980
+ }
4981
+ onMouseDown(event) {
4982
+ log$1.d(`MOUSE DOWN `);
4983
+ if (event.which !== 1)
4984
+ return;
4985
+ this.allowTrigger = true;
4986
+ this.mouseX = event.clientX;
4987
+ this.mouseY = event.clientY;
4988
+ this.pressing = true;
4989
+ this.longPressing = false;
4990
+ this.timeout = setTimeout(() => {
4991
+ if (this.allowTrigger) {
4992
+ this.longPressing = true;
4993
+ log$1.d(`long pressing start pressDuration:${this.pressDuration} `);
4994
+ this.onLongPress.emit(event);
4995
+ this.loop(event);
4996
+ }
4997
+ }, this.pressDuration);
4998
+ this.loop(event);
4999
+ }
5000
+ onMouseMove(event) {
5001
+ if (this.pressing && !this.longPressing) {
5002
+ const xThres = event.clientX - this.mouseX > 10;
5003
+ const yThres = event.clientY - this.mouseY > 10;
5004
+ if (xThres || yThres) {
5005
+ this.endPress();
5006
+ }
5007
+ }
5008
+ }
5009
+ loop(event) {
5010
+ if (this.longPressing) {
5011
+ this.timeout = setTimeout(() => {
5012
+ log$1.d(`emil longpressing`);
5013
+ this.triggerEnd();
5014
+ this.onLongPressing.emit(event);
5015
+ this.loop(event);
5016
+ }, 50);
5017
+ }
5018
+ }
5019
+ endPress(emit = true) {
5020
+ this.allowTrigger = false;
5021
+ clearTimeout(this.timeout);
5022
+ this.longPressing = false;
5023
+ this.pressing = false;
5024
+ if (emit) {
5025
+ log$1.d(`EMIT END`);
5026
+ this.onLongPressEnd.emit(true);
5027
+ }
5028
+ else {
5029
+ log$1.d(`NOT EMIT END`);
5030
+ }
5031
+ }
5032
+ onMouseUp() {
5033
+ this.endPress(false);
5034
+ }
5035
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5036
+ 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 }); }
5037
+ }
5038
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, decorators: [{
5039
+ type: Directive,
5040
+ args: [{
5041
+ selector: '[taonLongPress]',
5042
+ standalone: true,
5043
+ }]
5044
+ }], propDecorators: { pressDuration: [{
5045
+ type: Input
5046
+ }], onLongPress: [{
5047
+ type: Output
5048
+ }], onLongPressing: [{
5049
+ type: Output
5050
+ }], onLongPressEnd: [{
5051
+ type: Output
5052
+ }], press: [{
5053
+ type: HostBinding,
5054
+ args: ['class.press']
5055
+ }], longPress: [{
5056
+ type: HostBinding,
5057
+ args: ['class.longpress']
5058
+ }], onMouseDown: [{
5059
+ type: HostListener,
5060
+ args: ['mousedown', ['$event']]
5061
+ }], onMouseMove: [{
5062
+ type: HostListener,
5063
+ args: ['mousemove', ['$event']]
5064
+ }], onMouseUp: [{
5065
+ type: HostListener,
5066
+ args: ['mouseup']
5067
+ }] } });
5068
+ ;
5069
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/taon-long-press.directive.ts
5070
+
5071
+ class TaonInjectHTMLDirective {
5072
+ set taonInjectHTML(content) {
5073
+ this.host.nativeElement.innerHTML = content;
5074
+ }
5075
+ constructor(host) {
5076
+ this.host = host;
5077
+ }
5078
+ 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 }); }
5079
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", type: TaonInjectHTMLDirective, isStandalone: true, selector: "[taonInjectHTML]", inputs: { taonInjectHTML: "taonInjectHTML" }, ngImport: i0 }); }
5080
+ }
5081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonInjectHTMLDirective, decorators: [{
5082
+ type: Directive,
5083
+ args: [{
5084
+ selector: '[taonInjectHTML]',
5085
+ standalone: true,
5086
+ }]
5087
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { taonInjectHTML: [{
5088
+ type: Input
5089
+ }] } });
5090
+ ;
5091
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/taon-inject-html.directive.ts
5092
+
5093
+ /* */
5094
+ /* */
5095
+ /* */
5096
+ /* */
5097
+ /* */
5098
+ /* */
5099
+ class SafePipe {
5100
+ constructor(sanitizer) {
5101
+ this.sanitizer = sanitizer;
5102
+ }
5103
+ transform(value, type) {
5104
+ switch (type) {
5105
+ case 'html':
5106
+ return this.sanitizer.bypassSecurityTrustHtml(value);
5107
+ case 'style':
5108
+ return this.sanitizer.bypassSecurityTrustStyle(value);
5109
+ case 'script':
5110
+ return this.sanitizer.bypassSecurityTrustScript(value);
5111
+ case 'url':
5112
+ return this.sanitizer.bypassSecurityTrustUrl(value);
5113
+ case 'resourceUrl':
5114
+ return this.sanitizer.bypassSecurityTrustResourceUrl(value);
5115
+ default:
5116
+ throw new Error(`Invalid safe type specified: ${type}`);
5117
+ }
5118
+ }
5119
+ 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 }); }
5120
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, isStandalone: true, name: "safe" }); }
5121
+ }
5122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SafePipe, decorators: [{
5123
+ type: Pipe,
5124
+ args: [{
5125
+ name: 'safe',
5126
+ standalone: true,
5127
+ }]
5128
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
5129
+ ;
5130
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/safe.pipe.ts
5131
+
5132
+ ;
5133
+ ({}); // @--end-of-file-for-module=taon lib/ui/directives/index.ts
5134
+
5135
+ class TaonFullMaterialModule {
5136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5137
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, exports: [A11yModule,
5138
+ CdkStepperModule,
5139
+ CdkTableModule,
5140
+ CdkTreeModule,
5141
+ DragDropModule,
5142
+ MatAutocompleteModule,
5143
+ MatBadgeModule,
5144
+ MatBottomSheetModule,
5145
+ MatButtonModule,
5146
+ MatButtonToggleModule,
5147
+ MatCardModule,
5148
+ MatCheckboxModule,
5149
+ MatChipsModule,
5150
+ MatStepperModule,
5151
+ MatDatepickerModule,
5152
+ MatDialogModule,
5153
+ MatDividerModule,
5154
+ MatExpansionModule,
5155
+ MatGridListModule,
5156
+ MatIconModule,
5157
+ MatInputModule,
5158
+ MatListModule,
5159
+ MatMenuModule,
5160
+ MatNativeDateModule,
5161
+ MatPaginatorModule,
5162
+ MatProgressBarModule,
5163
+ MatProgressSpinnerModule,
5164
+ MatRadioModule,
5165
+ MatRippleModule,
5166
+ MatSelectModule,
5167
+ MatSidenavModule,
5168
+ MatSliderModule,
5169
+ MatSlideToggleModule,
5170
+ MatSnackBarModule,
5171
+ MatSortModule,
5172
+ MatTableModule,
5173
+ MatTabsModule,
5174
+ MatToolbarModule,
5175
+ MatTooltipModule,
5176
+ MatTreeModule,
5177
+ ScrollingModule] }); }
5178
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, imports: [A11yModule,
5179
+ CdkStepperModule,
5180
+ CdkTableModule,
5181
+ CdkTreeModule,
5182
+ DragDropModule,
5183
+ MatAutocompleteModule,
5184
+ MatBadgeModule,
5185
+ MatBottomSheetModule,
5186
+ MatButtonModule,
5187
+ MatButtonToggleModule,
5188
+ MatCardModule,
5189
+ MatCheckboxModule,
5190
+ MatChipsModule,
5191
+ MatStepperModule,
5192
+ MatDatepickerModule,
5193
+ MatDialogModule,
5194
+ MatDividerModule,
5195
+ MatExpansionModule,
5196
+ MatGridListModule,
5197
+ MatIconModule,
5198
+ MatInputModule,
5199
+ MatListModule,
5200
+ MatMenuModule,
5201
+ MatNativeDateModule,
5202
+ MatPaginatorModule,
5203
+ MatProgressBarModule,
5204
+ MatProgressSpinnerModule,
5205
+ MatRadioModule,
5206
+ MatRippleModule,
5207
+ MatSelectModule,
5208
+ MatSidenavModule,
5209
+ MatSliderModule,
5210
+ MatSlideToggleModule,
5211
+ MatSnackBarModule,
5212
+ MatSortModule,
5213
+ MatTableModule,
5214
+ MatTabsModule,
5215
+ MatToolbarModule,
5216
+ MatTooltipModule,
5217
+ MatTreeModule,
5218
+ ScrollingModule] }); }
5219
+ }
5220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFullMaterialModule, decorators: [{
5221
+ type: NgModule,
5222
+ args: [{
5223
+ exports: [
5224
+ A11yModule,
5225
+ CdkStepperModule,
5226
+ CdkTableModule,
5227
+ CdkTreeModule,
5228
+ DragDropModule,
5229
+ MatAutocompleteModule,
5230
+ MatBadgeModule,
5231
+ MatBottomSheetModule,
5232
+ MatButtonModule,
5233
+ MatButtonToggleModule,
5234
+ MatCardModule,
5235
+ MatCheckboxModule,
5236
+ MatChipsModule,
5237
+ MatStepperModule,
5238
+ MatDatepickerModule,
5239
+ MatDialogModule,
5240
+ MatDividerModule,
5241
+ MatExpansionModule,
5242
+ MatGridListModule,
5243
+ MatIconModule,
5244
+ MatInputModule,
5245
+ MatListModule,
5246
+ MatMenuModule,
5247
+ MatNativeDateModule,
5248
+ MatPaginatorModule,
5249
+ MatProgressBarModule,
5250
+ MatProgressSpinnerModule,
5251
+ MatRadioModule,
5252
+ MatRippleModule,
5253
+ MatSelectModule,
5254
+ MatSidenavModule,
5255
+ MatSliderModule,
5256
+ MatSlideToggleModule,
5257
+ MatSnackBarModule,
5258
+ MatSortModule,
5259
+ MatTableModule,
5260
+ MatTabsModule,
5261
+ MatToolbarModule,
5262
+ MatTooltipModule,
5263
+ MatTreeModule,
5264
+ ScrollingModule,
5265
+ ],
5266
+ }]
5267
+ }] });
5268
+ ;
5269
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-full-material.module.ts
5270
+
5271
+ class TaonGithubForkMeCornerComponent {
5272
+ constructor() {
5273
+ this.url = 'https://github.com';
5274
+ }
5275
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5276
+ 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"] }); }
5277
+ }
5278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerComponent, decorators: [{
5279
+ type: Component,
5280
+ 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"] }]
5281
+ }], propDecorators: { url: [{
5282
+ type: Input
5283
+ }] } });
5284
+ ;
5285
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.ts
5286
+
5287
+ class TaonGithubForkMeCornerModule {
5288
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5289
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, declarations: [TaonGithubForkMeCornerComponent], imports: [CommonModule], exports: [TaonGithubForkMeCornerComponent] }); }
5290
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, imports: [CommonModule] }); }
5291
+ }
5292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonGithubForkMeCornerModule, decorators: [{
5293
+ type: NgModule,
5294
+ args: [{
5295
+ imports: [CommonModule],
5296
+ exports: [TaonGithubForkMeCornerComponent],
5297
+ declarations: [TaonGithubForkMeCornerComponent],
5298
+ providers: [],
5299
+ }]
5300
+ }] });
5301
+ ;
5302
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.ts
5303
+
5304
+ ;
5305
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-github-fork-me-corner/index.ts
5306
+
5307
+ /* */
5308
+ /* */
5309
+ class TaonNotificationsService {
5310
+ constructor(toast) {
5311
+ this.toast = toast;
5312
+ }
5313
+ options(type, options) {
5314
+ if (_$1.isString(options)) {
5315
+ options = {
5316
+ // @ts-ignore
5317
+ title: options,
5318
+ };
5319
+ }
5320
+ return options;
5321
+ }
5322
+ success(options) {
5323
+ const opt = this.options('success', options);
5324
+ return this.toast.success(opt.title);
5325
+ }
5326
+ error(options) {
5327
+ const opt = this.options('error', options);
5328
+ return this.toast.error(opt.title);
5329
+ }
5330
+ warn(options) {
5331
+ const opt = this.options('warning', options);
5332
+ return this.toast.warning(opt.title);
5333
+ }
5334
+ info(options) {
5335
+ const opt = this.options('info', options);
5336
+ return this.toast.info(opt.title);
5337
+ }
5338
+ 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 }); }
5339
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, providedIn: 'root' }); }
5340
+ }
5341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsService, decorators: [{
5342
+ type: Injectable,
5343
+ args: [{
5344
+ providedIn: 'root',
5345
+ }]
5346
+ }], ctorParameters: () => [{ type: i1$1.HotToastService }] });
5347
+ ;
5348
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.service.ts
5349
+
5350
+ class TaonNotificationsComponent {
5351
+ constructor(notification) {
5352
+ this.notification = notification;
5353
+ }
5354
+ ngOnInit() { }
5355
+ init(subscribtionsArray, template, callback) {
5356
+ subscribtionsArray.push(Resource.listenErrors.subscribe(err => {
5357
+ this.notification.error(err.msg);
5358
+ }));
5359
+ }
5360
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsComponent, deps: [{ token: TaonNotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
5361
+ 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"] }); }
5362
+ }
5363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsComponent, decorators: [{
5364
+ type: Component,
5365
+ args: [{ selector: 'taon-notifications', template: "<!-- <p>\n notyfications works!\n</p> -->\n", styles: [":host{position:absolute;width:0px;height:0px}\n"] }]
5366
+ }], ctorParameters: () => [{ type: TaonNotificationsService }] });
5367
+ ;
5368
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.component.ts
5369
+
5370
+ class TaonNotificationOptions {
5371
+ }
5372
+ ;
5373
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.models.ts
5374
+
5375
+ class TaonNotificationsModule {
5376
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5377
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, declarations: [TaonNotificationsComponent], exports: [TaonNotificationsComponent] }); }
5378
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, providers: [TaonNotificationsService] }); }
5379
+ }
5380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonNotificationsModule, decorators: [{
5381
+ type: NgModule,
5382
+ args: [{
5383
+ imports: [],
5384
+ exports: [TaonNotificationsComponent],
5385
+ declarations: [TaonNotificationsComponent],
5386
+ providers: [TaonNotificationsService],
5387
+ }]
5388
+ }] });
5389
+ ;
5390
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/taon-notifications.module.ts
5391
+
5392
+ ;
5393
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-notifications/index.ts
5394
+
5395
+ class TaonSessionPasscodeComponent {
5396
+ constructor(element, domSanitizer, cdr) {
5397
+ this.element = element;
5398
+ this.domSanitizer = domSanitizer;
5399
+ this.cdr = cdr;
5400
+ this.destroyRef = inject$1(DestroyRef);
5401
+ this.display = 'none';
5402
+ this.form = new FormGroup({
5403
+ passcode: new FormControl(),
5404
+ });
5405
+ }
5406
+ ngOnInit() {
5407
+ if (!this.passcode) {
5408
+ this.passcode = '123456';
5409
+ }
5410
+ if (!this.message) {
5411
+ this.message = `
5412
+ This website is only for testing purpose. Please type passcode bellow to see content.
5413
+
5414
+ `;
5415
+ }
5416
+ this.safeMessage = this.domSanitizer.bypassSecurityTrustHtml(this.message);
5417
+ if (this.lastPasscode?.toString() === this.passcode?.toString()) {
5418
+ this.hide();
5419
+ }
5420
+ else {
5421
+ this.show();
5422
+ this.focus();
5423
+ }
5424
+ interval(1000)
5425
+ .pipe(takeUntilDestroyed(this.destroyRef), tap(() => {
5426
+ this.focus();
5427
+ }))
5428
+ .subscribe();
5429
+ }
5430
+ submit({ passcode }) {
5431
+ if (this.isPasscodeOK(passcode || '')) {
5432
+ this.hide();
5433
+ }
5434
+ else {
5435
+ this.clear();
5436
+ }
5437
+ }
5438
+ isPasscodeOK(passcode) {
5439
+ this.lastPasscode = passcode.toString();
5440
+ return this.passcode.toString() === passcode;
5441
+ }
5442
+ ngAfterViewInit() { }
5443
+ focus() {
5444
+ this.element.nativeElement.querySelector('input')?.focus();
5445
+ }
5446
+ hide() {
5447
+ this.display = 'none';
5448
+ }
5449
+ show() {
5450
+ this.display = 'block';
5451
+ }
5452
+ clear() {
5453
+ this.form.controls.passcode.setValue('');
5454
+ }
5455
+ onKeyup(event) {
5456
+ if (this.isPasscodeOK(event.target.value || '')) {
5457
+ this.hide();
5458
+ return;
5459
+ }
5460
+ const key = event.keyCode || event.charCode;
5461
+ if (key === 8 || key === 46 || this.lastPasscode?.length > 5) {
5462
+ this.clear();
5463
+ }
5464
+ }
5465
+ 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 }); }
5466
+ 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 }] }); }
5467
+ }
5468
+ __decorate([
5469
+ (Stor.property.in.localstorage
5470
+ .for(TaonSessionPasscodeComponent)
5471
+ .withDefaultValue('')),
5472
+ __metadata("design:type", String)
5473
+ ], TaonSessionPasscodeComponent.prototype, "lastPasscode", void 0);
5474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonSessionPasscodeComponent, decorators: [{
5475
+ type: Component,
5476
+ 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"] }]
5477
+ }], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
5478
+ type: Self
5479
+ }] }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }], propDecorators: { passcode: [{
5480
+ type: Input
5481
+ }], message: [{
5482
+ type: Input
5483
+ }], display: [{
5484
+ type: HostBinding,
5485
+ args: ['style.display']
5486
+ }] } });
5487
+ ;
5488
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-session-passcode/taon-session-passcode.component.ts
5489
+
5490
+ ;
5491
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-session-passcode/index.ts
5492
+
5493
+ const calculatePercentage = (loaded, total) => Math.floor(loaded * 1.0) / total;
5494
+ class TaonProgressBarComponent {
5495
+ constructor() {
5496
+ this.handlers = [];
5497
+ this.options = _$1.merge({
5498
+ min: 8,
5499
+ max: 100,
5500
+ speed: 200,
5501
+ trickleSpeed: 300,
5502
+ debounceTime: 0,
5503
+ ease: 'linear',
5504
+ spinnerPosition: 'right',
5505
+ direction: 'ltr+',
5506
+ color: 'gray',
5507
+ fixed: true,
5508
+ meteor: true,
5509
+ spinner: true,
5510
+ thick: false,
5511
+ }, _$1.get(ENV, `plugins['ngx-progressbar']`));
5512
+ }
5513
+ ngOnInit() { }
5514
+ ngOnDestroy() {
5515
+ this.handlers.forEach(h => h.unsubscribe());
5516
+ }
5517
+ ngAfterViewInit() {
5518
+ this.loadProgressBar(void 0, axios);
5519
+ }
5520
+ loadProgressBar(config, instance = axios) {
5521
+ /* */
5522
+ /* */
5523
+ /* */
5524
+ /* */
5525
+ /* */
5526
+ /* */
5527
+ /* */
5528
+ /* */
5529
+ /* */
5530
+ /* */
5531
+ /* */
5532
+ /* */
5533
+ /* */
5534
+ /* */
5535
+ /* */
5536
+ /* */
5537
+ /* */
5538
+ /* */
5539
+ /* */
5540
+ /* */
5541
+ /* */
5542
+ /* */
5543
+ /* */
5544
+ /* */
5545
+ /* */
5546
+ /* */
5547
+ /* */
5548
+ /* */
5549
+ /* */
5550
+ /* */
5551
+ /* */
5552
+ /* */
5553
+ /* */
5554
+ /* */
5555
+ /* */
5556
+ /* */
5557
+ /* */
5558
+ /* */
5559
+ /* */
5560
+ /* */
5561
+ /* */
5562
+ /* */
5563
+ /* */
5564
+ /* */
5565
+ /* */
5566
+ /* */
5567
+ /* */
5568
+ /* */
5569
+ }
5570
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5571
+ 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"] }] }); }
5572
+ }
5573
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarComponent, decorators: [{
5574
+ type: Component,
5575
+ 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"] }]
5576
+ }], ctorParameters: () => [], propDecorators: { labProgress: [{
5577
+ type: ViewChild,
5578
+ args: ['labProgress']
5579
+ }], isDesktop: [{
5580
+ type: Input
5581
+ }] } });
5582
+ ;
5583
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/taon-progress-bar.component.ts
5584
+
5585
+ class TaonProgressBarModule {
5586
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5587
+ 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] }); }
5588
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, imports: [CommonModule, NgProgressModule.withConfig({})] }); }
5589
+ }
5590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonProgressBarModule, decorators: [{
5591
+ type: NgModule,
5592
+ args: [{
5593
+ imports: [CommonModule, NgProgressModule.withConfig({})],
5594
+ declarations: [TaonProgressBarComponent],
5595
+ exports: [TaonProgressBarComponent],
5596
+ }]
5597
+ }] });
5598
+ ;
5599
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/taon-progress-bar.module.ts
5600
+
5601
+ ;
5602
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-progress-bar/index.ts
5603
+
5604
+ const log = Log.create('Table wrapper', Level.__NOTHING);
5605
+ const defaultColumns = [
5606
+ {
5607
+ header: 'ID',
5608
+ field: 'id',
5609
+ },
5610
+ {
5611
+ header: 'NAME',
5612
+ field: 'name',
5613
+ },
5614
+ ];
5615
+ class TaonTableComponent {
5616
+ constructor() {
5617
+ this.pageNumber = 1;
5618
+ this.pageSize = 5;
5619
+ this.allowedColumns = [];
5620
+ this.rows = _.times(20, id => {
5621
+ return {
5622
+ id,
5623
+ name: `Amazing ${id} row `,
5624
+ };
5625
+ });
5626
+ this.columns = defaultColumns;
5627
+ this.pageSizeOptions = [5, 10, 20];
5628
+ this.expansionChange = new EventEmitter();
5629
+ this.addingItem = new EventEmitter();
5630
+ this.searchInputChange$ = defer(() => fromEvent(this.search?.nativeElement, 'keyup')).pipe(map(c => c.target['value']), debounceTime(500), distinctUntilChanged(), share(), tap(data => {
5631
+ console.log({ data });
5632
+ }));
5633
+ this.expandable = false;
5634
+ this.showPaginator = true;
5635
+ this.isLoading = false;
5636
+ this.totalElements = 100;
5637
+ this.sub = new Subscription();
5638
+ }
5639
+ async ngOnInit() {
5640
+ if (_.isString(this.entity)) {
5641
+ this.entity = CLASS.getBy(this.entity);
5642
+ }
5643
+ this.sub.add(this.searchInputChange$.subscribe());
5644
+ if (!!this.entity) {
5645
+ this.rows = [];
5646
+ }
5647
+ this.expandable = !!this.expansionTemplate;
5648
+ log.i('this.columns,', this.columns);
5649
+ const columnsConfigSameAsDefault = _.isEqual(this.columns, defaultColumns);
5650
+ const entityClass = this.entity;
5651
+ if (entityClass && columnsConfigSameAsDefault) {
5652
+ log.i('this.crud.entity', CLASS.describeProperites(entityClass));
5653
+ try {
5654
+ const props = CLASS.describeProperites(entityClass);
5655
+ let columns = props
5656
+ .filter(prop => this.allowedColumns.length > 0
5657
+ ? this.allowedColumns.includes(prop)
5658
+ : true)
5659
+ .map(prop => {
5660
+ return {
5661
+ header: _.upperCase(prop),
5662
+ field: prop,
5663
+ };
5664
+ });
5665
+ const extra = this.allowedColumns.filter(f => !props.includes(f));
5666
+ columns = [
5667
+ ...columns,
5668
+ ...extra.map(prop => {
5669
+ return {
5670
+ header: _.upperCase(prop),
5671
+ field: prop,
5672
+ };
5673
+ }),
5674
+ ];
5675
+ if (!this.expandable) {
5676
+ for (let index = 0; index < columns.length; index++) {
5677
+ const col = columns[index];
5678
+ delete col.showExpand;
5679
+ }
5680
+ }
5681
+ this.columns = columns;
5682
+ }
5683
+ catch (error) {
5684
+ console.error(error);
5685
+ }
5686
+ }
5687
+ else {
5688
+ }
5689
+ if (!this.entity) {
5690
+ this.showPaginator = false;
5691
+ }
5692
+ await this.retriveData();
5693
+ }
5694
+ ngOnDestroy() {
5695
+ this.sub.unsubscribe();
5696
+ }
5697
+ async getNextPage(e) {
5698
+ this.pageNumber = e.pageIndex + 1;
5699
+ this.pageSize = e.pageSize;
5700
+ await this.retriveData();
5701
+ }
5702
+ async retriveData() {
5703
+ // @ts-ignore
5704
+ }
5705
+ expansionRow(e) {
5706
+ this.expansionChange.next(e);
5707
+ }
5708
+ onTableContextMenu(e) {
5709
+ log.i('context menu event', e);
5710
+ }
5711
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5712
+ 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"] }] }); }
5713
+ }
5714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableComponent, decorators: [{
5715
+ type: Component,
5716
+ 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"] }]
5717
+ }], ctorParameters: () => [], propDecorators: { pageNumber: [{
5718
+ type: Input
5719
+ }], pageSize: [{
5720
+ type: Input
5721
+ }], allowedColumns: [{
5722
+ type: Input
5723
+ }], entity: [{
5724
+ type: Input
5725
+ }], expansionTemplate: [{
5726
+ type: Input
5727
+ }], rows: [{
5728
+ type: Input
5729
+ }], columns: [{
5730
+ type: Input
5731
+ }], pageSizeOptions: [{
5732
+ type: Input
5733
+ }], expansionChange: [{
5734
+ type: Output
5735
+ }], addingItem: [{
5736
+ type: Output
5737
+ }], search: [{
5738
+ type: ViewChild,
5739
+ args: ['search', { static: true }]
5740
+ }] } });
5741
+ ;
5742
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-table/taon-table.component.ts
5743
+
5744
+ class TaonTableModule {
5745
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5746
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, declarations: [TaonTableComponent], imports: [CommonModule,
5747
+ MatSelectModule,
5748
+ MtxGridModule,
5749
+ MatFormFieldModule,
5750
+ MatInputModule,
5751
+ StaticColumnsModule,
5752
+ MatIconModule,
5753
+ MatButtonModule,
5754
+ FormsModule,
5755
+ ReactiveFormsModule], exports: [TaonTableComponent] }); }
5756
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, imports: [CommonModule,
5757
+ MatSelectModule,
5758
+ MtxGridModule,
5759
+ MatFormFieldModule,
5760
+ MatInputModule,
5761
+ StaticColumnsModule,
5762
+ MatIconModule,
5763
+ MatButtonModule,
5764
+ FormsModule,
5765
+ ReactiveFormsModule] }); }
5766
+ }
5767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonTableModule, decorators: [{
5768
+ type: NgModule,
5769
+ args: [{
5770
+ imports: [
5771
+ CommonModule,
5772
+ MatSelectModule,
5773
+ MtxGridModule,
5774
+ MatFormFieldModule,
5775
+ MatInputModule,
5776
+ StaticColumnsModule,
5777
+ MatIconModule,
5778
+ MatButtonModule,
5779
+ FormsModule,
5780
+ ReactiveFormsModule,
5781
+ ],
5782
+ exports: [TaonTableComponent],
5783
+ declarations: [TaonTableComponent],
5784
+ }]
5785
+ }] });
5786
+ ;
5787
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-table/taon-table.module.ts
5788
+
5789
+ ;
5790
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-table/index.ts
5791
+
5792
+ class TaonAdminService {
5793
+ /**
5794
+ * @deprecated
5795
+ */
5796
+ disableScroll() {
5797
+ }
5798
+ constructor(cdr) {
5799
+ this.cdr = cdr;
5800
+ this.admin = window['taon'];
5801
+ }
5802
+ addTab(name, template) {
5803
+ this.admin.cmp.tabs.push({
5804
+ name,
5805
+ template,
5806
+ });
5807
+ }
5808
+ init(taonAdminModeConfigurationComponent) {
5809
+ this.taonAdminModeConfigurationComponent =
5810
+ taonAdminModeConfigurationComponent;
5811
+ }
5812
+ 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 }); }
5813
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, providedIn: 'root' }); }
5814
+ }
5815
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminService, decorators: [{
5816
+ type: Injectable,
5817
+ args: [{ providedIn: 'root' }]
5818
+ }], ctorParameters: () => [{ type: i0.ApplicationRef }] });
5819
+ ;
5820
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-control.service.ts
5821
+
5822
+ class TaonAdminModeConfigurationComponent {
5823
+ get opened() {
5824
+ return !this.isIframe && this.admin.adminPanelIsOpen;
5825
+ }
5826
+ set opened(v) {
5827
+ if (v && !this.openedOnce) {
5828
+ this.openedOnce = true;
5829
+ }
5830
+ if (this.wasOpenDraggablePopup) {
5831
+ this.wasOpenDraggablePopup = false;
5832
+ this.admin.draggablePopupMode = true;
5833
+ }
5834
+ this.admin.adminPanelIsOpen = v;
5835
+ }
5836
+ constructor(breakpointsService) {
5837
+ this.breakpointsService = breakpointsService;
5838
+ this.$destroy = new Subject();
5839
+ this.cdr = inject$1(ChangeDetectorRef);
5840
+ this.taonAdminService = inject$1(TaonAdminService);
5841
+ this.tabs = [];
5842
+ this.admin = window['taon'];
5843
+ this.isWebSQLMode = Helpers.isWebSQL;
5844
+ this.hideTaonToolsInProduction = ENV.hideTaonToolsInProduction && ENV.angularProd;
5845
+ this.isIframe = window.location !== window.parent.location;
5846
+ this.height = 100;
5847
+ this.openedOnce = false;
5848
+ this.reloading = false;
5849
+ this.showPasscode = _$1.isString(ENV.passcode) || _$1.isObject(ENV.passcode);
5850
+ this.passcode = _$1.isString(ENV.passcode)
5851
+ ? ENV.passcode
5852
+ : _$1.isObject(ENV.passcode)
5853
+ ? ENV.passcode.code
5854
+ : '';
5855
+ this.message = _$1.isObject(ENV.passcode)
5856
+ ? ENV.passcode.message
5857
+ : void 0;
5858
+ this.dragPositionZero = { x: 0, y: 0 };
5859
+ this.taonAdminModeConfigurationDataChanged = new EventEmitter();
5860
+ this.taonAdminModeConfigurationData = {};
5861
+ this.admin.cmp = this;
5862
+ this.breakpointsService
5863
+ .listenTo()
5864
+ .pipe(takeUntil(this.$destroy))
5865
+ .subscribe(breakpoint => {
5866
+ // @ts-ignore
5867
+ this.isDesktop = breakpoint === 'desktop';
5868
+ });
5869
+ this.taonAdminService.init(this);
5870
+ }
5871
+ reloadTabs() {
5872
+ this.reloading = true;
5873
+ setTimeout(() => {
5874
+ this.reloading = false;
5875
+ console.log('reloading done');
5876
+ });
5877
+ }
5878
+ async ngOnInit() {
5879
+ await Stor.awaitPendingOperatios();
5880
+ this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
5881
+ this.openedOnce = this.opened;
5882
+ }
5883
+ ngAfterViewInit() {
5884
+ //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
5885
+ //Add 'implements AfterViewInit' to the class.
5886
+ setTimeout(() => {
5887
+ this.height = window.innerHeight;
5888
+ if (this.admin.draggablePopupMode) {
5889
+ this.reloadTabs();
5890
+ }
5891
+ });
5892
+ }
5893
+ ngOnDestroy() {
5894
+ this.$destroy.next(void 0);
5895
+ this.$destroy.complete();
5896
+ }
5897
+ onResize(event) {
5898
+ this.height = window.innerHeight;
5899
+ }
5900
+ async toogle() {
5901
+ this.opened = !this.opened;
5902
+ }
5903
+ async toogleFullScreen() {
5904
+ this.admin.draggablePopupMode = true;
5905
+ this.admin.draggablePopupModeFullScreen =
5906
+ !this.admin.draggablePopupModeFullScreen;
5907
+ this.resetDrag();
5908
+ }
5909
+ resetDrag() {
5910
+ this.dragPositionX = 0;
5911
+ this.dragPositionY = 0;
5912
+ this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
5913
+ }
5914
+ moved(c) {
5915
+ this.dragPositionX += c.distance.x;
5916
+ this.dragPositionY += c.distance.y;
5917
+ }
5918
+ scrollTabs(event) {
5919
+ return;
5920
+ }
5921
+ 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 }); }
5922
+ 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"] }] }); }
5923
+ }
5924
+ __decorate([
5925
+ Stor.property.in.localstorage
5926
+ .for(TaonAdminModeConfigurationComponent)
5927
+ .withDefaultValue(0),
5928
+ __metadata("design:type", Number)
5929
+ ], TaonAdminModeConfigurationComponent.prototype, "dragPositionX", void 0);
5930
+ __decorate([
5931
+ Stor.property.in.localstorage
5932
+ .for(TaonAdminModeConfigurationComponent)
5933
+ .withDefaultValue(0),
5934
+ __metadata("design:type", Number)
5935
+ ], TaonAdminModeConfigurationComponent.prototype, "dragPositionY", void 0);
5936
+ __decorate([
5937
+ Stor.property.in.localstorage
5938
+ .for(TaonAdminModeConfigurationComponent)
5939
+ .withDefaultValue(0),
5940
+ __metadata("design:type", Number)
5941
+ ], TaonAdminModeConfigurationComponent.prototype, "selectedIndex", void 0);
5942
+ __decorate([
5943
+ Stor.property.in.localstorage
5944
+ .for(TaonAdminModeConfigurationComponent)
5945
+ .withDefaultValue(false),
5946
+ __metadata("design:type", Boolean)
5947
+ ], TaonAdminModeConfigurationComponent.prototype, "wasOpenDraggablePopup", void 0);
5948
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, decorators: [{
5949
+ type: Component,
5950
+ 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"] }]
5951
+ }], ctorParameters: () => [{ type: i1$3.BreakpointsService }], propDecorators: { tabGroup: [{
5952
+ type: ViewChild,
5953
+ args: ['tabGroup']
5954
+ }], taonAdminModeConfigurationDataChanged: [{
5955
+ type: Output
5956
+ }], taonAdminModeConfigurationData: [{
5957
+ type: Input
5958
+ }], onResize: [{
5959
+ type: HostListener,
5960
+ args: ['window:resize', ['$event']]
5961
+ }] } });
5962
+ ;
5963
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.ts
5964
+
5965
+ class TaonAdminEditModeComponent {
5966
+ constructor(router) {
5967
+ this.router = router;
5968
+ this.inited$ = of(true);
5969
+ this.destroyed$ = new Subject();
5970
+ this.handlers = [];
5971
+ this.columns = [
5972
+ {
5973
+ header: 'ID',
5974
+ field: 'id',
5975
+ maxWidth: 100,
5976
+ showExpand: true,
5977
+ },
5978
+ {
5979
+ header: 'src',
5980
+ field: 'src',
5981
+ maxWidth: 250,
5982
+ },
5983
+ {
5984
+ header: 'Content Type',
5985
+ field: 'contentType',
5986
+ maxWidth: 120,
5987
+ },
5988
+ ];
5989
+ this.taonAdminEditModeDataChanged = new EventEmitter();
5990
+ this.taonAdminEditModeData = {};
5991
+ }
5992
+ ngOnInit() {
5993
+ this.files = this.admin.currentFiles;
5994
+ this.handlers.push(this.admin.onEditMode$.subscribe(() => {
5995
+ this.refresFilesList();
5996
+ }));
5997
+ this.admin.onRegisterFile().pipe(takeUntil(this.destroyed$), tap(() => {
5998
+ this.refresFilesList();
5999
+ }));
6000
+ }
6001
+ ngOnDestroy() {
6002
+ this.handlers.forEach(h => h.unsubscribe());
6003
+ this.destroyed$.next(void 0);
6004
+ this.destroyed$.unsubscribe();
6005
+ }
6006
+ ngAfterViewInit() {
6007
+ //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
6008
+ //Add 'implements AfterViewInit' to the class.
6009
+ setTimeout(() => {
6010
+ this.refresFilesList();
6011
+ }, 500);
6012
+ }
6013
+ expansionRow(e) {
6014
+ console.log(e);
6015
+ }
6016
+ refresFilesList() {
6017
+ this.files = this.admin.currentFiles;
6018
+ }
6019
+ searchFind(file) {
6020
+ if (!!this?.fileToSearch) {
6021
+ return file?.src?.search(this?.fileToSearch) !== -1;
6022
+ }
6023
+ return true;
6024
+ }
6025
+ 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 }); }
6026
+ 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" }] }); }
6027
+ }
6028
+ __decorate([
6029
+ (Stor.property.in.localstorage
6030
+ .for(TaonAdminEditModeComponent)
6031
+ .withDefaultValue(0)),
6032
+ __metadata("design:type", Number)
6033
+ ], TaonAdminEditModeComponent.prototype, "selectedTabIndex", void 0);
6034
+ __decorate([
6035
+ (Stor.property.in.localstorage
6036
+ .for(TaonAdminEditModeComponent)
6037
+ .withDefaultValue('')),
6038
+ __metadata("design:type", String)
6039
+ ], TaonAdminEditModeComponent.prototype, "fileToSearch", void 0);
6040
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeComponent, decorators: [{
6041
+ type: Component,
6042
+ 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"] }]
6043
+ }], ctorParameters: () => [{ type: i1$4.Router }], propDecorators: { taonAdminEditModeDataChanged: [{
6044
+ type: Output
6045
+ }], taonAdminEditModeData: [{
6046
+ type: Input
6047
+ }] } });
6048
+ ;
6049
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.ts
6050
+
6051
+ class TaonFileGeneralOptComponent {
6052
+ constructor() {
6053
+ this.height = 100;
6054
+ this.handlers = [];
6055
+ this.fieldsOrder = [];
6056
+ this.fields = [
6057
+ {
6058
+ key: 'width',
6059
+ },
6060
+ {
6061
+ key: 'height',
6062
+ },
6063
+ {
6064
+ key: 'display',
6065
+ },
6066
+ {
6067
+ key: 'widthUnit',
6068
+ },
6069
+ {
6070
+ key: 'heightUnit', // @ts-ignore
6071
+ },
6072
+ {
6073
+ key: 'action',
6074
+ type: 'action',
6075
+ templateOptions: {
6076
+ label: 'Reset',
6077
+ icon: 'cancel',
6078
+ raised: true,
6079
+ action: () => {
6080
+ console.log('reset');
6081
+ },
6082
+ },
6083
+ },
6084
+ ].map(f => {
6085
+ f.className = 'formly-field-half-size';
6086
+ return f;
6087
+ });
6088
+ }
6089
+ ngOnInit() { }
6090
+ ngOnDestroy() {
6091
+ this.handlers.forEach(h => h.unsubscribe());
6092
+ }
6093
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6094
+ 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"] }); }
6095
+ }
6096
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptComponent, decorators: [{
6097
+ type: Component,
6098
+ 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"] }]
6099
+ }], ctorParameters: () => [], propDecorators: { height: [{
6100
+ type: HostBinding,
6101
+ args: ['style.minHeight.px']
6102
+ }, {
6103
+ type: Input
6104
+ }], file: [{
6105
+ type: Input
6106
+ }] } });
6107
+ ;
6108
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.ts
6109
+
6110
+ class TaonFileGeneralOptModule {
6111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6112
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, declarations: [TaonFileGeneralOptComponent], imports: [CommonModule, TaonFullMaterialModule], exports: [TaonFileGeneralOptComponent] }); }
6113
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, imports: [CommonModule, TaonFullMaterialModule] }); }
6114
+ }
6115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonFileGeneralOptModule, decorators: [{
6116
+ type: NgModule,
6117
+ args: [{
6118
+ imports: [CommonModule, TaonFullMaterialModule],
6119
+ declarations: [TaonFileGeneralOptComponent],
6120
+ exports: [TaonFileGeneralOptComponent],
6121
+ }]
6122
+ }] });
6123
+ ;
6124
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.ts
6125
+
6126
+ ;
6127
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.ts
6128
+
6129
+ class TaonAdminEditModeModule {
6130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6131
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, declarations: [TaonAdminEditModeComponent], imports: [CommonModule,
6132
+ StaticColumnsModule,
6133
+ NgScrollbarModule,
6134
+ TaonFileGeneralOptModule,
6135
+ FormsModule,
6136
+ NgArrayPipesModule,
6137
+ TaonTableModule,
6138
+ TaonFullMaterialModule], exports: [TaonAdminEditModeComponent] }); }
6139
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, imports: [CommonModule,
6140
+ StaticColumnsModule,
6141
+ NgScrollbarModule,
6142
+ TaonFileGeneralOptModule,
6143
+ FormsModule,
6144
+ NgArrayPipesModule,
6145
+ TaonTableModule,
6146
+ TaonFullMaterialModule] }); }
6147
+ }
6148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminEditModeModule, decorators: [{
6149
+ type: NgModule,
6150
+ args: [{
6151
+ imports: [
6152
+ CommonModule,
6153
+ StaticColumnsModule,
6154
+ NgScrollbarModule,
6155
+ TaonFileGeneralOptModule,
6156
+ FormsModule,
6157
+ NgArrayPipesModule,
6158
+ TaonTableModule,
6159
+ TaonFullMaterialModule, // TODO import only partial things
6160
+ ],
6161
+ declarations: [TaonAdminEditModeComponent],
6162
+ exports: [TaonAdminEditModeComponent],
6163
+ }]
6164
+ }] });
6165
+ ;
6166
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.ts
6167
+
6168
+ ;
6169
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.ts
6170
+
6171
+ class TaonAdminModeConfigurationModule {
6172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6173
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, declarations: [TaonAdminModeConfigurationComponent], imports: [CommonModule,
6174
+ StaticColumnsModule,
6175
+ FormsModule,
6176
+ NgScrollbarModule,
6177
+ TaonAdminEditModeModule,
6178
+ TaonProgressBarModule,
6179
+ TaonNotificationsModule,
6180
+ TaonFullMaterialModule, // TODO import only partial things
6181
+ TaonSessionPasscodeComponent], exports: [TaonAdminModeConfigurationComponent] }); }
6182
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, imports: [CommonModule,
6183
+ StaticColumnsModule,
6184
+ FormsModule,
6185
+ NgScrollbarModule,
6186
+ TaonAdminEditModeModule,
6187
+ TaonProgressBarModule,
6188
+ TaonNotificationsModule,
6189
+ TaonFullMaterialModule, // TODO import only partial things
6190
+ TaonSessionPasscodeComponent] }); }
6191
+ }
6192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationModule, decorators: [{
6193
+ type: NgModule,
6194
+ args: [{
6195
+ imports: [
6196
+ CommonModule,
6197
+ StaticColumnsModule,
6198
+ FormsModule,
6199
+ NgScrollbarModule,
6200
+ TaonAdminEditModeModule,
6201
+ TaonProgressBarModule,
6202
+ TaonNotificationsModule,
6203
+ TaonFullMaterialModule, // TODO import only partial things
6204
+ TaonSessionPasscodeComponent,
6205
+ ],
6206
+ declarations: [TaonAdminModeConfigurationComponent],
6207
+ exports: [TaonAdminModeConfigurationComponent],
6208
+ }]
6209
+ }] });
6210
+ ;
6211
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.ts
6212
+
6213
+ ;
6214
+ ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/index.ts
6215
+
6216
+ ;
6217
+ ({}); // @--end-of-file-for-module=taon lib/ui/index.ts
6218
+
4849
6219
  ;
4850
6220
  ({}); // @--end-of-file-for-module=taon lib/constants.ts
4851
6221
 
@@ -4895,5 +6265,5 @@ var Taon;
4895
6265
  * Generated bundle index. Do not edit.
4896
6266
  */
4897
6267
 
4898
- export { BaseContext, BaseController, BaseEntity, BaseProvider, BaseRepository, ClassHelpers, Models, Taon, createContext, inject };
4899
- //# sourceMappingURL=taon.mjs.map
6268
+ 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 };
6269
+ //# sourceMappingURL=taon.mjs.map