Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/passman.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbinsky <timo@binsky.org>2022-10-21 16:05:31 +0300
committerbinsky <timo@binsky.org>2022-10-21 16:05:31 +0300
commit5318a774366b8b0877cd8625a3fbd3c4ccfc2b77 (patch)
tree89400578b500c2818060ec0a0cddddf46b78f92c
parentd5b95be22349f87bfa59f5f868917c554fcae771 (diff)
Revert "update main style to support nc 25"
This reverts commit 3ab5b1cd Signed-off-by: binsky <timo@binsky.org>
-rw-r--r--css/app.css637
-rw-r--r--css/app.css.map2
-rw-r--r--js/templates.js26
-rw-r--r--sass/app.scss30
-rw-r--r--sass/credentials.scss483
-rw-r--r--sass/vaults.scss4
-rw-r--r--templates/main.php8
-rw-r--r--templates/views/show_vault.html5
-rw-r--r--templates/views/vaults.html29
9 files changed, 596 insertions, 628 deletions
diff --git a/css/app.css b/css/app.css
index dd2dad88..0b84286c 100644
--- a/css/app.css
+++ b/css/app.css
@@ -502,410 +502,396 @@
.link span {
cursor: pointer; }
+#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-size {
+ width: 44px; }
+ #app-sidebar .sidebar .sidebar-icon i {
+ width: 44px; }
+ #app-sidebar .sidebar .sidebar-label {
+ float: right;
+ line-height: 44px; }
+
.vaultlist_sidebar_hidden {
width: 100vw !important;
margin-left: 0px !important; }
#app-content {
overflow-x: hidden; }
- #app-content .ng-app-frame {
- min-height: 100%;
- display: flex; }
- @media only screen and (max-width: 1024px) {
+ @media only screen and (max-width: 769px) {
#app-content {
width: 100vw; } }
- @media only screen and (min-width: 1025px) {
+ @media only screen and (min-width: 770px) {
#app-content {
width: calc(100vw - 300px); } }
- #app-content .edit_credential {
+ #app-content .main_list #passman-controls {
+ text-align: center;
+ border-bottom: 1px solid #c9c9c9; }
+ @media screen and (max-width: 765px) {
+ #app-content .main_list #passman-controls.sidebar-shown .title {
+ display: none; } }
+ @media screen and (min-width: 769px) and (max-width: 1120px) {
+ #app-content .main_list #passman-controls.sidebar-shown .title {
+ display: none; } }
+ #app-content .main_list .title {
+ text-align: center;
+ display: inline-flex;
+ font-weight: bold;
+ margin-top: 10px; }
+ @media screen and (max-width: 820px) {
+ #app-content .main_list .title {
+ display: none; } }
+ #app-content .main_list .breadcrumb {
+ float: left; }
+ #app-content .main_list .actions.creatable {
+ float: left;
+ overflow: hidden; }
+ #app-content .main_list .actions.creatable .bubble {
+ position: relative;
+ width: 185px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ background-clip: padding-box;
+ /* stops bg color from leaking outside the border: */
+ box-shadow: 0 1px 10px rgba(50, 50, 50, 0.7); }
+ #app-content .main_list .actions.creatable .bubble ul li {
+ padding-left: 10px; }
+ #app-content .main_list .actions.creatable .bubble ul .menuitem {
+ font-size: 12px;
+ display: inline; }
+ #app-content .main_list .actions.creatable .bubble:after {
+ right: inherit;
+ left: 10px;
+ top: -19px; }
+ #app-content .main_list .viewModes {
+ float: right;
+ margin-right: 5px;
+ margin-top: 3px; }
+ #app-content .main_list .viewModes .view-mode:first-child {
+ -webkit-border-bottom-left-radius: 5px;
+ border-bottom-left-radius: 5px;
+ -webkit-border-top-left-radius: 5px;
+ border-top-left-radius: 5px;
+ background-clip: padding-box;
+ border: 1px solid rgba(240, 240, 240, 0.9); }
+ #app-content .main_list .viewModes .view-mode:last-child {
+ -webkit-border-bottom-right-radius: 5px;
+ border-bottom-right-radius: 5px;
+ -webkit-border-top-right-radius: 5px;
+ border-top-right-radius: 5px;
+ background-clip: padding-box;
+ border: 1px solid rgba(240, 240, 240, 0.9); }
+ #app-content .main_list .viewModes .view-mode {
+ display: inline-block;
+ padding: 7px;
+ background-color: rgba(240, 240, 240, 0.9); }
+ #app-content .main_list .viewModes .view-mode.active {
+ display: inline-block;
+ padding: 7px;
+ background-color: rgba(226, 226, 226, 0.9); }
+ #app-content .main_list .viewModes .view-mode {
+ cursor: pointer;
+ display: inline-block;
+ padding: 7px; }
+ #app-content .main_list .searchboxContainer {
+ display: inline-block;
+ visibility: visible;
+ float: right; }
+ #app-content .main_list .searchboxContainer .searchbox {
+ display: inline-block;
+ width: calc(100% - 3px); }
+ #app-content .main_list .searchboxContainer .searchclear {
+ color: #ccc;
+ cursor: pointer;
+ font-size: 18px;
+ height: 14px;
+ margin: auto;
+ position: absolute !important;
+ right: 10px;
+ top: 12px;
+ z-index: 99999999; }
+ #app-content .main_list .searchboxContainer .searchOptions {
+ position: relative;
+ bottom: 5px;
+ background: #fff;
+ border: 1px solid #ddd;
+ padding: 5px;
+ /*width: calc(100% - 3px);*/
+ box-shadow: 3px 3px 5px #888888;
+ -webkit-border-bottom-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+ -webkit-border-bottom-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ background-clip: padding-box; }
+ #app-content .main_list .searchboxContainer .searchOptions input {
+ cursor: pointer; }
+ #app-content .main_list .credential-table {
+ width: 100%; }
+ #app-content .main_list .credential-table tr:hover {
+ background-color: whitesmoke; }
+ #app-content .main_list .credential-table tr.selected {
+ background-color: #f8f8f8; }
+ #app-content .main_list .credential-table tr .compromised {
+ background-color: #f74040; }
+ #app-content .main_list .credential-table tr .compromised:hover {
+ background-color: #e10909; }
+ #app-content .main_list .credential-table tr .compromised-list {
+ display: inline-block;
+ margin-left: 50px; }
+ #app-content .main_list .credential-table tr .compromised-list .icon {
+ height: 18px; }
+ #app-content .main_list .credential-table tr .compromised-list .text {
+ font-style: italic;
+ font-weight: bold; }
+ #app-content .main_list .credential-table tr td {
+ cursor: pointer;
+ padding: 5px;
+ border-bottom: 1px solid #eeeeee; }
+ #app-content .main_list .credential-table tr td .icon {
+ font-size: 19px;
+ float: left;
+ margin-right: 5px;
+ margin-left: 3px; }
+ #app-content .main_list .credential-table tr td .icon-more {
+ display: inline-block;
+ float: right;
+ margin-left: 5px;
+ margin-top: 1px;
+ opacity: 0.4;
+ height: 20px;
+ width: 32px;
+ cursor: pointer; }
+ #app-content .main_list .credential-table tr td .icon-more:hover {
+ opacity: 1; }
+ #app-content .main_list .credential-table tr td .popovermenu {
+ margin-top: 25px;
+ height: 100px;
+ width: 100px;
+ right: -2px !important;
+ box-shadow: 0 1px 10px rgba(50, 50, 50, 0.7); }
+ #app-content .main_list .credential-table tr td .popovermenu ul {
+ display: block;
+ width: 100px;
+ height: 75px; }
+ #app-content .main_list .credential-table tr td .popovermenu ul li {
+ padding: 0px; }
+ #app-content .main_list .credential-table tr td .popovermenu ul .menuitem {
+ font-size: 12px;
+ display: inline; }
+ #app-content .main_list .credential-table tr td .popovermenu .action {
+ padding: 10px;
+ margin: -10px; }
+ #app-content .main_list .tags {
+ float: right; }
+ #app-content .main_list .tags .tag {
+ background-color: rgba(240, 240, 240, 0.9);
+ padding: 4px;
+ font-size: 12px;
+ margin-right: 3px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ background-clip: padding-box;
+ /* stops bg color from leaking outside the border: */ }
+ #app-content .main_list .tags .tag:last-child {
+ margin-right: 8px; }
+ #app-content .main_list .grid-view {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-wrap: wrap; }
+ #app-content .main_list .grid-view .credential {
+ display: flex;
+ width: 100%;
+ border: 2px solid rgba(240, 240, 240, 0.9);
+ margin: 25px;
+ -webkit-border-radius: 10px;
+ border-radius: 10px;
+ background-clip: padding-box;
+ /* stops bg color from leaking outside the border: */ }
+ #app-content .main_list .grid-view .credential .credential_content {
+ display: flex;
+ padding: 2px;
+ flex-direction: column;
+ width: 100%;
+ cursor: pointer;
+ font-size: 1.75em; }
+ #app-content .main_list .grid-view .credential .credential_content .label {
+ padding-top: 0.5em;
+ padding-right: 1em;
+ line-height: 1.3em;
+ word-wrap: break-word;
+ float: right; }
+ #app-content .main_list .grid-view .credential .credential_content .tags {
+ margin: 0 0 auto;
+ text-align: right; }
+ #app-content .main_list .grid-view .credential .credential_content .tags .tag {
+ color: #000 !important;
+ margin-top: 5px;
+ display: inline-block;
+ left: 0; }
+ @media all and (min-width: 40em) {
+ #app-content .main_list .grid-view .credential {
+ width: 40%; } }
+ @media all and (min-width: 58em) {
+ #app-content .main_list .grid-view .credential {
+ width: 26%; } }
+ @media all and (min-width: 78em) {
+ #app-content .main_list .grid-view .credential {
+ width: 20%; } }
+ #app-content .main_list .edit_credential {
padding-top: 10px; }
- #app-content .edit_credential label {
+ #app-content .main_list .edit_credential label {
display: block; }
- #app-content .edit_credential input[type="text"], #app-content .edit_credential input[type="password"] {
+ #app-content .main_list .edit_credential input[type="text"], #app-content .main_list .edit_credential input[type="password"] {
width: 100%; }
- #app-content .edit_credential .compromised-button {
+ #app-content .main_list .edit_credential .compromised-button {
margin-top: 15px;
background-color: #e60000;
color: black; }
- #app-content .edit_credential .compromised-details {
+ #app-content .main_list .edit_credential .compromised-details {
margin-top: 15px;
display: flex; }
- #app-content .edit_credential .compromised-details .icon {
+ #app-content .main_list .edit_credential .compromised-details .icon {
float: left;
height: 20px; }
- #app-content .edit_credential .compromised-details .text {
+ #app-content .main_list .edit_credential .compromised-details .text {
padding-left: 5px;
padding-right: 30px;
color: #e9322d; }
- #app-content .edit_credential .tags {
+ #app-content .main_list .edit_credential .tags {
float: left; }
- #app-content .edit_credential .tags .tag {
+ #app-content .main_list .edit_credential .tags .tag {
background-color: rgba(240, 240, 240, 0.9);
padding: 4px;
font-size: 11px; }
- #app-content .edit_credential tags-input .tags {
+ #app-content .main_list .edit_credential tags-input .tags {
width: 100%; }
- #app-content .edit_credential tags-input .tags .input {
- width: auto !important; }
- #app-content .edit_credential tags-input .tags .tag-item {
- color: var(--color-text-lighter); }
- #app-content .edit_credential .credential_textarea {
+ #app-content .main_list .edit_credential .credential_textarea {
width: 100%;
height: 100px; }
- #app-content .edit_credential .password_settings label {
+ #app-content .main_list .edit_credential .password_settings label {
overflow: hidden; }
- #app-content .edit_credential .password_settings label input[type="checkbox"] {
+ #app-content .main_list .edit_credential .password_settings label input[type="checkbox"] {
width: auto !important;
float: left; }
- #app-content .edit_credential .password_settings label .label {
+ #app-content .main_list .edit_credential .password_settings label .label {
float: left; }
- #app-content .edit_credential .password_settings label .label.sm {
+ #app-content .main_list .edit_credential .password_settings label .label.sm {
font-size: 12px; }
- #app-content .edit_credential .password_settings .password-settings-padding-left-fix {
+ #app-content .main_list .edit_credential .password_settings .password-settings-padding-left-fix {
padding-left: 0 !important; }
- #app-content .edit_credential .field-value .valueInput {
+ #app-content .main_list .edit_credential .field-value .valueInput {
padding-right: 0; }
- #app-content .edit_credential .field-value .valueInput input {
+ #app-content .main_list .edit_credential .field-value .valueInput input {
-webkit-border-bottom-right-radius: 0;
border-bottom-right-radius: 0;
-webkit-border-top-right-radius: 0;
border-top-right-radius: 0;
background-clip: padding-box; }
- #app-content .edit_credential .field-value .valueInput .pw-gen .generate_pw .cell:last-child {
+ #app-content .main_list .edit_credential .field-value .valueInput .pw-gen .generate_pw .cell:last-child {
-webkit-border-bottom-right-radius: 0;
border-bottom-right-radius: 0;
-webkit-border-top-right-radius: 0;
border-top-right-radius: 0;
background-clip: padding-box; }
- #app-content .edit_credential .field-value .selectType {
+ #app-content .main_list .edit_credential .field-value .selectType {
padding-left: 0;
margin-left: 0px; }
- #app-content .edit_credential .field-value .selectType select {
+ #app-content .main_list .edit_credential .field-value .selectType select {
-webkit-border-bottom-left-radius: 0;
border-bottom-left-radius: 0;
-webkit-border-top-left-radius: 0;
border-top-left-radius: 0;
background-clip: padding-box; }
- #app-content .edit_credential .custom_fields, #app-content .edit_credential .files {
+ #app-content .main_list .edit_credential .custom_fields, #app-content .main_list .edit_credential .files {
margin-top: 10px; }
- #app-content .edit_credential .custom_fields table, #app-content .edit_credential .files table {
+ #app-content .main_list .edit_credential .custom_fields table, #app-content .main_list .edit_credential .files table {
width: 100%; }
- #app-content .edit_credential .custom_fields table thead, #app-content .edit_credential .files table thead {
- background-color: var(--color-background-plain);
- color: var(--color-primary-text); }
- #app-content .edit_credential .custom_fields table thead th.dragger, #app-content .edit_credential .files table thead th.dragger {
- width: 3%; }
- #app-content .edit_credential .custom_fields table thead th, #app-content .edit_credential .files table thead th {
- color: #fff; }
- #app-content .edit_credential .custom_fields table thead th.field_actions, #app-content .edit_credential .files table thead th.field_actions {
- width: 15%; }
- #app-content .edit_credential .custom_fields table tr:hover, #app-content .edit_credential .files table tr:hover {
+ #app-content .main_list .edit_credential .custom_fields table thead th.dragger, #app-content .main_list .edit_credential .files table thead th.dragger {
+ width: 3%; }
+ #app-content .main_list .edit_credential .custom_fields table thead th, #app-content .main_list .edit_credential .files table thead th {
+ color: #fff; }
+ #app-content .main_list .edit_credential .custom_fields table thead th.field_actions, #app-content .main_list .edit_credential .files table thead th.field_actions {
+ width: 15%; }
+ #app-content .main_list .edit_credential .custom_fields table tr:hover, #app-content .main_list .edit_credential .files table tr:hover {
background-color: transparent; }
- #app-content .edit_credential .custom_fields table tr td.dragger, #app-content .edit_credential .files table tr td.dragger {
+ #app-content .main_list .edit_credential .custom_fields table tr td.dragger, #app-content .main_list .edit_credential .files table tr td.dragger {
width: 3%;
text-align: center;
cursor: move;
cursor: -webkit-grab;
cursor: -moz-grab;
cursor: grab; }
- #app-content .edit_credential .custom_fields table tr td.field_actions, #app-content .edit_credential .files table tr td.field_actions {
+ #app-content .main_list .edit_credential .custom_fields table tr td.field_actions, #app-content .main_list .edit_credential .files table tr td.field_actions {
font-size: 13px;
width: 15%; }
- #app-content .edit_credential .custom_fields table tr td.field_actions i, #app-content .edit_credential .files table tr td.field_actions i {
+ #app-content .main_list .edit_credential .custom_fields table tr td.field_actions i, #app-content .main_list .edit_credential .files table tr td.field_actions i {
cursor: pointer; }
- #app-content .edit_credential .custom_fields table tr td, #app-content .edit_credential .custom_fields table tr th, #app-content .edit_credential .files table tr td, #app-content .edit_credential .files table tr th {
+ #app-content .main_list .edit_credential .custom_fields table tr td, #app-content .main_list .edit_credential .custom_fields table tr th, #app-content .main_list .edit_credential .files table tr td, #app-content .main_list .edit_credential .files table tr th {
width: 20%;
padding: 5px; }
- #app-content .edit_credential .custom_fields table tr td .editable-has-buttons.editable-input, #app-content .edit_credential .custom_fields table tr th .editable-has-buttons.editable-input, #app-content .edit_credential .files table tr td .editable-has-buttons.editable-input, #app-content .edit_credential .files table tr th .editable-has-buttons.editable-input {
+ #app-content .main_list .edit_credential .custom_fields table tr td .editable-has-buttons.editable-input, #app-content .main_list .edit_credential .custom_fields table tr th .editable-has-buttons.editable-input, #app-content .main_list .edit_credential .files table tr td .editable-has-buttons.editable-input, #app-content .main_list .edit_credential .files table tr th .editable-has-buttons.editable-input {
width: 55%; }
- #app-content .edit_credential .custom_fields table tr td, #app-content .edit_credential .files table tr td {
+ #app-content .main_list .edit_credential .custom_fields table tr td, #app-content .main_list .edit_credential .files table tr td {
height: 50px;
vertical-align: middle; }
- #app-content .edit_credential .otpText {
+ #app-content .main_list .edit_credential .otpText {
padding-right: 10px; }
- #app-content .edit_credential .import-selection select {
+ #app-content .main_list .edit_credential .import-selection select {
margin-left: 15px; }
- #app-content .main_list {
- width: 100%;
- display: flow-root;
- padding-right: 15px; }
- #app-content .main_list #passman-controls {
- text-align: center;
- border-bottom: 1px solid #c9c9c9; }
- @media screen and (max-width: 765px) {
- #app-content .main_list #passman-controls.sidebar-shown .title {
- display: none; } }
- @media screen and (min-width: 769px) and (max-width: 1120px) {
- #app-content .main_list #passman-controls.sidebar-shown .title {
- display: none; } }
- #app-content .main_list .title {
- text-align: center;
- display: inline-flex;
- font-weight: bold;
- margin-top: 10px; }
- @media screen and (max-width: 820px) {
- #app-content .main_list .title {
- display: none; } }
- #app-content .main_list .breadcrumb {
- float: left; }
- #app-content .main_list .actions.creatable {
- float: left;
- overflow: hidden; }
- #app-content .main_list .actions.creatable .bubble {
- position: relative;
- width: 185px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- background-clip: padding-box;
- /* stops bg color from leaking outside the border: */
- box-shadow: 0 1px 10px rgba(50, 50, 50, 0.7); }
- #app-content .main_list .actions.creatable .bubble ul li {
- padding-left: 10px; }
- #app-content .main_list .actions.creatable .bubble ul .menuitem {
- font-size: 12px;
- display: inline; }
- #app-content .main_list .actions.creatable .bubble:after {
- right: inherit;
- left: 10px;
- top: -19px; }
- #app-content .main_list .viewModes {
- float: right;
- margin-right: 5px;
- margin-top: 3px; }
- #app-content .main_list .viewModes .view-mode:first-child {
- -webkit-border-bottom-left-radius: 5px;
- border-bottom-left-radius: 5px;
- -webkit-border-top-left-radius: 5px;
- border-top-left-radius: 5px;
- background-clip: padding-box;
- border: 1px solid rgba(240, 240, 240, 0.9); }
- #app-content .main_list .viewModes .view-mode:last-child {
- -webkit-border-bottom-right-radius: 5px;
- border-bottom-right-radius: 5px;
- -webkit-border-top-right-radius: 5px;
- border-top-right-radius: 5px;
- background-clip: padding-box;
- border: 1px solid rgba(240, 240, 240, 0.9); }
- #app-content .main_list .viewModes .view-mode {
- display: inline-block;
- padding: 7px;
- background-color: rgba(240, 240, 240, 0.9); }
- #app-content .main_list .viewModes .view-mode.active {
- display: inline-block;
- padding: 7px;
- background-color: rgba(226, 226, 226, 0.9); }
- #app-content .main_list .viewModes .view-mode {
- cursor: pointer;
- display: inline-block;
- padding: 7px; }
- #app-content .main_list .searchboxContainer {
- display: inline-block;
- visibility: visible;
- float: right; }
- #app-content .main_list .searchboxContainer .searchbox {
- display: inline-block;
- width: calc(100% - 3px); }
- #app-content .main_list .searchboxContainer .searchclear {
- color: #ccc;
- cursor: pointer;
- font-size: 18px;
- height: 14px;
- margin: auto;
- position: absolute !important;
- right: 10px;
- top: 12px;
- z-index: 99999999; }
- #app-content .main_list .searchboxContainer .searchOptions {
- position: relative;
- bottom: 5px;
- background: #fff;
- border: 1px solid #ddd;
- padding: 5px;
- /*width: calc(100% - 3px);*/
- box-shadow: 3px 3px 5px #888888;
- -webkit-border-bottom-right-radius: 3px;
- border-bottom-right-radius: 3px;
- -webkit-border-bottom-left-radius: 3px;
- border-bottom-left-radius: 3px;
- background-clip: padding-box; }
- #app-content .main_list .searchboxContainer .searchOptions input {
- cursor: pointer; }
- #app-content .main_list .credential-list {
- display: flex;
- height: 100%; }
- #app-content .main_list .credential-table-wrapper {
- flex: 1;
- float: left;
- height: auto;
- overflow: auto;
- width: 100%;
- margin-top: 55px; }
- #app-content .main_list .credential-table {
- width: 100%; }
- #app-content .main_list .credential-table tr:hover {
- background-color: whitesmoke; }
- #app-content .main_list .credential-table tr.selected {
- background-color: #f8f8f8; }
- #app-content .main_list .credential-table tr .compromised {
- background-color: #f74040; }
- #app-content .main_list .credential-table tr .compromised:hover {
- background-color: #e10909; }
- #app-content .main_list .credential-table tr .compromised-list {
- display: inline-block;
- margin-left: 50px; }
- #app-content .main_list .credential-table tr .compromised-list .icon {
- height: 18px; }
- #app-content .main_list .credential-table tr .compromised-list .text {
- font-style: italic;
- font-weight: bold; }
- #app-content .main_list .credential-table tr td {
- cursor: pointer;
- padding: 5px;
- border-bottom: 1px solid #eeeeee; }
- #app-content .main_list .credential-table tr td .icon {
- font-size: 19px;
- float: left;
- margin-right: 5px;
- margin-left: 3px; }
- #app-content .main_list .credential-table tr td .icon-more {
- display: inline-block;
- float: right;
- margin-left: 5px;
- margin-top: 1px;
- opacity: 0.4;
- height: 20px;
- width: 32px;
- cursor: pointer; }
- #app-content .main_list .credential-table tr td .icon-more:hover {
- opacity: 1; }
- #app-content .main_list .credential-table tr td .popovermenu {
- margin-top: 25px;
- height: 100px;
- width: 100px;
- right: -2px !important;
- box-shadow: 0 1px 10px rgba(50, 50, 50, 0.7); }
- #app-content .main_list .credential-table tr td .popovermenu ul {
- display: block;
- width: 100px;
- height: 75px; }
- #app-content .main_list .credential-table tr td .popovermenu ul li {
- padding: 0px; }
- #app-content .main_list .credential-table tr td .popovermenu ul .menuitem {
- font-size: 12px;
- display: inline; }
- #app-content .main_list .credential-table tr td .popovermenu .action {
- padding: 10px;
- margin: -10px; }
- #app-content .main_list .tags {
- float: right; }
- #app-content .main_list .tags .tag {
- background-color: rgba(240, 240, 240, 0.9);
- padding: 4px;
- font-size: 12px;
- margin-right: 3px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- background-clip: padding-box;
- /* stops bg color from leaking outside the border: */ }
- #app-content .main_list .tags .tag:last-child {
- margin-right: 8px; }
- #app-content .main_list .grid-view {
- width: 100%;
- height: 100%;
- display: flex;
- flex-wrap: wrap; }
- #app-content .main_list .grid-view li {
- height: fit-content; }
- #app-content .main_list .grid-view .credential {
- display: flex;
- width: 100%;
- border: 2px solid var(--color-primary);
- margin: 25px;
- -webkit-border-radius: 10px;
- border-radius: 10px;
- background-clip: padding-box;
- /* stops bg color from leaking outside the border: */ }
- #app-content .main_list .grid-view .credential .credential_content {
- display: flex;
- padding: 2px;
- flex-direction: column;
- width: 100%;
- cursor: pointer;
- font-size: 1.75em; }
- #app-content .main_list .grid-view .credential .credential_content .label {
- padding-top: 0.5em;
- padding-right: 1em;
- line-height: 1.3em;
- word-wrap: break-word;
- float: right; }
- #app-content .main_list .grid-view .credential .credential_content .tags {
- margin: 0 0 auto;
- text-align: right; }
- #app-content .main_list .grid-view .credential .credential_content .tags .tag {
- color: #000 !important;
- margin-top: 5px;
- display: inline-block;
- left: 0; }
- @media all and (min-width: 40em) {
- #app-content .main_list .grid-view .credential {
- width: 40%; } }
- @media all and (min-width: 58em) {
- #app-content .main_list .grid-view .credential {
- width: 26%; } }
- @media all and (min-width: 78em) {
- #app-content .main_list .grid-view .credential {
- width: 20%; } }
- #app-content .main_list .share {
- overflow: hidden; }
- #app-content .main_list .nopasswords {
- margin-right: auto;
- margin-left: auto;
- margin-top: 10%;
- text-align: center; }
- #app-content .main_list .belowList {
- margin-right: auto;
- margin-left: auto;
- margin-top: 1%;
- text-align: center; }
- #app-content .app_sidebar {
- height: fit-content;
- top: 55px;
+ #app-content .main_list .share {
+ overflow: hidden; }
+ #app-content .main_list .nopasswords {
+ margin-right: auto;
+ margin-left: auto;
+ margin-top: 10%;
+ text-align: center; }
+ #app-content .main_list .belowList {
+ margin-right: auto;
+ margin-left: auto;
+ margin-top: 1%;
+ text-align: center; }
+ #app-content .main_list .app_sidebar {
float: right;
padding: 10px;
overflow-y: auto; }
- #app-content .app_sidebar h2 {
+ #app-content .main_list .app_sidebar h2 {
margin-bottom: 10px;
font-weight: 400;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 90%; }
- #app-content .app_sidebar .close.icon-close {
+ #app-content .main_list .app_sidebar .close.icon-close {
position: absolute;
top: 10px;
right: 10px;
cursor: pointer; }
- #app-content .app_sidebar.item_selected {
+ #app-content .main_list .app_sidebar.item_selected {
height: 25%;
display: inline-block; }
- #app-content .app_sidebar .credential-data .compromised-details {
+ #app-content .main_list .app_sidebar .credential-data .compromised-details {
margin-top: 15px;
margin-bottom: 15px;
display: flex; }
- #app-content .app_sidebar .credential-data .compromised-details .icon {
+ #app-content .main_list .app_sidebar .credential-data .compromised-details .icon {
float: left;
height: 20px; }
- #app-content .app_sidebar .credential-data .compromised-details .text {
+ #app-content .main_list .app_sidebar .credential-data .compromised-details .text {
padding-left: 5px;
padding-right: 30px;
color: #e9322d; }
- #app-content .app_sidebar .credential-data .row {
+ #app-content .main_list .app_sidebar .credential-data .row {
margin-bottom: 11px; }
- #app-content .app_sidebar .credential-data .tags {
+ #app-content .main_list .app_sidebar .credential-data .tags {
margin-top: 15px;
margin-bottom: 15px;
float: none; }
- #app-content .app_sidebar .credential-data .tags .tag {
+ #app-content .main_list .app_sidebar .credential-data .tags .tag {
background-color: rgba(240, 240, 240, 0.9);
padding: 4px;
margin-right: 3px; }
@@ -1079,7 +1065,7 @@
opacity: 1 !important;
z-index: 140; }
.nav-trashbin a.active {
- background-image: var(--icon-delete-color-red); }
+ background-image: var(--icon-delete-e9322d); }
.nav-trashbin a .fa {
margin-right: 15px; }
@@ -1178,20 +1164,6 @@
.shared_table .fa-trash:hover {
color: #ce3702; }
-.tags {
- float: left; }
- .tags .tag {
- background-color: rgba(240, 240, 240, 0.9);
- padding: 4px;
- font-size: 11px; }
-
-tags-input .tags {
- width: 100%; }
- tags-input .tags .input {
- width: auto !important; }
- tags-input .tags .tag-item {
- color: var(--color-text-lighter); }
-
/**
* Nextcloud - passman
*
@@ -1213,9 +1185,6 @@ tags-input .tags {
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-.ng-app-frame {
- display: block !important; }
-
.spacer-top-30 {
margin-top: 30px; }
@@ -1270,17 +1239,6 @@ tags-input .tags {
h3 {
font-weight: bold; }
-.setting-group label, .setting-group input {
- display: block; }
-.setting-group input[type="text"], .setting-group input[type="password"], .setting-group textarea {
- width: 100%; }
-
-.display-grid {
- display: grid; }
-
-.password-settings-padding-left-fix {
- padding-left: 0 !important; }
-
/**
* Nextcloud - passman
*
@@ -1431,10 +1389,13 @@ h3 {
margin-left: 0 !important;
margin-right: 0 !important; }
+#app-content #app-content-wrapper #passman-controls {
+ border-bottom: 1px solid #c9c9c9; }
+
#passman-controls {
display: flow-root;
- position: absolute;
- width: calc(100vw - 300px);
+ position: sticky;
+ width: 100%;
box-sizing: border-box;
border-bottom: 1px solid #c9c9c9;
background-color: rgba(255, 255, 255, 0.95);
@@ -1443,8 +1404,7 @@ h3 {
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
- min-height: 54px !important;
- height: auto !important;
+ height: 54px !important;
padding-right: 20px !important; }
@media only screen and (max-width: 769px) {
#passman-controls .breadcrumb {
@@ -1482,9 +1442,6 @@ input[type="checkbox"] {
background-color: #f2dede;
border-color: #ebccd1; }
-.btn-danger {
- background-color: var(--color-error) !important; }
-
.ui-button.ui-widget {
min-height: unset !important; }
diff --git a/css/app.css.map b/css/app.css.map
index d6c628b5..535e4391 100644
--- a/css/app.css.map
+++ b/css/app.css.map
@@ -1,6 +1,6 @@
{
"version": 3,
-"mappings": "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",
+"mappings": "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",
"sources": ["../sass/app.scss","../sass/variables.scss","../sass/mixins.scss","../sass/partials/button.scss","../sass/partials/popovermenu.scss","../sass/partials/tabs.scss","../sass/partials/pwgen.scss","../sass/partials/icon-picker.scss","../sass/partials/share-incoming.scss","../sass/vaults.scss","../sass/credentials.scss","../sass/menu.scss","../sass/share_credential.scss","../sass/settings.scss","../sass/searchboxexpander.scss","../sass/toastify.scss"],
"names": [],
"file": "app.css"
diff --git a/js/templates.js b/js/templates.js
index 90d75e21..11b12ada 100644
--- a/js/templates.js
+++ b/js/templates.js
@@ -3,13 +3,13 @@ angular.module('templates-main', ['views/credential_revisions.html', 'views/edit
angular.module('views/credential_revisions.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/credential_revisions.html',
- '<div class="main_list" off-click-filter="\'.download-js-link, .sidebar-shown, #app-sidebar\'"><div id="passman-controls"><div class="actions creatable"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></div><div class="crumb svg"><a ng-click="cancelRevision()">{{active_vault.name}}</a></div><div class="crumb svg last"><a ng-if="storedCredential.credential_id">{{ \'showing.revisions\' | translate}} "{{revision.credential_data.label}}"</a></div></div></div></div><div class="credential-list"><div class="credential-table-wrapper"><table class="credential-table" ng-init="menuOpen = false;"><tr ng-repeat="revision in revisions | orderBy:\'-created\'" ng-click="selectRevision(revision)" ng-class="{\'selected\': selectedRevision.revision_id == revision.revision_id}"><td><span class="icon"><i class="fa fa-lock"></i> </span><span class="label">{{ \'revision.of\' | translate}} {{revision.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}} ({{revision.credential_data.label}}) <span ng-if="revision.edited_by">{{ \'revision.edited.by\' | translate}} {{revision.edited_by}}</span></span></td></tr><tr ng-show="revisions.length == 0"><td>{{ \'no.revisions\' | translate}}</td></tr></table></div><div id="app-sidebar" class="detailsView scroll-container app_sidebar" off-click="closeSelected()" ng-show="selectedRevision"><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span> <b ng-show="selectedRevision">{{ \'revision.of\' | translate}} {{selectedRevision.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</b><div class="credential-data"><div class="row" ng-show="selectedRevision.credential_data.label"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'label\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.label"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.username"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'account\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.username"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.password"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'password\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.password" secret="\'true\'"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.otp.secret"><div class="col-xs-4 col-md-3 col-lg-3">{{\'otp\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span otp-generator secret="selectedRevision.credential_data.otp.secret"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.email"><div class="col-xs-4 col-md-3 col-lg-3">{{\'email\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.email"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.url"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'url\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.url"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.description"><div class="col-xs-4 col-md-3 col-lg-3">{{\'notes\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.description_html"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.files.length > 0"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'files\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><div ng-repeat="file in selectedRevision.credential_data.files" class="link" ng-click="downloadFile(selectedRevision.credential_data, file)">{{file.filename}} ({{file.size | bytes}})</div></div></div><div class="row" ng-repeat="field in selectedRevision.credential_data.custom_fields"><div class="col-xs-4 col-md-3 col-lg-3">{{field.label}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="field.value" secret="field.secret" ng-if="field.field_type !== \'file\' || !field.field_type"></span> <span ng-if="field.field_type === \'file\'" class="link" ng-click="downloadFile(selectedCredential, field.value)">{{field.value.filename}} ({{field.value.size | bytes}})</span></div></div><div class="row" ng-show="selectedRevision.credential_data.expire_time > 0"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'expire.time\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.expire_time * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row" ng-show="selectedRevision.credential_data.changed"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'changed\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.changed * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row" ng-show="selectedRevision.credential_data.created"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'created\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row"><div class="col-xs-12"><div class="tags"><span class="tag" ng-repeat="tag in selectedRevision.credential_data.tags">{{tag.text}}</span></div></div></div></div><div ng-show="selectedRevision"><button class="button" ng-click="restoreRevision(selectedRevision)"><span class="fa fa-edit"></span> {{ \'restore.revision\' | translate}}</button> <button class="button" ng-click="deleteRevision(selectedRevision)"><span class="fa fa-trash"></span> {{ \'delete.revision\' | translate}}</button></div></div></div></div>');
+ '<div class="main_list" off-click-filter="\'.download-js-link, .sidebar-shown, #app-sidebar\'"><div id="passman-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="cancelRevision()">{{active_vault.name}}</a></div><div class="crumb svg last"><a ng-if="storedCredential.credential_id">{{ \'showing.revisions\' | translate}} "{{revision.credential_data.label}}"</a></div></div></div></div><table class="credential-table" ng-init="menuOpen = false;"><tr ng-repeat="revision in revisions | orderBy:\'-created\'" ng-click="selectRevision(revision)" ng-class="{\'selected\': selectedRevision.revision_id == revision.revision_id}"><td><span class="icon"><i class="fa fa-lock"></i> </span><span class="label">{{ \'revision.of\' | translate}} {{revision.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}} ({{revision.credential_data.label}}) <span ng-if="revision.edited_by">{{ \'revision.edited.by\' | translate}} {{revision.edited_by}}</span></span></td></tr><tr ng-show="revisions.length == 0"><td>{{ \'no.revisions\' | translate}}</td></tr></table></div><div id="app-sidebar" class="detailsView scroll-container app_sidebar" off-click="closeSelected()" ng-show="selectedRevision"><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span> <b ng-show="selectedRevision">{{ \'revision.of\' | translate}} {{selectedRevision.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</b><div class="credential-data"><div class="row" ng-show="selectedRevision.credential_data.label"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'label\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.label"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.username"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'account\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.username"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.password"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'password\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.password" secret="\'true\'"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.otp.secret"><div class="col-xs-4 col-md-3 col-lg-3">{{\'otp\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span otp-generator secret="selectedRevision.credential_data.otp.secret"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.email"><div class="col-xs-4 col-md-3 col-lg-3">{{\'email\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.email"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.url"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'url\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.url"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.description"><div class="col-xs-4 col-md-3 col-lg-3">{{\'notes\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="selectedRevision.credential_data.description_html"></span></div></div><div class="row" ng-show="selectedRevision.credential_data.files.length > 0"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'files\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9"><div ng-repeat="file in selectedRevision.credential_data.files" class="link" ng-click="downloadFile(selectedRevision.credential_data, file)">{{file.filename}} ({{file.size | bytes}})</div></div></div><div class="row" ng-repeat="field in selectedRevision.credential_data.custom_fields"><div class="col-xs-4 col-md-3 col-lg-3">{{field.label}}</div><div class="col-xs-8 col-md-9 col-lg-9"><span credential-field value="field.value" secret="field.secret" ng-if="field.field_type !== \'file\' || !field.field_type"></span> <span ng-if="field.field_type === \'file\'" class="link" ng-click="downloadFile(selectedCredential, field.value)">{{field.value.filename}} ({{field.value.size | bytes}})</span></div></div><div class="row" ng-show="selectedRevision.credential_data.expire_time > 0"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'expire.time\' | translate }}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.expire_time * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row" ng-show="selectedRevision.credential_data.changed"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'changed\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.changed * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row" ng-show="selectedRevision.credential_data.created"><div class="col-xs-4 col-md-3 col-lg-3">{{ \'created\' | translate}}</div><div class="col-xs-8 col-md-9 col-lg-9">{{selectedRevision.credential_data.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</div></div><div class="row"><div class="col-xs-12"><div class="tags"><span class="tag" ng-repeat="tag in selectedRevision.credential_data.tags">{{tag.text}}</span></div></div></div></div><div ng-show="selectedRevision"><button class="button" ng-click="restoreRevision(selectedRevision)"><span class="fa fa-edit"></span> {{ \'restore.revision\' | translate}}</button> <button class="button" ng-click="deleteRevision(selectedRevision)"><span class="fa fa-trash"></span> {{ \'delete.revision\' | translate}}</button></div></div>');
}]);
angular.module('views/edit_credential.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/edit_credential.html',
- '<div id="passman-controls"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></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 class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title }}</li></ul></nav><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>');
+ '<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 class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title }}</li></ul></nav><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) {
@@ -21,7 +21,7 @@ angular.module('views/partials/credential_template.html', []).run(['$templateCac
angular.module('views/partials/forms/edit_credential/basics.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/partials/forms/edit_credential/basics.html',
- '<div class="row"><div class="col-xs-12 col-md-6"><div class="setting-group"><label>{{ \'label\' | translate}}</label><div class="icon-label"><div class="icon-picker" icon-picker="storedCredential"></div><input type="text" class="form-control" ng-model="storedCredential.label"></div></div><div class="setting-group"><label>{{ \'username\' | translate}}</label> <input type="text" ng-model="storedCredential.username"></div><div class="setting-group"><label>{{ \'email\' | translate}}</label> <input type="text" ng-model="storedCredential.email"></div><div class="setting-group"><label>{{ \'password\' | translate}}</label><div><password-gen ng-model="storedCredential.password" settings="pwSettings" callback="pwGenerated"></password-gen><ng-password-meter password="storedCredential.password"></ng-password-meter></div></div><div class="setting-group"><label>{{ \'password.r\' | translate}}</label> <input type="password" ng-model="storedCredential.password_repeat"></div><div class="setting-group"><label>{{ \'url\' | translate}}</label> <input type="text" ng-model="storedCredential.url"></div></div><div class="col-xs-12 col-md-6"><div class="setting-group"><label>{{ \'notes\' | translate}}</label> <textarea class="credential_textarea" ng-model="storedCredential.description"></textarea></div><label>{{ \'add.tag\' | translate}}</label><div class="tags_input"><tags-input ng-model="storedCredential.tags" replace-spaces-with-dashes="false"><auto-complete source="getTags($query)" min-length="0"></auto-complete></tags-input></div></div><div class="col-xs-12 col-md-6"><button class="btn-danger compromised-button" ng-click="compromise()">{{ \'compromised.label\' | translate}}</button><div class="compromised-details" ng-show="storedCredential.compromised"><div class="icon-error-color icon"></div><div class="text">{{ \'compromised.warning\' | translate }}</div></div></div></div>');
+ '<div class="row"><div class="col-xs-12 col-md-6"><label>{{ \'label\' | translate}}</label><div class="icon-label"><div class="icon-picker" icon-picker="storedCredential"></div><input type="text" class="form-control" ng-model="storedCredential.label"></div><label>{{ \'username\' | translate}}</label><div><input type="text" ng-model="storedCredential.username"></div><label>{{ \'email\' | translate}}</label><div><input type="text" ng-model="storedCredential.email"></div><label>{{ \'password\' | translate}}</label><div><password-gen ng-model="storedCredential.password" settings="pwSettings" callback="pwGenerated"></password-gen><ng-password-meter password="storedCredential.password"></ng-password-meter></div><div><label>{{ \'password.r\' | translate}}</label> <input type="password" ng-model="storedCredential.password_repeat"></div><label>{{ \'url\' | translate}}</label><div><input type="text" ng-model="storedCredential.url"></div></div><div class="col-xs-12 col-md-6"><label>{{ \'notes\' | translate}}</label><div><textarea class="credential_textarea" ng-model="storedCredential.description"></textarea></div><label>{{ \'add.tag\' | translate}}</label><div class="tags_input"><tags-input ng-model="storedCredential.tags" replace-spaces-with-dashes="false"><auto-complete source="getTags($query)" min-length="0"></auto-complete></tags-input></div></div><div class="col-xs-12 col-md-6"><button class="compromised-button" ng-click="compromise()">{{ \'compromised.label\' | translate}}</button><div class="compromised-details" ng-show="storedCredential.compromised"><div class="icon-error-color icon"></div><div class="text">{{ \'compromised.warning\' | translate }}</div></div></div></div>');
}]);
angular.module('views/partials/forms/edit_credential/custom_fields.html', []).run(['$templateCache', function($templateCache) {
@@ -33,7 +33,7 @@ angular.module('views/partials/forms/edit_credential/custom_fields.html', []).ru
angular.module('views/partials/forms/edit_credential/files.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/partials/forms/edit_credential/files.html',
- '<div class="row file_tab"><div class="col-xs-12 col-md-6"><input class="inputfile" id="file" type="file" file-select success="fileLoaded" error="fileLoadError" progress="fileSelectProgress"> <label for="file"><i class="fa fa-upload" aria-hidden="true"></i> {{\'select.file\' | translate}}</label> <span ng-if="fileprogress.file_percent > 0"><div progress-bar="fileprogress.file_percent"></div></span></div></div><div class="row files" ng-if="storedCredential.files.length > 0"><div class="col-xs-12 table"><table><thead><tr><th class="field_label">{{ \'file.name\' | translate }}</th><th class="field_value">{{ \'upload.date\' | translate}}</th><th class="field_secret">{{ \'size\' | translate}}</th><th class="field_actions">{{ \'actions\' | translate}}</th></tr></thead><tr ng-repeat="file in storedCredential.files"><td><a href="#" editable-text="file.filename">{{ file.filename || "empty" }}</a></td><td>{{file.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td><td>{{file.size | bytes}}</td><td class="field_actions"><i class="fa fa-trash" ng-click="deleteFile(file)"></i></td></tr></table></div></div>');
+ '<div class="row file_tab"><div class="col-xs-12 col-md-6"><input class="inputfile" id="file" type="file" file-select success="fileLoaded" error="fileLoadError" progress="fileSelectProgress"> <label for="file"><i class="fa fa-upload" aria-hidden="true"></i> {{\'select.file\' | translate}}</label> <span ng-if="fileprogress.file_percent > 0"><div progress-bar="fileprogress.file_percent"></div></span></div></div><div class="row files" ng-if="storedCredential.files.length > 0"><div class="col-xs-12 table"><table><thead use-theme><tr><th class="field_label">{{ \'file.name\' | translate }}</th><th class="field_value">{{ \'upload.date\' | translate}}</th><th class="field_secret">{{ \'size\' | translate}}</th><th class="field_actions">{{ \'actions\' | translate}}</th></tr></thead><tr ng-repeat="file in storedCredential.files"><td><a href="#" editable-text="file.filename">{{ file.filename || "empty" }}</a></td><td>{{file.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</td><td>{{file.size | bytes}}</td><td class="field_actions"><i class="fa fa-trash" ng-click="deleteFile(file)"></i></td></tr></table></div></div>');
}]);
angular.module('views/partials/forms/edit_credential/otp.html', []).run(['$templateCache', function($templateCache) {
@@ -45,19 +45,19 @@ angular.module('views/partials/forms/edit_credential/otp.html', []).run(['$templ
angular.module('views/partials/forms/edit_credential/password.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/partials/forms/edit_credential/password.html',
- '<div class="row"><div class="col-xs-12 col-md-5 col-lg-5"><div class="setting-group"><label>{{ \'password\' | translate}}</label><div><password-gen ng-model="storedCredential.password" settings="pwSettings" callback="pwGenerated"></password-gen><ng-password-meter password="storedCredential.password"></ng-password-meter></div></div><div class="setting-group"><label>{{ \'password.r\' | translate}}</label> <input type="password" ng-model="storedCredential.password_repeat"></div><label>{{ \'expire.date\' | translate}}</label><div><span datetime-picker ng-model="storedCredential.expire_time" class="link" future-only ng-show="storedCredential.expire_time == 0" close-on-select="false">{{\'no.expire.date\' | translate}}</span> <span datetime-picker ng-model="storedCredential.expire_time" class="link" future-only ng-show="storedCredential.expire_time != 0" close-on-select="false">{{ storedCredential.expire_time | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</span></div><label>{{ \'renew.interval\' | translate}}</label><div><input type="number" ng-model="renewIntervalValue" min="0" ng-change="updateInterval(renewIntervalValue, renewIntervalModifier)"> <select ng-model="renewIntervalModifier" ng-change="updateInterval(renewIntervalValue, renewIntervalModifier)"><option value="0">{{ \'disabled\' | translate}}</option><option value="86400">{{ \'days\' | translate }}</option><option value="604800">{{ \'weeks\' | translate}}</option><option value="2592000">{{ \'months\' | translate}}</option><option value="31622400">{{ \'years\' | translate}}</option></select></div></div><div class="col-xs-12 col-md-7 col-lg-7"><b>{{ \'generation.settings\' | translate}}</b><div class="row"><div class="password_settings"><div class="col-xs-12 col-sm-5 col-lg-4"><label><span class="label">{{ \'password.generation.length\' | translate}}</span><br><input type="number" ng-model="pwSettings.length" min="1"></label><br><label><span class="label">{{\'password.generation.min_digits\' | translate}}</span><br><input type="number" ng-model="pwSettings.minimumDigitCount" min="0"></label></div><div class="col-xs-12 col-sm-6 col-lg-6 display-grid"><input id="pwSettings.useUppercase" class="checkbox" type="checkbox" ng-model="pwSettings.useUppercase"> <label for="pwSettings.useUppercase">{{\'password.generation.uppercase\' | translate}}</label> <input id="pwSettings.useLowercase" class="checkbox" type="checkbox" ng-model="pwSettings.useLowercase"> <label for="pwSettings.useLowercase">{{\'password.generation.lowercase\' | translate}}</label> <input id="pwSettings.useDigits" class="checkbox" type="checkbox" ng-model="pwSettings.useDigits"> <label for="pwSettings.useDigits">{{\'password.generation.digits\' | translate}}</label> <input id="pwSettings.useSpecialChars" class="checkbox" type="checkbox" ng-model="pwSettings.useSpecialChars"> <label for="pwSettings.useSpecialChars">{{\'password.generation.special\' | translate}}</label> <input id="pwSettings.avoidAmbiguousCharacters" class="checkbox" type="checkbox" ng-model="pwSettings.avoidAmbiguousCharacters"> <label for="pwSettings.avoidAmbiguousCharacters">{{\'password.generation.ambiguous\' | translate}}</label> <input id="pwSettings.requireEveryCharType" class="checkbox" type="checkbox" ng-model="pwSettings.requireEveryCharType"> <label for="pwSettings.requireEveryCharType">{{\'password.generation.require_same\' | translate}}</label></div></div></div></div></div>');
+ '<div class="row"><div class="col-xs-12 col-md-5 col-lg-5"><label>{{ \'password\' | translate}}</label><div><password-gen ng-model="storedCredential.password" settings="pwSettings" callback="pwGenerated"></password-gen><ng-password-meter password="storedCredential.password"></ng-password-meter></div><label>{{ \'password.r\' | translate}}</label><div><input type="password" ng-model="storedCredential.password_repeat"></div><label>{{ \'expire.date\' | translate}}</label><div><span datetime-picker ng-model="storedCredential.expire_time" class="link" future-only ng-show="storedCredential.expire_time == 0" close-on-select="false">{{\'no.expire.date\' | translate}}</span> <span datetime-picker ng-model="storedCredential.expire_time" class="link" future-only ng-show="storedCredential.expire_time != 0" close-on-select="false">{{ storedCredential.expire_time | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</span></div><label>{{ \'renew.interval\' | translate}}</label><div><input type="number" ng-model="renewIntervalValue" min="0" ng-change="updateInterval(renewIntervalValue, renewIntervalModifier)"> <select ng-model="renewIntervalModifier" ng-change="updateInterval(renewIntervalValue, renewIntervalModifier)"><option value="0">{{ \'disabled\' | translate}}</option><option value="86400">{{ \'days\' | translate }}</option><option value="604800">{{ \'weeks\' | translate}}</option><option value="2592000">{{ \'months\' | translate}}</option><option value="31622400">{{ \'years\' | translate}}</option></select></div></div><div class="col-xs-12 col-md-7 col-lg-7"><b>{{ \'generation.settings\' | translate}}</b><div class="row"><div class="password_settings"><div class="col-xs-12 col-sm-5 col-lg-4"><label><span class="label">{{ \'password.generation.length\' | translate}}</span><br><input type="number" ng-model="pwSettings.length" min="1"></label> <label><span class="label">{{\'password.generation.min_digits\' | translate}}</span><br><input type="number" ng-model="pwSettings.minimumDigitCount" min="0"></label></div><div class="col-xs-12 col-sm-6 col-lg-6"><label><input type="checkbox" ng-model="pwSettings.useUppercase"> <span class="label sm">{{ \'password.generation.uppercase\' | translate}}</span></label> <label><input ng-model="pwSettings.useLowercase" type="checkbox" id="lower"> <span class="label sm">{{ \'password.generation.lowercase\' | translate}}</span></label> <label><input ng-model="pwSettings.useDigits" type="checkbox" id="digits"> <span class="label sm">{{ \'password.generation.digits\' | translate}}</span></label> <label><input type="checkbox" id="special" ng-model="pwSettings.useSpecialChars"> <span class="label sm">{{ \'password.generation.special\' | translate}}</span></label> <label><input type="checkbox" id="ambig" ng-model="pwSettings.avoidAmbiguousCharacters"> <span class="label sm">{{ \'password.generation.ambiguous\' | translate}}</span></label> <label><input type="checkbox" ng-model="pwSettings.requireEveryCharType" id="reqevery"> <span class="label sm">{{ \'password.generation.require_same\' | translate}}</span></label></div></div></div></div></div>');
}]);
angular.module('views/partials/forms/settings/export.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/partials/forms/settings/export.html',
- '<div ng-controller="ExportCtrl"><div class="row"><div class="col-xs-6"><label>{{ \'export.type\' | translate}} <select ng-init="raw" ng-model="raw" ng-change="setExporter(raw)"><option ng-repeat="exporter in available_exporters" value="{{exporter}}">{{exporter.name}}</option></select></label><div><b>{{selectedExporter.description}}</b></div><div ng-show="selectedExporter" class="nopadding setting-group"><label>{{ \'export.confirm.text\' | translate }}</label> <input type="password" ng-model="confirm_key"><br><div class="alert alert-warning" ng-show="error">{{error}}</div></div><div class="clearfix"><button class="button" ng-click="startExport()" ng-if="selectedExporter">{{ \'export\' | translate}}</button></div></div><div class="col-xs-6"><div ng-if="log" class="import_log"><textarea id="import_log" auto-scroll="log">{{log.join(\'\\n\')}}</textarea></div></div></div></div>');
+ '<div ng-controller="ExportCtrl"><div class="row"><div class="col-xs-6"><label>{{ \'export.type\' | translate}} <select ng-init="raw" ng-model="raw" ng-change="setExporter(raw)"><option ng-repeat="exporter in available_exporters" value="{{exporter}}">{{exporter.name}}</option></select></label><div><b>{{selectedExporter.description}}</b></div><div ng-show="selectedExporter" class="nopadding"><label>{{ \'export.confirm.text\' | translate }}</label> <input type="password" ng-model="confirm_key"><br><div class="alert alert-warning" ng-show="error">{{error}}</div></div><div class="clearfix"><button class="button" ng-click="startExport()" ng-if="selectedExporter">{{ \'export\' | translate}}</button></div></div><div class="col-xs-6"><div ng-if="log" class="import_log"><textarea id="import_log" auto-scroll="log">{{log.join(\'\\n\')}}</textarea></div></div></div></div>');
}]);
angular.module('views/partials/forms/settings/general_settings.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/partials/forms/settings/general_settings.html',
- '<div class="row"><div class="col-xs-12 col-md-6"><div class="setting-group"><h3>{{ \'rename.vault\' | translate}}</h3><label>{{ \'rename.vault.name\' | translate}}</label> <input type="text" ng-model="$parent.new_vault_name"> <button ng-click="saveVaultSettings()">{{ \'change\' | translate}}</button></div><div class="setting-group"><h3>{{ \'change.vault.key\' | translate}}</h3><label>{{ \'old.vault.password\' | translate}}</label> <input type="password" ng-model="oldVaultPass"> <label>{{ \'new.vault.password\' | translate}}</label> <input type="password" ng-model="newVaultPass"><ng-password-meter password="newVaultPass" score="vault_key_score"></ng-password-meter><label>{{ \'new.vault.pw.r\' | translate}}</label> <input type="password" ng-model="newVaultPass2"><div ng-show="error || vault_key_score.score < minimal_value_key_strength" class="error"><ul><li>{{error}}</li><li ng-show="vault_key_score.score < minimal_value_key_strength">{{\'min.vault.key.strength\' | translate:required_score}}</li></ul></div><button ng-click="changeVaultPassword(oldVaultPass,newVaultPass,newVaultPass2)" ng-disabled="vault_key_score.score < minimal_value_key_strength">{{ \'change\' | translate}}</button><div ng-show="change_pw.total > 0">{{\'warning.leave\' | translate}}<br>{{ \'processing\' | translate}} {{cur_state.process}}<div progress-bar="cur_state.calculated" index="cur_state.current" total="cur_state.total"></div>{{ \'total.progress\' | translate}}<div progress-bar="change_pw.percent" index="change_pw.done" total="change_pw.total"></div></div></div><div class="setting-group"><h3>{{\'delete.vault\' | translate}}</h3><b>{{ \'vault.remove.notice\' | translate }}</b> <label>{{\'vault.password\' | translate}}</label> <input type="password" ng-model="$parent.delete_vault_password"> <input id="confirmVaultDelete" class="checkbox" type="checkbox" ng-model="$parent.confirm_vault_delete"> <label for="confirmVaultDelete">{{\'delete.vault.checkbox\' | translate}}</label> <button class="btn btn-danger" ng-click="delete_vault()">{{\'delete.vault.confirm\' | translate}}</button><div ng-show="remove_pw">{{\'deleting.pw\' | translate:translationData}}<div progress-bar="remove_pw.percent" index="remove_pw.done" total="remove_pw.total"></div></div></div></div><div class="col-xs-12 col-md-6"><h3>{{ \'about.passman\' | translate}}</h3><p>{{ \'version\' | translate}}: <b>{{passman_version}}</b><br><br><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6YS8F97PETVU2" target="_blank" class="link">{{ \'donate.support\' | translate}}</a><br></p><h3>{{ \'bookmarklet\' | translate}}</h3><div><p>{{ \'bookmarklet.info1\' | translate}}<br>{{ \'bookmarklet.info2\' | translate}}<br></p></div><div><p ng-bind-html="bookmarklet" style="margin-top: 5px"></p></div></div></div>');
+ '<div class="row"><div class="col-xs-12 col-md-6"><h3>{{ \'rename.vault\' | translate}}</h3><label>{{ \'rename.vault.name\' | translate}}</label> <input type="text" ng-model="$parent.new_vault_name"> <button ng-click="saveVaultSettings()">{{ \'change\' | translate}}</button><h3>{{ \'change.vault.key\' | translate}}</h3><label>{{ \'old.vault.password\' | translate}}</label> <input type="password" ng-model="oldVaultPass"> <label>{{ \'new.vault.password\' | translate}}</label> <input type="password" ng-model="newVaultPass"><ng-password-meter password="newVaultPass" score="vault_key_score"></ng-password-meter><label>{{ \'new.vault.pw.r\' | translate}}</label> <input type="password" ng-model="newVaultPass2"><div ng-show="error || vault_key_score.score < minimal_value_key_strength" class="error"><ul><li>{{error}}</li><li ng-show="vault_key_score.score < minimal_value_key_strength">{{\'min.vault.key.strength\' | translate:required_score}}</li></ul></div><button ng-click="changeVaultPassword(oldVaultPass,newVaultPass,newVaultPass2)" ng-disabled="vault_key_score.score < minimal_value_key_strength">{{ \'change\' | translate}}</button><div ng-show="change_pw.total > 0">{{\'warning.leave\' | translate}}<br>{{ \'processing\' | translate}} {{cur_state.process}}<div progress-bar="cur_state.calculated" index="cur_state.current" total="cur_state.total"></div>{{ \'total.progress\' | translate}}<div progress-bar="change_pw.percent" index="change_pw.done" total="change_pw.total"></div></div><h3>{{\'delete.vault\' | translate}}</h3><b>{{ \'vault.remove.notice\' | translate }}</b> <label>{{\'vault.password\' | translate}}</label> <input type="password" ng-model="$parent.delete_vault_password"> <input type="checkbox" ng-model="$parent.confirm_vault_delete"> {{\'delete.vault.checkbox\' | translate}}<br><button class="btn btn-danger" ng-click="delete_vault()">{{\'delete.vault.confirm\' | translate}}</button><div ng-show="remove_pw">{{\'deleting.pw\' | translate:translationData}}<div progress-bar="remove_pw.percent" index="remove_pw.done" total="remove_pw.total"></div></div></div><div class="col-xs-12 col-md-6"><h3>{{ \'about.passman\' | translate}}</h3><p>{{ \'version\' | translate}}: <b>{{passman_version}}</b><br><br><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6YS8F97PETVU2" target="_blank" class="link">{{ \'donate.support\' | translate}}</a><br></p><h3>{{ \'bookmarklet\' | translate}}</h3><div><p>{{ \'bookmarklet.info1\' | translate}}<br>{{ \'bookmarklet.info2\' | translate}}<br></p></div><div><p ng-bind-html="bookmarklet" style="margin-top: 5px"></p></div></div></div>');
}]);
angular.module('views/partials/forms/settings/generic_csv_import.html', []).run(['$templateCache', function($templateCache) {
@@ -75,7 +75,7 @@ angular.module('views/partials/forms/settings/import.html', []).run(['$templateC
angular.module('views/partials/forms/settings/password_settings.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/partials/forms/settings/password_settings.html',
- '<div class="password_settings"><div class="col-xs-12 col-sm-5 col-lg-4 password-settings-padding-left-fix"><div class="setting-group"><label><span class="label">{{ \'password.generation.length\' | translate}}</span><br><input type="number" ng-model="vault_settings.pwSettings.length" min="1"></label></div><div class="setting-group"><label><span class="label">{{ \'password.generation.min_digits\' | translate}}</span><br><input type="number" ng-model="vault_settings.pwSettings.minimumDigitCount" min="0"></label></div><input id="pwSettings.generateOnCreate" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.generateOnCreate"> <label for="pwSettings.generateOnCreate">{{\'password.generation.on_create\' | translate}}</label></div><div class="col-xs-12 col-sm-6 col-lg-6 display-grid"><input id="pwSettings.useUppercase" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.useUppercase"> <label for="pwSettings.useUppercase">{{\'password.generation.uppercase\' | translate}}</label> <input id="pwSettings.useLowercase" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.useLowercase"> <label for="pwSettings.useLowercase">{{\'password.generation.lowercase\' | translate}}</label> <input id="pwSettings.useDigits" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.useDigits"> <label for="pwSettings.useDigits">{{\'password.generation.digits\' | translate}}</label> <input id="pwSettings.useSpecialChars" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.useSpecialChars"> <label for="pwSettings.useSpecialChars">{{\'password.generation.special\' | translate}}</label> <input id="pwSettings.avoidAmbiguousCharacters" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.avoidAmbiguousCharacters"> <label for="pwSettings.avoidAmbiguousCharacters">{{\'password.generation.ambiguous\' | translate}}</label> <input id="pwSettings.requireEveryCharType" class="checkbox" type="checkbox" ng-model="vault_settings.pwSettings.requireEveryCharType"> <label for="pwSettings.requireEveryCharType">{{\'password.generation.require_same\' | translate}}</label></div></div><div class="row"><div class="col-xs-12"><button class="button" ng-click="saveVaultSettings()">{{ \'save\' | translate}}</button></div></div>');
+ '<div class="password_settings"><div class="col-xs-12 col-sm-5 col-lg-4 password-settings-padding-left-fix"><label><span class="label">{{ \'password.generation.length\' | translate}}</span><br><input type="number" ng-model="vault_settings.pwSettings.length" min="1"></label> <label><span class="label">{{ \'password.generation.min_digits\' | translate}}</span><br><input type="number" ng-model="vault_settings.pwSettings.minimumDigitCount" min="0"></label> <label><span class="label">Generate password on creation</span><br><input type="checkbox" ng-model="vault_settings.pwSettings.generateOnCreate" min="0"></label></div><div class="col-xs-12 col-sm-6 col-lg-6"><label><input type="checkbox" ng-model="vault_settings.pwSettings.useUppercase"> <span class="label sm">{{ \'password.generation.uppercase\' | translate}}</span></label> <label><input ng-model="vault_settings.pwSettings.useLowercase" type="checkbox" id="lower"> <span class="label sm">{{ \'password.generation.lowercase\' | translate}}</span></label> <label><input ng-model="vault_settings.pwSettings.useDigits" type="checkbox" id="digits"> <span class="label sm">{{ \'password.generation.digits\' | translate}}</span></label> <label><input type="checkbox" id="special" ng-model="vault_settings.pwSettings.useSpecialChars"> <span class="label sm">{{ \'password.generation.special\' | translate}}</span></label> <label><input type="checkbox" id="ambig" ng-model="vault_settings.pwSettings.avoidAmbiguousCharacters"> <span class="label sm">{{ \'password.generation.ambiguous\' | translate}}</span></label> <label><input type="checkbox" ng-model="vault_settings.pwSettings.requireEveryCharType" id="reqevery"> <span class="label sm">{{ \'password.generation.require_same\' | translate}}</span></label></div></div><div class="row"><div class="col-xs-12"><button class="button" ng-click="saveVaultSettings()">{{ \'save\' | translate}}</button></div></div>');
}]);
angular.module('views/partials/forms/settings/sharing.html', []).run(['$templateCache', function($templateCache) {
@@ -101,7 +101,7 @@ angular.module('views/partials/forms/share_credential/basics.html', []).run(['$t
angular.module('views/partials/forms/share_credential/link_sharing.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/partials/forms/share_credential/link_sharing.html',
- '<div class="row"><div class="col-xs-12 col-md-6"><input id="linkSharing.enabled" class="checkbox" type="checkbox" ng-model="share_settings.linkSharing.enabled"> <label for="linkSharing.enabled">{{\'enable.link.sharing\' | translate}}</label><br><div class="pull-left col-xs-6 nopadding"><span credential-field value="share_link" secret="false" use-input="true" input-placeholder="\'click.share\' | translate"></span></div><div ng-show="share_settings.linkSharing.enabled" class="clearfix">{{ \'share.until.date\' | translate}} <span datetime-picker ng-model="share_settings.linkSharing.settings.expire_time" class="link" future-only close-on-select="false" timestamp="true">{{ share_settings.linkSharing.settings.expire_time | date:\'dd-MM-yyyy @ HH:mm:ss\' }}</span></div><div ng-show="share_settings.linkSharing.enabled">{{ \'expire.views\' | translate}}<br><input type="number" ng-model="share_settings.linkSharing.settings.expire_views"></div><div ng-if="share_settings.linkSharing.enabled"><table><tr><td><input type="checkbox" ng-click="setPermission(share_settings.linkSharing.settings.acl, default_permissions.permissions.FILES)" ng-checked="hasPermission(share_settings.linkSharing.settings.acl, default_permissions.permissions.FILES)"></td><td>{{ \'show.files\' | translate}}</td></tr></table></div></div></div>');
+ '<div class="row"><div class="col-xs-12 col-md-6"><label><input type="checkbox" ng-model="share_settings.linkSharing.enabled"> {{ \'enable.link.sharing\' | translate}}.</label><br><div class="pull-left col-xs-6 nopadding"><span credential-field value="share_link" secret="false" use-input="true" input-placeholder="\'click.share\' | translate"></span></div><div ng-show="share_settings.linkSharing.enabled" class="clearfix">{{ \'share.until.date\' | translate}} <span datetime-picker ng-model="share_settings.linkSharing.settings.expire_time" class="link" future-only close-on-select="false" timestamp="true">{{ share_settings.linkSharing.settings.expire_time | date:\'dd-MM-yyyy @ HH:mm:ss\' }}</span></div><div ng-show="share_settings.linkSharing.enabled">{{ \'expire.views\' | translate}}<br><input type="number" ng-model="share_settings.linkSharing.settings.expire_views"></div><div ng-if="share_settings.linkSharing.enabled"><table><tr><td><input type="checkbox" ng-click="setPermission(share_settings.linkSharing.settings.acl, default_permissions.permissions.FILES)" ng-checked="hasPermission(share_settings.linkSharing.settings.acl, default_permissions.permissions.FILES)"></td><td>{{ \'show.files\' | translate}}</td></tr></table></div></div></div>');
}]);
angular.module('views/partials/icon-picker.html', []).run(['$templateCache', function($templateCache) {
@@ -119,20 +119,20 @@ 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="passman-controls"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></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 class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title | translate }}</li></ul></nav><div class="tab_container settings edit_credential" use-theme type="\'border-top-color\'"><div ng-include="currentTab.url"></div></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 class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title | translate }}</li></ul></nav><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) {
'use strict';
$templateCache.put('views/share_credential.html',
- '<div id="passman-controls"><div class="actions creatable"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></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">{{ \'share.credential\' | translate }} {{ storedCredential.label }}</a></div></div></div></div><div class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title | translate }}</li></ul></nav><div class="tab_container share_credential" ng-show="currentTab"><div ng-include="currentTab.url"></div><button ng-click="applyShare()" ng-disabled="share_settings.linkSharing.enabled === false && share_settings.credentialSharedWithUserAndGroup.length === 0">{{ \'share\' | translate }}</button> <button ng-click="cancel()">{{ \'cancel\' | translate }}</button> <button class="btn btn-danger" ng-disabled="!storedCredential.shared_key" ng-click="unshareCredential(storedCredential)">{{ \'unshare\' | translate }}</button></div></div>');
+ '<div id="passman-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">{{ \'share.credential\' | translate }} {{ storedCredential.label }}</a></div></div></div></div><div class="app-sidebar-tabs"><nav class="app-sidebar-tabs__nav"><ul><li ng-repeat="tab in tabs track by $index" class="app-sidebar-tabs__tab" ng-class="isActiveTab(tab)? \'active\' : \'inactive\'" ng-click="onClickTab(tab)">{{ tab.title | translate }}</li></ul></nav><div class="tab_container share_credential" ng-show="currentTab"><div ng-include="currentTab.url"></div><button ng-click="applyShare()" ng-disabled="share_settings.linkSharing.enabled === false && share_settings.credentialSharedWithUserAndGroup.length === 0">{{ \'share\' | translate }}</button> <button ng-click="cancel()">{{ \'cancel\' | translate }}</button> <button class="btn btn-danger" ng-disabled="!storedCredential.shared_key" ng-click="unshareCredential(storedCredential)">{{ \'unshare\' | translate }}</button></div></div>');
}]);
angular.module('views/show_vault.html', []).run(['$templateCache', function($templateCache) {
'use strict';
$templateCache.put('views/show_vault.html',
- '<div class="main_list" off-click-filter="\'.download-js-link, .sidebar-shown, #app-sidebar\'"><div id="passman-controls" ng-class="{ \'sidebar-shown\': selectedCredential }"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></div><div class="crumb svg" ng-click="clearState()"><a>{{active_vault.name}}</a></div></div><div class="addCredential" ng-hide="delete_time>0"><button ng-click="addCredential()"><i class="fa fa-plus"></i></button></div><div class="addCredential" ng-hide="delete_time>0"><button ng-click="refresh()"><i class="fa fa-refresh"></i></button></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 class="credential-list"><div class="credential-table-wrapper" 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 ng-class="{\'compromised\': credential.compromised }"><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.icon.type !== false)"><credential-icon credential="credential"></credential-icon></span><span class="icon" ng-if="!credential.url && (!credential.icon || (credential.icon && !credential.icon.type))"><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> <span ng-if="credential.compromised" class="compromised-list"><i class="icon-error icon"></i> <span class="text">{{ \'compromised.warning.list\' | translate}}</span></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)"><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 ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length==0 && filterOptions.filterText==\'\'" class="nopasswords" ng-hide="delete_time>0"><b>{{\'vault.hint.hello\' | translate}}</b><br><div>{{\'vault.hint.hello.add\' | translate}}</div><div class=""><button ng-click="addCredential()">+</button></div></div><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length>0" class="nopasswords" ng-hide="delete_time>0"><div>{{ \'vault.hint.list.notags\' | translate}}</div></div><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length==0 && filterOptions.filterText!=\'\'" class="nopasswords" ng-hide="delete_time>0"><div>{{ \'vault.hint.list.nosearch\' | translate}} <b>\'{{filterOptions.filterText}}\'</b></div></div><div class="nopasswords" ng-if="no_credentials_label.s_good" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nogood\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.s_medium" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nomedium\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.s_low" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nobad\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.expired" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.noexpired\' | translate}}</div></div><div class="nopasswords" ng-if="getListSizes().listsize_deleted==0" ng-hide="delete_time==0"><div>{{ \'vault.hint.list.nodeleted\' | translate}}</div></div></div><div id="app-sidebar" class="app_sidebar" ng-show="selectedCredential" off-click="closeSelected()"><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span><div class="sidebar"><span class="icon sidebar-icon" ng-if="selectedCredential.url || (selectedCredential.icon && selectedCredential.icon.type !== false)"><credential-icon credential="selectedCredential"></credential-icon></span><span class="icon sidebar-icon" ng-if="!selectedCredential.url && (!selectedCredential.icon || (selectedCredential.icon && !selectedCredential.icon.type))"><i class="fa fa-lock fa-3x icon-image-size"></i></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></div><div class="share_popup" style="display: none" title="{{ \'sharereq.title\' | translate }}"><p>{{ \'sharereq.line1\' | translate}} {{ \'sharereq.line2\' | translate}}</p><br><table class="table"><thead><tr><td><b>{{ \'label\' | translate}}</b></td><td><b>{{ \'permissions\' | translate}}</b></td><td><b>{{ \'received.from\' | translate}}</b></td><td><b>{{ \'date\' | translate}}</b></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)"><b>{{ \'accept\' | translate}}</b></span> | <span class="link" ng-click="declineShareRequest(share_request)">{{ \'decline\' | translate}}</span></td></tr></table></div>');
+ '<div class="main_list" off-click-filter="\'.download-js-link, .sidebar-shown, #app-sidebar\'"><div id="passman-controls" ng-class="{ \'sidebar-shown\': selectedCredential }"><div class="breadcrumb"><div class="breadcrumb"><div class="crumb svg crumbhome"><a ng-click="logout()" class="icon-home">Home</a> <span style="display: none;"></span></div><div class="crumb svg" ng-click="clearState()"><a>{{active_vault.name}}</a></div></div><div class="addCredential" ng-hide="delete_time>0"><button ng-click="addCredential()"><i class="fa fa-plus"></i></button></div><div class="addCredential" ng-hide="delete_time>0"><button ng-click="refresh()"><i class="fa fa-refresh"></i></button></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 ng-class="{\'compromised\': credential.compromised }"><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.icon.type !== false)"><credential-icon credential="credential"></credential-icon></span><span class="icon" ng-if="!credential.url && (!credential.icon || (credential.icon && !credential.icon.type))"><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> <span ng-if="credential.compromised" class="compromised-list"><i class="icon-error icon"></i> <span class="text">{{ \'compromised.warning.list\' | translate}}</span></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><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 ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length==0 && filterOptions.filterText==\'\'" class="nopasswords" ng-hide="delete_time>0"><b>{{\'vault.hint.hello\' | translate}}</b><br><div>{{\'vault.hint.hello.add\' | translate}}</div><div class=""><button ng-click="addCredential()">+</button></div></div><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length>0" class="nopasswords" ng-hide="delete_time>0"><div>{{ \'vault.hint.list.notags\' | translate}}</div></div><div ng-if="getListSizes().listsize_wout_deleted==0 && no_credentials_label.all && !show_spinner && selectedtags.length==0 && filterOptions.filterText!=\'\'" class="nopasswords" ng-hide="delete_time>0"><div>{{ \'vault.hint.list.nosearch\' | translate}} <b>\'{{filterOptions.filterText}}\'</b></div></div><div class="nopasswords" ng-if="no_credentials_label.s_good" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nogood\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.s_medium" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nomedium\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.s_low" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.nobad\' | translate}}</div></div><div class="nopasswords" ng-if="no_credentials_label.expired" ng-hide="getListSizes().listsize_wout_deleted>0"><div>{{ \'vault.hint.list.noexpired\' | translate}}</div></div><div class="nopasswords" ng-if="getListSizes().listsize_deleted==0" ng-hide="delete_time==0"><div>{{ \'vault.hint.list.nodeleted\' | translate}}</div></div></div></div><div id="app-sidebar" class="app_sidebar" ng-show="selectedCredential" off-click="closeSelected()"><span class="close icon-close" ng-click="closeSelected()" alt="Close"></span><div class="sidebar"><span class="icon sidebar-icon" ng-if="selectedCredential.url || (selectedCredential.icon && selectedCredential.icon.type !== false)"><credential-icon credential="selectedCredential"></credential-icon></span><span class="icon sidebar-icon" ng-if="!selectedCredential.url && (!selectedCredential.icon || (selectedCredential.icon && !selectedCredential.icon.type))"><i class="fa fa-lock fa-3x icon-image-size"></i></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" title="{{ \'sharereq.title\' | translate }}"><p>{{ \'sharereq.line1\' | translate}} {{ \'sharereq.line2\' | translate}}</p><br><table class="table"><thead><tr><td><b>{{ \'label\' | translate}}</b></td><td><b>{{ \'permissions\' | translate}}</b></td><td><b>{{ \'received.from\' | translate}}</b></td><td><b>{{ \'date\' | translate}}</b></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)"><b>{{ \'accept\' | translate}}</b></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) {
diff --git a/sass/app.scss b/sass/app.scss
index 61f8b3d5..5e543704 100644
--- a/sass/app.scss
+++ b/sass/app.scss
@@ -63,22 +63,26 @@
}
}
+#app-content #app-content-wrapper #passman-controls {
+ border-bottom: 1px solid #c9c9c9;
+}
+
#passman-controls {
- display: flow-root;
- position: absolute;
- width: calc(100vw - 300px);
box-sizing: border-box;
+ position: fixed;
+ margin: -45px 0 0;
+ right: 0;
+ left: 0;
border-bottom: 1px solid #c9c9c9;
+ padding: 0 !important;
background-color: rgba(255, 255, 255, .95);
z-index: 50;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
- min-height: 54px !important;
- height: auto!important;
- padding-right: 20px !important;
+ height: 44px !important;
.breadcrumb{
//Move Homeicon to the right to prevent overlap with burgermenu
@media only screen and (max-width: 769px) {
@@ -94,12 +98,17 @@
width: 100%;
}
}
-
+@media only screen and (min-width: 1024px){
+ #app-navigation+#app-content #passman-controls {
+ left: 300px;
+ 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;
+ display: inline-block;
height: 36px;
- padding: 5px 10px;
+ padding: 7px 10px;
}
.nopadding{
padding-right: 0;
@@ -124,9 +133,6 @@ input[type="checkbox"]{
background-color: #f2dede;
border-color: #ebccd1;
}
-.btn-danger {
- background-color: var(--color-error) !important;
-}
.ui-button.ui-widget{
min-height: unset !important;
diff --git a/sass/credentials.scss b/sass/credentials.scss
index 5f21f10a..b1ea62a4 100644
--- a/sass/credentials.scss
+++ b/sass/credentials.scss
@@ -20,6 +20,13 @@
*
*/
+//override nc style to fix wrong offset
+#content {
+ padding-top: 47px !important; // 45px but +2 because of borders
+ height: 100%;
+ width: 100%;
+}
+
//fix for different heights of passwordicon
.icon-image-size{
width: 16px;
@@ -39,190 +46,50 @@
}
+//this fixes the scrollbars, because passman-contols are shown above the sidebar.
+#app-sidebar{
+ height: auto;
+ .sidebar{
+ display: inline-block;
+ .sidebar-icon {
+ margin-right: 15px;
+ .icon-image-size{
+ width: 44px;
+ }
+ i {
+ width: 44px;
+ }
+ }
+ .sidebar-label{
+ float:right;
+ line-height: 44px;
+ }
+ }
+}
+
.vaultlist_sidebar_hidden{
width: 100vw !important;
margin-left: 0px !important;
}
#app-content {
- .ng-app-frame {
- min-height: 100%;
- display: flex;
- }
+ margin-left: 300px;
- @media only screen and (max-width: 1024px) {
+ @media only screen and (max-width: 769px) {
width: 100vw;
}
- @media only screen and (min-width: 1025px) {
+ @media only screen and (min-width: 770px) {
width: calc(100vw - 300px);
}
overflow-x: hidden;
- .edit_credential {
- padding-top: 10px;
- label {
- display: block;
- }
- input[type="text"], input[type="password"] {
- width: 100%;
- }
- .compromised-button{
- margin-top: 15px;
- background-color: #e60000;
- color: black;
- }
-
- .compromised-details{
- margin-top: 15px;
- display: flex;
- .icon{
- float: left;
- height: 20px;
- }
- .text{
- padding-left: 5px;
- padding-right: 30px;
- color: #e9322d;
- }
- }
-
- .tags {
- float: left;
- .tag {
- background-color: rgba(240, 240, 240, .9);
- padding: 4px;
- font-size: 11px;
- }
- }
- tags-input {
- .tags {
- width: 100%;
- .input {
- width: auto!important;
- }
- .tag-item {
- color: var(--color-text-lighter);
- }
- }
- }
-
- .credential_textarea {
- width: 100%;
- height: 100px;
- }
- .password_settings {
- label {
- overflow: hidden;
- input[type="checkbox"] {
- width: auto !important;
- float: left;
- }
- .label {
- &.sm {
- font-size: 12px;
- }
- float: left;
- }
- }
- .password-settings-padding-left-fix{
- padding-left: 0 !important;
- }
- }
- .field-value {
- .valueInput {
- padding-right: 0;
- input {
- @include border-right-radius(0);
- }
- .pw-gen .generate_pw .cell:last-child {
- @include border-right-radius(0);
- }
- }
- .selectType {
- padding-left: 0;
- margin-left: 0px;
- select {
- @include border-left-radius(0);
- }
- }
- }
- .custom_fields, .files {
- margin-top: 10px;
- table {
- width: 100%;
- thead {
- background-color: var(--color-background-plain);
- color: var(--color-primary-text);
-
- th.dragger {
- width: 3%;
- }
- th {
- color: #fff;
- }
- th.field_actions {
- width: 15%;
- }
- }
- tr:hover {
- background-color: transparent;
- }
- tr {
- td.dragger {
- width: 3%;
- text-align: center;
- cursor: move;
- cursor: -webkit-grab;
- cursor: -moz-grab;
- cursor: grab;
- }
- td.field_actions {
- font-size: 13px;
- width: 15%;
- i {
- cursor: pointer;
- }
- }
- td, th {
- width: 20%;
- padding: 5px;
- .editable-has-buttons.editable-input {
- width: 55%;
- }
- }
- td {
- height: 50px;
- vertical-align: middle;
- }
- }
- }
- }
- .file_tab {
-
- }
- .otpText {
- padding-right: 10px;
- }
-
- .import-selection{
- select{
- margin-left: 15px;
- }
- }
-
- }
-
//width: 100%;
- .main_list {
- width: 100%;
- display: flow-root;
- padding-right: 15px;
-
- //min-height: 95%;
- //display:flex;
+ #app-content-wrapper {
+ min-height: 95%;
+ display:flex;
//hack for missing separatorbar when app-sidebar is opened
- //height: calc(100vh - 49px);
+ height: calc(100vh - 49px);
#passman-controls {
text-align: center;
@@ -238,22 +105,21 @@
}
}
border-bottom: 1px solid #c9c9c9;
+
}
.title {
text-align: center;
- display: inline-flex;
+ display: inline-block;
font-weight: bold;
margin-top: 10px;
@media screen and (max-width: 820px) {
display: none;
}
}
-
.breadcrumb {
float: left;
}
-
.actions.creatable {
float: left;
overflow: hidden;
@@ -342,20 +208,6 @@
}
}
- .credential-list {
- display: flex;
- height: 100%;
- }
-
- .credential-table-wrapper {
- flex: 1;
- float: left;
- height: auto;
- overflow: auto;
- width: 100%;
- margin-top: 55px;
- }
-
.credential-table {
width: 100%;
tr:hover {
@@ -455,15 +307,10 @@
//margin-top: 44px;
display: flex;
flex-wrap: wrap;
-
- li {
- height: fit-content;
- }
-
.credential {
display: flex;
width: 100%;
- border: 2px solid var(--color-primary);
+ border: 2px solid rgba(240, 240, 240, .9);
margin: 25px;
@include border-radius(10px);
.credential_content {
@@ -515,55 +362,22 @@
}
- .share{
- overflow:hidden;
- }
- .nopasswords{
- margin-right: auto;
- margin-left: auto;
- margin-top: 10%;
- text-align: center;
- }
- .belowList{
- margin-right: auto;
- margin-left: auto;
- margin-top: 1%;
- text-align: center;
- }
- }
-
- .app_sidebar {
-
- height: fit-content;
- top: 55px;
- float:right;
- padding: 10px;
- overflow-y: auto;
-
-
- h2 {
- margin-bottom: 10px;
- font-weight: 400;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- max-width: 90%;
- }
- .close.icon-close {
- position: absolute;
- top: 10px;
- right: 10px;
- cursor: pointer;
- }
- &.item_selected {
- height: 25%;
- display: inline-block;
- }
+ .edit_credential {
+ padding-top: 10px;
+ label {
+ display: block;
+ }
+ input[type="text"], input[type="password"] {
+ width: 100%;
+ }
+ .compromised-button{
+ margin-top: 15px;
+ background-color: #e60000;
+ color: black;
+ }
- .credential-data {
.compromised-details{
margin-top: 15px;
- margin-bottom: 15px;
display: flex;
.icon{
float: left;
@@ -575,17 +389,198 @@
color: #e9322d;
}
}
- .row {
- margin-bottom: 11px;
- }
+
.tags {
- margin-top: 15px;
- margin-bottom: 15px;
- float: none;
+ float: left;
.tag {
background-color: rgba(240, 240, 240, .9);
padding: 4px;
- margin-right: 3px;
+ font-size: 11px;
+ }
+ }
+ tags-input {
+ .tags {
+ width: 100%;
+ .input {
+ }
+ }
+ }
+ .credential_textarea {
+ width: 100%;
+ height: 100px;
+ }
+ .password_settings {
+ label {
+ overflow: hidden;
+ input[type="checkbox"] {
+ width: auto !important;
+ float: left;
+ }
+ .label {
+ &.sm {
+ font-size: 12px;
+ }
+ float: left;
+ }
+ }
+ .password-settings-padding-left-fix{
+ padding-left: 0 !important;
+ }
+ }
+ .field-value {
+ .valueInput {
+ padding-right: 0;
+ input {
+ @include border-right-radius(0);
+ }
+ .pw-gen .generate_pw .cell:last-child {
+ @include border-right-radius(0);
+ }
+ }
+ .selectType {
+ padding-left: 0;
+ margin-left: 0px;
+ select {
+ @include border-left-radius(0);
+ }
+ }
+ }
+ .custom_fields, .files {
+ margin-top: 10px;
+ table {
+ width: 100%;
+ thead {
+ th.dragger {
+ width: 3%;
+ }
+ th {
+ color: #fff;
+ }
+ th.field_actions {
+ width: 15%;
+ }
+ }
+ tr:hover {
+ background-color: transparent;
+ }
+ tr {
+ td.dragger {
+ width: 3%;
+ text-align: center;
+ cursor: move;
+ cursor: -webkit-grab;
+ cursor: -moz-grab;
+ cursor: grab;
+ }
+ td.field_actions {
+ font-size: 13px;
+ width: 15%;
+ i {
+ cursor: pointer;
+ }
+ }
+ td, th {
+ width: 20%;
+ padding: 5px;
+ .editable-has-buttons.editable-input {
+ width: 55%;
+ }
+ }
+ td {
+ height: 50px;
+ vertical-align: middle;
+ }
+ }
+ }
+ }
+ .file_tab {
+
+ }
+ .otpText {
+ padding-right: 10px;
+ }
+
+ .import-selection{
+ select{
+ margin-left: 15px;
+ }
+ }
+
+ }
+
+ .main_list{
+ flex:1;
+ float:left;
+ height:auto;
+ overflow:auto;
+ width:100%;
+ .share{
+ overflow:hidden;
+ }
+ .nopasswords{
+ margin-right: auto;
+ margin-left: auto;
+ margin-top: 10%;
+ text-align: center;
+ }
+ .belowList{
+ margin-right: auto;
+ margin-left: auto;
+ margin-top: 1%;
+ text-align: center;
+ }
+ }
+
+ .app_sidebar {
+ float:right;
+ h2 {
+ margin-bottom: 10px;
+ font-weight: 400;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 90%;
+ }
+ .close.icon-close {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ cursor: pointer;
+ }
+ padding: 10px;
+ &.item_selected {
+ height: 25%;
+ display: inline-block;
+ }
+ overflow-y: auto;
+
+ .credential-data {
+ .compromised-details{
+ margin-top: 15px;
+ margin-bottom: 15px;
+ display: flex;
+ .icon{
+ float: left;
+ height: 20px;
+ }
+ .text{
+ padding-left: 5px;
+ padding-right: 30px;
+ color: #e9322d;
+ }
+ }
+ .row {
+ margin-bottom: 11px;
+ }
+ .tags {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ float: none;
+ .tag {
+ background-color: rgba(240, 240, 240, .9);
+ padding: 4px;
+ margin-right: 3px;
+ }
}
}
}
diff --git a/sass/vaults.scss b/sass/vaults.scss
index d9e7dc34..25242c8a 100644
--- a/sass/vaults.scss
+++ b/sass/vaults.scss
@@ -36,7 +36,7 @@
}
}
.vault_wrapper{
- margin: 5em auto auto auto;
+ margin:0 auto auto auto;
max-width: 420px;
@include border-radius(5px);
@@ -110,4 +110,4 @@
.vault_wrapper{
width: 90%;
}
-}
+} \ No newline at end of file
diff --git a/templates/main.php b/templates/main.php
index 7e9b5eb0..b81d0a71 100644
--- a/templates/main.php
+++ b/templates/main.php
@@ -119,7 +119,7 @@ style('passman', 'app');
/*build-css-end*/
?>
-<div ng-app="passmanApp" ng-controller="MainCtrl" style="display: flex">
+<div id="app" ng-app="passmanApp" ng-controller="MainCtrl">
<div id="logoutTimer"></div>
<div id="warning_bar" class="warning_bar template-hidden" ng-if="using_http && http_warning_hidden == false" ng-init="removeHiddenStyles()">
{{ 'http.warning' | translate }}
@@ -231,6 +231,10 @@ style('passman', 'app');
</div>
<div id="app-content" ng-class="{'vaultlist_sidebar_hidden': !selectedVault}">
- <div ng-view="" class="ng-app-frame"></div>
+ <div id="app-content-wrapper">
+ <div id="content" ng-view="">
+
+ </div>
+ </div>
</div>
</div>
diff --git a/templates/views/show_vault.html b/templates/views/show_vault.html
index b2855b89..f5a5a084 100644
--- a/templates/views/show_vault.html
+++ b/templates/views/show_vault.html
@@ -2,9 +2,8 @@
<div id="passman-controls" ng-class="{ 'sidebar-shown': selectedCredential }">
<div class="breadcrumb">
<div class="breadcrumb">
- <div class="crumb svg crumbhome">
- <a ng-click="logout()" class="icon-home">Home</a>
- <span style="display: none;"></span>
+ <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>
diff --git a/templates/views/vaults.html b/templates/views/vaults.html
index a7c2221b..d1b0e5fb 100644
--- a/templates/views/vaults.html
+++ b/templates/views/vaults.html
@@ -96,20 +96,27 @@
</div>
<div class="login_opts">
<div>
- <input id="selectVaultAsDefault" class="checkbox" type="checkbox"
- ng-checked="default_vault" ng-click="toggleDefaultVault()">
- <label for="selectVaultAsDefault">{{ 'vault.default' | translate}}</label>
+ <label>
+ <input type="checkbox" ng-checked="default_vault"
+ ng-click="toggleDefaultVault()">
+ {{ 'vault.default' | translate}}
+ </label>
</div>
<div>
- <input id="rememberVaultPassword" class="checkbox" type="checkbox"
- ng-checked="remember_vault_password" ng-click="toggleRememberPassword()">
- <label for="rememberVaultPassword">{{ 'vault.auto.login' | translate}}</label>
+ <label>
+ <input type="checkbox"
+ ng-checked="remember_vault_password"
+ ng-click="toggleRememberPassword()">
+ {{ 'vault.auto.login' | translate}}
+ </label>
</div>
<div>
- <input id="enableAutoLogoutTimer" class="checkbox" type="checkbox"
- ng-checked="auto_logout_timer" ng-click="toggleAutoLogout()">
- <label for="enableAutoLogoutTimer">{{ 'auto.logout' | translate}}</label>
-
+ <label>
+ <input type="checkbox"
+ ng-checked="auto_logout_timer"
+ ng-click="toggleAutoLogout()">
+ {{ 'auto.logout' | translate}}
+ </label>
<select ng-model="logout_timer" ng-change="selectLogoutTimer(logout_timer)">
<option value="0">Never</option>
<option value="30">30 minutes</option>
@@ -134,4 +141,4 @@
</div>
</div>
-</div>
+</div> \ No newline at end of file