Last update after tests
This commit is contained in:
parent
1f7fd92e2f
commit
73da29371d
5 changed files with 22 additions and 7 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue