calculator

This commit is contained in:
Javier 2016-07-07 16:55:04 -03:00
commit ff6348a233
4 changed files with 163 additions and 0 deletions

View file

@ -16,6 +16,14 @@
display: inherit;
}
.df {
display: flex;
}
.button-content {
margin-bottom: -20px;
}
.behind {
z-index: -1;
}
@ -79,6 +87,26 @@
font-size: 14px;
}
.button.button-light:hover {
background-color: #fff;
border: 1px solid #E9E9EC;
}
.button.button-light:active {
background-color: #ababab;
border: 1px solid #E9E9EC;
}
.button.button-stable:hover {
background-color: transparent;
border: 1px solid #E9E9EC;
}
.button.button-stable:active {
background-color: #ababab;
border: 1px solid #E9E9EC;
}
button, .button {
min-width: inherit;
min-height: inherit;

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

View file

@ -1572,6 +1572,14 @@ input.ng-invalid-match {
margin-bottom: 25px;
}
.send-amount {
width: 100%;
text-align: center;
padding-top: 10px;
color: #fff;
height: 150px;
}
.alternative-amount {
height: 25px;
text-align: center;