summaryrefslogtreecommitdiffstats
path: root/settings/css/settings.scss
diff options
context:
space:
mode:
Diffstat (limited to 'settings/css/settings.scss')
-rw-r--r--settings/css/settings.scss270
1 files changed, 175 insertions, 95 deletions
diff --git a/settings/css/settings.scss b/settings/css/settings.scss
index 97767ce2f22..6e95d4bdc27 100644
--- a/settings/css/settings.scss
+++ b/settings/css/settings.scss
@@ -675,101 +675,6 @@ span.usersLastLoginTooltip {
}
}
-tr:hover > td {
- &.password > span, &.displayName > span, &.mailAddress > span {
- margin: 0;
- cursor: pointer;
- }
- &.password > img, &.displayName > img, &.mailAddress > img {
- visibility: visible;
- cursor: pointer;
- }
-}
-
-td.userActions {
- .toggleUserActions {
- width: 44px;
- height: 44px;
- position: relative;
- .action {
- display: block;
- padding: 14px;
- opacity: 0.5;
- .icon-more {
- display: inline-block;
- }
- &:hover,
- &:focus {
- opacity: 1;
- }
- }
- }
-}
-
-div.recoveryPassword {
- left: 50em;
- display: block;
- position: absolute;
- top: -1px;
-}
-
-input#recoveryPassword {
- width: 15em;
-}
-
-#controls select.quota {
- margin: 3px;
- margin-right: 10px;
- height: 37px;
-}
-
-#userlist td.quota {
- position: relative;
- width: 10em;
- progress.quota-user-progress {
- position: absolute;
- width: calc(10em + 0px);
- margin-top: -7px;
- z-index: 0;
- margin-left: 1px;
- height: 3px;
- }
-}
-
-select {
- &.quota-user {
- width: 10em;
- height: 34px;
- z-index: 50;
- position: relative;
- }
- + progress.quota-user-progress {
- position: absolute;
- width: calc(10em + 0px);
- margin-top: -7px;
- z-index: 0;
- margin-left: 1px;
- height: 3px;
- }
-}
-
-input.userFilter {
- width: 200px;
-}
-
-#newusergroups + input[type='submit'] {
- position: relative;
- top: -1px;
-}
-
-#headerGroups, #headerSubAdmins, #headerQuota {
- padding-left: 18px;
-}
-
-#headerAvatar {
- width: 32px;
-}
-
/* used to highlight a user row in red */
#userlist tr.row-warning {
@@ -1350,3 +1255,178 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
margin-top: 22px;
}
}
+
+
+/* USERS LIST -------------------------------------------------------------- */
+#body-settings {
+ #app-navigation {
+ /* Hack to override the javascript orderBy */
+ #usergrouplist > li {
+ order: 4;
+ &#everyone {
+ order:1;
+ }
+ &#admin {
+ order:2;
+ }
+ &#disabled {
+ order:3;
+ }
+ }
+ }
+ $grid-row-height: 46px;
+ #app-content.user-list-grid {
+ display: grid;
+ grid-auto-columns: 1fr;
+ grid-auto-rows: $grid-row-height;
+ grid-column-gap: 20px;
+ .row {
+ // TODO replace with css4 subgrid when available
+ display: grid;
+ grid-row-start: span 1;
+ grid-gap: 3px;
+ align-items: center;
+ /* let's define the column until storage path,
+ what follows will be manually defined */
+ grid-template-columns: 44px;
+ grid-auto-columns: min-content;
+ border-top: $color-border 1px solid;
+ &.disabled {
+ opacity: .5;
+ }
+ .name,
+ .displayName,
+ .password {
+ width: 150px;
+ }
+ .mailAddress,
+ .groups,
+ .subadmins {
+ width: 200px;
+ }
+ .quota {
+ width: 150px;
+ }
+ .languages {
+ width: 200px;
+ }
+ .storageLocation {
+ width: 250px;
+ }
+ .userBackend,
+ .lastLogin,
+ .userActions {
+ width: 100px;
+ }
+ &#grid-header,
+ &#new-user {
+ position: sticky;
+ align-self: normal;
+ background-color: $color-main-background;
+ z-index: 55; /* above multiselect */
+ top: 0;
+ &.sticky {
+ box-shadow: 0 -2px 10px 1px $color-box-shadow;
+ }
+ /* fake input for groups validation */
+ input#newgroups {
+ position: absolute;
+ opacity: 0;
+ width: 80% !important;
+ margin: 0 10%;
+ z-index: 0;
+ }
+ }
+ // separate prop to set initial value to top:0
+ &#new-user {
+ top: $grid-row-height;
+ }
+ &#grid-header {
+ color: nc-lighten($color-main-text, 60%);
+ z-index: 60; /* above new-user */
+ }
+ &:hover {
+ input:not([type='submit']):not(:focus):not(:active) {
+ border-color: nc-darken($color-main-background, 14%) !important;
+ }
+ }
+ > div,
+ > form {
+ grid-row: 1;
+ display: inline-flex;
+ align-items: center;
+ color: nc-lighten($color-main-text, 33%);
+ position: relative;
+ > input:not(:focus):not(:active) {
+ border-color: transparent;
+ cursor: pointer;
+ }
+ > input:focus, >input:active {
+ + .icon-confirm {
+ display: block !important;
+ }
+ }
+ &:not(.userActions) > input:not([type='submit']) {
+ width: 100%;
+ min-width: 0;
+ }
+ &.quota {
+ .multiselect--active + progress {
+ display: none;
+ }
+ progress {
+ position: absolute;
+ width: calc(100% - 4px); /* minus left and right */
+ left: 2px;
+ bottom: 2px;
+ height: 3px;
+ z-index: 5; /* above multiselect */
+ }
+ }
+ .icon-confirm {
+ width: 32px;
+ height: 32px;
+ flex: 0 0 32px;
+ cursor: pointer;
+ &:not(:active) {
+ display: none;
+ }
+ }
+ &.avatar {
+ height: 32px;
+ width: 32px;
+ margin: 6px;
+ img {
+ display: block;
+ }
+ }
+ .toggleUserActions {
+ position: relative;
+ .icon-more {
+ width: 44px;
+ height: 44px;
+ opacity: .5;
+ cursor: pointer;
+ :hover {
+ opacity: .7;
+ }
+ }
+ }
+ /* Fill the grid cell */
+ .multiselect.multiselect-vue {
+ width: 100%;
+ }
+ }
+ }
+ .infinite-loading-container {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ grid-row-start: span 4;
+ }
+ .users-list-end {
+ opacity: .5;
+ user-select: none;
+ }
+ }
+}