diff --git a/themes/fid_bbi/scss/blocks/dbis.scss b/themes/fid_bbi/scss/blocks/dbis.scss new file mode 100644 index 0000000000000000000000000000000000000000..8be659e915f092bc8c5b3c85f932826b578144b4 --- /dev/null +++ b/themes/fid_bbi/scss/blocks/dbis.scss @@ -0,0 +1,21 @@ +.dbis { + // +} + +.dbis_icon { + flex: 0 0 g(); + margin-right: g(.25); +} + +.dbis_list { + list-style: none; + padding-left: 0; + + li { + display: flex; + + &::before { + content: none; + } + } +} diff --git a/themes/fid_bbi/scss/blocks/narrow.scss b/themes/fid_bbi/scss/blocks/narrow.scss new file mode 100644 index 0000000000000000000000000000000000000000..822bc52d7c048aa55c0e8768f505bb3cc78be48e --- /dev/null +++ b/themes/fid_bbi/scss/blocks/narrow.scss @@ -0,0 +1,4 @@ +.narrow { + margin: 0 auto; + max-width: $line-width; +} diff --git a/themes/fid_bbi/scss/compiled.scss b/themes/fid_bbi/scss/compiled.scss index 0081a402c6fbc1d21daa76eb30d05700f9efff4d..a1def09ffda477ba4f0adbfe0772e73fa1e0ecfb 100644 --- a/themes/fid_bbi/scss/compiled.scss +++ b/themes/fid_bbi/scss/compiled.scss @@ -29,6 +29,7 @@ @import 'blocks/browse'; @import 'blocks/button'; @import 'blocks/container'; +@import 'blocks/dbis'; @import 'blocks/facet'; @import 'blocks/filters'; @import 'blocks/footer'; @@ -40,6 +41,7 @@ @import 'blocks/link-with-icon'; @import 'blocks/main'; @import 'blocks/modal'; +@import 'blocks/narrow'; @import 'blocks/nav'; @import 'blocks/pagination'; @import 'blocks/posts'; diff --git a/themes/fid_bbi/templates/finc/dbis/result.phtml b/themes/fid_bbi/templates/finc/dbis/result.phtml new file mode 100644 index 0000000000000000000000000000000000000000..289a293ad96b54fd6987721da0f13fe0b70aede4 --- /dev/null +++ b/themes/fid_bbi/templates/finc/dbis/result.phtml @@ -0,0 +1,56 @@ +<!-- fid_bbi: finc - dbis - result --> +<?php +/** + * Copied from themes/finc-dbis/templates/finc/dbis/result.phtml + * Changes for FID BBI: + * - Add classes and elements required for styling + * - Use external link view helper + * + * @author Tobias Schäfer <ts@aspectis.net> + */ +?> + +<div class="dbis openurls"> + <div class="alert alert-info"> + <?=$this->icon('small/info')?> + <h3><?=$this->transEsc('Dbis Access Legend')?></h3> + <ul class="unstyled-list"> + <?php /** @var finc\Dbis\Model\Api\DbAccessInfo $accessInfo */ ?> + <?php foreach ($this->result->getDbAccessInfos()->getDbAccessInfo() as $accessInfo): ?> + <li> + <img + title="<?=$this->translate('dbis_' . $accessInfo->getAccessId())?>" + src="<?=$this->imageLink('dbis-list-' . $accessInfo->getAccessId() . '.png')?>" + alt="<?=$accessInfo->getDbAccessShortText()?>" + > + <?=$accessInfo->getDbAccess()?> + </li> + <?php endforeach; ?> + </ul> + </div> + + <?php /** @var finc\Dbis\Model\View\Group $group */ ?> + <?php foreach ($this->result as $group): ?> + <h3><?=$this->translate('Dbis ' . $group->getName())?></h3> + <ul class="dbis_list"> + <?php foreach ($group as $item): ?> + <li> + <span + <?php if (!empty($item->getAccessText())): ?> + data-toggle="tooltip" + data-html="true" + title="<?=$item->getAccessText()?>" + <?php endif; ?> + class="dbis_icon dbis-list-accessinfo-<?=$item->getDb()->getAccessRef()?>" + > + <img src="<?=$this->imageLink('dbis-list-' . $item->getDb()->getAccessRef() . '.png')?>" alt=""> + </span> + <span> + <?=$this->externalLink($item->getUrl(), $item->getName())?> + </span> + </li> + <?php endforeach; ?> + </ul> + <?php endforeach; ?> +</div> +<!-- dbis-module: ajax - dbis - END --> diff --git a/themes/fid_bbi/templates/myresearch/databases.phtml b/themes/fid_bbi/templates/myresearch/databases.phtml new file mode 100644 index 0000000000000000000000000000000000000000..a0461e59faa56338b63da8d8b1a067878bc8b237 --- /dev/null +++ b/themes/fid_bbi/templates/myresearch/databases.phtml @@ -0,0 +1,55 @@ +<!-- fid_bbi: myresearch - databases --> +<?php +/** + * Copied from themes/fid/templates/myresearch/databases.phtml + * Changes for FID BBI: + * - Add head title + * - Use proper headings + * - Use external link view helper + * + * @author Tobias Schäfer <ts@aspectis.net> + */ +?> + +<?php +$this->headTitle($this->translate('dbis_licenses_name')); +$account = $this->auth()->getManager(); +?> + +<div class="narrow"> + <h1><?=$this->translate('dbis_licenses_name')?></h1> + + <?php if (!$account->isLoggedIn()): ?> + <p><?=$this->translate('licenses_forbidden_login_required')?></p> + <?php elseif (!$this->permission()->allowDisplay('access.Licenses')) : ?> + <p><?=$this->translate('licenses_forbidden_permission_denied')?></p> + <?php elseif (empty($licenses)) : ?> + <p><?=$this->translate('licenses_not_available')?></p> + <?php else: ?> + <p><?=$this->translate('licenses_text')?></p> + <p class="dbis_description"> + <?=$this->translate('licenses_notice_html', + [ + '%%contact_url%%' => $this->url('feedback-home'), + '%%terms_url%%' => $this->url('fid/user/terms') + ] + )?> + </p> + + <p><?=$this->transEsc('licenses_desc_1')?></p> + + <ul class="licenses"> + <?php foreach ($licenses as $license): ?> + <li> + <?=$this->externalLink($license['url'], $this->translate('licenses_' . $license['name']))?> + (<?=$license['desc']?>) + </li> + <?php endforeach; ?> + </ul> + <?php endif; ?> + + <?php if ($this->isDbisAvailable) : ?> + <?=$this->render('myresearch/dbis-content')?> + <?php endif; ?> +</div> +<!-- fid_bbi: myresearch - databases - END --> diff --git a/themes/fid_bbi/templates/myresearch/dbis-content.phtml b/themes/fid_bbi/templates/myresearch/dbis-content.phtml new file mode 100644 index 0000000000000000000000000000000000000000..98d0306a2e6df53e40af61faab37b97f8e62f9a9 --- /dev/null +++ b/themes/fid_bbi/templates/myresearch/dbis-content.phtml @@ -0,0 +1,39 @@ +<!-- fid_bbi: myresearch - dbis-content --> +<?php +/** + * Copied from themes/fid/templates/myresearch/dbis-content.phtml + * Changes for FID BBI: + * - Hide obsolete heading + * - Add loading animation + * + * @author Tobias Schäfer <ts@aspectis.net> + */ +?> + +<h2 class="sr-only"><?=$this->translate('dbis_name')?></h2> + +<p><?=$this->translate('dbis_text')?></p> + +<div class="dbis_content" id="dbis_content" style="min-height: 140px; position: relative"> + <div class="modal-loading"> + <span class="sr-only"><?=$this->translate('Loading')?></span> + </div> +</div> + +<?php +$dbisId = $this->homeLibrary ?? ''; + +$dbisRequest = "$(document).ready(function () { + $.ajax({ + dataType: 'json', + method: 'GET', + url: VuFind.path + '/AJAX/JSON?method=getDbis&bibId=$dbisId&map_bibid_to_dbis=$this->map_bibid_to_dbis' + }) + .done(function(response) { + $('#dbis_content').html(response.data.html); + }); +});"; + +echo $this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $dbisRequest, 'SET'); +?> +<!-- fid_bbi: myresearch - dbis-content - END -->