diff --git a/app/assets/javascripts/admin/dropdown/controllers/columns_dropdown_controller.js.coffee b/app/assets/javascripts/admin/dropdown/controllers/columns_dropdown_controller.js.coffee index 4b3a5a4516..a19b6aaed3 100644 --- a/app/assets/javascripts/admin/dropdown/controllers/columns_dropdown_controller.js.coffee +++ b/app/assets/javascripts/admin/dropdown/controllers/columns_dropdown_controller.js.coffee @@ -1,5 +1,10 @@ angular.module("admin.dropdown").controller "ColumnsDropdownCtrl", ($scope, Columns) -> $scope.columns = Columns.columns $scope.toggle = Columns.toggleColumn - $scope.saveColumnPreferences = Columns.savePreferences $scope.saved = Columns.preferencesSaved + $scope.saving = false + + $scope.saveColumnPreferences = (action_name) -> + $scope.saving = true + Columns.savePreferences(action_name).then -> + $scope.saving = false diff --git a/app/assets/javascripts/admin/index_utils/services/columns.js.coffee b/app/assets/javascripts/admin/index_utils/services/columns.js.coffee index f2ed5463ae..45bea7c680 100644 --- a/app/assets/javascripts/admin/index_utils/services/columns.js.coffee +++ b/app/assets/javascripts/admin/index_utils/services/columns.js.coffee @@ -31,4 +31,5 @@ angular.module("admin.indexUtils").factory 'Columns', ($rootScope, $http, column column_preferences: (preference for column_name, preference of @columns) .success (data) => for column in data - @savedColumns[column.column_name] = column + angular.extend(@columns[column.column_name], column) + angular.extend(@savedColumns[column.column_name], column) diff --git a/app/assets/javascripts/templates/admin/columns_dropdown.html.haml b/app/assets/javascripts/templates/admin/columns_dropdown.html.haml index 401c3df9cc..37398b200a 100644 --- a/app/assets/javascripts/templates/admin/columns_dropdown.html.haml +++ b/app/assets/javascripts/templates/admin/columns_dropdown.html.haml @@ -7,4 +7,5 @@ %span.name {{column.name }} %hr %div.menu_item.text-center - %input.fullwidth.red{ type: "button", ng: { value: "saved() ? 'Saved': 'Save As Default'", disabled: "saved()", click: "saveColumnPreferences(action)"} } + %input.fullwidth.orange{ type: "button", ng: { value: "saved() ? 'Saved': 'Saving'", show: "saved() || saving", disabled: "saved()" } } + %input.fullwidth.red{ type: "button", value: 'Save As Default', ng: { show: "!saved() && !saving", click: "saveColumnPreferences(action)"} } diff --git a/app/assets/stylesheets/admin/openfoodnetwork.css.scss b/app/assets/stylesheets/admin/openfoodnetwork.css.scss index 293549d0f1..8d77015af7 100644 --- a/app/assets/stylesheets/admin/openfoodnetwork.css.scss +++ b/app/assets/stylesheets/admin/openfoodnetwork.css.scss @@ -43,6 +43,11 @@ input.red { margin-right: 5px; } +input.orange { + background-color: #FF9848; + margin-right: 5px; +} + input.search { margin-bottom: 1em; }