Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/passman.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js/app
diff options
context:
space:
mode:
authorbinsky <timo@binsky.org>2021-08-24 15:02:42 +0300
committerbinsky <timo@binsky.org>2021-08-24 15:02:42 +0300
commit30f200caf2a835008b2c5da957d041fead6e9439 (patch)
tree2699d124c798c8b1e77547b9edbf86f84e5a48d5 /js/app
parent1f318e7053ec1c3b7dbfee7079453b636dde5f72 (diff)
fixed cooperation of the filter options
Signed-off-by: binsky <timo@binsky.org>
Diffstat (limited to 'js/app')
-rw-r--r--js/app/controllers/credential.js104
1 files changed, 60 insertions, 44 deletions
diff --git a/js/app/controllers/credential.js b/js/app/controllers/credential.js
index 21121cf3..8c709b28 100644
--- a/js/app/controllers/credential.js
+++ b/js/app/controllers/credential.js
@@ -345,25 +345,33 @@
$scope.filtered_credentials = [];
$scope.$watch('[selectedtags, filterOptions, delete_time, active_vault.credentials]', function () {
- if (!$scope.active_vault) {
- return;
- }
- if ($scope.active_vault.credentials) {
- var credentials = angular.copy($scope.active_vault.credentials);
- var filtered_credentials = $filter('credentialSearch')(credentials, $scope.filterOptions);
- filtered_credentials = $filter('tagFilter')(filtered_credentials, $scope.selectedtags);
- filtered_credentials = $filter('filter')(filtered_credentials, {hidden: 0});
- $scope.filtered_credentials = filtered_credentials;
- $scope.filterOptions.selectedtags = angular.copy($scope.selectedtags);
- for (var i = 0; i < $scope.active_vault.credentials.length; i++) {
- var _credential = $scope.active_vault.credentials[i];
- if (_credential.tags) {
- TagService.addTags(_credential.tags);
- }
- }
- }
+ $scope.applyUserFilters(true);
}, true);
+ $scope.applyUserFilters = function(noFilterReset) {
+ if (!$scope.active_vault) {
+ return;
+ }
+ if ($scope.active_vault.credentials) {
+ var credentials = angular.copy($scope.active_vault.credentials);
+ if ($scope.active_vault.credentials.length > 0) {
+ $scope.filterSpecialCredentials(noFilterReset);
+ credentials = angular.copy($scope.filtered_credentials);
+ }
+ var filtered_credentials = $filter('credentialSearch')(credentials, $scope.filterOptions);
+ filtered_credentials = $filter('tagFilter')(filtered_credentials, $scope.selectedtags);
+ filtered_credentials = $filter('filter')(filtered_credentials, {hidden: 0});
+ $scope.filtered_credentials = filtered_credentials;
+ $scope.filterOptions.selectedtags = angular.copy($scope.selectedtags);
+ for (var i = 0; i < $scope.active_vault.credentials.length; i++) {
+ var _credential = $scope.active_vault.credentials[i];
+ if (_credential.tags) {
+ TagService.addTags(_credential.tags);
+ }
+ }
+ }
+ };
+
$scope.no_credentials_label=[];
$scope.no_credentials_label.all=true;
$scope.no_credentials_label.s_good=false;
@@ -379,34 +387,40 @@
$scope.no_credentials_label.expired=false;
};
+ $scope.currentSpecialFilter = "all";
+
//watch for special tags
$scope.$on('filterSpecial', function(event, args) {
-
- $scope.disableAllLabels();
- switch (args) {
- case "strength_good":
- $scope.filterStrength(3,1000);
- $scope.no_credentials_label.s_good=true;
- break;
- case "strength_medium":
- $scope.filterStrength(2,3);
- $scope.no_credentials_label.s_medium=true;
- break;
- case "strength_low":
- $scope.filterStrength(0,1);
- $scope.no_credentials_label.s_low=true;
- break;
- case "expired":
- $scope.filterExpired();
- $scope.no_credentials_label.expired=true;
- break;
- case "all":
- $scope.filterAll();
- $scope.no_credentials_label.all=true;
- break;
- }
+ $scope.currentSpecialFilter = args;
+ $scope.applyUserFilters(args !== "all");
});
+ $scope.filterSpecialCredentials = function(noFilterReset) {
+ $scope.disableAllLabels();
+ switch ($scope.currentSpecialFilter) {
+ case "strength_good":
+ $scope.filterStrength(3,1000);
+ $scope.no_credentials_label.s_good=true;
+ break;
+ case "strength_medium":
+ $scope.filterStrength(2,3);
+ $scope.no_credentials_label.s_medium=true;
+ break;
+ case "strength_low":
+ $scope.filterStrength(0,1);
+ $scope.no_credentials_label.s_low=true;
+ break;
+ case "expired":
+ $scope.filterExpired();
+ $scope.no_credentials_label.expired=true;
+ break;
+ case "all":
+ $scope.filterAll(noFilterReset);
+ $scope.no_credentials_label.all=true;
+ break;
+ }
+ };
+
$scope.getListSizes = function(){
var l = $scope.filtered_credentials;
@@ -425,9 +439,11 @@
return result;
};
- $scope.filterAll = function(){
- $scope.selectedtags=[];
- $scope.filterOptions.filterText="";
+ $scope.filterAll = function(noFilterReset){
+ if (noFilterReset == null || noFilterReset === false) {
+ $scope.filterOptions.filterText="";
+ $scope.selectedtags=[];
+ }
var creds_filtered=[];
for (var i = 0; i < $scope.active_vault.credentials.length; i++) {