No description
Find a file
2022-10-12 16:03:39 +02:00
.vscode Merged PR 211: Add csharp classes to SVGLayoutDesigner and add tests 2022-10-10 09:28:47 +00:00
csharp/SVGLDLibs Add DataContract on Models in SVGLDLibs 2022-10-12 15:56:00 +02:00
docs Merged PR 212: Optimize FindChildrenById from O(n) to O(1) 2022-10-12 09:39:54 +00:00
public Fix applicationStateModel serialization 2022-10-12 16:03:18 +02:00
src Fix applicationStateModel serialization 2022-10-12 16:03:18 +02:00
test-server Add shortcut description to right click + add Suppr shortcut + Fix next selection after deletion 2022-10-04 16:51:24 +02:00
.drone.yml Merged PR 211: Add csharp classes to SVGLayoutDesigner and add tests 2022-10-10 09:28:47 +00:00
.eslintrc.cjs Merged PR 171: Refactor the multiple context menus into a single component + Fix eslint 2022-08-29 15:03:47 +00:00
.gitattributes Merged PR 167: Add Flex and fix bugs (read desc) 2022-08-25 13:28:32 +00:00
.gitignore Remove sln from gitignore 2022-10-12 16:03:39 +02:00
azure-pipelines.yml Merged PR 212: Optimize FindChildrenById from O(n) to O(1) 2022-10-12 09:39:54 +00:00
index.html Merged PR 212: Optimize FindChildrenById from O(n) to O(1) 2022-10-12 09:39:54 +00:00
package-lock.json Add @react-hook/size and use it to have a dynamic resizable list + update packages 2022-10-03 17:49:43 +02:00
package.json Merged PR 211: Add csharp classes to SVGLayoutDesigner and add tests 2022-10-10 09:28:47 +00:00
pnpm-lock.yaml Add @react-hook/size and use it to have a dynamic resizable list + update packages 2022-10-03 17:49:43 +02:00
postcss.config.cjs Initialise project with Vite, React, SCSS, Tailwind, ESLint 2022-07-30 11:38:17 +02:00
README.md Updated README.md 2022-10-10 09:37:53 +00:00
tailwind.config.cjs Implement SmartMenuiserie API + added bun test-server 2022-07-30 19:56:41 +02:00
tsconfig.json Merged PR 212: Optimize FindChildrenById from O(n) to O(1) 2022-10-12 09:39:54 +00:00
tsconfig.node.json Initialise project with Vite, React, SCSS, Tailwind, ESLint 2022-07-30 11:38:17 +02:00
vite.config.ts Fix symbol behavior not imposing its position when anchor is enabled 2022-08-31 11:32:19 +02:00
vitest.config.ts Added API tests + added vitest.config.ts + added fallback of window.fetch with xmlhttprequest 2022-08-03 16:03:39 +02:00

SVG Layout Designer React

Build Status

An svg layout designer.

Getting Started

Requirements :

  • node >= 16.x (>= 17.x to run vitest tests)
  • npm
  • pnpm (optional) reduce node_modules folder size by using symlinks
  • git-lfs (in order to clone the documentation)
  • dotnet (optional) used for api test

Recommanded tools for developers

Develop

Run npm i

Run npm run dev

Deploy

Run npm i

Run npm run build

Run the tests

Run npm i

Run npm test

Or run npm test:full to also test the C# API

API

You can preload a state by setting the state URL parameter with a url address to a state.json file.

Example: http://localhost:4000/?state=http://localhost:5000/state.json

Testing the external API

This program fetch the data structure from others applications, allowing it to assemble them later.

node run ./test-server/http.js

The web server will be running at http://localhost:5000

Copy .env.development to the file .env.development.local and change the url to whatever you want to use.

Setup debugging with chrome

Inside .vscode/settings.json, set the following :

{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "chrome",
      "request": "launch",
      "name": "Launch Chrome against localhost",
      "url": "http://localhost:5173",
      "webRoot": "${workspaceFolder}",
    }
  ]
}

Change the url to the dev server url. Set the runtimeExecutable to your favorite chromium browser.

Generate definition files for SmartModeler

Prerequisites: typescript, python3

Go to the src/dts directory and run the following command

npx tsc --project tsconfig.dts.json

Or if installed globally

tsc --project tsconfig.dts.json

Then, run python3 (or py on Windows) on generate_dts.py:

python3 generate_dts.py SVGLD svgld.d.ts

A definition will be generated as svgld.d.ts with the namespace SVGLD.