PRUSA CONNECT connection status
NA
PRINTER connection status
NA
Printer status
NA
Nozzle Temperature
NA / NA
Heatbed
NA / NA
Printing Speed
NA
Z - Height
NA
Nozzle Diameter
NA
diff --git a/Prusa-Link-Web b/Prusa-Link-Web index 987ee7fd..e56c1951 160000 --- a/Prusa-Link-Web +++ b/Prusa-Link-Web @@ -1 +1 @@ -Subproject commit 987ee7fdbed7da109418c267da3832f2ca598c4e +Subproject commit e56c19514e26d55e47590b9b8c862ab5da6f68ff diff --git a/prusa/link/static/index.html b/prusa/link/static/index.html index e4e7f4b5..f30cb99a 100644 --- a/prusa/link/static/index.html +++ b/prusa/link/static/index.html @@ -1 +1 @@ -
PRUSA CONNECT connection status
NA
PRINTER connection status
NA
Printer status
NA
Nozzle Temperature
NA / NA
Heatbed
NA / NA
Printing Speed
NA
Z - Height
NA
Nozzle Diameter
NA
Welcome to the web interface of your
Original Prusa i3
Please note that values are shown only when the printer is printing.
Welcome to the PrusaLink web interface.
Please insert the API key.
You can find it in Settings -> Network -> Login credentials.
PRUSA CONNECT connection status
NA
PRINTER connection status
NA
Printer status
NA
Nozzle Temperature
NA / NA
Heatbed
NA / NA
Printing Speed
NA
Z - Height
NA
Nozzle Diameter
NA
Welcome to the web interface of your
Original Prusa i3
Please note that values are shown only when the printer is printing.
Welcome to the PrusaLink web interface.
Please insert the API key.
You can find it in Settings -> Network -> Login credentials.
printer coordinates
X axis
0 mm
Y axis
0 mm
Z axis
0 mm
stepper motors
heated bed X and Y move
move step [mm]
nozzle Z move
extruder
extrude/retract step [mm]
nozzle temperature
0°C
speed
100%
heated bed temperature
0°C
flow
100%
0%
0%
Remaining Time
NA
Print Time Estimate
NA
Estimated end
NA
Printing Time
NA
Last Modified
NA
Material
NA
Layer Height
NA
File Size
NA
Upload file
Click to choose a *.sl1 file or drag it here
Source URL
Type URL of G-CODE file
File name
Type or edit file name
Progress
NA
Size
NA
Download Started
NA
Remaining Time
NA
Autostart
NA
Temperatures
Cameras
0%
0%
Remaining Time
NA
Print Time Estimate
NA
Estimated end
NA
Printing Time
NA
Last Modified
NA
Material
NA
Layer Height
NA
File Size
NA
Local
0 GB of 0 GB free
Click to choose a *.sl1 file or drag it here
Source URL
Type URL of G-CODE file
File name
Type or edit file name
Progress
NA
Size
NA
Download Started
NA
Remaining Time
NA
Autostart
NA
x folders | x files
Printing time
Material
parent folder
version
api
hostname
firmware
server
text
sdk
frontend
3.12.0
system version
updates
connection
PRUSA CONNECT
connection status
Successfully connected
3D printer connection status
Successfully connected
printer
printer name
printer location
user
username
new password
repeat password
current password
serial number
serial number
api key
api key
logs
select file
${g(a)}
`,e.appendChild(s);const i=document.createElement("div");i.className="col txt-md",i.innerHTML=`${n}
`,e.appendChild(i),t.appendChild(e)}}(t)})).catch((e=>(0,o.S)(e))),function(){const e=document.getElementById("updates-check"),t=document.getElementById("updates-check__spinner"),a=a=>{a&&document.querySelectorAll(".update-pkg").forEach((e=>{e.parentNode.removeChild(e)})),(0,l.yx)(t,a),(0,l.gL)(e,!a)};e&&t&&(e.onclick=()=>{a(!0),(0,i.LK)("/api/v1/update/prusalink").then((t=>{const s=t.data?.new_version,l=[{name:"PrusaLink",new_version:s}],d=e.parentNode.parentNode.parentNode;l.forEach((e=>{const t=document.createElement("div"),s=document.createElement("div"),l=document.createElement("p"),c=document.createElement("div"),u=document.createElement("p"),p=document.createElement("div"),m=document.createElement("span");if(t.className="row update-pkg",s.className="col",c.className="col",p.className="col",l.className="txt-bold txt-grey txt-sm",u.className="txt-md",m.className="txt-grey txt-sm",l.innerText="PrusaLink",e.new_version){m.innerText=e.new_version;const t=document.createElement("button"),s=document.createElement("p");s.innerText=(0,n.Iu)("btn.upgrade"),t.className="action",t.appendChild(s),p.appendChild(t),t.onclick=()=>{a(!0),(0,i.LK)("/api/v1/update/prusalink",{method:"POST"}).then((()=>{(0,r.Vp)((0,n.Iu)("upgrade.success.title"),(0,n.Iu)("upgrade.success.message")),setTimeout((()=>window.location.href="/"),5e3)})).catch((e=>(0,o.S)(e))).finally((()=>a(!1)))}}else m.innerText="The package is up to date";u.appendChild(m),s.appendChild(l),c.appendChild(u),t.appendChild(s),t.appendChild(c),t.appendChild(p),d.appendChild(t)}))})).catch((e=>(0,o.S)(e))).finally((()=>a(!1)))})}(),function(e){m(e,!0),document.getElementById("edit-connect-del").addEventListener("click",(e=>{(0,i.LK)("api/connection",{method:"DELETE"}).then(u).catch((e=>(0,o.S)(e)))})),document.getElementById("edit-connect-set").addEventListener("click",(e=>{const t=document.getElementById("conn-prusa-connect-url")?.value;if(!t)return;const a=new URL(t);(0,i.LK)("api/connection",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({connect:{hostname:a.hostname,port:a.port?parseInt(a.port):0,tls:a.protocol.startsWith("https")?1:0}})}).then((e=>{const t=e?.data?.url;t&&window.open(t,"_blank")})).catch((e=>(0,o.S)(e)))}))}(e),(0,i.LK)("api/settings").then((e=>{const t=e.data;!function(e){const t=document.querySelector("#settings #printer-name"),a=document.querySelector("#settings #printer-location"),n=document.querySelector("#settings #edit-printer"),s=()=>{(0,l.gL)(n,t.value.length>0&&a.value.length>0)};t.oninput=s,a.oninput=s,t.value=e.printer?.name||"",a.value=e.printer?.location||"","api-key"in e&&p(e["api-key"]),n.onclick=()=>{var e,n;(e=t.value,n=a.value,(0,i.LK)("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({printer:{name:e,location:n}})})).then((()=>u())).catch((e=>(0,o.S)(e)))},s()}(t),function(e){const t=document.querySelector("#settings #username"),a=document.querySelector("#settings #password"),n=document.querySelector("#settings #new-password"),s=document.querySelector("#settings #re-password"),r=document.querySelector("#settings #edit-user"),d=()=>{(0,l.gL)(r,a.value.length>0&&(t.value.length>0||n.value.length>0&&s.value.length>0))};t.oninput=d,a.oninput=d,n.oninput=d,s.oninput=d,t.value=e.username||"",d(),r.onclick=()=>{((e,{username:t,newPassword:a,rePassword:n})=>(0,i.LK)("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:{password:e,username:t,new_password:a,new_repassword:n}})}))(a.value,{username:t.value||void 0,newPassword:n.value||void 0,rePassword:s.value||void 0}).then((()=>u())).catch((e=>(0,o.S)(e)))}}(t)})).catch((e=>(0,o.S)(e))),function(){const e=document.querySelector("#settings #serial"),t=document.querySelector("#settings #edit-serial"),a=()=>{if(e&&t){d&&(e.value=`${d}`);const n=()=>{(0,l.gL)(t,!d&&e.value.length>0),(0,l.yx)(t,!d)};n(),e.oninput=n,(0,l.gL)(e,!d);const s=()=>{var t;(t=e.value,(0,i.LK)("/api/settings/sn",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({serial:t})})).then((e=>{d=e.data.serial,u()})).catch((e=>(0,o.S)(e))).finally((()=>a()))};e.onkeyup=t=>{"Enter"===t.key&&(s(),e.blur())},t.onclick=s}};(0,i.LK)("/api/settings/sn",{headers:{"Content-Type":"application/json"}}).then((e=>{d=e.data.serial})).catch((e=>(0,o.S)(e))).finally((()=>a()))}(),function(){const e=document.getElementById("api_key-reset");e&&e.addEventListener("click",(()=>{(0,i.LK)("api/settings/apikey",{method:"POST"}).then((e=>{p(e.data["api-key"]),u()})).catch((e=>(0,o.S)(e)))}),!1)}(),c?.load()},update:e=>{c?.update(),m(e,!1)}}},5493:(e,t,a)=>{"use strict";a.d(t,{Z:()=>v});var n=a(7780),s=a(6648),i=a(1972),l=a(5412),o=a(1351),r=a(5502);let d=null,c=null;const u=67108864;function p(e){return`
printer coordinates
X axis
0 mm
Y axis
0 mm
Z axis
0 mm
stepper motors
heated bed X and Y move
move step [mm]
nozzle Z move
extruder
extrude/retract step [mm]
nozzle temperature
0°C
speed
100%
heated bed temperature
0°C
flow
100%
0%
0%
Remaining Time
NA
Print Time Estimate
NA
Estimated end
NA
Printing Time
NA
Last Modified
NA
Material
NA
Layer Height
NA
File Size
NA
Upload file
Click to choose a *.sl1 file or drag it here
Source URL
Type URL of G-CODE file
File name
Type or edit file name
Progress
NA
Size
NA
Download Started
NA
Remaining Time
NA
Autostart
NA
Temperatures
Cameras
0%
0%
Remaining Time
NA
Print Time Estimate
NA
Estimated end
NA
Printing Time
NA
Last Modified
NA
Material
NA
Layer Height
NA
File Size
NA
Local
0 GB of 0 GB free
Click to choose a *.sl1 file or drag it here
Source URL
Type URL of G-CODE file
File name
Type or edit file name
Progress
NA
Size
NA
Download Started
NA
Remaining Time
NA
Autostart
NA
x folders | x files
Printing time
Material
parent folder
version
api
hostname
firmware
server
text
sdk
frontend
3.12.0
system version
updates
connection
PRUSA CONNECT
connection status
Successfully connected
3D printer connection status
Successfully connected
printer
printer name
printer location
user
username
new password
repeat password
current password
serial number
serial number
api key
api key
logs
select file
${g(a)}
`,e.appendChild(s);const i=document.createElement("div");i.className="col txt-md",i.innerHTML=`${n}
`,e.appendChild(i),t.appendChild(e)}}(t)})).catch((e=>(0,o.S)(e))),function(){const e=document.getElementById("updates-check"),t=document.getElementById("updates-check__spinner"),a=a=>{a&&document.querySelectorAll(".update-pkg").forEach((e=>{e.parentNode.removeChild(e)})),(0,l.yx)(t,a),(0,l.gL)(e,!a)};e&&t&&(e.onclick=()=>{a(!0),(0,i.LK)("/api/v1/update/prusalink").then((t=>{const s=t.data?.new_version,l=[{name:"PrusaLink",new_version:s}],d=e.parentNode.parentNode.parentNode;l.forEach((e=>{const t=document.createElement("div"),s=document.createElement("div"),l=document.createElement("p"),c=document.createElement("div"),u=document.createElement("p"),p=document.createElement("div"),m=document.createElement("span");if(t.className="row update-pkg",s.className="col",c.className="col",p.className="col",l.className="txt-bold txt-grey txt-sm",u.className="txt-md",m.className="txt-grey txt-sm",l.innerText="PrusaLink",e.new_version){m.innerText=e.new_version;const t=document.createElement("button"),s=document.createElement("p");s.innerText=(0,n.Iu)("btn.upgrade"),t.className="action",t.appendChild(s),p.appendChild(t),t.onclick=()=>{a(!0),(0,i.LK)("/api/v1/update/prusalink",{method:"POST"}).then((()=>{(0,r.Vp)((0,n.Iu)("upgrade.success.title"),(0,n.Iu)("upgrade.success.message")),setTimeout((()=>window.location.href="/"),5e3)})).catch((e=>(0,o.S)(e))).finally((()=>a(!1)))}}else m.innerText="The package is up to date";u.appendChild(m),s.appendChild(l),c.appendChild(u),t.appendChild(s),t.appendChild(c),t.appendChild(p),d.appendChild(t)}))})).catch((e=>(0,o.S)(e))).finally((()=>a(!1)))})}(),function(e){m(e,!0),document.getElementById("edit-connect-del").addEventListener("click",(e=>{(0,i.LK)("api/connection",{method:"DELETE"}).then(u).catch((e=>(0,o.S)(e)))})),document.getElementById("edit-connect-set").addEventListener("click",(e=>{const t=document.getElementById("conn-prusa-connect-url")?.value;if(!t)return;const a=new URL(t);(0,i.LK)("api/connection",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({connect:{hostname:a.hostname,port:a.port?parseInt(a.port):0,tls:a.protocol.startsWith("https")?1:0}})}).then((e=>{const t=e?.data?.url;t&&window.open(t,"_blank")})).catch((e=>(0,o.S)(e)))}))}(e),(0,i.LK)("api/settings").then((e=>{const t=e.data;!function(e){const t=document.querySelector("#settings #printer-name"),a=document.querySelector("#settings #printer-location"),n=document.querySelector("#settings #edit-printer"),s=()=>{(0,l.gL)(n,t.value.length>0&&a.value.length>0)};t.oninput=s,a.oninput=s,t.value=e.printer?.name||"",a.value=e.printer?.location||"","api-key"in e&&p(e["api-key"]),n.onclick=()=>{var e,n;(e=t.value,n=a.value,(0,i.LK)("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({printer:{name:e,location:n}})})).then((()=>u())).catch((e=>(0,o.S)(e)))},s()}(t),function(e){const t=document.querySelector("#settings #username"),a=document.querySelector("#settings #password"),n=document.querySelector("#settings #new-password"),s=document.querySelector("#settings #re-password"),r=document.querySelector("#settings #edit-user"),d=()=>{(0,l.gL)(r,a.value.length>0&&(t.value.length>0||n.value.length>0&&s.value.length>0))};t.oninput=d,a.oninput=d,n.oninput=d,s.oninput=d,t.value=e.username||"",d(),r.onclick=()=>{((e,{username:t,newPassword:a,rePassword:n})=>(0,i.LK)("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:{password:e,username:t,new_password:a,new_repassword:n}})}))(a.value,{username:t.value||void 0,newPassword:n.value||void 0,rePassword:s.value||void 0}).then((()=>u())).catch((e=>(0,o.S)(e)))}}(t)})).catch((e=>(0,o.S)(e))),function(){const e=document.querySelector("#settings #serial"),t=document.querySelector("#settings #edit-serial"),a=()=>{if(e&&t){d&&(e.value=`${d}`);const n=()=>{(0,l.gL)(t,!d&&e.value.length>0),(0,l.yx)(t,!d)};n(),e.oninput=n,(0,l.gL)(e,!d);const s=()=>{var t;(t=e.value,(0,i.LK)("/api/settings/sn",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({serial:t})})).then((e=>{d=e.data.serial,u()})).catch((e=>(0,o.S)(e))).finally((()=>a()))};e.onkeyup=t=>{"Enter"===t.key&&(s(),e.blur())},t.onclick=s}};(0,i.LK)("/api/settings/sn",{headers:{"Content-Type":"application/json"}}).then((e=>{d=e.data.serial})).catch((e=>(0,o.S)(e))).finally((()=>a()))}(),function(){const e=document.getElementById("api_key-reset");e&&e.addEventListener("click",(()=>{(0,i.LK)("api/settings/apikey",{method:"POST"}).then((e=>{p(e.data["api-key"]),u()})).catch((e=>(0,o.S)(e)))}),!1)}(),c?.load()},update:e=>{c?.update(),m(e,!1)}}},5493:(e,t,a)=>{"use strict";a.d(t,{Z:()=>v});var n=a(7780),s=a(6648),i=a(1972),l=a(5412),o=a(1351),r=a(5502);let d=null,c=null;const u=67108864;function p(e){return`