Seek
Table
Reports
Dashboards
Help
demo@seektable.com
Signup
Dashboards
Northwind Orders
Northwind World Map
ECharts Demos
Custom Filter
Northwind Invoice
Bar chart as a slicer
ECharts export to PDF
Dashboards
→
Edit Dashboard
Save
Delete
Cancel
*
Name
Enable Exports
All-dashboard exports to download multiple reports as a one file.
*
HTML Template
Hint: use copy-paste to edit HTML code in your favourite editor (VSCode, Notepad++ etc).
<div class="w25 h100" style="width:20%"> <Widget:Parameter>{ "CubeId":"7f74de2546804cf9b12da34d7e5af382", "ParameterName":"year", "ClientCustomRenderFunction": "mySelector" }</Widget:Parameter> <div id="mySelectorContainer"></div> <script> function mySelector(context, onChange) { // 'context' contains: // context.Value -- current value of the parameter (can be an array if the parameter is multivalue) // context.DropdownValues -- an array with items {Text:'Name',Value:'value'} // context.NoSelectionText -- text for 'not selected' item (can be empty) // 'onChange' is a callback that should be invoked when editor's value is changed console.log(context); var $container = $('#mySelectorContainer'); $container.html(''); var addRadio = function(entry) { var $radio = $('<input type="radio" name="mySelector"/>').val(entry.Value); if (entry.Value===context.Value) $radio.attr('checked', 'checked'); var $text = $('<span/>').html(entry.Text ? entry.Text : entry.Value); $container.append($('<div/>').append($radio).append($text) ); }; addRadio( { Value: "", Text : context.NoSelectionText } ); $.each(context.DropdownValues, function(i, entry) { addRadio(entry); }); $(window).trigger("resize"); $container.find('input').change(function() { var newVal = $container.find('input:checked').val(); onChange( newVal ); // if the parameter is multivalue 'newVal' should be an array }); // render function can return a handler that sets a new value to the editor (when value is changed outside the editor) // this is optional; if function is not returned then dashboard will re-render custom editor to apply a new value return function(newVal) { $container.find('input').each(function() { var $radio = $(this); if ($radio.val()===newVal) // simple comparison for a single-value parameter. Use $.inArray for multivalue parameters $radio.attr('checked', 'checked'); }); }; } </script> </div> <div class="w75 h100" style="width:80%"> <Widget:Report>{"ReportId":"edb1ee25d81c4acd96d2c9d0f819afde"}</Widget:Report> </div>
Apply parameters: On change
Apply parameters: Filter button
Insert report
Insert parameter
Insert "Filter" button
Template reference
Save
Cancel