mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-04-03 06:59:14 +00:00
Show saved status of column preferences
This commit is contained in:
@@ -2,3 +2,4 @@ angular.module("admin.dropdown").controller "ColumnsDropdownCtrl", ($scope, Colu
|
||||
$scope.columns = Columns.columns
|
||||
$scope.toggle = Columns.toggleColumn
|
||||
$scope.saveColumnPreferences = Columns.savePreferences
|
||||
$scope.saved = Columns.preferencesSaved
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
angular.module("admin.indexUtils").factory 'Columns', ($rootScope, $http, columns) ->
|
||||
new class Columns
|
||||
savedColumns: {}
|
||||
columns: {}
|
||||
visibleCount: 0
|
||||
saving: false
|
||||
|
||||
constructor: ->
|
||||
@columns = {}
|
||||
for column in columns
|
||||
@columns[column.column_name] = column
|
||||
@savedColumns[column.column_name] = angular.copy(column)
|
||||
@calculateVisibleCount()
|
||||
|
||||
toggleColumn: (column) =>
|
||||
@@ -18,10 +19,16 @@ angular.module("admin.indexUtils").factory 'Columns', ($rootScope, $http, column
|
||||
@visibleCount = (column for name, column of @columns when column.visible).length
|
||||
$rootScope.$broadcast "columnCount:changed", @visibleCount
|
||||
|
||||
savePreferences: (action_name) ->
|
||||
preferencesSaved: =>
|
||||
angular.equals(@columns, @savedColumns)
|
||||
|
||||
savePreferences: (action_name) =>
|
||||
$http
|
||||
method: "PUT"
|
||||
url: "/admin/column_preferences/bulk_update"
|
||||
data:
|
||||
action_name: action_name
|
||||
column_preferences: (preference for column_name, preference of @columns)
|
||||
.success (data) =>
|
||||
for column in data
|
||||
@savedColumns[column.column_name] = column
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
%span.name {{column.name }}
|
||||
%hr
|
||||
%div.menu_item.text-center
|
||||
%input.fullwidth.red{ type: "button", value: 'Save As Default', ng: { click: "saveColumnPreferences(action)"} }
|
||||
%input.fullwidth.red{ type: "button", ng: { value: "saved() ? 'Saved': 'Save As Default'", disabled: "saved()", click: "saveColumnPreferences(action)"} }
|
||||
|
||||
Reference in New Issue
Block a user