diff options
author | Vjacheslav Trushkin <cyberalien@gmail.com> | 2013-10-17 21:07:41 +0300 |
---|---|---|
committer | Vjacheslav Trushkin <cyberalien@gmail.com> | 2013-10-17 21:07:41 +0300 |
commit | 744a91dc7b7e020bf6eb8bb439756fd075c35dc9 (patch) | |
tree | 52171b1dcf2c181722047d041b8b8b5b27c166ac /phpBB/styles/prosilver/template | |
parent | a189c38853ede323a0dc7ef170c788a7f687326c (diff) | |
download | forums-744a91dc7b7e020bf6eb8bb439756fd075c35dc9.tar forums-744a91dc7b7e020bf6eb8bb439756fd075c35dc9.tar.gz forums-744a91dc7b7e020bf6eb8bb439756fd075c35dc9.tar.bz2 forums-744a91dc7b7e020bf6eb8bb439756fd075c35dc9.tar.xz forums-744a91dc7b7e020bf6eb8bb439756fd075c35dc9.zip |
[ticket/11552] Responsive breadcrumbs
PHPBB3-11552
Diffstat (limited to 'phpBB/styles/prosilver/template')
-rw-r--r-- | phpBB/styles/prosilver/template/forum_fn.js | 51 | ||||
-rw-r--r-- | phpBB/styles/prosilver/template/overall_header.html | 2 |
2 files changed, 52 insertions, 1 deletions
diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js index c36b4f5f01..cfb95d9cba 100644 --- a/phpBB/styles/prosilver/template/forum_fn.js +++ b/phpBB/styles/prosilver/template/forum_fn.js @@ -441,5 +441,56 @@ function insert_single_user(formId, user) // Fix .linkslist.bulletin lists $('ul.linklist.bulletin li:first-child, ul.linklist.bulletin li.rightside:last-child').addClass('no-bulletin'); } + + // Responsive breadcrumbs + $('.breadcrumbs').each(function() { + var $this = $(this), + $body = $('body'), + links = $this.find('a'), + length = links.length, + classes = ['wrapped-wide', 'wrapped-medium', 'wrapped-small'], + classesLength = classes.length, + maxHeight = 0, + lastWidth = false, + wrapped = false; + + // Test height by setting nowrap + $this.css('white-space', 'nowrap'); + maxHeight = $this.height() + 1; + $this.css('white-space', ''); + + // Funciton that checks breadcrumbs + function check() { + var height = $this.height(), + width = $body.width(), + link, i, j; + + if (height <= maxHeight) { + if (!wrapped || lastWidth === false || lastWidth >= width) { + lastWidth = width; + return; + } + } + lastWidth = width; + + if (wrapped) { + $this.find('a.wrapped').removeClass('wrapped ' + classes.join(' ')); + wrapped = false; + if ($this.height() <= maxHeight) return; + } + + wrapped = true; + for (i = 0; i < classesLength; i ++) { + for (j = length; j >= 0; j --) { + links.eq(j).addClass('wrapped ' + classes[i]); + if ($this.height() <= maxHeight) return; + } + } + } + + // Run function and set event + check(); + $(window).resize(check); + }); }); })(jQuery); diff --git a/phpBB/styles/prosilver/template/overall_header.html b/phpBB/styles/prosilver/template/overall_header.html index ce1317ab11..7bf60ce67c 100644 --- a/phpBB/styles/prosilver/template/overall_header.html +++ b/phpBB/styles/prosilver/template/overall_header.html @@ -84,7 +84,7 @@ <ul class="linklist navlinks"> <!-- DEFINE $MICRODATA = ' itemtype="http://data-vocabulary.org/Breadcrumb" itemscope=""' --> - <li class="icon-home"><!-- IF U_SITE_HOME --><a href="{U_SITE_HOME}"{$MICRODATA}>{L_SITE_HOME}</a> <strong>‹</strong> <!-- ENDIF --> + <li class="icon-home breadcrumbs"><!-- IF U_SITE_HOME --><a href="{U_SITE_HOME}"{$MICRODATA}>{L_SITE_HOME}</a> <strong>‹</strong> <!-- ENDIF --> <a href="{U_INDEX}" accesskey="h"{$MICRODATA}>{L_INDEX}</a> <!-- BEGIN navlinks --> <strong>‹</strong> <a href="{navlinks.U_VIEW_FORUM}"{$MICRODATA}>{navlinks.FORUM_NAME}</a><!-- END navlinks --> <!-- EVENT overall_header_breadcrumb_append --> |