Seth Alvescleanups1b67a8b9 years agoHistory
76 lines · 2.3 KB · JavaScript
RawDownload
////  dynamics-tests-interface.js//  scripts/developer/tests/dynamics/////  Created by Seth Alves 2017-4-30//  Copyright 2017 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html//  "use strict";/* globals $, EventBridge */ var parameters = {    "lifetime":"integer"};  function getQueryArgByName(name, url) {    if (!url) {        url = window.location.href;    }    name = name.replace(/[\[\]]/g, "\\$&");    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),        results = regex.exec(url);    if (!results) return null;    if (!results[2]) return '';    return decodeURIComponent(results[2].replace(/\+/g, " "));}  function addCommandParameters(params) {    // copy from html elements into an associative-array which will get passed (as JSON) through the EventBridge    for (var parameterName in parameters) {        if (parameters.hasOwnProperty(parameterName)) {            var parameterType = parameters[parameterName];            var strVal = $("#" + parameterName).val();            if (parameterType == "integer") {                params[parameterName] = parseInt(strVal);            } else if (parameterType == "float") {                params[parameterName] = parseFloat(strVal);            } else {                params[parameterName] = strVal;            }        }    }    return params;}  $(document).ready(function() {    // hook all buttons to EventBridge    $(":button").each(function(index) {        $(this).click(function() {            EventBridge.emitWebEvent(JSON.stringify(addCommandParameters({ "dynamics-tests-command": this.id })));        });    });     // copy parameters from query-args into elements    for (var parameterName in parameters) {        if (parameters.hasOwnProperty(parameterName)) {            var val = getQueryArgByName(parameterName);            if (val) {                var parameterType = parameters[parameterName];                if (parameterType == "integer") {                    val = parseInt(val);                } else if (parameterType == "float") {                    val = parseFloat(val);                }                $("#" + parameterName).val(val.toString());            }        }    }});