GUAC-800: Migrate to JSON for protocol descriptions. Use full Forms instead of simply Fields for protocol parameters (allow sections).

This commit is contained in:
Michael Jumper
2015-05-25 19:56:53 -07:00
parent 96f5ab1bbd
commit 43fab89ecf
31 changed files with 1271 additions and 877 deletions

View File

@@ -29,6 +29,8 @@
.connection-parameters .form .fields {
display: table;
padding-left: .5em;
border-left: 3px solid rgba(0,0,0,0.125);
}
.connection-parameters .form .fields .labeled-field {
@@ -41,3 +43,7 @@
padding: 0.125em;
vertical-align: top;
}
.connection-parameters .form .fields .field-header {
padding-right: 1em;
}

View File

@@ -61,7 +61,7 @@ THE SOFTWARE.
<h2 class="header">{{'MANAGE_CONNECTION.SECTION_HEADER_PARAMETERS' | translate}}</h2>
<div class="section connection-parameters" ng-class="{loading: !parameters}">
<guac-form namespace="getNamespace(connection.protocol)"
content="protocols[connection.protocol].parameters"
content="protocols[connection.protocol].forms"
model="parameters"></guac-form>
</div>

View File

@@ -54,13 +54,13 @@ angular.module('rest').factory('Protocol', [function defineProtocol() {
this.title = template.title;
/**
* An array of all known parameters for this protocol, their types,
* and other information.
* An array of forms containing all known parameters for this protocol,
* their types, and other information.
*
* @type Field[]
* @type Form[]
* @default []
*/
this.parameters = template.parameters || [];
this.forms = template.forms || [];
};

View File

@@ -247,7 +247,7 @@
"FIELD_HEADER_DISABLE_AUDIO" : "Disable audio:",
"FIELD_HEADER_DISABLE_AUTH" : "Disable authentication:",
"FIELD_HEADER_DOMAIN" : "Domain:",
"FIELD_HEADER_DPI" : "Display resolution (DPI):",
"FIELD_HEADER_DPI" : "Resolution (DPI):",
"FIELD_HEADER_DRIVE_PATH" : "Drive path:",
"FIELD_HEADER_ENABLE_DRIVE" : "Enable drive:",
"FIELD_HEADER_ENABLE_PRINTING" : "Enable printing:",
@@ -257,9 +257,9 @@
"FIELD_HEADER_INITIAL_PROGRAM" : "Initial program:",
"FIELD_HEADER_PASSWORD" : "Password:",
"FIELD_HEADER_PORT" : "Port:",
"FIELD_HEADER_REMOTE_APP_ARGS" : "RemoteApp parameters:",
"FIELD_HEADER_REMOTE_APP_DIR" : "RemoteApp working directory:",
"FIELD_HEADER_REMOTE_APP" : "RemoteApp program:",
"FIELD_HEADER_REMOTE_APP_ARGS" : "Parameters:",
"FIELD_HEADER_REMOTE_APP_DIR" : "Working directory:",
"FIELD_HEADER_REMOTE_APP" : "Program:",
"FIELD_HEADER_SECURITY" : "Security mode:",
"FIELD_HEADER_SERVER_LAYOUT" : "Keyboard layout:",
"FIELD_HEADER_USERNAME" : "Username:",
@@ -286,7 +286,14 @@
"FIELD_OPTION_SERVER_LAYOUT_IT_IT_QWERTY" : "Italian (Qwerty)",
"FIELD_OPTION_SERVER_LAYOUT_SV_SE_QWERTY" : "Swedish (Qwerty)",
"NAME" : "RDP"
"NAME" : "RDP",
"SECTION_HEADER_AUTHENTICATION" : "Authentication",
"SECTION_HEADER_BASIC_PARAMETERS" : "Basic Settings",
"SECTION_HEADER_DEVICE_REDIRECTION" : "Device Redirection",
"SECTION_HEADER_DISPLAY" : "Display",
"SECTION_HEADER_NETWORK" : "Network",
"SECTION_HEADER_REMOTEAPP" : "RemoteApp"
},
@@ -318,7 +325,12 @@
"FIELD_OPTION_FONT_SIZE_96" : "96",
"FIELD_OPTION_FONT_SIZE_EMPTY" : "",
"NAME" : "SSH"
"NAME" : "SSH",
"SECTION_HEADER_AUTHENTICATION" : "Authentication",
"SECTION_HEADER_DISPLAY" : "Display",
"SECTION_HEADER_NETWORK" : "Network",
"SECTION_HEADER_SFTP" : "SFTP"
},
@@ -348,7 +360,11 @@
"FIELD_OPTION_FONT_SIZE_96" : "96",
"FIELD_OPTION_FONT_SIZE_EMPTY" : "",
"NAME" : "Telnet"
"NAME" : "Telnet",
"SECTION_HEADER_AUTHENTICATION" : "Authentication",
"SECTION_HEADER_DISPLAY" : "Display",
"SECTION_HEADER_NETWORK" : "Network"
},
@@ -357,8 +373,8 @@
"FIELD_HEADER_AUDIO_SERVERNAME" : "Audio server name:",
"FIELD_HEADER_COLOR_DEPTH" : "Color depth:",
"FIELD_HEADER_CURSOR" : "Cursor:",
"FIELD_HEADER_DEST_HOST" : "Repeater destination host:",
"FIELD_HEADER_DEST_PORT" : "Repeater destination port:",
"FIELD_HEADER_DEST_HOST" : "Destination host:",
"FIELD_HEADER_DEST_PORT" : "Destination port:",
"FIELD_HEADER_ENABLE_AUDIO" : "Enable audio:",
"FIELD_HEADER_HOSTNAME" : "Hostname:",
"FIELD_HEADER_PASSWORD" : "Password:",
@@ -376,7 +392,13 @@
"FIELD_OPTION_CURSOR_LOCAL" : "Local",
"FIELD_OPTION_CURSOR_REMOTE" : "Remote",
"NAME" : "VNC"
"NAME" : "VNC",
"SECTION_HEADER_AUDIO" : "Audio",
"SECTION_HEADER_AUTHENTICATION" : "Authentication",
"SECTION_HEADER_DISPLAY" : "Display",
"SECTION_HEADER_NETWORK" : "Network",
"SECTION_HEADER_REPEATER" : "VNC Repeater"
},