mirror of
https://github.com/nextcloud/passman.git
synced 2025-02-26 16:33:03 +08:00
Fix filtering on tags
This commit is contained in:
parent
9a902fb446
commit
fc9a41d119
3 changed files with 15 additions and 6 deletions
|
@ -9,8 +9,8 @@
|
|||
*/
|
||||
angular.module('passmanApp')
|
||||
.controller('CredentialCtrl', ['$scope', 'VaultService', 'SettingsService', '$location', 'CredentialService',
|
||||
'$rootScope', 'FileService', 'EncryptService', 'TagService', '$timeout', 'NotificationService', 'CacheService', 'ShareService', 'SharingACL', '$interval',
|
||||
function ($scope, VaultService, SettingsService, $location, CredentialService, $rootScope, FileService, EncryptService, TagService, $timeout, NotificationService, CacheService, ShareService, SharingACL, $interval) {
|
||||
'$rootScope', 'FileService', 'EncryptService', 'TagService', '$timeout', 'NotificationService', 'CacheService', 'ShareService', 'SharingACL', '$interval', '$filter',
|
||||
function ($scope, VaultService, SettingsService, $location, CredentialService, $rootScope, FileService, EncryptService, TagService, $timeout, NotificationService, CacheService, ShareService, SharingACL, $interval, $filter) {
|
||||
$scope.active_vault = VaultService.getActiveVault();
|
||||
if (!SettingsService.getSetting('defaultVault') || !SettingsService.getSetting('defaultVaultPass')) {
|
||||
if (!$scope.active_vault) {
|
||||
|
@ -86,6 +86,7 @@ angular.module('passmanApp')
|
|||
}
|
||||
}
|
||||
angular.merge($scope.active_vault.credentials, _credentials);
|
||||
$scope.filtered_credentials = angular.copy($scope.active_vault.credentials);
|
||||
$scope.show_spinner = false;
|
||||
});
|
||||
});
|
||||
|
@ -283,6 +284,14 @@ angular.module('passmanApp')
|
|||
fields: ['label', 'username', 'email', 'password', 'custom_fields']
|
||||
};
|
||||
|
||||
|
||||
$scope.filtered_credentials = [];
|
||||
$scope.$watch('[selectedtags, filterOptions, delete_time]', function(){
|
||||
var credentials = angular.copy($scope.active_vault.credentials);
|
||||
var filtered_credentials = $filter('credentialSearch')(credentials,$scope.filterOptions);
|
||||
filtered_credentials = $filter('tagFilter')(filtered_credentials,$scope.selectedtags);
|
||||
$scope.filtered_credentials = filtered_credentials;
|
||||
}, true);
|
||||
$scope.selectedtags = [];
|
||||
var to;
|
||||
$rootScope.$on('selected_tags_updated', function (evt, _sTags) {
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -31,7 +31,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{filtered_credentials}}
|
||||
<div off-click="closeSelected()" off-click-filter="'.download-js-link'">
|
||||
|
||||
<div class="loaderContainer" ng-if="show_spinner">
|
||||
|
@ -40,7 +39,7 @@
|
|||
<div ng-init="menuOpen = false;">
|
||||
<table class="credential-table"
|
||||
ng-if="view_mode === 'list'">
|
||||
<tr ng-repeat="credential in active_vault.credentials | credentialSearch:filterOptions | tagFilter:selectedtags | orderBy:'label'| as:this:'filtered_credentials'"
|
||||
<tr ng-repeat="credential in filtered_credentials | orderBy:'label'"
|
||||
ng-if="credential.hidden == 0 && showCredentialRow(credential)"
|
||||
ng-click="selectCredential(credential)"
|
||||
ng-class="{'selected': selectedCredential.credential_id == credential.credential_id}">
|
||||
|
@ -58,9 +57,10 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<ul class="grid-view" ng-if="view_mode === 'grid'">
|
||||
<li class="credential"
|
||||
ng-repeat="credential in active_vault.credentials | credentialSearch:filterOptions | tagFilter:selectedtags | orderBy:'label'| as:this:'filtered_credentials'"
|
||||
ng-repeat="credential in filtered_credentials | orderBy:'label'"
|
||||
ng-if="credential.hidden == 0 && showCredentialRow(credential)"
|
||||
ng-click="selectCredential(credential)"
|
||||
use-theme type="'border-color'">
|
||||
|
|
Loading…
Reference in a new issue