Using custom.html again to ensure that data is uploaded.

pull/1995/head
David Peer 2022-06-26 12:40:28 +02:00
parent 8b9a34aab0
commit cc7e5600e3
3 changed files with 44 additions and 50 deletions

43
apps/ha/custom.html Normal file
View File

@ -0,0 +1,43 @@
<html>
<head>
<link rel="stylesheet" href="../../css/spectre.min.css">
</head>
<body>
<h3>Upload Tiggers</h3>
<p>You must upload a list of json objects -- an example is given below</p>
<p><textarea id="triggers" style="width:500px; height:300px">
[
{"display": "Open", "trigger": "OPEN_DOOR", "icon":"door"},
{"display": "Office", "trigger": "TOGGLE_LIGHT", "icon":"light"},
{"display": "Living Room", "trigger": "OVEN", "icon":"fire"}
]
</textarea></p>
<p><button id="upload" class="btn btn-primary">Upload</button></p>
<script src="../../core/lib/customize.js"></script>
<script>
Puck.eval(`require("Storage").read(${JSON.stringify("ha.trigger.json")})`,data=>{
console.log(data);
});
// When the 'upload' button is clicked...
document.getElementById("upload").addEventListener("click", function() {
// get the text to add
var text = document.getElementById("triggers").value;
console.log(text);
// build the app's text using a templated String
var app = text;
// send finished app (in addition to contents of app.json)
sendCustomizedApp({
storage:[
{name:"ha.trigger.json", url:"ha.trigger.json", content:app},
]
});
console.log("Sent ha.trigger.json!");
});
</script>
</body>
</html>

View File

@ -1,49 +0,0 @@
<html>
<head>
<link rel="stylesheet" href="../../css/spectre.min.css">
</head>
<body>
<h3>Upload Tiggers</h3>
<p>You must upload a list of json objects -- an example is given below</p>
<p><textarea id="triggers" style="width:500px; height:300px">
[
{"display": "Open", "trigger": "OPEN_DOOR", "icon":"door"},
{"display": "Office", "trigger": "TOGGLE_LIGHT", "icon":"light"},
{"display": "Living Room", "trigger": "OVEN", "icon":"fire"}
]
</textarea></p>
<p><button id="upload" class="btn btn-primary">Upload</button></p>
<script src="../../core/lib/interface.js"></script>
<script src="../../core/lib/espruinotools.js"></script>
<script>
function loadData(){
Util.showModal("Download trigger from your BangleJs...")
try{
Puck.eval(`require("Storage").read(${JSON.stringify("ha.trigger.json")})`,data=>{
document.getElementById("triggers").innerHTML = data;
Util.hideModal();
});
} catch(ex){}
Util.hideModal();
}
function writeData(){
var data = document.getElementById("triggers").value;
console.log(data);
Puck.eval(`require("Storage").write(${JSON.stringify("ha.trigger.json")},${data})`, ()=>{});
}
document.getElementById("upload").addEventListener("click", function() {
writeData();
});
function onInit(){
loadData();
}
</script>
</body>
</html>

View File

@ -8,7 +8,7 @@
"tags": "tool",
"readme": "README.md",
"supports": ["BANGLEJS2"],
"interface": "interface.html",
"custom": "trigger.html",
"screenshots": [
{"url":"screenshot.png"},
{"url":"screenshot_2.png"},