mirror of
https://github.com/nextcloud/passman.git
synced 2025-12-16 21:27:33 +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')
|
angular.module('passmanApp')
|
||||||
.controller('CredentialCtrl', ['$scope', 'VaultService', 'SettingsService', '$location', 'CredentialService',
|
.controller('CredentialCtrl', ['$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) {
|
function ($scope, VaultService, SettingsService, $location, CredentialService, $rootScope, FileService, EncryptService, TagService, $timeout, NotificationService, CacheService, ShareService, SharingACL, $interval, $filter) {
|
||||||
$scope.active_vault = VaultService.getActiveVault();
|
$scope.active_vault = VaultService.getActiveVault();
|
||||||
if (!SettingsService.getSetting('defaultVault') || !SettingsService.getSetting('defaultVaultPass')) {
|
if (!SettingsService.getSetting('defaultVault') || !SettingsService.getSetting('defaultVaultPass')) {
|
||||||
if (!$scope.active_vault) {
|
if (!$scope.active_vault) {
|
||||||
|
|
@ -86,6 +86,7 @@ angular.module('passmanApp')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
angular.merge($scope.active_vault.credentials, _credentials);
|
angular.merge($scope.active_vault.credentials, _credentials);
|
||||||
|
$scope.filtered_credentials = angular.copy($scope.active_vault.credentials);
|
||||||
$scope.show_spinner = false;
|
$scope.show_spinner = false;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
@ -283,6 +284,14 @@ angular.module('passmanApp')
|
||||||
fields: ['label', 'username', 'email', 'password', 'custom_fields']
|
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 = [];
|
$scope.selectedtags = [];
|
||||||
var to;
|
var to;
|
||||||
$rootScope.$on('selected_tags_updated', function (evt, _sTags) {
|
$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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{filtered_credentials}}
|
|
||||||
<div off-click="closeSelected()" off-click-filter="'.download-js-link'">
|
<div off-click="closeSelected()" off-click-filter="'.download-js-link'">
|
||||||
|
|
||||||
<div class="loaderContainer" ng-if="show_spinner">
|
<div class="loaderContainer" ng-if="show_spinner">
|
||||||
|
|
@ -40,7 +39,7 @@
|
||||||
<div ng-init="menuOpen = false;">
|
<div ng-init="menuOpen = false;">
|
||||||
<table class="credential-table"
|
<table class="credential-table"
|
||||||
ng-if="view_mode === 'list'">
|
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-if="credential.hidden == 0 && showCredentialRow(credential)"
|
||||||
ng-click="selectCredential(credential)"
|
ng-click="selectCredential(credential)"
|
||||||
ng-class="{'selected': selectedCredential.credential_id == credential.credential_id}">
|
ng-class="{'selected': selectedCredential.credential_id == credential.credential_id}">
|
||||||
|
|
@ -58,9 +57,10 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<ul class="grid-view" ng-if="view_mode === 'grid'">
|
<ul class="grid-view" ng-if="view_mode === 'grid'">
|
||||||
<li class="credential"
|
<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-if="credential.hidden == 0 && showCredentialRow(credential)"
|
||||||
ng-click="selectCredential(credential)"
|
ng-click="selectCredential(credential)"
|
||||||
use-theme type="'border-color'">
|
use-theme type="'border-color'">
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue