@dereekb/dbx-form 0.0.1 → 1.2.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.
- package/{src/_index.scss → _index.scss} +8 -0
- package/esm2020/lib/form/action/form.action.directive.mjs +44 -42
- package/esm2020/lib/form/action/form.action.module.mjs +6 -6
- package/esm2020/lib/form/action/index.mjs +2 -1
- package/esm2020/lib/form/action/transition/form.action.transition.module.mjs +26 -0
- package/esm2020/lib/form/action/transition/form.action.transition.safety.directive.mjs +40 -0
- package/esm2020/lib/form/action/transition/index.mjs +3 -0
- package/esm2020/lib/form/form.mjs +11 -4
- package/esm2020/lib/form/form.module.mjs +15 -26
- package/esm2020/lib/form/index.mjs +2 -4
- package/esm2020/lib/form/io/form.changes.directive.mjs +34 -0
- package/esm2020/lib/form/io/form.input.directive.mjs +49 -0
- package/esm2020/lib/form/io/form.io.module.mjs +36 -0
- package/esm2020/lib/form/io/form.loading.directive.mjs +52 -0
- package/esm2020/lib/form/io/index.mjs +5 -0
- package/esm2020/lib/form.module.mjs +25 -0
- package/esm2020/lib/formly/config/index.mjs +2 -0
- package/esm2020/lib/formly/config/validation.mjs +22 -0
- package/esm2020/lib/formly/field/checklist/checklist.field.mjs +105 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +31 -33
- package/esm2020/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +4 -4
- package/esm2020/lib/formly/field/checklist/checklist.item.field.mjs +8 -112
- package/esm2020/lib/formly/field/checklist/checklist.item.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/checklist/index.mjs +2 -1
- package/esm2020/lib/formly/field/component/component.field.component.mjs +9 -9
- package/esm2020/lib/formly/field/component/component.field.mjs +4 -2
- package/esm2020/lib/formly/field/component/component.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/field.mjs +35 -2
- package/esm2020/lib/formly/field/form.field.module.mjs +44 -0
- package/esm2020/lib/formly/field/index.mjs +3 -1
- package/esm2020/lib/formly/field/selection/index.mjs +2 -1
- package/esm2020/lib/formly/field/selection/pickable/index.mjs +2 -1
- package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +14 -12
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +43 -34
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.mjs +39 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +25 -16
- package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +76 -17
- package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +34 -17
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +67 -53
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +71 -55
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.mjs +30 -7
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +12 -14
- package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +1 -1
- package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +37 -13
- package/esm2020/lib/formly/field/selection/searchable/text.chip.field.mjs +1 -1
- package/esm2020/lib/formly/field/selection/selection.mjs +1 -1
- package/esm2020/lib/formly/field/selection/selection.module.mjs +28 -0
- package/esm2020/lib/formly/field/texteditor/index.mjs +4 -0
- package/esm2020/lib/formly/field/texteditor/texteditor.field.component.mjs +90 -0
- package/esm2020/lib/formly/field/texteditor/texteditor.field.mjs +20 -0
- package/esm2020/lib/formly/field/texteditor/texteditor.field.module.mjs +59 -0
- package/esm2020/lib/formly/field/value/array/array.field.component.mjs +87 -51
- package/esm2020/lib/formly/field/value/array/array.field.mjs +20 -0
- package/esm2020/lib/formly/field/value/array/array.field.module.mjs +28 -10
- package/esm2020/lib/formly/field/value/array/index.mjs +2 -1
- package/esm2020/lib/formly/field/value/boolean/boolean.field.mjs +11 -20
- package/esm2020/lib/formly/field/value/boolean/boolean.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/value/date/date.field.module.mjs +13 -10
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +76 -46
- package/esm2020/lib/formly/field/value/date/datetime.field.mjs +36 -0
- package/esm2020/lib/formly/field/value/date/index.mjs +2 -2
- package/esm2020/lib/formly/field/value/enum/enum.field.mjs +1 -1
- package/esm2020/lib/formly/field/value/enum/enum.field.module.mjs +16 -0
- package/esm2020/lib/formly/field/value/enum/index.mjs +2 -1
- package/esm2020/lib/formly/field/value/hidden.field.mjs +1 -1
- package/esm2020/lib/formly/field/value/index.mjs +2 -1
- package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +13 -33
- package/esm2020/lib/formly/field/value/phone/phone.field.mjs +50 -52
- package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +18 -10
- package/esm2020/lib/formly/field/value/text/index.mjs +2 -1
- package/esm2020/lib/formly/field/value/text/text.additional.field.mjs +81 -0
- package/esm2020/lib/formly/field/value/text/text.address.field.mjs +16 -23
- package/esm2020/lib/formly/field/value/text/text.field.mjs +11 -110
- package/esm2020/lib/formly/field/value/text/text.field.module.mjs +11 -6
- package/esm2020/lib/formly/field/value/value.module.mjs +44 -0
- package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +4 -4
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +12 -56
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +58 -0
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.component.mjs +18 -8
- package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +47 -34
- package/esm2020/lib/formly/field/wrapper/index.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/info.wrapper.component.mjs +16 -16
- package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +17 -23
- package/esm2020/lib/formly/field/wrapper/style.wrapper.component.mjs +43 -0
- package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +17 -23
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +16 -20
- package/esm2020/lib/formly/field/wrapper/wrapper.mjs +81 -0
- package/esm2020/lib/formly/formly.context.directive.mjs +38 -0
- package/esm2020/lib/formly/formly.context.mjs +45 -70
- package/esm2020/lib/formly/formly.directive.mjs +21 -18
- package/esm2020/lib/formly/formly.form.component.mjs +127 -0
- package/esm2020/lib/formly/formly.module.mjs +14 -15
- package/esm2020/lib/formly/index.mjs +4 -2
- package/esm2020/lib/index.mjs +2 -1
- package/esm2020/lib/layout/form.layout.module.mjs +4 -4
- package/esm2020/lib/layout/form.spacer.component.mjs +3 -3
- package/fesm2015/dereekb-dbx-form.mjs +1695 -990
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form.mjs +1740 -970
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
- package/{src/lib → lib}/form/_form.scss +0 -0
- package/lib/form/action/form.action.directive.d.ts +3 -3
- package/lib/form/action/form.action.module.d.ts +4 -4
- package/lib/form/action/index.d.ts +1 -0
- package/lib/form/action/transition/form.action.transition.module.d.ts +8 -0
- package/lib/form/action/transition/form.action.transition.safety.directive.d.ts +20 -0
- package/lib/form/action/transition/index.d.ts +2 -0
- package/lib/form/form.d.ts +30 -19
- package/lib/form/form.module.d.ts +4 -5
- package/lib/form/index.d.ts +1 -3
- package/lib/form/{form.changes.directive.d.ts → io/form.changes.directive.d.ts} +1 -1
- package/lib/form/{form.input.directive.d.ts → io/form.input.directive.d.ts} +3 -3
- package/lib/form/io/form.io.module.d.ts +10 -0
- package/lib/form/io/form.loading.directive.d.ts +19 -0
- package/lib/form/io/index.d.ts +4 -0
- package/lib/form.module.d.ts +9 -0
- package/{src/lib → lib}/formly/_formly.scss +0 -0
- package/lib/formly/config/index.d.ts +1 -0
- package/lib/formly/config/validation.d.ts +19 -0
- package/{src/lib → lib}/formly/field/_field.scss +0 -0
- package/lib/formly/field/checklist/_checklist.scss +76 -0
- package/lib/formly/field/checklist/checklist.field.d.ts +45 -0
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +13 -12
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +1 -1
- package/lib/formly/field/checklist/checklist.item.field.d.ts +3 -47
- package/lib/formly/field/checklist/index.d.ts +1 -0
- package/{src/lib → lib}/formly/field/component/_component.scss +0 -0
- package/lib/formly/field/component/component.field.component.d.ts +6 -2
- package/lib/formly/field/field.d.ts +17 -3
- package/{src/lib → lib}/formly/field/fields_TODO.scss +0 -0
- package/lib/formly/field/form.field.module.d.ts +13 -0
- package/lib/formly/field/index.d.ts +2 -0
- package/{src/lib → lib}/formly/field/selection/_selection.scss +0 -0
- package/lib/formly/field/selection/index.d.ts +1 -0
- package/{src/lib → lib}/formly/field/selection/pickable/_pickable.scss +10 -1
- package/lib/formly/field/selection/pickable/index.d.ts +1 -0
- package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +3 -3
- package/lib/formly/field/selection/pickable/pickable.field.d.ts +13 -0
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +17 -13
- package/lib/formly/field/selection/pickable/pickable.field.module.d.ts +1 -1
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +27 -3
- package/lib/formly/field/selection/searchable/_searchable.scss +59 -0
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +7 -1
- package/lib/formly/field/selection/searchable/searchable.d.ts +6 -8
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +20 -14
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +20 -11
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +33 -24
- package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +1 -1
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +11 -1
- package/lib/formly/field/selection/searchable/text.chip.field.d.ts +2 -2
- package/lib/formly/field/selection/selection.d.ts +1 -0
- package/lib/formly/field/selection/selection.module.d.ts +9 -0
- package/lib/formly/field/texteditor/_texteditor.scss +98 -0
- package/lib/formly/field/texteditor/index.d.ts +3 -0
- package/lib/formly/field/texteditor/texteditor.field.component.d.ts +26 -0
- package/lib/formly/field/texteditor/texteditor.field.d.ts +7 -0
- package/lib/formly/field/texteditor/texteditor.field.module.d.ts +14 -0
- package/{src/lib → lib}/formly/field/value/_value.scss +0 -0
- package/lib/formly/field/value/array/_array.scss +73 -0
- package/lib/formly/field/value/array/array.field.component.d.ts +22 -11
- package/lib/formly/field/value/array/array.field.d.ts +9 -0
- package/lib/formly/field/value/array/array.field.module.d.ts +6 -3
- package/lib/formly/field/value/array/index.d.ts +1 -0
- package/{src/lib → lib}/formly/field/value/boolean/_boolean.scss +0 -0
- package/lib/formly/field/value/boolean/boolean.field.d.ts +5 -5
- package/lib/formly/field/value/date/_date.scss +79 -0
- package/lib/formly/field/value/date/date.field.module.d.ts +2 -1
- package/lib/formly/field/value/date/datetime.field.component.d.ts +16 -13
- package/lib/formly/field/value/date/datetime.field.d.ts +14 -0
- package/lib/formly/field/value/date/index.d.ts +1 -1
- package/{src/lib → lib}/formly/field/value/enum/_enum.scss +0 -0
- package/lib/formly/field/value/enum/enum.field.d.ts +2 -2
- package/lib/formly/field/value/enum/enum.field.module.d.ts +6 -0
- package/lib/formly/field/value/enum/index.d.ts +1 -0
- package/lib/formly/field/value/hidden.field.d.ts +2 -2
- package/lib/formly/field/value/index.d.ts +1 -0
- package/lib/formly/field/value/phone/_phone.scss +55 -0
- package/lib/formly/field/value/phone/phone.field.component.d.ts +8 -14
- package/lib/formly/field/value/phone/phone.field.d.ts +20 -18
- package/lib/formly/field/value/phone/phone.field.module.d.ts +10 -8
- package/{src/lib → lib}/formly/field/value/text/_text.scss +0 -0
- package/lib/formly/field/value/text/index.d.ts +1 -0
- package/lib/formly/field/value/text/text.additional.field.d.ts +19 -0
- package/lib/formly/field/value/text/text.address.field.d.ts +8 -9
- package/lib/formly/field/value/text/text.field.d.ts +5 -33
- package/lib/formly/field/value/text/text.field.module.d.ts +3 -2
- package/lib/formly/field/value/value.module.d.ts +13 -0
- package/{src/lib → lib}/formly/field/wrapper/_wrapper.scss +15 -2
- package/lib/formly/field/wrapper/autotouch.wrapper.component.d.ts +2 -2
- package/lib/formly/field/wrapper/expandable.wrapper.component.d.ts +8 -37
- package/lib/formly/field/wrapper/expandable.wrapper.delegate.d.ts +36 -0
- package/lib/formly/field/wrapper/flex.wrapper.component.d.ts +19 -4
- package/lib/formly/field/wrapper/form.wrapper.module.d.ts +10 -8
- package/lib/formly/field/wrapper/index.d.ts +2 -2
- package/lib/formly/field/wrapper/info.wrapper.component.d.ts +9 -9
- package/lib/formly/field/wrapper/section.wrapper.component.d.ts +16 -5
- package/lib/formly/field/wrapper/style.wrapper.component.d.ts +22 -0
- package/lib/formly/field/wrapper/subsection.wrapper.component.d.ts +16 -5
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +6 -14
- package/lib/formly/field/wrapper/wrapper.d.ts +34 -0
- package/{src/lib → lib}/formly/form_TODO.scss +0 -0
- package/lib/formly/formly.context.d.ts +14 -22
- package/lib/formly/formly.context.directive.d.ts +17 -0
- package/lib/formly/formly.directive.d.ts +7 -3
- package/lib/formly/formly.form.component.d.ts +35 -0
- package/lib/formly/formly.module.d.ts +7 -6
- package/lib/formly/index.d.ts +3 -1
- package/lib/index.d.ts +1 -0
- package/{src/lib → lib}/layout/_layout.scss +0 -0
- package/{src/lib → lib}/style/_all-core.scss +0 -0
- package/{src/lib → lib}/style/_all-theme.scss +0 -0
- package/{src/lib → lib}/style/_all-typography.scss +0 -0
- package/{src/lib → lib}/style/_config.scss +0 -0
- package/{src/lib → lib}/style/_core.scss +0 -0
- package/{src/lib → lib}/style/_mixin.scss +0 -0
- package/{src/lib → lib}/style/_theming.scss +0 -0
- package/{src/lib → lib}/style/_variables.scss +0 -0
- package/package.json +23 -23
- package/esm2020/lib/form/form.changes.directive.mjs +0 -33
- package/esm2020/lib/form/form.input.directive.mjs +0 -49
- package/esm2020/lib/form/loading/form.loading.directive.mjs +0 -52
- package/esm2020/lib/form/loading/index.mjs +0 -2
- package/esm2020/lib/formly/field/value/date/date.field.mjs +0 -36
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.layout.mjs +0 -20
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.mjs +0 -10
- package/esm2020/lib/formly/formly.component.mjs +0 -134
- package/lib/form/loading/form.loading.directive.d.ts +0 -19
- package/lib/form/loading/index.d.ts +0 -1
- package/lib/formly/field/value/date/date.field.d.ts +0 -13
- package/lib/formly/field/wrapper/flex.wrapper.layout.d.ts +0 -10
- package/lib/formly/field/wrapper/toggle.wrapper.d.ts +0 -7
- package/lib/formly/formly.component.d.ts +0 -36
- package/src/lib/formly/field/checklist/_checklist.scss +0 -26
- package/src/lib/formly/field/checklist/checklist.item_TODO.scss +0 -57
- package/src/lib/formly/field/selection/generic_TODO.scss +0 -36
- package/src/lib/formly/field/selection/searchable/_searchable.scss +0 -26
- package/src/lib/formly/field/texteditor/_texteditor.scss +0 -26
- package/src/lib/formly/field/texteditor/texteditor_TODO.scss +0 -32
- package/src/lib/formly/field/value/array/_array.scss +0 -26
- package/src/lib/formly/field/value/date/_date.scss +0 -26
- package/src/lib/formly/field/value/date/date_TODO.scss +0 -27
- package/src/lib/formly/field/value/phone/_phone.scss +0 -26
- package/src/lib/formly/field/value/phone/phone_TODO.scss +0 -10
- package/src/lib/formly/field/wrapper/wrapper_TODO.scss +0 -34
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export const EXPANDABLE_WRAPPER_KEY = 'expandable';
|
|
2
|
+
export const TOGGLE_WRAPPER_KEY = 'toggle';
|
|
3
|
+
export const SECTION_WRAPPER_KEY = 'section';
|
|
4
|
+
export const SUBSECTION_WRAPPER_KEY = 'subsection';
|
|
5
|
+
export const INFO_WRAPPER_KEY = 'info';
|
|
6
|
+
export const FLEX_WRAPPER_KEY = 'flex';
|
|
7
|
+
export const STYLE_WRAPPER_KEY = 'style';
|
|
8
|
+
export function addWrapperToFormlyFieldConfig(fieldConfig, wrapperKey, wrapperTemplateOptionsConfig) {
|
|
9
|
+
fieldConfig.templateOptions = {
|
|
10
|
+
...fieldConfig.templateOptions,
|
|
11
|
+
...wrapperTemplateOptionsConfig
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
wrappers: [wrapperKey],
|
|
15
|
+
templateOptions: wrapperTemplateOptionsConfig,
|
|
16
|
+
fieldGroup: [fieldConfig]
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function expandWrapper(fieldConfig, expandWrapper) {
|
|
20
|
+
return addWrapperToFormlyFieldConfig(fieldConfig, EXPANDABLE_WRAPPER_KEY, {
|
|
21
|
+
expandWrapper
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export function toggleWrapper(fieldConfig, expandWrapper) {
|
|
25
|
+
return addWrapperToFormlyFieldConfig(fieldConfig, TOGGLE_WRAPPER_KEY, {
|
|
26
|
+
expandWrapper
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export function sectionWrapper(fieldConfig, sectionWrapper) {
|
|
30
|
+
return addWrapperToFormlyFieldConfig(fieldConfig, SECTION_WRAPPER_KEY, {
|
|
31
|
+
sectionWrapper
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
export function subsectionWrapper(fieldConfig, subsectionWrapper) {
|
|
35
|
+
return addWrapperToFormlyFieldConfig(fieldConfig, SUBSECTION_WRAPPER_KEY, {
|
|
36
|
+
subsectionWrapper
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
export function infoWrapper(fieldConfig, infoWrapper) {
|
|
40
|
+
return addWrapperToFormlyFieldConfig(fieldConfig, INFO_WRAPPER_KEY, {
|
|
41
|
+
infoWrapper
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export function styleWrapper(fieldConfig, styleWrapper) {
|
|
45
|
+
return addWrapperToFormlyFieldConfig(fieldConfig, STYLE_WRAPPER_KEY, {
|
|
46
|
+
styleWrapper
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
export function checkIsFieldFlexLayoutGroupFieldConfig(input) {
|
|
50
|
+
if (input.field != null) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export function flexLayoutWrapper(fieldConfigs, { relative, breakpoint, size: defaultSize = 2 } = {}) {
|
|
58
|
+
return {
|
|
59
|
+
wrappers: ['flex'],
|
|
60
|
+
fieldGroupClassName: 'dbx-flex-group',
|
|
61
|
+
// fieldGroupClassName: 'field-layout-group',
|
|
62
|
+
templateOptions: {
|
|
63
|
+
flexWrapper: {
|
|
64
|
+
breakpoint,
|
|
65
|
+
relative
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
fieldGroup: fieldConfigs.map((inputConfig) => {
|
|
69
|
+
const fieldConfig = checkIsFieldFlexLayoutGroupFieldConfig(inputConfig) ? inputConfig : {
|
|
70
|
+
field: inputConfig
|
|
71
|
+
};
|
|
72
|
+
const { field, size = defaultSize } = fieldConfig;
|
|
73
|
+
const className = `dbx-flex-${size}`;
|
|
74
|
+
return {
|
|
75
|
+
...field,
|
|
76
|
+
className
|
|
77
|
+
};
|
|
78
|
+
})
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3dyYXBwZXIvd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUM7QUFFekMsTUFBTSxVQUFVLDZCQUE2QixDQUFtQixXQUE4QixFQUFFLFVBQWtCLEVBQUUsNEJBQStCO0lBQ2pKLFdBQVcsQ0FBQyxlQUFlLEdBQUc7UUFDNUIsR0FBRyxXQUFXLENBQUMsZUFBZTtRQUM5QixHQUFHLDRCQUE0QjtLQUNoQyxDQUFDO0lBRUYsT0FBTztRQUNMLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQztRQUN0QixlQUFlLEVBQUUsNEJBQTRCO1FBQzdDLFVBQVUsRUFBRSxDQUFDLFdBQVcsQ0FBQztLQUMxQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsV0FBOEIsRUFBRSxhQUEwQztJQUN0RyxPQUFPLDZCQUE2QixDQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRTtRQUN4RSxhQUFhO0tBQ2QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsV0FBOEIsRUFBRSxhQUEwQztJQUN0RyxPQUFPLDZCQUE2QixDQUFDLFdBQVcsRUFBRSxrQkFBa0IsRUFBRTtRQUNwRSxhQUFhO0tBQ2QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsV0FBOEIsRUFBRSxjQUFxQztJQUNsRyxPQUFPLDZCQUE2QixDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRTtRQUNyRSxjQUFjO0tBQ2YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxXQUE4QixFQUFFLGlCQUEyQztJQUMzRyxPQUFPLDZCQUE2QixDQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRTtRQUN4RSxpQkFBaUI7S0FDbEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBOEIsRUFBRSxXQUE4QjtJQUN4RixPQUFPLDZCQUE2QixDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRTtRQUNsRSxXQUFXO0tBQ1osQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsV0FBOEIsRUFBRSxZQUF1QztJQUNsRyxPQUFPLDZCQUE2QixDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRTtRQUNuRSxZQUFZO0tBQ2IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQVlELE1BQU0sVUFBVSxzQ0FBc0MsQ0FBQyxLQUErRDtJQUNwSCxJQUFLLEtBQThDLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqRSxPQUFPLElBQUksQ0FBQztLQUNiO1NBQU07UUFDTCxPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxZQUEwRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsV0FBVyxHQUFHLENBQUMsS0FBbUQsRUFBRTtJQUM5TSxPQUFPO1FBQ0wsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2xCLG1CQUFtQixFQUFFLGdCQUFnQjtRQUNyQyw2Q0FBNkM7UUFDN0MsZUFBZSxFQUFFO1lBQ2YsV0FBVyxFQUFFO2dCQUNYLFVBQVU7Z0JBQ1YsUUFBUTthQUNUO1NBQ0Y7UUFDRCxVQUFVLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzNDLE1BQU0sV0FBVyxHQUF5QyxzQ0FBc0MsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDNUgsS0FBSyxFQUFFLFdBQVc7YUFDbkIsQ0FBQztZQUVGLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLFdBQVcsRUFBRSxHQUFHLFdBQVcsQ0FBQztZQUNsRCxNQUFNLFNBQVMsR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1lBRXJDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLFNBQVM7YUFDVixDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYnhGb3JtU3R5bGVXcmFwcGVyQ29uZmlnIH0gZnJvbSAnLi9zdHlsZS53cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGbGV4V3JhcHBlckNvbmZpZyB9IGZyb20gJy4vZmxleC53cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRGJ4Rm9ybVRvZ2dsZVdyYXBwZXJDb25maWcgfSBmcm9tICcuL3RvZ2dsZS53cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGb3JtU2VjdGlvbkNvbmZpZyB9IGZyb20gJy4vc2VjdGlvbi53cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGb3JtU3Vic2VjdGlvbkNvbmZpZyB9IGZyb20gJy4vc3Vic2VjdGlvbi53cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGb3JtSW5mb0NvbmZpZyB9IGZyb20gJy4vaW5mby53cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGb3JtRXhwYW5kV3JhcHBlckNvbmZpZyB9IGZyb20gJy4vZXhwYW5kYWJsZS53cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhGbGV4U2l6ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuXG5leHBvcnQgY29uc3QgRVhQQU5EQUJMRV9XUkFQUEVSX0tFWSA9ICdleHBhbmRhYmxlJztcbmV4cG9ydCBjb25zdCBUT0dHTEVfV1JBUFBFUl9LRVkgPSAndG9nZ2xlJztcbmV4cG9ydCBjb25zdCBTRUNUSU9OX1dSQVBQRVJfS0VZID0gJ3NlY3Rpb24nO1xuZXhwb3J0IGNvbnN0IFNVQlNFQ1RJT05fV1JBUFBFUl9LRVkgPSAnc3Vic2VjdGlvbic7XG5leHBvcnQgY29uc3QgSU5GT19XUkFQUEVSX0tFWSA9ICdpbmZvJztcbmV4cG9ydCBjb25zdCBGTEVYX1dSQVBQRVJfS0VZID0gJ2ZsZXgnO1xuZXhwb3J0IGNvbnN0IFNUWUxFX1dSQVBQRVJfS0VZID0gJ3N0eWxlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFdyYXBwZXJUb0Zvcm1seUZpZWxkQ29uZmlnPFQgZXh0ZW5kcyBvYmplY3Q+KGZpZWxkQ29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZywgd3JhcHBlcktleTogc3RyaW5nLCB3cmFwcGVyVGVtcGxhdGVPcHRpb25zQ29uZmlnOiBUKTogRm9ybWx5RmllbGRDb25maWcge1xuICBmaWVsZENvbmZpZy50ZW1wbGF0ZU9wdGlvbnMgPSB7XG4gICAgLi4uZmllbGRDb25maWcudGVtcGxhdGVPcHRpb25zLFxuICAgIC4uLndyYXBwZXJUZW1wbGF0ZU9wdGlvbnNDb25maWdcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIHdyYXBwZXJzOiBbd3JhcHBlcktleV0sXG4gICAgdGVtcGxhdGVPcHRpb25zOiB3cmFwcGVyVGVtcGxhdGVPcHRpb25zQ29uZmlnLFxuICAgIGZpZWxkR3JvdXA6IFtmaWVsZENvbmZpZ11cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cGFuZFdyYXBwZXIoZmllbGRDb25maWc6IEZvcm1seUZpZWxkQ29uZmlnLCBleHBhbmRXcmFwcGVyPzogRGJ4Rm9ybUV4cGFuZFdyYXBwZXJDb25maWcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIHJldHVybiBhZGRXcmFwcGVyVG9Gb3JtbHlGaWVsZENvbmZpZyhmaWVsZENvbmZpZywgRVhQQU5EQUJMRV9XUkFQUEVSX0tFWSwge1xuICAgIGV4cGFuZFdyYXBwZXJcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVXcmFwcGVyKGZpZWxkQ29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZywgZXhwYW5kV3JhcHBlcj86IERieEZvcm1Ub2dnbGVXcmFwcGVyQ29uZmlnKTogRm9ybWx5RmllbGRDb25maWcge1xuICByZXR1cm4gYWRkV3JhcHBlclRvRm9ybWx5RmllbGRDb25maWcoZmllbGRDb25maWcsIFRPR0dMRV9XUkFQUEVSX0tFWSwge1xuICAgIGV4cGFuZFdyYXBwZXJcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWN0aW9uV3JhcHBlcihmaWVsZENvbmZpZzogRm9ybWx5RmllbGRDb25maWcsIHNlY3Rpb25XcmFwcGVyPzogRGJ4Rm9ybVNlY3Rpb25Db25maWcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIHJldHVybiBhZGRXcmFwcGVyVG9Gb3JtbHlGaWVsZENvbmZpZyhmaWVsZENvbmZpZywgU0VDVElPTl9XUkFQUEVSX0tFWSwge1xuICAgIHNlY3Rpb25XcmFwcGVyXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic2VjdGlvbldyYXBwZXIoZmllbGRDb25maWc6IEZvcm1seUZpZWxkQ29uZmlnLCBzdWJzZWN0aW9uV3JhcHBlcj86IERieEZvcm1TdWJzZWN0aW9uQ29uZmlnKTogRm9ybWx5RmllbGRDb25maWcge1xuICByZXR1cm4gYWRkV3JhcHBlclRvRm9ybWx5RmllbGRDb25maWcoZmllbGRDb25maWcsIFNVQlNFQ1RJT05fV1JBUFBFUl9LRVksIHtcbiAgICBzdWJzZWN0aW9uV3JhcHBlclxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluZm9XcmFwcGVyKGZpZWxkQ29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZywgaW5mb1dyYXBwZXI6IERieEZvcm1JbmZvQ29uZmlnKTogRm9ybWx5RmllbGRDb25maWcge1xuICByZXR1cm4gYWRkV3JhcHBlclRvRm9ybWx5RmllbGRDb25maWcoZmllbGRDb25maWcsIElORk9fV1JBUFBFUl9LRVksIHtcbiAgICBpbmZvV3JhcHBlclxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0eWxlV3JhcHBlcihmaWVsZENvbmZpZzogRm9ybWx5RmllbGRDb25maWcsIHN0eWxlV3JhcHBlcjogRGJ4Rm9ybVN0eWxlV3JhcHBlckNvbmZpZyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcmV0dXJuIGFkZFdyYXBwZXJUb0Zvcm1seUZpZWxkQ29uZmlnKGZpZWxkQ29uZmlnLCBTVFlMRV9XUkFQUEVSX0tFWSwge1xuICAgIHN0eWxlV3JhcHBlclxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGbGV4TGF5b3V0V3JhcHBlckdyb3VwRmllbGRDb25maWcge1xuICBmaWVsZDogRm9ybWx5RmllbGRDb25maWc7XG4gIC8qKlxuICAgKiBGbGV4IHNwYWNlIHNpemluZyBmb3IgdGhlIGZpZWxkLiBJZiB1bmRlZmluZWQgaXQgd2lsbCBkZWZhdWx0IHRvIHRoZSBwcm92aWRlZCBkZWZhdWx0IHNpemUuXG4gICAqL1xuICBzaXplPzogRGJ4RmxleFNpemU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmxleExheW91dFdyYXBwZXJHcm91cEZpZWxkQ29uZmlnRGVmYXVsdHMgZXh0ZW5kcyBEYnhGbGV4V3JhcHBlckNvbmZpZywgT21pdDxEYnhGbGV4TGF5b3V0V3JhcHBlckdyb3VwRmllbGRDb25maWcsICdmaWVsZCc+IHsgfVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tJc0ZpZWxkRmxleExheW91dEdyb3VwRmllbGRDb25maWcoaW5wdXQ6IEZvcm1seUZpZWxkQ29uZmlnIHwgRGJ4RmxleExheW91dFdyYXBwZXJHcm91cEZpZWxkQ29uZmlnKTogaW5wdXQgaXMgRGJ4RmxleExheW91dFdyYXBwZXJHcm91cEZpZWxkQ29uZmlnIHtcbiAgaWYgKChpbnB1dCBhcyBEYnhGbGV4TGF5b3V0V3JhcHBlckdyb3VwRmllbGRDb25maWcpLmZpZWxkICE9IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsZXhMYXlvdXRXcmFwcGVyKGZpZWxkQ29uZmlnczogKEZvcm1seUZpZWxkQ29uZmlnIHwgRGJ4RmxleExheW91dFdyYXBwZXJHcm91cEZpZWxkQ29uZmlnKVtdLCB7IHJlbGF0aXZlLCBicmVha3BvaW50LCBzaXplOiBkZWZhdWx0U2l6ZSA9IDIgfTogRGJ4RmxleExheW91dFdyYXBwZXJHcm91cEZpZWxkQ29uZmlnRGVmYXVsdHMgPSB7fSk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICB3cmFwcGVyczogWydmbGV4J10sXG4gICAgZmllbGRHcm91cENsYXNzTmFtZTogJ2RieC1mbGV4LWdyb3VwJyxcbiAgICAvLyBmaWVsZEdyb3VwQ2xhc3NOYW1lOiAnZmllbGQtbGF5b3V0LWdyb3VwJyxcbiAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgIGZsZXhXcmFwcGVyOiB7XG4gICAgICAgIGJyZWFrcG9pbnQsXG4gICAgICAgIHJlbGF0aXZlXG4gICAgICB9XG4gICAgfSxcbiAgICBmaWVsZEdyb3VwOiBmaWVsZENvbmZpZ3MubWFwKChpbnB1dENvbmZpZykgPT4ge1xuICAgICAgY29uc3QgZmllbGRDb25maWc6IERieEZsZXhMYXlvdXRXcmFwcGVyR3JvdXBGaWVsZENvbmZpZyA9IGNoZWNrSXNGaWVsZEZsZXhMYXlvdXRHcm91cEZpZWxkQ29uZmlnKGlucHV0Q29uZmlnKSA/IGlucHV0Q29uZmlnIDoge1xuICAgICAgICBmaWVsZDogaW5wdXRDb25maWdcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHsgZmllbGQsIHNpemUgPSBkZWZhdWx0U2l6ZSB9ID0gZmllbGRDb25maWc7XG4gICAgICBjb25zdCBjbGFzc05hbWUgPSBgZGJ4LWZsZXgtJHtzaXplfWA7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgIH07XG4gICAgfSlcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -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.4", ngImport: i0, type: DbxFormlyFieldsContextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
DbxFormlyFieldsContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: DbxFormlyFieldsContextDirective, selector: "[dbxFormlyFields]", inputs: { fields: ["dbxFormlyFields", "fields"] }, providers: ProvideFormlyContext(), usesInheritance: true, ngImport: i0 });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", 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 {
|
|
3
|
-
import {
|
|
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
|
-
|
|
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.
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
26
|
-
this.
|
|
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.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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 (
|
|
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
|
|
51
|
-
this._delegate.setFields(this._fields);
|
|
56
|
+
this._fields.next(fields);
|
|
52
57
|
}
|
|
53
58
|
// MARK: FormComponent
|
|
54
|
-
|
|
55
|
-
return this._delegate.
|
|
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
|
|
68
|
-
this._delegate.
|
|
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.
|
|
69
|
+
return this._disabled.value;
|
|
72
70
|
}
|
|
73
71
|
setDisabled(disabled = true) {
|
|
74
|
-
this._disabled
|
|
75
|
-
this._delegate.setDisabled(disabled);
|
|
72
|
+
this._disabled.next(disabled);
|
|
76
73
|
}
|
|
77
74
|
resetForm() {
|
|
78
|
-
this._delegate.
|
|
75
|
+
if (this._delegate.value) {
|
|
76
|
+
this._delegate.value.resetForm();
|
|
77
|
+
}
|
|
79
78
|
}
|
|
80
79
|
forceFormUpdate() {
|
|
81
|
-
this._delegate.
|
|
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
|
-
|
|
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,18 +22,21 @@ export class AbstractFormlyFormDirective {
|
|
|
22
22
|
}
|
|
23
23
|
// Utility Functions
|
|
24
24
|
getValue() {
|
|
25
|
-
return this.context.
|
|
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
|
}
|
|
33
36
|
}
|
|
34
|
-
AbstractFormlyFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
35
|
-
AbstractFormlyFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
37
|
+
AbstractFormlyFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractFormlyFormDirective, deps: [{ token: i1.DbxFormlyContext }], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
+
AbstractFormlyFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: AbstractFormlyFormDirective, inputs: { disabled: "disabled" }, ngImport: i0 });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractFormlyFormDirective, decorators: [{
|
|
37
40
|
type: Directive
|
|
38
41
|
}], ctorParameters: function () { return [{ type: i1.DbxFormlyContext }]; }, propDecorators: { disabled: [{
|
|
39
42
|
type: Input
|
|
@@ -46,9 +49,9 @@ export class AbstractSyncFormlyFormDirective extends AbstractFormlyFormDirective
|
|
|
46
49
|
this.context.fields = this.fields;
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
|
-
AbstractSyncFormlyFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
50
|
-
AbstractSyncFormlyFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
52
|
+
AbstractSyncFormlyFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractSyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
53
|
+
AbstractSyncFormlyFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: AbstractSyncFormlyFormDirective, usesInheritance: true, ngImport: i0 });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractSyncFormlyFormDirective, decorators: [{
|
|
52
55
|
type: Directive
|
|
53
56
|
}] });
|
|
54
57
|
/**
|
|
@@ -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
|
}
|
|
@@ -69,16 +72,16 @@ export class AbstractAsyncFormlyFormDirective extends AbstractFormlyFormDirectiv
|
|
|
69
72
|
this._fieldsSub.destroy();
|
|
70
73
|
}
|
|
71
74
|
}
|
|
72
|
-
AbstractAsyncFormlyFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
73
|
-
AbstractAsyncFormlyFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
75
|
+
AbstractAsyncFormlyFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractAsyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
76
|
+
AbstractAsyncFormlyFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: AbstractAsyncFormlyFormDirective, usesInheritance: true, ngImport: i0 });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractAsyncFormlyFormDirective, decorators: [{
|
|
75
78
|
type: Directive
|
|
76
79
|
}] });
|
|
77
80
|
export class AbstractConfigAsyncFormlyFormDirective extends AbstractAsyncFormlyFormDirective {
|
|
78
81
|
constructor() {
|
|
79
82
|
super(...arguments);
|
|
80
83
|
this._config = new BehaviorSubject(undefined);
|
|
81
|
-
this.config$ = this._config.
|
|
84
|
+
this.config$ = this._config.pipe(filterMaybe(), shareReplay(1));
|
|
82
85
|
}
|
|
83
86
|
get config() {
|
|
84
87
|
return this._config.value;
|
|
@@ -91,11 +94,11 @@ export class AbstractConfigAsyncFormlyFormDirective extends AbstractAsyncFormlyF
|
|
|
91
94
|
this._config.complete();
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
|
-
AbstractConfigAsyncFormlyFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
95
|
-
AbstractConfigAsyncFormlyFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
97
|
+
AbstractConfigAsyncFormlyFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractConfigAsyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
98
|
+
AbstractConfigAsyncFormlyFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: AbstractConfigAsyncFormlyFormDirective, inputs: { config: "config" }, usesInheritance: true, ngImport: i0 });
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractConfigAsyncFormlyFormDirective, decorators: [{
|
|
97
100
|
type: Directive
|
|
98
101
|
}], propDecorators: { config: [{
|
|
99
102
|
type: Input
|
|
100
103
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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.4", ngImport: i0, type: DbxFormlyFormComponent, deps: [{ token: i1.DbxFormlyContext }], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
+
DbxFormlyFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", 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.4", 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==
|