@researchdatabox/redbox-core 0.0.1-beta.9474 → 0.0.1-beta.9700
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/dist/CoreController.d.ts.map +1 -1
- package/dist/CoreController.js +8 -4
- package/dist/api-routes/groups/translation.d.ts.map +1 -1
- package/dist/api-routes/groups/translation.js +5 -1
- package/dist/config/branding.config.d.ts +2 -1
- package/dist/config/branding.config.d.ts.map +1 -1
- package/dist/config/branding.config.js +5 -95
- package/dist/config/custom.config.d.ts +6 -0
- package/dist/config/custom.config.d.ts.map +1 -1
- package/dist/config/custom.config.js +10 -1
- package/dist/config/form.config.d.ts +4 -0
- package/dist/config/form.config.d.ts.map +1 -1
- package/dist/config/form.config.js +1 -1
- package/dist/config/http.config.d.ts +2 -1
- package/dist/config/http.config.d.ts.map +1 -1
- package/dist/config/http.config.js +96 -6
- package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
- package/dist/config/reusableContributorFormDefinitions.config.js +75 -20
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +9 -4
- package/dist/config/validators.config.d.ts +6 -4
- package/dist/config/validators.config.d.ts.map +1 -1
- package/dist/config/validators.config.js +5 -3
- package/dist/config/webpack.config.d.ts.map +1 -1
- package/dist/config/webpack.config.js +9 -9
- package/dist/controllers/BrandingAppController.js +2 -2
- package/dist/controllers/BrandingController.d.ts +8 -0
- package/dist/controllers/BrandingController.d.ts.map +1 -1
- package/dist/controllers/BrandingController.js +88 -28
- package/dist/controllers/DynamicAssetController.d.ts +0 -21
- package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
- package/dist/controllers/DynamicAssetController.js +1 -42
- package/dist/controllers/FormVocabularyController.d.ts +2 -0
- package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
- package/dist/controllers/FormVocabularyController.js +58 -1
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +23 -7
- package/dist/controllers/TranslationController.js +3 -3
- package/dist/controllers/webservice/AdminController.js +2 -2
- package/dist/controllers/webservice/BrandingController.js +2 -2
- package/dist/controllers/webservice/TranslationController.d.ts.map +1 -1
- package/dist/controllers/webservice/TranslationController.js +8 -8
- package/dist/controllers/webservice/UserManagementController.d.ts +1 -1
- package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/UserManagementController.js +3 -3
- package/dist/hooks/webpack.d.ts.map +1 -1
- package/dist/hooks/webpack.js +17 -7
- package/dist/middleware/redboxSession.d.ts.map +1 -1
- package/dist/middleware/redboxSession.js +6 -2
- package/dist/model/BuildResponse.d.ts +4 -0
- package/dist/model/BuildResponse.d.ts.map +1 -1
- package/dist/sails.d.ts +2 -0
- package/dist/sails.d.ts.map +1 -1
- package/dist/services/BrandingService.d.ts.map +1 -1
- package/dist/services/BrandingService.js +4 -32
- package/dist/services/BrandingThemeCssService.d.ts +21 -0
- package/dist/services/BrandingThemeCssService.d.ts.map +1 -0
- package/dist/services/BrandingThemeCssService.js +113 -0
- package/dist/services/BrandingThemeTokens.d.ts +16 -0
- package/dist/services/BrandingThemeTokens.d.ts.map +1 -0
- package/dist/services/BrandingThemeTokens.js +82 -0
- package/dist/services/CacheService.d.ts.map +1 -1
- package/dist/services/CacheService.js +37 -29
- package/dist/services/DashboardConfigService.d.ts.map +1 -1
- package/dist/services/DashboardConfigService.js +8 -2
- package/dist/services/FormPayloadPrehydrateService.d.ts +35 -0
- package/dist/services/FormPayloadPrehydrateService.d.ts.map +1 -0
- package/dist/services/FormPayloadPrehydrateService.js +200 -0
- package/dist/services/FormRecordConsistencyService.d.ts +3 -3
- package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
- package/dist/services/FormRecordConsistencyService.js +18 -18
- package/dist/services/FormsService.js +5 -5
- package/dist/services/I18nEntriesService.d.ts +6 -4
- package/dist/services/I18nEntriesService.d.ts.map +1 -1
- package/dist/services/I18nEntriesService.js +83 -17
- package/dist/services/OniService.js +2 -2
- package/dist/services/RecordsService.js +3 -3
- package/dist/services/SassCompilerService.d.ts +4 -10
- package/dist/services/SassCompilerService.d.ts.map +1 -1
- package/dist/services/SassCompilerService.js +9 -173
- package/dist/services/StandardDatastreamService.d.ts +5 -0
- package/dist/services/StandardDatastreamService.d.ts.map +1 -1
- package/dist/services/StandardDatastreamService.js +51 -6
- package/dist/services/StorageManagerService.d.ts +1 -0
- package/dist/services/StorageManagerService.d.ts.map +1 -1
- package/dist/services/StorageManagerService.js +30 -12
- package/dist/services/TemplateService.d.ts +1 -17
- package/dist/services/TemplateService.d.ts.map +1 -1
- package/dist/services/TemplateService.js +5 -50
- package/dist/services/VocabularyService.d.ts +12 -0
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +201 -14
- package/dist/services/doi-v2/bindings.d.ts.map +1 -1
- package/dist/services/doi-v2/bindings.js +2 -8
- package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
- package/dist/services/figshare-v2/bindings.js +2 -5
- package/dist/services/index.d.ts +6 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +12 -2
- package/dist/visitor/attachment-fields.visitor.d.ts +17 -17
- package/dist/visitor/attachment-fields.visitor.d.ts.map +1 -1
- package/dist/visitor/attachment-fields.visitor.js +44 -34
- package/dist/visitor/client.visitor.d.ts +93 -92
- package/dist/visitor/client.visitor.d.ts.map +1 -1
- package/dist/visitor/client.visitor.js +169 -159
- package/dist/visitor/construct.visitor.d.ts +95 -95
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +169 -156
- package/dist/visitor/context-variables.visitor.d.ts +35 -35
- package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
- package/dist/visitor/context-variables.visitor.js +85 -75
- package/dist/visitor/data-value.visitor.d.ts +95 -95
- package/dist/visitor/data-value.visitor.d.ts.map +1 -1
- package/dist/visitor/data-value.visitor.js +151 -151
- package/dist/visitor/json-type-def.visitor.d.ts +92 -92
- package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
- package/dist/visitor/json-type-def.visitor.js +152 -152
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +96 -96
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +195 -186
- package/dist/visitor/template.visitor.d.ts +96 -94
- package/dist/visitor/template.visitor.d.ts.map +1 -1
- package/dist/visitor/template.visitor.js +220 -159
- package/dist/visitor/validator.visitor.d.ts +92 -92
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +165 -152
- package/dist/visitor/visitor-helpers.js +9 -9
- package/dist/visitor/vocab-inline.visitor.d.ts +18 -18
- package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
- package/dist/visitor/vocab-inline.visitor.js +67 -53
- package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
- package/dist/waterline-models/BrandingConfig.js +5 -4
- package/package.json +20 -17
|
@@ -29,167 +29,167 @@ class JsonTypeDefSchemaFormConfigVisitor extends sails_ng_common_1.FormConfigVis
|
|
|
29
29
|
* @param options Configure the visitor.
|
|
30
30
|
* @param options.form The constructed form.
|
|
31
31
|
*/
|
|
32
|
-
start(options) {
|
|
32
|
+
async start(options) {
|
|
33
33
|
this.jsonTypeDefPath = [];
|
|
34
34
|
this.jsonTypeDef = {};
|
|
35
35
|
this.typeaheadValueModesByJsonPath = new Map();
|
|
36
36
|
this.formPathHelper.reset();
|
|
37
|
-
options.form.accept(this);
|
|
37
|
+
await options.form.accept(this);
|
|
38
38
|
return this.jsonTypeDef;
|
|
39
39
|
}
|
|
40
40
|
/* Form Config */
|
|
41
|
-
visitFormConfig(item) {
|
|
42
|
-
(item?.componentDefinitions ?? []).
|
|
41
|
+
async visitFormConfig(item) {
|
|
42
|
+
for (const [index, componentDefinition] of (item?.componentDefinitions ?? []).entries()) {
|
|
43
43
|
// Visit children
|
|
44
|
-
this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForFormConfigComponentDefinition(componentDefinition, index), ['properties']);
|
|
45
|
-
}
|
|
44
|
+
await this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForFormConfigComponentDefinition(componentDefinition, index), ['properties']);
|
|
45
|
+
}
|
|
46
46
|
}
|
|
47
47
|
/* SimpleInput */
|
|
48
|
-
visitSimpleInputFieldComponentDefinition(_item) { }
|
|
49
|
-
visitSimpleInputFieldModelDefinition(item) {
|
|
48
|
+
async visitSimpleInputFieldComponentDefinition(_item) { }
|
|
49
|
+
async visitSimpleInputFieldModelDefinition(item) {
|
|
50
50
|
this.setFromModelDefinition(item);
|
|
51
51
|
}
|
|
52
|
-
visitSimpleInputFormComponentDefinition(item) {
|
|
53
|
-
this.acceptFormComponentDefinition(item);
|
|
52
|
+
async visitSimpleInputFormComponentDefinition(item) {
|
|
53
|
+
await this.acceptFormComponentDefinition(item);
|
|
54
54
|
}
|
|
55
55
|
/* Content */
|
|
56
|
-
visitContentFieldComponentDefinition(_item) { }
|
|
57
|
-
visitContentFormComponentDefinition(item) {
|
|
58
|
-
this.acceptFormComponentDefinition(item);
|
|
56
|
+
async visitContentFieldComponentDefinition(_item) { }
|
|
57
|
+
async visitContentFormComponentDefinition(item) {
|
|
58
|
+
await this.acceptFormComponentDefinition(item);
|
|
59
59
|
}
|
|
60
60
|
/* Repeatable */
|
|
61
|
-
visitRepeatableFieldComponentDefinition(item) {
|
|
61
|
+
async visitRepeatableFieldComponentDefinition(item) {
|
|
62
62
|
const componentDefinition = item.config?.elementTemplate;
|
|
63
63
|
if (componentDefinition) {
|
|
64
|
-
this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForRepeatableFieldComponentDefinition(componentDefinition), ['elements']);
|
|
64
|
+
await this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForRepeatableFieldComponentDefinition(componentDefinition), ['elements']);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
visitRepeatableFieldModelDefinition(_item) {
|
|
67
|
+
async visitRepeatableFieldModelDefinition(_item) {
|
|
68
68
|
// Build the json type def from the component instead of model for repeatable.
|
|
69
69
|
// Need to visit nested components to build the correct structure.
|
|
70
70
|
// this.setFromModelDefinition(item);
|
|
71
71
|
}
|
|
72
|
-
visitRepeatableElementFieldLayoutDefinition(_item) { }
|
|
73
|
-
visitRepeatableFormComponentDefinition(item) {
|
|
74
|
-
this.acceptFormComponentDefinition(item);
|
|
72
|
+
async visitRepeatableElementFieldLayoutDefinition(_item) { }
|
|
73
|
+
async visitRepeatableFormComponentDefinition(item) {
|
|
74
|
+
await this.acceptFormComponentDefinition(item);
|
|
75
75
|
}
|
|
76
76
|
/* Validation Summary */
|
|
77
|
-
visitValidationSummaryFieldComponentDefinition(_item) { }
|
|
78
|
-
visitValidationSummaryFormComponentDefinition(item) {
|
|
79
|
-
this.acceptFormComponentDefinition(item);
|
|
77
|
+
async visitValidationSummaryFieldComponentDefinition(_item) { }
|
|
78
|
+
async visitValidationSummaryFormComponentDefinition(item) {
|
|
79
|
+
await this.acceptFormComponentDefinition(item);
|
|
80
80
|
}
|
|
81
|
-
visitSuggestedValidationSummaryFieldComponentDefinition(_item) { }
|
|
82
|
-
visitSuggestedValidationSummaryFormComponentDefinition(item) {
|
|
83
|
-
this.acceptFormComponentDefinition(item);
|
|
81
|
+
async visitSuggestedValidationSummaryFieldComponentDefinition(_item) { }
|
|
82
|
+
async visitSuggestedValidationSummaryFormComponentDefinition(item) {
|
|
83
|
+
await this.acceptFormComponentDefinition(item);
|
|
84
84
|
}
|
|
85
|
-
visitSaveStatusFieldComponentDefinition(_item) { }
|
|
86
|
-
visitSaveStatusFormComponentDefinition(item) {
|
|
87
|
-
this.acceptFormComponentDefinition(item);
|
|
85
|
+
async visitSaveStatusFieldComponentDefinition(_item) { }
|
|
86
|
+
async visitSaveStatusFormComponentDefinition(item) {
|
|
87
|
+
await this.acceptFormComponentDefinition(item);
|
|
88
88
|
}
|
|
89
89
|
/* Group */
|
|
90
|
-
visitGroupFieldComponentDefinition(item) {
|
|
91
|
-
(item.config?.componentDefinitions ?? []).
|
|
90
|
+
async visitGroupFieldComponentDefinition(item) {
|
|
91
|
+
for (const [index, componentDefinition] of (item.config?.componentDefinitions ?? []).entries()) {
|
|
92
92
|
// Visit children
|
|
93
|
-
this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForGroupFieldComponentDefinition(componentDefinition, index), ['properties']);
|
|
94
|
-
}
|
|
93
|
+
await this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForGroupFieldComponentDefinition(componentDefinition, index), ['properties']);
|
|
94
|
+
}
|
|
95
95
|
}
|
|
96
|
-
visitGroupFieldModelDefinition(_item) {
|
|
96
|
+
async visitGroupFieldModelDefinition(_item) {
|
|
97
97
|
// Build the json type def from the component instead of model for group.
|
|
98
98
|
// Need to visit nested components to build the correct structure.
|
|
99
99
|
// this.setFromModelDefinition(item);
|
|
100
100
|
}
|
|
101
|
-
visitGroupFormComponentDefinition(item) {
|
|
102
|
-
this.acceptFormComponentDefinition(item);
|
|
101
|
+
async visitGroupFormComponentDefinition(item) {
|
|
102
|
+
await this.acceptFormComponentDefinition(item);
|
|
103
103
|
}
|
|
104
104
|
/* Tab */
|
|
105
|
-
visitTabFieldComponentDefinition(item) {
|
|
106
|
-
(item.config?.tabs ?? []).
|
|
105
|
+
async visitTabFieldComponentDefinition(item) {
|
|
106
|
+
for (const [index, componentDefinition] of (item.config?.tabs ?? []).entries()) {
|
|
107
107
|
// Visit children
|
|
108
|
-
this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForTabFieldComponentDefinition(componentDefinition, index));
|
|
109
|
-
}
|
|
108
|
+
await this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForTabFieldComponentDefinition(componentDefinition, index));
|
|
109
|
+
}
|
|
110
110
|
}
|
|
111
|
-
visitTabFieldLayoutDefinition(_item) { }
|
|
112
|
-
visitTabFormComponentDefinition(item) {
|
|
113
|
-
this.acceptFormComponentDefinition(item);
|
|
111
|
+
async visitTabFieldLayoutDefinition(_item) { }
|
|
112
|
+
async visitTabFormComponentDefinition(item) {
|
|
113
|
+
await this.acceptFormComponentDefinition(item);
|
|
114
114
|
}
|
|
115
115
|
/* Accordion */
|
|
116
|
-
visitAccordionFieldComponentDefinition(item) {
|
|
117
|
-
(item.config?.panels ?? []).
|
|
118
|
-
this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForAccordionFieldComponentDefinition(componentDefinition, index));
|
|
119
|
-
}
|
|
116
|
+
async visitAccordionFieldComponentDefinition(item) {
|
|
117
|
+
for (const [index, componentDefinition] of (item.config?.panels ?? []).entries()) {
|
|
118
|
+
await this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForAccordionFieldComponentDefinition(componentDefinition, index));
|
|
119
|
+
}
|
|
120
120
|
}
|
|
121
|
-
visitAccordionFieldLayoutDefinition(_item) { }
|
|
122
|
-
visitAccordionFormComponentDefinition(item) {
|
|
123
|
-
this.acceptFormComponentDefinition(item);
|
|
121
|
+
async visitAccordionFieldLayoutDefinition(_item) { }
|
|
122
|
+
async visitAccordionFormComponentDefinition(item) {
|
|
123
|
+
await this.acceptFormComponentDefinition(item);
|
|
124
124
|
}
|
|
125
|
-
visitAccordionPanelFieldComponentDefinition(item) {
|
|
126
|
-
(item.config?.componentDefinitions ?? []).
|
|
127
|
-
this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForAccordionPanelFieldComponentDefinition(componentDefinition, index));
|
|
128
|
-
}
|
|
125
|
+
async visitAccordionPanelFieldComponentDefinition(item) {
|
|
126
|
+
for (const [index, componentDefinition] of (item.config?.componentDefinitions ?? []).entries()) {
|
|
127
|
+
await this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForAccordionPanelFieldComponentDefinition(componentDefinition, index));
|
|
128
|
+
}
|
|
129
129
|
}
|
|
130
|
-
visitAccordionPanelFieldLayoutDefinition(_item) { }
|
|
131
|
-
visitAccordionPanelFormComponentDefinition(item) {
|
|
132
|
-
this.acceptFormComponentDefinition(item);
|
|
130
|
+
async visitAccordionPanelFieldLayoutDefinition(_item) { }
|
|
131
|
+
async visitAccordionPanelFormComponentDefinition(item) {
|
|
132
|
+
await this.acceptFormComponentDefinition(item);
|
|
133
133
|
}
|
|
134
134
|
/* Tab Content */
|
|
135
|
-
visitTabContentFieldComponentDefinition(item) {
|
|
136
|
-
(item.config?.componentDefinitions ?? []).
|
|
135
|
+
async visitTabContentFieldComponentDefinition(item) {
|
|
136
|
+
for (const [index, componentDefinition] of (item.config?.componentDefinitions ?? []).entries()) {
|
|
137
137
|
// Visit children
|
|
138
|
-
this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForTabContentFieldComponentDefinition(componentDefinition, index));
|
|
139
|
-
}
|
|
138
|
+
await this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForTabContentFieldComponentDefinition(componentDefinition, index));
|
|
139
|
+
}
|
|
140
140
|
}
|
|
141
|
-
visitTabContentFieldLayoutDefinition(_item) { }
|
|
142
|
-
visitTabContentFormComponentDefinition(item) {
|
|
143
|
-
this.acceptFormComponentDefinition(item);
|
|
141
|
+
async visitTabContentFieldLayoutDefinition(_item) { }
|
|
142
|
+
async visitTabContentFormComponentDefinition(item) {
|
|
143
|
+
await this.acceptFormComponentDefinition(item);
|
|
144
144
|
}
|
|
145
145
|
/* Save Button */
|
|
146
|
-
visitSaveButtonFieldComponentDefinition(_item) { }
|
|
147
|
-
visitSaveButtonFormComponentDefinition(item) {
|
|
148
|
-
this.acceptFormComponentDefinition(item);
|
|
146
|
+
async visitSaveButtonFieldComponentDefinition(_item) { }
|
|
147
|
+
async visitSaveButtonFormComponentDefinition(item) {
|
|
148
|
+
await this.acceptFormComponentDefinition(item);
|
|
149
149
|
}
|
|
150
150
|
/* Cancel Button */
|
|
151
|
-
visitCancelButtonFieldComponentDefinition(_item) { }
|
|
152
|
-
visitCancelButtonFormComponentDefinition(item) {
|
|
153
|
-
this.acceptFormComponentDefinition(item);
|
|
151
|
+
async visitCancelButtonFieldComponentDefinition(_item) { }
|
|
152
|
+
async visitCancelButtonFormComponentDefinition(item) {
|
|
153
|
+
await this.acceptFormComponentDefinition(item);
|
|
154
154
|
}
|
|
155
|
-
visitDeleteButtonFieldComponentDefinition(_item) { }
|
|
156
|
-
visitDeleteButtonFormComponentDefinition(item) {
|
|
157
|
-
this.acceptFormComponentDefinition(item);
|
|
155
|
+
async visitDeleteButtonFieldComponentDefinition(_item) { }
|
|
156
|
+
async visitDeleteButtonFormComponentDefinition(item) {
|
|
157
|
+
await this.acceptFormComponentDefinition(item);
|
|
158
158
|
}
|
|
159
159
|
/* Tab Nav Button */
|
|
160
|
-
visitTabNavButtonFieldComponentDefinition(_item) { }
|
|
161
|
-
visitTabNavButtonFormComponentDefinition(item) {
|
|
162
|
-
this.acceptFormComponentDefinition(item);
|
|
160
|
+
async visitTabNavButtonFieldComponentDefinition(_item) { }
|
|
161
|
+
async visitTabNavButtonFormComponentDefinition(item) {
|
|
162
|
+
await this.acceptFormComponentDefinition(item);
|
|
163
163
|
}
|
|
164
164
|
/* Text Area */
|
|
165
|
-
visitTextAreaFieldComponentDefinition(_item) { }
|
|
166
|
-
visitTextAreaFieldModelDefinition(item) {
|
|
165
|
+
async visitTextAreaFieldComponentDefinition(_item) { }
|
|
166
|
+
async visitTextAreaFieldModelDefinition(item) {
|
|
167
167
|
this.setFromModelDefinition(item);
|
|
168
168
|
}
|
|
169
|
-
visitTextAreaFormComponentDefinition(item) {
|
|
170
|
-
this.acceptFormComponentDefinition(item);
|
|
169
|
+
async visitTextAreaFormComponentDefinition(item) {
|
|
170
|
+
await this.acceptFormComponentDefinition(item);
|
|
171
171
|
}
|
|
172
172
|
/* Default Layout */
|
|
173
|
-
visitDefaultFieldLayoutDefinition(_item) { }
|
|
173
|
+
async visitDefaultFieldLayoutDefinition(_item) { }
|
|
174
174
|
/* Checkbox Input */
|
|
175
|
-
visitCheckboxInputFieldComponentDefinition(_item) { }
|
|
176
|
-
visitCheckboxInputFieldModelDefinition(item) {
|
|
175
|
+
async visitCheckboxInputFieldComponentDefinition(_item) { }
|
|
176
|
+
async visitCheckboxInputFieldModelDefinition(item) {
|
|
177
177
|
this.setFromModelDefinition(item);
|
|
178
178
|
}
|
|
179
|
-
visitCheckboxInputFormComponentDefinition(item) {
|
|
180
|
-
this.acceptFormComponentDefinition(item);
|
|
179
|
+
async visitCheckboxInputFormComponentDefinition(item) {
|
|
180
|
+
await this.acceptFormComponentDefinition(item);
|
|
181
181
|
}
|
|
182
182
|
/* Checkbox Tree */
|
|
183
|
-
visitCheckboxTreeFieldComponentDefinition(_item) { }
|
|
184
|
-
visitCheckboxTreeFieldModelDefinition(item) {
|
|
183
|
+
async visitCheckboxTreeFieldComponentDefinition(_item) { }
|
|
184
|
+
async visitCheckboxTreeFieldModelDefinition(item) {
|
|
185
185
|
this.setFromModelDefinition(item);
|
|
186
186
|
}
|
|
187
|
-
visitCheckboxTreeFormComponentDefinition(item) {
|
|
188
|
-
this.acceptFormComponentDefinition(item);
|
|
187
|
+
async visitCheckboxTreeFormComponentDefinition(item) {
|
|
188
|
+
await this.acceptFormComponentDefinition(item);
|
|
189
189
|
}
|
|
190
190
|
/* Record Selector */
|
|
191
|
-
visitRecordSelectorFieldComponentDefinition(_item) { }
|
|
192
|
-
visitRecordSelectorFieldModelDefinition(_item) {
|
|
191
|
+
async visitRecordSelectorFieldComponentDefinition(_item) { }
|
|
192
|
+
async visitRecordSelectorFieldModelDefinition(_item) {
|
|
193
193
|
(0, lodash_1.set)(this.jsonTypeDef, this.jsonTypeDefPath, {
|
|
194
194
|
properties: {
|
|
195
195
|
oid: { type: 'string' },
|
|
@@ -199,23 +199,23 @@ class JsonTypeDefSchemaFormConfigVisitor extends sails_ng_common_1.FormConfigVis
|
|
|
199
199
|
},
|
|
200
200
|
});
|
|
201
201
|
}
|
|
202
|
-
visitRecordSelectorFormComponentDefinition(item) {
|
|
203
|
-
this.acceptFormComponentDefinition(item);
|
|
202
|
+
async visitRecordSelectorFormComponentDefinition(item) {
|
|
203
|
+
await this.acceptFormComponentDefinition(item);
|
|
204
204
|
}
|
|
205
205
|
/* Dropdown Input */
|
|
206
|
-
visitDropdownInputFieldComponentDefinition(_item) { }
|
|
207
|
-
visitDropdownInputFieldModelDefinition(item) {
|
|
206
|
+
async visitDropdownInputFieldComponentDefinition(_item) { }
|
|
207
|
+
async visitDropdownInputFieldModelDefinition(item) {
|
|
208
208
|
this.setFromModelDefinition(item);
|
|
209
209
|
}
|
|
210
|
-
visitDropdownInputFormComponentDefinition(item) {
|
|
211
|
-
this.acceptFormComponentDefinition(item);
|
|
210
|
+
async visitDropdownInputFormComponentDefinition(item) {
|
|
211
|
+
await this.acceptFormComponentDefinition(item);
|
|
212
212
|
}
|
|
213
213
|
/* Typeahead Input */
|
|
214
|
-
visitTypeaheadInputFieldComponentDefinition(item) {
|
|
214
|
+
async visitTypeaheadInputFieldComponentDefinition(item) {
|
|
215
215
|
const jsonPathKey = this.jsonTypeDefPath.join('/');
|
|
216
216
|
this.typeaheadValueModesByJsonPath.set(jsonPathKey, item.config?.valueMode === 'optionObject' ? 'optionObject' : 'value');
|
|
217
217
|
}
|
|
218
|
-
visitTypeaheadInputFieldModelDefinition(item) {
|
|
218
|
+
async visitTypeaheadInputFieldModelDefinition(item) {
|
|
219
219
|
const jsonPathKey = this.jsonTypeDefPath.join('/');
|
|
220
220
|
const valueMode = this.typeaheadValueModesByJsonPath.get(jsonPathKey) ?? 'value';
|
|
221
221
|
if (valueMode === 'optionObject') {
|
|
@@ -232,110 +232,110 @@ class JsonTypeDefSchemaFormConfigVisitor extends sails_ng_common_1.FormConfigVis
|
|
|
232
232
|
}
|
|
233
233
|
this.setFromModelDefinition(item);
|
|
234
234
|
}
|
|
235
|
-
visitTypeaheadInputFormComponentDefinition(item) {
|
|
236
|
-
this.acceptFormComponentDefinition(item);
|
|
235
|
+
async visitTypeaheadInputFormComponentDefinition(item) {
|
|
236
|
+
await this.acceptFormComponentDefinition(item);
|
|
237
237
|
}
|
|
238
238
|
/* Rich Text Editor */
|
|
239
|
-
visitRichTextEditorFieldComponentDefinition(_item) { }
|
|
240
|
-
visitRichTextEditorFieldModelDefinition(item) {
|
|
239
|
+
async visitRichTextEditorFieldComponentDefinition(_item) { }
|
|
240
|
+
async visitRichTextEditorFieldModelDefinition(item) {
|
|
241
241
|
this.setFromModelDefinition(item);
|
|
242
242
|
}
|
|
243
|
-
visitRichTextEditorFormComponentDefinition(item) {
|
|
244
|
-
this.acceptFormComponentDefinition(item);
|
|
243
|
+
async visitRichTextEditorFormComponentDefinition(item) {
|
|
244
|
+
await this.acceptFormComponentDefinition(item);
|
|
245
245
|
}
|
|
246
246
|
/* Map */
|
|
247
|
-
visitMapFieldComponentDefinition(_item) { }
|
|
248
|
-
visitMapFieldModelDefinition(_item) {
|
|
247
|
+
async visitMapFieldComponentDefinition(_item) { }
|
|
248
|
+
async visitMapFieldModelDefinition(_item) {
|
|
249
249
|
(0, lodash_1.set)(this.jsonTypeDef, this.jsonTypeDefPath, {
|
|
250
250
|
type: 'object',
|
|
251
251
|
});
|
|
252
252
|
}
|
|
253
|
-
visitMapFormComponentDefinition(item) {
|
|
254
|
-
this.acceptFormComponentDefinition(item);
|
|
253
|
+
async visitMapFormComponentDefinition(item) {
|
|
254
|
+
await this.acceptFormComponentDefinition(item);
|
|
255
255
|
}
|
|
256
256
|
/* File Upload */
|
|
257
|
-
visitFileUploadFieldComponentDefinition(_item) { }
|
|
258
|
-
visitFileUploadFieldModelDefinition(_item) {
|
|
257
|
+
async visitFileUploadFieldComponentDefinition(_item) { }
|
|
258
|
+
async visitFileUploadFieldModelDefinition(_item) {
|
|
259
259
|
(0, lodash_1.set)(this.jsonTypeDef, this.jsonTypeDefPath, {
|
|
260
260
|
elements: {
|
|
261
261
|
type: 'object',
|
|
262
262
|
},
|
|
263
263
|
});
|
|
264
264
|
}
|
|
265
|
-
visitFileUploadFormComponentDefinition(item) {
|
|
266
|
-
this.acceptFormComponentDefinition(item);
|
|
265
|
+
async visitFileUploadFormComponentDefinition(item) {
|
|
266
|
+
await this.acceptFormComponentDefinition(item);
|
|
267
267
|
}
|
|
268
|
-
visitPDFListFieldComponentDefinition(_item) { }
|
|
269
|
-
visitPDFListFieldModelDefinition(_item) {
|
|
268
|
+
async visitPDFListFieldComponentDefinition(_item) { }
|
|
269
|
+
async visitPDFListFieldModelDefinition(_item) {
|
|
270
270
|
(0, lodash_1.set)(this.jsonTypeDef, this.jsonTypeDefPath, {
|
|
271
271
|
elements: {
|
|
272
272
|
type: 'object',
|
|
273
273
|
},
|
|
274
274
|
});
|
|
275
275
|
}
|
|
276
|
-
visitPDFListFormComponentDefinition(item) {
|
|
277
|
-
this.acceptFormComponentDefinition(item);
|
|
276
|
+
async visitPDFListFormComponentDefinition(item) {
|
|
277
|
+
await this.acceptFormComponentDefinition(item);
|
|
278
278
|
}
|
|
279
|
-
visitRecordMetadataRetrieverFieldComponentDefinition(_item) { }
|
|
280
|
-
visitRecordMetadataRetrieverFormComponentDefinition(item) {
|
|
281
|
-
this.acceptFormComponentDefinition(item);
|
|
279
|
+
async visitRecordMetadataRetrieverFieldComponentDefinition(_item) { }
|
|
280
|
+
async visitRecordMetadataRetrieverFormComponentDefinition(item) {
|
|
281
|
+
await this.acceptFormComponentDefinition(item);
|
|
282
282
|
}
|
|
283
283
|
/* Data Location */
|
|
284
|
-
visitDataLocationFieldComponentDefinition(_item) { }
|
|
285
|
-
visitDataLocationFieldModelDefinition(_item) {
|
|
284
|
+
async visitDataLocationFieldComponentDefinition(_item) { }
|
|
285
|
+
async visitDataLocationFieldModelDefinition(_item) {
|
|
286
286
|
(0, lodash_1.set)(this.jsonTypeDef, this.jsonTypeDefPath, {
|
|
287
287
|
elements: {
|
|
288
288
|
type: 'object',
|
|
289
289
|
},
|
|
290
290
|
});
|
|
291
291
|
}
|
|
292
|
-
visitDataLocationFormComponentDefinition(item) {
|
|
293
|
-
this.acceptFormComponentDefinition(item);
|
|
292
|
+
async visitDataLocationFormComponentDefinition(item) {
|
|
293
|
+
await this.acceptFormComponentDefinition(item);
|
|
294
294
|
}
|
|
295
295
|
// The refresh trigger contributes no persisted JSON schema because it does not
|
|
296
296
|
// write a value into form data.
|
|
297
|
-
visitPublishDataLocationRefreshFieldComponentDefinition(_item) { }
|
|
298
|
-
visitPublishDataLocationRefreshFormComponentDefinition(item) {
|
|
299
|
-
this.acceptFormComponentDefinition(item);
|
|
297
|
+
async visitPublishDataLocationRefreshFieldComponentDefinition(_item) { }
|
|
298
|
+
async visitPublishDataLocationRefreshFormComponentDefinition(item) {
|
|
299
|
+
await this.acceptFormComponentDefinition(item);
|
|
300
300
|
}
|
|
301
|
-
visitPublishDataLocationSelectorFieldComponentDefinition(_item) { }
|
|
302
|
-
visitPublishDataLocationSelectorFieldModelDefinition(_item) {
|
|
301
|
+
async visitPublishDataLocationSelectorFieldComponentDefinition(_item) { }
|
|
302
|
+
async visitPublishDataLocationSelectorFieldModelDefinition(_item) {
|
|
303
303
|
(0, lodash_1.set)(this.jsonTypeDef, this.jsonTypeDefPath, {
|
|
304
304
|
elements: {
|
|
305
305
|
type: 'object',
|
|
306
306
|
},
|
|
307
307
|
});
|
|
308
308
|
}
|
|
309
|
-
visitPublishDataLocationSelectorFormComponentDefinition(item) {
|
|
310
|
-
this.acceptFormComponentDefinition(item);
|
|
309
|
+
async visitPublishDataLocationSelectorFormComponentDefinition(item) {
|
|
310
|
+
await this.acceptFormComponentDefinition(item);
|
|
311
311
|
}
|
|
312
312
|
/* Radio Input */
|
|
313
|
-
visitRadioInputFieldComponentDefinition(_item) { }
|
|
314
|
-
visitRadioInputFieldModelDefinition(item) {
|
|
313
|
+
async visitRadioInputFieldComponentDefinition(_item) { }
|
|
314
|
+
async visitRadioInputFieldModelDefinition(item) {
|
|
315
315
|
this.setFromModelDefinition(item);
|
|
316
316
|
}
|
|
317
|
-
visitRadioInputFormComponentDefinition(item) {
|
|
318
|
-
this.acceptFormComponentDefinition(item);
|
|
317
|
+
async visitRadioInputFormComponentDefinition(item) {
|
|
318
|
+
await this.acceptFormComponentDefinition(item);
|
|
319
319
|
}
|
|
320
320
|
/* Date Input */
|
|
321
|
-
visitDateInputFieldComponentDefinition(_item) { }
|
|
322
|
-
visitDateInputFieldModelDefinition(item) {
|
|
321
|
+
async visitDateInputFieldComponentDefinition(_item) { }
|
|
322
|
+
async visitDateInputFieldModelDefinition(item) {
|
|
323
323
|
this.setFromModelDefinition(item);
|
|
324
324
|
}
|
|
325
|
-
visitDateInputFormComponentDefinition(item) {
|
|
326
|
-
this.acceptFormComponentDefinition(item);
|
|
325
|
+
async visitDateInputFormComponentDefinition(item) {
|
|
326
|
+
await this.acceptFormComponentDefinition(item);
|
|
327
327
|
}
|
|
328
328
|
/* Question Tree */
|
|
329
|
-
visitQuestionTreeFieldComponentDefinition(item) {
|
|
330
|
-
(item.config?.componentDefinitions ?? []).
|
|
331
|
-
this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForQuestionTreeFieldComponentDefinition(componentDefinition, index), ['properties']);
|
|
332
|
-
}
|
|
329
|
+
async visitQuestionTreeFieldComponentDefinition(item) {
|
|
330
|
+
for (const [index, componentDefinition] of (item.config?.componentDefinitions ?? []).entries()) {
|
|
331
|
+
await this.acceptJsonTypeDefPath(componentDefinition, this.formPathHelper.lineagePathsForQuestionTreeFieldComponentDefinition(componentDefinition, index), ['properties']);
|
|
332
|
+
}
|
|
333
333
|
}
|
|
334
|
-
visitQuestionTreeFieldModelDefinition(_item) {
|
|
334
|
+
async visitQuestionTreeFieldModelDefinition(_item) {
|
|
335
335
|
// Visit nested components to build the correct structure.
|
|
336
336
|
}
|
|
337
|
-
visitQuestionTreeFormComponentDefinition(item) {
|
|
338
|
-
this.acceptFormComponentDefinition(item);
|
|
337
|
+
async visitQuestionTreeFormComponentDefinition(item) {
|
|
338
|
+
await this.acceptFormComponentDefinition(item);
|
|
339
339
|
}
|
|
340
340
|
/* Shared */
|
|
341
341
|
setFromModelDefinition(item) {
|
|
@@ -363,21 +363,21 @@ class JsonTypeDefSchemaFormConfigVisitor extends sails_ng_common_1.FormConfigVis
|
|
|
363
363
|
* @param item The form component definition outline.
|
|
364
364
|
* @protected
|
|
365
365
|
*/
|
|
366
|
-
acceptFormComponentDefinition(item) {
|
|
366
|
+
async acceptFormComponentDefinition(item) {
|
|
367
367
|
const jsonTypeDefPathKeys = item.model && item.name ? [item.name] : [];
|
|
368
|
-
this.acceptJsonTypeDefPath(item.component, { formConfig: ['component'] }, jsonTypeDefPathKeys);
|
|
368
|
+
await this.acceptJsonTypeDefPath(item.component, { formConfig: ['component'] }, jsonTypeDefPathKeys);
|
|
369
369
|
if (item.model) {
|
|
370
|
-
this.acceptJsonTypeDefPath(item.model, { formConfig: ['model'] }, jsonTypeDefPathKeys);
|
|
370
|
+
await this.acceptJsonTypeDefPath(item.model, { formConfig: ['model'] }, jsonTypeDefPathKeys);
|
|
371
371
|
}
|
|
372
372
|
if (item.layout) {
|
|
373
|
-
this.acceptJsonTypeDefPath(item.layout, { formConfig: ['layout'] }, jsonTypeDefPathKeys);
|
|
373
|
+
await this.acceptJsonTypeDefPath(item.layout, { formConfig: ['layout'] }, jsonTypeDefPathKeys);
|
|
374
374
|
}
|
|
375
375
|
}
|
|
376
|
-
acceptJsonTypeDefPath(item, more, jsonTypeDefPathKeys) {
|
|
376
|
+
async acceptJsonTypeDefPath(item, more, jsonTypeDefPathKeys) {
|
|
377
377
|
const originalPath = [...this.jsonTypeDefPath];
|
|
378
378
|
try {
|
|
379
379
|
this.jsonTypeDefPath = [...originalPath, ...(jsonTypeDefPathKeys ?? [])];
|
|
380
|
-
this.formPathHelper.acceptFormPath(item, more);
|
|
380
|
+
await this.formPathHelper.acceptFormPath(item, more);
|
|
381
381
|
}
|
|
382
382
|
finally {
|
|
383
383
|
this.jsonTypeDefPath = originalPath;
|
|
@@ -385,4 +385,4 @@ class JsonTypeDefSchemaFormConfigVisitor extends sails_ng_common_1.FormConfigVis
|
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
387
|
exports.JsonTypeDefSchemaFormConfigVisitor = JsonTypeDefSchemaFormConfigVisitor;
|
|
388
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi10eXBlLWRlZi52aXNpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zpc2l0b3IvanNvbi10eXBlLWRlZi52aXNpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNFQUFxRTtBQUVyRSxtQ0FBcUM7QUFVckMsc0VBTTBDO0FBd0kxQyxzRUFBNkQ7QUFLN0Qsc0VBQWtFO0FBR2xFOzs7O0dBSUc7QUFDSCxNQUFhLGtDQUFtQyxTQUFRLG1DQUFpQjtJQUNwRCxPQUFPLEdBQUcsb0NBQW9DLENBQUM7SUFFMUQsZUFBZSxDQUFjO0lBQzdCLFdBQVcsQ0FBMEI7SUFDckMsNkJBQTZCLENBQXdDO0lBQ3JFLGNBQWMsQ0FBaUI7SUFFdkMsWUFBWSxNQUFlO1FBQ3pCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztRQUNqRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FBb0M7UUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksR0FBRyxFQUFvQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxpQkFBaUI7SUFF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
|
|
388
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi10eXBlLWRlZi52aXNpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zpc2l0b3IvanNvbi10eXBlLWRlZi52aXNpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNFQUFxRTtBQUVyRSxtQ0FBcUM7QUFVckMsc0VBTTBDO0FBd0kxQyxzRUFBNkQ7QUFLN0Qsc0VBQWtFO0FBR2xFOzs7O0dBSUc7QUFDSCxNQUFhLGtDQUFtQyxTQUFRLG1DQUFpQjtJQUNwRCxPQUFPLEdBQUcsb0NBQW9DLENBQUM7SUFFMUQsZUFBZSxDQUFjO0lBQzdCLFdBQVcsQ0FBMEI7SUFDckMsNkJBQTZCLENBQXdDO0lBQ3JFLGNBQWMsQ0FBaUI7SUFFdkMsWUFBWSxNQUFlO1FBQ3pCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztRQUNqRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQW9DO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztRQUNqRixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTVCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7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
|