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

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