on master help sign in
add protocol and path selection in websocket client page

resolves #69

commit2bb187ddb0c75674f8d9690271322b5d88ef2a5c authorAgentM <agentm@themactionfaction.com> dateFri 27 Jan 2017, 23:40 (10 years ago) parent1d1913d
3 files changed+39−15
src/bin/ProjectM36/Server/WebSocket/project-m36.js+7−5 src/bin/ProjectM36/Server/WebSocket/websocket-client.html+10−1 src/bin/ProjectM36/Server/WebSocket/websocket-client.js+22−9
src/bin/ProjectM36/Server/WebSocket/project-m36.js+7−5
@@ -1,8 +1,10 @@
1−var ProjectM36Connection = function (host, port, dbname, openCallback, errorCallback, statusCallback, promptCallback, closeCallback) {
2− this.host = host
3− this.port = port
4− this.dbname = dbname
5− var connectURL = "ws://" + host + ":" + port + "/";
1+var ProjectM36Connection = function (protocol, host, port, path, dbname, openCallback, errorCallback, statusCallback, promptCallback, closeCallback) {
2+ this.protocol = protocol;
3+ this.host = host;
4+ this.port = port;
5+ this.path = path;
6+ this.dbname = dbname;
7+ var connectURL = protocol + '://' + host + ":" + port + "/" + path;
68 var socket = new WebSocket(connectURL);
79 var self = this;
810 socket.onopen = function(event) {
src/bin/ProjectM36/Server/WebSocket/websocket-client.html+10−1
@@ -96,7 +96,16 @@ margin-bottom: 5pt;
9696<div id="sheet">
9797 <div id="interactor">
9898 <form onsubmit="return connectOrDisconnect(this);" id="connection">
99− <label id="conninfo">Connect to:</label><input type="text" name="host" value="localhost" placeholder="Host"/>:<input type="number" placeholder="Port" name="port" min="0" max="32767" value="8888"/>/<input type="text" placeholder="Database Name" name="dbname" value="test"/><input type="submit" name="connect" value="Connect"/>
99+ <span id="conninfo">Connect to: </span>
100+ <select name="protocol">
101+ <option value="wss" selected="selected">wss://</option>
102+ <option value="ws">ws://</option>
103+ </select>
104+ <input type="text" name="host" value="localhost" placeholder="Host"/>:
105+ <input type="number" placeholder="Port" name="port" min="0" max="32767" value="8888"/>/
106+ <input type="text" name="path" placeholder="path" value=""/>
107+ <label>database:</label><input type="text" placeholder="Database Name" name="dbname" value="test"/>
108+ <input type="submit" name="connect" value="Connect"/>
100109 </form>
101110 <form onsubmit="return execTutorialD();">
102111 <input type="textarea" id="tutd" placeholder="Enter a TutorialD query here."/>
src/bin/ProjectM36/Server/WebSocket/websocket-client.js+22−9
@@ -54,8 +54,10 @@ var conn;
5454function connectOrDisconnect(form)
5555{
5656 var formin = form.elements;
57+ var protocol = formin["protocol"].value;
5758 var host = formin["host"].value;
5859 var port = formin["port"].value;
60+ var path = formin["path"].value;
5961 var dbname = formin["dbname"].value;
6062
6163 var conninfo = document.getElementById("conninfo");
@@ -74,7 +76,8 @@ function connectOrDisconnect(form)
7476 {
7577 //connect
7678 conninfo.textContent = "Connected to:";
77− window.conn = new ProjectM36Connection(host, port, dbname,
79+ window.conn = new ProjectM36Connection(protocol, host, port, path,
80+ dbname,
7881 connectionOpened,
7982 connectionError,
8083 updateStatus,
@@ -101,8 +104,13 @@ function connectionClosed(event)
101104function toggleConnectionFields(form, enabled, status)
102105{
103106 form.elements["connect"].value = status;
104− var readonlyElements = [form.elements["host"], form.elements["port"], form.elements["dbname"]];
105− var evalButton = document.getElementById("eval");
107+ var readonlyElements = [form.elements["host"],
108+ form.elements["port"],
109+ form.elements["dbname"],
110+ form.elements["path"]];
111+ var disableElements = [form.elements["protocol"],
112+ document.getElementById("eval")
113+ ]
106114
107115 for(var ein=0; ein < readonlyElements.length; ein++)
108116 {
@@ -117,13 +125,18 @@ function toggleConnectionFields(form, enabled, status)
117125 }
118126 }
119127 //also update the eval/submit button
120− if(enabled)
128+ for(var ein=0; ein < disableElements.length; ein++)
121129 {
122− evalButton.setAttribute("disabled", "disabled");
123− }
124− else
125− {
126− evalButton.removeAttribute("disabled");
130+ var e = disableElements[ein];
131+ if(enabled)
132+ {
133+ e.removeAttribute("disabled");
134+ }
135+ else
136+ {
137+ e.setAttribute("disabled", "disabled");
138+
139+ }
127140 }
128141
129142}