Skip to content

Commit 3dfe7c9

Browse files
committed
Fixed multipart form callback
Also fixed query error response rendering
1 parent 05abac4 commit 3dfe7c9

File tree

5 files changed

+50
-102
lines changed

5 files changed

+50
-102
lines changed

src/main/webapp/static/com/atomgraph/linkeddatahub/js/jquery.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* global contextUri, baseUri, requestUri, absolutePath, lang, xslt2proc, UriBuilder, SaxonJS, ontologyUri, contextUri */
22

3-
var fetchDispatchXML = function(url, method, headers, body, target, docUri, resources, container, eventName)
3+
var fetchDispatchXML = function(url, method, headers, body, target, docUri, resources, block, eventName)
44
{
55
let request = new Request(url, { "method": method, "headers": headers, "body": body });
66

@@ -14,14 +14,14 @@ var fetchDispatchXML = function(url, method, headers, body, target, docUri, reso
1414
then(function(xmlString)
1515
{
1616
let xml = new DOMParser().parseFromString(xmlString, "text/xml");
17-
let event = new CustomEvent(eventName, { "detail": { "action": url, "response": response, "xml": xml, "target": target, "docUri": docUri, "resources": resources, "container": container } } );
17+
let event = new CustomEvent(eventName, { "detail": { "action": url, "response": response, "xml": xml, "target": target, "docUri": docUri, "resources": resources, "block": block } } );
1818
// no need to add event listeners here, that is done by IXSL
1919
document.dispatchEvent(event);
2020
});
2121
}
2222
else
2323
{
24-
let event = new CustomEvent(eventName, { "detail": { "action": url, "response": response, "target": target, "docUri": docUri, "resources": resources, "container": container } } );
24+
let event = new CustomEvent(eventName, { "detail": { "action": url, "response": response, "target": target, "docUri": docUri, "resources": resources, "block": block } } );
2525
// no need to add event listeners here, that is done by IXSL
2626
document.dispatchEvent(event);
2727
}
@@ -35,14 +35,14 @@ var fetchDispatchXML = function(url, method, headers, body, target, docUri, reso
3535
then(function(xmlString)
3636
{
3737
let xml = new DOMParser().parseFromString(xmlString, "text/xml");
38-
let event = new CustomEvent(eventName, { "detail": { "response": response, "xml": xml, "target": target, "docUri": docUri, "resources": resources, "container": container } } );
38+
let event = new CustomEvent(eventName, { "detail": { "response": response, "xml": xml, "target": target, "docUri": docUri, "resources": resources, "block": block } } );
3939
// no need to add event listeners here, that is done by IXSL
4040
document.dispatchEvent(event);
4141
});
4242
}
4343
else
4444
{
45-
let event = new CustomEvent(eventName, { "detail": { "response": response, "target": target, "docUri": docUri, "resources": resources, "container": container } } );
45+
let event = new CustomEvent(eventName, { "detail": { "response": response, "target": target, "docUri": docUri, "resources": resources, "block": block } } );
4646
// no need to add event listeners here, that is done by IXSL
4747
document.dispatchEvent(event);
4848
}

src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.3.2/admin/sitemap/imports/rdfs.xsl

Lines changed: 0 additions & 39 deletions
This file was deleted.

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

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -235,11 +235,6 @@ exclude-result-prefixes="#all"
235235
<xsl:variable name="series" select="descendant::*[@property = '&ldh;seriesProperty']/@resource | descendant::*[@property = '&ldh;seriesVarName']/text()" as="xs:string*"/>
236236
<xsl:variable name="canvas-id" select="generate-id() || '-chart-canvas'" as="xs:string?"/>
237237
<xsl:variable name="canvas-class" select="'chart-canvas'" as="xs:string?"/>
238-
239-
<xsl:message>
240-
Chart ldh:RenderBlock @typeof: <xsl:value-of select="@typeof"/> $about: <xsl:value-of select="$about"/>
241-
$category: <xsl:value-of select="$category"/> $series: <xsl:value-of select="$series"/>
242-
</xsl:message>
243238

244239
<xsl:for-each select="$block//div[contains-token(@class, 'bar')]">
245240
<ixsl:set-style name="width" select="'66%'" object="."/>
@@ -689,14 +684,6 @@ exclude-result-prefixes="#all"
689684
<xsl:with-param name="series" select="$series"/>
690685
</xsl:call-template>
691686

692-
693-
<xsl:message>
694-
$block-uri: <xsl:copy-of select="$block-uri"/>
695-
$results: <xsl:copy-of select="$results"/>
696-
$category: <xsl:value-of select="$category"/>
697-
$series: <xsl:value-of select="$series"/>
698-
</xsl:message>
699-
700687
<!-- create new cache entry using content URI as key -->
701688
<ixsl:set-property name="{'`' || $block-uri || '`'}" select="ldh:new-object()" object="ixsl:get(ixsl:window(), 'LinkedDataHub.contents')"/>
702689
<ixsl:set-property name="results" select="$results" object="ixsl:get(ixsl:get(ixsl:window(), 'LinkedDataHub.contents'), '`' || $block-uri || '`')"/>

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

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,43 @@ exclude-result-prefixes="#all"
464464
<xsl:param name="results-container-id" select="ixsl:get($container, 'id') || '-query-results'" as="xs:string"/>
465465
<xsl:param name="results-container-class" select="'sparql-query-results'" as="xs:string"/>
466466

467+
<!-- create results/error container element if it doesn't exist -->
468+
<xsl:if test="not(id($results-container-id, ixsl:page()))">
469+
<!-- TO-DO: find a better solution. $container in ContentMode is the whole .content row but in ReadMode it's .main -->
470+
<xsl:for-each select="if ($container//div[contains-token(@class, 'main')]) then $container//div[contains-token(@class, 'main')] else $container">
471+
<xsl:variable name="active-mode" select="xs:anyURI('&ac;ChartMode')" as="xs:anyURI"/>
472+
473+
<xsl:result-document href="?." method="ixsl:append-content">
474+
<xsl:if test="$query-string">
475+
<ul class="nav nav-tabs nav-query-results">
476+
<li class="chart-mode">
477+
<xsl:if test="$active-mode = '&ac;ChartMode'">
478+
<xsl:attribute name="class" select="'chart-mode active'"/>
479+
</xsl:if>
480+
481+
<a>
482+
<xsl:apply-templates select="key('resources', '&ac;ChartMode', document(ac:document-uri('&ac;')))" mode="ldh:logo"/>
483+
<xsl:apply-templates select="key('resources', '&ac;ChartMode', document(ac:document-uri('&ac;')))" mode="ac:label"/>
484+
</a>
485+
</li>
486+
<li class="container-mode">
487+
<xsl:if test="$active-mode = '&ac;ContainerMode'">
488+
<xsl:attribute name="class" select="'container-mode active'"/>
489+
</xsl:if>
490+
491+
<a>
492+
<xsl:apply-templates select="key('resources', '&ac;ContainerMode', document(ac:document-uri('&ac;')))" mode="ldh:logo"/>
493+
<xsl:apply-templates select="key('resources', '&ac;ContainerMode', document(ac:document-uri('&ac;')))" mode="ac:label"/>
494+
</a>
495+
</li>
496+
</ul>
497+
</xsl:if>
498+
499+
<div class="{$results-container-class}" id="{$results-container-id}"></div>
500+
</xsl:result-document>
501+
</xsl:for-each>
502+
</xsl:if>
503+
467504
<ixsl:set-style name="cursor" select="'default'" object="ixsl:page()//body"/>
468505

469506
<xsl:variable name="response" select="." as="map(*)"/>
@@ -474,43 +511,6 @@ exclude-result-prefixes="#all"
474511
<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?"/>
475512
<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*"/>
476513

477-
<!-- create results container element if it doesn't exist and we're not rendering chart content -->
478-
<xsl:if test="not(id($results-container-id, ixsl:page()))">
479-
<!-- TO-DO: find a better solution. $container in ContentMode is the whole .content row but in ReadMode it's .main -->
480-
<xsl:for-each select="if ($container//div[contains-token(@class, 'main')]) then $container//div[contains-token(@class, 'main')] else $container">
481-
<xsl:variable name="active-mode" select="xs:anyURI('&ac;ChartMode')" as="xs:anyURI"/>
482-
483-
<xsl:result-document href="?." method="ixsl:append-content">
484-
<xsl:if test="$query-string">
485-
<ul class="nav nav-tabs nav-query-results">
486-
<li class="chart-mode">
487-
<xsl:if test="$active-mode = '&ac;ChartMode'">
488-
<xsl:attribute name="class" select="'chart-mode active'"/>
489-
</xsl:if>
490-
491-
<a>
492-
<xsl:apply-templates select="key('resources', '&ac;ChartMode', document(ac:document-uri('&ac;')))" mode="ldh:logo"/>
493-
<xsl:apply-templates select="key('resources', '&ac;ChartMode', document(ac:document-uri('&ac;')))" mode="ac:label"/>
494-
</a>
495-
</li>
496-
<li class="container-mode">
497-
<xsl:if test="$active-mode = '&ac;ContainerMode'">
498-
<xsl:attribute name="class" select="'container-mode active'"/>
499-
</xsl:if>
500-
501-
<a>
502-
<xsl:apply-templates select="key('resources', '&ac;ContainerMode', document(ac:document-uri('&ac;')))" mode="ldh:logo"/>
503-
<xsl:apply-templates select="key('resources', '&ac;ContainerMode', document(ac:document-uri('&ac;')))" mode="ac:label"/>
504-
</a>
505-
</li>
506-
</ul>
507-
</xsl:if>
508-
509-
<div class="{$results-container-class}" id="{$results-container-id}"></div>
510-
</xsl:result-document>
511-
</xsl:for-each>
512-
</xsl:if>
513-
514514
<xsl:for-each select="id($results-container-id, ixsl:page())">
515515
<xsl:result-document href="?." method="ixsl:replace-content">
516516
<xsl:apply-templates select="$results" mode="bs2:Chart">
@@ -561,7 +561,7 @@ exclude-result-prefixes="#all"
561561
</xsl:for-each>
562562

563563
<!-- error response - could not load query results -->
564-
<xsl:for-each select="$container">
564+
<xsl:for-each select="id($results-container-id, ixsl:page())">
565565
<xsl:result-document href="?." method="ixsl:replace-content">
566566
<div class="alert alert-block">
567567
<strong>Error during query execution:</strong>

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,8 @@ WHERE
450450
<xsl:param name="request-body" select="$resources" as="document-node()"/>
451451
<xsl:sequence select="ixsl:call(ixsl:event(), 'preventDefault', [])"/>
452452
<xsl:variable name="modal" select="exists(ancestor::div[contains-token(@class, 'modal-constructor')])" as="xs:boolean"/>
453-
<xsl:variable name="container" select="ancestor::div[@typeof][1]" as="element()"/>
454-
<xsl:variable name="block" select="$container" as="element()"/> <!-- block has no @about at this stage (before saving it) -->
453+
<!-- <xsl:variable name="container" select="ancestor::div[@typeof][1]" as="element()"/>-->
454+
<xsl:variable name="block" select="ancestor::div[@typeof][1]" as="element()"/> <!-- block has no @about at this stage (before saving it) -->
455455
<xsl:variable name="form" select="." as="element()"/>
456456
<xsl:variable name="id" select="ixsl:get($form, 'id')" as="xs:string"/>
457457
<xsl:variable name="action" select="ixsl:get($form, 'action')" as="xs:anyURI"/>
@@ -480,7 +480,7 @@ WHERE
480480
<ixsl:set-property name="If-Match" select="$etag" object="$headers"/>
481481

482482
<!-- TO-DO: refactor fetchDispatchXML using IXSL -->
483-
<xsl:sequence select="js:fetchDispatchXML($request-uri, $method, $headers, $form-data, ., $doc-uri, $resources, $container, 'MultipartResourceUpdated')[current-date() lt xs:date('2000-01-01')]"/>
483+
<xsl:sequence select="js:fetchDispatchXML($request-uri, $method, $headers, $form-data, ., $doc-uri, $resources, $block, 'MultipartResourceUpdated')[current-date() lt xs:date('2000-01-01')]"/>
484484
</xsl:when>
485485
<xsl:otherwise>
486486
<xsl:variable name="request" as="item()*">
@@ -505,7 +505,7 @@ WHERE
505505
<xsl:template match="div[@typeof]//form[contains-token(@class, 'form-horizontal')][upper-case(@method) = 'PATCH']" mode="ixsl:onsubmit" priority="1">
506506
<xsl:sequence select="ixsl:call(ixsl:event(), 'preventDefault', [])"/>
507507
<xsl:variable name="block" select="ancestor::div[contains-token(@class, 'block')][1]" as="element()"/>
508-
<xsl:variable name="container" select="ancestor::div[@typeof][1]" as="element()?"/>
508+
<!-- <xsl:variable name="container" select="ancestor::div[@typeof][1]" as="element()?"/>-->
509509
<xsl:variable name="form" select="." as="element()"/>
510510
<xsl:variable name="id" select="ixsl:get($form, 'id')" as="xs:string"/>
511511
<xsl:variable name="action" select="ixsl:get($form, 'action')" as="xs:anyURI"/>
@@ -922,7 +922,7 @@ WHERE
922922
</xsl:document>
923923
</xsl:variable>
924924
<xsl:variable name="classes" select="()" as="element()*"/>
925-
925+
926926
<xsl:variable name="resource" select="key('resources-by-type', $forClass, $constructed-doc)[not(key('predicates-by-object', @rdf:nodeID))]" as="element()"/>
927927
<xsl:variable name="row-form" as="element()*">
928928
<!-- TO-DO: refactor to use asynchronous HTTP requests -->
@@ -1181,7 +1181,7 @@ WHERE
11811181
</xsl:for-each-group>
11821182
</rdf:RDF>
11831183
</xsl:document>
1184-
</xsl:variable>
1184+
</xsl:variable>
11851185
<xsl:variable name="classes" select="()" as="element()*"/>
11861186

11871187
<!-- update @typeof value -->
@@ -1510,7 +1510,7 @@ WHERE
15101510
<xsl:variable name="event" select="ixsl:event()"/>
15111511
<xsl:variable name="doc-uri" select="ixsl:get(ixsl:get($event, 'detail'), 'docUri')" as="xs:anyURI"/>
15121512
<xsl:variable name="block" select="ixsl:get(ixsl:get($event, 'detail'), 'block')" as="element()"/>
1513-
<xsl:variable name="container" select="ixsl:get(ixsl:get($event, 'detail'), 'container')" as="element()"/>
1513+
<!-- <xsl:variable name="container" select="ixsl:get(ixsl:get($event, 'detail'), 'container')" as="element()"/>-->
15141514
<xsl:variable name="resources" select="ixsl:get(ixsl:get($event, 'detail'), 'resources')" as="document-node()"/>
15151515
<xsl:variable name="form" select="ixsl:get(ixsl:get($event, 'detail'), 'target')" as="element()"/> <!-- not ixsl:get(ixsl:event(), 'target') because that's the whole document -->
15161516
<xsl:variable name="response" select="ixsl:get(ixsl:get($event, 'detail'), 'response')"/>

0 commit comments

Comments
 (0)