source: main/trunk/greenstone3/web/interfaces/default/transform/depositor/depositor.xsl

Last change on this file was 36027, checked in by cstephen, 2 years ago

Migrate to using jQuery3 and jQuery-UI-1.13.2; and integrate cookie consent manager

  • Property svn:executable set to *
  • Property svn:mime-type set to application/xml
File size: 4.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:java="http://xml.apache.org/xslt/java"
5 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
6 xmlns:gslib="http://www.greenstone.org/skinning"
7 extension-element-prefixes="java util"
8 exclude-result-prefixes="java util">
9
10 <!-- use the 'main' layout -->
11 <xsl:include href="layouts/main.xsl"/>
12
13 <!-- Used to store how many pages are present in the depositor -->
14 <xsl:variable name="numOfPages">5</xsl:variable>
15
16 <!-- set page title -->
17 <xsl:template name="pageTitle">Depositor</xsl:template>
18
19 <!-- set page breadcrumbs -->
20 <xsl:template name="breadcrumbs">
21 <gslib:siteLink/><gslib:rightArrow/><gslib:depositorTitleAndLink/><gslib:rightArrow/>
22 <xsl:if test="/page/pageResponse/collection">
23 <gslib:collectionNameLinked/><gslib:rightArrow/>
24 </xsl:if>
25 </xsl:template>
26
27 <!-- the page content -->
28 <xsl:template match="/page">
29 <xsl:call-template name="depositorJavascript"/>
30 <div id="wizardContainer"><xsl:text> </xsl:text>
31 <form enctype="multipart/form-data" method="post" name="depositorform" id="depositorform">
32 <xsl:attribute name="action"><xsl:value-of select="$library_name"/></xsl:attribute>
33 <input type="hidden" name="a" value="de"/>
34 <input type="hidden" name="sa" value="getwizard"/>
35 <input type="hidden" name="c" value="{/page/pageResponse/collection/@name}"/>
36 <input type="hidden" name="currentPage" value="{/page/pageRequest/paramList/param[@name='dePage']/@value}">
37 <xsl:attribute name="value">
38 <xsl:choose>
39 <xsl:when test="/page/pageRequest/paramList/param[@name='dePage']">
40 <xsl:value-of select="/page/pageRequest/paramList/param[@name='dePage']/@value"/>
41 </xsl:when>
42 <xsl:otherwise>1</xsl:otherwise>
43 </xsl:choose>
44 </xsl:attribute>
45 </input>
46 <!-- A CALL TO THE APPROPRIATE PAGE ADDED ON THE SERVER -->
47 </form>
48 </div>
49 <xsl:call-template name="wizardBar"/>
50 </xsl:template>
51
52 <xsl:template name="wizardBar">
53 <!-- CREATED ON THE SERVER -->
54 </xsl:template>
55
56 <xsl:template name="depositorJavascript">
57 <script type="text/javascript">
58 <xsl:text disable-output-escaping="yes">
59 {
60 $(window).on("load", function()
61 {
62 var cachedMetadata = [];
63 var cachedPageMetaString;
64
65 </xsl:text>
66 <xsl:for-each select="/page/pageResponse/cachedValues/pageCache">
67 <xsl:text disable-output-escaping="yes">cachedPageMetaString = '</xsl:text><xsl:value-of select="."/><xsl:text disable-output-escaping="yes">';
68 cachedPageMetaString = cachedPageMetaString.replace(/&amp;lt;/g, "&lt;").replace(/&amp;gt;/g, "&gt;").replace(/&amp;amp;/g, "&amp;").replace(/&amp;quot;/g, "\"");
69 cachedMetadata.push(eval(cachedPageMetaString));</xsl:text>
70 </xsl:for-each>
71 <xsl:text disable-output-escaping="yes">
72
73 //console.log(cachedMetadata);
74 gs.deSavedMetadata = [];
75 for(var j = 0; j &lt; cachedMetadata.length; j++)
76 {
77 var currentPageCache = cachedMetadata[j];
78 for(var i = 0; i &lt; currentPageCache.length; i++)
79 {
80 gs.deSavedMetadata[currentPageCache[i].name] = currentPageCache[i].value;
81
82 var inputElem = $('form [name="' + currentPageCache[i].name + '"]');
83 if(inputElem.length)
84 {
85 inputElem.val(currentPageCache[i].value);
86 }
87 else if(currentPageCache[i].name.search(/\bex\./g) == -1)
88 {
89 var newInput = $("&lt;input&gt;");
90 newInput.attr("type", "text");
91 newInput.attr("name", currentPageCache[i].name);
92 newInput.val(currentPageCache[i].value);
93
94 var newRow = $("&lt;tr&gt;");
95 newRow.append("&lt;td&gt;" + currentPageCache[i].name.replace("md___", "") + ": &lt;/td&gt;");
96 newRow.append($("&lt;td&gt;").append(newInput));
97
98 $("form table").prepend(newRow);
99 }
100 }
101 }
102
103 $(".wizardStepLink a").on("click", function()
104 {
105 var requestedPage = $(this).attr("page");
106 var form = $("#depositorform");
107 form.append($("&lt;input&gt;").attr({type:"hidden", name:"dePage", value:requestedPage}));
108 form.submit();
109 });
110
111 $("[gs-metadata]").each(function()
112 {
113 var metaVal = gs.deSavedMetadata["md___" + $(this).attr("gs-metadata")];
114 if(metaVal)
115 {
116 $(this).text(metaVal);
117 }
118 });
119 });
120 }
121 </xsl:text>
122 </script>
123 </xsl:template>
124</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.