mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-06 09:20:43 +01:00
bulk move logins
This commit is contained in:
parent
488dbb6715
commit
b1ebcb76f0
@ -338,7 +338,26 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
var modal = $uibModal.open({
|
||||||
|
animation: true,
|
||||||
|
templateUrl: 'app/vault/views/vaultMoveLogins.html',
|
||||||
|
controller: 'vaultMoveLoginsController',
|
||||||
|
resolve: {
|
||||||
|
ids: function () { return ids; }
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
modal.result.then(function (folderId) {
|
||||||
|
for (var i = 0; i < ids.length; i++) {
|
||||||
|
var login = $filter('filter')($rootScope.vaultLogins, { id: ids[i] });
|
||||||
|
if (login.length) {
|
||||||
|
login[0].folderId = folderId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
clearLoginSelections();
|
||||||
|
sortScopedLoginData();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.bulkDelete = function () {
|
$scope.bulkDelete = function () {
|
||||||
|
28
src/app/vault/vaultMoveLoginsController.js
Normal file
28
src/app/vault/vaultMoveLoginsController.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
angular
|
||||||
|
.module('bit.vault')
|
||||||
|
|
||||||
|
.controller('vaultMoveLoginsController', function ($scope, apiService, $uibModalInstance, ids, $analytics,
|
||||||
|
$rootScope) {
|
||||||
|
$analytics.eventTrack('vaultMoveLoginsController', { category: 'Modal' });
|
||||||
|
$scope.folders = $rootScope.vaultFolders;
|
||||||
|
$scope.count = ids.length;
|
||||||
|
|
||||||
|
$scope.save = function () {
|
||||||
|
$scope.savePromise = apiService.ciphers.moveMany({ ids: ids, folderId: $scope.folderId }, function () {
|
||||||
|
$analytics.eventTrack('Bulk Moved Logins');
|
||||||
|
$uibModalInstance.close($scope.folderId || null);
|
||||||
|
}).$promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.folderSort = function (item) {
|
||||||
|
if (!item.id) {
|
||||||
|
return '!';
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.name.toLowerCase();
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.close = function () {
|
||||||
|
$uibModalInstance.dismiss('cancel');
|
||||||
|
};
|
||||||
|
});
|
34
src/app/vault/views/vaultMoveLogins.html
Normal file
34
src/app/vault/views/vaultMoveLogins.html
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" ng-click="close()" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||||
|
<h4 class="modal-title">
|
||||||
|
<i class="fa fa-share"></i> Move Logins
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<form name="form" ng-submit="form.$valid && save()" api-form="savePromise">
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="callout callout-danger validation-errors" ng-show="form.$errors">
|
||||||
|
<h4>Errors have occurred</h4>
|
||||||
|
<ul>
|
||||||
|
<li ng-repeat="e in form.$errors">{{e}}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
Select a folder that you would like to move the <b>{{count}}</b> selected
|
||||||
|
<span ng-pluralize count="count" when="{'1': 'login', 'other': 'logins'}"></span> to.
|
||||||
|
</p>
|
||||||
|
<div class="form-group" show-errors>
|
||||||
|
<label for="folder">Folder</label>
|
||||||
|
<select id="folder" name="FolderId" ng-model="folderId" class="form-control" api-field>
|
||||||
|
<option ng-repeat="folder in folders | orderBy: folderSort" value="{{folder.id}}">
|
||||||
|
{{folder.name}}
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="submit" class="btn btn-primary btn-flat" ng-disabled="form.$loading">
|
||||||
|
<i class="fa fa-refresh fa-spin loading-icon" ng-show="form.$loading"></i>Save
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default btn-flat" ng-click="close()">Close</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
@ -159,6 +159,7 @@
|
|||||||
<script src="app/vault/vaultShareLoginController.js"></script>
|
<script src="app/vault/vaultShareLoginController.js"></script>
|
||||||
<script src="app/vault/vaultSharedController.js"></script>
|
<script src="app/vault/vaultSharedController.js"></script>
|
||||||
<script src="app/vault/vaultLoginCollectionsController.js"></script>
|
<script src="app/vault/vaultLoginCollectionsController.js"></script>
|
||||||
|
<script src="app/vault/vaultMoveLoginsController.js"></script>
|
||||||
|
|
||||||
<script src="app/organization/organizationModule.js"></script>
|
<script src="app/organization/organizationModule.js"></script>
|
||||||
<script src="app/organization/organizationDashboardController.js"></script>
|
<script src="app/organization/organizationDashboardController.js"></script>
|
||||||
|
Loading…
Reference in New Issue
Block a user