mod-build 3.7.0 → 3.7.2-7.beta-5

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 (42) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/gulp-tasks/build.js +4 -4
  3. package/gulp-tasks/clean.js +8 -1
  4. package/gulp-tasks/get-default-trade-questions.js +155 -0
  5. package/gulp-tasks/grab-cdn.js +26 -21
  6. package/gulp-tasks/grab-mhsadmin-data.js +418 -0
  7. package/gulp-tasks/grab-section-deals-components.js +47 -0
  8. package/gulp-tasks/grab-shared-scripts.js +21 -5
  9. package/gulp-tasks/serve.js +5 -5
  10. package/gulp-tasks/tasks.js +36 -3
  11. package/gulp-tasks/templates.js +95 -12
  12. package/package.json +1 -1
  13. package/src/scripts/vendor/heap-addeventproperties-identify.js +1 -1
  14. package/src/scripts/vendor/heap-tracking.js +1 -1
  15. package/src/scripts/vendor/heap-vwo.js +1 -1
  16. package/src/scripts/vendor/visual-website-optimizer.js +7 -8
  17. package/src/templates/_partials/scripts/vwo-redirect-callback.html +20 -0
  18. package/src/trade-questions/alerts_medical.js +111 -0
  19. package/src/trade-questions/bathroom_refacing.js +96 -0
  20. package/src/trade-questions/cabinet_refacing.js +251 -0
  21. package/src/trade-questions/cabinets.js +35 -0
  22. package/src/trade-questions/concrete_foundation.js +57 -0
  23. package/src/trade-questions/door.js +143 -0
  24. package/src/trade-questions/flooring.js +185 -0
  25. package/src/trade-questions/garage_door.js +89 -0
  26. package/src/trade-questions/gutters.js +45 -0
  27. package/src/trade-questions/home_security.js +130 -0
  28. package/src/trade-questions/home_warranty.js +57 -0
  29. package/src/trade-questions/hot_tubs.js +92 -0
  30. package/src/trade-questions/hvac.js +179 -0
  31. package/src/trade-questions/index.js +26 -0
  32. package/src/trade-questions/insulation.js +118 -0
  33. package/src/trade-questions/plumbing.js +260 -0
  34. package/src/trade-questions/roofing.js +118 -0
  35. package/src/trade-questions/siding.js +150 -0
  36. package/src/trade-questions/solar.js +69 -0
  37. package/src/trade-questions/stair_lifts.js +47 -0
  38. package/src/trade-questions/tree_services.js +169 -0
  39. package/src/trade-questions/walk_in_tubs.js +47 -0
  40. package/src/trade-questions/water_treatment.js +48 -0
  41. package/src/trade-questions/windows.js +132 -0
  42. package/src/trade-questions-config.js +139 -0
@@ -0,0 +1,57 @@
1
+ /* eslint-disable */
2
+ const home_warranty = {
3
+ Interest: {
4
+ fields: [
5
+ {
6
+ legend: {
7
+ text: 'Why are you interested in a home warranty?'
8
+ },
9
+ options: [
10
+ {
11
+ attributes: {
12
+ name: 'Interest',
13
+ value: 'BuyHome',
14
+ checked: '',
15
+ data: {
16
+ required: 'nonempty'
17
+ }
18
+ },
19
+ text: 'I\'m in the process of buying a home'
20
+ },
21
+ {
22
+ attributes: {
23
+ name: 'Interest',
24
+ value: 'ProtectHome',
25
+ data: {
26
+ required: 'nonempty'
27
+ }
28
+ },
29
+ text: 'I need protection for my current home'
30
+ },
31
+ {
32
+ attributes: {
33
+ name: 'Interest',
34
+ value: 'RealEstateProfessional',
35
+ data: {
36
+ required: 'nonempty'
37
+ }
38
+ },
39
+ text: 'I\'m a real estate professional'
40
+ },
41
+ {
42
+ attributes: {
43
+ name: 'Interest',
44
+ value: 'Other',
45
+ data: {
46
+ required: 'nonempty'
47
+ }
48
+ },
49
+ text: 'Other'
50
+ }
51
+ ]
52
+ }
53
+ ]
54
+ }
55
+ };
56
+
57
+ module.exports = home_warranty;
@@ -0,0 +1,92 @@
1
+ /* eslint-disable */
2
+ const hot_tubs = {
3
+ HotTubUse: {
4
+ fields: [
5
+ {
6
+ legend: {
7
+ text: 'What do you want to use your hot tub for?'
8
+ },
9
+ options: [
10
+ {
11
+ text: 'Relaxation',
12
+ attributes: {
13
+ name: 'HotTubUse',
14
+ value: 'Relaxation',
15
+ checked: '',
16
+ data: {
17
+ required: 'nonempty'
18
+ }
19
+ }
20
+ },
21
+ {
22
+ text: 'Pain Relief & Healthy Benefits',
23
+ attributes: {
24
+ name: 'HotTubUse',
25
+ value: 'PainAndHealth',
26
+ data: {
27
+ required: 'nonempty'
28
+ }
29
+ }
30
+ },
31
+ {
32
+ text: 'Others',
33
+ attributes: {
34
+ name: 'HotTubUse',
35
+ value: 'Other',
36
+ data: {
37
+ required: 'nonempty'
38
+ }
39
+ }
40
+ }
41
+ ]
42
+ }
43
+ ]
44
+ },
45
+ HotTubType: {
46
+ fields: [
47
+ {
48
+ legend: {
49
+ text: 'What size tub do you need?'
50
+ },
51
+ options: [
52
+ {
53
+ text: 'Large (7+ people)',
54
+
55
+ attributes: {
56
+ name: 'HotTubType',
57
+ value: 'Large',
58
+ checked: '',
59
+ data: {
60
+ required: 'nonempty'
61
+ }
62
+ }
63
+ },
64
+ {
65
+ text: 'Medium (4-6 people)',
66
+
67
+ attributes: {
68
+ name: 'HotTubType',
69
+ value: 'Medium',
70
+ data: {
71
+ required: 'nonempty'
72
+ }
73
+ }
74
+ },
75
+ {
76
+ text: 'Small (2-3 people)',
77
+
78
+ attributes: {
79
+ name: 'HotTubType',
80
+ value: 'Small',
81
+ data: {
82
+ required: 'nonempty'
83
+ }
84
+ }
85
+ }
86
+ ]
87
+ }
88
+ ]
89
+ }
90
+ };
91
+
92
+ module.exports = hot_tubs;
@@ -0,0 +1,179 @@
1
+ const hvac = {
2
+ HVACProjectScope: {
3
+ fields: [
4
+ {
5
+ legend: {
6
+ text: 'What is the nature of your request?'
7
+ },
8
+ options: [
9
+ {
10
+ text: 'Install/Replace',
11
+ attributes: {
12
+ name: 'HVACProjectScope',
13
+ value: 'Install',
14
+ checked: '',
15
+ data: {
16
+ required: 'nonempty'
17
+ }
18
+ }
19
+ },
20
+ {
21
+ text: 'Repair',
22
+ attributes: {
23
+ name: 'HVACProjectScope',
24
+ value: 'Repair',
25
+ data: {
26
+ required: 'nonempty'
27
+ }
28
+ }
29
+ }
30
+ ]
31
+ }
32
+ ],
33
+ extraQuestionBlock: {
34
+ fields: [
35
+ {
36
+ legend: {
37
+ text: 'If your unit needs to be replaced, would you?'
38
+ },
39
+ options: [
40
+ {
41
+ attributes: {
42
+ name: 'ReadyToReplace',
43
+ value: 'Yes',
44
+ data: {
45
+ required: 'nonempty'
46
+ }
47
+ },
48
+ text: 'Yes'
49
+ },
50
+ {
51
+ attributes: {
52
+ name: 'ReadyToReplace',
53
+ value: 'No',
54
+ data: {
55
+ required: 'nonempty'
56
+ }
57
+ },
58
+ text: 'No'
59
+ }
60
+ ]
61
+ }
62
+ ]
63
+ }
64
+ },
65
+ HVACInterest: {
66
+ fields: [
67
+ {
68
+ legend: {
69
+ text: 'What type of system do you have?'
70
+ },
71
+ options: [
72
+ {
73
+ text: 'Air Conditioner',
74
+ attributes: {
75
+ name: 'HVACInterest',
76
+ value: 'Central AC',
77
+ data: {
78
+ required: 'nonempty'
79
+ }
80
+ }
81
+ },
82
+ {
83
+ text: 'Central Heating / Furnace',
84
+ attributes: {
85
+ name: 'HVACInterest',
86
+ value: 'Central Heating',
87
+ data: {
88
+ required: 'nonempty'
89
+ }
90
+ }
91
+ },
92
+ {
93
+ text: 'Heat Pump',
94
+ attributes: {
95
+ name: 'HVACInterest',
96
+ value: 'Central Heating Heat Pump',
97
+ data: {
98
+ required: 'nonempty'
99
+ }
100
+ }
101
+ },
102
+ {
103
+ text: 'Boiler / Radiator',
104
+ attributes: {
105
+ name: 'HVACInterest',
106
+ value: 'Boiler/Radiator',
107
+ data: {
108
+ required: 'nonempty'
109
+ }
110
+ }
111
+ }
112
+ ]
113
+ }
114
+ ]
115
+ },
116
+ BoilerHeatingInstallRepairType: {
117
+ fields: [
118
+ {
119
+ legend: {
120
+ text: 'Which kind of Central Heating system do you want?'
121
+ },
122
+ options: [
123
+ {
124
+ text: 'Natural gas',
125
+ attributes: {
126
+ name: 'BoilerHeatingInstallRepairType',
127
+ value: 'NaturalGas',
128
+ data: {
129
+ required: 'nonempty'
130
+ }
131
+ }
132
+ },
133
+ {
134
+ text: 'Oil',
135
+ attributes: {
136
+ name: 'BoilerHeatingInstallRepairType',
137
+ value: 'Oil',
138
+ data: {
139
+ required: 'nonempty'
140
+ }
141
+ }
142
+ },
143
+ {
144
+ text: 'Propane gas',
145
+ attributes: {
146
+ name: 'BoilerHeatingInstallRepairType',
147
+ value: 'PropaneGas',
148
+ data: {
149
+ required: 'nonempty'
150
+ }
151
+ }
152
+ },
153
+ {
154
+ text: 'Electric',
155
+ attributes: {
156
+ name: 'BoilerHeatingInstallRepairType',
157
+ value: 'Electric',
158
+ data: {
159
+ required: 'nonempty'
160
+ }
161
+ }
162
+ },
163
+ {
164
+ text: 'Do not know',
165
+ attributes: {
166
+ name: 'BoilerHeatingInstallRepairType',
167
+ value: 'Do Not Know',
168
+ data: {
169
+ required: 'nonempty'
170
+ }
171
+ }
172
+ }
173
+ ]
174
+ }
175
+ ]
176
+ }
177
+ };
178
+
179
+ module.exports = hvac;
@@ -0,0 +1,26 @@
1
+ /* eslint-disable */
2
+ module.exports = {
3
+ alerts_medical: require('./alerts_medical'),
4
+ bathroom_refacing: require('./bathroom_refacing'),
5
+ cabinets: require('./cabinets'),
6
+ cabinet_refacing: require('./cabinet_refacing'),
7
+ concrete_foundation: require('./concrete_foundation'),
8
+ door: require('./door'),
9
+ flooring: require('./flooring'),
10
+ garage_door: require('./garage_door'),
11
+ gutters: require('./gutters'),
12
+ home_security: require('./home_security'),
13
+ home_warranty: require('./home_warranty'),
14
+ hot_tubs: require('./hot_tubs'),
15
+ hvac: require('./hvac'),
16
+ insulation: require('./insulation'),
17
+ plumbing: require('./plumbing'),
18
+ roofing: require('./roofing'),
19
+ siding: require('./siding'),
20
+ solar: require('./solar'),
21
+ stair_lifts: require('./stair_lifts'),
22
+ tree_services: require('./tree_services'),
23
+ walk_in_tubs: require('./walk_in_tubs'),
24
+ water_treatment: require('./water_treatment'),
25
+ windows: require('./windows'),
26
+ };
@@ -0,0 +1,118 @@
1
+ const insulation = {
2
+ InsulationLocation: {
3
+ fields: [
4
+ {
5
+ legend: {
6
+ text: 'What area of your home needs to be insulated?'
7
+ },
8
+ options: [
9
+ {
10
+ attributes: {
11
+ name: 'InsulationLocation',
12
+ value: 'Attic',
13
+ checked: '',
14
+ data: {
15
+ required: 'nonempty'
16
+ }
17
+ },
18
+ text: 'Attic'
19
+ },
20
+ {
21
+ attributes: {
22
+ name: 'InsulationLocation',
23
+ value: 'Walls',
24
+ data: {
25
+ required: 'nonempty'
26
+ }
27
+ },
28
+ text: 'Walls'
29
+ },
30
+ {
31
+ attributes: {
32
+ name: 'InsulationLocation',
33
+ value: 'Basement',
34
+ data: {
35
+ required: 'nonempty'
36
+ }
37
+ },
38
+ text: 'Basement'
39
+ },
40
+ {
41
+ attributes: {
42
+ name: 'InsulationLocation',
43
+ value: 'Crawl Space',
44
+ data: {
45
+ required: 'nonempty'
46
+ }
47
+ },
48
+ text: 'Crawl Space'
49
+ },
50
+ {
51
+ attributes: {
52
+ name: 'InsulationLocation',
53
+ value: 'Other',
54
+ data: {
55
+ required: 'nonempty'
56
+ }
57
+ },
58
+ text: 'Other'
59
+ }
60
+ ]
61
+ }
62
+ ]
63
+ },
64
+ SubProductService: {
65
+ fields: [
66
+ {
67
+ legend: {
68
+ text: 'What type of insulation do you need?'
69
+ },
70
+ options: [
71
+ {
72
+ attributes: {
73
+ name: 'SubProductService',
74
+ value: 'Blown',
75
+ checked: '',
76
+ data: {
77
+ required: 'nonempty'
78
+ }
79
+ },
80
+ text: 'Blown-In'
81
+ },
82
+ {
83
+ attributes: {
84
+ name: 'SubProductService',
85
+ value: 'Batts',
86
+ data: {
87
+ required: 'nonempty'
88
+ }
89
+ },
90
+ text: 'Batt, Rolled or Reflective'
91
+ },
92
+ {
93
+ attributes: {
94
+ name: 'SubProductService',
95
+ value: 'Spray',
96
+ data: {
97
+ required: 'nonempty'
98
+ }
99
+ },
100
+ text: 'Sprayfoam'
101
+ },
102
+ {
103
+ attributes: {
104
+ name: 'SubProductService',
105
+ value: 'NotSure',
106
+ data: {
107
+ required: 'nonempty'
108
+ }
109
+ },
110
+ text: 'Other/Unsure'
111
+ }
112
+ ]
113
+ }
114
+ ]
115
+ }
116
+ };
117
+
118
+ module.exports = insulation;
@@ -0,0 +1,260 @@
1
+ const plumbing = {
2
+ ServiceDetails: {
3
+ fields: [
4
+ {
5
+ legend: {
6
+ text: 'What is the nature of your project?'
7
+ },
8
+ options: [
9
+ {
10
+ attributes: {
11
+ name: 'ServiceDetails',
12
+ value: 'PLUMBING',
13
+ checked: '',
14
+ data: {
15
+ required: 'nonempty'
16
+ }
17
+ },
18
+ text: 'Plumbing'
19
+ },
20
+ {
21
+ attributes: {
22
+ name: 'ServiceDetails',
23
+ value: 'DRAINS',
24
+ data: {
25
+ required: 'nonempty'
26
+ }
27
+ },
28
+ text: 'Drainage'
29
+ },
30
+ {
31
+ attributes: {
32
+ name: 'ServiceDetails',
33
+ value: 'WATER_HEATERS',
34
+ data: {
35
+ required: 'nonempty'
36
+ }
37
+ },
38
+ text: 'Water Heater'
39
+ },
40
+ {
41
+ attributes: {
42
+ name: 'ServiceDetails',
43
+ value: 'WATER_TREATMENT',
44
+ data: {
45
+ required: 'nonempty'
46
+ }
47
+ },
48
+ text: 'Water Treatment'
49
+ },
50
+ {
51
+ attributes: {
52
+ name: 'ServiceDetails',
53
+ value: 'SEWER',
54
+ data: {
55
+ required: 'nonempty'
56
+ }
57
+ },
58
+ text: 'Sewer'
59
+ },
60
+ {
61
+ attributes: {
62
+ name: 'ServiceDetails',
63
+ value: 'WATER_MAIN',
64
+ data: {
65
+ required: 'nonempty'
66
+ }
67
+ },
68
+ text: 'Water Main'
69
+ },
70
+ {
71
+ attributes: {
72
+ name: 'ServiceDetails',
73
+ value: 'PLUMBING',
74
+ data: {
75
+ required: 'nonempty'
76
+ }
77
+ },
78
+ text: 'Other'
79
+ }
80
+ ]
81
+ }
82
+ ]
83
+ },
84
+ PlumbingProjectScope: {
85
+ fields: [
86
+ {
87
+ legend: {
88
+ text: 'What is nature of your plumbing project?'
89
+ },
90
+ options: [
91
+ {
92
+ attributes: {
93
+ name: 'PlumbingProjectScope',
94
+ value: 'Install',
95
+ data: {
96
+ required: 'nonempty'
97
+ }
98
+ },
99
+ text: 'Replacement'
100
+ },
101
+ {
102
+ attributes: {
103
+ name: 'PlumbingProjectScope',
104
+ value: 'Repair',
105
+ data: {
106
+ required: 'nonempty'
107
+ }
108
+ },
109
+ text: 'Repair'
110
+ },
111
+ {
112
+ attributes: {
113
+ name: 'PlumbingProjectScope',
114
+ value: 'Install',
115
+ data: {
116
+ required: 'nonempty'
117
+ }
118
+ },
119
+ text: 'Other'
120
+ }
121
+ ]
122
+ }
123
+ ]
124
+ },
125
+ DrainageIssue: {
126
+ fields: [
127
+ {
128
+ legend: {
129
+ text: 'What drain issues are you having?'
130
+ },
131
+ options: [
132
+ {
133
+ attributes: {
134
+ name: 'DrainageIssue',
135
+ value: 'SLOW_DRAINAGE',
136
+ data: {
137
+ required: 'nonempty'
138
+ }
139
+ },
140
+ text: 'Slow drainage'
141
+ },
142
+ {
143
+ attributes: {
144
+ name: 'DrainageIssue',
145
+ value: 'WATER_BACKING_UP_GURGLING',
146
+ data: {
147
+ required: 'nonempty'
148
+ }
149
+ },
150
+ text: 'Water backing up/gurgling'
151
+ },
152
+ {
153
+ attributes: {
154
+ name: 'DrainageIssue',
155
+ value: 'PUMPS',
156
+ data: {
157
+ required: 'nonempty'
158
+ }
159
+ },
160
+ text: 'Pumps'
161
+ },
162
+ {
163
+ attributes: {
164
+ name: 'DrainageIssue',
165
+ value: 'GARBAGE_DISPOSAL',
166
+ data: {
167
+ required: 'nonempty'
168
+ }
169
+ },
170
+ text: 'Garbage disposal'
171
+ },
172
+ {
173
+ attributes: {
174
+ name: 'DrainageIssue',
175
+ value: 'LEAK',
176
+ data: {
177
+ required: 'nonempty'
178
+ }
179
+ },
180
+ text: 'Leak'
181
+ }
182
+ ]
183
+ }
184
+ ]
185
+ },
186
+ ProjectScope: {
187
+ fields: [
188
+ {
189
+ legend: {
190
+ text: 'What type of work do you need completed?'
191
+ },
192
+ options: [
193
+ {
194
+ attributes: {
195
+ name: 'ProjectScope',
196
+ value: 'Install',
197
+ data: {
198
+ required: 'nonempty'
199
+ }
200
+ },
201
+ text: 'Replacement'
202
+ },
203
+ {
204
+ attributes: {
205
+ name: 'ProjectScope',
206
+ value: 'Repair',
207
+ data: {
208
+ required: 'nonempty'
209
+ }
210
+ },
211
+ text: 'Repair'
212
+ }
213
+ ]
214
+ }
215
+ ]
216
+ },
217
+ ServiceType: {
218
+ fields: [
219
+ {
220
+ legend: {
221
+ text: 'What type of water do you have?'
222
+ },
223
+ options: [
224
+ {
225
+ attributes: {
226
+ name: 'ServiceType',
227
+ value: 'CITY_WATER',
228
+ data: {
229
+ required: 'nonempty'
230
+ }
231
+ },
232
+ text: 'City Water'
233
+ },
234
+ {
235
+ attributes: {
236
+ name: 'ServiceType',
237
+ value: 'WELL_WATER',
238
+ data: {
239
+ required: 'nonempty'
240
+ }
241
+ },
242
+ text: 'Well Water'
243
+ },
244
+ {
245
+ attributes: {
246
+ name: 'ServiceType',
247
+ value: 'UNSURE',
248
+ data: {
249
+ required: 'nonempty'
250
+ }
251
+ },
252
+ text: 'Unsure'
253
+ }
254
+ ]
255
+ }
256
+ ]
257
+ }
258
+ };
259
+
260
+ module.exports = plumbing;