mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 21:51:23 +00:00
GUAC-810: Reorganize client view to support text input. Handle text input choice in menu.
This commit is contained in:
@@ -23,4 +23,4 @@
|
||||
/**
|
||||
* The module for code used to connect to a connection or balancing group.
|
||||
*/
|
||||
angular.module('client', ['auth', 'history', 'osk', 'rest']);
|
||||
angular.module('client', ['auth', 'history', 'osk', 'rest', 'textInput']);
|
||||
|
@@ -204,8 +204,9 @@ angular.module('home').controller('clientController', ['$scope', '$routeParams',
|
||||
// Show/hide UI elements depending on input method
|
||||
$scope.$watch('inputMethod', function setInputMethod(inputMethod) {
|
||||
|
||||
// Show on-screen keyboard only if selected
|
||||
// Show input methods only if selected
|
||||
$scope.showOSK = (inputMethod === 'osk');
|
||||
$scope.showTextInput = (inputMethod === 'text');
|
||||
|
||||
});
|
||||
|
||||
|
@@ -27,18 +27,6 @@ body.client {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Viewport Clone */
|
||||
|
||||
#viewportClone {
|
||||
display: table;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
#preload {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
@@ -48,3 +36,21 @@ body.client {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.client-view {
|
||||
display: table;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.client-view .client-body {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.client-view .client-bottom {
|
||||
display: table-row;
|
||||
height: 0;
|
||||
}
|
||||
|
@@ -20,20 +20,36 @@
|
||||
THE SOFTWARE.
|
||||
-->
|
||||
|
||||
<div id="clientContainer">
|
||||
<!-- Client view -->
|
||||
<div class="client-view">
|
||||
|
||||
<!-- Central portion of view -->
|
||||
<div class="client-body">
|
||||
|
||||
<!-- Client -->
|
||||
<guac-client
|
||||
client-properties="clientProperties"
|
||||
id="id"
|
||||
connection-parameters="connectionParameters"
|
||||
></guac-client>
|
||||
connection-parameters="connectionParameters"/></guac-client>
|
||||
|
||||
<!-- Text input target -->
|
||||
<div id="text-input"><div id="text-input-field"><div id="sent-history"></div><textarea rows="1" id="target"></textarea></div><div id="text-input-buttons"><button class="key" data-keysym="0xFFE3" data-sticky="true">{{'client.ctrl' | translate}}</button><button class="key" data-keysym="0xFFE9" data-sticky="true">{{'client.alt' | translate}}</button><button class="key" data-keysym="0xFF1B">{{'client.esc' | translate}}</button><button class="key" data-keysym="0xFF09">{{'client.tab' | translate}}</button></div></div>
|
||||
</div>
|
||||
|
||||
<!-- Dimensional clone of viewport -->
|
||||
<div id="viewportClone"></div>
|
||||
<!-- Bottom portion of view -->
|
||||
<div class="client-bottom">
|
||||
|
||||
<!-- Text input -->
|
||||
<div class="text-input-container" ng-show="showTextInput">
|
||||
<guac-text-input></guac-text-input>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- On-screen keyboard -->
|
||||
<div class="keyboard-container" ng-class="{shown: showOSK}">
|
||||
<guac-osk layout="'client.oskLayout' | translate"/>
|
||||
</div>
|
||||
|
||||
<!-- Menu -->
|
||||
<div ng-class="{open: menuShown}" id="menu">
|
||||
@@ -103,16 +119,8 @@
|
||||
|
||||
</div>
|
||||
|
||||
<!-- On-screen keyboard -->
|
||||
<div class="keyboard-container" ng-class="{shown: showOSK}">
|
||||
<guac-osk layout="'client.oskLayout' | translate"/>
|
||||
</div>
|
||||
|
||||
<!-- Images which should be preloaded -->
|
||||
<div id="preload">
|
||||
<img src="images/action-icons/guac-close.png" alt=""/>
|
||||
<img src="images/progress.png" alt=""/>
|
||||
</div>
|
||||
|
||||
<ng-include src="app/client/template/clientError.html"/>
|
||||
</div>
|
@@ -1,35 +0,0 @@
|
||||
<!--
|
||||
Copyright (C) 2014 Glyptodon LLC
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
-->
|
||||
|
||||
<div ng-show="errorPresent" class="dialogOuter guac-error">
|
||||
<div class="dialogMiddle">
|
||||
<div class="dialog">
|
||||
<p class="title">{{'client.error.connectionErrorTitle' | translate}}</p>
|
||||
|
||||
<p class="status">{{errorStatus}}</p>
|
||||
|
||||
<div class="reconnect">
|
||||
<button ng-click="reconnect()">{{'client.error.reconnect' | translate}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Reference in New Issue
Block a user