diff --git a/example/app.js b/example/app.js index 946ce2f..c3f117c 100644 --- a/example/app.js +++ b/example/app.js @@ -1,80 +1,94 @@ -import $ from 'jquery'; import Doodle3DAPI from 'doodle3d-API'; import rest from 'rest-API'; var api = "http://connect.doodle3d.com/api/"; +var known = []; function addBox (boxData) { - var row = document.createElement('tr'); - row.style.color = "gray"; + if (know.indexOf(boxData.localip) === -1) { + known.push(boxData.localip); - var id = document.createElement('td'); - var localIP = document.createElement('td'); - var bed = document.createElement('td'); - var bedTarget = document.createElement('td'); - var bufferedLines = document.createElement('td'); - var currentLine = document.createElement('td'); - var hasControl = document.createElement('td'); - var hotend = document.createElement('td'); - var hotendTarget = document.createElement('td'); - var state = document.createElement('td'); - var totalLines = document.createElement('td'); - - row.appendChild(id); - row.appendChild(localIP); - row.appendChild(bed); - row.appendChild(bedTarget); - row.appendChild(bufferedLines); - row.appendChild(currentLine); - row.appendChild(hasControl); - row.appendChild(hotend); - row.appendChild(hotendTarget); - row.appendChild(state); - row.appendChild(totalLines); - - id.innerHTML = boxData.wifiboxid; - localIP.innerHTML = boxData.localip; - - document.getElementById("table").appendChild(row); - - var doodle3DAPI = new Doodle3DAPI(boxData.localip); - doodle3DAPI.onconnect = function () { - row.style.color = "black"; - }; - doodle3DAPI.ondisconnect = function () { + var row = document.createElement('tr'); row.style.color = "gray"; - }; - doodle3DAPI.onupdate = function (data) { - state.innerHTML = data.state; - if (data.state === "idle") { - bed.innerHTML = data.bed; - bedTarget.innerHTML = data.bed_target; - bufferedLines.innerHTML = data.buffered_lines; - currentLine.innerHTML = data.current_line; - hasControl.innerHTML = data.has_control; - hotend.innerHTML = data.hotend; - hotendTarget.innerHTML = data.hotend_target; + + var id = document.createElement('td'); + var localIP = document.createElement('td'); + var bed = document.createElement('td'); + var bedTarget = document.createElement('td'); + var bufferedLines = document.createElement('td'); + var currentLine = document.createElement('td'); + var hasControl = document.createElement('td'); + var hotend = document.createElement('td'); + var hotendTarget = document.createElement('td'); + var state = document.createElement('td'); + var totalLines = document.createElement('td'); + + row.appendChild(id); + row.appendChild(localIP); + row.appendChild(bed); + row.appendChild(bedTarget); + row.appendChild(bufferedLines); + row.appendChild(currentLine); + row.appendChild(hasControl); + row.appendChild(hotend); + row.appendChild(hotendTarget); + row.appendChild(state); + row.appendChild(totalLines); + + id.innerHTML = boxData.wifiboxid; + localIP.innerHTML = boxData.localip; + + document.getElementById("table").appendChild(row); + + var doodle3DAPI = new Doodle3DAPI(boxData.localip); + doodle3DAPI.onconnect = function () { + row.style.color = "black"; + }; + doodle3DAPI.ondisconnect = function () { + row.style.color = "gray"; + }; + doodle3DAPI.onupdate = function (data) { state.innerHTML = data.state; - totalLines.innerHTML = data.total_lines; - } - else { - } - }; - doodle3DAPI.startUpdateLoop(); + if (data.state === "idle") { + bed.innerHTML = data.bed; + bedTarget.innerHTML = data.bed_target; + bufferedLines.innerHTML = data.buffered_lines; + currentLine.innerHTML = data.current_line; + hasControl.innerHTML = data.has_control; + hotend.innerHTML = data.hotend; + hotendTarget.innerHTML = data.hotend_target; + state.innerHTML = data.state; + totalLines.innerHTML = data.total_lines; + } + else { + } + }; + doodle3DAPI.startUpdateLoop(); + } } -rest.get(api + "list.php", function (error, boxes) { - if (error) { - return; - console.warn(error); - } +function searchBoxes () { + rest.get(api + "list.php", function (error, boxes) { + if (error) { + return; + console.warn(error); + } - for (var i = 0; i < boxes.length; i ++) { - var box = boxes[i]; + for (var i = 0; i < boxes.length; i ++) { + var box = boxes[i]; - addBox(box); - } + addBox(box); + } + }); +} + +setInterval(searchBoxes, 5000); +searchBoxes(); + +addBox({ + localip: window.location.host + ":3000", + wifiboxid: "Node Server" }); addBox({ diff --git a/package.json b/package.json index b9a84c6..267e411 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,16 @@ "babel": "npm:babel-core@^5.1.13", "babel-runtime": "npm:babel-runtime@^5.1.13", "core-js": "npm:core-js@^0.9.4" + }, + "map": { + "config-API": "src/configapi", + "info-API": "src/infoapi", + "network-API": "src/networkapi", + "printer-API": "src/printerapi", + "rest-API": "src/restapi", + "sketch-API": "src/sketchapi", + "system-API": "src/systemapi", + "update-API": "src/updateapi" } } } diff --git a/src/sketchapi.js b/src/sketchapi.js index 3e9ef22..d6fbe76 100644 --- a/src/sketchapi.js +++ b/src/sketchapi.js @@ -6,9 +6,9 @@ export default class { this.api = `http://${localIP}/d3dapi/`; } - getSketch (id, callback) { + getSketch (id, callback) { rest.get(this.api + 'sketch/?id=' + id, callback); - + return this; } @@ -16,19 +16,19 @@ export default class { rest.post(this.api + 'sketch', { 'data': data }, callback); - + return this; } status (callback) { rest.get(this.api + 'sketch/status', callback); - + return this; } clear (callback) { rest.post(this.api + 'sketch/clear', callback); - + return this; } } \ No newline at end of file diff --git a/src/updateapi.js b/src/updateapi.js index 1c75d31..1ae2df3 100644 --- a/src/updateapi.js +++ b/src/updateapi.js @@ -8,7 +8,7 @@ export default class { status (callback) { rest.get(this.api + 'update/status', callback); - + return this; } @@ -16,7 +16,7 @@ export default class { //not tested rest.post(this.api + 'update/download', {}, callback); - + return this; } @@ -24,7 +24,7 @@ export default class { //not tested rest.post(this.api + 'update/install', {}, callback); - + return this; } @@ -32,7 +32,7 @@ export default class { //not tested rest.post(this.api + 'update/clear', {}, callback); - + return this; } } \ No newline at end of file