From 9c5b5deeac55e8bd1854ebe60adf6fe847b69601 Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 10:49:35 -0500 Subject: [PATCH 01/10] refactor(DeCoffee): convert contextual-messaging directive to es6 --- app/index.jade | 2 +- .../contextual-message.directive.js | 73 +++++++++++++++++++ .../directives/contextual-message.js.coffee | 57 --------------- 3 files changed, 74 insertions(+), 58 deletions(-) create mode 100644 assets/js/directives/contextual-message.directive.js delete mode 100644 assets/js/directives/contextual-message.js.coffee diff --git a/app/index.jade b/app/index.jade index 2ee67e2898..95893c77a8 100644 --- a/app/index.jade +++ b/app/index.jade @@ -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') diff --git a/assets/js/directives/contextual-message.directive.js b/assets/js/directives/contextual-message.directive.js new file mode 100644 index 0000000000..eb26a34c15 --- /dev/null +++ b/assets/js/directives/contextual-message.directive.js @@ -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); + } +} diff --git a/assets/js/directives/contextual-message.js.coffee b/assets/js/directives/contextual-message.js.coffee deleted file mode 100644 index 421f21205a..0000000000 --- a/assets/js/directives/contextual-message.js.coffee +++ /dev/null @@ -1,57 +0,0 @@ -angular.module('walletApp').directive('contextualMessage', ($cookies, $window, Wallet, SecurityCenter, filterFilter) -> - { - restrict: "E" - replace: true - templateUrl: "templates/contextual-message.jade" - 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.nextWeek = () -> new Date(Date.now() + 10000).getTime() - - scope.showMessage = (index) -> - scope.messageIndex = index - scope.message = scope.presets[index] - - scope.dismissMessage = (nextIndex, time=scope.nextWeek()) -> - scope.dismissed = true - scope.reveal = false - $cookies.putObject('contextual-message', { - index: nextIndex - when: time - }) - - scope.shouldShow = () -> - balance = Wallet.total('') - security = SecurityCenter.security.score - isTime = if scope.msgCookie? then Date.now() > scope.msgCookie.when else true - - balance > 20000000 && security < 0.5 && isTime - - scope.revealMsg = ()-> - scope.reveal = true - - unwatch = scope.$watch 'shouldShow()', (show) -> - if show - unwatch() - idx = if scope.msgCookie? then scope.msgCookie.index else 0 - scope.showMessage(idx) - - #dynamically position beacon - n = elem.parent()[0] - h = n.offsetHeight - s = n.children[5] - o = -> s.offsetTop - w = -> $window.location.hash - if filterFilter(Wallet.legacyAddresses(), {archived: false}).length > 0 then elem.css('top', 135) else elem.css('top', 95) - - a = (newVal) -> - elem.css('top', o) if newVal.indexOf('transactions') != -1 - - scope.$watch w, a - - } -) From ad36590267231549ca07665ccb8390a2ed356473 Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 10:50:53 -0500 Subject: [PATCH 02/10] refactor(HdAddress): change name to include 'directive' --- app/index.jade | 2 +- assets/js/directives/{hd-address.js => hd-address.directive.js} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename assets/js/directives/{hd-address.js => hd-address.directive.js} (100%) diff --git a/app/index.jade b/app/index.jade index 95893c77a8..895a7394c6 100644 --- a/app/index.jade +++ b/app/index.jade @@ -126,7 +126,7 @@ 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/hd-address.directive.js') script(src='build/js/directives/imported-address.js') script(src='build/js/directives/watch-only-address.js') script(src='build/js/directives/helper-button.js') diff --git a/assets/js/directives/hd-address.js b/assets/js/directives/hd-address.directive.js similarity index 100% rename from assets/js/directives/hd-address.js rename to assets/js/directives/hd-address.directive.js From e065b5a6016096023b85a364f9b72fb847c87645 Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 10:55:18 -0500 Subject: [PATCH 03/10] refactor(DeCoffee): convert helper-button directive to es6 --- app/index.jade | 2 +- .../js/directives/helper-button.directive.js | 38 +++++++++++++++++++ assets/js/directives/helper-button.js.coffee | 27 ------------- 3 files changed, 39 insertions(+), 28 deletions(-) create mode 100644 assets/js/directives/helper-button.directive.js delete mode 100644 assets/js/directives/helper-button.js.coffee diff --git a/app/index.jade b/app/index.jade index 895a7394c6..e883064c8f 100644 --- a/app/index.jade +++ b/app/index.jade @@ -129,7 +129,7 @@ head script(src='build/js/directives/hd-address.directive.js') script(src='build/js/directives/imported-address.js') script(src='build/js/directives/watch-only-address.js') - script(src='build/js/directives/helper-button.js') + script(src='build/js/directives/helper-button.directive.js') script(src='build/js/directives/ip-whitelist-restrict.js') script(src='build/js/directives/language-picker.js') script(src='build/js/directives/on-enter.js') diff --git a/assets/js/directives/helper-button.directive.js b/assets/js/directives/helper-button.directive.js new file mode 100644 index 0000000000..2389b0ea4d --- /dev/null +++ b/assets/js/directives/helper-button.directive.js @@ -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; + } +} diff --git a/assets/js/directives/helper-button.js.coffee b/assets/js/directives/helper-button.js.coffee deleted file mode 100644 index 41bfe39c09..0000000000 --- a/assets/js/directives/helper-button.js.coffee +++ /dev/null @@ -1,27 +0,0 @@ -angular.module('walletApp').directive('helperButton', ($translate) -> - { - restrict: "E" - replace: true - scope: { - content: '@' - url: '@' - placement: '@' - } - templateUrl: "templates/helper-button.jade" - link: (scope, elem, attrs) -> - scope.isActive = false - - scope.warning = attrs.warning? - - $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 - - } -) From e1b6db6940e16c66d2a2944f21af60ca180d20de Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 10:56:45 -0500 Subject: [PATCH 04/10] refactor(ImportedAddress): change name to include 'directive' --- app/index.jade | 2 +- .../{imported-address.js => imported-address.directive.js} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename assets/js/directives/{imported-address.js => imported-address.directive.js} (100%) diff --git a/app/index.jade b/app/index.jade index e883064c8f..43cf5de589 100644 --- a/app/index.jade +++ b/app/index.jade @@ -127,7 +127,7 @@ head 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.directive.js') - script(src='build/js/directives/imported-address.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.directive.js') script(src='build/js/directives/ip-whitelist-restrict.js') diff --git a/assets/js/directives/imported-address.js b/assets/js/directives/imported-address.directive.js similarity index 100% rename from assets/js/directives/imported-address.js rename to assets/js/directives/imported-address.directive.js From 1a90112e03ee25d988e4891f24d83933c367667b Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 11:03:07 -0500 Subject: [PATCH 05/10] refactor(DeCoffee): convert ip-whitelist-restrict directive to es6 --- app/index.jade | 2 +- .../ip-whitelist-restrict.directive.js | 27 +++++++++++++++++++ .../ip-whitelist-restrict.js.coffee | 18 ------------- 3 files changed, 28 insertions(+), 19 deletions(-) create mode 100644 assets/js/directives/ip-whitelist-restrict.directive.js delete mode 100644 assets/js/directives/ip-whitelist-restrict.js.coffee diff --git a/app/index.jade b/app/index.jade index 43cf5de589..62ecfee254 100644 --- a/app/index.jade +++ b/app/index.jade @@ -130,7 +130,7 @@ head 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.directive.js') - script(src='build/js/directives/ip-whitelist-restrict.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') diff --git a/assets/js/directives/ip-whitelist-restrict.directive.js b/assets/js/directives/ip-whitelist-restrict.directive.js new file mode 100644 index 0000000000..cc6dc4efbf --- /dev/null +++ b/assets/js/directives/ip-whitelist-restrict.directive.js @@ -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(); + } +} diff --git a/assets/js/directives/ip-whitelist-restrict.js.coffee b/assets/js/directives/ip-whitelist-restrict.js.coffee deleted file mode 100644 index 0da9238daf..0000000000 --- a/assets/js/directives/ip-whitelist-restrict.js.coffee +++ /dev/null @@ -1,18 +0,0 @@ -angular.module('walletApp').directive('ipWhitelistRestrict', ($translate, Wallet) -> - { - restrict: "E" - replace: 'true' - scope: { - } - templateUrl: 'templates/ip-whitelist-restrict.jade' - link: (scope, elem, attrs) -> - scope.settings = Wallet.settings - - scope.enableIpWhitelistRestrict = () -> - Wallet.enableRestrictToWhiteListedIPs() - - scope.disableIpWhitelistRestrict = () -> - Wallet.disableRestrictToWhiteListedIPs() - - } -) \ No newline at end of file From ae45e53eae09c4b9a305ebe72074aac0f39e4433 Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 11:11:52 -0500 Subject: [PATCH 06/10] refactor(DeCoffee): convert is-not-equal directive to es6 --- app/index.jade | 2 +- .../js/directives/is-not-equal.directive.js | 21 +++++++++++++++++++ assets/js/directives/is-not-equal.js.coffee | 11 ---------- 3 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 assets/js/directives/is-not-equal.directive.js delete mode 100644 assets/js/directives/is-not-equal.js.coffee diff --git a/app/index.jade b/app/index.jade index 62ecfee254..4835ce132d 100644 --- a/app/index.jade +++ b/app/index.jade @@ -147,7 +147,7 @@ head 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-equal.directive.js') script(src='build/js/directives/is-not-null.js') script(src='build/js/directives/transform-currency.js') script(src='build/js/directives/label-origin.js') diff --git a/assets/js/directives/is-not-equal.directive.js b/assets/js/directives/is-not-equal.directive.js new file mode 100644 index 0000000000..cb69145117 --- /dev/null +++ b/assets/js/directives/is-not-equal.directive.js @@ -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; + }; + } +} diff --git a/assets/js/directives/is-not-equal.js.coffee b/assets/js/directives/is-not-equal.js.coffee deleted file mode 100644 index 2ba323a75b..0000000000 --- a/assets/js/directives/is-not-equal.js.coffee +++ /dev/null @@ -1,11 +0,0 @@ -angular.module('walletApp').directive('isNotEqual', (Wallet) -> - { - restrict: 'A' - require: 'ngModel' - link: (scope, elem, attrs, ctrl) -> - ctrl.$validators.isNotEqual = (modelValue, viewValue) -> - if attrs.property? && attrs.property != '' && viewValue? - viewValue = viewValue[attrs.property] - return attrs.isNotEqual != viewValue - } -) From 8ead35cd7237bed357b8a3c8e615ab1bfeb38525 Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 11:13:44 -0500 Subject: [PATCH 07/10] refactor(IsNotNull): remove unused directive: is-not-null --- app/index.jade | 1 - assets/js/directives/is-not-null.js.coffee | 14 -------------- 2 files changed, 15 deletions(-) delete mode 100644 assets/js/directives/is-not-null.js.coffee diff --git a/app/index.jade b/app/index.jade index 4835ce132d..e921c031d1 100644 --- a/app/index.jade +++ b/app/index.jade @@ -148,7 +148,6 @@ head 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.directive.js') - script(src='build/js/directives/is-not-null.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') diff --git a/assets/js/directives/is-not-null.js.coffee b/assets/js/directives/is-not-null.js.coffee deleted file mode 100644 index 6ae8c8c896..0000000000 --- a/assets/js/directives/is-not-null.js.coffee +++ /dev/null @@ -1,14 +0,0 @@ -angular.module('walletApp').directive('isNotNull', (Wallet) -> - { - restrict: 'A' - require: 'ngModel' - link: (scope, elem, attrs, ctrl) -> - ctrl.$validators.isNotNull = (modelValue, viewValue) -> - if attrs.isNotNull != '' - modelValue = modelValue[attrs.isNotNull] - return false if modelValue == null - return false if modelValue == undefined - return false if modelValue == '' - return true - } -) From 2ca820fb9d983f661f1bf37964b41a72135a3829 Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 11:27:30 -0500 Subject: [PATCH 08/10] refactor(IsValidAmount): get rid of unused directive: is-valid-amount --- app/index.jade | 1 - .../js/directives/is-valid-amount.js.coffee | 17 -------------- tests/controllers/request_ctrl_spec.coffee | 22 +------------------ 3 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 assets/js/directives/is-valid-amount.js.coffee diff --git a/app/index.jade b/app/index.jade index e921c031d1..bd1d5d1b03 100644 --- a/app/index.jade +++ b/app/index.jade @@ -145,7 +145,6 @@ head 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.directive.js') script(src='build/js/directives/transform-currency.js') diff --git a/assets/js/directives/is-valid-amount.js.coffee b/assets/js/directives/is-valid-amount.js.coffee deleted file mode 100644 index e637166b29..0000000000 --- a/assets/js/directives/is-valid-amount.js.coffee +++ /dev/null @@ -1,17 +0,0 @@ -angular.module('walletApp').directive('isValidAmount', (Wallet, currency) -> - { - restrict: 'A' - require: 'ngModel' - link: (scope, elem, attrs, ctrl) -> - - decimalPlaces = (number) -> - if number? - return (number.toString().split('.')[1] || []).length - - ctrl.$validators.isValidAmount = (modelValue, viewValue) -> - return false if isNaN(viewValue) - return false if parseFloat(viewValue) < 0 - return false if decimalPlaces(viewValue) > currency.decimalPlacesForCurrency(scope.$eval attrs.currency) - return true - } -) diff --git a/tests/controllers/request_ctrl_spec.coffee b/tests/controllers/request_ctrl_spec.coffee index f71c07a773..8b4eefbbc3 100644 --- a/tests/controllers/request_ctrl_spec.coffee +++ b/tests/controllers/request_ctrl_spec.coffee @@ -47,7 +47,7 @@ describe "RequestCtrl", -> element = angular.element( '
' + - '' + + '' + '
' ) scope.model = { fields: {to: null, amount: '0', currency: Wallet.settings.currency, label: ""} } @@ -148,23 +148,3 @@ describe "RequestCtrl", -> scope.fields.amount = "" scope.$digest() expect(scope.paymentRequestURL()).not.toContain("amount=") - - describe "form validation", -> - - it "should not be valid if 'amount' is not a number", () -> - scope.requestForm.amount.$setViewValue('asdf') - expect(scope.requestForm.$valid).toBe(false) - - it "should not be valid if 'amount' is negative", () -> - scope.requestForm.amount.$setViewValue(-69) - expect(scope.requestForm.$valid).toBe(false) - - it "should not be valid if 'amount' has too many decimal places (btc)", () -> - scope.requestForm.amount.$setViewValue('0.000000001') - scope.fields.currency = {code: 'BTC'} - expect(scope.requestForm.$valid).toBe(false) - - it "should not be valid if 'amount' has too many decimal places (fiat)", () -> - scope.requestForm.amount.$setViewValue('0.001') - scope.fields.currency = {code: 'USD'} - expect(scope.requestForm.$valid).toBe(false) From 628b64b0fd8e395f03bba5a24ecb671ed6bdf65b Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 11:19:21 -0500 Subject: [PATCH 09/10] refactor(IsValidAsync): get rid of unused directive: is-valid-async --- app/index.jade | 1 - assets/js/directives/is-valid-async.js.coffee | 25 ------------------- 2 files changed, 26 deletions(-) delete mode 100644 assets/js/directives/is-valid-async.js.coffee diff --git a/app/index.jade b/app/index.jade index bd1d5d1b03..31d194427f 100644 --- a/app/index.jade +++ b/app/index.jade @@ -145,7 +145,6 @@ head 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-async.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') diff --git a/assets/js/directives/is-valid-async.js.coffee b/assets/js/directives/is-valid-async.js.coffee deleted file mode 100644 index 8b3441723c..0000000000 --- a/assets/js/directives/is-valid-async.js.coffee +++ /dev/null @@ -1,25 +0,0 @@ -angular.module('walletApp').directive('isValidAsync', ($q, Wallet) -> - { - restrict: 'A' - require: 'ngModel' - link: (scope, elem, attrs, ctrl) -> - - validator = scope.$eval(attrs.isValidAsync) - - return unless typeof validator == 'function' - - ctrl.$asyncValidators.isValidAsync = (modelValue, viewValue) -> - deferred = $q.defer() - - success = () -> - deferred.resolve() - - error = () -> - deferred.reject() - - validator modelValue, success, error - - return deferred.promise - - } -) From 728d5d151ef33f0b464edb2814c9d70b216c159c Mon Sep 17 00:00:00 2001 From: Justin Tormey Date: Fri, 18 Dec 2015 11:23:07 -0500 Subject: [PATCH 10/10] refactor(DeCoffee): convert is-valid directive to es6 --- app/index.jade | 2 +- assets/js/directives/is-valid.directive.js | 18 ++++++++++++++++++ assets/js/directives/is-valid.js.coffee | 9 --------- 3 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 assets/js/directives/is-valid.directive.js delete mode 100644 assets/js/directives/is-valid.js.coffee diff --git a/app/index.jade b/app/index.jade index 31d194427f..9f38ec5841 100644 --- a/app/index.jade +++ b/app/index.jade @@ -144,7 +144,7 @@ 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.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') diff --git a/assets/js/directives/is-valid.directive.js b/assets/js/directives/is-valid.directive.js new file mode 100644 index 0000000000..bbb5ab1f75 --- /dev/null +++ b/assets/js/directives/is-valid.directive.js @@ -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)); + }); + } +} diff --git a/assets/js/directives/is-valid.js.coffee b/assets/js/directives/is-valid.js.coffee deleted file mode 100644 index 64ada4d247..0000000000 --- a/assets/js/directives/is-valid.js.coffee +++ /dev/null @@ -1,9 +0,0 @@ -angular.module('walletApp').directive('isValid', (Wallet) -> - { - restrict: 'A' - require: 'ngModel' - link: (scope, elem, attrs, ctrl) -> - ctrl.$viewChangeListeners.push () -> - ctrl.$setValidity('isValid', scope.$eval(attrs.isValid)) - } -)