From 3e9a61a6936da008dd1c8701bc6887c2ec62524f Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Thu, 2 Jul 2015 11:35:11 +0800 Subject: [PATCH] Adding js infrastructure to dynamically fetch available payment and shipping methods for accounts distributor --- .../accounts_and_billing_settings.js.coffee | 1 + .../directives/method_settings.js.coffee | 14 ++++++++++++++ .../directives/watchValueAs.js.coffee | 11 +++++++++++ app/assets/javascripts/admin/all.js | 1 + 4 files changed, 27 insertions(+) create mode 100644 app/assets/javascripts/admin/accounts_and_billing_settings/accounts_and_billing_settings.js.coffee create mode 100644 app/assets/javascripts/admin/accounts_and_billing_settings/directives/method_settings.js.coffee create mode 100644 app/assets/javascripts/admin/accounts_and_billing_settings/directives/watchValueAs.js.coffee diff --git a/app/assets/javascripts/admin/accounts_and_billing_settings/accounts_and_billing_settings.js.coffee b/app/assets/javascripts/admin/accounts_and_billing_settings/accounts_and_billing_settings.js.coffee new file mode 100644 index 0000000000..d4f544e300 --- /dev/null +++ b/app/assets/javascripts/admin/accounts_and_billing_settings/accounts_and_billing_settings.js.coffee @@ -0,0 +1 @@ +angular.module("admin.accounts_and_billing_settings", []) diff --git a/app/assets/javascripts/admin/accounts_and_billing_settings/directives/method_settings.js.coffee b/app/assets/javascripts/admin/accounts_and_billing_settings/directives/method_settings.js.coffee new file mode 100644 index 0000000000..32ef50bb64 --- /dev/null +++ b/app/assets/javascripts/admin/accounts_and_billing_settings/directives/method_settings.js.coffee @@ -0,0 +1,14 @@ +angular.module("admin.accounts_and_billing_settings").directive "methodSettingsFor", -> + template: "
" + restrict: 'A' + scope: { + enterprise_id: '=methodSettingsFor' + } + link: (scope, element, attrs) -> + scope.include_html = "" + + scope.$watch "enterprise_id", (newVal, oldVal)-> + if !newVal? || newVal == "" + scope.include_html = "" + else + scope.include_html = "/admin/accounts_and_billing_settings/show_methods?enterprise_id=#{newVal};" diff --git a/app/assets/javascripts/admin/accounts_and_billing_settings/directives/watchValueAs.js.coffee b/app/assets/javascripts/admin/accounts_and_billing_settings/directives/watchValueAs.js.coffee new file mode 100644 index 0000000000..a14288db55 --- /dev/null +++ b/app/assets/javascripts/admin/accounts_and_billing_settings/directives/watchValueAs.js.coffee @@ -0,0 +1,11 @@ +angular.module("admin.accounts_and_billing_settings").directive "watchValueAs", -> + restrict: 'A' + scope: { + value: "=watchValueAs" + } + link: (scope, element, attrs) -> + scope.value = element.val() + + element.on "change blur load", -> + scope.$apply -> + scope.value = element.val() diff --git a/app/assets/javascripts/admin/all.js b/app/assets/javascripts/admin/all.js index e0a10d8a12..cbaccac66d 100644 --- a/app/assets/javascripts/admin/all.js +++ b/app/assets/javascripts/admin/all.js @@ -22,6 +22,7 @@ //= require angular-rails-templates //= require_tree ../templates/admin //= require ./admin +//= require ./accounts_and_billing_settings/accounts_and_billing_settings //= require ./customers/customers //= require ./dropdown/dropdown //= require ./enterprises/enterprises