taon 18.0.34 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/README.md +175 -175
  2. package/assets/shared/shared_folder_info.txt +1 -1
  3. package/bin/start.js +279 -279
  4. package/bin/taon +6 -6
  5. package/bin/taon-debug +5 -5
  6. package/bin/taon-debug-brk +5 -5
  7. package/browser/README.md +24 -24
  8. package/browser/fesm2022/taon.mjs +68 -85
  9. package/browser/fesm2022/taon.mjs.map +1 -1
  10. package/browser/lib/base-classes/base-context.d.ts +6 -6
  11. package/browser/lib/base-classes/base.d.ts +6 -6
  12. package/browser/lib/index.d.ts +6 -32
  13. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  14. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +1 -2
  15. package/cli.js.map +1 -1
  16. package/client/README.md +24 -24
  17. package/client/fesm2022/taon.mjs +68 -85
  18. package/client/fesm2022/taon.mjs.map +1 -1
  19. package/client/lib/base-classes/base-context.d.ts +6 -6
  20. package/client/lib/base-classes/base.d.ts +6 -6
  21. package/client/lib/index.d.ts +6 -32
  22. package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  23. package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +1 -2
  24. package/index.js.map +1 -1
  25. package/lib/base-classes/base-abstract-entity.js.map +1 -1
  26. package/lib/base-classes/base-class.js.map +1 -1
  27. package/lib/base-classes/base-context.d.ts +6 -6
  28. package/lib/base-classes/base-context.js.map +1 -1
  29. package/lib/base-classes/base-controller.js.map +1 -1
  30. package/lib/base-classes/base-crud-controller.js.map +1 -1
  31. package/lib/base-classes/base-entity.js.map +1 -1
  32. package/lib/base-classes/base-injector.js.map +1 -1
  33. package/lib/base-classes/base-migration.js.map +1 -1
  34. package/lib/base-classes/base-provider.js.map +1 -1
  35. package/lib/base-classes/base-repository.js.map +1 -1
  36. package/lib/base-classes/base-subscriber-for-entity.js.map +1 -1
  37. package/lib/base-classes/base-subscriber.d.ts +4 -0
  38. package/lib/base-classes/base-subscriber.js +25 -0
  39. package/lib/base-classes/base-subscriber.js.map +1 -0
  40. package/lib/base-classes/base.d.ts +6 -6
  41. package/lib/base-classes/base.js.map +1 -1
  42. package/lib/build-info._auto-generated_.js.map +1 -1
  43. package/lib/constants.js.map +1 -1
  44. package/lib/context-db-migrations.js.map +1 -1
  45. package/lib/create-context.js.map +1 -1
  46. package/lib/decorators/classes/controller-decorator.js.map +1 -1
  47. package/lib/decorators/classes/entity-decorator.js.map +1 -1
  48. package/lib/decorators/classes/migration-decorator.js.map +1 -1
  49. package/lib/decorators/classes/provider-decorator.js.map +1 -1
  50. package/lib/decorators/classes/repository-decorator.js.map +1 -1
  51. package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
  52. package/lib/decorators/http/http-decorators.js.map +1 -1
  53. package/lib/decorators/http/http-methods-decorators.js.map +1 -1
  54. package/lib/decorators/http/http-params-decorators.js.map +1 -1
  55. package/lib/dependency-injection/di-container.js.map +1 -1
  56. package/lib/endpoint-context.js.map +1 -1
  57. package/lib/entity-process.js.map +1 -1
  58. package/lib/env.js.map +1 -1
  59. package/lib/formly/formly-group-wrapper-component.js +1 -0
  60. package/lib/formly/formly-group-wrapper-component.js.map +1 -1
  61. package/lib/formly/formly-repeat-component.js +1 -0
  62. package/lib/formly/formly-repeat-component.js.map +1 -1
  63. package/lib/formly/formly.models.js.map +1 -1
  64. package/lib/formly/fromly.js.map +1 -1
  65. package/lib/formly/type-from-entity.js.map +1 -1
  66. package/lib/get-response-value.js.map +1 -1
  67. package/lib/helpers/class-helpers.js +2 -2
  68. package/lib/helpers/class-helpers.js.map +1 -1
  69. package/lib/helpers/taon-helpers.js.map +1 -1
  70. package/lib/index._auto-generated_.js.map +1 -1
  71. package/lib/index.d.ts +6 -32
  72. package/lib/index.js.map +1 -1
  73. package/lib/inject.js.map +1 -1
  74. package/lib/models.js.map +1 -1
  75. package/lib/orm.js.map +1 -1
  76. package/lib/realtime/realtime-client.js.map +1 -1
  77. package/lib/realtime/realtime-core.js.map +1 -1
  78. package/lib/realtime/realtime-server.js.map +1 -1
  79. package/lib/realtime/realtime-strategy/index.js.map +1 -1
  80. package/lib/realtime/realtime-strategy/realtime-abstract-mock.d.ts +10 -0
  81. package/lib/realtime/realtime-strategy/realtime-abstract-mock.js +214 -0
  82. package/lib/realtime/realtime-strategy/realtime-abstract-mock.js.map +1 -0
  83. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.d.ts +0 -0
  84. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js +5 -0
  85. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js.map +1 -0
  86. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +22 -0
  87. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js +139 -0
  88. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js.map +1 -0
  89. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +16 -0
  90. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js +68 -0
  91. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js.map +1 -0
  92. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +10 -0
  93. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js +56 -0
  94. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js.map +1 -0
  95. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +10 -0
  96. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js +50 -0
  97. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js.map +1 -0
  98. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +13 -0
  99. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js +3 -0
  100. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js.map +1 -0
  101. package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -1
  102. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +2 -0
  103. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js +6 -0
  104. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js.map +1 -0
  105. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +16 -0
  106. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js +54 -0
  107. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js.map +1 -0
  108. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +17 -0
  109. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js +52 -0
  110. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js.map +1 -0
  111. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +11 -0
  112. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js +39 -0
  113. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js.map +1 -0
  114. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +13 -0
  115. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js +46 -0
  116. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js.map +1 -0
  117. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +11 -0
  118. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js +3 -0
  119. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js.map +1 -0
  120. package/lib/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -1
  121. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -1
  122. package/lib/realtime/realtime-strategy/realtime-strategy.js.map +1 -1
  123. package/lib/realtime/realtime-subs-manager.js.map +1 -1
  124. package/lib/realtime/realtime.models.js.map +1 -1
  125. package/lib/storage.js.map +1 -1
  126. package/lib/symbols.js.map +1 -1
  127. package/lib/ui/directives/firedev-inject-html.directive.d.ts +6 -0
  128. package/lib/ui/directives/firedev-long-press.directive.d.ts +22 -0
  129. package/lib/ui/directives/index.js +2 -2
  130. package/lib/ui/directives/index.js.map +1 -1
  131. package/lib/ui/directives/view-mode.js.map +1 -1
  132. package/lib/ui/index.js +2 -2
  133. package/lib/ui/index.js.map +1 -1
  134. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +2 -0
  135. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +5 -0
  136. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js.map +1 -0
  137. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +29 -0
  138. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +2 -0
  139. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.d.ts +1 -0
  140. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +5 -0
  141. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js.map +1 -0
  142. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +8 -0
  143. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +2 -0
  144. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +5 -0
  145. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js.map +1 -0
  146. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +13 -0
  147. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +2 -0
  148. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  149. package/lib/ui/taon-admin-mode-configuration/index.js.map +1 -1
  150. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +5 -0
  151. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js +3 -0
  152. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js.map +1 -0
  153. package/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +14 -0
  154. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +2 -0
  155. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js.map +1 -1
  156. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  157. package/lib/ui/taon-github-fork-me-corner/index.js.map +1 -1
  158. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  159. package/lib/ui/taon-github-fork-me-ribbon/index.js.map +1 -1
  160. package/lib/ui/taon-notifications/index.js.map +1 -1
  161. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  162. package/lib/ui/taon-notifications/taon-notifications.models.js.map +1 -1
  163. package/lib/ui/taon-progress-bar/index.js +2 -2
  164. package/lib/ui/taon-progress-bar/index.js.map +1 -1
  165. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  166. package/lib/ui/taon-session-passcode/index.js +2 -2
  167. package/lib/ui/taon-session-passcode/index.js.map +1 -1
  168. package/lib/ui/taon-table/index.js +2 -2
  169. package/lib/ui/taon-table/index.js.map +1 -1
  170. package/lib/ui/taon.models.js.map +1 -1
  171. package/lib/ui/toan-full-material.module.d.ts +2 -0
  172. package/lib/validators.js.map +1 -1
  173. package/migrations/index.js.map +1 -1
  174. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  175. package/old-app .js +1 -0
  176. package/old-app .js.map +1 -1
  177. package/package.json +8 -8
  178. package/playground.js.map +1 -1
  179. package/taon.jsonc +39 -39
  180. package/tmp-environment.json +2 -2
  181. package/websql/README.md +24 -24
  182. package/websql/fesm2022/taon.mjs +68 -85
  183. package/websql/fesm2022/taon.mjs.map +1 -1
  184. package/websql/lib/base-classes/base-context.d.ts +6 -6
  185. package/websql/lib/base-classes/base.d.ts +6 -6
  186. package/websql/lib/index.d.ts +6 -32
  187. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  188. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +1 -2
  189. package/browser/esm2022/lib/base-classes/base-abstract-entity.mjs +0 -18
  190. package/browser/esm2022/lib/base-classes/base-class.mjs +0 -17
  191. package/browser/esm2022/lib/base-classes/base-context.mjs +0 -14
  192. package/browser/esm2022/lib/base-classes/base-controller.mjs +0 -19
  193. package/browser/esm2022/lib/base-classes/base-crud-controller.mjs +0 -279
  194. package/browser/esm2022/lib/base-classes/base-entity.mjs +0 -18
  195. package/browser/esm2022/lib/base-classes/base-injector.mjs +0 -167
  196. package/browser/esm2022/lib/base-classes/base-migration.mjs +0 -23
  197. package/browser/esm2022/lib/base-classes/base-provider.mjs +0 -6
  198. package/browser/esm2022/lib/base-classes/base-repository.mjs +0 -514
  199. package/browser/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +0 -156
  200. package/browser/esm2022/lib/base-classes/base.mjs +0 -26
  201. package/browser/esm2022/lib/constants.mjs +0 -4
  202. package/browser/esm2022/lib/context-db-migrations.mjs +0 -425
  203. package/browser/esm2022/lib/create-context.mjs +0 -127
  204. package/browser/esm2022/lib/decorators/classes/controller-decorator.mjs +0 -18
  205. package/browser/esm2022/lib/decorators/classes/entity-decorator.mjs +0 -30
  206. package/browser/esm2022/lib/decorators/classes/migration-decorator.mjs +0 -18
  207. package/browser/esm2022/lib/decorators/classes/provider-decorator.mjs +0 -18
  208. package/browser/esm2022/lib/decorators/classes/repository-decorator.mjs +0 -18
  209. package/browser/esm2022/lib/decorators/classes/subscriber-decorator.mjs +0 -18
  210. package/browser/esm2022/lib/decorators/http/http-decorators.mjs +0 -24
  211. package/browser/esm2022/lib/decorators/http/http-methods-decorators.mjs +0 -78
  212. package/browser/esm2022/lib/decorators/http/http-params-decorators.mjs +0 -47
  213. package/browser/esm2022/lib/dependency-injection/di-container.mjs +0 -32
  214. package/browser/esm2022/lib/endpoint-context.mjs +0 -1705
  215. package/browser/esm2022/lib/entity-process.mjs +0 -198
  216. package/browser/esm2022/lib/env.mjs +0 -6
  217. package/browser/esm2022/lib/get-response-value.mjs +0 -27
  218. package/browser/esm2022/lib/helpers/class-helpers.mjs +0 -183
  219. package/browser/esm2022/lib/helpers/taon-helpers.mjs +0 -120
  220. package/browser/esm2022/lib/index.mjs +0 -70
  221. package/browser/esm2022/lib/inject.mjs +0 -36
  222. package/browser/esm2022/lib/models.mjs +0 -106
  223. package/browser/esm2022/lib/orm.mjs +0 -6
  224. package/browser/esm2022/lib/realtime/realtime-client.mjs +0 -141
  225. package/browser/esm2022/lib/realtime/realtime-core.mjs +0 -62
  226. package/browser/esm2022/lib/realtime/realtime-server.mjs +0 -292
  227. package/browser/esm2022/lib/realtime/realtime-strategy/index.mjs +0 -7
  228. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +0 -218
  229. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +0 -224
  230. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +0 -29
  231. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +0 -14
  232. package/browser/esm2022/lib/realtime/realtime-subs-manager.mjs +0 -81
  233. package/browser/esm2022/lib/realtime/realtime.models.mjs +0 -4
  234. package/browser/esm2022/lib/storage.mjs +0 -5
  235. package/browser/esm2022/lib/symbols.mjs +0 -97
  236. package/browser/esm2022/lib/ui/directives/index.mjs +0 -6
  237. package/browser/esm2022/lib/ui/directives/safe.pipe.mjs +0 -43
  238. package/browser/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +0 -24
  239. package/browser/esm2022/lib/ui/directives/taon-long-press.directive.mjs +0 -120
  240. package/browser/esm2022/lib/ui/index.mjs +0 -12
  241. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +0 -4
  242. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +0 -194
  243. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +0 -55
  244. package/browser/esm2022/lib/ui/taon-full-material.module.mjs +0 -179
  245. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +0 -5
  246. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +0 -18
  247. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +0 -21
  248. package/browser/esm2022/lib/ui/taon-notifications/index.mjs +0 -7
  249. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +0 -25
  250. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +0 -5
  251. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +0 -21
  252. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +0 -48
  253. package/browser/esm2022/lib/ui/taon-progress-bar/index.mjs +0 -5
  254. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +0 -98
  255. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +0 -22
  256. package/browser/esm2022/lib/ui/taon-session-passcode/index.mjs +0 -4
  257. package/browser/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +0 -120
  258. package/browser/esm2022/lib/ui/taon-table/index.mjs +0 -5
  259. package/browser/esm2022/lib/ui/taon-table/taon-table.component.mjs +0 -160
  260. package/browser/esm2022/lib/ui/taon-table/taon-table.module.mjs +0 -57
  261. package/browser/esm2022/lib/validators.mjs +0 -76
  262. package/browser/esm2022/public-api.mjs +0 -2
  263. package/browser/esm2022/taon.mjs +0 -5
  264. package/client/esm2022/lib/base-classes/base-abstract-entity.mjs +0 -18
  265. package/client/esm2022/lib/base-classes/base-class.mjs +0 -17
  266. package/client/esm2022/lib/base-classes/base-context.mjs +0 -14
  267. package/client/esm2022/lib/base-classes/base-controller.mjs +0 -19
  268. package/client/esm2022/lib/base-classes/base-crud-controller.mjs +0 -279
  269. package/client/esm2022/lib/base-classes/base-entity.mjs +0 -18
  270. package/client/esm2022/lib/base-classes/base-injector.mjs +0 -167
  271. package/client/esm2022/lib/base-classes/base-migration.mjs +0 -23
  272. package/client/esm2022/lib/base-classes/base-provider.mjs +0 -6
  273. package/client/esm2022/lib/base-classes/base-repository.mjs +0 -514
  274. package/client/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +0 -156
  275. package/client/esm2022/lib/base-classes/base.mjs +0 -26
  276. package/client/esm2022/lib/constants.mjs +0 -4
  277. package/client/esm2022/lib/context-db-migrations.mjs +0 -425
  278. package/client/esm2022/lib/create-context.mjs +0 -127
  279. package/client/esm2022/lib/decorators/classes/controller-decorator.mjs +0 -18
  280. package/client/esm2022/lib/decorators/classes/entity-decorator.mjs +0 -30
  281. package/client/esm2022/lib/decorators/classes/migration-decorator.mjs +0 -18
  282. package/client/esm2022/lib/decorators/classes/provider-decorator.mjs +0 -18
  283. package/client/esm2022/lib/decorators/classes/repository-decorator.mjs +0 -18
  284. package/client/esm2022/lib/decorators/classes/subscriber-decorator.mjs +0 -18
  285. package/client/esm2022/lib/decorators/http/http-decorators.mjs +0 -24
  286. package/client/esm2022/lib/decorators/http/http-methods-decorators.mjs +0 -78
  287. package/client/esm2022/lib/decorators/http/http-params-decorators.mjs +0 -47
  288. package/client/esm2022/lib/dependency-injection/di-container.mjs +0 -32
  289. package/client/esm2022/lib/endpoint-context.mjs +0 -1705
  290. package/client/esm2022/lib/entity-process.mjs +0 -198
  291. package/client/esm2022/lib/env.mjs +0 -6
  292. package/client/esm2022/lib/get-response-value.mjs +0 -27
  293. package/client/esm2022/lib/helpers/class-helpers.mjs +0 -183
  294. package/client/esm2022/lib/helpers/taon-helpers.mjs +0 -120
  295. package/client/esm2022/lib/index.mjs +0 -70
  296. package/client/esm2022/lib/inject.mjs +0 -36
  297. package/client/esm2022/lib/models.mjs +0 -106
  298. package/client/esm2022/lib/orm.mjs +0 -6
  299. package/client/esm2022/lib/realtime/realtime-client.mjs +0 -141
  300. package/client/esm2022/lib/realtime/realtime-core.mjs +0 -62
  301. package/client/esm2022/lib/realtime/realtime-server.mjs +0 -292
  302. package/client/esm2022/lib/realtime/realtime-strategy/index.mjs +0 -7
  303. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +0 -218
  304. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +0 -224
  305. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +0 -29
  306. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +0 -14
  307. package/client/esm2022/lib/realtime/realtime-subs-manager.mjs +0 -81
  308. package/client/esm2022/lib/realtime/realtime.models.mjs +0 -4
  309. package/client/esm2022/lib/storage.mjs +0 -5
  310. package/client/esm2022/lib/symbols.mjs +0 -97
  311. package/client/esm2022/lib/ui/directives/index.mjs +0 -6
  312. package/client/esm2022/lib/ui/directives/safe.pipe.mjs +0 -43
  313. package/client/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +0 -24
  314. package/client/esm2022/lib/ui/directives/taon-long-press.directive.mjs +0 -120
  315. package/client/esm2022/lib/ui/index.mjs +0 -12
  316. package/client/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +0 -4
  317. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +0 -194
  318. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +0 -55
  319. package/client/esm2022/lib/ui/taon-full-material.module.mjs +0 -179
  320. package/client/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +0 -5
  321. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +0 -18
  322. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +0 -21
  323. package/client/esm2022/lib/ui/taon-notifications/index.mjs +0 -7
  324. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +0 -25
  325. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +0 -5
  326. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +0 -21
  327. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +0 -48
  328. package/client/esm2022/lib/ui/taon-progress-bar/index.mjs +0 -5
  329. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +0 -98
  330. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +0 -22
  331. package/client/esm2022/lib/ui/taon-session-passcode/index.mjs +0 -4
  332. package/client/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +0 -120
  333. package/client/esm2022/lib/ui/taon-table/index.mjs +0 -5
  334. package/client/esm2022/lib/ui/taon-table/taon-table.component.mjs +0 -160
  335. package/client/esm2022/lib/ui/taon-table/taon-table.module.mjs +0 -57
  336. package/client/esm2022/lib/validators.mjs +0 -76
  337. package/client/esm2022/public-api.mjs +0 -2
  338. package/client/esm2022/taon.mjs +0 -5
  339. package/websql/esm2022/lib/base-classes/base-abstract-entity.mjs +0 -25
  340. package/websql/esm2022/lib/base-classes/base-class.mjs +0 -17
  341. package/websql/esm2022/lib/base-classes/base-context.mjs +0 -14
  342. package/websql/esm2022/lib/base-classes/base-controller.mjs +0 -19
  343. package/websql/esm2022/lib/base-classes/base-crud-controller.mjs +0 -238
  344. package/websql/esm2022/lib/base-classes/base-entity.mjs +0 -16
  345. package/websql/esm2022/lib/base-classes/base-injector.mjs +0 -167
  346. package/websql/esm2022/lib/base-classes/base-migration.mjs +0 -23
  347. package/websql/esm2022/lib/base-classes/base-provider.mjs +0 -6
  348. package/websql/esm2022/lib/base-classes/base-repository.mjs +0 -431
  349. package/websql/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +0 -156
  350. package/websql/esm2022/lib/base-classes/base.mjs +0 -26
  351. package/websql/esm2022/lib/constants.mjs +0 -4
  352. package/websql/esm2022/lib/context-db-migrations.mjs +0 -274
  353. package/websql/esm2022/lib/create-context.mjs +0 -126
  354. package/websql/esm2022/lib/decorators/classes/controller-decorator.mjs +0 -18
  355. package/websql/esm2022/lib/decorators/classes/entity-decorator.mjs +0 -28
  356. package/websql/esm2022/lib/decorators/classes/migration-decorator.mjs +0 -18
  357. package/websql/esm2022/lib/decorators/classes/provider-decorator.mjs +0 -18
  358. package/websql/esm2022/lib/decorators/classes/repository-decorator.mjs +0 -18
  359. package/websql/esm2022/lib/decorators/classes/subscriber-decorator.mjs +0 -18
  360. package/websql/esm2022/lib/decorators/http/http-decorators.mjs +0 -24
  361. package/websql/esm2022/lib/decorators/http/http-methods-decorators.mjs +0 -78
  362. package/websql/esm2022/lib/decorators/http/http-params-decorators.mjs +0 -47
  363. package/websql/esm2022/lib/dependency-injection/di-container.mjs +0 -32
  364. package/websql/esm2022/lib/endpoint-context.mjs +0 -1586
  365. package/websql/esm2022/lib/entity-process.mjs +0 -198
  366. package/websql/esm2022/lib/env.mjs +0 -6
  367. package/websql/esm2022/lib/get-response-value.mjs +0 -25
  368. package/websql/esm2022/lib/helpers/class-helpers.mjs +0 -183
  369. package/websql/esm2022/lib/helpers/taon-helpers.mjs +0 -120
  370. package/websql/esm2022/lib/index.mjs +0 -72
  371. package/websql/esm2022/lib/inject.mjs +0 -36
  372. package/websql/esm2022/lib/models.mjs +0 -97
  373. package/websql/esm2022/lib/orm.mjs +0 -65
  374. package/websql/esm2022/lib/realtime/realtime-client.mjs +0 -141
  375. package/websql/esm2022/lib/realtime/realtime-core.mjs +0 -62
  376. package/websql/esm2022/lib/realtime/realtime-server.mjs +0 -176
  377. package/websql/esm2022/lib/realtime/realtime-strategy/index.mjs +0 -7
  378. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +0 -218
  379. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +0 -224
  380. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +0 -29
  381. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +0 -14
  382. package/websql/esm2022/lib/realtime/realtime-subs-manager.mjs +0 -81
  383. package/websql/esm2022/lib/realtime/realtime.models.mjs +0 -4
  384. package/websql/esm2022/lib/storage.mjs +0 -5
  385. package/websql/esm2022/lib/symbols.mjs +0 -97
  386. package/websql/esm2022/lib/ui/directives/index.mjs +0 -6
  387. package/websql/esm2022/lib/ui/directives/safe.pipe.mjs +0 -43
  388. package/websql/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +0 -24
  389. package/websql/esm2022/lib/ui/directives/taon-long-press.directive.mjs +0 -120
  390. package/websql/esm2022/lib/ui/index.mjs +0 -12
  391. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +0 -4
  392. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +0 -194
  393. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +0 -55
  394. package/websql/esm2022/lib/ui/taon-full-material.module.mjs +0 -179
  395. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +0 -5
  396. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +0 -18
  397. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +0 -21
  398. package/websql/esm2022/lib/ui/taon-notifications/index.mjs +0 -7
  399. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +0 -25
  400. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +0 -5
  401. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +0 -21
  402. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +0 -48
  403. package/websql/esm2022/lib/ui/taon-progress-bar/index.mjs +0 -5
  404. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +0 -50
  405. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +0 -22
  406. package/websql/esm2022/lib/ui/taon-session-passcode/index.mjs +0 -4
  407. package/websql/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +0 -120
  408. package/websql/esm2022/lib/ui/taon-table/index.mjs +0 -5
  409. package/websql/esm2022/lib/ui/taon-table/taon-table.component.mjs +0 -160
  410. package/websql/esm2022/lib/ui/taon-table/taon-table.module.mjs +0 -57
  411. package/websql/esm2022/lib/validators.mjs +0 -76
  412. package/websql/esm2022/public-api.mjs +0 -2
  413. package/websql/esm2022/taon.mjs +0 -5
@@ -1,120 +0,0 @@
1
- import { Directive, Input, Output, EventEmitter, HostBinding, HostListener, } from '@angular/core'; /* */
2
- /* */
3
- /* */
4
- /* */
5
- /* */
6
- /* */
7
- /* */
8
- import { _ } from 'tnp-core/browser';
9
- import { Log, Level } from 'ng2-logger/browser';
10
- import * as i0 from "@angular/core";
11
- const log = Log.create(`[taon-helpers] long-press`, Level.__NOTHING);
12
- export class TaonLongPress {
13
- constructor() {
14
- this.pressDuration = 1000;
15
- this.onLongPress = new EventEmitter();
16
- this.onLongPressing = new EventEmitter();
17
- this.onLongPressEnd = new EventEmitter();
18
- this.mouseX = 0;
19
- this.mouseY = 0;
20
- this.allowTrigger = false;
21
- this.triggerEnd = _.debounce(() => {
22
- this.endPress();
23
- }, 500);
24
- }
25
- get press() {
26
- return this.pressing;
27
- }
28
- get longPress() {
29
- return this.longPressing;
30
- }
31
- onMouseDown(event) {
32
- log.d(`MOUSE DOWN `);
33
- if (event.which !== 1)
34
- return;
35
- this.allowTrigger = true;
36
- this.mouseX = event.clientX;
37
- this.mouseY = event.clientY;
38
- this.pressing = true;
39
- this.longPressing = false;
40
- this.timeout = setTimeout(() => {
41
- if (this.allowTrigger) {
42
- this.longPressing = true;
43
- log.d(`long pressing start pressDuration:${this.pressDuration} `);
44
- this.onLongPress.emit(event);
45
- this.loop(event);
46
- }
47
- }, this.pressDuration);
48
- this.loop(event);
49
- }
50
- onMouseMove(event) {
51
- if (this.pressing && !this.longPressing) {
52
- const xThres = event.clientX - this.mouseX > 10;
53
- const yThres = event.clientY - this.mouseY > 10;
54
- if (xThres || yThres) {
55
- this.endPress();
56
- }
57
- }
58
- }
59
- loop(event) {
60
- if (this.longPressing) {
61
- this.timeout = setTimeout(() => {
62
- log.d(`emil longpressing`);
63
- this.triggerEnd();
64
- this.onLongPressing.emit(event);
65
- this.loop(event);
66
- }, 50);
67
- }
68
- }
69
- endPress(emit = true) {
70
- this.allowTrigger = false;
71
- clearTimeout(this.timeout);
72
- this.longPressing = false;
73
- this.pressing = false;
74
- if (emit) {
75
- log.d(`EMIT END`);
76
- this.onLongPressEnd.emit(true);
77
- }
78
- else {
79
- log.d(`NOT EMIT END`);
80
- }
81
- }
82
- onMouseUp() {
83
- this.endPress(false);
84
- }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
86
- 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 }); }
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonLongPress, decorators: [{
89
- type: Directive,
90
- args: [{
91
- selector: '[taonLongPress]',
92
- standalone: true,
93
- }]
94
- }], propDecorators: { pressDuration: [{
95
- type: Input
96
- }], onLongPress: [{
97
- type: Output
98
- }], onLongPressing: [{
99
- type: Output
100
- }], onLongPressEnd: [{
101
- type: Output
102
- }], press: [{
103
- type: HostBinding,
104
- args: ['class.press']
105
- }], longPress: [{
106
- type: HostBinding,
107
- args: ['class.longpress']
108
- }], onMouseDown: [{
109
- type: HostListener,
110
- args: ['mousedown', ['$event']]
111
- }], onMouseMove: [{
112
- type: HostListener,
113
- args: ['mousemove', ['$event']]
114
- }], onMouseUp: [{
115
- type: HostListener,
116
- args: ['mouseup']
117
- }] } });
118
- ;
119
- ({}); // @--end-of-file-for-module=taon lib/ui/directives/taon-long-press.directive.ts
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1sb25nLXByZXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3VpL2RpcmVjdGl2ZXMvdGFvbi1sb25nLXByZXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUksU0FBUyxFQUFJLEtBQUssRUFBSSxNQUFNLEVBQUksWUFBWSxFQUFJLFdBQVcsRUFBSSxZQUFZLEdBQUcsTUFBTSxlQUFlLENBQUMsQ0FBQSxLQUFLO0FBQ3BILEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUdMLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUNoRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQU1yRSxNQUFNLE9BQU8sYUFBYTtJQUoxQjtRQUtXLGtCQUFhLEdBQVcsSUFBSSxDQUFDO1FBRTVCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3pELFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQVkzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixlQUFVLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztL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QUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBR0QsU0FBUztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzs4R0E1RlUsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUp6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFFVSxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQVNILEtBQUs7c0JBRFIsV0FBVzt1QkFBQyxhQUFhO2dCQU10QixTQUFTO3NCQURaLFdBQVc7dUJBQUMsaUJBQWlCO2dCQVc5QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTJCckMsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFvQ3JDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTOztBQU14QixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdGQUFnRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyAgIERpcmVjdGl2ZSwgICBJbnB1dCwgICBPdXRwdXQsICAgRXZlbnRFbWl0dGVyLCAgIEhvc3RCaW5kaW5nLCAgIEhvc3RMaXN0ZW5lciwgfSBmcm9tICdAYW5ndWxhci9jb3JlJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuY29uc3QgbG9nID0gTG9nLmNyZWF0ZShgW3Rhb24taGVscGVyc10gbG9uZy1wcmVzc2AsIExldmVsLl9fTk9USElORyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0YW9uTG9uZ1ByZXNzXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhb25Mb25nUHJlc3Mge1xuICBASW5wdXQoKSBwcmVzc0R1cmF0aW9uOiBudW1iZXIgPSAxMDAwO1xuXG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzc2luZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzc0VuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBwcmVzc2luZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBsb25nUHJlc3Npbmc6IGJvb2xlYW47XG4gIHByaXZhdGUgdGltZW91dDogYW55O1xuICBwcml2YXRlIG1vdXNlWDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBtb3VzZVk6IG51bWJlciA9IDA7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wcmVzcycpXG4gIGdldCBwcmVzcygpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVzc2luZztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubG9uZ3ByZXNzJylcbiAgZ2V0IGxvbmdQcmVzcygpIHtcbiAgICByZXR1cm4gdGhpcy5sb25nUHJlc3Npbmc7XG4gIH1cblxuICBhbGxvd1RyaWdnZXIgPSBmYWxzZTtcbiAgdHJpZ2dlckVuZCA9IF8uZGVib3VuY2UoKCkgPT4ge1xuICAgIHRoaXMuZW5kUHJlc3MoKTtcbiAgfSwgNTAwKTtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBvbk1vdXNlRG93bihldmVudCkge1xuXG4gICAgbG9nLmQoYE1PVVNFIERPV04gYCk7XG5cbiAgICBpZiAoZXZlbnQud2hpY2ggIT09IDEpIHJldHVybjtcbiAgICB0aGlzLmFsbG93VHJpZ2dlciA9IHRydWU7XG5cbiAgICB0aGlzLm1vdXNlWCA9IGV2ZW50LmNsaWVudFg7XG4gICAgdGhpcy5tb3VzZVkgPSBldmVudC5jbGllbnRZO1xuXG4gICAgdGhpcy5wcmVzc2luZyA9IHRydWU7XG4gICAgdGhpcy5sb25nUHJlc3NpbmcgPSBmYWxzZTtcblxuICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYWxsb3dUcmlnZ2VyKSB7XG4gICAgICAgIHRoaXMubG9uZ1ByZXNzaW5nID0gdHJ1ZTtcbiAgICAgICAgbG9nLmQoYGxvbmcgcHJlc3Npbmcgc3RhcnQgIHByZXNzRHVyYXRpb246JHt0aGlzLnByZXNzRHVyYXRpb259IGApO1xuICAgICAgICB0aGlzLm9uTG9uZ1ByZXNzLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLmxvb3AoZXZlbnQpO1xuICAgICAgfVxuICAgIH0sIHRoaXMucHJlc3NEdXJhdGlvbik7XG5cbiAgICB0aGlzLmxvb3AoZXZlbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZU1vdmUoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5wcmVzc2luZyAmJiAhdGhpcy5sb25nUHJlc3NpbmcpIHtcbiAgICAgIGNvbnN0IHhUaHJlcyA9IGV2ZW50LmNsaWVudFggLSB0aGlzLm1vdXNlWCA+IDEwO1xuICAgICAgY29uc3QgeVRocmVzID0gZXZlbnQuY2xpZW50WSAtIHRoaXMubW91c2VZID4gMTA7XG4gICAgICBpZiAoeFRocmVzIHx8IHlUaHJlcykge1xuICAgICAgICB0aGlzLmVuZFByZXNzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbG9vcChldmVudCkge1xuICAgIGlmICh0aGlzLmxvbmdQcmVzc2luZykge1xuICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGxvZy5kKGBlbWlsIGxvbmdwcmVzc2luZ2ApO1xuICAgICAgICB0aGlzLnRyaWdnZXJFbmQoKTtcbiAgICAgICAgdGhpcy5vbkxvbmdQcmVzc2luZy5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgICAgIH0sIDUwKTtcbiAgICB9XG4gIH1cblxuICBlbmRQcmVzcyhlbWl0ID0gdHJ1ZSkge1xuICAgIHRoaXMuYWxsb3dUcmlnZ2VyID0gZmFsc2U7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gICAgdGhpcy5sb25nUHJlc3NpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnByZXNzaW5nID0gZmFsc2U7XG4gICAgaWYgKGVtaXQpIHtcbiAgICAgIGxvZy5kKGBFTUlUIEVORGApO1xuICAgICAgdGhpcy5vbkxvbmdQcmVzc0VuZC5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZChgTk9UIEVNSVQgRU5EYCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2V1cCcpXG4gIG9uTW91c2VVcCgpIHtcbiAgICB0aGlzLmVuZFByZXNzKGZhbHNlKTtcbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvdWkvZGlyZWN0aXZlcy90YW9uLWxvbmctcHJlc3MuZGlyZWN0aXZlLnRzIl19
@@ -1,12 +0,0 @@
1
- export * from './directives';
2
- export * from './taon-full-material.module';
3
- export * from './taon-github-fork-me-corner';
4
- export * from './taon-github-fork-me-corner';
5
- export * from './taon-notifications';
6
- export * from './taon-session-passcode';
7
- export * from './taon-progress-bar';
8
- export * from './taon-table';
9
- export * from './taon-admin-mode-configuration';
10
- ;
11
- ({}); // @--end-of-file-for-module=taon lib/ui/index.ts
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi91aS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlDQUFpQyxDQUFDO0FBRy9DLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaURBQWlEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFvbi1mdWxsLW1hdGVyaWFsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rhb24tZ2l0aHViLWZvcmstbWUtY29ybmVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFvbi1naXRodWItZm9yay1tZS1jb3JuZXInO1xuZXhwb3J0ICogZnJvbSAnLi90YW9uLW5vdGlmaWNhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YW9uLXNlc3Npb24tcGFzc2NvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YW9uLXByb2dyZXNzLWJhcic7XG5leHBvcnQgKiBmcm9tICcuL3Rhb24tdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbic7XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3VpL2luZGV4LnRzIl19
@@ -1,4 +0,0 @@
1
- export * from './taon-admin-mode-configuration.component';
2
- ;
3
- ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/index.ts
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi91aS90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxjQUFjLDJDQUEyQyxDQUFDO0FBR3pELENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0VBQStFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuZXhwb3J0ICogZnJvbSAnLi90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi91aS90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi9pbmRleC50cyJdfQ==
@@ -1,194 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- /* */
3
- /* */
4
- /* */
5
- /* */
6
- /* */
7
- import { CommonModule } from '@angular/common';
8
- import { ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, ViewChild, inject, } from '@angular/core'; /* */
9
- /* */
10
- /* */
11
- /* */
12
- /* */
13
- /* */
14
- /* */
15
- /* */
16
- /* */
17
- /* */
18
- /* */
19
- import { FormsModule } from '@angular/forms';
20
- import { NgScrollbarModule } from 'ngx-scrollbar';
21
- import { Subject, takeUntil } from 'rxjs';
22
- import { StaticColumnsModule } from 'static-columns/browser';
23
- import { BreakpointsService } from 'static-columns/browser';
24
- import { Stor } from 'taon-storage/browser';
25
- import { Helpers, _ } from 'tnp-core/browser';
26
- import { TaonFullMaterialModule } from '../taon-full-material.module';
27
- import { TaonNotificationsModule } from '../taon-notifications';
28
- import { TaonProgressBarModule } from '../taon-progress-bar';
29
- import { TaonSessionPasscodeComponent } from '../taon-session-passcode';
30
- import { TaonAdminService } from './taon-admin.service';
31
- import * as i0 from "@angular/core";
32
- import * as i1 from "static-columns/browser";
33
- import * as i2 from "@angular/common";
34
- import * as i3 from "@angular/forms";
35
- import * as i4 from "ngx-scrollbar";
36
- import * as i5 from "@angular/cdk/drag-drop";
37
- import * as i6 from "@angular/material/button";
38
- import * as i7 from "@angular/material/card";
39
- import * as i8 from "@angular/material/checkbox";
40
- import * as i9 from "@angular/material/icon";
41
- import * as i10 from "@angular/material/sidenav";
42
- import * as i11 from "@angular/material/tabs";
43
- export class TaonAdminModeConfigurationComponent {
44
- get opened() {
45
- return !this.isIframe && this.taonAdminService.adminPanelIsOpen;
46
- }
47
- set opened(v) {
48
- if (v && !this.openedOnce) {
49
- this.openedOnce = true;
50
- }
51
- if (this.wasOpenDraggablePopup) {
52
- this.wasOpenDraggablePopup = false;
53
- this.taonAdminService.draggablePopupMode = true;
54
- }
55
- this.taonAdminService.adminPanelIsOpen = v;
56
- }
57
- constructor(breakpointsService) {
58
- this.breakpointsService = breakpointsService;
59
- this.$destroy = new Subject();
60
- this.cdr = inject(ChangeDetectorRef);
61
- this.taonAdminService = TaonAdminService.Instance;
62
- this.isWebSQLMode = Helpers.isWebSQL;
63
- this.hideTaonToolsInProduction = ENV.hideTaonToolsInProduction && ENV.angularProd;
64
- this.isIframe = window.location !== window.parent.location;
65
- this.height = 100;
66
- this.openedOnce = false;
67
- this.reloading = false;
68
- this.showPasscode = _.isString(ENV.passcode) || _.isObject(ENV.passcode);
69
- this.passcode = _.isString(ENV.passcode)
70
- ? ENV.passcode
71
- : _.isObject(ENV.passcode)
72
- ? ENV.passcode.code
73
- : '';
74
- this.message = _.isObject(ENV.passcode)
75
- ? ENV.passcode.message
76
- : void 0;
77
- this.dragPositionZero = { x: 0, y: 0 };
78
- this.taonAdminModeConfigurationDataChanged = new EventEmitter();
79
- this.taonAdminModeConfigurationData = {};
80
- this.breakpointsService
81
- .listenTo()
82
- .pipe(takeUntil(this.$destroy))
83
- .subscribe(breakpoint => {
84
- // @ts-ignore
85
- this.isDesktop = breakpoint === 'desktop';
86
- });
87
- }
88
- async ngOnInit() {
89
- await Stor.awaitPendingOperatios();
90
- this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
91
- this.openedOnce = this.opened;
92
- }
93
- ngAfterViewInit() {
94
- //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
95
- //Add 'implements AfterViewInit' to the class.
96
- setTimeout(() => {
97
- this.height = window.innerHeight;
98
- if (this.taonAdminService.draggablePopupMode) {
99
- this.reloadTabs();
100
- }
101
- });
102
- }
103
- ngOnDestroy() {
104
- this.$destroy.next(void 0);
105
- this.$destroy.complete();
106
- }
107
- onResize(event) {
108
- this.height = window.innerHeight;
109
- }
110
- async reloadTabs() {
111
- return new Promise(resolve => {
112
- this.reloading = true;
113
- setTimeout(() => {
114
- this.reloading = false;
115
- console.log('reloading done');
116
- resolve();
117
- });
118
- });
119
- }
120
- async toogle() {
121
- this.opened = !this.opened;
122
- }
123
- async toogleFullScreen() {
124
- this.taonAdminService.draggablePopupMode = true;
125
- this.taonAdminService.draggablePopupModeFullScreen =
126
- !this.taonAdminService.draggablePopupModeFullScreen;
127
- this.resetDrag();
128
- }
129
- resetDrag() {
130
- this.dragPositionX = 0;
131
- this.dragPositionY = 0;
132
- this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
133
- }
134
- moved(c) {
135
- this.dragPositionX += c.distance.x;
136
- this.dragPositionY += c.distance.y;
137
- }
138
- scrollTabs(event) {
139
- return;
140
- }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1.BreakpointsService }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TaonAdminModeConfigurationComponent, isStandalone: true, selector: "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 !taonAdminService.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=\"!taonAdminService.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 <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column\n width=\"200\"\n 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 !taonAdminService.draggablePopupModeFullScreen &&\n !taonAdminService.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"\n taonAdminService.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=\"!taonAdminService.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=\"!taonAdminService.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=\"taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.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 <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': taonAdminService.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]=\"taonAdminService.keepWebsqlDbDataAfterReload\"\n (change)=\"\n taonAdminService.setKeepWebsqlDbDataAfterReload(\n $event.checked\n )\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 </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 taonAdminService.draggablePopupMode &&\n !taonAdminService.draggablePopupModeFullScreen &&\n !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 taonAdminService.draggablePopupMode &&\n taonAdminService.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 taonAdminService.draggablePopupMode ||\n taonAdminService.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!taonAdminService.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\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!taonAdminService.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n taonAdminService.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: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: StaticColumnsModule }, { kind: "component", type: i1.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1.DirectiveGrow, selector: "[grow]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgScrollbarModule }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "ngmodule", type: TaonProgressBarModule }, { kind: "ngmodule", type: TaonNotificationsModule }, { kind: "ngmodule", type: TaonFullMaterialModule }, { 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.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.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: i9.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: // TODO import only partial things
143
- TaonSessionPasscodeComponent, selector: "taon-session-passcode", inputs: ["passcode", "message"] }] }); }
144
- }
145
- __decorate([
146
- (Stor.property.in.localstorage
147
- .for(TaonAdminModeConfigurationComponent)
148
- .withDefaultValue(0)),
149
- __metadata("design:type", Number)
150
- ], TaonAdminModeConfigurationComponent.prototype, "dragPositionX", void 0);
151
- __decorate([
152
- (Stor.property.in.localstorage
153
- .for(TaonAdminModeConfigurationComponent)
154
- .withDefaultValue(0)),
155
- __metadata("design:type", Number)
156
- ], TaonAdminModeConfigurationComponent.prototype, "dragPositionY", void 0);
157
- __decorate([
158
- (Stor.property.in.localstorage
159
- .for(TaonAdminModeConfigurationComponent)
160
- .withDefaultValue(0)),
161
- __metadata("design:type", Number)
162
- ], TaonAdminModeConfigurationComponent.prototype, "selectedIndex", void 0);
163
- __decorate([
164
- (Stor.property.in.localstorage
165
- .for(TaonAdminModeConfigurationComponent)
166
- .withDefaultValue(false)),
167
- __metadata("design:type", Boolean)
168
- ], TaonAdminModeConfigurationComponent.prototype, "wasOpenDraggablePopup", void 0);
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TaonAdminModeConfigurationComponent, decorators: [{
170
- type: Component,
171
- args: [{ selector: 'taon-admin-mode-configuration', standalone: true, imports: [
172
- CommonModule,
173
- StaticColumnsModule,
174
- FormsModule,
175
- NgScrollbarModule,
176
- TaonProgressBarModule,
177
- TaonNotificationsModule,
178
- TaonFullMaterialModule, // TODO import only partial things
179
- TaonSessionPasscodeComponent,
180
- ], 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 !taonAdminService.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=\"!taonAdminService.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 <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column\n width=\"200\"\n 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 !taonAdminService.draggablePopupModeFullScreen &&\n !taonAdminService.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"\n taonAdminService.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=\"!taonAdminService.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=\"!taonAdminService.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=\"taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.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 <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': taonAdminService.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]=\"taonAdminService.keepWebsqlDbDataAfterReload\"\n (change)=\"\n taonAdminService.setKeepWebsqlDbDataAfterReload(\n $event.checked\n )\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 </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 taonAdminService.draggablePopupMode &&\n !taonAdminService.draggablePopupModeFullScreen &&\n !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 taonAdminService.draggablePopupMode &&\n taonAdminService.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 taonAdminService.draggablePopupMode ||\n taonAdminService.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!taonAdminService.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\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!taonAdminService.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n taonAdminService.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"] }]
181
- }], ctorParameters: () => [{ type: i1.BreakpointsService }], propDecorators: { tabGroup: [{
182
- type: ViewChild,
183
- args: ['tabGroup']
184
- }], taonAdminModeConfigurationDataChanged: [{
185
- type: Output
186
- }], taonAdminModeConfigurationData: [{
187
- type: Input
188
- }], onResize: [{
189
- type: HostListener,
190
- args: ['window:resize', ['$event']]
191
- }] } });
192
- ;
193
- ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.ts
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUlBLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBSSxpQkFBaUIsRUFBSSxTQUFTLEVBQUksWUFBWSxFQUFJLFlBQVksRUFBZ0IsS0FBSyxFQUFjLE1BQU0sRUFBSSxTQUFTLEVBQUksTUFBTSxHQUE2QixNQUFNLGVBQWUsQ0FBQyxDQUFBLEtBQUs7QUFDak0sS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxXQUFXLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFPLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFD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WUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBMkQxQyxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlIQUFpSCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7ICAgQ2RrRHJhZywgICBDZGtEcmFnRW5kLCAgIENka0RyYWdNb3ZlLCAgIENka0RyYWdSZWxlYXNlLCAgIFBvaW50LCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7ICAgQ2hhbmdlRGV0ZWN0b3JSZWYsICAgQ29tcG9uZW50LCAgIEV2ZW50RW1pdHRlciwgICBIb3N0TGlzdGVuZXIsICAgSW5qZWN0b3IsICAgSW5wdXQsICAgT25Jbml0LCAgIE91dHB1dCwgICBWaWV3Q2hpbGQsICAgaW5qZWN0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdTY3JvbGxiYXJNb2R1bGUgfSBmcm9tICduZ3gtc2Nyb2xsYmFyJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdGF0aWNDb2x1bW5zTW9kdWxlIH0gZnJvbSAnc3RhdGljLWNvbHVtbnMvYnJvd3Nlcic7XG5pbXBvcnQgeyBCcmVha3BvaW50c1NlcnZpY2UgfSBmcm9tICdzdGF0aWMtY29sdW1ucy9icm93c2VyJztcbmltcG9ydCB7IFN0b3IgfSBmcm9tICd0YW9uLXN0b3JhZ2UvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzLCBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmltcG9ydCB7IFRhb25GdWxsTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi90YW9uLWZ1bGwtbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IFRhb25Ob3RpZmljYXRpb25zTW9kdWxlIH0gZnJvbSAnLi4vdGFvbi1ub3RpZmljYXRpb25zJztcbmltcG9ydCB7IFRhb25Qcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJy4uL3Rhb24tcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IFRhb25TZXNzaW9uUGFzc2NvZGVDb21wb25lbnQgfSBmcm9tICcuLi90YW9uLXNlc3Npb24tcGFzc2NvZGUnO1xuXG5pbXBvcnQgeyBUYW9uQWRtaW5TZXJ2aWNlIH0gZnJvbSAnLi90YW9uLWFkbWluLnNlcnZpY2UnO1xuXG5cblxuZGVjbGFyZSBjb25zdCBFTlY6IGFueTtcbkBDb21wb25lbnQoe1xuXG4gIHNlbGVjdG9yOiAndGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN0YXRpY0NvbHVtbnNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTmdTY3JvbGxiYXJNb2R1bGUsXG4gICAgVGFvblByb2dyZXNzQmFyTW9kdWxlLFxuICAgIFRhb25Ob3RpZmljYXRpb25zTW9kdWxlLFxuICAgIFRhb25GdWxsTWF0ZXJpYWxNb2R1bGUsIC8vIFRPRE8gaW1wb3J0IG9ubHkgcGFydGlhbCB0aGluZ3NcblxuICAgIFRhb25TZXNzaW9uUGFzc2NvZGVDb21wb25lbnQsXG4gIF0sXG5cbn0pXG5leHBvcnQgY2xhc3MgVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgJGRlc3Ryb3kgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHVibGljIHJlYWRvbmx5IHRhb25BZG1pblNlcnZpY2U6IFRhb25BZG1pblNlcnZpY2UgPVxuICAgIFRhb25BZG1pblNlcnZpY2UuSW5zdGFuY2U7XG4gIHB1YmxpYyByZWFkb25seSBpc0Rlc2t0b3A6IGJvb2xlYW47XG4gIHB1YmxpYyBpc1dlYlNRTE1vZGU6IGJvb2xlYW4gPSBIZWxwZXJzLmlzV2ViU1FMO1xuICBwdWJsaWMgaGlkZVRhb25Ub29sc0luUHJvZHVjdGlvbjogYm9vbGVhbiA9XG4gICAgRU5WLmhpZGVUYW9uVG9vbHNJblByb2R1Y3Rpb24gJiYgRU5WLmFuZ3VsYXJQcm9kO1xuICBwdWJsaWMgaXNJZnJhbWU6IGJvb2xlYW4gPSB3aW5kb3cubG9jYXRpb24gIT09IHdpbmRvdy5wYXJlbnQubG9jYXRpb247XG4gIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDEwMDtcbiAgcHVibGljIG9wZW5lZE9uY2UgPSBmYWxzZTtcbiAgcHVibGljIHJlbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd1Bhc3Njb2RlOiBib29sZWFuID1cbiAgICBfLmlzU3RyaW5nKEVOVi5wYXNzY29kZSkgfHwgXy5pc09iamVjdChFTlYucGFzc2NvZGUpO1xuICBwdWJsaWMgcGFzc2NvZGU6IHN0cmluZyA9IF8uaXNTdHJpbmcoRU5WLnBhc3Njb2RlKVxuICAgID8gRU5WLnBhc3Njb2RlXG4gICAgOiBfLmlzT2JqZWN0KEVOVi5wYXNzY29kZSlcbiAgICAgID8gRU5WLnBhc3Njb2RlLmNvZGVcbiAgICAgIDogJyc7XG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcgPSBfLmlzT2JqZWN0KEVOVi5wYXNzY29kZSlcbiAgICA/IEVOVi5wYXNzY29kZS5tZXNzYWdlXG4gICAgOiB2b2lkIDA7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBAKFN0b3IucHJvcGVydHkuaW4ubG9jYWxzdG9yYWdlXG4gICAgLmZvcihUYW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkNvbXBvbmVudClcbiAgICAud2l0aERlZmF1bHRWYWx1ZSgwKSlcbiAgZHJhZ1Bvc2l0aW9uWDogbnVtYmVyO1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZVxuICAgIC5mb3IoVGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25Db21wb25lbnQpXG4gICAgLndpdGhEZWZhdWx0VmFsdWUoMCkpXG4gIGRyYWdQb3NpdGlvblk6IG51bWJlcjtcblxuICBkcmFnUG9zaXRpb25aZXJvID0geyB4OiAwLCB5OiAwIH0gYXMgUG9pbnQ7XG4gIGRyYWdQb3NpdGlvbjogUG9pbnQ7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBAKFN0b3IucHJvcGVydHkuaW4ubG9jYWxzdG9yYWdlXG4gICAgLmZvcihUYW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkNvbXBvbmVudClcbiAgICAud2l0aERlZmF1bHRWYWx1ZSgwKSlcbiAgc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkdyb3VwJykgdGFiR3JvdXA7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBAKFN0b3IucHJvcGVydHkuaW4ubG9jYWxzdG9yYWdlXG4gICAgLmZvcihUYW9uQWRtaW5Nb2RlQ29uZmlndXJhdGlvbkNvbXBvbmVudClcbiAgICAud2l0aERlZmF1bHRWYWx1ZShmYWxzZSkpXG4gIHdhc09wZW5EcmFnZ2FibGVQb3B1cDogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgdGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25EYXRhQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgdGFvbkFkbWluTW9kZUNvbmZpZ3VyYXRpb25EYXRhOiBhbnkgPSB7fTtcbiAgcHVibGljIGdldCBvcGVuZWQoKSB7XG4gICAgcmV0dXJuICF0aGlzLmlzSWZyYW1lICYmIHRoaXMudGFvbkFkbWluU2VydmljZS5hZG1pblBhbmVsSXNPcGVuO1xuICB9XG4gIHB1YmxpYyBzZXQgb3BlbmVkKHYpIHtcbiAgICBpZiAodiAmJiAhdGhpcy5vcGVuZWRPbmNlKSB7XG4gICAgICB0aGlzLm9wZW5lZE9uY2UgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy53YXNPcGVuRHJhZ2dhYmxlUG9wdXApIHtcbiAgICAgIHRoaXMud2FzT3BlbkRyYWdnYWJsZVBvcHVwID0gZmFsc2U7XG4gICAgICB0aGlzLnRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy50YW9uQWRtaW5TZXJ2aWNlLmFkbWluUGFuZWxJc09wZW4gPSB2O1xuICB9XG5cblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnJlYWtwb2ludHNTZXJ2aWNlOiBCcmVha3BvaW50c1NlcnZpY2UpIHtcbiAgICB0aGlzLmJyZWFrcG9pbnRzU2VydmljZVxuICAgICAgLmxpc3RlblRvKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiRkZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUoYnJlYWtwb2ludCA9PiB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy5pc0Rlc2t0b3AgPSBicmVha3BvaW50ID09PSAnZGVza3RvcCc7XG4gICAgICB9KTtcbiAgfVxuXG5cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBhd2FpdCBTdG9yLmF3YWl0UGVuZGluZ09wZXJhdGlvcygpO1xuXG5cblxuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uID0geyB4OiB0aGlzLmRyYWdQb3NpdGlvblgsIHk6IHRoaXMuZHJhZ1Bvc2l0aW9uWSB9O1xuICAgIHRoaXMub3BlbmVkT25jZSA9IHRoaXMub3BlbmVkO1xuXG5cblxuXG5cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvL0NhbGxlZCBhZnRlciBuZ0FmdGVyQ29udGVudEluaXQgd2hlbiB0aGUgY29tcG9uZW50J3MgdmlldyBoYXMgYmVlbiBpbml0aWFsaXplZC4gQXBwbGllcyB0byBjb21wb25lbnRzIG9ubHkuXG4gICAgLy9BZGQgJ2ltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCcgdG8gdGhlIGNsYXNzLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5oZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cblxuICAgICAgaWYgKHRoaXMudGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUpIHtcbiAgICAgICAgdGhpcy5yZWxvYWRUYWJzKCk7XG4gICAgICB9XG5cblxuXG5cblxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kZGVzdHJveS5uZXh0KHZvaWQgMCk7XG4gICAgdGhpcy4kZGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIG9uUmVzaXplKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICB9XG5cblxuXG5cbiAgYXN5bmMgcmVsb2FkVGFicygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XG4gICAgICB0aGlzLnJlbG9hZGluZyA9IHRydWU7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5yZWxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgY29uc29sZS5sb2coJ3JlbG9hZGluZyBkb25lJyk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdG9vZ2xlKCkge1xuXG4gICAgdGhpcy5vcGVuZWQgPSAhdGhpcy5vcGVuZWQ7XG4gIH1cblxuICBhc3luYyB0b29nbGVGdWxsU2NyZWVuKCkge1xuICAgIHRoaXMudGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgPSB0cnVlO1xuICAgIHRoaXMudGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuID1cbiAgICAgICF0aGlzLnRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbjtcbiAgICB0aGlzLnJlc2V0RHJhZygpO1xuICB9XG5cbiAgcmVzZXREcmFnKCkge1xuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uWCA9IDA7XG4gICAgdGhpcy5kcmFnUG9zaXRpb25ZID0gMDtcbiAgICB0aGlzLmRyYWdQb3NpdGlvbiA9IHsgeDogdGhpcy5kcmFnUG9zaXRpb25YLCB5OiB0aGlzLmRyYWdQb3NpdGlvblkgfTtcbiAgfVxuXG4gIG1vdmVkKGM6IENka0RyYWdFbmQpIHtcbiAgICB0aGlzLmRyYWdQb3NpdGlvblggKz0gYy5kaXN0YW5jZS54O1xuICAgIHRoaXMuZHJhZ1Bvc2l0aW9uWSArPSBjLmRpc3RhbmNlLnk7XG4gIH1cblxuICBzY3JvbGxUYWJzKGV2ZW50KSB7XG4gICAgcmV0dXJuO1xuXG5cblxuXG5cblxuXG5cblxuXG4gIH1cblxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi91aS90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCI8IS0tICNyZWdpb24gYmFzaWMgZ2xvYmFsIGNvbXBvbmVudHMgIC0tPlxuPHRhb24tc2Vzc2lvbi1wYXNzY29kZVxuICAqbmdJZj1cInNob3dQYXNzY29kZVwiXG4gIFtwYXNzY29kZV09XCJwYXNzY29kZVwiXG4gIFttZXNzYWdlXT1cIm1lc3NhZ2VcIiAvPlxuPCEtLSA8dGFvbi1wcm9ncmVzcy1iYXIgW2lzRGVza3RvcF09XCJpc0Rlc2t0b3BcIj48L3Rhb24tcHJvZ3Jlc3MtYmFyPiAtLT5cbjwhLS0gPHRhb24tbm90aWZpY2F0aW9ucz48L3Rhb24tbm90aWZpY2F0aW9ucz4gLS0+XG48YnV0dG9uXG4gIG1hdC1mYWJcbiAgY2xhc3M9XCJmYWItYnV0dG9uXCJcbiAgY29sb3I9XCJhY2NlbnRcIlxuICBhcmlhLWxhYmVsPVwiVGFvbiBBZG1pbiBNb2RlXCJcbiAgKm5nSWY9XCJcbiAgICAhdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgJiZcbiAgICBpc0Rlc2t0b3AgJiZcbiAgICAhaXNJZnJhbWUgJiZcbiAgICAhaGlkZVRhb25Ub29sc0luUHJvZHVjdGlvblxuICBcIlxuICAoY2xpY2spPVwidG9vZ2xlKClcIj5cbiAgPG1hdC1pY29uPmJ1aWxkPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gc21hbGwgaGlkZGVuIGJ1dHRvbiAtLT5cbjwhLS0gPGJ1dHRvbiBjbGFzcz1cImFkbWluLXNob3ctYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCIhdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgJiYgaXNEZXNrdG9wXCJcbiAgICAgICAgKGNsaWNrKT1cInRvb2dsZSgpXCI+IEFkbWluIDwvYnV0dG9uPiAtLT5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50Tm9TY3JvbGw+XG4gIDxuZy1jb250ZW50PiA8L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1zY3JvbGxiYXI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50Tm9TY3JvbGxcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1zY3JvbGxiYXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tICNyZWdpb24gYWRtaW4gdGFicyAtLT5cbjxuZy10ZW1wbGF0ZSAjYWRtaW5UYWJzPlxuICA8IS0tICNyZWdpb24gYWRtaW4gdGFicyAvIGhlYWRlciAtLT5cbiAgPGRpdiBjbGFzcz1cInRhb24taGVhZGVyLWFkbWluLXdyYXBwZXJcIj5cbiAgICA8Y29sdW1ucy1jb250YWluZXJcbiAgICAgIGNsYXNzPVwidGFvbi1oZWFkZXItYWRtaW5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnZHJhZ2dhYmxlLWNvbHVtbic6IHRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlIH1cIj5cbiAgICAgIDxjb2x1bW5cbiAgICAgICAgd2lkdGg9XCIyMDBcIlxuICAgICAgICBjbGFzcz1cImxvZ28taGVhZGVyXCI+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICAqbmdJZj1cIm9wZW5lZE9uY2VcIlxuICAgICAgICAgIHNyYz1cIi9UVFRUVFRUVE9PT09PT09PX19fX19fX19SUlJSUlJSUkVFRUVFRUVFTU1NTU1NTU1PT09PT09PT1ZWVlZWVlZWRUVFRUVFRUVhc3NldHMvYXNzZXRzLWZvci90YW9uL3NoYXJlZC9sb2dvLWhlYWRlci1hZG1pbi1tb2RlLnBuZ1wiIC8+XG4gICAgICA8L2NvbHVtbj5cblxuICAgICAgPGNvbHVtbiBncm93PlxuICAgICAgICA8IS0tIDxzcGFuPlN1cGVyIEFkbWluIE1vZGU8L3NwYW4+IC0tPlxuICAgICAgPC9jb2x1bW4+XG5cbiAgICAgIDxjb2x1bW5cbiAgICAgICAgd2lkdGg9XCI0MFwiXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgIXRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbiAmJlxuICAgICAgICAgICF0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZVxuICAgICAgICBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwidGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVcIlxuICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgIHRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICBvcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHdhc09wZW5EcmFnZ2FibGVQb3B1cCA9IHRydWVcbiAgICAgICAgICBcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cIiF0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvb2dsZSgpXCJcbiAgICAgICAgICBjbGFzcz1cImFkbWluLWNsb3NlLWJ1dHRvblwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9jb2x1bW4+XG5cbiAgICAgIDxjb2x1bW4gd2lkdGg9XCI0MFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCIhdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuXCJcbiAgICAgICAgICBjbGFzcz1cImFkbWluLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvb2dsZUZ1bGxTY3JlZW4oKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5mdWxsc2NyZWVuPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cInRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlblwiXG4gICAgICAgICAgY2xhc3M9XCJhZG1pbi1jbG9zZS1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJ0b29nbGVGdWxsU2NyZWVuKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2VfZnVsbHNjcmVlbjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9jb2x1bW4+XG5cbiAgICAgIDxjb2x1bW5cbiAgICAgICAgd2lkdGg9XCI0MFwiXG4gICAgICAgICpuZ0lmPVwiIXRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlblwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCIhdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVcIlxuICAgICAgICAgIChjbGljayk9XCJ0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZSA9IHRydWVcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmxhdW5jaDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAqbmdJZj1cInRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlXCJcbiAgICAgICAgICAoY2xpY2spPVwidGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgPSBmYWxzZTsgcmVzZXREcmFnKClcIlxuICAgICAgICAgIGNsYXNzPVwiYWRtaW4tY2xvc2UtYnV0dG9uXCI+XG4gICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwidHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKVwiPmxvZ2luPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2NvbHVtbj5cbiAgICA8L2NvbHVtbnMtY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG4gIDxjb2x1bW5zLWNvbnRhaW5lclxuICAgIFtuZ0NsYXNzXT1cInsgJ2RyYWdnYWJsZS1jb2x1bW4nOiB0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZSB9XCI+XG4gICAgPGNvbHVtbiBncm93PlxuICAgICAgPG1hdC10YWItZ3JvdXBcbiAgICAgICAgZHluYW1pY0hlaWdodFxuICAgICAgICAod2hlZWwpPVwic2Nyb2xsVGFicygkZXZlbnQpXCJcbiAgICAgICAgI3RhYkdyb3VwXG4gICAgICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxuICAgICAgICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJzZWxlY3RlZEluZGV4ID0gJGV2ZW50XCI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiREIvQ2FjaGVcIj5cbiAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtc3VidGl0bGU+V0VCU1FMIE1PREU8L21hdC1jYXJkLXN1YnRpdGxlPlxuICAgICAgICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1dlYlNRTE1vZGVcIlxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidGFvbkFkbWluU2VydmljZS5rZWVwV2Vic3FsRGJEYXRhQWZ0ZXJSZWxvYWRcIlxuICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgdGFvbkFkbWluU2VydmljZS5zZXRLZWVwV2Vic3FsRGJEYXRhQWZ0ZXJSZWxvYWQoXG4gICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmNoZWNrZWRcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgICBEb24ndCByZW1vdmUgZGF0YSB3aGVuIHJlbG9hZGluZ1xuICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICA8dGFvbi1kYi1hZG1pbiAvPlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgPC9jb2x1bW4+XG4gIDwvY29sdW1ucy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuPCEtLSAjZW5kcmVnaW9uIC0tPlxuXG48IS0tICNyZWdpb24gc21hbGwvbW9iaWxlIGRyYWdnYWJsZSBwb3B1cCB3aW5kb3dzIC0tPlxuPGRpdlxuICBjbGFzcz1cImRyYWdnYWJsZS1wb3B1cC1tb2RlLXdpbmRvd1wiXG4gICpuZ0lmPVwiXG4gICAgdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgJiZcbiAgICAhdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuICYmXG4gICAgIWlzSWZyYW1lXG4gIFwiXG4gIGNka0RyYWdcbiAgW2Nka0RyYWdGcmVlRHJhZ1Bvc2l0aW9uXT1cImRyYWdQb3NpdGlvblwiXG4gIChjZGtEcmFnRW5kZWQpPVwibW92ZWQoJGV2ZW50KVwiPlxuICA8bmctc2Nyb2xsYmFyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRtaW5UYWJzXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctc2Nyb2xsYmFyPlxuPC9kaXY+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjwhLS0gI3JlZ2lvbiBmdWxsc2NyZWVuIGRyYWdnYWJsZSBwb3B1cCB3aW5kb3cgLS0+XG48ZGl2XG4gIGNsYXNzPVwiZHJhZ2dhYmxlLXBvcHVwLW1vZGUtd2luZG93LWZ1bGxcIlxuICAqbmdJZj1cIlxuICAgIHRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlICYmXG4gICAgdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGVGdWxsU2NyZWVuICYmXG4gICAgIWlzSWZyYW1lICYmXG4gICAgIXJlbG9hZGluZ1xuICBcIlxuICBjZGtEcmFnXG4gIFtjZGtEcmFnRnJlZURyYWdQb3NpdGlvbl09XCJkcmFnUG9zaXRpb25aZXJvXCI+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRtaW5UYWJzXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjwhLS0gI2VuZHJlZ2lvbiAtLT5cblxuPCEtLSAjcmVnaW9uIGNvbnRlbnQgd2hlbiBub3QgaW4gZHJhZ2dhYmxlIChvciBmdWxsc2NyZWVuIGRyYWdnYWJsZSkgcG9wdXAgLS0+XG48ZGl2XG4gIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgKm5nSWY9XCJcbiAgICAoaXNJZnJhbWUgfHxcbiAgICAgICFpc0Rlc2t0b3AgfHxcbiAgICAgIHRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlIHx8XG4gICAgICB0YW9uQWRtaW5TZXJ2aWNlLmRyYWdnYWJsZVBvcHVwTW9kZUZ1bGxTY3JlZW4pICYmXG4gICAgIXJlbG9hZGluZ1xuICBcIlxuICBzdHlsZT1cIndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9ja1wiXG4gIGNsYXNzPVwiY29udGVudFwiPlxuICA8bmctY29udGFpbmVyXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiXG4gICAgICB0YW9uQWRtaW5TZXJ2aWNlLnNjcm9sbGFibGVFbmFibGVkID8gY29udGVudCA6IGNvbnRlbnROb1Njcm9sbFxuICAgIFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48IS0tICNlbmRyZWdpb24gLS0+XG5cbjwhLS0gI3JlZ2lvbiBkcmFnZ2FibGUgcG9wdXAgd2luZG93IC0tPlxuPG1hdC1kcmF3ZXItY29udGFpbmVyXG4gICpuZ0lmPVwiIXRhb25BZG1pblNlcnZpY2UuZHJhZ2dhYmxlUG9wdXBNb2RlICYmIGlzRGVza3RvcCAmJiAhaXNJZnJhbWVcIlxuICBjbGFzcz1cImV4YW1wbGUtY29udGFpbmVyXCJcbiAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxuICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50XCJcbiAgKGJhY2tkcm9wQ2xpY2spPVwib3BlbmVkID0gZmFsc2VcIlxuICBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIj5cbiAgPG1hdC1kcmF3ZXJcbiAgICAjZHJhd2VyXG4gICAgc3R5bGU9XCJ3aWR0aDogNTgwcHhcIlxuICAgIFtvcGVuZWRdPVwib3BlbmVkXCJcbiAgICBbbW9kZV09XCInc2lkZSdcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkbWluVGFic1wiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC1kcmF3ZXI+XG4gIDxtYXQtZHJhd2VyLWNvbnRlbnQgc3R5bGU9XCJvdmVyZmxvdzogaGlkZGVuXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCIhdGFvbkFkbWluU2VydmljZS5kcmFnZ2FibGVQb3B1cE1vZGUgJiYgIXJlbG9hZGluZ1wiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgICAgdGFvbkFkbWluU2VydmljZS5zY3JvbGxhYmxlRW5hYmxlZCA/IGNvbnRlbnQgOiBjb250ZW50Tm9TY3JvbGxcbiAgICAgIFwiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC1kcmF3ZXItY29udGVudD5cbjwvbWF0LWRyYXdlci1jb250YWluZXI+XG48IS0tICNlbmRyZWdpb24gLS0+XG4iXX0=
@@ -1,55 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Stor } from 'taon-storage/browser';
3
- import { Helpers } from 'tnp-core/browser';
4
- import { Subject } from 'rxjs';
5
- const ENV = Helpers.isBrowser ? window['ENV'] : global['ENV'];
6
- export class TaonAdminService {
7
- static get Instance() {
8
- if (!this._instance) {
9
- this._instance = new TaonAdminService();
10
- }
11
- return this._instance;
12
- }
13
- constructor() {
14
- this.scrollableEnabled = false; // TOOD false by default
15
- this.onEditMode = new Subject();
16
- this.onEditMode$ = this.onEditMode.asObservable();
17
- this.enabledTabs = [];
18
- TaonAdminService._instance = this;
19
- this.scrollableEnabled = !!ENV?.useGlobalNgxScrollbar;
20
- }
21
- setEditMode(value) {
22
- this.onEditMode.next(value);
23
- }
24
- setKeepWebsqlDbDataAfterReload(value) {
25
- this.keepWebsqlDbDataAfterReload = value;
26
- }
27
- hide() {
28
- this.draggablePopupMode = false;
29
- this.adminPanelIsOpen = false;
30
- }
31
- show() {
32
- this.draggablePopupMode = false;
33
- this.adminPanelIsOpen = true;
34
- }
35
- logout() { }
36
- }
37
- __decorate([
38
- (Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
39
- __metadata("design:type", Boolean)
40
- ], TaonAdminService.prototype, "adminPanelIsOpen", void 0);
41
- __decorate([
42
- (Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
43
- __metadata("design:type", Boolean)
44
- ], TaonAdminService.prototype, "draggablePopupMode", void 0);
45
- __decorate([
46
- (Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
47
- __metadata("design:type", Boolean)
48
- ], TaonAdminService.prototype, "draggablePopupModeFullScreen", void 0);
49
- __decorate([
50
- (Stor.property.in.localstorage.for(TaonAdminService).withDefaultValue(false)),
51
- __metadata("design:type", Boolean)
52
- ], TaonAdminService.prototype, "keepWebsqlDbDataAfterReload", void 0);
53
- ;
54
- ({}); // @--end-of-file-for-module=taon lib/ui/taon-admin-mode-configuration/taon-admin.service.ts
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1hZG1pbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvdWkvdGFvbi1hZG1pbi1tb2RlLWNvbmZpZ3VyYXRpb24vdGFvbi1hZG1pbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBSyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQXdCLE1BQU0sTUFBTSxDQUFDO0FBT3JELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRzlELE1BQU0sT0FBTyxnQkFBZ0I7SUFHcEIsTUFBTSxLQUFLLFFBQVE7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUVwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFxQ0Q7UUFqQ08sc0JBQWlCLEdBQUcsS0FBSyxDQUFDLENBQUMsd0JBQXdCO1FBQ2xELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQWlEN0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFqQmYsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQztJQUN4RCxDQUFDO0lBSUQsV0FBVyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELDhCQUE4QixDQUFDLEtBQWM7UUFJM0MsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBSUQsSUFBSTtRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxLQUFJLENBQUM7Q0FFWjtBQTFEUTtJQUROLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDOzswREFDN0M7QUFNMUI7SUFETixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7NERBQzNDO0FBTTVCO0lBRE4sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7O3NFQUNqQztBQVF0QztJQUROLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDOztxRUFDbEM7QUF3QzdDLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEZBQTRGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgU3RvciB9IGZyb20gJ3Rhb24tc3RvcmFnZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMsIF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IFRhb25BZG1pbk1vZGVDb25maWd1cmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi90YW9uLWFkbWluLW1vZGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2xvYmFsUHVibGljU3RvcmFnZSB9IGZyb20gJy4uLy4uL3N0b3JhZ2UnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5jb25zdCBFTlYgPSBIZWxwZXJzLmlzQnJvd3NlciA/IHdpbmRvd1snRU5WJ10gOiBnbG9iYWxbJ0VOViddO1xuXG5cbmV4cG9ydCBjbGFzcyBUYW9uQWRtaW5TZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IFRhb25BZG1pblNlcnZpY2U7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0IEluc3RhbmNlKCkge1xuICAgIGlmICghdGhpcy5faW5zdGFuY2UpIHtcblxuICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgVGFvbkFkbWluU2VydmljZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XG4gIH1cblxuXG5cbiAgcHVibGljIHNjcm9sbGFibGVFbmFibGVkID0gZmFsc2U7IC8vIFRPT0QgZmFsc2UgYnkgZGVmYXVsdFxuICBwcml2YXRlIG9uRWRpdE1vZGUgPSBuZXcgU3ViamVjdCgpO1xuICBvbkVkaXRNb2RlJCA9IHRoaXMub25FZGl0TW9kZS5hc09ic2VydmFibGUoKTtcblxuXG5cbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZS5mb3IoVGFvbkFkbWluU2VydmljZSkud2l0aERlZmF1bHRWYWx1ZShmYWxzZSkpXG4gIHB1YmxpYyBhZG1pblBhbmVsSXNPcGVuOiBib29sZWFuO1xuXG5cblxuXG4gIEAoU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2UuZm9yKFRhb25BZG1pblNlcnZpY2UpLndpdGhEZWZhdWx0VmFsdWUoZmFsc2UpKVxuICBwdWJsaWMgZHJhZ2dhYmxlUG9wdXBNb2RlOiBib29sZWFuO1xuXG5cblxuXG4gIEAoU3Rvci5wcm9wZXJ0eS5pbi5sb2NhbHN0b3JhZ2UuZm9yKFRhb25BZG1pblNlcnZpY2UpLndpdGhEZWZhdWx0VmFsdWUoZmFsc2UpKVxuICBwdWJsaWMgZHJhZ2dhYmxlUG9wdXBNb2RlRnVsbFNjcmVlbjogYm9vbGVhbjtcblxuXG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IHVzZWQgaW4gdGFvblxuICAgKi9cbiAgQChTdG9yLnByb3BlcnR5LmluLmxvY2Fsc3RvcmFnZS5mb3IoVGFvbkFkbWluU2VydmljZSkud2l0aERlZmF1bHRWYWx1ZShmYWxzZSkpXG4gIHB1YmxpYyBrZWVwV2Vic3FsRGJEYXRhQWZ0ZXJSZWxvYWQ6IGJvb2xlYW47XG5cblxuXG5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBUYW9uQWRtaW5TZXJ2aWNlLl9pbnN0YW5jZSA9IHRoaXM7XG4gICAgdGhpcy5zY3JvbGxhYmxlRW5hYmxlZCA9ICEhRU5WPy51c2VHbG9iYWxOZ3hTY3JvbGxiYXI7XG4gIH1cblxuXG5cbiAgc2V0RWRpdE1vZGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9uRWRpdE1vZGUubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBzZXRLZWVwV2Vic3FsRGJEYXRhQWZ0ZXJSZWxvYWQodmFsdWU6IGJvb2xlYW4pIHtcblxuXG5cbiAgICB0aGlzLmtlZXBXZWJzcWxEYkRhdGFBZnRlclJlbG9hZCA9IHZhbHVlO1xuICB9XG5cbiAgZW5hYmxlZFRhYnMgPSBbXTtcblxuICBoaWRlKCkge1xuICAgIHRoaXMuZHJhZ2dhYmxlUG9wdXBNb2RlID0gZmFsc2U7XG4gICAgdGhpcy5hZG1pblBhbmVsSXNPcGVuID0gZmFsc2U7XG4gIH1cblxuICBzaG93KCkge1xuICAgIHRoaXMuZHJhZ2dhYmxlUG9wdXBNb2RlID0gZmFsc2U7XG4gICAgdGhpcy5hZG1pblBhbmVsSXNPcGVuID0gdHJ1ZTtcbiAgfVxuXG4gIGxvZ291dCgpIHt9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3VpL3Rhb24tYWRtaW4tbW9kZS1jb25maWd1cmF0aW9uL3Rhb24tYWRtaW4uc2VydmljZS50cyJdfQ==