Move displaying credentials to app-sidebar

This commit is contained in:
brantje 2016-09-14 23:46:48 +02:00
parent 7bc733ed48
commit 506c22d36e
8 changed files with 42 additions and 40 deletions

View file

@ -256,26 +256,22 @@
height: 10px; height: 10px;
background-image: none; background-image: none;
background-color: #0082c9; } background-color: #0082c9; }
#app-content #app-content-wrapper .view_pane { #app-content #app-content-wrapper .app_sidebar {
-webkit-box-shadow: 0px -4px 3px rgba(150, 150, 150, 0.75);
-moz-box-shadow: 0px -4px 3px rgba(150, 150, 150, 0.75);
box-shadow: 0px -4px 3px rgba(150, 150, 150, 0.75);
padding: 10px; padding: 10px;
position: absolute;
bottom: 0;
background-color: #eee;
left: 0;
right: 0;
display: none;
overflow-y: auto; } overflow-y: auto; }
#app-content #app-content-wrapper .view_pane.item_selected { #app-content #app-content-wrapper .app_sidebar .close.icon-close {
position: absolute;
top: 10px;
right: 10px; }
#app-content #app-content-wrapper .app_sidebar.item_selected {
height: 25%; height: 25%;
display: inline-block; } display: inline-block; }
#app-content #app-content-wrapper .view_pane table { #app-content #app-content-wrapper .app_sidebar table {
width: 100%; } width: 100%; }
#app-content #app-content-wrapper .view_pane table tr td:first-child { #app-content #app-content-wrapper .app_sidebar table tr td:first-child {
width: 15%; } width: 15%; }
#app-content #app-content-wrapper .view_pane table tr td { #app-content #app-content-wrapper .app_sidebar table tr td {
padding: 2px;
width: auto; width: auto;
white-space: nowrap; white-space: nowrap;
height: 20px; height: 20px;

File diff suppressed because one or more lines are too long

View file

@ -41,7 +41,13 @@ angular.module('passmanApp')
$scope.selectCredential = function (credential) { $scope.selectCredential = function (credential) {
console.log(credential); console.log(credential);
$scope.selectedCredential = CredentialService.decryptCredential(angular.copy(credential)); $scope.selectedCredential = CredentialService.decryptCredential(angular.copy(credential));
} $rootScope.$emit('app_menu', true);
};
$scope.closeSelected = function () {
$rootScope.$emit('app_menu', false);
$scope.selectedCredential = false;
};
$rootScope.$on('logout', function () { $rootScope.$on('logout', function () {
console.log('Logout received, clean up'); console.log('Logout received, clean up');

View file

@ -8,6 +8,9 @@
* Controller of the passmanApp * Controller of the passmanApp
*/ */
angular.module('passmanApp') angular.module('passmanApp')
.controller('MainCtrl', ['$scope', 'VaultService', function ($scope, VaultService) { .controller('MainCtrl', ['$scope', '$rootScope', function ($scope, $rootScope) {
$scope.selectedVault = false; $scope.selectedVault = false;
$rootScope.$on('app_menu', function(evt, shown){
$scope.app_sidebar = shown;
})
}]); }]);

View file

@ -47,7 +47,7 @@ angular.module('views/partials/password-meter.html', []).run(['$templateCache',
angular.module('views/show_vault.html', []).run(['$templateCache', function($templateCache) { angular.module('views/show_vault.html', []).run(['$templateCache', function($templateCache) {
'use strict'; 'use strict';
$templateCache.put('views/show_vault.html', $templateCache.put('views/show_vault.html',
'<div id="controls"><div class="breadcrumb"></div><div class="actions creatable"><span ng-click="menuOpen = !menuOpen" class="button new" ng-init="menuOpen = false" off-click="menuOpen = false;"><span>New</span></span><div class="actionList popovermenu bubble menu" ng-show="menuOpen"><ul><li><span ng-click="addCredential()" class="menuitem action"><span class="icon icon-rename"></span> <span>New credential</span></span></li><li><span href="#" class="menuitem action"><span class="icon icon-shared"></span> <span>New shared credential</span></span></li></ul></div></div></div><table class="credential-table" ng-init="menuOpen = false;"><tr ng-repeat="credential in credentials" ng-if="credential.hidden == 0 && credential.delete_time == 0" ng-click="selectCredential(credential)" ng-class="{\'selected\': selectedCredential.credential_id == credential.credential_id}"><td><span class="label">{{credential.label}}</span> <span class="icon icon-more" ng-click="menuOpen = !menuOpen" off-click="menuOpen = false;"></span> <span class="tags"><span class="tag">Tag 1</span> <span class="tag">Tag 2</span> <span class="tag">Tag 4</span> <span class="tag">Tag 4</span> <span class="tag">Long tag xD</span></span><div class="actionList popovermenu bubble menu" ng-show="menuOpen"><ul><li ng-click="editCredential(credential)"><span class="menuitem action"><span class="icon icon-rename"></span><span>Edit</span></span></li><li><span href="#" class="menuitem action"><span class="icon icon-share"></span><span>Share</span></span></li><li><span class="menuitem action" data-action="Delete"><span class="icon icon-delete"></span><span>Delete</span></span></li></ul></div></td></tr></table><div class="view_pane" ng-class="{\'item_selected\': selectedCredential}"><table><tr><td>Label</td><td>{{selectedCredential.label}}</td></tr><tr ng-if="selectedCredential.username"><td>Account</td><td><span credential-field value="selectedCredential.username"></span></td></tr><tr ng-if="selectedCredential.password"><td>Password</td><td><span credential-field value="selectedCredential.password" secret="\'true\'"></span></td></tr><tr ng-if="selectedCredential.email"><td>E-mail</td><td><span credential-field value="selectedCredential.email"></span></td></tr><tr ng-if="selectedCredential.url"><td>URL</td><td><span credential-field value="selectedCredential.url"></span></td></tr><tr ng-if="selectedCredential.files.length > 0"><td>Files</td><td><div ng-repeat="file in selectedCredential.files" class="link">{{file.filename}} ({{file.size | bytes}})</div></td></tr><tr ng-repeat="field in selectedCredential.custom_fields"><td>{{field.label}}</td><td><span credential-field value="field.value" secret="field.secret"></span></td></tr><tr><td>Changed</td><td>{{selectedCredential.changed * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td></tr><tr><td>Created</td><td>{{selectedCredential.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td></tr></table></div>'); '<div id="controls"><div class="breadcrumb"></div><div class="actions creatable"><span ng-click="menuOpen = !menuOpen" class="button new" ng-init="menuOpen = false" off-click="menuOpen = false;"><span>New</span></span><div class="actionList popovermenu bubble menu" ng-show="menuOpen"><ul><li><span ng-click="addCredential()" class="menuitem action"><span class="icon icon-rename"></span> <span>New credential</span></span></li><li><span href="#" class="menuitem action"><span class="icon icon-shared"></span> <span>New shared credential</span></span></li></ul></div></div></div><table class="credential-table" ng-init="menuOpen = false;"><tr ng-repeat="credential in credentials" ng-if="credential.hidden == 0 && credential.delete_time == 0" ng-click="selectCredential(credential)" ng-class="{\'selected\': selectedCredential.credential_id == credential.credential_id}"><td><span class="label">{{credential.label}}</span> <span class="icon icon-more" ng-click="menuOpen = !menuOpen" off-click="menuOpen = false;"></span> <span class="tags"><span class="tag">Tag 1</span> <span class="tag">Tag 2</span> <span class="tag">Tag 4</span> <span class="tag">Tag 4</span> <span class="tag">Long tag xD</span></span><div class="actionList popovermenu bubble menu" ng-show="menuOpen"><ul><li ng-click="editCredential(credential)"><span class="menuitem action"><span class="icon icon-rename"></span><span>Edit</span></span></li><li><span href="#" class="menuitem action"><span class="icon icon-share"></span><span>Share</span></span></li><li><span class="menuitem action" data-action="Delete"><span class="icon icon-delete"></span><span>Delete</span></span></li></ul></div></td></tr></table><div id="app-sidebar" class="detailsView scroll-container app_sidebar" ng-show="selectedCredential"><table><tr ng-show="selectedCredential.label"><td>Label</td><td>{{selectedCredential.label}}</td></tr><tr ng-show="selectedCredential.username"><td>Account</td><td><span credential-field value="selectedCredential.username"></span></td></tr><tr ng-show="selectedCredential.password"><td>Password</td><td><span credential-field value="selectedCredential.password" secret="\'true\'"></span></td></tr><tr ng-show="selectedCredential.email"><td>E-mail</td><td><span credential-field value="selectedCredential.email"></span></td></tr><tr ng-show="selectedCredential.url"><td>URL</td><td><span credential-field value="selectedCredential.url"></span></td></tr><tr ng-show="selectedCredential.files.length > 0"><td>Files</td><td><div ng-repeat="file in selectedCredential.files" class="link">{{file.filename}} ({{file.size | bytes}})</div></td></tr><tr ng-repeat="field in selectedCredential.custom_fields"><td>{{field.label}}</td><td><span credential-field value="field.value" secret="field.secret"></span></td></tr><tr ng-show="selectedCredential.changed"><td>Changed</td><td>{{selectedCredential.changed * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td></tr><tr ng-show="selectedCredential.created"><td>Created</td><td>{{selectedCredential.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td></tr></table><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span></div>');
}]); }]);
angular.module('views/vaults.html', []).run(['$templateCache', function($templateCache) { angular.module('views/vaults.html', []).run(['$templateCache', function($templateCache) {

View file

@ -171,21 +171,17 @@
} }
} }
} }
.view_pane { .app_sidebar {
-webkit-box-shadow: 0px -4px 3px rgba(150, 150, 150, 0.75); .close.icon-close {
-moz-box-shadow: 0px -4px 3px rgba(150, 150, 150, 0.75); position: absolute;
box-shadow: 0px -4px 3px rgba(150, 150, 150, 0.75); top: 10px;
right: 10px;
}
padding: 10px; padding: 10px;
&.item_selected { &.item_selected {
height: 25%; height: 25%;
display: inline-block; display: inline-block;
} }
position: absolute;
bottom: 0;
background-color: #eee;
left: 0;
right: 0;
display: none;
overflow-y: auto; overflow-y: auto;
table { table {
width: 100%; width: 100%;
@ -194,6 +190,7 @@
width: 15%; width: 15%;
} }
td { td {
padding: 2px;
width: auto; width: auto;
white-space: nowrap; white-space: nowrap;
height: 20px; height: 20px;

View file

@ -86,7 +86,7 @@ style('passman', 'vendor/angular-xeditable/xeditable.min');
</div> </div>
</div> </div>
<div id="app-content"> <div id="app-content" ng-class="{'with-app-sidebar': app_sidebar}">
<div id="app-content-wrapper" ng-view=""> <div id="app-content-wrapper" ng-view="">
</div> </div>

View file

@ -65,9 +65,10 @@
</tr> </tr>
</table> </table>
<div class="view_pane" ng-class="{'item_selected': selectedCredential}" > <div id="app-sidebar" class="detailsView scroll-container app_sidebar"
ng-show="selectedCredential">
<table> <table>
<tr> <tr ng-show="selectedCredential.label">
<td> <td>
Label Label
</td> </td>
@ -75,7 +76,7 @@
{{selectedCredential.label}} {{selectedCredential.label}}
</td> </td>
</tr> </tr>
<tr ng-if="selectedCredential.username"> <tr ng-show="selectedCredential.username">
<td> <td>
Account Account
</td> </td>
@ -83,7 +84,7 @@
<span credential-field value="selectedCredential.username"></span> <span credential-field value="selectedCredential.username"></span>
</td> </td>
</tr> </tr>
<tr ng-if="selectedCredential.password"> <tr ng-show="selectedCredential.password">
<td> <td>
Password Password
</td> </td>
@ -91,7 +92,7 @@
<span credential-field value="selectedCredential.password" secret="'true'"></span> <span credential-field value="selectedCredential.password" secret="'true'"></span>
</td> </td>
</tr> </tr>
<tr ng-if="selectedCredential.email"> <tr ng-show="selectedCredential.email">
<td> <td>
E-mail E-mail
</td> </td>
@ -99,7 +100,7 @@
<span credential-field value="selectedCredential.email"></span> <span credential-field value="selectedCredential.email"></span>
</td> </td>
</tr> </tr>
<tr ng-if="selectedCredential.url"> <tr ng-show="selectedCredential.url">
<td> <td>
URL URL
</td> </td>
@ -107,7 +108,7 @@
<span credential-field value="selectedCredential.url"></span> <span credential-field value="selectedCredential.url"></span>
</td> </td>
</tr> </tr>
<tr ng-if="selectedCredential.files.length > 0"> <tr ng-show="selectedCredential.files.length > 0">
<td> <td>
Files Files
</td> </td>
@ -125,7 +126,7 @@
<span credential-field value="field.value" secret="field.secret"></span> <span credential-field value="field.value" secret="field.secret"></span>
</td> </td>
</tr> </tr>
<tr> <tr ng-show="selectedCredential.changed">
<td> <td>
Changed Changed
</td> </td>
@ -133,7 +134,7 @@
{{selectedCredential.changed * 1000 | date:'dd-MM-yyyy @ HH:mm:ss'}} {{selectedCredential.changed * 1000 | date:'dd-MM-yyyy @ HH:mm:ss'}}
</td> </td>
</tr> </tr>
<tr> <tr ng-show="selectedCredential.created">
<td> <td>
Created Created
</td> </td>
@ -142,6 +143,5 @@
</td> </td>
</tr> </tr>
</table> </table>
<span class="close icon-close" ng-click="closeSelected()" alt="Close"></span>
</div> </div>