mirror of
https://github.com/bitwarden/web
synced 2026-01-06 10:33:17 +00:00
remove sharing module. move subvaults
This commit is contained in:
@@ -178,7 +178,6 @@
|
||||
animation: true,
|
||||
templateUrl: 'app/vault/views/vaultShare.html',
|
||||
controller: 'vaultShareController',
|
||||
size: 'sm',
|
||||
resolve: {
|
||||
loginId: function () { return login.id; }
|
||||
}
|
||||
|
||||
44
src/app/vault/vaultSubvaultsController.js
Normal file
44
src/app/vault/vaultSubvaultsController.js
Normal file
@@ -0,0 +1,44 @@
|
||||
angular
|
||||
.module('bit.vault')
|
||||
|
||||
.controller('vaultSubvaultsController', function ($scope, apiService, cipherService, $analytics, $q) {
|
||||
$scope.logins = [];
|
||||
$scope.subvaults = [];
|
||||
$scope.loading = true;
|
||||
|
||||
$scope.$on('$viewContentLoaded', function () {
|
||||
var subvaultPromise = apiService.subvaults.listMe({}, function (subvaults) {
|
||||
var decSubvaults = [];
|
||||
|
||||
for (var i = 0; i < subvaults.Data.length; i++) {
|
||||
var decSubvault = cipherService.decryptSubvault(subvaults.Data[i], null, true);
|
||||
decSubvaults.push(decSubvault);
|
||||
}
|
||||
|
||||
$scope.subvaults = decSubvaults;
|
||||
}).$promise;
|
||||
|
||||
var cipherPromise = apiService.ciphers.listSubvaults({}, function (ciphers) {
|
||||
var decLogins = [];
|
||||
|
||||
for (var i = 0; i < ciphers.Data.length; i++) {
|
||||
if (ciphers.Data[i].Type === 1) {
|
||||
var decLogin = cipherService.decryptLoginPreview(ciphers.Data[i]);
|
||||
decLogins.push(decLogin);
|
||||
}
|
||||
}
|
||||
|
||||
$scope.logins = decLogins;
|
||||
}).$promise;
|
||||
|
||||
$q.all([subvaultPromise, cipherPromise]).then(function () {
|
||||
$scope.loading = false;
|
||||
});
|
||||
});
|
||||
|
||||
$scope.filterBySubvault = function (subvault) {
|
||||
return function (cipher) {
|
||||
return cipher.subvaultIds.indexOf(subvault.id) > -1;
|
||||
};
|
||||
};
|
||||
});
|
||||
@@ -47,7 +47,7 @@
|
||||
<table class="table table-striped table-hover table-selectable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 110px; min-width: 110px;"></th>
|
||||
<th style="width: 75px; min-width: 75px;"></th>
|
||||
<th>Name</th>
|
||||
<th style="width: 300px;">Username</th>
|
||||
</tr>
|
||||
@@ -60,10 +60,6 @@
|
||||
uib-tooltip="Delete">
|
||||
<i class="fa fa-lg fa-trash"></i>
|
||||
</button>
|
||||
<button type="button" ng-click="editLogin(login)" class="btn btn-link btn-table"
|
||||
uib-tooltip="View/Edit">
|
||||
<i class="fa fa-lg fa-pencil"></i>
|
||||
</button>
|
||||
<button type="button" ng-click="share(login)" class="btn btn-link btn-table"
|
||||
uib-tooltip="Share">
|
||||
<i class="fa fa-lg fa-share-alt"></i>
|
||||
@@ -71,7 +67,7 @@
|
||||
</td>
|
||||
<td ng-click="editLogin(login)">
|
||||
<span ng-click="$event.stopPropagation()">
|
||||
{{login.name}}
|
||||
<a href="javascript:void(0)" ng-click="editLogin(login)">{{login.name}}</a>
|
||||
<i class="fa fa-star text-muted" uib-tooltip="Favorite" ng-show="login.favorite"></i>
|
||||
</span>
|
||||
</td>
|
||||
|
||||
69
src/app/vault/views/vaultSubvaults.html
Normal file
69
src/app/vault/views/vaultSubvaults.html
Normal file
@@ -0,0 +1,69 @@
|
||||
<section class="content-header">
|
||||
<h1>
|
||||
Subvaults
|
||||
<small>{{subvaults.length}} subvaults, {{logins.length}} logins</small>
|
||||
</h1>
|
||||
</section>
|
||||
<section class="content">
|
||||
<div ng-show="loading && !subvaults.length">
|
||||
<p>Loading...</p>
|
||||
</div>
|
||||
<div ng-show="!loading && !subvaults.length">
|
||||
<p>No subvaults.</p>
|
||||
</div>
|
||||
<div class="box" ng-repeat="subvault in subvaults | orderBy: ['name']"
|
||||
ng-show="subvaults.length && (!main.searchVaultText || subvaultLogins.length)">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">
|
||||
<i class="fa fa-server"></i>
|
||||
{{subvault.name}} <small>{{subvaultLogins.length}} logins</small>
|
||||
</h3>
|
||||
<div class="box-tools">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse" uib-tooltip="Collapse/Expand">
|
||||
<i class="fa fa-minus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body" ng-class="{'no-padding': subvaultLogins.length}">
|
||||
<div ng-show="!subvaultLogins.length">
|
||||
<p>No logins in this folder.</p>
|
||||
<button type="button" ng-click="addLogin(subvault)" class="btn btn-default btn-flat">Add a Login</button>
|
||||
</div>
|
||||
<div class="table-responsive" ng-show="subvaultLogins.length">
|
||||
<table class="table table-striped table-hover table-selectable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 75px; min-width: 75px;"></th>
|
||||
<th>Name</th>
|
||||
<th style="width: 300px;">Username</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="login in subvaultLogins = (logins | filter: filterBySubvault(subvault) |
|
||||
filter: (main.searchVaultText || '') | orderBy: ['name', 'username'])">
|
||||
<td class="actions">
|
||||
<button type="button" ng-click="deleteLogin(login)" class="btn btn-link btn-table"
|
||||
uib-tooltip="Delete">
|
||||
<i class="fa fa-lg fa-trash"></i>
|
||||
</button>
|
||||
<button type="button" ng-click="editLogin(login)" class="btn btn-link btn-table"
|
||||
uib-tooltip="View/Edit">
|
||||
<i class="fa fa-lg fa-pencil"></i>
|
||||
</button>
|
||||
</td>
|
||||
<td ng-click="editLogin(login)">
|
||||
<span ng-click="$event.stopPropagation()">
|
||||
{{login.name}}
|
||||
<i class="fa fa-star text-muted" uib-tooltip="Favorite" ng-show="login.favorite"></i>
|
||||
</span>
|
||||
</td>
|
||||
<td ng-click="editLogin(login)">
|
||||
<span ng-click="$event.stopPropagation()">{{login.username}}</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
Reference in New Issue
Block a user