Merged
Conversation
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)
…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
… centered the buttons
# Conflicts: # .github/workflows/check.yml
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>
* 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>
* current library attribute added added current library as attribute of HTTPClient class, refactored methods accordingly, changed comments to match and renamed "performFetch" to "performRequest" * WIP method to grab all bibentries * cleanup and renaming deleted unused icons folder and old index(1).html renamed branch * add buttons for Bibentry nodes * added function to get the entry preview for a BibEntry in the current library * Minor logging and comments' fixes in HTTPClient * Optimized GET response type checking * Replaced AddBibEntries' dropdown with separated buttons in selection form and added handling different scenarios while listing BibEntries * Distinguished between application/json and text/plain response cases and ensured the default map is shown, if a library doesn't has any yet * Refactored HTTPClient's urls' definition to allow access to cayw endpoint (that isn't stored in '/libraries') * Returned previous dropdown for adding BibEntries and added some dynamic buttons' enabling depending on selected node * Added creation of BibEntry nodes using JabRef's cayw endpoint * Added assignNodeType() for nodes' extension and implemented type icons into rendering * Minor fix of constructing mind map's URL upon saving * Fixed a bug with undo()/redo() when previously opened map was shown * Prevent loading maps if no option was selected * save map state for undo/redo after new BibEntry nodes are created * fixed methods for getting entry preview from server --------- Co-authored-by: Robert Koch <Robert.Koch@Student.HTW-Berlin.de>
* current library attribute added added current library as attribute of HTTPClient class, refactored methods accordingly, changed comments to match and renamed "performFetch" to "performRequest" * WIP method to grab all bibentries * cleanup and renaming deleted unused icons folder and old index(1).html renamed branch * add buttons for Bibentry nodes * Display entry preview (#18) * Adding Entry Preview Feature to the Nodes * Adding Entry Preview to the child nodes * WIP merged cayw and getting entry preview functionality * removed unused imports * Fixed displaying BibEntry nodes' previews :3 * Minor format consistency check * fixing entry preview bugs * Fixed hiding popovers upon deleting nodes * Prevented editing BibEntries' topics (also fixed small bug when their previews dissapeared upon double clicks) --------- Co-authored-by: Shalabi <Mohamed.Shalabi@Student.HTW-Berlin.de> Co-authored-by: Robert Koch <Robert.Koch@Student.HTW-Berlin.de> --------- Co-authored-by: Shalabi <Mohamed.Shalabi@Student.HTW-Berlin.de> Co-authored-by: Robert Koch <Robert.Koch@Student.HTW-Berlin.de>
* added comments for shalabi * Adding PDF node Button * Adding PDF select dialog * Adding functionality to PDF Nodes Buttons * added endpoint to http client to get list of all pdf files in current library * integrated pdf list with the buttons * added undo / redo * Fixed bug when saved PDF nodes don't have their type icons * Added nodes' buttons toggling upon selection of one * Added 'select' event invocation Also removed old BibEntryNode DropDown toggling * Removed deprecated '@shalabi' tags * Refactored adding new BibEntry and PDF nodes. Also generalized filling 'Select' elements * Restructured code into features' regions * Simplified tracking states upon (re-) moving nodes * Prevented modifying topics of PDF nodes * Added toggling undo / redo buttons * Adding PDF Nodes to Mindmap * changed "content-Type" option to "accept" in http-client requests * fixed cayw request to allow cayw for every library * Improved code comments formatting and consistency * update comment on getPDFfiles * Added isConnected() method to ping the server * WIP on info about absent pdf files in library * Refactored @Shalabi222 PDF listing Also implemented showing info messages, if PDF list is empty or loading. --------- Co-authored-by: Shalabi <Mohamed.Shalabi@Student.HTW-Berlin.de> Co-authored-by: Robert Koch <Robert.Koch@Student.HTW-Berlin.de>
* Included Electron building tools Also updated package-lock.json amd .gitignore to handle new libraries / directories properly * Updated README's building guide * Slightly updated README's server guide * Update README.md slight change to node installation (nvm is installed alongside node when using nvm) * Update README.md bug handling when `npm install on linux goes wrong * Removed Electron's navbar * Swapped electron-vite to normal vite package --------- Co-authored-by: iloveskittles82 <40355179+iloveskittles82@users.noreply.github.com>
* Disabled debug button * Renamed nodes' types * Added type updating upon loading mind maps * Swapped Open / Save buttons. Closes #26 * Renamed popups with BibEntry to BibTex Closes #28 * Replaced disabling dropdown buttons Instead their options will be disabled so that the menus can be hidden upon clicking elsewhere. Closes #23 * Update README.md added newer screenshot and expanded "try it out" section with gg.cmd tool instructions * add shortcut cheat sheet * add link to shortcuts cheat sheet * Add ctrl + S for saving and added gg.cmd to gitignore * Add CTRL + S * Reworked disabling dropdowns' buttons Their menus will be closed upon toggling anytime so that you can disable dropdowns in a tidy way. Closes #23 (for real) * Implemented ModalDesigner This allows to switch bootstrap modals' layouts more generalized * Extracted default mind maps and options * Fixed minor bugs with extracted options * Refactored HTTPClient default return value The return struct contains now the code and the value of related request * Cleaned HTTPClient Fixed comments and added edge case handling if no citation keys were selected * Moved rest of buttons into "General Manipulation" region Undo / Redo / Debug buttons' click handlers are now defined in "General Element Manipulation" region * Cleaned main.js Fixed comments and added edge case handling if no lists of things were retrieved. Also some console logging (~ UwU)~ * Added more shortcuts There're now shortcuts for saving and adding BibEntry / PDF nodes as children. These shortcuts work, if jsMind is active. Closes #27 * Added cutting long nodes' topics If there's too much text, it will be simply cut at the max length with '...' Relates to #32 * Created a "Connection Failed" page This shows a couple of hints about how to start the server and has a retry button. However, it's still not working with electron. Refers to #33 * Applied suggestions to README.md Co-authored-by: Oliver Kopp <kopp.dev@gmail.com> * Added shortcuts documentation Refers to #27 * fixed comments --------- Co-authored-by: Robert Koch <Robert.Koch@Student.HTW-Berlin.de> Co-authored-by: Oliver Kopp <kopp.dev@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
updating main branch with changes from sprint 3