@dereekb/dbx-form 0.0.1 → 1.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 (239) hide show
  1. package/{src/_index.scss → _index.scss} +8 -0
  2. package/esm2020/lib/form/action/form.action.directive.mjs +42 -40
  3. package/esm2020/lib/form/action/form.action.module.mjs +6 -6
  4. package/esm2020/lib/form/action/index.mjs +2 -1
  5. package/esm2020/lib/form/action/transition/form.action.transition.module.mjs +26 -0
  6. package/esm2020/lib/form/action/transition/form.action.transition.safety.directive.mjs +40 -0
  7. package/esm2020/lib/form/action/transition/index.mjs +3 -0
  8. package/esm2020/lib/form/form.mjs +11 -4
  9. package/esm2020/lib/form/form.module.mjs +13 -24
  10. package/esm2020/lib/form/index.mjs +2 -4
  11. package/esm2020/lib/form/io/form.changes.directive.mjs +34 -0
  12. package/esm2020/lib/form/io/form.input.directive.mjs +49 -0
  13. package/esm2020/lib/form/io/form.io.module.mjs +36 -0
  14. package/esm2020/lib/form/io/form.loading.directive.mjs +52 -0
  15. package/esm2020/lib/form/io/index.mjs +5 -0
  16. package/esm2020/lib/form.module.mjs +25 -0
  17. package/esm2020/lib/formly/config/index.mjs +2 -0
  18. package/esm2020/lib/formly/config/validation.mjs +22 -0
  19. package/esm2020/lib/formly/field/checklist/checklist.field.mjs +105 -0
  20. package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +28 -30
  21. package/esm2020/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +1 -1
  22. package/esm2020/lib/formly/field/checklist/checklist.item.field.mjs +8 -112
  23. package/esm2020/lib/formly/field/checklist/index.mjs +2 -1
  24. package/esm2020/lib/formly/field/component/component.field.component.mjs +7 -7
  25. package/esm2020/lib/formly/field/component/component.field.mjs +4 -2
  26. package/esm2020/lib/formly/field/field.mjs +35 -2
  27. package/esm2020/lib/formly/field/form.field.module.mjs +44 -0
  28. package/esm2020/lib/formly/field/index.mjs +3 -1
  29. package/esm2020/lib/formly/field/selection/index.mjs +2 -1
  30. package/esm2020/lib/formly/field/selection/pickable/index.mjs +2 -1
  31. package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +14 -12
  32. package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +40 -31
  33. package/esm2020/lib/formly/field/selection/pickable/pickable.field.mjs +39 -0
  34. package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +22 -13
  35. package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +75 -16
  36. package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +32 -15
  37. package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +64 -50
  38. package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +69 -53
  39. package/esm2020/lib/formly/field/selection/searchable/searchable.field.mjs +30 -7
  40. package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +8 -10
  41. package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +1 -1
  42. package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +35 -11
  43. package/esm2020/lib/formly/field/selection/searchable/text.chip.field.mjs +1 -1
  44. package/esm2020/lib/formly/field/selection/selection.mjs +1 -1
  45. package/esm2020/lib/formly/field/selection/selection.module.mjs +28 -0
  46. package/esm2020/lib/formly/field/texteditor/index.mjs +4 -0
  47. package/esm2020/lib/formly/field/texteditor/texteditor.field.component.mjs +90 -0
  48. package/esm2020/lib/formly/field/texteditor/texteditor.field.mjs +20 -0
  49. package/esm2020/lib/formly/field/texteditor/texteditor.field.module.mjs +59 -0
  50. package/esm2020/lib/formly/field/value/array/array.field.component.mjs +87 -51
  51. package/esm2020/lib/formly/field/value/array/array.field.mjs +20 -0
  52. package/esm2020/lib/formly/field/value/array/array.field.module.mjs +25 -7
  53. package/esm2020/lib/formly/field/value/array/index.mjs +2 -1
  54. package/esm2020/lib/formly/field/value/boolean/boolean.field.mjs +11 -20
  55. package/esm2020/lib/formly/field/value/date/date.field.module.mjs +9 -6
  56. package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +74 -44
  57. package/esm2020/lib/formly/field/value/date/datetime.field.mjs +36 -0
  58. package/esm2020/lib/formly/field/value/date/index.mjs +2 -2
  59. package/esm2020/lib/formly/field/value/enum/enum.field.mjs +1 -1
  60. package/esm2020/lib/formly/field/value/enum/enum.field.module.mjs +16 -0
  61. package/esm2020/lib/formly/field/value/enum/index.mjs +2 -1
  62. package/esm2020/lib/formly/field/value/hidden.field.mjs +1 -1
  63. package/esm2020/lib/formly/field/value/index.mjs +2 -1
  64. package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +13 -33
  65. package/esm2020/lib/formly/field/value/phone/phone.field.mjs +50 -52
  66. package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +15 -7
  67. package/esm2020/lib/formly/field/value/text/index.mjs +2 -1
  68. package/esm2020/lib/formly/field/value/text/text.additional.field.mjs +81 -0
  69. package/esm2020/lib/formly/field/value/text/text.address.field.mjs +16 -23
  70. package/esm2020/lib/formly/field/value/text/text.field.mjs +11 -110
  71. package/esm2020/lib/formly/field/value/text/text.field.module.mjs +9 -4
  72. package/esm2020/lib/formly/field/value/value.module.mjs +44 -0
  73. package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +1 -1
  74. package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +12 -56
  75. package/esm2020/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +58 -0
  76. package/esm2020/lib/formly/field/wrapper/flex.wrapper.component.mjs +18 -8
  77. package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +43 -30
  78. package/esm2020/lib/formly/field/wrapper/index.mjs +3 -3
  79. package/esm2020/lib/formly/field/wrapper/info.wrapper.component.mjs +16 -16
  80. package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +17 -23
  81. package/esm2020/lib/formly/field/wrapper/style.wrapper.component.mjs +43 -0
  82. package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +17 -23
  83. package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +16 -20
  84. package/esm2020/lib/formly/field/wrapper/wrapper.mjs +81 -0
  85. package/esm2020/lib/formly/formly.context.directive.mjs +38 -0
  86. package/esm2020/lib/formly/formly.context.mjs +45 -70
  87. package/esm2020/lib/formly/formly.directive.mjs +9 -6
  88. package/esm2020/lib/formly/formly.form.component.mjs +127 -0
  89. package/esm2020/lib/formly/formly.module.mjs +11 -12
  90. package/esm2020/lib/formly/index.mjs +4 -2
  91. package/esm2020/lib/index.mjs +2 -1
  92. package/fesm2015/dereekb-dbx-form.mjs +1603 -898
  93. package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
  94. package/fesm2020/dereekb-dbx-form.mjs +1650 -880
  95. package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
  96. package/{src/lib → lib}/form/_form.scss +0 -0
  97. package/lib/form/action/form.action.directive.d.ts +3 -3
  98. package/lib/form/action/form.action.module.d.ts +4 -4
  99. package/lib/form/action/index.d.ts +1 -0
  100. package/lib/form/action/transition/form.action.transition.module.d.ts +8 -0
  101. package/lib/form/action/transition/form.action.transition.safety.directive.d.ts +20 -0
  102. package/lib/form/action/transition/index.d.ts +2 -0
  103. package/lib/form/form.d.ts +30 -19
  104. package/lib/form/form.module.d.ts +4 -5
  105. package/lib/form/index.d.ts +1 -3
  106. package/lib/form/{form.changes.directive.d.ts → io/form.changes.directive.d.ts} +1 -1
  107. package/lib/form/{form.input.directive.d.ts → io/form.input.directive.d.ts} +3 -3
  108. package/lib/form/io/form.io.module.d.ts +10 -0
  109. package/lib/form/io/form.loading.directive.d.ts +19 -0
  110. package/lib/form/io/index.d.ts +4 -0
  111. package/lib/form.module.d.ts +9 -0
  112. package/{src/lib → lib}/formly/_formly.scss +0 -0
  113. package/lib/formly/config/index.d.ts +1 -0
  114. package/lib/formly/config/validation.d.ts +19 -0
  115. package/{src/lib → lib}/formly/field/_field.scss +0 -0
  116. package/lib/formly/field/checklist/_checklist.scss +76 -0
  117. package/lib/formly/field/checklist/checklist.field.d.ts +45 -0
  118. package/lib/formly/field/checklist/checklist.item.field.component.d.ts +13 -12
  119. package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +1 -1
  120. package/lib/formly/field/checklist/checklist.item.field.d.ts +3 -47
  121. package/lib/formly/field/checklist/index.d.ts +1 -0
  122. package/{src/lib → lib}/formly/field/component/_component.scss +0 -0
  123. package/lib/formly/field/component/component.field.component.d.ts +6 -2
  124. package/lib/formly/field/field.d.ts +17 -3
  125. package/{src/lib → lib}/formly/field/fields_TODO.scss +0 -0
  126. package/lib/formly/field/form.field.module.d.ts +13 -0
  127. package/lib/formly/field/index.d.ts +2 -0
  128. package/{src/lib → lib}/formly/field/selection/_selection.scss +0 -0
  129. package/lib/formly/field/selection/index.d.ts +1 -0
  130. package/{src/lib → lib}/formly/field/selection/pickable/_pickable.scss +10 -1
  131. package/lib/formly/field/selection/pickable/index.d.ts +1 -0
  132. package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +3 -3
  133. package/lib/formly/field/selection/pickable/pickable.field.d.ts +13 -0
  134. package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +17 -13
  135. package/lib/formly/field/selection/pickable/pickable.field.module.d.ts +1 -1
  136. package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +27 -3
  137. package/lib/formly/field/selection/searchable/_searchable.scss +59 -0
  138. package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +7 -1
  139. package/lib/formly/field/selection/searchable/searchable.d.ts +6 -8
  140. package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +20 -14
  141. package/lib/formly/field/selection/searchable/searchable.field.d.ts +20 -11
  142. package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +33 -24
  143. package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +1 -1
  144. package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +11 -1
  145. package/lib/formly/field/selection/searchable/text.chip.field.d.ts +2 -2
  146. package/lib/formly/field/selection/selection.d.ts +1 -0
  147. package/lib/formly/field/selection/selection.module.d.ts +9 -0
  148. package/lib/formly/field/texteditor/_texteditor.scss +98 -0
  149. package/lib/formly/field/texteditor/index.d.ts +3 -0
  150. package/lib/formly/field/texteditor/texteditor.field.component.d.ts +26 -0
  151. package/lib/formly/field/texteditor/texteditor.field.d.ts +7 -0
  152. package/lib/formly/field/texteditor/texteditor.field.module.d.ts +14 -0
  153. package/{src/lib → lib}/formly/field/value/_value.scss +0 -0
  154. package/lib/formly/field/value/array/_array.scss +73 -0
  155. package/lib/formly/field/value/array/array.field.component.d.ts +22 -11
  156. package/lib/formly/field/value/array/array.field.d.ts +9 -0
  157. package/lib/formly/field/value/array/array.field.module.d.ts +6 -3
  158. package/lib/formly/field/value/array/index.d.ts +1 -0
  159. package/{src/lib → lib}/formly/field/value/boolean/_boolean.scss +0 -0
  160. package/lib/formly/field/value/boolean/boolean.field.d.ts +5 -5
  161. package/lib/formly/field/value/date/_date.scss +79 -0
  162. package/lib/formly/field/value/date/date.field.module.d.ts +2 -1
  163. package/lib/formly/field/value/date/datetime.field.component.d.ts +16 -13
  164. package/lib/formly/field/value/date/datetime.field.d.ts +14 -0
  165. package/lib/formly/field/value/date/index.d.ts +1 -1
  166. package/{src/lib → lib}/formly/field/value/enum/_enum.scss +0 -0
  167. package/lib/formly/field/value/enum/enum.field.d.ts +2 -2
  168. package/lib/formly/field/value/enum/enum.field.module.d.ts +6 -0
  169. package/lib/formly/field/value/enum/index.d.ts +1 -0
  170. package/lib/formly/field/value/hidden.field.d.ts +2 -2
  171. package/lib/formly/field/value/index.d.ts +1 -0
  172. package/lib/formly/field/value/phone/_phone.scss +55 -0
  173. package/lib/formly/field/value/phone/phone.field.component.d.ts +8 -14
  174. package/lib/formly/field/value/phone/phone.field.d.ts +20 -18
  175. package/lib/formly/field/value/phone/phone.field.module.d.ts +10 -8
  176. package/{src/lib → lib}/formly/field/value/text/_text.scss +0 -0
  177. package/lib/formly/field/value/text/index.d.ts +1 -0
  178. package/lib/formly/field/value/text/text.additional.field.d.ts +19 -0
  179. package/lib/formly/field/value/text/text.address.field.d.ts +8 -9
  180. package/lib/formly/field/value/text/text.field.d.ts +5 -33
  181. package/lib/formly/field/value/text/text.field.module.d.ts +3 -2
  182. package/lib/formly/field/value/value.module.d.ts +13 -0
  183. package/{src/lib → lib}/formly/field/wrapper/_wrapper.scss +15 -2
  184. package/lib/formly/field/wrapper/autotouch.wrapper.component.d.ts +2 -2
  185. package/lib/formly/field/wrapper/expandable.wrapper.component.d.ts +8 -37
  186. package/lib/formly/field/wrapper/expandable.wrapper.delegate.d.ts +36 -0
  187. package/lib/formly/field/wrapper/flex.wrapper.component.d.ts +19 -4
  188. package/lib/formly/field/wrapper/form.wrapper.module.d.ts +10 -8
  189. package/lib/formly/field/wrapper/index.d.ts +2 -2
  190. package/lib/formly/field/wrapper/info.wrapper.component.d.ts +9 -9
  191. package/lib/formly/field/wrapper/section.wrapper.component.d.ts +16 -5
  192. package/lib/formly/field/wrapper/style.wrapper.component.d.ts +22 -0
  193. package/lib/formly/field/wrapper/subsection.wrapper.component.d.ts +16 -5
  194. package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +6 -14
  195. package/lib/formly/field/wrapper/wrapper.d.ts +34 -0
  196. package/{src/lib → lib}/formly/form_TODO.scss +0 -0
  197. package/lib/formly/formly.context.d.ts +14 -22
  198. package/lib/formly/formly.context.directive.d.ts +17 -0
  199. package/lib/formly/formly.directive.d.ts +7 -3
  200. package/lib/formly/formly.form.component.d.ts +35 -0
  201. package/lib/formly/formly.module.d.ts +7 -6
  202. package/lib/formly/index.d.ts +3 -1
  203. package/lib/index.d.ts +1 -0
  204. package/{src/lib → lib}/layout/_layout.scss +0 -0
  205. package/{src/lib → lib}/style/_all-core.scss +0 -0
  206. package/{src/lib → lib}/style/_all-theme.scss +0 -0
  207. package/{src/lib → lib}/style/_all-typography.scss +0 -0
  208. package/{src/lib → lib}/style/_config.scss +0 -0
  209. package/{src/lib → lib}/style/_core.scss +0 -0
  210. package/{src/lib → lib}/style/_mixin.scss +0 -0
  211. package/{src/lib → lib}/style/_theming.scss +0 -0
  212. package/{src/lib → lib}/style/_variables.scss +0 -0
  213. package/package.json +14 -14
  214. package/esm2020/lib/form/form.changes.directive.mjs +0 -33
  215. package/esm2020/lib/form/form.input.directive.mjs +0 -49
  216. package/esm2020/lib/form/loading/form.loading.directive.mjs +0 -52
  217. package/esm2020/lib/form/loading/index.mjs +0 -2
  218. package/esm2020/lib/formly/field/value/date/date.field.mjs +0 -36
  219. package/esm2020/lib/formly/field/wrapper/flex.wrapper.layout.mjs +0 -20
  220. package/esm2020/lib/formly/field/wrapper/toggle.wrapper.mjs +0 -10
  221. package/esm2020/lib/formly/formly.component.mjs +0 -134
  222. package/lib/form/loading/form.loading.directive.d.ts +0 -19
  223. package/lib/form/loading/index.d.ts +0 -1
  224. package/lib/formly/field/value/date/date.field.d.ts +0 -13
  225. package/lib/formly/field/wrapper/flex.wrapper.layout.d.ts +0 -10
  226. package/lib/formly/field/wrapper/toggle.wrapper.d.ts +0 -7
  227. package/lib/formly/formly.component.d.ts +0 -36
  228. package/src/lib/formly/field/checklist/_checklist.scss +0 -26
  229. package/src/lib/formly/field/checklist/checklist.item_TODO.scss +0 -57
  230. package/src/lib/formly/field/selection/generic_TODO.scss +0 -36
  231. package/src/lib/formly/field/selection/searchable/_searchable.scss +0 -26
  232. package/src/lib/formly/field/texteditor/_texteditor.scss +0 -26
  233. package/src/lib/formly/field/texteditor/texteditor_TODO.scss +0 -32
  234. package/src/lib/formly/field/value/array/_array.scss +0 -26
  235. package/src/lib/formly/field/value/date/_date.scss +0 -26
  236. package/src/lib/formly/field/value/date/date_TODO.scss +0 -27
  237. package/src/lib/formly/field/value/phone/_phone.scss +0 -26
  238. package/src/lib/formly/field/value/phone/phone_TODO.scss +0 -10
  239. package/src/lib/formly/field/wrapper/wrapper_TODO.scss +0 -34
@@ -0,0 +1,38 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { Directive, Input } from '@angular/core';
3
+ import { ProvideFormlyContext } from './formly.context';
4
+ import { AbstractAsyncFormlyFormDirective } from './formly.directive';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Provides an DbxFormlyContext and has an input for fields.
8
+ */
9
+ export class DbxFormlyFieldsContextDirective extends AbstractAsyncFormlyFormDirective {
10
+ constructor() {
11
+ super(...arguments);
12
+ this._fields = new BehaviorSubject(undefined);
13
+ this.fields$ = this._fields.asObservable();
14
+ }
15
+ get fields() {
16
+ return this._fields.value;
17
+ }
18
+ set fields(fields) {
19
+ this._fields.next(fields);
20
+ }
21
+ ngOnDestroy() {
22
+ super.ngOnDestroy();
23
+ this._fields.complete();
24
+ }
25
+ }
26
+ DbxFormlyFieldsContextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyFieldsContextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
27
+ DbxFormlyFieldsContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbxFormlyFieldsContextDirective, selector: "[dbxFormlyFields]", inputs: { fields: ["dbxFormlyFields", "fields"] }, providers: ProvideFormlyContext(), usesInheritance: true, ngImport: i0 });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyFieldsContextDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[dbxFormlyFields]',
32
+ providers: ProvideFormlyContext()
33
+ }]
34
+ }], propDecorators: { fields: [{
35
+ type: Input,
36
+ args: ['dbxFormlyFields']
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZm9ybWx5LmNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBR3RFOztHQUVHO0FBS0gsTUFBTSxPQUFPLCtCQUF5QyxTQUFRLGdDQUFtQztJQUpqRzs7UUFNVSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTZCLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0tBZ0JoRDtJQWRDLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQWtDO1FBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFUyxXQUFXO1FBQ25CLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7OzRIQWpCVSwrQkFBK0I7Z0hBQS9CLCtCQUErQiwrRkFGL0Isb0JBQW9CLEVBQUU7MkZBRXRCLCtCQUErQjtrQkFKM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixTQUFTLEVBQUUsb0JBQW9CLEVBQUU7aUJBQ2xDOzhCQU9LLE1BQU07c0JBRFQsS0FBSzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3ZpZGVGb3JtbHlDb250ZXh0IH0gZnJvbSAnLi9mb3JtbHkuY29udGV4dCc7XG5pbXBvcnQgeyBBYnN0cmFjdEFzeW5jRm9ybWx5Rm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybWx5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGFuIERieEZvcm1seUNvbnRleHQgYW5kIGhhcyBhbiBpbnB1dCBmb3IgZmllbGRzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4Rm9ybWx5RmllbGRzXScsXG4gIHByb3ZpZGVyczogUHJvdmlkZUZvcm1seUNvbnRleHQoKVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtbHlGaWVsZHNDb250ZXh0RGlyZWN0aXZlPFQgPSBhbnk+IGV4dGVuZHMgQWJzdHJhY3RBc3luY0Zvcm1seUZvcm1EaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2ZpZWxkcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8Rm9ybWx5RmllbGRDb25maWdbXT4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGZpZWxkcyQgPSB0aGlzLl9maWVsZHMuYXNPYnNlcnZhYmxlKCk7XG5cbiAgQElucHV0KCdkYnhGb3JtbHlGaWVsZHMnKVxuICBnZXQgZmllbGRzKCk6IE1heWJlPEZvcm1seUZpZWxkQ29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZmllbGRzLnZhbHVlO1xuICB9XG5cbiAgc2V0IGZpZWxkcyhmaWVsZHM6IE1heWJlPEZvcm1seUZpZWxkQ29uZmlnW10+KSB7XG4gICAgdGhpcy5fZmllbGRzLm5leHQoZmllbGRzKTtcbiAgfVxuXG4gIG92ZXJyaWRlICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2ZpZWxkcy5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
- import { BehaviorSubject, of } from 'rxjs';
2
- import { DbxForm, DbxFormState } from '../form/form';
3
- import { mergeMap } from 'rxjs/operators';
4
- import { LockSet } from '@dereekb/rxjs';
1
+ import { BehaviorSubject, of, switchMap, shareReplay, distinctUntilChanged } from 'rxjs';
2
+ import { DbxFormState, ProvideDbxMutableForm } from '../form/form';
3
+ import { LockSet, filterMaybe } from '@dereekb/rxjs';
5
4
  /**
6
5
  * Allows a directive to provide a formly context and form.
7
6
  */
@@ -9,10 +8,8 @@ export function ProvideFormlyContext() {
9
8
  return [{
10
9
  provide: DbxFormlyContext,
11
10
  useClass: DbxFormlyContext
12
- }, {
13
- provide: DbxForm,
14
- useExisting: DbxFormlyContext
15
- }];
11
+ },
12
+ ...ProvideDbxMutableForm(DbxFormlyContext)];
16
13
  }
17
14
  /**
18
15
  * DbxForm Instance that registers a delegate and manages the state of that form/delegate.
@@ -20,92 +17,70 @@ export function ProvideFormlyContext() {
20
17
  export class DbxFormlyContext {
21
18
  constructor() {
22
19
  this.lockSet = new LockSet();
23
- this._disabled = false;
24
- this._delegate = DbxFormlyContext.EMPTY_DELEGATE;
25
- this._streamSubject = new BehaviorSubject(of(DbxFormlyContext.INITIAL_STATE));
26
- this._stream$ = this._streamSubject.pipe(mergeMap((stream) => stream));
20
+ this._fields = new BehaviorSubject(undefined);
21
+ this._initialValue = new BehaviorSubject(undefined);
22
+ this._disabled = new BehaviorSubject(false);
23
+ this._delegate = new BehaviorSubject(undefined);
24
+ this.fields$ = this._fields.pipe(filterMaybe());
25
+ this.stream$ = this._delegate.pipe(distinctUntilChanged(), switchMap(x => (x) ? x.stream$ : of(DbxFormlyContext.INITIAL_STATE)), shareReplay(1));
27
26
  }
28
27
  destroy() {
29
- this._streamSubject.complete();
30
- }
31
- get isDestroyed() {
32
- return this._streamSubject.isStopped;
28
+ this.lockSet.destroyOnNextUnlock(() => {
29
+ this._fields.complete();
30
+ this._initialValue.complete();
31
+ this._disabled.complete();
32
+ this._delegate.complete();
33
+ });
33
34
  }
34
35
  setDelegate(delegate) {
35
- this._delegate = delegate ?? DbxFormlyContext.EMPTY_DELEGATE;
36
- this._streamSubject.next(this._delegate.stream$);
37
- this._delegate.setFields(this._fields);
38
- this._delegate.setValue(this._initialValue);
39
- this._delegate.setDisabled(this._disabled);
36
+ if (delegate !== this._delegate.value) {
37
+ if (delegate != null) {
38
+ delegate.init({
39
+ fields: this.fields$,
40
+ initialValue: this._initialValue.value,
41
+ initialDisabled: this._disabled.value
42
+ });
43
+ }
44
+ this._delegate.next(delegate);
45
+ }
40
46
  }
41
47
  clearDelegate(delegate) {
42
- if (this._delegate === delegate && !this.isDestroyed) {
48
+ if (delegate === this._delegate.value) {
43
49
  this.setDelegate(undefined);
44
50
  }
45
51
  }
46
52
  get fields() {
47
- return this._fields;
53
+ return this._fields.value;
48
54
  }
49
55
  set fields(fields) {
50
- this._fields = fields;
51
- this._delegate.setFields(this._fields);
56
+ this._fields.next(fields);
52
57
  }
53
58
  // MARK: FormComponent
54
- get isComplete() {
55
- return this._delegate.isComplete;
56
- }
57
- get state() {
58
- return this._delegate.state;
59
- }
60
- get stream$() {
61
- return this._stream$;
62
- }
63
- get value() {
64
- return this._delegate.getValue();
59
+ getValue() {
60
+ return this._delegate.pipe(filterMaybe(), switchMap(x => x.getValue()), shareReplay(1));
65
61
  }
66
62
  setValue(value) {
67
- this._initialValue = value;
68
- this._delegate.setValue(value);
63
+ this._initialValue.next(value);
64
+ if (this._delegate.value) {
65
+ this._delegate.value.setValue(value);
66
+ }
69
67
  }
70
68
  isDisabled() {
71
- return this._delegate.isDisabled();
69
+ return this._disabled.value;
72
70
  }
73
71
  setDisabled(disabled = true) {
74
- this._disabled = disabled;
75
- this._delegate.setDisabled(disabled);
72
+ this._disabled.next(disabled);
76
73
  }
77
74
  resetForm() {
78
- this._delegate.resetForm();
75
+ if (this._delegate.value) {
76
+ this._delegate.value.resetForm();
77
+ }
79
78
  }
80
79
  forceFormUpdate() {
81
- this._delegate.forceFormUpdate();
80
+ if (this._delegate.value) {
81
+ this._delegate.value.forceFormUpdate();
82
+ }
82
83
  }
83
84
  }
84
85
  DbxFormlyContext.INITIAL_STATE = { isComplete: false, state: DbxFormState.INITIALIZING };
85
- DbxFormlyContext.EMPTY_DELEGATE = {
86
- isComplete: false,
87
- state: DbxFormState.INITIALIZING,
88
- stream$: of(DbxFormlyContext.INITIAL_STATE),
89
- setFields(fields) {
90
- // Do nothing.
91
- },
92
- getValue() {
93
- return undefined;
94
- },
95
- setValue(value) {
96
- // Do nothing.
97
- },
98
- resetForm() {
99
- // Do nothing.
100
- },
101
- forceFormUpdate() {
102
- // Do nothing.
103
- },
104
- isDisabled() {
105
- return false;
106
- },
107
- setDisabled(disabled) {
108
- // Do nothing.
109
- }
110
- };
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9mb3JtbHkuY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFnQixZQUFZLEVBQWdCLE1BQU0sY0FBYyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBcUJ4Qzs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxDQUFDO1lBQ04sT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCLEVBQUU7WUFDRCxPQUFPLEVBQUUsT0FBTztZQUNoQixXQUFXLEVBQUUsZ0JBQWdCO1NBQzlCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUF5QzNCO1FBdkNTLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBaUN6QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNCLGNBQVMsR0FBZ0MsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO1FBQ3pFLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQTJCLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ25HLGFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFMUQsQ0FBQztJQUVqQixPQUFPO1FBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUs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UUFDUCxjQUFjO0lBQ2hCLENBQUM7SUFDRCxlQUFlO1FBQ2IsY0FBYztJQUNoQixDQUFDO0lBQ0QsVUFBVTtRQUNSLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELFdBQVcsQ0FBQyxRQUFrQjtRQUM1QixjQUFjO0lBQ2hCLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEZvcm0sIERieEZvcm1FdmVudCwgRGJ4Rm9ybVN0YXRlLCBUeXBlZERieEZvcm0gfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9ja1NldCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBEYnhGb3JtbHlDb250ZXh0IGRlbGVnYXRlLlxuICogXG4gKiBUaGlzIGlzIHVzdWFsbHkgdGhlIGNvbXBvbmVudCBvciBlbGVtZW50IHRoYXQgY29udGFpbnMgdGhlIGZvcm0gaXRzZWxmLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieEZvcm1seUNvbnRleHREZWxlZ2F0ZTxUID0gYW55PiB7XG4gIHJlYWRvbmx5IGlzQ29tcGxldGU6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHN0YXRlOiBEYnhGb3JtU3RhdGU7XG4gIHJlYWRvbmx5IHN0cmVhbSQ6IE9ic2VydmFibGU8RGJ4Rm9ybUV2ZW50PjtcbiAgc2V0RmllbGRzKGZpZWxkczogTWF5YmU8Rm9ybWx5RmllbGRDb25maWdbXT4pOiB2b2lkO1xuICBnZXRWYWx1ZSgpOiBUO1xuICBzZXRWYWx1ZSh2YWx1ZTogTWF5YmU8UGFydGlhbDxUPj4pOiB2b2lkO1xuICByZXNldEZvcm0oKTogdm9pZDtcbiAgZm9yY2VGb3JtVXBkYXRlKCk6IHZvaWQ7XG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbjtcbiAgc2V0RGlzYWJsZWQoZGlzYWJsZWQ/OiBib29sZWFuKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBbGxvd3MgYSBkaXJlY3RpdmUgdG8gcHJvdmlkZSBhIGZvcm1seSBjb250ZXh0IGFuZCBmb3JtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gUHJvdmlkZUZvcm1seUNvbnRleHQoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbe1xuICAgIHByb3ZpZGU6IERieEZvcm1seUNvbnRleHQsXG4gICAgdXNlQ2xhc3M6IERieEZvcm1seUNvbnRleHRcbiAgfSwge1xuICAgIHByb3ZpZGU6IERieEZvcm0sXG4gICAgdXNlRXhpc3Rpbmc6IERieEZvcm1seUNvbnRleHRcbiAgfV07XG59XG5cbi8qKlxuICogRGJ4Rm9ybSBJbnN0YW5jZSB0aGF0IHJlZ2lzdGVycyBhIGRlbGVnYXRlIGFuZCBtYW5hZ2VzIHRoZSBzdGF0ZSBvZiB0aGF0IGZvcm0vZGVsZWdhdGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYnhGb3JtbHlDb250ZXh0PFQ+IGltcGxlbWVudHMgVHlwZWREYnhGb3JtPFQ+IHtcblxuICByZWFkb25seSBsb2NrU2V0ID0gbmV3IExvY2tTZXQoKTtcblxuICBwcml2YXRlIHN0YXRpYyBJTklUSUFMX1NUQVRFID0geyBpc0NvbXBsZXRlOiBmYWxzZSwgc3RhdGU6IERieEZvcm1TdGF0ZS5JTklUSUFMSVpJTkcgfTtcblxuICBwcml2YXRlIHN0YXRpYyBFTVBUWV9ERUxFR0FURTogRGJ4Rm9ybWx5Q29udGV4dERlbGVnYXRlPGFueT4gPSB7XG4gICAgaXNDb21wbGV0ZTogZmFsc2UsXG4gICAgc3RhdGU6IERieEZvcm1TdGF0ZS5JTklUSUFMSVpJTkcsXG4gICAgc3RyZWFtJDogb2YoRGJ4Rm9ybWx5Q29udGV4dC5JTklUSUFMX1NUQVRFKSxcbiAgICBzZXRGaWVsZHMoZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdKTogdm9pZCB7XG4gICAgICAvLyBEbyBub3RoaW5nLlxuICAgIH0sXG4gICAgZ2V0VmFsdWUoKTogYW55IHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgICBzZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAvLyBEbyBub3RoaW5nLlxuICAgIH0sXG4gICAgcmVzZXRGb3JtKCk6IHZvaWQge1xuICAgICAgLy8gRG8gbm90aGluZy5cbiAgICB9LFxuICAgIGZvcmNlRm9ybVVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgIC8vIERvIG5vdGhpbmcuXG4gICAgfSxcbiAgICBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgc2V0RGlzYWJsZWQoZGlzYWJsZWQ/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAvLyBEbyBub3RoaW5nLlxuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9maWVsZHM/OiBNYXliZTxGb3JtbHlGaWVsZENvbmZpZ1tdPjtcbiAgcHJpdmF0ZSBfaW5pdGlhbFZhbHVlPzogTWF5YmU8UGFydGlhbDxUPj47XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfZGVsZWdhdGU6IERieEZvcm1seUNvbnRleHREZWxlZ2F0ZTxUPiA9IERieEZvcm1seUNvbnRleHQuRU1QVFlfREVMRUdBVEU7XG4gIHByaXZhdGUgX3N0cmVhbVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9ic2VydmFibGU8RGJ4Rm9ybUV2ZW50Pj4ob2YoRGJ4Rm9ybWx5Q29udGV4dC5JTklUSUFMX1NUQVRFKSk7XG4gIHByaXZhdGUgX3N0cmVhbSQgPSB0aGlzLl9zdHJlYW1TdWJqZWN0LnBpcGUobWVyZ2VNYXAoKHN0cmVhbSkgPT4gc3RyZWFtKSk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N0cmVhbVN1YmplY3QuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldCBpc0Rlc3Ryb3llZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3RyZWFtU3ViamVjdC5pc1N0b3BwZWQ7XG4gIH1cblxuICBzZXREZWxlZ2F0ZShkZWxlZ2F0ZT86IERieEZvcm1seUNvbnRleHREZWxlZ2F0ZTxUPik6IHZvaWQge1xuICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGUgPz8gRGJ4Rm9ybWx5Q29udGV4dC5FTVBUWV9ERUxFR0FURTtcbiAgICB0aGlzLl9zdHJlYW1TdWJqZWN0Lm5leHQodGhpcy5fZGVsZWdhdGUuc3RyZWFtJCk7XG4gICAgdGhpcy5fZGVsZWdhdGUuc2V0RmllbGRzKHRoaXMuX2ZpZWxkcyk7XG4gICAgdGhpcy5fZGVsZWdhdGUuc2V0VmFsdWUodGhpcy5faW5pdGlhbFZhbHVlKTtcbiAgICB0aGlzLl9kZWxlZ2F0ZS5zZXREaXNhYmxlZCh0aGlzLl9kaXNhYmxlZCk7XG4gIH1cblxuICBjbGVhckRlbGVnYXRlKGRlbGVnYXRlOiBEYnhGb3JtbHlDb250ZXh0RGVsZWdhdGU8VD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZGVsZWdhdGUgPT09IGRlbGVnYXRlICYmICF0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICB0aGlzLnNldERlbGVnYXRlKHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZpZWxkcygpOiBNYXliZTxGb3JtbHlGaWVsZENvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkcztcbiAgfVxuXG4gIHNldCBmaWVsZHMoZmllbGRzOiBNYXliZTxGb3JtbHlGaWVsZENvbmZpZ1tdPikge1xuICAgIHRoaXMuX2ZpZWxkcyA9IGZpZWxkcztcbiAgICB0aGlzLl9kZWxlZ2F0ZS5zZXRGaWVsZHModGhpcy5fZmllbGRzKTtcbiAgfVxuXG4gIC8vIE1BUks6IEZvcm1Db21wb25lbnRcbiAgZ2V0IGlzQ29tcGxldGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmlzQ29tcGxldGU7XG4gIH1cblxuICBnZXQgc3RhdGUoKTogRGJ4Rm9ybVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuc3RhdGU7XG4gIH1cblxuICBnZXQgc3RyZWFtJCgpOiBPYnNlcnZhYmxlPERieEZvcm1FdmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9zdHJlYW0kO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IFBhcnRpYWw8VD4pOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0aWFsVmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9kZWxlZ2F0ZS5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5pc0Rpc2FibGVkKCk7XG4gIH1cblxuICBzZXREaXNhYmxlZChkaXNhYmxlZCA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIHRoaXMuX2RlbGVnYXRlLnNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZWxlZ2F0ZS5yZXNldEZvcm0oKTtcbiAgfVxuXG4gIGZvcmNlRm9ybVVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZWxlZ2F0ZS5mb3JjZUZvcm1VcGRhdGUoKTtcbiAgfVxuXG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9mb3JtbHkuY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JHLE9BQU8sRUFBeUIsWUFBWSxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxRyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1CckQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU8sQ0FBQztZQUNOLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsUUFBUSxFQUFFLGdCQUFnQjtTQUMzQjtRQUNELEdBQUcscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFjM0I7UUFaUyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUl6QixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTZCLFNBQVMsQ0FBQyxDQUFDO1FBQ3JFLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQW9CLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNoRCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQXFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlFLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLFlBQU8sR0FBNkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxT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akZjLDhCQUFhLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEZvcm0sIERieEZvcm1FdmVudCwgRGJ4Rm9ybVN0YXRlLCBEYnhNdXRhYmxlRm9ybSwgUHJvdmlkZURieE11dGFibGVGb3JtIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBMb2NrU2V0LCBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtbHlJbml0aWFsaXplPFQ+IHtcbiAgZmllbGRzOiBPYnNlcnZhYmxlPEZvcm1seUZpZWxkQ29uZmlnW10+O1xuICBpbml0aWFsVmFsdWU6IE1heWJlPFBhcnRpYWw8VD4+O1xuICBpbml0aWFsRGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGJ4Rm9ybWx5Q29udGV4dCBkZWxlZ2F0ZS5cbiAqIFxuICogVGhpcyBpcyB1c3VhbGx5IHRoZSBjb21wb25lbnQgb3IgZWxlbWVudCB0aGF0IGNvbnRhaW5zIHRoZSBmb3JtIGl0c2VsZi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtbHlDb250ZXh0RGVsZWdhdGU8VCA9IGFueT4gZXh0ZW5kcyBPbWl0PERieE11dGFibGVGb3JtPFQ+LCAnbG9ja1NldCcgfCAnc2V0RGlzYWJsZWQnPiB7XG4gIHJlYWRvbmx5IHN0cmVhbSQ6IE9ic2VydmFibGU8RGJ4Rm9ybUV2ZW50PjtcbiAgaW5pdChpbml0aWFsaXplOiBEYnhGb3JtbHlJbml0aWFsaXplPFQ+KTogdm9pZDtcbn1cblxuLyoqXG4gKiBBbGxvd3MgYSBkaXJlY3RpdmUgdG8gcHJvdmlkZSBhIGZvcm1seSBjb250ZXh0IGFuZCBmb3JtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gUHJvdmlkZUZvcm1seUNvbnRleHQoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbe1xuICAgIHByb3ZpZGU6IERieEZvcm1seUNvbnRleHQsXG4gICAgdXNlQ2xhc3M6IERieEZvcm1seUNvbnRleHRcbiAgfSxcbiAgLi4uUHJvdmlkZURieE11dGFibGVGb3JtKERieEZvcm1seUNvbnRleHQpXTtcbn1cblxuLyoqXG4gKiBEYnhGb3JtIEluc3RhbmNlIHRoYXQgcmVnaXN0ZXJzIGEgZGVsZWdhdGUgYW5kIG1hbmFnZXMgdGhlIHN0YXRlIG9mIHRoYXQgZm9ybS9kZWxlZ2F0ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERieEZvcm1seUNvbnRleHQ8VD4gaW1wbGVtZW50cyBEYnhGb3JtPFQ+IHtcblxuICByZWFkb25seSBsb2NrU2V0ID0gbmV3IExvY2tTZXQoKTtcblxuICBwcml2YXRlIHN0YXRpYyBJTklUSUFMX1NUQVRFID0geyBpc0NvbXBsZXRlOiBmYWxzZSwgc3RhdGU6IERieEZvcm1TdGF0ZS5JTklUSUFMSVpJTkcgfTtcblxuICBwcml2YXRlIF9maWVsZHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEZvcm1seUZpZWxkQ29uZmlnW10+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIF9pbml0aWFsVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPFBhcnRpYWw8VD4+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9kZWxlZ2F0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4Rm9ybWx5Q29udGV4dERlbGVnYXRlPFQ+Pj4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBmaWVsZHMkID0gdGhpcy5fZmllbGRzLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG4gIHJlYWRvbmx5IHN0cmVhbSQ6IE9ic2VydmFibGU8RGJ4Rm9ybUV2ZW50PiA9IHRoaXMuX2RlbGVnYXRlLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc3dpdGNoTWFwKHggPT4gKHgpID8geC5zdHJlYW0kIDogb2YoRGJ4Rm9ybWx5Q29udGV4dC5JTklUSUFMX1NUQVRFKSksIHNoYXJlUmVwbGF5KDEpKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sb2NrU2V0LmRlc3Ryb3lPbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgdGhpcy5fZmllbGRzLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9pbml0aWFsVmFsdWUuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX2Rpc2FibGVkLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9kZWxlZ2F0ZS5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0RGVsZWdhdGUoZGVsZWdhdGU/OiBEYnhGb3JtbHlDb250ZXh0RGVsZWdhdGU8VD4pOiB2b2lkIHtcbiAgICBpZiAoZGVsZWdhdGUgIT09IHRoaXMuX2RlbGVnYXRlLnZhbHVlKSB7XG5cbiAgICAgIGlmIChkZWxlZ2F0ZSAhPSBudWxsKSB7XG4gICAgICAgIGRlbGVnYXRlLmluaXQoe1xuICAgICAgICAgIGZpZWxkczogdGhpcy5maWVsZHMkLFxuICAgICAgICAgIGluaXRpYWxWYWx1ZTogdGhpcy5faW5pdGlhbFZhbHVlLnZhbHVlLFxuICAgICAgICAgIGluaXRpYWxEaXNhYmxlZDogdGhpcy5fZGlzYWJsZWQudmFsdWVcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2RlbGVnYXRlLm5leHQoZGVsZWdhdGUpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyRGVsZWdhdGUoZGVsZWdhdGU6IERieEZvcm1seUNvbnRleHREZWxlZ2F0ZTxUPik6IHZvaWQge1xuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdGhpcy5fZGVsZWdhdGUudmFsdWUpIHtcbiAgICAgIHRoaXMuc2V0RGVsZWdhdGUodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZmllbGRzKCk6IE1heWJlPEZvcm1seUZpZWxkQ29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZmllbGRzLnZhbHVlO1xuICB9XG5cbiAgc2V0IGZpZWxkcyhmaWVsZHM6IE1heWJlPEZvcm1seUZpZWxkQ29uZmlnW10+KSB7XG4gICAgdGhpcy5fZmllbGRzLm5leHQoZmllbGRzKTtcbiAgfVxuXG4gIC8vIE1BUks6IEZvcm1Db21wb25lbnRcbiAgZ2V0VmFsdWUoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnBpcGUoZmlsdGVyTWF5YmUoKSwgc3dpdGNoTWFwKHggPT4geC5nZXRWYWx1ZSgpKSwgc2hhcmVSZXBsYXkoMSkpO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IFBhcnRpYWw8VD4pOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0aWFsVmFsdWUubmV4dCh2YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5fZGVsZWdhdGUudmFsdWUpIHtcbiAgICAgIHRoaXMuX2RlbGVnYXRlLnZhbHVlLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZC52YWx1ZTtcbiAgfVxuXG4gIHNldERpc2FibGVkKGRpc2FibGVkID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkLm5leHQoZGlzYWJsZWQpO1xuICB9XG5cbiAgcmVzZXRGb3JtKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kZWxlZ2F0ZS52YWx1ZSkge1xuICAgICAgdGhpcy5fZGVsZWdhdGUudmFsdWUucmVzZXRGb3JtKCk7XG4gICAgfVxuICB9XG5cbiAgZm9yY2VGb3JtVXBkYXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kZWxlZ2F0ZS52YWx1ZSkge1xuICAgICAgdGhpcy5fZGVsZWdhdGUudmFsdWUuZm9yY2VGb3JtVXBkYXRlKCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { SubscriptionObject } from '@dereekb/rxjs';
2
- import { BehaviorSubject } from 'rxjs';
1
+ import { SubscriptionObject, filterMaybe } from '@dereekb/rxjs';
2
+ import { BehaviorSubject, shareReplay, distinctUntilChanged } from 'rxjs';
3
3
  import { Directive, Input } from '@angular/core';
4
4
  import { DbxFormlyContext } from './formly.context';
5
5
  import * as i0 from "@angular/core";
@@ -22,11 +22,14 @@ export class AbstractFormlyFormDirective {
22
22
  }
23
23
  // Utility Functions
24
24
  getValue() {
25
- return this.context.value;
25
+ return this.context.getValue();
26
26
  }
27
27
  setValue(value) {
28
28
  this.context.setValue(value);
29
29
  }
30
+ resetForm() {
31
+ this.context.resetForm();
32
+ }
30
33
  clearValue() {
31
34
  this.setValue({});
32
35
  }
@@ -60,7 +63,7 @@ export class AbstractAsyncFormlyFormDirective extends AbstractFormlyFormDirectiv
60
63
  this._fieldsSub = new SubscriptionObject();
61
64
  }
62
65
  ngOnInit() {
63
- this._fieldsSub.subscription = this.fields$.subscribe((fields) => {
66
+ this._fieldsSub.subscription = this.fields$.pipe(distinctUntilChanged()).subscribe((fields) => {
64
67
  this.context.fields = fields;
65
68
  });
66
69
  }
@@ -78,7 +81,7 @@ export class AbstractConfigAsyncFormlyFormDirective extends AbstractAsyncFormlyF
78
81
  constructor() {
79
82
  super(...arguments);
80
83
  this._config = new BehaviorSubject(undefined);
81
- this.config$ = this._config.asObservable();
84
+ this.config$ = this._config.pipe(filterMaybe(), shareReplay(1));
82
85
  }
83
86
  get config() {
84
87
  return this._config.value;
@@ -98,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
98
101
  }], propDecorators: { config: [{
99
102
  type: Input
100
103
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2Zvcm1seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFHcEQ7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLDJCQUEyQjtJQVcvQyxZQUE0QixPQUE0QjtRQUE1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUFJLENBQUM7SUFUN0QsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFpQjtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBSUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWlCO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwQixDQUFDOzt3SEE1Qm1CLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRGhELFNBQVM7dUdBSUosUUFBUTtzQkFEWCxLQUFLOztBQStCUjs7R0FFRztBQUVILE1BQU0sT0FBZ0IsK0JBQW1DLFNBQVEsMkJBQThCO0lBSTdGLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BDLENBQUM7OzRIQU5tQiwrQkFBK0I7Z0hBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQURwRCxTQUFTOztBQVdWOztHQUVHO0FBRUgsTUFBTSxPQUFnQixnQ0FBb0MsU0FBUSwyQkFBOEI7SUFEaEc7O1FBS1UsZUFBVSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztLQWEvQztJQVhDLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxXQUFXO1FBQ25CLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVCLENBQUM7OzZIQWZtQixnQ0FBZ0M7aUhBQWhDLGdDQUFnQzsyRkFBaEMsZ0NBQWdDO2tCQURyRCxTQUFTOztBQXFCVixNQUFNLE9BQWdCLHNDQUE2QyxTQUFRLGdDQUFtQztJQUQ5Rzs7UUFHbUIsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQzNELFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0tBZ0JoRDtJQWRDLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQWdCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7O21JQWpCbUIsc0NBQXNDO3VIQUF0QyxzQ0FBc0M7MkZBQXRDLHNDQUFzQztrQkFEM0QsU0FBUzs4QkFPSixNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlL2xpYi9jb3JlJztcbmltcG9ydCB7IE9uSW5pdCwgT25EZXN0cm95LCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhGb3JtbHlDb250ZXh0IH0gZnJvbSAnLi9mb3JtbHkuY29udGV4dCc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIEFic3RyYWN0IGNvbXBvbmVudCBmb3Igd3JhcHBpbmcgYSBmb3JtLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZvcm1seUZvcm1EaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmlzRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuY29udGV4dC5zZXREaXNhYmxlZChkaXNhYmxlZCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgY29udGV4dDogRGJ4Rm9ybWx5Q29udGV4dDxUPikgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8vIFV0aWxpdHkgRnVuY3Rpb25zXG4gIGdldFZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQudmFsdWU7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogUGFydGlhbDxUPik6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBjbGVhclZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmFsdWUoe30pO1xuICB9XG5cbn1cblxuXG4vKipcbiAqIEFic3RyYWN0IGNvbXBvbmVudCBmb3Igd3JhcHBpbmcgYSBmb3JtLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFN5bmNGb3JtbHlGb3JtRGlyZWN0aXZlPFQ+IGV4dGVuZHMgQWJzdHJhY3RGb3JtbHlGb3JtRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIGFic3RyYWN0IGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQuZmllbGRzID0gdGhpcy5maWVsZHM7XG4gIH1cblxufVxuXG4vKipcbiAqIEFic3RyYWN0IGNvbXBvbmVudCBmb3Igd3JhcHBpbmcgYW4gYXN5bmNyaHJvbm91c2x5LWNvbmZpZ3VyZWQgZm9ybS5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RBc3luY0Zvcm1seUZvcm1EaXJlY3RpdmU8VD4gZXh0ZW5kcyBBYnN0cmFjdEZvcm1seUZvcm1EaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgZmllbGRzJDogT2JzZXJ2YWJsZTxGb3JtbHlGaWVsZENvbmZpZ1tdPjtcblxuICBwcml2YXRlIF9maWVsZHNTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZmllbGRzU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZmllbGRzJC5zdWJzY3JpYmUoKGZpZWxkcykgPT4ge1xuICAgICAgdGhpcy5jb250ZXh0LmZpZWxkcyA9IGZpZWxkcztcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2ZpZWxkc1N1Yi5kZXN0cm95KCk7XG4gIH1cblxufVxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdENvbmZpZ0FzeW5jRm9ybWx5Rm9ybURpcmVjdGl2ZTxULCBDPiBleHRlbmRzIEFic3RyYWN0QXN5bmNGb3JtbHlGb3JtRGlyZWN0aXZlPFQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEM+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBjb25maWckID0gdGhpcy5fY29uZmlnLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjb25maWcoKTogTWF5YmU8Qz4ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcudmFsdWU7XG4gIH1cblxuICBzZXQgY29uZmlnKGNvbmZpZzogTWF5YmU8Qz4pIHtcbiAgICB0aGlzLl9jb25maWcubmV4dChjb25maWcpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2Zvcm1seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQWMsZUFBZSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RixPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUdwRDs7R0FFRztBQUVILE1BQU0sT0FBZ0IsMkJBQTJCO0lBVy9DLFlBQTRCLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBQUksQ0FBQztJQVQ3RCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQWlCO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFJRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFpQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7O3dIQWhDbUIsMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEaEQsU0FBUzt1R0FJSixRQUFRO3NCQURYLEtBQUs7O0FBbUNSOztHQUVHO0FBRUgsTUFBTSxPQUFnQiwrQkFBbUMsU0FBUSwyQkFBOEI7SUFJN0YsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEMsQ0FBQzs7NEhBTm1CLCtCQUErQjtnSEFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRHBELFNBQVM7O0FBV1Y7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLGdDQUFvQyxTQUFRLDJCQUE4QjtJQURoRzs7UUFRVSxlQUFVLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0tBYS9DO0lBWEMsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM1RixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsV0FBVztRQUNuQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs2SEFsQm1CLGdDQUFnQztpSEFBaEMsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBRHJELFNBQVM7O0FBd0JWLE1BQU0sT0FBZ0Isc0NBQTZDLFNBQVEsZ0NBQW1DO0lBRDlHOztRQUdtQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDM0QsWUFBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBZ0JyRTtJQWRDLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQWdCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7O21JQWpCbUIsc0NBQXNDO3VIQUF0QyxzQ0FBc0M7MkZBQXRDLHNDQUFzQztrQkFEM0QsU0FBUzs4QkFPSixNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIGZpbHRlck1heWJlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlL2xpYi9jb3JlJztcbmltcG9ydCB7IE9uSW5pdCwgT25EZXN0cm95LCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhGb3JtbHlDb250ZXh0IH0gZnJvbSAnLi9mb3JtbHkuY29udGV4dCc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIEFic3RyYWN0IGNvbXBvbmVudCBmb3Igd3JhcHBpbmcgYSBmb3JtLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEZvcm1seUZvcm1EaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmlzRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuY29udGV4dC5zZXREaXNhYmxlZChkaXNhYmxlZCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgY29udGV4dDogRGJ4Rm9ybWx5Q29udGV4dDxUPikgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8vIFV0aWxpdHkgRnVuY3Rpb25zXG4gIGdldFZhbHVlKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBQYXJ0aWFsPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQucmVzZXRGb3JtKCk7XG4gIH1cblxuICBjbGVhclZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmFsdWUoe30pO1xuICB9XG5cbn1cblxuXG4vKipcbiAqIEFic3RyYWN0IGNvbXBvbmVudCBmb3Igd3JhcHBpbmcgYSBmb3JtLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFN5bmNGb3JtbHlGb3JtRGlyZWN0aXZlPFQ+IGV4dGVuZHMgQWJzdHJhY3RGb3JtbHlGb3JtRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIGFic3RyYWN0IGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQuZmllbGRzID0gdGhpcy5maWVsZHM7XG4gIH1cblxufVxuXG4vKipcbiAqIEFic3RyYWN0IGNvbXBvbmVudCBmb3Igd3JhcHBpbmcgYW4gYXN5bmNyaHJvbm91c2x5LWNvbmZpZ3VyZWQgZm9ybS5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RBc3luY0Zvcm1seUZvcm1EaXJlY3RpdmU8VD4gZXh0ZW5kcyBBYnN0cmFjdEZvcm1seUZvcm1EaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gcHJvdmlkZSBmaWVsZHMgdG8gdGhlIGNvbnRleHQuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBmaWVsZHMkOiBPYnNlcnZhYmxlPE1heWJlPEZvcm1seUZpZWxkQ29uZmlnW10+PjtcblxuICBwcml2YXRlIF9maWVsZHNTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZmllbGRzU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZmllbGRzJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgoZmllbGRzKSA9PiB7XG4gICAgICB0aGlzLmNvbnRleHQuZmllbGRzID0gZmllbGRzO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fZmllbGRzU3ViLmRlc3Ryb3koKTtcbiAgfVxuXG59XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q29uZmlnQXN5bmNGb3JtbHlGb3JtRGlyZWN0aXZlPFQsIEM+IGV4dGVuZHMgQWJzdHJhY3RBc3luY0Zvcm1seUZvcm1EaXJlY3RpdmU8VD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8Qz4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGNvbmZpZyQgPSB0aGlzLl9jb25maWcucGlwZShmaWx0ZXJNYXliZSgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbmZpZygpOiBNYXliZTxDPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy52YWx1ZTtcbiAgfVxuXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZTxDPikge1xuICAgIHRoaXMuX2NvbmZpZy5uZXh0KGNvbmZpZyk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2NvbmZpZy5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,127 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { distinctUntilChanged, map, throttleTime, startWith, BehaviorSubject, Subject, switchMap, shareReplay, of } from 'rxjs';
4
+ import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
5
+ import { DbxFormState, ProvideDbxMutableForm } from '../form/form';
6
+ import { DbxFormlyContext } from './formly.context';
7
+ import { cloneDeep } from 'lodash';
8
+ import { scanCount, switchMapMaybeObs } from '@dereekb/rxjs';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./formly.context";
11
+ import * as i2 from "@ngx-formly/core";
12
+ import * as i3 from "@angular/forms";
13
+ import * as i4 from "@angular/common";
14
+ /**
15
+ * Used for rending a form from a DbxFormlyContext.
16
+ */
17
+ export class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
18
+ constructor(context) {
19
+ super();
20
+ this.context = context;
21
+ this._fields = new BehaviorSubject(undefined);
22
+ this._events = new BehaviorSubject({ isComplete: false, state: DbxFormState.INITIALIZING });
23
+ this._reset = new BehaviorSubject(new Date());
24
+ this._forceUpdate = new Subject();
25
+ this.form = new FormGroup({});
26
+ this.model = {};
27
+ this.options = {};
28
+ this.fields$ = this._fields.pipe(switchMapMaybeObs(), distinctUntilChanged(), shareReplay(1));
29
+ this.stream$ = this._reset.pipe(switchMap((lastResetAt) => this.form.valueChanges.pipe(startWith(0), distinctUntilChanged(), throttleTime(50, undefined, { leading: true, trailing: true }), scanCount(), map((changesSinceLastResetCount) => {
30
+ const isReset = changesSinceLastResetCount === 1;
31
+ const complete = this.form.valid;
32
+ const nextState = {
33
+ isComplete: complete,
34
+ state: (isReset) ? DbxFormState.RESET : DbxFormState.USED,
35
+ untouched: this.form.untouched,
36
+ pristine: this.form.pristine,
37
+ changesCount: changesSinceLastResetCount,
38
+ lastResetAt,
39
+ isDisabled: this.disabled
40
+ };
41
+ return nextState;
42
+ }))), shareReplay(1));
43
+ }
44
+ ngOnInit() {
45
+ this.context.setDelegate(this);
46
+ }
47
+ ngOnDestroy() {
48
+ this.context.lockSet.onNextUnlock(() => {
49
+ super.ngOnDestroy();
50
+ this.context.clearDelegate(this);
51
+ this._events.complete();
52
+ this._fields.complete();
53
+ this._reset.complete();
54
+ this._forceUpdate.complete();
55
+ });
56
+ }
57
+ // MARK: Delegate
58
+ init(initialize) {
59
+ this._fields.next(initialize.fields);
60
+ }
61
+ getValue() {
62
+ return of(this.form.value);
63
+ }
64
+ setValue(value) {
65
+ // console.log('set value: ', value);
66
+ this.model = cloneDeep(value);
67
+ if (this.options.updateInitialValue) {
68
+ this.options.updateInitialValue();
69
+ this.options.resetModel?.();
70
+ }
71
+ // Re-mark as untouched and pristine.
72
+ this.form.markAsUntouched();
73
+ this.form.markAsPristine();
74
+ // After updating the value, if the form is still untouched mark it as pristine again.
75
+ // Sometimes the values get marked as changed and break pristine before a user has time to interact.
76
+ setTimeout(() => {
77
+ if (this.form.untouched) {
78
+ this.form.markAsPristine();
79
+ }
80
+ }, 500);
81
+ }
82
+ resetForm() {
83
+ if (this.options.resetModel) {
84
+ this.options.resetModel();
85
+ }
86
+ }
87
+ get disabled() {
88
+ return this.form.disabled;
89
+ }
90
+ setDisabled(disabled = true) {
91
+ if (disabled !== this.disabled) {
92
+ if (disabled) {
93
+ this.form.disable({ emitEvent: true });
94
+ }
95
+ else {
96
+ this.form.enable({ emitEvent: true });
97
+ }
98
+ }
99
+ }
100
+ // MARK: Update
101
+ forceFormUpdate() {
102
+ this._forceUpdate.next();
103
+ }
104
+ }
105
+ DbxFormlyFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyFormComponent, deps: [{ token: i1.DbxFormlyContext }], target: i0.ɵɵFactoryTarget.Component });
106
+ DbxFormlyFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxFormlyFormComponent, selector: "dbx-formly", host: { classAttribute: "dbx-formly" }, providers: ProvideDbxMutableForm(DbxFormlyFormComponent), exportAs: ["formly"], usesInheritance: true, ngImport: i0, template: `
107
+ <form [formGroup]="form" class="dbx-formly">
108
+ <formly-form [form]="form" [fields]="(fields$ | async) ?? []" [model]="model"></formly-form>
109
+ </form>
110
+ `, isInline: true, components: [{ type: i2.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], directives: [{ type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], pipes: { "async": i4.AsyncPipe } });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyFormComponent, decorators: [{
112
+ type: Component,
113
+ args: [{
114
+ selector: 'dbx-formly',
115
+ exportAs: 'formly',
116
+ template: `
117
+ <form [formGroup]="form" class="dbx-formly">
118
+ <formly-form [form]="form" [fields]="(fields$ | async) ?? []" [model]="model"></formly-form>
119
+ </form>
120
+ `,
121
+ providers: ProvideDbxMutableForm(DbxFormlyFormComponent),
122
+ host: {
123
+ 'class': 'dbx-formly'
124
+ }
125
+ }]
126
+ }], ctorParameters: function () { return [{ type: i1.DbxFormlyContext }]; } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZm9ybWx5LmZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1SSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQXlCLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQWlELE1BQU0sa0JBQWtCLENBQUM7QUFDbkcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFHN0Q7O0dBRUc7QUFjSCxNQUFNLE9BQU8sc0JBQXlDLFNBQVEsNkJBQTZCO0lBd0N6RixZQUE2QixPQUE0QjtRQUN2RCxLQUFLLEVBQUUsQ0FBQztRQURtQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQXRDakQsWUFBTyxHQUFHLElBQUksZUFBZSxDQUF5QyxTQUFTLENBQUMsQ0FBQztRQUNqRixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUVyRyxXQUFNLEdBQUcs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NkVBTHRCLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLHVFQUw5Qzs7OztHQUlUOzJGQU1VLHNCQUFzQjtrQkFibEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELFNBQVMsRUFBRSxxQkFBcUIsd0JBQXdCO29CQUN4RCxJQUFJLEVBQUU7d0JBQ0osT0FBTyxFQUFFLFlBQVk7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcsIEZvcm1seUZvcm1PcHRpb25zIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCB0aHJvdHRsZVRpbWUsIHN0YXJ0V2l0aCwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEYnhGb3JtLCBEYnhGb3JtRXZlbnQsIERieEZvcm1TdGF0ZSwgUHJvdmlkZURieE11dGFibGVGb3JtIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcbmltcG9ydCB7IERieEZvcm1seUNvbnRleHQsIERieEZvcm1seUNvbnRleHREZWxlZ2F0ZSwgRGJ4Rm9ybWx5SW5pdGlhbGl6ZSB9IGZyb20gJy4vZm9ybWx5LmNvbnRleHQnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHNjYW5Db3VudCwgc3dpdGNoTWFwTWF5YmVPYnMgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogVXNlZCBmb3IgcmVuZGluZyBhIGZvcm0gZnJvbSBhIERieEZvcm1seUNvbnRleHQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1mb3JtbHknLFxuICBleHBvcnRBczogJ2Zvcm1seScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJkYngtZm9ybWx5XCI+XG4gICAgICA8Zm9ybWx5LWZvcm0gW2Zvcm1dPVwiZm9ybVwiIFtmaWVsZHNdPVwiKGZpZWxkcyQgfCBhc3luYykgPz8gW11cIiBbbW9kZWxdPVwibW9kZWxcIj48L2Zvcm1seS1mb3JtPlxuICAgIDwvZm9ybT5cbiAgYCxcbiAgcHJvdmlkZXJzOiBQcm92aWRlRGJ4TXV0YWJsZUZvcm0oRGJ4Rm9ybWx5Rm9ybUNvbXBvbmVudCksXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZGJ4LWZvcm1seSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtbHlGb3JtQ29tcG9uZW50PFQgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBEYnhGb3JtLCBEYnhGb3JtbHlDb250ZXh0RGVsZWdhdGU8VD4sIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9maWVsZHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPE9ic2VydmFibGU8Rm9ybWx5RmllbGRDb25maWdbXT4+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIF9ldmVudHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERieEZvcm1FdmVudD4oeyBpc0NvbXBsZXRlOiBmYWxzZSwgc3RhdGU6IERieEZvcm1TdGF0ZS5JTklUSUFMSVpJTkcgfSk7XG5cbiAgcHJpdmF0ZSBfcmVzZXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGU+KG5ldyBEYXRlKCkpO1xuICBwcml2YXRlIF9mb3JjZVVwZGF0ZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBtb2RlbDogYW55ID0ge307XG4gIG9wdGlvbnM6IEZvcm1seUZvcm1PcHRpb25zID0ge307XG5cbiAgcmVhZG9ubHkgZmllbGRzJCA9IHRoaXMuX2ZpZWxkcy5waXBlKHN3aXRjaE1hcE1heWJlT2JzKCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBzdHJlYW0kOiBPYnNlcnZhYmxlPERieEZvcm1FdmVudD4gPSB0aGlzLl9yZXNldC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGFzdFJlc2V0QXQpID0+IHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCgwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICB0aHJvdHRsZVRpbWUoNTAsIHVuZGVmaW5lZCwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9KSxcbiAgICAgIHNjYW5Db3VudCgpLFxuICAgICAgbWFwKChjaGFuZ2VzU2luY2VMYXN0UmVzZXRDb3VudDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzUmVzZXQgPSBjaGFuZ2VzU2luY2VMYXN0UmVzZXRDb3VudCA9PT0gMTtcbiAgICAgICAgY29uc3QgY29tcGxldGUgPSB0aGlzLmZvcm0udmFsaWQ7XG5cbiAgICAgICAgY29uc3QgbmV4dFN0YXRlOiBEYnhGb3JtRXZlbnQgPSB7XG4gICAgICAgICAgaXNDb21wbGV0ZTogY29tcGxldGUsXG4gICAgICAgICAgc3RhdGU6IChpc1Jlc2V0KSA/IERieEZvcm1TdGF0ZS5SRVNFVCA6IERieEZvcm1TdGF0ZS5VU0VELFxuICAgICAgICAgIHVudG91Y2hlZDogdGhpcy5mb3JtLnVudG91Y2hlZCxcbiAgICAgICAgICBwcmlzdGluZTogdGhpcy5mb3JtLnByaXN0aW5lLFxuICAgICAgICAgIGNoYW5nZXNDb3VudDogY2hhbmdlc1NpbmNlTGFzdFJlc2V0Q291bnQsXG4gICAgICAgICAgbGFzdFJlc2V0QXQsXG4gICAgICAgICAgaXNEaXNhYmxlZDogdGhpcy5kaXNhYmxlZFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBuZXh0U3RhdGU7XG4gICAgICB9KVxuICAgICkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb250ZXh0OiBEYnhGb3JtbHlDb250ZXh0PFQ+KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC5zZXREZWxlZ2F0ZSh0aGlzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgdGhpcy5jb250ZXh0LmNsZWFyRGVsZWdhdGUodGhpcyk7XG4gICAgICB0aGlzLl9ldmVudHMuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX2ZpZWxkcy5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5fcmVzZXQuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX2ZvcmNlVXBkYXRlLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBNQVJLOiBEZWxlZ2F0ZVxuICBpbml0KGluaXRpYWxpemU6IERieEZvcm1seUluaXRpYWxpemU8VD4pOiB2b2lkIHtcbiAgICB0aGlzLl9maWVsZHMubmV4dChpbml0aWFsaXplLmZpZWxkcyk7XG4gIH1cblxuICBnZXRWYWx1ZSgpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gb2YodGhpcy5mb3JtLnZhbHVlKTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgLy8gY29uc29sZS5sb2coJ3NldCB2YWx1ZTogJywgdmFsdWUpO1xuICAgIHRoaXMubW9kZWwgPSBjbG9uZURlZXAodmFsdWUpIGFzIFQ7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnVwZGF0ZUluaXRpYWxWYWx1ZSkge1xuICAgICAgdGhpcy5vcHRpb25zLnVwZGF0ZUluaXRpYWxWYWx1ZSgpO1xuICAgICAgdGhpcy5vcHRpb25zLnJlc2V0TW9kZWw/LigpO1xuICAgIH1cblxuICAgIC8vIFJlLW1hcmsgYXMgdW50b3VjaGVkIGFuZCBwcmlzdGluZS5cbiAgICB0aGlzLmZvcm0ubWFya0FzVW50b3VjaGVkKCk7XG4gICAgdGhpcy5mb3JtLm1hcmtBc1ByaXN0aW5lKCk7XG5cbiAgICAvLyBBZnRlciB1cGRhdGluZyB0aGUgdmFsdWUsIGlmIHRoZSBmb3JtIGlzIHN0aWxsIHVudG91Y2hlZCBtYXJrIGl0IGFzIHByaXN0aW5lIGFnYWluLlxuICAgIC8vIFNvbWV0aW1lcyB0aGUgdmFsdWVzIGdldCBtYXJrZWQgYXMgY2hhbmdlZCBhbmQgYnJlYWsgcHJpc3RpbmUgYmVmb3JlIGEgdXNlciBoYXMgdGltZSB0byBpbnRlcmFjdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm0udW50b3VjaGVkKSB7XG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgfVxuICAgIH0sIDUwMCk7XG4gIH1cblxuICByZXNldEZvcm0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5yZXNldE1vZGVsKSB7XG4gICAgICB0aGlzLm9wdGlvbnMucmVzZXRNb2RlbCgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmRpc2FibGVkO1xuICB9XG5cbiAgc2V0RGlzYWJsZWQoZGlzYWJsZWQgPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKGRpc2FibGVkICE9PSB0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5mb3JtLmRpc2FibGUoeyBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm0uZW5hYmxlKHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1BUks6IFVwZGF0ZVxuICBmb3JjZUZvcm1VcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9yY2VVcGRhdGUubmV4dCgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,16 +1,16 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
3
  import { CommonModule } from '@angular/common';
4
- import { DbxFormlyComponent } from './formly.component';
5
- // import { FormComponentFieldComponent } from './fields/component/component.field.component';
6
- // import { DbxFormWrapperModule } from './fields/wrappers/form.wrapper.module';
4
+ import { DbxFormlyFormComponent } from './formly.form.component';
7
5
  import { FormlyMatToggleModule } from '@ngx-formly/material/toggle';
8
6
  import { FormlyModule } from '@ngx-formly/core';
7
+ import { DbxFormlyFieldsContextDirective } from './formly.context.directive';
9
8
  import * as i0 from "@angular/core";
10
9
  export class DbxFormlyModule {
11
10
  }
12
11
  DbxFormlyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- DbxFormlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyModule, declarations: [DbxFormlyComponent], imports: [CommonModule,
12
+ DbxFormlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyModule, declarations: [DbxFormlyFormComponent,
13
+ DbxFormlyFieldsContextDirective], imports: [CommonModule,
14
14
  FormsModule,
15
15
  ReactiveFormsModule,
16
16
  FormlyModule,
@@ -18,9 +18,9 @@ DbxFormlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
18
18
  // Modules (?)
19
19
  FormsModule,
20
20
  ReactiveFormsModule,
21
- // DbxFormWrapperModule, // todo!
22
21
  // Directives
23
- DbxFormlyComponent] });
22
+ DbxFormlyFormComponent,
23
+ DbxFormlyFieldsContextDirective] });
24
24
  DbxFormlyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyModule, imports: [[
25
25
  CommonModule,
26
26
  FormsModule,
@@ -42,18 +42,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
42
42
  FormlyMatToggleModule
43
43
  ],
44
44
  declarations: [
45
- DbxFormlyComponent,
46
- // FormComponentFieldComponent
45
+ DbxFormlyFormComponent,
46
+ DbxFormlyFieldsContextDirective
47
47
  ],
48
48
  exports: [
49
49
  // Modules (?)
50
50
  FormsModule,
51
51
  ReactiveFormsModule,
52
- // DbxFormWrapperModule, // todo!
53
52
  // Directives
54
- DbxFormlyComponent,
55
- // FormComponentFieldComponent
53
+ DbxFormlyFormComponent,
54
+ DbxFormlyFieldsContextDirective
56
55
  ]
57
56
  }]
58
57
  }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2Zvcm1seS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELDhGQUE4RjtBQUM5RixnRkFBZ0Y7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQXdCaEQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFieEIsa0JBQWtCLGFBUGxCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixxQkFBcUI7UUFPckIsY0FBYztRQUNkLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsaUNBQWlDO1FBQ2pDLGFBQWE7UUFDYixrQkFBa0I7NkdBSVQsZUFBZSxZQXJCakI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1oscUJBQXFCO1NBQ3RCO1FBTUMsY0FBYztRQUNkLFdBQVc7UUFDWCxtQkFBbUI7MkZBT1YsZUFBZTtrQkF0QjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1oscUJBQXFCO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQiw4QkFBOEI7cUJBQy9CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixpQ0FBaUM7d0JBQ2pDLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQiw4QkFBOEI7cUJBQy9CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERieEZvcm1seUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybWx5LmNvbXBvbmVudCc7XG4vLyBpbXBvcnQgeyBGb3JtQ29tcG9uZW50RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkcy9jb21wb25lbnQvY29tcG9uZW50LmZpZWxkLmNvbXBvbmVudCc7XG4vLyBpbXBvcnQgeyBEYnhGb3JtV3JhcHBlck1vZHVsZSB9IGZyb20gJy4vZmllbGRzL3dyYXBwZXJzL2Zvcm0ud3JhcHBlci5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybWx5TWF0VG9nZ2xlTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvdG9nZ2xlJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLFxuICAgIEZvcm1seU1hdFRvZ2dsZU1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEYnhGb3JtbHlDb21wb25lbnQsXG4gICAgLy8gRm9ybUNvbXBvbmVudEZpZWxkQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAvLyBNb2R1bGVzICg/KVxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgLy8gRGJ4Rm9ybVdyYXBwZXJNb2R1bGUsIC8vIHRvZG8hXG4gICAgLy8gRGlyZWN0aXZlc1xuICAgIERieEZvcm1seUNvbXBvbmVudCxcbiAgICAvLyBGb3JtQ29tcG9uZW50RmllbGRDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtbHlNb2R1bGUgeyB9XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2Zvcm1seS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUF1QjdFLE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBWnhCLHNCQUFzQjtRQUN0QiwrQkFBK0IsYUFSL0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLHFCQUFxQjtRQU9yQixjQUFjO1FBQ2QsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2Isc0JBQXNCO1FBQ3RCLCtCQUErQjs2R0FHdEIsZUFBZSxZQXBCakI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1oscUJBQXFCO1NBQ3RCO1FBTUMsY0FBYztRQUNkLFdBQVc7UUFDWCxtQkFBbUI7MkZBTVYsZUFBZTtrQkFyQjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1oscUJBQXFCO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osc0JBQXNCO3dCQUN0QiwrQkFBK0I7cUJBQ2hDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLHNCQUFzQjt3QkFDdEIsK0JBQStCO3FCQUNoQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYnhGb3JtbHlGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtbHkuZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWx5TWF0VG9nZ2xlTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvdG9nZ2xlJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRGJ4Rm9ybWx5RmllbGRzQ29udGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybWx5LmNvbnRleHQuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZSxcbiAgICBGb3JtbHlNYXRUb2dnbGVNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGJ4Rm9ybWx5Rm9ybUNvbXBvbmVudCxcbiAgICBEYnhGb3JtbHlGaWVsZHNDb250ZXh0RGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAvLyBNb2R1bGVzICg/KVxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgLy8gRGlyZWN0aXZlc1xuICAgIERieEZvcm1seUZvcm1Db21wb25lbnQsXG4gICAgRGJ4Rm9ybWx5RmllbGRzQ29udGV4dERpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZvcm1seU1vZHVsZSB7IH1cbiJdfQ==
@@ -1,6 +1,8 @@
1
+ export * from './config';
1
2
  export * from './field';
2
3
  export * from './formly.context';
4
+ export * from './formly.context.directive';
3
5
  export * from './formly.directive';
4
- export * from './formly.component';
6
+ export * from './formly.form.component';
5
7
  export * from './formly.module';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1seS5jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1seS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtbHkubW9kdWxlJztcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5LmNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtbHkuY29udGV4dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtbHkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5LmZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5Lm1vZHVsZSc7XG4iXX0=
@@ -2,4 +2,5 @@ export * from './form';
2
2
  export * from './formly';
3
3
  export * from './layout';
4
4
  export * from './validator';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5JztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9yJztcbiJdfQ==
5
+ export * from './form.module';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5JztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS5tb2R1bGUnO1xuIl19