Making test and samples IE/ES5 aware
This commit is contained in:
parent
2a36aa141d
commit
66876aa2f8
|
|
@ -8,8 +8,21 @@
|
|||
<script type="text/javascript" src="lib/jasmine/jasmine.js"></script>
|
||||
<script type="text/javascript" src="lib/jasmine/jasmine-html.js"></script>
|
||||
<script type="text/javascript" src="lib/jasmine/boot.js"></script>
|
||||
<script type="text/javascript" src="lib/signalr/signalr-clientES5.min.js"></script>
|
||||
<script type="text/javascript" src="lib/signalr/signalr-msgpackprotocolES5.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
if (typeof Promise === 'undefined')
|
||||
{
|
||||
document.write(
|
||||
'<script type="text/javascript" src="lib/signalr/signalr-clientES5.min.js"><\/script>' +
|
||||
'<script type="text/javascript" src="lib/signalr/signalr-msgpackprotocolES5.min.js"><\/script>');
|
||||
}
|
||||
else
|
||||
{
|
||||
document.write(
|
||||
'<script type="text/javascript" src="lib/signalr/signalr-client.min.js"><\/script>' +
|
||||
'<script type="text/javascript" src="lib/signalr/signalr-msgpackprotocol.min.js"><\/script>');
|
||||
}
|
||||
</script>
|
||||
|
||||
<script src="js/common.js"></script>
|
||||
<script src="js/webSocketTests.js"></script>
|
||||
<script src="js/connectionTests.js"></script>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,10 @@
|
|||
</ItemGroup>
|
||||
|
||||
<Target Name="CopyTSClient" BeforeTargets="AfterBuild">
|
||||
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\..\client-ts\dist\browser\signalr-client.js" DestinationFolder="$(MSBuildThisFileDirectory)wwwroot\lib\signalr-client" />
|
||||
<ItemGroup>
|
||||
<SignalRJSClientFiles Include="$(MSBuildThisFileDirectory)..\..\client-ts\dist\browser\*" />
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(SignalRJSClientFiles)" DestinationFolder="$(MSBuildThisFileDirectory)wwwroot\lib\signalr-client" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -49,24 +49,37 @@
|
|||
<ul id="message-list"></ul>
|
||||
</body>
|
||||
</html>
|
||||
<script src="lib/signalr-client/signalr-client.js"></script>
|
||||
<script type="text/javascript">
|
||||
if (typeof Promise === 'undefined')
|
||||
{
|
||||
document.write(
|
||||
'<script type="text/javascript" src="lib/signalr-client/signalr-clientES5.js"><\/script>' +
|
||||
'<script type="text/javascript" src="lib/signalr-client/signalr-msgpackprotocolES5.js"><\/script>');
|
||||
}
|
||||
else
|
||||
{
|
||||
document.write(
|
||||
'<script type="text/javascript" src="lib/signalr-client/signalr-client.js"><\/script>' +
|
||||
'<script type="text/javascript" src="lib/signalr-client/signalr-msgpackprotocol.js"><\/script>');
|
||||
}
|
||||
</script>
|
||||
<script src="utils.js"></script>
|
||||
<script>
|
||||
var isConnected = false;
|
||||
function invoke(connection, method, ...args) {
|
||||
function invoke(connection, method) {
|
||||
if (!isConnected) {
|
||||
return;
|
||||
}
|
||||
var argsArray = Array.prototype.slice.call(arguments);
|
||||
connection.invoke.apply(connection, argsArray.slice(1))
|
||||
.then(result => {
|
||||
.then(function(result) {
|
||||
console.log("invocation completed successfully: " + (result === null ? '(null)' : result));
|
||||
|
||||
if (result) {
|
||||
addLine('message-list', result);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
.catch(function(err) {
|
||||
addLine('message-list', err, 'red');
|
||||
});
|
||||
}
|
||||
|
|
@ -87,17 +100,17 @@ let disconnectButton = document.getElementById('disconnect');
|
|||
disconnectButton.disabled = true;
|
||||
var connection;
|
||||
|
||||
click('connect', event => {
|
||||
click('connect', function(event) {
|
||||
connectButton.disabled = true;
|
||||
disconnectButton.disabled = false;
|
||||
console.log(`http://${document.location.host}/${hubRoute}`);
|
||||
let http = new signalR.HttpConnection(`http://${document.location.host}/${hubRoute}`, { transport: transportType, logger: logger });
|
||||
console.log('http://' + document.location.host + '/' + hubRoute);
|
||||
let http = new signalR.HttpConnection('http://' + document.location.host + '/' + hubRoute, { transport: transportType, logger: logger });
|
||||
connection = new signalR.HubConnection(http, logger);
|
||||
connection.on('Send', msg => {
|
||||
connection.on('Send', function(msg) {
|
||||
addLine('message-list', msg);
|
||||
});
|
||||
|
||||
connection.onClosed = e => {
|
||||
connection.onClosed = function(e) {
|
||||
if (e) {
|
||||
addLine('message-list', 'Connection closed with error: ' + e, 'red');
|
||||
}
|
||||
|
|
@ -107,46 +120,46 @@ click('connect', event => {
|
|||
}
|
||||
|
||||
connection.start()
|
||||
.then(() => {
|
||||
.then(function() {
|
||||
isConnected = true;
|
||||
addLine('message-list', 'Connected successfully', 'green');
|
||||
})
|
||||
.catch(err => {
|
||||
.catch(function(err) {
|
||||
addLine('message-list', err, 'red');
|
||||
});
|
||||
});
|
||||
|
||||
click('disconnect', event => {
|
||||
click('disconnect', function(event) {
|
||||
connectButton.disabled = false;
|
||||
disconnectButton.disabled = true;
|
||||
connection.stop()
|
||||
.then(() => {
|
||||
.then(function() {
|
||||
isConnected = false;
|
||||
});
|
||||
});
|
||||
|
||||
click('broadcast', event => {
|
||||
click('broadcast', function(event) {
|
||||
let data = getText('message-text');
|
||||
invoke(connection, 'Send', data);
|
||||
});
|
||||
|
||||
click('join-group', event => {
|
||||
click('join-group', function(event) {
|
||||
let groupName = getText('message-text');
|
||||
invoke(connection, 'JoinGroup', groupName);
|
||||
});
|
||||
|
||||
click('leave-group', event => {
|
||||
click('leave-group', function(event) {
|
||||
let groupName = getText('message-text');
|
||||
invoke(connection, 'LeaveGroup', groupName);
|
||||
});
|
||||
|
||||
click('groupmsg', event => {
|
||||
click('groupmsg', function(event) {
|
||||
let groupName = getText('target');
|
||||
let message = getText('private-message-text');
|
||||
invoke(connection, 'SendToGroup', groupName, message);
|
||||
});
|
||||
|
||||
click('send', event => {
|
||||
click('send', function(event) {
|
||||
let data = getText('me-message-text');
|
||||
invoke(connection, 'Echo', data);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -13,32 +13,41 @@
|
|||
</form>
|
||||
|
||||
<ul id="messages"></ul>
|
||||
<script src="lib/signalr-client/signalr-client.js"></script>
|
||||
<script type="text/javascript">
|
||||
if (typeof Promise === 'undefined')
|
||||
{
|
||||
document.write('<script type="text/javascript" src="lib/signalr-client/signalr-clientES5.js"><\/script>');
|
||||
}
|
||||
else
|
||||
{
|
||||
document.write('<script type="text/javascript" src="lib/signalr-client/signalr-client.js"><\/script>');
|
||||
}
|
||||
</script>
|
||||
<script src="utils.js"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
let transportType = signalR.TransportType[getParameterByName('transport')] || signalR.TransportType.WebSockets;
|
||||
|
||||
document.getElementById('transportName').innerHTML = signalR.TransportType[transportType];
|
||||
|
||||
let url = `http://${document.location.host}/chat`
|
||||
let url = 'http://' + document.location.host + '/chat';
|
||||
let connection = new signalR.HttpConnection(url, { transport: transportType, logger: new signalR.ConsoleLogger(signalR.LogLevel.Information) });
|
||||
|
||||
connection.onDataReceived = data => {
|
||||
connection.onDataReceived = function(data) {
|
||||
let child = document.createElement('li');
|
||||
child.innerText = data;
|
||||
document.getElementById('messages').appendChild(child);
|
||||
};
|
||||
|
||||
document.getElementById('sendmessage').addEventListener('submit', event => {
|
||||
document.getElementById('sendmessage').addEventListener('submit', function(event) {
|
||||
let data = document.getElementById('data').value;
|
||||
connection.send(data);
|
||||
event.preventDefault();
|
||||
});
|
||||
|
||||
connection.start().then(() => {
|
||||
connection.start().then(function() {
|
||||
console.log("Opened");
|
||||
}, () => {
|
||||
}, function() {
|
||||
console.log("Error opening connection");
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -23,10 +23,23 @@
|
|||
<ul id="resultsList"></ul>
|
||||
|
||||
<ul id="messages"></ul>
|
||||
<script src="lib/signalr-client/signalr-client.js"></script>
|
||||
<script type="text/javascript">
|
||||
if (typeof Promise === 'undefined')
|
||||
{
|
||||
document.write(
|
||||
'<script type="text/javascript" src="lib/signalr-client/signalr-clientES5.js"><\/script>' +
|
||||
'<script type="text/javascript" src="lib/signalr-client/signalr-msgpackprotocolES5.js"><\/script>');
|
||||
}
|
||||
else
|
||||
{
|
||||
document.write(
|
||||
'<script type="text/javascript" src="lib/signalr-client/signalr-client.js"><\/script>' +
|
||||
'<script type="text/javascript" src="lib/signalr-client/signalr-msgpackprotocol.js"><\/script>');
|
||||
}
|
||||
</script>
|
||||
<script src="utils.js"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
let resultsList = document.getElementById('resultsList');
|
||||
let channelButton = document.getElementById('channelButton');
|
||||
let observableButton = document.getElementById('observableButton');
|
||||
|
|
@ -42,7 +55,7 @@
|
|||
|
||||
document.getElementById('transportName').innerHTML = signalR.TransportType[transportType];
|
||||
|
||||
let url = `http://${document.location.host}/streaming`
|
||||
let url = 'http://' + document.location.host + '/streaming';
|
||||
let connection = null;
|
||||
|
||||
click('clearButton', function () {
|
||||
|
|
@ -87,17 +100,17 @@
|
|||
function run(method) {
|
||||
let id = invocationCounter;
|
||||
invocationCounter += 1;
|
||||
addLine('resultsList', `running ${method}(${id}) ...`);
|
||||
addLine('resultsList', 'running ' + method + '(' + id + ') ...');
|
||||
connection.stream(method, 10, (Math.random() * 5) * 200).subscribe({
|
||||
closed: false,
|
||||
next: function (item) {
|
||||
addLine('resultsList', `${method}(${id}): ${item}`);
|
||||
addLine('resultsList', method + '(' + id + '): ' + item);
|
||||
},
|
||||
error: function (err) {
|
||||
addLine('resultsList', `${method}(${id}): ${err}`, 'red');
|
||||
addLine('resultsList', method + '(' + id + '):' + err, 'red');
|
||||
},
|
||||
complete: function () {
|
||||
addLine('resultsList', `${method}(${id}): complete`, 'green');
|
||||
addLine('resultsList', method + '(' + id + '): complete', 'green');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ function getParameterByName(name, url) {
|
|||
}
|
||||
|
||||
function click(id, callback) {
|
||||
document.getElementById(id).addEventListener('click', event => {
|
||||
document.getElementById(id).addEventListener('click', function (event) {
|
||||
callback(event);
|
||||
event.preventDefault();
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue