Skip to content

Commit 1fe4375

Browse files
committed
litcal_events is now a simple collection
1 parent afe60b6 commit 1fe4375

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

assets/js/admin.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
*/
2727
// @ts-ignore 2570 LitcalEvents is defined in admin.php
2828
let litcal_events = LitcalEvents;
29+
let litcal_events_keys = litcal_events.map( event => event.event_key );
2930

3031
/**
3132
* Represents the DateTime format used for displaying full dates in the UTC timezone.
@@ -129,7 +130,7 @@ const sanitizeOnSetValue = {
129130
if( typeof value !== 'string' ) {
130131
console.warn(`property ${prop} of this object must be of type string`);
131132
return;
132-
} else if ( false === Object.keys(litcal_events).includes(value) ) {
133+
} else if ( false === litcal_events_keys.includes(value) ) {
133134
console.warn(`property ${prop} of this object must contain a valid Liturgical Event Key`);
134135
return;
135136
}
@@ -494,8 +495,9 @@ const rebuildFestivitiesOptions = async (element) => {
494495
const data_1 = await fetch( API.path );
495496
const json = await data_1.json();
496497
litcal_events = Object.freeze(json.litcal_events);
498+
litcal_events_keys = litcal_events.map( event => event.event_key );
497499
let htmlStr = '';
498-
for ( const [ key, el ] of Object.entries( litcal_events ) ) {
500+
for ( const el of litcal_events ) {
499501
let dataMonth = '';
500502
let dataDay = '';
501503
let dataGrade = '';
@@ -508,7 +510,7 @@ const rebuildFestivitiesOptions = async (element) => {
508510
if ( el.hasOwnProperty( "grade" ) ) {
509511
dataGrade = ` data-grade="${el.grade}"`;
510512
}
511-
htmlStr += `<option value="${key}"${dataMonth}${dataDay}${dataGrade}>${el.name} (${el.grade_lcl})</option>`;
513+
htmlStr += `<option value="${el.event_key}"${dataMonth}${dataDay}${dataGrade}>${el.name} (${el.grade_lcl})</option>`;
512514
}
513515
document.querySelector( '#existingFestivitiesList' ).innerHTML = htmlStr;
514516
}
@@ -557,8 +559,8 @@ $(document).on('change', '#litCalTestsSelect', async (ev) => {
557559
await rebuildFestivitiesOptions(document.querySelector('#APICalendarSelect'));
558560
document.querySelector('#existingFestivityName').value = proxiedTest.event_key;
559561
console.log(`keys of litcal_events after rebuildFestivitiesOptions:`);
560-
console.log(Object.keys(litcal_events).sort());
561-
AssertionsBuilder.test = litcal_events[proxiedTest.event_key];
562+
console.log(litcal_events_keys.sort());
563+
AssertionsBuilder.test = litcal_events.filter(el => el.event_key === proxiedTest.event_key)[0] ?? null;
562564
AssertionsBuilder.appliesTo = proxiedTest.applies_to[calendarType];
563565
}
564566
$( '#assertionsContainer' ).empty();

0 commit comments

Comments
 (0)