From 73da29371d7303bf6703fc20dd740ba8e07b222f Mon Sep 17 00:00:00 2001 From: Vincent BRIDIER Date: Tue, 11 Oct 2022 12:01:46 +0200 Subject: [PATCH] Last update after tests --- ComApp/src/Controllers/Helpers.js | 6 ++++++ ComApp/src/Controllers/Sync.js | 5 +++-- ComApp/src/Views/Contact.js | 12 ++++++++++-- ComApp/src/Views/ContactDetails.js | 4 ++-- ComApp/src/Views/Sync.js | 2 +- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/ComApp/src/Controllers/Helpers.js b/ComApp/src/Controllers/Helpers.js index 7e55261..63d3462 100644 --- a/ComApp/src/Controllers/Helpers.js +++ b/ComApp/src/Controllers/Helpers.js @@ -1,6 +1,7 @@ class Helpers { compareValues(key, order = 'asc') { return function innerSort(a, b) { + //console.log("--", "A :", a, "B : ", b, "KEY : ", key, a.hasOwnProperty(key), b.hasOwnProperty(key), a.name); if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) { // property doesn't exist on either object return 0; @@ -28,6 +29,11 @@ class Helpers { return expression.test(String(email).toLowerCase()); } + isValidRequiredString(string) { + const expression = /.*\S.*/i; + return expression.test(String(string)); + } + generateUUID() { // Public Domain/MIT let d = new Date().getTime();//Timestamp let d2 = new Date().getUTCMilliseconds() + Math.random();//Time in microseconds since page-load or 0 if unsupported diff --git a/ComApp/src/Controllers/Sync.js b/ComApp/src/Controllers/Sync.js index 850f4bd..87dcbed 100644 --- a/ComApp/src/Controllers/Sync.js +++ b/ComApp/src/Controllers/Sync.js @@ -150,7 +150,7 @@ class Sync { }); } - getContacts(callback, userId) { + getContacts(callback, userId, errorCallback) { let contacts = ContactsModel.getAll(); axios({ method: 'post', @@ -169,8 +169,9 @@ class Sync { console.log('Contacts Update Done'); callback(); }) - .catch(function(error) { + .catch(function (error) { console.log(error); + errorCallback(error); }); } diff --git a/ComApp/src/Views/Contact.js b/ComApp/src/Views/Contact.js index ecec1b2..acb307c 100644 --- a/ComApp/src/Views/Contact.js +++ b/ComApp/src/Views/Contact.js @@ -195,7 +195,10 @@ class ContactScreen extends React.Component { sort = 'asc'; } } - this.setState({ contacts: this.state.contacts.sort(Helpers.compareValues(field, sort)), sortType: sort, sortField: field }); + let obj = this.props.contacts; + let array = Object.keys(obj).map(function (key) { return obj[key]; }); + this.setState({ contacts: array.sort(Helpers.compareValues(field, sort)), sortType: sort, sortField: field }); + //this.setState({ contacts: this.state.contacts.sort(Helpers.compareValues(field, sort)), sortType: sort, sortField: field }); } HeaderItem() { @@ -228,7 +231,12 @@ class ContactScreen extends React.Component { this.setState({ searchTxt: text }); if (text.length > 0) { let tmpContactsName = this.props.contacts.filter(item => item.name.toLowerCase().indexOf(text.toLowerCase()) >= 0); - let tmpContactsCompany = this.props.contacts.filter(item => item.company.toLowerCase().indexOf(text.toLowerCase()) >= 0); + let tmpContactsCompany = this.props.contacts.filter(item => { + if (item.company === null) { + return false; + } + return item.company.toLowerCase().indexOf(text.toLowerCase()) >= 0 + }); let resSearch = Object.assign(tmpContactsName, tmpContactsCompany); this.setState({ contacts: resSearch.sort(Helpers.compareValues('name', 'asc')), sortType: 'asc' }); } else { diff --git a/ComApp/src/Views/ContactDetails.js b/ComApp/src/Views/ContactDetails.js index 1341caf..c635aea 100644 --- a/ComApp/src/Views/ContactDetails.js +++ b/ComApp/src/Views/ContactDetails.js @@ -107,10 +107,10 @@ class ContactDetailsScreen extends React.Component { if (this.state.tmpEmail.length < 5 || !Helpers.isEmailValid(this.state.tmpEmail)) { error = error.concat(i18n.t('error.invalid_email_address') + '.\n'); } - if (this.state.tmpName.length === 0) { + if (this.state.tmpName.length === 0 || !Helpers.isValidRequiredString(this.state.tmpName)) { error = error.concat(i18n.t('error.invalid_name') + '.\n'); } - if (this.state.tmpFirstname.length === 0) { + if (this.state.tmpFirstname.length === 0 || !Helpers.isValidRequiredString(this.state.tmpFirstname)) { error = error.concat(i18n.t('error.invalid_firstname') + '.\n'); } diff --git a/ComApp/src/Views/Sync.js b/ComApp/src/Views/Sync.js index 66e0838..f951e50 100644 --- a/ComApp/src/Views/Sync.js +++ b/ComApp/src/Views/Sync.js @@ -178,7 +178,7 @@ class SyncScreen extends React.Component { getContacts() { this.setState({progress: 0.1, txtStep: i18n.t('sync_s.updating_contacts') + '...'}); - Sync.getContacts(this.sendBrochures.bind(this), this.props.currentUser.id); + Sync.getContacts(this.sendBrochures.bind(this), this.props.currentUser.id, this.errorCallback.bind(this)); } installProcessed() {