Skip to content
This repository has been archived by the owner on Oct 8, 2019. It is now read-only.

Commit

Permalink
Merge pull request #248 from blockchain/de-coffee
Browse files Browse the repository at this point in the history
De coffee
  • Loading branch information
Sjors committed Jan 22, 2016
2 parents aa09340 + 728d5d1 commit 4afb70b
Show file tree
Hide file tree
Showing 17 changed files with 185 additions and 209 deletions.
17 changes: 7 additions & 10 deletions app/index.jade
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ head
script(src='build/js/directives/setting-toggle.js')
script(src='build/js/directives/bc-async-input.directive.js')
script(src='build/js/directives/completed-level.directive.js')
script(src='build/js/directives/contextual-message.js')
script(src='build/js/directives/contextual-message.directive.js')
script(src='build/js/directives/configure-mobile-number.directive.js')
script(src='build/js/directives/verify-mobile-number.js')
script(src='build/js/directives/configure-second-password.directive.js')
Expand All @@ -126,11 +126,11 @@ head
script(src='build/js/directives/did-you-know.directive.js')
script(src='build/js/directives/fiat-or-btc.directive.js')
script(src='build/js/directives/fiat.directive.js')
script(src='build/js/directives/hd-address.js')
script(src='build/js/directives/imported-address.js')
script(src='build/js/directives/hd-address.directive.js')
script(src='build/js/directives/imported-address.directive.js')
script(src='build/js/directives/watch-only-address.js')
script(src='build/js/directives/helper-button.js')
script(src='build/js/directives/ip-whitelist-restrict.js')
script(src='build/js/directives/helper-button.directive.js')
script(src='build/js/directives/ip-whitelist-restrict.directive.js')
script(src='build/js/directives/language-picker.js')
script(src='build/js/directives/on-enter.js')
script(src='build/js/directives/resend-email-confirmation.js')
Expand All @@ -144,11 +144,8 @@ head
script(src='build/js/directives/virtual-keyboard.js')
script(src='build/js/directives/btc-picker.directive.js')
script(src='build/js/directives/focus-when.directive.js')
script(src='build/js/directives/is-valid.js')
script(src='build/js/directives/is-valid-amount.js')
script(src='build/js/directives/is-valid-async.js')
script(src='build/js/directives/is-not-equal.js')
script(src='build/js/directives/is-not-null.js')
script(src='build/js/directives/is-valid.directive.js')
script(src='build/js/directives/is-not-equal.directive.js')
script(src='build/js/directives/transform-currency.js')
script(src='build/js/directives/label-origin.js')
script(src='build/js/directives/destinationInput.directive.js')
Expand Down
73 changes: 73 additions & 0 deletions assets/js/directives/contextual-message.directive.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@

angular
.module('walletApp')
.directive('contextualMessage', contextualMessage);

contextualMessage.$inject = ['$cookies', '$window', 'Wallet', 'SecurityCenter', 'filterFilter'];

function contextualMessage($cookies, $window, Wallet, SecurityCenter, filterFilter) {
const directive = {
restrict: 'E',
replace: true,
templateUrl: 'templates/contextual-message.jade',
link: link
};
return directive;

function link(scope, elem, attrs) {
scope.presets = ['SECURE_WALLET_MSG_1', 'SECURE_WALLET_MSG_2'];
scope.msgCookie = $cookies.getObject('contextual-message');
scope.reveal = false;

scope.nextWeek = () => new Date(Date.now() + 604800000).getTime();

scope.showMessage = (index) => {
scope.messageIndex = index;
scope.message = scope.presets[index];
};

scope.dismissMessage = (nextIndex, time) => {
time = time || scope.nextWeek();
scope.dismissed = true;
scope.reveal = false;
$cookies.putObject('contextual-message', {
index: nextIndex,
when: time
});
};

scope.shouldShow = () => {
let balance = Wallet.total('');
let security = SecurityCenter.security.score;
let isTime = scope.msgCookie ? Date.now() > scope.msgCookie.when : true;
return balance > 20000000 && security < 0.5 && isTime;
};

scope.revealMsg = () =>
scope.reveal = true;

let unwatch = scope.$watch('shouldShow()', function(show) {
if (show) {
unwatch();
let idx = scope.msgCookie ? scope.msgCookie.index : 0;
scope.showMessage(idx);
}
});

// dynamically position beacon
let n = elem.parent()[0];
let h = n.offsetHeight;
let s = n.children[5];
let o = () => s.offsetTop;
let w = () => $window.location.hash;

let activeAddressCount = filterFilter(Wallet.legacyAddresses(), {archived: false}).length;
elem.css('top', activeAddressCount > 0 ? 135 : 95);

let a = (newVal) => {
if (newVal.indexOf('transactions') !== -1) elem.css('top', o);
};

scope.$watch(w, a);
}
}
57 changes: 0 additions & 57 deletions assets/js/directives/contextual-message.js.coffee

This file was deleted.

38 changes: 38 additions & 0 deletions assets/js/directives/helper-button.directive.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

angular
.module('walletApp')
.directive('helperButton', helperButton);

helperButton.$inject = ['$translate'];

function helperButton($translate) {
const directive = {
restrict: "E",
replace: true,
scope: {
content: '@',
url: '@',
placement: '@'
},
templateUrl: "templates/helper-button.jade",
link: link
};
return directive;

function link(scope, elem, attrs) {
scope.isActive = false;
scope.warning = attrs.warning != null;

$translate(scope.content).then((translation) => {
scope.content = translation;
});

scope.helperText = {
templateUrl: 'templates/helper-popover.jade',
placement: scope.placement || 'right'
};

scope.toggleActive = () =>
scope.isActive = !scope.isActive;
}
}
27 changes: 0 additions & 27 deletions assets/js/directives/helper-button.js.coffee

This file was deleted.

27 changes: 27 additions & 0 deletions assets/js/directives/ip-whitelist-restrict.directive.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@

angular
.module('walletApp')
.directive('ipWhitelistRestrict', ipWhitelistRestrict);

ipWhitelistRestrict.$inject = ['$translate', 'Wallet'];

function ipWhitelistRestrict($translate, Wallet) {
const directive = {
restrict: 'E',
replace: true,
scope: {},
templateUrl: 'templates/ip-whitelist-restrict.jade',
link: link
};
return directive;

function link(scope, elem, attrs) {
scope.settings = Wallet.settings;

scope.enableIpWhitelistRestrict = () =>
Wallet.enableRestrictToWhiteListedIPs();

scope.disableIpWhitelistRestrict = () =>
Wallet.disableRestrictToWhiteListedIPs();
}
}
18 changes: 0 additions & 18 deletions assets/js/directives/ip-whitelist-restrict.js.coffee

This file was deleted.

21 changes: 21 additions & 0 deletions assets/js/directives/is-not-equal.directive.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@

angular
.module('walletApp')
.directive('isNotEqual', isNotEqual);

isNotEqual.$inject = ['Wallet'];

function isNotEqual(Wallet) {
const directive = {
restrict: 'A',
require: 'ngModel',
link: link
};
return directive;

function link(scope, elem, attrs, ctrl) {
ctrl.$validators.isNotEqual = (modelValue, viewValue) => {
return attrs.isNotEqual !== viewValue;
};
}
}
11 changes: 0 additions & 11 deletions assets/js/directives/is-not-equal.js.coffee

This file was deleted.

14 changes: 0 additions & 14 deletions assets/js/directives/is-not-null.js.coffee

This file was deleted.

17 changes: 0 additions & 17 deletions assets/js/directives/is-valid-amount.js.coffee

This file was deleted.

25 changes: 0 additions & 25 deletions assets/js/directives/is-valid-async.js.coffee

This file was deleted.

18 changes: 18 additions & 0 deletions assets/js/directives/is-valid.directive.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
angular
.module('walletApp')
.directive('isValid', isValid);

function isValid() {
const directive = {
restrict: 'A',
require: 'ngModel',
link: link
};
return directive;

function link(scope, elem, attrs, ctrl) {
ctrl.$viewChangeListeners.push(() => {
ctrl.$setValidity('isValid', scope.$eval(attrs.isValid));
});
}
}

0 comments on commit 4afb70b

Please sign in to comment.