fix(badges): wire badge_type_list from template instead of hardcoded ISHLT list
Replace static `badge_type_code_li` array (hardcoded ISHLT 2024 types) with `$derived.by()` that parses `$lq__event_badge_template_obj.badge_type_list` JSON. Each event's template defines its own badge type set — the component now reflects that correctly. Falls back to `[]` on missing/invalid JSON (hides the type select). Also add MODULE__AE_Events_Badge_Templates.md documenting template field reference, external CSS approach, layout codes, duplex field plan, and standard template setup. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -65,22 +65,18 @@
|
||||
// let ae_tmp: key_val = $state({});
|
||||
let ae_triggers: key_val = $state({});
|
||||
|
||||
// ISHLT 2024 badge type codes
|
||||
let badge_type_code_li = [
|
||||
{ code: 'current_member', name: 'Member' },
|
||||
{ code: 'inactive_member', name: 'Non-Member' },
|
||||
{ code: 'current_member_trainee', name: 'Trainee Member' },
|
||||
{ code: 'inactive_member_trainee', name: 'Trainee Non-Member' },
|
||||
{ code: 'ex_all', name: 'Exhibitor All Access' },
|
||||
{ code: 'ex_booth', name: 'Exhibitor Booth Staff' },
|
||||
{ code: 'hftx', name: 'HFTX Master Academy' },
|
||||
{ code: 'mcs', name: 'MCS Master Academy' },
|
||||
{ code: 'pediatric', name: 'Pediatric' },
|
||||
{ code: 'guest', name: 'Guest' },
|
||||
{ code: 'staff', name: 'Staff' },
|
||||
{ code: 'volunteer', name: 'Volunteer' },
|
||||
{ code: 'test', name: 'Test' }
|
||||
];
|
||||
// Badge type list is derived from the template — each event/template defines its own set.
|
||||
// Falls back to empty array if template not loaded or badge_type_list is invalid JSON.
|
||||
let badge_type_code_li = $derived.by(() => {
|
||||
const raw = $lq__event_badge_template_obj?.badge_type_list;
|
||||
if (!raw) return [];
|
||||
try {
|
||||
return JSON.parse(raw);
|
||||
} catch {
|
||||
console.warn('badge_type_list is not valid JSON:', raw);
|
||||
return [];
|
||||
}
|
||||
});
|
||||
|
||||
// *** Set initial variables
|
||||
$effect(() => {
|
||||
@@ -999,7 +995,7 @@ onkeypress={() => {
|
||||
"
|
||||
title={editable_badge_type_code}
|
||||
>
|
||||
{#if edit_mode_active && badge_type_code_li}
|
||||
{#if edit_mode_active && badge_type_code_li.length > 0}
|
||||
<label
|
||||
>Badge Type:
|
||||
<select
|
||||
|
||||
Reference in New Issue
Block a user