Commit graph

39 commits

Author SHA1 Message Date
Eric NGUYEN
01059aa2f7 Reorder some parameters in Editor and UI 2023-02-14 15:53:55 +01:00
Carl Fuchs
e789300090 Implemtation in progress, UIX working , replacing in ContainerOperations.ts working but not properly need fix 2023-02-06 16:45:34 +01:00
Eric NGUYEN
b1b30e8486 Refactor AddContainerToSelectedContainer 2022-10-17 19:32:27 +02:00
Eric NGUYEN
d05d0fb196 Refactor App and Editor events 2022-10-17 19:17:46 +02:00
Eric NGUYEN
28b0965626 Refactor UI's props 2022-10-17 19:02:36 +02:00
Eric NGUYEN
e97720bc24 Add API configuration 2022-10-13 16:27:32 +02:00
Eric NGUYEN
7a81bbaec6 Add historyCurrentStep to setHistory event 2022-10-13 16:18:16 +02:00
Eric Nguyen
c256a76e01 Merged PR 212: Optimize FindChildrenById from O(n) to O(1)
Optimize FindChildrenById from O(n) to O(1):
- Deprecate FindContainerByIdDFS
- Container: Replace Children to string[]
- Add HashMap to IHistoryState that contains all containers

To access a container by id now cost O(1) without any additional cost

+ Implement CICD for SVGLibs
2022-10-12 09:39:54 +00:00
Eric NGUYEN
1086bf58a1 Add Undo/Redo to contextmenu + add separator between categories 2022-10-04 17:22:28 +02:00
Eric NGUYEN
d580890b9d Add shortcut description to right click + add Suppr shortcut + Fix next selection after deletion 2022-10-04 16:51:24 +02:00
Eric NGUYEN
4e3c5d71fd Remove useless imports in Editor 2022-10-04 16:32:46 +02:00
Eric NGUYEN
cc84e59701 Add description to context menu + Improve context menu position and size 2022-10-04 16:30:55 +02:00
Eric Nguyen
0d05f0959c Merged PR 203: Improve responsive design and refactor layout 2022-10-03 12:05:16 +00:00
Eric Nguyen
04d79688cb Merged PR 200: Implement the Canvas API rather than using SVG 2022-10-02 19:20:19 +00:00
Eric Nguyen
3ecff4cf01 Merged PR 194: Added option to disable any API call
Added option to disable any API call
Fix http.js and node-http.js
Fix MainContainer not using IAvailableContainer from MainContainer
Fix generate_dts.py script
More docs
Fix MainContainer default style. Extend config will now be taken into account. But Main container can still have its own type.
2022-09-23 15:59:42 +00:00
Eric NGUYEN
6de2c23989 Implement AddEditorListenerHook + Fix some bugs with types 2022-09-23 13:49:22 +02:00
Eric Nguyen
23ed3ed1ad Merged PR 189: Simplify usage of SmartComponent
- Added new Events :
  - AddContainer, AddContainerToSelectedContainer, AppendContainer, AppendContainerToSelectedContainer, SelectContainer, DeleteContainer
  - AddSymbol, SelectSymbol, DeleteSymbol
- Changed the component to an iframe (you only need to copy the whole dist now)
- Added callbacks to every methods in the component
- Create event listener on demand: no need to initialize the event listener!
- Update d.ts
- Added Fastboot and enable it by default on production build
2022-09-21 09:24:14 +00:00
Eric NGUYEN
0476a294d6 Implement Category list 2022-09-16 16:23:17 +02:00
Eric NGUYEN
498ca9dc75 Move all AddContainer functions to a different file and fix default.ts 2022-09-14 17:32:25 +02:00
Eric Nguyen
353f461f4b Merged PR 175: Implement drag drop
- [x] Implement drag drop to create an element at a specific index
- Add Swap behavrior
- Implement max contraints with simplex
~~- [ ] Implement drag drop to swap two container that flex~~

- Fixes tries number for simplex it can now go up to 2 * number of containers
- Fixes flex calling another flex behavior when not needed (remember that flex behavior is the only behavior that needs to communicate with siblings)
- Fix max width being ignored in input group
2022-09-05 07:56:45 +00:00
Eric NGUYEN
8034652bdb Changed api call body's container model to available container + Fix API nullable values 2022-08-31 16:15:38 +02:00
Eric Nguyen
57e6c9a156 Merged PR 173: Implements API methods through right click + more (read desc)
- Implements API methods through right click
- Refactor events
- Refactor usage of setHistory and setHistoryCurrentStep into a single function
- Update ContainerOperations documentations
- Added AddContainers in order to add multiple containers + refactor AddContainer to use it
- Fix regression
- Fix AddContainer at index
2022-08-30 14:45:29 +00:00
Eric Nguyen
87c4ea1fe5 Merged PR 171: Refactor the multiple context menus into a single component + Fix eslint
Refactor the multiple context menus into a single component + Fix eslint
2022-08-29 15:03:47 +00:00
Eric Nguyen
ad126c6c28 Merged PR 170: Add new eslint rules
- naming-convention
- prefer-arrow-callback
- func-style
- import/no-default-export
2022-08-26 16:13:21 +00:00
Eric Nguyen
444b96736a Merged PR 168: Add SmartComponent source code + Restrict Events by giving a root at the first render + Added Render function to a namespace
- Add smartcomponent source code to public/
- Restrict Events by giving a root at the first render + Added Render function to a namespace
- Add attribute type="button" to all buttons
2022-08-26 09:13:51 +00:00
Eric Nguyen
7f3f6a489a Merged PR 167: Add Flex and fix bugs (read desc)
Note: The branch name does not fit the new features.

- Implement Flex with simplex
- Enable rigid body by default (removed IsRigidBody property) <=== possibly a bad idea
- Sort children in add and update properties
- Implement MaxWidth
- Add more docs

Fixes :
- .env.production url
- Symbols: not blocking the linked container when the parent is moving
2022-08-25 13:28:32 +00:00
Eric Nguyen
ec3fddec9d Merged PR 165: Move useEffects to named functions
Move useEffects to named functions
2022-08-22 15:52:40 +00:00
Eric Nguyen
66ea3b1b64 Merged PR 163: Remove the static form + rename some components for clarity
All checks were successful
continuous-integration/drone/push Build is passing
The static form is hard to maintain so I am removing it + rename some components for clarity + moved some utils files
2022-08-22 14:37:25 +00:00
Eric Nguyen
8b8d88f885 Merged PR 162: Implement symbols and other stuff (see desc)
Implement symbols
- Add, Remove, Select Container
- Form
- Link with container
- Symbol behavior application to container (move to x with xpositionreference)

Important changes
- Remove SelectedContainer from HistoryState, meaning that it will be slower for each load but will be faster for each operations* (SetHistory, SelectContainer, DeleteContainer, SymbolOperations)
- ElementsSidebar now opens with isSidebarOpen meaning that both sidebar will open on toggle
- Moved camelize, transformX, restoreX to different modules (stringtools.ts, svg.ts)
2022-08-22 13:58:32 +00:00
5f8e011bc6 Unrefactor Properties form to allow more freedom on the input types and form (#32)
All checks were successful
continuous-integration/drone/push Build is passing
- The css style is now in IProperties.Style again.
- Forms are divided in DynamicForm and StaticForm
- Faster because less logic
- Add RadioGroupButton
- Add InputGroup
- Fix Children Dimensions not using x for their origin

Co-authored-by: Eric NGUYEN <enguyen@techform.fr>
Reviewed-on: https://git.siklos-chaneru.duckdns.org/Siklos/svg-layout-designer-react/pulls/32
2022-08-16 08:57:54 -04:00
3c164581ce Remove Number() calls
Some checks failed
continuous-integration/drone/push Build is failing
2022-08-15 22:57:08 +02:00
7ff411b988 Implement webworker for save operation + Limit the history size (#29)
All checks were successful
continuous-integration/drone/push Build is passing
- Implement webworker for save operation
- Limit the history size

Reviewed-on: https://git.siklos-chaneru.duckdns.org/Siklos/svg-layout-designer-react/pulls/29
2022-08-15 11:52:17 -04:00
d6eb9ea364 Optimize history and fix nodes pollution + fix css + removes motion.framer (#28)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: https://git.siklos-chaneru.duckdns.org/Siklos/svg-layout-designer-react/pulls/28
2022-08-12 16:31:37 -04:00
c81a6fe44b Implement events for external use + Rename interfaces with a I prefix + add some documentation (#26)
All checks were successful
continuous-integration/drone/push Build is passing
Implement events for external use
Rename interfaces with a I prefix
Add some documentation

Co-authored-by: Eric NGUYEN <enguyen@techform.fr>
Reviewed-on: https://git.siklos-chaneru.duckdns.org/Siklos/svg-layout-designer-react/pulls/26
2022-08-12 06:36:14 -04:00
Hydroxycarbamide
61b72f6a35 Separate properties operations and rigid body behaviors in different modules + Doc
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-11 23:35:40 +02:00
d11dfec22b Fix misuse of Hooks with useRef (#24)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: https://git.siklos-chaneru.duckdns.org/Siklos/svg-layout-designer-react/pulls/24
2022-08-11 09:10:06 -04:00
ac56f84196 Add option for the properties form to only update on submit (#23)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: https://git.siklos-chaneru.duckdns.org/Siklos/svg-layout-designer-react/pulls/23
2022-08-11 08:37:10 -04:00
Eric Nguyen
616fe3e9ac Merged PR 17: Implement rigid body Fix multiple bugs
Implement rigid body

Fix saveload bug: having null elements
Fix events being duplicated and not being removed
2022-08-11 08:43:10 +00:00
Eric Nguyen
d9e06537e8 Merged PR 16: Transform every single class components into functional component
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
This improve greatly the performance and the code cleaning.
It allows us to separate the inseparable class methods into modules functions
2022-08-09 15:15:56 +00:00