Generate extra empty slots on counting list
parent
ad3a54c876
commit
782f409385
|
@ -2,6 +2,8 @@ import type { Member } from '$lib/model/Member';
|
|||
import jsPDF from 'jspdf';
|
||||
import autoTable from 'jspdf-autotable';
|
||||
|
||||
const emptySlotCount = 5;
|
||||
|
||||
export function generateSecretVotingList(members: Member[]) {
|
||||
const totalPagesExp = '{total_pages_count_string}';
|
||||
|
||||
|
@ -10,12 +12,14 @@ export function generateSecretVotingList(members: Member[]) {
|
|||
const votingMembers = members.filter((x) => x.voting);
|
||||
|
||||
const voterPlaceholders = votingMembers.map(() => '');
|
||||
const emptySlotPlaceholders = Array(emptySlotCount).fill('');
|
||||
const tableBody = candidatingMembers.map((member) => [
|
||||
{
|
||||
content: member.nickname,
|
||||
styles: { cellWidth: 30 }
|
||||
},
|
||||
...voterPlaceholders,
|
||||
...emptySlotPlaceholders,
|
||||
{ content: '', styles: { cellWidth: 8 } },
|
||||
{ content: '', styles: { cellWidth: 8 } },
|
||||
{ content: '', styles: { cellWidth: 8 } },
|
||||
|
@ -73,9 +77,11 @@ export function generateSecretVotingList(members: Member[]) {
|
|||
);
|
||||
doc.setFontSize(9);
|
||||
doc.text(
|
||||
'Instrukcja: Dla każdej karty do głosowania, przepisz głosy na wszystkich kandydatów, wpisując w kolumnie odpowiednio:\nZ (Za), P (Przeciw), W (Wstrzymuje się), X (Nie głosował lub głos nieważny).\nPo przepisaniu wszystkich głosów, zsumuj głosy Z/P/W/X na danego kandydata do odpowiednich kolumn z sumami.',
|
||||
'Instrukcja: Dla każdej karty do głosowania, przepisz głosy na wszystkich kandydatów, wpisując w kolumnie odpowiednio:\n' +
|
||||
'Z (Za), P (Przeciw), W (Wstrzymuje się), X (Nie głosował lub głos nieważny).\n' +
|
||||
'Po przepisaniu wszystkich głosów, zsumuj głosy Z/P/W/X na danego kandydata do odpowiednich kolumn z sumami.\n' +
|
||||
`Wygenerowano dla ${votingMembers.length} kart do głosowania (+${emptySlotCount} dodatkowych pustych miejsc.)`,
|
||||
15,
|
||||
// doc.internal.pageSize.getWidth() * 0.5,
|
||||
doc.internal.pageSize.getHeight() * 0.105,
|
||||
{
|
||||
align: 'left'
|
||||
|
@ -94,13 +100,14 @@ export function generateSecretVotingList(members: Member[]) {
|
|||
|
||||
doc.setFont('NotoSansLight', 'normal'); // set font
|
||||
autoTable(doc, {
|
||||
startY: doc.internal.pageSize.getHeight() * 0.2 - 15 / 2,
|
||||
startY: doc.internal.pageSize.getHeight() * 0.22 - 15 / 2,
|
||||
pageBreak: 'auto',
|
||||
body: tableBody,
|
||||
head: [
|
||||
[
|
||||
'Kandydat',
|
||||
...voterPlaceholders.map((_, i) => String(i + 1)),
|
||||
...emptySlotPlaceholders.map((_, i) => `(${i + 1})`),
|
||||
'ZA',
|
||||
'PRZECIW',
|
||||
'WSTRZYMUJE SIĘ',
|
||||
|
|
Loading…
Reference in New Issue