@spider-analyzer/timeline 4.0.2 → 5.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.
Files changed (76) hide show
  1. package/CHANGELOG.md +70 -1
  2. package/README.md +275 -637
  3. package/dist/index.d.mts +132 -0
  4. package/dist/index.d.ts +132 -0
  5. package/dist/index.js +2913 -22
  6. package/dist/index.js.map +1 -0
  7. package/dist/index.mjs +2906 -0
  8. package/dist/index.mjs.map +1 -0
  9. package/dist/timeline-EX2XZ6IP.css +139 -0
  10. package/package.json +48 -15
  11. package/src/Cursor.jsx +5 -13
  12. package/src/TimeLine.tsx +994 -0
  13. package/src/TimeLineResizer.jsx +2 -8
  14. package/src/ToolTip.jsx +7 -7
  15. package/src/cursorElements/CursorIcon.jsx +6 -29
  16. package/src/cursorElements/CursorSelection.jsx +4 -19
  17. package/src/cursorElements/DragOverlay.jsx +2 -12
  18. package/src/cursorElements/LeftHandle.jsx +3 -19
  19. package/src/cursorElements/LeftToolTip.jsx +2 -7
  20. package/src/cursorElements/RightHandle.jsx +3 -19
  21. package/src/cursorElements/RightToolTip.jsx +4 -13
  22. package/src/cursorElements/ZoomIn.jsx +5 -25
  23. package/src/cursorElements/ZoomOut.jsx +4 -21
  24. package/src/cursorElements/utils.js +1 -1
  25. package/src/index.js +6 -0
  26. package/src/index.ts +158 -0
  27. package/src/moment-shim.ts +169 -0
  28. package/src/styles.ts +15 -0
  29. package/src/time.ts +52 -0
  30. package/src/timeLineElements/Button.jsx +5 -30
  31. package/src/timeLineElements/HistoToolTip.jsx +3 -17
  32. package/src/timeLineElements/Histogram.jsx +4 -16
  33. package/src/timeLineElements/Legend.jsx +2 -16
  34. package/src/timeLineElements/QualityLine.jsx +4 -11
  35. package/src/timeLineElements/Tools.jsx +1 -1
  36. package/src/timeLineElements/XAxis.jsx +5 -8
  37. package/src/timeLineElements/XGrid.jsx +3 -7
  38. package/src/timeLineElements/YAxis.jsx +4 -7
  39. package/src/timeLineElements/YGrid.jsx +2 -6
  40. package/src/timeLineElements/axesStyles.jsx +0 -49
  41. package/src/timeline.css +139 -0
  42. package/src/utils.ts +60 -0
  43. package/.babelrc +0 -8
  44. package/.gitlab-ci.yml +0 -27
  45. package/Makefile +0 -20
  46. package/dist/Cursor.js +0 -290
  47. package/dist/TimeLine.js +0 -1173
  48. package/dist/TimeLineResizer.js +0 -70
  49. package/dist/ToolTip.js +0 -43
  50. package/dist/cursorElements/CursorIcon.js +0 -98
  51. package/dist/cursorElements/CursorSelection.js +0 -179
  52. package/dist/cursorElements/DragOverlay.js +0 -168
  53. package/dist/cursorElements/LeftHandle.js +0 -95
  54. package/dist/cursorElements/LeftToolTip.js +0 -70
  55. package/dist/cursorElements/RightHandle.js +0 -95
  56. package/dist/cursorElements/RightToolTip.js +0 -75
  57. package/dist/cursorElements/ZoomIn.js +0 -93
  58. package/dist/cursorElements/ZoomOut.js +0 -67
  59. package/dist/cursorElements/commonStyles.js +0 -28
  60. package/dist/cursorElements/handleHistoHovering.js +0 -79
  61. package/dist/cursorElements/utils.js +0 -30
  62. package/dist/theme.js +0 -59
  63. package/dist/timeLineElements/Button.js +0 -101
  64. package/dist/timeLineElements/HistoToolTip.js +0 -78
  65. package/dist/timeLineElements/Histogram.js +0 -110
  66. package/dist/timeLineElements/Legend.js +0 -70
  67. package/dist/timeLineElements/QualityLine.js +0 -81
  68. package/dist/timeLineElements/Tools.js +0 -115
  69. package/dist/timeLineElements/XAxis.js +0 -76
  70. package/dist/timeLineElements/XGrid.js +0 -47
  71. package/dist/timeLineElements/YAxis.js +0 -60
  72. package/dist/timeLineElements/YGrid.js +0 -46
  73. package/dist/timeLineElements/axesStyles.js +0 -57
  74. package/src/TimeLine.jsx +0 -1158
  75. package/src/cursorElements/commonStyles.js +0 -21
  76. /package/dist/{tipDark.css → tipDark-BQEJ43KY.css} +0 -0
@@ -1,101 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = Button;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _styles = require("@material-ui/styles");
11
- var _ToolTip = _interopRequireDefault(require("../ToolTip"));
12
- var _clsx = _interopRequireDefault(require("clsx"));
13
- var _theme = _interopRequireDefault(require("../theme"));
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
21
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
22
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
- var useStyles = (0, _styles.makeStyles)({
24
- buttonGroup: {
25
- cursor: 'pointer'
26
- },
27
- buttonGroupInactive: {
28
- cursor: 'not-allowed'
29
- },
30
- buttonOverShape: {
31
- fill: 'transparent'
32
- },
33
- buttonIcon: {
34
- fill: _theme["default"].colors.medium,
35
- fillOpacity: 1,
36
- stroke: _theme["default"].colors.medium,
37
- strokeWidth: 1,
38
- strokeOpacity: 1
39
- },
40
- buttonIconOver: {
41
- fill: _theme["default"].colors.buttonOver,
42
- stroke: _theme["default"].colors.buttonOver
43
- }
44
- });
45
- function Button(_ref) {
46
- var tipPlacement = _ref.tipPlacement,
47
- tipOverlay = _ref.tipOverlay,
48
- path = _ref.path,
49
- origin = _ref.origin,
50
- scale = _ref.scale,
51
- iconSize = _ref.iconSize,
52
- _onClick = _ref.onClick,
53
- classes = _ref.classes,
54
- rcToolTipPrefixCls = _ref.rcToolTipPrefixCls,
55
- isActive = _ref.isActive;
56
- var _useState = (0, _react.useState)(false),
57
- _useState2 = _slicedToArray(_useState, 2),
58
- isOver = _useState2[0],
59
- setOver = _useState2[1];
60
- var defaultClasses = useStyles();
61
- return /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
62
- placement: tipPlacement,
63
- overlay: tipOverlay
64
- }, /*#__PURE__*/_react["default"].createElement("g", {
65
- className: (0, _clsx["default"])(defaultClasses.buttonGroup, classes.buttonGroup, !isActive && defaultClasses.buttonGroupInactive, !isActive && classes.buttonGroupInactive),
66
- transform: "translate(".concat(origin.x, ",").concat(origin.y, ") scale(").concat(scale, ")"),
67
- onMouseOver: function onMouseOver(event) {
68
- isActive && setOver(true);
69
- },
70
- onMouseOut: function onMouseOut(event) {
71
- isActive && setOver(false);
72
- },
73
- onClick: function onClick() {
74
- isActive && _onClick();
75
- }
76
- }, /*#__PURE__*/_react["default"].createElement("rect", {
77
- className: (0, _clsx["default"])(defaultClasses.buttonOverShape, classes.buttonOverShape),
78
- x: "0",
79
- y: "0",
80
- height: iconSize,
81
- width: iconSize
82
- }), /*#__PURE__*/_react["default"].createElement("path", {
83
- className: (0, _clsx["default"])(defaultClasses.buttonIcon, classes.buttonIcon, isOver && defaultClasses.buttonIconOver, isOver && classes.buttonIconOver),
84
- d: path
85
- })));
86
- }
87
- Button.propTypes = {
88
- tipPlacement: _propTypes["default"].string.isRequired,
89
- tipOverlay: _propTypes["default"].string.isRequired,
90
- path: _propTypes["default"].string.isRequired,
91
- origin: _propTypes["default"].shape({
92
- x: _propTypes["default"].number.isRequired,
93
- y: _propTypes["default"].number.isRequired
94
- }).isRequired,
95
- scale: _propTypes["default"].number.isRequired,
96
- iconSize: _propTypes["default"].number.isRequired,
97
- onClick: _propTypes["default"].func.isRequired,
98
- classes: _propTypes["default"].object.isRequired,
99
- rcToolTipPrefixCls: _propTypes["default"].string.isRequired,
100
- isActive: _propTypes["default"].bool.isRequired
101
- };
@@ -1,78 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = HistoTooltip;
7
- var _styles = require("@material-ui/styles");
8
- var _clsx = _interopRequireDefault(require("clsx"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
11
- var _react = _interopRequireDefault(require("react"));
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
- var useStyles = (0, _styles.makeStyles)({
14
- innerTipMetrics: {
15
- marginTop: 4
16
- },
17
- innerTipLeft: {
18
- marginRight: 4,
19
- display: 'inline-block'
20
- },
21
- innerTipRight: {
22
- display: 'inline-block',
23
- "float": 'right'
24
- }
25
- });
26
- function HistoTooltip(_ref) {
27
- var metricsDefinition = _ref.metricsDefinition,
28
- item = _ref.item,
29
- onFormatTimeToolTips = _ref.onFormatTimeToolTips,
30
- onFormatMetricLegend = _ref.onFormatMetricLegend,
31
- classes = _ref.classes;
32
- var defaultClasses = useStyles();
33
- var className = function className(_className) {
34
- return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
35
- };
36
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
37
- className: className('innerTipLeft')
38
- }, /*#__PURE__*/_react["default"].createElement("br", null), "\u2192"), /*#__PURE__*/_react["default"].createElement("div", {
39
- className: className('innerTipRight')
40
- }, onFormatTimeToolTips(item.start), /*#__PURE__*/_react["default"].createElement("br", null), onFormatTimeToolTips(item.end))), /*#__PURE__*/_react["default"].createElement("div", {
41
- className: className('innerTipMetrics')
42
- }, metricsDefinition.colors.map(function (color, m) {
43
- var reversed = metricsDefinition.colors.length - m - 1;
44
- return /*#__PURE__*/_react["default"].createElement("div", {
45
- key: reversed
46
- }, "- ", /*#__PURE__*/_react["default"].createElement("span", {
47
- style: {
48
- color: metricsDefinition.colors[reversed].stroke
49
- }
50
- }, metricsDefinition.legends[reversed]), /*#__PURE__*/_react["default"].createElement("span", {
51
- className: className('innerTipRight')
52
- }, onFormatMetricLegend(item.metrics[reversed])));
53
- }), /*#__PURE__*/_react["default"].createElement("hr", null), /*#__PURE__*/_react["default"].createElement("div", null, "Total", /*#__PURE__*/_react["default"].createElement("span", {
54
- className: className('innerTipRight')
55
- }, onFormatMetricLegend(item.total)))));
56
- }
57
- HistoTooltip.propTypes = {
58
- classes: _propTypes["default"].object,
59
- item: _propTypes["default"].shape({
60
- start: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
61
- end: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
62
- x1: _propTypes["default"].number,
63
- x2: _propTypes["default"].number,
64
- metrics: _propTypes["default"].arrayOf(_propTypes["default"].number).isRequired,
65
- total: _propTypes["default"].number.isRequired
66
- }),
67
- metricsDefinition: _propTypes["default"].shape({
68
- count: _propTypes["default"].number.isRequired,
69
- legends: _propTypes["default"].arrayOf(_propTypes["default"].string).isRequired,
70
- colors: _propTypes["default"].arrayOf(_propTypes["default"].shape({
71
- fill: _propTypes["default"].string.isRequired,
72
- stroke: _propTypes["default"].string.isRequired,
73
- text: _propTypes["default"].string.isRequired
74
- })).isRequired
75
- }).isRequired,
76
- onFormatTimeToolTips: _propTypes["default"].func.isRequired,
77
- onFormatMetricLegend: _propTypes["default"].func.isRequired
78
- };
@@ -1,110 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = Histogram;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
9
- var _sum2 = _interopRequireDefault(require("lodash-es/sum"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _clsx = _interopRequireDefault(require("clsx"));
12
- var _styles = require("@material-ui/styles");
13
- var _ToolTip = _interopRequireDefault(require("../ToolTip"));
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
- var useStyles = (0, _styles.makeStyles)({
16
- histoItem: {
17
- fillOpacity: 1,
18
- strokeWidth: 1
19
- },
20
- histoHovered: {
21
- strokeWidth: 0,
22
- fill: '#000000',
23
- fillOpacity: 0.3
24
- }
25
- });
26
- function Histogram(_ref) {
27
- var classes = _ref.classes,
28
- items = _ref.items,
29
- metricsDefinition = _ref.metricsDefinition,
30
- origin = _ref.origin,
31
- barHovered = _ref.barHovered,
32
- tooltipVisible = _ref.tooltipVisible,
33
- verticalScale = _ref.verticalScale,
34
- dragging = _ref.dragging,
35
- HistoToolTip = _ref.HistoToolTip,
36
- onFormatMetricLegend = _ref.onFormatMetricLegend,
37
- onFormatTimeToolTips = _ref.onFormatTimeToolTips;
38
- if (!items) {
39
- return null;
40
- }
41
- var defaultClasses = useStyles();
42
- var className = function className(_className) {
43
- return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
44
- };
45
- return /*#__PURE__*/_react["default"].createElement("g", {
46
- transform: "translate(".concat(origin.x, ", ").concat(origin.y, ")")
47
- }, items.map(function (item, i) {
48
- return /*#__PURE__*/_react["default"].createElement("g", {
49
- key: i
50
- }, metricsDefinition.colors.map(function (color, m) {
51
- return item.metrics[m] > 0 && /*#__PURE__*/_react["default"].createElement("rect", {
52
- key: m,
53
- className: className('histoItem'),
54
- style: {
55
- fill: color.fill,
56
- stroke: color.stroke
57
- },
58
- x: item.x1,
59
- y: -verticalScale((0, _sum2["default"])(item.metrics.slice(0, m + 1))),
60
- width: item.x2 - item.x1,
61
- height: verticalScale(item.metrics[m])
62
- });
63
- }), barHovered === i && !dragging && /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
64
- overlay: /*#__PURE__*/_react["default"].createElement(HistoToolTip, {
65
- item: item,
66
- metricsDefinition: metricsDefinition,
67
- onFormatTimeToolTips: onFormatTimeToolTips,
68
- onFormatMetricLegend: onFormatMetricLegend,
69
- classes: classes
70
- }),
71
- visible: tooltipVisible
72
- }, /*#__PURE__*/_react["default"].createElement("rect", {
73
- className: className('histoHovered'),
74
- x: item.x1,
75
- y: -item.height,
76
- width: item.x2 - item.x1,
77
- height: item.height
78
- })));
79
- }));
80
- }
81
- Histogram.propTypes = {
82
- classes: _propTypes["default"].object,
83
- items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
84
- start: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
85
- end: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
86
- x1: _propTypes["default"].number,
87
- x2: _propTypes["default"].number,
88
- metrics: _propTypes["default"].arrayOf(_propTypes["default"].number).isRequired,
89
- total: _propTypes["default"].number.isRequired
90
- })),
91
- metricsDefinition: _propTypes["default"].shape({
92
- count: _propTypes["default"].number.isRequired,
93
- legends: _propTypes["default"].arrayOf(_propTypes["default"].string).isRequired,
94
- colors: _propTypes["default"].arrayOf(_propTypes["default"].shape({
95
- fill: _propTypes["default"].string.isRequired,
96
- stroke: _propTypes["default"].string.isRequired,
97
- text: _propTypes["default"].string.isRequired
98
- })).isRequired
99
- }).isRequired,
100
- origin: _propTypes["default"].shape({
101
- x: _propTypes["default"].number.isRequired,
102
- y: _propTypes["default"].number.isRequired
103
- }).isRequired,
104
- verticalScale: _propTypes["default"].func.isRequired,
105
- onFormatTimeToolTips: _propTypes["default"].func.isRequired,
106
- onFormatMetricLegend: _propTypes["default"].func.isRequired,
107
- HistoToolTip: _propTypes["default"].elementType,
108
- barHovered: _propTypes["default"].number,
109
- tooltipVisible: _propTypes["default"].bool
110
- };
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = Legend;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _clsx = _interopRequireDefault(require("clsx"));
10
- var _theme = _interopRequireDefault(require("../theme"));
11
- var _styles = require("@material-ui/styles");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
14
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
17
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
19
- var useStyles = (0, _styles.makeStyles)({
20
- legend: {
21
- fontSize: _theme["default"].font.legendSize,
22
- lineHeight: '125%',
23
- fontFamily: _theme["default"].font.family,
24
- fillOpacity: 1,
25
- stroke: 'none',
26
- textAlign: 'end',
27
- textAnchor: 'end',
28
- userSelect: 'none'
29
- }
30
- });
31
- function Legend(_ref) {
32
- var classes = _ref.classes,
33
- metricsDefinition = _ref.metricsDefinition,
34
- origin = _ref.origin;
35
- var fill = _toConsumableArray(metricsDefinition.colors).reverse();
36
- var legends = _toConsumableArray(metricsDefinition.legends).reverse();
37
- var defaultClasses = useStyles();
38
- var className = function className(_className) {
39
- return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
40
- };
41
- return /*#__PURE__*/_react["default"].createElement("g", {
42
- transform: "translate(".concat(origin.x, ",").concat(origin.y, ")")
43
- }, legends.map(function (leg, i) {
44
- return /*#__PURE__*/_react["default"].createElement("text", {
45
- key: i,
46
- className: className('legend'),
47
- style: {
48
- fill: fill[i].text
49
- },
50
- x: 0,
51
- y: 14 * (i + 1)
52
- }, /*#__PURE__*/_react["default"].createElement("tspan", null, leg));
53
- }));
54
- }
55
- Legend.propTypes = {
56
- classes: _propTypes["default"].object.isRequired,
57
- origin: _propTypes["default"].shape({
58
- x: _propTypes["default"].number.isRequired,
59
- y: _propTypes["default"].number.isRequired
60
- }).isRequired,
61
- metricsDefinition: _propTypes["default"].shape({
62
- count: _propTypes["default"].number.isRequired,
63
- legends: _propTypes["default"].arrayOf(_propTypes["default"].string).isRequired,
64
- colors: _propTypes["default"].arrayOf(_propTypes["default"].shape({
65
- fill: _propTypes["default"].string.isRequired,
66
- stroke: _propTypes["default"].string.isRequired,
67
- text: _propTypes["default"].string.isRequired
68
- })).isRequired
69
- }).isRequired
70
- };
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = QualityLine;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _clsx = _interopRequireDefault(require("clsx"));
10
- var _theme = _interopRequireDefault(require("../theme"));
11
- var _styles = require("@material-ui/styles");
12
- var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
13
- var _ToolTip = _interopRequireDefault(require("../ToolTip"));
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
- var qualityHeight = 3;
16
- var useStyles = (0, _styles.makeStyles)({
17
- qualityCell: {
18
- strokeWidth: 0
19
- }
20
- });
21
- function QualityLine(_ref) {
22
- var classes = _ref.classes,
23
- rcToolTipPrefixCls = _ref.rcToolTipPrefixCls,
24
- origin = _ref.origin,
25
- quality = _ref.quality,
26
- xAxis = _ref.xAxis,
27
- qualityScale = _ref.qualityScale;
28
- var defaultClasses = useStyles();
29
- var className = function className(_className) {
30
- return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
31
- };
32
- return /*#__PURE__*/_react["default"].createElement("g", {
33
- transform: "translate(".concat(origin.x, ", ").concat(origin.y, ")")
34
- }, quality.items.map(function (item, i) {
35
- var x1 = xAxis(item.time);
36
- var x2 = xAxis((0, _momentTimezone["default"])(item.time).add(quality.intervalMin, 'minutes'));
37
- var rect = /*#__PURE__*/_react["default"].createElement("rect", {
38
- key: i,
39
- className: className('qualityCell'),
40
- style: {
41
- fill: qualityScale(item.quality)
42
- },
43
- onMouseOver: function onMouseOver(event) {
44
- event.target.style.fill = _theme["default"].colors.qualityFillSelected;
45
- },
46
- onMouseOut: function onMouseOut(event) {
47
- event.target.style.fill = qualityScale(item.quality);
48
- },
49
- x: x1,
50
- y: 1,
51
- width: x2 - x1,
52
- height: qualityHeight
53
- });
54
- if (item.tip) {
55
- return /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
56
- key: i,
57
- placement: 'bottom',
58
- overlay: item.tip,
59
- mouseEnterDelay: 0.1
60
- }, rect);
61
- } else return rect;
62
- }));
63
- }
64
- QualityLine.propTypes = {
65
- classes: _propTypes["default"].object.isRequired,
66
- rcToolTipPrefixCls: _propTypes["default"].string.isRequired,
67
- origin: _propTypes["default"].shape({
68
- x: _propTypes["default"].number.isRequired,
69
- y: _propTypes["default"].number.isRequired
70
- }).isRequired,
71
- xAxis: _propTypes["default"].func.isRequired,
72
- quality: _propTypes["default"].shape({
73
- items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
74
- time: _propTypes["default"].instanceOf(_momentTimezone["default"]).isRequired,
75
- quality: _propTypes["default"].number.isRequired,
76
- tip: _propTypes["default"].node
77
- })),
78
- intervalMin: _propTypes["default"].number
79
- }).isRequired,
80
- qualityScale: _propTypes["default"].func.isRequired
81
- };
@@ -1,115 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = Tools;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
10
- var _Button = _interopRequireDefault(require("./Button"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
- var doubleArrowIcon = 'm 0,0 5,5 0,-5 5,5 -5,5 0,-5 -5,5 Z';
13
- var resetIcon = 'M5 15H3v4c0 1.1.9 2 2 2h4v-2H5v-4zM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2V5zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2zm0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2v4zM12 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z';
14
- var gotoNowIcon = 'M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z';
15
- function Tools(_ref) {
16
- var tools = _ref.tools,
17
- classes = _ref.classes,
18
- rcToolTipPrefixCls = _ref.rcToolTipPrefixCls,
19
- labels = _ref.labels,
20
- histoWidth = _ref.histoWidth,
21
- isActive = _ref.isActive,
22
- origin = _ref.origin,
23
- onResetTime = _ref.onResetTime,
24
- shiftTimeLine = _ref.shiftTimeLine,
25
- onGoto = _ref.onGoto;
26
- return /*#__PURE__*/_react["default"].createElement("g", {
27
- transform: "translate(".concat(origin.x, ", ").concat(origin.y, ")")
28
- }, tools.slideForward !== false && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
29
- classes: classes,
30
- rcToolTipPrefixCls: rcToolTipPrefixCls,
31
- tipPlacement: "left",
32
- tipOverlay: labels.forwardButtonTip,
33
- origin: {
34
- x: histoWidth + 22,
35
- y: -5
36
- },
37
- scale: 1,
38
- path: doubleArrowIcon,
39
- iconSize: 10,
40
- isActive: isActive,
41
- onClick: function onClick() {
42
- shiftTimeLine(-120);
43
- }
44
- }), tools.slideBackward !== false && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
45
- classes: classes,
46
- rcToolTipPrefixCls: rcToolTipPrefixCls,
47
- tipPlacement: "right",
48
- tipOverlay: labels.backwardButtonTip,
49
- origin: {
50
- x: -7,
51
- y: 5
52
- },
53
- scale: -1,
54
- path: doubleArrowIcon,
55
- iconSize: 10,
56
- isActive: isActive,
57
- onClick: function onClick() {
58
- shiftTimeLine(120);
59
- }
60
- }), tools.resetTimeline !== false && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
61
- classes: classes,
62
- rcToolTipPrefixCls: rcToolTipPrefixCls,
63
- tipPlacement: "left",
64
- tipOverlay: labels.resetButtonTip,
65
- origin: {
66
- x: histoWidth + 17,
67
- y: -30
68
- },
69
- scale: 0.75,
70
- path: resetIcon,
71
- iconSize: 24,
72
- isActive: isActive,
73
- onClick: onResetTime
74
- }), tools.gotoNow !== false && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
75
- classes: classes,
76
- rcToolTipPrefixCls: rcToolTipPrefixCls,
77
- tipPlacement: "left",
78
- tipOverlay: labels.gotoNowButtonTip,
79
- origin: {
80
- x: histoWidth + 17,
81
- y: tools.resetTimeline !== false ? -53 : -30
82
- },
83
- scale: 0.75,
84
- path: gotoNowIcon,
85
- iconSize: 24,
86
- isActive: isActive,
87
- onClick: onGoto
88
- }));
89
- }
90
- Tools.propTypes = {
91
- tools: _propTypes["default"].shape({
92
- slideForward: _propTypes["default"].bool,
93
- slideBackward: _propTypes["default"].bool,
94
- resetTimeline: _propTypes["default"].bool,
95
- gotoNow: _propTypes["default"].bool,
96
- cursor: _propTypes["default"].bool
97
- }).isRequired,
98
- classes: _propTypes["default"].object.isRequired,
99
- rcToolTipPrefixCls: _propTypes["default"].string.isRequired,
100
- labels: _propTypes["default"].shape({
101
- forwardButtonTip: _propTypes["default"].string.isRequired,
102
- backwardButtonTip: _propTypes["default"].string.isRequired,
103
- resetButtonTip: _propTypes["default"].string.isRequired,
104
- gotoNowButtonTip: _propTypes["default"].string.isRequired
105
- }).isRequired,
106
- histoWidth: _propTypes["default"].number.isRequired,
107
- isActive: _propTypes["default"].bool.isRequired,
108
- origin: _propTypes["default"].shape({
109
- x: _propTypes["default"].number.isRequired,
110
- y: _propTypes["default"].number.isRequired
111
- }).isRequired,
112
- onResetTime: _propTypes["default"].func.isRequired,
113
- shiftTimeLine: _propTypes["default"].func.isRequired,
114
- onGoto: _propTypes["default"].func.isRequired
115
- };
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = XAxis;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _d3Time = require("d3-time");
11
- var _clsx = _interopRequireDefault(require("clsx"));
12
- var _axesStyles = require("./axesStyles");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
- function XAxis(_ref) {
15
- var min = _ref.min,
16
- max = _ref.max,
17
- origin = _ref.origin,
18
- axisWidth = _ref.axisWidth,
19
- marks = _ref.marks,
20
- xAxis = _ref.xAxis,
21
- classes = _ref.classes,
22
- arrowPath = _ref.arrowPath,
23
- onFormatTimeLegend = _ref.onFormatTimeLegend;
24
- var now = (0, _momentTimezone["default"])();
25
- var defaultClasses = (0, _axesStyles.useStyles)();
26
- var className = function className(_className) {
27
- return (0, _clsx["default"])(defaultClasses[_className], classes[_className]);
28
- };
29
- return /*#__PURE__*/_react["default"].createElement("g", {
30
- transform: "translate(".concat(origin.x, ", ").concat(origin.y, ")")
31
- }, /*#__PURE__*/_react["default"].createElement("path", {
32
- className: className('axis'),
33
- d: "M 0,-6 0,6"
34
- }), /*#__PURE__*/_react["default"].createElement("path", {
35
- className: className('axis'),
36
- d: "M 0,0 ".concat(axisWidth + 5, ",0")
37
- }), /*#__PURE__*/_react["default"].createElement("g", {
38
- transform: "translate(".concat(axisWidth, ",0)")
39
- }, /*#__PURE__*/_react["default"].createElement("path", {
40
- className: className('arrow'),
41
- d: arrowPath
42
- })), marks && marks.map(function (m, index) {
43
- return /*#__PURE__*/_react["default"].createElement("g", {
44
- key: m.toISOString(),
45
- transform: "translate(".concat(xAxis(m), ",0)")
46
- }, /*#__PURE__*/_react["default"].createElement("path", {
47
- className: className('limitMarker'),
48
- d: "M 0,0 0,6"
49
- }), /*#__PURE__*/_react["default"].createElement("text", {
50
- x: 0,
51
- y: 15,
52
- className: (0, _clsx["default"])(className('timeAxisText'), (0, _d3Time.timeDay)(m) >= m && className('timeAxisDaysText'))
53
- }, onFormatTimeLegend(m)));
54
- }), xAxis && now.isSameOrBefore(max) && now.isSameOrAfter(min) && /*#__PURE__*/_react["default"].createElement("path", {
55
- transform: "translate(".concat(xAxis(now), ",0)"),
56
- className: className('now'),
57
- d: "m -3,6 6,0 -3,-6 Z"
58
- }));
59
- }
60
- XAxis.propTypes = {
61
- axisWidth: _propTypes["default"].number.isRequired,
62
- classes: _propTypes["default"].object,
63
- min: _propTypes["default"].instanceOf(_momentTimezone["default"]),
64
- max: _propTypes["default"].instanceOf(_momentTimezone["default"]),
65
- origin: _propTypes["default"].shape({
66
- x: _propTypes["default"].number.isRequired,
67
- y: _propTypes["default"].number.isRequired
68
- }).isRequired,
69
- marks: _propTypes["default"].array,
70
- xAxis: _propTypes["default"].func,
71
- arrowPath: _propTypes["default"].string,
72
- onFormatTimeLegend: _propTypes["default"].func.isRequired
73
- };
74
- XAxis.defaultProps = {
75
- arrowPath: _axesStyles.arrow
76
- };