feat(export): add new optional PDF Export package
vibe coding with copilot to add PDF Export as an optional package/resource.
At first I tried to tinypdf (first commit) but unfortunately it didn't support unicode/emoji and even with simple char like the Euro symbol (unicode). So I later migrated to jsPDF and that is a bigger library but it works with unicode/emojis so let's use that and it's quite popular (5 millions dl/week)
TODOs
- [x] working demo (Example02, and Example03)
- [ ] add demo to all frameworks as well
- [ ] need example with colspan/rowspan
- [x] should work with unicode/emoji
- [x] add unit tests
- [x] add docs
- [x] add to Grid Menu when enabled
- [x] add to Context Menu when enabled
- [ ]
groupCollapsedSymboland expand aren't implemented yet - [ ] add docs note about data not always visible in export
- [ ] what about
groupingAggregatorRowText? - [ ] do we need
didDrawPagecallback?
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 100.0%. Comparing base (1046d2f) to head (5620e2e).
:warning: Report is 12 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #2317 +/- ##
========================================
Coverage 100.0% 100.0%
========================================
Files 198 200 +2
Lines 18215 18522 +307
Branches 5008 5111 +103
========================================
+ Hits 18215 18522 +307
| Flag | Coverage Δ | |
|---|---|---|
| angular | 100.0% <ø> (ø) |
|
| universal | 100.0% <100.0%> (ø) |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
angular-slickgrid
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/angular-slickgrid@2317
aurelia-slickgrid
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/aurelia-slickgrid@2317
slickgrid-react
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/slickgrid-react@2317
slickgrid-vue
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/slickgrid-vue@2317
@slickgrid-universal/binding
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/binding@2317
@slickgrid-universal/common
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/common@2317
@slickgrid-universal/composite-editor-component
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/composite-editor-component@2317
@slickgrid-universal/custom-footer-component
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/custom-footer-component@2317
@slickgrid-universal/custom-tooltip-plugin
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/custom-tooltip-plugin@2317
@slickgrid-universal/empty-warning-component
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/empty-warning-component@2317
@slickgrid-universal/event-pub-sub
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/event-pub-sub@2317
@slickgrid-universal/excel-export
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/excel-export@2317
@slickgrid-universal/graphql
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/graphql@2317
@slickgrid-universal/odata
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/odata@2317
@slickgrid-universal/pagination-component
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/pagination-component@2317
@slickgrid-universal/pdf-export
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/pdf-export@2317
@slickgrid-universal/row-detail-view-plugin
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/row-detail-view-plugin@2317
@slickgrid-universal/rxjs-observable
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/rxjs-observable@2317
@slickgrid-universal/text-export
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/text-export@2317
@slickgrid-universal/utils
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/utils@2317
@slickgrid-universal/vanilla-bundle
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/vanilla-bundle@2317
@slickgrid-universal/vanilla-force-bundle
npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/vanilla-force-bundle@2317
commit: 5620e2e
🎉 This pull request is included in version 9.13.0 📦
🔗 The release notes are available at: GitHub Release 🚀