diff options
| author | Rico Sonntag <mail@ricosonntag.de> | 2019-01-30 13:24:27 +0100 |
|---|---|---|
| committer | Greg Roach <fisharebest@gmail.com> | 2019-01-30 12:24:27 +0000 |
| commit | 8add1155cb77caede54752196ff44696d1346431 (patch) | |
| tree | 9f3d128bc9153d53d02d9b69d20c26fc2766c779 /resources/views/modules/statistics-chart | |
| parent | c3d1646f7eb0095bcea8d11a6368142b853c1949 (diff) | |
| download | webtrees-8add1155cb77caede54752196ff44696d1346431.tar.gz webtrees-8add1155cb77caede54752196ff44696d1346431.tar.bz2 webtrees-8add1155cb77caede54752196ff44696d1346431.zip | |
2059 (#2156)
* 2059 - Split other charts into separate views
* 2059 - Added some basic bootstrap markup
* 2059 - Moved distribution chart out of places table
* 2059 - Moved HTML of other statistics (places list) into templates
* 2059 - Removed tables, use cards instead
* 2059 - Started adding chart.js charts
* 2059: Moved template into sub directory
* 2059: Refactor family statistics
* 2059 - Started splitting places lists
* 2059 - Refactor individual statistics
* 2059: Moved HTML into templates
* 2059: Handle list/nolist of top-10 oldest
* 2059 - Use separate templates for lists
* 2059: Use templates
* 2059 - Minor enhancements
* 2059: Moved distribution chart into own class
* 2059: Splitted Stats into separate modules
* 2059: Use repository pattern to hide complexity and structure methods
* 2059: Use illuminate db
* 2059: Google charts
* 2059: Squash classes
* 2059: Use PHPs number formatter to format century ordinal suffix
* 2059: Place repository
* 2059: Use repositories
* 2059: Use illuminate db
* 2059: Simplify event repository methods
* 2059: Use @inheritDoc to avoid duplicate (or not updated) doc blocks
* 2059: PlaceRepository - Use illuminate database
* 2059: SexRepository
* 2059: Removed not used percentage calculations
* 2059: Consolidate classes
* 2059: Event dates
* 2059: Use constants
* 2059: Refactoring Stats
* 2059: Rename repo
* 2059: Refactor media repository
* 2059: Removed Chart.js stuff, doing this in a later update
* 2059: Reduce code complexity
* 2059: Moved age calculation to separate method
* 2059: Fixes after rebase
* 2059: Removed obsolete method parameters
* 2059: Use view to render hitcounter
* 2059: Update phpdoc
* 2059: Removed debug output
* 2059: Use consts
* 2059: Fixed method parameter type hints
* 2059: Add missing const types
* 2059: Simplify method
* 2059: Refactor google charts
* 2059: Fixed rebase issues
Diffstat (limited to 'resources/views/modules/statistics-chart')
3 files changed, 33 insertions, 360 deletions
diff --git a/resources/views/modules/statistics-chart/families.phtml b/resources/views/modules/statistics-chart/families.phtml index 9097fa3bd7..dbbab97f21 100644 --- a/resources/views/modules/statistics-chart/families.phtml +++ b/resources/views/modules/statistics-chart/families.phtml @@ -1,144 +1,12 @@ -<?php use Fisharebest\Webtrees\I18N; ?> +<?php +/** @var \Fisharebest\Webtrees\Stats $stats */ +?> -<h3> - <?= I18N::translate('Total families: %s', $stats->totalFamilies()) ?> -</h3> - -<table> - <tr> - <td><?= I18N::translate('Total marriages') ?></td> - <td><?= I18N::translate('Total divorces') ?></td> - </tr> - <tr> - <td><?= $stats->totalMarriages() ?></td> - <td><?= $stats->totalDivorces() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Marriages by century') ?></td> - <td><?= I18N::translate('Divorces by century') ?></td> - </tr> - <tr> - <td><?= $stats->statsMarr() ?></td> - <td><?= $stats->statsDiv() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Earliest marriage') ?></td> - <td><?= I18N::translate('Earliest divorce') ?></td> - </tr> - <tr> - <td><?= $stats->firstMarriage() ?></td> - <td><?= $stats->firstDivorce() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Latest marriage') ?></td> - <td><?= I18N::translate('Latest divorce') ?></td> - </tr> - <tr> - <td><?= $stats->lastMarriage() ?></td> - <td><?= $stats->lastDivorce() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Length of marriage') ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Longest marriage'), ' - ', $stats->topAgeOfMarriage() ?></td> - <td><?= I18N::translate('Shortest marriage'), ' - ', $stats->minAgeOfMarriage() ?></td> - </tr> - <tr> - <td><?= $stats->topAgeOfMarriageFamily() ?></td> - <td><?= $stats->minAgeOfMarriageFamily() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Age in year of marriage') ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Youngest male'), ' - ', $stats->youngestMarriageMaleAge(true) ?></td> - <td><?= I18N::translate('Youngest female'), ' - ', $stats->youngestMarriageFemaleAge(true) ?></td> - </tr> - <tr> - <td><?= $stats->youngestMarriageMale() ?></td> - <td><?= $stats->youngestMarriageFemale() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Oldest male'), ' - ', $stats->oldestMarriageMaleAge(true) ?></td> - <td><?= I18N::translate('Oldest female'), ' - ', $stats->oldestMarriageFemaleAge(true) ?></td> - </tr> - <tr> - <td><?= $stats->oldestMarriageMale() ?></td> - <td><?= $stats->oldestMarriageFemale() ?></td> - </tr> - <tr> - <td colspan="2"><?= $stats->statsMarrAge() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Age at birth of child') ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Youngest father'), ' - ', $stats->youngestFatherAge(true) ?></td> - <td><?= I18N::translate('Youngest mother'), ' - ', $stats->youngestMotherAge(true) ?></td> - </tr> - <tr> - <td><?= $stats->youngestFather() ?></td> - <td><?= $stats->youngestMother() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Oldest father'), ' - ', $stats->oldestFatherAge(true) ?></td> - <td><?= I18N::translate('Oldest mother'), ' - ', $stats->oldestMotherAge(true) ?></td> - </tr> - <tr> - <td><?= $stats->oldestFather() ?></td> - <td><?= $stats->oldestMother() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Children in family') ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Average number of children per family') ?></td> - <td><?= I18N::translate('Number of families without children') ?></td> - </tr> - <tr> - <td><?= $stats->averageChildren() ?></td> - <td><?= $stats->noChildrenFamilies() ?></td> - </tr> - <tr> - <td><?= $stats->statsChildren() ?></td> - <td><?= $stats->chartNoChildrenFamilies() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Largest families') ?></td> - <td><?= I18N::translate('Largest number of grandchildren') ?></td> - </tr> - <tr> - <td><?= $stats->topTenLargestFamilyList() ?></td> - <td><?= $stats->topTenLargestGrandFamilyList() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Age difference') ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Age between siblings') ?></td> - <td><?= I18N::translate('Greatest age between siblings') ?></td> - </tr> - <tr> - <td><?= $stats->topAgeBetweenSiblingsList() ?></td> - <td><?= $stats->topAgeBetweenSiblingsFullName() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Age between husband and wife') ?></td> - <td><?= I18N::translate('Age between wife and husband') ?></td> - </tr> - <tr> - <td><?= $stats->ageBetweenSpousesMFList() ?></td> - <td><?= $stats->ageBetweenSpousesFMList() ?></td> - </tr> -</table> +<div class="container pt-3"> + <?= view('statistics/families/total-records', ['stats' => $stats]) ?> + <?= view('statistics/families/marriage-length', ['stats' => $stats]) ?> + <?= view('statistics/families/marriage-age', ['stats' => $stats]) ?> + <?= view('statistics/families/birth-age', ['stats' => $stats]) ?> + <?= view('statistics/families/children', ['stats' => $stats]) ?> + <?= view('statistics/families/age-difference', ['stats' => $stats]) ?> +</div> diff --git a/resources/views/modules/statistics-chart/individuals.phtml b/resources/views/modules/statistics-chart/individuals.phtml index 7980441272..9fadb3c699 100644 --- a/resources/views/modules/statistics-chart/individuals.phtml +++ b/resources/views/modules/statistics-chart/individuals.phtml @@ -1,136 +1,14 @@ <?php use Fisharebest\Webtrees\I18N; ?> -<h3> - <?= I18N::translate('Total individuals: %s', $stats->totalIndividuals()) ?> -</h3> +<?php +/** @var \Fisharebest\Webtrees\Stats $stats */ +?> -<table class="table table-sm table-bordered"> - <thead> - <tr> - <th><?= I18N::translate('Total males') ?></th> - <th><?= I18N::translate('Total females') ?></th> - <th><?= I18N::translate('Total living') ?></th> - <th><?= I18N::translate('Total dead') ?></th> - </tr> - </thead> - <tbody> - <tr> - <td><?= $stats->totalSexMales() ?></td> - <td><?= $stats->totalSexFemales() ?></td> - <td><?= $stats->totalLiving() ?></td> - <td><?= $stats->totalDeceased() ?></td> - </tr> - </tbody> - <tfoot> - <tr> - <td colspan="2"><?= $stats->chartSex() ?></td> - <td colspan="2"><?= $stats->chartMortality() ?></td> - </tr> - </tfoot> -</table> - -<h3><?= I18N::translate('Events') ?></h3> - -<table class="table table-sm table-bordered"> - <tbody> - <tr> - <th><?= I18N::translate('Total births') ?></th> - <th><?= I18N::translate('Total deaths') ?></th> - </tr> - <tr> - <td><?= $stats->totalBirths() ?></td> - <td><?= $stats->totalDeaths() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Births by century') ?></td> - <td><?= I18N::translate('Deaths by century') ?></td> - </tr> - <tr> - <td><?= $stats->statsBirth() ?></td> - <td><?= $stats->statsDeath() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Earliest birth') ?></td> - <td><?= I18N::translate('Earliest death') ?></td> - </tr> - <tr> - <td><?= $stats->firstBirth() ?></td> - <td><?= $stats->firstDeath() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Latest birth') ?></td> - <td><?= I18N::translate('Latest death') ?></td> - </tr> - <tr> - <td><?= $stats->lastBirth() ?></td> - <td><?= $stats->lastDeath() ?></td> - </tr> - </tbody> -</table> - -<h3><?= I18N::translate('Lifespan') ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Average age at death') ?></td> - <td><?= I18N::translate('Males') ?></td> - <td><?= I18N::translate('Females') ?></td> - </tr> - <tr> - <td><?= $stats->averageLifespan(true) ?></td> - <td><?= $stats->averageLifespanMale(true) ?></td> - <td><?= $stats->averageLifespanFemale(true) ?></td> - </tr> - <tr> - <td colspan="3"><?= $stats->statsAge() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Greatest age at death') ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Males') ?></td> - <td><?= I18N::translate('Females') ?></td> - </tr> - <tr> - <td><?= $stats->topTenOldestMaleList() ?></td> - <td><?= $stats->topTenOldestFemaleList() ?></td> - </tr> -</table> - -<?php if ($show_oldest_living) : ?> - <h3><?= I18N::translate('Oldest living individuals') ?></h3> - - <table> - <tr> - <td><?= I18N::translate('Males') ?></td> - <td><?= I18N::translate('Females') ?></td> - </tr> - <tr> - <td><?= $stats->topTenOldestMaleListAlive() ?></td> - <td><?= $stats->topTenOldestFemaleListAlive() ?></td> - </tr> - </table> -<?php endif ?> - -<h3><?= I18N::translate('Names') ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Total surnames') ?></td> - <td><?= I18N::translate('Total given names') ?></td> - </tr> - <tr> - <td><?= $stats->totalSurnames() ?></td> - <td><?= $stats->totalGivennames() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Top surnames') ?></td> - <td><?= I18N::translate('Top given names') ?></td> - </tr> - <tr> - <td><?= $stats->chartCommonSurnames() ?></td> - <td><?= $stats->chartCommonGiven() ?></td> - </tr> -</table> +<div class="container pt-3"> + <?= view('statistics/individuals/total-records', ['stats' => $stats]) ?> + <?= view('statistics/individuals/total-events', ['stats' => $stats]) ?> + <?= view('statistics/individuals/lifespan', ['stats' => $stats]) ?> + <?= view('statistics/individuals/greatest-age', ['stats' => $stats]) ?> + <?= view('statistics/individuals/oldest-living', ['stats' => $stats]) ?> + <?= view('statistics/individuals/names', ['stats' => $stats]) ?> +</div> diff --git a/resources/views/modules/statistics-chart/other.phtml b/resources/views/modules/statistics-chart/other.phtml index d30979de96..d6e374e4a0 100644 --- a/resources/views/modules/statistics-chart/other.phtml +++ b/resources/views/modules/statistics-chart/other.phtml @@ -1,85 +1,12 @@ -<?php use Fisharebest\Webtrees\I18N; ?> +<?php +/** @var \Fisharebest\Webtrees\Stats $stats */ +?> -<h3> - <?= I18N::translate('Records') ?>: <?= $stats->totalRecords() ?> -</h3> - -<table> - <tr> - <td><?= I18N::translate('Media objects') ?></td> - <td><?= I18N::translate('Sources') ?></td> - <td><?= I18N::translate('Notes') ?></td> - <td><?= I18N::translate('Repositories') ?></td> - </tr> - <tr> - <td><?= $stats->totalMedia() ?></td> - <td><?= $stats->totalSources() ?></td> - <td><?= $stats->totalNotes() ?></td> - <td><?= $stats->totalRepositories() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Total events'), ': ', $stats->totalEvents() ?></h3> - -<table> - <tr> - <td><?= I18N::translate('First event'), ' - ', $stats->firstEventType() ?></td> - <td><?= I18N::translate('Last event'), ' - ', $stats->lastEventType() ?></td> - </tr> - <tr> - <td><?= $stats->firstEvent() ?></td> - <td><?= $stats->lastEvent() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Media objects'), ': ', $stats->totalMedia() ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Media objects') ?></td> - </tr> - <tr> - <td><?= $stats->chartMedia() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Sources'), ': ', $stats->totalSources() ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Individuals with sources') ?></td> - <td><?= I18N::translate('Families with sources') ?></td> - </tr> - <tr> - <td><?= $stats->totalIndisWithSources() ?></td> - <td><?= $stats->totalFamsWithSources() ?></td> - </tr> - <tr> - <td><?= $stats->chartIndisWithSources() ?></td> - <td><?= $stats->chartFamsWithSources() ?></td> - </tr> -</table> - -<h3><?= I18N::translate('Places'), ': ', $stats->totalPlaces() ?></h3> - -<table> - <tr> - <td><?= I18N::translate('Birth places') ?></td> - <td><?= I18N::translate('Death places') ?></td> - </tr> - <tr> - <td><?= $stats->commonBirthPlacesList() ?></td> - <td><?= $stats->commonDeathPlacesList() ?></td> - </tr> - <tr> - <td><?= I18N::translate('Marriage places') ?></td> - <td><?= I18N::translate('Events in countries') ?></td> - </tr> - <tr> - <td><?= $stats->commonMarriagePlacesList() ?></td> - <td><?= $stats->commonCountriesList() ?></td> - </tr> - <tr> - <td colspan="2"><?= $stats->chartDistribution() ?></td> - </tr> -</table> +<div class="container pt-3"> + <?= view('statistics/other/total-records', ['stats' => $stats]) ?> + <?= view('statistics/other/total-events', ['stats' => $stats]) ?> + <?= view('statistics/other/chart-objects', ['stats' => $stats]) ?> + <?= view('statistics/other/chart-sources', ['stats' => $stats]) ?> + <?= view('statistics/other/places', ['stats' => $stats]) ?> + <?= $stats->chartDistribution() ?> +</div> |
