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.


---