Signed-off-by: Felix Nüsse <felix.nuesse@t-online.de>
This commit is contained in:
Felix Nüsse 2018-10-16 09:22:25 +02:00 коммит произвёл fnuesse
Родитель 7b99c2b85a
Коммит 28180ea6cf
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 2089A3431243E819
6 изменённых файлов: 109 добавлений и 93 удалений

Просмотреть файл

@ -4,10 +4,5 @@
width: 350px; }
#passwordSharingSettings #requests-table {
width: 100%; }
#passwordSharingSettings .link {
color: #0066ff !important;
cursor: pointer; }
#passwordSharingSettings .link:hover {
text-decoration: underline; }
/*# sourceMappingURL=admin.css.map */

Просмотреть файл

@ -1,6 +1,6 @@
{
"version": 3,
"mappings": "AAGM,wCAAE;EACA,OAAO,EAAE,GAAG;AAGhB,kDAAkB;EAChB,KAAK,EAAE,KAAK;AAGhB,wCAAe;EACb,KAAK,EAAE,IAAI;AAIb,8BAAK;EACH,KAAK,EAAE,kBAA2B;EAClC,MAAM,EAAE,OAAO;AAEjB,oCAAW;EACT,eAAe,EAAE,SAAS",
"mappings": "AAGM,wCAAE;EACA,OAAO,EAAE,GAAG;AAGhB,kDAAkB;EAChB,KAAK,EAAE,KAAK;AAGhB,wCAAe;EACb,KAAK,EAAE,IAAI",
"sources": ["../sass/admin.scss"],
"names": [],
"file": "admin.css"

Просмотреть файл

@ -98,13 +98,6 @@
background: #d83a02;
color: #fff; }
.link {
color: #0066ff !important;
cursor: pointer; }
.link:hover {
text-decoration: underline; }
/**
* Nextcloud - passman
*
@ -148,7 +141,8 @@
*
*/
.tab_header {
margin: 44px 0 0;
width: calc(100vw - 300px);
margin: 0 0 0;
list-style: none;
padding: 0; }
.tab_header li.tab:first-child {
@ -168,22 +162,21 @@
transition: background-color 250ms linear; }
.tab_header li.tab .indicator {
display: none; }
.tab_header li.active {
color: #fff;
position: relative; }
.tab_header li.active .indicator {
display: inline-block;
position: absolute;
height: 7px;
left: 0;
right: 0;
bottom: -1px; }
.tab_header li.inactive {
background-color: #fff !important;
color: unset !important; }
.tab_header li.active .indicator {
display: inline-block;
position: absolute;
height: 7px;
left: 0;
right: 0;
bottom: -1px; }
.tab_container {
border: 1px solid;
border-color: #eee;
border: 1px solid #eee;
border-top-color: #0082c9;
border-bottom: 0;
border-bottom-width: 0;
clear: both;
padding: 0 1em; }
@ -231,7 +224,8 @@
.pw-gen .generate_pw {
float: left;
margin-top: 3px;
margin-left: -3px; }
margin-left: -3px;
padding-bottom: 1px; }
.pw-gen .generate_pw .cell {
padding: 5px;
display: inline-block;
@ -275,7 +269,7 @@
padding: 12px;
font-weight: bold;
text-align: center;
z-index: 18000;
z-index: 1800;
background-color: red;
color: white; }
.warning_bar .fa-times {
@ -284,9 +278,8 @@
cursor: pointer; }
.vault_wrapper {
margin: 0 auto;
margin-top: 20px;
width: 100%;
margin: 0 auto auto auto;
transform: translate(-150px);
max-width: 420px;
-webkit-border-radius: 5px;
border-radius: 5px;
@ -360,21 +353,45 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#content {
padding-top: 47px !important;
height: 100%;
width: 100%; }
.icon-image {
width: 16px; }
#app-sidebar {
height: auto; }
#app-sidebar .sidebar {
display: inline-block; }
#app-sidebar .sidebar .sidebar-icon {
margin-right: 15px; }
#app-sidebar .sidebar .sidebar-icon .icon-image {
width: 44px; }
#app-sidebar .sidebar .sidebar-icon i {
width: 44px; }
#app-sidebar .sidebar .sidebar-label {
float: right;
line-height: 44px; }
#app-content {
margin-left: 300px;
width: calc(100vw - 300px);
overflow-x: hidden; }
#app-content #app-content-wrapper {
min-height: 95%; }
min-height: 95%;
display: flex;
height: calc(100vh - 49px); }
#app-content #app-content-wrapper #passman-controls {
text-align: center;
border-bottom: 1px solid #c9c9c9; }
#app-content #app-content-wrapper #passman-controls.sidebar-shown {
padding-right: 27% !important; }
@media screen and (max-width: 765px) {
#app-content #app-content-wrapper #passman-controls.sidebar-shown .title {
display: none; } }
@media screen and (min-width: 769px) and (max-width: 1120px) {
#app-content #app-content-wrapper #passman-controls.sidebar-shown .title {
display: none; } }
@media screen and (max-width: 765px) {
#app-content #app-content-wrapper #passman-controls.sidebar-shown .title {
display: none; } }
@media screen and (min-width: 769px) and (max-width: 1120px) {
#app-content #app-content-wrapper #passman-controls.sidebar-shown .title {
display: none; } }
#app-content #app-content-wrapper .title {
text-align: center;
display: inline-block;
@ -387,10 +404,9 @@
#app-content #app-content-wrapper .title {
display: none; } }
#app-content #app-content-wrapper .breadcrumb {
float: left;
}
float: left; }
#app-content #app-content-wrapper .actions.creatable {
float: right;
float: left;
overflow: hidden; }
#app-content #app-content-wrapper .actions.creatable .bubble {
position: relative;
@ -440,7 +456,9 @@
display: inline-block;
padding: 7px; }
#app-content #app-content-wrapper .searchboxContainer {
display: inline-block;
/*display: inline-block;*/
visibility: hidden;
display: none;
margin-right: 14px;
float: right; }
#app-content #app-content-wrapper .searchboxContainer .searchbox {
@ -469,8 +487,7 @@
border-bottom-left-radius: 3px;
background-clip: padding-box; }
#app-content #app-content-wrapper .credential-table {
width: 100vh;
}
width: 100%; }
#app-content #app-content-wrapper .credential-table tr:hover {
background-color: whitesmoke; }
#app-content #app-content-wrapper .credential-table tr.selected {
@ -483,8 +500,7 @@
font-size: 19px;
float: left;
margin-right: 5px;
margin-left: 3px;
}
margin-left: 3px; }
#app-content #app-content-wrapper .credential-table tr td .icon-more {
display: inline-block;
float: right;
@ -528,7 +544,8 @@
#app-content #app-content-wrapper .tags .tag:last-child {
margin-right: 8px; }
#app-content #app-content-wrapper .grid-view {
margin-top: 44px;
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap; }
#app-content #app-content-wrapper .grid-view .credential {
@ -546,20 +563,21 @@
flex-direction: column;
width: 100%;
cursor: pointer;
font-size: 1.75em;
text-align: center; }
font-size: 1.75em; }
#app-content #app-content-wrapper .grid-view .credential .credential_content .label {
padding-top: 0.5em;
padding-left: 1em;
padding-right: 1em;
line-height: 1.3em;
word-wrap: break-word; }
word-wrap: break-word;
float: right; }
#app-content #app-content-wrapper .grid-view .credential .credential_content .tags {
margin-bottom: 0.5em; }
margin: 0 0 auto;
text-align: right; }
#app-content #app-content-wrapper .grid-view .credential .credential_content .tags .tag {
color: #000 !important;
margin-top: 5px;
display: inline-block; }
display: inline-block;
left: 0; }
@media all and (min-width: 40em) {
#app-content #app-content-wrapper .grid-view .credential {
width: 40%; } }
@ -652,7 +670,14 @@
vertical-align: middle; }
#app-content #app-content-wrapper .edit_credential .otpText {
padding-right: 10px; }
#app-content #app-content-wrapper .main_list {
flex: 1;
float: left;
height: auto;
overflow: auto;
width: 100%; }
#app-content #app-content-wrapper .app_sidebar {
float: right;
padding: 10px;
overflow-y: auto; }
#app-content #app-content-wrapper .app_sidebar h2 {
@ -669,7 +694,7 @@
cursor: pointer; }
#app-content #app-content-wrapper .app_sidebar.item_selected {
height: 25%;
display: inline-block; }
display: inline-block; }
#app-content #app-content-wrapper .app_sidebar .credential-data .row {
margin-bottom: 11px; }
#app-content #app-content-wrapper .app_sidebar .credential-data .tags {
@ -765,9 +790,9 @@
cursor: pointer;
/* "hand" cursor */ }
.btn-danger {
color: #fff; }
color: #000000;
background-color: #ff0000; }
.icon-label {
overflow: hidden; }
@ -792,15 +817,12 @@
.icon-label .icon-picker {
float: left;
margin-top: 3px;
margin-left: -3px;
-webkit-border-bottom-left-radius: 3px;
border-bottom-left-radius: 3px;
-webkit-border-top-left-radius: 3px;
border-top-left-radius: 3px;
background-clip: padding-box; }
padding-top: 7px; }
.icon-label .icon-picker .cell {
margin-top: 0px;
margin-left: -0px;
padding: 7px 12px 2px 12px;
display: inline-block;
display: inline;
font-size: 14px;
border: 1px solid #ddd;
background-color: #eaeaea;
@ -810,8 +832,6 @@
-webkit-border-top-left-radius: 6px;
border-top-left-radius: 6px;
background-clip: padding-box; }
.icon-label .icon-picker .cell img {
height: 16px; }
.icon-label .icon-picker .cell:hover {
color: #0066ff; }
@ -854,29 +874,35 @@
*/
.settings-container div {
padding-left: 15px; }
.settings-container button {
width: 80%;
margin-left: 15px;
margin-right: 15px; }
#app-navigation > ul {
padding-bottom: 80px; }
#app-navigation > ul > li > a {
padding-left: 12px !important;
z-index: auto; }
#app-navigation > ul > li > a {
z-index: auto; }
.nav-trashbin {
position: fixed !important;
bottom: 44px;
width: inherit !important;
border-right: 1px solid #eee; }
.nav-trashbin a {
background-color: #fff !important;
opacity: 1 !important;
z-index: 140;
padding: 0 20px; }
z-index: 140; }
.nav-trashbin a.active {
border-left: 3px solid #0082c9; }
#border-left: 3px solid #0082c9; }
.nav-trashbin a .fa {
margin-right: 15px; }
#taginput {
visibility: hidden;
display: none; }
#app-navigation li .highlight-selected {
background-color: var(--color-primary); }
#app-navigation li a.taginput {
visibility: hidden;
display: none;
opacity: 1; }
#app-navigation li a {
overflow: visible; }
@ -990,7 +1016,6 @@
padding: 3px 5px; }
#app-settings-content:not(.ng-hide) {
height: 90px;
display: inherit !important;
padding: 0;
transition: height 0.15s ease-out; }
@ -1009,9 +1034,8 @@
margin-right: 0 !important; }
#app-content #app-content-wrapper #passman-controls {
margin-top: 5px;
border-bottom: 1px solid #c9c9c9;
}
margin-top: 5px; }
#passman-controls {
box-sizing: border-box;
@ -1019,6 +1043,7 @@
top: 45px;
right: 0;
left: 0;
border-bottom: 1px solid #c9c9c9;
padding: 0 !important;
margin: 0;
background-color: rgba(255, 255, 255, 0.95);
@ -1035,11 +1060,7 @@
@media only screen and (min-width: 768px) {
#app-navigation + #app-content #passman-controls {
left: 300px;
width: calc( 100% - 300px ) !important; }
#passman-controls {
right: 0px;
width: 50%;}
}
width: calc( 100% - 300px ) !important; } }
#passman-controls .button, #passman-controls, #passman-controls input[type='submit'], #passman-controls input[type='text'], #passman-controls input[type='password'], #passman-controls select {
box-sizing: border-box;
display: inline-block;

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -9,7 +9,7 @@ angular.module('views/credential_revisions.html', []).run(['$templateCache', fun
angular.module('views/edit_credential.html', []).run(['$templateCache', function ($templateCache) {
'use strict';
$templateCache.put('views/edit_credential.html',
'<div id="controls"><div class="actions creatable"><div class="breadcrumb"><div class="crumb svg ui-droppable" data-dir="/"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg" data-dir="/Test"><a ng-click="cancel()">{{active_vault.name}}</a></div><div class="crumb svg last" data-dir="/Test"><a ng-if="storedCredential.credential_id">{{ \'edit.credential\' | translate}} "{{storedCredential.label}}"</a> <a ng-if="!storedCredential.credential_id">{{ \'create.credential\' | translate}}</a></div></div></div></div><ul class="tab_header"><li ng-repeat="tab in tabs track by $index" class="tab" ng-class="{active:isActiveTab(tab)}" ng-click="onClickTab(tab)" use-theme color="\'true\'">{{tab.title}}<div class="indicator" use-theme negative="\'true\'"></div></li></ul><div class="tab_container edit_credential" use-theme type="\'border-top-color\'"><div ng-include="currentTab.url"></div><button ng-click="saveCredential()" ng-disabled="saving"><i class="fa fa-spinner fa-spin" ng-show="saving"></i> {{ \'save\' | translate}}</button> <button ng-click="cancel()">{{ \'cancel\' | translate}}</button></div>');
'<div id="passman-controls"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg ui-droppable" data-dir="/"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg" data-dir="/Test"><a ng-click="cancel()">{{active_vault.name}}</a></div><div class="crumb svg last" data-dir="/Test"><a ng-if="storedCredential.credential_id">{{ \'edit.credential\' | translate}} "{{storedCredential.label}}"</a> <a ng-if="!storedCredential.credential_id">{{ \'create.credential\' | translate}}</a></div></div></div></div><div><ul class="tab_header"><li ng-repeat="tab in tabs track by $index" class="tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)" use-theme color="\'true\'">{{tab.title}}<div class="indicator" use-theme negative="\'true\'"></div></li></ul><div class="tab_container edit_credential" use-theme type="\'border-top-color\'"><div ng-include="currentTab.url"></div><button ng-click="saveCredential()" ng-disabled="saving"><i class="fa fa-spinner fa-spin" ng-show="saving"></i> {{ \'save\' | translate}}</button> <button ng-click="cancel()">{{ \'cancel\' | translate}}</button></div></div>');
}]);
angular.module('views/partials/credential_template.html', []).run(['$templateCache', function ($templateCache) {
@ -107,7 +107,7 @@ angular.module('views/partials/forms/share_credential/link_sharing.html', []).ru
angular.module('views/partials/icon-picker.html', []).run(['$templateCache', function ($templateCache) {
'use strict';
$templateCache.put('views/partials/icon-picker.html',
'<div><div class="cell"><credential-icon credential="credential"></credential-icon></div><div style="display: none" id="iconPicker" title="{{ \'pick.icon\' | translate }}"><div class="iconList"><div ng-repeat="(groupName, icons) in iconGroups"><h2 style="clear: both" id="{{groupName}}">{{groupName}}</h2><div class="icon" ng-repeat="icon in icons" ng-click="selectIcon(icon)"><img ng-src="{{icon.url}}" height="32"></div></div></div><div class="iconModifier"><div ng-if="selectedIcon">{{ \'selected.icon\' | translate}}:<br><img ng-src="{{selectedIcon.url}}" height="32"><br><button ng-click="useIcon()" ng-if="selectedIcon">{{ \'use.icon\' | translate}}</button></div></div></div></div>');
'<div class="cell icon-category-auth"></div><div style="display: none" id="iconPicker" title="{{ \'pick.icon\' | translate }}"><div class="iconList"><div ng-repeat="(groupName, icons) in iconGroups"><h2 style="clear: both" id="{{groupName}}">{{groupName}}</h2><div class="icon" ng-repeat="icon in icons" ng-click="selectIcon(icon)"><img ng-src="{{icon.url}}" height="32"></div></div></div><div class="iconModifier"><div ng-if="selectedIcon">{{ \'selected.icon\' | translate}}:<br><img ng-src="{{selectedIcon.url}}" height="32"><br><button ng-click="useIcon()" ng-if="selectedIcon">{{ \'use.icon\' | translate}}</button></div></div></div>');
}]);
angular.module('views/partials/password-meter.html', []).run(['$templateCache', function ($templateCache) {
@ -119,7 +119,7 @@ angular.module('views/partials/password-meter.html', []).run(['$templateCache',
angular.module('views/settings.html', []).run(['$templateCache', function ($templateCache) {
'use strict';
$templateCache.put('views/settings.html',
'<div id="controls"><div class="actions creatable"><div class="breadcrumb"><div class="crumb svg ui-droppable"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg"><a ng-click="cancel()">{{active_vault.name}}</a></div><div class="crumb svg last"><a>{{ \'settings\' | translate}}</a></div></div></div></div><ul class="tab_header"><li ng-repeat="tab in tabs track by $index" class="tab" ng-class="{active:isActiveTab(tab)}" ng-click="onClickTab(tab)" use-theme color="\'true\'">{{tab.title}}<div class="indicator" use-theme negative="\'true\'"></div></li></ul><div class="tab_container settings edit_credential"><div ng-include="currentTab.url"></div></div>');
'<div id="passman-controls"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg ui-droppable" data-dir="/"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg"><a ng-click="cancel()">{{active_vault.name}}</a></div><div class="crumb svg last"><a>{{ \'settings\' | translate}}</a></div></div></div></div><div><ul class="tab_header"><li ng-repeat="tab in tabs track by $index" class="tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)" use-theme color="\'true\'">{{tab.title | translate}}<div class="indicator" use-theme negative="\'true\'"></div></li></ul><div class="tab_container settings edit_credential" use-theme type="\'border-top-color\'"><div ng-include="currentTab.url"></div></div></div>');
}]);
angular.module('views/share_credential.html', []).run(['$templateCache', function ($templateCache) {
@ -131,8 +131,8 @@ angular.module('views/share_credential.html', []).run(['$templateCache', functio
angular.module('views/show_vault.html', []).run(['$templateCache', function ($templateCache) {
'use strict';
$templateCache.put('views/show_vault.html',
'<div off-click="closeSelected()" off-click-filter="\'.download-js-link, .sidebar-shown\'"><div id="passman-controls" ng-class="{ \'sidebar-shown\': selectedCredential }"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg ui-droppable" data-dir="/"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg last" ng-click="clearState()"><span>{{active_vault.name}}</span></div></div></div><div class="actions creatable"><span ng-click="addCredential()" class="button new"><span>+</span></span></div><div class="title" credential-counter="filtered_credentials" vault="active_vault" delete-time="delete_time" filters="filterOptions"></div><div class="searchboxContainer" ng-init="filterOptionShown = false;" off-click="filterOptionShown = false;"><input type="text" ng-model="filterOptions.filterText" class="searchbox" id="searchBox" placeholder="{{\'search.credential\' | translate}}" select-on-click clear-btn ng-click="filterOptionShown = true;"><div class="searchOptions" ng-show="filterOptionShown"><input type="checkbox" ng-model="filterOptions.useRegex"> {{ \'use.regex\' | translate }}</div></div><div class="viewModes"><div class="view-mode" ng-class="{\'active\': view_mode === \'list\' }" ng-click="switchViewMode(\'list\')"><i class="fa fa-list"></i></div><div class="view-mode" ng-class="{\'active\': view_mode === \'grid\' }" ng-click="switchViewMode(\'grid\')"><i class="fa fa-th-large"></i></div></div></div><div class="loaderContainer" ng-if="show_spinner"><div class="loader" use-theme type="\'border-bottom-color\'"></div></div><div ng-init="menuOpen = false;"><table class="credential-table" ng-if="view_mode === \'list\'"><tr ng-repeat="credential in filtered_credentials | orderBy:\'label\'" ng-if="showCredentialRow(credential)" ng-click="selectCredential(credential)" ng-dblclick="editCredential(credential)" ng-class="{\'selected\': selectedCredential.credential_id == credential.credential_id}"><td><span class="tags"><span class="tag" ng-repeat="tag in credential.tags_raw">{{ ::tag.text}}</span> </span><span class="icon" ng-if="credential.url"><credential-icon credential="credential"></credential-icon></span><span class="icon" ng-if="!credential.url"><i class="fa fa-lock" ng-if="!credential.acl && !credential.shared_key"></i> <i class="fa fa-share-alt" ng-if="credential.acl"></i> <i class="fa fa-share-alt-square" ng-if="credential.shared_key"></i> </span><span class="label">{{ ::credential.label}}</span></td></tr></table><ul class="grid-view" ng-if="view_mode === \'grid\'"><li class="credential" ng-repeat="credential in filtered_credentials | orderBy:\'label\'" ng-if="credential.hidden == 0 && showCredentialRow(credential)" ng-click="selectCredential(credential)" use-theme type="\'border-color\'"><div class="credential_content"><div class="label">{{ ::credential.label}}</div><div class="tags"><div class="tag" ng-repeat="tag in credential.tags_raw">{{ ::tag.text}}</div></div></div></li></ul></div><div id="app-sidebar" class="detailsView scroll-container app_sidebar" ng-show="selectedCredential"><h2>{{selectedCredential.label}}</h2><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span><div credential-template="selectedCredential"></div><div ng-show="selectedCredential"><div><button class="button" ng-click="editCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-edit"></span> {{ \'edit\' | translate}}</button> <button class="button" ng-click="deleteCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-trash"></span> {{ \'delete\' | translate}}</button> <button class="button" ng-click="shareCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && selectedCredential.acl === undefined &&\n' +
' (settings.user_sharing_enabled === 1 || settings.user_sharing_enabled === \'1\' || settings.link_sharing_enabled === 1 || settings.link_sharing_enabled === \'1\')"><span class="fa fa-share"></span> {{ \'share\' | translate}}</button> <button class="button" ng-click="getRevisions(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.HISTORY)"><span class="fa fa-undo"></span> {{ \'revisions\' | translate}}</button> <button class="button" ng-if="selectedCredential.delete_time > 0" ng-click="recoverCredential(selectedCredential) && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-recycle"></span> {{\'recover\' | translate}}</button> <button class="button" ng-if="selectedCredential.delete_time > 0" ng-click="destroyCredential(selectedCredential)"><span class="fa fa-bomb"></span> {{\'destroy\' | translate}}</button></div></div></div></div><div class="share_popup" style="display: none">{{ \'sharereq.title\' | translate}}<br><p>{{ \'sharereq.line1\' | translate}}</p>{{active_vault.vault_id}}<table class="table"><thead><tr><td>{{ \'label\' | translate}}</td><td>{{ \'permissions\' | translate}}</td><td>{{ \'received.from\' | translate}}</td><td>{{ \'date\' | translate}}</td></tr></thead><tr ng-repeat="share_request in incoming_share_requests" ng-if="share_request.target_vault_id == active_vault.vault_id"><td>{{share_request.credential_label}}</td><td>{{share_request.permissions}}</td><td>{{share_request.from_user_id}}</td><td>{{share_request.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td><td><span class="link" ng-click="acceptShareRequest(share_request)">{{ \'accept\' | translate}}</span> | <span class="link" ng-click="declineShareRequest(share_request)">{{ \'decline\' | translate}}</span></td></tr></table></div>');
'<div class="main_list" off-click="closeSelected()" off-click-filter="\'.download-js-link, .sidebar-shown\'"><div id="passman-controls" ng-class="{ \'sidebar-shown\': selectedCredential }"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg ui-droppable" data-dir="/"><a ng-click="logout()"><i class="fa fa-home"></i></a></div><div class="crumb svg" ng-click="clearState()"><a>{{active_vault.name}}</a></div><div class="crumb svg last" ng-hide="delete_time>0"><a ng-click="addCredential()">{{ \'New\' | translate}}</a></div></div></div><div class="title" credential-counter="filtered_credentials" vault="active_vault" delete-time="delete_time" filters="filterOptions"></div><div class="searchboxContainer" ng-init="filterOptionShown = false;" off-click="filterOptionShown = false;"><input type="text" ng-model="filterOptions.filterText" class="searchbox" id="searchBox" placeholder="{{\'search.credential\' | translate}}" select-on-click clear-btn ng-click="filterOptionShown = true;"><div class="searchOptions" ng-show="filterOptionShown"><input type="checkbox" ng-model="filterOptions.useRegex"> {{ \'use.regex\' | translate }}</div></div><div class="viewModes"><div class="view-mode" ng-class="{\'active\': view_mode === \'list\' }" ng-click="switchViewMode(\'list\')"><i class="fa fa-list"></i></div><div class="view-mode" ng-class="{\'active\': view_mode === \'grid\' }" ng-click="switchViewMode(\'grid\')"><i class="fa fa-th-large"></i></div></div></div><div class="loaderContainer" ng-if="show_spinner"><div class="loader" use-theme type="\'border-bottom-color\'"></div></div><div ng-init="menuOpen = false;"><table class="credential-table" ng-if="view_mode === \'list\'"><tr ng-repeat="credential in filtered_credentials | orderBy:\'label\'" ng-if="showCredentialRow(credential)" ng-click="selectCredential(credential)" ng-dblclick="editCredential(credential)" ng-class="{\'selected\': selectedCredential.credential_id == credential.credential_id}"><td><span class="tags"><span class="tag" ng-repeat="tag in credential.tags_raw">{{ ::tag.text}}</span> </span><span class="icon" ng-if="credential.url"><credential-icon credential="credential"></credential-icon></span><span class="icon" ng-if="!credential.url"><i class="fa fa-lock" ng-if="!credential.acl && !credential.shared_key"></i> <i class="fa fa-share-alt" ng-if="credential.acl"></i> <i class="fa fa-share-alt-square" ng-if="credential.shared_key"></i> </span><a class="label">{{ ::credential.label}}</a></td></tr></table><ul class="grid-view" ng-if="view_mode === \'grid\'"><li class="credential" ng-repeat="credential in filtered_credentials | orderBy:\'label\'" ng-if="credential.hidden == 0 && showCredentialRow(credential)" ng-click="selectCredential(credential)" use-theme type="\'border-color\'"><div class="credential_content"><div><span class="icon" ng-if="credential.url"><credential-icon credential="credential"></credential-icon></span><span class="icon" ng-if="!credential.url"><i class="fa fa-lock" ng-if="!credential.acl && !credential.shared_key"></i> <i class="fa fa-share-alt" ng-if="credential.acl"></i> <i class="fa fa-share-alt-square" ng-if="credential.shared_key"></i></span><div class="label">{{ ::credential.label}}</div></div><div class="tags"><div class="tag" ng-repeat="tag in credential.tags_raw">{{ ::tag.text}}</div></div></div></li></ul></div></div><div id="app-sidebar" class="app_sidebar" ng-show="selectedCredential"><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span><div class="sidebar"><span class="icon sidebar-icon" ng-if="selectedCredential.url"><credential-icon credential="selectedCredential"></credential-icon></span><span class="icon sidebar-icon" ng-if="!selectedCredential.url"><credential-icon credential="selectedCredential"></credential-icon></span><h2 class="sidebar-label">{{selectedCredential.label}}</h2></div><div credential-template="selectedCredential"></div><div ng-show="selectedCredential"><div><button class="button" ng-click="editCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-edit"></span> {{ \'edit\' | translate}}</button> <button class="button" ng-click="deleteCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-trash"></span> {{ \'delete\' | translate}}</button> <button class="button" ng-click="shareCredential(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && selectedCredential.acl === undefined &&\n' +
' (settings.user_sharing_enabled === 1 || settings.user_sharing_enabled === \'1\' || settings.link_sharing_enabled === 1 || settings.link_sharing_enabled === \'1\')"><span class="fa fa-share"></span> {{ \'share\' | translate}}</button> <button class="button" ng-click="getRevisions(selectedCredential)" ng-if="selectedCredential.delete_time == 0 && hasPermission(selectedCredential.acl.permissions, permissions.permissions.HISTORY)"><span class="fa fa-undo"></span> {{ \'revisions\' | translate}}</button> <button class="button" ng-if="selectedCredential.delete_time > 0" ng-click="recoverCredential(selectedCredential) && hasPermission(selectedCredential.acl.permissions, permissions.permissions.WRITE)"><span class="fa fa-recycle"></span> {{\'recover\' | translate}}</button> <button class="button" ng-if="selectedCredential.delete_time > 0" ng-click="destroyCredential(selectedCredential)"><span class="fa fa-bomb"></span> {{\'destroy\' | translate}}</button></div></div></div><div class="share_popup" style="display: none">{{ \'sharereq.title\' | translate}}<br><p>{{ \'sharereq.line1\' | translate}}</p>{{active_vault.vault_id}}<table class="table"><thead><tr><td>{{ \'label\' | translate}}</td><td>{{ \'permissions\' | translate}}</td><td>{{ \'received.from\' | translate}}</td><td>{{ \'date\' | translate}}</td></tr></thead><tr ng-repeat="share_request in incoming_share_requests" ng-if="share_request.target_vault_id == active_vault.vault_id"><td>{{share_request.credential_label}}</td><td>{{share_request.permissions}}</td><td>{{share_request.from_user_id}}</td><td>{{share_request.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td><td><span class="link" ng-click="acceptShareRequest(share_request)">{{ \'accept\' | translate}}</span> | <span class="link" ng-click="declineShareRequest(share_request)">{{ \'decline\' | translate}}</span></td></tr></table></div>');
}]);
angular.module('views/vault_req_deletion.html', []).run(['$templateCache', function ($templateCache) {

Просмотреть файл

@ -5,7 +5,7 @@
"karma-verbose-reporter": "0.0.3"
},
"dependencies": {
"grunt": "~0.4.5",
"grunt": "~1.0.3",
"grunt-cli": "~1.2.0",
"grunt-contrib-clean": "^1.0.0",
"grunt-contrib-concat": "^1.0.1",