mod-build 3.6.41-beta.2 → 3.6.41-beta.3

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.
@@ -166,26 +166,43 @@ module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
166
166
  }
167
167
  ];
168
168
 
169
+ var mergeDefaultFormFieldConfig = function(steps, defaultConfig) {
170
+ if (!steps.items) {
171
+ console.error('No items[ ] found in steps{}!');
172
+ return steps;
173
+ }
174
+ steps.items.forEach(item => {
175
+ item.fields = item.fields.map(field => {
176
+ if (field.name && defaultConfig[field.name]) {
177
+ field = Object.assign(defaultConfig[field.name], field);
178
+ }
179
+ return field;
180
+ });
181
+ });
182
+
183
+ return steps;
184
+ };
185
+
169
186
  var getDefaultFormFieldConfig = async function() {
170
187
  const siteData = templatesData;
171
- const steps = siteData.steps || siteData.qsSteps || siteData.modSteps;
172
188
  await new Promise((resolve) => {
173
189
  request(`https://${siteSettings.nodeEnv}/quote/resources/mod-site/shared-components/steps/defaultFormFieldConfig.json`, async function(err, xhr, response) {
174
190
  if (xhr.statusCode !== 200) {
175
191
  throw new Error(`${xhr.statusCode}: Error while fetching shared-components/defaultFormFieldConfig.json`);
176
192
  }
177
- if (!steps) {
178
- throw new Error('steps not found!');
193
+
194
+ const defaultConfig = await JSON.parse(response);
195
+
196
+ if (siteData.steps) {
197
+ siteData.steps = await mergeDefaultFormFieldConfig(siteData.steps, defaultConfig)
179
198
  }
180
- response = await JSON.parse(response);
181
- steps.items.forEach(item => {
182
- item.fields = item.fields.map(field => {
183
- if (field.name && response[field.name]) {
184
- field = Object.assign(response[field.name], field);
185
- }
186
- return field;
187
- });
188
- });
199
+ if (siteData.qsSteps) {
200
+ siteData.qsSteps = await mergeDefaultFormFieldConfig(siteData.qsSteps, defaultConfig)
201
+ }
202
+ if (siteData.modSteps) {
203
+ siteData.modSteps = await mergeDefaultFormFieldConfig(siteData.modSteps, defaultConfig)
204
+ }
205
+
189
206
  resolve();
190
207
  })
191
208
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mod-build",
3
- "version": "3.6.41-beta.2",
3
+ "version": "3.6.41-beta.3",
4
4
  "description": "Share components for S3 sites.",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",