muba-posting 4.1.14 → 4.1.17

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.
@@ -0,0 +1,15 @@
1
+ > Why do I have a folder named ".expo" in my project?
2
+
3
+ The ".expo" folder is created when an Expo project is started using "expo start" command.
4
+
5
+ > What do the files contain?
6
+
7
+ - "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds.
8
+ - "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator.
9
+ - "settings.json": contains the server configuration that is used to serve the application manifest.
10
+
11
+ > Should I commit the ".expo" folder?
12
+
13
+ No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine.
14
+
15
+ Upon project creation, the ".expo" folder is already added to your ".gitignore" file.
@@ -0,0 +1,5 @@
1
+ {
2
+ "devToolsPort": 19002,
3
+ "expoServerPort": null,
4
+ "packagerPort": 19000
5
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "hostType": "lan",
3
+ "lanType": "ip",
4
+ "dev": true,
5
+ "minify": false,
6
+ "urlRandomness": null,
7
+ "https": false,
8
+ "scheme": null
9
+ }
package/Posting.js CHANGED
@@ -90,6 +90,7 @@ export default class Posting extends React.Component {
90
90
  age: null,
91
91
  floorType: null,
92
92
  floorNumber: null,
93
+ orientation: null,
93
94
  garden: false,
94
95
  terrace: false,
95
96
  garage: false,
@@ -116,6 +117,8 @@ export default class Posting extends React.Component {
116
117
  washer: false,
117
118
  microwave: false,
118
119
  internet: false,
120
+ exteriorFacade: false,
121
+ animals: false,
119
122
  phones: this.props.phones ? this.props.phones.includes('###') ? this.props.phones.split('###') : Array.isArray(this.props.phones) ? this.props.phones : [this.props.phones] : [],
120
123
  reference: null,
121
124
  id: null,
@@ -360,7 +363,11 @@ export default class Posting extends React.Component {
360
363
  }
361
364
 
362
365
  async _saveEditAd() {
363
- const response = await this.props.request(this, UPDATE_AD, { ...this.state.postingAd, id: { adId: this.state.postingAd.id } });
366
+ const ad = { ...this.state.postingAd, id: { adId: this.state.postingAd.id } };
367
+ if (this.state.originView === Views.EDIT_SELECTOR && Views.PUBLISH_4 !== this.state.view) {
368
+ delete ad.images;
369
+ }
370
+ const response = await this.props.request(this, UPDATE_AD, ad);
364
371
  if (this.props.adId) {
365
372
  if (this.state.originView === Views.EDIT_SELECTOR) {
366
373
  this.setState({ isLoading: true });
package/Publish5.js CHANGED
@@ -13,12 +13,14 @@ export default class Publish5 extends React.Component {
13
13
  const age = this.props.postingAd.subCategoryDetails.filter(function (detail) { return detail.value == "age" });
14
14
  const floorType = this.props.postingAd.subCategoryDetails.filter(function (detail) { return detail.value == "floorType" });
15
15
  const floorNumber = this.props.postingAd.subCategoryDetails.filter(function (detail) { return detail.value == "floorNumber" });
16
+ const orientationType = this.props.postingAd.subCategoryDetails.filter(function (detail) { return detail.value == "orientation" });
16
17
 
17
18
  this.state = {
18
19
  isLoading: false,
19
20
  age: age,
20
21
  floorType: floorType,
21
22
  floorNumber: floorNumber,
23
+ orientation: orientationType,
22
24
  ageOptions: {
23
25
  elements:
24
26
  [
@@ -77,6 +79,17 @@ export default class Publish5 extends React.Component {
77
79
  subCategoryDetails: this.props.postingAd.subCategoryDetails,
78
80
  viewLoaded: false
79
81
  },
82
+ orientationOptions: {
83
+ elements:
84
+ [
85
+ { section: true, value: null, label: orientationType[0] ? orientationType[0].label : 'orientation' },
86
+ { label: strings('setup.north'), value: 'NORTH' },
87
+ { label: strings('setup.west'), value: 'WEST' },
88
+ { label: strings('setup.est'), value: 'EST' },
89
+ { label: strings('setup.south'), value: 'SOUTH' }
90
+ ],
91
+ selectedItem: this.props.postingAd.orientation
92
+ },
80
93
  }
81
94
  }
82
95
 
@@ -99,11 +112,13 @@ export default class Publish5 extends React.Component {
99
112
  const age = this.props.postingAd.subCategoryDetails.filter(function (detail) { return detail.value == "age" });
100
113
  const floorType = this.props.postingAd.subCategoryDetails.filter(function (detail) { return detail.value == "floorType" });
101
114
  const floorNumber = this.props.postingAd.subCategoryDetails.filter(function (detail) { return detail.value == "floorNumber" });
115
+ const orientationType = this.props.postingAd.subCategoryDetails.filter(function (detail) { return detail.value == "orientation" });
102
116
 
103
117
  await this.setState({
104
118
  age: age,
105
119
  floorType: floorType,
106
120
  floorNumber: floorNumber,
121
+ orientation: orientationType,
107
122
  subCategory: this.props.postingAd.subCategory,
108
123
  subCategoryDetails: this.props.postingAd.subCategoryDetails,
109
124
  ageOptions: {
@@ -117,6 +132,10 @@ export default class Publish5 extends React.Component {
117
132
  floorNumberOptions: {
118
133
  elements: [{ section: true, value: null, label: floorNumber[0]?.label }, ...this.state.floorNumberOptions.elements.slice(1)],
119
134
  selectedItem: this.props.postingAd.floorNumber + ''
135
+ },
136
+ orientationOptions: {
137
+ elements: [{ section: true, value: null, label: orientationType[0]?.label }, ...this.state.orientationOptions.elements.slice(1)],
138
+ selectedItem: this.props.postingAd.orientation + ''
120
139
  }
121
140
  });
122
141
  }
@@ -147,6 +166,10 @@ export default class Publish5 extends React.Component {
147
166
  validate = this.inputSelectFloorNumber.onSubmitValidate() && validate;
148
167
  }
149
168
 
169
+ if (this.state.orientation.length > 0) {
170
+ validate = this.inputSelectOrientation.onSubmitValidate() && validate;
171
+ }
172
+
150
173
  return validate;
151
174
  }
152
175
 
@@ -210,6 +233,22 @@ export default class Publish5 extends React.Component {
210
233
  :
211
234
  null
212
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
+ }
213
252
  </View>
214
253
  </View>
215
254
 
@@ -306,6 +345,14 @@ export default class Publish5 extends React.Component {
306
345
  selected={this.props.postingAd.furnished}
307
346
  onPress={(value) => this.props.postingAd.furnished = value}
308
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.subCategoryDetails.filter(function (detail) { return detail.value == "exteriorFacade" })[0]?.label}
352
+ visible={this.state.subCategoryDetails.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} />
309
356
  </View>
310
357
 
311
358
  <Text style={commonStyles.progressbarFieldH4}>{strings('setup.inside').toUpperCase()}</Text>
@@ -458,6 +505,16 @@ export default class Publish5 extends React.Component {
458
505
  selected={this.props.postingAd.internet}
459
506
  onPress={(value) => this.props.postingAd.internet = value}
460
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.subCategoryDetails.filter(function (detail) { return detail.value == "animals" })[0]?.label}
514
+ visible={this.state.subCategoryDetails.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} />
461
518
  </View>
462
519
  </View>
463
520
  </View>
Binary file
Binary file
Binary file
Binary file
package/locales/ar.json CHANGED
@@ -111,7 +111,12 @@
111
111
  "contactOwner": "اتصل بالناشر",
112
112
  "allPicturesSelected": "لقد قمت بتحديد جميع الصور",
113
113
  "selected": "المختار(ة)",
114
- "max": "(كحد أقصى)"
114
+ "max": "(كحد أقصى)",
115
+ "orientation": "اتجاه",
116
+ "north": "شمال",
117
+ "south": "جنوب",
118
+ "west": "الغرب",
119
+ "est": "شرق"
115
120
  },
116
121
  "product": {
117
122
  "LISTING": "قوائم",
package/locales/en.json CHANGED
@@ -111,7 +111,12 @@
111
111
  "contactOwner": "Price on request",
112
112
  "allPicturesSelected": "You have already selected all the photos",
113
113
  "selected": "Selected",
114
- "max": "(max)"
114
+ "max": "(max)",
115
+ "orientation": "Orientation",
116
+ "north": "North",
117
+ "south": "South",
118
+ "west": "West",
119
+ "est": "Est"
115
120
  },
116
121
  "product": {
117
122
  "LISTING": "Listing",
package/locales/es.json CHANGED
@@ -111,7 +111,12 @@
111
111
  "contactOwner": "Precio a consultar",
112
112
  "allPicturesSelected": "Ya has seleccionado todas las fotos",
113
113
  "selected": "Seleccionado",
114
- "max": "(max)"
114
+ "max": "(max)",
115
+ "orientation": "Orientación",
116
+ "north": "Norte",
117
+ "south": "Sur",
118
+ "west": "Oeste",
119
+ "est": "Este"
115
120
  },
116
121
  "product": {
117
122
  "LISTING": "Listing",
package/locales/fr.json CHANGED
@@ -111,7 +111,12 @@
111
111
  "contactOwner": "Prix à consulter",
112
112
  "allPicturesSelected": "Vous avez déjà sélectionné toutes les photos",
113
113
  "selected": "Sélectionné(s)",
114
- "max": "(max)"
114
+ "max": "(max)",
115
+ "orientation": "Orientation",
116
+ "north": "Nord",
117
+ "south": "South",
118
+ "west": "Ouest",
119
+ "est": "Est"
115
120
  },
116
121
  "product": {
117
122
  "LISTING": "Liste",
package/locales/it.json CHANGED
@@ -111,7 +111,12 @@
111
111
  "contactOwner": "Prezzo su richiesta",
112
112
  "allPicturesSelected": "Hai già selezionato tutte le foto",
113
113
  "selected": "Selezionato",
114
- "max": "(max)"
114
+ "max": "(max)",
115
+ "orientation": "Orientamento",
116
+ "north": "Nord",
117
+ "south": "Sud",
118
+ "west": "Ovest",
119
+ "est": "Est"
115
120
  },
116
121
  "product": {
117
122
  "LISTING": "Inserzioni",
package/locales/nl.json CHANGED
@@ -111,7 +111,12 @@
111
111
  "contactOwner": "Prijs op aanvraag",
112
112
  "allPicturesSelected": "U hebt alle foto's al geselecteerd",
113
113
  "selected": "Geselecteerd",
114
- "max": "(max)"
114
+ "max": "(max)",
115
+ "orientation": "Oriëntatie",
116
+ "north": "North",
117
+ "south": "Zuid",
118
+ "west": "Oost",
119
+ "est": "North"
115
120
  },
116
121
  "product": {
117
122
  "LISTING": "Advertenties",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "muba-posting",
3
- "version": "4.1.14",
3
+ "version": "4.1.17",
4
4
  "description": "Posting",
5
5
  "main": "Posting.js",
6
6
  "scripts": {