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(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&").replace(/&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 < cachedMetadata.length; j++)
|
---|
76 | {
|
---|
77 | var currentPageCache = cachedMetadata[j];
|
---|
78 | for(var i = 0; i < 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 = $("<input>");
|
---|
90 | newInput.attr("type", "text");
|
---|
91 | newInput.attr("name", currentPageCache[i].name);
|
---|
92 | newInput.val(currentPageCache[i].value);
|
---|
93 |
|
---|
94 | var newRow = $("<tr>");
|
---|
95 | newRow.append("<td>" + currentPageCache[i].name.replace("md___", "") + ": </td>");
|
---|
96 | newRow.append($("<td>").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($("<input>").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>
|
---|