@pie-lib/charting 5.1.7 → 5.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/lib/axes.js +6 -0
- package/lib/axes.js.map +1 -1
- package/lib/mark-label.js +1 -1
- package/lib/mark-label.js.map +1 -1
- package/lib/utils.js +1 -1
- package/lib/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/axes.jsx +2 -0
- package/src/mark-label.jsx +5 -2
- package/src/utils.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.1.8](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.1.7...@pie-lib/charting@5.1.8) (2022-09-12)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-lib/charting
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## [5.1.7](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.1.6...@pie-lib/charting@5.1.7) (2022-08-30)
|
|
7
15
|
|
|
8
16
|
|
package/lib/axes.js
CHANGED
|
@@ -295,6 +295,9 @@ var TickComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
295
295
|
overflow: 'visible'
|
|
296
296
|
}
|
|
297
297
|
}, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
298
|
+
style: {
|
|
299
|
+
position: 'fixed'
|
|
300
|
+
},
|
|
298
301
|
checked: interactive,
|
|
299
302
|
onChange: function onChange(e) {
|
|
300
303
|
return _this2.changeInteractive(index, e.target.checked);
|
|
@@ -309,6 +312,9 @@ var TickComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
309
312
|
overflow: 'visible'
|
|
310
313
|
}
|
|
311
314
|
}, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
315
|
+
style: {
|
|
316
|
+
position: 'fixed'
|
|
317
|
+
},
|
|
312
318
|
checked: editable,
|
|
313
319
|
onChange: function onChange(e) {
|
|
314
320
|
return _this2.changeEditable(index, e.target.checked);
|
package/lib/axes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/axes.jsx"],"names":["TickComponent","props","open","callback","setState","dialog","index","newLabel","categories","onChangeCategory","category","label","onChange","slice","value","title","text","onConfirm","handleAlertDialog","interactive","onClose","editable","state","classes","xBand","bandWidth","barWidth","rotate","top","graphProps","defineChart","x","y","formattedValue","parseInt","split","deletable","correctness","autoFocus","inDefineChart","barX","longestCategory","reduce","a","b","lengthA","length","lengthB","longestLabel","pointerEvents","overflow","position","visibility","wordBreak","maxWidth","display","r","input","changeCategory","dottedLine","deleteCategory","e","changeInteractive","target","checked","changeEditable","React","Component","propTypes","PropTypes","array","func","number","object","string","RawChartAxes","height","document","getElementById","offsetHeight","leftAxis","theme","axis","axisLine","tick","axisLabel","scale","range","domain","size","bottomScale","rangeRound","width","bandwidth","max","rowTickValues","step","labelStep","fontSize","typography","getTickLabelProps","dy","dx","toLocaleString","getTickComponent","properties","min","textAnchor","count","isRequired","types","GraphPropsType","bool","ChartAxes","fontFamily","body1","fill","color","secondary","stroke","primaryDark","strokeWidth","primaryLight","opacity","withTheme"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { AxisLeft, AxisBottom } from '@vx/axis';\nimport { bandKey, getTickValues, getRotateAngle } from './utils';\nimport MarkLabel from './mark-label';\nimport Checkbox from '@material-ui/core/Checkbox';\n\nexport class TickComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n dialog: {\n open: false\n }\n };\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open }\n },\n callback\n );\n\n changeCategory = (index, newLabel) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n onChangeCategory(index, { ...category, label: newLabel });\n };\n\n deleteCategory = index => {\n const { categories, onChange } = this.props;\n\n if (index >= 0 && categories[index]) {\n onChange([...categories.slice(0, index), ...categories.slice(index + 1)]);\n }\n };\n\n changeInteractive = (index, value) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text:\n 'This will remove the correct answer value that has been defined for this category.',\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n onChangeCategory(index, { ...category, interactive: !category.interactive })\n ),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n } else {\n onChangeCategory(index, { ...category, interactive: !category.interactive });\n }\n };\n\n changeEditable = (index, value) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text:\n 'This will remove the correct answer category name that has been defined for this category.',\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n onChangeCategory(index, { ...category, editable: !category.editable || false })\n ),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n } else {\n onChangeCategory(index, { ...category, editable: !category.editable || false });\n }\n };\n\n render() {\n const {\n classes,\n categories,\n xBand,\n bandWidth,\n barWidth,\n rotate,\n top,\n graphProps,\n defineChart,\n x,\n y,\n formattedValue\n } = this.props;\n\n if (!formattedValue) {\n return null;\n }\n\n const { dialog } = this.state;\n const index = parseInt(formattedValue.split('-')[0], 10);\n const category = categories[index];\n const { deletable, editable, interactive, label, correctness, autoFocus, inDefineChart } =\n category || {};\n const barX = xBand(bandKey({ label }, index));\n const longestCategory = (categories || []).reduce((a, b) => {\n const lengthA = a && a.label ? a.label.length : 0;\n const lengthB = b && b.label ? b.label.length : 0;\n\n return lengthA > lengthB ? a : b;\n });\n\n const longestLabel = (longestCategory && longestCategory.label) || '';\n\n return (\n <g>\n <foreignObject\n x={bandWidth ? barX : x - barWidth / 2}\n y={6}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'none', overflow: 'visible' }}\n >\n {index === 0 && (\n <div\n id=\"hiddenLabel\"\n style={{\n position: 'absolute',\n visibility: 'hidden',\n wordBreak: 'break-word',\n overflow: 'visible',\n maxWidth: barWidth,\n display: 'block'\n }}\n >\n {longestLabel}\n </div>\n )}\n <MarkLabel\n autoFocus={inDefineChart ? defineChart && autoFocus : autoFocus}\n inputRef={r => (this.input = r)}\n disabled={!defineChart && !editable}\n mark={category}\n graphProps={graphProps}\n onChange={newLabel => this.changeCategory(index, newLabel)}\n barWidth={barWidth}\n rotate={rotate}\n correctness={correctness}\n />\n </foreignObject>\n {deletable && !correctness && (\n <line\n x1={x}\n y1={0}\n x2={x}\n y2={y + 4 + top}\n className={classes.dottedLine}\n strokeDasharray=\"4 2\"\n />\n )}\n {deletable && !correctness && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n x={x - 8}\n y={y + 10 + top}\n width={16}\n height={16}\n viewBox=\"0 0 512 512\"\n onClick={() => this.deleteCategory(index)}\n >\n <path d=\"M128 405.429C128 428.846 147.198 448 170.667 448h170.667C364.802 448 384 428.846 384 405.429V160H128v245.429zM416 96h-80l-26.785-32H202.786L176 96H96v32h320V96z\" />\n </svg>\n )}\n {defineChart && index === 0 && (\n <text\n x={x - 80}\n y={y + 40 + top}\n width={barWidth}\n height={4}\n style={{\n position: 'absolute',\n pointerEvents: 'none',\n wordBreak: 'break-word',\n overflow: 'visible',\n maxWidth: barWidth,\n display: 'inline-block'\n }}\n >\n <tspan x=\"0\" dy=\".6em\">\n {' '}\n Student can{' '}\n </tspan>\n <tspan x=\"0\" dy=\"1.2em\">\n {' '}\n set value\n </tspan>\n </text>\n )}\n {defineChart && index === 0 && (\n <text\n x={x - 80}\n y={y + 80 + top}\n width={barWidth}\n height={4}\n style={{\n position: 'absolute',\n pointerEvents: 'none',\n wordBreak: 'break-word',\n overflow: 'visible',\n maxWidth: barWidth,\n display: 'inline-block'\n }}\n >\n <tspan x=\"0\" dy=\".6em\">\n {' '}\n Student can{' '}\n </tspan>\n <tspan x=\"0\" dy=\"1.2em\">\n {' '}\n edit name\n </tspan>\n </text>\n )}\n {defineChart && (\n <foreignObject\n x={x - 24}\n y={y + 20 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <Checkbox\n checked={interactive}\n onChange={e => this.changeInteractive(index, e.target.checked)}\n />\n </foreignObject>\n )}\n {defineChart && (\n <foreignObject\n x={x - 24}\n y={y + 70 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <Checkbox\n checked={editable}\n onChange={e => this.changeEditable(index, e.target.checked)}\n />\n </foreignObject>\n )}\n <foreignObject\n x={x - 24}\n y={y + 100 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </foreignObject>\n </g>\n );\n }\n}\n\nTickComponent.propTypes = {\n categories: PropTypes.array,\n xBand: PropTypes.func,\n bandWidth: PropTypes.number,\n barWidth: PropTypes.number,\n rotate: PropTypes.number,\n top: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number,\n graphProps: PropTypes.object,\n formattedValue: PropTypes.string,\n onChangeCategory: PropTypes.func,\n onChange: PropTypes.func,\n classes: PropTypes.object\n};\n\nexport class RawChartAxes extends React.Component {\n static propTypes = {\n bottomScale: PropTypes.func,\n classes: PropTypes.object.isRequired,\n categories: PropTypes.array,\n graphProps: types.GraphPropsType.isRequired,\n xBand: PropTypes.func,\n leftAxis: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeCategory: PropTypes.func,\n top: PropTypes.number,\n theme: PropTypes.object\n };\n\n state = { height: 0 };\n\n componentDidMount() {\n const height = document.getElementById('hiddenLabel')\n ? document.getElementById('hiddenLabel').offsetHeight\n : 0;\n\n this.setState({ height });\n }\n\n render() {\n const {\n classes,\n graphProps,\n xBand,\n leftAxis,\n onChange,\n onChangeCategory,\n categories = [],\n top,\n defineChart,\n theme\n } = this.props;\n\n const { axis, axisLine, tick, axisLabel } = classes;\n const { scale = {}, range = {}, domain = {}, size = {} } = graphProps || {};\n const { height } = this.state;\n\n const bottomScale =\n xBand && typeof xBand.rangeRound === 'function' && xBand.rangeRound([0, size.width]);\n\n const bandWidth = xBand && typeof xBand.bandwidth === 'function' && xBand.bandwidth();\n // for chartType \"line\", bandWidth will be 0, so we have to calculate it\n const barWidth = bandWidth || (scale.x && scale.x(domain.max) / categories.length);\n\n const rowTickValues = getTickValues({ ...range, step: range.labelStep });\n const fontSize = theme && theme.typography ? theme.typography.fontSize : 14;\n const rotate = getRotateAngle(fontSize, height);\n\n const getTickLabelProps = value => ({\n dy: 4,\n dx: -10 - (value.toLocaleString().length || 1) * 5\n });\n\n const getTickComponent = props => {\n const properties = {\n classes,\n categories,\n xBand,\n bandWidth,\n barWidth,\n rotate,\n top,\n defineChart,\n onChangeCategory,\n onChange,\n graphProps,\n x: props.x,\n y: props.y,\n formattedValue: props.formattedValue\n };\n\n return <TickComponent {...properties} />;\n };\n\n return (\n <React.Fragment>\n {leftAxis && (\n <AxisLeft\n scale={scale.y}\n className={axis}\n axisLineClassName={axisLine}\n tickLength={10}\n tickClassName={tick}\n tickFormat={value => value}\n label={range.label}\n labelClassName={axisLabel}\n tickValues={rowTickValues}\n tickLabelProps={getTickLabelProps}\n />\n )}\n <AxisBottom\n axisLineClassName={axisLine}\n labelClassName={axisLabel}\n tickClassName={tick}\n scale={bottomScale}\n label={domain.label}\n labelProps={{ y: 60 + top }}\n top={scale.y && scale.y(range.min)}\n textLabelProps={() => ({ textAnchor: 'middle' })}\n tickFormat={count => count}\n tickComponent={getTickComponent}\n />\n </React.Fragment>\n );\n }\n}\n\nconst ChartAxes = withStyles(\n theme => ({\n axisLabel: {\n fontFamily: theme.typography.body1.fontFamily,\n fontSize: theme.typography.fontSize,\n fill: color.secondary()\n },\n axis: {\n stroke: color.primaryDark(),\n strokeWidth: 2\n },\n axisLine: {\n stroke: color.primaryDark(),\n strokeWidth: 2\n },\n tick: {\n '& > line': {\n stroke: color.primaryDark(),\n strokeWidth: 2\n },\n fill: color.primaryDark(),\n fontFamily: theme.typography.body1.fontFamily,\n fontSize: theme.typography.fontSize,\n textAnchor: 'middle'\n },\n dottedLine: {\n stroke: color.primaryLight(),\n opacity: 0.2\n }\n }),\n { withTheme: true }\n)(RawChartAxes);\n\nexport default ChartAxes;\n"],"file":"axes.js"}
|
|
1
|
+
{"version":3,"sources":["../src/axes.jsx"],"names":["TickComponent","props","open","callback","setState","dialog","index","newLabel","categories","onChangeCategory","category","label","onChange","slice","value","title","text","onConfirm","handleAlertDialog","interactive","onClose","editable","state","classes","xBand","bandWidth","barWidth","rotate","top","graphProps","defineChart","x","y","formattedValue","parseInt","split","deletable","correctness","autoFocus","inDefineChart","barX","longestCategory","reduce","a","b","lengthA","length","lengthB","longestLabel","pointerEvents","overflow","position","visibility","wordBreak","maxWidth","display","r","input","changeCategory","dottedLine","deleteCategory","e","changeInteractive","target","checked","changeEditable","React","Component","propTypes","PropTypes","array","func","number","object","string","RawChartAxes","height","document","getElementById","offsetHeight","leftAxis","theme","axis","axisLine","tick","axisLabel","scale","range","domain","size","bottomScale","rangeRound","width","bandwidth","max","rowTickValues","step","labelStep","fontSize","typography","getTickLabelProps","dy","dx","toLocaleString","getTickComponent","properties","min","textAnchor","count","isRequired","types","GraphPropsType","bool","ChartAxes","fontFamily","body1","fill","color","secondary","stroke","primaryDark","strokeWidth","primaryLight","opacity","withTheme"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { AxisLeft, AxisBottom } from '@vx/axis';\nimport { bandKey, getTickValues, getRotateAngle } from './utils';\nimport MarkLabel from './mark-label';\nimport Checkbox from '@material-ui/core/Checkbox';\n\nexport class TickComponent extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n dialog: {\n open: false\n }\n };\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open }\n },\n callback\n );\n\n changeCategory = (index, newLabel) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n onChangeCategory(index, { ...category, label: newLabel });\n };\n\n deleteCategory = index => {\n const { categories, onChange } = this.props;\n\n if (index >= 0 && categories[index]) {\n onChange([...categories.slice(0, index), ...categories.slice(index + 1)]);\n }\n };\n\n changeInteractive = (index, value) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text:\n 'This will remove the correct answer value that has been defined for this category.',\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n onChangeCategory(index, { ...category, interactive: !category.interactive })\n ),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n } else {\n onChangeCategory(index, { ...category, interactive: !category.interactive });\n }\n };\n\n changeEditable = (index, value) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text:\n 'This will remove the correct answer category name that has been defined for this category.',\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n onChangeCategory(index, { ...category, editable: !category.editable || false })\n ),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n } else {\n onChangeCategory(index, { ...category, editable: !category.editable || false });\n }\n };\n\n render() {\n const {\n classes,\n categories,\n xBand,\n bandWidth,\n barWidth,\n rotate,\n top,\n graphProps,\n defineChart,\n x,\n y,\n formattedValue\n } = this.props;\n\n if (!formattedValue) {\n return null;\n }\n\n const { dialog } = this.state;\n const index = parseInt(formattedValue.split('-')[0], 10);\n const category = categories[index];\n const { deletable, editable, interactive, label, correctness, autoFocus, inDefineChart } =\n category || {};\n const barX = xBand(bandKey({ label }, index));\n const longestCategory = (categories || []).reduce((a, b) => {\n const lengthA = a && a.label ? a.label.length : 0;\n const lengthB = b && b.label ? b.label.length : 0;\n\n return lengthA > lengthB ? a : b;\n });\n\n const longestLabel = (longestCategory && longestCategory.label) || '';\n\n return (\n <g>\n <foreignObject\n x={bandWidth ? barX : x - barWidth / 2}\n y={6}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'none', overflow: 'visible' }}\n >\n {index === 0 && (\n <div\n id=\"hiddenLabel\"\n style={{\n position: 'absolute',\n visibility: 'hidden',\n wordBreak: 'break-word',\n overflow: 'visible',\n maxWidth: barWidth,\n display: 'block'\n }}\n >\n {longestLabel}\n </div>\n )}\n <MarkLabel\n autoFocus={inDefineChart ? defineChart && autoFocus : autoFocus}\n inputRef={r => (this.input = r)}\n disabled={!defineChart && !editable}\n mark={category}\n graphProps={graphProps}\n onChange={newLabel => this.changeCategory(index, newLabel)}\n barWidth={barWidth}\n rotate={rotate}\n correctness={correctness}\n />\n </foreignObject>\n {deletable && !correctness && (\n <line\n x1={x}\n y1={0}\n x2={x}\n y2={y + 4 + top}\n className={classes.dottedLine}\n strokeDasharray=\"4 2\"\n />\n )}\n {deletable && !correctness && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n x={x - 8}\n y={y + 10 + top}\n width={16}\n height={16}\n viewBox=\"0 0 512 512\"\n onClick={() => this.deleteCategory(index)}\n >\n <path d=\"M128 405.429C128 428.846 147.198 448 170.667 448h170.667C364.802 448 384 428.846 384 405.429V160H128v245.429zM416 96h-80l-26.785-32H202.786L176 96H96v32h320V96z\" />\n </svg>\n )}\n {defineChart && index === 0 && (\n <text\n x={x - 80}\n y={y + 40 + top}\n width={barWidth}\n height={4}\n style={{\n position: 'absolute',\n pointerEvents: 'none',\n wordBreak: 'break-word',\n overflow: 'visible',\n maxWidth: barWidth,\n display: 'inline-block'\n }}\n >\n <tspan x=\"0\" dy=\".6em\">\n {' '}\n Student can{' '}\n </tspan>\n <tspan x=\"0\" dy=\"1.2em\">\n {' '}\n set value\n </tspan>\n </text>\n )}\n {defineChart && index === 0 && (\n <text\n x={x - 80}\n y={y + 80 + top}\n width={barWidth}\n height={4}\n style={{\n position: 'absolute',\n pointerEvents: 'none',\n wordBreak: 'break-word',\n overflow: 'visible',\n maxWidth: barWidth,\n display: 'inline-block'\n }}\n >\n <tspan x=\"0\" dy=\".6em\">\n {' '}\n Student can{' '}\n </tspan>\n <tspan x=\"0\" dy=\"1.2em\">\n {' '}\n edit name\n </tspan>\n </text>\n )}\n {defineChart && (\n <foreignObject\n x={x - 24}\n y={y + 20 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <Checkbox\n style={{ position: 'fixed' }}\n checked={interactive}\n onChange={e => this.changeInteractive(index, e.target.checked)}\n />\n </foreignObject>\n )}\n {defineChart && (\n <foreignObject\n x={x - 24}\n y={y + 70 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <Checkbox\n style={{ position: 'fixed' }}\n checked={editable}\n onChange={e => this.changeEditable(index, e.target.checked)}\n />\n </foreignObject>\n )}\n <foreignObject\n x={x - 24}\n y={y + 100 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </foreignObject>\n </g>\n );\n }\n}\n\nTickComponent.propTypes = {\n categories: PropTypes.array,\n xBand: PropTypes.func,\n bandWidth: PropTypes.number,\n barWidth: PropTypes.number,\n rotate: PropTypes.number,\n top: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number,\n graphProps: PropTypes.object,\n formattedValue: PropTypes.string,\n onChangeCategory: PropTypes.func,\n onChange: PropTypes.func,\n classes: PropTypes.object\n};\n\nexport class RawChartAxes extends React.Component {\n static propTypes = {\n bottomScale: PropTypes.func,\n classes: PropTypes.object.isRequired,\n categories: PropTypes.array,\n graphProps: types.GraphPropsType.isRequired,\n xBand: PropTypes.func,\n leftAxis: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeCategory: PropTypes.func,\n top: PropTypes.number,\n theme: PropTypes.object\n };\n\n state = { height: 0 };\n\n componentDidMount() {\n const height = document.getElementById('hiddenLabel')\n ? document.getElementById('hiddenLabel').offsetHeight\n : 0;\n\n this.setState({ height });\n }\n\n render() {\n const {\n classes,\n graphProps,\n xBand,\n leftAxis,\n onChange,\n onChangeCategory,\n categories = [],\n top,\n defineChart,\n theme\n } = this.props;\n\n const { axis, axisLine, tick, axisLabel } = classes;\n const { scale = {}, range = {}, domain = {}, size = {} } = graphProps || {};\n const { height } = this.state;\n\n const bottomScale =\n xBand && typeof xBand.rangeRound === 'function' && xBand.rangeRound([0, size.width]);\n\n const bandWidth = xBand && typeof xBand.bandwidth === 'function' && xBand.bandwidth();\n // for chartType \"line\", bandWidth will be 0, so we have to calculate it\n const barWidth = bandWidth || (scale.x && scale.x(domain.max) / categories.length);\n\n const rowTickValues = getTickValues({ ...range, step: range.labelStep });\n const fontSize = theme && theme.typography ? theme.typography.fontSize : 14;\n const rotate = getRotateAngle(fontSize, height);\n\n const getTickLabelProps = value => ({\n dy: 4,\n dx: -10 - (value.toLocaleString().length || 1) * 5\n });\n\n const getTickComponent = props => {\n const properties = {\n classes,\n categories,\n xBand,\n bandWidth,\n barWidth,\n rotate,\n top,\n defineChart,\n onChangeCategory,\n onChange,\n graphProps,\n x: props.x,\n y: props.y,\n formattedValue: props.formattedValue\n };\n\n return <TickComponent {...properties} />;\n };\n\n return (\n <React.Fragment>\n {leftAxis && (\n <AxisLeft\n scale={scale.y}\n className={axis}\n axisLineClassName={axisLine}\n tickLength={10}\n tickClassName={tick}\n tickFormat={value => value}\n label={range.label}\n labelClassName={axisLabel}\n tickValues={rowTickValues}\n tickLabelProps={getTickLabelProps}\n />\n )}\n <AxisBottom\n axisLineClassName={axisLine}\n labelClassName={axisLabel}\n tickClassName={tick}\n scale={bottomScale}\n label={domain.label}\n labelProps={{ y: 60 + top }}\n top={scale.y && scale.y(range.min)}\n textLabelProps={() => ({ textAnchor: 'middle' })}\n tickFormat={count => count}\n tickComponent={getTickComponent}\n />\n </React.Fragment>\n );\n }\n}\n\nconst ChartAxes = withStyles(\n theme => ({\n axisLabel: {\n fontFamily: theme.typography.body1.fontFamily,\n fontSize: theme.typography.fontSize,\n fill: color.secondary()\n },\n axis: {\n stroke: color.primaryDark(),\n strokeWidth: 2\n },\n axisLine: {\n stroke: color.primaryDark(),\n strokeWidth: 2\n },\n tick: {\n '& > line': {\n stroke: color.primaryDark(),\n strokeWidth: 2\n },\n fill: color.primaryDark(),\n fontFamily: theme.typography.body1.fontFamily,\n fontSize: theme.typography.fontSize,\n textAnchor: 'middle'\n },\n dottedLine: {\n stroke: color.primaryLight(),\n opacity: 0.2\n }\n }),\n { withTheme: true }\n)(RawChartAxes);\n\nexport default ChartAxes;\n"],"file":"axes.js"}
|
package/lib/mark-label.js
CHANGED
package/lib/mark-label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","fontFamily","typography","fontSize","border","color","primaryDark","backgroundColor","MarkLabel","props","setInput","_ref","node","mark","classes","disabled","externalInputRef","inputRef","barWidth","rotate","correctness","autoFocus","label","setLabel","onChange","e","target","value","onChangeProp","extraStyle","width","textAlign","r","minWidth","background","boxSizing","paddingLeft","paddingRight","position","pointerEvents","top","left","transformOrigin","transform","propTypes","PropTypes","bool","func","graphProps","types","GraphPropsType","object","number","shape","string"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBC,IAAAA,KAAK,EAAE;AACL,eAAO,OADF;AAELC,MAAAA,UAAU,EAAEF,KAAK,CAACG,UAAN,CAAiBD,UAFxB;AAGLE,MAAAA,QAAQ,EAAEJ,KAAK,CAACG,UAAN,CAAiBC,QAHtB;AAILC,MAAAA,MAAM,EAAE,MAJH;AAKLC,MAAAA,KAAK,EAAEA,gBAAMC,WAAN,EALF;AAML,mBAAa,sBAAQ,OAAR,CANR;AAOL,qBAAe,wBAAU,OAAV,CAPV;AAQL,
|
|
1
|
+
{"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","fontFamily","typography","fontSize","border","color","primaryDark","backgroundColor","MarkLabel","props","setInput","_ref","node","mark","classes","disabled","externalInputRef","inputRef","barWidth","rotate","correctness","autoFocus","label","setLabel","onChange","e","target","value","onChangeProp","extraStyle","width","textAlign","r","minWidth","background","boxSizing","paddingLeft","paddingRight","position","pointerEvents","top","left","transformOrigin","transform","propTypes","PropTypes","bool","func","graphProps","types","GraphPropsType","object","number","shape","string"],"mappings":"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","sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport cn from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { correct, incorrect, disabled } from './common/styles';\nimport { color } from '@pie-lib/render-ui';\n\nconst styles = theme => ({\n input: {\n float: 'right',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: 'none',\n color: color.primaryDark(),\n '&.correct': correct('color'),\n '&.incorrect': incorrect('color'),\n '&.disabled': {\n ...disabled('color'),\n backgroundColor: 'transparent !important'\n }\n }\n});\n\nexport const MarkLabel = props => {\n // eslint-disable-next-line no-unused-vars\n const [input, setInput] = useState(null);\n const _ref = useCallback(node => setInput(node), null);\n\n const {\n mark,\n classes,\n disabled,\n inputRef: externalInputRef,\n barWidth,\n rotate,\n correctness,\n autoFocus\n } = props;\n const [label, setLabel] = useState(mark.label);\n const onChange = e => setLabel(e.target.value);\n const onChangeProp = e => props.onChange(e.target.value);\n let extraStyle = {};\n\n if (rotate) {\n extraStyle = {\n width: 'unset',\n textAlign: 'left'\n };\n }\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n return (\n <AutosizeInput\n autoFocus={autoFocus}\n inputRef={r => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabled}\n inputClassName={cn(classes.input, correctness && correctness.label, disabled && 'disabled')}\n inputStyle={{\n minWidth: barWidth,\n textAlign: 'center',\n background: 'transparent',\n boxSizing: 'border-box',\n paddingLeft: 0,\n paddingRight: 0,\n ...extraStyle\n }}\n value={label}\n style={{\n position: 'fixed',\n pointerEvents: 'auto',\n top: 0,\n left: 0,\n minWidth: barWidth,\n transformOrigin: 'left',\n transform: `rotate(${rotate}deg)`\n }}\n onChange={onChange}\n onBlur={onChangeProp}\n />\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n barWidth: PropTypes.number,\n rotate: PropTypes.number,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string\n })\n};\n\nexport default withStyles(styles)(MarkLabel);\n"],"file":"mark-label.js"}
|
package/lib/utils.js
CHANGED
|
@@ -73,7 +73,7 @@ var getTickValues = function getTickValues() {
|
|
|
73
73
|
|
|
74
74
|
while (tickVal <= prop.max) {
|
|
75
75
|
tickValues.push(tickVal);
|
|
76
|
-
tickVal = Math.round((tickVal + prop.step) *
|
|
76
|
+
tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
return tickValues;
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils.js"],"names":["tickCount","utils","bounds","point","bandKey","d","index","label","dataToXBand","scaleX","data","width","type","rangeRound","domain","map","padding","range","getTickValues","prop","tickValues","tickVal","min","max","push","Math","round","step","getDomainAndRangeByChartType","chartType","labelStep","isNaN","intMin","intMax","getGridLinesAndAxisByChartType","verticalLines","undefined","horizontalLines","leftAxis","getRotateAngle","fontSize","height","getTopPadding","barWidth"],"mappings":";;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,SAAS,GAAGC,YAAMD,SAAxB;;AACA,IAAME,MAAM,GAAGD,YAAMC,MAArB;;AACA,IAAMC,KAAK,GAAGF,YAAME,KAApB;;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,CAAD,EAAIC,KAAJ;AAAA,mBAAiBA,KAAjB,cAA0BD,CAAC,CAACE,KAAF,IAAW,GAArC;AAAA,CAAhB;;;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAASC,IAAT,EAAeC,KAAf,EAAsBC,IAAtB,EAA+B;AACxD,UAAQA,IAAR;AACE,SAAK,KAAL;AACA,SAAK,SAAL;AACA,SAAK,UAAL;AACE,aAAO,sBAAU;AACfC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAIF,KAAJ,CADG;AAEfG,QAAAA,MAAM,EAAEJ,IAAI,IAAIA,IAAI,CAACK,GAAL,CAASX,OAAT,CAFD;AAGfY,QAAAA,OAAO,EAAE;AAHM,OAAV,CAAP;;AAKF,SAAK,WAAL;AACE,aAAO,sBAAU;AACfH,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAIF,KAAJ,CADG;AAEfG,QAAAA,MAAM,EAAEJ,IAAI,IAAIA,IAAI,CAACK,GAAL,CAASX,OAAT,CAFD;AAGfY,QAAAA,OAAO,EAAE;AAHM,OAAV,CAAP;;AAKF,SAAK,WAAL;AACA,SAAK,SAAL;AACE,aAAO,uBAAW;AAChBF,QAAAA,MAAM,EAAEJ,IAAI,IAAIA,IAAI,CAACK,GAAL,CAASX,OAAT,CADA;AAEhBS,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAIF,KAAJ;AAFI,OAAX,CAAP;;AAIF;AACE,aAAO,sBAAU;AACfM,QAAAA,KAAK,EAAE,CAAC,CAAD,EAAIN,KAAJ,CADQ;AAEfG,QAAAA,MAAM,EAAEJ,IAAI,IAAIA,IAAI,CAACK,GAAL,CAASX,OAAT,CAFD;AAGfY,QAAAA,OAAO,EAAE;AAHM,OAAV,CAAP;AAtBJ;AA4BD,CA7BM;;;;AA+BA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,GAAe;AAAA,MAAdC,IAAc,uEAAP,EAAO;AAC1C,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAIC,OAAO,GAAGF,IAAI,CAACG,GAAnB;;AAEA,SAAOD,OAAO,IAAIF,IAAI,CAACI,GAAvB,EAA4B;AAC1BH,IAAAA,UAAU,CAACI,IAAX,CAAgBH,OAAhB;AACAA,IAAAA,OAAO,GAAGI,IAAI,CAACC,KAAL,CAAW,CAACL,OAAO,GAAGF,IAAI,CAACQ,IAAhB,IAAwB,
|
|
1
|
+
{"version":3,"sources":["../src/utils.js"],"names":["tickCount","utils","bounds","point","bandKey","d","index","label","dataToXBand","scaleX","data","width","type","rangeRound","domain","map","padding","range","getTickValues","prop","tickValues","tickVal","min","max","push","Math","round","step","getDomainAndRangeByChartType","chartType","labelStep","isNaN","intMin","intMax","getGridLinesAndAxisByChartType","verticalLines","undefined","horizontalLines","leftAxis","getRotateAngle","fontSize","height","getTopPadding","barWidth"],"mappings":"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","sourcesContent":["import { scaleBand, scalePoint } from '@vx/scale';\nimport { utils } from '@pie-lib/plot';\n\nexport const tickCount = utils.tickCount;\nexport const bounds = utils.bounds;\nexport const point = utils.point;\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const dataToXBand = (scaleX, data, width, type) => {\n switch (type) {\n case 'bar':\n case 'dotPlot':\n case 'linePlot':\n return scaleBand({\n rangeRound: [0, width],\n domain: data && data.map(bandKey),\n padding: 0.2\n });\n case 'histogram':\n return scaleBand({\n rangeRound: [0, width],\n domain: data && data.map(bandKey),\n padding: 0\n });\n case 'lineCross':\n case 'lineDot':\n return scalePoint({\n domain: data && data.map(bandKey),\n rangeRound: [0, width]\n });\n default:\n return scaleBand({\n range: [0, width],\n domain: data && data.map(bandKey),\n padding: 0\n });\n }\n};\n\nexport const getTickValues = (prop = {}) => {\n const tickValues = [];\n let tickVal = prop.min;\n\n while (tickVal <= prop.max) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;\n }\n\n return tickValues;\n};\n\nexport const getDomainAndRangeByChartType = (domain, range, chartType) => {\n let { step, labelStep, min, max } = range || {};\n\n if (!min) {\n min = 0;\n }\n\n if (!max || max < 0) {\n max = range.min + 1;\n }\n\n if (!step) {\n step = labelStep || 1;\n }\n if (!labelStep || (isNaN(labelStep) && step)) {\n labelStep = step || 1;\n }\n\n range.max = max;\n\n switch (chartType) {\n // if chart is dot plot or line plot, we should ignore step and make sure that min & max are integer values\n case 'dotPlot':\n case 'linePlot': {\n const intMin = Math.round(min);\n const intMax = Math.round(max);\n\n return {\n domain: {\n ...domain,\n step: 1,\n labelStep: 1,\n min: 0,\n max: 1\n },\n range: {\n ...range,\n min: intMin,\n max: intMin === intMax ? intMin + 1 : intMax,\n labelStep,\n step: 1\n }\n };\n }\n default:\n return {\n domain: {\n ...domain,\n step: 1,\n labelStep: 1,\n min: 0,\n max: 1\n },\n range: {\n ...range,\n labelStep,\n step\n }\n };\n }\n};\n\nexport const getGridLinesAndAxisByChartType = (range, chartType) => {\n switch (chartType) {\n case 'lineDot':\n case 'lineCross':\n return {\n verticalLines: undefined,\n horizontalLines: getTickValues(range),\n leftAxis: true\n };\n case 'dotPlot':\n case 'linePlot':\n return {\n verticalLines: [],\n horizontalLines: [],\n leftAxis: false\n };\n default:\n return {\n verticalLines: [],\n horizontalLines: getTickValues(range),\n leftAxis: true\n };\n }\n};\n\nexport const getRotateAngle = (fontSize, height) => {\n if (height >= fontSize * 2) {\n return 25;\n }\n\n return 0;\n};\n\nexport const getTopPadding = barWidth => {\n if (barWidth < 30) {\n return 50;\n }\n\n if (barWidth < 40) {\n return 30;\n }\n\n if (barWidth < 60) {\n return 15;\n }\n\n return 0;\n};\n"],"file":"utils.js"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "5.1.
|
|
6
|
+
"version": "5.1.8",
|
|
7
7
|
"description": "charting",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": "^16.8.1"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "23a4e94c44536f8c0c74e7292a3991db587da760"
|
|
47
47
|
}
|
package/src/axes.jsx
CHANGED
|
@@ -243,6 +243,7 @@ export class TickComponent extends React.Component {
|
|
|
243
243
|
style={{ pointerEvents: 'visible', overflow: 'visible' }}
|
|
244
244
|
>
|
|
245
245
|
<Checkbox
|
|
246
|
+
style={{ position: 'fixed' }}
|
|
246
247
|
checked={interactive}
|
|
247
248
|
onChange={e => this.changeInteractive(index, e.target.checked)}
|
|
248
249
|
/>
|
|
@@ -257,6 +258,7 @@ export class TickComponent extends React.Component {
|
|
|
257
258
|
style={{ pointerEvents: 'visible', overflow: 'visible' }}
|
|
258
259
|
>
|
|
259
260
|
<Checkbox
|
|
261
|
+
style={{ position: 'fixed' }}
|
|
260
262
|
checked={editable}
|
|
261
263
|
onChange={e => this.changeEditable(index, e.target.checked)}
|
|
262
264
|
/>
|
package/src/mark-label.jsx
CHANGED
|
@@ -16,7 +16,10 @@ const styles = theme => ({
|
|
|
16
16
|
color: color.primaryDark(),
|
|
17
17
|
'&.correct': correct('color'),
|
|
18
18
|
'&.incorrect': incorrect('color'),
|
|
19
|
-
'&.disabled': {
|
|
19
|
+
'&.disabled': {
|
|
20
|
+
...disabled('color'),
|
|
21
|
+
backgroundColor: 'transparent !important'
|
|
22
|
+
}
|
|
20
23
|
}
|
|
21
24
|
});
|
|
22
25
|
|
|
@@ -72,7 +75,7 @@ export const MarkLabel = props => {
|
|
|
72
75
|
}}
|
|
73
76
|
value={label}
|
|
74
77
|
style={{
|
|
75
|
-
position: '
|
|
78
|
+
position: 'fixed',
|
|
76
79
|
pointerEvents: 'auto',
|
|
77
80
|
top: 0,
|
|
78
81
|
left: 0,
|
package/src/utils.js
CHANGED
|
@@ -44,7 +44,7 @@ export const getTickValues = (prop = {}) => {
|
|
|
44
44
|
|
|
45
45
|
while (tickVal <= prop.max) {
|
|
46
46
|
tickValues.push(tickVal);
|
|
47
|
-
tickVal = Math.round((tickVal + prop.step) *
|
|
47
|
+
tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
return tickValues;
|