diff --git a/app/assets/javascripts/admin/index_utils/directives/panel_ctrl.js.coffee b/app/assets/javascripts/admin/index_utils/directives/panel_ctrl.js.coffee index 4259ce63e2..d2e541992c 100644 --- a/app/assets/javascripts/admin/index_utils/directives/panel_ctrl.js.coffee +++ b/app/assets/javascripts/admin/index_utils/directives/panel_ctrl.js.coffee @@ -13,7 +13,7 @@ angular.module("admin.indexUtils").directive "panelCtrl", (Panels) -> this.registerSelectionListener = (callback) -> $scope.$on "selection:changed", (event, selection) -> - callback(selection) + callback(selection, $element) this diff --git a/app/assets/javascripts/admin/order_cycles/controllers/order_cycle_exchanges_controller.js.coffee b/app/assets/javascripts/admin/order_cycles/controllers/order_cycle_exchanges_controller.js.coffee index 82aea0a434..6a1646b3d2 100644 --- a/app/assets/javascripts/admin/order_cycles/controllers/order_cycle_exchanges_controller.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/controllers/order_cycle_exchanges_controller.js.coffee @@ -44,3 +44,26 @@ angular.module('admin.orderCycles') $scope.removeDistributionOfVariant = (variant_id) -> OrderCycle.removeDistributionOfVariant(variant_id) + + # Load exchange data + initPanel = (scope) -> + # TEMP Insert some dummy data into enterprise.supplied_products so that the UI keeps on working + scope.enterprises[scope.exchange.enterprise_id].supplied_products = [{id: 2, name: "asdasd" + scope.exchange.id }] + + # Register listener to capture first toggle open of the products panel + exchangeProdutsInitialized = [] + registerToggleListener = -> + panelRows = angular.element(".panel-row") + if panelRows.length == 0 + $timeout(registerToggleListener, 500) + return + + for panelRow in panelRows + panelCtrl = angular.element(panelRow).controller('panelCtrl') + panelCtrl.registerSelectionListener (selection, $element) -> + scope = $element.scope() + return if exchangeProdutsInitialized[scope.exchange.id] + initPanel(scope) + exchangeProdutsInitialized[scope.exchange.id] = true + + $timeout(registerToggleListener, 500)