@versa_ai/vmml-editor 1.0.28 → 1.0.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.mjs CHANGED
@@ -2704,15 +2704,6 @@ var EditorFn = ({
2704
2704
  initCanEditClips(vmmlState.template.tracks);
2705
2705
  }
2706
2706
  }, [editableArray, refreshEdit, vmmlState]);
2707
- useEffect(() => {
2708
- var _a2;
2709
- if (propVmml) {
2710
- const convertedVmml = convertVmmlTextScaleByForbidden(propVmml);
2711
- setVmmlState(convertedVmml);
2712
- setDurationInFrames(getFrames(((_a2 = propVmml == null ? void 0 : propVmml.template) == null ? void 0 : _a2.duration) || 1, fps));
2713
- setRefreshEdit(Date.now());
2714
- }
2715
- }, [propVmml]);
2716
2707
  useEffect(() => {
2717
2708
  if (vmmlState) {
2718
2709
  initFcObjects(vmmlState.template.tracks);
@@ -2760,39 +2751,56 @@ var EditorFn = ({
2760
2751
  setPreviewState(false);
2761
2752
  }
2762
2753
  }, [dragState]);
2763
- const updateVmml = (v, checkFrame) => {
2764
- var _a2, _b, _c;
2754
+ const updateEditor = (v, checkFrame) => {
2755
+ var _a2, _b, _c, _d;
2765
2756
  const { current: playerCurrent } = vmmlPlayerRef;
2766
2757
  const { current: canvasCurrent } = canvasRef;
2767
2758
  if (!playerCurrent) return;
2768
- (_b = (_a2 = canvasCurrent == null ? void 0 : canvasCurrent.getCanvasCtx()) == null ? void 0 : _a2.clear) == null ? void 0 : _b.call(_a2);
2759
+ const isSame = JSON.stringify(v) === JSON.stringify(vmmlState);
2760
+ console.log(v, vmmlState, isSame, "\u5224\u65ADvmml\u662F\u5426\u76F8\u540C");
2769
2761
  needPlay.current = false;
2770
- const currentFrame = checkFrame ?? pauseFrame;
2771
2762
  const convertedVmml = convertVmmlTextScaleByForbidden(v);
2772
- setVmmlState(convertedVmml);
2773
- setDurationInFrames(getFrames(((_c = v == null ? void 0 : v.template) == null ? void 0 : _c.duration) || 1, fps));
2774
- playerCurrent.setVmml(convertedVmml, currentFrame);
2775
- setRefreshEdit(Date.now());
2776
- if (canvasCurrent) {
2777
- canvasCurrent.checkObjectInPoint(currentFrame);
2763
+ if (!isSame) {
2764
+ (_b = (_a2 = canvasCurrent == null ? void 0 : canvasCurrent.getCanvasCtx()) == null ? void 0 : _a2.clear) == null ? void 0 : _b.call(_a2);
2765
+ setVmmlState(convertedVmml);
2766
+ setDurationInFrames(getFrames(((_c = v == null ? void 0 : v.template) == null ? void 0 : _c.duration) || 1, fps));
2767
+ setRefreshEdit(Date.now());
2778
2768
  }
2769
+ const currentFrame = checkFrame ?? pauseFrame;
2770
+ playerCurrent.setVmml(convertedVmml, currentFrame);
2771
+ (_d = canvasCurrent == null ? void 0 : canvasCurrent.checkObjectInPoint) == null ? void 0 : _d.call(canvasCurrent, currentFrame);
2779
2772
  };
2780
2773
  const getCurrentFrame = () => {
2781
- console.log(player, "getCurrentFrame>>>>>>>>>>>>");
2782
2774
  if (!player) return 0;
2783
2775
  return player.getCurrentFrame();
2784
2776
  };
2777
+ const editorSeekTo = (frame2) => {
2778
+ var _a2;
2779
+ (_a2 = player == null ? void 0 : player.seekTo) == null ? void 0 : _a2.call(player, frame2 ?? 0);
2780
+ const { current: canvasCurrent } = canvasRef;
2781
+ if (canvasCurrent) {
2782
+ canvasCurrent.checkObjectInPoint(frame2);
2783
+ }
2784
+ };
2785
2785
  useImperativeHandle(
2786
2786
  ref,
2787
2787
  () => ({
2788
2788
  getActions,
2789
2789
  getfcObject,
2790
+ // 获取画布上所有对象
2790
2791
  getCurrentFrame,
2792
+ // 获取当前帧
2791
2793
  getVmml,
2794
+ // 获取vmml
2792
2795
  getPlayer,
2796
+ // 获取player实例
2793
2797
  texteditClose,
2794
2798
  textFinish,
2795
- updateVmml
2799
+ // 完成按钮事件
2800
+ editorSeekTo,
2801
+ // editor的seek事件 入参:frame
2802
+ updateEditor
2803
+ // 更新editor 入参:vmml, frame
2796
2804
  }),
2797
2805
  [vmmlState, player]
2798
2806
  );