From 5a7cac652c4bbc56ece3f3fb2cdb9bb41b463e42 Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Thu, 12 Nov 2015 09:49:36 +1100 Subject: [PATCH] Adding confirm-link directive --- .../line_items/directives/confirm_link_click.js.coffee | 9 +++++++++ app/views/spree/admin/orders/bulk_management.html.haml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 app/assets/javascripts/admin/line_items/directives/confirm_link_click.js.coffee diff --git a/app/assets/javascripts/admin/line_items/directives/confirm_link_click.js.coffee b/app/assets/javascripts/admin/line_items/directives/confirm_link_click.js.coffee new file mode 100644 index 0000000000..b9b61c72cc --- /dev/null +++ b/app/assets/javascripts/admin/line_items/directives/confirm_link_click.js.coffee @@ -0,0 +1,9 @@ +# Used on a link to prevent link clicks unless a callback returns true (probably asking for user confirmation) +angular.module("admin.lineItems").directive "confirmLinkClick", -> + restrict: "A" + scope: + confirmLinkClick: "&" + link: (scope, element, attrs) -> + element.bind "click", (event) -> + unless scope.confirmLinkClick() + event.preventDefault() diff --git a/app/views/spree/admin/orders/bulk_management.html.haml b/app/views/spree/admin/orders/bulk_management.html.haml index 263965299b..805d7ebb59 100644 --- a/app/views/spree/admin/orders/bulk_management.html.haml +++ b/app/views/spree/admin/orders/bulk_management.html.haml @@ -153,7 +153,7 @@ %td.price{ 'ng-show' => 'columns.price.visible' } %input{ :type => 'text', :name => 'price', :id => 'price', :value => '{{ line_item.price * line_item.quantity | currency }}', 'ng-readonly' => "true", 'obj-for-update' => "line_item", "attr-for-update" => "price" } %td.actions - %a{ :class => "edit-order icon-edit no-text", 'ofn-confirm-link-path' => "/admin/orders/{{line_item.order.number}}/edit" } + %a{ href: "/admin/orders/{{line_item.order.number}}/edit", :class => "edit-order icon-edit no-text", 'confirm-link-click' => 'confirmRefresh()' } %td.actions %a{ 'ng-click' => "deleteLineItem(line_item)", :class => "delete-line-item icon-trash no-text" } %input{ :type => "button", 'value' => 'Update', 'ng-click' => 'submit()' }