@pie-lib/graphing 2.4.3-next.462 → 2.4.3-next.473
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/axis/axes.js +4 -4
- package/lib/axis/axes.js.map +1 -1
- package/lib/graph-with-controls.js +33 -5
- package/lib/graph-with-controls.js.map +1 -1
- package/lib/graph.js +34 -7
- package/lib/graph.js.map +1 -1
- package/lib/grid-setup.js +16 -1
- package/lib/grid-setup.js.map +1 -1
- package/lib/labels.js +100 -23
- package/lib/labels.js.map +1 -1
- package/package.json +4 -4
- package/src/axis/axes.jsx +4 -4
- package/src/graph-with-controls.jsx +33 -5
- package/src/graph.jsx +40 -4
- package/src/grid-setup.jsx +14 -1
- package/src/labels.jsx +94 -21
package/lib/grid-setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-setup.js","names":["GridConfig","props","classes","disabled","displayedFields","labelValue","labelValues","gridValue","gridValues","onChange","labelStep","step","columnView","enabled","mediumTextField","label","e","v","AxisConfig","displayHeader","maxValue","minValue","type","axisLabel","min","max","activePlugins","value","GridSetup","domain","includeAxes","range","size","sizeConstraints","standardGrid","gridProps","dimensionsEnabled","includeAxesEnabled","standardGridEnabled","displayAxisType","gridConfigFields","axisConfigFields","onIncludeAxes","noAxesConfig","axis","updatedRange","updatedDomain","onStandardGridChanged","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","textField","propTypes","PropTypes","object","bool","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","paddingTop","withStyles"],"sources":["../src/grid-setup.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\nimport EditableHTML from '@pie-lib/editable-html';\n\nconst GridConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n labelValue,\n labelValues,\n gridValue,\n gridValues,\n onChange\n } = props;\n const { labelStep = {}, step = {} } = displayedFields;\n\n return (\n <div className={classes.columnView}>\n {step && step.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={step.label || ''}\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n )}\n {labelStep && labelStep.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={labelStep.label || ''}\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n )}\n </div>\n );\n};\n\nconst AxisConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n displayHeader,\n label,\n maxValue,\n minValue,\n onChange,\n type\n } = props;\n const { axisLabel = {}, min = {}, max = {} } = displayedFields;\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough'\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.columnView}>\n {displayHeader && (\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n )}\n {min && min.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={min.label || ''}\n value={minValue}\n min={-10000}\n max={maxValue - 0.01}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n )}\n {max && max.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={max.label || ''}\n value={maxValue}\n min={minValue + 0.01}\n max={10000}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n )}\n {axisLabel && axisLabel.enabled && (\n <InputContainer label={axisLabel.label || ''} className={classes.mediumTextField}>\n <EditableHTML\n className={classes.axisLabel}\n onChange={value => onChange('axisLabel', value)}\n markup={label || ''}\n charactersLimit={5}\n activePlugins={activePlugins}\n />\n </InputContainer>\n )}\n </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n domain,\n displayedFields = {},\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n range,\n size,\n sizeConstraints,\n standardGrid\n } = props;\n const gridProps = { min: 2, max: 41 };\n const {\n axisLabel = {},\n dimensionsEnabled,\n includeAxesEnabled,\n labelStep = {},\n min = {},\n max = {},\n standardGridEnabled,\n step = {}\n } = displayedFields || {};\n const displayAxisType =\n min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;\n const gridConfigFields = { step, labelStep };\n const axisConfigFields = { min, max, axisLabel };\n\n const onIncludeAxes = includeAxes => {\n const noAxesConfig = type => {\n const axis = type === 'domain' ? domain : range;\n\n return {\n min: 1,\n max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,\n step: 1,\n labelStep: 0\n };\n };\n\n const updatedRange = {\n ...range,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('range'))\n };\n const updatedDomain = {\n ...domain,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('domain'))\n };\n\n onChange({ includeAxes, range: updatedRange, domain: updatedDomain });\n };\n\n const onStandardGridChanged = value => {\n onChange({\n standardGrid: value,\n range: {\n ...domain,\n axisLabel: range.axisLabel\n },\n graph: {\n ...size,\n height: size.width\n }\n });\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n if (standardGrid) {\n graph.height = value;\n }\n\n onChange({ graph });\n };\n\n const onDomainChanged = (key, value) => {\n domain[key] = value;\n\n if (standardGrid && key !== 'axisLabel') {\n range[key] = value;\n }\n\n onChange({ domain, range });\n };\n\n const onRangeChanged = (key, value) => {\n range[key] = value;\n\n onChange({ range });\n };\n\n const axesConfig = (\n <React.Fragment>\n <div className={classes.rowView}>\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"domain\"\n minValue={domain.min}\n maxValue={domain.max}\n label={domain.axisLabel}\n includeAxes={includeAxes}\n onChange={onDomainChanged}\n />\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"range\"\n minValue={range.min}\n maxValue={range.max}\n label={range.axisLabel}\n disabled={standardGrid}\n includeAxes={includeAxes}\n onChange={onRangeChanged}\n />\n </div>\n {(min.enabled || max.enabled) && (\n <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max\n Value\n </Typography>\n )}\n {(step.enabled || labelStep.enabled) && (\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n displayedFields={gridConfigFields}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues.domain || []}\n labelValues={labelValues.domain || []}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n displayedFields={gridConfigFields}\n gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\n onChange={onRangeChanged}\n />\n </div>\n )}\n {labelStep.enabled && (\n <Typography className={classes.text}>\n For unnumbered gridlines, enter a label interval of 0\n </Typography>\n )}\n </React.Fragment>\n );\n\n const gridlinesConfig = max.enabled ? (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal Gridlines\"\n value={domain.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n onChange={(e, v) => onDomainChanged('max', v)}\n />\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Vertical Gridlines\"\n value={range.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n ) : null;\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n {includeAxesEnabled && (\n <Toggle\n label=\"Include axes and labels?\"\n toggle={onIncludeAxes}\n checked={includeAxes}\n />\n )}\n {standardGridEnabled && (\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n )}\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>\n Min {sizeConstraints.min}, Max {sizeConstraints.max}\n </Typography>\n </div>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Width\"\n value={size.width}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Height\"\n value={size.height}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n </div>\n )}\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n};\n\nGridSetup.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n displayedFields: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.function,\n range: PropTypes.object,\n size: PropTypes.object,\n sizeConstraints: PropTypes.object,\n standardGrid: PropTypes.bool\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center'\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n disabled: {\n color: color.disabled()\n },\n axisLabel: {\n paddingTop: theme.spacing.unit * 2\n }\n});\n\nexport default withStyles(styles)(GridSetup);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grid-setup.js","names":["GridConfig","props","classes","disabled","displayedFields","labelValue","labelValues","gridValue","gridValues","onChange","labelStep","step","columnView","enabled","mediumTextField","label","e","v","propTypes","PropTypes","object","bool","number","array","func","AxisConfig","displayHeader","maxValue","minValue","type","axisLabel","min","max","activePlugins","value","GridSetup","domain","includeAxes","onChangeView","range","size","sizeConstraints","standardGrid","gridProps","dimensionsEnabled","includeAxesEnabled","standardGridEnabled","displayAxisType","gridConfigFields","axisConfigFields","onIncludeAxes","noAxesConfig","axis","updatedRange","updatedDomain","onStandardGridChanged","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","textField","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","paddingTop","withStyles"],"sources":["../src/grid-setup.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\nimport EditableHTML from '@pie-lib/editable-html';\n\nconst GridConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n labelValue,\n labelValues,\n gridValue,\n gridValues,\n onChange\n } = props;\n const { labelStep = {}, step = {} } = displayedFields;\n\n return (\n <div className={classes.columnView}>\n {step && step.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={step.label || ''}\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n )}\n {labelStep && labelStep.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={labelStep.label || ''}\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n )}\n </div>\n );\n};\n\nGridConfig.propTypes = {\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n displayedFields: PropTypes.object,\n labelValue: PropTypes.number,\n labelValues: PropTypes.array,\n gridValue: PropTypes.number,\n gridValues: PropTypes.array,\n onChange: PropTypes.func\n};\n\nconst AxisConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n displayHeader,\n label,\n maxValue,\n minValue,\n onChange,\n type\n } = props;\n const { axisLabel = {}, min = {}, max = {} } = displayedFields;\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough'\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.columnView}>\n {displayHeader && (\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n )}\n {min && min.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={min.label || ''}\n value={minValue}\n min={-10000}\n max={maxValue - 0.01}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n )}\n {max && max.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={max.label || ''}\n value={maxValue}\n min={minValue + 0.01}\n max={10000}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n )}\n {axisLabel && axisLabel.enabled && (\n <InputContainer label={axisLabel.label || ''} className={classes.mediumTextField}>\n <EditableHTML\n className={classes.axisLabel}\n onChange={value => onChange('axisLabel', value)}\n markup={label || ''}\n charactersLimit={5}\n activePlugins={activePlugins}\n />\n </InputContainer>\n )}\n </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n domain,\n displayedFields = {},\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n onChangeView,\n range,\n size,\n sizeConstraints,\n standardGrid\n } = props;\n const gridProps = { min: 2, max: 41 };\n const {\n axisLabel = {},\n dimensionsEnabled,\n includeAxesEnabled,\n labelStep = {},\n min = {},\n max = {},\n standardGridEnabled,\n step = {}\n } = displayedFields || {};\n const displayAxisType =\n min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;\n const gridConfigFields = { step, labelStep };\n const axisConfigFields = { min, max, axisLabel };\n\n const onIncludeAxes = includeAxes => {\n const noAxesConfig = type => {\n const axis = type === 'domain' ? domain : range;\n\n return {\n min: 1,\n max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,\n step: 1,\n labelStep: 0\n };\n };\n\n const updatedRange = {\n ...range,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('range'))\n };\n const updatedDomain = {\n ...domain,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('domain'))\n };\n\n onChange({ includeAxes, range: updatedRange, domain: updatedDomain });\n };\n\n const onStandardGridChanged = value => {\n onChange({\n standardGrid: value,\n range: {\n ...domain,\n axisLabel: range.axisLabel\n },\n graph: {\n ...size,\n height: size.width\n }\n });\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n if (standardGrid) {\n graph.height = value;\n }\n\n onChange({ graph });\n };\n\n const onDomainChanged = (key, value) => {\n domain[key] = value;\n\n if (standardGrid && key !== 'axisLabel') {\n range[key] = value;\n }\n\n onChange({ domain, range });\n };\n\n const onRangeChanged = (key, value) => {\n range[key] = value;\n\n onChange({ range });\n };\n\n const axesConfig = (\n <React.Fragment>\n <div className={classes.rowView}>\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"domain\"\n minValue={domain.min}\n maxValue={domain.max}\n label={domain.axisLabel}\n includeAxes={includeAxes}\n onChange={onDomainChanged}\n />\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"range\"\n minValue={range.min}\n maxValue={range.max}\n label={range.axisLabel}\n disabled={standardGrid}\n includeAxes={includeAxes}\n onChange={onRangeChanged}\n />\n </div>\n {(min.enabled || max.enabled) && (\n <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max\n Value\n </Typography>\n )}\n {(step.enabled || labelStep.enabled) && (\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n displayedFields={gridConfigFields}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues.domain || []}\n labelValues={labelValues.domain || []}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n displayedFields={gridConfigFields}\n gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\n onChange={onRangeChanged}\n />\n </div>\n )}\n {labelStep.enabled && (\n <Typography className={classes.text}>\n For unnumbered gridlines, enter a label interval of 0\n </Typography>\n )}\n </React.Fragment>\n );\n\n const gridlinesConfig = max.enabled ? (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal Gridlines\"\n value={domain.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n onChange={(e, v) => onDomainChanged('max', v)}\n />\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Vertical Gridlines\"\n value={range.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n ) : null;\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel onChange={onChangeView}>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n {includeAxesEnabled && (\n <Toggle\n label=\"Include axes and labels?\"\n toggle={onIncludeAxes}\n checked={includeAxes}\n />\n )}\n {standardGridEnabled && (\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n )}\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>\n Min {sizeConstraints.min}, Max {sizeConstraints.max}\n </Typography>\n </div>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Width\"\n value={size.width}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Height\"\n value={size.height}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n </div>\n )}\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n};\n\nGridSetup.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n displayedFields: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.function,\n onChangeView: PropTypes.function,\n range: PropTypes.object,\n size: PropTypes.object,\n sizeConstraints: PropTypes.object,\n standardGrid: PropTypes.bool\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center'\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n disabled: {\n color: color.disabled()\n },\n axisLabel: {\n paddingTop: theme.spacing.unit * 2\n }\n});\n\nexport default withStyles(styles)(GridSetup);\n"],"mappings":"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"}
|
package/lib/labels.js
CHANGED
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.getTransform = exports["default"] = exports.Labels = exports.LabelType = void 0;
|
|
9
9
|
|
|
10
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
+
|
|
10
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
13
|
|
|
12
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -29,6 +31,14 @@ var _plot = require("@pie-lib/plot");
|
|
|
29
31
|
|
|
30
32
|
var _renderUi = require("@pie-lib/render-ui");
|
|
31
33
|
|
|
34
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
35
|
+
|
|
36
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
37
|
+
|
|
38
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
39
|
+
|
|
40
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
41
|
+
|
|
32
42
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
33
43
|
|
|
34
44
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -70,13 +80,13 @@ var getY = function getY(side, height) {
|
|
|
70
80
|
return -height;
|
|
71
81
|
|
|
72
82
|
case 'top':
|
|
73
|
-
return -height
|
|
83
|
+
return -height;
|
|
74
84
|
|
|
75
85
|
case 'right':
|
|
76
|
-
return -height
|
|
86
|
+
return -height - 10;
|
|
77
87
|
|
|
78
88
|
default:
|
|
79
|
-
return
|
|
89
|
+
return -height + 10;
|
|
80
90
|
}
|
|
81
91
|
};
|
|
82
92
|
|
|
@@ -93,11 +103,16 @@ var RawLabel = /*#__PURE__*/function (_React$Component) {
|
|
|
93
103
|
(0, _createClass2["default"])(RawLabel, [{
|
|
94
104
|
key: "render",
|
|
95
105
|
value: function render() {
|
|
106
|
+
var _cn;
|
|
107
|
+
|
|
96
108
|
var _this$props = this.props,
|
|
109
|
+
disabledLabel = _this$props.disabledLabel,
|
|
110
|
+
placeholder = _this$props.placeholder,
|
|
97
111
|
text = _this$props.text,
|
|
98
112
|
side = _this$props.side,
|
|
99
113
|
graphProps = _this$props.graphProps,
|
|
100
|
-
classes = _this$props.classes
|
|
114
|
+
classes = _this$props.classes,
|
|
115
|
+
onChange = _this$props.onChange;
|
|
101
116
|
var size = graphProps.size,
|
|
102
117
|
domain = graphProps.domain,
|
|
103
118
|
range = graphProps.range;
|
|
@@ -107,20 +122,28 @@ var RawLabel = /*#__PURE__*/function (_React$Component) {
|
|
|
107
122
|
var width = side === 'left' || side === 'right' ? totalHeight : totalWidth;
|
|
108
123
|
var height = 36;
|
|
109
124
|
var y = getY(side, height);
|
|
125
|
+
var finalHeight = side === 'bottom' ? height + 22 : height + 18;
|
|
126
|
+
var activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math' // 'languageCharacters'
|
|
127
|
+
];
|
|
110
128
|
return /*#__PURE__*/_react["default"].createElement("foreignObject", {
|
|
111
129
|
x: -(width / 2),
|
|
112
130
|
y: y,
|
|
113
131
|
width: width,
|
|
114
|
-
height:
|
|
132
|
+
height: finalHeight,
|
|
115
133
|
transform: transform,
|
|
116
134
|
textAnchor: "middle"
|
|
117
135
|
}, /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
|
|
118
136
|
"false": true
|
|
119
|
-
}, /*#__PURE__*/_react["default"].createElement("
|
|
120
|
-
|
|
121
|
-
|
|
137
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
138
|
+
className: (0, _classnames["default"])((_cn = {}, (0, _defineProperty2["default"])(_cn, classes.bottomLabel, side === 'bottom'), (0, _defineProperty2["default"])(_cn, classes.disabledAxisLabel, disabledLabel), _cn), classes.axisLabel),
|
|
139
|
+
markup: text || '',
|
|
140
|
+
onChange: onChange,
|
|
141
|
+
placeholder: !disabledLabel && placeholder,
|
|
142
|
+
toolbarOpts: {
|
|
143
|
+
position: side === 'bottom' ? 'top' : 'bottom',
|
|
144
|
+
noBorder: true
|
|
122
145
|
},
|
|
123
|
-
|
|
146
|
+
activePlugins: activePlugins
|
|
124
147
|
})));
|
|
125
148
|
}
|
|
126
149
|
}]);
|
|
@@ -131,6 +154,8 @@ var RawLabel = /*#__PURE__*/function (_React$Component) {
|
|
|
131
154
|
text: _propTypes["default"].string,
|
|
132
155
|
side: _propTypes["default"].string,
|
|
133
156
|
classes: _propTypes["default"].object,
|
|
157
|
+
disabledLabel: _propTypes["default"].bool,
|
|
158
|
+
placeholder: _propTypes["default"].string,
|
|
134
159
|
graphProps: _plot.types.GraphPropsType.isRequired
|
|
135
160
|
});
|
|
136
161
|
var Label = (0, _styles.withStyles)(function (theme) {
|
|
@@ -139,8 +164,15 @@ var Label = (0, _styles.withStyles)(function (theme) {
|
|
|
139
164
|
fill: _renderUi.color.secondary()
|
|
140
165
|
},
|
|
141
166
|
axisLabel: {
|
|
142
|
-
fontSize: theme.typography.fontSize,
|
|
143
|
-
textAlign: 'center'
|
|
167
|
+
fontSize: theme.typography.fontSize - 2,
|
|
168
|
+
textAlign: 'center',
|
|
169
|
+
padding: '0 4px'
|
|
170
|
+
},
|
|
171
|
+
disabledAxisLabel: {
|
|
172
|
+
pointerEvents: 'none'
|
|
173
|
+
},
|
|
174
|
+
bottomLabel: {
|
|
175
|
+
marginTop: '44px'
|
|
144
176
|
}
|
|
145
177
|
};
|
|
146
178
|
})(RawLabel);
|
|
@@ -158,36 +190,79 @@ var Labels = /*#__PURE__*/function (_React$Component2) {
|
|
|
158
190
|
var _super2 = _createSuper(Labels);
|
|
159
191
|
|
|
160
192
|
function Labels() {
|
|
193
|
+
var _this;
|
|
194
|
+
|
|
161
195
|
(0, _classCallCheck2["default"])(this, Labels);
|
|
162
|
-
|
|
196
|
+
|
|
197
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
198
|
+
args[_key] = arguments[_key];
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
_this = _super2.call.apply(_super2, [this].concat(args));
|
|
202
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeLabel", function (newValue, side) {
|
|
203
|
+
var _this$props2 = _this.props,
|
|
204
|
+
value = _this$props2.value,
|
|
205
|
+
onChange = _this$props2.onChange;
|
|
206
|
+
|
|
207
|
+
var labels = _objectSpread(_objectSpread({}, value), {}, (0, _defineProperty2["default"])({}, side, newValue));
|
|
208
|
+
|
|
209
|
+
onChange(labels);
|
|
210
|
+
});
|
|
211
|
+
return _this;
|
|
163
212
|
}
|
|
164
213
|
|
|
165
214
|
(0, _createClass2["default"])(Labels, [{
|
|
166
215
|
key: "render",
|
|
167
216
|
value: function render() {
|
|
168
|
-
var
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
217
|
+
var _this2 = this;
|
|
218
|
+
|
|
219
|
+
var _this$props3 = this.props,
|
|
220
|
+
disabledLabels = _this$props3.disabledLabels,
|
|
221
|
+
_this$props3$placehol = _this$props3.placeholders,
|
|
222
|
+
placeholders = _this$props3$placehol === void 0 ? {} : _this$props3$placehol,
|
|
223
|
+
_this$props3$value = _this$props3.value,
|
|
224
|
+
value = _this$props3$value === void 0 ? {} : _this$props3$value,
|
|
225
|
+
graphProps = _this$props3.graphProps;
|
|
226
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
172
227
|
key: "left",
|
|
173
228
|
side: "left",
|
|
174
229
|
text: value.left,
|
|
175
|
-
|
|
176
|
-
|
|
230
|
+
disabledLabel: disabledLabels,
|
|
231
|
+
placeholder: placeholders.left,
|
|
232
|
+
graphProps: graphProps,
|
|
233
|
+
onChange: function onChange(value) {
|
|
234
|
+
return _this2.onChangeLabel(value, 'left');
|
|
235
|
+
}
|
|
236
|
+
}), /*#__PURE__*/_react["default"].createElement(Label, {
|
|
177
237
|
key: "top",
|
|
178
238
|
side: "top",
|
|
179
239
|
text: value.top,
|
|
180
|
-
|
|
181
|
-
|
|
240
|
+
disabledLabel: disabledLabels,
|
|
241
|
+
placeholder: placeholders.top,
|
|
242
|
+
graphProps: graphProps,
|
|
243
|
+
onChange: function onChange(value) {
|
|
244
|
+
return _this2.onChangeLabel(value, 'top');
|
|
245
|
+
}
|
|
246
|
+
}), /*#__PURE__*/_react["default"].createElement(Label, {
|
|
182
247
|
key: "bottom",
|
|
183
248
|
side: "bottom",
|
|
184
249
|
text: value.bottom,
|
|
185
|
-
|
|
186
|
-
|
|
250
|
+
disabledLabel: disabledLabels,
|
|
251
|
+
placeholder: placeholders.bottom,
|
|
252
|
+
graphProps: graphProps,
|
|
253
|
+
onChange: function onChange(value) {
|
|
254
|
+
return _this2.onChangeLabel(value, 'bottom');
|
|
255
|
+
}
|
|
256
|
+
}), /*#__PURE__*/_react["default"].createElement(Label, {
|
|
187
257
|
key: "right",
|
|
188
258
|
side: "right",
|
|
189
259
|
text: value.right,
|
|
190
|
-
|
|
260
|
+
disabledLabel: disabledLabels,
|
|
261
|
+
placeholder: placeholders.right,
|
|
262
|
+
graphProps: graphProps,
|
|
263
|
+
onChange: function onChange(value) {
|
|
264
|
+
return _this2.onChangeLabel(value, 'right');
|
|
265
|
+
}
|
|
191
266
|
}));
|
|
192
267
|
}
|
|
193
268
|
}]);
|
|
@@ -198,6 +273,8 @@ exports.Labels = Labels;
|
|
|
198
273
|
(0, _defineProperty2["default"])(Labels, "propTypes", {
|
|
199
274
|
classes: _propTypes["default"].object,
|
|
200
275
|
className: _propTypes["default"].string,
|
|
276
|
+
disabledLabels: _propTypes["default"].bool,
|
|
277
|
+
placeholders: _propTypes["default"].object,
|
|
201
278
|
value: _propTypes["default"].shape(LabelType),
|
|
202
279
|
graphProps: _propTypes["default"].object
|
|
203
280
|
});
|
package/lib/labels.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","names":["rotations","left","top","bottom","right","getTransform","side","width","height","t","x","y","rotate","getY","RawLabel","props","text","graphProps","classes","size","domain","range","totalHeight","padding","totalWidth","transform","__html","axisLabel","React","Component","PropTypes","string","object","types","GraphPropsType","isRequired","Label","withStyles","theme","label","fill","color","secondary","fontSize","typography","textAlign","LabelType","Labels","value","className","shape"],"sources":["../src/labels.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, Readable } from '@pie-lib/render-ui';\n\nconst rotations = {\n left: -90,\n top: 0,\n bottom: 0,\n right: 90\n};\n\nexport const getTransform = (side, width, height) => {\n const t = (x, y, rotate) => `translate(${x}, ${y}), rotate(${rotate})`;\n\n if (side === 'left') {\n return t(-20, height / 2, rotations[side]);\n }\n if (side === 'right') {\n return t(width + 30, height / 2, rotations[side]);\n }\n if (side === 'top') {\n return t(width / 2, -20, rotations[side]);\n }\n if (side === 'bottom') {\n return t(width / 2, height + 30, rotations[side]);\n }\n};\n\nconst getY = (side, height) => {\n switch (side) {\n case 'left':\n return -height;\n case 'top':\n return -height + 10;\n case 'right':\n return -height + 10;\n default:\n return 0;\n }\n};\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const { text, side, graphProps, classes } = this.props;\n const { size, domain, range } = graphProps;\n const totalHeight = (size.height || 500) + (range.padding || 0) * 2;\n const totalWidth = (size.width || 500) + (domain.padding || 0) * 2;\n\n const transform = getTransform(side, totalWidth, totalHeight);\n const width = side === 'left' || side === 'right' ? totalHeight : totalWidth;\n const height = 36;\n const y = getY(side, height);\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={height}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <div dangerouslySetInnerHTML={{ __html: text }} className={classes.axisLabel} />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize,\n textAlign: 'center'\n }\n}))(RawLabel);\n\nexport const LabelType = {\n left: PropTypes.string,\n top: PropTypes.string,\n bottom: PropTypes.string,\n right: PropTypes.string\n};\n\nexport class Labels extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object\n };\n\n static defaultProps = {};\n\n render() {\n const { value, graphProps } = this.props;\n\n return (\n <React.Fragment>\n {value && value.left && (\n <Label key=\"left\" side=\"left\" text={value.left} graphProps={graphProps} />\n )}\n {value && value.top && (\n <Label key=\"top\" side=\"top\" text={value.top} graphProps={graphProps} />\n )}\n {value && value.bottom && (\n <Label key=\"bottom\" side=\"bottom\" text={value.bottom} graphProps={graphProps} />\n )}\n {value && value.right && (\n <Label key=\"right\" side=\"right\" text={value.right} graphProps={graphProps} />\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"labels.js","names":["rotations","left","top","bottom","right","getTransform","side","width","height","t","x","y","rotate","getY","RawLabel","props","disabledLabel","placeholder","text","graphProps","classes","onChange","size","domain","range","totalHeight","padding","totalWidth","transform","finalHeight","activePlugins","cn","bottomLabel","disabledAxisLabel","axisLabel","position","noBorder","React","Component","PropTypes","string","object","bool","types","GraphPropsType","isRequired","Label","withStyles","theme","label","fill","color","secondary","fontSize","typography","textAlign","pointerEvents","marginTop","LabelType","Labels","newValue","value","labels","disabledLabels","placeholders","onChangeLabel","className","shape"],"sources":["../src/labels.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, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport cn from 'classnames';\n\nconst rotations = {\n left: -90,\n top: 0,\n bottom: 0,\n right: 90\n};\n\nexport const getTransform = (side, width, height) => {\n const t = (x, y, rotate) => `translate(${x}, ${y}), rotate(${rotate})`;\n\n if (side === 'left') {\n return t(-20, height / 2, rotations[side]);\n }\n if (side === 'right') {\n return t(width + 30, height / 2, rotations[side]);\n }\n if (side === 'top') {\n return t(width / 2, -20, rotations[side]);\n }\n if (side === 'bottom') {\n return t(width / 2, height + 30, rotations[side]);\n }\n};\n\nconst getY = (side, height) => {\n switch (side) {\n case 'left':\n return -height;\n case 'top':\n return -height;\n case 'right':\n return -height - 10;\n default:\n return -height + 10;\n }\n};\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n classes: PropTypes.object,\n disabledLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const { disabledLabel, placeholder, text, side, graphProps, classes, onChange } = this.props;\n const { size, domain, range } = graphProps;\n const totalHeight = (size.height || 500) + (range.padding || 0) * 2;\n const totalWidth = (size.width || 500) + (domain.padding || 0) * 2;\n\n const transform = getTransform(side, totalWidth, totalHeight);\n const width = side === 'left' || side === 'right' ? totalHeight : totalWidth;\n const height = 36;\n const y = getY(side, height);\n const finalHeight = side === 'bottom' ? height + 22 : height + 18;\n\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math'\n // 'languageCharacters'\n ];\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={finalHeight}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <EditableHtml\n className={cn(\n {\n [classes.bottomLabel]: side === 'bottom',\n [classes.disabledAxisLabel]: disabledLabel\n },\n classes.axisLabel\n )}\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noBorder: true\n }}\n activePlugins={activePlugins}\n />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize - 2,\n textAlign: 'center',\n padding: '0 4px'\n },\n disabledAxisLabel: {\n pointerEvents: 'none'\n },\n bottomLabel: {\n marginTop: '44px'\n }\n}))(RawLabel);\n\nexport const LabelType = {\n left: PropTypes.string,\n top: PropTypes.string,\n bottom: PropTypes.string,\n right: PropTypes.string\n};\n\nexport class Labels extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabledLabels: PropTypes.bool,\n placeholders: PropTypes.object,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object\n };\n\n static defaultProps = {};\n\n onChangeLabel = (newValue, side) => {\n const { value, onChange } = this.props;\n const labels = {\n ...value,\n [side]: newValue\n };\n\n onChange(labels);\n };\n\n render() {\n const { disabledLabels, placeholders = {}, value = {}, graphProps } = this.props;\n\n return (\n <React.Fragment>\n <Label\n key=\"left\"\n side=\"left\"\n text={value.left}\n disabledLabel={disabledLabels}\n placeholder={placeholders.left}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'left')}\n />\n <Label\n key=\"top\"\n side=\"top\"\n text={value.top}\n disabledLabel={disabledLabels}\n placeholder={placeholders.top}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'top')}\n />\n <Label\n key=\"bottom\"\n side=\"bottom\"\n text={value.bottom}\n disabledLabel={disabledLabels}\n placeholder={placeholders.bottom}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'bottom')}\n />\n <Label\n key=\"right\"\n side=\"right\"\n text={value.right}\n disabledLabel={disabledLabels}\n placeholder={placeholders.right}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'right')}\n />\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\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": "2.4.3-next.
|
|
6
|
+
"version": "2.4.3-next.473+7bad91a1",
|
|
7
7
|
"description": "Graphing components",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"@material-ui/core": "^3.8.3",
|
|
21
21
|
"@pie-lib/drag": "^1.1.52",
|
|
22
22
|
"@pie-lib/graphing-utils": "^1.1.20",
|
|
23
|
-
"@pie-lib/plot": "^2.
|
|
24
|
-
"@pie-lib/render-ui": "^4.
|
|
23
|
+
"@pie-lib/plot": "^2.1.10-next.548+7bad91a1",
|
|
24
|
+
"@pie-lib/render-ui": "^4.13.1",
|
|
25
25
|
"@vx/axis": "^0.0.189",
|
|
26
26
|
"@vx/clip-path": "^0.0.189",
|
|
27
27
|
"@vx/event": "^0.0.189",
|
|
@@ -44,6 +44,6 @@
|
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"react": "^16.8.1"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "7bad91a13c9cc4987abe66c2b7484af9b9580cac",
|
|
48
48
|
"scripts": {}
|
|
49
49
|
}
|
package/src/axis/axes.jsx
CHANGED
|
@@ -123,7 +123,7 @@ export class RawXAxis extends React.Component {
|
|
|
123
123
|
|
|
124
124
|
const necessaryRows = countWords(domain.axisLabel);
|
|
125
125
|
const longestWord = findLongestWord(domain.axisLabel);
|
|
126
|
-
const necessaryWidth = amountToIncreaseWidth(longestWord);
|
|
126
|
+
const necessaryWidth = amountToIncreaseWidth(longestWord) + 2;
|
|
127
127
|
|
|
128
128
|
return (
|
|
129
129
|
<React.Fragment>
|
|
@@ -147,8 +147,8 @@ export class RawXAxis extends React.Component {
|
|
|
147
147
|
)}
|
|
148
148
|
{domain.axisLabel && (
|
|
149
149
|
<foreignObject
|
|
150
|
-
x={size.width +
|
|
151
|
-
y={scale.y(0) -
|
|
150
|
+
x={size.width + 17}
|
|
151
|
+
y={scale.y(0) - 9}
|
|
152
152
|
width={necessaryWidth}
|
|
153
153
|
height={20 * necessaryRows}
|
|
154
154
|
>
|
|
@@ -219,7 +219,7 @@ export class RawYAxis extends React.Component {
|
|
|
219
219
|
{range.axisLabel && (
|
|
220
220
|
<foreignObject
|
|
221
221
|
x={scale.x(0) - necessaryWidth / 2}
|
|
222
|
-
y={-
|
|
222
|
+
y={-33}
|
|
223
223
|
width={necessaryWidth}
|
|
224
224
|
height="20"
|
|
225
225
|
>
|
|
@@ -72,6 +72,10 @@ export class GraphWithControls extends React.Component {
|
|
|
72
72
|
static defaultProps = {
|
|
73
73
|
collapsibleToolbar: false,
|
|
74
74
|
collapsibleToolbarTitle: '',
|
|
75
|
+
disabledLabels: false,
|
|
76
|
+
disabledTitle: false,
|
|
77
|
+
showLabels: true,
|
|
78
|
+
showTitle: true,
|
|
75
79
|
toolbarTools: []
|
|
76
80
|
};
|
|
77
81
|
|
|
@@ -109,17 +113,26 @@ export class GraphWithControls extends React.Component {
|
|
|
109
113
|
collapsibleToolbar,
|
|
110
114
|
collapsibleToolbarTitle,
|
|
111
115
|
disabled,
|
|
116
|
+
disabledLabels,
|
|
117
|
+
disabledTitle,
|
|
112
118
|
domain,
|
|
113
119
|
draggableTools,
|
|
114
120
|
labels,
|
|
121
|
+
labelsPlaceholders,
|
|
122
|
+
onChangeLabels,
|
|
115
123
|
onChangeMarks,
|
|
124
|
+
onChangeTitle,
|
|
116
125
|
onChangeTools,
|
|
117
126
|
onUndo,
|
|
118
127
|
onRedo,
|
|
119
128
|
onReset,
|
|
120
129
|
range,
|
|
121
130
|
size,
|
|
122
|
-
|
|
131
|
+
showLabels,
|
|
132
|
+
showPixelGuides,
|
|
133
|
+
showTitle,
|
|
134
|
+
title,
|
|
135
|
+
titlePlaceholder
|
|
123
136
|
} = this.props;
|
|
124
137
|
let { backgroundMarks, marks, toolbarTools } = this.props;
|
|
125
138
|
|
|
@@ -175,14 +188,23 @@ export class GraphWithControls extends React.Component {
|
|
|
175
188
|
backgroundMarks={backgroundMarks}
|
|
176
189
|
coordinatesOnHover={coordinatesOnHover}
|
|
177
190
|
currentTool={currentTool}
|
|
191
|
+
disabledLabels={disabledLabels}
|
|
192
|
+
disabledTitle={disabledTitle}
|
|
178
193
|
domain={domain}
|
|
179
194
|
labels={labels}
|
|
180
195
|
labelModeEnabled={labelModeEnabled}
|
|
196
|
+
labelsPlaceholders={labelsPlaceholders}
|
|
181
197
|
marks={marks}
|
|
182
198
|
onChangeMarks={!disabled ? onChangeMarks : undefined}
|
|
199
|
+
onChangeLabels={onChangeLabels}
|
|
200
|
+
onChangeTitle={onChangeTitle}
|
|
183
201
|
range={range}
|
|
184
202
|
size={size}
|
|
203
|
+
showLabels={showLabels}
|
|
204
|
+
showPixelGuides={showPixelGuides}
|
|
205
|
+
showTitle={showTitle}
|
|
185
206
|
title={title}
|
|
207
|
+
titlePlaceholder={titlePlaceholder}
|
|
186
208
|
tools={tools}
|
|
187
209
|
/>
|
|
188
210
|
</div>
|
|
@@ -191,9 +213,12 @@ export class GraphWithControls extends React.Component {
|
|
|
191
213
|
}
|
|
192
214
|
|
|
193
215
|
const styles = theme => ({
|
|
194
|
-
graphWithControls: {
|
|
216
|
+
graphWithControls: {
|
|
217
|
+
display: 'flex',
|
|
218
|
+
flexDirection: 'column',
|
|
219
|
+
width: 'min-content'
|
|
220
|
+
},
|
|
195
221
|
controls: {
|
|
196
|
-
width: 'inherit',
|
|
197
222
|
display: 'flex',
|
|
198
223
|
justifyContent: 'space-between',
|
|
199
224
|
padding: theme.spacing.unit,
|
|
@@ -208,7 +233,8 @@ const styles = theme => ({
|
|
|
208
233
|
}
|
|
209
234
|
},
|
|
210
235
|
expansionPanel: {
|
|
211
|
-
backgroundColor: color.primaryLight()
|
|
236
|
+
backgroundColor: color.primaryLight(),
|
|
237
|
+
width: '100%'
|
|
212
238
|
},
|
|
213
239
|
summaryRoot: {
|
|
214
240
|
padding: `0 ${theme.spacing.unit}px`,
|
|
@@ -219,7 +245,9 @@ const styles = theme => ({
|
|
|
219
245
|
},
|
|
220
246
|
details: {
|
|
221
247
|
padding: 0,
|
|
222
|
-
marginTop: theme.spacing.unit
|
|
248
|
+
marginTop: theme.spacing.unit,
|
|
249
|
+
display: 'flex',
|
|
250
|
+
justifyContent: 'space-between'
|
|
223
251
|
}
|
|
224
252
|
});
|
|
225
253
|
|
package/src/graph.jsx
CHANGED
|
@@ -20,17 +20,24 @@ export const graphPropTypes = {
|
|
|
20
20
|
className: PropTypes.string,
|
|
21
21
|
collapsibleToolbar: PropTypes.bool,
|
|
22
22
|
collapsibleToolbarTitle: PropTypes.string,
|
|
23
|
+
disabledLabels: PropTypes.bool,
|
|
24
|
+
disabledTitle: PropTypes.bool,
|
|
23
25
|
domain: types.DomainType,
|
|
24
26
|
labels: PropTypes.shape(LabelType),
|
|
25
27
|
labelModeEnabled: PropTypes.bool,
|
|
26
28
|
coordinatesOnHover: PropTypes.bool,
|
|
27
29
|
marks: PropTypes.array,
|
|
30
|
+
onChangeLabels: PropTypes.func,
|
|
28
31
|
onChangeMarks: PropTypes.func,
|
|
32
|
+
onChangeTitle: PropTypes.func,
|
|
29
33
|
range: types.DomainType,
|
|
30
34
|
size: PropTypes.shape({
|
|
31
35
|
width: PropTypes.number.isRequired,
|
|
32
36
|
height: PropTypes.number.isRequired
|
|
33
37
|
}),
|
|
38
|
+
showLabels: PropTypes.bool,
|
|
39
|
+
showPixelGuides: PropTypes.bool,
|
|
40
|
+
showTitle: PropTypes.bool,
|
|
34
41
|
title: PropTypes.string,
|
|
35
42
|
tools: PropTypes.array
|
|
36
43
|
};
|
|
@@ -64,7 +71,9 @@ export class Graph extends React.Component {
|
|
|
64
71
|
};
|
|
65
72
|
|
|
66
73
|
static defaultProps = {
|
|
67
|
-
onChangeMarks: () => {}
|
|
74
|
+
onChangeMarks: () => {},
|
|
75
|
+
disabledLabels: false,
|
|
76
|
+
disabledTitle: false
|
|
68
77
|
};
|
|
69
78
|
|
|
70
79
|
state = {};
|
|
@@ -151,12 +160,21 @@ export class Graph extends React.Component {
|
|
|
151
160
|
currentTool,
|
|
152
161
|
coordinatesOnHover,
|
|
153
162
|
size,
|
|
163
|
+
disabledLabels,
|
|
164
|
+
disabledTitle,
|
|
154
165
|
domain,
|
|
155
166
|
backgroundMarks,
|
|
156
167
|
range,
|
|
157
168
|
title,
|
|
158
169
|
labels,
|
|
159
|
-
labelModeEnabled
|
|
170
|
+
labelModeEnabled,
|
|
171
|
+
labelsPlaceholders,
|
|
172
|
+
showLabels,
|
|
173
|
+
showPixelGuides,
|
|
174
|
+
showTitle,
|
|
175
|
+
titlePlaceholder,
|
|
176
|
+
onChangeLabels,
|
|
177
|
+
onChangeTitle
|
|
160
178
|
} = this.props;
|
|
161
179
|
let { marks } = this.props;
|
|
162
180
|
|
|
@@ -167,8 +185,17 @@ export class Graph extends React.Component {
|
|
|
167
185
|
marks = removeBuildingToolIfCurrentToolDiffers({ marks: marks || [], currentTool });
|
|
168
186
|
|
|
169
187
|
return (
|
|
170
|
-
<Root
|
|
171
|
-
|
|
188
|
+
<Root
|
|
189
|
+
rootRef={r => (this.rootNode = r)}
|
|
190
|
+
disabledTitle={disabledTitle}
|
|
191
|
+
showPixelGuides={showPixelGuides}
|
|
192
|
+
showLabels={showLabels}
|
|
193
|
+
showTitle={showTitle}
|
|
194
|
+
title={title}
|
|
195
|
+
titlePlaceholder={titlePlaceholder}
|
|
196
|
+
onChangeTitle={onChangeTitle}
|
|
197
|
+
{...common}
|
|
198
|
+
>
|
|
172
199
|
<g transform={`translate(${domain.padding}, ${range.padding})`}>
|
|
173
200
|
<Grid {...common} />
|
|
174
201
|
<Axes {...axesSettings} {...common} />
|
|
@@ -222,6 +249,15 @@ export class Graph extends React.Component {
|
|
|
222
249
|
/>
|
|
223
250
|
</g>
|
|
224
251
|
</g>
|
|
252
|
+
{showLabels && (
|
|
253
|
+
<Labels
|
|
254
|
+
disabledLabels={disabledLabels}
|
|
255
|
+
placeholders={labelsPlaceholders}
|
|
256
|
+
value={labels}
|
|
257
|
+
onChange={onChangeLabels}
|
|
258
|
+
{...common}
|
|
259
|
+
/>
|
|
260
|
+
)}
|
|
225
261
|
</Root>
|
|
226
262
|
);
|
|
227
263
|
}
|