calculator
This commit is contained in:
parent
6d79a5da72
commit
ff6348a233
4 changed files with 163 additions and 0 deletions
80
src/js/controllers/send2.js
Normal file
80
src/js/controllers/send2.js
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('send2Controller',
|
||||
function($scope, lodash, configService, go) {
|
||||
var config = configService.getSync().wallet.settings;
|
||||
$scope.unitName = config.unitName;
|
||||
$scope.alternativeIsoCode = config.alternativeIsoCode;
|
||||
$scope.amount = $scope.result = 0;
|
||||
$scope.showAlternative = false;
|
||||
|
||||
$scope.toggleAlternative = function() {
|
||||
$scope.showAlternative = !$scope.showAlternative;
|
||||
};
|
||||
|
||||
$scope.close = function() {
|
||||
go.walletHome();
|
||||
};
|
||||
|
||||
$scope.pushDigit = function(digit) {
|
||||
if ($scope.amount.length >= 10) return;
|
||||
var amount;
|
||||
if ($scope.amount == 0 && digit == 0) return;
|
||||
amount = $scope.amount ? $scope.amount + digit : digit;
|
||||
evaluate(amount);
|
||||
};
|
||||
|
||||
$scope.pushOperator = function(operator) {
|
||||
if (!$scope.amount || $scope.amount.length == 0) return;
|
||||
if (!isOperator(lodash.last($scope.amount))) {
|
||||
$scope.amount = $scope.amount + operator;
|
||||
} else
|
||||
$scope.amount = $scope.amount.slice(0, -1) + operator;
|
||||
};
|
||||
|
||||
$scope.removeDigit = function() {
|
||||
if (!$scope.amount || $scope.amount.length == 0) {
|
||||
resetAmount();
|
||||
return;
|
||||
}
|
||||
|
||||
var amount;
|
||||
$scope.amount = amount = $scope.amount.slice(0, -1);
|
||||
evaluate(amount);
|
||||
};
|
||||
|
||||
function isOperator(val) {
|
||||
var regex = /[\/\-\+\*]/;
|
||||
var match = regex.exec(val);
|
||||
if (match) return true;
|
||||
return false;
|
||||
};
|
||||
|
||||
function resetAmount() {
|
||||
$scope.amount = $scope.result = 0;
|
||||
};
|
||||
|
||||
function evaluate(val) {
|
||||
if (!val) {
|
||||
resetAmount();
|
||||
return;
|
||||
}
|
||||
|
||||
if ($scope.amount == 0 && val == '.') {
|
||||
$scope.amount += val;
|
||||
return;
|
||||
}
|
||||
|
||||
var result;
|
||||
try {
|
||||
result = eval(val);
|
||||
} catch (e) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (lodash.isNumber(result)) {
|
||||
$scope.result = result;
|
||||
$scope.amount = val;
|
||||
}
|
||||
};
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue