Skip to content

Commit 217c5fe

Browse files
committed
Render object metadata only if the view's SPARQL endpoint is local
1 parent 668f5e5 commit 217c5fe

File tree

4 files changed

+152
-106
lines changed

4 files changed

+152
-106
lines changed

src/main/webapp/static/com/atomgraph/linkeddatahub/css/bootstrap.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ h2.item-logo { background-image: url('../icons/file.svg'); background-position:
108108
.nav-tabs .chart-mode a { background-image: url('../icons/ic_show_chart_black_24px.svg'); background-position: 12px center; background-repeat: no-repeat; padding-left: 40px; }
109109
.nav-tabs .map-mode a { background-image: url('../icons/ic_map_black_24px.svg'); background-position: 12px center; background-repeat: no-repeat; padding-left: 40px; }
110110
.nav-tabs .graph-mode a { background-image: url('../icons/ic_blur_on_black_24px.svg'); background-position: 12px center; background-repeat: no-repeat; padding-left: 40px; }
111+
.nav-tabs .view-mode a { background-image: url('../icons/ic_view_list_black_24px.svg'); background-position: 12px center; background-repeat: no-repeat; padding-left: 40px; }
111112
.modal { max-height: 80%; overflow-y: auto; overflow-x: hidden; }
112113
.modal .dropdown-menu { z-index: 1100; }
113114
.modal-header { position: sticky; top: 0; background-color: white; z-index: 1060; }

src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/chart.xsl

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,6 @@ exclude-result-prefixes="#all"
621621
<xsl:with-param name="category" select="$category"/>
622622
<xsl:with-param name="series" select="$series"/>
623623
<xsl:with-param name="show-editor" select="false()"/>
624-
<xsl:with-param name="content-method" select="xs:QName('ixsl:append-content')"/>
625624
<xsl:with-param name="show-chart-save" select="false()"/>
626625
<xsl:with-param name="results-container-id" select="$container-id || '-query-results'"/>
627626
</xsl:call-template>
@@ -662,11 +661,9 @@ exclude-result-prefixes="#all"
662661
<xsl:param name="series" as="xs:string*"/>
663662
<xsl:param name="query-string" as="xs:string?"/>
664663
<xsl:param name="endpoint" as="xs:anyURI?"/>
665-
<xsl:param name="content-method" select="xs:QName('ixsl:replace-content')" as="xs:QName"/>
666664
<xsl:param name="show-editor" select="true()" as="xs:boolean"/>
667665
<xsl:param name="show-chart-save" select="true()" as="xs:boolean"/>
668666
<xsl:param name="results-container-id" select="ixsl:get($container, 'id') || '-query-results'" as="xs:string"/>
669-
<xsl:param name="results-container-class" select="'sparql-query-results'" as="xs:string"/>
670667

671668
<ixsl:set-style name="cursor" select="'default'" object="ixsl:page()//body"/>
672669

src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/client/block/query.xsl

Lines changed: 57 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,45 @@ exclude-result-prefixes="#all"
262262
<xsl:variable name="results-uri" select="ac:build-uri($endpoint, map{ 'query': $query-string })" as="xs:anyURI"/>
263263
<xsl:variable name="request-uri" select="ldh:href($ldt:base, $ldt:base, map{}, $results-uri)" as="xs:anyURI"/>
264264
<xsl:variable name="request" select="map{ 'method': 'GET', 'href': $request-uri, 'headers': map{ 'Accept': 'application/sparql-results+xml,application/rdf+xml;q=0.9' } }" as="map(xs:string, item())"/>
265+
<xsl:variable name="results-container-id" select="$block-id || '-query-results'" as="xs:string"/>
266+
<xsl:variable name="results-container-class" select="'sparql-query-results'" as="xs:string"/>
267+
<xsl:variable name="results-container-about" select="xs:anyURI(ac:absolute-path(ldh:base-uri(.)) || '#' || $results-container-id)" as="xs:anyURI"/>
265268

269+
<!-- create results/error container element if it doesn't exist -->
270+
<xsl:if test="not(id($results-container-id, ixsl:page()))">
271+
<!-- TO-DO: find a better solution. $container in ContentMode is the whole .content row but in ReadMode it's .main -->
272+
<xsl:for-each select="if ($container//div[contains-token(@class, 'main')]) then $container//div[contains-token(@class, 'main')] else $container">
273+
<xsl:variable name="active-mode" select="xs:anyURI('&ac;ChartMode')" as="xs:anyURI"/>
274+
275+
<xsl:result-document href="?." method="ixsl:append-content">
276+
<xsl:if test="$query-string">
277+
<ul class="nav nav-tabs nav-query-results">
278+
<li class="chart-mode">
279+
<xsl:if test="$active-mode = '&ac;ChartMode'">
280+
<xsl:attribute name="class" select="'chart-mode active'"/>
281+
</xsl:if>
282+
283+
<a>
284+
<xsl:apply-templates select="key('resources', '&ldh;Chart', document(ac:document-uri('&ldh;')))" mode="ac:label"/>
285+
</a>
286+
</li>
287+
<li class="view-mode">
288+
<xsl:if test="$active-mode = '&ac;ViewMode'">
289+
<xsl:attribute name="class" select="'view-mode active'"/>
290+
</xsl:if>
291+
292+
<a>
293+
<xsl:apply-templates select="key('resources', '&ldh;View', document(ac:document-uri('&ldh;')))" mode="ac:label"/>
294+
</a>
295+
</li>
296+
</ul>
297+
</xsl:if>
298+
299+
<div class="{$results-container-class}" id="{$results-container-id}" about="{$results-container-about}"></div>
300+
</xsl:result-document>
301+
</xsl:for-each>
302+
</xsl:if>
303+
266304
<xsl:variable name="request" as="item()*">
267305
<ixsl:schedule-action http-request="$request">
268306
<xsl:call-template name="onSPARQLResultsLoad">
@@ -271,7 +309,7 @@ exclude-result-prefixes="#all"
271309
<xsl:with-param name="block-uri" select="$block-uri"/>
272310
<xsl:with-param name="container" select="$container"/>
273311
<xsl:with-param name="chart-canvas-id" select="$block-id || '-chart-canvas'"/>
274-
<xsl:with-param name="results-container-id" select="$block-id || '-query-results'"/>
312+
<xsl:with-param name="results-container" select="id($results-container-id, ixsl:page())"/>
275313
<xsl:with-param name="query-string" select="$query-string"/>
276314
</xsl:call-template>
277315
</ixsl:schedule-action>
@@ -299,9 +337,9 @@ exclude-result-prefixes="#all"
299337
<xsl:apply-templates select="$form" mode="ixsl:onsubmit"/>
300338
</xsl:template>
301339

302-
<!-- toggle query results to container mode (prioritize over view.xsl) -->
340+
<!-- toggle query results to view mode (prioritize over view.xsl) -->
303341

304-
<xsl:template match="ul[contains-token(@class, 'nav-tabs')][contains-token(@class, 'nav-query-results')]/li[contains-token(@class, 'container-mode')][not(contains-token(@class, 'active'))]/a" mode="ixsl:onclick" priority="1">
342+
<xsl:template match="ul[contains-token(@class, 'nav-tabs')][contains-token(@class, 'nav-query-results')]/li[contains-token(@class, 'view-mode')][not(contains-token(@class, 'active'))]/a" mode="ixsl:onclick" priority="1">
305343
<xsl:variable name="block" select="ancestor::div[contains-token(@class, 'block')][1]" as="element()"/>
306344
<xsl:variable name="container" select="ancestor::div[@typeof][1]" as="element()"/>
307345
<xsl:variable name="form" select="$container//form[contains-token(@class, 'sparql-query-form')]" as="element()"/>
@@ -342,9 +380,19 @@ exclude-result-prefixes="#all"
342380
<ixsl:set-style name="width" select="'50%'" object="."/>
343381
</xsl:for-each>-->
344382

383+
<xsl:variable name="view-container" select="$container//div[contains-token(@class, 'sparql-query-results')]" as="element()"/>
384+
<!-- ensure the HTML structure is compatible with what view expects -->
385+
<xsl:for-each select="$view-container">
386+
<ixsl:set-attribute name="typeof" select="'&ldh;View'" object="$view-container"/>
387+
388+
<xsl:result-document href="?." method="ixsl:replace-content">
389+
<div class="main"></div>
390+
</xsl:result-document>
391+
</xsl:for-each>
392+
345393
<xsl:apply-templates select="$view-html" mode="ldh:RenderRow">
346394
<xsl:with-param name="block" select="$block"/>
347-
<xsl:with-param name="container" select="$container//div[contains-token(@class, 'sparql-query-results')]"/>
395+
<xsl:with-param name="container" select="$view-container"/>
348396
<xsl:with-param name="this" select="$this"/>
349397
<xsl:with-param name="base-uri" select="ac:absolute-path(ldh:base-uri(.))"/>
350398
</xsl:apply-templates>
@@ -464,47 +512,7 @@ exclude-result-prefixes="#all"
464512
<xsl:param name="content-method" select="xs:QName('ixsl:replace-content')" as="xs:QName"/>
465513
<xsl:param name="show-editor" select="true()" as="xs:boolean"/>
466514
<xsl:param name="show-chart-save" select="true()" as="xs:boolean"/>
467-
<xsl:param name="results-container-id" select="ixsl:get($container, 'id') || '-query-results'" as="xs:string"/>
468-
<xsl:param name="results-container-class" select="'sparql-query-results'" as="xs:string"/>
469-
470-
<!-- create results/error container element if it doesn't exist -->
471-
<xsl:if test="not(id($results-container-id, ixsl:page()))">
472-
<!-- TO-DO: find a better solution. $container in ContentMode is the whole .content row but in ReadMode it's .main -->
473-
<xsl:for-each select="if ($container//div[contains-token(@class, 'main')]) then $container//div[contains-token(@class, 'main')] else $container">
474-
<xsl:variable name="active-mode" select="xs:anyURI('&ac;ChartMode')" as="xs:anyURI"/>
475-
476-
<xsl:result-document href="?." method="ixsl:append-content">
477-
<xsl:if test="$query-string">
478-
<ul class="nav nav-tabs nav-query-results">
479-
<li class="chart-mode">
480-
<xsl:if test="$active-mode = '&ac;ChartMode'">
481-
<xsl:attribute name="class" select="'chart-mode active'"/>
482-
</xsl:if>
483-
484-
<a>
485-
<xsl:apply-templates select="key('resources', '&ac;ChartMode', document(ac:document-uri('&ac;')))" mode="ldh:logo"/>
486-
<xsl:apply-templates select="key('resources', '&ac;ChartMode', document(ac:document-uri('&ac;')))" mode="ac:label"/>
487-
</a>
488-
</li>
489-
<li class="container-mode">
490-
<xsl:if test="$active-mode = '&ac;ContainerMode'">
491-
<xsl:attribute name="class" select="'container-mode active'"/>
492-
</xsl:if>
493-
494-
<a>
495-
<xsl:apply-templates select="key('resources', '&ac;ContainerMode', document(ac:document-uri('&ac;')))" mode="ldh:logo"/>
496-
<xsl:apply-templates select="key('resources', '&ac;ContainerMode', document(ac:document-uri('&ac;')))" mode="ac:label"/>
497-
</a>
498-
</li>
499-
</ul>
500-
</xsl:if>
501-
502-
<div class="{$results-container-class}" id="{$results-container-id}"></div>
503-
</xsl:result-document>
504-
</xsl:for-each>
505-
</xsl:if>
506-
507-
<ixsl:set-style name="cursor" select="'default'" object="ixsl:page()//body"/>
515+
<xsl:param name="results-container" as="element()"/>
508516

509517
<xsl:variable name="response" select="." as="map(*)"/>
510518
<xsl:choose>
@@ -514,7 +522,7 @@ exclude-result-prefixes="#all"
514522
<xsl:variable name="category" select="if (exists($category)) then $category else (if (rdf:RDF) then distinct-values(rdf:RDF/*/*/concat(namespace-uri(), local-name()))[1] else srx:sparql/srx:head/srx:variable[1]/@name)" as="xs:string?"/>
515523
<xsl:variable name="series" select="if (exists($series)) then $series else (if (rdf:RDF) then distinct-values(rdf:RDF/*/*/concat(namespace-uri(), local-name())) else srx:sparql/srx:head/srx:variable/@name)" as="xs:string*"/>
516524

517-
<xsl:for-each select="id($results-container-id, ixsl:page())">
525+
<xsl:for-each select="$results-container">
518526
<xsl:result-document href="?." method="ixsl:replace-content">
519527
<xsl:apply-templates select="$results" mode="bs2:Chart">
520528
<xsl:with-param name="endpoint" select="if (not($endpoint = sd:endpoint())) then $endpoint else ()" tunnel="yes"/>
@@ -564,7 +572,7 @@ exclude-result-prefixes="#all"
564572
</xsl:for-each>
565573

566574
<!-- error response - could not load query results -->
567-
<xsl:for-each select="id($results-container-id, ixsl:page())">
575+
<xsl:for-each select="$results-container">
568576
<xsl:result-document href="?." method="ixsl:replace-content">
569577
<div class="alert alert-block">
570578
<strong>Error during query execution:</strong>
@@ -576,6 +584,8 @@ exclude-result-prefixes="#all"
576584
</xsl:for-each>
577585
</xsl:otherwise>
578586
</xsl:choose>
587+
588+
<ixsl:set-style name="cursor" select="'default'" object="ixsl:page()//body"/>
579589
</xsl:template>
580590

581591
</xsl:stylesheet>

0 commit comments

Comments
 (0)