diff options
Diffstat (limited to 'resources/views')
| -rw-r--r-- | resources/views/chart-box.phtml | 2 | ||||
| -rw-r--r-- | resources/views/chart-parents.phtml | 40 | ||||
| -rw-r--r-- | resources/views/family-page-children.phtml | 47 | ||||
| -rw-r--r-- | resources/views/family-page-grandparents.phtml | 72 | ||||
| -rw-r--r-- | resources/views/family-page-menu.phtml | 14 | ||||
| -rw-r--r-- | resources/views/family-page-parents.phtml | 49 | ||||
| -rw-r--r-- | resources/views/family-page.phtml | 68 | ||||
| -rw-r--r-- | resources/views/lists/families-table.phtml | 2 | ||||
| -rw-r--r-- | resources/views/lists/individuals-table.phtml | 2 | ||||
| -rw-r--r-- | resources/views/lists/media-table.phtml | 2 | ||||
| -rw-r--r-- | resources/views/lists/notes-table.phtml | 2 | ||||
| -rw-r--r-- | resources/views/lists/repositories-table.phtml | 2 | ||||
| -rw-r--r-- | resources/views/lists/sources-table.phtml | 2 | ||||
| -rw-r--r-- | resources/views/media-page.phtml | 2 | ||||
| -rw-r--r-- | resources/views/modules/relatives/family.phtml | 8 |
15 files changed, 259 insertions, 55 deletions
diff --git a/resources/views/chart-box.phtml b/resources/views/chart-box.phtml index 0c8c234fff..c7123d77d4 100644 --- a/resources/views/chart-box.phtml +++ b/resources/views/chart-box.phtml @@ -94,7 +94,7 @@ $id = Uuid::uuid4()->toString(); * @var Individual $individual */ ?> -<div class="wt-chart-box wt-chart-box-<?= strtolower($individual->sex()) ?>" style="overflow: hidden;" data-xref="<?= e($individual->xref()) ?>" data-tree="<?= e($individual->tree()->name()) ?>"> +<div class="wt-chart-box wt-chart-box-<?= strtolower($individual->sex()) ?> <?= $individual->isPendingAddition() ? 'wt-new' : '' ?> <?= $individual->isPendingDeletion() ? 'wt-old' : '' ?> overflow-hidden" data-xref="<?= e($individual->xref()) ?>" data-tree="<?= e($individual->tree()->name()) ?>"> <?php if ($individual->canShow() && $individual->tree()->getPreference('SHOW_HIGHLIGHT_IMAGES')) : ?> <div class="wt-chart-box-thumbnail float-left mr-1"> <?= $individual->displayImage(40, 50, 'crop', ['class' => 'wt-chart-box-thumbnail']) ?> diff --git a/resources/views/chart-parents.phtml b/resources/views/chart-parents.phtml new file mode 100644 index 0000000000..4b5d97cf38 --- /dev/null +++ b/resources/views/chart-parents.phtml @@ -0,0 +1,40 @@ +<div class="d-flex"> + <div class="align-self-center"> + <div class="d-flex"> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-first-parent"></div> + </div> + + <div class="align-self-center"> + <?= view('chart-box', ['individual' => $family ? $family->husband() : null]) ?> + </div> + + <?php if ($generations > 1): ?> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-line"></div> + </div> + + <?= view('chart-parents', ['family' => $family && $family->husband() ? $family->husband()->primaryChildFamily() : null, 'generations' => $generations - 1]) ?> + <?php endif ?> + </div> + + <div class="d-flex"> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-last-parent"></div> + </div> + + <div class="align-self-center"> + <?= view('chart-box', ['individual' => $family ? $family->wife() : null ]) ?> + </div> + + <?php if ($generations > 1): ?> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-line"></div> + </div> + + <?= view('chart-parents', ['family' => $family && $family->wife() ? $family->wife()->primaryChildFamily() : null, 'generations' => $generations - 1]) ?> + <?php endif ?> + </div> + </div> +</div> + diff --git a/resources/views/family-page-children.phtml b/resources/views/family-page-children.phtml new file mode 100644 index 0000000000..112234a459 --- /dev/null +++ b/resources/views/family-page-children.phtml @@ -0,0 +1,47 @@ +<?php + +use Fisharebest\Webtrees\I18N; + +?> + +<div class="align-self-center"> + <div class="badge badge-secondary m-2"> + <?php if ($family->children()->count() === 0): ?> + <?= I18N::translate('No children') ?> + <?php else: ?> + <?= I18N::plural('%s child', '%s children', $family->children()->count(), I18N::number($family->children()->count())) ?> + <?php endif ?> + </div> + <?php foreach ($family->children() as $n => $child): ?> + <div class="d-flex"> + <?= view('chart-box', ['individual' => $child]) ?> + <div class="wt-chart-horizontal-spacer"> + <?php if ($family->children()->count() === 1): ?> + <div class="wt-chart-horizontal-line"></div> + <?php elseif ($n === 0): ?> + <div class="wt-chart-horizontal-first-child"></div> + <?php elseif ($n + 1 === $family->children()->count()): ?> + <div class="wt-chart-horizontal-last-child"></div> + <?php else: ?> + <div class="wt-chart-horizontal-middle-child"><div class="wt-chart-horizontal-line"></div></div> + <?php endif ?> + </div> + </div> + <?php endforeach ?> + <div class="wt-chart-box"> + <a class="btn btn-link" href="<?= e(route('add-child-to-family', ['gender' => 'U', 'ged' => $family->tree()->name(), 'xref' => $family->xref()])) ?>"> + <?= I18N::translate('Add a child') ?> + </a> + <br> + <?php if ($family->numberOfChildren() > 1) : ?> + <a class="btn btn-link" href="<?= e(route('reorder-children', ['ged' => $family->tree()->name(), 'xref' => $family->xref()])) ?>"> + <?= I18N::translate('Re-order children') ?> + </a> + <?php endif ?> + </div> +</div> +<?php if ($family->children()->count() !== 1): ?> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-line"></div> + </div> +<?php endif ?> diff --git a/resources/views/family-page-grandparents.phtml b/resources/views/family-page-grandparents.phtml new file mode 100644 index 0000000000..d66a20b028 --- /dev/null +++ b/resources/views/family-page-grandparents.phtml @@ -0,0 +1,72 @@ +<?php + +use Fisharebest\Webtrees\I18N; + +?> + +<div class="d-flex"> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-line"></div> + </div> + <div class="align-self-center"> + <div class="d-flex"> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-first-parent"></div> + </div> + + <div class="align-self-center"> + <?php if ($individual === null): ?> + <?= view('chart-box', ['individual' => $individual]) ?> + <?php elseif ($family === null): ?> + <div class="wt-chart-box"> + <a class="btn btn-link" href="<?= e(route('add-parent-to-individual', ['ged' => $individual->tree()->name(), 'xref' => $individual->xref(), 'gender' => 'M'])) ?>"> + <?= I18N::translate('Add a father') ?> + </a> + </div> + <?php elseif ($family->husband() === null): ?> + <div class="wt-chart-box"> + <a class="btn btn-link" href="<?= e(route('add-spouse-to-family', ['ged' => $family->tree()->name(), 'xref' => $family->xref(), 'famtag' => 'HUSB'])) ?>"> + <?= I18N::translate('Add a father') ?> + </a> + </div> + <?php else: ?> + <?= view('chart-box', ['individual' => $family ? $family->husband() : null]) ?> + <?php endif ?> + </div> + </div> + + <div class="d-flex"> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-last-parent"></div> + </div> + + <div class="align-self-center"> + <?php if ($individual === null): ?> + <?= view('chart-box', ['individual' => $individual]) ?> + <?php elseif ($family === null): ?> + <div class="wt-chart-box"> + <a class="btn btn-link" href="<?= e(route('add-parent-to-individual', ['ged' => $individual->tree()->name(), 'xref' => $individual->xref(), 'gender' => 'F'])) ?>"> + <?= I18N::translate('Add a mother') ?> + </a> + </div> + <?php elseif ($family->wife() === null): ?> + <div class="wt-chart-box"> + <a class="btn btn-link" href="<?= e(route('add-spouse-to-family', ['ged' => $family->tree()->name(), 'xref' => $family->xref(), 'famtag' => 'WIFE'])) ?>"> + <?= I18N::translate('Add a mother') ?> + </a> + </div> + <?php else: ?> + <?= view('chart-box', ['individual' => $family ? $family->wife() : null]) ?> + <?php endif ?> + </div> + </div> + </div> + <?php if ($family !== null): ?> + <div class="align-self-center"> + <a class="btn btn-text" href="<?= e($family->url()) ?>" title="<?= strip_tags($family->fullName()) ?>"> + <?= view('icons/arrow-right') ?> + </a> + </div> + <?php endif ?> +</div> + diff --git a/resources/views/family-page-menu.phtml b/resources/views/family-page-menu.phtml index f6da617ff2..5e10ea4709 100644 --- a/resources/views/family-page-menu.phtml +++ b/resources/views/family-page-menu.phtml @@ -11,8 +11,20 @@ <?= I18N::translate('Change family members') ?> </a> + <?php if ($record->husband() === null): ?> + <a class="dropdown-item menu-fam-addchil" href="<?= e(route('add-spouse-to-family', ['ged' => $record->tree()->name(), 'xref' => $record->xref(), 'famtag' => 'HUSB'])) ?>"> + <?= I18N::translate('Add a husband') ?> + </a> + <?php endif ?> + + <?php if ($record->wife() === null): ?> + <a class="dropdown-item menu-fam-addchil" href="<?= e(route('add-spouse-to-family', ['ged' => $record->tree()->name(), 'xref' => $record->xref(), 'famtag' => 'WIFE'])) ?>"> + <?= I18N::translate('Add a wife') ?> + </a> + <?php endif ?> + <a class="dropdown-item menu-fam-addchil" href="<?= e(route('add-child-to-family', ['gender' => 'U', 'ged' => $record->tree()->name(), 'xref' => $record->xref()])) ?>"> - <?= I18N::translate('Add a child to this family') ?> + <?= I18N::translate('Add a child') ?> </a> <?php if ($record->numberOfChildren() > 1) : ?> diff --git a/resources/views/family-page-parents.phtml b/resources/views/family-page-parents.phtml new file mode 100644 index 0000000000..065f24bb73 --- /dev/null +++ b/resources/views/family-page-parents.phtml @@ -0,0 +1,49 @@ +<?php + +use Fisharebest\Webtrees\I18N; + +?> +<div class="d-flex"> + <div class="align-self-center"> + <div class="d-flex"> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-first-parent"></div> + </div> + + <div class="align-self-center"> + <?php if ($family->husband()): ?> + <?= view('chart-box', ['individual' => $family->husband()]) ?> + <?php else: ?> + <div class="wt-chart-box"> + <a class="btn btn-link" href="<?= e(route('add-spouse-to-family', ['ged' => $family->tree()->name(), 'xref' => $family->xref(), 'famtag' => 'HUSB'])) ?>"> + <?= I18N::translate('Add a husband' )?> + </a> + </div> + <?php endif ?> + </div> + + <?= view('family-page-grandparents', ['family' => $family->husband() ? $family->husband()->primaryChildFamily() : null, 'individual' => $family->husband()]) ?> + </div> + + <div class="d-flex"> + <div class="wt-chart-horizontal-spacer"> + <div class="wt-chart-horizontal-last-parent"></div> + </div> + + <div class="align-self-center"> + <?php if ($family->wife()): ?> + <?= view('chart-box', ['individual' => $family->wife()]) ?> + <?php else: ?> + <div class="wt-chart-box"> + <a class="btn btn-link" href="<?= e(route('add-spouse-to-family', ['ged' => $family->tree()->name(), 'xref' => $family->xref(), 'famtag' => 'WIFE'])) ?>"> + <?= I18N::translate('Add a wife' )?> + </a> + </div> + <?php endif ?> + </div> + + <?= view('family-page-grandparents', ['family' => $family->wife() ? $family->wife()->primaryChildFamily() : null, 'individual' => $family->wife()]) ?> + </div> + </div> +</div> + diff --git a/resources/views/family-page.phtml b/resources/views/family-page.phtml index 669ddaa0b3..400c1120be 100644 --- a/resources/views/family-page.phtml +++ b/resources/views/family-page.phtml @@ -1,9 +1,14 @@ -<?php use Fisharebest\Webtrees\Auth; ?> -<?php use Fisharebest\Webtrees\Functions\FunctionsCharts; ?> -<?php use Fisharebest\Webtrees\Functions\FunctionsPrint; ?> -<?php use Fisharebest\Webtrees\Functions\FunctionsPrintFacts; ?> -<?php use Fisharebest\Webtrees\I18N; ?> -<?php use Fisharebest\Webtrees\Module\ModuleThemeInterface; ?> +<?php + +use Fisharebest\Webtrees\Auth; +use Fisharebest\Webtrees\Functions\FunctionsCharts; +use Fisharebest\Webtrees\Functions\FunctionsPrint; +use Fisharebest\Webtrees\Functions\FunctionsPrintFacts; +use Fisharebest\Webtrees\I18N; +use Fisharebest\Webtrees\Module\ModuleThemeInterface; +use Fisharebest\Webtrees\View; + +?> <?php if ($record->isPendingDeletion()) : ?> <?php if (Auth::isModerator($record->tree())) : ?> @@ -28,42 +33,21 @@ <?php endif ?> </div> +<?php View::push('styles') ?> +<style> + .wt-family-members .wt-chart-box { + width: 22.5vw; + } +</style> +<?php View::endpush() ?> + <div class="wt-page-content"> - <table id="family-table" class="w-100" role="presentation"> - <tr style="vertical-align:top;"> - <td style="width: <?= app(ModuleThemeInterface::class)->parameter('chart-box-x') + 30 ?>px;"> - <?php FunctionsCharts::printFamilyChildren($record) ?> - </td> - <td> - <table class="w-100" role="presentation"> - <tr> - <td class="subheaders"><?= I18N::translate('Parents') ?></td> - <td class="subheaders"><?= I18N::translate('Grandparents') ?></td> - </tr> - <tr> - <td colspan="2"> - <?php FunctionsCharts::printFamilyParents($record) ?> - <?php if (Auth::isEditor($record->tree())) : ?> - <?php if ($record->husband() === null) : ?> - <a href="<?= e(route('add-spouse-to-family', ['ged=' => $record->tree()->name(), 'xref' => $record->xref(), 'famtag' => 'HUSB'])) ?>"> - <?= I18N::translate('Add a father') ?> - </a> - <br> - <?php endif ?> - <?php if ($record->wife() === null) : ?> - <a href="<?= e(route('add-spouse-to-family', ['ged=' => $record->tree()->name(), 'xref' => $record->xref(), 'famtag' => 'WIFE'])) ?>"> - <?= I18N::translate('Add a mother') ?> - </a> - <br> - <?php endif ?> - <?php endif ?> - </td> - </tr> - </table> - </td> - </tr> - </table> - <span class="subheaders"><?= I18N::translate('Family group information') ?></span> + <div class="wt-family-members d-flex"> + <?= view('family-page-children', ['family' => $record]) ?> + <?= view('family-page-parents', ['family' => $record]) ?> + </div> + + <h3 class="mt-4"><?= I18N::translate('Facts and events') ?></h3> <table class="table wt-facts-table"> <?php if ($facts->isEmpty()) : ?> <tr> @@ -109,7 +93,7 @@ <?= I18N::translate('Media object') ?> </th> <td class="optionbox"> - <a href="<?= e(route('add-fact', ['ged' => $record->tree()->name(), 'xref' => $record->xref(), 'fact' => 'OBJE'])) ?>"> + <a href="<?= e(route('add-fact', ['ged' => $record->tree()->name(), 'xref' => $record->xref(), 'fact' => 'OBJE'])) ?>"> <?= I18N::translate('Add a media object') ?> </a> </td> diff --git a/resources/views/lists/families-table.phtml b/resources/views/lists/families-table.phtml index fece235b81..91ee093a61 100644 --- a/resources/views/lists/families-table.phtml +++ b/resources/views/lists/families-table.phtml @@ -289,7 +289,7 @@ $marriageAgeData = [ <?php $husb = $family->husband() ?? new Individual('H', '0 @H@ INDI', null, $family->tree()) ?> <?php $wife = $family->wife() ?? new Individual('W', '0 @W@ INDI', null, $family->tree()) ?> - <tr class="<?= $family->isPendingDeletion() ? 'old' : ($family->isPendingAddition() ? 'new' : '') ?>"> + <tr class="<?= $family->isPendingDeletion() ? 'wt-old' : ($family->isPendingAddition() ? 'wt-new' : '') ?>"> <!-- Husband name --> <td colspan="2" data-sort="<?= e(str_replace([',', '@P.N.', '@N.N.'], 'AAAA', implode(',', array_reverse(explode(',', $husb->sortName()))))) ?>"> <?php foreach ($husb->getAllNames() as $num => $name) : ?> diff --git a/resources/views/lists/individuals-table.phtml b/resources/views/lists/individuals-table.phtml index f0cd23bc43..7f8345d353 100644 --- a/resources/views/lists/individuals-table.phtml +++ b/resources/views/lists/individuals-table.phtml @@ -309,7 +309,7 @@ $deathAgeData = [ <tbody> <?php foreach ($individuals as $key => $individual) : ?> - <tr class="<?= $individual->isPendingDeletion() ? 'old' : ($individual->isPendingAddition() ? 'new' : '') ?>"> + <tr class="<?= $individual->isPendingDeletion() ? 'wt-old' : ($individual->isPendingAddition() ? 'wt-new' : '') ?>"> <td colspan="2" data-sort="<?= e(str_replace([',', '@P.N.', '@N.N.'], 'AAAA', implode(',', array_reverse(explode(',', $individual->sortName()))))) ?>"> <?php foreach ($individual->getAllNames() as $num => $name) : ?> <a title="<?= $name['type'] === 'NAME' ? '' : GedcomTag::getLabel($name['type'], $individual) ?>" href="<?= e($individual->url()) ?>" class="<?= $num === $individual->getPrimaryName() ? 'name2' : '' ?>"> diff --git a/resources/views/lists/media-table.phtml b/resources/views/lists/media-table.phtml index 1adaa924d8..f8deb96f73 100644 --- a/resources/views/lists/media-table.phtml +++ b/resources/views/lists/media-table.phtml @@ -72,7 +72,7 @@ $count_sources = DB::table('sources') <tbody> <?php foreach ($media_objects as $media_object) : ?> - <tr class="<?= $media_object->isPendingDeletion() ? 'old' : ($media_object->isPendingAddition() ? 'new' : '') ?>"> + <tr class="<?= $media_object->isPendingDeletion() ? 'wt-old' : ($media_object->isPendingAddition() ? 'wt-new' : '') ?>"> <!-- Thumbnails--> <td data-sort="<?= e($media_object->sortName()) ?>"> <?php foreach ($media_object->mediaFiles() as $media_file) : ?> diff --git a/resources/views/lists/notes-table.phtml b/resources/views/lists/notes-table.phtml index 0bbea598f1..3e70c7552a 100644 --- a/resources/views/lists/notes-table.phtml +++ b/resources/views/lists/notes-table.phtml @@ -85,7 +85,7 @@ $count_sources = DB::table('sources') <tbody> <?php foreach ($notes as $note) : ?> - <tr class="<?= $note->isPendingDeletion() ? 'old' : ($note->isPendingAddition() ? 'new' : '') ?>"> + <tr class="<?= $note->isPendingDeletion() ? 'wt-old' : ($note->isPendingAddition() ? 'wt-new' : '') ?>"> <!-- Title --> <td data-sort="<?= e($note->sortName()) ?>"> <a href="<?= e($note->url()) ?>"> diff --git a/resources/views/lists/repositories-table.phtml b/resources/views/lists/repositories-table.phtml index 7c45d97821..c3e3c1e032 100644 --- a/resources/views/lists/repositories-table.phtml +++ b/resources/views/lists/repositories-table.phtml @@ -43,7 +43,7 @@ $count_sources = DB::table('sources') <tbody> <?php foreach ($repositories as $repository) : ?> - <tr class="<?= $repository->isPendingDeletion() ? 'old' : ($repository->isPendingAddition() ? 'new' : '') ?>"> + <tr class="<?= $repository->isPendingDeletion() ? 'wt-old' : ($repository->isPendingAddition() ? 'wt-new' : '') ?>"> <!-- Repository name --> <td data-sort="<?= e($repository->sortName()) ?>"> <a href="<?= e($repository->url()) ?>"> diff --git a/resources/views/lists/sources-table.phtml b/resources/views/lists/sources-table.phtml index d24872909a..56e76382f7 100644 --- a/resources/views/lists/sources-table.phtml +++ b/resources/views/lists/sources-table.phtml @@ -88,7 +88,7 @@ $count_notes = DB::table('other') <tbody> <?php foreach ($sources as $source) : ?> - <tr class="<?= $source->isPendingDeletion() ? 'old' : ($source->isPendingAddition() ? 'new' : '') ?>"> + <tr class="<?= $source->isPendingDeletion() ? 'wt-old' : ($source->isPendingAddition() ? 'wt-new' : '') ?>"> <!-- Title --> <td data-sort="<?= e($source->sortName()) ?>"> <a href="<?= e($source->url()) ?>"> diff --git a/resources/views/media-page.phtml b/resources/views/media-page.phtml index d00ed11dc8..bcab90e543 100644 --- a/resources/views/media-page.phtml +++ b/resources/views/media-page.phtml @@ -64,7 +64,7 @@ <div class="tab-pane active fade show" role="tabpanel" id="details"> <table class="table wt-facts-table"> <?php foreach ($media->mediaFiles() as $media_file) : ?> - <tr class="<?= $media_file->isPendingAddition() ? 'new' : '' ?><?= $media_file->isPendingDeletion() ? 'old' : '' ?>"> + <tr class="<?= $media_file->isPendingAddition() ? 'wt-new' : '' ?><?= $media_file->isPendingDeletion() ? 'wt-old' : '' ?>"> <th scope="row"> <?= I18N::translate('Media file') ?> <?php if ($media->canEdit()) : ?> diff --git a/resources/views/modules/relatives/family.phtml b/resources/views/modules/relatives/family.phtml index 3cd62f6269..ba7ceec2f2 100644 --- a/resources/views/modules/relatives/family.phtml +++ b/resources/views/modules/relatives/family.phtml @@ -43,7 +43,7 @@ <th scope="row"></th> <td> <a href="<?= e(route('add-spouse-to-family', ['ged' => $family->tree()->name(), 'xref' => $family->xref(), 'famtag' => 'HUSB'])) ?>"> - <?= I18N::translate('Add a husband to this family') ?> + <?= I18N::translate('Add a husband') ?> </a> </td> </tr> @@ -80,7 +80,7 @@ <th scope="row"></th> <td> <a href="<?= e(route('add-spouse-to-family', ['ged' => $family->tree()->name(), 'xref' => $family->xref(), 'famtag' => 'WIFE'])) ?>"> - <?= I18N::translate('Add a wife to this family') ?> + <?= I18N::translate('Add a wife') ?> </a> </td> </tr> @@ -94,9 +94,9 @@ foreach ($family->facts(array_merge(Gedcom::MARRIAGE_EVENTS, Gedcom::DIVORCE_EVENTS), true) as $fact) { $found |= !$fact->isPendingDeletion(); if ($fact->isPendingAddition()) { - $row_class = 'new'; + $row_class = 'wt-new'; } elseif ($fact->isPendingDeletion()) { - $row_class = 'old'; + $row_class = 'wt-old'; } else { $row_class = ''; } |
