# king-addons/51.1.35/includes/widgets/Data_Table/preview-handler.js

King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder, version 51.1.35. 36 lines.

- Page: https://pluginprobe.com/plugins/king-addons/51.1.35/code/includes/widgets/Data_Table/preview-handler.js
- Raw: https://pluginprobe.com/plugins/king-addons/51.1.35/raw/includes/widgets/Data_Table/preview-handler.js
- Modified: 2025-09-25T19:28:14+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/king-addons/51.1.35/code/includes/widgets/Data_Table/preview-handler.js#L10-L20`.

```javascript
"use strict";
(function ($) {
    $(window).on('elementor:init', () => {
        elementor.hooks.addAction('panel/open_editor/widget/king-addons-data-table', (panel, model, view) => {
            elementor.channels.editor.on('king-addons-data-table-export', () => {

                // Retrieve all table rows
                const rows = view.$el.find('.king-addons-data-table .king-addons-table-row');
                const data = [];

                // Iterate over each row and collect text from relevant cells
                rows.each((_, row) => {
                    const cols = row.querySelectorAll('.king-addons-table-text');
                    const rowData = Array.from(cols, col => col.innerText).join(',');
                    data.push(rowData);
                });

                // Construct CSV content from array of rows
                const csvContent = data.join('\n');

                // Create a Blob from CSV data and generate a download link
                const blob = new Blob([csvContent], { type: 'text/csv' });
                const downloadLink = document.createElement('a');
                downloadLink.download = 'placeholder.csv';
                downloadLink.href = URL.createObjectURL(blob);
                downloadLink.style.display = 'none';

                // Append link to DOM, trigger download, and then remove the link
                document.body.appendChild(downloadLink);
                downloadLink.click();
                document.body.removeChild(downloadLink);
                URL.revokeObjectURL(downloadLink.href);
            });
        });
    });
})(jQuery);
```
