@dereekb/dbx-firebase 12.6.21 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/LICENSE +1 -1
  2. package/fesm2022/dereekb-dbx-firebase.mjs +910 -1396
  3. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  4. package/package.json +21 -23
  5. package/types/dereekb-dbx-firebase.d.ts +4304 -0
  6. package/esm2022/dereekb-dbx-firebase.mjs +0 -5
  7. package/esm2022/index.mjs +0 -2
  8. package/esm2022/lib/analytics/analytics.user.events.providers.mjs +0 -25
  9. package/esm2022/lib/analytics/analytics.user.events.service.mjs +0 -37
  10. package/esm2022/lib/analytics/analytics.user.source.mjs +0 -48
  11. package/esm2022/lib/analytics/index.mjs +0 -4
  12. package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +0 -76
  13. package/esm2022/lib/auth/appcheck/appcheck.mjs +0 -11
  14. package/esm2022/lib/auth/appcheck/index.mjs +0 -3
  15. package/esm2022/lib/auth/auth.mjs +0 -22
  16. package/esm2022/lib/auth/firebase.auth.module.mjs +0 -22
  17. package/esm2022/lib/auth/firebase.auth.providers.mjs +0 -27
  18. package/esm2022/lib/auth/index.mjs +0 -7
  19. package/esm2022/lib/auth/login/firebase.login.module.mjs +0 -124
  20. package/esm2022/lib/auth/login/firebase.login.providers.default.mjs +0 -109
  21. package/esm2022/lib/auth/login/firebase.login.providers.mjs +0 -59
  22. package/esm2022/lib/auth/login/index.mjs +0 -27
  23. package/esm2022/lib/auth/login/login.anonymous.component.mjs +0 -23
  24. package/esm2022/lib/auth/login/login.apple.component.mjs +0 -23
  25. package/esm2022/lib/auth/login/login.button.component.mjs +0 -148
  26. package/esm2022/lib/auth/login/login.component.mjs +0 -39
  27. package/esm2022/lib/auth/login/login.context.back.component.mjs +0 -26
  28. package/esm2022/lib/auth/login/login.context.directive.mjs +0 -30
  29. package/esm2022/lib/auth/login/login.context.mjs +0 -7
  30. package/esm2022/lib/auth/login/login.email.component.mjs +0 -24
  31. package/esm2022/lib/auth/login/login.email.content.component.mjs +0 -102
  32. package/esm2022/lib/auth/login/login.email.form.component.mjs +0 -27
  33. package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +0 -21
  34. package/esm2022/lib/auth/login/login.facebook.component.mjs +0 -23
  35. package/esm2022/lib/auth/login/login.github.component.mjs +0 -23
  36. package/esm2022/lib/auth/login/login.google.component.mjs +0 -23
  37. package/esm2022/lib/auth/login/login.list.component.mjs +0 -71
  38. package/esm2022/lib/auth/login/login.microsoft.component.mjs +0 -23
  39. package/esm2022/lib/auth/login/login.mjs +0 -3
  40. package/esm2022/lib/auth/login/login.password.mjs +0 -4
  41. package/esm2022/lib/auth/login/login.service.mjs +0 -127
  42. package/esm2022/lib/auth/login/login.terms.component.mjs +0 -29
  43. package/esm2022/lib/auth/login/login.terms.mjs +0 -6
  44. package/esm2022/lib/auth/login/login.terms.simple.component.mjs +0 -38
  45. package/esm2022/lib/auth/login/login.twitter.component.mjs +0 -23
  46. package/esm2022/lib/auth/login/register.component.mjs +0 -27
  47. package/esm2022/lib/auth/login/register.email.component.mjs +0 -23
  48. package/esm2022/lib/auth/service/firebase.auth.rxjs.mjs +0 -46
  49. package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +0 -28
  50. package/esm2022/lib/auth/service/firebase.auth.service.mjs +0 -193
  51. package/esm2022/lib/auth/service/index.mjs +0 -4
  52. package/esm2022/lib/development/development.directive.mjs +0 -78
  53. package/esm2022/lib/development/development.module.mjs +0 -61
  54. package/esm2022/lib/development/development.popup.component.mjs +0 -44
  55. package/esm2022/lib/development/development.popup.content.component.mjs +0 -79
  56. package/esm2022/lib/development/development.popup.content.form.component.mjs +0 -39
  57. package/esm2022/lib/development/development.providers.mjs +0 -47
  58. package/esm2022/lib/development/development.scheduler.list.component.mjs +0 -79
  59. package/esm2022/lib/development/development.scheduler.service.mjs +0 -78
  60. package/esm2022/lib/development/development.scheduler.widget.component.mjs +0 -40
  61. package/esm2022/lib/development/development.service.mjs +0 -20
  62. package/esm2022/lib/development/development.widget.mjs +0 -2
  63. package/esm2022/lib/development/development.widget.service.mjs +0 -56
  64. package/esm2022/lib/development/index.mjs +0 -14
  65. package/esm2022/lib/firebase/appcheck.mjs +0 -2
  66. package/esm2022/lib/firebase/emulators.mjs +0 -14
  67. package/esm2022/lib/firebase/firebase.emulator.module.mjs +0 -23
  68. package/esm2022/lib/firebase/firebase.emulator.providers.mjs +0 -33
  69. package/esm2022/lib/firebase/firebase.emulator.service.mjs +0 -29
  70. package/esm2022/lib/firebase/firebase.module.mjs +0 -26
  71. package/esm2022/lib/firebase/firebase.options.environment.mjs +0 -2
  72. package/esm2022/lib/firebase/firebase.options.mjs +0 -3
  73. package/esm2022/lib/firebase/firebase.providers.mjs +0 -149
  74. package/esm2022/lib/firebase/index.mjs +0 -10
  75. package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +0 -18
  76. package/esm2022/lib/firestore/firebase.firestore.mjs +0 -6
  77. package/esm2022/lib/firestore/firebase.firestore.module.mjs +0 -23
  78. package/esm2022/lib/firestore/firebase.firestore.providers.mjs +0 -86
  79. package/esm2022/lib/firestore/index.mjs +0 -5
  80. package/esm2022/lib/function/firebase.function.module.mjs +0 -23
  81. package/esm2022/lib/function/firebase.function.providers.mjs +0 -54
  82. package/esm2022/lib/function/index.mjs +0 -3
  83. package/esm2022/lib/index.mjs +0 -14
  84. package/esm2022/lib/model/error.mjs +0 -6
  85. package/esm2022/lib/model/index.mjs +0 -7
  86. package/esm2022/lib/model/loader/collection.change.trigger.mjs +0 -80
  87. package/esm2022/lib/model/loader/collection.change.watcher.mjs +0 -35
  88. package/esm2022/lib/model/loader/collection.loader.instance.mjs +0 -227
  89. package/esm2022/lib/model/loader/collection.loader.mjs +0 -2
  90. package/esm2022/lib/model/loader/document.loader.instance.mjs +0 -68
  91. package/esm2022/lib/model/loader/document.loader.mjs +0 -2
  92. package/esm2022/lib/model/loader/index.mjs +0 -7
  93. package/esm2022/lib/model/model.module.mjs +0 -17
  94. package/esm2022/lib/model/modules/index.mjs +0 -3
  95. package/esm2022/lib/model/modules/model/entities/index.mjs +0 -11
  96. package/esm2022/lib/model/modules/model/entities/model.entities.component.mjs +0 -122
  97. package/esm2022/lib/model/modules/model/entities/model.entities.entity.component.mjs +0 -79
  98. package/esm2022/lib/model/modules/model/entities/model.entities.mjs +0 -15
  99. package/esm2022/lib/model/modules/model/entities/model.entities.popover.button.component.mjs +0 -49
  100. package/esm2022/lib/model/modules/model/entities/model.entities.popover.component.mjs +0 -42
  101. package/esm2022/lib/model/modules/model/entities/model.entities.providers.mjs +0 -20
  102. package/esm2022/lib/model/modules/model/entities/model.entities.source.directive.mjs +0 -38
  103. package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.mjs +0 -18
  104. package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.mjs +0 -41
  105. package/esm2022/lib/model/modules/model/entities/model.entities.widget.mjs +0 -51
  106. package/esm2022/lib/model/modules/model/entities/model.entities.widget.service.mjs +0 -91
  107. package/esm2022/lib/model/modules/model/history/index.mjs +0 -7
  108. package/esm2022/lib/model/modules/model/history/model.history.component.mjs +0 -36
  109. package/esm2022/lib/model/modules/model/history/model.history.module.mjs +0 -26
  110. package/esm2022/lib/model/modules/model/history/model.history.popover.button.component.mjs +0 -40
  111. package/esm2022/lib/model/modules/model/history/model.history.popover.component.mjs +0 -36
  112. package/esm2022/lib/model/modules/model/history/model.sourceselect.history.mjs +0 -18
  113. package/esm2022/lib/model/modules/model/history/model.tracker.service.mjs +0 -58
  114. package/esm2022/lib/model/modules/model/index.mjs +0 -8
  115. package/esm2022/lib/model/modules/model/model.key.component.mjs +0 -51
  116. package/esm2022/lib/model/modules/model/model.types.list.component.mjs +0 -67
  117. package/esm2022/lib/model/modules/model/model.types.module.mjs +0 -26
  118. package/esm2022/lib/model/modules/model/model.types.providers.mjs +0 -20
  119. package/esm2022/lib/model/modules/model/model.types.service.mjs +0 -122
  120. package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +0 -45
  121. package/esm2022/lib/model/modules/store/index.mjs +0 -22
  122. package/esm2022/lib/model/modules/store/model.store.module.mjs +0 -21
  123. package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +0 -45
  124. package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +0 -42
  125. package/esm2022/lib/model/modules/store/store.collection.crud.mjs +0 -28
  126. package/esm2022/lib/model/modules/store/store.collection.directive.mjs +0 -99
  127. package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +0 -31
  128. package/esm2022/lib/model/modules/store/store.collection.mjs +0 -79
  129. package/esm2022/lib/model/modules/store/store.document.context.store.directive.mjs +0 -19
  130. package/esm2022/lib/model/modules/store/store.document.context.store.link.mjs +0 -45
  131. package/esm2022/lib/model/modules/store/store.document.context.store.mjs +0 -86
  132. package/esm2022/lib/model/modules/store/store.document.crud.mjs +0 -80
  133. package/esm2022/lib/model/modules/store/store.document.directive.mjs +0 -114
  134. package/esm2022/lib/model/modules/store/store.document.mjs +0 -193
  135. package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +0 -26
  136. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +0 -22
  137. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.mjs +0 -16
  138. package/esm2022/lib/model/modules/store/store.mjs +0 -2
  139. package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +0 -44
  140. package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +0 -99
  141. package/esm2022/lib/model/modules/store/store.subcollection.mjs +0 -80
  142. package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +0 -23
  143. package/esm2022/lib/model/service/index.mjs +0 -5
  144. package/esm2022/lib/model/service/model.context.instance.mjs +0 -73
  145. package/esm2022/lib/model/service/model.context.mjs +0 -2
  146. package/esm2022/lib/model/service/model.context.providers.mjs +0 -32
  147. package/esm2022/lib/model/service/model.context.service.mjs +0 -38
  148. package/esm2022/lib/model/system/index.mjs +0 -6
  149. package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +0 -20
  150. package/esm2022/lib/model/system/systemstate.collection.store.mjs +0 -16
  151. package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +0 -35
  152. package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +0 -19
  153. package/esm2022/lib/model/system/systemstate.document.store.mjs +0 -16
  154. package/esm2022/lib/module.mjs +0 -15
  155. package/esm2022/lib/modules/index.mjs +0 -3
  156. package/esm2022/lib/modules/notification/component/index.mjs +0 -6
  157. package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +0 -15
  158. package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +0 -90
  159. package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +0 -37
  160. package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +0 -27
  161. package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +0 -14
  162. package/esm2022/lib/modules/notification/container/index.mjs +0 -3
  163. package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +0 -48
  164. package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +0 -35
  165. package/esm2022/lib/modules/notification/index.mjs +0 -7
  166. package/esm2022/lib/modules/notification/notification.module.mjs +0 -103
  167. package/esm2022/lib/modules/notification/notification.providers.mjs +0 -47
  168. package/esm2022/lib/modules/notification/service/index.mjs +0 -4
  169. package/esm2022/lib/modules/notification/service/notification.template.service.mjs +0 -28
  170. package/esm2022/lib/modules/notification/service/notificationitem.widget.mjs +0 -11
  171. package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +0 -55
  172. package/esm2022/lib/modules/notification/store/index.mjs +0 -18
  173. package/esm2022/lib/modules/notification/store/notification.collection.store.directive.mjs +0 -21
  174. package/esm2022/lib/modules/notification/store/notification.collection.store.mjs +0 -23
  175. package/esm2022/lib/modules/notification/store/notification.document.store.directive.mjs +0 -21
  176. package/esm2022/lib/modules/notification/store/notification.document.store.mjs +0 -33
  177. package/esm2022/lib/modules/notification/store/notification.item.store.mjs +0 -30
  178. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +0 -21
  179. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +0 -16
  180. package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +0 -21
  181. package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +0 -22
  182. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +0 -21
  183. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +0 -16
  184. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +0 -21
  185. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +0 -34
  186. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +0 -21
  187. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +0 -16
  188. package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +0 -21
  189. package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +0 -18
  190. package/esm2022/lib/modules/storagefile/container/index.mjs +0 -8
  191. package/esm2022/lib/modules/storagefile/container/storagefile.download.button.component.mjs +0 -278
  192. package/esm2022/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.mjs +0 -118
  193. package/esm2022/lib/modules/storagefile/container/storagefile.upload.error.mjs +0 -12
  194. package/esm2022/lib/modules/storagefile/container/storagefile.upload.handler.mjs +0 -260
  195. package/esm2022/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.mjs +0 -51
  196. package/esm2022/lib/modules/storagefile/container/storagefile.upload.store.directive.mjs +0 -38
  197. package/esm2022/lib/modules/storagefile/container/storagefile.upload.sync.directive.mjs +0 -36
  198. package/esm2022/lib/modules/storagefile/index.mjs +0 -6
  199. package/esm2022/lib/modules/storagefile/service/index.mjs +0 -3
  200. package/esm2022/lib/modules/storagefile/service/storagefile.download.service.mjs +0 -158
  201. package/esm2022/lib/modules/storagefile/service/storagefile.download.storage.service.mjs +0 -91
  202. package/esm2022/lib/modules/storagefile/storagefile.providers.mjs +0 -33
  203. package/esm2022/lib/modules/storagefile/storagefile.upload.module.mjs +0 -83
  204. package/esm2022/lib/modules/storagefile/store/index.mjs +0 -8
  205. package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.directive.mjs +0 -22
  206. package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.mjs +0 -18
  207. package/esm2022/lib/modules/storagefile/store/storagefile.document.store.directive.mjs +0 -21
  208. package/esm2022/lib/modules/storagefile/store/storagefile.document.store.mjs +0 -23
  209. package/esm2022/lib/modules/storagefile/store/storagefile.upload.store.mjs +0 -63
  210. package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.directive.mjs +0 -21
  211. package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.mjs +0 -18
  212. package/esm2022/lib/pipe/index.mjs +0 -4
  213. package/esm2022/lib/pipe/key.flat.pipe.mjs +0 -20
  214. package/esm2022/lib/pipe/key.twoway.pipe.mjs +0 -20
  215. package/esm2022/lib/pipe/pipe.module.mjs +0 -23
  216. package/esm2022/lib/providers.mjs +0 -48
  217. package/esm2022/lib/router/id.param.redirect.mjs +0 -64
  218. package/esm2022/lib/router/index.mjs +0 -2
  219. package/esm2022/lib/storage/firebase.storage.mjs +0 -10
  220. package/esm2022/lib/storage/firebase.storage.module.mjs +0 -22
  221. package/esm2022/lib/storage/firebase.storage.providers.mjs +0 -44
  222. package/esm2022/lib/storage/firebase.storage.service.mjs +0 -27
  223. package/esm2022/lib/storage/index.mjs +0 -5
  224. package/index.d.ts +0 -1
  225. package/lib/analytics/analytics.user.events.providers.d.ts +0 -6
  226. package/lib/analytics/analytics.user.events.service.d.ts +0 -19
  227. package/lib/analytics/analytics.user.source.d.ts +0 -21
  228. package/lib/analytics/index.d.ts +0 -3
  229. package/lib/auth/appcheck/appcheck.d.ts +0 -8
  230. package/lib/auth/appcheck/appcheck.interceptor.d.ts +0 -15
  231. package/lib/auth/appcheck/index.d.ts +0 -2
  232. package/lib/auth/auth.d.ts +0 -15
  233. package/lib/auth/firebase.auth.module.d.ts +0 -13
  234. package/lib/auth/firebase.auth.providers.d.ts +0 -21
  235. package/lib/auth/index.d.ts +0 -6
  236. package/lib/auth/login/firebase.login.module.d.ts +0 -36
  237. package/lib/auth/login/firebase.login.providers.d.ts +0 -32
  238. package/lib/auth/login/firebase.login.providers.default.d.ts +0 -7
  239. package/lib/auth/login/index.d.ts +0 -26
  240. package/lib/auth/login/login.anonymous.component.d.ts +0 -8
  241. package/lib/auth/login/login.apple.component.d.ts +0 -8
  242. package/lib/auth/login/login.button.component.d.ts +0 -53
  243. package/lib/auth/login/login.component.d.ts +0 -14
  244. package/lib/auth/login/login.context.back.component.d.ts +0 -8
  245. package/lib/auth/login/login.context.d.ts +0 -6
  246. package/lib/auth/login/login.context.directive.d.ts +0 -10
  247. package/lib/auth/login/login.d.ts +0 -7
  248. package/lib/auth/login/login.email.component.d.ts +0 -8
  249. package/lib/auth/login/login.email.content.component.d.ts +0 -41
  250. package/lib/auth/login/login.email.form.component.d.ts +0 -17
  251. package/lib/auth/login/login.email.recovery.form.component.d.ts +0 -11
  252. package/lib/auth/login/login.facebook.component.d.ts +0 -8
  253. package/lib/auth/login/login.github.component.d.ts +0 -8
  254. package/lib/auth/login/login.google.component.d.ts +0 -8
  255. package/lib/auth/login/login.list.component.d.ts +0 -21
  256. package/lib/auth/login/login.microsoft.component.d.ts +0 -8
  257. package/lib/auth/login/login.password.d.ts +0 -3
  258. package/lib/auth/login/login.service.d.ts +0 -115
  259. package/lib/auth/login/login.terms.component.d.ts +0 -9
  260. package/lib/auth/login/login.terms.d.ts +0 -18
  261. package/lib/auth/login/login.terms.simple.component.d.ts +0 -9
  262. package/lib/auth/login/login.twitter.component.d.ts +0 -8
  263. package/lib/auth/login/register.component.d.ts +0 -12
  264. package/lib/auth/login/register.email.component.d.ts +0 -8
  265. package/lib/auth/service/firebase.auth.rxjs.d.ts +0 -23
  266. package/lib/auth/service/firebase.auth.service.d.ts +0 -95
  267. package/lib/auth/service/firebase.auth.service.delegate.d.ts +0 -25
  268. package/lib/auth/service/index.d.ts +0 -3
  269. package/lib/development/development.directive.d.ts +0 -24
  270. package/lib/development/development.module.d.ts +0 -15
  271. package/lib/development/development.popup.component.d.ts +0 -14
  272. package/lib/development/development.popup.content.component.d.ts +0 -49
  273. package/lib/development/development.popup.content.form.component.d.ts +0 -17
  274. package/lib/development/development.providers.d.ts +0 -32
  275. package/lib/development/development.scheduler.list.component.d.ts +0 -23
  276. package/lib/development/development.scheduler.service.d.ts +0 -31
  277. package/lib/development/development.scheduler.widget.component.d.ts +0 -12
  278. package/lib/development/development.service.d.ts +0 -16
  279. package/lib/development/development.widget.d.ts +0 -8
  280. package/lib/development/development.widget.service.d.ts +0 -29
  281. package/lib/development/index.d.ts +0 -13
  282. package/lib/firebase/appcheck.d.ts +0 -21
  283. package/lib/firebase/emulators.d.ts +0 -60
  284. package/lib/firebase/firebase.emulator.module.d.ts +0 -14
  285. package/lib/firebase/firebase.emulator.providers.d.ts +0 -13
  286. package/lib/firebase/firebase.emulator.service.d.ts +0 -11
  287. package/lib/firebase/firebase.module.d.ts +0 -14
  288. package/lib/firebase/firebase.options.d.ts +0 -36
  289. package/lib/firebase/firebase.options.environment.d.ts +0 -10
  290. package/lib/firebase/firebase.providers.d.ts +0 -51
  291. package/lib/firebase/index.d.ts +0 -9
  292. package/lib/firestore/firebase.firestore.context.service.d.ts +0 -10
  293. package/lib/firestore/firebase.firestore.d.ts +0 -5
  294. package/lib/firestore/firebase.firestore.module.d.ts +0 -15
  295. package/lib/firestore/firebase.firestore.providers.d.ts +0 -62
  296. package/lib/firestore/index.d.ts +0 -4
  297. package/lib/function/firebase.function.module.d.ts +0 -16
  298. package/lib/function/firebase.function.providers.d.ts +0 -43
  299. package/lib/function/index.d.ts +0 -2
  300. package/lib/index.d.ts +0 -13
  301. package/lib/model/error.d.ts +0 -2
  302. package/lib/model/index.d.ts +0 -6
  303. package/lib/model/loader/collection.change.trigger.d.ts +0 -57
  304. package/lib/model/loader/collection.change.watcher.d.ts +0 -44
  305. package/lib/model/loader/collection.loader.d.ts +0 -61
  306. package/lib/model/loader/collection.loader.instance.d.ts +0 -110
  307. package/lib/model/loader/document.loader.d.ts +0 -75
  308. package/lib/model/loader/document.loader.instance.d.ts +0 -46
  309. package/lib/model/loader/index.d.ts +0 -6
  310. package/lib/model/model.module.d.ts +0 -9
  311. package/lib/model/modules/index.d.ts +0 -2
  312. package/lib/model/modules/model/entities/index.d.ts +0 -10
  313. package/lib/model/modules/model/entities/model.entities.component.d.ts +0 -47
  314. package/lib/model/modules/model/entities/model.entities.d.ts +0 -60
  315. package/lib/model/modules/model/entities/model.entities.entity.component.d.ts +0 -43
  316. package/lib/model/modules/model/entities/model.entities.popover.button.component.d.ts +0 -30
  317. package/lib/model/modules/model/entities/model.entities.popover.component.d.ts +0 -59
  318. package/lib/model/modules/model/entities/model.entities.providers.d.ts +0 -22
  319. package/lib/model/modules/model/entities/model.entities.source.directive.d.ts +0 -8
  320. package/lib/model/modules/model/entities/model.entities.widget.d.ts +0 -30
  321. package/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.d.ts +0 -13
  322. package/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.d.ts +0 -17
  323. package/lib/model/modules/model/entities/model.entities.widget.service.d.ts +0 -74
  324. package/lib/model/modules/model/history/index.d.ts +0 -6
  325. package/lib/model/modules/model/history/model.history.component.d.ts +0 -16
  326. package/lib/model/modules/model/history/model.history.module.d.ts +0 -16
  327. package/lib/model/modules/model/history/model.history.popover.button.component.d.ts +0 -16
  328. package/lib/model/modules/model/history/model.history.popover.component.d.ts +0 -50
  329. package/lib/model/modules/model/history/model.sourceselect.history.d.ts +0 -32
  330. package/lib/model/modules/model/history/model.tracker.service.d.ts +0 -43
  331. package/lib/model/modules/model/index.d.ts +0 -7
  332. package/lib/model/modules/model/model.key.component.d.ts +0 -25
  333. package/lib/model/modules/model/model.types.list.component.d.ts +0 -22
  334. package/lib/model/modules/model/model.types.module.d.ts +0 -16
  335. package/lib/model/modules/model/model.types.providers.d.ts +0 -22
  336. package/lib/model/modules/model/model.types.service.d.ts +0 -90
  337. package/lib/model/modules/model/model.types.view.directive.d.ts +0 -19
  338. package/lib/model/modules/store/index.d.ts +0 -21
  339. package/lib/model/modules/store/model.store.module.d.ts +0 -11
  340. package/lib/model/modules/store/store.collection.change.directive.d.ts +0 -28
  341. package/lib/model/modules/store/store.collection.change.if.directive.d.ts +0 -18
  342. package/lib/model/modules/store/store.collection.crud.d.ts +0 -21
  343. package/lib/model/modules/store/store.collection.d.ts +0 -97
  344. package/lib/model/modules/store/store.collection.directive.d.ts +0 -56
  345. package/lib/model/modules/store/store.collection.list.directive.d.ts +0 -16
  346. package/lib/model/modules/store/store.d.ts +0 -87
  347. package/lib/model/modules/store/store.document.context.store.d.ts +0 -59
  348. package/lib/model/modules/store/store.document.context.store.directive.d.ts +0 -8
  349. package/lib/model/modules/store/store.document.context.store.link.d.ts +0 -17
  350. package/lib/model/modules/store/store.document.crud.d.ts +0 -63
  351. package/lib/model/modules/store/store.document.d.ts +0 -101
  352. package/lib/model/modules/store/store.document.directive.d.ts +0 -66
  353. package/lib/model/modules/store/store.document.twoway.key.directive.d.ts +0 -14
  354. package/lib/model/modules/store/store.document.twoway.key.source.d.ts +0 -10
  355. package/lib/model/modules/store/store.document.twoway.key.source.directive.d.ts +0 -13
  356. package/lib/model/modules/store/store.subcollection.d.ts +0 -51
  357. package/lib/model/modules/store/store.subcollection.directive.d.ts +0 -28
  358. package/lib/model/modules/store/store.subcollection.document.d.ts +0 -67
  359. package/lib/model/modules/store/store.subcollection.rxjs.d.ts +0 -24
  360. package/lib/model/service/index.d.ts +0 -4
  361. package/lib/model/service/model.context.d.ts +0 -33
  362. package/lib/model/service/model.context.instance.d.ts +0 -17
  363. package/lib/model/service/model.context.providers.d.ts +0 -18
  364. package/lib/model/service/model.context.service.d.ts +0 -31
  365. package/lib/model/system/index.d.ts +0 -5
  366. package/lib/model/system/systemstate.collection.store.d.ts +0 -8
  367. package/lib/model/system/systemstate.collection.store.directive.d.ts +0 -9
  368. package/lib/model/system/systemstate.document.store.accessor.d.ts +0 -22
  369. package/lib/model/system/systemstate.document.store.d.ts +0 -8
  370. package/lib/model/system/systemstate.document.store.directive.d.ts +0 -9
  371. package/lib/module.d.ts +0 -7
  372. package/lib/modules/index.d.ts +0 -2
  373. package/lib/modules/notification/component/index.d.ts +0 -5
  374. package/lib/modules/notification/component/notificationitem.content.component.d.ts +0 -9
  375. package/lib/modules/notification/component/notificationitem.list.component.d.ts +0 -24
  376. package/lib/modules/notification/component/notificationitem.view.component.d.ts +0 -10
  377. package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +0 -9
  378. package/lib/modules/notification/component/notificationitem.view.directive.d.ts +0 -8
  379. package/lib/modules/notification/container/index.d.ts +0 -2
  380. package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +0 -17
  381. package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +0 -50
  382. package/lib/modules/notification/index.d.ts +0 -6
  383. package/lib/modules/notification/notification.module.d.ts +0 -38
  384. package/lib/modules/notification/notification.providers.d.ts +0 -24
  385. package/lib/modules/notification/service/index.d.ts +0 -3
  386. package/lib/modules/notification/service/notification.template.service.d.ts +0 -11
  387. package/lib/modules/notification/service/notificationitem.widget.d.ts +0 -26
  388. package/lib/modules/notification/service/notificationitem.widget.service.d.ts +0 -22
  389. package/lib/modules/notification/store/index.d.ts +0 -17
  390. package/lib/modules/notification/store/notification.collection.store.d.ts +0 -9
  391. package/lib/modules/notification/store/notification.collection.store.directive.d.ts +0 -9
  392. package/lib/modules/notification/store/notification.document.store.d.ts +0 -16
  393. package/lib/modules/notification/store/notification.document.store.directive.d.ts +0 -9
  394. package/lib/modules/notification/store/notification.item.store.d.ts +0 -28
  395. package/lib/modules/notification/store/notificationbox.collection.store.d.ts +0 -8
  396. package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +0 -9
  397. package/lib/modules/notification/store/notificationbox.document.store.d.ts +0 -13
  398. package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +0 -9
  399. package/lib/modules/notification/store/notificationsummary.collection.store.d.ts +0 -8
  400. package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +0 -9
  401. package/lib/modules/notification/store/notificationsummary.document.store.d.ts +0 -21
  402. package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +0 -9
  403. package/lib/modules/notification/store/notificationuser.collection.store.d.ts +0 -8
  404. package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +0 -9
  405. package/lib/modules/notification/store/notificationuser.document.store.d.ts +0 -11
  406. package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +0 -9
  407. package/lib/modules/storagefile/container/index.d.ts +0 -7
  408. package/lib/modules/storagefile/container/storagefile.download.button.component.d.ts +0 -160
  409. package/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.d.ts +0 -47
  410. package/lib/modules/storagefile/container/storagefile.upload.error.d.ts +0 -9
  411. package/lib/modules/storagefile/container/storagefile.upload.handler.d.ts +0 -183
  412. package/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.d.ts +0 -21
  413. package/lib/modules/storagefile/container/storagefile.upload.store.directive.d.ts +0 -20
  414. package/lib/modules/storagefile/container/storagefile.upload.sync.directive.d.ts +0 -18
  415. package/lib/modules/storagefile/index.d.ts +0 -5
  416. package/lib/modules/storagefile/service/index.d.ts +0 -2
  417. package/lib/modules/storagefile/service/storagefile.download.service.d.ts +0 -79
  418. package/lib/modules/storagefile/service/storagefile.download.storage.service.d.ts +0 -56
  419. package/lib/modules/storagefile/storagefile.providers.d.ts +0 -13
  420. package/lib/modules/storagefile/storagefile.upload.module.d.ts +0 -29
  421. package/lib/modules/storagefile/store/index.d.ts +0 -7
  422. package/lib/modules/storagefile/store/storagefile.collection.store.d.ts +0 -10
  423. package/lib/modules/storagefile/store/storagefile.collection.store.directive.d.ts +0 -9
  424. package/lib/modules/storagefile/store/storagefile.document.store.d.ts +0 -16
  425. package/lib/modules/storagefile/store/storagefile.document.store.directive.d.ts +0 -9
  426. package/lib/modules/storagefile/store/storagefile.upload.store.d.ts +0 -166
  427. package/lib/modules/storagefile/store/storagefilegroup.document.store.d.ts +0 -11
  428. package/lib/modules/storagefile/store/storagefilegroup.document.store.directive.d.ts +0 -9
  429. package/lib/pipe/index.d.ts +0 -3
  430. package/lib/pipe/key.flat.pipe.d.ts +0 -9
  431. package/lib/pipe/key.twoway.pipe.d.ts +0 -9
  432. package/lib/pipe/pipe.module.d.ts +0 -13
  433. package/lib/providers.d.ts +0 -64
  434. package/lib/router/id.param.redirect.d.ts +0 -41
  435. package/lib/router/index.d.ts +0 -1
  436. package/lib/storage/firebase.storage.d.ts +0 -9
  437. package/lib/storage/firebase.storage.module.d.ts +0 -13
  438. package/lib/storage/firebase.storage.providers.d.ts +0 -31
  439. package/lib/storage/firebase.storage.service.d.ts +0 -13
  440. package/lib/storage/index.d.ts +0 -4
@@ -1,122 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, inject, input, signal } from '@angular/core';
2
- import { MatAccordion } from '@angular/material/expansion';
3
- import { DbxIconButtonComponent, DbxListEmptyContentComponent, DbxLoadingComponent } from '@dereekb/dbx-web';
4
- import { DbxFirebaseModelEntitiesEntityComponent } from './model.entities.entity.component';
5
- import { toObservable, toSignal } from '@angular/core/rxjs-interop';
6
- import { combineLatest, combineLatestWith, defaultIfEmpty, distinctUntilChanged, map, shareReplay, switchMap } from 'rxjs';
7
- import { filterUniqueValues, reverseCompareFn, separateValues, sortByNumberFunction } from '@dereekb/util';
8
- import { beginLoading, filterMaybeArray, loadingStateContext, mapLoadingStateValueWithOperator, switchMapMaybe, valueFromFinishedLoadingState } from '@dereekb/rxjs';
9
- import { DbxFirebaseModelEntitiesWidgetService } from './model.entities.widget.service';
10
- import * as i0 from "@angular/core";
11
- export class DbxFirebaseModelEntitiesComponent {
12
- entitiesWidgetService = inject(DbxFirebaseModelEntitiesWidgetService);
13
- /**
14
- * Whether the accordion should allow multiple expanded panels.
15
- */
16
- multi = input(true);
17
- /**
18
- * If true, will only show entities that have a registered widget entry.
19
- *
20
- * Defaults to true.
21
- */
22
- onlyShowRegisteredTypes = input(true);
23
- /**
24
- * If true, will show unregistered entities, even if onlyShowRegisteredTypes is true.
25
- */
26
- showUnregisteredTypesSignal = signal(undefined);
27
- onlyShowRegisteredTypesSignal = computed(() => {
28
- const onlyShowRegisteredTypes = this.onlyShowRegisteredTypes();
29
- const showUnregisteredTypes = this.showUnregisteredTypesSignal();
30
- return !showUnregisteredTypes && onlyShowRegisteredTypes;
31
- });
32
- onlyShowRegisteredTypes$ = toObservable(this.onlyShowRegisteredTypesSignal).pipe(distinctUntilChanged(), shareReplay(1));
33
- entities = input();
34
- entities$ = toObservable(this.entities).pipe(switchMapMaybe(), map((x) => x ?? beginLoading()), shareReplay(1));
35
- allEntitiesState$ = this.entities$.pipe(mapLoadingStateValueWithOperator(switchMap((entities) => {
36
- const sortPriorityMap = this.entitiesWidgetService.getSortPriorityMap();
37
- const entitiesWithStore = (entities ?? []).filter((x) => Boolean(x.store));
38
- const entitiesWithKeys = combineLatest(entitiesWithStore.map((x) => {
39
- const sortPriorityMapEntry = sortPriorityMap.get(x.modelIdentity);
40
- const isRegisteredType = sortPriorityMapEntry != null;
41
- const sortPriority = sortPriorityMapEntry ?? -2;
42
- const obs = x.store.currentKey$.pipe(map((key) => (key ? { key, ...x, sortPriority, isRegisteredType } : null)));
43
- return obs;
44
- }));
45
- return entitiesWithKeys.pipe(filterMaybeArray(), defaultIfEmpty([]), combineLatestWith(this.onlyShowRegisteredTypes$), map(([entities, onlyShowRegisteredTypes]) => {
46
- const filteredEntities = filterUniqueValues(entities, (x) => x.key).sort(reverseCompareFn(sortByNumberFunction((x) => x.sortPriority)));
47
- const { included: registeredEntities, excluded: unregisteredEntities } = separateValues(filteredEntities, (x) => x.isRegisteredType);
48
- const result = {
49
- entities: onlyShowRegisteredTypes ? registeredEntities : filteredEntities,
50
- onlyShowRegisteredTypes,
51
- registeredEntities,
52
- unregisteredEntities
53
- };
54
- return result;
55
- }));
56
- })), shareReplay(1));
57
- allEntities$ = this.allEntitiesState$.pipe(valueFromFinishedLoadingState(), shareReplay(1));
58
- allEntitiesSignal = toSignal(this.allEntities$, { initialValue: { entities: [], registeredEntities: [], unregisteredEntities: [], onlyShowRegisteredTypes: false } });
59
- entitiesWithKeysSignal = computed(() => this.allEntitiesSignal()?.entities);
60
- unregisteredEntitiesCountSignal = computed(() => this.allEntitiesSignal()?.unregisteredEntities?.length ?? 0);
61
- showViewUnregisteredEntitiesButtonSignal = computed(() => {
62
- const { onlyShowRegisteredTypes, unregisteredEntities } = this.allEntitiesSignal() ?? {};
63
- return onlyShowRegisteredTypes && Boolean(unregisteredEntities?.length);
64
- });
65
- hasNoEntitiesSignal = computed(() => !this.entitiesWithKeysSignal()?.length);
66
- context = loadingStateContext({ obs: this.allEntitiesState$ });
67
- ngOnDestroy() {
68
- this.context.destroy();
69
- }
70
- clickShowUnregisteredEntities() {
71
- this.showUnregisteredTypesSignal.set(true);
72
- }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesComponent, isStandalone: true, selector: "dbx-firebase-model-entities", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, onlyShowRegisteredTypes: { classPropertyName: "onlyShowRegisteredTypes", publicName: "onlyShowRegisteredTypes", isSignal: true, isRequired: false, transformFunction: null }, entities: { classPropertyName: "entities", publicName: "entities", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
75
- <dbx-loading [linear]="true" [context]="context">
76
- <mat-accordion class="dbx-firebase-model-entities-accordion" [multi]="multi()">
77
- @for (entity of entitiesWithKeysSignal(); track entity.key) {
78
- <dbx-firebase-model-entities-entity [entity]="entity"></dbx-firebase-model-entities-entity>
79
- }
80
- </mat-accordion>
81
- @if (hasNoEntitiesSignal()) {
82
- <dbx-list-empty-content>
83
- <ng-content select="[empty]"></ng-content>
84
- </dbx-list-empty-content>
85
- }
86
- @if (showViewUnregisteredEntitiesButtonSignal()) {
87
- <div class="dbx-pt3 text-center">
88
- <dbx-icon-button icon="visibility" [text]="'View ' + unregisteredEntitiesCountSignal() + ' Hidden Entities'" (buttonClick)="clickShowUnregisteredEntities()"></dbx-icon-button>
89
- </div>
90
- }
91
- </dbx-loading>
92
- `, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: DbxFirebaseModelEntitiesEntityComponent, selector: "dbx-firebase-model-entities-entity", inputs: ["entity"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }, { kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
93
- }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, decorators: [{
95
- type: Component,
96
- args: [{
97
- selector: 'dbx-firebase-model-entities',
98
- template: `
99
- <dbx-loading [linear]="true" [context]="context">
100
- <mat-accordion class="dbx-firebase-model-entities-accordion" [multi]="multi()">
101
- @for (entity of entitiesWithKeysSignal(); track entity.key) {
102
- <dbx-firebase-model-entities-entity [entity]="entity"></dbx-firebase-model-entities-entity>
103
- }
104
- </mat-accordion>
105
- @if (hasNoEntitiesSignal()) {
106
- <dbx-list-empty-content>
107
- <ng-content select="[empty]"></ng-content>
108
- </dbx-list-empty-content>
109
- }
110
- @if (showViewUnregisteredEntitiesButtonSignal()) {
111
- <div class="dbx-pt3 text-center">
112
- <dbx-icon-button icon="visibility" [text]="'View ' + unregisteredEntitiesCountSignal() + ' Hidden Entities'" (buttonClick)="clickShowUnregisteredEntities()"></dbx-icon-button>
113
- </div>
114
- }
115
- </dbx-loading>
116
- `,
117
- imports: [MatAccordion, DbxLoadingComponent, DbxFirebaseModelEntitiesEntityComponent, DbxListEmptyContentComponent, DbxIconButtonComponent],
118
- changeDetection: ChangeDetectionStrategy.OnPush,
119
- standalone: true
120
- }]
121
- }] });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZW50aXRpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9tb2RlbC9lbnRpdGllcy9tb2RlbC5lbnRpdGllcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSw0QkFBNEIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdHLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkksT0FBTyxFQUFFLGtCQUFrQixFQUFTLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFnQixtQkFBbUIsRUFBRSxnQ0FBZ0MsRUFBRSxjQUFjLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkwsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBa0N4RixNQUFNLE9BQU8saUNBQWlDO0lBQ25DLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxx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dCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU1vZGVsRW50aXR5LCBEYnhGaXJlYmFzZU1vZGVsRW50aXR5V2l0aEtleUFuZFN0b3JlLCBEYnhGaXJlYmFzZU1vZGVsRW50aXR5V2l0aFN0b3JlIH0gZnJvbSAnLi9tb2RlbC5lbnRpdGllcyc7XG5pbXBvcnQgeyBNYXRBY2NvcmRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgRGJ4SWNvbkJ1dHRvbkNvbXBvbmVudCwgRGJ4TGlzdEVtcHR5Q29udGVudENvbXBvbmVudCwgRGJ4TG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzRW50aXR5Q29tcG9uZW50IH0gZnJvbSAnLi9tb2RlbC5lbnRpdGllcy5lbnRpdHkuY29tcG9uZW50JztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBjb21iaW5lTGF0ZXN0V2l0aCwgZGVmYXVsdElmRW1wdHksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlclVuaXF1ZVZhbHVlcywgTWF5YmUsIHJldmVyc2VDb21wYXJlRm4sIHNlcGFyYXRlVmFsdWVzLCBzb3J0QnlOdW1iZXJGdW5jdGlvbiB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgYmVnaW5Mb2FkaW5nLCBmaWx0ZXJNYXliZUFycmF5LCBMb2FkaW5nU3RhdGUsIGxvYWRpbmdTdGF0ZUNvbnRleHQsIG1hcExvYWRpbmdTdGF0ZVZhbHVlV2l0aE9wZXJhdG9yLCBzd2l0Y2hNYXBNYXliZSwgdmFsdWVGcm9tRmluaXNoZWRMb2FkaW5nU3RhdGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2UgfSBmcm9tICcuL21vZGVsLmVudGl0aWVzLndpZGdldC5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIERieEZpcmViYXNlTW9kZWxFbnRpdGllc0NvbXBvbmVudEFsbEVudGl0aWVzIHtcbiAgcmVhZG9ubHkgZW50aXRpZXM6IERieEZpcmViYXNlTW9kZWxFbnRpdHlXaXRoS2V5QW5kU3RvcmVbXTtcbiAgcmVhZG9ubHkgcmVnaXN0ZXJlZEVudGl0aWVzOiBEYnhGaXJlYmFzZU1vZGVsRW50aXR5V2l0aEtleUFuZFN0b3JlW107XG4gIHJlYWRvbmx5IHVucmVnaXN0ZXJlZEVudGl0aWVzOiBEYnhGaXJlYmFzZU1vZGVsRW50aXR5V2l0aEtleUFuZFN0b3JlW107XG4gIHJlYWRvbmx5IG9ubHlTaG93UmVnaXN0ZXJlZFR5cGVzPzogTWF5YmU8Ym9vbGVhbj47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1maXJlYmFzZS1tb2RlbC1lbnRpdGllcycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1sb2FkaW5nIFtsaW5lYXJdPVwidHJ1ZVwiIFtjb250ZXh0XT1cImNvbnRleHRcIj5cbiAgICAgIDxtYXQtYWNjb3JkaW9uIGNsYXNzPVwiZGJ4LWZpcmViYXNlLW1vZGVsLWVudGl0aWVzLWFjY29yZGlvblwiIFttdWx0aV09XCJtdWx0aSgpXCI+XG4gICAgICAgIEBmb3IgKGVudGl0eSBvZiBlbnRpdGllc1dpdGhLZXlzU2lnbmFsKCk7IHRyYWNrIGVudGl0eS5rZXkpIHtcbiAgICAgICAgICA8ZGJ4LWZpcmViYXNlLW1vZGVsLWVudGl0aWVzLWVudGl0eSBbZW50aXR5XT1cImVudGl0eVwiPjwvZGJ4LWZpcmViYXNlLW1vZGVsLWVudGl0aWVzLWVudGl0eT5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtYWNjb3JkaW9uPlxuICAgICAgQGlmIChoYXNOb0VudGl0aWVzU2lnbmFsKCkpIHtcbiAgICAgICAgPGRieC1saXN0LWVtcHR5LWNvbnRlbnQ+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VtcHR5XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kYngtbGlzdC1lbXB0eS1jb250ZW50PlxuICAgICAgfVxuICAgICAgQGlmIChzaG93Vmlld1VucmVnaXN0ZXJlZEVudGl0aWVzQnV0dG9uU2lnbmFsKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRieC1wdDMgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGJ4LWljb24tYnV0dG9uIGljb249XCJ2aXNpYmlsaXR5XCIgW3RleHRdPVwiJ1ZpZXcgJyArIHVucmVnaXN0ZXJlZEVudGl0aWVzQ291bnRTaWduYWwoKSArICcgSGlkZGVuIEVudGl0aWVzJ1wiIChidXR0b25DbGljayk9XCJjbGlja1Nob3dVbnJlZ2lzdGVyZWRFbnRpdGllcygpXCI+PC9kYngtaWNvbi1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGJ4LWxvYWRpbmc+XG4gIGAsXG4gIGltcG9ydHM6IFtNYXRBY2NvcmRpb24sIERieExvYWRpbmdDb21wb25lbnQsIERieEZpcmViYXNlTW9kZWxFbnRpdGllc0VudGl0eUNvbXBvbmVudCwgRGJ4TGlzdEVtcHR5Q29udGVudENvbXBvbmVudCwgRGJ4SWNvbkJ1dHRvbkNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlTW9kZWxFbnRpdGllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGVudGl0aWVzV2lkZ2V0U2VydmljZSA9IGluamVjdChEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNXaWRnZXRTZXJ2aWNlKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYWNjb3JkaW9uIHNob3VsZCBhbGxvdyBtdWx0aXBsZSBleHBhbmRlZCBwYW5lbHMuXG4gICAqL1xuICByZWFkb25seSBtdWx0aSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB3aWxsIG9ubHkgc2hvdyBlbnRpdGllcyB0aGF0IGhhdmUgYSByZWdpc3RlcmVkIHdpZGdldCBlbnRyeS5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIHJlYWRvbmx5IG9ubHlTaG93UmVnaXN0ZXJlZFR5cGVzID0gaW5wdXQ8TWF5YmU8Ym9vbGVhbj4+KHRydWUpO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB3aWxsIHNob3cgdW5yZWdpc3RlcmVkIGVudGl0aWVzLCBldmVuIGlmIG9ubHlTaG93UmVnaXN0ZXJlZFR5cGVzIGlzIHRydWUuXG4gICAqL1xuICByZWFkb25seSBzaG93VW5yZWdpc3RlcmVkVHlwZXNTaWduYWwgPSBzaWduYWw8TWF5YmU8Ym9vbGVhbj4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgb25seVNob3dSZWdpc3RlcmVkVHlwZXNTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgb25seVNob3dSZWdpc3RlcmVkVHlwZXMgPSB0aGlzLm9ubHlTaG93UmVnaXN0ZXJlZFR5cGVzKCk7XG4gICAgY29uc3Qgc2hvd1VucmVnaXN0ZXJlZFR5cGVzID0gdGhpcy5zaG93VW5yZWdpc3RlcmVkVHlwZXNTaWduYWwoKTtcblxuICAgIHJldHVybiAhc2hvd1VucmVnaXN0ZXJlZFR5cGVzICYmIG9ubHlTaG93UmVnaXN0ZXJlZFR5cGVzO1xuICB9KTtcblxuICByZWFkb25seSBvbmx5U2hvd1JlZ2lzdGVyZWRUeXBlcyQgPSB0b09ic2VydmFibGUodGhpcy5vbmx5U2hvd1JlZ2lzdGVyZWRUeXBlc1NpZ25hbCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgZW50aXRpZXMgPSBpbnB1dDxPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxEYnhGaXJlYmFzZU1vZGVsRW50aXR5W10+Pj4oKTtcbiAgcmVhZG9ubHkgZW50aXRpZXMkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxEYnhGaXJlYmFzZU1vZGVsRW50aXR5W10+PiA9IHRvT2JzZXJ2YWJsZSh0aGlzLmVudGl0aWVzKS5waXBlKFxuICAgIHN3aXRjaE1hcE1heWJlKCksXG4gICAgbWFwKCh4KSA9PiB4ID8/IGJlZ2luTG9hZGluZzxEYnhGaXJlYmFzZU1vZGVsRW50aXR5W10+KCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYWxsRW50aXRpZXNTdGF0ZSQ6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPERieEZpcmViYXNlTW9kZWxFbnRpdGllc0NvbXBvbmVudEFsbEVudGl0aWVzPj4gPSB0aGlzLmVudGl0aWVzJC5waXBlKFxuICAgIG1hcExvYWRpbmdTdGF0ZVZhbHVlV2l0aE9wZXJhdG9yKFxuICAgICAgc3dpdGNoTWFwKChlbnRpdGllcykgPT4ge1xuICAgICAgICBjb25zdCBzb3J0UHJpb3JpdHlNYXAgPSB0aGlzLmVudGl0aWVzV2lkZ2V0U2VydmljZS5nZXRTb3J0UHJpb3JpdHlNYXAoKTtcbiAgICAgICAgY29uc3QgZW50aXRpZXNXaXRoU3RvcmUgPSAoZW50aXRpZXMgPz8gW10pLmZpbHRlcigoeCkgPT4gQm9vbGVhbih4LnN0b3JlKSkgYXMgRGJ4RmlyZWJhc2VNb2RlbEVudGl0eVdpdGhTdG9yZVtdO1xuXG4gICAgICAgIGludGVyZmFjZSBEYnhGaXJlYmFzZU1vZGVsRW50aXR5V2l0aEtleUFuZFN0b3JlQW5kU29ydFByaW9yaXR5IGV4dGVuZHMgRGJ4RmlyZWJhc2VNb2RlbEVudGl0eVdpdGhLZXlBbmRTdG9yZSB7XG4gICAgICAgICAgcmVhZG9ubHkgc29ydFByaW9yaXR5OiBudW1iZXI7XG4gICAgICAgICAgcmVhZG9ubHkgaXNSZWdpc3RlcmVkVHlwZTogYm9vbGVhbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVudGl0aWVzV2l0aEtleXM6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VNb2RlbEVudGl0eVdpdGhLZXlBbmRTdG9yZUFuZFNvcnRQcmlvcml0eT5bXT4gPSBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgIGVudGl0aWVzV2l0aFN0b3JlLm1hcCgoeCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc29ydFByaW9yaXR5TWFwRW50cnkgPSBzb3J0UHJpb3JpdHlNYXAuZ2V0KHgubW9kZWxJZGVudGl0eSk7XG4gICAgICAgICAgICBjb25zdCBpc1JlZ2lzdGVyZWRUeXBlID0gc29ydFByaW9yaXR5TWFwRW50cnkgIT0gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IHNvcnRQcmlvcml0eSA9IHNvcnRQcmlvcml0eU1hcEVudHJ5ID8/IC0yO1xuXG4gICAgICAgICAgICBjb25zdCBvYnM6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VNb2RlbEVudGl0eVdpdGhLZXlBbmRTdG9yZUFuZFNvcnRQcmlvcml0eT4+ID0geC5zdG9yZS5jdXJyZW50S2V5JC5waXBlKG1hcCgoa2V5KSA9PiAoa2V5ID8geyBrZXksIC4uLngsIHNvcnRQcmlvcml0eSwgaXNSZWdpc3RlcmVkVHlwZSB9IDogbnVsbCkpKTtcbiAgICAgICAgICAgIHJldHVybiBvYnM7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZW50aXRpZXNXaXRoS2V5cy5waXBlKFxuICAgICAgICAgIGZpbHRlck1heWJlQXJyYXkoKSxcbiAgICAgICAgICBkZWZhdWx0SWZFbXB0eShbXSksXG4gICAgICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5vbmx5U2hvd1JlZ2lzdGVyZWRUeXBlcyQpLFxuICAgICAgICAgIG1hcCgoW2VudGl0aWVzLCBvbmx5U2hvd1JlZ2lzdGVyZWRUeXBlc10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkRW50aXRpZXMgPSBmaWx0ZXJVbmlxdWVWYWx1ZXMoZW50aXRpZXMsICh4KSA9PiB4LmtleSkuc29ydChyZXZlcnNlQ29tcGFyZUZuKHNvcnRCeU51bWJlckZ1bmN0aW9uKCh4KSA9PiB4LnNvcnRQcmlvcml0eSkpKTtcblxuICAgICAgICAgICAgY29uc3QgeyBpbmNsdWRlZDogcmVnaXN0ZXJlZEVudGl0aWVzLCBleGNsdWRlZDogdW5yZWdpc3RlcmVkRW50aXRpZXMgfSA9IHNlcGFyYXRlVmFsdWVzKGZpbHRlcmVkRW50aXRpZXMsICh4KSA9PiB4LmlzUmVnaXN0ZXJlZFR5cGUpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IERieEZpcmViYXNlTW9kZWxFbnRpdGllc0NvbXBvbmVudEFsbEVudGl0aWVzID0ge1xuICAgICAgICAgICAgICBlbnRpdGllczogb25seVNob3dSZWdpc3RlcmVkVHlwZXMgPyByZWdpc3RlcmVkRW50aXRpZXMgOiBmaWx0ZXJlZEVudGl0aWVzLFxuICAgICAgICAgICAgICBvbmx5U2hvd1JlZ2lzdGVyZWRUeXBlcyxcbiAgICAgICAgICAgICAgcmVnaXN0ZXJlZEVudGl0aWVzLFxuICAgICAgICAgICAgICB1bnJlZ2lzdGVyZWRFbnRpdGllc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYWxsRW50aXRpZXMkID0gdGhpcy5hbGxFbnRpdGllc1N0YXRlJC5waXBlKHZhbHVlRnJvbUZpbmlzaGVkTG9hZGluZ1N0YXRlKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgYWxsRW50aXRpZXNTaWduYWwgPSB0b1NpZ25hbCh0aGlzLmFsbEVudGl0aWVzJCwgeyBpbml0aWFsVmFsdWU6IHsgZW50aXRpZXM6IFtdLCByZWdpc3RlcmVkRW50aXRpZXM6IFtdLCB1bnJlZ2lzdGVyZWRFbnRpdGllczogW10sIG9ubHlTaG93UmVnaXN0ZXJlZFR5cGVzOiBmYWxzZSB9IH0pO1xuXG4gIHJlYWRvbmx5IGVudGl0aWVzV2l0aEtleXNTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFsbEVudGl0aWVzU2lnbmFsKCk/LmVudGl0aWVzKTtcbiAgcmVhZG9ubHkgdW5yZWdpc3RlcmVkRW50aXRpZXNDb3VudFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYWxsRW50aXRpZXNTaWduYWwoKT8udW5yZWdpc3RlcmVkRW50aXRpZXM/Lmxlbmd0aCA/PyAwKTtcblxuICByZWFkb25seSBzaG93Vmlld1VucmVnaXN0ZXJlZEVudGl0aWVzQnV0dG9uU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHsgb25seVNob3dSZWdpc3RlcmVkVHlwZXMsIHVucmVnaXN0ZXJlZEVudGl0aWVzIH0gPSB0aGlzLmFsbEVudGl0aWVzU2lnbmFsKCkgPz8ge307XG4gICAgcmV0dXJuIG9ubHlTaG93UmVnaXN0ZXJlZFR5cGVzICYmIEJvb2xlYW4odW5yZWdpc3RlcmVkRW50aXRpZXM/Lmxlbmd0aCk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGhhc05vRW50aXRpZXNTaWduYWwgPSBjb21wdXRlZCgoKSA9PiAhdGhpcy5lbnRpdGllc1dpdGhLZXlzU2lnbmFsKCk/Lmxlbmd0aCk7XG5cbiAgcmVhZG9ubHkgY29udGV4dCA9IGxvYWRpbmdTdGF0ZUNvbnRleHQoeyBvYnM6IHRoaXMuYWxsRW50aXRpZXNTdGF0ZSQgfSk7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxuXG4gIGNsaWNrU2hvd1VucmVnaXN0ZXJlZEVudGl0aWVzKCkge1xuICAgIHRoaXMuc2hvd1VucmVnaXN0ZXJlZFR5cGVzU2lnbmFsLnNldCh0cnVlKTtcbiAgfVxufVxuIl19
@@ -1,79 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';
2
- import { isDbxFirebaseModelEntityWithStore } from './model.entities';
3
- import { DbxInjectionComponent } from '@dereekb/dbx-core';
4
- import { MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent } from '@angular/material/expansion';
5
- import { MatIcon } from '@angular/material/icon';
6
- import { toObservable, toSignal } from '@angular/core/rxjs-interop';
7
- import { combineLatest, distinctUntilChanged, map, shareReplay, switchMap } from 'rxjs';
8
- import { filterMaybe, loadingStateContext } from '@dereekb/rxjs';
9
- import { DbxFirebaseModelEntitiesWidgetService } from './model.entities.widget.service';
10
- import { DbxFirebaseModelTypesService } from '../model.types.service';
11
- import { AsyncPipe } from '@angular/common';
12
- import { DbxLoadingComponent } from '@dereekb/dbx-web';
13
- import { dbxFirebaseModelEntityWidgetInjectionConfigFactory } from './model.entities.widget';
14
- import * as i0 from "@angular/core";
15
- export class DbxFirebaseModelEntitiesEntityComponent {
16
- widgetInjectionConfigFactory = dbxFirebaseModelEntityWidgetInjectionConfigFactory();
17
- entitiesWidgetService = inject(DbxFirebaseModelEntitiesWidgetService);
18
- dbxFirebaseModelTypesService = inject(DbxFirebaseModelTypesService);
19
- entity = input.required();
20
- entity$ = toObservable(this.entity);
21
- currentEntityWithStore$ = this.entity$.pipe(map((x) => {
22
- let result;
23
- if (isDbxFirebaseModelEntityWithStore(x)) {
24
- result = x;
25
- }
26
- else {
27
- result = null;
28
- }
29
- return result;
30
- }), distinctUntilChanged(), shareReplay(1));
31
- modelIdentity$ = this.entity$.pipe(map((x) => x.modelIdentity), distinctUntilChanged(), shareReplay(1));
32
- store$ = this.entity$.pipe(map((x) => x.store), filterMaybe(), distinctUntilChanged(), shareReplay(1));
33
- storeName$ = this.store$.pipe(switchMap((x) => x.storeName$), shareReplay(1));
34
- displayName$ = combineLatest([this.storeName$, this.entity$]).pipe(map(([storeName, entity]) => entity.name ?? storeName), distinctUntilChanged(), shareReplay(1));
35
- loadingState$ = this.store$.pipe(switchMap((x) => x.dataLoadingState$));
36
- currentData$ = this.store$.pipe(switchMap((x) => x.currentData$), shareReplay(1));
37
- currentWidgetEntry$ = this.modelIdentity$.pipe(map((modelIdentity) => this.entitiesWidgetService.getWidgetEntry(modelIdentity)), distinctUntilChanged(), shareReplay(1));
38
- currentTypeInfo$ = this.modelIdentity$.pipe(switchMap((modelIdentity) => this.dbxFirebaseModelTypesService.currentInfoForType(modelIdentity.modelType)), shareReplay(1));
39
- hasTypeInfo$ = this.currentTypeInfo$.pipe(map((x) => !!x), distinctUntilChanged(), shareReplay(1));
40
- displayInfo$ = combineLatest([this.modelIdentity$, this.currentTypeInfo$, this.currentData$]).pipe(map(([modelIdentity, typeInfo, currentData]) => {
41
- let result;
42
- if (typeInfo) {
43
- if (currentData) {
44
- result = typeInfo.displayInfoFactory(currentData);
45
- if (!result.title) {
46
- result = { ...result, title: `No Name - <${modelIdentity.modelType}>` };
47
- }
48
- }
49
- else {
50
- result = { icon: typeInfo.icon, title: `No Data - <${modelIdentity.modelType}>` };
51
- }
52
- }
53
- else {
54
- result = { icon: 'warning', title: `No Type Info - <${modelIdentity.modelType}>` };
55
- }
56
- return result;
57
- }), shareReplay(1));
58
- widgetInjectionConfig$ = combineLatest([this.currentWidgetEntry$, this.currentEntityWithStore$]).pipe(map(([entry, entity]) => (entity ? this.widgetInjectionConfigFactory(entry, entity) : null)), shareReplay(1));
59
- hasTypeInfoSignal = toSignal(this.hasTypeInfo$);
60
- displayNameSignal = toSignal(this.displayName$);
61
- displayInfoSignal = toSignal(this.displayInfo$);
62
- modelIdentitySignal = toSignal(this.modelIdentity$);
63
- modelTypeSignal = computed(() => this.modelIdentitySignal()?.modelType);
64
- widgetInjectionConfigSignal = toSignal(this.widgetInjectionConfig$);
65
- entityWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.entityComponentConfig);
66
- commonWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.commonComponentConfig);
67
- debugWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.debugComponentConfig);
68
- loadingContext = loadingStateContext({ obs: this.loadingState$ });
69
- ngOnDestroy() {
70
- this.loadingContext.destroy();
71
- }
72
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
73
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesEntityComponent, isStandalone: true, selector: "dbx-firebase-model-entities-entity", inputs: { entity: { classPropertyName: "entity", publicName: "entity", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (displayInfoSignal(); as displayInfo) {\n <div class=\"dbx-list-two-line-item\">\n <div class=\"item-left\">\n <span class=\"dbx-pb2 dbx-flex-bar\">\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n </span>\n <span>\n <span class=\"dbx-hint dbx-small\">{{ modelTypeSignal() }}</span>\n @if (displayNameSignal(); as displayName) {\n <span class=\"dbx-small dbx-u dbx-pl2\">{{ displayName }}</span>\n }\n </span>\n </div>\n </div>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, decorators: [{
76
- type: Component,
77
- args: [{ selector: 'dbx-firebase-model-entities-entity', imports: [DbxInjectionComponent, DbxLoadingComponent, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent, MatIcon, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (displayInfoSignal(); as displayInfo) {\n <div class=\"dbx-list-two-line-item\">\n <div class=\"item-left\">\n <span class=\"dbx-pb2 dbx-flex-bar\">\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n </span>\n <span>\n <span class=\"dbx-hint dbx-small\">{{ modelTypeSignal() }}</span>\n @if (displayNameSignal(); as displayName) {\n <span class=\"dbx-small dbx-u dbx-pl2\">{{ displayName }}</span>\n }\n </span>\n </div>\n </div>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n" }]
78
- }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZW50aXRpZXMuZW50aXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvbW9kZWwvZW50aXRpZXMvbW9kZWwuZW50aXRpZXMuZW50aXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvbW9kZWwvZW50aXRpZXMvbW9kZWwuZW50aXRpZXMuZW50aXR5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUEyRCxpQ0FBaUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSw0QkFBNEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pLLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztB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LFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3JHLHdCQUF3QixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3JHLHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBRW5HLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUUzRSxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoQyxDQUFDO3dHQXJIVSx1Q0FBdUM7NEZBQXZDLHVDQUF1QyxvT0N0QnBELHV2REE2Q0EsNENEM0JZLHFCQUFxQiwySEFBRSxtQkFBbUIsbUtBQUUsaUJBQWlCLHNMQUFFLHVCQUF1QixrSUFBRSxzQkFBc0IsNERBQWdDLHdCQUF3QixrRkFBRSxPQUFPOzs0RkFJOUssdUNBQXVDO2tCQVBuRCxTQUFTOytCQUNFLG9DQUFvQyxXQUVyQyxDQUFDLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLDRCQUE0QixFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsbUJBQ3BMLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxFbnRpdHksIERieEZpcmViYXNlTW9kZWxFbnRpdHlXaXRoU3RvcmUsIGlzRGJ4RmlyZWJhc2VNb2RlbEVudGl0eVdpdGhTdG9yZSB9IGZyb20gJy4vbW9kZWwuZW50aXRpZXMnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uUGFuZWwsIE1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLCBNYXRFeHBhbnNpb25QYW5lbFRpdGxlLCBNYXRFeHBhbnNpb25QYW5lbERlc2NyaXB0aW9uLCBNYXRFeHBhbnNpb25QYW5lbENvbnRlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlck1heWJlLCBsb2FkaW5nU3RhdGVDb250ZXh0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNXaWRnZXRTZXJ2aWNlIH0gZnJvbSAnLi9tb2RlbC5lbnRpdGllcy53aWRnZXQuc2VydmljZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlLCB0eXBlIERieEZpcmViYXNlTW9kZWxEaXNwbGF5SW5mbywgdHlwZSBEYnhGaXJlYmFzZU1vZGVsVHlwZUluZm8gfSBmcm9tICcuLi9tb2RlbC50eXBlcy5zZXJ2aWNlJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYnhMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBkYnhGaXJlYmFzZU1vZGVsRW50aXR5V2lkZ2V0SW5qZWN0aW9uQ29uZmlnRmFjdG9yeSB9IGZyb20gJy4vbW9kZWwuZW50aXRpZXMud2lkZ2V0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZpcmViYXNlLW1vZGVsLWVudGl0aWVzLWVudGl0eScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC5lbnRpdGllcy5lbnRpdHkuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbRGJ4SW5qZWN0aW9uQ29tcG9uZW50LCBEYnhMb2FkaW5nQ29tcG9uZW50LCBNYXRFeHBhbnNpb25QYW5lbCwgTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIsIE1hdEV4cGFuc2lvblBhbmVsVGl0bGUsIE1hdEV4cGFuc2lvblBhbmVsRGVzY3JpcHRpb24sIE1hdEV4cGFuc2lvblBhbmVsQ29udGVudCwgTWF0SWNvbiwgQXN5bmNQaXBlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzRW50aXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgd2lkZ2V0SW5qZWN0aW9uQ29uZmlnRmFjdG9yeSA9IGRieEZpcmViYXNlTW9kZWxFbnRpdHlXaWRnZXRJbmplY3Rpb25Db25maWdGYWN0b3J5KCk7XG5cbiAgcmVhZG9ubHkgZW50aXRpZXNXaWRnZXRTZXJ2aWNlID0gaW5qZWN0KERieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2UpO1xuICByZWFkb25seSBkYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlID0gaW5qZWN0KERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGVudGl0eSA9IGlucHV0LnJlcXVpcmVkPERieEZpcmViYXNlTW9kZWxFbnRpdHk+KCk7XG5cbiAgcmVhZG9ubHkgZW50aXR5JCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmVudGl0eSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudEVudGl0eVdpdGhTdG9yZSQgPSB0aGlzLmVudGl0eSQucGlwZShcbiAgICBtYXAoKHgpID0+IHtcbiAgICAgIGxldCByZXN1bHQ6IE1heWJlPERieEZpcmViYXNlTW9kZWxFbnRpdHlXaXRoU3RvcmU+O1xuXG4gICAgICBpZiAoaXNEYnhGaXJlYmFzZU1vZGVsRW50aXR5V2l0aFN0b3JlKHgpKSB7XG4gICAgICAgIHJlc3VsdCA9IHg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBtb2RlbElkZW50aXR5JCA9IHRoaXMuZW50aXR5JC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5tb2RlbElkZW50aXR5KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc3RvcmUkID0gdGhpcy5lbnRpdHkkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LnN0b3JlKSxcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBzdG9yZU5hbWUkID0gdGhpcy5zdG9yZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+IHguc3RvcmVOYW1lJCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBkaXNwbGF5TmFtZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlTmFtZSQsIHRoaXMuZW50aXR5JF0pLnBpcGUoXG4gICAgbWFwKChbc3RvcmVOYW1lLCBlbnRpdHldKSA9PiBlbnRpdHkubmFtZSA/PyBzdG9yZU5hbWUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguZGF0YUxvYWRpbmdTdGF0ZSQpKTtcbiAgcmVhZG9ubHkgY3VycmVudERhdGEkID0gdGhpcy5zdG9yZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+IHguY3VycmVudERhdGEkKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRXaWRnZXRFbnRyeSQgPSB0aGlzLm1vZGVsSWRlbnRpdHkkLnBpcGUoXG4gICAgbWFwKChtb2RlbElkZW50aXR5KSA9PiB0aGlzLmVudGl0aWVzV2lkZ2V0U2VydmljZS5nZXRXaWRnZXRFbnRyeShtb2RlbElkZW50aXR5KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRUeXBlSW5mbyQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VNb2RlbFR5cGVJbmZvPj4gPSB0aGlzLm1vZGVsSWRlbnRpdHkkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChtb2RlbElkZW50aXR5KSA9PiB0aGlzLmRieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2UuY3VycmVudEluZm9Gb3JUeXBlKG1vZGVsSWRlbnRpdHkubW9kZWxUeXBlKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBoYXNUeXBlSW5mbyQgPSB0aGlzLmN1cnJlbnRUeXBlSW5mbyQucGlwZShcbiAgICBtYXAoKHgpID0+ICEheCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGRpc3BsYXlJbmZvJDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZU1vZGVsRGlzcGxheUluZm8+ID0gY29tYmluZUxhdGVzdChbdGhpcy5tb2RlbElkZW50aXR5JCwgdGhpcy5jdXJyZW50VHlwZUluZm8kLCB0aGlzLmN1cnJlbnREYXRhJF0pLnBpcGUoXG4gICAgbWFwKChbbW9kZWxJZGVudGl0eSwgdHlwZUluZm8sIGN1cnJlbnREYXRhXSkgPT4ge1xuICAgICAgbGV0IHJlc3VsdDogRGJ4RmlyZWJhc2VNb2RlbERpc3BsYXlJbmZvO1xuXG4gICAgICBpZiAodHlwZUluZm8pIHtcbiAgICAgICAgaWYgKGN1cnJlbnREYXRhKSB7XG4gICAgICAgICAgcmVzdWx0ID0gdHlwZUluZm8uZGlzcGxheUluZm9GYWN0b3J5KGN1cnJlbnREYXRhKTtcblxuICAgICAgICAgIGlmICghcmVzdWx0LnRpdGxlKSB7XG4gICAgICAgICAgICByZXN1bHQgPSB7IC4uLnJlc3VsdCwgdGl0bGU6IGBObyBOYW1lIC0gPCR7bW9kZWxJZGVudGl0eS5tb2RlbFR5cGV9PmAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0geyBpY29uOiB0eXBlSW5mby5pY29uLCB0aXRsZTogYE5vIERhdGEgLSA8JHttb2RlbElkZW50aXR5Lm1vZGVsVHlwZX0+YCB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSB7IGljb246ICd3YXJuaW5nJywgdGl0bGU6IGBObyBUeXBlIEluZm8gLSA8JHttb2RlbElkZW50aXR5Lm1vZGVsVHlwZX0+YCB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgd2lkZ2V0SW5qZWN0aW9uQ29uZmlnJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY3VycmVudFdpZGdldEVudHJ5JCwgdGhpcy5jdXJyZW50RW50aXR5V2l0aFN0b3JlJF0pLnBpcGUoXG4gICAgbWFwKChbZW50cnksIGVudGl0eV0pID0+IChlbnRpdHkgPyB0aGlzLndpZGdldEluamVjdGlvbkNvbmZpZ0ZhY3RvcnkoZW50cnksIGVudGl0eSkgOiBudWxsKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBoYXNUeXBlSW5mb1NpZ25hbCA9IHRvU2lnbmFsKHRoaXMuaGFzVHlwZUluZm8kKTtcbiAgcmVhZG9ubHkgZGlzcGxheU5hbWVTaWduYWwgPSB0b1NpZ25hbCh0aGlzLmRpc3BsYXlOYW1lJCk7XG4gIHJlYWRvbmx5IGRpc3BsYXlJbmZvU2lnbmFsID0gdG9TaWduYWwodGhpcy5kaXNwbGF5SW5mbyQpO1xuICByZWFkb25seSBtb2RlbElkZW50aXR5U2lnbmFsID0gdG9TaWduYWwodGhpcy5tb2RlbElkZW50aXR5JCk7XG4gIHJlYWRvbmx5IG1vZGVsVHlwZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubW9kZWxJZGVudGl0eVNpZ25hbCgpPy5tb2RlbFR5cGUpO1xuXG4gIHJlYWRvbmx5IHdpZGdldEluamVjdGlvbkNvbmZpZ1NpZ25hbCA9IHRvU2lnbmFsKHRoaXMud2lkZ2V0SW5qZWN0aW9uQ29uZmlnJCk7XG5cbiAgcmVhZG9ubHkgZW50aXR5V2lkZ2V0Q29uZmlnU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy53aWRnZXRJbmplY3Rpb25Db25maWdTaWduYWwoKT8uZW50aXR5Q29tcG9uZW50Q29uZmlnKTtcbiAgcmVhZG9ubHkgY29tbW9uV2lkZ2V0Q29uZmlnU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy53aWRnZXRJbmplY3Rpb25Db25maWdTaWduYWwoKT8uY29tbW9uQ29tcG9uZW50Q29uZmlnKTtcbiAgcmVhZG9ubHkgZGVidWdXaWRnZXRDb25maWdTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLndpZGdldEluamVjdGlvbkNvbmZpZ1NpZ25hbCgpPy5kZWJ1Z0NvbXBvbmVudENvbmZpZyk7XG5cbiAgcmVhZG9ubHkgbG9hZGluZ0NvbnRleHQgPSBsb2FkaW5nU3RhdGVDb250ZXh0KHsgb2JzOiB0aGlzLmxvYWRpbmdTdGF0ZSQgfSk7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nQ29udGV4dC5kZXN0cm95KCk7XG4gIH1cbn1cbiIsIjxtYXQtZXhwYW5zaW9uLXBhbmVsPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG1hdC1wYW5lbC10aXRsZT5cbiAgICAgIEBpZiAoZGlzcGxheUluZm9TaWduYWwoKTsgYXMgZGlzcGxheUluZm8pIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRieC1saXN0LXR3by1saW5lLWl0ZW1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1sZWZ0XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRieC1wYjIgZGJ4LWZsZXgtYmFyXCI+XG4gICAgICAgICAgICAgIEBpZiAoZGlzcGxheUluZm8uaWNvbikge1xuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRieC1idXR0b24tc3BhY2VyXCI+e3sgZGlzcGxheUluZm8uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPHNwYW4+e3sgZGlzcGxheUluZm8udGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYngtaGludCBkYngtc21hbGxcIj57eyBtb2RlbFR5cGVTaWduYWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgQGlmIChkaXNwbGF5TmFtZVNpZ25hbCgpOyBhcyBkaXNwbGF5TmFtZSkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGJ4LXNtYWxsIGRieC11IGRieC1wbDJcIj57eyBkaXNwbGF5TmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgPG5nLXRlbXBsYXRlIG1hdEV4cGFuc2lvblBhbmVsQ29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWZpcmViYXNlLW1vZGVsLWVudGl0aWVzLWVudGl0eS1wYW5lbC1jb250ZW50XCI+XG4gICAgICA8ZGJ4LWxvYWRpbmcgW2NvbnRleHRdPVwibG9hZGluZ0NvbnRleHRcIj5cbiAgICAgICAgQGlmIChlbnRpdHlXaWRnZXRDb25maWdTaWduYWwoKTsgYXMgY29uZmlnKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRieC1wYjMgZGJ4LWZpcmViYXNlLW1vZGVsLWVudGl0aWVzLWVudGl0eS1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGJ4LWluamVjdGlvbiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvZGJ4LWluamVjdGlvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGNvbW1vbldpZGdldENvbmZpZ1NpZ25hbCgpOyBhcyBjb25maWcpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGJ4LXBiMyBkYngtZmlyZWJhc2UtbW9kZWwtZW50aXRpZXMtY29tbW9uLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiY29uZmlnXCI+PC9kYngtaW5qZWN0aW9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoZGVidWdXaWRnZXRDb25maWdTaWduYWwoKTsgYXMgY29uZmlnKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRieC1wYjMgZGJ4LWZpcmViYXNlLW1vZGVsLWVudGl0aWVzLWRlYnVnLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiY29uZmlnXCI+PC9kYngtaW5qZWN0aW9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2RieC1sb2FkaW5nPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuIl19
@@ -1,15 +0,0 @@
1
- /**
2
- * Provides a source of entities.
3
- */
4
- export class DbxFirebaseModelEntitiesSource {
5
- }
6
- /**
7
- * Returns true if the input entity has a defined store.
8
- *
9
- * @param entity
10
- * @returns
11
- */
12
- export function isDbxFirebaseModelEntityWithStore(entity) {
13
- return entity.modelIdentity != null && entity.store != null;
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL21vZGVsL2VudGl0aWVzL21vZGVsLmVudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BOztHQUVHO0FBQ0gsTUFBTSxPQUFnQiw4QkFBOEI7Q0FLbkQ7QUE2QkQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUNBQWlDLENBQWlFLE1BQThCO0lBQzlJLE9BQU8sTUFBTSxDQUFDLGFBQWEsSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRmlyZXN0b3JlRG9jdW1lbnQsIHR5cGUgRmlyZXN0b3JlTW9kZWxJZGVudGl0eSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IHR5cGUgTWF5YmUsIHR5cGUgTW9kZWxLZXkgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHR5cGUgRGJ4RmlyZWJhc2VEb2N1bWVudFJlYWRPbmx5U3RvcmUgfSBmcm9tICcuLi8uLi9zdG9yZS9zdG9yZSc7XG5pbXBvcnQgeyB0eXBlIExvYWRpbmdTdGF0ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBzb3VyY2Ugb2YgZW50aXRpZXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNTb3VyY2Uge1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiBhIExvYWRpbmdTdGF0ZSBvZiBlbnRpdHkgdmFsdWVzLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgZW50aXRpZXMkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxEYnhGaXJlYmFzZU1vZGVsRW50aXR5W10+Pjtcbn1cblxuLyoqXG4gKiBBIG1vZGVsIGVudGl0eS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZU1vZGVsRW50aXR5IHtcbiAgLyoqXG4gICAqIE1vZGVsIGlkZW50aXR5IGZvciB0aGUgZW50aXR5LlxuICAgKlxuICAgKiBVc2VkIGZvciBzb3J0aW5nL2dyb3VwaW5nIGJ5IGV4cGVjdGVkIGVudGl0eSB0eXBlLlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kZWxJZGVudGl0eTogRmlyZXN0b3JlTW9kZWxJZGVudGl0eTtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWUgZm9yXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogTWF5YmU8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEFuIGFzc29jaWF0ZWQgc3RvcmUgZm9yIHRoZSBkb2N1bWVudCwgaWYgaXQgaXMgYXZhaWxhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmU/OiBNYXliZTxEYnhGaXJlYmFzZURvY3VtZW50UmVhZE9ubHlTdG9yZTxhbnksIGFueT4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlTW9kZWxFbnRpdHlXaXRoU3RvcmU8VCA9IGFueSwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4+IGV4dGVuZHMgRGJ4RmlyZWJhc2VNb2RlbEVudGl0eSB7XG4gIC8qKlxuICAgKiBBbiBhc3NvY2lhdGVkIHN0b3JlIGZvciB0aGUgZG9jdW1lbnQsIGlmIGl0IGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0b3JlOiBEYnhGaXJlYmFzZURvY3VtZW50UmVhZE9ubHlTdG9yZTxULCBEPjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGlucHV0IGVudGl0eSBoYXMgYSBkZWZpbmVkIHN0b3JlLlxuICpcbiAqIEBwYXJhbSBlbnRpdHlcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0RieEZpcmViYXNlTW9kZWxFbnRpdHlXaXRoU3RvcmU8VCA9IGFueSwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4+KGVudGl0eTogRGJ4RmlyZWJhc2VNb2RlbEVudGl0eSk6IGVudGl0eSBpcyBEYnhGaXJlYmFzZU1vZGVsRW50aXR5V2l0aFN0b3JlPFQsIEQ+IHtcbiAgcmV0dXJuIGVudGl0eS5tb2RlbElkZW50aXR5ICE9IG51bGwgJiYgZW50aXR5LnN0b3JlICE9IG51bGw7XG59XG5cbi8qKlxuICogQW4gZW50aXR5IHRoYXQgaGFzIGEga2V5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlTW9kZWxFbnRpdHlXaXRoS2V5IGV4dGVuZHMgRGJ4RmlyZWJhc2VNb2RlbEVudGl0eSB7XG4gIC8qKlxuICAgKiBUaGUga2V5IG9mIHRoZSB0YXJnZXQgZG9jdW1lbnQuXG4gICAqL1xuICByZWFkb25seSBrZXk6IE1vZGVsS2V5O1xufVxuXG4vKipcbiAqIEFuIGVudGl0eSB0aGF0IGhhcyBhIGtleSBhbmQgYSBzdG9yZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZU1vZGVsRW50aXR5V2l0aEtleUFuZFN0b3JlPFQgPSBhbnksIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+PiBleHRlbmRzIE9taXQ8RGJ4RmlyZWJhc2VNb2RlbEVudGl0eVdpdGhLZXksICdzdG9yZSc+LCBEYnhGaXJlYmFzZU1vZGVsRW50aXR5V2l0aFN0b3JlPFQsIEQ+IHt9XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, viewChild } from '@angular/core';
2
- import { AbstractPopoverRefDirective, DbxButtonComponent, DbxPopoverService } from '@dereekb/dbx-web';
3
- import { DbxFirebaseModelEntitiesPopoverComponent } from './model.entities.popover.component';
4
- import { DbxFirebaseModelEntitiesSource } from './model.entities';
5
- import * as i0 from "@angular/core";
6
- export class DbxFirebaseModelEntitiesPopoverButtonComponent extends AbstractPopoverRefDirective {
7
- _dbxPopoverService = inject(DbxPopoverService);
8
- entitiesSource = inject(DbxFirebaseModelEntitiesSource);
9
- buttonElement = viewChild.required('button', { read: ElementRef });
10
- config = input();
11
- buttonDisplaySignal = computed(() => {
12
- const config = this.config();
13
- return config?.buttonDisplay ?? { icon: config?.icon ?? 'data_object' };
14
- });
15
- buttonStyleSignal = computed(() => this.config()?.buttonStyle);
16
- _makePopoverRef(origin) {
17
- if (!origin) {
18
- throw new Error('Missing origin.');
19
- }
20
- const config = this.config();
21
- const entities$ = this.entitiesSource.entities$;
22
- return DbxFirebaseModelEntitiesPopoverComponent.openPopover(this._dbxPopoverService, {
23
- origin,
24
- ...config,
25
- entities$
26
- });
27
- }
28
- showEntitiesPopover() {
29
- const origin = this.buttonElement();
30
- this.showPopover(origin);
31
- }
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxFirebaseModelEntitiesPopoverButtonComponent, isStandalone: true, selector: "dbx-firebase-model-entities-popover-button", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
34
- <dbx-button #button (buttonClick)="showEntitiesPopover()" [buttonStyle]="buttonStyleSignal()" [buttonDisplay]="buttonDisplaySignal()"></dbx-button>
35
- `, isInline: true, dependencies: [{ kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, decorators: [{
38
- type: Component,
39
- args: [{
40
- selector: 'dbx-firebase-model-entities-popover-button',
41
- template: `
42
- <dbx-button #button (buttonClick)="showEntitiesPopover()" [buttonStyle]="buttonStyleSignal()" [buttonDisplay]="buttonDisplaySignal()"></dbx-button>
43
- `,
44
- standalone: true,
45
- imports: [DbxButtonComponent],
46
- changeDetection: ChangeDetectionStrategy.OnPush
47
- }]
48
- }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZW50aXRpZXMucG9wb3Zlci5idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9tb2RlbC9lbnRpdGllcy9tb2RlbC5lbnRpdGllcy5wb3BvdmVyLmJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxrQkFBa0IsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0SCxPQUFPLEVBQUUsd0NBQXdDLEVBQXNELE1BQU0sb0NBQW9DLENBQUM7QUFFbEosT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBdUJsRSxNQUFNLE9BQU8sOENBQStDLFNBQVEsMkJBQTZDO0lBQzlGLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXZELGNBQWMsR0FBRyxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUV4RCxhQUFhLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBcUIsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdkYsTUFBTSxHQUFHLEtBQUssRUFBK0MsQ0FBQztJQUU5RCxtQkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQzNDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixPQUFPLE1BQU0sRUFBRSxhQUFhLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUMxRSxDQUFDLENBQUMsQ0FBQztJQUVNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFckQsZUFBZSxDQUFDLE1BQTBCO1FBQzNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO1FBRWhELE9BQU8sd0NBQXdDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNuRixNQUFNO1lBQ04sR0FBRyxNQUFNO1lBQ1QsU0FBUztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQzt3R0FqQ1UsOENBQThDOzRGQUE5Qyw4Q0FBOEMsaVVBS3lCLFVBQVUsb0VBWmxGOztHQUVULDREQUVTLGtCQUFrQjs7NEZBR2pCLDhDQUE4QztrQkFUMUQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNENBQTRDO29CQUN0RCxRQUFRLEVBQUU7O0dBRVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFBvcG92ZXJSZWZEaXJlY3RpdmUsIERieEJ1dHRvbkNvbXBvbmVudCwgRGJ4QnV0dG9uU3R5bGUsIERieFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBOZ1BvcG92ZXJSZWYgfSBmcm9tICduZy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNQb3BvdmVyQ29tcG9uZW50LCBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNQb3BvdmVyQ29uZmlnV2l0aG91dE9yaWdpbiB9IGZyb20gJy4vbW9kZWwuZW50aXRpZXMucG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxFbnRpdGllc1NvdXJjZSB9IGZyb20gJy4vbW9kZWwuZW50aXRpZXMnO1xuaW1wb3J0IHsgRGJ4QnV0dG9uRGlzcGxheSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNQb3BvdmVyQnV0dG9uQ29uZmlnIGV4dGVuZHMgRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzUG9wb3ZlckNvbmZpZ1dpdGhvdXRPcmlnaW4ge1xuICAvKipcbiAgICogVGhlIGRpc3BsYXkgY29uZmlndXJhdGlvbiBmb3IgdGhlIGJ1dHRvbi5cbiAgICovXG4gIHJlYWRvbmx5IGJ1dHRvbkRpc3BsYXk/OiBNYXliZTxEYnhCdXR0b25EaXNwbGF5PjtcbiAgLyoqXG4gICAqIFRoZSBzdHlsZSBjb25maWd1cmF0aW9uIGZvciB0aGUgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYnV0dG9uU3R5bGU/OiBNYXliZTxEYnhCdXR0b25TdHlsZT47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1maXJlYmFzZS1tb2RlbC1lbnRpdGllcy1wb3BvdmVyLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1idXR0b24gI2J1dHRvbiAoYnV0dG9uQ2xpY2spPVwic2hvd0VudGl0aWVzUG9wb3ZlcigpXCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvblN0eWxlU2lnbmFsKClcIiBbYnV0dG9uRGlzcGxheV09XCJidXR0b25EaXNwbGF5U2lnbmFsKClcIj48L2RieC1idXR0b24+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtEYnhCdXR0b25Db21wb25lbnRdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNQb3BvdmVyQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQb3BvdmVyUmVmRGlyZWN0aXZlPHVua25vd24sIHVua25vd24+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGJ4UG9wb3ZlclNlcnZpY2UgPSBpbmplY3QoRGJ4UG9wb3ZlclNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGVudGl0aWVzU291cmNlID0gaW5qZWN0KERieEZpcmViYXNlTW9kZWxFbnRpdGllc1NvdXJjZSk7XG5cbiAgcmVhZG9ubHkgYnV0dG9uRWxlbWVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxzdHJpbmcsIEVsZW1lbnRSZWY+KCdidXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0PERieEZpcmViYXNlTW9kZWxFbnRpdGllc1BvcG92ZXJCdXR0b25Db25maWc+KCk7XG5cbiAgcmVhZG9ubHkgYnV0dG9uRGlzcGxheVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZygpO1xuICAgIHJldHVybiBjb25maWc/LmJ1dHRvbkRpc3BsYXkgPz8geyBpY29uOiBjb25maWc/Lmljb24gPz8gJ2RhdGFfb2JqZWN0JyB9O1xuICB9KTtcblxuICByZWFkb25seSBidXR0b25TdHlsZVNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCk/LmJ1dHRvblN0eWxlKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX21ha2VQb3BvdmVyUmVmKG9yaWdpbj86IE1heWJlPEVsZW1lbnRSZWY+KTogTmdQb3BvdmVyUmVmPHVua25vd24sIHVua25vd24+IHtcbiAgICBpZiAoIW9yaWdpbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIG9yaWdpbi4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZygpO1xuICAgIGNvbnN0IGVudGl0aWVzJCA9IHRoaXMuZW50aXRpZXNTb3VyY2UuZW50aXRpZXMkO1xuXG4gICAgcmV0dXJuIERieEZpcmViYXNlTW9kZWxFbnRpdGllc1BvcG92ZXJDb21wb25lbnQub3BlblBvcG92ZXIodGhpcy5fZGJ4UG9wb3ZlclNlcnZpY2UsIHtcbiAgICAgIG9yaWdpbixcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGVudGl0aWVzJFxuICAgIH0pO1xuICB9XG5cbiAgc2hvd0VudGl0aWVzUG9wb3ZlcigpOiB2b2lkIHtcbiAgICBjb25zdCBvcmlnaW4gPSB0aGlzLmJ1dHRvbkVsZW1lbnQoKTtcbiAgICB0aGlzLnNob3dQb3BvdmVyKG9yaWdpbik7XG4gIH1cbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { AbstractPopoverDirective, DbxListEmptyContentComponent, DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective } from '@dereekb/dbx-web';
3
- import { DbxFirebaseModelEntitiesComponent } from './model.entities.component';
4
- import * as i0 from "@angular/core";
5
- export const DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY = 'entities';
6
- export class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective {
7
- entities$ = this.popover.data?.entities$;
8
- static openPopover(popupService, config, popoverKey) {
9
- const { origin, header, icon, emptyText, entities$, onlyShowRegisteredTypes, popoverSizingConfig, injector } = config;
10
- return popupService.open({
11
- height: '600px',
12
- width: '800px',
13
- injector: injector ?? undefined,
14
- isResizable: true,
15
- ...popoverSizingConfig,
16
- key: popoverKey ?? DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY,
17
- origin,
18
- componentClass: DbxFirebaseModelEntitiesPopoverComponent,
19
- data: {
20
- header,
21
- icon,
22
- emptyText,
23
- entities$,
24
- onlyShowRegisteredTypes
25
- }
26
- });
27
- }
28
- get config() {
29
- return this.popover.data;
30
- }
31
- icon = this.config.icon ?? 'data_object';
32
- header = this.config.header ?? 'Entities';
33
- emptyText = this.config.emptyText ?? 'No entities found in current context.';
34
- onlyShowRegisteredTypes = this.config.onlyShowRegisteredTypes;
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\" [onlyShowRegisteredTypes]=\"onlyShowRegisteredTypes\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "component", type: DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxFirebaseModelEntitiesComponent, selector: "dbx-firebase-model-entities", inputs: ["multi", "onlyShowRegisteredTypes", "entities"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, decorators: [{
39
- type: Component,
40
- args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxFirebaseModelEntitiesComponent, DbxListEmptyContentComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\" [onlyShowRegisteredTypes]=\"onlyShowRegisteredTypes\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZW50aXRpZXMucG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL21vZGVsL2VudGl0aWVzL21vZGVsLmVudGl0aWVzLnBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9tb2RlbC9lbnRpdGllcy9tb2RlbC5lbnRpdGllcy5wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBMEIsMEJBQTBCLEVBQUUseUJBQXlCLEVBQWlCLGdDQUFnQyxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBQzdPLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQXNEL0UsTUFBTSxDQUFDLE1BQU0seURBQXlELEdBQUcsVUFBVSxDQUFDO0FBUXBGLE1BQU0sT0FBTyx3Q0FBeUMsU0FBUSx3QkFBd0U7SUFDM0gsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUVsRCxNQUFNLENBQUMsV0FBVyxDQUFDLFlBQStCLEVBQUUsTUFBNkMsRUFBRSxVQUEwQjtRQUMzSCxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFFdEgsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxRQUFRLEVBQUUsUUFBUSxJQUFJLFNBQVM7WUFDL0IsV0FBVyxFQUFFLElBQUk7WUFDakIsR0FBRyxtQkFBbUI7WUFDdEIsR0FBRyxFQUFFLFVBQVUsSUFBSSx5REFBeUQ7WUFDNUUsTUFBTTtZQUNOLGNBQWMsRUFBRSx3Q0FBd0M7WUFDeEQsSUFBSSxFQUFFO2dCQUNKLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsdUJBQXVCO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUE2QyxDQUFDO0lBQ3BFLENBQUM7SUFFUSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDO0lBQ3pDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7SUFDMUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLHVDQUF1QyxDQUFDO0lBQzdFLHVCQUF1QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUM7d0dBaEM1RCx3Q0FBd0M7NEZBQXhDLHdDQUF3QywrRkNqRXJELG9hQVVBLDRDRG1EWSwwQkFBMEIsZ0VBQUUseUJBQXlCLDJGQUFFLGdDQUFnQyw2SEFBRSxpQ0FBaUM7OzRGQUl6SCx3Q0FBd0M7a0JBTnBELFNBQVM7OEJBRUMsQ0FBQywwQkFBMEIsRUFBRSx5QkFBeUIsRUFBRSxnQ0FBZ0MsRUFBRSxpQ0FBaUMsRUFBRSw0QkFBNEIsQ0FBQyxtQkFDbEosdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nUG9wb3ZlclJlZiB9IGZyb20gJ25nLW92ZXJsYXktY29udGFpbmVyJztcbmltcG9ydCB7IEFic3RyYWN0UG9wb3ZlckRpcmVjdGl2ZSwgRGJ4TGlzdEVtcHR5Q29udGVudENvbXBvbmVudCwgRGJ4UG9wb3ZlckNvbmZpZ1NpemluZywgRGJ4UG9wb3ZlckNvbnRlbnRDb21wb25lbnQsIERieFBvcG92ZXJIZWFkZXJDb21wb25lbnQsIERieFBvcG92ZXJLZXksIERieFBvcG92ZXJTY3JvbGxDb250ZW50RGlyZWN0aXZlLCBEYnhQb3BvdmVyU2VydmljZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RlbC5lbnRpdGllcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU1vZGVsRW50aXR5IH0gZnJvbSAnLi9tb2RlbC5lbnRpdGllcyc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlTW9kZWxFbnRpdGllc1BvcG92ZXJDb25maWcge1xuICAvKipcbiAgICogQ3VzdG9tIGljb25cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gXCJoaXN0b3J5XCJcbiAgICovXG4gIHJlYWRvbmx5IGljb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBoZWFkZXIgdGV4dFxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBcIkVudGl0aWVzXCJcbiAgICovXG4gIHJlYWRvbmx5IGhlYWRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogQ3VzdG9tIGVtcHR5IHRleHQgd2hlbiBubyBlbnRpdGllcyBleGlzdC5cbiAgICovXG4gIHJlYWRvbmx5IGVtcHR5VGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogT3JpZ2luIHRvIGFkZCB0aGUgcG9wb3ZlciB0by5cbiAgICovXG4gIHJlYWRvbmx5IG9yaWdpbjogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiBlbnRpdGllcyB0byBkaXNwbGF5LlxuICAgKi9cbiAgcmVhZG9ubHkgZW50aXRpZXMkOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxEYnhGaXJlYmFzZU1vZGVsRW50aXR5W10+PjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gb25seSBzaG93IGVudGl0aWVzIHRoYXQgaGF2ZSBhIHJlZ2lzdGVyZWQgd2lkZ2V0IGVudHJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgb25seVNob3dSZWdpc3RlcmVkVHlwZXM/OiBNYXliZTxib29sZWFuPjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBwb3BvdmVyIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBwb3BvdmVyU2l6aW5nQ29uZmlnPzogTWF5YmU8RGJ4UG9wb3ZlckNvbmZpZ1NpemluZz47XG5cbiAgLyoqXG4gICAqIEluamVjdG9yIHRvIHVzZSBmb3IgdGhlIHBvcG92ZXIuXG4gICAqL1xuICByZWFkb25seSBpbmplY3Rvcj86IE1heWJlPEluamVjdG9yPjtcbn1cblxuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzUG9wb3ZlckNvbmZpZ1dpdGhvdXRPcmlnaW4gPSBPbWl0PERieEZpcmViYXNlTW9kZWxFbnRpdGllc1BvcG92ZXJDb25maWcsICdvcmlnaW4nIHwgJ2VudGl0aWVzJCc+O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9EQlhfRklSRUJBU0VfTU9ERUxfRU5USVRJRVNfQ09NUE9ORU5UX1BPUE9WRVJfS0VZID0gJ2VudGl0aWVzJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC5lbnRpdGllcy5wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW0RieFBvcG92ZXJDb250ZW50Q29tcG9uZW50LCBEYnhQb3BvdmVySGVhZGVyQ29tcG9uZW50LCBEYnhQb3BvdmVyU2Nyb2xsQ29udGVudERpcmVjdGl2ZSwgRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzQ29tcG9uZW50LCBEYnhMaXN0RW1wdHlDb250ZW50Q29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UG9wb3ZlckRpcmVjdGl2ZTx1bmtub3duLCBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNQb3BvdmVyQ29uZmlnPiB7XG4gIHJlYWRvbmx5IGVudGl0aWVzJCA9IHRoaXMucG9wb3Zlci5kYXRhPy5lbnRpdGllcyQ7XG5cbiAgc3RhdGljIG9wZW5Qb3BvdmVyKHBvcHVwU2VydmljZTogRGJ4UG9wb3ZlclNlcnZpY2UsIGNvbmZpZzogRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzUG9wb3ZlckNvbmZpZywgcG9wb3ZlcktleT86IERieFBvcG92ZXJLZXkpOiBOZ1BvcG92ZXJSZWYge1xuICAgIGNvbnN0IHsgb3JpZ2luLCBoZWFkZXIsIGljb24sIGVtcHR5VGV4dCwgZW50aXRpZXMkLCBvbmx5U2hvd1JlZ2lzdGVyZWRUeXBlcywgcG9wb3ZlclNpemluZ0NvbmZpZywgaW5qZWN0b3IgfSA9IGNvbmZpZztcblxuICAgIHJldHVybiBwb3B1cFNlcnZpY2Uub3Blbih7XG4gICAgICBoZWlnaHQ6ICc2MDBweCcsXG4gICAgICB3aWR0aDogJzgwMHB4JyxcbiAgICAgIGluamVjdG9yOiBpbmplY3RvciA/PyB1bmRlZmluZWQsXG4gICAgICBpc1Jlc2l6YWJsZTogdHJ1ZSxcbiAgICAgIC4uLnBvcG92ZXJTaXppbmdDb25maWcsXG4gICAgICBrZXk6IHBvcG92ZXJLZXkgPz8gREVGQVVMVF9EQlhfRklSRUJBU0VfTU9ERUxfRU5USVRJRVNfQ09NUE9ORU5UX1BPUE9WRVJfS0VZLFxuICAgICAgb3JpZ2luLFxuICAgICAgY29tcG9uZW50Q2xhc3M6IERieEZpcmViYXNlTW9kZWxFbnRpdGllc1BvcG92ZXJDb21wb25lbnQsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGhlYWRlcixcbiAgICAgICAgaWNvbixcbiAgICAgICAgZW1wdHlUZXh0LFxuICAgICAgICBlbnRpdGllcyQsXG4gICAgICAgIG9ubHlTaG93UmVnaXN0ZXJlZFR5cGVzXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXQgY29uZmlnKCk6IERieEZpcmViYXNlTW9kZWxFbnRpdGllc1BvcG92ZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLnBvcG92ZXIuZGF0YSBhcyBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNQb3BvdmVyQ29uZmlnO1xuICB9XG5cbiAgcmVhZG9ubHkgaWNvbiA9IHRoaXMuY29uZmlnLmljb24gPz8gJ2RhdGFfb2JqZWN0JztcbiAgcmVhZG9ubHkgaGVhZGVyID0gdGhpcy5jb25maWcuaGVhZGVyID8/ICdFbnRpdGllcyc7XG4gIHJlYWRvbmx5IGVtcHR5VGV4dCA9IHRoaXMuY29uZmlnLmVtcHR5VGV4dCA/PyAnTm8gZW50aXRpZXMgZm91bmQgaW4gY3VycmVudCBjb250ZXh0Lic7XG4gIHJlYWRvbmx5IG9ubHlTaG93UmVnaXN0ZXJlZFR5cGVzID0gdGhpcy5jb25maWcub25seVNob3dSZWdpc3RlcmVkVHlwZXM7XG59XG4iLCI8ZGJ4LXBvcG92ZXItY29udGVudD5cbiAgPCEtLSBIZWFkZXIgLS0+XG4gIDxkYngtcG9wb3Zlci1oZWFkZXIgW2ljb25dPVwiaWNvblwiIFtoZWFkZXJdPVwiaGVhZGVyXCI+PC9kYngtcG9wb3Zlci1oZWFkZXI+XG4gIDwhLS0gQ29udGVudCAtLT5cbiAgPGRieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuICAgIDxkYngtZmlyZWJhc2UtbW9kZWwtZW50aXRpZXMgW2VudGl0aWVzXT1cImVudGl0aWVzJFwiIFtvbmx5U2hvd1JlZ2lzdGVyZWRUeXBlc109XCJvbmx5U2hvd1JlZ2lzdGVyZWRUeXBlc1wiPlxuICAgICAgPHAgZW1wdHk+e3sgZW1wdHlUZXh0IH19PC9wPlxuICAgIDwvZGJ4LWZpcmViYXNlLW1vZGVsLWVudGl0aWVzPlxuICA8L2RieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuPC9kYngtcG9wb3Zlci1jb250ZW50PlxuIl19
@@ -1,20 +0,0 @@
1
- import { makeEnvironmentProviders } from '@angular/core';
2
- import { DbxFirebaseModelEntitiesWidgetService, DbxFirebaseModelEntitiesWidgetServiceConfig } from './model.entities.widget.service';
3
- /**
4
- * Creates EnvironmentProviders for DbxFirebaseModelEntitiesWidgetService.
5
- *
6
- * @param config Configuration
7
- * @returns EnvironmentProviders
8
- */
9
- export function provideDbxFirebaseModelEntitiesWidgetService(config) {
10
- const { dbxFirebaseModelEntitiesWidgetServiceConfigFactory } = config;
11
- const providers = [
12
- {
13
- provide: DbxFirebaseModelEntitiesWidgetServiceConfig,
14
- useFactory: dbxFirebaseModelEntitiesWidgetServiceConfigFactory
15
- },
16
- DbxFirebaseModelEntitiesWidgetService
17
- ];
18
- return makeEnvironmentProviders(providers);
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZW50aXRpZXMucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9tb2RlbC9lbnRpdGllcy9tb2RlbC5lbnRpdGllcy5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyRCx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQWlCckk7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsNENBQTRDLENBQUMsTUFBMEQ7SUFDckgsTUFBTSxFQUFFLGtEQUFrRCxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRXRFLE1BQU0sU0FBUyxHQUFlO1FBQzVCO1lBQ0UsT0FBTyxFQUFFLDJDQUEyQztZQUNwRCxVQUFVLEVBQUUsa0RBQWtEO1NBQy9EO1FBQ0QscUNBQXFDO0tBQ3RDLENBQUM7SUFFRixPQUFPLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEVudmlyb25tZW50UHJvdmlkZXJzLCB0eXBlIEluamVjdG9yLCB0eXBlIFByb3ZpZGVyLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2UsIERieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2VDb25maWcgfSBmcm9tICcuL21vZGVsLmVudGl0aWVzLndpZGdldC5zZXJ2aWNlJztcblxuLyoqXG4gKiBGYWN0b3J5IGZvciBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNXaWRnZXRTZXJ2aWNlQ29uZmlnLlxuICovXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNXaWRnZXRTZXJ2aWNlQ29uZmlnRmFjdG9yeSA9IChpbmplY3RvcjogSW5qZWN0b3IpID0+IERieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2VDb25maWc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgcHJvdmlkZURieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2UoKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzV2lkZ2V0U2VydmljZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBGYWN0b3J5IGZvciBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNXaWRnZXRTZXJ2aWNlQ29uZmlnLlxuICAgKi9cbiAgcmVhZG9ubHkgZGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzV2lkZ2V0U2VydmljZUNvbmZpZ0ZhY3Rvcnk6IERieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2VDb25maWdGYWN0b3J5O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgRW52aXJvbm1lbnRQcm92aWRlcnMgZm9yIERieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2UuXG4gKlxuICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uXG4gKiBAcmV0dXJucyBFbnZpcm9ubWVudFByb3ZpZGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2UoY29uZmlnOiBQcm92aWRlRGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzV2lkZ2V0U2VydmljZUNvbmZpZyk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgY29uc3QgeyBkYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNXaWRnZXRTZXJ2aWNlQ29uZmlnRmFjdG9yeSB9ID0gY29uZmlnO1xuXG4gIGNvbnN0IHByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNXaWRnZXRTZXJ2aWNlQ29uZmlnLFxuICAgICAgdXNlRmFjdG9yeTogZGJ4RmlyZWJhc2VNb2RlbEVudGl0aWVzV2lkZ2V0U2VydmljZUNvbmZpZ0ZhY3RvcnlcbiAgICB9LFxuICAgIERieEZpcmViYXNlTW9kZWxFbnRpdGllc1dpZGdldFNlcnZpY2VcbiAgXTtcblxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKHByb3ZpZGVycyk7XG59XG4iXX0=
@@ -1,38 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { DbxFirebaseModelEntitiesSource } from './model.entities';
3
- import { DbxFirebaseDocumentStoreContextStore } from '../../store/store.document.context.store';
4
- import { map } from 'rxjs';
5
- import { loadingStateFromObs } from '@dereekb/rxjs';
6
- import * as i0 from "@angular/core";
7
- export const dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory = (storeContextStore) => {
8
- const entities$ = storeContextStore.entriesGroupedByIdentity$.pipe(map((entries) => entries.map((entry) => ({ store: entry.store, modelIdentity: entry.modelIdentity }))));
9
- const source = {
10
- entities$: loadingStateFromObs(entities$)
11
- };
12
- return source;
13
- };
14
- export class DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective {
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextModelEntitiesSource]", providers: [
17
- {
18
- provide: DbxFirebaseModelEntitiesSource,
19
- useFactory: dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory,
20
- deps: [DbxFirebaseDocumentStoreContextStore]
21
- }
22
- ], ngImport: i0 });
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, decorators: [{
25
- type: Directive,
26
- args: [{
27
- selector: '[dbxFirebaseDocumentStoreContextModelEntitiesSource]',
28
- providers: [
29
- {
30
- provide: DbxFirebaseModelEntitiesSource,
31
- useFactory: dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory,
32
- deps: [DbxFirebaseDocumentStoreContextStore]
33
- }
34
- ],
35
- standalone: true
36
- }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZW50aXRpZXMuc291cmNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvbW9kZWwvZW50aXRpZXMvbW9kZWwuZW50aXRpZXMuc291cmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSw4QkFBOEIsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFcEQsTUFBTSxDQUFDLE1BQU0seURBQXlELEdBQUcsQ0FBQyxpQkFBdUQsRUFBa0MsRUFBRTtJQUNuSyxNQUFNLFNBQVMsR0FBeUMsaUJBQWlCLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqTixNQUFNLE1BQU0sR0FBbUM7UUFDN0MsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztLQUMxQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBYUYsTUFBTSxPQUFPLDJEQUEyRDt3R0FBM0QsMkRBQTJEOzRGQUEzRCwyREFBMkQsbUdBVDNEO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDhCQUE4QjtnQkFDdkMsVUFBVSxFQUFFLHlEQUF5RDtnQkFDckUsSUFBSSxFQUFFLENBQUMsb0NBQW9DLENBQUM7YUFDN0M7U0FDRjs7NEZBR1UsMkRBQTJEO2tCQVh2RSxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzREFBc0Q7b0JBQ2hFLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsOEJBQThCOzRCQUN2QyxVQUFVLEVBQUUseURBQXlEOzRCQUNyRSxJQUFJLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQzt5QkFDN0M7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNTb3VyY2UsIERieEZpcmViYXNlTW9kZWxFbnRpdHkgfSBmcm9tICcuL21vZGVsLmVudGl0aWVzJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdG9yZSB9IGZyb20gJy4uLy4uL3N0b3JlL3N0b3JlLmRvY3VtZW50LmNvbnRleHQuc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBsb2FkaW5nU3RhdGVGcm9tT2JzIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbmV4cG9ydCBjb25zdCBkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0TW9kZWxFbnRpdGllc1NvdXJjZUZhY3RvcnkgPSAoc3RvcmVDb250ZXh0U3RvcmU6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdG9yZSk6IERieEZpcmViYXNlTW9kZWxFbnRpdGllc1NvdXJjZSA9PiB7XG4gIGNvbnN0IGVudGl0aWVzJDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZU1vZGVsRW50aXR5W10+ID0gc3RvcmVDb250ZXh0U3RvcmUuZW50cmllc0dyb3VwZWRCeUlkZW50aXR5JC5waXBlKG1hcCgoZW50cmllcykgPT4gZW50cmllcy5tYXAoKGVudHJ5KSA9PiAoeyBzdG9yZTogZW50cnkuc3RvcmUsIG1vZGVsSWRlbnRpdHk6IGVudHJ5Lm1vZGVsSWRlbnRpdHkgfSkpKSk7XG5cbiAgY29uc3Qgc291cmNlOiBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNTb3VyY2UgPSB7XG4gICAgZW50aXRpZXMkOiBsb2FkaW5nU3RhdGVGcm9tT2JzKGVudGl0aWVzJClcbiAgfTtcblxuICByZXR1cm4gc291cmNlO1xufTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRNb2RlbEVudGl0aWVzU291cmNlXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IERieEZpcmViYXNlTW9kZWxFbnRpdGllc1NvdXJjZSxcbiAgICAgIHVzZUZhY3Rvcnk6IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRNb2RlbEVudGl0aWVzU291cmNlRmFjdG9yeSxcbiAgICAgIGRlcHM6IFtEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVdXG4gICAgfVxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRNb2RlbEVudGl0aWVzU291cmNlRGlyZWN0aXZlIHt9XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Directive, inject } from '@angular/core';
2
- import { DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN } from './model.entities.widget';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * An abstract DbxFirebase widget component that injects the entity data and provides some common accessors.
6
- */
7
- export class AbstractDbxFirebaseModelEntityWidgetDirective {
8
- entityData = inject(DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN);
9
- store = this.entityData.store;
10
- data$ = this.store.data$;
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseModelEntityWidgetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractDbxFirebaseModelEntityWidgetDirective, ngImport: i0 });
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseModelEntityWidgetDirective, decorators: [{
15
- type: Directive,
16
- args: [{}]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZW50aXRpZXMud2lkZ2V0LmVudGl0eS5hYnN0cmFjdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL21vZGVsL2VudGl0aWVzL21vZGVsLmVudGl0aWVzLndpZGdldC5lbnRpdHkuYWJzdHJhY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUlyRjs7R0FFRztBQUVILE1BQU0sT0FBZ0IsNkNBQTZDO0lBQ3hELFVBQVUsR0FBMEMsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFFdkcsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQzlCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQzt3R0FKZCw2Q0FBNkM7NEZBQTdDLDZDQUE2Qzs7NEZBQTdDLDZDQUE2QztrQkFEbEUsU0FBUzttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERCWF9GSVJFQkFTRV9NT0RFTF9FTlRJVFlfV0lUSF9TVE9SRV9UT0tFTiB9IGZyb20gJy4vbW9kZWwuZW50aXRpZXMud2lkZ2V0JztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxFbnRpdHlXaXRoU3RvcmUgfSBmcm9tICcuL21vZGVsLmVudGl0aWVzJztcbmltcG9ydCB7IHR5cGUgRmlyZXN0b3JlRG9jdW1lbnQgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5cbi8qKlxuICogQW4gYWJzdHJhY3QgRGJ4RmlyZWJhc2Ugd2lkZ2V0IGNvbXBvbmVudCB0aGF0IGluamVjdHMgdGhlIGVudGl0eSBkYXRhIGFuZCBwcm92aWRlcyBzb21lIGNvbW1vbiBhY2Nlc3NvcnMuXG4gKi9cbkBEaXJlY3RpdmUoe30pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhGaXJlYmFzZU1vZGVsRW50aXR5V2lkZ2V0RGlyZWN0aXZlPFQgPSBhbnksIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+PiB7XG4gIHJlYWRvbmx5IGVudGl0eURhdGE6IERieEZpcmViYXNlTW9kZWxFbnRpdHlXaXRoU3RvcmU8VCwgRD4gPSBpbmplY3QoREJYX0ZJUkVCQVNFX01PREVMX0VOVElUWV9XSVRIX1NUT1JFX1RPS0VOKTtcblxuICByZWFkb25seSBzdG9yZSA9IHRoaXMuZW50aXR5RGF0YS5zdG9yZTtcbiAgcmVhZG9ubHkgZGF0YSQgPSB0aGlzLnN0b3JlLmRhdGEkO1xufVxuIl19
@@ -1,41 +0,0 @@
1
- import { Component, computed } from '@angular/core';
2
- import { AbstractDbxFirebaseModelEntityWidgetDirective } from './model.entities.widget.entity.abstract.directive';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { JsonPipe } from '@angular/common';
5
- import { DbxFirebaseModelKeyComponent } from '../model.key.component';
6
- import { DbxClickToCopyTextComponent, DbxContentPitDirective, DbxDownloadTextViewComponent, DbxLoadingComponent } from '@dereekb/dbx-web';
7
- import { loadingStateContext } from '@dereekb/rxjs';
8
- import { twoWayFlatFirestoreModelKey } from '@dereekb/firebase';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * A debug widget component that displays entity data and metadata.
12
- */
13
- export class DbxFirebaseModelEntitiesDebugWidgetComponent extends AbstractDbxFirebaseModelEntityWidgetDirective {
14
- // Convert store observables to signals for template usage
15
- currentKey = toSignal(this.store.currentKey$);
16
- currentData = toSignal(this.data$);
17
- contentSignal = computed(() => {
18
- const key = this.currentKey();
19
- const data = this.currentData();
20
- let content;
21
- if (key && data) {
22
- const flattenKey = twoWayFlatFirestoreModelKey(key);
23
- content = {
24
- content: JSON.stringify(data, null, 2),
25
- name: `${flattenKey}.json`
26
- };
27
- }
28
- return content;
29
- });
30
- context = loadingStateContext(this.store.dataLoadingState$);
31
- ngOnDestroy() {
32
- this.context.destroy();
33
- }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesDebugWidgetComponent, isStandalone: true, selector: "dbx-firebase-model-entities-debug-widget", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-download-text-view [showTitle]=\"false\" [content]=\"contentSignal()\"></dbx-download-text-view>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: DbxFirebaseModelKeyComponent, selector: "dbx-firebase-model-key", inputs: ["modelKey"] }, { kind: "component", type: DbxDownloadTextViewComponent, selector: "dbx-download-text-view", inputs: ["showDownloadButton", "loadingText", "linear", "showTitle", "showPreview", "showExpandPreviewButton", "expandPreview", "content", "contentState"], outputs: ["expandPreviewChange"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }] });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'dbx-firebase-model-entities-debug-widget', standalone: true, imports: [DbxFirebaseModelKeyComponent, DbxClickToCopyTextComponent, DbxContentPitDirective, DbxDownloadTextViewComponent, DbxLoadingComponent, JsonPipe], template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-download-text-view [showTitle]=\"false\" [content]=\"contentSignal()\"></dbx-download-text-view>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n" }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZW50aXRpZXMud2lkZ2V0LmVudGl0eS5kZWJ1Zy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL21vZGVsL2VudGl0aWVzL21vZGVsLmVudGl0aWVzLndpZGdldC5lbnRpdHkuZGVidWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9tb2RlbC9lbnRpdGllcy9tb2RlbC5lbnRpdGllcy53aWRnZXQuZW50aXR5LmRlYnVnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNsSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsRUFBRSw0QkFBNEIsRUFBRSxtQkFBbUIsRUFBdUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMvSixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRWhFOztHQUVHO0FBT0gsTUFBTSxPQUFPLDRDQUE2QyxTQUFRLDZDQUE2QztJQUM3RywwREFBMEQ7SUFDakQsVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRW5DLGFBQWEsR0FBdUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUN6RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWhDLElBQUksT0FBbUMsQ0FBQztRQUV4QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNoQixNQUFNLFVBQVUsR0FBRywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVwRCxPQUFPLEdBQUc7Z0JBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLElBQUksRUFBRSxHQUFHLFVBQVUsT0FBTzthQUMzQixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBRU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVyRSxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQTNCVSw0Q0FBNEM7NEZBQTVDLDRDQUE0QywySENuQnpELDJyQkFxQkEsNENESlksNEJBQTRCLHlGQUF1RCw0QkFBNEIsaVFBQUUsbUJBQW1COzs0RkFFbkksNENBQTRDO2tCQU54RCxTQUFTOytCQUNFLDBDQUEwQyxjQUV4QyxJQUFJLFdBQ1AsQ0FBQyw0QkFBNEIsRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsRUFBRSw0QkFBNEIsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBPbkRlc3Ryb3ksIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhGaXJlYmFzZU1vZGVsRW50aXR5V2lkZ2V0RGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RlbC5lbnRpdGllcy53aWRnZXQuZW50aXR5LmFic3RyYWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEpzb25QaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxLZXlDb21wb25lbnQgfSBmcm9tICcuLi9tb2RlbC5rZXkuY29tcG9uZW50JztcbmltcG9ydCB7IERieENsaWNrVG9Db3B5VGV4dENvbXBvbmVudCwgRGJ4Q29udGVudFBpdERpcmVjdGl2ZSwgRGJ4RG93bmxvYWRUZXh0Vmlld0NvbXBvbmVudCwgRGJ4TG9hZGluZ0NvbXBvbmVudCwgRG93bmxvYWRUZXh0Q29udGVudCB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgbG9hZGluZ1N0YXRlQ29udGV4dCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcblxuLyoqXG4gKiBBIGRlYnVnIHdpZGdldCBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBlbnRpdHkgZGF0YSBhbmQgbWV0YWRhdGEuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1maXJlYmFzZS1tb2RlbC1lbnRpdGllcy1kZWJ1Zy13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwuZW50aXRpZXMud2lkZ2V0LmVudGl0eS5kZWJ1Zy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtEYnhGaXJlYmFzZU1vZGVsS2V5Q29tcG9uZW50LCBEYnhDbGlja1RvQ29weVRleHRDb21wb25lbnQsIERieENvbnRlbnRQaXREaXJlY3RpdmUsIERieERvd25sb2FkVGV4dFZpZXdDb21wb25lbnQsIERieExvYWRpbmdDb21wb25lbnQsIEpzb25QaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZU1vZGVsRW50aXRpZXNEZWJ1Z1dpZGdldENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGJ4RmlyZWJhc2VNb2RlbEVudGl0eVdpZGdldERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8vIENvbnZlcnQgc3RvcmUgb2JzZXJ2YWJsZXMgdG8gc2lnbmFscyBmb3IgdGVtcGxhdGUgdXNhZ2VcbiAgcmVhZG9ubHkgY3VycmVudEtleSA9IHRvU2lnbmFsKHRoaXMuc3RvcmUuY3VycmVudEtleSQpO1xuICByZWFkb25seSBjdXJyZW50RGF0YSA9IHRvU2lnbmFsKHRoaXMuZGF0YSQpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnRTaWduYWw6IFNpZ25hbDxNYXliZTxEb3dubG9hZFRleHRDb250ZW50Pj4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5jdXJyZW50S2V5KCk7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuY3VycmVudERhdGEoKTtcblxuICAgIGxldCBjb250ZW50OiBNYXliZTxEb3dubG9hZFRleHRDb250ZW50PjtcblxuICAgIGlmIChrZXkgJiYgZGF0YSkge1xuICAgICAgY29uc3QgZmxhdHRlbktleSA9IHR3b1dheUZsYXRGaXJlc3RvcmVNb2RlbEtleShrZXkpO1xuXG4gICAgICBjb250ZW50ID0ge1xuICAgICAgICBjb250ZW50OiBKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCAyKSxcbiAgICAgICAgbmFtZTogYCR7ZmxhdHRlbktleX0uanNvbmBcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNvbnRleHQgPSBsb2FkaW5nU3RhdGVDb250ZXh0KHRoaXMuc3RvcmUuZGF0YUxvYWRpbmdTdGF0ZSQpO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC5kZXN0cm95KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYngtZmlyZWJhc2UtbW9kZWwtZW50aXRpZXMtZGVidWctd2lkZ2V0XCI+XG4gIDwhLS0gTW9kZWwgS2V5IFNlY3Rpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJkYngtZGVidWctc2VjdGlvblwiPlxuICAgIDxoND5Nb2RlbCBLZXkgSW5mb3JtYXRpb248L2g0PlxuICAgIEBpZiAoY3VycmVudEtleSgpOyBhcyBrZXkpIHtcbiAgICAgIDxkYngtZmlyZWJhc2UtbW9kZWwta2V5IFttb2RlbEtleV09XCJrZXlcIj48L2RieC1maXJlYmFzZS1tb2RlbC1rZXk+XG4gICAgfVxuICA8L2Rpdj5cblxuICA8IS0tIERvY3VtZW50IERhdGEgU2VjdGlvbiAtLT5cbiAgPGRpdiBjbGFzcz1cImRieC1kZWJ1Zy1zZWN0aW9uXCI+XG4gICAgPGg0PkRvY3VtZW50IERhdGE8L2g0PlxuICAgIDxkYngtbG9hZGluZyBbY29udGV4dF09XCJjb250ZXh0XCI+XG4gICAgICBAaWYgKGN1cnJlbnREYXRhKCk7IGFzIGRhdGEpIHtcbiAgICAgICAgPGRieC1kb3dubG9hZC10ZXh0LXZpZXcgW3Nob3dUaXRsZV09XCJmYWxzZVwiIFtjb250ZW50XT1cImNvbnRlbnRTaWduYWwoKVwiPjwvZGJ4LWRvd25sb2FkLXRleHQtdmlldz5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8cCBjbGFzcz1cImRieC1lbXB0eVwiPk5vIGRhdGEgYXZhaWxhYmxlPC9wPlxuICAgICAgfVxuICAgIDwvZGJ4LWxvYWRpbmc+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=