xref: /webtrees/resources/views/modules/fanchart/page.phtml (revision 1ff45046fabc22237b5d0d8e489c96f031fc598d)
1<?php
2
3declare(strict_types=1);
4
5use Fisharebest\Webtrees\I18N;
6use Fisharebest\Webtrees\Individual;
7use Fisharebest\Webtrees\Tree;
8
9/**
10 * @var string               $ajax_url
11 * @var int                  $generations
12 * @var Individual           $individual
13 * @var int                  $maximum_generations
14 * @var int                  $maximum_width
15 * @var int                  $minimum_generations
16 * @var int                  $minimum_width
17 * @var string               $style
18 * @var array<string,string> $styles
19 * @var string               $title
20 * @var Tree                 $tree
21 * @var int                  $width
22 */
23
24?>
25
26<h2 class="wt-page-title">
27    <?= $title ?>
28</h2>
29
30<form method="post" class="wt-page-options wt-page-options-fan-chart d-print-none">
31    <div class="row">
32        <label class="col-sm-3 col-form-label wt-page-options-label" for="xref">
33            <?= I18N::translate('Individual') ?>
34        </label>
35        <div class="col-sm-9 wt-page-options-value">
36            <?= view('components/select-individual', ['name' => 'xref', 'individual' => $individual, 'tree' => $tree, 'required' => true]) ?>
37        </div>
38    </div>
39
40    <div class="row">
41        <label class="col-sm-3 col-form-label wt-page-options-label" for="style">
42            <?= I18N::translate('Layout') ?>
43        </label>
44        <div class="col-sm-9 wt-page-options-value">
45            <?= view('components/select', ['name' => 'style', 'selected' => $style, 'options' => $styles]) ?>
46        </div>
47    </div>
48
49    <div class="row">
50        <label class="col-sm-3 col-form-label wt-page-options-label" for="generations">
51            <?= I18N::translate('Generations') ?>
52        </label>
53        <div class="col-sm-9 wt-page-options-value">
54            <?= view('components/select-number', ['name' => 'generations', 'selected' => $generations, 'options' => range($minimum_generations, $maximum_generations)]) ?>
55        </div>
56    </div>
57
58    <div class="row">
59        <label class="col-sm-3 col-form-label wt-page-options-label" for="width">
60            <?= I18N::translate('Zoom') ?>
61        </label>
62        <div class="col-sm-9 wt-page-options-value">
63            <div class="input-group">
64                <input class="form-control" id="width" max="<?= $maximum_width ?>" min="<?= $minimum_width ?>" name="width" required="required" type="number" value="<?= $width ?>">
65                <span class="input-group-text">%</span>
66            </div>
67        </div>
68    </div>
69
70    <div class="row mb-3">
71        <div class="col-form-label col-sm-3 wt-page-options-label"></div>
72        <div class="col-sm-9 wt-page-options-value">
73            <input class="btn btn-primary" type="submit" value="<?= /* I18N: A button label. */ I18N::translate('view') ?>">
74        </div>
75    </div>
76
77    <?= csrf_field() ?>
78</form>
79
80<div class="wt-ajax-load wt-page-content wt-chart wt-chart-fan" data-wt-ajax-url="<?= e($ajax_url) ?>"></div>
81