Files
Trigalarm/src/pkjs/customClay.js
T
2026-10-21 18:31:17 -04:00

50 lines
1.8 KiB
JavaScript

module.exports = function (minified) {
var clayConfig = this;
var _ = minified._;
var $ = minified.$;
var HTML = minified.HTML;
function togglePavlokIntegration() {
if (this.get()) {
clayConfig.getItemById('pavlok_api_key').show();
clayConfig.getItemById('pavlok_test_beep').show();
clayConfig.getItemById('pavlok_zap_intensity').show();
} else {
clayConfig.getItemById('pavlok_api_key').hide();
clayConfig.getItemById('pavlok_test_beep').hide();
clayConfig.getItemById('pavlok_zap_intensity').hide();
}
}
function sendTestBeep() {
const data = JSON.stringify({
stimulus: {
stimulusType: 'beep',
stimulusValue: 80,
reason: 'Trigalarm Test'
}
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.open('POST', 'https://api.pavlok.com/api/v5/stimulus/send');
xhr.setRequestHeader('accept', 'application/json');
xhr.setRequestHeader('content-type', 'application/json');
xhr.setRequestHeader('Authorization', 'Bearer ' + clayConfig.getItemById('pavlok_api_key').get());
xhr.send(data);
}
function sendResetSignal() {
window.location = 'pebblejs://close#' +
encodeURIComponent(JSON.stringify({ resetAlarm: 1 }));
}
clayConfig.on(clayConfig.EVENTS.AFTER_BUILD, function () {
var pavlokIntegrationToggle = clayConfig.getItemById('pavlok_enable');
togglePavlokIntegration.call(pavlokIntegrationToggle);
pavlokIntegrationToggle.on('change', togglePavlokIntegration);
clayConfig.getItemById('pavlok_test_beep').on('click', sendTestBeep);
clayConfig.getItemById('alarm_reset').on('click', sendResetSignal);
});
};