arrow_back

Board of Directors

Registry of elected directors, their designations and tenures

@if (!pendingLoading && pendingCandidates.length > 0) {
pending_actions

Pending Appointments

{{ pendingCandidates.length }} won candidate(s) awaiting designation

@for (p of pendingCandidates; track p.candidateId) {
{{ p.candidateName?.charAt(0) }}
{{ p.candidateName }} {{ p.postName }}  ·  {{ p.electionTitle }}
emoji_events {{ p.voteCount }} votes
}
}
@for (s of statusOptions; track s) { }
@if (loading) {

Loading board registry...

} @else if (directors.length === 0) {
groups

No directors appointed yet

Select a won candidate from election results to appoint as director.

} @else { @for (group of electionGroups; track group.electionId) {
how_to_vote

{{ group.electionTitle }}

@if (group.isCurrent) { verified Current } @else { Past }
@if (group.tenureStart || group.tenureEnd) { date_range {{ group.tenureStart ? (group.tenureStart | date: 'dd MMM yyyy') : '—' }}  →  {{ group.tenureEnd ? (group.tenureEnd | date: 'dd MMM yyyy') : '—' }} }
{{ group.directors.length }} member{{ group.directors.length !== 1 ? 's' : '' }} expand_more
@if (group.open) {
@for (d of group.showAll ? group.directors : group.directors.slice(0, 6); track d.id) {
@if (getDirectorPhoto(d)) { } @else { {{ d.candidateName?.charAt(0) }} }

{{ d.candidateName }}

{{ d.postName }}
{{ d.status }}
badge {{ d.designation || '—' }}
event_available
Tenure Start {{ d.tenureStartDate ? (d.tenureStartDate | date: 'dd MMM yyyy') : '—' }}
→
event_busy
Tenure End {{ d.tenureEndDate ? (d.tenureEndDate | date: 'dd MMM yyyy') : '—' }} @if (d.isExpired) { Expired }
@if (d.resolutionNo) { description{{ d.resolutionNo }} } @if (d.appointmentDate) { calendar_today{{ d.appointmentDate | date: 'dd MMM yyyy' }} }
@if (d.remarks) {

{{ d.remarks }}

}
}
@if (group.directors.length > 6) { } }
} }
@if (showForm) {
@if (formStep === 2 && !editingId) { }

{{ editingId ? 'Edit Director' : formStep === 1 ? 'Select Won Candidate' : 'Appointment Details' }}

@if (!editingId) {

Step {{ formStep }} of 2

}
@if (formStep === 1) {
@if (electionsLoading) {

Loading elections...

} @else { Select Election — Choose an election — @for (e of elections; track e.id) { {{ e.title }} ({{ e.status }}) } } @if (wonLoading) {

Loading results...

} @else if (selectedElectionId && wonCandidates.length === 0) {
info No won candidates found for this election.
} @else if (wonCandidates.length > 0) {
Won Candidates — click to select
@for (c of wonCandidates; track c.candidateId) { }
}
} @if (formStep === 2) {
{{ form.candidateName?.charAt(0) }}
{{ form.candidateName }} {{ form.postName }}
verified
Appointment Details
Designation * — Select — @for (opt of designationOptions; track opt) { {{ opt }} } @if (submitted && !form.designation) { Designation is required } @if (editingId) { Status Active Resigned Removed Tenure Ended }
Appointment Date * @if (submitted && !form.appointmentDate) { Appointment date is required } Resolution No.
Tenure Period
Tenure Start Date * @if (isTenureStartAutoFilled) { Auto } @if (isTenureStartAutoFilled) { Derived from election result date } @if (submitted && !form.tenureStartDate) { Tenure start date is required } Tenure End Date * @if (isTenureEndAutoFilled) { Auto } @if (isTenureEndAutoFilled) { Derived from election duration ({{ selectedElection?.durationYears }} yr) } @if (submitted && !form.tenureEndDate) { Tenure end date is required }
Remarks
}
}