blob: a7d98926ef684c5fbaf8caa710e941c5ec67eeb1 (
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
|
<?php
use Fisharebest\Webtrees\Census\CensusPlaceInterface;
use Fisharebest\Webtrees\Date;
use Fisharebest\Webtrees\I18N;
/**
* @var array<CensusPlaceInterface> $census_places
*/
?>
<select class="form-control census-selector" aria-label="<?= I18N::translate('Census date and place') ?>">
<option value="" disabled selected 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-date="<?= $census->censusDate() ?>" data-place="<?= $census->censusPlace() ?>" data-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.date;
form.querySelector('[id$=CENS\\3a PLAC]').value = option.dataset.place;
});
});
</script>
|