@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.
- package/package.json +1 -1
- package/utils/JsViewEngineWidget/JsvFocusBlock.vue +1 -1
- package/utils/JsViewEngineWidget/JsvFocusHub.ts +123 -0
- package/utils/JsViewEngineWidget/JsvFocusManager.js +4 -3
- package/utils/JsViewEngineWidget/MetroWidget/AnimationManager.ts +145 -51
- package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +51 -64
- package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +62 -71
- package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +308 -613
- package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +127 -247
- package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +1 -0
- package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +36 -2
- package/utils/JsViewEngineWidget/WidgetCommon.ts +25 -6
- package/utils/JsViewPlugin/JsvAudio/{JsvAudioBrowser.vue → BrowserAudio/BrowserAudio.vue} +1 -1
- package/utils/JsViewPlugin/JsvAudio/index.js +1 -1
- package/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.js +37 -0
- package/utils/JsViewPlugin/JsvLatex/Color.ts +43 -0
- package/utils/JsViewPlugin/JsvLatex/JsvLatex.vue +159 -0
- package/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.js +16 -0
- package/utils/JsViewPlugin/JsvLatex/JsvLatexBrowser.vue +59 -0
- package/utils/JsViewPlugin/JsvLatex/PluginLoader.js +171 -0
- package/utils/JsViewPlugin/JsvLatex/index.js +28 -0
- package/utils/JsViewPlugin/JsvLatex/mathjax-tex-svg.txt +1 -0
- package/utils/JsViewPlugin/JsvLatex/version.js +24 -0
- package/utils/JsViewPlugin/JsvLatex/version.mjs +24 -0
- package/utils/JsViewPlugin/index.js +2 -1
- package/utils/JsViewVueTools/JsvDynamicCssStyle.js +2 -52
- package/utils/JsViewVueTools/JsvPerformance.ts +11 -0
- package/utils/JsViewVueTools/JsvPreDownloader.ts +55 -11
- package/utils/JsViewVueTools/JsvStyleSheetsDeclarer.js +40 -0
- package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CanvasTexture.ts +143 -0
- package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.ts +24 -0
- package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.ts +198 -0
- package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +31 -0
- package/utils/JsViewVueTools/JsvTextureStore/Store.ts +32 -0
- package/utils/JsViewVueTools/JsvTextureStore/Texture.ts +38 -0
- package/utils/JsViewVueTools/index.js +3 -0
- package/utils/JsViewVueWidget/JsvEnableRenderBreak.vue +17 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/ActionRefObject.ts +6 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +144 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorState.ts +6 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/{CallbackManager.js → CallbackManager.ts} +19 -10
- package/utils/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.ts +45 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue +1 -1
- package/utils/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue +124 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/KeepFlags.ts +6 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +553 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +138 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +53 -0
- package/utils/JsViewVueWidget/JsvFreeMoveActor/index.js +11 -1
- package/utils/JsViewVueWidget/JsvHole.js +1 -1
- package/utils/JsViewVueWidget/JsvLine/JsvLine.vue +101 -0
- package/utils/JsViewVueWidget/JsvLine/LineManager.js +62 -0
- package/utils/JsViewVueWidget/JsvLine/index.js +3 -0
- package/utils/JsViewVueWidget/JsvMarquee.vue +316 -139
- package/utils/JsViewVueWidget/JsvMindMap/CommonType.ts +1 -0
- package/utils/JsViewVueWidget/JsvMindMap/Constant.ts +20 -0
- package/utils/JsViewVueWidget/JsvMindMap/DataTree.ts +394 -0
- package/utils/JsViewVueWidget/JsvMindMap/Geometry.ts +277 -0
- package/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue +653 -0
- package/utils/JsViewVueWidget/JsvMindMap/index.js +1 -0
- package/utils/JsViewVueWidget/JsvMindMap/rtree.js +628 -0
- package/utils/JsViewVueWidget/JsvNinePatch.vue +2 -2
- package/utils/JsViewVueWidget/JsvPieChart.vue +124 -0
- package/utils/JsViewVueWidget/JsvPosterImage.vue +32 -9
- package/utils/JsViewVueWidget/JsvPreload/BrowserPreload.vue +135 -133
- package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +273 -270
- package/utils/JsViewVueWidget/JsvSector.vue +107 -0
- package/utils/JsViewVueWidget/JsvTextBox.vue +14 -1
- package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +28 -2
- package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +122 -93
- package/utils/JsViewVueWidget/index.js +15 -7
- package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.js +0 -112
- package/utils/JsViewVueWidget/JsvFreeMoveActor/CommonTools.js +0 -18
- package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.js +0 -216
- package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.js +0 -66
- package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.js +0 -38
- package/utils/JsViewVueWidget/JsvFreeMoveActor/TypeDefine.js +0 -12
- package/utils/JsViewVueWidget/JsvTouchContainer.vue +0 -183
- package/utils/JsViewVueWidget/JsvTransparentDiv.vue +0 -87
- /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
|
-
|
|
5
|
+
let FreeMoveDef = {
|
|
6
|
+
ActEventDefine,
|
|
7
|
+
KeepFlags
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
JsvFreeMoveActor,
|
|
12
|
+
FreeMoveDef
|
|
13
|
+
}
|
|
@@ -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 };
|