diff --git a/app/assets/javascripts/darkswarm/controllers/order_cycle_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/order_cycle_controller.js.coffee index 6547237c2d..49d902a7f0 100644 --- a/app/assets/javascripts/darkswarm/controllers/order_cycle_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/order_cycle_controller.js.coffee @@ -2,15 +2,6 @@ Darkswarm.controller "OrderCycleCtrl", ($scope, $rootScope, $timeout, OrderCycle $scope.order_cycle = OrderCycle.order_cycle $scope.OrderCycle = OrderCycle - # Timeout forces this to be evaluated after everything is loaded - # This is a hack. We should probably write our own "popover" directive - # That takes an expression instead of a trigger, and binds to that - $timeout => - $rootScope.$broadcast 'orderCycleSelected' - if !$scope.OrderCycle.selected() - $("#order_cycle_id").trigger("openTrigger") - - Darkswarm.controller "OrderCycleChangeCtrl", ($scope, $rootScope, $timeout, OrderCycle, Products, Variants, Cart, ChangeableOrdersAlert) -> # Track previous order cycle id for use with revertOrderCycle() $scope.previous_order_cycle_id = OrderCycle.order_cycle.order_cycle_id diff --git a/app/assets/javascripts/darkswarm/controllers/page_selection_ctrl.js.coffee b/app/assets/javascripts/darkswarm/controllers/page_selection_ctrl.js.coffee index 9f4cbe2c1b..d05e901396 100644 --- a/app/assets/javascripts/darkswarm/controllers/page_selection_ctrl.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/page_selection_ctrl.js.coffee @@ -1,4 +1,4 @@ -Darkswarm.controller "PageSelectionCtrl", ($scope, $location) -> +Darkswarm.controller "PageSelectionCtrl", ($scope, $rootScope, $location) -> $scope.selectedPage = -> # The path looks like `/contact` for the URL `https://ofn.org/shop#/contact`. # We remove the slash at the beginning. @@ -15,3 +15,8 @@ Darkswarm.controller "PageSelectionCtrl", ($scope, $location) -> $scope.whitelistPages = (pages) -> $scope.whitelist = pages $scope.lastPage = pages[0] + + # when an order cycle is changed, ensure the shop tab is active to save a click + $rootScope.$on "orderCycleSelected", -> + if $scope.selectedPage() != "shop" + $location.path("shop") diff --git a/app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee index bc72b597c2..5b92b28280 100644 --- a/app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee @@ -12,6 +12,11 @@ Darkswarm.controller "ProductsCtrl", ($scope, $sce, $filter, $rootScope, Product $scope.supplied_properties = null $scope.showFilterSidebar = false + # Update filters after initial load of shop tab + $timeout => + $scope.update_filters() + + # Update filters when order cycle changed $rootScope.$on "orderCycleSelected", -> $scope.update_filters() $scope.clearAll() diff --git a/app/assets/javascripts/darkswarm/darkswarm.js.coffee b/app/assets/javascripts/darkswarm/darkswarm.js.coffee index d26b884045..eb724ac400 100644 --- a/app/assets/javascripts/darkswarm/darkswarm.js.coffee +++ b/app/assets/javascripts/darkswarm/darkswarm.js.coffee @@ -16,8 +16,5 @@ window.Darkswarm = angular.module("Darkswarm", [ $httpProvider.defaults.headers['common']['X-Requested-With'] = 'XMLHttpRequest' $httpProvider.defaults.headers.common.Accept = "application/json, text/javascript, */*" - # This allows us to trigger these two events on tooltips - $tooltipProvider.setTriggers( 'openTrigger': 'closeTrigger' ) - # We manually handle our scrolling $anchorScrollProvider.disableAutoScrolling()