sense-react-timeline-editor 1.0.11 → 1.0.12

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.
@@ -27,6 +27,8 @@ export declare type EditAreaProps = CommonProp & {
27
27
  /** time-editor-container的ref引用 */
28
28
  containerRef?: React.MutableRefObject<HTMLDivElement>;
29
29
  engineRef?: React.MutableRefObject<ITimelineEngine>;
30
+ /** 最小高度 */
31
+ minHeight?: number;
30
32
  };
31
33
  /** edit area ref数据 */
32
34
  export interface EditAreaState {
@@ -54,4 +56,6 @@ export declare const EditArea: React.MemoExoticComponent<React.ForwardRefExoticC
54
56
  /** time-editor-container的ref引用 */
55
57
  containerRef?: React.MutableRefObject<HTMLDivElement>;
56
58
  engineRef?: React.MutableRefObject<ITimelineEngine>;
59
+ /** 最小高度 */
60
+ minHeight?: number;
57
61
  } & React.RefAttributes<EditAreaState>>>;
package/dist/index.esm.js CHANGED
@@ -1971,6 +1971,7 @@ var css_248z = ".timeline-editor-cursor {\n cursor: ew-resize;\n position: abs
1971
1971
  styleInject(css_248z);
1972
1972
 
1973
1973
  var Cursor = function Cursor(_ref) {
1974
+ var _document$querySelect;
1974
1975
  var theme = _ref.theme,
1975
1976
  disableDrag = _ref.disableDrag,
1976
1977
  cursorTime = _ref.cursorTime,
@@ -1999,9 +2000,11 @@ var Cursor = function Cursor(_ref) {
1999
2000
  }) - scrollLeft);
2000
2001
  }
2001
2002
  }, [cursorTime, startLeft, scaleWidth, scale, scrollLeft]);
2003
+ var clientHeight = ((_document$querySelect = document.querySelector("#time-editor-container")) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.clientHeight) || 0;
2002
2004
  return /*#__PURE__*/React.createElement(RowDnd, {
2003
2005
  top: theme === 'light' ? 16 : 0,
2004
2006
  start: startLeft,
2007
+ height: clientHeight,
2005
2008
  ref: rowRnd,
2006
2009
  parentRef: areaRef,
2007
2010
  bounds: {
@@ -3688,11 +3691,17 @@ var EditAreaO = /*#__PURE__*/React.forwardRef(function (props, ref) {
3688
3691
  _props$allowCreateTra = props.allowCreateTrack,
3689
3692
  allowCreateTrack = _props$allowCreateTra === void 0 ? true : _props$allowCreateTra,
3690
3693
  containerRef = props.containerRef,
3691
- engineRef = props.engineRef;
3692
- // 支持mp3\wav格式上传
3694
+ engineRef = props.engineRef,
3695
+ minHeight = props.minHeight;
3696
+ // 支持 mp3\wav 格式上传
3693
3697
  var onBeforeUpload = function onBeforeUpload(file) {
3694
- if (file.type !== 'audio/mp3' && file.type !== 'audio/wav') {
3695
- message.error('只能上传mp3wav格式的音频');
3698
+ if (file.type !== 'audio/mp3' && file.type !== 'audio/wav' && file.type !== 'audio/mpeg') {
3699
+ message.error('只能上传 mp3wav 格式的音频');
3700
+ return false;
3701
+ }
3702
+ var maxSize = 100 * 1024 * 1024;
3703
+ if (file.size > maxSize) {
3704
+ message.error('文件大小不能超过 100MB');
3696
3705
  return false;
3697
3706
  }
3698
3707
  return true;
@@ -4035,6 +4044,9 @@ var EditAreaO = /*#__PURE__*/React.forwardRef(function (props, ref) {
4035
4044
  var _totalHeight = editorData.reduce(function (prev, cur) {
4036
4045
  return prev + (cur.rowHeight || _rowHeight);
4037
4046
  }, 0) + ((className || '').indexOf('1') > -1 ? 12 : 32);
4047
+ if (minHeight) {
4048
+ _totalHeight = "calc(100% - ".concat(minHeight + 16, "px)");
4049
+ }
4038
4050
  return /*#__PURE__*/React.createElement("div", {
4039
4051
  ref: editAreaRef,
4040
4052
  className: prefix('edit-area') + " ".concat((className || '').replace('timeline-editor', '') || ''),
@@ -4042,7 +4054,8 @@ var EditAreaO = /*#__PURE__*/React.forwardRef(function (props, ref) {
4042
4054
  height: isMulti ? _totalHeight : 'unset',
4043
4055
  maxHeight: isMulti ? _totalHeight : 'unset',
4044
4056
  width: isMulti ? Math.max(scaleCount * scaleWidth + startLeft, 0) : 'unset',
4045
- minWidth: isMulti ? '100%' : 'unset'
4057
+ minWidth: isMulti ? '100%' : 'unset',
4058
+ minHeight: minHeight
4046
4059
  }
4047
4060
  }, /*#__PURE__*/React.createElement(AutoSizer, {
4048
4061
  style: {
@@ -4159,7 +4172,8 @@ var TimeArea = function TimeArea(_ref) {
4159
4172
  startLeft = _ref.startLeft,
4160
4173
  scrollLeft = _ref.scrollLeft,
4161
4174
  onClickTimeArea = _ref.onClickTimeArea,
4162
- getScaleRender = _ref.getScaleRender;
4175
+ getScaleRender = _ref.getScaleRender,
4176
+ timelineWidth = _ref.timelineWidth;
4163
4177
  var gridRef = useRef();
4164
4178
  /** 是否显示细分刻度 */
4165
4179
  var showUnit = scaleSplitCount > 0;
@@ -4208,7 +4222,8 @@ var TimeArea = function TimeArea(_ref) {
4208
4222
  estimatedColumnSize: estColumnWidth,
4209
4223
  rowCount: 1,
4210
4224
  rowHeight: height,
4211
- width: width,
4225
+ width: timelineWidth,
4226
+ // width={width}
4212
4227
  height: height,
4213
4228
  overscanRowCount: 0,
4214
4229
  overscanColumnCount: 10,
@@ -4216,7 +4231,7 @@ var TimeArea = function TimeArea(_ref) {
4216
4231
  scrollLeft: scrollLeft
4217
4232
  }), /*#__PURE__*/React.createElement("div", {
4218
4233
  style: {
4219
- width: width,
4234
+ width: timelineWidth,
4220
4235
  height: height
4221
4236
  },
4222
4237
  onClick: function onClick(e) {
@@ -4496,9 +4511,12 @@ var Timeline = /*#__PURE__*/React.forwardRef(function (props, ref) {
4496
4511
  _onScroll(params);
4497
4512
  onScrollVertical && onScrollVertical(params);
4498
4513
  }
4499
- }))) : null, areaCount > 1 ? /*#__PURE__*/React.createElement("div", {
4500
- id: 'time-editor-container',
4501
- ref: containerRef
4514
+ }))) : null, areaCount > 1 ? (/*#__PURE__*/React.createElement("div", {
4515
+ id: "time-editor-container",
4516
+ ref: containerRef,
4517
+ style: {
4518
+ height: '100%'
4519
+ }
4502
4520
  }, Object.keys(groupedData).map(function (key, index) {
4503
4521
  var handleGroupDataChange = function handleGroupDataChange(updatedData) {
4504
4522
  var mergedData = editorData.filter(function (item) {
@@ -4516,6 +4534,11 @@ var Timeline = /*#__PURE__*/React.forwardRef(function (props, ref) {
4516
4534
  autoReRender && engineRef.current.reRender();
4517
4535
  }
4518
4536
  };
4537
+ var tEditorData = groupedData[Object.keys(groupedData)[0]];
4538
+ var _totalHeight = tEditorData.reduce(function (prev, cur) {
4539
+ var _tEditorData$;
4540
+ return prev + (cur.rowHeight || ((_tEditorData$ = tEditorData[0]) === null || _tEditorData$ === void 0 ? void 0 : _tEditorData$.rowHeight));
4541
+ }, 0) + ((className || '').indexOf('1') > -1 ? 12 : 32);
4519
4542
  return /*#__PURE__*/React.createElement(EditArea, _objectSpread2(_objectSpread2({
4520
4543
  key: key,
4521
4544
  isMulti: areaCount > 1
@@ -4535,6 +4558,7 @@ var Timeline = /*#__PURE__*/React.forwardRef(function (props, ref) {
4535
4558
  setEditorData: handleGroupDataChange,
4536
4559
  deltaScrollLeft: autoScroll && handleDeltaScrollLeft,
4537
4560
  allowCreateTrack: allowCreateTrack,
4561
+ minHeight: index === 0 ? undefined : _totalHeight,
4538
4562
  containerRef: containerRef,
4539
4563
  onMutiSelectChange: props === null || props === void 0 ? void 0 : props.onMutiSelectChange,
4540
4564
  engineRef: engineRef,
@@ -4543,7 +4567,7 @@ var Timeline = /*#__PURE__*/React.forwardRef(function (props, ref) {
4543
4567
  onScrollVertical && onScrollVertical(params);
4544
4568
  }
4545
4569
  }));
4546
- })) : null, !hideCursor && (/*#__PURE__*/React.createElement(Cursor, _objectSpread2(_objectSpread2({}, checkedProps), {}, {
4570
+ }))) : null, !hideCursor && (/*#__PURE__*/React.createElement(Cursor, _objectSpread2(_objectSpread2({}, checkedProps), {}, {
4547
4571
  timelineWidth: width,
4548
4572
  disableDrag: isPlaying,
4549
4573
  scrollLeft: scrollLeft,
package/dist/index.js CHANGED
@@ -1980,6 +1980,7 @@ var css_248z = ".timeline-editor-cursor {\n cursor: ew-resize;\n position: abs
1980
1980
  styleInject(css_248z);
1981
1981
 
1982
1982
  var Cursor = function Cursor(_ref) {
1983
+ var _document$querySelect;
1983
1984
  var theme = _ref.theme,
1984
1985
  disableDrag = _ref.disableDrag,
1985
1986
  cursorTime = _ref.cursorTime,
@@ -2008,9 +2009,11 @@ var Cursor = function Cursor(_ref) {
2008
2009
  }) - scrollLeft);
2009
2010
  }
2010
2011
  }, [cursorTime, startLeft, scaleWidth, scale, scrollLeft]);
2012
+ var clientHeight = ((_document$querySelect = document.querySelector("#time-editor-container")) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.clientHeight) || 0;
2011
2013
  return /*#__PURE__*/React__default['default'].createElement(RowDnd, {
2012
2014
  top: theme === 'light' ? 16 : 0,
2013
2015
  start: startLeft,
2016
+ height: clientHeight,
2014
2017
  ref: rowRnd,
2015
2018
  parentRef: areaRef,
2016
2019
  bounds: {
@@ -3697,11 +3700,17 @@ var EditAreaO = /*#__PURE__*/React__default['default'].forwardRef(function (prop
3697
3700
  _props$allowCreateTra = props.allowCreateTrack,
3698
3701
  allowCreateTrack = _props$allowCreateTra === void 0 ? true : _props$allowCreateTra,
3699
3702
  containerRef = props.containerRef,
3700
- engineRef = props.engineRef;
3701
- // 支持mp3\wav格式上传
3703
+ engineRef = props.engineRef,
3704
+ minHeight = props.minHeight;
3705
+ // 支持 mp3\wav 格式上传
3702
3706
  var onBeforeUpload = function onBeforeUpload(file) {
3703
- if (file.type !== 'audio/mp3' && file.type !== 'audio/wav') {
3704
- es.message.error('只能上传mp3wav格式的音频');
3707
+ if (file.type !== 'audio/mp3' && file.type !== 'audio/wav' && file.type !== 'audio/mpeg') {
3708
+ es.message.error('只能上传 mp3wav 格式的音频');
3709
+ return false;
3710
+ }
3711
+ var maxSize = 100 * 1024 * 1024;
3712
+ if (file.size > maxSize) {
3713
+ es.message.error('文件大小不能超过 100MB');
3705
3714
  return false;
3706
3715
  }
3707
3716
  return true;
@@ -4044,6 +4053,9 @@ var EditAreaO = /*#__PURE__*/React__default['default'].forwardRef(function (prop
4044
4053
  var _totalHeight = editorData.reduce(function (prev, cur) {
4045
4054
  return prev + (cur.rowHeight || _rowHeight);
4046
4055
  }, 0) + ((className || '').indexOf('1') > -1 ? 12 : 32);
4056
+ if (minHeight) {
4057
+ _totalHeight = "calc(100% - ".concat(minHeight + 16, "px)");
4058
+ }
4047
4059
  return /*#__PURE__*/React__default['default'].createElement("div", {
4048
4060
  ref: editAreaRef,
4049
4061
  className: prefix('edit-area') + " ".concat((className || '').replace('timeline-editor', '') || ''),
@@ -4051,7 +4063,8 @@ var EditAreaO = /*#__PURE__*/React__default['default'].forwardRef(function (prop
4051
4063
  height: isMulti ? _totalHeight : 'unset',
4052
4064
  maxHeight: isMulti ? _totalHeight : 'unset',
4053
4065
  width: isMulti ? Math.max(scaleCount * scaleWidth + startLeft, 0) : 'unset',
4054
- minWidth: isMulti ? '100%' : 'unset'
4066
+ minWidth: isMulti ? '100%' : 'unset',
4067
+ minHeight: minHeight
4055
4068
  }
4056
4069
  }, /*#__PURE__*/React__default['default'].createElement(reactVirtualized.AutoSizer, {
4057
4070
  style: {
@@ -4168,7 +4181,8 @@ var TimeArea = function TimeArea(_ref) {
4168
4181
  startLeft = _ref.startLeft,
4169
4182
  scrollLeft = _ref.scrollLeft,
4170
4183
  onClickTimeArea = _ref.onClickTimeArea,
4171
- getScaleRender = _ref.getScaleRender;
4184
+ getScaleRender = _ref.getScaleRender,
4185
+ timelineWidth = _ref.timelineWidth;
4172
4186
  var gridRef = React.useRef();
4173
4187
  /** 是否显示细分刻度 */
4174
4188
  var showUnit = scaleSplitCount > 0;
@@ -4217,7 +4231,8 @@ var TimeArea = function TimeArea(_ref) {
4217
4231
  estimatedColumnSize: estColumnWidth,
4218
4232
  rowCount: 1,
4219
4233
  rowHeight: height,
4220
- width: width,
4234
+ width: timelineWidth,
4235
+ // width={width}
4221
4236
  height: height,
4222
4237
  overscanRowCount: 0,
4223
4238
  overscanColumnCount: 10,
@@ -4225,7 +4240,7 @@ var TimeArea = function TimeArea(_ref) {
4225
4240
  scrollLeft: scrollLeft
4226
4241
  }), /*#__PURE__*/React__default['default'].createElement("div", {
4227
4242
  style: {
4228
- width: width,
4243
+ width: timelineWidth,
4229
4244
  height: height
4230
4245
  },
4231
4246
  onClick: function onClick(e) {
@@ -4505,9 +4520,12 @@ var Timeline = /*#__PURE__*/React__default['default'].forwardRef(function (props
4505
4520
  _onScroll(params);
4506
4521
  onScrollVertical && onScrollVertical(params);
4507
4522
  }
4508
- }))) : null, areaCount > 1 ? /*#__PURE__*/React__default['default'].createElement("div", {
4509
- id: 'time-editor-container',
4510
- ref: containerRef
4523
+ }))) : null, areaCount > 1 ? (/*#__PURE__*/React__default['default'].createElement("div", {
4524
+ id: "time-editor-container",
4525
+ ref: containerRef,
4526
+ style: {
4527
+ height: '100%'
4528
+ }
4511
4529
  }, Object.keys(groupedData).map(function (key, index) {
4512
4530
  var handleGroupDataChange = function handleGroupDataChange(updatedData) {
4513
4531
  var mergedData = editorData.filter(function (item) {
@@ -4525,6 +4543,11 @@ var Timeline = /*#__PURE__*/React__default['default'].forwardRef(function (props
4525
4543
  autoReRender && engineRef.current.reRender();
4526
4544
  }
4527
4545
  };
4546
+ var tEditorData = groupedData[Object.keys(groupedData)[0]];
4547
+ var _totalHeight = tEditorData.reduce(function (prev, cur) {
4548
+ var _tEditorData$;
4549
+ return prev + (cur.rowHeight || ((_tEditorData$ = tEditorData[0]) === null || _tEditorData$ === void 0 ? void 0 : _tEditorData$.rowHeight));
4550
+ }, 0) + ((className || '').indexOf('1') > -1 ? 12 : 32);
4528
4551
  return /*#__PURE__*/React__default['default'].createElement(EditArea, _objectSpread2(_objectSpread2({
4529
4552
  key: key,
4530
4553
  isMulti: areaCount > 1
@@ -4544,6 +4567,7 @@ var Timeline = /*#__PURE__*/React__default['default'].forwardRef(function (props
4544
4567
  setEditorData: handleGroupDataChange,
4545
4568
  deltaScrollLeft: autoScroll && handleDeltaScrollLeft,
4546
4569
  allowCreateTrack: allowCreateTrack,
4570
+ minHeight: index === 0 ? undefined : _totalHeight,
4547
4571
  containerRef: containerRef,
4548
4572
  onMutiSelectChange: props === null || props === void 0 ? void 0 : props.onMutiSelectChange,
4549
4573
  engineRef: engineRef,
@@ -4552,7 +4576,7 @@ var Timeline = /*#__PURE__*/React__default['default'].forwardRef(function (props
4552
4576
  onScrollVertical && onScrollVertical(params);
4553
4577
  }
4554
4578
  }));
4555
- })) : null, !hideCursor && (/*#__PURE__*/React__default['default'].createElement(Cursor, _objectSpread2(_objectSpread2({}, checkedProps), {}, {
4579
+ }))) : null, !hideCursor && (/*#__PURE__*/React__default['default'].createElement(Cursor, _objectSpread2(_objectSpread2({}, checkedProps), {}, {
4556
4580
  timelineWidth: width,
4557
4581
  disableDrag: isPlaying,
4558
4582
  scrollLeft: scrollLeft,
@@ -306,4 +306,5 @@ export interface TimelineEditor extends EditData {
306
306
  */
307
307
  onChange?: (editorData: TimelineRow[]) => void | boolean;
308
308
  onMutiSelectChange?: (ids: string[]) => void;
309
+ minHeight?: number;
309
310
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sense-react-timeline-editor",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "author": "xzdarcy",
5
5
  "license": "MIT",
6
6
  "keywords": [