@pie-lib/charting 4.5.11-next.605 → 4.5.11-next.617
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/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/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,"file":"axes.js","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","bandKey","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","getTickValues","step","labelStep","fontSize","typography","getRotateAngle","getTickLabelProps","dy","dx","toLocaleString","getTickComponent","properties","min","textAnchor","count","isRequired","types","GraphPropsType","bool","ChartAxes","withStyles","fontFamily","body1","fill","color","secondary","stroke","primaryDark","strokeWidth","primaryLight","opacity","withTheme"],"sources":["../src/axes.jsx"],"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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"axes.js","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","bandKey","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","getTickValues","step","labelStep","fontSize","typography","getRotateAngle","getTickLabelProps","dy","dx","toLocaleString","getTickComponent","properties","min","textAnchor","count","isRequired","types","GraphPropsType","bool","ChartAxes","withStyles","fontFamily","body1","fill","color","secondary","stroke","primaryDark","strokeWidth","primaryLight","opacity","withTheme"],"sources":["../src/axes.jsx"],"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"],"mappings":"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"}
|
package/lib/mark-label.js
CHANGED
package/lib/mark-label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mark-label.js","names":["styles","theme","input","fontFamily","typography","fontSize","border","color","primaryDark","correct","incorrect","disabled","backgroundColor","MarkLabel","props","useState","setInput","_ref","useCallback","node","mark","classes","externalInputRef","inputRef","barWidth","rotate","correctness","autoFocus","label","setLabel","onChange","e","target","value","onChangeProp","extraStyle","width","textAlign","useEffect","r","cn","minWidth","background","boxSizing","paddingLeft","paddingRight","position","pointerEvents","top","left","transformOrigin","transform","propTypes","PropTypes","bool","func","graphProps","types","GraphPropsType","object","number","shape","string","withStyles"],"sources":["../src/mark-label.jsx"],"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': {
|
|
1
|
+
{"version":3,"file":"mark-label.js","names":["styles","theme","input","fontFamily","typography","fontSize","border","color","primaryDark","correct","incorrect","disabled","backgroundColor","MarkLabel","props","useState","setInput","_ref","useCallback","node","mark","classes","externalInputRef","inputRef","barWidth","rotate","correctness","autoFocus","label","setLabel","onChange","e","target","value","onChangeProp","extraStyle","width","textAlign","useEffect","r","cn","minWidth","background","boxSizing","paddingLeft","paddingRight","position","pointerEvents","top","left","transformOrigin","transform","propTypes","PropTypes","bool","func","graphProps","types","GraphPropsType","object","number","shape","string","withStyles"],"sources":["../src/mark-label.jsx"],"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"],"mappings":"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"}
|
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,"file":"utils.js","names":["tickCount","utils","bounds","point","bandKey","d","index","label","dataToXBand","scaleX","data","width","type","scaleBand","rangeRound","domain","map","padding","scalePoint","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"],"sources":["../src/utils.js"],"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) *
|
|
1
|
+
{"version":3,"file":"utils.js","names":["tickCount","utils","bounds","point","bandKey","d","index","label","dataToXBand","scaleX","data","width","type","scaleBand","rangeRound","domain","map","padding","scalePoint","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"],"sources":["../src/utils.js"],"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"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "4.5.11-next.
|
|
6
|
+
"version": "4.5.11-next.617+5fdbd13e",
|
|
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": "5fdbd13ec3fea0d03e243124c43ff0189b7715ac"
|
|
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;
|