Skip to content

update main branch with changes from sprint 1#6

Merged
Robert35-dll merged 31 commits intomainfrom
dev
Jun 17, 2025
Merged

update main branch with changes from sprint 1#6
Robert35-dll merged 31 commits intomainfrom
dev

Conversation

@iloveskittles82
Copy link
Collaborator

@iloveskittles82 iloveskittles82 commented May 28, 2025

📋 TODOs:

koppor and others added 20 commits May 13, 2025 10:14
Integrated Bootstrap and added a Navbar with 5 useless buttons. More buttons are to follow in the upcoming sprints.
The 5 buttons will bring the following functionalities:
- undo
- redo
- add sibling node (topic)
- add child node (subtopic)
- add tags

The navbar currently collapses if the width of the site is too small. This gives a cleaner appearance on small window sizes.
…d side in the topbar) and a min. size for the mindmap container

the buttons have to be implemented still
the page is now no longer accidentally scrollable which means the topbar will always stay where it is and the mindmap container will fill the rest of the window
for details see #3
commits: 
* preemptively added vite build output to gitignore

* created package.json with ```npm init -y```

* installed bootstrap, bootstrap icons and jsmind with npm
```npm install jsmind bootstrap bootstrap-icons```

* installed vite
ran ```npm install --save-dev vite```
response:
´´´
added 57 packages, and audited 62 packages in 4s

8 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
´´´

* added main.js with basic mindmap example

* changed index.html to reference the src/main.js
by using vite, we can now import all important recources in the main.js file and only need to reference it in the index.html
also added vite helper functions in the package.json file

* quickly added comments

* moved drag-and-drop-nodes code to an extra file and added default options for creating a mindmap to main.js

* uninstalled jsmind, copied repo to src folder and modified import statements
I essentially reset parts of my "progress" with "npm uninstall jsmind". Nonetheless, i chose to import the code manually since it would allow us to more easily modify it in the future. it also circumvents the problem that the drag and drop functionality has caused before.
I hope this way doesn't cause any compatibility issues.

U can now run
```
npm install
npm run dev
```
to start the dev server. And
```
npm install
npm run build
npm run preview
```
to build and display the built application.

* deleted unused folders
the "js" and "css" folders were created with the project and contain bootstrap code. this was rendered useless with the npm installation of bootstrap.

* installed popperjs and did minor adjustments
installed popperjs dependency for bootstrap downdown menus, Changed licence to MIT and changed language in html to english
# Conflicts:
#	index.html
#	package-lock.json
Added Bootstrap Navbar (top bar) with buttons for basic functionalities
@iloveskittles82 iloveskittles82 self-assigned this May 28, 2025
# Conflicts:
#	.github/workflows/check.yml
@iloveskittles82 iloveskittles82 marked this pull request as draft May 28, 2025 20:38
@iloveskittles82 iloveskittles82 changed the title update main branch with Navbar and local dependency installs update main branch with changes from sprint 1 May 28, 2025
iloveskittles82 and others added 6 commits May 30, 2025 17:15
empty click handlers for each button, 'new sibling node' and 'new child node click' handlers implemented
…d bound it to GUI (#8)

* Created an ActionStack class to handle the undo/redo functionality

* imported action stack and set up click handlers

* implemented undo & redo functionality with gui-buttons

* added shortcuts

---------

Co-authored-by: iloveskittles <40355179+iloveskittles82@users.noreply.github.com>
* Created a FileManager class to include file access

* Created a HTTP-client to handle basic save/load requests

* Reversed the default options dictionary to be assigned if passed one is null or undefined

* Added ListMap() for retrieving available maps and updated docstrings of HTTPClient

* Extended performFetch() to differ between GET and PUT requests as well as error handling to differ between connection and response failures

* Provided some minor comments to functions' parameters and URLs

* Removed FileManager class since it's functionality has been fully taken by HTTPClient class

* added shortcuts

* included a NULL_MAP as default return value for PUT and failed requests

* simplified default paths in save/loadMap()

* integrated http client into GUI

* fixed http client class export

* added comments and a POST function to create a file through the server

* add modal with placeholders

* add dialog with libraries to choose from

---------

Co-authored-by: iloveskittles <40355179+iloveskittles82@users.noreply.github.com>
Robert35-dll and others added 4 commits June 1, 2025 20:33
* Fixed a bug with double state saving after editing a node

* Small refactor of saving maps' states in jsMind class with some comments

* Updated comments in HTTPClient class

* Removed ActionStack's import and updated saving initial state of a mind map in main.js

* Updated and compressed comments in main.js

* Improved code readability of click handlers for "Open buttons"

* Cleaned jsMind's options' definition in main.js

* Fixed spacings and comments in index.html

* Removed second default value from preformFetch() and fixed docstrings in jsMind undo()/redo()

* Capitalized chapters and added one for installing the server

* Added alternative method to start the server and linked it's section in Try It Out chapter

* Improved formatting of the building guide
# Conflicts:
#	http/HTTPClient.js
* Adding Icons and Tags Feature to MindMap

* Initial test for icons and tags feature in the mind map

* Add new tags and icons;test integration with additional node-text

* adding complete Mindmap icons and it's keyboard shortcuts

* Added Shalabi's index.html with tags

* adding icons list with its shortcuts in the icons list and solving node editing text problems

* Update request for initial Icons-and-Tags branch (#15)

* change POST to PUT

* experimenting with data-attribute

* trying to setup "enum" for icons and stuff

* Disabled standard browser's <Ctrl> + <number_key> shortcut in case a tag should be toggled

* Refactored toggling tags and highlights using jsMind shortcuts' handling

* Added a node extension method to include "icons" and "highlight" properties to all nodes

* Changed tags' button to a dropdown

* WIP set up shortcut handler and added sources for icons

* got the icons working with shortcuts
open todos:
 - [] Source manager to save nodes cleanly
 - [] functionality for buttons in dropdown
 - [] icons in dropdown
 - [] removing shortcuts for align,pdf and comment

* cleanup and comments

* Added a ResourceManager for unified / easier access to icons

* add debug button for printing out mindmap data to console

* add empty button handlers and a third, invisible div in the navbar to center the buttons in the middle while allowing the dropdown menu to function properly

* add clickhandlers

* renaming the ids for the buttons

* Removed doubled comments from jsmind.view_provider._default_node_render()

* Refactored ActionStack class to save maps' copies instead of objects

* adding shortcuts to buttons

* Fixed bugs with undefined icons' lists in new nodes

* Enabled standard shortcuts for editing nodes' topics

* Added check icons and implemented toggle cycles

---------

Co-authored-by: iloveskittles <40355179+iloveskittles82@users.noreply.github.com>

---------

Co-authored-by: Shalabi <Mohamed.Shalabi@Student.HTW-Berlin.de>
Co-authored-by: Robert Koch <Robert.Koch@Student.HTW-Berlin.de>
@Robert35-dll Robert35-dll marked this pull request as ready for review June 17, 2025 09:32
@Robert35-dll Robert35-dll merged commit 48aac69 into main Jun 17, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants