From f8a31e886492051ea2fc1b56c78fe85f0a936e07 Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Thu, 12 Nov 2015 09:58:55 +1100 Subject: [PATCH] Resetting select filters in a way that actually works --- .../directives/select2_min_search.js.coffee | 6 +++--- .../controllers/line_items_controller.js.coffee | 17 +++++++++-------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/assets/javascripts/admin/index_utils/directives/select2_min_search.js.coffee b/app/assets/javascripts/admin/index_utils/directives/select2_min_search.js.coffee index 949dba3522..fda54c7296 100644 --- a/app/assets/javascripts/admin/index_utils/directives/select2_min_search.js.coffee +++ b/app/assets/javascripts/admin/index_utils/directives/select2_min_search.js.coffee @@ -1,9 +1,9 @@ -angular.module("admin.indexUtils").directive "select2MinSearch", -> +angular.module("admin.indexUtils").directive "select2MinSearch", ($timeout) -> require: 'ngModel' link: (scope, element, attrs, ngModel) -> element.select2 minimumResultsForSearch: attrs.select2MinSearch ngModel.$formatters.push (value) -> - if (value) - element.select2('val', value); + $timeout -> element.trigger('change') + value diff --git a/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee b/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee index 2e72a0ed2d..47fd780254 100644 --- a/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee +++ b/app/assets/javascripts/admin/line_items/controllers/line_items_controller.js.coffee @@ -28,6 +28,12 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $http, $q $scope.confirmRefresh = -> LineItems.allSaved() || confirm("Unsaved changes exist and will be lost if you continue.") + $scope.resetSelectFilters = -> + $scope.distributorFilter = '0' + $scope.supplierFilter = '0' + $scope.orderCycleFilter = '0' + $scope.quickSearch = "" + $scope.refreshData = -> RequestMonitor.load $scope.orders = Orders.index("q[state_not_eq]": "canceled", "q[completed_at_not_null]": "true", "q[completed_at_gt]": "#{$scope.startDate}", "q[completed_at_lt]": "#{$scope.endDate}") RequestMonitor.load $scope.distributors = Enterprises.index(action: "for_line_items", ams_prefix: "basic", "q[sells_in][]": ["own", "any"] ) @@ -45,9 +51,9 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $http, $q $scope.orderCycles.unshift blankOption() $scope.suppliers.unshift blankOption() $scope.distributors.unshift blankOption() - $scope.resetSelectFilters() - $scope.loading = false - + unless $scope.initialized + $scope.initialized = true + $scope.resetSelectFilters() $scope.refreshData() @@ -144,11 +150,6 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $http, $q lineItem.final_weight_volume = LineItems.pristineByID[lineItem.id].final_weight_volume * lineItem.quantity / LineItems.pristineByID[lineItem.id].quantity $scope.weightAdjustedPrice(lineItem) - $scope.$watch "orderCycleFilter", (newVal, oldVal) -> - unless $scope.orderCycleFilter == "0" || angular.equals(newVal, oldVal) - $scope.startDate = OrderCycles.orderCyclesByID[$scope.orderCycleFilter].first_order - $scope.endDate = OrderCycles.orderCyclesByID[$scope.orderCycleFilter].last_order - daysFromToday = (days) -> now = new Date now.setHours(0)