Updating variant overrides stores dirty values

This commit is contained in:
Rohan Mitchell
2014-12-10 10:21:58 +11:00
parent 7255520471
commit a1fc4dec43
5 changed files with 61 additions and 2 deletions

View File

@@ -30,5 +30,8 @@ angular.module("ofn.admin").controller "AdminOverrideVariantsCtrl", ($scope, Ind
$scope.hub = (hub for hub in hubs when hub.id == $scope.hub_id)[0]
$scope.displayDirty = ->
$scope.update = ->
StatusMessage.display 'success', 'Changes saved.'

View File

@@ -0,0 +1,9 @@
angular.module("ofn.admin").directive "ofnTrackVariantOverride", (DirtyVariantOverrides) ->
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
ngModel.$parsers.push (viewValue) ->
if ngModel.$dirty
variantOverride = scope.variantOverrides[scope.hub.id][scope.variant.id]
DirtyVariantOverrides.add variantOverride
scope.displayDirty()
viewValue

View File

@@ -0,0 +1,7 @@
angular.module("ofn.admin").factory "DirtyVariantOverrides", ->
new class DirtyVariantOverrides
dirtyVariantOverrides: {}
add: (vo) ->
@dirtyVariantOverrides[vo.hub_id] ||= {}
@dirtyVariantOverrides[vo.hub_id][vo.variant_id] = vo