@pie-lib/plot 3.2.0-next.9 → 4.0.0
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 +125 -0
- package/lib/grid-draggable.js +62 -22
- package/lib/grid-draggable.js.map +1 -1
- package/lib/label.js +28 -5
- package/lib/label.js.map +1 -1
- package/lib/root.js +28 -8
- package/lib/root.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/grid-draggable.test.jsx +29 -21
- package/src/grid-draggable.jsx +54 -16
- package/src/label.jsx +35 -3
- package/src/root.jsx +23 -0
package/lib/root.js
CHANGED
|
@@ -25,10 +25,18 @@ var _utils = require("./utils");
|
|
|
25
25
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
26
26
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
27
27
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
28
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
29
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
30
28
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
31
29
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
30
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
31
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
32
|
+
var centerPlaceholder = {
|
|
33
|
+
'& .ProseMirror p.is-editor-empty::before, & .ProseMirror div.is-editor-empty::before': {
|
|
34
|
+
left: 0,
|
|
35
|
+
right: 0,
|
|
36
|
+
width: '100%',
|
|
37
|
+
textAlign: 'center'
|
|
38
|
+
}
|
|
39
|
+
};
|
|
32
40
|
var StyledRoot = (0, _styles.styled)('div')(function (_ref) {
|
|
33
41
|
var theme = _ref.theme;
|
|
34
42
|
return {
|
|
@@ -46,10 +54,12 @@ var Wrapper = (0, _styles.styled)('div')({
|
|
|
46
54
|
});
|
|
47
55
|
var DefineChartSvg = (0, _styles.styled)('svg')({
|
|
48
56
|
paddingLeft: '50px',
|
|
49
|
-
overflow: 'visible'
|
|
57
|
+
overflow: 'visible',
|
|
58
|
+
boxSizing: 'content-box'
|
|
50
59
|
});
|
|
51
60
|
var ChartSvg = (0, _styles.styled)('svg')({
|
|
52
|
-
overflow: 'visible'
|
|
61
|
+
overflow: 'visible',
|
|
62
|
+
boxSizing: 'content-box'
|
|
53
63
|
});
|
|
54
64
|
var GraphBox = (0, _styles.styled)('g')({
|
|
55
65
|
cursor: 'pointer',
|
|
@@ -57,7 +67,7 @@ var GraphBox = (0, _styles.styled)('g')({
|
|
|
57
67
|
});
|
|
58
68
|
var GraphTitle = (0, _styles.styled)('div')(function (_ref2) {
|
|
59
69
|
var theme = _ref2.theme;
|
|
60
|
-
return {
|
|
70
|
+
return _objectSpread({
|
|
61
71
|
color: _renderUi.color.defaults.TEXT,
|
|
62
72
|
fontSize: theme.typography.fontSize + 2,
|
|
63
73
|
padding: "".concat(theme.spacing(1.5), " ").concat(theme.spacing(0.5), " 0"),
|
|
@@ -67,12 +77,15 @@ var GraphTitle = (0, _styles.styled)('div')(function (_ref2) {
|
|
|
67
77
|
},
|
|
68
78
|
'&.rightMargin': {
|
|
69
79
|
marginRight: '74px'
|
|
80
|
+
},
|
|
81
|
+
'& p': {
|
|
82
|
+
margin: 0
|
|
70
83
|
}
|
|
71
|
-
};
|
|
84
|
+
}, centerPlaceholder);
|
|
72
85
|
});
|
|
73
86
|
var ChartTitle = (0, _styles.styled)('div')(function (_ref3) {
|
|
74
87
|
var theme = _ref3.theme;
|
|
75
|
-
return {
|
|
88
|
+
return _objectSpread({
|
|
76
89
|
color: _renderUi.color.defaults.TEXT,
|
|
77
90
|
fontSize: theme.typography.fontSize + 4,
|
|
78
91
|
padding: "".concat(theme.spacing(1.5), " ").concat(theme.spacing(0.5), " 0"),
|
|
@@ -82,8 +95,11 @@ var ChartTitle = (0, _styles.styled)('div')(function (_ref3) {
|
|
|
82
95
|
},
|
|
83
96
|
'&.rightMargin': {
|
|
84
97
|
marginRight: '74px'
|
|
98
|
+
},
|
|
99
|
+
'& p': {
|
|
100
|
+
margin: 0
|
|
85
101
|
}
|
|
86
|
-
};
|
|
102
|
+
}, centerPlaceholder);
|
|
87
103
|
});
|
|
88
104
|
var TopPixelGuides = (0, _styles.styled)('div')({
|
|
89
105
|
display: 'flex',
|
|
@@ -351,6 +367,7 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
|
|
|
351
367
|
return _this2.onChangeLabel(value, 'top');
|
|
352
368
|
},
|
|
353
369
|
mathMlOptions: mathMlOptions,
|
|
370
|
+
preventNewLines: true,
|
|
354
371
|
charactersLimit: labelsCharactersLimit
|
|
355
372
|
}), /*#__PURE__*/_react["default"].createElement(Wrapper, null, showLabels && /*#__PURE__*/_react["default"].createElement(_label["default"], {
|
|
356
373
|
side: "left",
|
|
@@ -365,6 +382,7 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
|
|
|
365
382
|
return _this2.onChangeLabel(value, 'left');
|
|
366
383
|
},
|
|
367
384
|
mathMlOptions: mathMlOptions,
|
|
385
|
+
preventNewLines: true,
|
|
368
386
|
charactersLimit: labelsCharactersLimit
|
|
369
387
|
}), defineChart ? /*#__PURE__*/_react["default"].createElement(DefineChartSvg, {
|
|
370
388
|
width: finalWidth,
|
|
@@ -399,6 +417,7 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
|
|
|
399
417
|
return _this2.onChangeLabel(value, 'right');
|
|
400
418
|
},
|
|
401
419
|
mathMlOptions: mathMlOptions,
|
|
420
|
+
preventNewLines: true,
|
|
402
421
|
charactersLimit: labelsCharactersLimit
|
|
403
422
|
}), showPixelGuides && /*#__PURE__*/_react["default"].createElement(SidePixelGuides, {
|
|
404
423
|
style: {
|
|
@@ -424,6 +443,7 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
|
|
|
424
443
|
return _this2.onChangeLabel(value, 'bottom');
|
|
425
444
|
},
|
|
426
445
|
mathMlOptions: mathMlOptions,
|
|
446
|
+
preventNewLines: true,
|
|
427
447
|
charactersLimit: labelsCharactersLimit
|
|
428
448
|
}));
|
|
429
449
|
}
|
package/lib/root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_d3Selection","_renderUi","_editableHtmlTipTap","_types","_label","_utils","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","prototype","valueOf","StyledRoot","styled","_ref","theme","border","concat","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","Wrapper","display","DefineChartSvg","paddingLeft","overflow","ChartSvg","GraphBox","cursor","userSelect","GraphTitle","_ref2","fontSize","typography","padding","spacing","textAlign","pointerEvents","marginRight","ChartTitle","_ref3","TopPixelGuides","paddingTop","TopPixelIndicator","flexDirection","alignItems","width","SidePixelGuides","SidePixelIndicator","height","marginBottom","Root","exports","_React$Component","props","_this","_classCallCheck2","g","event","_this$props","graphProps","onMouseMove","scale","snap","coords","pointer","node","x","invert","y","snapped","newValue","side","_this$props2","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","resizeObserver","ResizeObserver","setupVisibilityObserver","setTimeout","measureTitleHeight","entries","_iterator","_step","entry","_entry$contentRect","contentRect","err","observe","disconnect","state","_inherits2","_createClass2","key","componentDidMount","select","on","mouseMove","bind","componentWillUnmount","cleanupVisibilityObserver","componentDidUpdate","prevProps","render","_this2","_this$props3","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","_this$props3$mathMlOp","mathMlOptions","labelsCharactersLimit","_graphProps$size","size","_graphProps$size$widt","_graphProps$size$heig","domain","range","topPadding","leftPadding","isEmptyString","extractTextFromHTML","left","isEmptyObject","rightPadding","right","finalWidth","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","createElement","style","marginLeft","_toConsumableArray2","map","Readable","ref","className","dangerouslySetInnerHTML","__html","_extends2","markup","onChange","placeholder","toolbarOpts","noPadding","noBorder","activePlugins","disableScrollbar","onKeyDown","handleKeyDown","text","top","disabledLabel","graphHeight","graphWidth","onChangeLabel","charactersLimit","isChartLeftLabel","isDefineChartLeftLabel","transform","marginTop","reverse","bottom","isChartBottomLabel","isDefineChartBottomLabel","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","_default"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { pointer, select } from 'd3-selection';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { ChildrenType, GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nconst StyledRoot = styled('div')(({ theme }) => ({\n border: `solid 1px ${color.primaryLight()}`,\n color: color.defaults.TEXT,\n backgroundColor: theme.palette.common.white,\n touchAction: 'none',\n position: 'relative',\n boxSizing: 'unset', // to override the default border-box in IBX that breaks the component width layout\n}));\n\nconst Wrapper = styled('div')({\n display: 'flex',\n position: 'relative',\n});\n\nconst DefineChartSvg = styled('svg')({\n paddingLeft: '50px',\n overflow: 'visible',\n});\n\nconst ChartSvg = styled('svg')({\n overflow: 'visible',\n});\n\nconst GraphBox = styled('g')({\n cursor: 'pointer',\n userSelect: 'none',\n});\n\nconst GraphTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst ChartTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst TopPixelGuides = styled('div')({\n display: 'flex',\n paddingTop: '6px',\n});\n\nconst TopPixelIndicator = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n});\n\nconst SidePixelGuides = styled('div')({\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n});\n\nconst SidePixelIndicator = styled('div')({\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n});\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\n this.resizeObserver = null;\n }\n\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n defineChart: PropTypes.bool,\n disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\n isChart: PropTypes.bool,\n labels: PropTypes.object,\n labelsPlaceholders: PropTypes.object,\n onChangeTitle: PropTypes.func,\n onMouseMove: PropTypes.func,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n rootRef: PropTypes.func,\n onChangeLabels: PropTypes.func,\n titlePlaceholder: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n mouseMove = (g, event) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = pointer(event, g.node());\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y),\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n this.measureTitleHeight();\n this.setupVisibilityObserver();\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n this.cleanupVisibilityObserver();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.title !== this.props.title) {\n this.measureTitleHeight();\n }\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\n\n if (!onChangeLabels) {\n return;\n }\n\n if (isChart) {\n if (side === 'left') {\n onChangeLabels('range', newValue);\n } else {\n onChangeLabels('domain', newValue);\n }\n\n return;\n }\n\n onChangeLabels({\n ...labels,\n [side]: newValue,\n });\n };\n\n measureTitleHeight = () => {\n const titleElement = this.titleRef;\n if (titleElement) {\n const titleHeight = titleElement.clientHeight;\n this.setState({ titleHeight, prevTitle: this.props.title });\n\n if (!this.resizeObserver && typeof ResizeObserver !== 'undefined') {\n this.setupVisibilityObserver();\n }\n }\n };\n\n handleKeyDown = () => {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 0);\n };\n\n // handle edge case where chart is hidden with display:none and then shown with display:block\n setupVisibilityObserver = () => {\n if (typeof ResizeObserver !== 'undefined' && this.titleRef) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n const { width, height } = entry.contentRect;\n // trigger if element becomes visible and we haven't measured this height yet\n if (width > 0 && height > 0) {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 10);\n break;\n }\n }\n });\n\n this.resizeObserver.observe(this.titleRef);\n }\n };\n\n cleanupVisibilityObserver = () => {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n defineChart,\n onChangeTitle,\n isChart,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n rootRef,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range,\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = isEmptyString(extractTextFromHTML(labels?.left)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const rightPadding =\n isEmptyString(extractTextFromHTML(labels?.right)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const finalWidth = width + leftPadding + rightPadding + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const actualHeight = defineChart && showPixelGuides ? height - 160 : height;\n const nbOfVerticalLines = parseInt(width / 100);\n const nbOfHorizontalLines = parseInt(actualHeight / 100);\n const sideGridlinesPadding = parseInt(actualHeight % 100);\n const { titleHeight } = this.state;\n\n return (\n <StyledRoot>\n {showPixelGuides && (\n <TopPixelGuides style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <TopPixelIndicator>\n <div>{value * 100}px</div>\n <div>|</div>\n </TopPixelIndicator>\n </Readable>\n ))}\n </TopPixelGuides>\n )}\n {showTitle &&\n (disabledTitle ? (\n <div\n ref={(r) => (this.titleRef = r)}\n style={{\n ...(isChart && { width: finalWidth }),\n ...(isEmptyString(extractTextFromHTML(title)) && { display: 'none' }),\n }}\n >\n {isChart ? (\n <ChartTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n ) : (\n <GraphTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n )}\n </div>\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n {isChart ? (\n <ChartTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n {...(isChart && {\n width: finalWidth,\n })}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </ChartTitle>\n ) : (\n <GraphTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n {...(isChart && {\n width: finalWidth,\n })}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </GraphTitle>\n )}\n </div>\n ))}\n {showLabels && !isChart && (\n <Label\n side=\"top\"\n text={labels.top}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.top}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <Wrapper>\n {showLabels && (\n <Label\n side=\"left\"\n text={labels.left}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.left}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n isChartLeftLabel={isChart && !defineChart}\n isDefineChartLeftLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {defineChart ? (\n <DefineChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </DefineChartSvg>\n ) : (\n <ChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </ChartSvg>\n )}\n {showLabels && !isChart && (\n <Label\n side=\"right\"\n text={labels.right}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.right}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {showPixelGuides && (\n <SidePixelGuides\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: 31,\n }}\n >\n {[...Array(nbOfHorizontalLines + 1).keys()].reverse().map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <SidePixelIndicator>━ {value * 100}px</SidePixelIndicator>\n </Readable>\n ))}\n </SidePixelGuides>\n )}\n </Wrapper>\n {showLabels && (\n <Label\n side=\"bottom\"\n text={labels.bottom}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.bottom}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n titleHeight={titleHeight}\n isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n </StyledRoot>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"root.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_d3Selection","_renderUi","_editableHtmlTipTap","_types","_label","_utils","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","prototype","valueOf","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","centerPlaceholder","left","right","width","textAlign","StyledRoot","styled","_ref","theme","border","concat","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","Wrapper","display","DefineChartSvg","paddingLeft","overflow","ChartSvg","GraphBox","cursor","userSelect","GraphTitle","_ref2","fontSize","typography","padding","spacing","pointerEvents","marginRight","margin","ChartTitle","_ref3","TopPixelGuides","paddingTop","TopPixelIndicator","flexDirection","alignItems","SidePixelGuides","SidePixelIndicator","height","marginBottom","Root","exports","_React$Component","props","_this","_classCallCheck2","g","event","_this$props","graphProps","onMouseMove","scale","snap","coords","pointer","node","x","invert","y","snapped","newValue","side","_this$props2","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","resizeObserver","ResizeObserver","setupVisibilityObserver","setTimeout","measureTitleHeight","entries","_iterator","_step","entry","_entry$contentRect","contentRect","err","observe","disconnect","state","_inherits2","_createClass2","key","componentDidMount","select","on","mouseMove","bind","componentWillUnmount","cleanupVisibilityObserver","componentDidUpdate","prevProps","render","_this2","_this$props3","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","_this$props3$mathMlOp","mathMlOptions","labelsCharactersLimit","_graphProps$size","size","_graphProps$size$widt","_graphProps$size$heig","domain","range","topPadding","leftPadding","isEmptyString","extractTextFromHTML","isEmptyObject","rightPadding","finalWidth","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","createElement","style","marginLeft","_toConsumableArray2","map","Readable","ref","className","dangerouslySetInnerHTML","__html","_extends2","markup","onChange","placeholder","toolbarOpts","noPadding","noBorder","activePlugins","disableScrollbar","onKeyDown","handleKeyDown","text","top","disabledLabel","graphHeight","graphWidth","onChangeLabel","preventNewLines","charactersLimit","isChartLeftLabel","isDefineChartLeftLabel","transform","marginTop","reverse","bottom","isChartBottomLabel","isDefineChartBottomLabel","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","_default"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { pointer, select } from 'd3-selection';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { ChildrenType, GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nconst centerPlaceholder = {\n '& .ProseMirror p.is-editor-empty::before, & .ProseMirror div.is-editor-empty::before': {\n left: 0,\n right: 0,\n width: '100%',\n textAlign: 'center',\n },\n};\n\nconst StyledRoot = styled('div')(({ theme }) => ({\n border: `solid 1px ${color.primaryLight()}`,\n color: color.defaults.TEXT,\n backgroundColor: theme.palette.common.white,\n touchAction: 'none',\n position: 'relative',\n boxSizing: 'unset', // to override the default border-box in IBX that breaks the component width layout\n}));\n\nconst Wrapper = styled('div')({\n display: 'flex',\n position: 'relative',\n});\n\nconst DefineChartSvg = styled('svg')({\n paddingLeft: '50px',\n overflow: 'visible',\n boxSizing: 'content-box',\n});\n\nconst ChartSvg = styled('svg')({\n overflow: 'visible',\n boxSizing: 'content-box',\n});\n\nconst GraphBox = styled('g')({\n cursor: 'pointer',\n userSelect: 'none',\n});\n\nconst GraphTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n '& p': {\n margin: 0,\n },\n ...centerPlaceholder,\n}));\n\nconst ChartTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n '& p': {\n margin: 0,\n },\n ...centerPlaceholder,\n}));\n\nconst TopPixelGuides = styled('div')({\n display: 'flex',\n paddingTop: '6px',\n});\n\nconst TopPixelIndicator = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n});\n\nconst SidePixelGuides = styled('div')({\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n});\n\nconst SidePixelIndicator = styled('div')({\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n});\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\n this.resizeObserver = null;\n }\n\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n defineChart: PropTypes.bool,\n disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\n isChart: PropTypes.bool,\n labels: PropTypes.object,\n labelsPlaceholders: PropTypes.object,\n onChangeTitle: PropTypes.func,\n onMouseMove: PropTypes.func,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n rootRef: PropTypes.func,\n onChangeLabels: PropTypes.func,\n titlePlaceholder: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n mouseMove = (g, event) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = pointer(event, g.node());\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y),\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n this.measureTitleHeight();\n this.setupVisibilityObserver();\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n this.cleanupVisibilityObserver();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.title !== this.props.title) {\n this.measureTitleHeight();\n }\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\n\n if (!onChangeLabels) {\n return;\n }\n\n if (isChart) {\n if (side === 'left') {\n onChangeLabels('range', newValue);\n } else {\n onChangeLabels('domain', newValue);\n }\n\n return;\n }\n\n onChangeLabels({\n ...labels,\n [side]: newValue,\n });\n };\n\n measureTitleHeight = () => {\n const titleElement = this.titleRef;\n if (titleElement) {\n const titleHeight = titleElement.clientHeight;\n this.setState({ titleHeight, prevTitle: this.props.title });\n\n if (!this.resizeObserver && typeof ResizeObserver !== 'undefined') {\n this.setupVisibilityObserver();\n }\n }\n };\n\n handleKeyDown = () => {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 0);\n };\n\n // handle edge case where chart is hidden with display:none and then shown with display:block\n setupVisibilityObserver = () => {\n if (typeof ResizeObserver !== 'undefined' && this.titleRef) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n const { width, height } = entry.contentRect;\n // trigger if element becomes visible and we haven't measured this height yet\n if (width > 0 && height > 0) {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 10);\n break;\n }\n }\n });\n\n this.resizeObserver.observe(this.titleRef);\n }\n };\n\n cleanupVisibilityObserver = () => {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n defineChart,\n onChangeTitle,\n isChart,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n rootRef,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range,\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = isEmptyString(extractTextFromHTML(labels?.left)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const rightPadding =\n isEmptyString(extractTextFromHTML(labels?.right)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const finalWidth = width + leftPadding + rightPadding + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const actualHeight = defineChart && showPixelGuides ? height - 160 : height;\n const nbOfVerticalLines = parseInt(width / 100);\n const nbOfHorizontalLines = parseInt(actualHeight / 100);\n const sideGridlinesPadding = parseInt(actualHeight % 100);\n const { titleHeight } = this.state;\n\n return (\n <StyledRoot>\n {showPixelGuides && (\n <TopPixelGuides style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <TopPixelIndicator>\n <div>{value * 100}px</div>\n <div>|</div>\n </TopPixelIndicator>\n </Readable>\n ))}\n </TopPixelGuides>\n )}\n {showTitle &&\n (disabledTitle ? (\n <div\n ref={(r) => (this.titleRef = r)}\n style={{\n ...(isChart && { width: finalWidth }),\n ...(isEmptyString(extractTextFromHTML(title)) && { display: 'none' }),\n }}\n >\n {isChart ? (\n <ChartTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n ) : (\n <GraphTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n )}\n </div>\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n {isChart ? (\n <ChartTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n {...(isChart && {\n width: finalWidth,\n })}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </ChartTitle>\n ) : (\n <GraphTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n {...(isChart && {\n width: finalWidth,\n })}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </GraphTitle>\n )}\n </div>\n ))}\n {showLabels && !isChart && (\n <Label\n side=\"top\"\n text={labels.top}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.top}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n preventNewLines={true}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <Wrapper>\n {showLabels && (\n <Label\n side=\"left\"\n text={labels.left}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.left}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n isChartLeftLabel={isChart && !defineChart}\n isDefineChartLeftLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n preventNewLines={true}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {defineChart ? (\n <DefineChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </DefineChartSvg>\n ) : (\n <ChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </ChartSvg>\n )}\n {showLabels && !isChart && (\n <Label\n side=\"right\"\n text={labels.right}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.right}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n preventNewLines={true}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {showPixelGuides && (\n <SidePixelGuides\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: 31,\n }}\n >\n {[...Array(nbOfHorizontalLines + 1).keys()].reverse().map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <SidePixelIndicator>━ {value * 100}px</SidePixelIndicator>\n </Readable>\n ))}\n </SidePixelGuides>\n )}\n </Wrapper>\n {showLabels && (\n <Label\n side=\"bottom\"\n text={labels.bottom}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.bottom}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n titleHeight={titleHeight}\n isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n preventNewLines={true}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n </StyledRoot>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "
|
|
6
|
+
"version": "4.0.0",
|
|
7
7
|
"description": "Some underlying components for building charts/graphs",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"@mapbox/point-geometry": "^1.1.0",
|
|
22
22
|
"@mui/icons-material": "^7.3.4",
|
|
23
23
|
"@mui/material": "^7.3.4",
|
|
24
|
-
"@pie-lib/editable-html-tip-tap": "^
|
|
25
|
-
"@pie-lib/render-ui": "^
|
|
24
|
+
"@pie-lib/editable-html-tip-tap": "^2.0.0",
|
|
25
|
+
"@pie-lib/render-ui": "^6.0.0",
|
|
26
26
|
"assert": "^1.4.1",
|
|
27
27
|
"d3-scale": "^4.0.2",
|
|
28
28
|
"d3-selection": "^3.0.0",
|
|
@@ -38,6 +38,6 @@
|
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "^18.2.0"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "bf0904ba8bdd2d6f88fb8ad99060e45e40180348",
|
|
42
42
|
"scripts": {}
|
|
43
43
|
}
|
|
@@ -17,6 +17,14 @@ jest.mock('../draggable', () => ({
|
|
|
17
17
|
},
|
|
18
18
|
}));
|
|
19
19
|
|
|
20
|
+
// Reusable mock start event with a target that supports addEventListener/removeEventListener
|
|
21
|
+
const mockStartEvent = (overrides = {}) => ({
|
|
22
|
+
clientX: 0,
|
|
23
|
+
clientY: 0,
|
|
24
|
+
target: { addEventListener: jest.fn(), removeEventListener: jest.fn() },
|
|
25
|
+
...overrides,
|
|
26
|
+
});
|
|
27
|
+
|
|
20
28
|
jest.mock('../utils', () => ({
|
|
21
29
|
getDelta: jest.fn(),
|
|
22
30
|
}));
|
|
@@ -141,7 +149,7 @@ describe('gridDraggable', () => {
|
|
|
141
149
|
render(<Comp {...props} />);
|
|
142
150
|
|
|
143
151
|
// Simulate drag start
|
|
144
|
-
mockDraggableCoreProps.onStart({ clientX: 100, clientY: 100 });
|
|
152
|
+
mockDraggableCoreProps.onStart(mockStartEvent({ clientX: 100, clientY: 100 }));
|
|
145
153
|
|
|
146
154
|
expect(onDragStart).toHaveBeenCalled();
|
|
147
155
|
});
|
|
@@ -159,7 +167,7 @@ describe('gridDraggable', () => {
|
|
|
159
167
|
render(<Comp {...props} />);
|
|
160
168
|
|
|
161
169
|
// Set up drag start state
|
|
162
|
-
mockDraggableCoreProps.onStart(
|
|
170
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
163
171
|
|
|
164
172
|
// Simulate drag
|
|
165
173
|
mockDraggableCoreProps.onDrag({}, { deltaX: 10, deltaY: 10 });
|
|
@@ -174,7 +182,7 @@ describe('gridDraggable', () => {
|
|
|
174
182
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
175
183
|
render(<Comp {...defaultProps} />);
|
|
176
184
|
|
|
177
|
-
mockDraggableCoreProps.onStart(
|
|
185
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
178
186
|
mockDraggableCoreProps.onDrag({}, { deltaX: 10, deltaY: 10 });
|
|
179
187
|
|
|
180
188
|
expect(fromDelta).not.toHaveBeenCalled();
|
|
@@ -191,7 +199,7 @@ describe('gridDraggable', () => {
|
|
|
191
199
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
192
200
|
render(<Comp {...props} />);
|
|
193
201
|
|
|
194
|
-
mockDraggableCoreProps.onStart(
|
|
202
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
195
203
|
// deltaX < 0 and deltaX < scaled bounds.left (0), so -10 < 0 triggers early return
|
|
196
204
|
mockDraggableCoreProps.onDrag({}, { deltaX: -10, deltaY: 0 });
|
|
197
205
|
|
|
@@ -208,7 +216,7 @@ describe('gridDraggable', () => {
|
|
|
208
216
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
209
217
|
render(<Comp {...props} />);
|
|
210
218
|
|
|
211
|
-
mockDraggableCoreProps.onStart(
|
|
219
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
212
220
|
// deltaX > 0 and deltaX > scaled bounds.right (0), so 10 > 0 triggers early return
|
|
213
221
|
mockDraggableCoreProps.onDrag({}, { deltaX: 10, deltaY: 0 });
|
|
214
222
|
|
|
@@ -225,7 +233,7 @@ describe('gridDraggable', () => {
|
|
|
225
233
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
226
234
|
render(<Comp {...props} />);
|
|
227
235
|
|
|
228
|
-
mockDraggableCoreProps.onStart(
|
|
236
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
229
237
|
// deltaY < 0 and deltaY < scaled bounds.top (0), so -10 < 0 triggers early return
|
|
230
238
|
mockDraggableCoreProps.onDrag({}, { deltaX: 0, deltaY: -10 });
|
|
231
239
|
|
|
@@ -242,7 +250,7 @@ describe('gridDraggable', () => {
|
|
|
242
250
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
243
251
|
render(<Comp {...props} />);
|
|
244
252
|
|
|
245
|
-
mockDraggableCoreProps.onStart(
|
|
253
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
246
254
|
// deltaY > 0 and deltaY > scaled bounds.bottom (0), so 10 > 0 triggers early return
|
|
247
255
|
mockDraggableCoreProps.onDrag({}, { deltaX: 0, deltaY: 10 });
|
|
248
256
|
|
|
@@ -259,7 +267,7 @@ describe('gridDraggable', () => {
|
|
|
259
267
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
260
268
|
render(<Comp {...props} />);
|
|
261
269
|
|
|
262
|
-
mockDraggableCoreProps.onStart(
|
|
270
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
263
271
|
// All bound checks pass: deltaX (-10) is NOT < bounds.left (-100) and NOT > bounds.right (100)
|
|
264
272
|
// Similarly for deltaY
|
|
265
273
|
mockDraggableCoreProps.onDrag({}, { deltaX: -10, deltaY: 10 });
|
|
@@ -285,7 +293,7 @@ describe('gridDraggable', () => {
|
|
|
285
293
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
286
294
|
render(<Comp {...props} />);
|
|
287
295
|
|
|
288
|
-
mockDraggableCoreProps.onStart(
|
|
296
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
289
297
|
mockDraggableCoreProps.onDrag({}, { deltaX: 1, deltaY: 0 });
|
|
290
298
|
|
|
291
299
|
expect(onDrag).not.toHaveBeenCalled();
|
|
@@ -307,7 +315,7 @@ describe('gridDraggable', () => {
|
|
|
307
315
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
308
316
|
render(<Comp {...props} />);
|
|
309
317
|
|
|
310
|
-
mockDraggableCoreProps.onStart(
|
|
318
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
311
319
|
mockDraggableCoreProps.onDrag({}, { deltaX: -1, deltaY: 0 });
|
|
312
320
|
|
|
313
321
|
expect(onDrag).not.toHaveBeenCalled();
|
|
@@ -329,7 +337,7 @@ describe('gridDraggable', () => {
|
|
|
329
337
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
330
338
|
render(<Comp {...props} />);
|
|
331
339
|
|
|
332
|
-
mockDraggableCoreProps.onStart(
|
|
340
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
333
341
|
mockDraggableCoreProps.onDrag({}, { deltaX: 0, deltaY: 1 });
|
|
334
342
|
|
|
335
343
|
expect(onDrag).not.toHaveBeenCalled();
|
|
@@ -351,7 +359,7 @@ describe('gridDraggable', () => {
|
|
|
351
359
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
352
360
|
render(<Comp {...props} />);
|
|
353
361
|
|
|
354
|
-
mockDraggableCoreProps.onStart(
|
|
362
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
355
363
|
mockDraggableCoreProps.onDrag({}, { deltaX: 0, deltaY: -1 });
|
|
356
364
|
|
|
357
365
|
expect(onDrag).not.toHaveBeenCalled();
|
|
@@ -374,7 +382,7 @@ describe('gridDraggable', () => {
|
|
|
374
382
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
375
383
|
render(<Comp {...props} />);
|
|
376
384
|
|
|
377
|
-
mockDraggableCoreProps.onStart(
|
|
385
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
378
386
|
mockDraggableCoreProps.onDrag({}, { deltaX: 1, deltaY: -1 });
|
|
379
387
|
|
|
380
388
|
expect(onDrag).toHaveBeenCalled();
|
|
@@ -393,7 +401,7 @@ describe('gridDraggable', () => {
|
|
|
393
401
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
394
402
|
render(<Comp {...props} />);
|
|
395
403
|
|
|
396
|
-
mockDraggableCoreProps.onStart(
|
|
404
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
397
405
|
mockDraggableCoreProps.onDrag({}, { deltaX: 10, deltaY: 10 });
|
|
398
406
|
|
|
399
407
|
expect(getDelta).toHaveBeenCalled();
|
|
@@ -409,7 +417,7 @@ describe('gridDraggable', () => {
|
|
|
409
417
|
const Comp = gridDraggable(options)(() => <div>Test</div>);
|
|
410
418
|
render(<Comp {...props} />);
|
|
411
419
|
|
|
412
|
-
mockDraggableCoreProps.onStart(
|
|
420
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
413
421
|
mockDraggableCoreProps.onDrag({}, { deltaX: 10, deltaY: 10 });
|
|
414
422
|
|
|
415
423
|
expect(fromDelta).toHaveBeenCalled();
|
|
@@ -425,10 +433,10 @@ describe('gridDraggable', () => {
|
|
|
425
433
|
render(<Comp {...props} />);
|
|
426
434
|
|
|
427
435
|
// Start to set up state
|
|
428
|
-
mockDraggableCoreProps.onStart(
|
|
436
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
429
437
|
|
|
430
438
|
// Stop with large movement (not tiny)
|
|
431
|
-
mockDraggableCoreProps.onStop({ clientX: 100, clientY: 100 }, {});
|
|
439
|
+
mockDraggableCoreProps.onStop({ clientX: 100, clientY: 100, stopPropagation: jest.fn() }, {});
|
|
432
440
|
|
|
433
441
|
expect(onDragStop).toHaveBeenCalled();
|
|
434
442
|
});
|
|
@@ -445,8 +453,8 @@ describe('gridDraggable', () => {
|
|
|
445
453
|
|
|
446
454
|
// Start and stop at almost the same position (tiny movement)
|
|
447
455
|
// Grid is 1x1, tiny threshold is grid/10 = 0.1
|
|
448
|
-
mockDraggableCoreProps.onStart(
|
|
449
|
-
mockDraggableCoreProps.onStop({ clientX: 0.05, clientY: 0.05, target: {} }, {});
|
|
456
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
457
|
+
mockDraggableCoreProps.onStop({ clientX: 0.05, clientY: 0.05, target: {}, stopPropagation: jest.fn() }, {});
|
|
450
458
|
|
|
451
459
|
expect(onClick).toHaveBeenCalledWith({ x: 0, y: 0 });
|
|
452
460
|
});
|
|
@@ -467,8 +475,8 @@ describe('gridDraggable', () => {
|
|
|
467
475
|
render(<Comp {...propsWithGraphProps} />);
|
|
468
476
|
|
|
469
477
|
// Start and stop at almost the same position (tiny movement)
|
|
470
|
-
mockDraggableCoreProps.onStart(
|
|
471
|
-
mockDraggableCoreProps.onStop({ clientX: 0.05, clientY: 0.05, target: {} }, {});
|
|
478
|
+
mockDraggableCoreProps.onStart(mockStartEvent());
|
|
479
|
+
mockDraggableCoreProps.onStop({ clientX: 0.05, clientY: 0.05, target: {}, stopPropagation: jest.fn() }, {});
|
|
472
480
|
|
|
473
481
|
expect(graphProps.snap.x).toHaveBeenCalledWith(1.7);
|
|
474
482
|
expect(graphProps.snap.y).toHaveBeenCalledWith(2.3);
|
package/src/grid-draggable.jsx
CHANGED
|
@@ -60,7 +60,22 @@ export const gridDraggable = (opts) => (Comp) => {
|
|
|
60
60
|
if (document.activeElement) {
|
|
61
61
|
document.activeElement.blur();
|
|
62
62
|
}
|
|
63
|
+
this._didDrag = false;
|
|
63
64
|
this.setState({ startX: e.clientX, startY: e.clientY });
|
|
65
|
+
|
|
66
|
+
// Intercept the native 'click' event that the browser fires after mouseup.
|
|
67
|
+
// We use a one-time capture-phase listener so we can suppress it when a
|
|
68
|
+
// real drag occurred, preventing Bg's d3 click listener from creating a new mark.
|
|
69
|
+
const target = e.target;
|
|
70
|
+
const onNativeClick = (clickEvent) => {
|
|
71
|
+
target.removeEventListener('click', onNativeClick, true);
|
|
72
|
+
if (this._didDrag) {
|
|
73
|
+
clickEvent.stopPropagation();
|
|
74
|
+
clickEvent.preventDefault();
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
target.addEventListener('click', onNativeClick, true);
|
|
78
|
+
|
|
64
79
|
if (onDragStart) {
|
|
65
80
|
onDragStart();
|
|
66
81
|
}
|
|
@@ -179,9 +194,15 @@ export const gridDraggable = (opts) => (Comp) => {
|
|
|
179
194
|
};
|
|
180
195
|
|
|
181
196
|
onDrag = (e, dd) => {
|
|
182
|
-
const { onDrag, graphProps } = this.props;
|
|
197
|
+
const { onDrag, graphProps, disabled } = this.props;
|
|
183
198
|
|
|
184
|
-
|
|
199
|
+
// Track drag movement BEFORE any early returns so that onStop always
|
|
200
|
+
// knows a real drag occurred, even when onDrag prop is absent or disabled.
|
|
201
|
+
if (Math.abs(dd.deltaX) > 1 || Math.abs(dd.deltaY) > 1) {
|
|
202
|
+
this._didDrag = true;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
if (!onDrag || disabled) {
|
|
185
206
|
return;
|
|
186
207
|
}
|
|
187
208
|
|
|
@@ -233,29 +254,43 @@ export const gridDraggable = (opts) => (Comp) => {
|
|
|
233
254
|
|
|
234
255
|
onStop = (e, dd) => {
|
|
235
256
|
log('[onStop] dd:', dd);
|
|
236
|
-
const { onDragStop, onClick } = this.props;
|
|
257
|
+
const { onDragStop, onClick, disabled } = this.props;
|
|
237
258
|
|
|
238
|
-
if (onDragStop) {
|
|
259
|
+
if (onDragStop && !disabled) {
|
|
239
260
|
onDragStop();
|
|
240
261
|
}
|
|
241
262
|
|
|
242
263
|
log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);
|
|
243
|
-
const isClick = this.
|
|
264
|
+
const isClick = !this._didDrag;
|
|
244
265
|
|
|
245
266
|
if (isClick) {
|
|
267
|
+
// For non-disabled marks, stop propagation so the Bg d3 listener
|
|
268
|
+
// doesn't also create a new mark on top of this one.
|
|
269
|
+
// Disabled/background marks allow propagation so Bg can handle the click.
|
|
270
|
+
if (!disabled && typeof e?.stopPropagation === 'function') {
|
|
271
|
+
e.stopPropagation();
|
|
272
|
+
}
|
|
273
|
+
|
|
246
274
|
if (onClick) {
|
|
247
275
|
log('call onClick');
|
|
248
|
-
this.setState({ startX: null });
|
|
276
|
+
this.setState({ startX: null, startY: null });
|
|
249
277
|
const { graphProps } = this.props;
|
|
250
278
|
const { scale, snap } = graphProps;
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
279
|
+
try {
|
|
280
|
+
const [rawX, rawY] = pointer(e, e.target);
|
|
281
|
+
let x = scale.x.invert(rawX);
|
|
282
|
+
let y = scale.y.invert(rawY);
|
|
283
|
+
x = snap.x(x);
|
|
284
|
+
y = snap.y(y);
|
|
285
|
+
onClick({ x, y });
|
|
286
|
+
} catch (_) {
|
|
287
|
+
// pointer() can fail on SVG elements (e.g. <circle>) that lack a valid
|
|
288
|
+
// coordinate transform. Label-mode callbacks use props data, not coords.
|
|
289
|
+
onClick({});
|
|
290
|
+
}
|
|
258
291
|
}
|
|
292
|
+
|
|
293
|
+
return false;
|
|
259
294
|
}
|
|
260
295
|
|
|
261
296
|
this.setState({ startX: null, startY: null });
|
|
@@ -264,7 +299,11 @@ export const gridDraggable = (opts) => (Comp) => {
|
|
|
264
299
|
};
|
|
265
300
|
|
|
266
301
|
render() {
|
|
267
|
-
|
|
302
|
+
// we extract onClick here to prevent it from being passed to the DraggableCore
|
|
303
|
+
// and to prevent it from being included in the ...rest that gets passed to the Comp
|
|
304
|
+
// because otherwise it is called on every drag event
|
|
305
|
+
// eslint-disable-next-line no-unused-vars
|
|
306
|
+
const { disabled, onClick, ...rest } = this.props;
|
|
268
307
|
const grid = this.grid();
|
|
269
308
|
|
|
270
309
|
// prevent the text select icon from rendering.
|
|
@@ -278,7 +317,6 @@ export const gridDraggable = (opts) => (Comp) => {
|
|
|
278
317
|
|
|
279
318
|
return (
|
|
280
319
|
<DraggableCore
|
|
281
|
-
disabled={disabled}
|
|
282
320
|
onMouseDown={onMouseDown}
|
|
283
321
|
onStart={this.onStart}
|
|
284
322
|
onDrag={this.onDrag}
|
|
@@ -286,7 +324,7 @@ export const gridDraggable = (opts) => (Comp) => {
|
|
|
286
324
|
axis={opts.axis || 'both'}
|
|
287
325
|
grid={[grid.x, grid.y]}
|
|
288
326
|
>
|
|
289
|
-
<Comp {...rest} disabled={disabled} isDragging={isDragging} />
|
|
327
|
+
<Comp {...rest} disabled={disabled} isDragging={isDragging} onClick={isDragging ? undefined : onClick} />
|
|
290
328
|
</DraggableCore>
|
|
291
329
|
);
|
|
292
330
|
}
|