Skip to content

Vanilla JavaScript project, something similar to Google Sheets. With this project I decided to try to stay away from any libraries, frameworks, any other utils (excluding build instruments such as Webpack) and make something using only Vanilla JavaScript.

License

Notifications You must be signed in to change notification settings

Darkzarich/sheets-project-training

Repository files navigation

sheets-project-training

Show me what it looks like!

Vanilla JavaScript project, something similar to Google Sheets. With this project I decided to try to stay away from any libraries, frameworks, any other utils (excluding build instruments such as Webpack) and make something using only Vanilla JavaScript.

On top of app functionality and features I made a simple framework and built this app applying some rules I defined for my framework

Framework features include:

  • Component approach
  • Component HTML render
  • Components-state allowing rerenders on changes
  • Emitterclass implementing Observer pattern to allow connection between Components
  • Redux-like store and a way to react to changes from components, also has a middleware to save changes to localStorage
  • EngineDOM class which simplifies many DOM operations, inspired a lot by JQuery.js, uses method chaining as well

App features include:

  • Sheets auto draw
  • Cell selection, group cell selection (with Shift key)
  • Basic formula parsing and calculation
  • Toolbar to change text styles inside Cells
  • Rows and columns resizing
  • Saving any changes between refreshes
  • Multiple sheets
  • Routing

About

Vanilla JavaScript project, something similar to Google Sheets. With this project I decided to try to stay away from any libraries, frameworks, any other utils (excluding build instruments such as Webpack) and make something using only Vanilla JavaScript.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages