xref: /webtrees/resources/views/modules/relationships-chart/page.phtml (revision dda05045b4c2f9063e99083d2dbff48269db4ac2)
1<?php
2
3use Fisharebest\Webtrees\I18N;
4use Fisharebest\Webtrees\Individual;
5use Fisharebest\Webtrees\Tree;
6use Fisharebest\Webtrees\View;
7
8/**
9 * @var string               $ajax_url
10 * @var int                  $ancestors
11 * @var array<string,string> $ancestors_options
12 * @var bool                 $ancestors_only
13 * @var Individual|null      $individual1
14 * @var Individual|null      $individual2
15 * @var int                  $max_recursion
16 * @var int                  $recursion
17 * @var array<string,string> $recursion_options
18 * @var string               $title
19 * @var Tree                 $tree
20 */
21
22?>
23
24<h2 class="wt-page-title">
25    <?= $title ?>
26</h2>
27
28<form method="post" class="wt-page-options wt-page-options-relationships-chart d-print-none">
29    <div class="row">
30        <label class="col-sm-3 col-form-label wt-page-options-label" for="xref">
31            <?= I18N::translate('Individual 1') ?>
32        </label>
33        <div class="col-sm-9 wt-page-options-value">
34            <?= view('components/select-individual', ['name' => 'xref', 'individual' => $individual1, 'tree' => $tree, 'required' => true]) ?>
35        </div>
36    </div>
37
38    <div class="row">
39        <label class="col-sm-3 col-form-label wt-page-options-label" for="xref2">
40            <?= I18N::translate('Individual 2') ?>
41        </label>
42        <div class="col-sm-9 wt-page-options-value">
43            <?= view('components/select-individual', ['name' => 'xref2', 'individual' => $individual2, 'tree' => $tree, 'required' => true]) ?>
44        </div>
45    </div>
46
47    <fieldset class="row mb-3">
48        <legend class="col-form-label col-sm-3 wt-page-options-label">
49        </legend>
50        <div class="col-sm-9 wt-page-options-value">
51            <?php if ($ancestors_only) : ?>
52                <input type="hidden" name="ancestors" value="1">
53                <?= I18N::translate('Find relationships via ancestors') ?>
54            <?php else : ?>
55                <?= view('components/radios', ['name' => 'ancestors', 'options' => $ancestors_options, 'selected' => $ancestors]) ?>
56            <?php endif ?>
57        </div>
58    </fieldset>
59
60    <fieldset class="row mb-3">
61        <legend class="col-form-label col-sm-3 wt-page-options-label">
62        </legend>
63        <div class="col-sm-9 wt-page-options-value">
64            <?php if ($max_recursion === 0) : ?>
65                <?= I18N::translate('Find the closest relationships') ?>
66                <input type="hidden" name="recursion" value="0">
67            <?php else : ?>
68                <?= view('components/radios', ['name' => 'recursion', 'options' => $recursion_options, 'selected' => $recursion]) ?>
69            <?php endif ?>
70        </div>
71    </fieldset>
72
73    <div class="row mb-3">
74        <div class="col-form-label col-sm-3 wt-page-options-label"></div>
75        <div class="col-sm-9 wt-page-options-value">
76            <button class="btn btn-primary" type="submit">
77                <?= /* I18N: A button label. */ I18N::translate('view') ?>
78            </button>
79
80            <button class="btn btn-link" id="btn-swap-individuals" type="button">
81                <?= /* I18N: Reverse the order of two individuals */
82                I18N::translate('Swap individuals') ?>
83            </button>
84        </div>
85    </div>
86
87    <?= csrf_field() ?>
88</form>
89
90<?php if ($individual1 !== null && $individual2 !== null) : ?>
91    <div class="wt-ajax-load wt-page-content wt-chart wt-chart-relationships" data-wt-ajax-url="<?= e($ajax_url) ?>"></div>
92<?php endif ?>
93
94<?php View::push('javascript') ?>
95<script>
96  $('#btn-swap-individuals').click(function () {
97      // Swap the name attributes
98      document.getElementById("xref").name = "xref2";
99      document.getElementById("xref2").name = "xref";
100      document.querySelector(".wt-page-options-relationships-chart").submit();
101  });
102</script>
103<?php View::endpush() ?>
104