From eba2aae3531d8d49323cd786984bbf5d6bdbe0eb Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Thu, 10 Dec 2015 09:32:04 +1100 Subject: [PATCH] Copy StatusMessage to admin.utils module, eventually to be moved here --- .../order_cycle_controller.js.coffee | 2 +- .../utils/services/status_message.js.coffee | 26 +++++++++++++++++++ .../controllers/simple_edit.js.coffee | 3 ++- 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 app/assets/javascripts/admin/utils/services/status_message.js.coffee diff --git a/app/assets/javascripts/admin/order_cycles/controllers/order_cycle_controller.js.coffee b/app/assets/javascripts/admin/order_cycles/controllers/order_cycle_controller.js.coffee index 1ace40835b..40428e1f73 100644 --- a/app/assets/javascripts/admin/order_cycles/controllers/order_cycle_controller.js.coffee +++ b/app/assets/javascripts/admin/order_cycles/controllers/order_cycle_controller.js.coffee @@ -1,4 +1,4 @@ -angular.module('admin.orderCycles', ['ngResource', 'ofn.admin']) +angular.module('admin.orderCycles', ['ngResource', 'admin.utils']) .controller('AdminCreateOrderCycleCtrl', ['$scope', '$filter', 'OrderCycle', 'Enterprise', 'EnterpriseFee', 'ocInstance', 'StatusMessage', ($scope, $filter, OrderCycle, Enterprise, EnterpriseFee, ocInstance, StatusMessage) -> $scope.enterprises = Enterprise.index(coordinator_id: ocInstance.coordinator_id) $scope.supplier_enterprises = Enterprise.producer_enterprises diff --git a/app/assets/javascripts/admin/utils/services/status_message.js.coffee b/app/assets/javascripts/admin/utils/services/status_message.js.coffee new file mode 100644 index 0000000000..d317269ca4 --- /dev/null +++ b/app/assets/javascripts/admin/utils/services/status_message.js.coffee @@ -0,0 +1,26 @@ +angular.module("admin.utils").factory "StatusMessage", ($timeout) -> + new class StatusMessage + types: + progress: {timeout: false, style: {color: '#ff9906'}} + alert: {timeout: 5000, style: {color: 'grey'}} + notice: {timeout: false, style: {color: 'grey'}} + success: {timeout: 5000, style: {color: '#9fc820'}} + failure: {timeout: false, style: {color: '#da5354'}} + + statusMessage: + text: "" + style: {} + + display: (type, text) -> + @statusMessage.text = text + @statusMessage.style = @types[type].style + $timeout.cancel @statusMessage.timeout if @statusMessage.timeout + timeout = @types[type].timeout + if timeout + @statusMessage.timeout = $timeout => + @clear() + , timeout, true + + clear: -> + @statusMessage.text = '' + @statusMessage.style = {} diff --git a/spec/javascripts/unit/admin/order_cycles/controllers/simple_edit.js.coffee b/spec/javascripts/unit/admin/order_cycles/controllers/simple_edit.js.coffee index 1350c290fe..dbad5a9f05 100644 --- a/spec/javascripts/unit/admin/order_cycles/controllers/simple_edit.js.coffee +++ b/spec/javascripts/unit/admin/order_cycles/controllers/simple_edit.js.coffee @@ -3,6 +3,7 @@ describe "AdminSimpleEditOrderCycleCtrl", -> scope = {} location = {} OrderCycle = {} + StatusMessage = {} Enterprise = {} EnterpriseFee = {} incoming_exchange = {} @@ -25,7 +26,7 @@ describe "AdminSimpleEditOrderCycleCtrl", -> module('admin.orderCycles') inject ($controller) -> - ctrl = $controller 'AdminSimpleEditOrderCycleCtrl', {$scope: scope, $location: location, OrderCycle: OrderCycle, Enterprise: Enterprise, EnterpriseFee: EnterpriseFee} + ctrl = $controller 'AdminSimpleEditOrderCycleCtrl', {$scope: scope, $location: location, OrderCycle: OrderCycle, Enterprise: Enterprise, EnterpriseFee: EnterpriseFee, StatusMessage: StatusMessage} describe "initialisation", -> enterprise = {id: 123}