@shijiu/jsview-vue 2.3.0 → 2.3.151-test.0
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/bin/browser/BrowserAudio.vue.mjs +4 -1
- package/bin/jsview-vue.mjs +2200 -466
- package/bin/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.d.ts +21 -1
- package/bin/types/utils/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +5 -1
- package/bin/types/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.d.ts +2 -1
- package/bin/types/utils/JsViewEngineWidget/WidgetCommon.d.ts +10 -7
- package/bin/types/utils/JsViewVueTools/ForgeHandles.d.ts +1 -0
- package/bin/types/utils/JsViewVueTools/JsvRuntimeBridge.d.ts +37 -1
- package/bin/types/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +3 -3
- package/bin/types/utils/JsViewVueTools/JsvTextureStore/DominantColor/GetDominantColor.d.ts +7 -0
- package/bin/types/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +14 -1
- package/bin/types/utils/JsViewVueTools/JsvTextureStore/Store.d.ts +2 -0
- package/bin/types/utils/JsViewVueTools/JsvTextureStore/Texture.d.ts +4 -0
- package/bin/types/utils/JsViewVueWidget/JsvDashPath.vue.d.ts +11 -0
- package/bin/types/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts +2 -1
- package/bin/types/utils/JsViewVueWidget/JsvSmoothSlideContainer.vue.d.ts +72 -0
- package/bin/types/utils/JsViewVueWidget/JsvSoundPool.d.ts +26 -0
- package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSmoothSwiper.vue.d.ts +112 -0
- package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper2.vue.d.ts +142 -0
- package/bin/types/utils/JsViewVueWidget/JsvSwiper/index.d.ts +3 -1
- package/bin/types/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue.d.ts +2 -2
- package/bin/types/utils/JsViewVueWidget/index.d.ts +2 -1
- package/package.json +1 -1
- package/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.ts +27 -1
- package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +35 -3
- package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +736 -386
- package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +13 -2
- package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +38 -26
- package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +144 -73
- package/utils/JsViewEngineWidget/WidgetCommon.ts +12 -0
- package/utils/JsViewPlugin/JsvAudio/BrowserAudio/BrowserAudio.vue +4 -0
- package/utils/JsViewPlugin/JsvAudio/BrowserAudio/JsvSystemAudio.vue +13 -13
- package/utils/JsViewPlugin/JsvPlayer/BrowserJsvPlayer.vue +1 -1
- package/utils/JsViewVueTools/FeatureActive.ts +2 -1
- package/utils/JsViewVueTools/ForgeHandles.ts +5 -2
- package/utils/JsViewVueTools/JsvRuntimeBridge.js +97 -1
- package/utils/JsViewVueTools/JsvTextTools.ts +3 -1
- package/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.ts +15 -12
- package/utils/JsViewVueTools/JsvTextureStore/DominantColor/GetDominantColor.ts +36 -0
- package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +23 -2
- package/utils/JsViewVueTools/JsvTextureStore/Store.ts +33 -21
- package/utils/JsViewVueTools/JsvTextureStore/Texture.ts +56 -41
- package/utils/JsViewVueWidget/JsvDashPath.vue +150 -0
- package/utils/JsViewVueWidget/JsvFlexCell/JsvFullScrAdjust.vue +3 -1
- package/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue +26 -22
- package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +1 -1
- package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +1 -0
- package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +2 -2
- package/utils/JsViewVueWidget/JsvSmoothSlideContainer.vue +108 -0
- package/utils/JsViewVueWidget/JsvSoundPool.js +75 -12
- package/utils/JsViewVueWidget/JsvSwiper/JsvSmoothSwiper.vue +543 -0
- package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +3 -3
- package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper2.vue +644 -0
- package/utils/JsViewVueWidget/JsvSwiper/index.js +3 -1
- package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +14 -8
- package/utils/JsViewVueWidget/index.js +2 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
new (...args: any[]): {
|
|
3
|
+
$: import("vue").ComponentInternalInstance;
|
|
4
|
+
$data: {};
|
|
5
|
+
$props: Partial<{}> & Omit<Readonly<import("vue").ExtractPropTypes<{}>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>;
|
|
6
|
+
$attrs: {
|
|
7
|
+
[x: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
$refs: {
|
|
10
|
+
[x: string]: unknown;
|
|
11
|
+
};
|
|
12
|
+
$slots: Readonly<{
|
|
13
|
+
[name: string]: import("vue").Slot | undefined;
|
|
14
|
+
}>;
|
|
15
|
+
$root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
|
16
|
+
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
|
17
|
+
$emit: (event: string, ...args: any[]) => void;
|
|
18
|
+
$el: any;
|
|
19
|
+
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{}>>, {
|
|
20
|
+
getFocusBlockRef: () => import("vue").Ref<any>;
|
|
21
|
+
slideTo: (id: any, direction?: number) => void;
|
|
22
|
+
$props: {
|
|
23
|
+
readonly animation?: Record<string, any> | undefined;
|
|
24
|
+
readonly vertical?: boolean | undefined;
|
|
25
|
+
readonly showIndicator?: boolean | undefined;
|
|
26
|
+
readonly dotSize?: number | undefined;
|
|
27
|
+
readonly dotGap?: number | undefined;
|
|
28
|
+
readonly indicatorPos?: number | undefined;
|
|
29
|
+
readonly indicatorAlign?: string | undefined;
|
|
30
|
+
readonly totalFrame?: number | undefined;
|
|
31
|
+
readonly firstFrame?: number | undefined;
|
|
32
|
+
readonly layoutInfo?: Record<string, any> | undefined;
|
|
33
|
+
readonly autoplayInterval?: number | undefined;
|
|
34
|
+
readonly swipeType?: string | undefined;
|
|
35
|
+
readonly smoothTranslate?: boolean | undefined;
|
|
36
|
+
readonly reverseSwipe?: boolean | undefined;
|
|
37
|
+
readonly disableLoopWhenFocus?: boolean | undefined;
|
|
38
|
+
readonly itemGap?: number | undefined;
|
|
39
|
+
readonly name?: string | undefined;
|
|
40
|
+
readonly onFocus?: Function | undefined;
|
|
41
|
+
readonly onBlur?: Function | undefined;
|
|
42
|
+
readonly onChange?: Function | undefined;
|
|
43
|
+
readonly onClick?: Function | undefined;
|
|
44
|
+
readonly onEdge?: Function | undefined;
|
|
45
|
+
readonly itemSize?: Record<string, any> | undefined;
|
|
46
|
+
};
|
|
47
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string> & {
|
|
48
|
+
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
49
|
+
created?: ((() => void) | (() => void)[]) | undefined;
|
|
50
|
+
beforeMount?: ((() => void) | (() => void)[]) | undefined;
|
|
51
|
+
mounted?: ((() => void) | (() => void)[]) | undefined;
|
|
52
|
+
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
|
|
53
|
+
updated?: ((() => void) | (() => void)[]) | undefined;
|
|
54
|
+
activated?: ((() => void) | (() => void)[]) | undefined;
|
|
55
|
+
deactivated?: ((() => void) | (() => void)[]) | undefined;
|
|
56
|
+
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
|
|
57
|
+
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
|
|
58
|
+
destroyed?: ((() => void) | (() => void)[]) | undefined;
|
|
59
|
+
unmounted?: ((() => void) | (() => void)[]) | undefined;
|
|
60
|
+
renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
|
|
61
|
+
renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
|
|
62
|
+
errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
|
|
63
|
+
};
|
|
64
|
+
$forceUpdate: () => void;
|
|
65
|
+
$nextTick: typeof import("vue").nextTick;
|
|
66
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
|
|
67
|
+
} & Readonly<import("vue").ExtractPropTypes<{}>> & import("vue").ShallowUnwrapRef<{
|
|
68
|
+
getFocusBlockRef: () => import("vue").Ref<any>;
|
|
69
|
+
slideTo: (id: any, direction?: number) => void;
|
|
70
|
+
$props: {
|
|
71
|
+
readonly animation?: Record<string, any> | undefined;
|
|
72
|
+
readonly vertical?: boolean | undefined;
|
|
73
|
+
readonly showIndicator?: boolean | undefined;
|
|
74
|
+
readonly dotSize?: number | undefined;
|
|
75
|
+
readonly dotGap?: number | undefined;
|
|
76
|
+
readonly indicatorPos?: number | undefined;
|
|
77
|
+
readonly indicatorAlign?: string | undefined;
|
|
78
|
+
readonly totalFrame?: number | undefined;
|
|
79
|
+
readonly firstFrame?: number | undefined;
|
|
80
|
+
readonly layoutInfo?: Record<string, any> | undefined;
|
|
81
|
+
readonly autoplayInterval?: number | undefined;
|
|
82
|
+
readonly swipeType?: string | undefined;
|
|
83
|
+
readonly smoothTranslate?: boolean | undefined;
|
|
84
|
+
readonly reverseSwipe?: boolean | undefined;
|
|
85
|
+
readonly disableLoopWhenFocus?: boolean | undefined;
|
|
86
|
+
readonly itemGap?: number | undefined;
|
|
87
|
+
readonly name?: string | undefined;
|
|
88
|
+
readonly onFocus?: Function | undefined;
|
|
89
|
+
readonly onBlur?: Function | undefined;
|
|
90
|
+
readonly onChange?: Function | undefined;
|
|
91
|
+
readonly onClick?: Function | undefined;
|
|
92
|
+
readonly onEdge?: Function | undefined;
|
|
93
|
+
readonly itemSize?: Record<string, any> | undefined;
|
|
94
|
+
};
|
|
95
|
+
}> & {} & import("vue").ComponentCustomProperties & {};
|
|
96
|
+
__isFragment?: undefined;
|
|
97
|
+
__isTeleport?: undefined;
|
|
98
|
+
__isSuspense?: undefined;
|
|
99
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{}>>, {
|
|
100
|
+
getFocusBlockRef: () => import("vue").Ref<any>;
|
|
101
|
+
slideTo: (id: any, direction?: number) => void;
|
|
102
|
+
$props: {
|
|
103
|
+
readonly animation?: Record<string, any> | undefined;
|
|
104
|
+
readonly vertical?: boolean | undefined;
|
|
105
|
+
readonly showIndicator?: boolean | undefined;
|
|
106
|
+
readonly dotSize?: number | undefined;
|
|
107
|
+
readonly dotGap?: number | undefined;
|
|
108
|
+
readonly indicatorPos?: number | undefined;
|
|
109
|
+
readonly indicatorAlign?: string | undefined;
|
|
110
|
+
readonly totalFrame?: number | undefined;
|
|
111
|
+
readonly firstFrame?: number | undefined;
|
|
112
|
+
readonly layoutInfo?: Record<string, any> | undefined;
|
|
113
|
+
readonly autoplayInterval?: number | undefined;
|
|
114
|
+
readonly swipeType?: string | undefined;
|
|
115
|
+
readonly smoothTranslate?: boolean | undefined;
|
|
116
|
+
readonly reverseSwipe?: boolean | undefined;
|
|
117
|
+
readonly disableLoopWhenFocus?: boolean | undefined;
|
|
118
|
+
readonly itemGap?: number | undefined;
|
|
119
|
+
readonly name?: string | undefined;
|
|
120
|
+
readonly onFocus?: Function | undefined;
|
|
121
|
+
readonly onBlur?: Function | undefined;
|
|
122
|
+
readonly onChange?: Function | undefined;
|
|
123
|
+
readonly onClick?: Function | undefined;
|
|
124
|
+
readonly onEdge?: Function | undefined;
|
|
125
|
+
readonly itemSize?: Record<string, any> | undefined;
|
|
126
|
+
};
|
|
127
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
128
|
+
$slots: {
|
|
129
|
+
itemView: (_: {
|
|
130
|
+
currentIndex: number;
|
|
131
|
+
dataIndex: number;
|
|
132
|
+
focused: boolean;
|
|
133
|
+
distanceToCenter: number;
|
|
134
|
+
}) => any;
|
|
135
|
+
indicatorDot: (_: {
|
|
136
|
+
dataIndex: number;
|
|
137
|
+
currentIndex: number;
|
|
138
|
+
focused: boolean;
|
|
139
|
+
}) => any;
|
|
140
|
+
};
|
|
141
|
+
});
|
|
142
|
+
export default _default;
|
|
@@ -53,8 +53,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
53
53
|
_createBorderRadius(view_texture: any, decorate_setting: any): any;
|
|
54
54
|
_onAnimationEnd(normal_end: any): void;
|
|
55
55
|
_updateTexCoord(): void;
|
|
56
|
-
_buildAnimation(): any;
|
|
57
|
-
start(): void;
|
|
56
|
+
_buildAnimation(a: any): any;
|
|
57
|
+
start(customAnim: any): void;
|
|
58
58
|
getTransition(): string;
|
|
59
59
|
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
60
60
|
src: StringConstructor;
|
|
@@ -8,7 +8,6 @@ export { default as JsvApic } from "./JsvApic/JsvApic";
|
|
|
8
8
|
export { default as JsvApic2 } from "./JsvApic/JsvApic2";
|
|
9
9
|
export { default as JsvQrcode } from "./JsvQrcode/JsvQrcode.vue";
|
|
10
10
|
export { default as JsvSpray } from "./JsvSpray/JsvSpray.vue";
|
|
11
|
-
export { default as JsvSwiper } from "./JsvSwiper";
|
|
12
11
|
export { default as JsvSwiper3D } from "./JsvSwiper3D";
|
|
13
12
|
export { default as JsvVisibleSensor } from "./JsvVisibleSensor";
|
|
14
13
|
export { default as JsvFilterView } from "./JsvFilterView.vue";
|
|
@@ -34,12 +33,14 @@ export { default as JsvTouchModeSwitcher } from "./JsvTouchModeSwitcher.vue";
|
|
|
34
33
|
export { default as JsvDragBox } from "./JsvDragBox/JsvDragBox.vue";
|
|
35
34
|
export { default as Jsv3dDiv } from "./Jsv3dDiv.vue";
|
|
36
35
|
export { default as Jsv3dStage } from "./Jsv3dStage.vue";
|
|
36
|
+
export { default as JsvDashPath } from "./JsvDashPath.vue";
|
|
37
37
|
import JsvNativeSharedDiv from "./JsvNativeSharedDiv.vue";
|
|
38
38
|
export { JsvNativeSharedDiv as JsvTransparentDiv, JsvNativeSharedDiv };
|
|
39
39
|
export { default as JsvActorMove, JsvActorMoveControl } from "./JsvActorMove";
|
|
40
40
|
export { LoopType, ApicEndState } from "./JsvApic/JsvCommonLoopToolBase.js";
|
|
41
41
|
export { default as JsvInput, InputType } from "./JsvInput";
|
|
42
42
|
export { default as JsvPreload, buildPreloadInfo, buildDownloadInfo } from "./JsvPreload";
|
|
43
|
+
export { JsvSwiper, JsvSwiper2, JsvSmoothSwiper } from "./JsvSwiper";
|
|
43
44
|
export { default as JsvTextureAnim, TexAlignAnchor, DECORATE_NINEPATCH_ALPHA_MIX, DECORATE_BORDER_RADIUS } from "./JsvTextureAnim";
|
|
44
45
|
export { default as JsvGrid, PageType, LineType, FocusMoveType } from "./JsvGrid.vue";
|
|
45
46
|
export { default as JsvRipple, JsvRippleShape } from "./JsvRipple";
|
package/package.json
CHANGED
|
@@ -43,7 +43,8 @@ class JsvFocusHubApi {
|
|
|
43
43
|
* getCurrentFocus
|
|
44
44
|
*
|
|
45
45
|
* 获取当前焦点的的 focusName 信息,用于后续的进行的 setFocus 操作
|
|
46
|
-
* (
|
|
46
|
+
* (注意1: 获取的NameSpace不带NameSpace)
|
|
47
|
+
* (注意2: 如果当前状态所设焦点还没Mounted时,也会返回null)
|
|
47
48
|
*
|
|
48
49
|
* @return {string} 当前焦点的focusName
|
|
49
50
|
*/
|
|
@@ -117,6 +118,31 @@ class JsvFocusHubApi {
|
|
|
117
118
|
public getCurrentFocusStack(): Array<Object> {
|
|
118
119
|
return this._FocusHub.getCurrentFocusStack();
|
|
119
120
|
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* addFocusChangeListener
|
|
124
|
+
*
|
|
125
|
+
* 添加焦点变化监听器, 主要用来追踪焦点name的变化,例如路由切换的场景
|
|
126
|
+
*
|
|
127
|
+
* @param {Function} listener 焦点变化监听器, 参数为 {focusName: string}
|
|
128
|
+
* @param {boolean} onRequest 监听时机,true: 在focus请求时即回调,无论节点是否存在;
|
|
129
|
+
* false: 在节点真实存在后,确认进行focus时才回调(在正准备Focus()调用前)
|
|
130
|
+
*/
|
|
131
|
+
addFocusChangeListener(listener: Function, onRequest: boolean = false) {
|
|
132
|
+
this._FocusHub.addFocusChangeListener(listener, onRequest);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* removeFocusChangeListener
|
|
137
|
+
*
|
|
138
|
+
* 删除焦点变化监听器
|
|
139
|
+
*
|
|
140
|
+
* @param {Function} listener 由addFocusChangeListener添加的变化监听器
|
|
141
|
+
* @param {boolean} onRequest 和addFocusChangeListener时设置的参数要完全对应
|
|
142
|
+
*/
|
|
143
|
+
removeFocusChangeListener(listener: Function, onRequest: boolean = false) {
|
|
144
|
+
this._FocusHub.delFocusChangeListener(listener, onRequest);
|
|
145
|
+
}
|
|
120
146
|
}
|
|
121
147
|
|
|
122
148
|
const ROOT_HUB_PROVIDE_NAME = "__jsvFocusRootHub__";
|
|
@@ -58,6 +58,9 @@
|
|
|
58
58
|
focusBackgroundColor: 获焦时的颜色
|
|
59
59
|
borderRadius: 占位符圆角设置
|
|
60
60
|
gap: 占位符之间的gap
|
|
61
|
+
logoUrl: 占位符logo的url
|
|
62
|
+
logoWidth: 占位符logo的宽度
|
|
63
|
+
logoHeight: 占位符logo的高度
|
|
61
64
|
}
|
|
62
65
|
* sendFocusRectEvent {boolean} item获焦时在焦点树上冒泡一个事件, MetroWidget接收到事件时会触发滚动操作, 一般用于嵌套
|
|
63
66
|
时的滚动
|
|
@@ -85,6 +88,8 @@
|
|
|
85
88
|
permanent {boolean}: 出去与是否保留
|
|
86
89
|
enableTap {boolean}: 是否接受触控tap
|
|
87
90
|
showSkeleton {boolean}: 打断描画时, 是否显示骨架图, 默认为true
|
|
91
|
+
enableLongPress {boolean}: item是否支持长按, 默认值为props.enableLongPress
|
|
92
|
+
placeHolderLayout{{left: number, top: number, width: number, height: number}}: 占位符的布局信息
|
|
88
93
|
}
|
|
89
94
|
*
|
|
90
95
|
* onFocus {function} 控件获取焦点的回调
|
|
@@ -100,6 +105,7 @@
|
|
|
100
105
|
totalSize: 所有item的总长
|
|
101
106
|
* onFocusRectChange {() => void} 焦点区域变化的回调
|
|
102
107
|
* onAllItemResizeDone {() => void} 所有item resize完成的回调
|
|
108
|
+
* onFocusChange {(id: number) => void} 焦点变化的回调
|
|
103
109
|
* loadAll {boolean} 加载不显示的view,触控场景使用
|
|
104
110
|
* flingPageWidth {}
|
|
105
111
|
* flingPageEdge {}
|
|
@@ -468,8 +474,21 @@ const touchDivSize = reactive({
|
|
|
468
474
|
});
|
|
469
475
|
|
|
470
476
|
const normalizedPlaceHolder = computed(() => {
|
|
477
|
+
let logoInfo = null;
|
|
478
|
+
if (
|
|
479
|
+
typeof props.placeHolderSetting.logoUrl == "string" &&
|
|
480
|
+
typeof props.placeHolderSetting.logoWidth == "number" &&
|
|
481
|
+
typeof props.placeHolderSetting.logoHeight == "number"
|
|
482
|
+
) {
|
|
483
|
+
logoInfo = {
|
|
484
|
+
url: props.placeHolderSetting.logoUrl,
|
|
485
|
+
width: props.placeHolderSetting.logoWidth,
|
|
486
|
+
height: props.placeHolderSetting.logoHeight,
|
|
487
|
+
};
|
|
488
|
+
}
|
|
471
489
|
return {
|
|
472
490
|
gap: props.placeHolderSetting.gap ?? 0,
|
|
491
|
+
logoInfo: logoInfo,
|
|
473
492
|
borderRadius: props.placeHolderSetting.borderRadius ?? 0,
|
|
474
493
|
backgroundColor: props.placeHolderSetting.backgroundColor,
|
|
475
494
|
focusBackgroundColor:
|
|
@@ -640,15 +659,28 @@ defineExpose(exportObject);
|
|
|
640
659
|
item.itemConfig.showSkeleton
|
|
641
660
|
"
|
|
642
661
|
:style="{
|
|
643
|
-
|
|
644
|
-
|
|
662
|
+
left: item.placeHolderLayout.left,
|
|
663
|
+
top: item.placeHolderLayout.top,
|
|
664
|
+
width: item.placeHolderLayout.width,
|
|
665
|
+
height: item.placeHolderLayout.height,
|
|
645
666
|
backgroundColor:
|
|
646
667
|
currentFocusIndex == item.index && modeForExport == 2
|
|
647
668
|
? normalizedPlaceHolder.focusBackgroundColor
|
|
648
669
|
: normalizedPlaceHolder.backgroundColor,
|
|
649
670
|
borderRadius: normalizedPlaceHolder.borderRadius,
|
|
650
671
|
}"
|
|
651
|
-
|
|
672
|
+
>
|
|
673
|
+
<img
|
|
674
|
+
v-if="normalizedPlaceHolder.logoInfo"
|
|
675
|
+
:src="`url(${normalizedPlaceHolder.logoInfo.url})`"
|
|
676
|
+
:style="{
|
|
677
|
+
left: (item.placeHolderLayout.width - normalizedPlaceHolder.logoInfo.width) / 2,
|
|
678
|
+
top: (item.placeHolderLayout.height - normalizedPlaceHolder.logoInfo.height) / 2,
|
|
679
|
+
width: normalizedPlaceHolder.logoInfo.width,
|
|
680
|
+
height: normalizedPlaceHolder.logoInfo.height,
|
|
681
|
+
}"
|
|
682
|
+
/>
|
|
683
|
+
</div>
|
|
652
684
|
</div>
|
|
653
685
|
</jsv-focus-block>
|
|
654
686
|
</div>
|