Refactoring, search fix
This commit is contained in:
parent
af1e70081e
commit
1901915259
|
@ -1,2 +1,4 @@
|
|||
node_modules/
|
||||
.DS_Store
|
||||
.DS_Store
|
||||
assets/javascripts/application.js
|
||||
assets/stylesheets/index.css
|
|
@ -77,6 +77,41 @@ function getContractIntDataFromAddressKey(web3, func, inputVal, i, contractAddr,
|
|||
});
|
||||
});
|
||||
}
|
||||
//check current network page is connected to. Alerts, if not Oracles network
|
||||
function checkNetworkVersion(web3, cb) {
|
||||
var msgNotOracles = "You aren't connected to Oracles network. Please, switch on Parity or MetaMask client and choose Oracles network. Check Oracles network <a href='https://github.com/oraclesorg/oracles-wiki' target='blank'>wiki</a> for more info.";
|
||||
web3.version.getNetwork(function(err, netId) {
|
||||
if (err)
|
||||
console.log(err);
|
||||
console.log("netId: " + netId);
|
||||
switch (netId) {
|
||||
case "1": {
|
||||
console.log('This is mainnet');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "2": {
|
||||
console.log('This is the deprecated Morden test network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "3": {
|
||||
console.log('This is the ropsten test network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "12648430": {
|
||||
console.log('This is Oracles from Metamask');
|
||||
cb(true);
|
||||
} break;
|
||||
default: {
|
||||
console.log('This is an unknown network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
}
|
||||
})
|
||||
}
|
||||
function hex2a(hexx) {
|
||||
var hex = hexx.toString();//force conversion
|
||||
var str = '';
|
||||
|
@ -253,13 +288,45 @@ function formatDate(date, format, utc) {
|
|||
|
||||
return format;
|
||||
};
|
||||
function getValidators(web3, func, addr, contractAddress, disabled, cb) {
|
||||
function filterValidators(searchInput, validators) {
|
||||
return validators.map(function(validator, i) {
|
||||
if (validator) {
|
||||
var searchValidated = validateSearch(validator, searchInput.toLowerCase());
|
||||
if (!searchValidated) return null;
|
||||
else return validator;
|
||||
} else return null;
|
||||
})
|
||||
}
|
||||
|
||||
function validateSearch(validator, searchInput) {
|
||||
var validatorAddress = Object.keys(validator)[0];
|
||||
if (validatorAddress.indexOf(searchInput) > -1) return true;
|
||||
|
||||
var validatorPropsObj = validator[validatorAddress];
|
||||
if (validatorPropsObj["fullName"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["streetName"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["zip"].toString().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["licenseID"].toString().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["state"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (formatDate(new Date(parseInt(validatorPropsObj["licenseExpiredAt"])*1000), "MM/dd/yyyy h:mmTT").toLowerCase().indexOf(searchInput) > -1)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
//gets config file with address of Oracles contract
|
||||
function getConfig(cb) {
|
||||
$.getJSON("./assets/javascripts/config.json", function(config) {
|
||||
var contractAddress = config.Ethereum[config.environment].contractAddress;
|
||||
cb(contractAddress);
|
||||
});
|
||||
}
|
||||
function getValidators(web3, func, contractAddress, disabled, cb) {
|
||||
SHA3Encrypt(web3, func, function(funcEncode) {
|
||||
var funcEncodePart = funcEncode.substring(0,10);
|
||||
|
||||
var data = funcEncodePart;
|
||||
|
||||
call(web3, addr, contractAddress, data, function(validatorsResp) {
|
||||
call(web3, null, contractAddress, data, function(validatorsResp) {
|
||||
validatorsResp = validatorsResp.substring(2, validatorsResp.length);
|
||||
var validatorsArray = [];
|
||||
var item = "";
|
||||
|
@ -445,15 +512,16 @@ function getValidatorView(validatorAddress, validatorPropsObj) {
|
|||
</div>
|
||||
</div>`;
|
||||
}
|
||||
//gets web3 object from MetaMask or Parity
|
||||
function getWeb3(callback) {
|
||||
if (typeof window.web3 === 'undefined') {
|
||||
// no web3, use fallback
|
||||
// no web3, use fallback
|
||||
console.error("Please use a web3 browser");
|
||||
var msgNotEthereum = "You aren't connected to Ethereum. Please, switch on Parity or MetaMask client and refresh the page. Check Oracles network <a href='https://github.com/oraclesorg/oracles-wiki' target='blank'>wiki</a> for more info.";
|
||||
swal("Warning", msgNotEthereum, "warning");
|
||||
callback(myWeb3, false);
|
||||
} else {
|
||||
// window.web3 == web3 most of the time. Don't override the provided,
|
||||
// window.web3 == web3 most of the time. Don't override the provided,
|
||||
// web3, just wrap it in your Web3.
|
||||
var myWeb3 = new Web3(window.web3.currentProvider);
|
||||
|
||||
|
@ -462,61 +530,18 @@ function getWeb3(callback) {
|
|||
myWeb3.eth.defaultAccount = window.web3.eth.defaultAccount;
|
||||
|
||||
checkNetworkVersion(myWeb3, function(isOraclesNetwork) {
|
||||
callback(myWeb3, isOraclesNetwork);
|
||||
callback(myWeb3, isOraclesNetwork);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function checkNetworkVersion(web3, cb) {
|
||||
var msgNotOracles = "You aren't connected to Oracles network. Please, switch on Parity or MetaMask client and choose Oracles network. Check Oracles network <a href='https://github.com/oraclesorg/oracles-wiki' target='blank'>wiki</a> for more info.";
|
||||
web3.version.getNetwork(function(err, netId) {
|
||||
if (err)
|
||||
console.log(err);
|
||||
console.log("netId: " + netId);
|
||||
switch (netId) {
|
||||
case "1": {
|
||||
console.log('This is mainnet');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "2": {
|
||||
console.log('This is the deprecated Morden test network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "3": {
|
||||
console.log('This is the ropsten test network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "12648430": {
|
||||
console.log('This is Oracles from Metamask');
|
||||
cb(true);
|
||||
} break;
|
||||
default: {
|
||||
console.log('This is an unknown network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//launches main application
|
||||
function startDapp(web3, isOraclesNetwork) {
|
||||
if (!isOraclesNetwork) return
|
||||
|
||||
$(function() {
|
||||
var config;
|
||||
var validators;
|
||||
$.getJSON("./assets/javascripts/config.json", function(_config) {
|
||||
config = _config;
|
||||
|
||||
getValidators(web3,
|
||||
"getValidators()",
|
||||
config.Ethereum[config.environment].account,
|
||||
config.Ethereum[config.environment].contractAddress,
|
||||
false,
|
||||
function(_validatorsArray) {
|
||||
getConfig(function(contractAddress) {
|
||||
getValidators(web3, "getValidators()", contractAddress, false, function(_validatorsArray) {
|
||||
validators = _validatorsArray;
|
||||
for(var i = 0; i < _validatorsArray.length; i++) {
|
||||
var validator = _validatorsArray[i];
|
||||
|
@ -530,7 +555,7 @@ function startDapp(web3, isOraclesNetwork) {
|
|||
|
||||
$(".search-input").on("keyup", function() {
|
||||
var searchInput = $(this).val();
|
||||
var filteredValidators = filterValidators(searchInput);
|
||||
var filteredValidators = filterValidators(searchInput, validators);
|
||||
$(".validators").empty();
|
||||
for(var i = 0; i < filteredValidators.length; i++) {
|
||||
var validator = filteredValidators[i];
|
||||
|
@ -541,41 +566,6 @@ function startDapp(web3, isOraclesNetwork) {
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
function filterValidators(searchInput) {
|
||||
return validators.map(function(validator, i) {
|
||||
if (validator) {
|
||||
var searchValidated = validateSearch(validator, searchInput.toLowerCase());
|
||||
if (!searchValidated) return null;
|
||||
else return validator;
|
||||
} else return null;
|
||||
})
|
||||
}
|
||||
|
||||
function validateSearch(validator, searchInput) {
|
||||
var validatorAddress = Object.keys(validator)[0];
|
||||
if (validatorAddress.indexOf(searchInput) > -1) return true;
|
||||
|
||||
var validatorPropsObj = validator[validatorAddress];
|
||||
if (validatorPropsObj["fullName"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["streetName"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["zip"].toString().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["licenseID"].toString().indexOf(searchInput) > -1) return true;
|
||||
else if (formatDate(new Date(parseInt(validatorPropsObj["licenseExpiredAt"])*1000), "MM/dd/yyyy h:mmTT").toLowerCase().indexOf(searchInput) > -1)
|
||||
return true;
|
||||
|
||||
var stateCode = validatorPropsObj["state"].toString();
|
||||
if (stateCode) {
|
||||
var statesList = List.getStatesList();
|
||||
|
||||
if (statesList[stateCode]) {
|
||||
if (statesList[stateCode].toLowerCase().indexOf(searchInput) > -1)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
//check current network page is connected to. Alerts, if not Oracles network
|
||||
function checkNetworkVersion(web3, cb) {
|
||||
var msgNotOracles = "You aren't connected to Oracles network. Please, switch on Parity or MetaMask client and choose Oracles network. Check Oracles network <a href='https://github.com/oraclesorg/oracles-wiki' target='blank'>wiki</a> for more info.";
|
||||
web3.version.getNetwork(function(err, netId) {
|
||||
if (err)
|
||||
console.log(err);
|
||||
console.log("netId: " + netId);
|
||||
switch (netId) {
|
||||
case "1": {
|
||||
console.log('This is mainnet');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "2": {
|
||||
console.log('This is the deprecated Morden test network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "3": {
|
||||
console.log('This is the ropsten test network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "12648430": {
|
||||
console.log('This is Oracles from Metamask');
|
||||
cb(true);
|
||||
} break;
|
||||
default: {
|
||||
console.log('This is an unknown network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
}
|
||||
})
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
function filterValidators(searchInput, validators) {
|
||||
return validators.map(function(validator, i) {
|
||||
if (validator) {
|
||||
var searchValidated = validateSearch(validator, searchInput.toLowerCase());
|
||||
if (!searchValidated) return null;
|
||||
else return validator;
|
||||
} else return null;
|
||||
})
|
||||
}
|
||||
|
||||
function validateSearch(validator, searchInput) {
|
||||
var validatorAddress = Object.keys(validator)[0];
|
||||
if (validatorAddress.indexOf(searchInput) > -1) return true;
|
||||
|
||||
var validatorPropsObj = validator[validatorAddress];
|
||||
if (validatorPropsObj["fullName"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["streetName"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["zip"].toString().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["licenseID"].toString().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["state"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (formatDate(new Date(parseInt(validatorPropsObj["licenseExpiredAt"])*1000), "MM/dd/yyyy h:mmTT").toLowerCase().indexOf(searchInput) > -1)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
//gets config file with address of Oracles contract
|
||||
function getConfig(cb) {
|
||||
$.getJSON("./assets/javascripts/config.json", function(config) {
|
||||
var contractAddress = config.Ethereum[config.environment].contractAddress;
|
||||
cb(contractAddress);
|
||||
});
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
function getValidators(web3, func, addr, contractAddress, disabled, cb) {
|
||||
function getValidators(web3, func, contractAddress, disabled, cb) {
|
||||
SHA3Encrypt(web3, func, function(funcEncode) {
|
||||
var funcEncodePart = funcEncode.substring(0,10);
|
||||
|
||||
var data = funcEncodePart;
|
||||
|
||||
call(web3, addr, contractAddress, data, function(validatorsResp) {
|
||||
call(web3, null, contractAddress, data, function(validatorsResp) {
|
||||
validatorsResp = validatorsResp.substring(2, validatorsResp.length);
|
||||
var validatorsArray = [];
|
||||
var item = "";
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
//gets web3 object from MetaMask or Parity
|
||||
function getWeb3(callback) {
|
||||
if (typeof window.web3 === 'undefined') {
|
||||
// no web3, use fallback
|
||||
console.error("Please use a web3 browser");
|
||||
var msgNotEthereum = "You aren't connected to Ethereum. Please, switch on Parity or MetaMask client and refresh the page. Check Oracles network <a href='https://github.com/oraclesorg/oracles-wiki' target='blank'>wiki</a> for more info.";
|
||||
swal("Warning", msgNotEthereum, "warning");
|
||||
callback(myWeb3, false);
|
||||
} else {
|
||||
// window.web3 == web3 most of the time. Don't override the provided,
|
||||
// web3, just wrap it in your Web3.
|
||||
var myWeb3 = new Web3(window.web3.currentProvider);
|
||||
|
||||
// the default account doesn't seem to be persisted, copy it to our
|
||||
// new instance
|
||||
myWeb3.eth.defaultAccount = window.web3.eth.defaultAccount;
|
||||
|
||||
checkNetworkVersion(myWeb3, function(isOraclesNetwork) {
|
||||
callback(myWeb3, isOraclesNetwork);
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,75 +1,11 @@
|
|||
function getWeb3(callback) {
|
||||
if (typeof window.web3 === 'undefined') {
|
||||
// no web3, use fallback
|
||||
console.error("Please use a web3 browser");
|
||||
var msgNotEthereum = "You aren't connected to Ethereum. Please, switch on Parity or MetaMask client and refresh the page. Check Oracles network <a href='https://github.com/oraclesorg/oracles-wiki' target='blank'>wiki</a> for more info.";
|
||||
swal("Warning", msgNotEthereum, "warning");
|
||||
callback(myWeb3, false);
|
||||
} else {
|
||||
// window.web3 == web3 most of the time. Don't override the provided,
|
||||
// web3, just wrap it in your Web3.
|
||||
var myWeb3 = new Web3(window.web3.currentProvider);
|
||||
|
||||
// the default account doesn't seem to be persisted, copy it to our
|
||||
// new instance
|
||||
myWeb3.eth.defaultAccount = window.web3.eth.defaultAccount;
|
||||
|
||||
checkNetworkVersion(myWeb3, function(isOraclesNetwork) {
|
||||
callback(myWeb3, isOraclesNetwork);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function checkNetworkVersion(web3, cb) {
|
||||
var msgNotOracles = "You aren't connected to Oracles network. Please, switch on Parity or MetaMask client and choose Oracles network. Check Oracles network <a href='https://github.com/oraclesorg/oracles-wiki' target='blank'>wiki</a> for more info.";
|
||||
web3.version.getNetwork(function(err, netId) {
|
||||
if (err)
|
||||
console.log(err);
|
||||
console.log("netId: " + netId);
|
||||
switch (netId) {
|
||||
case "1": {
|
||||
console.log('This is mainnet');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "2": {
|
||||
console.log('This is the deprecated Morden test network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "3": {
|
||||
console.log('This is the ropsten test network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
case "12648430": {
|
||||
console.log('This is Oracles from Metamask');
|
||||
cb(true);
|
||||
} break;
|
||||
default: {
|
||||
console.log('This is an unknown network.');
|
||||
swal("Warning", msgNotOracles, "warning");
|
||||
cb(false);
|
||||
} break;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//launches main application
|
||||
function startDapp(web3, isOraclesNetwork) {
|
||||
if (!isOraclesNetwork) return
|
||||
|
||||
$(function() {
|
||||
var config;
|
||||
var validators;
|
||||
$.getJSON("./assets/javascripts/config.json", function(_config) {
|
||||
config = _config;
|
||||
|
||||
getValidators(web3,
|
||||
"getValidators()",
|
||||
config.Ethereum[config.environment].account,
|
||||
config.Ethereum[config.environment].contractAddress,
|
||||
false,
|
||||
function(_validatorsArray) {
|
||||
getConfig(function(contractAddress) {
|
||||
getValidators(web3, "getValidators()", contractAddress, false, function(_validatorsArray) {
|
||||
validators = _validatorsArray;
|
||||
for(var i = 0; i < _validatorsArray.length; i++) {
|
||||
var validator = _validatorsArray[i];
|
||||
|
@ -83,7 +19,7 @@ function startDapp(web3, isOraclesNetwork) {
|
|||
|
||||
$(".search-input").on("keyup", function() {
|
||||
var searchInput = $(this).val();
|
||||
var filteredValidators = filterValidators(searchInput);
|
||||
var filteredValidators = filterValidators(searchInput, validators);
|
||||
$(".validators").empty();
|
||||
for(var i = 0; i < filteredValidators.length; i++) {
|
||||
var validator = filteredValidators[i];
|
||||
|
@ -94,41 +30,6 @@ function startDapp(web3, isOraclesNetwork) {
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
function filterValidators(searchInput) {
|
||||
return validators.map(function(validator, i) {
|
||||
if (validator) {
|
||||
var searchValidated = validateSearch(validator, searchInput.toLowerCase());
|
||||
if (!searchValidated) return null;
|
||||
else return validator;
|
||||
} else return null;
|
||||
})
|
||||
}
|
||||
|
||||
function validateSearch(validator, searchInput) {
|
||||
var validatorAddress = Object.keys(validator)[0];
|
||||
if (validatorAddress.indexOf(searchInput) > -1) return true;
|
||||
|
||||
var validatorPropsObj = validator[validatorAddress];
|
||||
if (validatorPropsObj["fullName"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["streetName"].toLowerCase().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["zip"].toString().indexOf(searchInput) > -1) return true;
|
||||
else if (validatorPropsObj["licenseID"].toString().indexOf(searchInput) > -1) return true;
|
||||
else if (formatDate(new Date(parseInt(validatorPropsObj["licenseExpiredAt"])*1000), "MM/dd/yyyy h:mmTT").toLowerCase().indexOf(searchInput) > -1)
|
||||
return true;
|
||||
|
||||
var stateCode = validatorPropsObj["state"].toString();
|
||||
if (stateCode) {
|
||||
var statesList = List.getStatesList();
|
||||
|
||||
if (statesList[stateCode]) {
|
||||
if (statesList[stateCode].toLowerCase().indexOf(searchInput) > -1)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
"environment": "live",
|
||||
"Ethereum": {
|
||||
"live": {
|
||||
"account": "0xDd0BB0e2a1594240fED0c2f2c17C1E9AB4F87126",
|
||||
"contractAddress": "0xf472e0e43570b9afaab67089615080cf7c20018d"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue