@dereekb/dbx-web 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/README.md +7 -0
  2. package/dereekb-dbx-web.d.ts +5 -0
  3. package/esm2020/dereekb-dbx-web.mjs +5 -0
  4. package/esm2020/index.mjs +3 -0
  5. package/esm2020/lib/action/action.confirm.directive.mjs +52 -0
  6. package/esm2020/lib/action/action.module.mjs +63 -0
  7. package/esm2020/lib/action/action.snackbar.component.mjs +105 -0
  8. package/esm2020/lib/action/index.mjs +6 -0
  9. package/esm2020/lib/action/key.trigger.directive.mjs +40 -0
  10. package/esm2020/lib/action/transition/action.transition.module.mjs +50 -0
  11. package/esm2020/lib/action/transition/index.mjs +4 -0
  12. package/esm2020/lib/action/transition/transition.safety.dialog.component.mjs +61 -0
  13. package/esm2020/lib/action/transition/transition.safety.directive.mjs +156 -0
  14. package/esm2020/lib/button/button.component.mjs +92 -0
  15. package/esm2020/lib/button/button.module.mjs +43 -0
  16. package/esm2020/lib/button/button.spacer.component.mjs +18 -0
  17. package/esm2020/lib/button/index.mjs +4 -0
  18. package/esm2020/lib/dbx-web.module.mjs +50 -0
  19. package/esm2020/lib/error/error.action.directive.mjs +32 -0
  20. package/esm2020/lib/error/error.api.mjs +47 -0
  21. package/esm2020/lib/error/error.component.mjs +27 -0
  22. package/esm2020/lib/error/error.loading.directive.mjs +42 -0
  23. package/esm2020/lib/error/error.module.mjs +36 -0
  24. package/esm2020/lib/error/index.mjs +7 -0
  25. package/esm2020/lib/error/state.mjs +17 -0
  26. package/esm2020/lib/index.mjs +10 -0
  27. package/esm2020/lib/interaction/dialog/abstract.dialog.directive.mjs +27 -0
  28. package/esm2020/lib/interaction/dialog/index.mjs +2 -0
  29. package/esm2020/lib/interaction/index.mjs +5 -0
  30. package/esm2020/lib/interaction/popover/abstract.popover.directive.mjs +24 -0
  31. package/esm2020/lib/interaction/popover/abstract.popover.ref.directive.mjs +63 -0
  32. package/esm2020/lib/interaction/popover/index.mjs +15 -0
  33. package/esm2020/lib/interaction/popover/popover.action.button.directive.mjs +29 -0
  34. package/esm2020/lib/interaction/popover/popover.action.directive.mjs +83 -0
  35. package/esm2020/lib/interaction/popover/popover.component.mjs +143 -0
  36. package/esm2020/lib/interaction/popover/popover.content.component.mjs +55 -0
  37. package/esm2020/lib/interaction/popover/popover.controls.component.mjs +35 -0
  38. package/esm2020/lib/interaction/popover/popover.coordinator.component.mjs +44 -0
  39. package/esm2020/lib/interaction/popover/popover.coordinator.service.mjs +40 -0
  40. package/esm2020/lib/interaction/popover/popover.header.component.mjs +52 -0
  41. package/esm2020/lib/interaction/popover/popover.mjs +3 -0
  42. package/esm2020/lib/interaction/popover/popover.module.mjs +108 -0
  43. package/esm2020/lib/interaction/popover/popover.position.strategy.mjs +61 -0
  44. package/esm2020/lib/interaction/popover/popover.scroll.content.component.mjs +53 -0
  45. package/esm2020/lib/interaction/popover/popover.service.mjs +45 -0
  46. package/esm2020/lib/interaction/popup/abstract.popup.directive.mjs +21 -0
  47. package/esm2020/lib/interaction/popup/index.mjs +11 -0
  48. package/esm2020/lib/interaction/popup/popup.component.mjs +138 -0
  49. package/esm2020/lib/interaction/popup/popup.content.component.mjs +40 -0
  50. package/esm2020/lib/interaction/popup/popup.controls.buttons.component.mjs +72 -0
  51. package/esm2020/lib/interaction/popup/popup.controls.component.mjs +33 -0
  52. package/esm2020/lib/interaction/popup/popup.coordinator.component.mjs +44 -0
  53. package/esm2020/lib/interaction/popup/popup.coordinator.service.mjs +40 -0
  54. package/esm2020/lib/interaction/popup/popup.mjs +9 -0
  55. package/esm2020/lib/interaction/popup/popup.module.mjs +81 -0
  56. package/esm2020/lib/interaction/popup/popup.position.strategy.mjs +45 -0
  57. package/esm2020/lib/interaction/popup/popup.service.mjs +42 -0
  58. package/esm2020/lib/interaction/prompt/index.mjs +10 -0
  59. package/esm2020/lib/interaction/prompt/prompt.box.component.mjs +35 -0
  60. package/esm2020/lib/interaction/prompt/prompt.button.confirm.directive.mjs +35 -0
  61. package/esm2020/lib/interaction/prompt/prompt.component.mjs +21 -0
  62. package/esm2020/lib/interaction/prompt/prompt.confirm.component.mjs +51 -0
  63. package/esm2020/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +27 -0
  64. package/esm2020/lib/interaction/prompt/prompt.confirm.directive.mjs +69 -0
  65. package/esm2020/lib/interaction/prompt/prompt.confirm.mjs +9 -0
  66. package/esm2020/lib/interaction/prompt/prompt.module.mjs +77 -0
  67. package/esm2020/lib/interaction/prompt/prompt.page.component.mjs +32 -0
  68. package/esm2020/lib/keypress/index.mjs +3 -0
  69. package/esm2020/lib/keypress/keydown.listener.directive.mjs +45 -0
  70. package/esm2020/lib/keypress/keypress.module.mjs +26 -0
  71. package/esm2020/lib/layout/block/block.layout.module.mjs +37 -0
  72. package/esm2020/lib/layout/block/index.mjs +3 -0
  73. package/esm2020/lib/layout/block/two.block.component.mjs +55 -0
  74. package/esm2020/lib/layout/card/card.box.component.mjs +49 -0
  75. package/esm2020/lib/layout/card/card.box.container.component.mjs +25 -0
  76. package/esm2020/lib/layout/card/card.box.layout.module.mjs +35 -0
  77. package/esm2020/lib/layout/card/index.mjs +4 -0
  78. package/esm2020/lib/layout/column/column.layout.module.mjs +21 -0
  79. package/esm2020/lib/layout/column/index.mjs +4 -0
  80. package/esm2020/lib/layout/column/one/index.mjs +3 -0
  81. package/esm2020/lib/layout/column/one/one.column.component.mjs +46 -0
  82. package/esm2020/lib/layout/column/one/one.column.module.mjs +30 -0
  83. package/esm2020/lib/layout/column/two/index.mjs +9 -0
  84. package/esm2020/lib/layout/column/two/two.column.back.directive.mjs +33 -0
  85. package/esm2020/lib/layout/column/two/two.column.component.mjs +36 -0
  86. package/esm2020/lib/layout/column/two/two.column.full.left.directive.mjs +40 -0
  87. package/esm2020/lib/layout/column/two/two.column.head.component.mjs +30 -0
  88. package/esm2020/lib/layout/column/two/two.column.module.mjs +67 -0
  89. package/esm2020/lib/layout/column/two/two.column.right.component.mjs +55 -0
  90. package/esm2020/lib/layout/column/two/two.column.sref.directive.mjs +34 -0
  91. package/esm2020/lib/layout/column/two/two.column.store.mjs +80 -0
  92. package/esm2020/lib/layout/compact/compact.directive.mjs +30 -0
  93. package/esm2020/lib/layout/compact/compact.layout.module.mjs +29 -0
  94. package/esm2020/lib/layout/compact/compact.mjs +27 -0
  95. package/esm2020/lib/layout/compact/compact.store.mjs +19 -0
  96. package/esm2020/lib/layout/compact/index.mjs +5 -0
  97. package/esm2020/lib/layout/content/content.bordered.component.mjs +26 -0
  98. package/esm2020/lib/layout/content/content.component.mjs +32 -0
  99. package/esm2020/lib/layout/content/content.container.component.mjs +66 -0
  100. package/esm2020/lib/layout/content/content.container.fullwidth.component.mjs +26 -0
  101. package/esm2020/lib/layout/content/content.layout.module.mjs +44 -0
  102. package/esm2020/lib/layout/content/index.mjs +6 -0
  103. package/esm2020/lib/layout/dialog/dialog.content.component.mjs +37 -0
  104. package/esm2020/lib/layout/dialog/dialog.layout.module.mjs +29 -0
  105. package/esm2020/lib/layout/dialog/index.mjs +3 -0
  106. package/esm2020/lib/layout/flag/flag.component.mjs +36 -0
  107. package/esm2020/lib/layout/flag/flag.layout.module.mjs +38 -0
  108. package/esm2020/lib/layout/flag/flag.prompt.component.mjs +38 -0
  109. package/esm2020/lib/layout/flag/index.mjs +4 -0
  110. package/esm2020/lib/layout/index.mjs +13 -0
  111. package/esm2020/lib/layout/item/index.mjs +3 -0
  112. package/esm2020/lib/layout/item/item.icon.component.mjs +47 -0
  113. package/esm2020/lib/layout/item/item.layout.module.mjs +30 -0
  114. package/esm2020/lib/layout/layout.module.mjs +57 -0
  115. package/esm2020/lib/layout/list/index.mjs +3 -0
  116. package/esm2020/lib/layout/list/list.empty.component.mjs +26 -0
  117. package/esm2020/lib/layout/list/list.layout.module.mjs +26 -0
  118. package/esm2020/lib/layout/section/index.mjs +9 -0
  119. package/esm2020/lib/layout/section/section.box.anchor.component.mjs +39 -0
  120. package/esm2020/lib/layout/section/section.box.component.mjs +32 -0
  121. package/esm2020/lib/layout/section/section.component.mjs +54 -0
  122. package/esm2020/lib/layout/section/section.elevated.component.mjs +26 -0
  123. package/esm2020/lib/layout/section/section.intro.component.mjs +67 -0
  124. package/esm2020/lib/layout/section/section.layout.module.mjs +75 -0
  125. package/esm2020/lib/layout/section/section.page.component.mjs +46 -0
  126. package/esm2020/lib/layout/section/subsection.component.mjs +35 -0
  127. package/esm2020/lib/layout/step/index.mjs +3 -0
  128. package/esm2020/lib/layout/step/step.component.mjs +21 -0
  129. package/esm2020/lib/layout/step/step.layout.module.mjs +30 -0
  130. package/esm2020/lib/loading/basic-loading.component.mjs +116 -0
  131. package/esm2020/lib/loading/index.mjs +5 -0
  132. package/esm2020/lib/loading/loading-progress.component.mjs +69 -0
  133. package/esm2020/lib/loading/loading.component.mjs +95 -0
  134. package/esm2020/lib/loading/loading.module.mjs +53 -0
  135. package/esm2020/lib/router/anchor/anchor.component.mjs +50 -0
  136. package/esm2020/lib/router/anchor/anchor.icon.component.mjs +30 -0
  137. package/esm2020/lib/router/anchor/anchor.module.mjs +43 -0
  138. package/esm2020/lib/router/anchor/anchor.segue.directive.mjs +32 -0
  139. package/esm2020/lib/router/anchor/index.mjs +5 -0
  140. package/esm2020/lib/router/index.mjs +3 -0
  141. package/esm2020/lib/router/provider/index.mjs +4 -0
  142. package/esm2020/lib/router/provider/ngrouter/anchor.component.mjs +18 -0
  143. package/esm2020/lib/router/provider/ngrouter/angular.router.module.mjs +46 -0
  144. package/esm2020/lib/router/provider/ngrouter/index.mjs +3 -0
  145. package/esm2020/lib/router/provider/router.provider.config.mjs +3 -0
  146. package/esm2020/lib/router/provider/uirouter/anchor.component.mjs +18 -0
  147. package/esm2020/lib/router/provider/uirouter/index.mjs +3 -0
  148. package/esm2020/lib/router/provider/uirouter/uirouter.router.module.mjs +46 -0
  149. package/esm2020/lib/text/hint.component.mjs +15 -0
  150. package/esm2020/lib/text/index.mjs +13 -0
  151. package/esm2020/lib/text/label.bar.component.mjs +32 -0
  152. package/esm2020/lib/text/label.component.mjs +18 -0
  153. package/esm2020/lib/text/link.component.mjs +36 -0
  154. package/esm2020/lib/text/linkify.component.mjs +48 -0
  155. package/esm2020/lib/text/note.component.mjs +15 -0
  156. package/esm2020/lib/text/notice.component.mjs +15 -0
  157. package/esm2020/lib/text/ok.component.mjs +15 -0
  158. package/esm2020/lib/text/success.component.mjs +15 -0
  159. package/esm2020/lib/text/text.chips.component.mjs +32 -0
  160. package/esm2020/lib/text/text.module.mjs +92 -0
  161. package/esm2020/lib/text/warn.component.mjs +15 -0
  162. package/fesm2015/dereekb-dbx-web.mjs +4914 -0
  163. package/fesm2015/dereekb-dbx-web.mjs.map +1 -0
  164. package/fesm2020/dereekb-dbx-web.mjs +4885 -0
  165. package/fesm2020/dereekb-dbx-web.mjs.map +1 -0
  166. package/index.d.ts +2 -0
  167. package/lib/action/action.confirm.directive.d.ts +23 -0
  168. package/lib/action/action.module.d.ts +16 -0
  169. package/lib/action/action.snackbar.component.d.ts +22 -0
  170. package/lib/action/index.d.ts +5 -0
  171. package/lib/action/key.trigger.directive.d.ts +17 -0
  172. package/lib/action/transition/action.transition.module.d.ts +18 -0
  173. package/lib/action/transition/index.d.ts +3 -0
  174. package/lib/action/transition/transition.safety.dialog.component.d.ts +19 -0
  175. package/lib/action/transition/transition.safety.directive.d.ts +52 -0
  176. package/lib/button/button.component.d.ts +25 -0
  177. package/lib/button/button.module.d.ts +12 -0
  178. package/lib/button/button.spacer.component.d.ts +8 -0
  179. package/lib/button/index.d.ts +3 -0
  180. package/lib/dbx-web.module.d.ts +16 -0
  181. package/lib/error/error.action.directive.d.ts +15 -0
  182. package/lib/error/error.api.d.ts +13 -0
  183. package/lib/error/error.component.d.ts +14 -0
  184. package/lib/error/error.loading.directive.d.ts +19 -0
  185. package/lib/error/error.module.d.ts +10 -0
  186. package/lib/error/index.d.ts +6 -0
  187. package/lib/error/state.d.ts +15 -0
  188. package/lib/index.d.ts +9 -0
  189. package/lib/interaction/dialog/abstract.dialog.directive.d.ts +14 -0
  190. package/lib/interaction/dialog/index.d.ts +1 -0
  191. package/lib/interaction/index.d.ts +4 -0
  192. package/lib/interaction/popover/abstract.popover.directive.d.ts +13 -0
  193. package/lib/interaction/popover/abstract.popover.ref.directive.d.ts +30 -0
  194. package/lib/interaction/popover/index.d.ts +14 -0
  195. package/lib/interaction/popover/popover.action.button.directive.d.ts +14 -0
  196. package/lib/interaction/popover/popover.action.directive.d.ts +33 -0
  197. package/lib/interaction/popover/popover.component.d.ts +75 -0
  198. package/lib/interaction/popover/popover.content.component.d.ts +17 -0
  199. package/lib/interaction/popover/popover.controls.component.d.ts +10 -0
  200. package/lib/interaction/popover/popover.coordinator.component.d.ts +18 -0
  201. package/lib/interaction/popover/popover.coordinator.service.d.ts +14 -0
  202. package/lib/interaction/popover/popover.d.ts +16 -0
  203. package/lib/interaction/popover/popover.header.component.d.ts +12 -0
  204. package/lib/interaction/popover/popover.module.d.ts +26 -0
  205. package/lib/interaction/popover/popover.position.strategy.d.ts +11 -0
  206. package/lib/interaction/popover/popover.scroll.content.component.d.ts +14 -0
  207. package/lib/interaction/popover/popover.service.d.ts +22 -0
  208. package/lib/interaction/popup/abstract.popup.directive.d.ts +12 -0
  209. package/lib/interaction/popup/index.d.ts +10 -0
  210. package/lib/interaction/popup/popup.component.d.ts +60 -0
  211. package/lib/interaction/popup/popup.content.component.d.ts +12 -0
  212. package/lib/interaction/popup/popup.controls.buttons.component.d.ts +18 -0
  213. package/lib/interaction/popup/popup.controls.component.d.ts +9 -0
  214. package/lib/interaction/popup/popup.coordinator.component.d.ts +18 -0
  215. package/lib/interaction/popup/popup.coordinator.service.d.ts +15 -0
  216. package/lib/interaction/popup/popup.d.ts +25 -0
  217. package/lib/interaction/popup/popup.module.d.ts +20 -0
  218. package/lib/interaction/popup/popup.position.strategy.d.ts +18 -0
  219. package/lib/interaction/popup/popup.service.d.ts +20 -0
  220. package/lib/interaction/prompt/index.d.ts +9 -0
  221. package/lib/interaction/prompt/prompt.box.component.d.ts +8 -0
  222. package/lib/interaction/prompt/prompt.button.confirm.directive.d.ts +17 -0
  223. package/lib/interaction/prompt/prompt.component.d.ts +12 -0
  224. package/lib/interaction/prompt/prompt.confirm.component.d.ts +34 -0
  225. package/lib/interaction/prompt/prompt.confirm.d.ts +7 -0
  226. package/lib/interaction/prompt/prompt.confirm.dialog.component.d.ts +12 -0
  227. package/lib/interaction/prompt/prompt.confirm.directive.d.ts +31 -0
  228. package/lib/interaction/prompt/prompt.module.d.ts +20 -0
  229. package/lib/interaction/prompt/prompt.page.component.d.ts +5 -0
  230. package/lib/keypress/index.d.ts +2 -0
  231. package/lib/keypress/keydown.listener.directive.d.ts +12 -0
  232. package/lib/keypress/keypress.module.d.ts +8 -0
  233. package/lib/layout/block/block.layout.module.d.ts +13 -0
  234. package/lib/layout/block/index.d.ts +2 -0
  235. package/lib/layout/block/two.block.component.d.ts +16 -0
  236. package/lib/layout/card/card.box.component.d.ts +10 -0
  237. package/lib/layout/card/card.box.container.component.d.ts +8 -0
  238. package/lib/layout/card/card.box.layout.module.d.ts +10 -0
  239. package/lib/layout/card/index.d.ts +3 -0
  240. package/lib/layout/column/column.layout.module.d.ts +8 -0
  241. package/lib/layout/column/index.d.ts +3 -0
  242. package/lib/layout/column/one/index.d.ts +2 -0
  243. package/lib/layout/column/one/one.column.component.d.ts +12 -0
  244. package/lib/layout/column/one/one.column.module.d.ts +9 -0
  245. package/lib/layout/column/two/index.d.ts +8 -0
  246. package/lib/layout/column/two/two.column.back.directive.d.ts +16 -0
  247. package/lib/layout/column/two/two.column.component.d.ts +21 -0
  248. package/lib/layout/column/two/two.column.full.left.directive.d.ts +18 -0
  249. package/lib/layout/column/two/two.column.head.component.d.ts +10 -0
  250. package/lib/layout/column/two/two.column.module.d.ts +17 -0
  251. package/lib/layout/column/two/two.column.right.component.d.ts +24 -0
  252. package/lib/layout/column/two/two.column.sref.directive.d.ts +14 -0
  253. package/lib/layout/column/two/two.column.store.d.ts +67 -0
  254. package/lib/layout/compact/compact.d.ts +16 -0
  255. package/lib/layout/compact/compact.directive.d.ts +14 -0
  256. package/lib/layout/compact/compact.layout.module.d.ts +11 -0
  257. package/lib/layout/compact/compact.store.d.ts +13 -0
  258. package/lib/layout/compact/index.d.ts +4 -0
  259. package/lib/layout/content/content.bordered.component.d.ts +8 -0
  260. package/lib/layout/content/content.component.d.ts +9 -0
  261. package/lib/layout/content/content.container.component.d.ts +34 -0
  262. package/lib/layout/content/content.container.fullwidth.component.d.ts +8 -0
  263. package/lib/layout/content/content.layout.module.d.ts +14 -0
  264. package/lib/layout/content/index.d.ts +5 -0
  265. package/lib/layout/dialog/dialog.content.component.d.ts +13 -0
  266. package/lib/layout/dialog/dialog.layout.module.d.ts +11 -0
  267. package/lib/layout/dialog/index.d.ts +2 -0
  268. package/lib/layout/flag/flag.component.d.ts +10 -0
  269. package/lib/layout/flag/flag.layout.module.d.ts +13 -0
  270. package/lib/layout/flag/flag.prompt.component.d.ts +11 -0
  271. package/lib/layout/flag/index.d.ts +3 -0
  272. package/lib/layout/index.d.ts +12 -0
  273. package/lib/layout/item/index.d.ts +2 -0
  274. package/lib/layout/item/item.icon.component.d.ts +10 -0
  275. package/lib/layout/item/item.layout.module.d.ts +9 -0
  276. package/lib/layout/layout.module.d.ts +17 -0
  277. package/lib/layout/list/index.d.ts +2 -0
  278. package/lib/layout/list/list.empty.component.d.ts +8 -0
  279. package/lib/layout/list/list.layout.module.d.ts +8 -0
  280. package/lib/layout/section/index.d.ts +8 -0
  281. package/lib/layout/section/section.box.anchor.component.d.ts +11 -0
  282. package/lib/layout/section/section.box.component.d.ts +9 -0
  283. package/lib/layout/section/section.component.d.ts +12 -0
  284. package/lib/layout/section/section.elevated.component.d.ts +8 -0
  285. package/lib/layout/section/section.intro.component.d.ts +16 -0
  286. package/lib/layout/section/section.layout.module.d.ts +21 -0
  287. package/lib/layout/section/section.page.component.d.ts +10 -0
  288. package/lib/layout/section/subsection.component.d.ts +9 -0
  289. package/lib/layout/step/index.d.ts +2 -0
  290. package/lib/layout/step/step.component.d.ts +9 -0
  291. package/lib/layout/step/step.layout.module.d.ts +9 -0
  292. package/lib/loading/basic-loading.component.d.ts +46 -0
  293. package/lib/loading/index.d.ts +4 -0
  294. package/lib/loading/loading-progress.component.d.ts +24 -0
  295. package/lib/loading/loading.component.d.ts +37 -0
  296. package/lib/loading/loading.module.d.ts +13 -0
  297. package/lib/router/anchor/anchor.component.d.ts +24 -0
  298. package/lib/router/anchor/anchor.icon.component.d.ts +11 -0
  299. package/lib/router/anchor/anchor.module.d.ts +12 -0
  300. package/lib/router/anchor/anchor.segue.directive.d.ts +20 -0
  301. package/lib/router/anchor/index.d.ts +4 -0
  302. package/lib/router/index.d.ts +2 -0
  303. package/lib/router/provider/index.d.ts +3 -0
  304. package/lib/router/provider/ngrouter/anchor.component.d.ts +9 -0
  305. package/lib/router/provider/ngrouter/angular.router.module.d.ts +12 -0
  306. package/lib/router/provider/ngrouter/index.d.ts +2 -0
  307. package/lib/router/provider/router.provider.config.d.ts +7 -0
  308. package/lib/router/provider/uirouter/anchor.component.d.ts +9 -0
  309. package/lib/router/provider/uirouter/index.d.ts +2 -0
  310. package/lib/router/provider/uirouter/uirouter.router.module.d.ts +12 -0
  311. package/lib/text/hint.component.d.ts +5 -0
  312. package/lib/text/index.d.ts +12 -0
  313. package/lib/text/label.bar.component.d.ts +10 -0
  314. package/lib/text/label.component.d.ts +8 -0
  315. package/lib/text/link.component.d.ts +9 -0
  316. package/lib/text/linkify.component.d.ts +18 -0
  317. package/lib/text/note.component.d.ts +5 -0
  318. package/lib/text/notice.component.d.ts +5 -0
  319. package/lib/text/ok.component.d.ts +5 -0
  320. package/lib/text/success.component.d.ts +5 -0
  321. package/lib/text/text.chips.component.d.ts +13 -0
  322. package/lib/text/text.module.d.ts +22 -0
  323. package/lib/text/warn.component.d.ts +5 -0
  324. package/package.json +59 -0
@@ -0,0 +1,156 @@
1
+ import { Directive, Input, ViewContainerRef } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { TransitionService } from '@uirouter/core';
4
+ import { of, race } from 'rxjs';
5
+ import { delay, first, map, mergeMap, tap } from 'rxjs/operators';
6
+ import { ActionContextStoreSourceInstance, canTriggerAction, isIdleActionState } from '@dereekb/dbx-core';
7
+ import { DbNgxActionTransitionSafetyDialogResult, DbNgxActionUIRouterTransitionSafetyDialogComponent } from './transition.safety.dialog.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@dereekb/dbx-core";
10
+ import * as i2 from "@uirouter/core";
11
+ import * as i3 from "@angular/material/dialog";
12
+ export var DbNgxActionTransitionSafetyType;
13
+ (function (DbNgxActionTransitionSafetyType) {
14
+ /**
15
+ * Nothing occurs.
16
+ */
17
+ DbNgxActionTransitionSafetyType["NONE"] = "none";
18
+ /**
19
+ * Always show a dialog and act based on the result.
20
+ */
21
+ DbNgxActionTransitionSafetyType["DIALOG"] = "dialog";
22
+ /**
23
+ * Try to auto-trigger if in a triggerable state.
24
+ *
25
+ * If it is modified but in a non-triggerable state show a dialog.
26
+ *
27
+ * Should be used in conjuction with the auto-saver.
28
+ */
29
+ DbNgxActionTransitionSafetyType["AUTO_TRIGGER"] = "auto";
30
+ })(DbNgxActionTransitionSafetyType || (DbNgxActionTransitionSafetyType = {}));
31
+ /**
32
+ * Context used for preventing a transition from occuring if the action is not complete or is in a modified state.
33
+ *
34
+ * This can be configured to auto-trigger and wait, or show a dialog and wait for the user's feedback before doing anything.
35
+ *
36
+ * NOTE: This dialog only works for uirouter.
37
+ */
38
+ export class DbNgxActionTransitionSafetyDirective {
39
+ constructor(source, transitionService, viewContainerRef, dialog) {
40
+ this.source = source;
41
+ this.transitionService = transitionService;
42
+ this.viewContainerRef = viewContainerRef;
43
+ this.dialog = dialog;
44
+ }
45
+ get safetyType() {
46
+ return this.inputSafetyType || DbNgxActionTransitionSafetyType.DIALOG;
47
+ }
48
+ get _destroyed() {
49
+ return !this.stopWatchingTransition;
50
+ }
51
+ ngOnInit() {
52
+ this.stopWatchingTransition = this.transitionService.onStart({}, (transition) => {
53
+ return this._handleOnBeforeTransition(transition);
54
+ });
55
+ }
56
+ ngOnDestroy() {
57
+ if (this.stopWatchingTransition) {
58
+ this.stopWatchingTransition();
59
+ delete this.stopWatchingTransition;
60
+ }
61
+ this._closeDialog();
62
+ }
63
+ _handleOnBeforeTransition(transition) {
64
+ return this.source.isModified$.pipe(first(), mergeMap((isModified) => {
65
+ if (isModified) {
66
+ return race([
67
+ // Watch for success to occur. At that point, close everything.
68
+ this.source.success$.pipe(first(), map((x) => [true, undefined])),
69
+ this._handleIsModifiedState(transition).pipe(first(), map((x) => [undefined, x]))
70
+ ]).pipe(map(([saveSuccess, handleResult]) => {
71
+ if (saveSuccess) {
72
+ return true;
73
+ }
74
+ else {
75
+ return handleResult;
76
+ }
77
+ }), tap(() => this._closeDialog()), // Close dialog if it is still open.
78
+ delay(10) // Delay to allow dialog to close before transition.
79
+ );
80
+ }
81
+ else {
82
+ return of(true);
83
+ }
84
+ })).toPromise().then(x => x); // Resolve/Flatten potential promise result.
85
+ }
86
+ _handleIsModifiedState(transition) {
87
+ const safetyType = this.safetyType;
88
+ let obs;
89
+ // console.log('Safety type: ', safetyType);
90
+ switch (safetyType) {
91
+ case DbNgxActionTransitionSafetyType.NONE:
92
+ obs = of(true); // Do nothing.
93
+ break;
94
+ case DbNgxActionTransitionSafetyType.DIALOG:
95
+ obs = this._showDialog(transition);
96
+ break;
97
+ case DbNgxActionTransitionSafetyType.AUTO_TRIGGER:
98
+ obs = this._autoTrigger(transition);
99
+ break;
100
+ }
101
+ return obs;
102
+ }
103
+ _autoTrigger(transition) {
104
+ return this.source.pipeStore((store) => store.state$.pipe(delay(20), // Prevent racing with auto-trigger.
105
+ first(), mergeMap((state) => {
106
+ if (isIdleActionState(state.actionState)) {
107
+ // If we're in an idle state, get ready to trigger it.
108
+ if (canTriggerAction(state)) {
109
+ store.trigger(); // Try and trigger it.
110
+ }
111
+ }
112
+ // Watch for errors. If an error occurs, show the dialog.
113
+ // Success will cause the race in _handleOnBeforeTransition() to trigger and close everything.
114
+ return store.rejected$.pipe(first(), mergeMap(() => this._showDialog(transition)));
115
+ })));
116
+ }
117
+ _showDialog(transition) {
118
+ if (this._destroyed) {
119
+ return of(true);
120
+ }
121
+ if (!this._dialogRef) {
122
+ this._dialogRef = this.dialog.open(DbNgxActionUIRouterTransitionSafetyDialogComponent, {
123
+ viewContainerRef: this.viewContainerRef
124
+ });
125
+ }
126
+ return this._dialogRef.afterClosed().pipe(first(), map((result = DbNgxActionTransitionSafetyDialogResult.STAY) => {
127
+ // Default to Stay if the user clicks outside.
128
+ switch (result) {
129
+ case DbNgxActionTransitionSafetyDialogResult.DISCARD:
130
+ case DbNgxActionTransitionSafetyDialogResult.SUCCESS:
131
+ case DbNgxActionTransitionSafetyDialogResult.NONE:
132
+ return true;
133
+ case DbNgxActionTransitionSafetyDialogResult.STAY:
134
+ return false;
135
+ }
136
+ }));
137
+ }
138
+ _closeDialog() {
139
+ if (this._dialogRef) {
140
+ this._dialogRef.close(DbNgxActionTransitionSafetyDialogResult.NONE);
141
+ }
142
+ this._dialogRef = undefined;
143
+ }
144
+ }
145
+ DbNgxActionTransitionSafetyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionTransitionSafetyDirective, deps: [{ token: i1.ActionContextStoreSourceInstance }, { token: i2.TransitionService }, { token: i0.ViewContainerRef }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Directive });
146
+ DbNgxActionTransitionSafetyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxActionTransitionSafetyDirective, selector: "[dbxActionTransitionSafety]", inputs: { inputSafetyType: ["dbxActionTransitionSafety", "inputSafetyType"] }, ngImport: i0 });
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionTransitionSafetyDirective, decorators: [{
148
+ type: Directive,
149
+ args: [{
150
+ selector: '[dbxActionTransitionSafety]',
151
+ }]
152
+ }], ctorParameters: function () { return [{ type: i1.ActionContextStoreSourceInstance }, { type: i2.TransitionService }, { type: i0.ViewContainerRef }, { type: i3.MatDialog }]; }, propDecorators: { inputSafetyType: [{
153
+ type: Input,
154
+ args: ['dbxActionTransitionSafety']
155
+ }] } });
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdGlvbi5zYWZldHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2FjdGlvbi90cmFuc2l0aW9uL3RyYW5zaXRpb24uc2FmZXR5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQTBCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsa0RBQWtELEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFFbkosTUFBTSxDQUFOLElBQVksK0JBbUJYO0FBbkJELFdBQVksK0JBQStCO0lBQ3pDOztPQUVHO0lBQ0gsZ0RBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsb0RBQWlCLENBQUE7SUFFakI7Ozs7OztPQU1HO0lBQ0gsd0RBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQW5CVywrQkFBK0IsS0FBL0IsK0JBQStCLFFBbUIxQztBQUlEOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBTyxvQ0FBb0M7SUFRL0MsWUFDa0IsTUFBOEMsRUFDM0MsaUJBQW9DLEVBQ3BDLGdCQUFrQyxFQUNsQyxNQUFpQjtRQUhwQixXQUFN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QUFDLGdCQUFnQjthQUN4QyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQ3ZDLEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxDQUFDLFNBQWtELHVDQUF1QyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JHLDhDQUE4QztZQUM5QyxRQUFRLE1BQU0sRUFBRTtnQkFDZCxLQUFLLHVDQUF1QyxDQUFDLE9BQU8sQ0FBQztnQkFDckQsS0FBSyx1Q0FBdUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ3JELEtBQUssdUNBQXVDLENBQUMsSUFBSTtvQkFDL0MsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsS0FBSyx1Q0FBdUMsQ0FBQyxJQUFJO29CQUMvQyxPQUFPLEtBQUssQ0FBQzthQUNoQjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDOztpSUE3SVUsb0NBQW9DO3FIQUFwQyxvQ0FBb0M7MkZBQXBDLG9DQUFvQztrQkFIaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2lCQUN4Qzs4TUFJQyxlQUFlO3NCQURkLEtBQUs7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIE9uRGVzdHJveSwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEhvb2tSZXN1bHQsIFRyYW5zaXRpb24sIFRyYW5zaXRpb25TZXJ2aWNlIH0gZnJvbSAnQHVpcm91dGVyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHJhY2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBmaXJzdCwgbWFwLCBtZXJnZU1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UsIGNhblRyaWdnZXJBY3Rpb24sIGlzSWRsZUFjdGlvblN0YXRlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJOZ3hBY3Rpb25UcmFuc2l0aW9uU2FmZXR5RGlhbG9nUmVzdWx0LCBEYk5neEFjdGlvblVJUm91dGVyVHJhbnNpdGlvblNhZmV0eURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdHJhbnNpdGlvbi5zYWZldHkuZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBlbnVtIERiTmd4QWN0aW9uVHJhbnNpdGlvblNhZmV0eVR5cGUge1xuICAvKipcbiAgICogTm90aGluZyBvY2N1cnMuXG4gICAqL1xuICBOT05FID0gJ25vbmUnLFxuXG4gIC8qKlxuICAgKiBBbHdheXMgc2hvdyBhIGRpYWxvZyBhbmQgYWN0IGJhc2VkIG9uIHRoZSByZXN1bHQuXG4gICAqL1xuICBESUFMT0cgPSAnZGlhbG9nJyxcblxuICAvKipcbiAgICogVHJ5IHRvIGF1dG8tdHJpZ2dlciBpZiBpbiBhIHRyaWdnZXJhYmxlIHN0YXRlLlxuICAgKlxuICAgKiBJZiBpdCBpcyBtb2RpZmllZCBidXQgaW4gYSBub24tdHJpZ2dlcmFibGUgc3RhdGUgc2hvdyBhIGRpYWxvZy5cbiAgICpcbiAgICogU2hvdWxkIGJlIHVzZWQgaW4gY29uanVjdGlvbiB3aXRoIHRoZSBhdXRvLXNhdmVyLlxuICAgKi9cbiAgQVVUT19UUklHR0VSID0gJ2F1dG8nXG59XG5cbnR5cGUgRGJOZ3hBY3Rpb25UcmFuc2l0aW9uU2FmZXR5UmFjZVJlc3VsdCA9IFtib29sZWFuIHwgdW5kZWZpbmVkLCBIb29rUmVzdWx0IHwgdW5kZWZpbmVkXTtcblxuLyoqXG4gKiBDb250ZXh0IHVzZWQgZm9yIHByZXZlbnRpbmcgYSB0cmFuc2l0aW9uIGZyb20gb2NjdXJpbmcgaWYgdGhlIGFjdGlvbiBpcyBub3QgY29tcGxldGUgb3IgaXMgaW4gYSBtb2RpZmllZCBzdGF0ZS5cbiAqXG4gKiBUaGlzIGNhbiBiZSBjb25maWd1cmVkIHRvIGF1dG8tdHJpZ2dlciBhbmQgd2FpdCwgb3Igc2hvdyBhIGRpYWxvZyBhbmQgd2FpdCBmb3IgdGhlIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgZG9pbmcgYW55dGhpbmcuXG4gKiBcbiAqIE5PVEU6IFRoaXMgZGlhbG9nIG9ubHkgd29ya3MgZm9yIHVpcm91dGVyLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uVHJhbnNpdGlvblNhZmV0eV0nLFxufSlcbmV4cG9ydCBjbGFzcyBEYk5neEFjdGlvblRyYW5zaXRpb25TYWZldHlEaXJlY3RpdmU8VCwgTz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdkYnhBY3Rpb25UcmFuc2l0aW9uU2FmZXR5JylcbiAgaW5wdXRTYWZldHlUeXBlPzogRGJOZ3hBY3Rpb25UcmFuc2l0aW9uU2FmZXR5VHlwZTtcblxuICBwcml2YXRlIF9kaWFsb2dSZWY/OiBNYXREaWFsb2dSZWY8RGJOZ3hBY3Rpb25VSVJvdXRlclRyYW5zaXRpb25TYWZldHlEaWFsb2dDb21wb25lbnQsIERiTmd4QWN0aW9uVHJhbnNpdGlvblNhZmV0eURpYWxvZ1Jlc3VsdD47XG4gIHByaXZhdGUgc3RvcFdhdGNoaW5nVHJhbnNpdGlvbj86ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCwgTz4sXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYW5zaXRpb25TZXJ2aWNlOiBUcmFuc2l0aW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2dcbiAgKSB7IH1cblxuICBnZXQgc2FmZXR5VHlwZSgpOiBEYk5neEFjdGlvblRyYW5zaXRpb25TYWZldHlUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dFNhZmV0eVR5cGUgfHwgRGJOZ3hBY3Rpb25UcmFuc2l0aW9uU2FmZXR5VHlwZS5ESUFMT0c7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZGVzdHJveWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zdG9wV2F0Y2hpbmdUcmFuc2l0aW9uO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wV2F0Y2hpbmdUcmFuc2l0aW9uID0gdGhpcy50cmFuc2l0aW9uU2VydmljZS5vblN0YXJ0KHt9LCAodHJhbnNpdGlvbjogVHJhbnNpdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2hhbmRsZU9uQmVmb3JlVHJhbnNpdGlvbih0cmFuc2l0aW9uKTtcbiAgICB9KSBhcyBhbnk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9wV2F0Y2hpbmdUcmFuc2l0aW9uKSB7XG4gICAgICB0aGlzLnN0b3BXYXRjaGluZ1RyYW5zaXRpb24oKTtcbiAgICAgIGRlbGV0ZSB0aGlzLnN0b3BXYXRjaGluZ1RyYW5zaXRpb247XG4gICAgfVxuXG4gICAgdGhpcy5fY2xvc2VEaWFsb2coKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlT25CZWZvcmVUcmFuc2l0aW9uKHRyYW5zaXRpb246IFRyYW5zaXRpb24pOiBIb29rUmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2UuaXNNb2RpZmllZCQucGlwZShcbiAgICAgIGZpcnN0KCksXG4gICAgICBtZXJnZU1hcCgoaXNNb2RpZmllZCkgPT4ge1xuICAgICAgICBpZiAoaXNNb2RpZmllZCkge1xuICAgICAgICAgIHJldHVybiByYWNlKFtcbiAgICAgICAgICAgIC8vIFdhdGNoIGZvciBzdWNjZXNzIHRvIG9jY3VyLiBBdCB0aGF0IHBvaW50LCBjbG9zZSBldmVyeXRoaW5nLlxuICAgICAgICAgICAgdGhpcy5zb3VyY2Uuc3VjY2VzcyQucGlwZShmaXJzdCgpLCBtYXAoKHgpID0+IFt0cnVlLCB1bmRlZmluZWRdIGFzIERiTmd4QWN0aW9uVHJhbnNpdGlvblNhZmV0eVJhY2VSZXN1bHQpKSxcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUlzTW9kaWZpZWRTdGF0ZSh0cmFuc2l0aW9uKS5waXBlKGZpcnN0KCksIG1hcCgoeCkgPT4gW3VuZGVmaW5lZCwgeF0gYXMgRGJOZ3hBY3Rpb25UcmFuc2l0aW9uU2FmZXR5UmFjZVJlc3VsdCkpXG4gICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3NhdmVTdWNjZXNzLCBoYW5kbGVSZXN1bHRdOiBEYk5neEFjdGlvblRyYW5zaXRpb25TYWZldHlSYWNlUmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChzYXZlU3VjY2Vzcykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBoYW5kbGVSZXN1bHQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuX2Nsb3NlRGlhbG9nKCkpLCAvLyBDbG9zZSBkaWFsb2cgaWYgaXQgaXMgc3RpbGwgb3Blbi5cbiAgICAgICAgICAgIGRlbGF5KDEwKSAvLyBEZWxheSB0byBhbGxvdyBkaWFsb2cgdG8gY2xvc2UgYmVmb3JlIHRyYW5zaXRpb24uXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKS50b1Byb21pc2UoKS50aGVuKHggPT4geCk7IC8vIFJlc29sdmUvRmxhdHRlbiBwb3RlbnRpYWwgcHJvbWlzZSByZXN1bHQuXG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZUlzTW9kaWZpZWRTdGF0ZSh0cmFuc2l0aW9uOiBUcmFuc2l0aW9uKTogT2JzZXJ2YWJsZTxIb29rUmVzdWx0PiB7XG4gICAgY29uc3Qgc2FmZXR5VHlwZSA9IHRoaXMuc2FmZXR5VHlwZTtcbiAgICBsZXQgb2JzOiBPYnNlcnZhYmxlPEhvb2tSZXN1bHQ+O1xuXG4gICAgLy8gY29uc29sZS5sb2coJ1NhZmV0eSB0eXBlOiAnLCBzYWZldHlUeXBlKTtcblxuICAgIHN3aXRjaCAoc2FmZXR5VHlwZSkge1xuICAgICAgY2FzZSBEYk5neEFjdGlvblRyYW5zaXRpb25TYWZldHlUeXBlLk5PTkU6XG4gICAgICAgIG9icyA9IG9mKHRydWUpOyAvLyBEbyBub3RoaW5nLlxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRGJOZ3hBY3Rpb25UcmFuc2l0aW9uU2FmZXR5VHlwZS5ESUFMT0c6XG4gICAgICAgIG9icyA9IHRoaXMuX3Nob3dEaWFsb2codHJhbnNpdGlvbik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBEYk5neEFjdGlvblRyYW5zaXRpb25TYWZldHlUeXBlLkFVVE9fVFJJR0dFUjpcbiAgICAgICAgb2JzID0gdGhpcy5fYXV0b1RyaWdnZXIodHJhbnNpdGlvbik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBvYnM7XG4gIH1cblxuICBwcml2YXRlIF9hdXRvVHJpZ2dlcih0cmFuc2l0aW9uOiBUcmFuc2l0aW9uKTogT2JzZXJ2YWJsZTxIb29rUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlLnBpcGVTdG9yZSgoc3RvcmUpID0+IHN0b3JlLnN0YXRlJC5waXBlKFxuICAgICAgZGVsYXkoMjApLCAgLy8gUHJldmVudCByYWNpbmcgd2l0aCBhdXRvLXRyaWdnZXIuXG4gICAgICBmaXJzdCgpLFxuICAgICAgbWVyZ2VNYXAoKHN0YXRlKSA9PiB7XG4gICAgICAgIGlmIChpc0lkbGVBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSkpIHtcbiAgICAgICAgICAvLyBJZiB3ZSdyZSBpbiBhbiBpZGxlIHN0YXRlLCBnZXQgcmVhZHkgdG8gdHJpZ2dlciBpdC5cbiAgICAgICAgICBpZiAoY2FuVHJpZ2dlckFjdGlvbihzdGF0ZSkpIHtcbiAgICAgICAgICAgIHN0b3JlLnRyaWdnZXIoKTsgIC8vIFRyeSBhbmQgdHJpZ2dlciBpdC5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXYXRjaCBmb3IgZXJyb3JzLiBJZiBhbiBlcnJvciBvY2N1cnMsIHNob3cgdGhlIGRpYWxvZy5cbiAgICAgICAgLy8gU3VjY2VzcyB3aWxsIGNhdXNlIHRoZSByYWNlIGluIF9oYW5kbGVPbkJlZm9yZVRyYW5zaXRpb24oKSB0byB0cmlnZ2VyIGFuZCBjbG9zZSBldmVyeXRoaW5nLlxuICAgICAgICByZXR1cm4gc3RvcmUucmVqZWN0ZWQkLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICBtZXJnZU1hcCgoKSA9PiB0aGlzLl9zaG93RGlhbG9nKHRyYW5zaXRpb24pKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3dEaWFsb2codHJhbnNpdGlvbjogVHJhbnNpdGlvbik6IE9ic2VydmFibGU8SG9va1Jlc3VsdD4ge1xuICAgIGlmICh0aGlzLl9kZXN0cm95ZWQpIHtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2RpYWxvZ1JlZikge1xuICAgICAgdGhpcy5fZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEYk5neEFjdGlvblVJUm91dGVyVHJhbnNpdGlvblNhZmV0eURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWZcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIG1hcCgocmVzdWx0OiBEYk5neEFjdGlvblRyYW5zaXRpb25TYWZldHlEaWFsb2dSZXN1bHQgPSBEYk5neEFjdGlvblRyYW5zaXRpb25TYWZldHlEaWFsb2dSZXN1bHQuU1RBWSkgPT4ge1xuICAgICAgICAvLyBEZWZhdWx0IHRvIFN0YXkgaWYgdGhlIHVzZXIgY2xpY2tzIG91dHNpZGUuXG4gICAgICAgIHN3aXRjaCAocmVzdWx0KSB7XG4gICAgICAgICAgY2FzZSBEYk5neEFjdGlvblRyYW5zaXRpb25TYWZldHlEaWFsb2dSZXN1bHQuRElTQ0FSRDpcbiAgICAgICAgICBjYXNlIERiTmd4QWN0aW9uVHJhbnNpdGlvblNhZmV0eURpYWxvZ1Jlc3VsdC5TVUNDRVNTOlxuICAgICAgICAgIGNhc2UgRGJOZ3hBY3Rpb25UcmFuc2l0aW9uU2FmZXR5RGlhbG9nUmVzdWx0Lk5PTkU6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICBjYXNlIERiTmd4QWN0aW9uVHJhbnNpdGlvblNhZmV0eURpYWxvZ1Jlc3VsdC5TVEFZOlxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZURpYWxvZygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZGlhbG9nUmVmKSB7XG4gICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoRGJOZ3hBY3Rpb25UcmFuc2l0aW9uU2FmZXR5RGlhbG9nUmVzdWx0Lk5PTkUpO1xuICAgIH1cblxuICAgIHRoaXMuX2RpYWxvZ1JlZiA9IHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,92 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ProvideDbNgxButton, AbstractDbNgxButtonDirective } from '@dereekb/dbx-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "mat-progress-buttons";
5
+ export var DbNgxButtonDisplayType;
6
+ (function (DbNgxButtonDisplayType) {
7
+ DbNgxButtonDisplayType[DbNgxButtonDisplayType["RAISED"] = 0] = "RAISED";
8
+ DbNgxButtonDisplayType[DbNgxButtonDisplayType["STROKED"] = 1] = "STROKED";
9
+ DbNgxButtonDisplayType[DbNgxButtonDisplayType["FLAT"] = 2] = "FLAT";
10
+ })(DbNgxButtonDisplayType || (DbNgxButtonDisplayType = {}));
11
+ /**
12
+ * Complex button that supports loading states.
13
+ */
14
+ export class DbNgxButtonComponent extends AbstractDbNgxButtonDirective {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.color = 'primary';
18
+ }
19
+ get raised() {
20
+ return this.type === DbNgxButtonDisplayType.RAISED;
21
+ }
22
+ set raised(raised) {
23
+ if (raised) {
24
+ this.type = DbNgxButtonDisplayType.RAISED;
25
+ }
26
+ }
27
+ get stroked() {
28
+ return this.type === DbNgxButtonDisplayType.STROKED;
29
+ }
30
+ set stroked(stroked) {
31
+ if (stroked) {
32
+ this.type = DbNgxButtonDisplayType.STROKED;
33
+ }
34
+ }
35
+ get flat() {
36
+ return this.type === DbNgxButtonDisplayType.FLAT;
37
+ }
38
+ set flat(flat) {
39
+ if (flat) {
40
+ this.type = DbNgxButtonDisplayType.FLAT;
41
+ }
42
+ }
43
+ get btnOptions() {
44
+ const buttonIcon = (this.icon) ? {
45
+ fontIcon: this.icon
46
+ } : undefined;
47
+ return {
48
+ fab: false,
49
+ active: this.working,
50
+ buttonIcon,
51
+ customClass: 'dbx-button ' + ((buttonIcon && !this.text) ? 'dbx-button-no-text' : ''),
52
+ // buttonIcon: icon,
53
+ text: this.text ?? '',
54
+ buttonColor: this.color,
55
+ barColor: 'accent',
56
+ raised: this.raised,
57
+ stroked: this.stroked,
58
+ flat: this.flat,
59
+ mode: 'indeterminate',
60
+ spinnerSize: 18,
61
+ spinnerColor: 'accent',
62
+ // Only disabled if we're not working, in order to show the animation.
63
+ disabled: !this.working && this.disabled
64
+ };
65
+ }
66
+ }
67
+ DbNgxButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
68
+ DbNgxButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxButtonComponent, selector: "dbx-button", inputs: { type: "type", raised: "raised", stroked: "stroked", flat: "flat", color: "color" }, providers: ProvideDbNgxButton(DbNgxButtonComponent), usesInheritance: true, ngImport: i0, template: `
69
+ <mat-spinner-button class="page-button" (btnClick)="clickButton()" [options]="btnOptions"></mat-spinner-button>
70
+ `, isInline: true, components: [{ type: i1.MatSpinnerButtonComponent, selector: "mat-spinner-button", inputs: ["options", "buttonId", "active", "disabled"], outputs: ["btnClick"] }] });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxButtonComponent, decorators: [{
72
+ type: Component,
73
+ args: [{
74
+ selector: 'dbx-button',
75
+ template: `
76
+ <mat-spinner-button class="page-button" (btnClick)="clickButton()" [options]="btnOptions"></mat-spinner-button>
77
+ `,
78
+ // TODO: styleUrls: ['./button.scss'],
79
+ providers: ProvideDbNgxButton(DbNgxButtonComponent)
80
+ }]
81
+ }], propDecorators: { type: [{
82
+ type: Input
83
+ }], raised: [{
84
+ type: Input
85
+ }], stroked: [{
86
+ type: Input
87
+ }], flat: [{
88
+ type: Input
89
+ }], color: [{
90
+ type: Input
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR3JGLE1BQU0sQ0FBTixJQUFZLHNCQUlYO0FBSkQsV0FBWSxzQkFBc0I7SUFDaEMsdUVBQU0sQ0FBQTtJQUNOLHlFQUFPLENBQUE7SUFDUCxtRUFBSSxDQUFBO0FBQ04sQ0FBQyxFQUpXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFJakM7QUFFRDs7R0FFRztBQVNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSw0QkFBNEI7SUFSdEU7O1FBK0NTLFVBQUssR0FBaUIsU0FBUyxDQUFDO0tBMkJ4QztJQTdEQyxJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssc0JBQXNCLENBQUMsTUFBTSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFlO1FBQ3hCLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBZ0I7UUFDMUIsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssc0JBQXNCLENBQUMsSUFBSSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFhO1FBQ3BCLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBS0QsSUFBVyxVQUFVO1FBQ25CLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDcEIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsT0FBTztZQUNMLEdBQUcsRUFBRSxLQUFLO1lBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3BCLFVBQVU7WUFDVixXQUFXLEVBQUUsYUFBYSxHQUFHLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckYsb0JBQW9CO1lBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDckIsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3ZCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLGVBQWU7WUFDckIsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsUUFBUTtZQUN0QixzRUFBc0U7WUFDdEUsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUTtTQUN6QyxDQUFDO0lBQ0osQ0FBQzs7aUhBaEVVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLG1JQUZwQixrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxpREFKekM7O0dBRVQ7MkZBSVUsb0JBQW9CO2tCQVJoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUU7O0dBRVQ7b0JBQ0Qsc0NBQXNDO29CQUN0QyxTQUFTLEVBQUUsa0JBQWtCLHNCQUFzQjtpQkFDcEQ7OEJBSUMsSUFBSTtzQkFESCxLQUFLO2dCQUlGLE1BQU07c0JBRFQsS0FBSztnQkFZRixPQUFPO3NCQURWLEtBQUs7Z0JBWUYsSUFBSTtzQkFEUCxLQUFLO2dCQVlDLEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgUHJvdmlkZURiTmd4QnV0dG9uLCBBYnN0cmFjdERiTmd4QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCdXR0b25PcHRpb25zIH0gZnJvbSAnbWF0LXByb2dyZXNzLWJ1dHRvbnMnO1xuXG5leHBvcnQgZW51bSBEYk5neEJ1dHRvbkRpc3BsYXlUeXBlIHtcbiAgUkFJU0VELFxuICBTVFJPS0VELFxuICBGTEFUXG59XG5cbi8qKlxuICogQ29tcGxleCBidXR0b24gdGhhdCBzdXBwb3J0cyBsb2FkaW5nIHN0YXRlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1zcGlubmVyLWJ1dHRvbiBjbGFzcz1cInBhZ2UtYnV0dG9uXCIgKGJ0bkNsaWNrKT1cImNsaWNrQnV0dG9uKClcIiBbb3B0aW9uc109XCJidG5PcHRpb25zXCI+PC9tYXQtc3Bpbm5lci1idXR0b24+XG4gIGAsXG4gIC8vIFRPRE86IHN0eWxlVXJsczogWycuL2J1dHRvbi5zY3NzJ10sXG4gIHByb3ZpZGVyczogUHJvdmlkZURiTmd4QnV0dG9uKERiTmd4QnV0dG9uQ29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBEYk5neEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGJOZ3hCdXR0b25EaXJlY3RpdmUge1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU/OiBEYk5neEJ1dHRvbkRpc3BsYXlUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCByYWlzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRGJOZ3hCdXR0b25EaXNwbGF5VHlwZS5SQUlTRUQ7XG4gIH1cblxuICBzZXQgcmFpc2VkKHJhaXNlZDogYm9vbGVhbikge1xuICAgIGlmIChyYWlzZWQpIHtcbiAgICAgIHRoaXMudHlwZSA9IERiTmd4QnV0dG9uRGlzcGxheVR5cGUuUkFJU0VEO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBzdHJva2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERiTmd4QnV0dG9uRGlzcGxheVR5cGUuU1RST0tFRDtcbiAgfVxuXG4gIHNldCBzdHJva2VkKHN0cm9rZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoc3Ryb2tlZCkge1xuICAgICAgdGhpcy50eXBlID0gRGJOZ3hCdXR0b25EaXNwbGF5VHlwZS5TVFJPS0VEO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBmbGF0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERiTmd4QnV0dG9uRGlzcGxheVR5cGUuRkxBVDtcbiAgfVxuXG4gIHNldCBmbGF0KGZsYXQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoZmxhdCkge1xuICAgICAgdGhpcy50eXBlID0gRGJOZ3hCdXR0b25EaXNwbGF5VHlwZS5GTEFUO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuXG4gIHB1YmxpYyBnZXQgYnRuT3B0aW9ucygpOiBNYXRQcm9ncmVzc0J1dHRvbk9wdGlvbnMge1xuICAgIGNvbnN0IGJ1dHRvbkljb24gPSAodGhpcy5pY29uKSA/IHtcbiAgICAgIGZvbnRJY29uOiB0aGlzLmljb25cbiAgICB9IDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZhYjogZmFsc2UsXG4gICAgICBhY3RpdmU6IHRoaXMud29ya2luZyxcbiAgICAgIGJ1dHRvbkljb24sXG4gICAgICBjdXN0b21DbGFzczogJ2RieC1idXR0b24gJyArICgoYnV0dG9uSWNvbiAmJiAhdGhpcy50ZXh0KSA/ICdkYngtYnV0dG9uLW5vLXRleHQnIDogJycpLFxuICAgICAgLy8gYnV0dG9uSWNvbjogaWNvbixcbiAgICAgIHRleHQ6IHRoaXMudGV4dCA/PyAnJyxcbiAgICAgIGJ1dHRvbkNvbG9yOiB0aGlzLmNvbG9yLFxuICAgICAgYmFyQ29sb3I6ICdhY2NlbnQnLFxuICAgICAgcmFpc2VkOiB0aGlzLnJhaXNlZCxcbiAgICAgIHN0cm9rZWQ6IHRoaXMuc3Ryb2tlZCxcbiAgICAgIGZsYXQ6IHRoaXMuZmxhdCxcbiAgICAgIG1vZGU6ICdpbmRldGVybWluYXRlJyxcbiAgICAgIHNwaW5uZXJTaXplOiAxOCxcbiAgICAgIHNwaW5uZXJDb2xvcjogJ2FjY2VudCcsIC8vIFRPRE86IFNldCBzcGlubmVyIGNvbG9yIHRvIG9wcG9zaXRlIG9mIGJ1dHRvbiBjb2xvci5cbiAgICAgIC8vIE9ubHkgZGlzYWJsZWQgaWYgd2UncmUgbm90IHdvcmtpbmcsIGluIG9yZGVyIHRvIHNob3cgdGhlIGFuaW1hdGlvbi5cbiAgICAgIGRpc2FibGVkOiAhdGhpcy53b3JraW5nICYmIHRoaXMuZGlzYWJsZWRcbiAgICB9O1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { MatIconModule } from '@angular/material/icon';
2
+ import { NgModule } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatProgressButtonsModule } from 'mat-progress-buttons';
5
+ import { DbNgxButtonComponent } from './button.component';
6
+ import { DbNgxButtonSpacerComponent } from './button.spacer.component';
7
+ import { BrowserModule } from '@angular/platform-browser';
8
+ import * as i0 from "@angular/core";
9
+ export class DbNgxButtonModule {
10
+ }
11
+ DbNgxButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ DbNgxButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxButtonModule, declarations: [DbNgxButtonComponent,
13
+ DbNgxButtonSpacerComponent], imports: [BrowserModule,
14
+ MatIconModule,
15
+ MatButtonModule,
16
+ MatProgressButtonsModule], exports: [DbNgxButtonComponent,
17
+ DbNgxButtonSpacerComponent] });
18
+ DbNgxButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxButtonModule, imports: [[
19
+ BrowserModule,
20
+ MatIconModule,
21
+ MatButtonModule,
22
+ MatProgressButtonsModule
23
+ ]] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxButtonModule, decorators: [{
25
+ type: NgModule,
26
+ args: [{
27
+ imports: [
28
+ BrowserModule,
29
+ MatIconModule,
30
+ MatButtonModule,
31
+ MatProgressButtonsModule
32
+ ],
33
+ declarations: [
34
+ DbNgxButtonComponent,
35
+ DbNgxButtonSpacerComponent
36
+ ],
37
+ exports: [
38
+ DbNgxButtonComponent,
39
+ DbNgxButtonSpacerComponent
40
+ ],
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9idXR0b24vYnV0dG9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWtCMUQsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVIxQixvQkFBb0I7UUFDcEIsMEJBQTBCLGFBUDFCLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZTtRQUNmLHdCQUF3QixhQU94QixvQkFBb0I7UUFDcEIsMEJBQTBCOytHQUdqQixpQkFBaUIsWUFmbkI7WUFDUCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZix3QkFBd0I7U0FDekI7MkZBVVUsaUJBQWlCO2tCQWhCN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysd0JBQXdCO3FCQUN6QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3dCQUNwQiwwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQnV0dG9uc01vZHVsZSB9IGZyb20gJ21hdC1wcm9ncmVzcy1idXR0b25zJztcbmltcG9ydCB7IERiTmd4QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERiTmd4QnV0dG9uU3BhY2VyQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24uc3BhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBCcm93c2VyTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQnV0dG9uc01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEYk5neEJ1dHRvbkNvbXBvbmVudCxcbiAgICBEYk5neEJ1dHRvblNwYWNlckNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRGJOZ3hCdXR0b25Db21wb25lbnQsXG4gICAgRGJOZ3hCdXR0b25TcGFjZXJDb21wb25lbnRcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGJOZ3hCdXR0b25Nb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Button spacer component.
5
+ */
6
+ export class DbNgxButtonSpacerComponent {
7
+ }
8
+ DbNgxButtonSpacerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxButtonSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ DbNgxButtonSpacerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxButtonSpacerComponent, selector: "dbx-button-spacer", ngImport: i0, template: `<span class="button-spacer"></span>`, isInline: true });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxButtonSpacerComponent, decorators: [{
11
+ type: Component,
12
+ args: [{
13
+ selector: 'dbx-button-spacer',
14
+ template: `<span class="button-spacer"></span>`,
15
+ // TODO: styleUrls: ['./button.scss']
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLnNwYWNlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5zcGFjZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOztHQUVHO0FBTUgsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHlEQUgzQixxQ0FBcUM7MkZBR3BDLDBCQUEwQjtrQkFMdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUscUNBQXFDO29CQUMvQyxxQ0FBcUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQnV0dG9uIHNwYWNlciBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1idXR0b24tc3BhY2VyJyxcbiAgdGVtcGxhdGU6IGA8c3BhbiBjbGFzcz1cImJ1dHRvbi1zcGFjZXJcIj48L3NwYW4+YCxcbiAgLy8gVE9ETzogc3R5bGVVcmxzOiBbJy4vYnV0dG9uLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYk5neEJ1dHRvblNwYWNlckNvbXBvbmVudCB7IH1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './button.component';
2
+ export * from './button.spacer.component';
3
+ export * from './button.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvYnV0dG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYnV0dG9uLnNwYWNlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24ubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { DbNgxLoadingModule } from './loading/loading.module';
2
+ import { BrowserModule } from '@angular/platform-browser';
3
+ import { MatProgressButtonsModule } from 'mat-progress-buttons';
4
+ import { NgModule } from '@angular/core';
5
+ import { DbNgxButtonModule } from './button';
6
+ import { DbNgxActionModule } from './action';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "mat-progress-buttons";
9
+ export class DbNgxWebModule {
10
+ }
11
+ DbNgxWebModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxWebModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ DbNgxWebModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxWebModule, exports: [DbNgxButtonModule,
13
+ DbNgxActionModule,
14
+ DbNgxLoadingModule] });
15
+ DbNgxWebModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxWebModule, imports: [DbNgxButtonModule,
16
+ DbNgxActionModule,
17
+ DbNgxLoadingModule] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxWebModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ exports: [
22
+ DbNgxButtonModule,
23
+ DbNgxActionModule,
24
+ DbNgxLoadingModule
25
+ ],
26
+ }]
27
+ }] });
28
+ export class DbNgxSharedWebModule {
29
+ }
30
+ DbNgxSharedWebModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxSharedWebModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
+ DbNgxSharedWebModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxSharedWebModule, imports: [BrowserModule, DbNgxWebModule, i1.MatProgressButtonsModule], exports: [DbNgxWebModule] });
32
+ DbNgxSharedWebModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxSharedWebModule, imports: [[
33
+ BrowserModule,
34
+ DbNgxWebModule,
35
+ MatProgressButtonsModule.forRoot()
36
+ ], DbNgxWebModule] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxSharedWebModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ imports: [
41
+ BrowserModule,
42
+ DbNgxWebModule,
43
+ MatProgressButtonsModule.forRoot()
44
+ ],
45
+ exports: [
46
+ DbNgxWebModule
47
+ ]
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJ4LXdlYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZGJ4LXdlYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBUzdDLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsWUFMdkIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixrQkFBa0I7NEdBR1QsY0FBYyxZQUx2QixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGtCQUFrQjsyRkFHVCxjQUFjO2tCQVAxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNuQjtpQkFDRjs7QUFhRCxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsWUFSN0IsYUFBYSxFQUpKLGNBQWMsMENBQWQsY0FBYztrSEFZZCxvQkFBb0IsWUFUdEI7WUFDUCxhQUFhO1lBQ2IsY0FBYztZQUNkLHdCQUF3QixDQUFDLE9BQU8sRUFBRTtTQUNuQyxFQVBVLGNBQWM7MkZBWWQsb0JBQW9CO2tCQVZoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGNBQWM7d0JBQ2Qsd0JBQXdCLENBQUMsT0FBTyxFQUFFO3FCQUNuQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERiTmd4TG9hZGluZ01vZHVsZSB9IGZyb20gJy4vbG9hZGluZy9sb2FkaW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0J1dHRvbnNNb2R1bGUgfSBmcm9tICdtYXQtcHJvZ3Jlc3MtYnV0dG9ucyc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJOZ3hCdXR0b25Nb2R1bGUgfSBmcm9tICcuL2J1dHRvbic7XG5pbXBvcnQgeyBEYk5neEFjdGlvbk1vZHVsZSB9IGZyb20gJy4vYWN0aW9uJztcblxuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1xuICAgIERiTmd4QnV0dG9uTW9kdWxlLFxuICAgIERiTmd4QWN0aW9uTW9kdWxlLFxuICAgIERiTmd4TG9hZGluZ01vZHVsZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYk5neFdlYk1vZHVsZSB7IH1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEJyb3dzZXJNb2R1bGUsXG4gICAgRGJOZ3hXZWJNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCdXR0b25zTW9kdWxlLmZvclJvb3QoKVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRGJOZ3hXZWJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYk5neFNoYXJlZFdlYk1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Directive, Host } from '@angular/core';
2
+ import { ActionContextStoreSourceInstance, AbstractSubscriptionDirective } from '@dereekb/dbx-core';
3
+ import { DbNgxReadableErrorComponent } from './error.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./error.component";
6
+ import * as i2 from "@dereekb/dbx-core";
7
+ /**
8
+ * Context used for linking an ReadableErrorComponent to an ActionContext.
9
+ */
10
+ export class DbNgxActionErrorDirective extends AbstractSubscriptionDirective {
11
+ constructor(error, source) {
12
+ super();
13
+ this.error = error;
14
+ this.source = source;
15
+ }
16
+ ngOnInit() {
17
+ this.sub = this.source.error$.subscribe((error) => {
18
+ this.error.error = error;
19
+ });
20
+ }
21
+ }
22
+ DbNgxActionErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionErrorDirective, deps: [{ token: i1.DbNgxReadableErrorComponent, host: true }, { token: i2.ActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Directive });
23
+ DbNgxActionErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxActionErrorDirective, selector: "[dbxActionError]", usesInheritance: true, ngImport: i0 });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionErrorDirective, decorators: [{
25
+ type: Directive,
26
+ args: [{
27
+ selector: '[dbxActionError]'
28
+ }]
29
+ }], ctorParameters: function () { return [{ type: i1.DbNgxReadableErrorComponent, decorators: [{
30
+ type: Host
31
+ }] }, { type: i2.ActionContextStoreSourceInstance }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuYWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9lcnJvci9lcnJvci5hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUVoRTs7R0FFRztBQUlILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSw2QkFBNkI7SUFFMUUsWUFBb0MsS0FBa0MsRUFBa0IsTUFBd0M7UUFDOUgsS0FBSyxFQUFFLENBQUM7UUFEMEIsVUFBSyxHQUFMLEtBQUssQ0FBNkI7UUFBa0IsV0FBTSxHQUFOLE1BQU0sQ0FBa0M7SUFFaEksQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3NIQVZVLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7OzBCQUdjLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSwgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEYk5neFJlYWRhYmxlRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ29udGV4dCB1c2VkIGZvciBsaW5raW5nIGFuIFJlYWRhYmxlRXJyb3JDb21wb25lbnQgdG8gYW4gQWN0aW9uQ29udGV4dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvbkVycm9yXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJOZ3hBY3Rpb25FcnJvckRpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHB1YmxpYyByZWFkb25seSBlcnJvcjogRGJOZ3hSZWFkYWJsZUVycm9yQ29tcG9uZW50LCBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YiA9IHRoaXMuc291cmNlLmVycm9yJC5zdWJzY3JpYmUoKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLmVycm9yLmVycm9yID0gZXJyb3I7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,47 @@
1
+ import { HttpErrorResponse } from '@angular/common/http';
2
+ import { ServerErrorResponse, UnauthorizedServerErrorResponse } from '@dereekb/util';
3
+ /**
4
+ * Converts the error response to a POJO.
5
+ */
6
+ export function convertToPOJOServerErrorResponse(httpError) {
7
+ const result = convertToServerErrorResponse(httpError);
8
+ const pojo = Object.assign({}, result);
9
+ if (pojo.data) {
10
+ try {
11
+ const stringy = JSON.stringify(pojo.data);
12
+ pojo.data = JSON.parse(stringy);
13
+ }
14
+ catch (e) {
15
+ console.warn('convertToPOJOServerErrorResponse(): Non-serializable Error Data Detected. It is being removed.: ', pojo.data);
16
+ pojo.data = undefined;
17
+ }
18
+ }
19
+ return pojo;
20
+ }
21
+ /**
22
+ * Converts an HTTP Error Response to a ServerErrorResponse type.
23
+ *
24
+ * @param error
25
+ * @returns
26
+ */
27
+ export function convertToServerErrorResponse(error) {
28
+ let result;
29
+ if (error instanceof HttpErrorResponse) {
30
+ const { status, error: data } = error;
31
+ const code = data.code;
32
+ const message = data.message ?? error.statusText;
33
+ switch (status) {
34
+ case 401:
35
+ result = new UnauthorizedServerErrorResponse({ message, data, code });
36
+ break;
37
+ default:
38
+ result = new ServerErrorResponse({ code, status, data, message });
39
+ break;
40
+ }
41
+ }
42
+ else if (error) {
43
+ result = new ServerErrorResponse({ message: error.message, status: 0 });
44
+ }
45
+ return result;
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2Vycm9yL2Vycm9yLmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQWUsbUJBQW1CLEVBQTJCLCtCQUErQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNIOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLFNBQWtDO0lBQ2pGLE1BQU0sTUFBTSxHQUFvQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RixNQUFNLElBQUksR0FBd0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFNUQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ2IsSUFBSTtZQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pDLElBQVksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxQztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxrR0FBa0csRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0gsSUFBWSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7U0FDaEM7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEtBQThCO0lBQ3pFLElBQUksTUFBdUMsQ0FBQztJQUU1QyxJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRTtRQUN0QyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBdUQsS0FBSyxDQUFDO1FBRTFGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDO1FBRWpELFFBQVEsTUFBTSxFQUFFO1lBQ2QsS0FBSyxHQUFHO2dCQUNOLE1BQU0sR0FBRyxJQUFJLCtCQUErQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RSxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxHQUFHLElBQUksbUJBQW1CLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRSxNQUFNO1NBQ1Q7S0FDRjtTQUFNLElBQUksS0FBSyxFQUFFO1FBQ2hCLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDekU7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTZXJ2ZXJFcnJvciwgU2VydmVyRXJyb3JSZXNwb25zZSwgU2VydmVyRXJyb3JSZXNwb25zZURhdGEsIFVuYXV0aG9yaXplZFNlcnZlckVycm9yUmVzcG9uc2UgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBDb252ZXJ0cyB0aGUgZXJyb3IgcmVzcG9uc2UgdG8gYSBQT0pPLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvUE9KT1NlcnZlckVycm9yUmVzcG9uc2UoaHR0cEVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSk6IFNlcnZlckVycm9yIHtcbiAgY29uc3QgcmVzdWx0OiBTZXJ2ZXJFcnJvclJlc3BvbnNlIHwgdW5kZWZpbmVkID0gY29udmVydFRvU2VydmVyRXJyb3JSZXNwb25zZShodHRwRXJyb3IpO1xuICBjb25zdCBwb2pvOiBTZXJ2ZXJFcnJvclJlc3BvbnNlID0gT2JqZWN0LmFzc2lnbih7fSwgcmVzdWx0KTtcblxuICBpZiAocG9qby5kYXRhKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0cmluZ3kgPSBKU09OLnN0cmluZ2lmeShwb2pvLmRhdGEpO1xuICAgICAgKHBvam8gYXMgYW55KS5kYXRhID0gSlNPTi5wYXJzZShzdHJpbmd5KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2NvbnZlcnRUb1BPSk9TZXJ2ZXJFcnJvclJlc3BvbnNlKCk6IE5vbi1zZXJpYWxpemFibGUgRXJyb3IgRGF0YSBEZXRlY3RlZC4gSXQgaXMgYmVpbmcgcmVtb3ZlZC46ICcsIHBvam8uZGF0YSk7XG4gICAgICAocG9qbyBhcyBhbnkpLmRhdGEgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBvam87XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gSFRUUCBFcnJvciBSZXNwb25zZSB0byBhIFNlcnZlckVycm9yUmVzcG9uc2UgdHlwZS5cbiAqIFxuICogQHBhcmFtIGVycm9yIFxuICogQHJldHVybnMgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9TZXJ2ZXJFcnJvclJlc3BvbnNlKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSk6IFNlcnZlckVycm9yUmVzcG9uc2UgfCB1bmRlZmluZWQge1xuICBsZXQgcmVzdWx0OiBTZXJ2ZXJFcnJvclJlc3BvbnNlIHwgdW5kZWZpbmVkO1xuXG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgY29uc3QgeyBzdGF0dXMsIGVycm9yOiBkYXRhIH06IHsgc3RhdHVzOiBudW1iZXIsIGVycm9yOiBTZXJ2ZXJFcnJvclJlc3BvbnNlRGF0YSB9ID0gZXJyb3I7XG5cbiAgICBjb25zdCBjb2RlID0gZGF0YS5jb2RlO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2UgPz8gZXJyb3Iuc3RhdHVzVGV4dDtcblxuICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICBjYXNlIDQwMTpcbiAgICAgICAgcmVzdWx0ID0gbmV3IFVuYXV0aG9yaXplZFNlcnZlckVycm9yUmVzcG9uc2UoeyBtZXNzYWdlLCBkYXRhLCBjb2RlIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJlc3VsdCA9IG5ldyBTZXJ2ZXJFcnJvclJlc3BvbnNlKHsgY29kZSwgc3RhdHVzLCBkYXRhLCBtZXNzYWdlIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH0gZWxzZSBpZiAoZXJyb3IpIHtcbiAgICByZXN1bHQgPSBuZXcgU2VydmVyRXJyb3JSZXNwb25zZSh7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsIHN0YXR1czogMCB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { convertToReadableError } from '@dereekb/util';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ /**
6
+ * Basic error component.
7
+ */
8
+ export class DbNgxReadableErrorComponent {
9
+ get error() {
10
+ return this._error;
11
+ }
12
+ set error(error) {
13
+ this._error = convertToReadableError(error);
14
+ }
15
+ get message() {
16
+ return this._error?.message;
17
+ }
18
+ }
19
+ DbNgxReadableErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxReadableErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ DbNgxReadableErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxReadableErrorComponent, selector: "dbx-error", inputs: { error: "error" }, ngImport: i0, template: "<div *ngIf=\"error\" class=\"dbx-error\">\n <h4>An error occured.</h4>\n <!-- <p class=\"dbx-error-code\" *ngIf=\"errorData.code\">{{ errorData.code }}</p> -->\n <p class=\"dbx-error-message\" *ngIf=\"message\">{{ message }}</p>\n</div>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxReadableErrorComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'dbx-error', template: "<div *ngIf=\"error\" class=\"dbx-error\">\n <h4>An error occured.</h4>\n <!-- <p class=\"dbx-error-code\" *ngIf=\"errorData.code\">{{ errorData.code }}</p> -->\n <p class=\"dbx-error-message\" *ngIf=\"message\">{{ message }}</p>\n</div>\n" }]
24
+ }], propDecorators: { error: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9lcnJvci9lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQWMsc0JBQXNCLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFFbEY7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMkJBQTJCO0lBSXRDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDSSxLQUFLLENBQUMsS0FBd0M7UUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxLQUFZLENBQWtCLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7SUFDOUIsQ0FBQzs7d0hBZlUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsNkVDWnhDLG1QQUtBOzJGRE9hLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSxXQUFXOzhCQWFqQixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRXJyb3JJbnB1dCwgY29udmVydFRvUmVhZGFibGVFcnJvciwgUmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIEJhc2ljIGVycm9yIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWVycm9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5odG1sJyxcbiAgLy8gVE9ETzogc3R5bGVVcmxzOiBbJy4vZXJyb3Iuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERiTmd4UmVhZGFibGVFcnJvckNvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSBfZXJyb3I/OiBSZWFkYWJsZUVycm9yO1xuXG4gIGdldCBlcnJvcigpOiBNYXliZTxSZWFkYWJsZUVycm9yPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGVycm9yKGVycm9yOiBNYXliZTxFcnJvcklucHV0IHwgUmVhZGFibGVFcnJvcj4pIHtcbiAgICB0aGlzLl9lcnJvciA9IGNvbnZlcnRUb1JlYWRhYmxlRXJyb3IoZXJyb3IgYXMgYW55KSBhcyBSZWFkYWJsZUVycm9yO1xuICB9XG5cbiAgZ2V0IG1lc3NhZ2UoKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yPy5tZXNzYWdlO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZGJ4LWVycm9yXCI+XG4gIDxoND5BbiBlcnJvciBvY2N1cmVkLjwvaDQ+XG4gIDwhLS0gPHAgY2xhc3M9XCJkYngtZXJyb3ItY29kZVwiICpuZ0lmPVwiZXJyb3JEYXRhLmNvZGVcIj57eyBlcnJvckRhdGEuY29kZSB9fTwvcD4gLS0+XG4gIDxwIGNsYXNzPVwiZGJ4LWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm1lc3NhZ2VcIj57eyBtZXNzYWdlIH19PC9wPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Directive, Host, Input } from '@angular/core';
2
+ import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
3
+ import { DbNgxReadableErrorComponent } from './error.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./error.component";
6
+ /**
7
+ * Context used for linking an ReadableErrorComponent to a LoadingContext.
8
+ *
9
+ * The error from the context is given to the app error when available.
10
+ */
11
+ export class DbNgxLoadingErrorDirective extends AbstractSubscriptionDirective {
12
+ constructor(error) {
13
+ super();
14
+ this.error = error;
15
+ }
16
+ /**
17
+ * Sets a LoadingContext that is watched for the loading state.
18
+ */
19
+ set context(context) {
20
+ let subscription;
21
+ if (context) {
22
+ subscription = context.stream$.subscribe((x) => {
23
+ this.error.error = x.error;
24
+ });
25
+ }
26
+ this.sub = subscription;
27
+ }
28
+ }
29
+ DbNgxLoadingErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxLoadingErrorDirective, deps: [{ token: i1.DbNgxReadableErrorComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
30
+ DbNgxLoadingErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxLoadingErrorDirective, selector: "[dbxLoadingError]", inputs: { context: ["dbxLoadingError", "context"] }, usesInheritance: true, ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxLoadingErrorDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: '[dbxLoadingError]'
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: i1.DbNgxReadableErrorComponent, decorators: [{
37
+ type: Host
38
+ }] }]; }, propDecorators: { context: [{
39
+ type: Input,
40
+ args: ['dbxLoadingError']
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IubG9hZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXJyb3IvZXJyb3IubG9hZGluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFFaEU7Ozs7R0FJRztBQUlILE1BQU0sT0FBTywwQkFBMkIsU0FBUSw2QkFBNkI7SUFFM0UsWUFBb0MsS0FBa0M7UUFDcEUsS0FBSyxFQUFFLENBQUM7UUFEMEIsVUFBSyxHQUFMLEtBQUssQ0FBNkI7SUFFdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxPQUFPLENBQUMsT0FBdUI7UUFDakMsSUFBSSxZQUFZLENBQUM7UUFFakIsSUFBSSxPQUFPLEVBQUU7WUFDWCxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7SUFDMUIsQ0FBQzs7dUhBcEJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7OzBCQUdjLElBQUk7NENBUWIsT0FBTztzQkFEVixLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRpbmdDb250ZXh0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IERiTmd4UmVhZGFibGVFcnJvckNvbXBvbmVudCB9IGZyb20gJy4vZXJyb3IuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb250ZXh0IHVzZWQgZm9yIGxpbmtpbmcgYW4gUmVhZGFibGVFcnJvckNvbXBvbmVudCB0byBhIExvYWRpbmdDb250ZXh0LlxuICpcbiAqIFRoZSBlcnJvciBmcm9tIHRoZSBjb250ZXh0IGlzIGdpdmVuIHRvIHRoZSBhcHAgZXJyb3Igd2hlbiBhdmFpbGFibGUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhMb2FkaW5nRXJyb3JdJ1xufSlcbmV4cG9ydCBjbGFzcyBEYk5neExvYWRpbmdFcnJvckRpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHB1YmxpYyByZWFkb25seSBlcnJvcjogRGJOZ3hSZWFkYWJsZUVycm9yQ29tcG9uZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGEgTG9hZGluZ0NvbnRleHQgdGhhdCBpcyB3YXRjaGVkIGZvciB0aGUgbG9hZGluZyBzdGF0ZS5cbiAgICovXG4gIEBJbnB1dCgnZGJ4TG9hZGluZ0Vycm9yJylcbiAgc2V0IGNvbnRleHQoY29udGV4dDogTG9hZGluZ0NvbnRleHQpIHtcbiAgICBsZXQgc3Vic2NyaXB0aW9uO1xuXG4gICAgaWYgKGNvbnRleHQpIHtcbiAgICAgIHN1YnNjcmlwdGlvbiA9IGNvbnRleHQuc3RyZWFtJC5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvci5lcnJvciA9IHguZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnN1YiA9IHN1YnNjcmlwdGlvbjtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DbNgxReadableErrorComponent } from './error.component';
4
+ import { DbNgxLoadingErrorDirective } from './error.loading.directive';
5
+ import { DbNgxActionErrorDirective } from './error.action.directive';
6
+ import * as i0 from "@angular/core";
7
+ export class DbNgxReadableErrorModule {
8
+ }
9
+ DbNgxReadableErrorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxReadableErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ DbNgxReadableErrorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxReadableErrorModule, declarations: [DbNgxReadableErrorComponent,
11
+ DbNgxLoadingErrorDirective,
12
+ DbNgxActionErrorDirective], imports: [CommonModule], exports: [DbNgxReadableErrorComponent,
13
+ DbNgxLoadingErrorDirective,
14
+ DbNgxActionErrorDirective] });
15
+ DbNgxReadableErrorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxReadableErrorModule, imports: [[
16
+ CommonModule
17
+ ]] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxReadableErrorModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ imports: [
22
+ CommonModule
23
+ ],
24
+ declarations: [
25
+ DbNgxReadableErrorComponent,
26
+ DbNgxLoadingErrorDirective,
27
+ DbNgxActionErrorDirective
28
+ ],
29
+ exports: [
30
+ DbNgxReadableErrorComponent,
31
+ DbNgxLoadingErrorDirective,
32
+ DbNgxActionErrorDirective
33
+ ]
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2Vycm9yL2Vycm9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFpQnJFLE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFWakMsMkJBQTJCO1FBQzNCLDBCQUEwQjtRQUMxQix5QkFBeUIsYUFMekIsWUFBWSxhQVFaLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIseUJBQXlCO3NIQUdoQix3QkFBd0IsWUFkMUI7WUFDUCxZQUFZO1NBQ2I7MkZBWVUsd0JBQXdCO2tCQWZwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRTt3QkFDWiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMkJBQTJCO3dCQUMzQiwwQkFBMEI7d0JBQzFCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERiTmd4UmVhZGFibGVFcnJvckNvbXBvbmVudCB9IGZyb20gJy4vZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IERiTmd4TG9hZGluZ0Vycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9lcnJvci5sb2FkaW5nLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYk5neEFjdGlvbkVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9lcnJvci5hY3Rpb24uZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEYk5neFJlYWRhYmxlRXJyb3JDb21wb25lbnQsXG4gICAgRGJOZ3hMb2FkaW5nRXJyb3JEaXJlY3RpdmUsXG4gICAgRGJOZ3hBY3Rpb25FcnJvckRpcmVjdGl2ZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRGJOZ3hSZWFkYWJsZUVycm9yQ29tcG9uZW50LFxuICAgIERiTmd4TG9hZGluZ0Vycm9yRGlyZWN0aXZlLFxuICAgIERiTmd4QWN0aW9uRXJyb3JEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYk5neFJlYWRhYmxlRXJyb3JNb2R1bGUgeyB9XG4iXX0=