xref: /webtrees/resources/views/modules/timeline-chart/page.phtml (revision 4a213054c13c5caf2ed7b812a0d260527e167ef6)
1<?php
2
3use Fisharebest\Webtrees\I18N;
4use Fisharebest\Webtrees\Individual;
5use Fisharebest\Webtrees\Tree;
6use Illuminate\Support\Collection;
7
8/**
9 * @var string                 $ajax_url
10 * @var Collection<Individual> $individuals
11 * @var array<string,string>   $remove_urls
12 * @var string                 $reset_url
13 * @var string                 $title
14 * @var Tree                   $tree
15 * @var string                 $zoom_in_url
16 * @var string                 $zoom_out_url
17 */
18
19?>
20
21<h2 class="wt-page-title">
22    <?= $title ?>
23</h2>
24
25<form method="post" class="wt-page-options wt-page-options-timeline-chart d-print-none">
26    <?= csrf_field() ?>
27
28    <div class="row form-group">
29        <label class="col-sm-3 col-form-label wt-page-options-label" for="add">
30            <?= I18N::translate('Individual') ?>
31        </label>
32        <div class="col-sm-9 wt-page-options-value">
33            <?= view('components/select-individual', ['name' => 'add', 'id' => 'add', 'tree' => $tree, 'required' => true]) ?>
34        </div>
35    </div>
36
37    <div class="row form-group">
38        <div class="col-form-label col-sm-3 wt-page-options-label"></div>
39        <div class="col-sm-9 wt-page-options-value">
40            <input class="btn btn-primary" type="submit" value="<?= /* I18N: A button label. */
41            I18N::translate('add') ?>">
42            <a class="btn btn-secondary" href="<?= e($reset_url) ?>">
43                <?= /* I18N: A button label. */
44                I18N::translate('reset') ?>
45            </a>
46        </div>
47    </div>
48
49    <div class="row form-group">
50        <div class="col-form-label col-sm-3 wt-page-options-label"></div>
51        <div class="col-sm-9 wt-page-options-value">
52            <a href="<?= e($zoom_in_url) ?>" title="<?= I18N::translate('Zoom in') ?>">
53                <?= view('icons/zoom-in') ?>
54            </a>
55            <a href="<?= e($zoom_out_url) ?>" title="<?= I18N::translate('Zoom out') ?>">
56                <?= view('icons/zoom-out') ?>
57            </a>
58        </div>
59    </div>
60</form>
61
62<div class="row my-4">
63    <?php foreach ($individuals as $n => $individual) : ?>
64        <div class="col-md-6 col-lg-4 col-xl-3 person<?= $n % 6 ?>">
65            <?= view('icons/sex', ['sex' => $individual->sex()]) ?>
66            <a href="<?= e($individual->url()) ?>">
67                <?= $individual->fullName() ?>
68                <?php if ($individual->alternateName() !== '') : ?>
69                    <br>
70                    <?= $individual->alternateName() ?>
71                <?php endif ?>
72            </a>
73            <a href="<?= e($remove_urls[$individual->xref()]) ?>">
74                <?= I18N::translate('Remove individual') ?>
75            </a>
76            <?php if ($individual->getBirthDate()->isOK()) : ?>
77                <br>
78                <label>
79                    <input type="checkbox" name="agebar<?= $n ?>" onclick="$('#agebox<?= $n ?>').toggle();">
80                    <?= /* I18N: an age indicator, which can be dragged around the screen */
81                    I18N::translate('Show an age cursor') ?>
82                </label>
83            <?php endif ?>
84        </div>
85    <?php endforeach ?>
86</div>
87
88<div class="wt-ajax-load wt-page-content wt-chart wt-timeline-chart" data-ajax-url="<?= e($ajax_url) ?>"></div>
89