1{jq}
2	var pivotData{{$pivottable.index}} = {{$pivottable.data|json_encode}};
3	$('#output_{{$pivottable.id}}').each(function () {
4		var pivotLocale = $.pivotUtilities.locales[{{$lang|json_encode}}];
5		var renderers = $.extend(pivotLocale ? pivotLocale.renderers : $.pivotUtilities.renderers, $.pivotUtilities.plotly_renderers, $.pivotUtilities.subtotal_renderers);
6		var opts = {
7			renderers: renderers,
8			rendererOptions: {
9				pivotId: {{$pivottable.id|json_encode}},
10				highlight: {{$pivottable.highlight|json_encode}},
11				localeStrings: {
12					vs: "{tr}vs{/tr}",
13					by: "{tr}by{/tr}",
14					and: "{tr}and{/tr}",
15					all: "{tr}All{/tr}",
16					mine: "{tr}Mine{/tr}",
17				},
18				xAxisLabel: {{$pivottable.xAxisLabel|json_encode}},
19				yAxisLabel: {{$pivottable.yAxisLabel|json_encode}},
20				chartTitle: {{$pivottable.chartTitle|json_encode}},
21				chartHoverBar: {{$pivottable.chartHoverBar|json_encode}}
22			},
23			derivedAttributes: { {{','|implode:$pivottable.derivedAttributes}} },
24			cols: {{$pivottable.tcolumns|json_encode}}, rows: {{$pivottable.trows|json_encode}},
25			rendererName: {{$pivottable.rendererName|json_encode}},
26			dataClass: $.pivotUtilities.SubtotalPivotData,
27			width: {{$pivottable.width|json_encode}},
28			height: {{$pivottable.height|json_encode}},
29			aggregatorName: pivotLocale && pivotLocale.aggregators[{{$pivottable.aggregatorName|json_encode}}] ? {{$pivottable.aggregatorName|json_encode}} : null,
30			vals: {{$pivottable.vals|json_encode}},
31			inclusions: {{$pivottable.inclusions}},
32
33			sorters: function(attr) {
34				if($.inArray(attr, {{$pivottable.dateFields|json_encode}}) > -1) {
35					return function(a, b) {
36						return ( Date.parse(a) || 0 ) - ( Date.parse(b) || 0 );
37					}
38				}
39			},
40
41			{{if $pivottable.heatmapParams}}
42			rendererOptions: {
43				heatmap: {
44					colorScaleGenerator: function(values) {
45						return Plotly.d3.scale.linear()
46							.domain({{$pivottable.heatmapParams.domain|json_encode}})
47							.range({{$pivottable.heatmapParams.colors|json_encode}});
48					}
49				}
50			},
51			{{/if}}
52
53			highlightMine: {{$pivottable.highlightMine|json_encode}},
54			highlightGroup: {{$pivottable.highlightGroup|json_encode}},
55			xAxisLabel: {{$pivottable.xAxisLabel|json_encode}},
56			yAxisLabel: {{$pivottable.yAxisLabel|json_encode}},
57			chartTitle: {{$pivottable.chartTitle|json_encode}},
58			chartHoverBar: {{$pivottable.chartHoverBar|json_encode}}
59		};
60		if( {{$pivottable.menuLimit|json_encode}} ) {
61			opts.menuLimit = {{$pivottable.menuLimit|json_encode}};
62		}
63		if( {{$pivottable.aggregateDetails|json_encode}} ) {
64			opts.aggregateDetails = {{$pivottable.aggregateDetails|json_encode}};
65			opts.rendererOptions.table = {
66				clickCallback: function(e, value, filters, pivotData){
67					var details = [];
68					pivotData.forEachMatchingRecord(filters, function(record){
69						details.push(record.pivotLink);
70					});
71					feedback(details.join("<br>\n"), 'info', true);
72				}
73			};
74		}
75
76		$("#output_{{$pivottable.id}}").pivotUI(pivotData{{$pivottable.index}}, opts, false, {{$lang|json_encode}});
77
78		$("#pivotEditBtn_{{$pivottable.id}}").on("click", function(){
79			showControls("#output_{{$pivottable.id}}",{{$pivottable.id|json_encode}});
80		});
81
82		$("#restore_{{$pivottable.id}}").on("click", function(){
83			$("#output_{{$pivottable.id}}").pivotUI(pivotData{{$pivottable.index}},JSON.parse(defaultSettings),true,{{$lang|json_encode}});
84			$("#output_{{$pivottable.id}}_opControls").fadeOut();
85		});
86
87		$("#save_{{$pivottable.id}}").on("click", function(){
88			saveConfig("#output_{{$pivottable.id}}", "{{$page}}", {{$pivottable.index|json_encode}}, {{$pivottable.dataSource|json_encode}}, {{$pivottable.fieldsArr|json_encode}});
89		});
90
91		createEditBtn({{$pivottable.id|json_encode}});
92	});
93	//adding bind call for pdf creation
94	$('.icon-pdf').parent().click(function(){storeSortTable('#container_{{$pivottable.id}}',$('#container_{{$pivottable.id}}').html())});
95{/jq}
96
97<style type="text/css">
98	{literal}
99		#output_{$pivottable.id} .pvtVals,.pvtAxisContainer, .pvtUnused,.pvtRenderer, .pvtAxisContainer {
100			display:none;
101
102		}
103	{/literal}
104</style>
105
106<div id="container_{$pivottable.id}">
107	<div id="output_{$pivottable.id}"></div>
108	<div id="output_{$pivottable.id}_opControls" style="display:none">
109		<input id="save_{$pivottable.id}" type="button" value="{tr}Save Changes{/tr}" class="btn btn-primary ui-button ui-corner-all ui-widget" />
110		<input class="btn btn-secondary ui-button ui-corner-all ui-widget" id="restore_{$pivottable.id}" type="button" value="{tr}Cancel Edit{/tr}" />
111	</div>
112	{if $pivottable.showControls}
113		<div id="pivotControls_{$pivottable.id}" style="display:none;position:relative;">
114			<input type="button" id="pivotEditBtn_{$pivottable.id}" value="{tr}Edit Pivot Table{/tr}" class="btn btn-secondary ui-button ui-corner-all ui-widget" />
115		</div>
116	{/if}
117	<img id="png_container_{$pivottable.id}" style="display:none">
118</div>
119
120<div id="pivotdetails_modal"></div>
121
122<input type="hidden" id="pivottable-ticket" name="ticket" value="{ticket mode=get}">