@shijiu/jsview-vue 2.1.25 → 2.1.200

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 (80) hide show
  1. package/package.json +1 -1
  2. package/utils/JsViewEngineWidget/JsvFocusBlock.vue +1 -1
  3. package/utils/JsViewEngineWidget/JsvFocusHub.ts +123 -0
  4. package/utils/JsViewEngineWidget/JsvFocusManager.js +4 -3
  5. package/utils/JsViewEngineWidget/MetroWidget/AnimationManager.ts +145 -51
  6. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +51 -64
  7. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +62 -71
  8. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +308 -613
  9. package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +127 -247
  10. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +1 -0
  11. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +36 -2
  12. package/utils/JsViewEngineWidget/WidgetCommon.ts +25 -6
  13. package/utils/JsViewPlugin/JsvAudio/{JsvAudioBrowser.vue → BrowserAudio/BrowserAudio.vue} +1 -1
  14. package/utils/JsViewPlugin/JsvAudio/index.js +1 -1
  15. package/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.js +37 -0
  16. package/utils/JsViewPlugin/JsvLatex/Color.ts +43 -0
  17. package/utils/JsViewPlugin/JsvLatex/JsvLatex.vue +159 -0
  18. package/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.js +16 -0
  19. package/utils/JsViewPlugin/JsvLatex/JsvLatexBrowser.vue +59 -0
  20. package/utils/JsViewPlugin/JsvLatex/PluginLoader.js +171 -0
  21. package/utils/JsViewPlugin/JsvLatex/index.js +28 -0
  22. package/utils/JsViewPlugin/JsvLatex/mathjax-tex-svg.txt +1 -0
  23. package/utils/JsViewPlugin/JsvLatex/version.js +24 -0
  24. package/utils/JsViewPlugin/JsvLatex/version.mjs +24 -0
  25. package/utils/JsViewPlugin/index.js +2 -1
  26. package/utils/JsViewVueTools/JsvDynamicCssStyle.js +2 -52
  27. package/utils/JsViewVueTools/JsvPerformance.ts +11 -0
  28. package/utils/JsViewVueTools/JsvPreDownloader.ts +55 -11
  29. package/utils/JsViewVueTools/JsvStyleSheetsDeclarer.js +40 -0
  30. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CanvasTexture.ts +143 -0
  31. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.ts +24 -0
  32. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.ts +198 -0
  33. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +31 -0
  34. package/utils/JsViewVueTools/JsvTextureStore/Store.ts +32 -0
  35. package/utils/JsViewVueTools/JsvTextureStore/Texture.ts +38 -0
  36. package/utils/JsViewVueTools/index.js +3 -0
  37. package/utils/JsViewVueWidget/JsvEnableRenderBreak.vue +17 -0
  38. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActionRefObject.ts +6 -0
  39. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +144 -0
  40. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorState.ts +6 -0
  41. package/utils/JsViewVueWidget/JsvFreeMoveActor/{CallbackManager.js → CallbackManager.ts} +19 -10
  42. package/utils/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.ts +45 -0
  43. package/utils/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue +1 -1
  44. package/utils/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue +124 -0
  45. package/utils/JsViewVueWidget/JsvFreeMoveActor/KeepFlags.ts +6 -0
  46. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +553 -0
  47. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +138 -0
  48. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +53 -0
  49. package/utils/JsViewVueWidget/JsvFreeMoveActor/index.js +11 -1
  50. package/utils/JsViewVueWidget/JsvHole.js +1 -1
  51. package/utils/JsViewVueWidget/JsvLine/JsvLine.vue +101 -0
  52. package/utils/JsViewVueWidget/JsvLine/LineManager.js +62 -0
  53. package/utils/JsViewVueWidget/JsvLine/index.js +3 -0
  54. package/utils/JsViewVueWidget/JsvMarquee.vue +316 -139
  55. package/utils/JsViewVueWidget/JsvMindMap/CommonType.ts +1 -0
  56. package/utils/JsViewVueWidget/JsvMindMap/Constant.ts +20 -0
  57. package/utils/JsViewVueWidget/JsvMindMap/DataTree.ts +394 -0
  58. package/utils/JsViewVueWidget/JsvMindMap/Geometry.ts +277 -0
  59. package/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue +653 -0
  60. package/utils/JsViewVueWidget/JsvMindMap/index.js +1 -0
  61. package/utils/JsViewVueWidget/JsvMindMap/rtree.js +628 -0
  62. package/utils/JsViewVueWidget/JsvNinePatch.vue +2 -2
  63. package/utils/JsViewVueWidget/JsvPieChart.vue +124 -0
  64. package/utils/JsViewVueWidget/JsvPosterImage.vue +32 -9
  65. package/utils/JsViewVueWidget/JsvPreload/BrowserPreload.vue +135 -133
  66. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +273 -270
  67. package/utils/JsViewVueWidget/JsvSector.vue +107 -0
  68. package/utils/JsViewVueWidget/JsvTextBox.vue +14 -1
  69. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +28 -2
  70. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +122 -93
  71. package/utils/JsViewVueWidget/index.js +15 -7
  72. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.js +0 -112
  73. package/utils/JsViewVueWidget/JsvFreeMoveActor/CommonTools.js +0 -18
  74. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.js +0 -216
  75. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.js +0 -66
  76. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.js +0 -38
  77. package/utils/JsViewVueWidget/JsvFreeMoveActor/TypeDefine.js +0 -12
  78. package/utils/JsViewVueWidget/JsvTouchContainer.vue +0 -183
  79. package/utils/JsViewVueWidget/JsvTransparentDiv.vue +0 -87
  80. /package/utils/{JsViewVueWidget → JsViewPlugin/JsvAudio/BrowserAudio}/JsvSystemAudio.vue +0 -0
@@ -0,0 +1,53 @@
1
+
2
+ import { StateCmdBuilder, CmdPackBuilder } from "./ForgeTypeDefine"
3
+
4
+ class StatePackBuilder {
5
+ constructor() {
6
+
7
+ }
8
+
9
+ /*
10
+ * clearConditions
11
+ * 清理所有预制的condition
12
+ */
13
+ clearAllConditions(): Object {
14
+ return CmdPackBuilder.InitStateCmdPack(StateCmdBuilder.RemoveAllCondtions());
15
+ }
16
+
17
+ /*
18
+ * setStartPos 立刻将actor运动起始点设置到目标位置, 作为下一个Action执行时的位置起点
19
+ * 注意1: 只影响当speed/accel不为0时的下一帧的运动起始位置,
20
+ * 当speed/accel为0状态下要移动物体请用 Action.teleportTo
21
+ * 注意2: 此为state设置,下一帧直接以此state开始,所以不会触发任何positionCondition的cross条件
22
+ * 需要condition触发时,请用 Action.teleportTo
23
+ * 参数说明:
24
+ * targetX (int) 带符号整数,目标位置,如果设置为undefined,标识不以此轴为终点
25
+ * targetY (int) 带符号整数,目标位置,如果设置为undefined,标识不以此轴为终点
26
+ */
27
+ setStartPos(targetX: number | undefined, targetY: number | undefined) {
28
+ return CmdPackBuilder.InitStateCmdPack(StateCmdBuilder.SetPos(targetX, targetY));
29
+ }
30
+
31
+ /*
32
+ * setStartOffsetPos 立刻将actor移动以当前位置相对位移的位置, 作为下一个Action执行时的位置起点
33
+ * 注意1: 只影响当speed/accel不为0时的下一帧的运动起始位置,
34
+ * 当speed/accel为0状态下要移动物体请用 Action.teleportOffset
35
+ * 注意2: 此为state设置,下一帧直接以此state开始,所以不会触发任何positionCondition的cross条件
36
+ * 需要condition触发时,请用 Action.teleportOffset
37
+ * 参数说明:
38
+ * targetX (int) 带符号整数,目标位置,如果设置为undefined,标识不以此轴为终点
39
+ * targetY (int) 带符号整数,目标位置,如果设置为undefined,标识不以此轴为终点
40
+ */
41
+ setStartOffsetPos(offsetX: number | undefined, offsetY: number | undefined) {
42
+ return CmdPackBuilder.InitStateCmdPack(StateCmdBuilder.SetOffsetPos(offsetX, offsetY));
43
+ }
44
+
45
+ /*
46
+ * 在BlockerCondition发生时,进行位置回滚处理
47
+ */
48
+ revertWithHitBlock() {
49
+ return CmdPackBuilder.InitStateCmdPack(StateCmdBuilder.RevertWithHitBlock());
50
+ }
51
+ }
52
+
53
+ export default StatePackBuilder;
@@ -1,3 +1,13 @@
1
1
  import JsvFreeMoveActor from "./FreeMoveActor.vue";
2
+ import { ActEventDefine } from "./ForgeTypeDefine.ts"
3
+ import { default as KeepFlags } from "./KeepFlags.ts"
2
4
 
3
- export default JsvFreeMoveActor;
5
+ let FreeMoveDef = {
6
+ ActEventDefine,
7
+ KeepFlags
8
+ }
9
+
10
+ export {
11
+ JsvFreeMoveActor,
12
+ FreeMoveDef
13
+ }
@@ -9,5 +9,5 @@
9
9
  * }
10
10
  */
11
11
 
12
- import JsvTransparentDiv from "./JsvTransparentDiv.vue";
12
+ import JsvTransparentDiv from "./JsvNativeSharedDiv.vue";
13
13
  export default JsvTransparentDiv;
@@ -0,0 +1,101 @@
1
+ <!--
2
+ * 【模块 export 内容】
3
+ * JsvLine:Vue高阶组件,用于划线。支持横线、竖线和斜线。
4
+ * props说明:
5
+ * startPos {Object} (必填) 起始位置,属性:x,y
6
+ * endPos {Object} (必填) 结束位置, 属性:x,y
7
+ * lineWidth {Number} (必填) 线条的粗细程度
8
+ * appear {String} 线条的出现方式 fadeIn 淡入 / fadeOut 淡出
9
+ * backgroundImage {String} 背景图片
10
+ * backgroundColor {String} 背景颜色,默认值:白色#FFFFFF
11
+ * borderRadius {Number} 圆角
12
+ *
13
+ -->
14
+
15
+ <template>
16
+ <div
17
+ v-if="isShow"
18
+ :style="{
19
+ left: props.startPos.x,
20
+ top: props.startPos.y - lineWidth / 2,
21
+ width: width,
22
+ height: props.lineWidth + 4,
23
+ borderRadius: props.borderRadius,
24
+ transform: `rotate3d(0,0,1, ${angle}deg)`,
25
+ transformOrigin: 'left center',
26
+ backgroundImage: props.backgroundColor
27
+ ? `jsvtexturestore://${sourceId}`
28
+ : props.backgroundImage,
29
+ animation: props.appear ? `${props.appear} 1s ease-in-out` : '',
30
+ }"
31
+ @animationend="AnimEnd"
32
+ ></div>
33
+ </template>
34
+
35
+ <script setup>
36
+ import { shallowRef, onBeforeUnmount } from "vue";
37
+ import { createTexture } from "./LineManager";
38
+ let isShow = shallowRef(true);
39
+ const props = defineProps({
40
+ startPos: { type: Object, require: true },
41
+ endPos: { type: Object, require: true },
42
+ lineWidth: { type: Number, require: true },
43
+ appear: { type: String },
44
+ backgroundImage: { type: String },
45
+ backgroundColor: { type: String, require: true },
46
+ borderRadius: { type: Number },
47
+ });
48
+ const getDistance = (point1, point2) => {
49
+ const w = Math.abs(point1.x - point2.x);
50
+ const h = Math.abs(point1.y - point2.y);
51
+ return Math.sqrt(w * w + h * h);
52
+ };
53
+ const width = getDistance(props.startPos, props.endPos);
54
+
55
+ let angle =
56
+ (180 / Math.PI) * Math.asin((props.endPos.y - props.startPos.y) / width);
57
+ if (props.endPos.x < props.startPos.x) {
58
+ angle = 180 - angle;
59
+ }
60
+
61
+ const AnimEnd = () => {
62
+ if (props.appear == "fadeOut") {
63
+ isShow.value = false;
64
+ }
65
+ };
66
+
67
+ //抗锯齿处理
68
+ let myLineTexture = null;
69
+ let sourceId = null;
70
+
71
+ if (props.backgroundColor) {
72
+ myLineTexture = createTexture(props.lineWidth, props.backgroundColor);
73
+ sourceId = myLineTexture.getSourceId();
74
+ }
75
+
76
+ onBeforeUnmount(() => {
77
+ if (props.backgroundColor) {
78
+ myLineTexture.UnRef();
79
+ }
80
+ });
81
+ </script>
82
+
83
+ <style scoped>
84
+ @keyframes fadeIn {
85
+ 0% {
86
+ opacity: 0;
87
+ }
88
+ 100% {
89
+ opacity: 1;
90
+ }
91
+ }
92
+
93
+ @keyframes fadeOut {
94
+ 0% {
95
+ opacity: 1;
96
+ }
97
+ 100% {
98
+ opacity: 0;
99
+ }
100
+ }
101
+ </style>
@@ -0,0 +1,62 @@
1
+ import { JsvTextureStoreApi } from "jsview";
2
+
3
+ let sMap = new Map();
4
+
5
+ const createTexture = (lineWidth, color) => {
6
+ let myKey = `${lineWidth}${color}`;
7
+ if (sMap.size == 0) {
8
+ let t = new LineTexture(lineWidth, color)
9
+ t.DoRef();
10
+ sMap.set(myKey, t)
11
+ return t
12
+ } else {
13
+ let hasMatch = false;
14
+ for (let key of sMap.keys()) {
15
+ if (key == myKey) {
16
+ hasMatch = true
17
+ sMap.get(key).DoRef()
18
+ return sMap.get(myKey)
19
+ }
20
+ }
21
+ if (!hasMatch) {
22
+ let t = new LineTexture(lineWidth, color)
23
+ t.DoRef();
24
+ sMap.set(myKey, t)
25
+ return t
26
+ }
27
+ }
28
+
29
+ }
30
+
31
+ class LineTexture {
32
+ constructor(lineWidth, color) {
33
+ this.bitmap = {
34
+ width: 2,
35
+ height: lineWidth + 2
36
+ }
37
+ this.key = `${lineWidth}${color}`
38
+ this.count = 0
39
+ this.newLineWidth = Math.floor(lineWidth / 2);
40
+ //画布
41
+ this.canvasTexture = JsvTextureStoreApi.canvasTexture(this.bitmap.width, this.bitmap.height)
42
+ //绘画
43
+ this.canvasTexture.drawLine(-1,this.newLineWidth + 1, 3,this.newLineWidth + 1, lineWidth, color);
44
+ //sourceId赋值
45
+ this.sourceId = this.canvasTexture.commit();
46
+ }
47
+ getSourceId() {
48
+ return this.sourceId
49
+ }
50
+ DoRef() {
51
+ this.count++;
52
+ }
53
+ UnRef() {
54
+ this.count--;
55
+ if (this.count === 0) {
56
+ JsvTextureStoreApi.deleteTexture(this.sourceId);
57
+ sMap.delete(this.key)
58
+ }
59
+ console.log(sMap);
60
+ }
61
+ }
62
+ export { createTexture };
@@ -0,0 +1,3 @@
1
+ import JsvLine from "./JsvLine.vue";
2
+
3
+ export default JsvLine;