Demo: https://necinc.github.io/global-logic-test-task
TODO:
- You can't use any libraries only pure JS
- menu should be configurable ( for example JSON )
- config options:
- element on which will appear context menu
- menu items
- item click handler
- item title
- can be disabled
- may be a submenu
- if you click another place except menu it should close
- menu should appear near the cursor when left button clicked
- If the menu does not fit into the screen custom scroll should appear ( something like this scrolling should happen when user click up/down arrow when up/down arrow clicked menu must scroll by 1 item
- If it's not possible to expand menu down and there is free space above It should expand up and vise versa
- menu should be configurable ( for example JSON )
$ mkdir mvyznyuk
$ git clone https://github.com/necinc/global-logic-test-task.git mvyznyuk
$ cd mvyznyuk
$ npm i && npm start
Then open http://localhost:8080