This is the Excel project that was created using Pure JavaScript only.
The following basic features are implemented in this project:
- SPA custom framework
- pages routing
- simple components rendering (without Virtual DOM or Shadow DOM)
- global state storage object (like Redux)
- global events emitter object for data transmission between components
- using localStorage for state saving
- custom library for DOM operations (like JQuery)
Some new features have been added by me:
- new cells selection logic (using mouse)
- highlighting the selection of a group of cells along the outer contour
- add focus to the end of the line inside div contenteditable cells
- unselect row and column headings during cells resizing
- adding the ability to enter a formula in a cell
- getting a formula of an active cell (or value when cell is inactive)
- delete styles and data from a selected group of cells (using delete button)
The project idea was taken from Vladilen Minin programming course. You can find out more information at the following links:
- https://www.vladilen.dev/
- https://www.youtube.com/channel/UCg8ss4xW9jASrqWGP30jXiw
- https://github.com/vladilenm
It's a "non build" version of the project.
To start this project on your local machine you need to follow the next steps:
- install the modules using the command
npm install
- start project using the commands
npm start
ornpm run start
To start building a project use the command npm run build
.
The "build" version of the project will be located in the directory /dist
.