Updated chartjs

This commit is contained in:
Sambo Chea 2021-11-11 16:18:18 +07:00
parent 6fa5c18049
commit 55e9969a8c
Signed by: sombochea
GPG Key ID: 3C7CF22A05D95490
4 changed files with 35 additions and 15 deletions

View File

@ -8,3 +8,18 @@
# Lock File # Lock File
yarn.lock yarn.lock
package.lock.json package.lock.json
examples
test
jest.config.js
yarn-error.log
.eslintrc.js
.prettierrc.js
.stylelintrc.js
.babelrc
.eslintignore
.prettierignore
.stylelintignore
.gitignore
.gitattributes
.editorconfig
.env

View File

@ -3,16 +3,16 @@
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@cubetiq/react-chart-js": "^1.0.0", "@cubetiq/react-chart-js": "^1.1.6",
"@testing-library/jest-dom": "^4.2.4", "@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2", "@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2", "@testing-library/user-event": "^7.1.2",
"@types/jest": "^24.0.0", "@types/jest": "^24.0.0",
"@types/node": "^12.0.0", "@types/node": "^12.0.0",
"@types/react": "^16.9.0", "@types/react": "^17.0.2",
"@types/react-dom": "^16.9.0", "@types/react-dom": "^17.0.2",
"react": "^16.14.0", "react": "^17.0.2",
"react-dom": "^16.14.0", "react-dom": "^17.0.2",
"react-scripts": "3.4.3", "react-scripts": "3.4.3",
"typescript": "~3.7.2" "typescript": "~3.7.2"
}, },

View File

@ -1,6 +1,6 @@
{ {
"name": "@cubetiq/react-chart-js", "name": "@cubetiq/react-chart-js",
"version": "1.1.5", "version": "1.1.7",
"description": "Chart.js for React and TypeScript", "description": "Chart.js for React and TypeScript",
"main": "./dist/index.js", "main": "./dist/index.js",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
@ -30,7 +30,7 @@
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"test": "jest", "test": "jest",
"pub": "npm publish --access public", "pub": "yarn build && npm publish --access public",
"build:test": "yarn jest && yarn build", "build:test": "yarn jest && yarn build",
"run:example": "cd examples/line-chart-example && yarn start" "run:example": "cd examples/line-chart-example && yarn start"
}, },
@ -41,7 +41,7 @@
"@types/chart.js": "^2.9.25", "@types/chart.js": "^2.9.25",
"@types/jest": "^26.0.10", "@types/jest": "^26.0.10",
"@types/node": "^14.6.1", "@types/node": "^14.6.1",
"@types/react": "^16.9.52", "@types/react": "^17.0.34",
"@typescript-eslint/eslint-plugin": "^3.10.1", "@typescript-eslint/eslint-plugin": "^3.10.1",
"@typescript-eslint/parser": "^3.10.1", "@typescript-eslint/parser": "^3.10.1",
"babel-jest": "^26.3.0", "babel-jest": "^26.3.0",
@ -52,10 +52,10 @@
"jest": "^26.4.2", "jest": "^26.4.2",
"lint-staged": "^10.2.13", "lint-staged": "^10.2.13",
"prettier": "^2.1.1", "prettier": "^2.1.1",
"react": "^16.14.0", "react": "^17.0.2",
"ts-jest": "^26.3.0", "ts-jest": "^26.3.0",
"tsc": "^1.20150623.0", "tsc": "^1.20150623.0",
"typescript": "^4.0.2" "typescript": "^4.4.4"
}, },
"husky": { "husky": {
"hooks": { "hooks": {
@ -71,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"chart.js": "^2.9.3" "chart.js": "^3.6.0"
} }
} }

View File

@ -3,6 +3,10 @@ import React, { FunctionComponent, useEffect, useRef } from 'react';
interface ReactChartJSProps { interface ReactChartJSProps {
chartConfig?: ChartConfiguration; chartConfig?: ChartConfiguration;
width?: number;
height?: number;
containerProps: any;
canvasProps: any;
} }
interface RefForChartInstance { interface RefForChartInstance {
@ -10,7 +14,7 @@ interface RefForChartInstance {
} }
const ReactChartJs: FunctionComponent<ReactChartJSProps> = (props: any) => { const ReactChartJs: FunctionComponent<ReactChartJSProps> = (props: any) => {
const { chartConfig } = props; const { chartConfig, containerProps, canvasProps } = props;
const canvasDomRef = useRef<HTMLCanvasElement>(); const canvasDomRef = useRef<HTMLCanvasElement>();
@ -27,13 +31,14 @@ const ReactChartJs: FunctionComponent<ReactChartJSProps> = (props: any) => {
}, [chartConfig]); }, [chartConfig]);
return ( return (
<div> <div {...containerProps}>
<canvas <canvas
ref={(instance: any) => { ref={(instance: any) => {
canvasDomRef.current = instance!; canvasDomRef.current = instance!;
}} }}
width="400" width={props.width || 'auto'}
height="200" height={props.height || 'auto'}
{...canvasProps}
/> />
</div> </div>
); );