@@ -673,7 +673,7 @@ LIMIT 10
673673 </div >
674674 </div >
675675 </xsl : template >
676-
676+
677677 <!-- EVENT HANDLERS -->
678678
679679 <!-- close modal first time message -->
@@ -712,7 +712,52 @@ LIMIT 10
712712 </xsl : with-param >
713713 </xsl : call-template >
714714 </xsl : template >
715-
715+
716+ <xsl : template match =" button[contains-token(@class, 'btn-app-settings')]" mode =" ixsl:onclick" >
717+ <xsl : param name =" method" select =" 'patch'" as =" xs:string" />
718+ <xsl : variable name =" app" select =" ixsl:get(ixsl:window(), 'LinkedDataHub.apps')//rdf:Description[lapp:origin/@rdf:resource = lapp:origin(ldt:base())]" as =" element()" />
719+ <xsl : variable name =" content-body" select =" id('content-body', ixsl:page())" as =" element()" />
720+
721+ <ixsl : set-style name =" cursor" select =" 'progress'" object =" ixsl:page()//body" />
722+
723+ <xsl : for-each select =" $content-body" >
724+ <xsl : result-document href =" ?." method =" ixsl:append-content" >
725+ <div class =" modal modal-constructor fade in" >
726+ <div class =" modal-header" >
727+ <button type =" button" class =" close" >× </button >
728+ <h3 >Application Settings</h3 >
729+ </div >
730+ <div class =" modal-body" >
731+ <!-- to be injected -->
732+ </div >
733+ </div >
734+ </xsl : result-document >
735+ </xsl : for-each >
736+
737+ <xsl : variable name =" modal" select =" $content-body/div[contains-token(@class, 'modal')][last()]" as =" element()" />
738+ <xsl : variable name =" block" select =" $modal/div[contains-token(@class, 'modal-body')]" as =" element()" />
739+
740+ <xsl : variable name =" request" select =" map{ 'method': 'GET', 'href': resolve-uri('settings', ldt:base()), 'headers': map{ 'Accept': 'application/rdf+xml' } }" as =" map(*)" />
741+ <xsl : variable name =" context" as =" map(*)" select ="
742+ map{
743+ 'request': $request,
744+ 'block': $block,
745+ 'about': $app/@rdf:about,
746+ 'method': $method
747+ }" />
748+ <ixsl : promise select ="
749+ ixsl:http-request($context('request'))
750+ => ixsl:then(ldh:rethread-response($context, ?))
751+ => ixsl:then(ldh:handle-response#1)
752+ => ixsl:then(ldh:load-edited-resource#1)
753+ => ixsl:then(ldh:http-request-threaded#1)
754+ => ixsl:then(ldh:handle-response#1)
755+ => ixsl:then(ldh:set-type-metadata#1)
756+ => ixsl:then(ldh:wrap-into-document#1)
757+ => ixsl:then(ldh:render-form#1)
758+ " on-failure =" ldh:promise-failure#1" />
759+ </xsl : template >
760+
716761 <xsl : template match =" button[contains-token(@class, 'btn-access-form')]" mode =" ixsl:onclick" >
717762 <!-- TO-DO: fix for admin apps -->
718763 <xsl : param name =" this" select =" ac:absolute-path(ldh:base-uri(.))" as =" xs:anyURI" />
@@ -874,7 +919,7 @@ LIMIT 10
874919 </xsl : variable >
875920 <xsl : sequence select =" $request[current-date() lt xs:date('2000-01-01')]" />
876921 </xsl : template >
877-
922+
878923 <xsl : template match =" input[contains-token(@class, 'subject-slug')]" mode =" ixsl:onkeyup" priority =" 1" >
879924 <xsl : param name =" slug" select =" ixsl:get(., 'value')" as =" xs:string?" />
880925 <xsl : param name =" rdf-post-subj-input" select =" preceding-sibling::input[@name = 'su']" as =" element()" />
@@ -941,7 +986,7 @@ LIMIT 10
941986 </xsl : for-each >
942987 </xsl : if >
943988 </xsl : template >
944-
989+
945990 <!-- form is submitted. TO-DO: split into multiple callbacks and avoid <xsl:choose>? -->
946991
947992 <xsl : template name =" ldh:ModalFormSubmit" >
0 commit comments