@shijiu/jsview-vue 2.2.35 → 2.2.128

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 (77) hide show
  1. package/bin/browser/BrowserApic.vue.mjs +2 -1
  2. package/bin/browser/BrowserApic2.vue.mjs +2 -1
  3. package/bin/browser/BrowserApicLib.mjs +2 -1
  4. package/bin/browser/BrowserQrcode.vue.mjs +3 -1
  5. package/bin/browser/BrowserTextureAnim.vue.mjs +7 -6
  6. package/bin/jsview-vue.mjs +1557 -894
  7. package/bin/types/JsViewEngineWidget/MetroWidget/Slide.d.ts +21 -0
  8. package/bin/types/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +2 -8
  9. package/bin/types/JsViewEngineWidget/WidgetCommon.d.ts +9 -3
  10. package/bin/types/JsViewVueTools/ConstSymbol.d.ts +2 -0
  11. package/bin/types/JsViewVueTools/ForgeConstDefine.d.ts +11 -0
  12. package/bin/types/JsViewVueTools/JsvRuntimeBridge.d.ts +113 -57
  13. package/bin/types/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +11 -0
  14. package/bin/types/JsViewVueTools/JsvTextureStore/Texture.d.ts +8 -0
  15. package/bin/types/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +1 -1
  16. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ActionRefObject.d.ts +4 -0
  17. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ActorControl.d.ts +65 -0
  18. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ActorState.d.ts +6 -0
  19. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.d.ts +11 -0
  20. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.d.ts +15 -0
  21. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +6 -0
  22. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SetAction.d.ts +71 -0
  23. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SetCondition.d.ts +95 -0
  24. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/SetState.d.ts +62 -0
  25. package/bin/types/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +2 -1
  26. package/bin/types/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +1 -1
  27. package/bin/types/JsViewVueWidget/JsvNativeSharedDiv.vue.d.ts +66 -28
  28. package/bin/types/JsViewVueWidget/JsvNinePatch.vue.d.ts +1 -0
  29. package/bin/types/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue.d.ts +176 -0
  30. package/bin/types/JsViewVueWidget/JsvScrollBox/ScrollSymbol.d.ts +7 -0
  31. package/bin/types/JsViewVueWidget/JsvScrollBox/index.d.ts +1 -0
  32. package/bin/types/JsViewVueWidget/JsvTextBox.vue.d.ts +3 -3
  33. package/bin/types/JsViewVueWidget/index.d.ts +1 -0
  34. package/package.json +1 -1
  35. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +10 -1
  36. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +398 -309
  37. package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +2 -1
  38. package/utils/JsViewEngineWidget/MetroWidget/Slide.ts +56 -0
  39. package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +51 -10
  40. package/utils/JsViewEngineWidget/MetroWidget/TokenGenerator.ts +10 -0
  41. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +9 -3
  42. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +25 -35
  43. package/utils/JsViewEngineWidget/WidgetCommon.ts +20 -7
  44. package/utils/JsViewPlugin/JsvPlayer/BrowserJsvPlayer.vue +13 -1
  45. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +470 -338
  46. package/utils/JsViewVueTools/ConstSymbol.ts +3 -0
  47. package/utils/JsViewVueTools/ForgeConstDefine.ts +11 -0
  48. package/utils/JsViewVueTools/JsvRuntimeBridge.js +172 -50
  49. package/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.ts +62 -0
  50. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +41 -7
  51. package/utils/JsViewVueTools/JsvTextureStore/Texture.ts +15 -1
  52. package/utils/JsViewVueTools/index.js +2 -0
  53. package/utils/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue +6 -6
  54. package/utils/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue +5 -6
  55. package/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/ApicDataBase.js +5 -1
  56. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActionRefObject.ts +1 -1
  57. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +23 -1
  58. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorState.ts +4 -4
  59. package/utils/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.ts +6 -6
  60. package/utils/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.ts +1 -1
  61. package/utils/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue +43 -9
  62. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +24 -0
  63. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +50 -1
  64. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +56 -0
  65. package/utils/JsViewVueWidget/JsvFreeMoveActor/index.js +3 -0
  66. package/utils/JsViewVueWidget/JsvMaskClipDiv.vue +6 -1
  67. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +121 -68
  68. package/utils/JsViewVueWidget/JsvNinePatch.vue +4 -1
  69. package/utils/JsViewVueWidget/JsvPosterImage.vue +22 -9
  70. package/utils/JsViewVueWidget/JsvQrcode/BrowserQrcode.vue +6 -2
  71. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue +309 -0
  72. package/utils/JsViewVueWidget/JsvScrollBox/ScrollSymbol.ts +15 -0
  73. package/utils/JsViewVueWidget/JsvScrollBox/index.js +2 -0
  74. package/utils/JsViewVueWidget/JsvTextBox.vue +12 -4
  75. package/utils/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue +9 -6
  76. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +2 -0
  77. package/utils/JsViewVueWidget/index.js +1 -0
@@ -3,11 +3,15 @@
3
3
  */
4
4
 
5
5
  /*
6
- * JsvTextBox:Vue高阶组件,文字的垂直对齐方式显示控件
6
+ * JsvTextBox:Vue高阶组件,用于文字绘制要精细调整的场景,
7
+ * 注意: 其中Jsv打头的属性为内部属性,不要在组件外直接使用,规避后续调整时进行变名等调整导致使用不了。
7
8
  * props说明:
8
9
  * verticalAlign {string} 垂直对齐方式 (必需) top、middle、bottom
9
10
  * style {object} 样式(必需)
10
11
  * enableLatex {bool} 是否启用Latex文字描画模式
12
+ * textDirection {string} 文字方向,主要考虑阿拉伯语的方向场景
13
+ * syncDraw {string} 文字较长时,是强制同步绘制还是自动的进入异步绘制,可选"auto","sync","async"
14
+ * 其中"async"为强制包含短文字的场景也异步绘制
11
15
  * latex语法样例
12
16
  * 1. 颜色: "测试\\textcolor{#FF0000}{红色}文字"
13
17
  * 2. 加粗: "测试\\textb{加粗}文字"
@@ -33,11 +37,14 @@ const props = defineProps({
33
37
  default: "middle",
34
38
  },
35
39
  enableLatex: Boolean,
36
- className: String,
37
40
  textDirection: {
38
41
  type: String,
39
42
  default: "unset",
40
43
  },
44
+ syncDraw: {
45
+ type: String,
46
+ default: "auto",
47
+ },
41
48
  });
42
49
 
43
50
  const computeAlignItems = computed(() => {
@@ -54,14 +61,14 @@ const computeAlignItems = computed(() => {
54
61
 
55
62
  const textWidth = computed(() => {
56
63
  let w = props.style?.width;
57
- if (typeof w == "undefined" ) {
64
+ if (typeof w == "undefined") {
58
65
  w = 0;
59
66
  }
60
67
  return w;
61
68
  });
62
69
 
63
70
  const jsvTextLatexValue = computed(() => {
64
- return props.enableLatex ? 1 : 0
71
+ return props.enableLatex ? 1 : 0;
65
72
  });
66
73
  </script>
67
74
 
@@ -80,6 +87,7 @@ const jsvTextLatexValue = computed(() => {
80
87
  JsvTextLineAlign: lineAlign,
81
88
  JsvTextInnerDirection: textDirection,
82
89
  }"
90
+ :data-jsv-perf-loadtex="props.syncDraw"
83
91
  >
84
92
  <slot />
85
93
  </div>
@@ -7,6 +7,9 @@
7
7
  <script>
8
8
  // Forge共享数据引用,在Browser处理中window引用,规避Browser触发vite循环引用bug
9
9
  const forgeTextureManager = window.JsvCode.ForgeHandles.TextureManager;
10
+ const renderDocument = window.JsvCode.Dom.RenderDocument
11
+ ? window.JsvCode.Dom.RenderDocument
12
+ : window.JsvCode.Dom.BrowserDocument;
10
13
 
11
14
  const DECORATE_BORDER_RADIUS = "BroderRaidus";
12
15
  const DECORATE_NINEPATCH_ALPHA_MIX = "NinePatchAlphaMix";
@@ -261,11 +264,11 @@ export default {
261
264
  },
262
265
 
263
266
  insertKeyframe(animDefine) {
264
- const index = document.styleSheets[0].cssRules.length;
265
- document.styleSheets[0].insertRule(animDefine, index);
267
+ const index = renderDocument.styleSheets[0].cssRules.length;
268
+ renderDocument.styleSheets[0].insertRule(animDefine, index);
266
269
  },
267
270
  removeKeyframe(animName) {
268
- const styleSheetRef = document.styleSheets[0];
271
+ const styleSheetRef = renderDocument.styleSheets[0];
269
272
  const cssRulesRef = styleSheetRef.cssRules;
270
273
  // 对CssRules进行删除操作,倒序轮询
271
274
  for (let i = cssRulesRef.length - 1; i >= 0; i--) {
@@ -285,18 +288,18 @@ export default {
285
288
  this.$refs.root.jsvGetProxyView().RegisterOnProxyReady(() => {
286
289
  const root = this.$refs.root.jsvGetProxyView().HtmlGetElement();
287
290
  //绕过 jsview 对document 的 hook
288
- this.clipDiv = window.originDocument.createElement("div");
291
+ this.clipDiv = renderDocument.createElement("div");
289
292
  Object.assign(this.clipDiv.style, this.maskStyle);
290
293
 
291
294
  const textureLayout = this.textureLayout;
292
- this.animDiv = window.originDocument.createElement("div");
295
+ this.animDiv = renderDocument.createElement("div");
293
296
  Object.assign(this.animDiv.style, textureLayout);
294
297
  this.animDiv.onanimationend = () => {
295
298
  this.animDiv.style.animation = null;
296
299
  this.onAnimationEnd?.();
297
300
  };
298
301
 
299
- this.imgDiv = window.originDocument.createElement("div");
302
+ this.imgDiv = renderDocument.createElement("div");
300
303
  this.imgDiv.style.width = textureLayout.width;
301
304
  this.imgDiv.style.height = textureLayout.height;
302
305
  this.imgDiv.style.backgroundImage = `url(${this.src})`;
@@ -337,6 +337,7 @@ export default {
337
337
  1
338
338
  );
339
339
  this.forgeAnimation.EnableDelay(this.delay).SetRepeat(this.repeat);
340
+ this.forgeAnimation.Enable(Forge.AnimationEnable.ReleaseAfterEndCallback);
340
341
  this.forgeAnimation.SetAnimationListener(
341
342
  new Forge.AnimationListener(null, this._onAnimationEnd, null)
342
343
  );
@@ -373,6 +374,7 @@ export default {
373
374
  1
374
375
  );
375
376
  this.forgeAnimation.EnableDelay(this.delay).SetRepeat(this.repeat);
377
+ this.forgeAnimation.Enable(Forge.AnimationEnable.ReleaseAfterEndCallback);
376
378
  this.forgeAnimation.SetAnimationListener(
377
379
  new Forge.AnimationListener(null, this._onAnimationEnd, null)
378
380
  );
@@ -57,3 +57,4 @@ export {
57
57
  }
58
58
  export { default as JsvEnableRenderBreak } from "./JsvEnableRenderBreak.vue";
59
59
  export { JsvMindMap } from "./JsvMindMap"
60
+ export * from "./JsvScrollBox"