1 |
|
2 |
|
3 |
|
4 |
|
5 | ;(function(){
|
6 | 'use strict';
|
7 |
|
8 | this.onload = function(){
|
9 | var wsServer = 'ws://127.0.0.1:{{@port}}';
|
10 | var websocket, wsStin;
|
11 |
|
12 | function init(){
|
13 |
|
14 | _addBuildLoadingElment();
|
15 |
|
16 | websocket = new WebSocket(wsServer);
|
17 | websocket.onopen = onOpen;
|
18 | websocket.onclose = onClose;
|
19 | websocket.onmessage = onMessage;
|
20 | websocket.onerror = onError;
|
21 | }
|
22 |
|
23 | init();
|
24 |
|
25 | function onOpen(evt) {
|
26 | console.log("Connected to WebSocket server.");
|
27 | websocket.send('client connected');
|
28 | }
|
29 | function onClose(evt) {
|
30 | console.log("Disconnected");
|
31 | }
|
32 | function onMessage(evt) {
|
33 | console.log(evt.data);
|
34 | var message = evt.data;
|
35 | if(/start\sbuilding/gi.test(message)){
|
36 | _showBuildLoading();
|
37 | }
|
38 | else if(/server\sreload/gi.test(message)){
|
39 | location.reload(true);
|
40 | }
|
41 | }
|
42 | function onError(evt) {
|
43 | console.log('Error occured: ' + evt.data);
|
44 | }
|
45 |
|
46 | function _addBuildLoadingElment(){
|
47 | var id = '_build-loading-live-reload',
|
48 | buildElm = document.querySelector('#' + id);
|
49 | if(buildElm) return buildElm;
|
50 |
|
51 | buildElm = document.createElement('div');
|
52 | buildElm.id = id;
|
53 | buildElm.className = id;
|
54 | var spiner = document.createElement('div');
|
55 | spiner.className = '_build-loading-spiner _build-rounding';
|
56 | var text = document.createElement('span');
|
57 | text.className = '_build-loading-text';
|
58 | text.textContent = 'building......';
|
59 |
|
60 | buildElm.appendChild(spiner);
|
61 | buildElm.appendChild(text);
|
62 | document.body.appendChild(buildElm);
|
63 |
|
64 | }
|
65 | function _showBuildLoading(){
|
66 | var buildElm = document.querySelector('#_build-loading-live-reload');
|
67 | buildElm && buildElm.classList.add('_build-loading-slide-down');
|
68 | }
|
69 |
|
70 | };
|
71 |
|
72 | }).call(this);
|