Allow multiple alarms being set for countdown widget

This commit is contained in:
Hadi Nategh 2022-03-15 17:13:36 +01:00
parent 4ca434f500
commit ac25c9b2b8
2 changed files with 14 additions and 4 deletions

View File

@ -86,8 +86,11 @@ var et2_countdown = /** @class */ (function (_super) {
var distance = this.time.getTime() - now.getTime();
if (distance < 0)
return 0;
if (this.options.alarm > 0 && this.options.alarm == distance / 1000 && typeof this.onAlarm == 'function') {
this.onAlarm();
var alarms = Array.isArray(this.options.alarm) ? this.options.alarm : [this.options.alarm];
for (var i = 0; i <= alarms.length; i++) {
if (alarms[i] > 0 && alarms[i] == distance / 1000 && typeof this.onAlarm == 'function') {
this.onAlarm();
}
}
var values = {
days: Math.floor(distance / (1000 * 60 * 60 * 24)),

View File

@ -120,10 +120,17 @@ export class et2_countdown extends et2_valueWidget {
let distance = this.time.getTime() - now.getTime();
if (distance < 0) return 0;
if (this.options.alarm > 0 && this.options.alarm == distance/1000 && typeof this.onAlarm == 'function')
let alarms = Array.isArray(this.options.alarm) ? this.options.alarm : [this.options.alarm];
for (let i=0;i<=alarms.length;i++)
{
this.onAlarm();
if (alarms[i] > 0 && alarms[i] == distance/1000 && typeof this.onAlarm == 'function')
{
this.onAlarm();
}
}
let values = {
days: Math.floor(distance / (1000 * 60 * 60 * 24)),
hours: Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)),