1*ca2d6785SGreg Roach<?php 2*ca2d6785SGreg Roach 3*ca2d6785SGreg Roachuse Fisharebest\Webtrees\I18N; 4*ca2d6785SGreg Roachuse Fisharebest\Webtrees\Tree; 5*ca2d6785SGreg Roachuse Illuminate\Support\Collection; 6*ca2d6785SGreg Roach 7*ca2d6785SGreg Roach/** 8*ca2d6785SGreg Roach * @var Collection<Tree> $all_trees 9*ca2d6785SGreg Roach * @var Collection<Tree> $search_trees 10*ca2d6785SGreg Roach */ 11*ca2d6785SGreg Roach 12*ca2d6785SGreg Roach?> 13*ca2d6785SGreg Roach 14*ca2d6785SGreg Roach<?php if ($all_trees->count() > 1) : ?> 15*ca2d6785SGreg Roach <fieldset class="form-group"> 16*ca2d6785SGreg Roach <div class="row"> 17*ca2d6785SGreg Roach <div class="col-sm-3 col-form-label wt-page-options-label"> 18*ca2d6785SGreg Roach <?= I18N::translate('Family trees') ?> 19*ca2d6785SGreg Roach </div> 20*ca2d6785SGreg Roach <div class="col-sm-9 wt-page-options-value pt-2"> 21*ca2d6785SGreg Roach <div id="search-trees"> 22*ca2d6785SGreg Roach <?php if ($all_trees->count() > 3): ?> 23*ca2d6785SGreg Roach <div class="d-flex"> 24*ca2d6785SGreg Roach <?php if ($all_trees->count() > $search_trees->count()): ?> 25*ca2d6785SGreg Roach <div class="mr-2"> 26*ca2d6785SGreg Roach <button type="button" data-toggle="collapse" class="btn btn-secondary btn-sm" href="#more-trees,#select-all" aria-expanded="false" aria-controls="more-trees"> 27*ca2d6785SGreg Roach <?= view('icons/expand') ?> 28*ca2d6785SGreg Roach <?= view('icons/collapse') ?> 29*ca2d6785SGreg Roach </button> 30*ca2d6785SGreg Roach </div> 31*ca2d6785SGreg Roach <?php endif ?> 32*ca2d6785SGreg Roach <div> 33*ca2d6785SGreg Roach <?php foreach ($search_trees as $n => $tree) : ?> 34*ca2d6785SGreg Roach <?= view('components/checkbox', ['name' => 'search_trees[]', 'id' => 'chkbx-' . $n, 'checked' => $search_trees->containsStrict($tree), 'value' => $tree->name(), 'label' => $tree->title()]) ?> 35*ca2d6785SGreg Roach <?php endforeach ?> 36*ca2d6785SGreg Roach <div id="more-trees" class="<?= $all_trees->count() > $search_trees->count() ? 'collapse' : '' ?>"> 37*ca2d6785SGreg Roach <?php foreach ($all_trees as $n => $tree) : ?> 38*ca2d6785SGreg Roach <?php if (!$search_trees->containsStrict($tree)): ?> 39*ca2d6785SGreg Roach <?= view('components/checkbox', ['name' => 'search_trees[]', 'id' => 'chkbx-' . $n, 'checked' => $search_trees->containsStrict($tree), 'value' => $tree->name(), 'label' => $tree->title()]) ?> 40*ca2d6785SGreg Roach <?php endif ?> 41*ca2d6785SGreg Roach <?php endforeach ?> 42*ca2d6785SGreg Roach </div> 43*ca2d6785SGreg Roach </div> 44*ca2d6785SGreg Roach <div class="ml-auto <?= $all_trees->count() > $search_trees->count() ? 'collapse' : '' ?>" id="select-all"> 45*ca2d6785SGreg Roach <button type="button" class="btn btn-sm btn-secondary mx-1" onclick="document.querySelectorAll('#search-trees [type=checkbox]').forEach((element) => {element.checked=true;});"> 46*ca2d6785SGreg Roach <?= /* I18N: select all (of a list of options) */ I18N::translate('select all') ?> 47*ca2d6785SGreg Roach </button> 48*ca2d6785SGreg Roach <button type="button" class="btn btn-sm btn-secondary mx-1" onclick="document.querySelectorAll('#search-trees [type=checkbox]').forEach((element) => {element.checked=false;});"> 49*ca2d6785SGreg Roach <?= /* I18N: select none (of a list of options) */ I18N::translate('select none') ?> 50*ca2d6785SGreg Roach </button> 51*ca2d6785SGreg Roach <?php if ($all_trees->count() > 10) : ?> 52*ca2d6785SGreg Roach <button type="button" class="btn btn-sm btn-secondary mx-1" onclick="document.querySelectorAll('#search-trees [type=checkbox]').forEach((element) => {element.checked=!element.checked;});"> 53*ca2d6785SGreg Roach <?= /* I18N: reverse the selection (of a list of options) */ I18N::translate('invert selection') ?> 54*ca2d6785SGreg Roach </button> 55*ca2d6785SGreg Roach <?php endif ?> 56*ca2d6785SGreg Roach </div> 57*ca2d6785SGreg Roach </div> 58*ca2d6785SGreg Roach <?php else: ?> 59*ca2d6785SGreg Roach <?php foreach ($all_trees as $n => $tree) : ?> 60*ca2d6785SGreg Roach <?= view('components/checkbox-inline', ['name' => 'search_trees[]', 'id' => 'chkbx-' . $n, 'checked' => $search_trees->containsStrict($tree), 'value' => $tree->name(), 'label' => $tree->title()]) ?> 61*ca2d6785SGreg Roach <?php endforeach ?> 62*ca2d6785SGreg Roach <?php endif ?> 63*ca2d6785SGreg Roach </div> 64*ca2d6785SGreg Roach </div> 65*ca2d6785SGreg Roach </div> 66*ca2d6785SGreg Roach </fieldset> 67*ca2d6785SGreg Roach<?php endif ?> 68