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
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|