mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 05:31:22 +00:00
GUAC-1120: Use flex layout for headers containing the user menu.
This commit is contained in:
@@ -24,17 +24,17 @@
|
|||||||
|
|
||||||
<div class="connection-list-ui">
|
<div class="connection-list-ui">
|
||||||
|
|
||||||
<!-- User menu -->
|
|
||||||
<guac-user-menu permissions="permissions"></guac-user-menu>
|
|
||||||
|
|
||||||
<!-- The recent connections for this user -->
|
<!-- The recent connections for this user -->
|
||||||
<h2>{{'HOME.SECTION_HEADER_RECENT_CONNECTIONS' | translate}}</h2>
|
<div class="header">
|
||||||
|
<h2>{{'HOME.SECTION_HEADER_RECENT_CONNECTIONS' | translate}}</h2>
|
||||||
|
<guac-user-menu permissions="permissions"></guac-user-menu>
|
||||||
|
</div>
|
||||||
<div class="recent-connections">
|
<div class="recent-connections">
|
||||||
<guac-recent-connections root-group="rootConnectionGroup"></guac-recent-connections>
|
<guac-recent-connections root-group="rootConnectionGroup"></guac-recent-connections>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- All connections for this user -->
|
<!-- All connections for this user -->
|
||||||
<h2>{{'HOME.SECTION_HEADER_ALL_CONNECTIONS' | translate}}</h2>
|
<h2 class="header">{{'HOME.SECTION_HEADER_ALL_CONNECTIONS' | translate}}</h2>
|
||||||
<div class="all-connections">
|
<div class="all-connections">
|
||||||
<guac-group-list
|
<guac-group-list
|
||||||
connection-group="rootConnectionGroup"
|
connection-group="rootConnectionGroup"
|
||||||
|
@@ -51,12 +51,15 @@ h1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
|
|
||||||
font-size: 1.25em;
|
font-size: 1.25em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
padding: 0.75em 0.5em;
|
|
||||||
|
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
|
padding: 0.75em 0.5em;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
|
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
|
||||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.125);
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.125);
|
||||||
background: rgba(0, 0, 0, 0.04);
|
background: rgba(0, 0, 0, 0.04);
|
||||||
@@ -64,13 +67,47 @@ h2 {
|
|||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
border-top: none;
|
border-top: none;
|
||||||
|
|
||||||
|
/* IE10 */
|
||||||
|
display: -ms-flexbox;
|
||||||
|
-ms-flex-align: stretch;
|
||||||
|
-ms-flex-direction: row;
|
||||||
|
|
||||||
|
/* Ancient Mozilla */
|
||||||
|
display: -moz-box;
|
||||||
|
-moz-box-align: stretch;
|
||||||
|
-moz-box-orient: horizontal;
|
||||||
|
|
||||||
|
/* Ancient WebKit */
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-align: stretch;
|
||||||
|
-webkit-box-orient: horizontal;
|
||||||
|
|
||||||
|
/* Old WebKit */
|
||||||
|
display: -webkit-flex;
|
||||||
|
-webkit-align-items: stretch;
|
||||||
|
-webkit-flex-direction: row;
|
||||||
|
|
||||||
|
/* W3C */
|
||||||
|
display: flex;
|
||||||
|
align-items: stretch;
|
||||||
|
flex-direction: row;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 ~ h2 {
|
.header ~ .header {
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.125);
|
border-top: 1px solid rgba(0, 0, 0, 0.125);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.header h2 {
|
||||||
|
-ms-flex: 1 1 auto;
|
||||||
|
-moz-box-flex: 1;
|
||||||
|
-webkit-box-flex: 1;
|
||||||
|
-webkit-flex: 1 1 auto;
|
||||||
|
flex: 1 1 auto;
|
||||||
|
}
|
||||||
|
|
||||||
div.section {
|
div.section {
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
@@ -22,10 +22,10 @@ THE SOFTWARE.
|
|||||||
|
|
||||||
<div class="view" ng-class="{loading: !isLoaded()}">
|
<div class="view" ng-class="{loading: !isLoaded()}">
|
||||||
|
|
||||||
<!-- User menu -->
|
<div class="header">
|
||||||
<guac-user-menu permissions="permissions"></guac-user-menu>
|
<h2>{{'MANAGE.SECTION_HEADER_ADMINISTRATION' | translate}}</h2>
|
||||||
|
<guac-user-menu permissions="permissions"></guac-user-menu>
|
||||||
<h2>{{'MANAGE.SECTION_HEADER_ADMINISTRATION' | translate}}</h2>
|
</div>
|
||||||
|
|
||||||
<!-- User management -->
|
<!-- User management -->
|
||||||
<div class="settings section" ng-show="canManageUsers">
|
<div class="settings section" ng-show="canManageUsers">
|
||||||
|
@@ -22,11 +22,11 @@ THE SOFTWARE.
|
|||||||
|
|
||||||
<div class="view" ng-class="{loading: !isLoaded()}">
|
<div class="view" ng-class="{loading: !isLoaded()}">
|
||||||
|
|
||||||
<!-- User menu -->
|
|
||||||
<guac-user-menu permissions="permissions"></guac-user-menu>
|
|
||||||
|
|
||||||
<!-- Main property editor -->
|
<!-- Main property editor -->
|
||||||
<h2>{{'MANAGE_CONNECTION.SECTION_HEADER_EDIT_CONNECTION' | translate}}</h2>
|
<div class="header">
|
||||||
|
<h2>{{'MANAGE_CONNECTION.SECTION_HEADER_EDIT_CONNECTION' | translate}}</h2>
|
||||||
|
<guac-user-menu permissions="permissions"></guac-user-menu>
|
||||||
|
</div>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<table class="properties">
|
<table class="properties">
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ THE SOFTWARE.
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Connection parameters -->
|
<!-- Connection parameters -->
|
||||||
<h2>{{'MANAGE_CONNECTION.SECTION_HEADER_PARAMETERS' | translate}}</h2>
|
<h2 class="header">{{'MANAGE_CONNECTION.SECTION_HEADER_PARAMETERS' | translate}}</h2>
|
||||||
<div class="section" ng-class="{loading: !parameters}">
|
<div class="section" ng-class="{loading: !parameters}">
|
||||||
<table class="properties">
|
<table class="properties">
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ THE SOFTWARE.
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Connection history -->
|
<!-- Connection history -->
|
||||||
<h2>{{'MANAGE_CONNECTION.SECTION_HEADER_HISTORY' | translate}}</h2>
|
<h2 class="header">{{'MANAGE_CONNECTION.SECTION_HEADER_HISTORY' | translate}}</h2>
|
||||||
<div class="history section" ng-class="{loading: !historyEntryWrappers}">
|
<div class="history section" ng-class="{loading: !historyEntryWrappers}">
|
||||||
<p ng-hide="historyEntryWrappers.length">{{'MANAGE_CONNECTION.INFO_CONNECTION_NOT_USED' | translate}}</p>
|
<p ng-hide="historyEntryWrappers.length">{{'MANAGE_CONNECTION.INFO_CONNECTION_NOT_USED' | translate}}</p>
|
||||||
|
|
||||||
|
@@ -22,11 +22,11 @@ THE SOFTWARE.
|
|||||||
|
|
||||||
<div class="view" ng-class="{loading: !isLoaded()}">
|
<div class="view" ng-class="{loading: !isLoaded()}">
|
||||||
|
|
||||||
<!-- User menu -->
|
|
||||||
<guac-user-menu permissions="permissions"></guac-user-menu>
|
|
||||||
|
|
||||||
<!-- Main property editor -->
|
<!-- Main property editor -->
|
||||||
<h2>{{'MANAGE_CONNECTION_GROUP.SECTION_HEADER_EDIT_CONNECTION_GROUP' | translate}}</h2>
|
<div class="header">
|
||||||
|
<h2>{{'MANAGE_CONNECTION_GROUP.SECTION_HEADER_EDIT_CONNECTION_GROUP' | translate}}</h2>
|
||||||
|
<guac-user-menu permissions="permissions"></guac-user-menu>
|
||||||
|
</div>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<table class="properties">
|
<table class="properties">
|
||||||
|
|
||||||
|
@@ -22,11 +22,11 @@ THE SOFTWARE.
|
|||||||
|
|
||||||
<div class="view" ng-class="{loading: !isLoaded()}">
|
<div class="view" ng-class="{loading: !isLoaded()}">
|
||||||
|
|
||||||
<!-- User menu -->
|
|
||||||
<guac-user-menu permissions="permissions"></guac-user-menu>
|
|
||||||
|
|
||||||
<!-- Main property editor -->
|
<!-- Main property editor -->
|
||||||
<h2>{{'MANAGE_USER.SECTION_HEADER_EDIT_USER' | translate}}</h2>
|
<div class="header">
|
||||||
|
<h2>{{'MANAGE_USER.SECTION_HEADER_EDIT_USER' | translate}}</h2>
|
||||||
|
<guac-user-menu permissions="permissions"></guac-user-menu>
|
||||||
|
</div>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<table class="properties">
|
<table class="properties">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -48,7 +48,7 @@ THE SOFTWARE.
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- System permissions section -->
|
<!-- System permissions section -->
|
||||||
<h2>{{'MANAGE_USER.SECTION_HEADER_PERMISSIONS' | translate}}</h2>
|
<h2 class="header">{{'MANAGE_USER.SECTION_HEADER_PERMISSIONS' | translate}}</h2>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<table class="properties">
|
<table class="properties">
|
||||||
<tr ng-repeat="systemPermissionType in systemPermissionTypes">
|
<tr ng-repeat="systemPermissionType in systemPermissionTypes">
|
||||||
@@ -60,7 +60,7 @@ THE SOFTWARE.
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Connection and connection group permission section -->
|
<!-- Connection and connection group permission section -->
|
||||||
<h2>{{'MANAGE_USER.SECTION_HEADER_CONNECTIONS' | translate}}</h2>
|
<h2 class="header">{{'MANAGE_USER.SECTION_HEADER_CONNECTIONS' | translate}}</h2>
|
||||||
<div class="section" ng-class="{loading: !rootGroup}">
|
<div class="section" ng-class="{loading: !rootGroup}">
|
||||||
<guac-group-list
|
<guac-group-list
|
||||||
context="groupListContext"
|
context="groupListContext"
|
||||||
|
@@ -20,14 +20,42 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.user-menu {
|
.user-menu .user-menu-dropdown {
|
||||||
float: right;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
border-left: 1px solid rgba(0,0,0,0.125);
|
||||||
|
background: rgba(0,0,0,0.04);
|
||||||
|
|
||||||
|
/* IE10 */
|
||||||
|
display: -ms-flexbox;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
-ms-flex-direction: row;
|
||||||
|
|
||||||
|
/* Ancient Mozilla */
|
||||||
|
display: -moz-box;
|
||||||
|
-moz-box-align: center;
|
||||||
|
-moz-box-orient: horizontal;
|
||||||
|
|
||||||
|
/* Ancient WebKit */
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-align: center;
|
||||||
|
-webkit-box-orient: horizontal;
|
||||||
|
|
||||||
|
/* Old WebKit */
|
||||||
|
display: -webkit-flex;
|
||||||
|
-webkit-align-items: center;
|
||||||
|
-webkit-flex-direction: row;
|
||||||
|
|
||||||
|
/* W3C */
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: row;
|
||||||
|
|
||||||
|
z-index: 5;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-menu a.username {
|
.user-menu .username {
|
||||||
|
|
||||||
display: block;
|
|
||||||
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
min-width: 1.75in;
|
min-width: 1.75in;
|
||||||
@@ -35,8 +63,6 @@
|
|||||||
font-size: 1.25em;
|
font-size: 1.25em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
padding: .75em .5em;
|
padding: .75em .5em;
|
||||||
border-left: 1px solid rgba(0,0,0,0.125);
|
|
||||||
background: rgba(0,0,0,0.04);
|
|
||||||
|
|
||||||
padding-left: 2em;
|
padding-left: 2em;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
@@ -44,21 +70,27 @@
|
|||||||
background-position: 0.5em 0.75em;
|
background-position: 0.5em 0.75em;
|
||||||
background-image: url('images/user-icons/guac-user.png');
|
background-image: url('images/user-icons/guac-user.png');
|
||||||
|
|
||||||
|
-ms-flex: 0 0 auto;
|
||||||
|
-moz-box-flex: 0;
|
||||||
|
-webkit-box-flex: 0;
|
||||||
|
-webkit-flex: 0 0 auto;
|
||||||
|
flex: 0 0 auto;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-menu .options {
|
.user-menu .options {
|
||||||
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
right: 0;
|
right: 0;
|
||||||
|
left: -1px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
min-width: 100%;
|
|
||||||
|
|
||||||
background: #EEE;
|
background: #EEE;
|
||||||
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.125);
|
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.125);
|
||||||
border-left: 1px solid rgba(0,0,0,0.125);
|
border-left: 1px solid rgba(0,0,0,0.125);
|
||||||
border-bottom: 1px solid rgba(0,0,0,0.125);
|
border-bottom: 1px solid rgba(0,0,0,0.125);
|
||||||
z-index: 0;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,7 +153,7 @@
|
|||||||
margin: 1em;
|
margin: 1em;
|
||||||
right: 0;
|
right: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 1;
|
z-index: 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-menu .password-dialog.shown {
|
.user-menu .password-dialog.shown {
|
||||||
|
@@ -21,15 +21,17 @@
|
|||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<a class="username">{{username}}</a>
|
<div class="user-menu-dropdown">
|
||||||
|
<div class="username">{{username}}</div>
|
||||||
<!-- Menu options -->
|
|
||||||
<ul class="options">
|
<!-- Menu options -->
|
||||||
<li><a class="home" href="#/">{{'USER_MENU.ACTION_NAVIGATE_HOME' | translate}}</a></li>
|
<ul class="options">
|
||||||
<li><a class="manage" ng-show="canManageGuacamole" href="#/manage/">{{'USER_MENU.ACTION_MANAGE' | translate}}</a></li>
|
<li><a class="home" href="#/">{{'USER_MENU.ACTION_NAVIGATE_HOME' | translate}}</a></li>
|
||||||
<li><a class="change-password" ng-click="showPasswordUpdate()" ng-show="canChangePassword">{{'USER_MENU.ACTION_CHANGE_PASSWORD' | translate}}</a></li>
|
<li><a class="manage" ng-show="canManageGuacamole" href="#/manage/">{{'USER_MENU.ACTION_MANAGE' | translate}}</a></li>
|
||||||
<li><a class="logout" ng-click="logout()">{{'USER_MENU.ACTION_LOGOUT' | translate}}</a></li>
|
<li><a class="change-password" ng-click="showPasswordUpdate()" ng-show="canChangePassword">{{'USER_MENU.ACTION_CHANGE_PASSWORD' | translate}}</a></li>
|
||||||
</ul>
|
<li><a class="logout" ng-click="logout()">{{'USER_MENU.ACTION_LOGOUT' | translate}}</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Password dialog -->
|
<!-- Password dialog -->
|
||||||
<div class="password-dialog" ng-class="{shown: showPasswordDialog}">
|
<div class="password-dialog" ng-class="{shown: showPasswordDialog}">
|
||||||
|
Reference in New Issue
Block a user