This application is created with "plain vanilla" HTML, Javascript, and CSS -- so you should be able to clone the repository and open index.html in your favorite web browser.
The root directory has three main subfolders, c, m, and v -- which stand for "control", "model", and "view" respectively. Model and View files should be stand-alone -- i.e., should not be making calls to classes outside their own!
Defines the UMLClass class. Each UMLClass is defined as having a string name
, and string arrays vars
and methods
.
UMLClass's for a session are stored in the map ( {}
) UMLClass.instances
, and are referenced by name.
So if you created a UMLClass named classOne
, you could reference it by calling UMLClass.instances[classOne]
.
An Edge (relationship between two classes) is defined as having fields start
(start class name), end
(end class name), and type
(type of relationship between the classes). They are stored in the array Edge.instances
.
The functions in this file expect copies of UMLClass.instances and Edge.instances and save and load them to the location localStorage["storage"].
contains the function pl.c.setUpGUI(), which is called by index.html upon page load. setUpGUI() calls a number of functions in v/guiView.js
is largely composed of a switch statement that defines the response to CLI input
contains logic for handling cli input
contains the logic, buttons, and modals for creating a GUI interface
contains logic to display instructions to the user