@icure/form 3.0.25 → 3.0.28

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 (72) hide show
  1. package/.yarn/cache/@lit-reactive-element-npm-2.1.0-77512b732b-fb36e9f64b.zip +0 -0
  2. package/.yarn/cache/@lit-task-npm-1.0.2-01d3dd32e9-22e1265a62.zip +0 -0
  3. package/.yarn/install-state.gz +0 -0
  4. package/components/common/field-with-options.d.ts +2 -2
  5. package/components/common/field-with-options.js.map +1 -1
  6. package/components/common/field.d.ts +9 -3
  7. package/components/common/field.js +16 -0
  8. package/components/common/field.js.map +1 -1
  9. package/components/icure-button-group/index.d.ts +5 -3
  10. package/components/icure-button-group/index.js +3 -3
  11. package/components/icure-button-group/index.js.map +1 -1
  12. package/components/icure-date-picker/index.d.ts +4 -1
  13. package/components/icure-date-picker/index.js +5 -5
  14. package/components/icure-date-picker/index.js.map +1 -1
  15. package/components/icure-dropdown-field/index.d.ts +5 -2
  16. package/components/icure-dropdown-field/index.js +6 -6
  17. package/components/icure-dropdown-field/index.js.map +1 -1
  18. package/components/icure-form/fields/button-group/checkbox.d.ts +2 -1
  19. package/components/icure-form/fields/button-group/checkbox.js +1 -1
  20. package/components/icure-form/fields/button-group/checkbox.js.map +1 -1
  21. package/components/icure-form/fields/button-group/radio-button.d.ts +2 -1
  22. package/components/icure-form/fields/button-group/radio-button.js +1 -1
  23. package/components/icure-form/fields/button-group/radio-button.js.map +1 -1
  24. package/components/icure-form/fields/date-picker/date-picker.d.ts +2 -1
  25. package/components/icure-form/fields/date-picker/date-picker.js +1 -1
  26. package/components/icure-form/fields/date-picker/date-picker.js.map +1 -1
  27. package/components/icure-form/fields/date-picker/date-time-picker.d.ts +2 -1
  28. package/components/icure-form/fields/date-picker/date-time-picker.js +1 -1
  29. package/components/icure-form/fields/date-picker/date-time-picker.js.map +1 -1
  30. package/components/icure-form/fields/date-picker/time-picker.d.ts +2 -1
  31. package/components/icure-form/fields/date-picker/time-picker.js +1 -1
  32. package/components/icure-form/fields/date-picker/time-picker.js.map +1 -1
  33. package/components/icure-form/fields/dropdown/dropdown-field.d.ts +1 -1
  34. package/components/icure-form/fields/dropdown/dropdown-field.js +1 -1
  35. package/components/icure-form/fields/dropdown/dropdown-field.js.map +1 -1
  36. package/components/icure-form/fields/items-list-field/items-list-field.d.ts +2 -1
  37. package/components/icure-form/fields/items-list-field/items-list-field.js +1 -1
  38. package/components/icure-form/fields/items-list-field/items-list-field.js.map +1 -1
  39. package/components/icure-form/fields/measure-field/measure-field.d.ts +2 -1
  40. package/components/icure-form/fields/measure-field/measure-field.js +1 -1
  41. package/components/icure-form/fields/measure-field/measure-field.js.map +1 -1
  42. package/components/icure-form/fields/number-field/number-field.d.ts +2 -1
  43. package/components/icure-form/fields/number-field/number-field.js +1 -1
  44. package/components/icure-form/fields/number-field/number-field.js.map +1 -1
  45. package/components/icure-form/fields/text-field/text-field.d.ts +2 -1
  46. package/components/icure-form/fields/text-field/text-field.js +1 -1
  47. package/components/icure-form/fields/text-field/text-field.js.map +1 -1
  48. package/components/icure-form/fields/token-field/token-field.d.ts +2 -1
  49. package/components/icure-form/fields/token-field/token-field.js +1 -1
  50. package/components/icure-form/fields/token-field/token-field.js.map +1 -1
  51. package/components/icure-form/index.d.ts +4 -2
  52. package/components/icure-form/index.js +39 -17
  53. package/components/icure-form/index.js.map +1 -1
  54. package/components/icure-form/renderer/form/form.js +180 -142
  55. package/components/icure-form/renderer/form/form.js.map +1 -1
  56. package/components/icure-form/renderer/index.d.ts +1 -1
  57. package/components/icure-form/renderer/index.js.map +1 -1
  58. package/components/icure-text-field/index.d.ts +4 -2
  59. package/components/icure-text-field/index.js +12 -12
  60. package/components/icure-text-field/index.js.map +1 -1
  61. package/generic/model.d.ts +3 -3
  62. package/generic/model.js.map +1 -1
  63. package/icure/form-values-container.d.ts +9 -8
  64. package/icure/form-values-container.js +167 -138
  65. package/icure/form-values-container.js.map +1 -1
  66. package/package.json +2 -1
  67. package/utils/fields-values-provider.d.ts +1 -1
  68. package/utils/fields-values-provider.js +12 -4
  69. package/utils/fields-values-provider.js.map +1 -1
  70. package/utils/interpreter.d.ts +1 -1
  71. package/utils/interpreter.js +11 -2
  72. package/utils/interpreter.js.map +1 -1
@@ -8,13 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { html, nothing } from 'lit';
11
- import { fieldValuesProvider, getValidationError, handleMetadataChangedProvider, handleValueChangedProvider } from '../../../../utils/fields-values-provider';
11
+ import { fieldValuesProvider, getValidationErrorProvider, handleMetadataChangedProvider, handleValueChangedProvider } from '../../../../utils/fields-values-provider';
12
12
  import { defaultTranslationProvider } from '../../../../utils/languages';
13
13
  import { getLabels } from '../../../common/utils';
14
14
  import { filterAndSortOptionsFromFieldDefinition, sortSuggestions } from '../../../../utils/code-utils';
15
15
  import './form-selection-button';
16
16
  import { currentDate, currentDateTime, currentTime } from '../../../../utils/dates';
17
- export const render = (form, props, formsValueContainer, translationProvider, ownersProvider = () => __awaiter(void 0, void 0, void 0, function* () { return []; }), optionsProvider, actionListener = () => undefined, languages, readonly, displayMetadata, sectionWrapper) => {
17
+ export const render = (form_1, props_1, formsValueContainer_1, translationProvider_1, ...args_1) => __awaiter(void 0, [form_1, props_1, formsValueContainer_1, translationProvider_1, ...args_1], void 0, function* (form, props, formsValueContainer, translationProvider, ownersProvider = () => __awaiter(void 0, void 0, void 0, function* () { return []; }), optionsProvider, actionListener = () => undefined, languages, readonly, displayMetadata, sectionWrapper) {
18
18
  const composedOptionsProvider = optionsProvider && form.codifications
19
19
  ? (language, codifications, terms, sortOptions) => __awaiter(void 0, void 0, void 0, function* () {
20
20
  var _a, _b, _c;
@@ -43,55 +43,63 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
43
43
  : html `<h6 class="${className}">${content}</h6>`;
44
44
  };
45
45
  function renderGroup(fg, fgSpan, level) {
46
- var _a;
47
- const subElements = ((_a = fg.fields) !== null && _a !== void 0 ? _a : []).map((fieldOrGroup) => renderFieldGroupOrSubform(fieldOrGroup, level + 1)).filter((x) => !!x && x !== nothing);
48
- return subElements.length
49
- ? html `<div class="${['group', fg.borderless ? undefined : 'bordered'].filter((x) => !!x).join(' ')}" style="${calculateFieldOrGroupSize(fgSpan, 1)}">
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ var _a;
48
+ const subElements = (yield Promise.all(((_a = fg.fields) !== null && _a !== void 0 ? _a : []).map((fieldOrGroup) => renderFieldGroupOrSubform(fieldOrGroup, level + 1)))).filter((x) => !!x && x !== nothing);
49
+ return subElements.length
50
+ ? html `<div class="${['group', fg.borderless ? undefined : 'bordered'].filter((x) => !!x).join(' ')}" style="${calculateFieldOrGroupSize(fgSpan, 1)}">
50
51
  ${fg.borderless ? nothing : html `<div>${h(level, '', html `${fg.group}`)}</div>`}
51
52
  <div class="icure-form">${subElements}</div>
52
53
  </div>`
53
- : nothing;
54
+ : nothing;
55
+ });
54
56
  }
55
57
  function renderSubform(fg, fgSpan, level) {
56
- var _a, _b, _c;
57
- const children = (_a = formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.getChildren()) === null || _a === void 0 ? void 0 : _a.filter((c) => c.getLabel() === fg.id);
58
- const tp = translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations));
59
- return html `<div class="subform" style="${calculateFieldOrGroupSize(fgSpan, 1)}">
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ var _a, _b, _c;
60
+ const children = (_a = (yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.getChildren()))) === null || _a === void 0 ? void 0 : _a.filter((c) => c.getLabel() === fg.id);
61
+ const tp = translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations));
62
+ return html `<div class="subform" style="${calculateFieldOrGroupSize(fgSpan, 1)}">
60
63
  <div class="subform__heading">
61
64
  ${h(level, 'subform__heading__title', html `${(_b = (props.language && fg.shortLabel ? tp === null || tp === void 0 ? void 0 : tp(props.language, fg.shortLabel) : fg.shortLabel)) !== null && _b !== void 0 ? _b : ''}`)}
62
65
  ${readonly
63
- ? nothing
64
- : html `<form-selection-button
66
+ ? nothing
67
+ : html `<form-selection-button
65
68
  .label="${(_c = fg.labels.add) !== null && _c !== void 0 ? _c : 'Add subform'}"
66
69
  .forms="${Object.entries(fg.forms)}"
67
70
  .formAdded="${(title, form) => {
68
- var _a;
69
- form.id && (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.addChild(fg.id, form.id, (_a = fg.shortLabel) !== null && _a !== void 0 ? _a : ''));
70
- }}"
71
+ var _a;
72
+ form.id && (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.addChild(fg.id, form.id, (_a = fg.shortLabel) !== null && _a !== void 0 ? _a : ''));
73
+ }}"
71
74
  .translationProvider="${tp}"
72
75
  .language="${props.language}"
73
76
  ></form-selection-button>`}
74
77
  </div>
75
- ${children === null || children === void 0 ? void 0 : children.map((child) => {
76
- var _a, _b, _c;
77
- const childForm = Object.values(fg.forms).find((f) => f.id === child.getFormId());
78
- const title = (_a = childForm === null || childForm === void 0 ? void 0 : childForm.form) !== null && _a !== void 0 ? _a : childForm === null || childForm === void 0 ? void 0 : childForm.description;
79
- const localisedTitle = (_b = (title && tp && props.language ? tp === null || tp === void 0 ? void 0 : tp(props.language, title) : title)) !== null && _b !== void 0 ? _b : '';
80
- const localisedRemove = (_c = (fg.labels.remove && tp && props.language ? tp === null || tp === void 0 ? void 0 : tp(props.language, fg.labels.remove) : fg.labels.remove)) !== null && _c !== void 0 ? _c : 'Remove';
81
- return (childForm &&
82
- html `
83
- <div class="subform__child">
84
- <h3 class="subform__child__title">${localisedTitle}</h3>
85
- ${render(childForm, props, child, translationProvider, ownersProvider, optionsProvider, actionListener, languages, readonly, displayMetadata)}
86
- ${readonly ? nothing : html `<button class="subform__removeBtn" @click="${() => { var _a; return (_a = formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.removeChild) === null || _a === void 0 ? void 0 : _a.call(formsValueContainer, child); }}">${localisedRemove}</button>`}
87
- </div>
88
- `);
89
- }).filter((x) => !!x)}
78
+ ${yield (children === null || children === void 0 ? void 0 : children.reduce((templatesPromise, child) => __awaiter(this, void 0, void 0, function* () {
79
+ var _a, _b, _c;
80
+ const templates = yield templatesPromise;
81
+ const childForm = Object.values(fg.forms).find((f) => f.id === child.getFormId());
82
+ const title = (_a = childForm === null || childForm === void 0 ? void 0 : childForm.form) !== null && _a !== void 0 ? _a : childForm === null || childForm === void 0 ? void 0 : childForm.description;
83
+ const localisedTitle = (_b = (title && tp && props.language ? tp === null || tp === void 0 ? void 0 : tp(props.language, title) : title)) !== null && _b !== void 0 ? _b : '';
84
+ const localisedRemove = (_c = (fg.labels.remove && tp && props.language ? tp === null || tp === void 0 ? void 0 : tp(props.language, fg.labels.remove) : fg.labels.remove)) !== null && _c !== void 0 ? _c : 'Remove';
85
+ if (childForm) {
86
+ templates.push(html `
87
+ <div class="subform__child">
88
+ <h3 class="subform__child__title">${localisedTitle}</h3>
89
+ ${yield render(childForm, props, child, translationProvider, ownersProvider, optionsProvider, actionListener, languages, readonly, displayMetadata)}
90
+ ${readonly ? nothing : html ` <button class="subform__removeBtn" @click="${() => { var _a; return (_a = formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.removeChild) === null || _a === void 0 ? void 0 : _a.call(formsValueContainer, child); }}">${localisedRemove}</button>`}
91
+ </div>
92
+ `);
93
+ }
94
+ return templates;
95
+ }), Promise.resolve([])))}
90
96
  </div>`;
97
+ });
91
98
  }
92
99
  function renderTextField(fgSpan, fgRowSpan, fg) {
93
- var _a, _b, _c, _d, _e, _f, _g, _h;
94
- return html `<icure-form-text-field
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ var _a, _b, _c, _d, _e, _f, _g, _h;
102
+ return html `<icure-form-text-field
95
103
  class="icure-form-field"
96
104
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan, (_a = fg.styleOptions) === null || _a === void 0 ? void 0 : _a.width)}"
97
105
  label="${fg.field}"
@@ -106,7 +114,7 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
106
114
  .suggestionProvider=${(_c = fg.options) === null || _c === void 0 ? void 0 : _c.suggestionProvider}
107
115
  .ownersProvider=${ownersProvider}
108
116
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
109
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
117
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
110
118
  .codeColorProvider=${(_d = fg.options) === null || _d === void 0 ? void 0 : _d.codeColorProvider}
111
119
  .linkColorProvider=${(_e = fg.options) === null || _e === void 0 ? void 0 : _e.linkColorProvider}
112
120
  .codeContentProvider=${(_f = fg.options) === null || _f === void 0 ? void 0 : _f.codeContentProvider}
@@ -115,12 +123,14 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
115
123
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
116
124
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
117
125
  .styleOptions="${fg.styleOptions}"
118
- .readonly="${readonly || fg.readonly || (((_g = fg.computedProperties) === null || _g === void 0 ? void 0 : _g.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_h = fg.computedProperties) === null || _h === void 0 ? void 0 : _h.readonly)) : false)}"
126
+ .readonly="${readonly || fg.readonly || (((_g = fg.computedProperties) === null || _g === void 0 ? void 0 : _g.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_h = fg.computedProperties) === null || _h === void 0 ? void 0 : _h.readonly))) : false)}"
119
127
  ></icure-form-text-field>`;
128
+ });
120
129
  }
121
130
  function renderTokenField(fgSpan, fgRowSpan, fg) {
122
- var _a, _b, _c, _d;
123
- return html `<icure-form-token-field
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ var _a, _b, _c, _d;
133
+ return html `<icure-form-token-field
124
134
  class="icure-form-field"
125
135
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan, (_a = fg.styleOptions) === null || _a === void 0 ? void 0 : _a.width)}"
126
136
  label="${fg.field}"
@@ -133,18 +143,20 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
133
143
  .suggestionProvider=${(_b = fg.options) === null || _b === void 0 ? void 0 : _b.suggestionProvider}
134
144
  .ownersProvider=${ownersProvider}
135
145
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
136
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
146
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
137
147
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
138
148
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
139
149
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
140
150
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
141
151
  .styleOptions="${fg.styleOptions}"
142
- .readonly="${readonly || fg.readonly || (((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly)) : false)}"
152
+ .readonly="${readonly || fg.readonly || (((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly))) : false)}"
143
153
  ></icure-form-token-field>`;
154
+ });
144
155
  }
145
156
  function renderItemsListField(fgSpan, fgRowSpan, fg) {
146
- var _a, _b, _c, _d;
147
- return html `<icure-form-items-list-field
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ var _a, _b, _c, _d;
159
+ return html `<icure-form-items-list-field
148
160
  class="icure-form-field"
149
161
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan, (_a = fg.styleOptions) === null || _a === void 0 ? void 0 : _a.width)}"
150
162
  label="${fg.field}"
@@ -157,18 +169,20 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
157
169
  .suggestionProvider=${(_b = fg.options) === null || _b === void 0 ? void 0 : _b.suggestionProvider}
158
170
  .ownersProvider=${ownersProvider}
159
171
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
160
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
172
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
161
173
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
162
174
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
163
175
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
164
176
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
165
177
  .styleOptions="${fg.styleOptions}"
166
- .readonly="${readonly || fg.readonly || (((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly)) : false)}"
178
+ .readonly="${readonly || fg.readonly || (((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.readonly))) : false)}"
167
179
  ></icure-form-items-list-field>`;
180
+ });
168
181
  }
169
182
  function renderMeasureField(fgSpan, fgRowSpan, fg) {
170
- var _a, _b;
171
- return html `<icure-form-measure-field
183
+ return __awaiter(this, void 0, void 0, function* () {
184
+ var _a, _b;
185
+ return html `<icure-form-measure-field
172
186
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
173
187
  class="icure-form-field"
174
188
  label="${fg.field}"
@@ -178,18 +192,20 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
178
192
  unit="${fg.unit}"
179
193
  .defaultLanguage="${props.language}"
180
194
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
181
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
195
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
182
196
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
183
197
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
184
198
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
185
199
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
186
200
  .styleOptions="${fg.styleOptions}"
187
- .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
201
+ .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly))) : false)}"
188
202
  ></icure-form-measure-field>`;
203
+ });
189
204
  }
190
205
  function renderNumberField(fgSpan, fgRowSpan, fg) {
191
- var _a, _b;
192
- return html `<icure-form-number-field
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ var _a, _b;
208
+ return html `<icure-form-number-field
193
209
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
194
210
  class="icure-form-field"
195
211
  label="${fg.field}"
@@ -198,18 +214,20 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
198
214
  value="${fg.value}"
199
215
  .defaultLanguage="${props.language}"
200
216
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
201
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
217
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
202
218
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
203
219
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
204
220
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
205
221
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
206
222
  .styleOptions="${fg.styleOptions}"
207
- .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
223
+ .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly))) : false)}"
208
224
  ></icure-form-number-field>`;
225
+ });
209
226
  }
210
227
  function renderDatePicker(fgSpan, fgRowSpan, fg) {
211
- var _a, _b;
212
- return html `<icure-form-date-picker
228
+ return __awaiter(this, void 0, void 0, function* () {
229
+ var _a, _b;
230
+ return html `<icure-form-date-picker
213
231
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
214
232
  class="icure-form-field"
215
233
  label="${fg.field}"
@@ -218,18 +236,20 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
218
236
  value="${fg.now ? currentDate() : fg.value}"
219
237
  .defaultLanguage="${props.language}"
220
238
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
221
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
239
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
222
240
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
223
241
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
224
242
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
225
243
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
226
244
  .styleOptions="${fg.styleOptions}"
227
- .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
245
+ .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly))) : false)}"
228
246
  ></icure-form-date-picker>`;
247
+ });
229
248
  }
230
249
  function renderTimePicker(fgSpan, fgRowSpan, fg) {
231
- var _a, _b;
232
- return html `<icure-form-time-picker
250
+ return __awaiter(this, void 0, void 0, function* () {
251
+ var _a, _b;
252
+ return html `<icure-form-time-picker
233
253
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
234
254
  class="icure-form-field"
235
255
  label="${fg.field}"
@@ -238,18 +258,20 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
238
258
  value="${fg.now ? currentTime() : fg.value}"
239
259
  .defaultLanguage="${props.language}"
240
260
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
241
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
261
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
242
262
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
243
263
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
244
264
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
245
265
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
246
266
  .styleOptions="${fg.styleOptions}"
247
- .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
267
+ .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly))) : false)}"
248
268
  ></icure-form-time-picker>`;
269
+ });
249
270
  }
250
271
  function renderDateTimePicker(fgSpan, fgRowSpan, fg) {
251
- var _a, _b;
252
- return html `<icure-form-date-time-picker
272
+ return __awaiter(this, void 0, void 0, function* () {
273
+ var _a, _b;
274
+ return html `<icure-form-date-time-picker
253
275
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
254
276
  class="icure-form-field"
255
277
  label="${fg.field}"
@@ -258,18 +280,20 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
258
280
  value="${fg.now ? currentDateTime() : fg.value}"
259
281
  .defaultLanguage="${props.language}"
260
282
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
261
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
283
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
262
284
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
263
285
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
264
286
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
265
287
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
266
288
  .styleOptions="${fg.styleOptions}"
267
- .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly)) : false)}"
289
+ .readonly="${readonly || fg.readonly || (((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly))) : false)}"
268
290
  ></icure-form-date-time-picker>`;
291
+ });
269
292
  }
270
293
  function renderDropdownField(fgSpan, fgRowSpan, fg) {
271
- var _a, _b, _c;
272
- return html `<icure-form-dropdown-field
294
+ return __awaiter(this, void 0, void 0, function* () {
295
+ var _a, _b, _c;
296
+ return html `<icure-form-dropdown-field
273
297
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
274
298
  class="icure-form-field"
275
299
  .label=${fg.field}
@@ -280,22 +304,24 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
280
304
  value="${fg.value}"
281
305
  .codifications="${fg.codifications}"
282
306
  .optionsProvider="${composedOptionsProvider && ((_a = fg.codifications) === null || _a === void 0 ? void 0 : _a.length)
283
- ? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
284
- : (language, terms) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}"
307
+ ? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
308
+ : (language, terms) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}"
285
309
  .ownersProvider=${ownersProvider}
286
310
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
287
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
311
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
288
312
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
289
313
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
290
314
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
291
315
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
292
316
  .styleOptions="${fg.styleOptions}"
293
- .readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly)) : false)}"
317
+ .readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly))) : false)}"
294
318
  ></icure-form-dropdown-field>`;
319
+ });
295
320
  }
296
321
  function renderRadioButtons(fgSpan, fgRowSpan, fg) {
297
- var _a, _b, _c;
298
- return html `<icure-form-radio-button
322
+ return __awaiter(this, void 0, void 0, function* () {
323
+ var _a, _b, _c;
324
+ return html `<icure-form-radio-button
299
325
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
300
326
  class="icure-form-field"
301
327
  .label="${fg.field}"
@@ -306,22 +332,24 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
306
332
  .sortOptions="${fg.sortOptions}"
307
333
  .codifications="${fg.codifications}"
308
334
  .optionsProvider="${composedOptionsProvider && ((_a = fg.codifications) === null || _a === void 0 ? void 0 : _a.length)
309
- ? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
310
- : (language, terms) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}"
335
+ ? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
336
+ : (language, terms) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}"
311
337
  .ownersProvider=${ownersProvider}
312
338
  .translationProvider=${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}
313
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
339
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
314
340
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
315
341
  .metadataProvider=${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}
316
342
  .handleValueChanged=${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}
317
343
  .handleMetadataChanged=${handleMetadataChangedProvider(formsValueContainer)}
318
344
  .styleOptions="${fg.styleOptions}"
319
- .readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly)) : false)}"
345
+ .readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly))) : false)}"
320
346
  ></icure-form-radio-button>`;
347
+ });
321
348
  }
322
349
  function renderCheckboxes(fgSpan, fgRowSpan, fg) {
323
- var _a, _b, _c;
324
- return html ` <icure-form-checkbox
350
+ return __awaiter(this, void 0, void 0, function* () {
351
+ var _a, _b, _c;
352
+ return html ` <icure-form-checkbox
325
353
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
326
354
  class="icure-form-field"
327
355
  .label="${fg.field}"
@@ -333,105 +361,115 @@ export const render = (form, props, formsValueContainer, translationProvider, ow
333
361
  value="${fg.value}"
334
362
  .codifications="${fg.codifications}"
335
363
  .optionsProvider="${composedOptionsProvider && ((_a = fg.codifications) === null || _a === void 0 ? void 0 : _a.length)
336
- ? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
337
- : (language, terms) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}"
364
+ ? (language, terms) => { var _a; return composedOptionsProvider(language, (_a = fg.codifications) !== null && _a !== void 0 ? _a : [], terms, fg.sortOptions); }
365
+ : (language, terms) => filterAndSortOptionsFromFieldDefinition(language, fg, translationProvider, terms)}"
338
366
  .ownersProvider="${ownersProvider}"
339
367
  .translationProvider="${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}"
340
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
368
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
341
369
  .valueProvider="${formsValueContainer && fieldValuesProvider(formsValueContainer, fg)}"
342
370
  .metadataProvider="${formsValueContainer && formsValueContainer.getMetadata.bind(formsValueContainer)}"
343
371
  .handleValueChanged="${handleValueChangedProvider(formsValueContainer, fg, props.defaultOwner)}"
344
372
  .handleMetadataChanged="${handleMetadataChangedProvider(formsValueContainer)}"
345
373
  .styleOptions="${fg.styleOptions}"
346
- .readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly)) : false)}"
374
+ .readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly))) : false)}"
347
375
  ></icure-form-checkbox>`;
376
+ });
348
377
  }
349
378
  function renderButton(fgSpan, fgRowSpan, fg) {
350
- var _a, _b, _c, _d, _e;
351
- return html `<icure-form-button
379
+ return __awaiter(this, void 0, void 0, function* () {
380
+ var _a, _b, _c, _d, _e;
381
+ return html `<icure-form-button
352
382
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
353
383
  class="icure-form-button"
354
384
  label="${(_a = fg.shortLabel) !== null && _a !== void 0 ? _a : fg.field}"
355
385
  .defaultLanguage="${props.language}"
356
386
  .translationProvider="${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}"
357
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
387
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
358
388
  .actionListener="${actionListener}"
359
- .event="${fg.event !== undefined ? fg.event : ((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.event) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.event)) : 'submit'}"
360
- .payload="${fg.payload !== undefined ? fg.payload : ((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.payload) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_e = fg.computedProperties) === null || _e === void 0 ? void 0 : _e.payload)) : undefined}"
389
+ .event="${fg.event !== undefined ? fg.event : ((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.event) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.event))) : 'submit'}"
390
+ .payload="${fg.payload !== undefined ? fg.payload : ((_d = fg.computedProperties) === null || _d === void 0 ? void 0 : _d.payload) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_e = fg.computedProperties) === null || _e === void 0 ? void 0 : _e.payload))) : undefined}"
361
391
  .styleOptions="${fg.styleOptions}"
362
392
  ></icure-form-button>`;
393
+ });
363
394
  }
364
395
  function renderLabel(fgSpan, fgRowSpan, fg) {
365
- var _a, _b, _c;
366
- return html `<icure-form-label
396
+ return __awaiter(this, void 0, void 0, function* () {
397
+ var _a, _b, _c;
398
+ return html `<icure-form-label
367
399
  style="${calculateFieldOrGroupSize(fgSpan, fgRowSpan)}"
368
400
  class="icure-form-field"
369
401
  .defaultLanguage="${props.language}"
370
402
  labelPosition=${props.labelPosition}
371
403
  label="${(_a = fg.shortLabel) !== null && _a !== void 0 ? _a : fg.field}"
372
404
  .translationProvider="${translationProvider !== null && translationProvider !== void 0 ? translationProvider : (form.translations && defaultTranslationProvider(form.translations))}"
373
- .validationErrorsProvider="${getValidationError(formsValueContainer, fg)}"
405
+ .validationErrorsProvider="${getValidationErrorProvider(formsValueContainer, fg)}"
374
406
  .styleOptions="${fg.styleOptions}"
375
- .readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly)) : false)}"
407
+ .readonly="${readonly || fg.readonly || (((_b = fg.computedProperties) === null || _b === void 0 ? void 0 : _b.readonly) ? !(yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute((_c = fg.computedProperties) === null || _c === void 0 ? void 0 : _c.readonly))) : false)}"
376
408
  ></icure-form-label>`;
409
+ });
377
410
  }
378
411
  const renderFieldGroupOrSubform = function (fg, level) {
379
- var _a, _b, _c, _d, _e, _f;
380
- if (!fg) {
381
- return nothing;
382
- }
383
- const computedProperties = Object.keys((_a = fg.computedProperties) !== null && _a !== void 0 ? _a : {}).reduce((acc, k) => { var _a; return (Object.assign(Object.assign({}, acc), { [k]: ((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a[k]) && (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute(fg.computedProperties[k])) })); }, {});
384
- if (computedProperties['hidden']) {
385
- return nothing;
386
- }
387
- const fgSpan = ((_c = (_b = computedProperties['span']) !== null && _b !== void 0 ? _b : fg.span) !== null && _c !== void 0 ? _c : 6);
388
- const fgRowSpan = ((_e = (_d = computedProperties['rowSpan']) !== null && _d !== void 0 ? _d : fg.rowSpan) !== null && _e !== void 0 ? _e : 1);
389
- if (fg.clazz === 'group' && ((_f = fg.fields) === null || _f === void 0 ? void 0 : _f.length)) {
390
- return renderGroup(fg.copy(Object.assign({}, computedProperties)), fgSpan, level);
391
- }
392
- else if (fg.clazz === 'subform' && (fg.id || computedProperties['title'])) {
393
- return renderSubform(fg.copy(Object.assign({}, computedProperties)), fgSpan, level);
394
- }
395
- else if (fg.clazz === 'field') {
396
- const field = fg.copy(Object.assign({}, computedProperties));
397
- return html `${fg.type === 'text-field'
398
- ? renderTextField(fgSpan, fgRowSpan, field)
399
- : fg.type === 'measure-field'
400
- ? renderMeasureField(fgSpan, fgRowSpan, field)
401
- : fg.type === 'token-field'
402
- ? renderTokenField(fgSpan, fgRowSpan, field)
403
- : fg.type === 'items-list-field'
404
- ? renderItemsListField(fgSpan, fgRowSpan, field)
405
- : fg.type === 'number-field'
406
- ? renderNumberField(fgSpan, fgRowSpan, field)
407
- : fg.type === 'date-picker'
408
- ? renderDatePicker(fgSpan, fgRowSpan, field)
409
- : fg.type === 'time-picker'
410
- ? renderTimePicker(fgSpan, fgRowSpan, field)
411
- : fg.type === 'date-time-picker'
412
- ? renderDateTimePicker(fgSpan, fgRowSpan, field)
413
- : fg.type === 'dropdown-field'
414
- ? renderDropdownField(fgSpan, fgRowSpan, field)
415
- : fg.type === 'radio-button'
416
- ? renderRadioButtons(fgSpan, fgRowSpan, field)
417
- : fg.type === 'checkbox'
418
- ? renderCheckboxes(fgSpan, fgRowSpan, field)
419
- : fg.type === 'label'
420
- ? renderLabel(fgSpan, fgRowSpan, field)
421
- : fg.type === 'action'
422
- ? renderButton(fgSpan, fgRowSpan, field)
423
- : ''}`;
424
- }
425
- return html ``;
412
+ return __awaiter(this, void 0, void 0, function* () {
413
+ var _a, _b, _c, _d, _e, _f;
414
+ if (!fg) {
415
+ return nothing;
416
+ }
417
+ const computedProperties = (yield Object.keys((_a = fg.computedProperties) !== null && _a !== void 0 ? _a : {}).reduce((acc, k) => __awaiter(this, void 0, void 0, function* () { var _a; return (Object.assign(Object.assign({}, (yield acc)), { [k]: ((_a = fg.computedProperties) === null || _a === void 0 ? void 0 : _a[k]) && (yield (formsValueContainer === null || formsValueContainer === void 0 ? void 0 : formsValueContainer.compute(fg.computedProperties[k]))) })); }), Promise.resolve({})));
418
+ if (computedProperties['hidden']) {
419
+ return nothing;
420
+ }
421
+ const fgSpan = ((_c = (_b = computedProperties['span']) !== null && _b !== void 0 ? _b : fg.span) !== null && _c !== void 0 ? _c : 6);
422
+ const fgRowSpan = ((_e = (_d = computedProperties['rowSpan']) !== null && _d !== void 0 ? _d : fg.rowSpan) !== null && _e !== void 0 ? _e : 1);
423
+ if (fg.clazz === 'group' && ((_f = fg.fields) === null || _f === void 0 ? void 0 : _f.length)) {
424
+ return yield renderGroup(fg.copy(Object.assign({}, computedProperties)), fgSpan, level);
425
+ }
426
+ else if (fg.clazz === 'subform' && (fg.id || computedProperties['title'])) {
427
+ return yield renderSubform(fg.copy(Object.assign({}, computedProperties)), fgSpan, level);
428
+ }
429
+ else if (fg.clazz === 'field') {
430
+ const field = fg.copy(Object.assign({}, computedProperties));
431
+ return html `${fg.type === 'text-field'
432
+ ? yield renderTextField(fgSpan, fgRowSpan, field)
433
+ : fg.type === 'measure-field'
434
+ ? yield renderMeasureField(fgSpan, fgRowSpan, field)
435
+ : fg.type === 'token-field'
436
+ ? yield renderTokenField(fgSpan, fgRowSpan, field)
437
+ : fg.type === 'items-list-field'
438
+ ? yield renderItemsListField(fgSpan, fgRowSpan, field)
439
+ : fg.type === 'number-field'
440
+ ? yield renderNumberField(fgSpan, fgRowSpan, field)
441
+ : fg.type === 'date-picker'
442
+ ? yield renderDatePicker(fgSpan, fgRowSpan, field)
443
+ : fg.type === 'time-picker'
444
+ ? yield renderTimePicker(fgSpan, fgRowSpan, field)
445
+ : fg.type === 'date-time-picker'
446
+ ? yield renderDateTimePicker(fgSpan, fgRowSpan, field)
447
+ : fg.type === 'dropdown-field'
448
+ ? yield renderDropdownField(fgSpan, fgRowSpan, field)
449
+ : fg.type === 'radio-button'
450
+ ? yield renderRadioButtons(fgSpan, fgRowSpan, field)
451
+ : fg.type === 'checkbox'
452
+ ? yield renderCheckboxes(fgSpan, fgRowSpan, field)
453
+ : fg.type === 'label'
454
+ ? yield renderLabel(fgSpan, fgRowSpan, field)
455
+ : fg.type === 'action'
456
+ ? yield renderButton(fgSpan, fgRowSpan, field)
457
+ : ''}`;
458
+ }
459
+ return html ``;
460
+ });
426
461
  };
427
462
  const calculateFieldOrGroupSize = (span, rowSpan, fixedWidth) => {
428
463
  if (fixedWidth)
429
464
  return `width: ${fixedWidth}px`;
430
465
  return `grid-column: span ${span}; ${rowSpan > 1 ? `grid-row: span ${rowSpan}` : ''}`;
431
466
  };
432
- const renderForm = (form, sectionWrapper) => {
433
- return form.sections.map((s, idx) => sectionWrapper(idx, () => html `<div class="icure-form">${s.fields.map((fieldOrGroup) => renderFieldGroupOrSubform(fieldOrGroup, 3))}</div>`));
434
- };
435
- return html `${renderForm(form, sectionWrapper !== null && sectionWrapper !== void 0 ? sectionWrapper : ((idx, section) => section()))}`;
436
- };
467
+ const renderForm = (form, sectionWrapper) => __awaiter(void 0, void 0, void 0, function* () {
468
+ return yield Promise.all(form.sections.map((s, idx) => __awaiter(void 0, void 0, void 0, function* () {
469
+ const section = yield Promise.all(s.fields.map((fieldOrGroup) => renderFieldGroupOrSubform(fieldOrGroup, 3)));
470
+ return sectionWrapper(idx, () => html ` <div class="icure-form">${section}</div>`);
471
+ })));
472
+ });
473
+ return html `${yield renderForm(form, sectionWrapper !== null && sectionWrapper !== void 0 ? sectionWrapper : ((idx, section) => section()))}`;
474
+ });
437
475
  //# sourceMappingURL=form.js.map