• TypeScript 99.7%
  • JavaScript 0.2%
Find a file
Pierre Rousseau 39266880f2 [REL] 19.0.49
### Contains the following commits:

952d78083d [FIX] carousel: cannot add non-existing chart to carousel [Task: 6455790](https://www.odoo.com/odoo/2328/tasks/6455790)
b12bb0cfd7 [FIX] svg: avoid rjsmin issue caused by nested template literals [Task: 6317134](https://www.odoo.com/odoo/2328/tasks/6317134)
efec68bc83 [FIX] chart: fix funnel chart show value [Task: 6475094](https://www.odoo.com/odoo/2328/tasks/6475094)
1b987bbbcd [FIX] pivot: unbounded ranges in the pivot side panel [Task: 6478220](https://www.odoo.com/odoo/2328/tasks/6478220)
fc1dc64b80 [FIX] composer: crash when hovering a composer token [Task: 5153319](https://www.odoo.com/odoo/2328/tasks/5153319)
baf19d7431 [FIX] evaluation: wrong dependencies invalidation with spread formulas [Task: 5103328](https://www.odoo.com/odoo/2328/tasks/5103328)

closes odoo/o-spreadsheet#9553

Task: 0
Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
2026-09-04 07:16:50 +00:00
.claude/skills [IMP] claude: add review skill 2026-05-16 06:38:46 +00:00
.github [FIX] config: bump node version in GH action 2026-06-30 17:20:50 +00:00
.husky [IMP] pre-commit: bypass eslint's typescript compilation 2026-04-20 12:43:25 +00:00
demo [FIX] Chart: Update geojson data 2026-03-20 07:48:28 +00:00
doc [IMP] doc: add links to data model documentation 2025-10-24 12:32:13 +00:00
src [FIX] carousel: cannot add non-existing chart to carousel 2026-09-03 14:07:51 +00:00
tests [FIX] carousel: cannot add non-existing chart to carousel 2026-09-03 14:07:51 +00:00
tools [FIX] config: move to ESM release tool 2026-03-27 12:43:37 +00:00
.gitignore [IMP] claude: add gitignore for claude local settings 2026-08-17 07:43:27 +00:00
.prettierignore [FIX] config: filter-out claude folder from prettier 2026-07-06 18:01:22 +00:00
CLAUDE.md [IMP] claude: add CLAUDE.md file 2026-05-15 12:10:26 +00:00
COPYRIGHT [ADD] Copyright, license 2022-10-06 14:45:39 +02:00
eslint.config.js [REF] lint: enforce braces for all control statements 2026-05-04 08:48:27 +00:00
global.d.ts [ADD] pivot: introduce spreadsheet pivot table 2024-05-15 08:46:17 +00:00
hall-of-fame.md [DOC] hall of fame according to VSC 2024-12-17 07:59:44 +00:00
LICENSE [ADD] Copyright, license 2022-10-06 14:45:39 +02:00
package-lock.json [REL] 19.0.49 2026-09-04 07:16:50 +00:00
package.json [REL] 19.0.49 2026-09-04 07:16:50 +00:00
readme.md [IMP] doc: add links to data model documentation 2025-10-24 12:32:13 +00:00
rolldown.config.js [FIX] rolldown: Fix cjs file extension 2026-06-19 13:13:47 +00:00
tsconfig.base.json [IMP] typescript: upgrade to 6.0.2 2026-04-20 12:43:25 +00:00
tsconfig.json [IMP] typescript: upgrade to 6.0.2 2026-04-20 12:43:25 +00:00

o-spreadsheet

npm

A standalone spreadsheet for the web, easily integrable and extendable.

a.k.a. "Owly Sheet" 🦉

  • All basic features you can expect from a spreadsheet
  • Real time collaboration
  • Import/Export of excel file format
  • and more...

Try it online with the live demo!

o-spreadsheet screenshot

Run it!

# install dependencies
npm install

# build stuff, start a live server, start a collaborative server, build with --watch
npm run dev

Test it!

npm run test # run all tests
npm run test -- --watch # run all tests, rerun on file change

Integrating o-spreadsheet

  1. Getting started
  2. Spreadsheet component props
  3. Model creation
  4. Collaborative edition
  5. Translation
  6. Data model (json)

Extending the functionalities of o-spreadsheet

  1. Architecture
  2. Custom function
  3. Connecting to an external API
  4. Business feature
  5. Menu items (under construction)
  6. Side panel (under construction)
  7. Notification (under construction)
  8. Export Excel (under construction)
  9. Terminology
  10. Translations
  11. API

Contributing

Most of odoo contribution guidelines apply here.