mirror of https://github.com/espruino/BangleApps
Message widgets: we don't need a library
parent
605f87bb8f
commit
ec410fdac7
|
@ -1,3 +1,4 @@
|
|||
0.55: Moved messages library into standalone library
|
||||
0.56: Fix handling of music messages
|
||||
0.57: Optimize saving empty message list
|
||||
0.58: show/hide "messages" widget directly, instead of through library stub
|
||||
|
|
|
@ -125,9 +125,10 @@ exports.openGUI = function(msg) {
|
|||
* @param {boolean} show
|
||||
*/
|
||||
exports.toggleWidget = function(show) {
|
||||
if (!require("Storage").read("messagewidget")) return; // "messagewidget" module is missing!
|
||||
if (show) require("messagewidget").show();
|
||||
else require("messagewidget").hide();
|
||||
if (!global.WIDGETS || !WIDGETS["messages"]) return; // widget is missing!
|
||||
const method = WIDGETS["messages"][show ? "show" : "hide"];
|
||||
/* if (typeof(method)!=="function") return; // widget must always have show()+hide(), fail hard rather than hide problems */
|
||||
method.apply(WIDGETS["messages"]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "messages",
|
||||
"name": "Messages",
|
||||
"version": "0.57",
|
||||
"version": "0.58",
|
||||
"description": "Library to handle, load and store message events received from Android/iOS",
|
||||
"icon": "app.png",
|
||||
"type": "module",
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
0.01: Moved messages widget into standalone widget app
|
||||
0.01: Moved messages widget into standalone widget app
|
||||
0.02: Remove library stub
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
exports.hide = function() {
|
||||
if (!global.WIDGETS||!WIDGETS["messages"]) return;
|
||||
WIDGETS["messages"].hide();
|
||||
}
|
||||
exports.show = function() {
|
||||
if (!global.WIDGETS||!WIDGETS["messages"]) return;
|
||||
WIDGETS["messages"].show();
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "widmessages",
|
||||
"name": "Message Widget",
|
||||
"version": "0.01",
|
||||
"version": "0.02",
|
||||
"description": "Widget showing new messages",
|
||||
"icon": "app.png",
|
||||
"type": "widget",
|
||||
|
@ -9,12 +9,10 @@
|
|||
"supports": ["BANGLEJS","BANGLEJS2"],
|
||||
"screenshots": [{"url": "screenshot.gif"}],
|
||||
"dependencies" : { "messageicons":"module" },
|
||||
"provides_modules" : ["messagewidget"],
|
||||
"provides_widgets" : ["message"],
|
||||
"default" : true,
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
{"name":"messagewidget","url":"lib.js"},
|
||||
{"name":"widmessages.wid.js","url":"widget.js"}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
.filter((msg, i, arr) => arr.findIndex(nmsg => msg.src == nmsg.src) == i);
|
||||
}
|
||||
|
||||
// NOTE when adding a custom "essages" widget:
|
||||
// the name still needs to be "messages": the library calls WIDGETS["messages'].hide()/show()
|
||||
// see e.g. widmsggrid
|
||||
WIDGETS["messages"] = {
|
||||
area: "tl", width: 0, srcs: [], draw: function(recall) {
|
||||
// If we had a setTimeout queued from the last time we were called, remove it
|
||||
|
@ -54,7 +57,9 @@
|
|||
var w = WIDGETS["messages"];
|
||||
if (!w || !w.width || c.x<w.x || c.x>w.x+w.width || c.y<w.y || c.y>w.y+24) return;
|
||||
require("messages").openGUI();
|
||||
}, hide() {
|
||||
},
|
||||
// hide() and show() are required by the "message" library!
|
||||
hide() {
|
||||
this.hidden=true;
|
||||
if (this.width) {
|
||||
// hide widget
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
0.01: New widget!
|
||||
0.02: Adjust to message icons moving to messageicons lib
|
||||
0.03: Use new message library
|
||||
0.03: Use new message library
|
||||
0.04: Remove library stub
|
|
@ -1,8 +0,0 @@
|
|||
exports.hide = function() {
|
||||
if (!global.WIDGETS||!WIDGETS["msggrid"]) return;
|
||||
WIDGETS["msggrid"].hide();
|
||||
}
|
||||
exports.show = function() {
|
||||
if (!global.WIDGETS||!WIDGETS["msggrid"]) return;
|
||||
WIDGETS["msggrid"].show();
|
||||
}
|
|
@ -1,18 +1,16 @@
|
|||
{
|
||||
"id": "widmsggrid",
|
||||
"name": "Messages Grid Widget",
|
||||
"version": "0.03",
|
||||
"version": "0.04",
|
||||
"description": "Widget that displays notification icons in a grid",
|
||||
"icon": "widget.png",
|
||||
"type": "widget",
|
||||
"tags": "tool,system",
|
||||
"supports": ["BANGLEJS","BANGLEJS2"],
|
||||
"dependencies" : { "messages":"module" },
|
||||
"provides_modules" : ["messagewidget"],
|
||||
"provides_widgets" : ["message"],
|
||||
"readme": "README.md",
|
||||
"storage": [
|
||||
{"name":"messagewidget","url":"lib.js"},
|
||||
{"name":"widmsggrid.wid.js","url":"widget.js"}
|
||||
],
|
||||
"screenshots": [{"url":"screenshot.png"}]
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
showRead: !!settings.showRead,
|
||||
};
|
||||
delete settings;
|
||||
WIDGETS["msggrid"] = {
|
||||
// widget name needs to be "messages": the library calls WIDGETS["messages'].hide()/show()
|
||||
WIDGETS["messages"] = {
|
||||
area: "tl", width: 0,
|
||||
flash: s.flash,
|
||||
showRead: s.showRead,
|
||||
|
@ -57,7 +58,9 @@
|
|||
.drawString(w.total, w.x + w.width - 1, w.y + 24, w.total > 9);
|
||||
}
|
||||
if (w.flash && w.status === "new") w.t = setTimeout(w.draw, 1000); // schedule redraw while blinking
|
||||
}, show: function (m) {
|
||||
},
|
||||
// show() and hide() are required by the "message" library!
|
||||
show: function (m) {
|
||||
delete w.hidden;
|
||||
w.width = 24;
|
||||
w.srcs = require("messages").getMessages(m)
|
||||
|
@ -94,6 +97,6 @@
|
|||
}
|
||||
};
|
||||
delete s;
|
||||
const w = WIDGETS["msggrid"];
|
||||
const w = WIDGETS["messages"];
|
||||
Bangle.on("message", w.listener);
|
||||
})();
|
||||
|
|
|
@ -93,7 +93,6 @@ const INTERNAL_FILES_IN_APP_TYPE = { // list of app types and files they SHOULD
|
|||
/* These are warnings we know about but don't want in our output */
|
||||
var KNOWN_WARNINGS = [
|
||||
"App gpsrec data file wildcard .gpsrc? does not include app ID",
|
||||
"App widmessages storage file messagewidget is also listed as storage file for app widmsggrid",
|
||||
];
|
||||
|
||||
function globToRegex(pattern) {
|
||||
|
|
Loading…
Reference in New Issue