diff options
| author | Greg Roach <greg@subaqua.co.uk> | 2021-02-01 16:50:30 +0000 |
|---|---|---|
| committer | Greg Roach <greg@subaqua.co.uk> | 2021-02-02 16:52:32 +0000 |
| commit | c2ed51d13a57743094c11c8fe84befd9d4f158cd (patch) | |
| tree | 4f2d541fed3550f5d64f9754e9d37f5e9b9ce447 /app/Elements/XrefSubmitter.php | |
| parent | 4d2b9c53c95ad846160295dd8f4136a5b53f9f7b (diff) | |
| download | webtrees-c2ed51d13a57743094c11c8fe84befd9d4f158cd.tar.gz webtrees-c2ed51d13a57743094c11c8fe84befd9d4f158cd.tar.bz2 webtrees-c2ed51d13a57743094c11c8fe84befd9d4f158cd.zip | |
Merge GEDCOM element code from 2.1 branch
Diffstat (limited to 'app/Elements/XrefSubmitter.php')
| -rw-r--r-- | app/Elements/XrefSubmitter.php | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/app/Elements/XrefSubmitter.php b/app/Elements/XrefSubmitter.php new file mode 100644 index 0000000000..a77c8c1afc --- /dev/null +++ b/app/Elements/XrefSubmitter.php @@ -0,0 +1,81 @@ +<?php + +/** + * webtrees: online genealogy + * Copyright (C) 2021 webtrees development team + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +declare(strict_types=1); + +namespace Fisharebest\Webtrees\Elements; + +use Fisharebest\Webtrees\Http\RequestHandlers\CreateSubmitterModal; +use Fisharebest\Webtrees\I18N; +use Fisharebest\Webtrees\Registry; +use Fisharebest\Webtrees\Tree; + +use function e; +use function route; +use function trim; +use function view; + +/** + * XREF:SUBM := {Size=1:22} + * A pointer to, or a cross-reference identifier of, a SUBMitter record. + */ +class XrefSubmitter extends AbstractXrefElement +{ + /** + * An edit control for this data. + * + * @param string $id + * @param string $name + * @param string $value + * @param Tree $tree + * + * @return string + */ + public function edit(string $id, string $name, string $value, Tree $tree): string + { + $select = view('components/select-submitter', [ + 'id' => $id, + 'name' => $name, + 'submitter' => Registry::submitterFactory()->make(trim($value, '@'), $tree), + 'tree' => $tree, + 'at' => '@', + ]); + + return + '<div class="input-group">' . + '<div class="input-group-prepend">' . + '<button class="btn btn-secondary" type="button" data-toggle="modal" data-backdrop="static" data-target="#wt-ajax-modal" data-href="' . e(route(CreateSubmitterModal::class, ['tree' => $tree->name()])) . '" data-select-id="' . $id . '" title="' . I18N::translate('Create a submitter') . '">' . + view('icons/add') . + '</button>' . + '</div>' . + $select . + '</div>'; + } + + /** + * Display the value of this type of element. + * + * @param string $value + * @param Tree $tree + * + * @return string + */ + public function value(string $value, Tree $tree): string + { + return $this->valueXrefLink($value, $tree, Registry::submitterFactory()); + } +} |
