Last update after tests

This commit is contained in:
Vincent BRIDIER 2022-10-11 12:01:46 +02:00
parent 1f7fd92e2f
commit 73da29371d
No known key found for this signature in database
GPG key ID: 8571BFA20420D512
5 changed files with 22 additions and 7 deletions

View file

@ -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

View file

@ -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);
});
}

View file

@ -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 {

View file

@ -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');
}

View file

@ -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() {