blob: 225e56a95954112d2cb9a483073bb56c3a14dccd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<?php
declare(strict_types=1);
use Fisharebest\Webtrees\Census\CensusPlaceInterface;
use Fisharebest\Webtrees\Date;
use Fisharebest\Webtrees\I18N;
/**
* @var array<CensusPlaceInterface> $census_places
*/
?>
<select class="form-select census-selector" aria-label="<?= I18N::translate('Census date and place') ?>" autocomplete="off">
<option value="" disabled="disabled" selected="selected" hidden="hidden"><?= I18N::translate('Census date') ?></option>
<?php foreach ($census_places as $census_place) : ?>
<optgroup label="<?= $census_place->censusPlace() ?>">
<?php foreach ($census_place->allCensusDates() as $census) : ?>
<option data-wt-date="<?= $census->censusDate() ?>" data-wt-place="<?= $census->censusPlace() ?>" data-wt-census="<?= get_class($census) ?>">
<?= (new Date($census->censusDate()))->minimumDate()->format('%Y') ?>
—
<?= $census->censusPlace() ?>
</option>
<?php endforeach ?>
</optgroup>
<?php endforeach ?>
</select>
<script>
document.querySelectorAll('.census-selector').forEach(function (el) {
el.addEventListener('change', function (el) {
const select = el.target;
const option = select.options[select.selectedIndex];
const form = select.closest('form');
form.querySelector('[id$=CENS\\3a DATE]').value = option.dataset.wtDate;
form.querySelector('[id$=CENS\\3a PLAC]').value = option.dataset.wtPlace;
});
});
</script>
|