sense-react-timeline-editor 1.1.28 → 1.1.30

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/dist/index.esm.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import React, { useRef, useEffect, cloneElement, useImperativeHandle, useState, useLayoutEffect, useCallback, useMemo, memo, forwardRef } from 'react';
2
2
  import { AutoSizer, Grid, ScrollSync } from 'react-virtualized';
3
- import { useThrottleEffect } from 'ahooks';
3
+ import { useThrottleEffect, useThrottleFn } from 'ahooks';
4
4
  import { prefixNames } from 'framework-utils';
5
5
  import interact from 'interactjs';
6
6
  import { useSelectionContainer } from '@air/react-drag-to-select';
7
7
  import { message } from 'antd/es';
8
8
  import { Howl } from 'howler';
9
- import { groupBy } from 'lodash-es';
9
+ import { groupBy, throttle } from 'lodash-es';
10
10
  import useSize from 'ahooks/es/useSize';
11
11
 
12
12
  function _arrayLikeToArray(r, a) {
@@ -4237,7 +4237,7 @@ var EditAreaO = /*#__PURE__*/React.forwardRef(function (props, ref) {
4237
4237
  var index = _ref5.index;
4238
4238
  return heights[index] || _rowHeight || 0;
4239
4239
  },
4240
- overscanRowCount: 10,
4240
+ overscanRowCount: 100,
4241
4241
  overscanColumnCount: 0,
4242
4242
  onScroll: function onScroll(param) {
4243
4243
  _onScroll(param);
@@ -4322,7 +4322,7 @@ var TimeArea = function TimeArea(_ref) {
4322
4322
  var gridRef = useRef();
4323
4323
  /** 是否显示细分刻度 */
4324
4324
  var showUnit = scaleSplitCount > 0;
4325
- var visibleWidth = timelineWidth;
4325
+ var visibleWidth = document.documentElement.clientWidth;
4326
4326
  /** 获取每个 cell 渲染内容 */
4327
4327
  var cellRenderer = function cellRenderer(_ref2) {
4328
4328
  var columnIndex = _ref2.columnIndex,
@@ -4362,6 +4362,7 @@ var TimeArea = function TimeArea(_ref) {
4362
4362
  var estColumnWidth = getColumnWidth({
4363
4363
  index: 1
4364
4364
  });
4365
+ console.log('estColumnWidth', estColumnWidth, ', scrollLeft = ', scrollLeft);
4365
4366
  return /*#__PURE__*/React.createElement("div", {
4366
4367
  className: prefix('time-area')
4367
4368
  }, /*#__PURE__*/React.createElement(AutoSizer, null, function (_ref3) {
@@ -4394,7 +4395,7 @@ var TimeArea = function TimeArea(_ref) {
4394
4395
  if (hideCursor) return;
4395
4396
  var rect = e.currentTarget.getBoundingClientRect();
4396
4397
  var position = e.clientX - rect.x;
4397
- var left = Math.max(position + scrollLeft, startLeft);
4398
+ var left = Math.max(position, startLeft);
4398
4399
  if (left > maxScaleCount * scaleWidth + startLeft) return;
4399
4400
  var time = parserPixelToTime(left, {
4400
4401
  startLeft: startLeft,
@@ -4729,9 +4730,8 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4729
4730
  var data = scrollSync.current.state.scrollLeft + delta;
4730
4731
  var maxScrollLeft = getMaxScrollLeft();
4731
4732
  if (data > maxScrollLeft) return;
4732
- var nextScrollLeft = Math.max(scrollSync.current.state.scrollLeft + delta, 0);
4733
4733
  scrollSync.current && scrollSync.current.setState({
4734
- scrollLeft: nextScrollLeft
4734
+ scrollLeft: Math.max(scrollSync.current.state.scrollLeft + delta, 0)
4735
4735
  });
4736
4736
  }, [getMaxScrollLeft]);
4737
4737
  useLayoutEffect(function () {
@@ -4739,6 +4739,10 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4739
4739
  var maxScrollLeft = getMaxScrollLeft();
4740
4740
  var currentScrollLeft = (_scrollSync$current$s = (_scrollSync$current = scrollSync.current) === null || _scrollSync$current === void 0 ? void 0 : _scrollSync$current.state.scrollLeft) !== null && _scrollSync$current$s !== void 0 ? _scrollSync$current$s : 0;
4741
4741
  var nextScrollLeft = Math.min(Math.max(currentScrollLeft, 0), maxScrollLeft);
4742
+ var timelineEl = document.querySelector('.timeline-editor');
4743
+ if (timelineEl && Math.abs(timelineEl.scrollLeft - nextScrollLeft) > 1) {
4744
+ timelineEl.scrollLeft = nextScrollLeft;
4745
+ }
4742
4746
  if (scrollSync.current && Math.abs(currentScrollLeft - nextScrollLeft) > 1) {
4743
4747
  scrollSync.current.setState({
4744
4748
  scrollLeft: nextScrollLeft
@@ -4795,6 +4799,12 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4795
4799
  target: target,
4796
4800
  evt: e
4797
4801
  });
4802
+ if (target.closest('#time-editor-container')) {
4803
+ // @ts-expect-error 类型断言
4804
+ var event = e;
4805
+ throttledOnClickTimeline(event);
4806
+ return;
4807
+ }
4798
4808
  };
4799
4809
  document.addEventListener('mousedown', handleClickOutside);
4800
4810
  return function () {
@@ -4836,8 +4846,11 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4836
4846
  });
4837
4847
  },
4838
4848
  setScrollLeftFromTime: function setScrollLeftFromTime(val) {
4849
+ var containerEl = document.querySelector('.timeline-editor');
4850
+ if (!containerEl) return;
4839
4851
  var left = startLeft + scaleWidth / scale * val;
4840
4852
  var nextScrollLeft = Math.min(Math.max(left, 0), getMaxScrollLeft());
4853
+ containerEl.scrollLeft = nextScrollLeft;
4841
4854
  scrollSync.current && scrollSync.current.setState({
4842
4855
  scrollLeft: nextScrollLeft
4843
4856
  });
@@ -4850,11 +4863,12 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4850
4863
  };
4851
4864
  });
4852
4865
  var onClickTimeline = useCallback(function (e) {
4853
- var _scrollSync$current$s2, _scrollSync$current2, _e$target;
4866
+ var _ref2, _timelineEditorEl$scr, _scrollSync$current2, _e$target;
4854
4867
  if (!domRef.current) return;
4868
+ var timelineEditorEl = document.querySelector('.timeline-editor');
4855
4869
  var rect = domRef.current.getBoundingClientRect();
4856
4870
  var position = e.clientX - rect.x;
4857
- var scrollLeft = (_scrollSync$current$s2 = (_scrollSync$current2 = scrollSync.current) === null || _scrollSync$current2 === void 0 ? void 0 : _scrollSync$current2.state.scrollLeft) !== null && _scrollSync$current$s2 !== void 0 ? _scrollSync$current$s2 : 0;
4871
+ var scrollLeft = (_ref2 = (_timelineEditorEl$scr = timelineEditorEl === null || timelineEditorEl === void 0 ? void 0 : timelineEditorEl.scrollLeft) !== null && _timelineEditorEl$scr !== void 0 ? _timelineEditorEl$scr : (_scrollSync$current2 = scrollSync.current) === null || _scrollSync$current2 === void 0 ? void 0 : _scrollSync$current2.state.scrollLeft) !== null && _ref2 !== void 0 ? _ref2 : 0;
4858
4872
  var left = position + scrollLeft;
4859
4873
  var time = parserPixelToTime(left, {
4860
4874
  startLeft: startLeft,
@@ -4869,6 +4883,10 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4869
4883
  updateTime: true
4870
4884
  });
4871
4885
  }, [startLeft, scale, scaleWidth, hideCursor, handleSetCursor]);
4886
+ var _useThrottleFn = useThrottleFn(onClickTimeline, {
4887
+ wait: 50
4888
+ }),
4889
+ throttledOnClickTimeline = _useThrottleFn.run;
4872
4890
  // 监听timeline区域宽度变化
4873
4891
  useEffect(function () {
4874
4892
  if (areaRef.current) {
@@ -4882,6 +4900,42 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4882
4900
  };
4883
4901
  }
4884
4902
  }, []);
4903
+ var containerEl = document.querySelector('.timeline-editor');
4904
+ useEffect(function () {
4905
+ var containerEl = document.querySelector('.timeline-editor');
4906
+ var handleScroll = throttle(function (e) {
4907
+ console.log('handleScroll', e);
4908
+ var scrollLeft = e.target.scrollLeft || 0;
4909
+ scrollSync.current && scrollSync.current.setState({
4910
+ scrollLeft: scrollLeft
4911
+ });
4912
+ var clientWidth = document.documentElement.clientWidth;
4913
+ var timeStart = parserPixelToTime(scrollLeft, {
4914
+ startLeft: startLeft,
4915
+ scale: scale,
4916
+ scaleWidth: scaleWidth
4917
+ });
4918
+ var timeEnd = parserPixelToTime(scrollLeft + clientWidth, {
4919
+ startLeft: startLeft,
4920
+ scale: scale,
4921
+ scaleWidth: scaleWidth
4922
+ });
4923
+ window.dispatchEvent(new CustomEvent('container-scroll', {
4924
+ detail: {
4925
+ scrollLeft: scrollLeft,
4926
+ scrollWidth: containerEl.scrollWidth,
4927
+ clientWidth: clientWidth,
4928
+ timeStart: timeStart,
4929
+ timeEnd: timeEnd
4930
+ }
4931
+ }));
4932
+ }, 100);
4933
+ containerEl.addEventListener('scroll', handleScroll);
4934
+ return function () {
4935
+ containerEl.removeEventListener('scroll', handleScroll);
4936
+ handleScroll.cancel();
4937
+ };
4938
+ }, [startLeft, scale, scaleWidth]);
4885
4939
  console.log('Timeline cursorTime = ', cursorTime);
4886
4940
  return /*#__PURE__*/React.createElement("div", {
4887
4941
  ref: domRef,
@@ -4889,11 +4943,10 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4889
4943
  className: "".concat(className || '', " ").concat(theme || '', " ").concat(PREFIX, " ").concat(disableDrag ? PREFIX + '-disable' : '')
4890
4944
  }, /*#__PURE__*/React.createElement(ScrollSync, {
4891
4945
  ref: scrollSync
4892
- }, function (_ref2) {
4893
- var scrollTop = _ref2.scrollTop,
4894
- _ref2$scrollLeft = _ref2.scrollLeft,
4895
- scrollLeft = _ref2$scrollLeft === void 0 ? 0 : _ref2$scrollLeft,
4896
- _onScroll = _ref2.onScroll;
4946
+ }, function (_ref3) {
4947
+ var scrollTop = _ref3.scrollTop,
4948
+ _onScroll = _ref3.onScroll;
4949
+ var scrollLeft = (containerEl === null || containerEl === void 0 ? void 0 : containerEl.scrollLeft) || 0;
4897
4950
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TimeArea, _objectSpread2(_objectSpread2({}, checkedProps), {}, {
4898
4951
  timelineWidth: width,
4899
4952
  disableDrag: disableDrag || isPlaying,
@@ -4907,8 +4960,8 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4907
4960
  cursorRef: cursorRef
4908
4961
  })), areaCount === 1 ? (/*#__PURE__*/React.createElement(EditArea, _objectSpread2(_objectSpread2({}, checkedProps), {}, {
4909
4962
  timelineWidth: width,
4910
- ref: function ref(_ref3) {
4911
- return areaRef.current = _ref3 === null || _ref3 === void 0 ? void 0 : _ref3.domRef.current;
4963
+ ref: function ref(_ref4) {
4964
+ return areaRef.current = _ref4 === null || _ref4 === void 0 ? void 0 : _ref4.domRef.current;
4912
4965
  },
4913
4966
  disableDrag: disableDrag || isPlaying,
4914
4967
  editorData: editorData,
@@ -4940,7 +4993,7 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4940
4993
  height: '100%',
4941
4994
  background: '#fff'
4942
4995
  },
4943
- onClick: onClickTimeline
4996
+ onClick: throttledOnClickTimeline
4944
4997
  }, Object.keys(groupedData).map(function (key, index) {
4945
4998
  var handleGroupDataChange = function handleGroupDataChange(updatedData) {
4946
4999
  var mergedData = editorData.filter(function (item) {
@@ -4969,8 +5022,8 @@ var Timeline = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (p
4969
5022
  }, checkedProps), {}, {
4970
5023
  className: index !== 0 ? "no-flex ".concat(key, " ").concat(index, " overflow-hidden") : "overflow-hidden ".concat(key, " ").concat(index),
4971
5024
  timelineWidth: width,
4972
- ref: function ref(_ref4) {
4973
- return areaRef.current = _ref4 === null || _ref4 === void 0 ? void 0 : _ref4.domRef.current;
5025
+ ref: function ref(_ref5) {
5026
+ return areaRef.current = _ref5 === null || _ref5 === void 0 ? void 0 : _ref5.domRef.current;
4974
5027
  },
4975
5028
  disableDrag: disableDrag || isPlaying,
4976
5029
  editorData: groupedData[key],
package/dist/index.js CHANGED
@@ -4247,7 +4247,7 @@ var EditAreaO = /*#__PURE__*/React__default['default'].forwardRef(function (prop
4247
4247
  var index = _ref5.index;
4248
4248
  return heights[index] || _rowHeight || 0;
4249
4249
  },
4250
- overscanRowCount: 10,
4250
+ overscanRowCount: 100,
4251
4251
  overscanColumnCount: 0,
4252
4252
  onScroll: function onScroll(param) {
4253
4253
  _onScroll(param);
@@ -4332,7 +4332,7 @@ var TimeArea = function TimeArea(_ref) {
4332
4332
  var gridRef = React.useRef();
4333
4333
  /** 是否显示细分刻度 */
4334
4334
  var showUnit = scaleSplitCount > 0;
4335
- var visibleWidth = timelineWidth;
4335
+ var visibleWidth = document.documentElement.clientWidth;
4336
4336
  /** 获取每个 cell 渲染内容 */
4337
4337
  var cellRenderer = function cellRenderer(_ref2) {
4338
4338
  var columnIndex = _ref2.columnIndex,
@@ -4372,6 +4372,7 @@ var TimeArea = function TimeArea(_ref) {
4372
4372
  var estColumnWidth = getColumnWidth({
4373
4373
  index: 1
4374
4374
  });
4375
+ console.log('estColumnWidth', estColumnWidth, ', scrollLeft = ', scrollLeft);
4375
4376
  return /*#__PURE__*/React__default['default'].createElement("div", {
4376
4377
  className: prefix('time-area')
4377
4378
  }, /*#__PURE__*/React__default['default'].createElement(reactVirtualized.AutoSizer, null, function (_ref3) {
@@ -4404,7 +4405,7 @@ var TimeArea = function TimeArea(_ref) {
4404
4405
  if (hideCursor) return;
4405
4406
  var rect = e.currentTarget.getBoundingClientRect();
4406
4407
  var position = e.clientX - rect.x;
4407
- var left = Math.max(position + scrollLeft, startLeft);
4408
+ var left = Math.max(position, startLeft);
4408
4409
  if (left > maxScaleCount * scaleWidth + startLeft) return;
4409
4410
  var time = parserPixelToTime(left, {
4410
4411
  startLeft: startLeft,
@@ -4739,9 +4740,8 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4739
4740
  var data = scrollSync.current.state.scrollLeft + delta;
4740
4741
  var maxScrollLeft = getMaxScrollLeft();
4741
4742
  if (data > maxScrollLeft) return;
4742
- var nextScrollLeft = Math.max(scrollSync.current.state.scrollLeft + delta, 0);
4743
4743
  scrollSync.current && scrollSync.current.setState({
4744
- scrollLeft: nextScrollLeft
4744
+ scrollLeft: Math.max(scrollSync.current.state.scrollLeft + delta, 0)
4745
4745
  });
4746
4746
  }, [getMaxScrollLeft]);
4747
4747
  React.useLayoutEffect(function () {
@@ -4749,6 +4749,10 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4749
4749
  var maxScrollLeft = getMaxScrollLeft();
4750
4750
  var currentScrollLeft = (_scrollSync$current$s = (_scrollSync$current = scrollSync.current) === null || _scrollSync$current === void 0 ? void 0 : _scrollSync$current.state.scrollLeft) !== null && _scrollSync$current$s !== void 0 ? _scrollSync$current$s : 0;
4751
4751
  var nextScrollLeft = Math.min(Math.max(currentScrollLeft, 0), maxScrollLeft);
4752
+ var timelineEl = document.querySelector('.timeline-editor');
4753
+ if (timelineEl && Math.abs(timelineEl.scrollLeft - nextScrollLeft) > 1) {
4754
+ timelineEl.scrollLeft = nextScrollLeft;
4755
+ }
4752
4756
  if (scrollSync.current && Math.abs(currentScrollLeft - nextScrollLeft) > 1) {
4753
4757
  scrollSync.current.setState({
4754
4758
  scrollLeft: nextScrollLeft
@@ -4805,6 +4809,12 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4805
4809
  target: target,
4806
4810
  evt: e
4807
4811
  });
4812
+ if (target.closest('#time-editor-container')) {
4813
+ // @ts-expect-error 类型断言
4814
+ var event = e;
4815
+ throttledOnClickTimeline(event);
4816
+ return;
4817
+ }
4808
4818
  };
4809
4819
  document.addEventListener('mousedown', handleClickOutside);
4810
4820
  return function () {
@@ -4846,8 +4856,11 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4846
4856
  });
4847
4857
  },
4848
4858
  setScrollLeftFromTime: function setScrollLeftFromTime(val) {
4859
+ var containerEl = document.querySelector('.timeline-editor');
4860
+ if (!containerEl) return;
4849
4861
  var left = startLeft + scaleWidth / scale * val;
4850
4862
  var nextScrollLeft = Math.min(Math.max(left, 0), getMaxScrollLeft());
4863
+ containerEl.scrollLeft = nextScrollLeft;
4851
4864
  scrollSync.current && scrollSync.current.setState({
4852
4865
  scrollLeft: nextScrollLeft
4853
4866
  });
@@ -4860,11 +4873,12 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4860
4873
  };
4861
4874
  });
4862
4875
  var onClickTimeline = React.useCallback(function (e) {
4863
- var _scrollSync$current$s2, _scrollSync$current2, _e$target;
4876
+ var _ref2, _timelineEditorEl$scr, _scrollSync$current2, _e$target;
4864
4877
  if (!domRef.current) return;
4878
+ var timelineEditorEl = document.querySelector('.timeline-editor');
4865
4879
  var rect = domRef.current.getBoundingClientRect();
4866
4880
  var position = e.clientX - rect.x;
4867
- var scrollLeft = (_scrollSync$current$s2 = (_scrollSync$current2 = scrollSync.current) === null || _scrollSync$current2 === void 0 ? void 0 : _scrollSync$current2.state.scrollLeft) !== null && _scrollSync$current$s2 !== void 0 ? _scrollSync$current$s2 : 0;
4881
+ var scrollLeft = (_ref2 = (_timelineEditorEl$scr = timelineEditorEl === null || timelineEditorEl === void 0 ? void 0 : timelineEditorEl.scrollLeft) !== null && _timelineEditorEl$scr !== void 0 ? _timelineEditorEl$scr : (_scrollSync$current2 = scrollSync.current) === null || _scrollSync$current2 === void 0 ? void 0 : _scrollSync$current2.state.scrollLeft) !== null && _ref2 !== void 0 ? _ref2 : 0;
4868
4882
  var left = position + scrollLeft;
4869
4883
  var time = parserPixelToTime(left, {
4870
4884
  startLeft: startLeft,
@@ -4879,6 +4893,10 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4879
4893
  updateTime: true
4880
4894
  });
4881
4895
  }, [startLeft, scale, scaleWidth, hideCursor, handleSetCursor]);
4896
+ var _useThrottleFn = ahooks.useThrottleFn(onClickTimeline, {
4897
+ wait: 50
4898
+ }),
4899
+ throttledOnClickTimeline = _useThrottleFn.run;
4882
4900
  // 监听timeline区域宽度变化
4883
4901
  React.useEffect(function () {
4884
4902
  if (areaRef.current) {
@@ -4892,6 +4910,42 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4892
4910
  };
4893
4911
  }
4894
4912
  }, []);
4913
+ var containerEl = document.querySelector('.timeline-editor');
4914
+ React.useEffect(function () {
4915
+ var containerEl = document.querySelector('.timeline-editor');
4916
+ var handleScroll = lodashEs.throttle(function (e) {
4917
+ console.log('handleScroll', e);
4918
+ var scrollLeft = e.target.scrollLeft || 0;
4919
+ scrollSync.current && scrollSync.current.setState({
4920
+ scrollLeft: scrollLeft
4921
+ });
4922
+ var clientWidth = document.documentElement.clientWidth;
4923
+ var timeStart = parserPixelToTime(scrollLeft, {
4924
+ startLeft: startLeft,
4925
+ scale: scale,
4926
+ scaleWidth: scaleWidth
4927
+ });
4928
+ var timeEnd = parserPixelToTime(scrollLeft + clientWidth, {
4929
+ startLeft: startLeft,
4930
+ scale: scale,
4931
+ scaleWidth: scaleWidth
4932
+ });
4933
+ window.dispatchEvent(new CustomEvent('container-scroll', {
4934
+ detail: {
4935
+ scrollLeft: scrollLeft,
4936
+ scrollWidth: containerEl.scrollWidth,
4937
+ clientWidth: clientWidth,
4938
+ timeStart: timeStart,
4939
+ timeEnd: timeEnd
4940
+ }
4941
+ }));
4942
+ }, 100);
4943
+ containerEl.addEventListener('scroll', handleScroll);
4944
+ return function () {
4945
+ containerEl.removeEventListener('scroll', handleScroll);
4946
+ handleScroll.cancel();
4947
+ };
4948
+ }, [startLeft, scale, scaleWidth]);
4895
4949
  console.log('Timeline cursorTime = ', cursorTime);
4896
4950
  return /*#__PURE__*/React__default['default'].createElement("div", {
4897
4951
  ref: domRef,
@@ -4899,11 +4953,10 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4899
4953
  className: "".concat(className || '', " ").concat(theme || '', " ").concat(PREFIX, " ").concat(disableDrag ? PREFIX + '-disable' : '')
4900
4954
  }, /*#__PURE__*/React__default['default'].createElement(reactVirtualized.ScrollSync, {
4901
4955
  ref: scrollSync
4902
- }, function (_ref2) {
4903
- var scrollTop = _ref2.scrollTop,
4904
- _ref2$scrollLeft = _ref2.scrollLeft,
4905
- scrollLeft = _ref2$scrollLeft === void 0 ? 0 : _ref2$scrollLeft,
4906
- _onScroll = _ref2.onScroll;
4956
+ }, function (_ref3) {
4957
+ var scrollTop = _ref3.scrollTop,
4958
+ _onScroll = _ref3.onScroll;
4959
+ var scrollLeft = (containerEl === null || containerEl === void 0 ? void 0 : containerEl.scrollLeft) || 0;
4907
4960
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(TimeArea, _objectSpread2(_objectSpread2({}, checkedProps), {}, {
4908
4961
  timelineWidth: width,
4909
4962
  disableDrag: disableDrag || isPlaying,
@@ -4917,8 +4970,8 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4917
4970
  cursorRef: cursorRef
4918
4971
  })), areaCount === 1 ? (/*#__PURE__*/React__default['default'].createElement(EditArea, _objectSpread2(_objectSpread2({}, checkedProps), {}, {
4919
4972
  timelineWidth: width,
4920
- ref: function ref(_ref3) {
4921
- return areaRef.current = _ref3 === null || _ref3 === void 0 ? void 0 : _ref3.domRef.current;
4973
+ ref: function ref(_ref4) {
4974
+ return areaRef.current = _ref4 === null || _ref4 === void 0 ? void 0 : _ref4.domRef.current;
4922
4975
  },
4923
4976
  disableDrag: disableDrag || isPlaying,
4924
4977
  editorData: editorData,
@@ -4950,7 +5003,7 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4950
5003
  height: '100%',
4951
5004
  background: '#fff'
4952
5005
  },
4953
- onClick: onClickTimeline
5006
+ onClick: throttledOnClickTimeline
4954
5007
  }, Object.keys(groupedData).map(function (key, index) {
4955
5008
  var handleGroupDataChange = function handleGroupDataChange(updatedData) {
4956
5009
  var mergedData = editorData.filter(function (item) {
@@ -4979,8 +5032,8 @@ var Timeline = /*#__PURE__*/React__default['default'].memo(/*#__PURE__*/React__d
4979
5032
  }, checkedProps), {}, {
4980
5033
  className: index !== 0 ? "no-flex ".concat(key, " ").concat(index, " overflow-hidden") : "overflow-hidden ".concat(key, " ").concat(index),
4981
5034
  timelineWidth: width,
4982
- ref: function ref(_ref4) {
4983
- return areaRef.current = _ref4 === null || _ref4 === void 0 ? void 0 : _ref4.domRef.current;
5035
+ ref: function ref(_ref5) {
5036
+ return areaRef.current = _ref5 === null || _ref5 === void 0 ? void 0 : _ref5.domRef.current;
4984
5037
  },
4985
5038
  disableDrag: disableDrag || isPlaying,
4986
5039
  editorData: groupedData[key],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sense-react-timeline-editor",
3
- "version": "1.1.28",
3
+ "version": "1.1.30",
4
4
  "author": "xzdarcy",
5
5
  "license": "MIT",
6
6
  "keywords": [