mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-31 09:03:21 +00:00 
			
		
		
		
	GUAC-605: Simplify status modal API.
This commit is contained in:
		| @@ -29,20 +29,18 @@ angular.module('manage').controller('statusController', ['$scope', '$rootScope', | ||||
|     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. | ||||
|      * Fires a guacStatusAction event signalling a chosen action. The status | ||||
|      * modal will be cloased prior to firing the action event. | ||||
|      * | ||||
|      * @param {String} action The name of the action. | ||||
|      */ | ||||
|     $scope.fireAction = function fireAction(action) { | ||||
|  | ||||
|         // Fire action event | ||||
|         var actionEvent = $rootScope.$broadcast('guacStatusAction', action); | ||||
|         // Hide status modal | ||||
|         statusModal.showStatus(false); | ||||
|  | ||||
|         // Close modal unless default is prevented | ||||
|         if (!actionEvent.defaultPrevented) | ||||
|             statusModal.deactivate(); | ||||
|         // Fire action event | ||||
|         $rootScope.$broadcast('guacStatusAction', action); | ||||
|  | ||||
|     }; | ||||
|  | ||||
|   | ||||
| @@ -26,11 +26,53 @@ | ||||
| angular.module('manage').factory('statusModal', ['btfModal',  | ||||
|         function statusModal(btfModal) { | ||||
|  | ||||
|     var service = {}; | ||||
|  | ||||
|     // Create the modal object to be used later to actually create the modal | ||||
|     return btfModal({ | ||||
|     var modalService = btfModal({ | ||||
|         controller: 'statusController', | ||||
|         controllerAs: 'modal', | ||||
|         templateUrl: 'app/index/templates/status.html' | ||||
|     }); | ||||
|  | ||||
|     /** | ||||
|      * Whether the status modal is currently displayed. | ||||
|      * | ||||
|      * @type Boolean | ||||
|      */ | ||||
|     service.shown = false; | ||||
|  | ||||
|     /** | ||||
|      * Shows or hides the status modal. | ||||
|      * | ||||
|      * @param {Boolean|Object} status The status to show, or false to hide the | ||||
|      *                                current status. | ||||
|      * @param {String} [status.title] The title of the status modal. | ||||
|      * @param {String} [status.text] The body text of the status modal. | ||||
|      * @param {String} [status.className] The CSS class name to apply to the | ||||
|      *                                    modal, in addition to the default | ||||
|      *                                    "dialog" and "status" classes. | ||||
|      * @param {String[]} [status.actions] Array of action names which | ||||
|      *                                    correspond to button captions. Each | ||||
|      *                                    action will be displayed as a button | ||||
|      *                                    within the status modal. Clickin a | ||||
|      *                                    button will fire a guacStatusAction | ||||
|      *                                    event. | ||||
|      */ | ||||
|     service.showStatus = function showStatus(status) { | ||||
|  | ||||
|         // Hide any existing status | ||||
|         modalService.deactivate(); | ||||
|         service.shown = false; | ||||
|  | ||||
|         // Show new status if requested | ||||
|         if (status) { | ||||
|             modalService.activate(status); | ||||
|             service.shown = true; | ||||
|         } | ||||
|  | ||||
|     }; | ||||
|  | ||||
|     return service; | ||||
|  | ||||
| }]); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user