diff --git a/README.md b/README.md index ef779b7..d8b102a 100644 --- a/README.md +++ b/README.md @@ -172,9 +172,4 @@ To contribute, please follow the steps: - `cd idraw` - `npm i` - `npm run init` -- `npm run dev` for compiling all packages - - `npm run dev ${module}` for compiling single module such as `idraw` -- `npm run serve` for starting a server -- http://127.0.0.1:8080 - - http://127.0.0.1:8080/packages/idraw/examples/features/ - - http://127.0.0.1:8080/packages/core/examples/features/ \ No newline at end of file +- `npm run dev` to select and develop single package \ No newline at end of file diff --git a/package.json b/package.json index 7e0480c..32ae6ae 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,8 @@ "name": "root", "private": false, "scripts": { - "dev": "node ./scripts/dev.js", - "dev:board": "node ./scripts/dev.js board", - "dev:core": "node ./scripts/dev.js core", + "dev": "node ./scripts/dev-vite.js", + "dev:board": "node ./scripts/dev-rollup.js board", "build": "npm run build:src && npm run build:min", "build:src": "NODE_ENV=production BUILD_MODE=reset node ./scripts/build.js", "build:min": "node ./scripts/minify.js", @@ -34,13 +33,15 @@ "@microsoft/api-extractor": "^7.13.2", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-typescript": "^8.3.0", "@rollup/pluginutils": "^4.1.1", "@types/jest": "^26.0.23", "@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/parser": "^4.25.0", "babel-jest": "^26.6.3", "canvas": "^2.8.0", - "chalk": "^4.1.0", + "chalk": "^4.1.2", + "enquirer": "^2.3.6", "eslint": "^7.27.0", "execa": "^5.0.0", "fs-extra": "^9.1.0", @@ -66,6 +67,7 @@ "terser": "^5.9.0", "ts-node": "^9.1.1", "tslib": "^2.2.0", - "typescript": "^4.3.2" + "typescript": "^4.3.2", + "vite": "^2.7.10" } } diff --git a/packages/board/dev/index.html b/packages/board/dev/index.html new file mode 100644 index 0000000..0fff3a3 --- /dev/null +++ b/packages/board/dev/index.html @@ -0,0 +1,35 @@ + +
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/board/dev/main.js b/packages/board/dev/main.js new file mode 100644 index 0000000..f9ae602 --- /dev/null +++ b/packages/board/dev/main.js @@ -0,0 +1,45 @@ +import Board from './../src/index'; + +function drawBoard(board) { + const ctx = board.getContext(); + // ctx.setFillStyle('#ffffff'); + // ctx.fillRect(0, 0, 300, 200); + + ctx.setFillStyle('#f0f0f0'); + ctx.fillRect(5, 5, 100, 60); + + ctx.setFillStyle('#cccccc'); + ctx.fillRect(40, 40, 100, 60); + + ctx.setFillStyle('#c0c0c0'); + ctx.fillRect(80, 80, 100, 60); + + ctx.setFillStyle('#e0e0e0'); + ctx.fillRect(200 - 5, 150 - 5, 100, 50); + + ctx.setFillStyle('#000'); + ctx.fillRect(150 - 5, 100 - 5, 10, 10); +} + +const mount = document.querySelector('#mount'); +const opts = { + width: 300, + height: 200, + contextWidth: 300, + contextHeight: 200, + devicePixelRatio: 4, + canScroll: true, +} +const board = new Board(mount, opts); +drawBoard(board); +board.draw(); + +board.resetSize({ + width: 270, + height: 180, + contextWidth: 400, + contextHeight: 320, + devicePixelRatio: 4, +}); +drawBoard(board); +board.draw(); \ No newline at end of file diff --git a/packages/board/package.json b/packages/board/package.json index 695ad60..ee13cc3 100644 --- a/packages/board/package.json +++ b/packages/board/package.json @@ -7,7 +7,7 @@ "unpkg": "dist/index.global.js", "types": "dist/index.d.ts", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "dev": "vite dev" }, "files": [ "dist/*.ts", diff --git a/packages/core/dev/data.js b/packages/core/dev/data.js new file mode 100644 index 0000000..0e8c7bd --- /dev/null +++ b/packages/core/dev/data.js @@ -0,0 +1,63 @@ +const data = { + bgColor: "#ffffff", + elements: [ + { + name: "rect-001", + x: 5, + y: 5, + w: 100, + h: 50, + type: "rect", + desc: { + bgColor: "#ffeb3b", + borderRadius: 10, + borderWidth: 5, + borderColor: "#ffc107", + }, + }, + { + name: "text-002", + x: 40, + y: 40, + w: 100, + h: 60, + // angle: 30, + type: "text", + desc: { + fontSize: 16, + text: "Hello Text", + fontWeight: 'bold', + color: "#666666", + borderRadius: 30, + borderWidth: 4, + borderColor: "#ff5722", + }, + }, + { + name: "image-003", + x: 80, + y: 80, + w: 160, + h: 80, + type: "image", + desc: { + src: './images/computer.png', + }, + }, + { + name: "svg-004", + x: 200 - 5, + y: 150 - 50, + w: 100, + h: 100, + type: "svg", + desc: { + svg: '', + }, + }, + ], +}; + +export function getData() { + return data; +} diff --git a/packages/core/dev/images/building-001.png b/packages/core/dev/images/building-001.png new file mode 100644 index 0000000..4b87e78 Binary files /dev/null and b/packages/core/dev/images/building-001.png differ diff --git a/packages/core/dev/images/building-002.png b/packages/core/dev/images/building-002.png new file mode 100644 index 0000000..c0699ff Binary files /dev/null and b/packages/core/dev/images/building-002.png differ diff --git a/packages/core/dev/images/building-003.png b/packages/core/dev/images/building-003.png new file mode 100644 index 0000000..5391f28 Binary files /dev/null and b/packages/core/dev/images/building-003.png differ diff --git a/packages/core/dev/images/chart.png b/packages/core/dev/images/chart.png new file mode 100644 index 0000000..67efe1f Binary files /dev/null and b/packages/core/dev/images/chart.png differ diff --git a/packages/core/dev/images/computer.png b/packages/core/dev/images/computer.png new file mode 100644 index 0000000..01fde93 Binary files /dev/null and b/packages/core/dev/images/computer.png differ diff --git a/packages/core/dev/images/phone.png b/packages/core/dev/images/phone.png new file mode 100644 index 0000000..4ffec7f Binary files /dev/null and b/packages/core/dev/images/phone.png differ diff --git a/packages/core/dev/index.html b/packages/core/dev/index.html new file mode 100644 index 0000000..470b2af --- /dev/null +++ b/packages/core/dev/index.html @@ -0,0 +1,33 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/core/dev/main.js b/packages/core/dev/main.js new file mode 100644 index 0000000..970fba4 --- /dev/null +++ b/packages/core/dev/main.js @@ -0,0 +1,33 @@ +import Core from './../src/index'; +import { getData } from './data.js'; + +console.log('Core =', Core) + +var opts = { + width: 300, + height: 200, + contextWidth: 300, + contextHeight: 200, + devicePixelRatio: 4, +} +// var config = { +// elementWrapper: { +// controllerSize: 4, +// } +// } + +const mount = document.querySelector('#mount'); +const data = getData(); +const core = new Core( + mount, + Object.assign({}, opts, { + contextWidth: 500, + contextHeight: 400, + }), + { + scrollWrapper: { + use: true, + }, + } +); +core.setData(data); diff --git a/packages/core/examples/test/api.html b/packages/core/examples/test/api.html index 5236f92..a347454 100644 --- a/packages/core/examples/test/api.html +++ b/packages/core/examples/test/api.html @@ -100,6 +100,12 @@ + + +