diff --git a/webapp/src/main/webapp/js/individual/individualQtipBubble.js b/webapp/src/main/webapp/js/individual/individualQtipBubble.js deleted file mode 100644 index 78d484acc9..0000000000 --- a/webapp/src/main/webapp/js/individual/individualQtipBubble.js +++ /dev/null @@ -1,83 +0,0 @@ -/* $This file is distributed under the terms of the license in LICENSE$ */ - -$(document).ready(function(){ - // This function creates and styles the "qTip" tooltip that displays the bubble text when the user hovers - // over the research area "group" icon. - - $.extend(this, i18nStrings); - - $('head').append(''); - - $('#researchAreaIcon').each(function() - { - $(this).qtip( - { - prerender: true, - content: { - text: '
' + i18nStrings.researchAreaTooltipOne + '
' + i18nStrings.researchAreaTooltipTwo + '
' - }, - position: { - my: 'top left', - at: 'bottom center', - adjust: { - x:22, - y:30 - } - }, - style: { - classes: 'researchAreaTip', - height: 56, - width: 180, - } - }); - }); - - $('head').append(''); - - $('#fullViewIcon').each(function() - { - $(this).qtip( - { - content: { - text: '
' + i18nStrings.quickviewTooltip + '
' - }, - position: { - my: 'top left', - at: 'bottom center', - adjust: { - x:27, - y:30 - } - }, - style: { - classes: 'bubbleTip', - height: 56, - width: 140, - - } - }); - }); - - $('#quickViewIcon').each(function() - { - $(this).qtip( - { - content: { - text: '
' + i18nStrings.standardviewTooltipOne + '
' + i18nStrings.standardviewTooltipTwo + '
' - }, - position: { - my: 'top left', - at: 'bottom center', - adjust: { - x:28, - y:30 - } - }, - style: { - classes: 'bubbleTip', - height: 56, - width: 144, - } - }); - }); -}); diff --git a/webapp/src/main/webapp/js/individual/individualTooltipBubble.js b/webapp/src/main/webapp/js/individual/individualTooltipBubble.js new file mode 100644 index 0000000000..266402110c --- /dev/null +++ b/webapp/src/main/webapp/js/individual/individualTooltipBubble.js @@ -0,0 +1,43 @@ +/* $This file is distributed under the terms of the license in LICENSE$ */ + +$(document).ready(function(){ + // This function creates and styles the bootstrap-popper tooltip that displays the bubble text when the user hovers + // over the research area "group" icon. + + $.extend(this, i18nStrings); + + let tooltips = [ + { + querySelector: "#researchAreaIcon", + data: { + title: "
" + i18nStrings.researchAreaTooltipOne + "
" + i18nStrings.researchAreaTooltipTwo + "
", + html: true, + fallbackPlacements: ['bottom', 'left', 'top', 'right'], + customClass: "vivoTooltip" + } + }, + { + querySelector: "#fullViewIcon", + data: { + title: i18nStrings.quickviewTooltip, + html: true, + fallbackPlacements: ['bottom', 'left', 'top', 'right'], + customClass: "vivoTooltip" + } + }, + { + querySelector: "#quickViewIcon", + data: { + title: "
" + i18nStrings.standardviewTooltipOne + '
' + i18nStrings.standardviewTooltipTwo + "
", + html: true, + fallbackPlacements: ['bottom', 'left', 'top', 'right'], + customClass: "vivoTooltip" + } + }, + ] + + tooltips.forEach(tooltip => { + setTooltip(tooltip.querySelector, tooltip.data) + }) + +}); diff --git a/webapp/src/main/webapp/js/individual/propertyGroupControls.js b/webapp/src/main/webapp/js/individual/propertyGroupControls.js index 1b50991dfe..8c9f9a471d 100644 --- a/webapp/src/main/webapp/js/individual/propertyGroupControls.js +++ b/webapp/src/main/webapp/js/individual/propertyGroupControls.js @@ -13,17 +13,17 @@ $(document).ready(function(){ let showAllBtn = $('#show-all-tabs')[0]; let tabList = $('ul.propertyTabsList')[0]; - showAllBtn.addEventListener('show.bs.tab', function (event) { + showAllBtn?.addEventListener('show.bs.tab', function (event) { event.preventDefault() showAllTabs(); manageLocalStorage(); }) - showAllBtn.addEventListener('hide.bs.tab', function (event) { + showAllBtn?.addEventListener('hide.bs.tab', function (event) { $(".tab-content>section.tab-pane").removeClass('show active') }) - tabList.addEventListener('shown.bs.tab', function (event) { + tabList?.addEventListener('shown.bs.tab', function (event) { manageLocalStorage(); }) diff --git a/webapp/src/main/webapp/js/visualization/mapofscience/VisCommonControl.js b/webapp/src/main/webapp/js/visualization/mapofscience/VisCommonControl.js index 27f34d4927..27d4c149b7 100644 --- a/webapp/src/main/webapp/js/visualization/mapofscience/VisCommonControl.js +++ b/webapp/src/main/webapp/js/visualization/mapofscience/VisCommonControl.js @@ -84,36 +84,48 @@ function initVisModeTypeButton() { } function initGlobalToolTips() { - createToolTip($("#imageIconOne"), $('#toolTipOne').html(), "top left"); - createToolTip($("#exploreInfoIcon"), $('#exploreTooltipText').html(), "top left"); - createToolTip($("#compareInfoIcon"), $('#compareTooltipText').html(), "top left"); - createToolTip($("#imageIconThree"), $('#toolTipThree').html(), "top right"); -} - -var visCommonToolTipInit = true; -function createToolTip(target, tipText, tipLocation) { - if (visCommonToolTipInit) { - $('head').append(''); - - visCommonToolTipInit = false; - } - target.qtip({ - content: { - text: tipText - }, - position: { - my: tipLocation, - at: 'center' + let tooltips = [ + { + querySelector: "#imageIconOne", + data: { + title: "
" + $('#toolTipOne').html() + "
", + customClass: "vivoTooltip vivoTooltip-yellow", + html: true, + sanitize: false, + fallbackPlacements: ['right', 'bottom', 'top', 'left'] + } + },{ + querySelector: "#exploreInfoIcon", + data: { + title: "
" + $('#exploreTooltipText').html() + "
", + customClass: "vivoTooltip vivoTooltip-yellow", + html: true, + sanitize: false, + fallbackPlacements: ['right', 'bottom', 'top', 'left'] + } + },{ + querySelector: "#compareInfoIcon", + data: { + title: "
" + $('#compareTooltipText').html() + "
", + customClass: "vivoTooltip vivoTooltip-yellow", + html: true, + sanitize: false, + fallbackPlacements: ['right', 'bottom', 'top', 'left'] + } + },{ + querySelector: "#imageIconThree", + data: { + title: "
" + $('#toolTipThree').html() + "
", + customClass: "vivoTooltip vivoTooltip-yellow", + html: true, + sanitize: false, + fallbackPlacements: ['left', 'bottom', 'top', 'right'] + } }, - style: { - classes: 'visCommonToolTip', - width: 500, - } - }); + ] + + tooltips.forEach(tooltip => { + setTooltip(tooltip.querySelector, tooltip.data) + }) } diff --git a/webapp/src/main/webapp/templates/freemarker/body/individual/individual--foaf-person-2column.ftl b/webapp/src/main/webapp/templates/freemarker/body/individual/individual--foaf-person-2column.ftl index a786aeb654..80108aede9 100644 --- a/webapp/src/main/webapp/templates/freemarker/body/individual/individual--foaf-person-2column.ftl +++ b/webapp/src/main/webapp/templates/freemarker/body/individual/individual--foaf-person-2column.ftl @@ -188,19 +188,22 @@ var i18nStringsUriRdf = { }; -${stylesheets.add('', +${stylesheets.add('', + '', '', '', - '', - '')} + '')} ${headScripts.add('', - '', '', - '')} + '', + '', + '', + '')} + ${scripts.add('', - '', + '', '', '', '', diff --git a/webapp/src/main/webapp/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl b/webapp/src/main/webapp/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl index 2286832529..f3861e0dc9 100644 --- a/webapp/src/main/webapp/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl +++ b/webapp/src/main/webapp/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl @@ -250,17 +250,18 @@ var i18nStringsUriRdf = { ${stylesheets.add('', '', '', - '', - '')} + '')} ${headScripts.add('', - '', '', '', - '')} + '', + '', + '', + '')} ${scripts.add('', - '', + '', '', '', '', diff --git a/webapp/src/main/webapp/templates/freemarker/visualization/mapOfScience/mapOfScienceStandalone.ftl b/webapp/src/main/webapp/templates/freemarker/visualization/mapOfScience/mapOfScienceStandalone.ftl index a0441bd2b2..df47dfdcf6 100644 --- a/webapp/src/main/webapp/templates/freemarker/visualization/mapOfScience/mapOfScienceStandalone.ftl +++ b/webapp/src/main/webapp/templates/freemarker/visualization/mapOfScience/mapOfScienceStandalone.ftl @@ -85,7 +85,10 @@ corresponding changes in the included Templates. --> -${headScripts.add('')} ${stylesheets.add('', - '')} + '')} + +${headScripts.add('', + '', + '')} \ No newline at end of file diff --git a/webapp/src/main/webapp/themes/nemo/css/theme.css b/webapp/src/main/webapp/themes/nemo/css/theme.css index f839279f1d..a9b1105b12 100644 --- a/webapp/src/main/webapp/themes/nemo/css/theme.css +++ b/webapp/src/main/webapp/themes/nemo/css/theme.css @@ -268,3 +268,75 @@ These are helper classes to add margin gaps where needed .input-group-header-search { } + +/* -------------------------------------------------> */ +/* TOOLTIP ----------------------------------------> */ +/* -------------------------------------------------> */ +.vivoTooltip { + opacity: 1 !important; + --bs-tooltip-max-width: 400px !important; +} + +.vivoTooltip > .tooltip-inner { + background-color: #f1f2ee; + border: 1px solid #F1D031; + text-align: left; + border-radius: 0; + color: #333; + max-width: initial; +} + +.vivoTooltip > .tooltip-inner #uriLink { + width: 350px; +} + +.vivoTooltip > .tooltip-inner .close-footer { + display: flex; +} + +.vivoTooltip > .tooltip-inner .close-footer a.close { + margin-left: auto; +} + +.vivoTooltip > .tooltip-inner h5 { + padding-bottom: 0; +} + +.vivoTooltip > .tooltip-arrow::before { + --bs-tooltip-bg: #F1D031; +} + +.tooltip:not(.vivoTooltip) > .tooltip-inner, .tooltip:not(.vivoTooltip) > .tooltip-inner * { + color: unset; +} + +.downloadTip { + --bs-tooltip-max-width: 600px !important; +} + +.vivoTooltip-yellow { + --bs-tooltip-max-width: 500px !important; +} + +.vivoTooltip-yellow > .tooltip-inner { + background-color: #ffffc0; + font-size: 0.8em; + padding: 20px 22px; + text-align: left; + line-height: 12px; +} + + +/* */ + +#filter-groups .tab-content .tab-pane.active:not(.show) { + opacity: 0; +} + +#filter-groups .tab-content .tab-pane.show:not(.active) { + opacity: 0; +} + +.fade.in:not(.active) { + display: none; +} \ No newline at end of file diff --git a/webapp/src/main/webapp/themes/nemo/templates/head.ftl b/webapp/src/main/webapp/themes/nemo/templates/head.ftl index 837d8f1c79..29d118397a 100644 --- a/webapp/src/main/webapp/themes/nemo/templates/head.ftl +++ b/webapp/src/main/webapp/themes/nemo/templates/head.ftl @@ -19,7 +19,8 @@ '')} - + + <#include "stylesheets.ftl"> diff --git a/webapp/src/main/webapp/themes/nemo/templates/individual--foaf-person.ftl b/webapp/src/main/webapp/themes/nemo/templates/individual--foaf-person.ftl index aaecbb86b0..b334fbae19 100644 --- a/webapp/src/main/webapp/themes/nemo/templates/individual--foaf-person.ftl +++ b/webapp/src/main/webapp/themes/nemo/templates/individual--foaf-person.ftl @@ -213,12 +213,14 @@ Add divs and wrapper to create funnelback basket controls. MUST BE REMOVED BEFOR ${stylesheets.add('')} ${headScripts.add('', - '', '', - '')} + '', + '', + '', + '')} ${scripts.add('', - '', + '', '', '', '', diff --git a/webapp/src/main/webapp/themes/nemo/templates/individual-vitro.ftl b/webapp/src/main/webapp/themes/nemo/templates/individual-vitro.ftl index 81356e6459..67345aaad9 100644 --- a/webapp/src/main/webapp/themes/nemo/templates/individual-vitro.ftl +++ b/webapp/src/main/webapp/themes/nemo/templates/individual-vitro.ftl @@ -103,8 +103,7 @@ -${headScripts.add('', - '')} +${headScripts.add('')} ${scripts.add('', '', diff --git a/webapp/src/main/webapp/themes/nemo/templates/mapOfScienceSetup.ftl b/webapp/src/main/webapp/themes/nemo/templates/mapOfScienceSetup.ftl index da0ba4f33c..e0d9a02080 100644 --- a/webapp/src/main/webapp/themes/nemo/templates/mapOfScienceSetup.ftl +++ b/webapp/src/main/webapp/themes/nemo/templates/mapOfScienceSetup.ftl @@ -145,3 +145,7 @@ ${stylesheets.add('', '')} + +${headScripts.add('', + '', + '')} diff --git a/webapp/src/main/webapp/themes/nemo/templates/mapOfScienceStandalone.ftl b/webapp/src/main/webapp/themes/nemo/templates/mapOfScienceStandalone.ftl index c7f5d2adce..618d2726ae 100644 --- a/webapp/src/main/webapp/themes/nemo/templates/mapOfScienceStandalone.ftl +++ b/webapp/src/main/webapp/themes/nemo/templates/mapOfScienceStandalone.ftl @@ -92,6 +92,4 @@ corresponding changes in the included Templates. --> -${headScripts.add('')} - ${stylesheets.add('')} diff --git a/webapp/src/main/webapp/themes/tenderfoot/css/tenderfoot.css b/webapp/src/main/webapp/themes/tenderfoot/css/tenderfoot.css index 68da484afe..be92057971 100644 --- a/webapp/src/main/webapp/themes/tenderfoot/css/tenderfoot.css +++ b/webapp/src/main/webapp/themes/tenderfoot/css/tenderfoot.css @@ -8,6 +8,8 @@ legend { #nav { background: #f7f9f9; + position: sticky; + top: 0; } #nav.affix { @@ -365,3 +367,67 @@ img.add-individual { height: 15px; width: 15px; } + +/* -------------------------------------------------> */ +/* TOOLTIP ----------------------------------------> */ +/* -------------------------------------------------> */ +.vivoTooltip { + opacity: 1 !important; + --bs-tooltip-max-width: 400px !important; + } + + .vivoTooltip > .tooltip-inner { + background-color: #f1f2ee; + border: 1px solid #F1D031; + text-align: left; + border-radius: 0; + color: #333; + max-width: initial; + } + + .vivoTooltip > .tooltip-inner .close-footer { + display: flex; + } + + .vivoTooltip > .tooltip-inner .close-footer a.close { + margin-left: auto; + } + + .vivoTooltip > .tooltip-inner h5 { + padding-bottom: 0; + } + + .vivoTooltip > .tooltip-arrow::before { + --bs-tooltip-bg: #F1D031; + } + + .tooltip:not(.vivoTooltip) > .tooltip-inner, .tooltip:not(.vivoTooltip) > .tooltip-inner * { + color: unset; + } + + .downloadTip { + --bs-tooltip-max-width: 600px !important; + } + + .vivoTooltip-yellow { + --bs-tooltip-max-width: 500px !important; + } + + .vivoTooltip-yellow > .tooltip-inner { + background-color: #ffffc0; + font-size: 0.8em; + padding: 20px 22px; + text-align: left; + line-height: 12px; + } + + span#qrCodeImage { + top: 23px; + right: 25px; + left: initial !important; + } + + .show { + display: block !important; + opacity: 1; + } \ No newline at end of file diff --git a/webapp/src/main/webapp/themes/tenderfoot/js/propertyGroupControls-bootstrap.js b/webapp/src/main/webapp/themes/tenderfoot/js/propertyGroupControls-bootstrap.js index 5be973429d..94700637c2 100644 --- a/webapp/src/main/webapp/themes/tenderfoot/js/propertyGroupControls-bootstrap.js +++ b/webapp/src/main/webapp/themes/tenderfoot/js/propertyGroupControls-bootstrap.js @@ -27,7 +27,7 @@ $(document).ready(function(){ return false; }); $(window).on('popstate', function () { - var anchor = location.hash || $('li[data-toggle=\'tab\']').first().attr('href'); + var anchor = location.hash || $('li[data-bs-toggle=\'tab\']').first().attr('href'); $('li[href=\'' + anchor + '\']').tab('show'); if (anchor == "#viewAll") { showViewAll(); diff --git a/webapp/src/main/webapp/themes/tenderfoot/templates/body/individual/individual--foaf-person.ftl b/webapp/src/main/webapp/themes/tenderfoot/templates/body/individual/individual--foaf-person.ftl index 5aba938c81..3e2a094143 100644 --- a/webapp/src/main/webapp/themes/tenderfoot/templates/body/individual/individual--foaf-person.ftl +++ b/webapp/src/main/webapp/themes/tenderfoot/templates/body/individual/individual--foaf-person.ftl @@ -180,20 +180,21 @@ ${stylesheets.add( '', '', - '', - '' + '' )} ${headScripts.add( '', - '', - '' -)} + '', + '', + '', + '' + )} ${scripts.add( '', '', - '', + '', '', '', '', diff --git a/webapp/src/main/webapp/themes/tenderfoot/templates/body/partials/individual/individual-property-group-tabs.ftl b/webapp/src/main/webapp/themes/tenderfoot/templates/body/partials/individual/individual-property-group-tabs.ftl index 4bb5698d3d..fe8938e282 100644 --- a/webapp/src/main/webapp/themes/tenderfoot/templates/body/partials/individual/individual-property-group-tabs.ftl +++ b/webapp/src/main/webapp/themes/tenderfoot/templates/body/partials/individual/individual-property-group-tabs.ftl @@ -21,15 +21,15 @@ <#assign groupNameHtmlId = "${i18n().properties}" > <#if tabCount = 1 > -
  • ${groupName?capitalize}
  • +
  • ${groupName?capitalize}
  • <#assign tabCount = 2> <#else> -
  • ${groupName?capitalize}
  • +
  • ${groupName?capitalize}
  • <#if (propertyGroups.all?size > 1) > -
  • ${i18n().view_all_capitalized}
  • +
  • ${i18n().view_all_capitalized}
  • diff --git a/webapp/src/main/webapp/themes/tenderfoot/templates/page/partials/headScripts.ftl b/webapp/src/main/webapp/themes/tenderfoot/templates/page/partials/headScripts.ftl index 49c9181a9c..c6a446ffe3 100644 --- a/webapp/src/main/webapp/themes/tenderfoot/templates/page/partials/headScripts.ftl +++ b/webapp/src/main/webapp/themes/tenderfoot/templates/page/partials/headScripts.ftl @@ -6,6 +6,7 @@ var i18nStrings = { allCapitalized: '${i18n().all_capitalized?js_string}', }; + @@ -15,16 +16,10 @@ var i18nStrings = { - ')} +${headScripts.add('')} ${headScripts.add('')} <#include "stylesheets.ftl"> diff --git a/webapp/src/main/webapp/themes/wilma/templates/individual--foaf-person.ftl b/webapp/src/main/webapp/themes/wilma/templates/individual--foaf-person.ftl index 20e3f8cd40..c96dd73774 100644 --- a/webapp/src/main/webapp/themes/wilma/templates/individual--foaf-person.ftl +++ b/webapp/src/main/webapp/themes/wilma/templates/individual--foaf-person.ftl @@ -182,15 +182,13 @@ ${stylesheets.add('', '', - '', - '')} + '')} ${headScripts.add('', - '', '')} ${scripts.add('', - '', + '', '', '', '',