xref: /webtrees/resources/views/modules/pedigree-chart/chart-left.phtml (revision 5bfc689774bb9a6401271c4ed15a6d50652c991b)
1<?php
2
3use Fisharebest\Webtrees\Individual;
4use Illuminate\Support\Collection;
5
6/**
7 * @var Collection<int,Individual> $ancestors   Indexed by sosa number
8 * @var int                        $generation  Draw this generation
9 * @var int                        $generations Final generation to draw
10 * @var Collection<int,string>     $links       Links to extend the tree
11 * @var int                        $sosa        Draw this individual
12 * @var string                     $spacer
13 */
14?>
15
16<div class="d-flex">
17    <?php if ($generation < $generations) : ?>
18        <div class="d-flex flex-column">
19            <?= view('modules/pedigree-chart/chart-left', ['ancestors' => $ancestors, 'sosa' => $sosa * 2, 'generation' => $generation + 1, 'generations' => $generations, 'links' => $links, 'spacer' => $spacer]) ?>
20
21            <?= view('modules/pedigree-chart/chart-left', ['ancestors' => $ancestors, 'sosa' => $sosa * 2 + 1, 'generation' => $generation + 1, 'generations' => $generations, 'links' => $links, 'spacer' => $spacer]) ?>
22        </div>
23    <?php endif ?>
24
25    <div class="position-relative d-flex flex-column justify-content-center wt-pedigree-generation wt-generation-fwd-<?= $generation ?> wt-generation-rev-<?= 1 + $generations - $generation ?>">
26        <!-- lines to the next generation -->
27        <?php if ($generation < $generations) : ?>
28            <div class="wt-pedigree-lines position-absolute"></div>
29        <?php endif ?>
30
31        <div class="d-flex align-items-center position-relative">
32            <?php if ($generation === $generations) : ?>
33                <?= $links->get($sosa, $spacer) ?>
34            <?php endif ?>
35
36            <?= view('chart-box', ['individual' => $ancestors->get($sosa)]) ?>
37
38            <?php if ($sosa === 1) : ?>
39                <?= $links->get(1) ?>
40            <?php endif ?>
41        </div>
42    </div>
43</div>
44
45