muba-posting 4.1.28 → 4.2.0

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/Publish5.js CHANGED
@@ -76,8 +76,7 @@ export default class Publish5 extends React.Component {
76
76
  ],
77
77
  selectedItem: this.props.postingAd.floorNumber,
78
78
  adType: this.props.postingAd.adType,
79
- adTypeDetails: this.props.postingAd.adTypeDetails,
80
- viewLoaded: false
79
+ adTypeDetails: this.props.postingAd.adTypeDetails
81
80
  },
82
81
  orientationOptions: {
83
82
  elements:
@@ -93,18 +92,14 @@ export default class Publish5 extends React.Component {
93
92
  }
94
93
  }
95
94
 
96
- componentDidUpdate = (prevProps) => {
97
- if (!prevProps.showView && this.props.showView && !this.state.viewLoaded) {
98
- this.setState({
99
- viewLoaded: true
100
- });
101
- }
102
-
95
+ componentDidMount = () => {
103
96
  const componentsHeight = this.props.headerHeight + this.props.progressBarHeight;
104
97
  const minHeight = window.height - componentsHeight;
105
98
  if (this.state.minHeight != minHeight) {
106
99
  this.setState({ minHeight: minHeight })
107
100
  }
101
+
102
+ this.refreshData();
108
103
  }
109
104
 
110
105
  async refreshData() {
@@ -175,358 +170,354 @@ export default class Publish5 extends React.Component {
175
170
 
176
171
  render() {
177
172
  return (
178
- <View style={this.props.showView ? '' : commonStyles.displayNone}>
179
- {this.state.viewLoaded ?
180
- <View style={{ minHeight: this.state.minHeight }}>
181
- <View style={commonStyles.formFieldset}>
182
- <View style={commonStyles.progressbarInputArea}>
183
- <Text style={commonStyles.progressbarInputAreaH3}>{strings('setup.features')}</Text>
184
-
185
- <View style={commonStyles.row}>
186
- {this.state.age.length > 0 ?
187
- <View style={[commonStyles.col, commonStyles.col6, commonStyles.selectPublish]}>
188
- <InputSelect
189
- options={this.state.ageOptions}
190
- placeholder={strings('setup.select')}
191
- required={false}
192
- scroll={(ref) => this.props.scroll(ref)}
193
- label={this.state.age[0].label}
194
- labelStyle={commonStyles.progressbarField}
195
- selectStyle={commonStyles.inputSelect}
196
- onChange={(value) => this.props.postingAd.age = value}
197
- ref={(element) => this.inputSelectAge = element} />
198
- </View>
199
- :
200
- null
201
- }
202
- {this.state.floorType.length > 0 ?
203
- <View style={[commonStyles.col, commonStyles.col6]}>
204
- <InputSelect
205
- options={this.state.floorTypeOptions}
206
- placeholder={strings('setup.select')}
207
- required={false}
208
- scroll={(ref) => this.props.scroll(ref)}
209
- label={this.state.floorType[0].label}
210
- labelStyle={commonStyles.progressbarField}
211
- selectStyle={commonStyles.inputSelect}
212
- onChange={(value) => this.props.postingAd.floorType = value}
213
- ref={(element) => this.inputSelectFloorType = element} />
214
- </View>
215
- :
216
- null
217
- }
173
+ <View style={{ minHeight: this.state.minHeight }}>
174
+ <View style={commonStyles.formFieldset}>
175
+ <View style={commonStyles.progressbarInputArea}>
176
+ <Text style={commonStyles.progressbarInputAreaH3}>{strings('setup.features')}</Text>
177
+
178
+ <View style={commonStyles.row}>
179
+ {this.state.age.length > 0 ?
180
+ <View style={[commonStyles.col, commonStyles.col6, commonStyles.selectPublish]}>
181
+ <InputSelect
182
+ options={this.state.ageOptions}
183
+ placeholder={strings('setup.select')}
184
+ required={false}
185
+ scroll={(ref) => this.props.scroll(ref)}
186
+ label={this.state.age[0].label}
187
+ labelStyle={commonStyles.progressbarField}
188
+ selectStyle={commonStyles.inputSelect}
189
+ onChange={(value) => this.props.postingAd.age = value}
190
+ ref={(element) => this.inputSelectAge = element} />
218
191
  </View>
219
- <View style={commonStyles.row}>
220
- {this.state.floorNumber.length > 0 ?
221
- <View style={[commonStyles.col, commonStyles.col6, commonStyles.selectPublish]}>
222
- <InputSelect
223
- options={this.state.floorNumberOptions}
224
- placeholder={strings('setup.select')}
225
- required={false}
226
- scroll={(ref) => this.props.scroll(ref)}
227
- label={this.state.floorNumber[0].label}
228
- labelStyle={commonStyles.progressbarField}
229
- selectStyle={commonStyles.inputSelect}
230
- onChange={(value) => this.props.postingAd.floorNumber = value}
231
- ref={(element) => this.inputSelectFloorNumber = element} />
232
- </View>
233
- :
234
- null
235
- }
236
- {this.state.orientation.length > 0 ?
237
- <View style={[commonStyles.col, commonStyles.col6, commonStyles.selectPublish]}>
238
- <InputSelect
239
- options={this.state.orientationOptions}
240
- placeholder={strings('setup.select')}
241
- required={false}
242
- scroll={(ref) => this.props.scroll(ref)}
243
- label={this.state.orientation[0].label}
244
- labelStyle={commonStyles.progressbarField}
245
- selectStyle={commonStyles.inputSelect}
246
- onChange={(value) => this.props.postingAd.orientation = value}
247
- ref={(element) => this.inputSelectOrientation = element} />
248
- </View>
249
- :
250
- null
251
- }
192
+ :
193
+ null
194
+ }
195
+ {this.state.floorType.length > 0 ?
196
+ <View style={[commonStyles.col, commonStyles.col6]}>
197
+ <InputSelect
198
+ options={this.state.floorTypeOptions}
199
+ placeholder={strings('setup.select')}
200
+ required={false}
201
+ scroll={(ref) => this.props.scroll(ref)}
202
+ label={this.state.floorType[0].label}
203
+ labelStyle={commonStyles.progressbarField}
204
+ selectStyle={commonStyles.inputSelect}
205
+ onChange={(value) => this.props.postingAd.floorType = value}
206
+ ref={(element) => this.inputSelectFloorType = element} />
252
207
  </View>
253
- </View>
254
-
255
- <View style={commonStyles.progressbarFieldContainer}>
256
- <Text style={commonStyles.progressbarFieldH4}>{strings('setup.mainFeatures').toUpperCase()}</Text>
257
-
258
- <View style={[commonStyles.row, commonStyles.rowIcons]}>
259
- <IconFeatures
260
- iconSource={require('./assets/images/garden.png')}
261
- iconHoverSource={require('./assets/images/garden-hover.png')}
262
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "garden" })[0]?.label}
263
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "garden" }).length > 0}
264
- selected={this.props.postingAd.garden}
265
- onPress={(value) => this.props.postingAd.garden = value}
266
- ref={(element) => this.inputGarden = element} />
267
-
268
- <IconFeatures
269
- iconSource={require('./assets/images/terrace.png')}
270
- iconHoverSource={require('./assets/images/terrace-hover.png')}
271
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "terrace" })[0]?.label}
272
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "terrace" }).length > 0}
273
- selected={this.props.postingAd.terrace}
274
- onPress={(value) => this.props.postingAd.terrace = value}
275
- ref={(element) => this.inputTerrace = element} />
276
-
277
- <IconFeatures
278
- iconSource={require('./assets/images/garage.png')}
279
- iconHoverSource={require('./assets/images/garage-hover.png')}
280
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "garage" })[0]?.label}
281
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "garage" }).length > 0}
282
- selected={this.props.postingAd.garage}
283
- onPress={(value) => this.props.postingAd.garage = value}
284
- ref={(element) => this.inputGarage = element} />
285
-
286
- <IconFeatures
287
- iconSource={require('./assets/images/elevator.png')}
288
- iconHoverSource={require('./assets/images/elevator-hover.png')}
289
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "elevator" })[0]?.label}
290
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "elevator" }).length > 0}
291
- selected={this.props.postingAd.elevator}
292
- onPress={(value) => this.props.postingAd.elevator = value}
293
- ref={(element) => this.inputElevator = element} />
294
-
295
- <IconFeatures
296
- iconSource={require('./assets/images/sea.png')}
297
- iconHoverSource={require('./assets/images/sea-hover.png')}
298
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "seaViews" })[0]?.label}
299
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "seaViews" }).length > 0}
300
- selected={this.props.postingAd.seaViews}
301
- onPress={(value) => this.props.postingAd.seaViews = value}
302
- ref={(element) => this.inputSeaViews = element} />
303
-
304
- <IconFeatures
305
- iconSource={require('./assets/images/views.png')}
306
- iconHoverSource={require('./assets/images/views-hover.png')}
307
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "mountainsViews" })[0]?.label}
308
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "mountainsViews" }).length > 0}
309
- selected={this.props.postingAd.mountainsViews}
310
- onPress={(value) => this.props.postingAd.mountainsViews = value}
311
- ref={(element) => this.inputMountainViews = element} />
312
-
313
- <IconFeatures
314
- iconSource={require('./assets/images/pool.png')}
315
- iconHoverSource={require('./assets/images/pool-hover.png')}
316
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "pool" })[0]?.label}
317
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "pool" }).length > 0}
318
- selected={this.props.postingAd.pool}
319
- onPress={(value) => this.props.postingAd.pool = value}
320
- ref={(element) => this.inputPool = element} />
321
-
322
- <IconFeatures
323
- iconSource={require('./assets/images/concierge.png')}
324
- iconHoverSource={require('./assets/images/concierge-hover.png')}
325
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "doorman" })[0]?.label}
326
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "doorman" }).length > 0}
327
- selected={this.props.postingAd.doorman}
328
- onPress={(value) => this.props.postingAd.doorman = value}
329
- ref={(element) => this.inputConcierge = element} />
330
-
331
- <IconFeatures
332
- iconSource={require('./assets/images/storage.png')}
333
- iconHoverSource={require('./assets/images/storage-hover.png')}
334
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "storageRoom" })[0]?.label}
335
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "storageRoom" }).length > 0}
336
- selected={this.props.postingAd.storageRoom}
337
- onPress={(value) => this.props.postingAd.storageRoom = value}
338
- ref={(element) => this.inputStorageRoom = element} />
339
-
340
- <IconFeatures
341
- iconSource={require('./assets/images/furnish.png')}
342
- iconHoverSource={require('./assets/images/furnish-hover.png')}
343
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "furnished" })[0]?.label}
344
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "furnished" }).length > 0}
345
- selected={this.props.postingAd.furnished}
346
- onPress={(value) => this.props.postingAd.furnished = value}
347
- ref={(element) => this.inputFurnished = element} />
348
- <IconFeatures
349
- iconSource={require('./assets/images/exteriorFacade.png')}
350
- iconHoverSource={require('./assets/images/exteriorFacade-hover.png')}
351
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "exteriorFacade" })[0]?.label}
352
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "exteriorFacade" }).length > 0}
353
- selected={this.props.postingAd.exteriorFacade}
354
- onPress={(value) => this.props.postingAd.exteriorFacade = value}
355
- ref={(element) => this.inputExteriorFacade = element} />
208
+ :
209
+ null
210
+ }
211
+ </View>
212
+ <View style={commonStyles.row}>
213
+ {this.state.floorNumber.length > 0 ?
214
+ <View style={[commonStyles.col, commonStyles.col6, commonStyles.selectPublish]}>
215
+ <InputSelect
216
+ options={this.state.floorNumberOptions}
217
+ placeholder={strings('setup.select')}
218
+ required={false}
219
+ scroll={(ref) => this.props.scroll(ref)}
220
+ label={this.state.floorNumber[0].label}
221
+ labelStyle={commonStyles.progressbarField}
222
+ selectStyle={commonStyles.inputSelect}
223
+ onChange={(value) => this.props.postingAd.floorNumber = value}
224
+ ref={(element) => this.inputSelectFloorNumber = element} />
356
225
  </View>
357
-
358
- <Text style={commonStyles.progressbarFieldH4}>{strings('setup.inside').toUpperCase()}</Text>
359
-
360
- <View style={[commonStyles.row, commonStyles.rowIcons]}>
361
- <IconFeatures
362
- iconSource={require('./assets/images/moroccan.png')}
363
- iconHoverSource={require('./assets/images/moroccan-hover.png')}
364
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "moroccanLounge" })[0]?.label}
365
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "moroccanLounge" }).length > 0}
366
- selected={this.props.postingAd.moroccanLounge}
367
- onPress={(value) => this.props.postingAd.moroccanLounge = value}
368
- ref={(element) => this.inputSalonMarocain = element} />
369
-
370
- <IconFeatures
371
- iconSource={require('./assets/images/diningroom.png')}
372
- iconHoverSource={require('./assets/images/diningroom-hover.png')}
373
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "europeanLounge" })[0]?.label}
374
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "europeanLounge" }).length > 0}
375
- selected={this.props.postingAd.europeanLounge}
376
- onPress={(value) => this.props.postingAd.europeanLounge = value}
377
- ref={(element) => this.inputSalonEuropean = element} />
378
-
379
- <IconFeatures
380
- iconSource={require('./assets/images/satellite.png')}
381
- iconHoverSource={require('./assets/images/satellite-hover.png')}
382
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "satellite" })[0]?.label}
383
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "satellite" }).length > 0}
384
- selected={this.props.postingAd.satellite}
385
- onPress={(value) => this.props.postingAd.satellite = value}
386
- ref={(element) => this.inputSatellite = element} />
387
-
388
- <IconFeatures
389
- iconSource={require('./assets/images/fire.png')}
390
- iconHoverSource={require('./assets/images/fire-hover.png')}
391
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "fireplace" })[0]?.label}
392
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "fireplace" }).length > 0}
393
- selected={this.props.postingAd.fireplace}
394
- onPress={(value) => this.props.postingAd.fireplace = value}
395
- ref={(element) => this.inputFirePlace = element} />
396
-
397
- <IconFeatures
398
- iconSource={require('./assets/images/air.png')}
399
- iconHoverSource={require('./assets/images/air-hover.png')}
400
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "airConditioning" })[0]?.label}
401
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "airConditioning" }).length > 0}
402
- selected={this.props.postingAd.airConditioning}
403
- onPress={(value) => this.props.postingAd.airConditioning = value}
404
- ref={(element) => this.inputAir = element} />
405
-
406
- <IconFeatures
407
- iconSource={require('./assets/images/heating.png')}
408
- iconHoverSource={require('./assets/images/heating-hover.png')}
409
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "heating" })[0]?.label}
410
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "heating" }).length > 0}
411
- selected={this.props.postingAd.heating}
412
- onPress={(value) => this.props.postingAd.heating = value}
413
- ref={(element) => this.inputHeating = element} />
414
-
415
- <IconFeatures
416
- iconSource={require('./assets/images/security.png')}
417
- iconHoverSource={require('./assets/images/security-hover.png')}
418
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "security" })[0]?.label}
419
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "security" }).length > 0}
420
- selected={this.props.postingAd.security}
421
- onPress={(value) => this.props.postingAd.security = value}
422
- ref={(element) => this.inputSecurity = element} />
423
-
424
- <IconFeatures
425
- iconSource={require('./assets/images/glazing.png')}
426
- iconHoverSource={require('./assets/images/glazing-hover.png')}
427
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "doubleGlazing" })[0]?.label}
428
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "doubleGlazing" }).length > 0}
429
- selected={this.props.postingAd.doubleGlazing}
430
- onPress={(value) => this.props.postingAd.doubleGlazing = value}
431
- ref={(element) => this.inputDoubleGlazing = element} />
432
-
433
- <IconFeatures
434
- iconSource={require('./assets/images/door.png')}
435
- iconHoverSource={require('./assets/images/door-hover.png')}
436
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "reinforcedDoor" })[0]?.label}
437
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "reinforcedDoor" }).length > 0}
438
- selected={this.props.postingAd.reinforcedDoor}
439
- onPress={(value) => this.props.postingAd.reinforcedDoor = value}
440
- ref={(element) => this.inputReinforcedDoor = element} />
226
+ :
227
+ null
228
+ }
229
+ {this.state.orientation.length > 0 ?
230
+ <View style={[commonStyles.col, commonStyles.col6, commonStyles.selectPublish]}>
231
+ <InputSelect
232
+ options={this.state.orientationOptions}
233
+ placeholder={strings('setup.select')}
234
+ required={false}
235
+ scroll={(ref) => this.props.scroll(ref)}
236
+ label={this.state.orientation[0].label}
237
+ labelStyle={commonStyles.progressbarField}
238
+ selectStyle={commonStyles.inputSelect}
239
+ onChange={(value) => this.props.postingAd.orientation = value}
240
+ ref={(element) => this.inputSelectOrientation = element} />
441
241
  </View>
242
+ :
243
+ null
244
+ }
245
+ </View>
246
+ </View>
442
247
 
443
- <Text style={commonStyles.progressbarFieldH4}>{strings('setup.otherOptions').toUpperCase()}</Text>
444
-
445
- <View style={[commonStyles.row, commonStyles.rowIcons]}>
446
- <IconFeatures
447
- iconSource={require('./assets/images/kitchen.png')}
448
- iconHoverSource={require('./assets/images/kitchen-hover.png')}
449
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "fullKitchen" })[0]?.label}
450
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "fullKitchen" }).length > 0}
451
- selected={this.props.postingAd.fullKitchen}
452
- onPress={(value) => this.props.postingAd.fullKitchen = value}
453
- ref={(element) => this.inputFullKitchen = element} />
454
-
455
- <IconFeatures
456
- iconSource={require('./assets/images/fridge.png')}
457
- iconHoverSource={require('./assets/images/fridge-hover.png')}
458
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "fridge" })[0]?.label}
459
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "fridge" }).length > 0}
460
- selected={this.props.postingAd.fridge}
461
- onPress={(value) => this.props.postingAd.fridge = value}
462
- ref={(element) => this.inputFridge = element} />
463
-
464
- <IconFeatures
465
- iconSource={require('./assets/images/oven.png')}
466
- iconHoverSource={require('./assets/images/oven-hover.png')}
467
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "oven" })[0]?.label}
468
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "oven" }).length > 0}
469
- selected={this.props.postingAd.oven}
470
- onPress={(value) => this.props.postingAd.oven = value}
471
- ref={(element) => this.inputOven = element} />
472
-
473
- <IconFeatures
474
- iconSource={require('./assets/images/tv.png')}
475
- iconHoverSource={require('./assets/images/tv-hover.png')}
476
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "tv" })[0]?.label}
477
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "tv" }).length > 0}
478
- selected={this.props.postingAd.tv}
479
- onPress={(value) => this.props.postingAd.tv = value}
480
- ref={(element) => this.inputTv = element} />
481
-
482
- <IconFeatures
483
- iconSource={require('./assets/images/washing.png')}
484
- iconHoverSource={require('./assets/images/washing-hover.png')}
485
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "washer" })[0]?.label}
486
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "washer" }).length > 0}
487
- selected={this.props.postingAd.washer}
488
- onPress={(value) => this.props.postingAd.washer = value}
489
- ref={(element) => this.inputWashing = element} />
490
-
491
- <IconFeatures
492
- iconSource={require('./assets/images/microwave.png')}
493
- iconHoverSource={require('./assets/images/microwave-hover.png')}
494
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "microwave" })[0]?.label}
495
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "microwave" }).length > 0}
496
- selected={this.props.postingAd.microwave}
497
- onPress={(value) => this.props.postingAd.microwave = value}
498
- ref={(element) => this.inputMicrowaves = element} />
499
-
500
- <IconFeatures
501
- iconSource={require('./assets/images/internet.png')}
502
- iconHoverSource={require('./assets/images/internet-hover.png')}
503
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "internet" })[0]?.label}
504
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "internet" }).length > 0}
505
- selected={this.props.postingAd.internet}
506
- onPress={(value) => this.props.postingAd.internet = value}
507
- ref={(element) => this.inputInternet = element} />
508
-
509
-
510
- <IconFeatures
511
- iconSource={require('./assets/images/animals.png')}
512
- iconHoverSource={require('./assets/images/animals-hover.png')}
513
- iconText={this.state.adTypeDetails.filter(function (detail) { return detail.value == "animals" })[0]?.label}
514
- visible={this.state.adTypeDetails.filter(function (detail) { return detail.value == "animals" }).length > 0}
515
- selected={this.props.postingAd.animals}
516
- onPress={(value) => this.props.postingAd.animals = value}
517
- ref={(element) => this.inputAnimals = element} />
518
- </View>
519
- </View>
248
+ <View style={commonStyles.progressbarFieldContainer}>
249
+ <Text style={commonStyles.progressbarFieldH4}>{strings('setup.mainFeatures').toUpperCase()}</Text>
250
+
251
+ <View style={[commonStyles.row, commonStyles.rowIcons]}>
252
+ <IconFeatures
253
+ iconSource={require('./assets/images/garden.png')}
254
+ iconHoverSource={require('./assets/images/garden-hover.png')}
255
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "garden" })[0]?.label}
256
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "garden" }).length > 0}
257
+ selected={this.props.postingAd.garden}
258
+ onPress={(value) => this.props.postingAd.garden = value}
259
+ ref={(element) => this.inputGarden = element} />
260
+
261
+ <IconFeatures
262
+ iconSource={require('./assets/images/terrace.png')}
263
+ iconHoverSource={require('./assets/images/terrace-hover.png')}
264
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "terrace" })[0]?.label}
265
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "terrace" }).length > 0}
266
+ selected={this.props.postingAd.terrace}
267
+ onPress={(value) => this.props.postingAd.terrace = value}
268
+ ref={(element) => this.inputTerrace = element} />
269
+
270
+ <IconFeatures
271
+ iconSource={require('./assets/images/garage.png')}
272
+ iconHoverSource={require('./assets/images/garage-hover.png')}
273
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "garage" })[0]?.label}
274
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "garage" }).length > 0}
275
+ selected={this.props.postingAd.garage}
276
+ onPress={(value) => this.props.postingAd.garage = value}
277
+ ref={(element) => this.inputGarage = element} />
278
+
279
+ <IconFeatures
280
+ iconSource={require('./assets/images/elevator.png')}
281
+ iconHoverSource={require('./assets/images/elevator-hover.png')}
282
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "elevator" })[0]?.label}
283
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "elevator" }).length > 0}
284
+ selected={this.props.postingAd.elevator}
285
+ onPress={(value) => this.props.postingAd.elevator = value}
286
+ ref={(element) => this.inputElevator = element} />
287
+
288
+ <IconFeatures
289
+ iconSource={require('./assets/images/sea.png')}
290
+ iconHoverSource={require('./assets/images/sea-hover.png')}
291
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "seaViews" })[0]?.label}
292
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "seaViews" }).length > 0}
293
+ selected={this.props.postingAd.seaViews}
294
+ onPress={(value) => this.props.postingAd.seaViews = value}
295
+ ref={(element) => this.inputSeaViews = element} />
296
+
297
+ <IconFeatures
298
+ iconSource={require('./assets/images/views.png')}
299
+ iconHoverSource={require('./assets/images/views-hover.png')}
300
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "mountainsViews" })[0]?.label}
301
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "mountainsViews" }).length > 0}
302
+ selected={this.props.postingAd.mountainsViews}
303
+ onPress={(value) => this.props.postingAd.mountainsViews = value}
304
+ ref={(element) => this.inputMountainViews = element} />
305
+
306
+ <IconFeatures
307
+ iconSource={require('./assets/images/pool.png')}
308
+ iconHoverSource={require('./assets/images/pool-hover.png')}
309
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "pool" })[0]?.label}
310
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "pool" }).length > 0}
311
+ selected={this.props.postingAd.pool}
312
+ onPress={(value) => this.props.postingAd.pool = value}
313
+ ref={(element) => this.inputPool = element} />
314
+
315
+ <IconFeatures
316
+ iconSource={require('./assets/images/concierge.png')}
317
+ iconHoverSource={require('./assets/images/concierge-hover.png')}
318
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "doorman" })[0]?.label}
319
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "doorman" }).length > 0}
320
+ selected={this.props.postingAd.doorman}
321
+ onPress={(value) => this.props.postingAd.doorman = value}
322
+ ref={(element) => this.inputConcierge = element} />
323
+
324
+ <IconFeatures
325
+ iconSource={require('./assets/images/storage.png')}
326
+ iconHoverSource={require('./assets/images/storage-hover.png')}
327
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "storageRoom" })[0]?.label}
328
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "storageRoom" }).length > 0}
329
+ selected={this.props.postingAd.storageRoom}
330
+ onPress={(value) => this.props.postingAd.storageRoom = value}
331
+ ref={(element) => this.inputStorageRoom = element} />
332
+
333
+ <IconFeatures
334
+ iconSource={require('./assets/images/furnish.png')}
335
+ iconHoverSource={require('./assets/images/furnish-hover.png')}
336
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "furnished" })[0]?.label}
337
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "furnished" }).length > 0}
338
+ selected={this.props.postingAd.furnished}
339
+ onPress={(value) => this.props.postingAd.furnished = value}
340
+ ref={(element) => this.inputFurnished = element} />
341
+ <IconFeatures
342
+ iconSource={require('./assets/images/exteriorFacade.png')}
343
+ iconHoverSource={require('./assets/images/exteriorFacade-hover.png')}
344
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "exteriorFacade" })[0]?.label}
345
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "exteriorFacade" }).length > 0}
346
+ selected={this.props.postingAd.exteriorFacade}
347
+ onPress={(value) => this.props.postingAd.exteriorFacade = value}
348
+ ref={(element) => this.inputExteriorFacade = element} />
520
349
  </View>
521
- <View style={commonStyles.buttomButton}>
522
- <TouchableHighlight style={commonStyles.actionButton} underlayColor="#ff5d00" onPress={() => this.nextStep()}>
523
- <Text style={commonStyles.actionButtonText}>
524
- {this.props.postingAd.id == null || this.props.fullPosting ? strings('setup.next').toUpperCase() : strings('setup.enregistrer').toUpperCase()}
525
- </Text>
526
- </TouchableHighlight>
350
+
351
+ <Text style={commonStyles.progressbarFieldH4}>{strings('setup.inside').toUpperCase()}</Text>
352
+
353
+ <View style={[commonStyles.row, commonStyles.rowIcons]}>
354
+ <IconFeatures
355
+ iconSource={require('./assets/images/moroccan.png')}
356
+ iconHoverSource={require('./assets/images/moroccan-hover.png')}
357
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "moroccanLounge" })[0]?.label}
358
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "moroccanLounge" }).length > 0}
359
+ selected={this.props.postingAd.moroccanLounge}
360
+ onPress={(value) => this.props.postingAd.moroccanLounge = value}
361
+ ref={(element) => this.inputSalonMarocain = element} />
362
+
363
+ <IconFeatures
364
+ iconSource={require('./assets/images/diningroom.png')}
365
+ iconHoverSource={require('./assets/images/diningroom-hover.png')}
366
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "europeanLounge" })[0]?.label}
367
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "europeanLounge" }).length > 0}
368
+ selected={this.props.postingAd.europeanLounge}
369
+ onPress={(value) => this.props.postingAd.europeanLounge = value}
370
+ ref={(element) => this.inputSalonEuropean = element} />
371
+
372
+ <IconFeatures
373
+ iconSource={require('./assets/images/satellite.png')}
374
+ iconHoverSource={require('./assets/images/satellite-hover.png')}
375
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "satellite" })[0]?.label}
376
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "satellite" }).length > 0}
377
+ selected={this.props.postingAd.satellite}
378
+ onPress={(value) => this.props.postingAd.satellite = value}
379
+ ref={(element) => this.inputSatellite = element} />
380
+
381
+ <IconFeatures
382
+ iconSource={require('./assets/images/fire.png')}
383
+ iconHoverSource={require('./assets/images/fire-hover.png')}
384
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "fireplace" })[0]?.label}
385
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "fireplace" }).length > 0}
386
+ selected={this.props.postingAd.fireplace}
387
+ onPress={(value) => this.props.postingAd.fireplace = value}
388
+ ref={(element) => this.inputFirePlace = element} />
389
+
390
+ <IconFeatures
391
+ iconSource={require('./assets/images/air.png')}
392
+ iconHoverSource={require('./assets/images/air-hover.png')}
393
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "airConditioning" })[0]?.label}
394
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "airConditioning" }).length > 0}
395
+ selected={this.props.postingAd.airConditioning}
396
+ onPress={(value) => this.props.postingAd.airConditioning = value}
397
+ ref={(element) => this.inputAir = element} />
398
+
399
+ <IconFeatures
400
+ iconSource={require('./assets/images/heating.png')}
401
+ iconHoverSource={require('./assets/images/heating-hover.png')}
402
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "heating" })[0]?.label}
403
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "heating" }).length > 0}
404
+ selected={this.props.postingAd.heating}
405
+ onPress={(value) => this.props.postingAd.heating = value}
406
+ ref={(element) => this.inputHeating = element} />
407
+
408
+ <IconFeatures
409
+ iconSource={require('./assets/images/security.png')}
410
+ iconHoverSource={require('./assets/images/security-hover.png')}
411
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "security" })[0]?.label}
412
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "security" }).length > 0}
413
+ selected={this.props.postingAd.security}
414
+ onPress={(value) => this.props.postingAd.security = value}
415
+ ref={(element) => this.inputSecurity = element} />
416
+
417
+ <IconFeatures
418
+ iconSource={require('./assets/images/glazing.png')}
419
+ iconHoverSource={require('./assets/images/glazing-hover.png')}
420
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "doubleGlazing" })[0]?.label}
421
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "doubleGlazing" }).length > 0}
422
+ selected={this.props.postingAd.doubleGlazing}
423
+ onPress={(value) => this.props.postingAd.doubleGlazing = value}
424
+ ref={(element) => this.inputDoubleGlazing = element} />
425
+
426
+ <IconFeatures
427
+ iconSource={require('./assets/images/door.png')}
428
+ iconHoverSource={require('./assets/images/door-hover.png')}
429
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "reinforcedDoor" })[0]?.label}
430
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "reinforcedDoor" }).length > 0}
431
+ selected={this.props.postingAd.reinforcedDoor}
432
+ onPress={(value) => this.props.postingAd.reinforcedDoor = value}
433
+ ref={(element) => this.inputReinforcedDoor = element} />
434
+ </View>
435
+
436
+ <Text style={commonStyles.progressbarFieldH4}>{strings('setup.otherOptions').toUpperCase()}</Text>
437
+
438
+ <View style={[commonStyles.row, commonStyles.rowIcons]}>
439
+ <IconFeatures
440
+ iconSource={require('./assets/images/kitchen.png')}
441
+ iconHoverSource={require('./assets/images/kitchen-hover.png')}
442
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "fullKitchen" })[0]?.label}
443
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "fullKitchen" }).length > 0}
444
+ selected={this.props.postingAd.fullKitchen}
445
+ onPress={(value) => this.props.postingAd.fullKitchen = value}
446
+ ref={(element) => this.inputFullKitchen = element} />
447
+
448
+ <IconFeatures
449
+ iconSource={require('./assets/images/fridge.png')}
450
+ iconHoverSource={require('./assets/images/fridge-hover.png')}
451
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "fridge" })[0]?.label}
452
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "fridge" }).length > 0}
453
+ selected={this.props.postingAd.fridge}
454
+ onPress={(value) => this.props.postingAd.fridge = value}
455
+ ref={(element) => this.inputFridge = element} />
456
+
457
+ <IconFeatures
458
+ iconSource={require('./assets/images/oven.png')}
459
+ iconHoverSource={require('./assets/images/oven-hover.png')}
460
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "oven" })[0]?.label}
461
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "oven" }).length > 0}
462
+ selected={this.props.postingAd.oven}
463
+ onPress={(value) => this.props.postingAd.oven = value}
464
+ ref={(element) => this.inputOven = element} />
465
+
466
+ <IconFeatures
467
+ iconSource={require('./assets/images/tv.png')}
468
+ iconHoverSource={require('./assets/images/tv-hover.png')}
469
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "tv" })[0]?.label}
470
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "tv" }).length > 0}
471
+ selected={this.props.postingAd.tv}
472
+ onPress={(value) => this.props.postingAd.tv = value}
473
+ ref={(element) => this.inputTv = element} />
474
+
475
+ <IconFeatures
476
+ iconSource={require('./assets/images/washing.png')}
477
+ iconHoverSource={require('./assets/images/washing-hover.png')}
478
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "washer" })[0]?.label}
479
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "washer" }).length > 0}
480
+ selected={this.props.postingAd.washer}
481
+ onPress={(value) => this.props.postingAd.washer = value}
482
+ ref={(element) => this.inputWashing = element} />
483
+
484
+ <IconFeatures
485
+ iconSource={require('./assets/images/microwave.png')}
486
+ iconHoverSource={require('./assets/images/microwave-hover.png')}
487
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "microwave" })[0]?.label}
488
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "microwave" }).length > 0}
489
+ selected={this.props.postingAd.microwave}
490
+ onPress={(value) => this.props.postingAd.microwave = value}
491
+ ref={(element) => this.inputMicrowaves = element} />
492
+
493
+ <IconFeatures
494
+ iconSource={require('./assets/images/internet.png')}
495
+ iconHoverSource={require('./assets/images/internet-hover.png')}
496
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "internet" })[0]?.label}
497
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "internet" }).length > 0}
498
+ selected={this.props.postingAd.internet}
499
+ onPress={(value) => this.props.postingAd.internet = value}
500
+ ref={(element) => this.inputInternet = element} />
501
+
502
+
503
+ <IconFeatures
504
+ iconSource={require('./assets/images/animals.png')}
505
+ iconHoverSource={require('./assets/images/animals-hover.png')}
506
+ iconText={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "animals" })[0]?.label}
507
+ visible={this.state.adTypeDetails?.filter(function (detail) { return detail.value == "animals" }).length > 0}
508
+ selected={this.props.postingAd.animals}
509
+ onPress={(value) => this.props.postingAd.animals = value}
510
+ ref={(element) => this.inputAnimals = element} />
527
511
  </View>
528
512
  </View>
529
- : null}
513
+ </View>
514
+ <View style={commonStyles.buttomButton}>
515
+ <TouchableHighlight style={commonStyles.actionButton} underlayColor="#ff5d00" onPress={() => this.nextStep()}>
516
+ <Text style={commonStyles.actionButtonText}>
517
+ {this.props.postingAd.id == null || this.props.fullPosting ? strings('setup.next').toUpperCase() : strings('setup.enregistrer').toUpperCase()}
518
+ </Text>
519
+ </TouchableHighlight>
520
+ </View>
530
521
  </View>
531
522
  );
532
523
  }