Integrating StatusMessages into save-bar, adding to variant overrides index

This commit is contained in:
Rob Harrington
2015-11-26 17:26:56 +11:00
parent c781113a65
commit 54e7677888
9 changed files with 35 additions and 40 deletions

View File

@@ -1,7 +1,8 @@
angular.module("admin.indexUtils").directive "saveBar", ->
angular.module("admin.indexUtils").directive "saveBar", (StatusMessage) ->
restrict: "E"
scope:
save: "&"
saving: "&"
dirty: "&"
form: "="
templateUrl: "admin/save_bar.html"
link: (scope, element, attrs) ->
scope.StatusMessage = StatusMessage

View File

@@ -11,6 +11,9 @@ angular.module("admin.indexUtils").factory "StatusMessage", ($timeout) ->
text: ""
style: {}
active: ->
@statusMessage.text != ''
display: (type, text) ->
@statusMessage.text = text
@statusMessage.style = @types[type].style
@@ -20,6 +23,7 @@ angular.module("admin.indexUtils").factory "StatusMessage", ($timeout) ->
@statusMessage.timeout = $timeout =>
@clear()
, timeout, true
null # So we don't return weird timeouts
clear: ->
@statusMessage.text = ''

View File

@@ -1,7 +1,6 @@
angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout, $http, $q, Columns, Dereferencer, Orders, LineItems, Enterprises, OrderCycles, blankOption, VariantUnitManager, RequestMonitor) ->
angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout, $http, $q, StatusMessage, Columns, Dereferencer, Orders, LineItems, Enterprises, OrderCycles, blankOption, VariantUnitManager, RequestMonitor) ->
$scope.initialized = false
$scope.RequestMonitor = RequestMonitor
$scope.saving = false
$scope.filteredLineItems = []
$scope.confirmDelete = true
$scope.startDate = formatDate daysFromToday -7
@@ -55,6 +54,7 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
Dereferencer.dereferenceAttr $scope.lineItems, "supplier", Enterprises.enterprisesByID
Dereferencer.dereferenceAttr $scope.lineItems, "order", Orders.ordersByID
$scope.bulk_order_form.$setPristine()
StatusMessage.clear()
unless $scope.initialized
$scope.initialized = true
$timeout ->
@@ -62,16 +62,20 @@ angular.module("admin.lineItems").controller 'LineItemsCtrl', ($scope, $timeout,
$scope.refreshData()
$scope.submit = =>
$scope.$watch 'bulk_order_form.$dirty', (newVal, oldVal) ->
if newVal == true
StatusMessage.display 'notice', "You have unsaved changes"
$scope.submit = ->
if $scope.bulk_order_form.$valid
$scope.saving = true
StatusMessage.display 'progress', "Saving..."
$q.all(LineItems.saveAll()).then(->
StatusMessage.display 'success', "All changes saved"
$scope.bulk_order_form.$setPristine()
$scope.saving = false
).catch ->
alert "Some errors must be resolved be before you can update orders.\nAny fields with red borders contain errors."
StatusMessage.display 'failure', "Fields with red borders contain errors."
else
alert "Some errors must be resolved be before you can update orders.\nAny fields with red borders contain errors."
StatusMessage.display 'failure', "Fields with red borders contain errors."
$scope.deleteLineItem = (lineItem) ->
if ($scope.confirmDelete && confirm("Are you sure?")) || !$scope.confirmDelete

View File

@@ -1,4 +1,4 @@
angular.module("admin.variantOverrides").controller "AdminVariantOverridesCtrl", ($scope, $timeout, Indexer, SpreeApiAuth, PagedFetcher, StatusMessage, hubs, producers, hubPermissions, VariantOverrides, DirtyVariantOverrides) ->
angular.module("admin.variantOverrides").controller "AdminVariantOverridesCtrl", ($scope, Indexer, SpreeApiAuth, PagedFetcher, StatusMessage, hubs, producers, hubPermissions, VariantOverrides, DirtyVariantOverrides) ->
$scope.hubs = Indexer.index hubs
$scope.hub = null
$scope.products = []
@@ -52,9 +52,10 @@ angular.module("admin.variantOverrides").controller "AdminVariantOverridesCtrl",
.success (updatedVos) ->
DirtyVariantOverrides.clear()
VariantOverrides.updateIds updatedVos
$timeout -> StatusMessage.display 'success', 'Changes saved.'
StatusMessage.display 'success', 'Changes saved.'
$scope.variant_overrides_form.$setPristine()
.error (data, status) ->
$timeout -> StatusMessage.display 'failure', $scope.updateError(data, status)
StatusMessage.display 'failure', $scope.updateError(data, status)
$scope.updateError = (data, status) ->