UNPKG

sense-extension-recipes

Version:

Recipes on working with Qlik Sense Visualization Extensions.

69 lines (56 loc) 1.59 kB
define([ 'jquery', 'qlik', './properties', './initialproperties', './lib/js/extensionUtils', 'text!./lib/css/style.css' ], function ($, qlik, props, initProps, extensionUtils, cssContent) { 'use strict'; extensionUtils.addStyleToHeader(cssContent); return { definition: props, initialProperties: initProps, snapshot: { canTakeSnapshot: false }, paint: function ( $element, layout ) { var qTable = qlik.table(this); // Default rendering with HTML injection $element.empty(); var $exportButton = $( document.createElement('button')); $exportButton.html('Export'); $exportButton.bind('click', function ( ) { var exportConfig = { download: true, filename: 'my-export.xlsx', format: 'OOXML' }; qTable.exportData( exportConfig, function ( reply ) { console.log('reply', reply); }); }); $element.append($exportButton); var table = '<table border="1">'; table += '<thead>'; table += '<tr>'; for (var i = 0; i < qTable.headers.length; i++) { table += '<th>' + qTable.headers[i].qFallbackTitle + '</th>'; } table += '</tr>'; table += '</thead>'; table += '<tbody>'; for (var r = 0; r < qTable.rows.length; r++) { table += '<tr>'; for (var c = 0; c < qTable.rows[r].cells.length; c++) { table += '<td>'; table += qTable.rows[r].cells[c].qText; table += '</td>'; } table += '</tr>'; } table += '</tbody>'; table += '</table>'; $element.append( table ); } }; });