Repository navigation
Conversation
Updated CONTRIBUTING.md to reflect that Table Export is now built-in.
Updated docs in site/src/pages/docs/extensions/export.mdx: - Removed plugin requirement. - Documented built-in options (fileName, csvDelimiter, tableName) and supported types.
Implemented a built-in exporter in src/extensions/export/bootstrap-table-export.js that: - Supports types: json, xml, csv, txt, sql, and maps excel to CSV (.xls). - Preserves existing behaviors: fileName function support, footer export, column visibility (forceExport/forceHide), selected/all/basic export, and detail-view column exclusion via ignoreColumn. - Uses safe Blob download, avoiding deprecated/vulnerable plugin code. Contribution by Gittensor, learn more at https://gittensor.io/
Refactor CSV escaping and table matrix collection logic for improved readability and null handling. - Using strict equality checks for null/undefined. - Adding required blank lines between declarations and control statements. - Removing unnecessary arrow parens and extra parentheses. - Using template literals instead of string concatenation. - Ensuring single quotes and proper brace style. - Splitting multi-statements onto separate lines.
Collect export data from the table data model instead of scraping the rendered DOM, so the exported values match what is rendered by the table formatters while keeping the original value types available. - validate the export type up front and skip unsupported ones without triggering any export event - export the current page only for the basic data type - sanitize xml element names and escape sql identifiers - return empty sql content instead of an invalid INSERT statement Co-authored-by: marktech0813 <178346048+marktech0813@users.noreply.github.com>
Cover the built-in exporter with unit tests through a mocked download and rewrite the cypress export tests, which still asserted that the removed tableExport.jquery.plugin was called. Co-authored-by: marktech0813 <178346048+marktech0813@users.noreply.github.com>
Document the exportOptions supported by the built-in exporter, the removed plugin options and types, the basic data type exporting the current page and the excel type generating CSV content with an xls extension. Co-authored-by: marktech0813 <178346048+marktech0813@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤔Type of Request
🔗Resolves an issue?
Fix #8070
Re-lands #8071 (merged too early and then taken out of
develop), taking over from @marktech0813 who has been unresponsive since 2025-11-19. All review feedback from #8071 is addressed, original commits are kept.📝Changelog
Core
Extensions
Update(export): Removed the deprecated
tableExport.jquery.plugindependency in favor of a built-in exporter (jQuery 4 compatible), with no external plugin required anymore.Update(export): Export data is now collected from the table data model instead of the rendered DOM, so values match the displayed content (formatters applied, HTML stripped).
Update(export): Supported types are
json,xml,csv,txt,sql,excel;png,pdf,xlsx,docandpowerpointare no longer supported by the built-in exporter.Update(export): Unsupported types are skipped:
exportTable()returnsfalse, warns and triggers no events.Update(export): Hardened the
xml/sqloutput: sanitized xml tag names, escaped sql identifiers, and empty sql content instead of an invalidINSERTstatement.Update(export): The
basicdata type exports the current page only;exportFooterappends the footer as the last row usingfooterFormatter.💡Example(s)?
Covered by the new unit tests (
tests/extensions/export.test.js, 28 cases) and the rewritten cypress tests which assert on the generated file content instead of the removed plugin.☑️Self Check before Merge
changelog/unreleased-1.28.0)