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}">