Skip to content

Commit 130e4ca

Browse files
committed
feat: better selection, generalization snapping, notes, README.md
1 parent f5078ce commit 130e4ca

12 files changed

Lines changed: 494 additions & 381 deletions

README.md

Lines changed: 52 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
11
# Logic Flows
22

3-
Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
3+
## Usage
44

5-
## Developing
5+
> [!WARNING]
6+
> Read this instructions before using to use it in the best way.
67
7-
Once you've installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
8+
9+
## Contributing
10+
11+
Please use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commits.
12+
13+
14+
### Developing
15+
16+
Once you've installed dependencies with `npm install`, start a development server:
817

918
```sh
1019
npm run dev
@@ -13,7 +22,7 @@ npm run dev
1322
npm run dev -- --open
1423
```
1524

16-
## Building
25+
### Building
1726

1827
To create a production version of your app:
1928

@@ -23,4 +32,42 @@ npm run build
2332

2433
You can preview the production build with `npm run preview`.
2534

26-
> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
35+
### TODO
36+
37+
(non si possono editare i messaggi dopo 48 ore)
38+
39+
1. [x] handle associations creation
40+
2. [x] handle generalization creation
41+
3. [ ] handle association classes
42+
4. [x] snap classes dimensions to grid
43+
- [x] the `width` and `height` are multiples of `conf.gridSize * 2`
44+
- [x] the `width` is at least the length necessary to show the attributes / operations and at most the `width` choosen by the user (and snapped)
45+
5. [x] handle import and export of JSON
46+
6. [x] when creating a class, open the menu of the class
47+
7. [x] add icons tooltips
48+
8. [ ] adjust UI (font sizes of stuff etc...)
49+
9. [x] add GitHub action that compiles the website to HTML and publishes it to GitHub Pages
50+
10. [x] add shortcuts lik Ctrl+S to save JSON, and shortcuts for tools
51+
11. [ ] make it work offline (with a ServiceWorker or something, if it's enough to download the html even better)
52+
12. [ ] better operations and attributes handling (specify name, type, multiplicty, whether it has id or not etc...); the goal i s to show different info with different styles (bold for type, italics for {id} etc...)
53+
13. [ ] create a `conf` global object
54+
- [x] `FONT_SIZE`, `GRID_SIZE`,
55+
- [ ] `FONT_FAMILY`, `DEFAULT COLORS` for stuff, DEFAULT styles for stuff), add a menu to edit the config
56+
14. [ ] if the rectangles of two classes overlap, move them in order to not overlap anymore
57+
15. [x] option to move an attribute from one class to another
58+
16. [x] filter empty attributes
59+
17. [x] ability to change attributes order
60+
18. [ ] ability to select multiple objects, and change common properties
61+
19. [x] update paper size when window is resized
62+
20. [ ] use `localStorage` in order to remember diagram JSON
63+
21. [ ] keep history of changes in order to go back and forth
64+
22. [ ] instead of moving when clicking with mouse, start selection (in selection mode)! In selection mode move only when mouse wheel is clicked (this second part is missing)
65+
23. [x] association delete button (or something) when association is selected (and is only one)
66+
24. [x] add fixed points to associations (and generalizations)
67+
25. [x] TODO: when resizing graph disappears (fixed: I didn't have to call .render() after setting the new dimensions, it did that autmatically)
68+
26. [ ] validated UML (no two attributes with same name, no two classes with same name etc...)
69+
27. [x] cancel button not working
70+
28. [ ] add README description, otherwise people don't know how to use it correclty
71+
29. [ ] allow copy, paste + delete key (or backspace) shotcut to remove object
72+
30. [ ] "is identifier" isn't enough, you need to be able to specify an optional id number
73+
31. [ ] remove grid and stuff when exporting JSON (and export just the graph components)

package-lock.json

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app.css

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,13 @@
99
stroke: transparent !important;
1010
}
1111

12-
1312
.joint-port-body:hover {
1413
stroke: #FFB800;
1514
}
15+
16+
17+
18+
button:disabled,
19+
button:disabled:hover {
20+
@apply bg-gray-500;
21+
}

0 commit comments

Comments
 (0)