mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUAC-605: Add statusModal service. Set appropriate styles.
This commit is contained in:
@@ -51,69 +51,6 @@ img {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* Dialogs */
|
||||
|
||||
div.dialogOuter {
|
||||
display: table;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background: rgba(0, 0, 0, 0.75);
|
||||
}
|
||||
|
||||
div.dialogMiddle {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
button {
|
||||
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
|
||||
padding: 0.25em;
|
||||
padding-right: 1em;
|
||||
padding-left: 1em;
|
||||
|
||||
}
|
||||
|
||||
button:active {
|
||||
|
||||
padding-top: 0.35em;
|
||||
padding-left: 1.1em;
|
||||
|
||||
padding-bottom: 0.15em;
|
||||
padding-right: 0.9em;
|
||||
|
||||
}
|
||||
|
||||
button#reconnect {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.guac-error button#reconnect {
|
||||
display: inline;
|
||||
|
||||
background: #200;
|
||||
border-color: #822;
|
||||
color: #944;
|
||||
}
|
||||
|
||||
.guac-error button#reconnect:hover {
|
||||
background: #822;
|
||||
border-color: #B33;
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
||||
div.dialog p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.main {
|
||||
overflow: auto;
|
||||
position: fixed;
|
||||
|
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* The controller for the status modal.
|
||||
*/
|
||||
angular.module('manage').controller('statusController', ['$scope', '$injector',
|
||||
function statusController($scope, $injector) {
|
||||
|
||||
var statusModal = $injector.get('statusModal');
|
||||
|
||||
/**
|
||||
* Fires a guacStatusAction event signalling a chosen action. By default,
|
||||
* the status modal will be closed, but this can be prevented by calling
|
||||
* preventDefault() on the event.
|
||||
*
|
||||
* @param {String} action The name of the action.
|
||||
*/
|
||||
$scope.fireAction = function fireAction(action) {
|
||||
|
||||
// Fire action event
|
||||
var actionEvent = $scope.$broadcast('guacStatusAction', action);
|
||||
|
||||
// Close modal unless default is prevented
|
||||
if (!actionEvent.defaultPrevented)
|
||||
statusModal.deactivate();
|
||||
|
||||
};
|
||||
|
||||
}]);
|
||||
|
||||
|
||||
|
36
guacamole/src/main/webapp/app/index/services/statusModal.js
Normal file
36
guacamole/src/main/webapp/app/index/services/statusModal.js
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* A modal for displaying the current status.
|
||||
*/
|
||||
angular.module('manage').factory('statusModal', ['btfModal',
|
||||
function statusModal(btfModal) {
|
||||
|
||||
// Create the modal object to be used later to actually create the modal
|
||||
return btfModal({
|
||||
controller: 'statusController',
|
||||
controllerAs: 'modal',
|
||||
templateUrl: 'app/index/templates/status.html'
|
||||
});
|
||||
|
||||
}]);
|
@@ -81,6 +81,7 @@ input[type="submit"], button, a.button {
|
||||
padding-right: 1em;
|
||||
padding-left: 1em;
|
||||
min-width: 5em;
|
||||
margin: 0.25em;
|
||||
|
||||
}
|
||||
|
||||
@@ -171,6 +172,23 @@ div.section {
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.dialog-outer {
|
||||
display: table;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.dialog-middle {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.dialog.edit {
|
||||
max-height: 100%;
|
||||
}
|
||||
@@ -237,6 +255,14 @@ div.section {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dialog.status {
|
||||
width: 3in;
|
||||
}
|
||||
|
||||
.dialog.status > * {
|
||||
margin: 0.25em;
|
||||
};
|
||||
|
||||
/*
|
||||
* List elements
|
||||
*/
|
||||
|
42
guacamole/src/main/webapp/app/index/templates/status.html
Normal file
42
guacamole/src/main/webapp/app/index/templates/status.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<!--
|
||||
Copyright 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.
|
||||
-->
|
||||
|
||||
|
||||
<!-- Dialog container for the modal -->
|
||||
<div class="dialog-outer">
|
||||
<div class="dialog-middle">
|
||||
<div class="dialog status" ng-class="className">
|
||||
|
||||
<!-- Status title -->
|
||||
<p ng-show="title" class="title">{{title | translate}}</p>
|
||||
|
||||
<!-- Status text -->
|
||||
<p ng-show="text" class="status">{{text | translate}}</p>
|
||||
|
||||
<!-- All action buttons, if any -->
|
||||
<div ng-show="actions && actions.length" class="buttons">
|
||||
<button ng-repeat="action in actions" ng-click="fireAction(action)">{{action | translate}}</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Reference in New Issue
Block a user