BangleApps/modules/buzz_menu.js

20 lines
650 B
JavaScript
Raw Permalink Normal View History

2022-05-26 20:03:32 +00:00
/**
* Display a menu to select from various common vibration patterns for use with buzz.js.
*
* @param {string} value The pre-selected pattern
* @param {*} callback A function called with the user selected pattern
*/
exports.pattern = function (value, callback) {
2022-05-28 21:30:59 +00:00
var patterns = ["", ".", ":", "..", "::", ",", ";", ",,", ";;", "-", "=", "--", "==", "...", ":::", "---", ";;;", "==="];
2022-04-01 12:27:37 +00:00
return {
2022-05-26 20:03:32 +00:00
value: Math.max(0, patterns.indexOf(value)),
min: 0,
max: patterns.length - 1,
format: v => patterns[v] || /*LANG*/"Off",
2022-04-01 12:27:37 +00:00
onchange: v => {
2022-05-26 20:03:32 +00:00
require("buzz").pattern(patterns[v]);
callback(patterns[v]);
2022-04-01 12:27:37 +00:00
}
};
}