Ambrosia

 view release on metacpan or  search on metacpan

share/Templates/Templates/XSLT+DOJO/list_json.xsl  view on Meta::CPAN


					var formatSaveButton = function(value){
						return new dijit.form.Button({
							label: "Edit",
							iconClass: "dijitIconEdit",
							onClick: function(){ showFormEdit(value) }
						});
					};

					dojo.declare("my.data.QueryReadStore", [QueryReadStore], {
							_filterResponse: function(data){
								return {numRows: data.repository.numRows, items:data.repository.items};
							},
						});

					qstore = new my.data.QueryReadStore({
						url: "<xsl:value-of select="$urlList" />"
					});

					var grid = new DataGrid({
						store: qstore,
						query: {},
						plugins: {
							pagination: {
								pageSizes: ["25", "50", "100", "All"],
								description: "30%",
								sizeSwitch: "200px",
								pageStepper: "30em",
								gotoButton: true,
								maxPageStep: 5,
								position: "bottom"
							},
							filter: {
								itemsName: '<xsl:value-of select="//repository/@Name"/>',
								closeFilterbarButton: true,
								ruleCount: 8
							}
						},
						structure: [
							<xsl:apply-templates select="//repository/Field"/>
							<xsl:if test="//repository/@mutable=1">,
							{
								name: "Edit",
								field: "<xsl:apply-templates select="//repository/Field[@key=1]/@field"/>",
								styles: "text-align:center;",
								width: 8,
								formatter: formatSaveButton
							}
							</xsl:if>
						]
					}, "grid");
					grid.startup();
				});
		</script>
	</head>
	<body class="claro">
		<div class="claro dojoxGridMasterHeader head">List of <xsl:value-of select="//repository/@Name"/></div>
		<div id="grid"></div>
	<xsl:if test="//repository/@mutable=1">
		<div id="exForm" data-dojo-type="dijit.Dialog" title="Edit" style="overflow:auto; width: 300px; height: 300px; display:none;">
			<iframe id="exFormFrame" src="" style="overflow:auto; width: 99%; border:0px;">
			</iframe>
		</div>
	</xsl:if>
	</body>
</html>
</xsl:template>

<xsl:template match="//repository/Field">
	{
		name: "<xsl:value-of select="@label"/>",
		field: "<xsl:value-of select="@field"/>",
		styles: "text-align:right;",
		width:8
	}<xsl:if test="position()!=last()">,</xsl:if>
</xsl:template>

</xsl:stylesheet>
</xslt:template>

</xslt:stylesheet>



( run in 0.753 second using v1.01-cache-2.11-cpan-364913b4093 )