You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by mike-jumper <gi...@git.apache.org> on 2017/09/22 06:01:12 UTC
[GitHub] incubator-guacamole-client pull request #181: GUACAMOLE-38: Implement on-dem...
Github user mike-jumper commented on a diff in the pull request:
https://github.com/apache/incubator-guacamole-client/pull/181#discussion_r140417241
--- Diff: extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js ---
@@ -0,0 +1,186 @@
+/*
+ * 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.
+ */
+
+/**
+ * The controller for making ad-hoc (quick) connections
+ */
+angular.module('guacQuickConnect').controller('quickconnectController', ['$scope', '$injector', '$log',
+ function manageConnectionController($scope, $injector, $log) {
+
+ // Required types
+ var ClientIdentifier = $injector.get('ClientIdentifier');
+ var Connection = $injector.get('Connection');
+
+ // Required services
+ var $location = $injector.get('$location');
+ var $routeParams = $injector.get('$routeParams');
+ var guacNotification = $injector.get('guacNotification');
+ var connectionService = $injector.get('connectionService');
+ var schemaService = $injector.get('schemaService');
+
+ /**
+ * An action to be provided along with the object sent to showStatus which
+ * closes the currently-shown status dialog.
+ */
+ var ACKNOWLEDGE_ACTION = {
+ name : "MANAGE_CONNECTION.ACTION_ACKNOWLEDGE",
+ // Handle action
+ callback : function acknowledgeCallback() {
+ guacNotification.showStatus(false);
+ }
+ };
+
+ $scope.uri = null;
+
+ $scope.selectedDataSource = 'quickconnect';
+
+ /**
+ * Saves the connection, creating a new connection or updating the existing
+ * connection.
+ */
+ $scope.quickConnect = function quickConnect() {
+
+ // Construct parameters from URI...
+ /**
+ * Parse URL into the following components:
+ * [0] - Full URL
+ * [3] - Protocol
+ * [5] - Username
+ * [7] - Password
+ * [8] - Hostname
+ * [10] - Port
+ * [11] - Path
+ * [13] - Document
+ * [15] - Parameters
+ * [17] - JS Route
+ */
+ var regexURL = /^(((rdp|ssh|telnet|vnc)?):\/)?\/?((.*?)(:(.*?)|)@)?([^:\/\s]+)(:([^\/]*))?((\/\w+\/)*)([-\w.\/]+[^#?\s]*)?(\?([^#]*))?(#(.*))?$/g;
--- End diff --
Whoa.
---