Skip to content

feat(formulas): create new Formula Editor plugin - #2716

Draft
ghiscoding wants to merge 5 commits into
masterfrom
feat/cell-formula-plugin
Draft

feat(formulas): create new Formula Editor plugin#2716
ghiscoding wants to merge 5 commits into
masterfrom
feat/cell-formula-plugin

Conversation

@ghiscoding

@ghiscoding ghiscoding commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Similar implement to Ag-Grid Formulas which is basically to be able use Excel spreadsheet formulas in any grids. This will be an opt-in plugin (external resource) and after installation the user will simply need to add allowFormula to whichever column definition

msedge_oH3hNkSCew

TODOs

  • working POC
  • export to Excel with formulas
  • full unit tests coverage
  • Cypress E2E tests
  • better showing of formula cell selected and cell range selected
  • support Custom Functions
    • note: implemented already but on the export side, it is only supported by latest Office 365 via (Lambda functions)
  • function intellisense isn't working in the middle of the formula
    • formula cell selection are being inversed when adding a sum in the middle of the formula
      • when fixed, we need Cypress tests to avoid future regression
    • dark theme has multiple unused SASS variables that we might need
  • should we use textarea instead of input for the cell formula editor
  • not currently working with Grouping
  • issues with Column Reorder and/or Hiding a column
  • can we have more highlighted styling for the selected cell(s) that we choose from the formula editor (perhaps double bg opacity), we currently only see the caret on bottom right corner
  • what about Grid State/Preset?
  • current range selection in Hybrid Selection model only works if we expand the drag further down, but it doesn't work correctly when decreasing the range or going up (need fixes in the hybrid selection model)

@ghiscoding
ghiscoding marked this pull request as draft August 8, 2026 20:48
@codecov

codecov Bot commented Aug 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 78.15476% with 367 lines in your changes missing coverage. Please review.
✅ Project coverage is 98.7%. Comparing base (75842a3) to head (798fa6c).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
packages/formula-plugin/src/formula.service.ts 75.8% 174 Missing and 30 partials ⚠️
packages/formula-plugin/src/formula.cellEditor.ts 76.2% 121 Missing and 20 partials ⚠️
packages/excel-export/src/excelExport.service.ts 73.5% 20 Missing and 2 partials ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##           master   #2716     +/-   ##
========================================
- Coverage   100.0%   98.7%   -1.3%     
========================================
  Files         200     204      +4     
  Lines       25503   27176   +1673     
  Branches     9020    9430    +410     
========================================
+ Hits        25503   26809   +1306     
- Misses          0     315    +315     
- Partials        0      52     +52     
Flag Coverage Δ
angular 100.0% <ø> (ø)
universal 98.7% <78.2%> (-1.3%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pkg-pr-new

pkg-pr-new Bot commented Aug 8, 2026

Copy link
Copy Markdown
angular-slickgrid

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/angular-slickgrid@2716

aurelia-slickgrid

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/aurelia-slickgrid@2716

slickgrid-react

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/slickgrid-react@2716

slickgrid-vue

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/slickgrid-vue@2716

@slickgrid-universal/angular-row-detail-plugin

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/angular-row-detail-plugin@2716

@slickgrid-universal/aurelia-row-detail-plugin

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/aurelia-row-detail-plugin@2716

@slickgrid-universal/react-row-detail-plugin

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/react-row-detail-plugin@2716

@slickgrid-universal/vue-row-detail-plugin

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/vue-row-detail-plugin@2716

@slickgrid-universal/binding

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/binding@2716

@slickgrid-universal/common

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/common@2716

@slickgrid-universal/composite-editor-component

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/composite-editor-component@2716

@slickgrid-universal/custom-footer-component

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/custom-footer-component@2716

@slickgrid-universal/custom-tooltip-plugin

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/custom-tooltip-plugin@2716

@slickgrid-universal/empty-warning-component

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/empty-warning-component@2716

@slickgrid-universal/event-pub-sub

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/event-pub-sub@2716

@slickgrid-universal/excel-export

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/excel-export@2716

@slickgrid-universal/formula-plugin

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/formula-plugin@2716

@slickgrid-universal/graphql

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/graphql@2716

@slickgrid-universal/odata

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/odata@2716

@slickgrid-universal/pagination-component

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/pagination-component@2716

@slickgrid-universal/pdf-export

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/pdf-export@2716

@slickgrid-universal/row-detail-view-plugin

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/row-detail-view-plugin@2716

@slickgrid-universal/rxjs-observable

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/rxjs-observable@2716

@slickgrid-universal/sql

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/sql@2716

@slickgrid-universal/text-export

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/text-export@2716

@slickgrid-universal/utils

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/utils@2716

@slickgrid-universal/vanilla-bundle

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/vanilla-bundle@2716

@slickgrid-universal/vanilla-force-bundle

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/vanilla-force-bundle@2716

@slickgrid-universal/web-mcp

npm i https://pkg.pr.new/ghiscoding/slickgrid-universal/@slickgrid-universal/web-mcp@2716

commit: 798fa6c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant