Skip to content

Commit 5746914

Browse files
committed
Tab activation fixes
1 parent 6001561 commit 5746914

2 files changed

Lines changed: 9 additions & 69 deletions

File tree

  • src/main/webapp/static/com/atomgraph/linkeddatahub/xsl

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -998,7 +998,7 @@ LIMIT 10
998998
<xsl:template match="button[contains-token(@class, 'btn-app-settings')]" mode="ixsl:onclick">
999999
<xsl:param name="id" select="'app-settings'" as="xs:string?"/>
10001000
<xsl:param name="method" select="'patch'" as="xs:string"/>
1001-
<xsl:variable name="content-body" select="id('tab-content', ixsl:page())/div[contains-token(@class, 'content-body') and contains-token(@class, 'active')]" as="element()"/>
1001+
<xsl:variable name="content-body" select="id('tab-content', ixsl:page())/div[contains-token(@class, 'tab-pane')][contains-token(@class, 'active')]/div[contains-token(@class, 'content-body')]" as="element()"/>
10021002

10031003
<ixsl:set-style name="cursor" select="'progress'" object="ixsl:page()//body"/>
10041004

src/main/webapp/static/com/atomgraph/linkeddatahub/xsl/client.xsl

Lines changed: 8 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ WHERE
512512

513513
<!-- no tab yet: create tab for the external document -->
514514
<xsl:if test="not(starts-with($uri, ldt:base())) and not($tab-pane)">
515-
<xsl:message>ldh:AddTabNavBarListItem</xsl:message>
515+
<xsl:message>ldh:AddTabNavBarListItem $application: <xsl:value-of select="$application"/></xsl:message>
516516

517517
<xsl:call-template name="ldh:AddTabNavBarListItem">
518518
<xsl:with-param name="uri" select="$uri"/>
@@ -650,17 +650,19 @@ WHERE
650650

651651
<!-- deactivate all tab <li>s -->
652652
<xsl:for-each select="id('tab-bar-list', ixsl:page())/li">
653-
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'remove', ['active'])[current-date() lt xs:date('2000-01-01')]"/>
653+
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'remove', [ 'active' ])[current-date() lt xs:date('2000-01-01')]"/>
654654
</xsl:for-each>
655655
<!-- activate this tab <li> -->
656-
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'add', ['active'])[current-date() lt xs:date('2000-01-01')]"/>
656+
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'add', [ 'active' ])[current-date() lt xs:date('2000-01-01')]"/>
657657

658-
<!-- deactivate all tab panes -->
658+
<!-- deactivate and hide all tab panes -->
659659
<xsl:for-each select="id('tab-content', ixsl:page())/div[contains-token(@class, 'tab-pane')]">
660+
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'remove', [ 'active' ])[current-date() lt xs:date('2000-01-01')]"/>
660661
<ixsl:set-style name="display" select="'none'" object="."/>
661662
</xsl:for-each>
662-
<!-- activate tab pane -->
663+
<!-- activate and show tab pane -->
663664
<xsl:for-each select="id('tab-content', ixsl:page())/div[contains-token(@class, 'tab-pane')][./div[contains-token(@class, 'content-body')]/@about = $uri]">
665+
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'add', [ 'active' ])[current-date() lt xs:date('2000-01-01')]"/>
664666
<ixsl:set-style name="display" select="'block'" object="."/>
665667
</xsl:for-each>
666668
</xsl:template>
@@ -1275,42 +1277,6 @@ WHERE
12751277
</xsl:call-template>
12761278
</xsl:template>
12771279

1278-
<!-- tab bar: click the × close button to remove a tab -->
1279-
<!-- clicking the permanent local-document tab switches to #content-body -->
1280-
<!-- <xsl:template match="ul[@id = 'tab-bar-list']/li[not(contains-token(@class, 'active'))]/a" mode="ixsl:onclick">
1281-
<xsl:sequence select="ixsl:call(ixsl:event(), 'preventDefault', [])"/>
1282-
<xsl:message>local tab click</xsl:message>
1283-
deactivate all tab <li>s
1284-
<xsl:for-each select="id('tab-bar-list', ixsl:page())/li">
1285-
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'remove', ['active'])[current-date() lt xs:date('2000-01-01')]"/>
1286-
</xsl:for-each>
1287-
activate local tab <li>
1288-
<xsl:sequence select="ixsl:call(ixsl:get(id('tab-local', ixsl:page()), 'classList'), 'add', ['active'])[current-date() lt xs:date('2000-01-01')]"/>
1289-
deactivate the external pane
1290-
<xsl:for-each select="id('tab-content', ixsl:page())/div[contains-token(@class, 'content-body') and not(@id)]">
1291-
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'remove', ['active'])[current-date() lt xs:date('2000-01-01')]"/>
1292-
</xsl:for-each>
1293-
activate #content-body
1294-
<xsl:for-each select="id('content-body', ixsl:page())">
1295-
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'add', ['active'])[current-date() lt xs:date('2000-01-01')]"/>
1296-
</xsl:for-each>
1297-
reset endpoint so sd:endpoint() falls back to local
1298-
<ixsl:remove-property name="endpoint" object="ixsl:get(ixsl:window(), 'LinkedDataHub')"/>
1299-
push state: strip ?uri= from URL so ldh:base-uri() returns the local URI during rendering
1300-
<xsl:variable name="local-uri" select="ac:absolute-path(ldh:request-uri())" as="xs:anyURI"/>
1301-
<xsl:call-template name="ldh:PushState">
1302-
<xsl:with-param name="href" select="ldh:href($local-uri)"/>
1303-
<xsl:with-param name="title" select="()"/>
1304-
<xsl:with-param name="container" select="id('content-body', ixsl:page())"/>
1305-
</xsl:call-template>
1306-
load local document RDF if not yet cached (happens when page was loaded with ?uri=)
1307-
<xsl:if test="not(ixsl:contains(ixsl:get(ixsl:window(), 'LinkedDataHub.contents'), '`' || $local-uri || '`'))">
1308-
<xsl:call-template name="ldh:RDFDocumentLoad">
1309-
<xsl:with-param name="uri" select="$local-uri"/>
1310-
</xsl:call-template>
1311-
</xsl:if>
1312-
</xsl:template>-->
1313-
13141280
<xsl:template match="ul[@id = 'tab-bar-list']/li/span[contains-token(@class, 'tab-close')]" mode="ixsl:onclick">
13151281
<xsl:variable name="tab-li" select=".." as="element()"/>
13161282
<xsl:variable name="uri" select="ixsl:get($tab-li, 'dataset.uri')" as="xs:string"/>
@@ -1319,33 +1285,7 @@ WHERE
13191285
<!-- remove the tab <li> from the DOM -->
13201286
<xsl:sequence select="ixsl:call($tab-li, 'remove', [])[current-date() lt xs:date('2000-01-01')]"/>
13211287

1322-
<!-- remaining external tabs only (excludes the permanent local tab) -->
1323-
<xsl:variable name="remaining-external" select="id('tab-bar-list', ixsl:page())/li[not(@id = 'tab-local')]" as="element()*"/>
1324-
<xsl:choose>
1325-
<xsl:when test="empty($remaining-external)">
1326-
<!-- no external tabs left: remove external pane, local tab, hide tab bar -->
1327-
<xsl:for-each select="id('tab-content', ixsl:page())/div[contains-token(@class, 'content-body') and not(@id)]">
1328-
<xsl:sequence select="ixsl:call(., 'remove', [])[current-date() lt xs:date('2000-01-01')]"/>
1329-
</xsl:for-each>
1330-
<xsl:for-each select="id('tab-local', ixsl:page())">
1331-
<xsl:sequence select="ixsl:call(., 'remove', [])[current-date() lt xs:date('2000-01-01')]"/>
1332-
</xsl:for-each>
1333-
<ixsl:set-style name="display" select="'none'" object="id('tab-bar', ixsl:page())"/>
1334-
<xsl:sequence select="ixsl:call(ixsl:get(ixsl:page(), 'documentElement.style'), 'setProperty', ['--action-bar-top', '55px'])[current-date() lt xs:date('2000-01-01')]"/>
1335-
<!-- activate #content-body and reset endpoint -->
1336-
<xsl:for-each select="id('content-body', ixsl:page())">
1337-
<xsl:sequence select="ixsl:call(ixsl:get(., 'classList'), 'add', ['active'])[current-date() lt xs:date('2000-01-01')]"/>
1338-
</xsl:for-each>
1339-
<ixsl:remove-property name="endpoint" object="ixsl:get(ixsl:window(), 'LinkedDataHub')"/>
1340-
</xsl:when>
1341-
<xsl:when test="$was-active">
1342-
<xsl:apply-templates select="$remaining-external[last()]" mode="ldh:ActivateTab"/>
1343-
1344-
<xsl:call-template name="ldh:RDFDocumentLoad">
1345-
<xsl:with-param name="uri" select="xs:anyURI(ixsl:get($remaining-external[last()], 'dataset.uri'))"/>
1346-
</xsl:call-template>
1347-
</xsl:when>
1348-
</xsl:choose>
1288+
<!-- TBD -->
13491289
</xsl:template>
13501290

13511291
<!-- file drop -->

0 commit comments

Comments
 (0)