@dereekb/dbx-firebase 9.25.16 → 10.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 (217) hide show
  1. package/_index.scss +1 -0
  2. package/{esm2020 → esm2022}/lib/analytics/analytics.user.events.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/analytics/analytics.user.source.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/auth/appcheck/appcheck.interceptor.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/auth/firebase.auth.module.mjs +5 -5
  6. package/{esm2020 → esm2022}/lib/auth/login/firebase.login.module.mjs +45 -45
  7. package/esm2022/lib/auth/login/login.anonymous.component.mjs +23 -0
  8. package/esm2022/lib/auth/login/login.apple.component.mjs +23 -0
  9. package/{esm2020 → esm2022}/lib/auth/login/login.button.component.mjs +14 -14
  10. package/{esm2020 → esm2022}/lib/auth/login/login.component.mjs +6 -6
  11. package/{esm2020 → esm2022}/lib/auth/login/login.context.back.component.mjs +6 -6
  12. package/esm2022/lib/auth/login/login.context.directive.mjs +29 -0
  13. package/esm2022/lib/auth/login/login.email.component.mjs +24 -0
  14. package/{esm2020 → esm2022}/lib/auth/login/login.email.content.component.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/auth/login/login.email.form.component.mjs +6 -6
  16. package/{esm2020 → esm2022}/lib/auth/login/login.email.recovery.form.component.mjs +6 -6
  17. package/esm2022/lib/auth/login/login.facebook.component.mjs +23 -0
  18. package/esm2022/lib/auth/login/login.github.component.mjs +23 -0
  19. package/esm2022/lib/auth/login/login.google.component.mjs +23 -0
  20. package/{esm2020 → esm2022}/lib/auth/login/login.list.component.mjs +6 -6
  21. package/esm2022/lib/auth/login/login.microsoft.component.mjs +23 -0
  22. package/{esm2020 → esm2022}/lib/auth/login/login.service.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/auth/login/login.terms.component.mjs +6 -6
  24. package/{esm2020 → esm2022}/lib/auth/login/login.terms.simple.component.mjs +6 -6
  25. package/esm2022/lib/auth/login/login.twitter.component.mjs +23 -0
  26. package/{esm2020 → esm2022}/lib/auth/login/register.component.mjs +6 -6
  27. package/{esm2020 → esm2022}/lib/auth/login/register.email.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/auth/service/firebase.auth.service.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/development/development.module.mjs +22 -22
  30. package/{esm2020 → esm2022}/lib/development/development.popup.component.mjs +6 -6
  31. package/{esm2020 → esm2022}/lib/development/development.popup.content.component.mjs +4 -4
  32. package/{esm2020 → esm2022}/lib/development/development.popup.content.form.component.mjs +6 -6
  33. package/{esm2020 → esm2022}/lib/development/development.popup.directive.mjs +4 -4
  34. package/esm2022/lib/development/development.scheduler.list.component.mjs +80 -0
  35. package/{esm2020 → esm2022}/lib/development/development.scheduler.service.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/development/development.scheduler.widget.component.mjs +6 -6
  37. package/{esm2020 → esm2022}/lib/development/development.service.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/development/development.widget.service.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/firebase/firebase.emulator.module.mjs +5 -5
  40. package/esm2022/lib/firebase/firebase.emulator.service.mjs +35 -0
  41. package/esm2022/lib/firebase/firebase.module.mjs +293 -0
  42. package/{esm2020 → esm2022}/lib/firestore/firebase.firestore.context.service.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/firestore/firebase.firestore.module.mjs +5 -5
  44. package/{esm2020 → esm2022}/lib/function/firebase.function.module.mjs +5 -5
  45. package/{esm2020 → esm2022}/lib/model/model.module.mjs +5 -5
  46. package/esm2022/lib/model/modules/model/model.history.component.mjs +48 -0
  47. package/{esm2020 → esm2022}/lib/model/modules/model/model.history.module.mjs +5 -5
  48. package/{esm2020 → esm2022}/lib/model/modules/model/model.history.popover.button.component.mjs +6 -6
  49. package/esm2022/lib/model/modules/model/model.history.popover.component.mjs +50 -0
  50. package/esm2022/lib/model/modules/model/model.tracker.service.mjs +62 -0
  51. package/esm2022/lib/model/modules/model/model.types.list.component.mjs +64 -0
  52. package/{esm2020 → esm2022}/lib/model/modules/model/model.types.module.mjs +5 -5
  53. package/{esm2020 → esm2022}/lib/model/modules/model/model.types.service.mjs +4 -4
  54. package/{esm2020 → esm2022}/lib/model/modules/model/model.types.view.directive.mjs +4 -4
  55. package/{esm2020 → esm2022}/lib/model/modules/store/model.store.module.mjs +5 -5
  56. package/{esm2020 → esm2022}/lib/model/modules/store/store.collection.change.directive.mjs +7 -7
  57. package/{esm2020 → esm2022}/lib/model/modules/store/store.collection.change.if.directive.mjs +4 -4
  58. package/{esm2020 → esm2022}/lib/model/modules/store/store.collection.directive.mjs +4 -4
  59. package/{esm2020 → esm2022}/lib/model/modules/store/store.collection.list.directive.mjs +4 -4
  60. package/{esm2020 → esm2022}/lib/model/modules/store/store.collection.mjs +4 -4
  61. package/{esm2020 → esm2022}/lib/model/modules/store/store.document.auth.directive.mjs +4 -4
  62. package/{esm2020 → esm2022}/lib/model/modules/store/store.document.crud.mjs +1 -1
  63. package/{esm2020 → esm2022}/lib/model/modules/store/store.document.directive.mjs +4 -4
  64. package/esm2022/lib/model/modules/store/store.document.mjs +167 -0
  65. package/{esm2020 → esm2022}/lib/model/modules/store/store.document.router.directive.mjs +4 -4
  66. package/{esm2020 → esm2022}/lib/model/modules/store/store.document.router.key.directive.mjs +4 -4
  67. package/{esm2020 → esm2022}/lib/model/modules/store/store.subcollection.directive.mjs +4 -4
  68. package/{esm2020 → esm2022}/lib/model/modules/store/store.subcollection.document.mjs +4 -4
  69. package/{esm2020 → esm2022}/lib/model/modules/store/store.subcollection.mjs +4 -4
  70. package/esm2022/lib/model/service/model.context.service.mjs +38 -0
  71. package/{esm2020 → esm2022}/lib/model/system/systemstate.collection.store.directive.mjs +4 -4
  72. package/{esm2020 → esm2022}/lib/model/system/systemstate.collection.store.mjs +4 -4
  73. package/{esm2020 → esm2022}/lib/model/system/systemstate.document.store.directive.mjs +4 -4
  74. package/{esm2020 → esm2022}/lib/model/system/systemstate.document.store.mjs +4 -4
  75. package/{esm2020 → esm2022}/lib/module.mjs +5 -5
  76. package/{esm2020 → esm2022}/lib/pipe/key.pipe.mjs +7 -7
  77. package/{esm2020 → esm2022}/lib/pipe/pipe.module.mjs +5 -5
  78. package/{esm2020 → esm2022}/lib/storage/firebase.storage.module.mjs +5 -5
  79. package/{esm2020 → esm2022}/lib/storage/firebase.storage.service.mjs +4 -4
  80. package/{fesm2020 → fesm2022}/dereekb-dbx-firebase.mjs +500 -490
  81. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -0
  82. package/lib/analytics/analytics.user.source.d.ts +1 -1
  83. package/lib/auth/auth.d.ts +1 -1
  84. package/lib/auth/login/_login.scss +6 -2
  85. package/lib/auth/login/login.anonymous.component.d.ts +1 -1
  86. package/lib/auth/login/login.apple.component.d.ts +1 -1
  87. package/lib/auth/login/login.button.component.d.ts +4 -4
  88. package/lib/auth/login/login.component.d.ts +1 -1
  89. package/lib/auth/login/login.context.back.component.d.ts +1 -1
  90. package/lib/auth/login/login.context.directive.d.ts +1 -1
  91. package/lib/auth/login/login.d.ts +5 -5
  92. package/lib/auth/login/login.email.component.d.ts +1 -1
  93. package/lib/auth/login/login.email.content.component.d.ts +2 -2
  94. package/lib/auth/login/login.email.form.component.d.ts +2 -2
  95. package/lib/auth/login/login.email.recovery.form.component.d.ts +1 -1
  96. package/lib/auth/login/login.facebook.component.d.ts +1 -1
  97. package/lib/auth/login/login.github.component.d.ts +1 -1
  98. package/lib/auth/login/login.google.component.d.ts +1 -1
  99. package/lib/auth/login/login.list.component.d.ts +1 -1
  100. package/lib/auth/login/login.microsoft.component.d.ts +1 -1
  101. package/lib/auth/login/login.password.d.ts +1 -1
  102. package/lib/auth/login/login.service.d.ts +1 -1
  103. package/lib/auth/login/login.terms.component.d.ts +1 -1
  104. package/lib/auth/login/login.terms.simple.component.d.ts +1 -1
  105. package/lib/auth/login/login.twitter.component.d.ts +1 -1
  106. package/lib/auth/login/register.component.d.ts +1 -1
  107. package/lib/auth/login/register.email.component.d.ts +1 -1
  108. package/lib/auth/service/firebase.auth.rxjs.d.ts +1 -1
  109. package/lib/auth/service/firebase.auth.service.d.ts +1 -1
  110. package/lib/auth/service/firebase.auth.service.delegate.d.ts +1 -1
  111. package/lib/development/development.popup.component.d.ts +1 -1
  112. package/lib/development/development.popup.content.component.d.ts +1 -1
  113. package/lib/development/development.popup.content.form.component.d.ts +1 -1
  114. package/lib/development/development.popup.directive.d.ts +1 -1
  115. package/lib/development/development.scheduler.list.component.d.ts +4 -4
  116. package/lib/development/development.scheduler.widget.component.d.ts +3 -3
  117. package/lib/model/loader/collection.change.trigger.d.ts +1 -1
  118. package/lib/model/loader/collection.change.watcher.d.ts +2 -2
  119. package/lib/model/loader/collection.loader.instance.d.ts +1 -1
  120. package/lib/model/modules/model/model.history.component.d.ts +1 -1
  121. package/lib/model/modules/model/model.history.popover.button.component.d.ts +2 -2
  122. package/lib/model/modules/model/model.history.popover.component.d.ts +1 -1
  123. package/lib/model/modules/model/model.types.list.component.d.ts +4 -4
  124. package/lib/model/modules/model/model.types.service.d.ts +3 -3
  125. package/lib/model/modules/model/model.types.view.directive.d.ts +1 -1
  126. package/lib/model/modules/store/store.collection.change.directive.d.ts +1 -1
  127. package/lib/model/modules/store/store.collection.change.if.directive.d.ts +2 -2
  128. package/lib/model/modules/store/store.collection.directive.d.ts +2 -2
  129. package/lib/model/modules/store/store.collection.list.directive.d.ts +1 -1
  130. package/lib/model/modules/store/store.document.auth.directive.d.ts +1 -1
  131. package/lib/model/modules/store/store.document.crud.d.ts +5 -9
  132. package/lib/model/modules/store/store.document.directive.d.ts +5 -5
  133. package/lib/model/modules/store/store.document.router.directive.d.ts +1 -1
  134. package/lib/model/modules/store/store.document.router.key.directive.d.ts +1 -1
  135. package/lib/model/modules/store/store.subcollection.d.ts +3 -3
  136. package/lib/model/modules/store/store.subcollection.directive.d.ts +1 -1
  137. package/lib/model/modules/store/store.subcollection.document.d.ts +1 -1
  138. package/lib/model/modules/store/store.subcollection.rxjs.d.ts +3 -3
  139. package/lib/model/service/model.context.instance.d.ts +1 -1
  140. package/lib/model/service/model.context.service.d.ts +1 -1
  141. package/lib/model/system/systemstate.collection.store.directive.d.ts +1 -1
  142. package/lib/model/system/systemstate.document.store.directive.d.ts +1 -1
  143. package/lib/storage/firebase.storage.module.d.ts +1 -1
  144. package/lib/style/_all-typography.scss +2 -2
  145. package/lib/style/_core.scss +1 -2
  146. package/lib/style/_theming.scss +1 -1
  147. package/package.json +25 -21
  148. package/esm2020/lib/auth/login/login.anonymous.component.mjs +0 -22
  149. package/esm2020/lib/auth/login/login.apple.component.mjs +0 -22
  150. package/esm2020/lib/auth/login/login.context.directive.mjs +0 -29
  151. package/esm2020/lib/auth/login/login.email.component.mjs +0 -23
  152. package/esm2020/lib/auth/login/login.facebook.component.mjs +0 -22
  153. package/esm2020/lib/auth/login/login.github.component.mjs +0 -22
  154. package/esm2020/lib/auth/login/login.google.component.mjs +0 -22
  155. package/esm2020/lib/auth/login/login.microsoft.component.mjs +0 -22
  156. package/esm2020/lib/auth/login/login.twitter.component.mjs +0 -22
  157. package/esm2020/lib/development/development.scheduler.list.component.mjs +0 -79
  158. package/esm2020/lib/firebase/firebase.emulator.service.mjs +0 -35
  159. package/esm2020/lib/firebase/firebase.module.mjs +0 -293
  160. package/esm2020/lib/model/modules/model/model.history.component.mjs +0 -48
  161. package/esm2020/lib/model/modules/model/model.history.popover.component.mjs +0 -50
  162. package/esm2020/lib/model/modules/model/model.tracker.service.mjs +0 -62
  163. package/esm2020/lib/model/modules/model/model.types.list.component.mjs +0 -63
  164. package/esm2020/lib/model/modules/store/store.document.mjs +0 -168
  165. package/esm2020/lib/model/service/model.context.service.mjs +0 -38
  166. package/fesm2015/dereekb-dbx-firebase.mjs +0 -4632
  167. package/fesm2015/dereekb-dbx-firebase.mjs.map +0 -1
  168. package/fesm2020/dereekb-dbx-firebase.mjs.map +0 -1
  169. /package/{esm2020 → esm2022}/dereekb-dbx-firebase.mjs +0 -0
  170. /package/{esm2020 → esm2022}/index.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/analytics/index.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/auth/appcheck/appcheck.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/auth/appcheck/index.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/auth/auth.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/auth/index.mjs +0 -0
  176. /package/{esm2020 → esm2022}/lib/auth/login/index.mjs +0 -0
  177. /package/{esm2020 → esm2022}/lib/auth/login/login.context.mjs +0 -0
  178. /package/{esm2020 → esm2022}/lib/auth/login/login.mjs +0 -0
  179. /package/{esm2020 → esm2022}/lib/auth/login/login.password.mjs +0 -0
  180. /package/{esm2020 → esm2022}/lib/auth/login/login.terms.mjs +0 -0
  181. /package/{esm2020 → esm2022}/lib/auth/service/firebase.auth.rxjs.mjs +0 -0
  182. /package/{esm2020 → esm2022}/lib/auth/service/firebase.auth.service.delegate.mjs +0 -0
  183. /package/{esm2020 → esm2022}/lib/auth/service/index.mjs +0 -0
  184. /package/{esm2020 → esm2022}/lib/development/development.widget.mjs +0 -0
  185. /package/{esm2020 → esm2022}/lib/development/index.mjs +0 -0
  186. /package/{esm2020 → esm2022}/lib/firebase/appcheck.mjs +0 -0
  187. /package/{esm2020 → esm2022}/lib/firebase/emulators.mjs +0 -0
  188. /package/{esm2020 → esm2022}/lib/firebase/index.mjs +0 -0
  189. /package/{esm2020 → esm2022}/lib/firebase/options.mjs +0 -0
  190. /package/{esm2020 → esm2022}/lib/firestore/firebase.firestore.mjs +0 -0
  191. /package/{esm2020 → esm2022}/lib/firestore/index.mjs +0 -0
  192. /package/{esm2020 → esm2022}/lib/function/index.mjs +0 -0
  193. /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/model/error.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/model/index.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/model/loader/collection.change.trigger.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/model/loader/collection.change.watcher.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/model/loader/collection.loader.instance.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/model/loader/collection.loader.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/model/loader/document.loader.instance.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/model/loader/document.loader.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/model/loader/index.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/model/modules/index.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/model/modules/model/index.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/model/modules/model/model.sourceselect.history.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/model/modules/store/index.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/model/modules/store/store.subcollection.rxjs.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/model/service/index.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/model/service/model.context.instance.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/model/service/model.context.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/model/system/index.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/model/system/systemstate.document.store.accessor.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/pipe/index.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/router/id.param.redirect.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/router/index.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/storage/firebase.storage.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/storage/index.mjs +0 -0
@@ -1,79 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListViewItemComponent, AbstractDbxSelectionListViewDirective, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, provideDbxListView, DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE, provideDbxListViewWrapper, DBX_VALUE_LIST_VIEW_ITEM } from '@dereekb/dbx-web';
3
- import { from, of } from 'rxjs';
4
- import { DbxFirebaseDevelopmentSchedulerService } from './development.scheduler.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@dereekb/dbx-web";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "./development.scheduler.service";
9
- import * as i4 from "@dereekb/dbx-core";
10
- export class DbxFirebaseDevelopmentSchedulerListComponent extends AbstractDbxSelectionListWrapperDirective {
11
- constructor() {
12
- super({
13
- componentClass: DbxFirebaseDevelopmentSchedulerListViewComponent,
14
- defaultSelectionMode: 'view'
15
- });
16
- }
17
- }
18
- DbxFirebaseDevelopmentSchedulerListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- DbxFirebaseDevelopmentSchedulerListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseDevelopmentSchedulerListComponent, selector: "dbx-firebase-development-scheduler-list", providers: provideDbxListViewWrapper(DbxFirebaseDevelopmentSchedulerListComponent), usesInheritance: true, ngImport: i0, template: "\n<dbx-list [state$]=\"state$\" [config]=\"config$ | async\" [disabled]=\"disabled\" [selectionMode]=\"selectionMode\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n</dbx-list>\n", isInline: true, dependencies: [{ kind: "component", type: i1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state$", "config", "disabled", "selectionMode"], outputs: ["contentScrolled"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListComponent, decorators: [{
21
- type: Component,
22
- args: [{
23
- selector: 'dbx-firebase-development-scheduler-list',
24
- template: DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE,
25
- providers: provideDbxListViewWrapper(DbxFirebaseDevelopmentSchedulerListComponent)
26
- }]
27
- }], ctorParameters: function () { return []; } });
28
- export class DbxFirebaseDevelopmentSchedulerListViewComponent extends AbstractDbxSelectionListViewDirective {
29
- constructor() {
30
- super(...arguments);
31
- this.config = {
32
- componentClass: DbxFirebaseDevelopmentSchedulerListViewItemComponent,
33
- mapValuesToItemValues: (x) => of(x.map((y) => ({ ...y, icon: y.icon, itemValue: y })))
34
- };
35
- }
36
- }
37
- DbxFirebaseDevelopmentSchedulerListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
38
- DbxFirebaseDevelopmentSchedulerListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseDevelopmentSchedulerListViewComponent, selector: "ng-component", providers: provideDbxListView(DbxFirebaseDevelopmentSchedulerListViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "component", type: i1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewComponent, decorators: [{
40
- type: Component,
41
- args: [{
42
- template: DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE,
43
- providers: provideDbxListView(DbxFirebaseDevelopmentSchedulerListViewComponent)
44
- }]
45
- }] });
46
- export class DbxFirebaseDevelopmentSchedulerListViewItemComponent extends AbstractDbxValueListViewItemComponent {
47
- constructor(item, dbxFirebaseDevelopmentSchedulerService) {
48
- super(item);
49
- this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
50
- this.handleRun = (value, context) => {
51
- context.startWorkingWithObservable(from(this.dbxFirebaseDevelopmentSchedulerService.runScheduledFunction(this.name)));
52
- };
53
- }
54
- get name() {
55
- return this.itemValue.name;
56
- }
57
- }
58
- DbxFirebaseDevelopmentSchedulerListViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, deps: [{ token: DBX_VALUE_LIST_VIEW_ITEM }, { token: i3.DbxFirebaseDevelopmentSchedulerService }], target: i0.ɵɵFactoryTarget.Component });
59
- DbxFirebaseDevelopmentSchedulerListViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
60
- <div dbxAction dbxActionValue fastTrigger [dbxActionHandler]="handleRun">
61
- <dbx-button dbxActionButton [text]="'Run ' + name"></dbx-button>
62
- <dbx-success *dbxActionHasSuccess="3000" dbxActionSuccess>Success</dbx-success>
63
- </div>
64
- `, isInline: true, dependencies: [{ kind: "component", type: i1.DbxSuccessComponent, selector: "dbx-success" }, { kind: "directive", type: i4.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i4.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i4.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i4.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i4.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, decorators: [{
66
- type: Component,
67
- args: [{
68
- template: `
69
- <div dbxAction dbxActionValue fastTrigger [dbxActionHandler]="handleRun">
70
- <dbx-button dbxActionButton [text]="'Run ' + name"></dbx-button>
71
- <dbx-success *dbxActionHasSuccess="3000" dbxActionSuccess>Success</dbx-success>
72
- </div>
73
- `
74
- }]
75
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
76
- type: Inject,
77
- args: [DBX_VALUE_LIST_VIEW_ITEM]
78
- }] }, { type: i3.DbxFirebaseDevelopmentSchedulerService }]; } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQuc2NoZWR1bGVyLmxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZGV2ZWxvcG1lbnQvZGV2ZWxvcG1lbnQuc2NoZWR1bGVyLmxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxxQ0FBcUMsRUFBRSxxQ0FBcUMsRUFBRSx1Q0FBdUMsRUFBbUMsa0JBQWtCLEVBQUUsbURBQW1ELEVBQXNCLHlCQUF5QixFQUFFLHdCQUF3QixFQUFvQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hZLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFVekYsTUFBTSxPQUFPLDRDQUE2QyxTQUFRLHdDQUErRjtJQUMvSjtRQUNFLEtBQUssQ0FBQztZQUNKLGNBQWMsRUFBRSxnREFBZ0Q7WUFDaEUsb0JBQW9CLEVBQUUsTUFBTTtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDOzswSUFOVSw0Q0FBNEM7OEhBQTVDLDRDQUE0QyxrRUFGNUMseUJBQXlCLENBQUMsNENBQTRDLENBQUM7NEZBRXZFLDRDQUE0QztrQkFMeEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUNBQXlDO29CQUNuRCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxTQUFTLEVBQUUseUJBQXlCLDhDQUE4QztpQkFDbkY7O0FBY0QsTUFBTSxPQUFPLGdEQUFpRCxTQUFRLHFDQUE0RjtJQUpsSzs7UUFLVyxXQUFNLEdBQXdHO1lBQ3JILGNBQWMsRUFBRSxvREFBb0Q7WUFDcEUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN2RixDQUFDO0tBQ0g7OzhJQUxZLGdEQUFnRDtrSUFBaEQsZ0RBQWdELHVDQUZoRCxrQkFBa0IsQ0FBQyxnREFBZ0QsQ0FBQzs0RkFFcEUsZ0RBQWdEO2tCQUo1RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtREFBbUQ7b0JBQzdELFNBQVMsRUFBRSxrQkFBa0Isa0RBQWtEO2lCQUNoRjs7QUFnQkQsTUFBTSxPQUFPLG9EQUFxRCxTQUFRLHFDQUE0RjtJQUtwSyxZQUE4QyxJQUE2RSxFQUFXLHNDQUE4RTtRQUNsTixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEd0gsMkNBQXNDLEdBQXRDLHNDQUFzQyxDQUF3QztRQUkzTSxjQUFTLEdBQThDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2pGLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEgsQ0FBQyxDQUFDO0lBSkYsQ0FBQztJQU5ELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7a0pBSFUsb0RBQW9ELGtCQUszQyx3QkFBd0I7c0lBTGpDLG9EQUFvRCwyRUFQckQ7Ozs7O0dBS1Q7NEZBRVUsb0RBQW9EO2tCQVJoRSxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7R0FLVDtpQkFDRjs7MEJBTWMsTUFBTTsyQkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhTZWxlY3Rpb25MaXN0V3JhcHBlckRpcmVjdGl2ZSwgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudCwgQWJzdHJhY3REYnhTZWxlY3Rpb25MaXN0Vmlld0RpcmVjdGl2ZSwgREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFLCBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3Q29uZmlnLCBwcm92aWRlRGJ4TGlzdFZpZXcsIERFRkFVTFRfREJYX1NFTEVDVElPTl9WQUxVRV9MSVNUX0RJUkVDVElWRV9URU1QTEFURSwgRGJ4VmFsdWVBc0xpc3RJdGVtLCBwcm92aWRlRGJ4TGlzdFZpZXdXcmFwcGVyLCBEQlhfVkFMVUVfTElTVF9WSUVXX0lURU0sIERieFZhbHVlTGlzdEl0ZW0gfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IGZyb20sIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTY2hlZHVsZWRGdW5jdGlvbkRldmVsb3BtZW50RmlyZWJhc2VGdW5jdGlvbkxpc3RFbnRyeSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJTZXJ2aWNlIH0gZnJvbSAnLi9kZXZlbG9wbWVudC5zY2hlZHVsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBIYW5kbGVBY3Rpb25XaXRoQ29udGV4dCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcblxuZXhwb3J0IHR5cGUgU2NoZWR1bGVkRnVuY3Rpb25EZXZlbG9wbWVudEZpcmViYXNlRnVuY3Rpb25MaXN0RW50cnlXaXRoU2VsZWN0aW9uID0gRGJ4VmFsdWVBc0xpc3RJdGVtPFNjaGVkdWxlZEZ1bmN0aW9uRGV2ZWxvcG1lbnRGaXJlYmFzZUZ1bmN0aW9uTGlzdEVudHJ5PjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZpcmViYXNlLWRldmVsb3BtZW50LXNjaGVkdWxlci1saXN0JyxcbiAgdGVtcGxhdGU6IERFRkFVTFRfTElTVF9XUkFQUEVSX0RJUkVDVElWRV9URU1QTEFURSxcbiAgcHJvdmlkZXJzOiBwcm92aWRlRGJ4TGlzdFZpZXdXcmFwcGVyKERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJMaXN0Q29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJEaXJlY3RpdmU8U2NoZWR1bGVkRnVuY3Rpb25EZXZlbG9wbWVudEZpcmViYXNlRnVuY3Rpb25MaXN0RW50cnk+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoe1xuICAgICAgY29tcG9uZW50Q2xhc3M6IERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJMaXN0Vmlld0NvbXBvbmVudCxcbiAgICAgIGRlZmF1bHRTZWxlY3Rpb25Nb2RlOiAndmlldydcbiAgICB9KTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IERFRkFVTFRfREJYX1NFTEVDVElPTl9WQUxVRV9MSVNUX0RJUkVDVElWRV9URU1QTEFURSxcbiAgcHJvdmlkZXJzOiBwcm92aWRlRGJ4TGlzdFZpZXcoRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlckxpc3RWaWV3Q29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdFZpZXdDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RWaWV3RGlyZWN0aXZlPFNjaGVkdWxlZEZ1bmN0aW9uRGV2ZWxvcG1lbnRGaXJlYmFzZUZ1bmN0aW9uTGlzdEVudHJ5PiB7XG4gIHJlYWRvbmx5IGNvbmZpZzogRGJ4U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0NvbmZpZzxTY2hlZHVsZWRGdW5jdGlvbkRldmVsb3BtZW50RmlyZWJhc2VGdW5jdGlvbkxpc3RFbnRyeVdpdGhTZWxlY3Rpb24+ID0ge1xuICAgIGNvbXBvbmVudENsYXNzOiBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdFZpZXdJdGVtQ29tcG9uZW50LFxuICAgIG1hcFZhbHVlc1RvSXRlbVZhbHVlczogKHgpID0+IG9mKHgubWFwKCh5KSA9PiAoeyAuLi55LCBpY29uOiB5Lmljb24sIGl0ZW1WYWx1ZTogeSB9KSkpXG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgZGJ4QWN0aW9uIGRieEFjdGlvblZhbHVlIGZhc3RUcmlnZ2VyIFtkYnhBY3Rpb25IYW5kbGVyXT1cImhhbmRsZVJ1blwiPlxuICAgICAgPGRieC1idXR0b24gZGJ4QWN0aW9uQnV0dG9uIFt0ZXh0XT1cIidSdW4gJyArIG5hbWVcIj48L2RieC1idXR0b24+XG4gICAgICA8ZGJ4LXN1Y2Nlc3MgKmRieEFjdGlvbkhhc1N1Y2Nlc3M9XCIzMDAwXCIgZGJ4QWN0aW9uU3VjY2Vzcz5TdWNjZXNzPC9kYngtc3VjY2Vzcz5cbiAgICA8L2Rpdj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyTGlzdFZpZXdJdGVtQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudDxTY2hlZHVsZWRGdW5jdGlvbkRldmVsb3BtZW50RmlyZWJhc2VGdW5jdGlvbkxpc3RFbnRyeT4ge1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtVmFsdWUubmFtZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoREJYX1ZBTFVFX0xJU1RfVklFV19JVEVNKSBpdGVtOiBEYnhWYWx1ZUxpc3RJdGVtPFNjaGVkdWxlZEZ1bmN0aW9uRGV2ZWxvcG1lbnRGaXJlYmFzZUZ1bmN0aW9uTGlzdEVudHJ5PiwgcmVhZG9ubHkgZGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlclNlcnZpY2U6IERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJTZXJ2aWNlKSB7XG4gICAgc3VwZXIoaXRlbSk7XG4gIH1cblxuICByZWFkb25seSBoYW5kbGVSdW46IEhhbmRsZUFjdGlvbldpdGhDb250ZXh0PHVua25vd24sIHVua25vd24+ID0gKHZhbHVlLCBjb250ZXh0KSA9PiB7XG4gICAgY29udGV4dC5zdGFydFdvcmtpbmdXaXRoT2JzZXJ2YWJsZShmcm9tKHRoaXMuZGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlclNlcnZpY2UucnVuU2NoZWR1bGVkRnVuY3Rpb24odGhpcy5uYW1lKSkpO1xuICB9O1xufVxuIl19
@@ -1,35 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { DbxFirebaseParsedEmulatorsConfig } from './emulators';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./emulators";
5
- export class DbxFirebaseEmulatorService {
6
- constructor(emulatorsConfig) {
7
- this.emulatorsConfig = emulatorsConfig;
8
- }
9
- get useEmulators() {
10
- return this.emulatorsConfig.useEmulators || false;
11
- }
12
- get emulatorUIAnchor() {
13
- const ui = this.emulatorsConfig.ui;
14
- let host = this.emulatorsConfig.host;
15
- // Issue where sometimes 0.0.0.0 is not configured to handle transferring traffic properly, compared to localhost. This sets 0.0.0.0 to localhost unless disallowed.
16
- if (host === '0.0.0.0' && this.emulatorsConfig.allow0000ToLocalhost !== false) {
17
- host = 'localhost';
18
- }
19
- return ui
20
- ? {
21
- url: `http://${host ?? 'localhost'}:${ui.port}`,
22
- target: '_blank'
23
- }
24
- : undefined;
25
- }
26
- }
27
- DbxFirebaseEmulatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseEmulatorService, deps: [{ token: i1.DbxFirebaseParsedEmulatorsConfig }], target: i0.ɵɵFactoryTarget.Injectable });
28
- DbxFirebaseEmulatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseEmulatorService, providedIn: 'root' });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseEmulatorService, decorators: [{
30
- type: Injectable,
31
- args: [{
32
- providedIn: 'root'
33
- }]
34
- }], ctorParameters: function () { return [{ type: i1.DbxFirebaseParsedEmulatorsConfig }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZW11bGF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmViYXNlL2ZpcmViYXNlLmVtdWxhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUsvRCxNQUFNLE9BQU8sMEJBQTBCO0lBc0JyQyxZQUFxQixlQUFpRDtRQUFqRCxvQkFBZSxHQUFmLGVBQWUsQ0FBa0M7SUFBRyxDQUFDO0lBckIxRSxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDbkMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7UUFFckMsb0tBQW9LO1FBQ3BLLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixLQUFLLEtBQUssRUFBRTtZQUM3RSxJQUFJLEdBQUcsV0FBVyxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxFQUFFO1lBQ1AsQ0FBQyxDQUFDO2dCQUNFLEdBQUcsRUFBRSxVQUFVLElBQUksSUFBSSxXQUFXLElBQUksRUFBRSxDQUFDLElBQUksRUFBRTtnQkFDL0MsTUFBTSxFQUFFLFFBQVE7YUFDakI7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7O3dIQXBCVSwwQkFBMEI7NEhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGlja2FibGVVcmwgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcgfSBmcm9tICcuL2VtdWxhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRW11bGF0b3JTZXJ2aWNlIHtcbiAgZ2V0IHVzZUVtdWxhdG9ycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbXVsYXRvcnNDb25maWcudXNlRW11bGF0b3JzIHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGVtdWxhdG9yVUlBbmNob3IoKTogTWF5YmU8Q2xpY2thYmxlVXJsPiB7XG4gICAgY29uc3QgdWkgPSB0aGlzLmVtdWxhdG9yc0NvbmZpZy51aTtcbiAgICBsZXQgaG9zdCA9IHRoaXMuZW11bGF0b3JzQ29uZmlnLmhvc3Q7XG5cbiAgICAvLyBJc3N1ZSB3aGVyZSBzb21ldGltZXMgMC4wLjAuMCBpcyBub3QgY29uZmlndXJlZCB0byBoYW5kbGUgdHJhbnNmZXJyaW5nIHRyYWZmaWMgcHJvcGVybHksIGNvbXBhcmVkIHRvIGxvY2FsaG9zdC4gVGhpcyBzZXRzIDAuMC4wLjAgdG8gbG9jYWxob3N0IHVubGVzcyBkaXNhbGxvd2VkLlxuICAgIGlmIChob3N0ID09PSAnMC4wLjAuMCcgJiYgdGhpcy5lbXVsYXRvcnNDb25maWcuYWxsb3cwMDAwVG9Mb2NhbGhvc3QgIT09IGZhbHNlKSB7XG4gICAgICBob3N0ID0gJ2xvY2FsaG9zdCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVpXG4gICAgICA/IHtcbiAgICAgICAgICB1cmw6IGBodHRwOi8vJHtob3N0ID8/ICdsb2NhbGhvc3QnfToke3VpLnBvcnR9YCxcbiAgICAgICAgICB0YXJnZXQ6ICdfYmxhbmsnXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZW11bGF0b3JzQ29uZmlnOiBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZykge31cbn1cbiJdfQ==
@@ -1,293 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { initializeApp } from 'firebase/app';
3
- import { initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
4
- import { FirebaseApp, provideFirebaseApp } from '@angular/fire/app';
5
- import { provideStorage, getStorage, connectStorageEmulator } from '@angular/fire/storage';
6
- import { provideFunctions, getFunctions, connectFunctionsEmulator } from '@angular/fire/functions';
7
- import { provideFirestore, getFirestore, connectFirestoreEmulator, enableIndexedDbPersistence, enableMultiTabIndexedDbPersistence } from '@angular/fire/firestore';
8
- import { provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
9
- import { provideAppCheck } from '@angular/fire/app-check';
10
- import { DbxFirebaseParsedEmulatorsConfig } from './emulators';
11
- import { DBX_FIREBASE_OPTIONS_TOKEN } from './options';
12
- import { HTTP_INTERCEPTORS } from '@angular/common/http';
13
- import { enableAppCheckDebugTokenGeneration } from '../auth/appcheck';
14
- import { DbxFirebaseAppCheckHttpInterceptor } from '../auth/appcheck/appcheck.interceptor';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@angular/fire/firestore";
17
- import * as i2 from "@angular/fire/app-check";
18
- import * as i3 from "@angular/fire/auth";
19
- import * as i4 from "@angular/fire/storage";
20
- import * as i5 from "@angular/fire/functions";
21
- import * as i6 from "@angular/fire/app";
22
- // TODO: remove "as any" typescript casting - https://github.com/angular/angularfire/issues/3086
23
- /**
24
- * Default firebase firestore provider module.
25
- */
26
- export class DbxFirebaseDefaultFirestoreProviderModule {
27
- }
28
- DbxFirebaseDefaultFirestoreProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- DbxFirebaseDefaultFirestoreProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [i1.FirestoreModule] });
30
- DbxFirebaseDefaultFirestoreProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [provideFirestore(((injector) => {
31
- const firebaseApp = injector.get(FirebaseApp);
32
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
33
- const firestore = getFirestore(firebaseApp);
34
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
35
- if (emulators?.useEmulators && emulators?.firestore) {
36
- connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
37
- }
38
- if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
39
- enableMultiTabIndexedDbPersistence(firestore);
40
- }
41
- else if (firebaseOptions.enableIndexedDbPersistence !== false) {
42
- enableIndexedDbPersistence(firestore);
43
- }
44
- return firestore;
45
- }))] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, decorators: [{
47
- type: NgModule,
48
- args: [{
49
- imports: [
50
- provideFirestore(((injector) => {
51
- const firebaseApp = injector.get(FirebaseApp);
52
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
53
- const firestore = getFirestore(firebaseApp);
54
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
55
- if (emulators?.useEmulators && emulators?.firestore) {
56
- connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
57
- }
58
- if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
59
- enableMultiTabIndexedDbPersistence(firestore);
60
- }
61
- else if (firebaseOptions.enableIndexedDbPersistence !== false) {
62
- enableIndexedDbPersistence(firestore);
63
- }
64
- return firestore;
65
- }))
66
- ]
67
- }]
68
- }] });
69
- /**
70
- * Default firebase app check provider module.
71
- *
72
- * Also configures the DbxFirebaseAppCheckHttpInterceptor with HTTP_INTERCEPTORS in order for appCheck to be appended to requests to the api.
73
- */
74
- export class DbxFirebaseDefaultAppCheckProviderModule {
75
- }
76
- DbxFirebaseDefaultAppCheckProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
77
- DbxFirebaseDefaultAppCheckProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, imports: [i2.AppCheckModule] });
78
- DbxFirebaseDefaultAppCheckProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, providers: [
79
- {
80
- provide: HTTP_INTERCEPTORS,
81
- useClass: DbxFirebaseAppCheckHttpInterceptor,
82
- multi: true
83
- }
84
- ], imports: [provideAppCheck((injector) => {
85
- const firebaseApp = injector.get(FirebaseApp);
86
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
87
- const appCheckOptions = firebaseOptions.appCheck;
88
- const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
89
- let appCheck;
90
- if (appCheckOptions && !appCheckKnowinglyDisabled) {
91
- // enable the debug tokens if not using emulators and allowDebugTokens is set true
92
- if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
93
- enableAppCheckDebugTokenGeneration(true);
94
- }
95
- // Only enabled outside of app-check environments. The emulators will not use appcheck.
96
- appCheck = initializeAppCheck(firebaseApp, {
97
- provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
98
- isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
99
- });
100
- console.log('Enabled AppCheck.');
101
- }
102
- else {
103
- appCheck = undefined;
104
- if (!appCheckKnowinglyDisabled) {
105
- console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
106
- }
107
- }
108
- return appCheck;
109
- })] });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, decorators: [{
111
- type: NgModule,
112
- args: [{
113
- imports: [
114
- provideAppCheck((injector) => {
115
- const firebaseApp = injector.get(FirebaseApp);
116
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
117
- const appCheckOptions = firebaseOptions.appCheck;
118
- const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
119
- let appCheck;
120
- if (appCheckOptions && !appCheckKnowinglyDisabled) {
121
- // enable the debug tokens if not using emulators and allowDebugTokens is set true
122
- if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
123
- enableAppCheckDebugTokenGeneration(true);
124
- }
125
- // Only enabled outside of app-check environments. The emulators will not use appcheck.
126
- appCheck = initializeAppCheck(firebaseApp, {
127
- provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
128
- isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
129
- });
130
- console.log('Enabled AppCheck.');
131
- }
132
- else {
133
- appCheck = undefined;
134
- if (!appCheckKnowinglyDisabled) {
135
- console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
136
- }
137
- }
138
- return appCheck;
139
- })
140
- ],
141
- providers: [
142
- {
143
- provide: HTTP_INTERCEPTORS,
144
- useClass: DbxFirebaseAppCheckHttpInterceptor,
145
- multi: true
146
- }
147
- ]
148
- }]
149
- }] });
150
- /**
151
- * Default firebase auth provider module.
152
- */
153
- export class DbxFirebaseDefaultAuthProviderModule {
154
- }
155
- DbxFirebaseDefaultAuthProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
156
- DbxFirebaseDefaultAuthProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [i3.AuthModule] });
157
- DbxFirebaseDefaultAuthProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [provideAuth((injector) => {
158
- const firebaseApp = injector.get(FirebaseApp);
159
- const auth = getAuth(firebaseApp);
160
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
161
- if (emulators?.useEmulators && emulators?.auth) {
162
- connectAuthEmulator(auth, `http://${emulators.auth.host}:${emulators.auth.port}`);
163
- }
164
- return auth;
165
- })] });
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, decorators: [{
167
- type: NgModule,
168
- args: [{
169
- imports: [
170
- provideAuth((injector) => {
171
- const firebaseApp = injector.get(FirebaseApp);
172
- const auth = getAuth(firebaseApp);
173
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
174
- if (emulators?.useEmulators && emulators?.auth) {
175
- connectAuthEmulator(auth, `http://${emulators.auth.host}:${emulators.auth.port}`);
176
- }
177
- return auth;
178
- })
179
- ]
180
- }]
181
- }] });
182
- /**
183
- * Default firebase storage provider module.
184
- */
185
- export class DbxFirebaseDefaultStorageProviderModule {
186
- }
187
- DbxFirebaseDefaultStorageProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
188
- DbxFirebaseDefaultStorageProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [i4.StorageModule] });
189
- DbxFirebaseDefaultStorageProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [provideStorage((injector) => {
190
- const firebaseApp = injector.get(FirebaseApp);
191
- const storage = getStorage(firebaseApp);
192
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
193
- if (emulators?.useEmulators && emulators?.storage) {
194
- connectStorageEmulator(storage, emulators.storage.host, emulators.storage.port, {});
195
- }
196
- return storage;
197
- })] });
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, decorators: [{
199
- type: NgModule,
200
- args: [{
201
- imports: [
202
- provideStorage((injector) => {
203
- const firebaseApp = injector.get(FirebaseApp);
204
- const storage = getStorage(firebaseApp);
205
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
206
- if (emulators?.useEmulators && emulators?.storage) {
207
- connectStorageEmulator(storage, emulators.storage.host, emulators.storage.port, {});
208
- }
209
- return storage;
210
- })
211
- ]
212
- }]
213
- }] });
214
- /**
215
- * Default firebase functions provider module.
216
- */
217
- export class DbxFirebaseDefaultFunctionsProviderModule {
218
- }
219
- DbxFirebaseDefaultFunctionsProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
220
- DbxFirebaseDefaultFunctionsProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i5.FunctionsModule] });
221
- DbxFirebaseDefaultFunctionsProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [provideFunctions((injector) => {
222
- const firebaseApp = injector.get(FirebaseApp);
223
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
224
- const { functionsRegionOrCustomDomain } = firebaseOptions;
225
- const functions = getFunctions(firebaseApp, functionsRegionOrCustomDomain);
226
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
227
- if (emulators?.useEmulators && emulators?.functions) {
228
- connectFunctionsEmulator(functions, emulators.functions.host, emulators.functions.port);
229
- }
230
- return functions;
231
- })] });
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, decorators: [{
233
- type: NgModule,
234
- args: [{
235
- imports: [
236
- provideFunctions((injector) => {
237
- const firebaseApp = injector.get(FirebaseApp);
238
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
239
- const { functionsRegionOrCustomDomain } = firebaseOptions;
240
- const functions = getFunctions(firebaseApp, functionsRegionOrCustomDomain);
241
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
242
- if (emulators?.useEmulators && emulators?.functions) {
243
- connectFunctionsEmulator(functions, emulators.functions.host, emulators.functions.port);
244
- }
245
- return functions;
246
- })
247
- ]
248
- }]
249
- }] });
250
- /**
251
- * Default provider module.
252
- */
253
- export class DbxFirebaseDefaultFirebaseProvidersModule {
254
- static forRoot(firebaseOptions) {
255
- return {
256
- ngModule: DbxFirebaseDefaultFirebaseProvidersModule,
257
- providers: [
258
- {
259
- provide: DBX_FIREBASE_OPTIONS_TOKEN,
260
- useValue: firebaseOptions
261
- }
262
- ]
263
- };
264
- }
265
- }
266
- DbxFirebaseDefaultFirebaseProvidersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
267
- DbxFirebaseDefaultFirebaseProvidersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [i6.FirebaseAppModule, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDefaultFunctionsProviderModule] });
268
- DbxFirebaseDefaultFirebaseProvidersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [provideFirebaseApp((injector) => {
269
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
270
- return initializeApp(firebaseOptions);
271
- }),
272
- DbxFirebaseDefaultAppCheckProviderModule,
273
- DbxFirebaseDefaultFirestoreProviderModule,
274
- DbxFirebaseDefaultAuthProviderModule,
275
- DbxFirebaseDefaultStorageProviderModule,
276
- DbxFirebaseDefaultFunctionsProviderModule] });
277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, decorators: [{
278
- type: NgModule,
279
- args: [{
280
- imports: [
281
- provideFirebaseApp((injector) => {
282
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
283
- return initializeApp(firebaseOptions);
284
- }),
285
- DbxFirebaseDefaultAppCheckProviderModule,
286
- DbxFirebaseDefaultFirestoreProviderModule,
287
- DbxFirebaseDefaultAuthProviderModule,
288
- DbxFirebaseDefaultStorageProviderModule,
289
- DbxFirebaseDefaultFunctionsProviderModule
290
- ]
291
- }]
292
- }] });
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLDBCQUEwQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkssT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRSxPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFF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TUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBcUIsMEJBQTBCLENBQUMsQ0FBQzs0QkFDckYsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQ3hDLENBQUMsQ0FBQzt3QkFDRix3Q0FBd0M7d0JBQ3hDLHlDQUF5Qzt3QkFDekMsb0NBQW9DO3dCQUNwQyx1Q0FBdUM7d0JBQ3ZDLHlDQUF5QztxQkFDMUM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucywgaW5pdGlhbGl6ZUFwcCB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBpbml0aWFsaXplQXBwQ2hlY2ssIFJlQ2FwdGNoYVYzUHJvdmlkZXIgfSBmcm9tICdmaXJlYmFzZS9hcHAtY2hlY2snO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIHByb3ZpZGVGaXJlYmFzZUFwcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJztcbmltcG9ydCB7IHByb3ZpZGVTdG9yYWdlLCBnZXRTdG9yYWdlLCBjb25uZWN0U3RvcmFnZUVtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9zdG9yYWdlJztcbmltcG9ydCB7IHByb3ZpZGVGdW5jdGlvbnMsIGdldEZ1bmN0aW9ucywgY29ubmVjdEZ1bmN0aW9uc0VtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgcHJvdmlkZUZpcmVzdG9yZSwgZ2V0RmlyZXN0b3JlLCBjb25uZWN0RmlyZXN0b3JlRW11bGF0b3IsIGVuYWJsZUluZGV4ZWREYlBlcnNpc3RlbmNlLCBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUF1dGgsIGdldEF1dGgsIGNvbm5lY3RBdXRoRW11bGF0b3IgfSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnO1xuaW1wb3J0IHsgQXBwQ2hlY2ssIHByb3ZpZGVBcHBDaGVjayB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwLWNoZWNrJztcbmltcG9ydCB7IERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnIH0gZnJvbSAnLi9lbXVsYXRvcnMnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VPcHRpb25zLCBEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTiB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGVuYWJsZUFwcENoZWNrRGVidWdUb2tlbkdlbmVyYXRpb24gfSBmcm9tICcuLi9hdXRoL2FwcGNoZWNrJztcbmltcG9ydCB7IERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3IgfSBmcm9tICcuLi9hdXRoL2FwcGNoZWNrL2FwcGNoZWNrLmludGVyY2VwdG9yJztcblxuLy8gVE9ETzogcmVtb3ZlIFwiYXMgYW55XCIgdHlwZXNjcmlwdCBjYXN0aW5nIC0gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhcmZpcmUvaXNzdWVzLzMwODZcblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGZpcmVzdG9yZSBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRmlyZXN0b3JlKCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCBmaXJlc3RvcmUgPSBnZXRGaXJlc3RvcmUoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZmlyZXN0b3JlKSB7XG4gICAgICAgIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvcihmaXJlc3RvcmUsIGVtdWxhdG9ycy5maXJlc3RvcmUuaG9zdCwgZW11bGF0b3JzLmZpcmVzdG9yZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChmaXJlYmFzZU9wdGlvbnMuZW5hYmxlTXVsdGlUYWJJbmRleGVkRGJQZXJzaXN0ZW5jZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgZW5hYmxlTXVsdGlUYWJJbmRleGVkRGJQZXJzaXN0ZW5jZShmaXJlc3RvcmUpO1xuICAgICAgfSBlbHNlIGlmIChmaXJlYmFzZU9wdGlvbnMuZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2UgIT09IGZhbHNlKSB7XG4gICAgICAgIGVuYWJsZUluZGV4ZWREYlBlcnNpc3RlbmNlKGZpcmVzdG9yZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmU7XG4gICAgfSkgYXMgYW55KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBhcHAgY2hlY2sgcHJvdmlkZXIgbW9kdWxlLlxuICpcbiAqIEFsc28gY29uZmlndXJlcyB0aGUgRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvciB3aXRoIEhUVFBfSU5URVJDRVBUT1JTIGluIG9yZGVyIGZvciBhcHBDaGVjayB0byBiZSBhcHBlbmRlZCB0byByZXF1ZXN0cyB0byB0aGUgYXBpLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUFwcENoZWNrKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIGNvbnN0IGFwcENoZWNrT3B0aW9ucyA9IGZpcmViYXNlT3B0aW9ucy5hcHBDaGVjaztcbiAgICAgIGNvbnN0IGFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQgPSBhcHBDaGVja09wdGlvbnM/LmRpc2FibGVkID09PSB0cnVlIHx8IGZpcmViYXNlT3B0aW9ucy5lbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyA9PT0gdHJ1ZTtcbiAgICAgIGxldCBhcHBDaGVjazogQXBwQ2hlY2s7XG5cbiAgICAgIGlmIChhcHBDaGVja09wdGlvbnMgJiYgIWFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQpIHtcbiAgICAgICAgLy8gZW5hYmxlIHRoZSBkZWJ1ZyB0b2tlbnMgaWYgbm90IHVzaW5nIGVtdWxhdG9ycyBhbmQgYWxsb3dEZWJ1Z1Rva2VucyBpcyBzZXQgdHJ1ZVxuICAgICAgICBpZiAoZmlyZWJhc2VPcHRpb25zLmVtdWxhdG9ycz8udXNlRW11bGF0b3JzICE9PSB0cnVlICYmIGFwcENoZWNrT3B0aW9ucy5hbGxvd0RlYnVnVG9rZW5zKSB7XG4gICAgICAgICAgZW5hYmxlQXBwQ2hlY2tEZWJ1Z1Rva2VuR2VuZXJhdGlvbih0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgZW5hYmxlZCBvdXRzaWRlIG9mIGFwcC1jaGVjayBlbnZpcm9ubWVudHMuIFRoZSBlbXVsYXRvcnMgd2lsbCBub3QgdXNlIGFwcGNoZWNrLlxuICAgICAgICBhcHBDaGVjayA9IGluaXRpYWxpemVBcHBDaGVjayhmaXJlYmFzZUFwcCwge1xuICAgICAgICAgIHByb3ZpZGVyOiBuZXcgUmVDYXB0Y2hhVjNQcm92aWRlcihhcHBDaGVja09wdGlvbnMucmVDYXB0Y2hhVjMpLFxuICAgICAgICAgIGlzVG9rZW5BdXRvUmVmcmVzaEVuYWJsZWQ6IGFwcENoZWNrT3B0aW9ucy5pc1Rva2VuQXV0b1JlZnJlc2hFbmFibGVkID8/IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJ0VuYWJsZWQgQXBwQ2hlY2suJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhcHBDaGVjayA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEFwcENoZWNrO1xuXG4gICAgICAgIGlmICghYXBwQ2hlY2tLbm93aW5nbHlEaXNhYmxlZCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2RieC1maXJlYmFzZTogTm8gYXBwY2hlY2sgY29uZmlndXJhdGlvbiBmb3IgdGhlIGFwcCwgYW5kIG5vdCBzcGVjaWZpY2FsbHkgZGlzYWJsZWQgaW4gY29uZmlnIGVpdGhlci4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXBwQ2hlY2s7XG4gICAgfSlcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICB1c2VDbGFzczogRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEFwcENoZWNrUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGF1dGggcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUF1dGgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgYXV0aCA9IGdldEF1dGgoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uYXV0aCkge1xuICAgICAgICBjb25uZWN0QXV0aEVtdWxhdG9yKGF1dGgsIGBodHRwOi8vJHtlbXVsYXRvcnMuYXV0aC5ob3N0fToke2VtdWxhdG9ycy5hdXRoLnBvcnR9YCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdXRoO1xuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0QXV0aFByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBzdG9yYWdlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVTdG9yYWdlKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LnN0b3JhZ2UpIHtcbiAgICAgICAgY29ubmVjdFN0b3JhZ2VFbXVsYXRvcihzdG9yYWdlLCBlbXVsYXRvcnMuc3RvcmFnZS5ob3N0LCBlbXVsYXRvcnMuc3RvcmFnZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdG9yYWdlO1xuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmdW5jdGlvbnMgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZ1bmN0aW9ucygoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCB7IGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG5cbiAgICAgIGNvbnN0IGZ1bmN0aW9ucyA9IGdldEZ1bmN0aW9ucyhmaXJlYmFzZUFwcCwgZnVuY3Rpb25zUmVnaW9uT3JDdXN0b21Eb21haW4pO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZnVuY3Rpb25zKSB7XG4gICAgICAgIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvcihmdW5jdGlvbnMsIGVtdWxhdG9ycy5mdW5jdGlvbnMuaG9zdCwgZW11bGF0b3JzLmZ1bmN0aW9ucy5wb3J0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZ1bmN0aW9ucztcbiAgICB9KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZ1bmN0aW9uc1Byb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRmlyZWJhc2VBcHAoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHAoZmlyZWJhc2VPcHRpb25zKTtcbiAgICB9KSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRBcHBDaGVja1Byb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEF1dGhQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRTdG9yYWdlUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0RnVuY3Rpb25zUHJvdmlkZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGZpcmViYXNlT3B0aW9uczogRmlyZWJhc2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOLFxuICAgICAgICAgIHVzZVZhbHVlOiBmaXJlYmFzZU9wdGlvbnNcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { loadingStateFromObs } from '@dereekb/rxjs';
3
- import { BehaviorSubject, switchMap, shareReplay } from 'rxjs';
4
- import { DbxFirebaseModelTrackerService } from './model.tracker.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./model.tracker.service";
7
- import * as i2 from "@dereekb/dbx-web";
8
- import * as i3 from "./model.types.list.component";
9
- export class DbxFirebaseModelHistoryComponent {
10
- constructor(dbxFirebaseModelTrackerService) {
11
- this.dbxFirebaseModelTrackerService = dbxFirebaseModelTrackerService;
12
- this._historyFilter = new BehaviorSubject(undefined);
13
- this.historyFilter$ = this._historyFilter.asObservable();
14
- this.historyPairs$ = this.historyFilter$.pipe(switchMap((x) => this.dbxFirebaseModelTrackerService.filterHistoryPairs(x)), shareReplay(1));
15
- this.state$ = loadingStateFromObs(this.historyPairs$);
16
- }
17
- get historyFilter() {
18
- return this._historyFilter.value;
19
- }
20
- set historyFilter(historyFilter) {
21
- this._historyFilter.next(historyFilter);
22
- }
23
- ngOnDestroy() {
24
- this._historyFilter.complete();
25
- }
26
- }
27
- DbxFirebaseModelHistoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelHistoryComponent, deps: [{ token: i1.DbxFirebaseModelTrackerService }], target: i0.ɵɵFactoryTarget.Component });
28
- DbxFirebaseModelHistoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseModelHistoryComponent, selector: "dbx-firebase-model-history", inputs: { anchorForItem: "anchorForItem", historyFilter: "historyFilter" }, ngImport: i0, template: `
29
- <dbx-firebase-model-type-instance-list [state$]="state$" [dbxListItemModifier] [dbxListItemAnchorModifier]="anchorForItem">
30
- <ng-content empty select="[empty]"></ng-content>
31
- </dbx-firebase-model-type-instance-list>
32
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.DbxListItemAnchorModifierDirective, selector: "[dbxListItemAnchorModifier]", inputs: ["dbxListItemAnchorModifier"] }, { kind: "directive", type: i2.DbxValueListItemModifierDirective, selector: "[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "component", type: i3.DbxFirebaseModelTypeInstanceComponent, selector: "dbx-firebase-model-type-instance-list" }] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelHistoryComponent, decorators: [{
34
- type: Component,
35
- args: [{
36
- selector: 'dbx-firebase-model-history',
37
- template: `
38
- <dbx-firebase-model-type-instance-list [state$]="state$" [dbxListItemModifier] [dbxListItemAnchorModifier]="anchorForItem">
39
- <ng-content empty select="[empty]"></ng-content>
40
- </dbx-firebase-model-type-instance-list>
41
- `
42
- }]
43
- }], ctorParameters: function () { return [{ type: i1.DbxFirebaseModelTrackerService }]; }, propDecorators: { anchorForItem: [{
44
- type: Input
45
- }], historyFilter: [{
46
- type: Input
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL21vZGVsL21vZGVsLmhpc3RvcnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUF3Qyw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQVcvRyxNQUFNLE9BQU8sZ0NBQWdDO0lBd0IzQyxZQUFxQiw4QkFBOEQ7UUFBOUQsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQXZCM0UsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBOEMsU0FBUyxDQUFDLENBQUM7UUFjNUYsbUJBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBELGtCQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQy9DLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzNFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sV0FBTSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUU0QixDQUFDO0lBbEJ2RixJQUNJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUEwRDtRQUMxRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBYUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQzs7OEhBNUJVLGdDQUFnQztrSEFBaEMsZ0NBQWdDLDhJQU5qQzs7OztHQUlUOzRGQUVVLGdDQUFnQztrQkFSNUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRjtxSEFLQyxhQUFhO3NCQURaLEtBQUs7Z0JBSUYsYUFBYTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5jaG9yRm9yVmFsdWVGdW5jdGlvbiB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgbG9hZGluZ1N0YXRlRnJvbU9icyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgc3dpdGNoTWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VNb2RlbFRyYWNrZXJIaXN0b3J5RmlsdGVyLCBEYnhGaXJlYmFzZU1vZGVsVHJhY2tlclNlcnZpY2UgfSBmcm9tICcuL21vZGVsLnRyYWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyIH0gZnJvbSAnLi9tb2RlbC50eXBlcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZpcmViYXNlLW1vZGVsLWhpc3RvcnknLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkYngtZmlyZWJhc2UtbW9kZWwtdHlwZS1pbnN0YW5jZS1saXN0IFtzdGF0ZSRdPVwic3RhdGUkXCIgW2RieExpc3RJdGVtTW9kaWZpZXJdIFtkYnhMaXN0SXRlbUFuY2hvck1vZGlmaWVyXT1cImFuY2hvckZvckl0ZW1cIj5cbiAgICAgIDxuZy1jb250ZW50IGVtcHR5IHNlbGVjdD1cIltlbXB0eV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kYngtZmlyZWJhc2UtbW9kZWwtdHlwZS1pbnN0YW5jZS1saXN0PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlTW9kZWxIaXN0b3J5Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfaGlzdG9yeUZpbHRlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4RmlyZWJhc2VNb2RlbFRyYWNrZXJIaXN0b3J5RmlsdGVyPj4odW5kZWZpbmVkKTtcblxuICBASW5wdXQoKVxuICBhbmNob3JGb3JJdGVtPzogTWF5YmU8QW5jaG9yRm9yVmFsdWVGdW5jdGlvbjxEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyPj47XG5cbiAgQElucHV0KClcbiAgZ2V0IGhpc3RvcnlGaWx0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2hpc3RvcnlGaWx0ZXIudmFsdWU7XG4gIH1cblxuICBzZXQgaGlzdG9yeUZpbHRlcihoaXN0b3J5RmlsdGVyOiBNYXliZTxEYnhGaXJlYmFzZU1vZGVsVHJhY2tlckhpc3RvcnlGaWx0ZXI+KSB7XG4gICAgdGhpcy5faGlzdG9yeUZpbHRlci5uZXh0KGhpc3RvcnlGaWx0ZXIpO1xuICB9XG5cbiAgcmVhZG9ubHkgaGlzdG9yeUZpbHRlciQgPSB0aGlzLl9oaXN0b3J5RmlsdGVyLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHJlYWRvbmx5IGhpc3RvcnlQYWlycyQgPSB0aGlzLmhpc3RvcnlGaWx0ZXIkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiB0aGlzLmRieEZpcmViYXNlTW9kZWxUcmFja2VyU2VydmljZS5maWx0ZXJIaXN0b3J5UGFpcnMoeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc3RhdGUkID0gbG9hZGluZ1N0YXRlRnJvbU9icyh0aGlzLmhpc3RvcnlQYWlycyQpO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGRieEZpcmViYXNlTW9kZWxUcmFja2VyU2VydmljZTogRGJ4RmlyZWJhc2VNb2RlbFRyYWNrZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2hpc3RvcnlGaWx0ZXIuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -1,50 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { AbstractPopoverDirective, DbxPopoverComponent } from '@dereekb/dbx-web';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@dereekb/dbx-web";
5
- import * as i2 from "./model.history.component";
6
- export const DEFAULT_FIREBASE_HISTORY_COMPONENT_POPOVER_KEY = 'history';
7
- export class DbxFirebaseModelHistoryPopoverComponent extends AbstractPopoverDirective {
8
- constructor(popover) {
9
- super(popover);
10
- }
11
- static openPopover(popupService, { origin, header, icon, emptyText, historyFilter, anchorForItem }, popoverKey) {
12
- return popupService.open({
13
- key: popoverKey ?? DEFAULT_FIREBASE_HISTORY_COMPONENT_POPOVER_KEY,
14
- origin,
15
- componentClass: DbxFirebaseModelHistoryPopoverComponent,
16
- data: {
17
- header,
18
- icon,
19
- emptyText,
20
- historyFilter,
21
- anchorForItem
22
- }
23
- });
24
- }
25
- get params() {
26
- return this.popover.data;
27
- }
28
- get icon() {
29
- return this.params.icon ?? 'history';
30
- }
31
- get header() {
32
- return this.params.header ?? 'History';
33
- }
34
- get emptyText() {
35
- return this.params.header ?? 'History is empty.';
36
- }
37
- get historyFilter() {
38
- return this.params.historyFilter;
39
- }
40
- get anchorForItem() {
41
- return this.params.anchorForItem;
42
- }
43
- }
44
- DbxFirebaseModelHistoryPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelHistoryPopoverComponent, deps: [{ token: i1.DbxPopoverComponent }], target: i0.ɵɵFactoryTarget.Component });
45
- DbxFirebaseModelHistoryPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseModelHistoryPopoverComponent, 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-history [historyFilter]=\"historyFilter\" [anchorForItem]=\"anchorForItem\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-model-history>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "component", type: i1.DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: i1.DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "component", type: i1.DbxPopoverScrollContentComponent, selector: "dbx-popover-scroll-content" }, { kind: "component", type: i1.DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }, { kind: "component", type: i2.DbxFirebaseModelHistoryComponent, selector: "dbx-firebase-model-history", inputs: ["anchorForItem", "historyFilter"] }] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelHistoryPopoverComponent, decorators: [{
47
- type: Component,
48
- args: [{ 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-history [historyFilter]=\"historyFilter\" [anchorForItem]=\"anchorForItem\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-model-history>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
49
- }], ctorParameters: function () { return [{ type: i1.DbxPopoverComponent }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuaGlzdG9yeS5wb3BvdmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvbW9kZWwvbW9kZWwuaGlzdG9yeS5wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvbW9kZWwvbW9kZWwuaGlzdG9yeS5wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLHdCQUF3QixFQUEwQixtQkFBbUIsRUFBb0MsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQW9DM0ksTUFBTSxDQUFDLE1BQU0sOENBQThDLEdBQUcsU0FBUyxDQUFDO0FBS3hFLE1BQU0sT0FBTyx1Q0FBd0MsU0FBUSx3QkFBdUU7SUFnQmxJLFlBQVksT0FBMkU7UUFDckYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFqQkQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxZQUErQixFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQXdDLEVBQUUsVUFBMEI7UUFDckwsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLEdBQUcsRUFBRSxVQUFVLElBQUksOENBQThDO1lBQ2pFLE1BQU07WUFDTixjQUFjLEVBQUUsdUNBQXVDO1lBQ3ZELElBQUksRUFBRTtnQkFDSixNQUFNO2dCQUNOLElBQUk7Z0JBQ0osU0FBUztnQkFDVCxhQUFhO2dCQUNiLGFBQWE7YUFDMEI7U0FDMUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQU1ELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUE0QyxDQUFDO0lBQ25FLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksbUJBQW1CLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDbkMsQ0FBQzs7cUlBMUNVLHVDQUF1Qzt5SEFBdkMsdUNBQXVDLDJFQzNDcEQsMGRBWUE7NEZEK0JhLHVDQUF1QztrQkFIbkQsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdQb3BvdmVyUmVmIH0gZnJvbSAnbmctb3ZlcmxheS1jb250YWluZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RQb3BvdmVyRGlyZWN0aXZlLCBBbmNob3JGb3JWYWx1ZUZ1bmN0aW9uLCBEYnhQb3BvdmVyQ29tcG9uZW50LCBEYnhQb3BvdmVyS2V5LCBEYnhQb3BvdmVyU2VydmljZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZVBhaXIgfSBmcm9tICcuL21vZGVsLnR5cGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VNb2RlbFRyYWNrZXJIaXN0b3J5RmlsdGVyIH0gZnJvbSAnLi9tb2RlbC50cmFja2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlTW9kZWxIaXN0b3J5UG9wb3ZlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBDdXN0b20gaWNvblxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBcImhpc3RvcnlcIlxuICAgKi9cbiAgaWNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBoZWFkZXIgdGV4dFxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBcIkhpc3RvcnlcIlxuICAgKi9cbiAgaGVhZGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogQ3VzdG9tIGVtcHR5IHRleHQgd2hlbiBubyBpdGVtcyBleGlzdC5cbiAgICovXG4gIGVtcHR5VGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9yaWdpbiB0byBhZGQgdGhlIHBvcG92ZXIgdG8uXG4gICAqL1xuICBvcmlnaW46IEVsZW1lbnRSZWY7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBjb25maWcgdG8gcGFzcyB0byB0aGUgRGJ4RmlyZWJhc2VIaXN0b3J5Q29tcG9uZW50XG4gICAqL1xuICBoaXN0b3J5RmlsdGVyPzogTWF5YmU8RGJ4RmlyZWJhc2VNb2RlbFRyYWNrZXJIaXN0b3J5RmlsdGVyPjtcbiAgLyoqXG4gICAqIEFuY2hvclxuICAgKi9cbiAgYW5jaG9yRm9ySXRlbT86IE1heWJlPEFuY2hvckZvclZhbHVlRnVuY3Rpb248RGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpcj4+O1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9GSVJFQkFTRV9ISVNUT1JZX0NPTVBPTkVOVF9QT1BPVkVSX0tFWSA9ICdoaXN0b3J5JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC5oaXN0b3J5LnBvcG92ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlTW9kZWxIaXN0b3J5UG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UG9wb3ZlckRpcmVjdGl2ZTx1bmtub3duLCBEYnhGaXJlYmFzZU1vZGVsSGlzdG9yeVBvcG92ZXJQYXJhbXM+IHtcbiAgc3RhdGljIG9wZW5Qb3BvdmVyKHBvcHVwU2VydmljZTogRGJ4UG9wb3ZlclNlcnZpY2UsIHsgb3JpZ2luLCBoZWFkZXIsIGljb24sIGVtcHR5VGV4dCwgaGlzdG9yeUZpbHRlciwgYW5jaG9yRm9ySXRlbSB9OiBEYnhGaXJlYmFzZU1vZGVsSGlzdG9yeVBvcG92ZXJQYXJhbXMsIHBvcG92ZXJLZXk/OiBEYnhQb3BvdmVyS2V5KTogTmdQb3BvdmVyUmVmIHtcbiAgICByZXR1cm4gcG9wdXBTZXJ2aWNlLm9wZW4oe1xuICAgICAga2V5OiBwb3BvdmVyS2V5ID8/IERFRkFVTFRfRklSRUJBU0VfSElTVE9SWV9DT01QT05FTlRfUE9QT1ZFUl9LRVksXG4gICAgICBvcmlnaW4sXG4gICAgICBjb21wb25lbnRDbGFzczogRGJ4RmlyZWJhc2VNb2RlbEhpc3RvcnlQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgZGF0YToge1xuICAgICAgICBoZWFkZXIsXG4gICAgICAgIGljb24sXG4gICAgICAgIGVtcHR5VGV4dCxcbiAgICAgICAgaGlzdG9yeUZpbHRlcixcbiAgICAgICAgYW5jaG9yRm9ySXRlbVxuICAgICAgfSBhcyBEYnhGaXJlYmFzZU1vZGVsSGlzdG9yeVBvcG92ZXJQYXJhbXNcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHBvcG92ZXI6IERieFBvcG92ZXJDb21wb25lbnQ8dW5rbm93biwgRGJ4RmlyZWJhc2VNb2RlbEhpc3RvcnlQb3BvdmVyUGFyYW1zPikge1xuICAgIHN1cGVyKHBvcG92ZXIpO1xuICB9XG5cbiAgZ2V0IHBhcmFtcygpOiBEYnhGaXJlYmFzZU1vZGVsSGlzdG9yeVBvcG92ZXJQYXJhbXMge1xuICAgIHJldHVybiB0aGlzLnBvcG92ZXIuZGF0YSBhcyBEYnhGaXJlYmFzZU1vZGVsSGlzdG9yeVBvcG92ZXJQYXJhbXM7XG4gIH1cblxuICBnZXQgaWNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuaWNvbiA/PyAnaGlzdG9yeSc7XG4gIH1cblxuICBnZXQgaGVhZGVyKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtcy5oZWFkZXIgPz8gJ0hpc3RvcnknO1xuICB9XG5cbiAgZ2V0IGVtcHR5VGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuaGVhZGVyID8/ICdIaXN0b3J5IGlzIGVtcHR5Lic7XG4gIH1cblxuICBnZXQgaGlzdG9yeUZpbHRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuaGlzdG9yeUZpbHRlcjtcbiAgfVxuXG4gIGdldCBhbmNob3JGb3JJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtcy5hbmNob3JGb3JJdGVtO1xuICB9XG59XG4iLCI8ZGJ4LXBvcG92ZXItY29udGVudD5cbiAgPCEtLSBIZWFkZXIgLS0+XG4gIDxkYngtcG9wb3Zlci1oZWFkZXIgW2ljb25dPVwiaWNvblwiIFtoZWFkZXJdPVwiaGVhZGVyXCI+PC9kYngtcG9wb3Zlci1oZWFkZXI+XG4gIDwhLS0gQ29udGVudCAtLT5cbiAgPGRieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuICAgIDxkYngtZmlyZWJhc2UtbW9kZWwtaGlzdG9yeSBbaGlzdG9yeUZpbHRlcl09XCJoaXN0b3J5RmlsdGVyXCIgW2FuY2hvckZvckl0ZW1dPVwiYW5jaG9yRm9ySXRlbVwiPlxuICAgICAgPGRieC1saXN0LWVtcHR5LWNvbnRlbnQgZW1wdHk+XG4gICAgICAgIDxwPnt7IGVtcHR5VGV4dCB9fTwvcD5cbiAgICAgIDwvZGJ4LWxpc3QtZW1wdHktY29udGVudD5cbiAgICA8L2RieC1maXJlYmFzZS1tb2RlbC1oaXN0b3J5PlxuICA8L2RieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuPC9kYngtcG9wb3Zlci1jb250ZW50PlxuIl19