xref: /webtrees/resources/views/components/select-repository.phtml (revision 43f2f523bcb6d4090564d23802872c0679ede6bc)
1<?php
2
3use Fisharebest\Webtrees\Http\RequestHandlers\AbstractSelect2Handler;
4use Fisharebest\Webtrees\Http\RequestHandlers\Select2Repository;
5use Fisharebest\Webtrees\Repository;
6use Fisharebest\Webtrees\Tree;
7
8/**
9 * @var string      $at     "@" or "" (or unset).
10 * @var Repository|null $repository
11 * @var string|null     $class
12 * @var string|null     $id
13 * @var string          $name
14 * @var Tree            $tree
15 */
16
17$at = $at ?? '';
18
19?>
20
21<select
22    autocomplete="off"
23    class="form-select select2 <?= $class ?? '' ?>"
24    data-ajax--delay="<?= e(AbstractSelect2Handler::AJAX_DELAY) ?>"
25    data-minimum-input-length="<?= e(AbstractSelect2Handler::MINIMUM_INPUT_LENGTH) ?>"
26    data-ajax--type="POST"
27    data-ajax--url="<?= e(route(Select2Repository::class, ['tree' => $tree->name(), 'at' => $at])) ?>"
28    data-allow-clear="true"
29    data-placeholder=""
30    id="<?= e($id ?? $name) ?>"
31    name="<?= e($name) ?>"
32    <?= ($disabled ?? false) ? 'disabled' : '' ?>
33    <?= ($required ?? false) ? 'required' : '' ?>
34    style="width:100%"
35>
36    <?php if (($repository ?? null) instanceof Repository) : ?>
37        <option value="<?= e($at . $repository->xref() . $at) ?>">
38            <?= view('selects/repository', ['repository' => $repository]) ?>
39        </option>
40    <?php else : ?>
41        <option value="">&nbsp;</option>
42    <?php endif ?>
43</select>
44