@@ -441,83 +441,46 @@ exclude-result-prefixes="#all"
441441 </xsl : if >
442442 </xsl : template >
443443
444- <!-- view mode tabs -->
445-
446- <xsl : template name =" bs2:ViewModeTabs" >
447- <xsl : param name =" active-mode" as =" xs:anyURI" />
448-
449- <ul class =" nav nav-tabs view-mode-nav-tabs" >
450- <li class =" read-mode" >
451- <xsl : if test =" $active-mode = '∾ ReadMode'" >
452- <xsl : attribute name =" class" select =" 'read-mode active'" />
453- </xsl : if >
444+ <!-- view mode dropdown -->
454445
455- <a >
456- <xsl : apply-templates select =" key('resources', '∾ ReadMode', document(ac:document-uri('∾ ')))" mode =" ldh:logo" />
457- <xsl : apply-templates select =" key('resources', '∾ ReadMode', document(ac:document-uri('∾ ')))" mode =" ac:label" />
458- </a >
459- </li >
460- <li class =" list-mode" >
461- <xsl : if test =" $active-mode = '∾ ListMode'" >
462- <xsl : attribute name =" class" select =" 'list-mode active'" />
463- </xsl : if >
464-
465- <a >
466- <xsl : apply-templates select =" key('resources', '∾ ListMode', document(ac:document-uri('∾ ')))" mode =" ldh:logo" />
467- <xsl : apply-templates select =" key('resources', '∾ ListMode', document(ac:document-uri('∾ ')))" mode =" ac:label" />
468- </a >
469- </li >
470- <li class =" table-mode" >
471- <xsl : if test =" $active-mode = '∾ TableMode'" >
472- <xsl : attribute name =" class" select =" 'table-mode active'" />
473- </xsl : if >
446+ <xsl : template name =" bs2:ViewModeList" >
447+ <xsl : param name =" active-mode" as =" xs:anyURI" />
448+ <xsl : param name =" id" select =" 'view-modes'" as =" xs:string?" />
449+ <xsl : param name =" mode-button-classes" as =" map(xs:string, xs:string)" >
450+ <xsl : map >
451+ <xsl : map-entry key =" '∾ ReadMode'" select =" 'btn-read'" />
452+ <xsl : map-entry key =" '∾ ListMode'" select =" 'btn-list'" />
453+ <xsl : map-entry key =" '∾ TableMode'" select =" 'btn-table'" />
454+ <xsl : map-entry key =" '∾ GridMode'" select =" 'btn-grid'" />
455+ <xsl : map-entry key =" '∾ ChartMode'" select =" 'btn-chart'" />
456+ <xsl : map-entry key =" '∾ MapMode'" select =" 'btn-map'" />
457+ <xsl : map-entry key =" '∾ GraphMode'" select =" 'btn-graph'" />
458+ </xsl : map >
459+ </xsl : param >
474460
475- <a >
476- <xsl : apply-templates select =" key('resources', '∾ TableMode', document(ac:document-uri('∾ ')))" mode =" ldh:logo" />
477- <xsl : apply-templates select =" key('resources', '∾ TableMode', document(ac:document-uri('∾ ')))" mode =" ac:label" />
478- </a >
479- </li >
480- <li class =" grid-mode" >
481- <xsl : if test =" $active-mode = '∾ GridMode'" >
482- <xsl : attribute name =" class" select =" 'grid-mode active'" />
461+ <div class =" btn-group pull-right" >
462+ <button type =" button" title =" {ac:label(key('resources', '∾ Mode', document(ac:document-uri('∾ '))))}" >
463+ <xsl : if test =" $id" >
464+ <xsl : attribute name =" id" select =" $id" />
483465 </xsl : if >
484466
485- <a >
486- <xsl : apply-templates select =" key('resources', '∾ GridMode', document(ac:document-uri('∾ ')))" mode =" ldh:logo" />
487- <xsl : apply-templates select =" key('resources', '∾ GridMode', document(ac:document-uri('∾ ')))" mode =" ac:label" />
488- </a >
489- </li >
490- <li class =" chart-mode" >
491- <xsl : if test =" $active-mode = '∾ ChartMode'" >
492- <xsl : attribute name =" class" select =" 'chart-mode active'" />
493- </xsl : if >
467+ <xsl : attribute name =" class" select =" 'btn dropdown-toggle ' || (map:get($mode-button-classes, string($active-mode)), 'btn-read')[1]" />
494468
495- <a >
496- <xsl : apply-templates select =" key('resources', '∾ ChartMode', document(ac:document-uri('∾ ')))" mode =" ldh:logo" />
497- <xsl : apply-templates select =" key('resources', '∾ ChartMode', document(ac:document-uri('∾ ')))" mode =" ac:label" />
498- </a >
499- </li >
500- <li class =" map-mode" >
501- <xsl : if test =" $active-mode = '∾ MapMode'" >
502- <xsl : attribute name =" class" select =" 'map-mode active'" />
503- </xsl : if >
469+ <xsl : text > </xsl : text >
470+ <span class =" caret" ></span >
471+ </button >
504472
505- <a >
506- <xsl : apply-templates select =" key('resources', '∾ MapMode', document(ac:document-uri('∾ ')))" mode =" ldh:logo" />
507- <xsl : apply-templates select =" key('resources', '∾ MapMode', document(ac:document-uri('∾ ')))" mode =" ac:label" />
508- </a >
509- </li >
510- <li class =" graph-mode" >
511- <xsl : if test =" $active-mode = '∾ GraphMode'" >
512- <xsl : attribute name =" class" select =" 'graph-mode active'" />
513- </xsl : if >
514-
515- <a >
516- <xsl : apply-templates select =" key('resources', '∾ GraphMode', document(ac:document-uri('∾ ')))" mode =" ldh:logo" />
517- <xsl : apply-templates select =" key('resources', '∾ GraphMode', document(ac:document-uri('∾ ')))" mode =" ac:label" />
518- </a >
519- </li >
520- </ul >
473+ <ul class =" dropdown-menu view-mode-list" >
474+ <xsl : for-each select =" ('∾ ReadMode', '∾ ListMode', '∾ TableMode', '∾ GridMode', '∾ ChartMode', '∾ MapMode', '∾ GraphMode')" >
475+ <xsl : for-each select =" key('resources', ., document(ac:document-uri('∾ ')))" >
476+ <xsl : apply-templates select =" ." mode =" bs2:ModeListItem" >
477+ <xsl : with-param name =" active" select =" @rdf:about = $active-mode" />
478+ <xsl : with-param name =" href" select =" ()" />
479+ </xsl : apply-templates >
480+ </xsl : for-each >
481+ </xsl : for-each >
482+ </ul >
483+ </div >
521484 </xsl : template >
522485
523486 <!-- render view -->
@@ -748,6 +711,10 @@ exclude-result-prefixes="#all"
748711 <xsl : value-of select =" $container/descendant::*[@property = '&dct; title']" />
749712 </h2 >
750713
714+ <xsl : call-template name =" bs2:ViewModeList" >
715+ <xsl : with-param name =" active-mode" select =" $active-mode" />
716+ </xsl : call-template >
717+
751718 <div class =" pull-right" >
752719 <form class =" form-inline" >
753720 <label for =" {$order-by-container-id}" >
@@ -790,10 +757,6 @@ exclude-result-prefixes="#all"
790757 <div >
791758 <p id =" {$result-count-container-id}" class =" result-count" />
792759
793- <xsl : call-template name =" bs2:ViewModeTabs" >
794- <xsl : with-param name =" active-mode" select =" $active-mode" />
795- </xsl : call-template >
796-
797760 <div id =" {$container-results-id}" class =" container-results" ></div >
798761 </div >
799762 </xsl : result-document >
@@ -1146,9 +1109,9 @@ exclude-result-prefixes="#all"
11461109
11471110 <!-- EVENT LISTENERS -->
11481111
1149- <!-- view mode tabs -->
1150-
1151- <xsl : template match =" *[@typeof]//div/ ul[contains-token(@class, 'view-mode-nav-tabs ')]/li[not(contains-token(@class, 'active'))]/a" mode =" ixsl:onclick" >
1112+ <!-- view mode dropdown -->
1113+
1114+ <xsl : template match =" *[@typeof]//ul[contains-token(@class, 'view-mode-list ')]/li[not(contains-token(@class, 'active'))]/a" mode =" ixsl:onclick" >
11521115 <xsl : variable name =" block" select =" ancestor::div[contains-token(@class, 'block')][1]" as =" element()" />
11531116 <xsl : variable name =" block-uri" select =" xs:anyURI($block/@about)" as =" xs:anyURI" />
11541117 <xsl : variable name =" container" select =" ancestor::div[@typeof][1]" as =" element()" />
@@ -1203,7 +1166,7 @@ exclude-result-prefixes="#all"
12031166 <xsl : variable name =" block" select =" ancestor::div[contains-token(@class, 'block')][1]" as =" element()" />
12041167 <xsl : variable name =" container" select =" ancestor::div[@typeof][1]" as =" element()" />
12051168 <xsl : variable name =" block-uri" select =" xs:anyURI($block/@about)" as =" xs:anyURI" />
1206- <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-nav-tabs ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
1169+ <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-list ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
12071170 <xsl : variable name =" active-mode" select =" map:get($class-modes, $active-class)" as =" xs:anyURI" />
12081171 <xsl : variable name =" select-string" select =" ixsl:get(ixsl:get(ixsl:get(ixsl:window(), 'LinkedDataHub.contents'), '`' || $block-uri || '`'), 'select-query')" as =" xs:string" />
12091172 <xsl : variable name =" select-xml" select =" ixsl:get(ixsl:get(ixsl:get(ixsl:window(), 'LinkedDataHub.contents'), '`' || $block-uri || '`'), 'select-xml')" as =" document-node()" />
@@ -1253,7 +1216,7 @@ exclude-result-prefixes="#all"
12531216 <xsl : variable name =" block" select =" ancestor::div[contains-token(@class, 'block')][1]" as =" element()" />
12541217 <xsl : variable name =" container" select =" ancestor::div[@typeof][1]" as =" element()" />
12551218 <xsl : variable name =" block-uri" select =" xs:anyURI($block/@about)" as =" xs:anyURI" />
1256- <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-nav-tabs ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
1219+ <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-list ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
12571220 <xsl : variable name =" active-mode" select =" map:get($class-modes, $active-class)" as =" xs:anyURI" />
12581221 <xsl : variable name =" select-string" select =" ixsl:get(ixsl:get(ixsl:get(ixsl:window(), 'LinkedDataHub.contents'), '`' || $block-uri || '`'), 'select-query')" as =" xs:string" />
12591222 <xsl : variable name =" select-xml" select =" ixsl:get(ixsl:get(ixsl:get(ixsl:window(), 'LinkedDataHub.contents'), '`' || $block-uri || '`'), 'select-xml')" as =" document-node()" />
@@ -1302,7 +1265,7 @@ exclude-result-prefixes="#all"
13021265 <xsl : variable name =" block" select =" ancestor::div[contains-token(@class, 'block')][1]" as =" element()" />
13031266 <xsl : variable name =" container" select =" ancestor::div[@typeof][1]" as =" element()" />
13041267 <xsl : variable name =" block-uri" select =" xs:anyURI($block/@about)" as =" xs:anyURI" />
1305- <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-nav-tabs ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
1268+ <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-list ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
13061269 <xsl : variable name =" active-mode" select =" map:get($class-modes, $active-class)" as =" xs:anyURI" />
13071270 <xsl : variable name =" predicate" select =" ixsl:get(., 'value')" as =" xs:anyURI?" />
13081271 <xsl : variable name =" select-string" select =" ixsl:get(ixsl:get(ixsl:get(ixsl:window(), 'LinkedDataHub.contents'), '`' || $block-uri || '`'), 'select-query')" as =" xs:string" />
@@ -1352,7 +1315,7 @@ exclude-result-prefixes="#all"
13521315 <xsl : variable name =" block" select =" ancestor::div[contains-token(@class, 'block')][1]" as =" element()" />
13531316 <xsl : variable name =" container" select =" ancestor::div[@typeof][1]" as =" element()" />
13541317 <xsl : variable name =" block-uri" select =" xs:anyURI($block/@about)" as =" xs:anyURI" />
1355- <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-nav-tabs ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
1318+ <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-list ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
13561319 <xsl : variable name =" active-mode" select =" map:get($class-modes, $active-class)" as =" xs:anyURI" />
13571320 <xsl : variable name =" desc" select =" contains(@class, 'btn-order-by-desc')" as =" xs:boolean" />
13581321 <xsl : variable name =" select-string" select =" ixsl:get(ixsl:get(ixsl:get(ixsl:window(), 'LinkedDataHub.contents'), '`' || $block-uri || '`'), 'select-query')" as =" xs:string" />
@@ -1498,7 +1461,7 @@ exclude-result-prefixes="#all"
14981461 <xsl : variable name =" block" select =" ancestor::div[contains-token(@class, 'block')][1]" as =" element()" />
14991462 <xsl : variable name =" container" select =" ancestor::div[@typeof][1]" as =" element()" />
15001463 <xsl : variable name =" block-uri" select =" xs:anyURI($block/@about)" as =" xs:anyURI" />
1501- <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-nav-tabs ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
1464+ <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-list ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
15021465 <xsl : variable name =" active-mode" select =" map:get($class-modes, $active-class)" as =" xs:anyURI" />
15031466 <xsl : variable name =" var-name" select =" @name" as =" xs:string" />
15041467 <!-- collect the values/types/datatypes of all checked inputs within this facet and build an array of maps -->
@@ -1549,7 +1512,7 @@ exclude-result-prefixes="#all"
15491512 <xsl : variable name =" block" select =" ancestor::div[contains-token(@class, 'block')][1]" as =" element()" />
15501513 <xsl : variable name =" container" select =" ancestor::div[@typeof][1]" as =" element()" />
15511514 <xsl : variable name =" block-uri" select =" xs:anyURI($block/@about)" as =" xs:anyURI" />
1552- <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-nav-tabs ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
1515+ <xsl : variable name =" active-class" select =" tokenize($container//ul[contains-token(@class, 'view-mode-list ')]/li[contains-token(@class, 'active')]/@class, ' ')[not(. = 'active')]" as =" xs:string" />
15531516 <xsl : variable name =" active-mode" select =" map:get($class-modes, $active-class)" as =" xs:anyURI" />
15541517 <xsl : variable name =" predicate" select =" input/@value" as =" xs:anyURI" />
15551518 <xsl : variable name =" select-string" select =" ixsl:get(ixsl:get(ixsl:get(ixsl:window(), 'LinkedDataHub.contents'), '`' || $block-uri || '`'), 'select-query')" as =" xs:string" />
0 commit comments