dashboard: preserve apps view type in localStorage

This commit is contained in:
Johannes Zellner
2024-04-06 16:16:48 +02:00
parent 24c8fca971
commit 052b705c3c
2 changed files with 15 additions and 1 deletions
+1 -1
View File
@@ -140,7 +140,7 @@
<button class="btn btn-default" type="button" ng-class="{ 'active': showFilter, 'btn-warning': showFilter || selectedTags.length || selectedState.state || !selectedGroup._unset || !selectedDomain._alldomains }" ng-click="showFilter = !showFilter"><i class="fas fa-filter"></i></button>
</span>
</div>
<button class="btn btn-default" type="button" ng-click="view = view === 'grid' ? 'list' : 'grid'"><i class="fas" ng-class="{ 'fa-list': view === 'grid', 'fa-grip': view === 'list' }"></i></button>
<button class="btn btn-default" type="button" ng-click="toggleView()"><i class="fas" ng-class="{ 'fa-list': view === 'grid', 'fa-grip': view === 'list' }"></i></button>
</form>
</div>
<div ng-show="showFilter" class="view-header-filter-bar">
+14
View File
@@ -51,6 +51,18 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat
return item.label || item.fqdn;
};
$scope.setView = function (view) {
if (view !== 'list' && view !== 'grid') return;
$scope.view = view;
localStorage.appsView = view;
};
$scope.toggleView = function () {
$scope.view = $scope.view === 'grid' ? 'list' : 'grid';
localStorage.appsView = $scope.view;
};
$scope.$watch('selectedTags', function (newVal, oldVal) {
if (newVal === oldVal) return;
@@ -257,6 +269,8 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat
});
});
$scope.setView(localStorage.appsView);
if (!$scope.user.isAtLeastAdmin) return;
// load local settings and apply tag filter