mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-31 00:53:21 +00:00 
			
		
		
		
	GUACAMOLE-422: Define field type which represents the ID of any supported language.
This commit is contained in:
		| @@ -0,0 +1,54 @@ | ||||
| /* | ||||
|  * Licensed to the Apache Software Foundation (ASF) under one | ||||
|  * or more contributor license agreements.  See the NOTICE file | ||||
|  * distributed with this work for additional information | ||||
|  * regarding copyright ownership.  The ASF licenses this file | ||||
|  * to you under the Apache License, Version 2.0 (the | ||||
|  * "License"); you may not use this file except in compliance | ||||
|  * with the License.  You may obtain a copy of the License at | ||||
|  * | ||||
|  *   http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, | ||||
|  * software distributed under the License is distributed on an | ||||
|  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||||
|  * KIND, either express or implied.  See the License for the | ||||
|  * specific language governing permissions and limitations | ||||
|  * under the License. | ||||
|  */ | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Controller for the language field type. The language field type allows the | ||||
|  * user to select a language from the set of languages supported by the | ||||
|  * Guacamole web application. | ||||
|  */ | ||||
| angular.module('form').controller('languageFieldController', ['$scope', '$injector', | ||||
|     function languageFieldController($scope, $injector) { | ||||
|  | ||||
|     // Required services | ||||
|     var languageService = $injector.get('languageService'); | ||||
|     var requestService  = $injector.get('requestService'); | ||||
|  | ||||
|     /** | ||||
|      * A map of all available language keys to their human-readable | ||||
|      * names. | ||||
|      * | ||||
|      * @type Object.<String, String> | ||||
|      */ | ||||
|     $scope.languages = null; | ||||
|  | ||||
|     // Retrieve defined languages | ||||
|     languageService.getLanguages().then(function languagesRetrieved(languages) { | ||||
|         $scope.$apply(function updateLanguageOptions() { | ||||
|             $scope.languages = languages; | ||||
|         }); | ||||
|     }, requestService.DIE); | ||||
|  | ||||
|     // Interpret undefined/null as empty string | ||||
|     $scope.$watch('model', function setModel(model) { | ||||
|         if (!model && model !== '') | ||||
|             $scope.model = ''; | ||||
|     }); | ||||
|  | ||||
| }]); | ||||
| @@ -20,4 +20,7 @@ | ||||
| /** | ||||
|  * Module for displaying dynamic forms. | ||||
|  */ | ||||
| angular.module('form', ['locale']); | ||||
| angular.module('form', [ | ||||
|     'locale', | ||||
|     'rest' | ||||
| ]); | ||||
|   | ||||
| @@ -130,6 +130,21 @@ angular.module('form').provider('formService', function formServiceProvider() { | ||||
|             templateUrl : 'app/form/templates/textAreaField.html' | ||||
|         }, | ||||
|  | ||||
|         /** | ||||
|          * Field type which allows selection of languages. The languages | ||||
|          * displayed are the set of languages supported by the Guacamole web | ||||
|          * application. Legal values are valid language IDs, as dictated by | ||||
|          * the filenames of Guacamole's available translations. | ||||
|          * | ||||
|          * @see {@link Field.Type.LANGUAGE} | ||||
|          * @type FieldType | ||||
|          */ | ||||
|         'LANGUAGE' : { | ||||
|             module      : 'form', | ||||
|             controller  : 'languageFieldController', | ||||
|             templateUrl : 'app/form/templates/languageField.html' | ||||
|         }, | ||||
|  | ||||
|         /** | ||||
|          * Field type which allows selection of time zones. | ||||
|          * | ||||
|   | ||||
| @@ -0,0 +1 @@ | ||||
| <select ng-model="model" ng-options="language.key as language.value for language in languages | toArray | orderBy: key"></select> | ||||
		Reference in New Issue
	
	Block a user