sense-react-timeline-editor 1.1.34 → 1.1.36

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
@@ -5,7 +5,7 @@ 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
- import { Howl } from 'howler';
8
+ import 'howler';
9
9
  import { groupBy, throttle } from 'lodash-es';
10
10
  import useSize from 'ahooks/es/useSize';
11
11
 
@@ -1873,11 +1873,13 @@ var RowDnd = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1873
1873
  var preLeft = parseFloat(left || '0');
1874
1874
  var preWidth = parseFloat(width || '0');
1875
1875
  deltaX.current += delta;
1876
- resize({
1877
- preLeft: preLeft,
1878
- preWidth: preWidth,
1879
- dir: dir
1880
- });
1876
+ setTimeout(function () {
1877
+ resize({
1878
+ preLeft: preLeft,
1879
+ preWidth: preWidth,
1880
+ dir: dir
1881
+ });
1882
+ }, 0);
1881
1883
  });
1882
1884
  if (!result) return;
1883
1885
  }
@@ -1887,11 +1889,13 @@ var RowDnd = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
1887
1889
  var preLeft = parseFloat(left || '0');
1888
1890
  var preWidth = parseFloat(width || '0');
1889
1891
  deltaX.current += dir === 'left' ? e.deltaRect.left : e.deltaRect.right;
1890
- resize({
1891
- preLeft: preLeft,
1892
- preWidth: preWidth,
1893
- dir: dir
1894
- });
1892
+ setTimeout(function () {
1893
+ resize({
1894
+ preLeft: preLeft,
1895
+ preWidth: preWidth,
1896
+ dir: dir
1897
+ });
1898
+ }, 0);
1895
1899
  };
1896
1900
  var handleResizeStop = function handleResizeStop(e) {
1897
1901
  var _e$edges3;
@@ -2280,6 +2284,10 @@ var EditActionO = function EditActionO(_ref8) {
2280
2284
  _useState2 = _slicedToArray(_useState, 2),
2281
2285
  dragging = _useState2[0],
2282
2286
  setDragging = _useState2[1];
2287
+ var _useState3 = useState(false),
2288
+ _useState4 = _slicedToArray(_useState3, 2),
2289
+ resizing = _useState4[0],
2290
+ setResizing = _useState4[1];
2283
2291
  var originStart = start;
2284
2292
  parserTimeToPixel(originStart, {
2285
2293
  startLeft: startLeft,
@@ -2311,7 +2319,7 @@ var EditActionO = function EditActionO(_ref8) {
2311
2319
  scaleWidth: scaleWidth
2312
2320
  }));
2313
2321
  // 初始化动作坐标数据
2314
- var _useState3 = useState(function () {
2322
+ var _useState5 = useState(function () {
2315
2323
  return _objectSpread2(_objectSpread2({}, parserTimeToTransform({
2316
2324
  start: start,
2317
2325
  end: end
@@ -2323,9 +2331,9 @@ var EditActionO = function EditActionO(_ref8) {
2323
2331
  top: 0
2324
2332
  });
2325
2333
  }),
2326
- _useState4 = _slicedToArray(_useState3, 2),
2327
- transform = _useState4[0],
2328
- setTransform = _useState4[1];
2334
+ _useState6 = _slicedToArray(_useState5, 2),
2335
+ transform = _useState6[0],
2336
+ setTransform = _useState6[1];
2329
2337
  useLayoutEffect(function () {
2330
2338
  setTransform(_objectSpread2(_objectSpread2({}, parserTimeToTransform({
2331
2339
  start: start,
@@ -2727,6 +2735,7 @@ var EditActionO = function EditActionO(_ref8) {
2727
2735
  row: row,
2728
2736
  dir: dir
2729
2737
  });
2738
+ setResizing(true);
2730
2739
  };
2731
2740
  var handleResizing = function handleResizing(dir, _ref1) {
2732
2741
  var left = _ref1.left,
@@ -2785,6 +2794,7 @@ var EditActionO = function EditActionO(_ref8) {
2785
2794
  action.start = start;
2786
2795
  action.end = end;
2787
2796
  setEditorData(editorData);
2797
+ setResizing(false);
2788
2798
  // 触发回调
2789
2799
  if (onActionResizeEnd) onActionResizeEnd({
2790
2800
  action: action,
@@ -2942,7 +2952,7 @@ var EditActionO = function EditActionO(_ref8) {
2942
2952
  style: {
2943
2953
  height: rowHeight
2944
2954
  }
2945
- }, getActionRender && getActionRender(nowAction, nowRow), flexible && (/*#__PURE__*/React.createElement("div", {
2955
+ }, getActionRender && getActionRender(nowAction, nowRow, resizing), flexible && (/*#__PURE__*/React.createElement("div", {
2946
2956
  className: prefix('action-left-stretch')
2947
2957
  }, /*#__PURE__*/React.createElement("img", {
2948
2958
  src: stretchIcon,
@@ -3579,26 +3589,6 @@ var useRowDrag = function useRowDrag(options) {
3579
3589
  };
3580
3590
  };
3581
3591
 
3582
- // 获取音频时长
3583
- var getAudioDuration = function getAudioDuration(url) {
3584
- return new Promise(function (resolve) {
3585
- var sound = new Howl({
3586
- src: url
3587
- });
3588
- sound.on('load', function () {
3589
- resolve(sound.duration());
3590
- sound.unload();
3591
- });
3592
- setTimeout(function () {
3593
- resolve(2); // 加载失败时返回默认时长2秒
3594
- sound.unload();
3595
- }, 6 * 1000); // 60秒超时 60 * 1000
3596
- sound.on('loaderror', function () {
3597
- resolve(2); // 加载失败时返回默认时长2秒
3598
- sound.unload();
3599
- });
3600
- });
3601
- };
3602
3592
  var EditAreaO = /*#__PURE__*/React.forwardRef(function (props, ref) {
3603
3593
  var className = props.className,
3604
3594
  _props$isMulti = props.isMulti,
@@ -3650,7 +3640,7 @@ var EditAreaO = /*#__PURE__*/React.forwardRef(function (props, ref) {
3650
3640
  return /*#__PURE__*/function () {
3651
3641
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(info) {
3652
3642
  var _info$file$response, _info$file, _info$file$response2;
3653
- var maxSize, hasDefault, totalDuration, _newAction, uid, duration, newAction;
3643
+ var maxSize, hasDefault, totalDuration, _newAction, uid, newAction;
3654
3644
  return _regenerator().w(function (_context) {
3655
3645
  while (1) switch (_context.n) {
3656
3646
  case 0:
@@ -3720,17 +3710,13 @@ var EditAreaO = /*#__PURE__*/React.forwardRef(function (props, ref) {
3720
3710
  return _context.a(2);
3721
3711
  case 5:
3722
3712
  uid = info.file.uid;
3723
- _context.n = 6;
3724
- return getAudioDuration(info.file.response.url);
3725
- case 6:
3726
- duration = _context.v;
3727
3713
  newAction = {
3728
3714
  id: ((_info$file$response = info.file.response) === null || _info$file$response === void 0 ? void 0 : _info$file$response.id) || uid,
3729
3715
  effectId: 'custom_video_effect',
3730
3716
  flexible: true,
3731
3717
  url: info.file.response.url,
3732
3718
  start: currentMouseTime,
3733
- end: currentMouseTime + duration,
3719
+ end: currentMouseTime + 1000,
3734
3720
  isUpload: true,
3735
3721
  segment_type: 'bgm',
3736
3722
  isUploading: false,
@@ -3738,7 +3724,7 @@ var EditAreaO = /*#__PURE__*/React.forwardRef(function (props, ref) {
3738
3724
  waveform: ((_info$file$response2 = info.file.response) === null || _info$file$response2 === void 0 ? void 0 : _info$file$response2.peaks) || []
3739
3725
  };
3740
3726
  onUpdateEditorData === null || onUpdateEditorData === void 0 ? void 0 : onUpdateEditorData(row, [newAction]);
3741
- case 7:
3727
+ case 6:
3742
3728
  return _context.a(2);
3743
3729
  }
3744
3730
  }, _callee);
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ var frameworkUtils = require('framework-utils');
9
9
  var interact = require('interactjs');
10
10
  var reactDragToSelect = require('@air/react-drag-to-select');
11
11
  var es = require('antd/es');
12
- var howler = require('howler');
12
+ require('howler');
13
13
  var lodashEs = require('lodash-es');
14
14
  var useSize = require('ahooks/es/useSize');
15
15
 
@@ -1883,11 +1883,13 @@ var RowDnd = /*#__PURE__*/React__default['default'].forwardRef(function (_ref, r
1883
1883
  var preLeft = parseFloat(left || '0');
1884
1884
  var preWidth = parseFloat(width || '0');
1885
1885
  deltaX.current += delta;
1886
- resize({
1887
- preLeft: preLeft,
1888
- preWidth: preWidth,
1889
- dir: dir
1890
- });
1886
+ setTimeout(function () {
1887
+ resize({
1888
+ preLeft: preLeft,
1889
+ preWidth: preWidth,
1890
+ dir: dir
1891
+ });
1892
+ }, 0);
1891
1893
  });
1892
1894
  if (!result) return;
1893
1895
  }
@@ -1897,11 +1899,13 @@ var RowDnd = /*#__PURE__*/React__default['default'].forwardRef(function (_ref, r
1897
1899
  var preLeft = parseFloat(left || '0');
1898
1900
  var preWidth = parseFloat(width || '0');
1899
1901
  deltaX.current += dir === 'left' ? e.deltaRect.left : e.deltaRect.right;
1900
- resize({
1901
- preLeft: preLeft,
1902
- preWidth: preWidth,
1903
- dir: dir
1904
- });
1902
+ setTimeout(function () {
1903
+ resize({
1904
+ preLeft: preLeft,
1905
+ preWidth: preWidth,
1906
+ dir: dir
1907
+ });
1908
+ }, 0);
1905
1909
  };
1906
1910
  var handleResizeStop = function handleResizeStop(e) {
1907
1911
  var _e$edges3;
@@ -2290,6 +2294,10 @@ var EditActionO = function EditActionO(_ref8) {
2290
2294
  _useState2 = _slicedToArray(_useState, 2),
2291
2295
  dragging = _useState2[0],
2292
2296
  setDragging = _useState2[1];
2297
+ var _useState3 = React.useState(false),
2298
+ _useState4 = _slicedToArray(_useState3, 2),
2299
+ resizing = _useState4[0],
2300
+ setResizing = _useState4[1];
2293
2301
  var originStart = start;
2294
2302
  parserTimeToPixel(originStart, {
2295
2303
  startLeft: startLeft,
@@ -2321,7 +2329,7 @@ var EditActionO = function EditActionO(_ref8) {
2321
2329
  scaleWidth: scaleWidth
2322
2330
  }));
2323
2331
  // 初始化动作坐标数据
2324
- var _useState3 = React.useState(function () {
2332
+ var _useState5 = React.useState(function () {
2325
2333
  return _objectSpread2(_objectSpread2({}, parserTimeToTransform({
2326
2334
  start: start,
2327
2335
  end: end
@@ -2333,9 +2341,9 @@ var EditActionO = function EditActionO(_ref8) {
2333
2341
  top: 0
2334
2342
  });
2335
2343
  }),
2336
- _useState4 = _slicedToArray(_useState3, 2),
2337
- transform = _useState4[0],
2338
- setTransform = _useState4[1];
2344
+ _useState6 = _slicedToArray(_useState5, 2),
2345
+ transform = _useState6[0],
2346
+ setTransform = _useState6[1];
2339
2347
  React.useLayoutEffect(function () {
2340
2348
  setTransform(_objectSpread2(_objectSpread2({}, parserTimeToTransform({
2341
2349
  start: start,
@@ -2737,6 +2745,7 @@ var EditActionO = function EditActionO(_ref8) {
2737
2745
  row: row,
2738
2746
  dir: dir
2739
2747
  });
2748
+ setResizing(true);
2740
2749
  };
2741
2750
  var handleResizing = function handleResizing(dir, _ref1) {
2742
2751
  var left = _ref1.left,
@@ -2795,6 +2804,7 @@ var EditActionO = function EditActionO(_ref8) {
2795
2804
  action.start = start;
2796
2805
  action.end = end;
2797
2806
  setEditorData(editorData);
2807
+ setResizing(false);
2798
2808
  // 触发回调
2799
2809
  if (onActionResizeEnd) onActionResizeEnd({
2800
2810
  action: action,
@@ -2952,7 +2962,7 @@ var EditActionO = function EditActionO(_ref8) {
2952
2962
  style: {
2953
2963
  height: rowHeight
2954
2964
  }
2955
- }, getActionRender && getActionRender(nowAction, nowRow), flexible && (/*#__PURE__*/React__default['default'].createElement("div", {
2965
+ }, getActionRender && getActionRender(nowAction, nowRow, resizing), flexible && (/*#__PURE__*/React__default['default'].createElement("div", {
2956
2966
  className: prefix('action-left-stretch')
2957
2967
  }, /*#__PURE__*/React__default['default'].createElement("img", {
2958
2968
  src: stretchIcon,
@@ -3589,26 +3599,6 @@ var useRowDrag = function useRowDrag(options) {
3589
3599
  };
3590
3600
  };
3591
3601
 
3592
- // 获取音频时长
3593
- var getAudioDuration = function getAudioDuration(url) {
3594
- return new Promise(function (resolve) {
3595
- var sound = new howler.Howl({
3596
- src: url
3597
- });
3598
- sound.on('load', function () {
3599
- resolve(sound.duration());
3600
- sound.unload();
3601
- });
3602
- setTimeout(function () {
3603
- resolve(2); // 加载失败时返回默认时长2秒
3604
- sound.unload();
3605
- }, 6 * 1000); // 60秒超时 60 * 1000
3606
- sound.on('loaderror', function () {
3607
- resolve(2); // 加载失败时返回默认时长2秒
3608
- sound.unload();
3609
- });
3610
- });
3611
- };
3612
3602
  var EditAreaO = /*#__PURE__*/React__default['default'].forwardRef(function (props, ref) {
3613
3603
  var className = props.className,
3614
3604
  _props$isMulti = props.isMulti,
@@ -3660,7 +3650,7 @@ var EditAreaO = /*#__PURE__*/React__default['default'].forwardRef(function (prop
3660
3650
  return /*#__PURE__*/function () {
3661
3651
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(info) {
3662
3652
  var _info$file$response, _info$file, _info$file$response2;
3663
- var maxSize, hasDefault, totalDuration, _newAction, uid, duration, newAction;
3653
+ var maxSize, hasDefault, totalDuration, _newAction, uid, newAction;
3664
3654
  return _regenerator().w(function (_context) {
3665
3655
  while (1) switch (_context.n) {
3666
3656
  case 0:
@@ -3730,17 +3720,13 @@ var EditAreaO = /*#__PURE__*/React__default['default'].forwardRef(function (prop
3730
3720
  return _context.a(2);
3731
3721
  case 5:
3732
3722
  uid = info.file.uid;
3733
- _context.n = 6;
3734
- return getAudioDuration(info.file.response.url);
3735
- case 6:
3736
- duration = _context.v;
3737
3723
  newAction = {
3738
3724
  id: ((_info$file$response = info.file.response) === null || _info$file$response === void 0 ? void 0 : _info$file$response.id) || uid,
3739
3725
  effectId: 'custom_video_effect',
3740
3726
  flexible: true,
3741
3727
  url: info.file.response.url,
3742
3728
  start: currentMouseTime,
3743
- end: currentMouseTime + duration,
3729
+ end: currentMouseTime + 1000,
3744
3730
  isUpload: true,
3745
3731
  segment_type: 'bgm',
3746
3732
  isUploading: false,
@@ -3748,7 +3734,7 @@ var EditAreaO = /*#__PURE__*/React__default['default'].forwardRef(function (prop
3748
3734
  waveform: ((_info$file$response2 = info.file.response) === null || _info$file$response2 === void 0 ? void 0 : _info$file$response2.peaks) || []
3749
3735
  };
3750
3736
  onUpdateEditorData === null || onUpdateEditorData === void 0 ? void 0 : onUpdateEditorData(row, [newAction]);
3751
- case 7:
3737
+ case 6:
3752
3738
  return _context.a(2);
3753
3739
  }
3754
3740
  }, _callee);
@@ -84,7 +84,7 @@ export interface EditData {
84
84
  /**
85
85
  * @description 自定义action区域渲染
86
86
  */
87
- getActionRender?: (action: TimelineAction, row: TimelineRow) => ReactNode;
87
+ getActionRender?: (action: TimelineAction, row: TimelineRow, resizing?: boolean) => ReactNode;
88
88
  /**
89
89
  * @description 自定义scale渲染
90
90
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sense-react-timeline-editor",
3
- "version": "1.1.34",
3
+ "version": "1.1.36",
4
4
  "author": "xzdarcy",
5
5
  "license": "MIT",
6
6
  "keywords": [