• TypeScript 99.7%
  • JavaScript 0.2%
Find a file
Florian Damhaut 5c6f343519 [FIX] viewport: fix viewport jump with frozen pane
Fix the computation of offset when repositioning viewport.

closes odoo/o-spreadsheet#8981

Task: 6292764
X-original-commit: 1ae7309a35
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2026-06-22 17:08:11 +00:00
.claude/skills [IMP] claude: add review skill 2026-05-16 06:38:46 +00:00
.github [FIX] package: package install is broken 2026-05-12 06:49:29 +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] viewport: fix viewport jump with frozen pane 2026-06-22 17:08:11 +00:00
tests [FIX] viewport: fix viewport jump with frozen pane 2026-06-22 17:08:11 +00:00
tools [FIX] config: move to ESM release tool 2026-03-27 12:43:37 +00:00
.gitignore [IMP] tests: add image snapshots for renderer store tests 2026-04-09 11:24:54 +00:00
.prettierignore [IMP] tests: add image snapshots for renderer store tests 2026-04-09 11:24:54 +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 [FIX] package.json: Update Node.js and npm engine requirements 2026-06-18 18:16:39 +00:00
package.json [FIX] package.json: Update Node.js and npm engine requirements 2026-06-18 18:16:39 +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.