No description
Find a file
2022-10-10 09:28:47 +00:00
.vscode Merged PR 211: Add csharp classes to SVGLayoutDesigner and add tests 2022-10-10 09:28:47 +00:00
csharp/SVGLDLibs Merged PR 211: Add csharp classes to SVGLayoutDesigner and add tests 2022-10-10 09:28:47 +00:00
docs Update componentStructure documentation 2022-10-03 17:11:40 +02:00
public Add GetEditorStateAsString in events 2022-10-10 09:27:33 +00:00
src Merged PR 211: Add csharp classes to SVGLayoutDesigner and add tests 2022-10-10 09:28:47 +00: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
.env.development Merged PR 185: Implement Messages 2022-09-16 10:03:41 +00:00
.env.production Merged PR 185: Implement Messages 2022-09-16 10:03:41 +00:00
.env.test Add app test 2022-09-21 16:33:31 +02: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 Change css class on sidebar and symbols 2022-09-09 10:33:14 +02:00
azure-pipelines.yml Merged PR 211: Add csharp classes to SVGLayoutDesigner and add tests 2022-10-10 09:28:47 +00:00
index.html Merged PR 189: Simplify usage of SmartComponent 2022-09-21 09:24:14 +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 Merged PR 211: Add csharp classes to SVGLayoutDesigner and add tests 2022-10-10 09:28:47 +00:00
tailwind.config.cjs Implement SmartMenuiserie API + added bun test-server 2022-07-30 19:56:41 +02:00
tsconfig.json Merged PR 211: Add csharp classes to SVGLayoutDesigner and add tests 2022-10-10 09:28:47 +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

Build Status

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

Developping

Run npm ci

Run npm run dev

Deploy

Run npm ci

Run npm run build

Run the tests

Run npm ci

Run npm test

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.

With NodeJS

node run ./test-server/node-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.

With bun.sh

Install bun

Inside test-server folder, run :

bun run 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.

Recommanded tools

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

Pre-requisite: typescript, python3

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

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.