node-red-contrib-jewishtimer
Version:
A Timer for node-red which supports jewish dates and Zmanim
245 lines • 10.9 kB
JavaScript
const TIMER_COUNT = 10;
const DAYS_COUNT = 10;
module.exports = {
TIMER_COUNT,
DAYS_COUNT,
TIMER_HTML: (()=>{
const htmlArray = [];
for (let i = 0; i < TIMER_COUNT; i++) {
const idx = i + 1;
htmlArray.push(`
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="TimeActive">
<label for="node-input-sc${idx}TimeActive" >Active</label>
<input type="checkbox" id="node-input-sc${idx}TimeActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="TimeAction">
<label for="node-input-sc${idx}TimeAction" >Action:</label>
<select id="node-input-sc${idx}TimeAction" >
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="form-row" data-nodetype="Timetype">
<label for="node-input-sc${idx}Timetype" >Time Type</label>
<select id="node-input-sc${idx}Timetype" class="js-timetype">
<option value="time">Time</option>
<option value="zman">Zman</option>
</select>
</div>
<div class="form-row time-selection" data-nodetype="Time">
<label for="node-input-sc${idx}Time" style="width:40px">Time:</label>
<input type="time" id="node-input-sc${idx}Time" style="width:110px"/>
</div>
<div class="form-row zman-selection" data-nodetype="Zman">
<label for="node-input-sc${idx}Zman" style="width:56px">Zman <i title="Avaliable Zmanim are the basic zmanim from the KosherZmanim lib" class="fa fa-question-circle"></i>: </label>
<select id="node-input-sc${idx}Zman" style="width:138px">
<option value="BeginAstronomicalTwilight">BeginAstronomicalTwilight</option>
<option value="AlosHashachar">AlosHashachar</option>
<option value="Alos72">Alos72</option>
<option value="BeginNauticalTwilight">BeginNauticalTwilight</option>
<option value="BeginCivilTwilight">BeginCivilTwilight</option>
<option value="SeaLevelSunrise">SeaLevelSunrise</option>
<option value="Sunrise">Sunrise</option>
<option value="SofZmanShmaMGA">SofZmanShmaMGA</option>
<option value="SofZmanShmaGRA">SofZmanShmaGRA</option>
<option value="SofZmanTfilaMGA">SofZmanTfilaMGA</option>
<option value="SofZmanTfilaGRA">SofZmanTfilaGRA</option>
<option value="Chatzos">Chatzos</option>
<option value="CandleLighting">CandleLighting</option>
<option value="SeaLevelSunset">SeaLevelSunset</option>
<option value="Sunset">Sunset</option>
<option value="EndCivilTwilight">EndCivilTwilight</option>
<option value="Tzais">Tzais</option>
<option value="EndNauticalTwilight">EndNauticalTwilight</option>
<option value="Tzais72">Tzais72</option>
<option value="EndAstronomicalTwilight">EndAstronomicalTwilight</option>
</select>
</div>
<div class="form-row zman-selection" data-nodetype="Zmanoffset">
<label for="node-input-sc${idx}Zmanoffset" style="width:40px;">Offset:</label>
<input type="number" id="node-input-sc${idx}Zmanoffset" placeholder="0">
<select id="node-input-sc${idx}Zmanoffsettype" name="node-input-sc${idx}Zmanoffsettype">
<option value="1000">Seconds</option>
<option value="60000" selected="selected">Minutes</option>
<option value="3600000">Hours</option>
</select>
</div>
</div>
`);
}
return htmlArray.join("\n");
})(),
DAYS_HTML: (()=>{
const htmlArray = [];
for (let i = 0; i < DAYS_COUNT; i++) {
const idx = i + 1;
htmlArray.push(`
<div class="js-entry entry expanded-vis" >
<div class="form-row" data-nodetype="DateActive">
<label for="node-input-sc${idx}DateActive" >Active</label>
<input type="checkbox" id="node-input-sc${idx}DateActive" class="js-active" />
</div>
<div class="form-row" data-nodetype="DateAction">
<label for="node-input-sc${idx}DateAction" >Action:</label>
<select id="node-input-sc${idx}DateAction" >
<option value="1" class="reginclude">Include</option>
<option value="2" class="specialinclude">Include</option>
<option value="2" class="onlyinclude">Only Include</option>
<option value="0">Exclude</option>
</select>
</div>
<div class="form-row" data-nodetype="Datetype">
<label for="node-input-sc${idx}Datetype" >Date Type</label>
<select id="node-input-sc${idx}Datetype" class="js-datetype">
<option value="weekday">Weekdays</option>
<option value="jmonthday">Jewish Dates</option>
<option value="gmonthday">Gregorian Dates</option>
</select>
</div>
<div class="form-row weekday-selection" data-nodetype="Weekday">
<span class="inline">
<label for="node-input-sc${idx}Sun" >Sunday</label>
<input type="checkbox" id="node-input-sc${idx}Sun" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Mon" >Monday</label>
<input type="checkbox" id="node-input-sc${idx}Mon" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Tue" >Tuesday</label>
<input type="checkbox" id="node-input-sc${idx}Tue" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Wed" >Wednesday</label>
<input type="checkbox" id="node-input-sc${idx}Wed" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Thu" >Thursday</label>
<input type="checkbox" id="node-input-sc${idx}Thu" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Fri" >Friday</label>
<input type="checkbox" id="node-input-sc${idx}Fri" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Sat" >Saturday</label>
<input type="checkbox" id="node-input-sc${idx}Sat" />
</span>
</div>
<div class="form-row gmonthday-selection" data-nodetype="gMonthday">
<span class="inline">
<label for="node-input-sc${idx}Jan" >Jan</label>
<input type="checkbox" id="node-input-sc${idx}Jan" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Feb" >Feb</label>
<input type="checkbox" id="node-input-sc${idx}Feb" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Mar" >Mar</label>
<input type="checkbox" id="node-input-sc${idx}Mar" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Apr" >Apr</label>
<input type="checkbox" id="node-input-sc${idx}Apr" />
</span>
<span class="inline">
<label for="node-input-sc${idx}May" >May</label>
<input type="checkbox" id="node-input-sc${idx}May" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Jun" >Jun</label>
<input type="checkbox" id="node-input-sc${idx}Jun" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Jul" >Jul</label>
<input type="checkbox" id="node-input-sc${idx}Jul" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Aug" >Aug</label>
<input type="checkbox" id="node-input-sc${idx}Aug" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Sep" >Sep</label>
<input type="checkbox" id="node-input-sc${idx}Sep" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Oct" >Oct</label>
<input type="checkbox" id="node-input-sc${idx}Oct" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Nov" >Nov</label>
<input type="checkbox" id="node-input-sc${idx}Nov" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Dec" >Dec</label>
<input type="checkbox" id="node-input-sc${idx}Dec" />
</span>
<br />
<label for="node-input-sc${idx}gmonthdays" title="Leave empty for all">Select Days</label>
<input type="text" patteran="\d{1,2}(\,\d{1,2})*" id="node-input-sc${idx}gmonthdays" placeholder="1,4,5,8,29"/>
</div>
<div class="form-row jmonthday-selection" data-nodetype="jMonthday">
<span class="inline">
<label for="node-input-sc${idx}Nisan" >Nisan</label>
<input type="checkbox" id="node-input-sc${idx}Nisan" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Iyar" >Iyar</label>
<input type="checkbox" id="node-input-sc${idx}Iyar" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Sivan" >Sivan</label>
<input type="checkbox" id="node-input-sc${idx}Sivan" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Tamuz" >Tamuz</label>
<input type="checkbox" id="node-input-sc${idx}Tamuz" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Av" >Av</label>
<input type="checkbox" id="node-input-sc${idx}Av" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Elul" >Elul</label>
<input type="checkbox" id="node-input-sc${idx}Elul" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Tishri" >Tishri</label>
<input type="checkbox" id="node-input-sc${idx}Tishri" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Heshvan" >Cheshvan</label>
<input type="checkbox" id="node-input-sc${idx}Heshvan" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Kislev" >Kislev</label>
<input type="checkbox" id="node-input-sc${idx}Kislev" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Tevet" >Tevet</label>
<input type="checkbox" id="node-input-sc${idx}Tevet" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Shevat" >Shevat</label>
<input type="checkbox" id="node-input-sc${idx}Shevat" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Adar1" >Adar I</label>
<input type="checkbox" id="node-input-sc${idx}Adar1" />
</span>
<span class="inline">
<label for="node-input-sc${idx}Adar2" >Adar, Adar II</label>
<input type="checkbox" id="node-input-sc${idx}Adar2" />
</span>
<br />
<label for="node-input-sc${idx}jmonthdays" title="Leave empty for all">Select Days</label>
<input type="text" patteran="\d{1,2}(\,\d{1,2})*" id="node-input-sc${idx}jmonthdays" placeholder="1,4,5,8,29"/>
</div>
</div>
`);
}
return htmlArray.join("\n");
})()
}