@shijiu/jsview-vue 2.1.476-test.0 → 2.2.35
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/BrowserTextureAnim.vue.mjs +8 -1
- package/bin/jsview-vue.mjs +340 -127
- package/bin/types/JsViewEngineWidget/CheckType.d.ts +3 -0
- package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue.d.ts +102 -0
- package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusHub.d.ts +88 -0
- package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusManager.d.ts +10 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/Const.d.ts +16 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/Dispatcher.d.ts +14 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/ListWidget.vue.d.ts +158 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +158 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.d.ts +46 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/PageUpdater.d.ts +21 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +46 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/SlotComponent.vue.d.ts +48 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/VisibleInfo.d.ts +16 -0
- package/bin/types/JsViewEngineWidget/MetroWidget/WidgetRectInfo.d.ts +17 -0
- package/bin/types/JsViewEngineWidget/RangeModel.d.ts +162 -0
- package/bin/types/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.d.ts +37 -0
- package/bin/types/JsViewEngineWidget/TemplateParser/Fence.d.ts +58 -0
- package/bin/types/JsViewEngineWidget/TemplateParser/ListMetroTemplate.d.ts +15 -0
- package/bin/types/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +97 -0
- package/bin/types/JsViewEngineWidget/TemplateParser/TemplateItemAdder.d.ts +22 -0
- package/bin/types/JsViewEngineWidget/TemplateParser/index.d.ts +4 -0
- package/bin/types/JsViewEngineWidget/WidgetCommon.d.ts +137 -0
- package/bin/types/JsViewEngineWidget/index.d.ts +6 -0
- package/bin/types/JsViewPlugin/JsvAccount/JsvAccount.d.ts +42 -0
- package/bin/types/JsViewPlugin/JsvAudio/AudioProxy.d.ts +2 -0
- package/bin/types/JsViewPlugin/JsvAudio/BrowserAudio/BrowserAudio.vue.d.ts +18 -0
- package/bin/types/JsViewPlugin/JsvAudio/BrowserAudio/JsvSystemAudio.vue.d.ts +208 -0
- package/bin/types/JsViewPlugin/JsvAudio/CheckType.d.ts +2 -0
- package/bin/types/JsViewPlugin/JsvAudio/Events.d.ts +13 -0
- package/bin/types/JsViewPlugin/JsvAudio/JsvAudio.vue.d.ts +18 -0
- package/bin/types/JsViewPlugin/JsvAudio/JsvAudioBridgeProxy.d.ts +8 -0
- package/bin/types/JsViewPlugin/JsvAudio/JsvAudioProxy.vue.d.ts +2 -0
- package/bin/types/JsViewPlugin/JsvAudio/PluginLoader.d.ts +1 -0
- package/bin/types/JsViewPlugin/JsvAudio/ScreenLockManager.d.ts +5 -0
- package/bin/types/JsViewPlugin/JsvAudio/index.d.ts +3 -0
- package/bin/types/JsViewPlugin/JsvAudio/version.d.ts +10 -0
- package/bin/types/JsViewPlugin/JsvLatex/BrowserDomBuilder.d.ts +1 -0
- package/bin/types/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue.d.ts +13 -0
- package/bin/types/JsViewPlugin/JsvLatex/Color.d.ts +1 -0
- package/bin/types/JsViewPlugin/JsvLatex/JsvLatex.vue.d.ts +17 -0
- package/bin/types/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +3 -0
- package/bin/types/JsViewPlugin/JsvLatex/JsvLatexProxy.vue.d.ts +2 -0
- package/bin/types/JsViewPlugin/JsvLatex/PluginLoader.d.ts +1 -0
- package/bin/types/JsViewPlugin/JsvLatex/index.d.ts +3 -0
- package/bin/types/JsViewPlugin/JsvLatex/version.d.ts +10 -0
- package/bin/types/JsViewPlugin/index.d.ts +3 -0
- package/bin/types/JsViewVueTools/DebugContentShellJBridge.d.ts +6 -0
- package/bin/types/JsViewVueTools/DebugTool.d.ts +8 -0
- package/bin/types/JsViewVueTools/DefaultKeyMap.d.ts +10 -0
- package/bin/types/JsViewVueTools/ForgeHandles.d.ts +6 -0
- package/bin/types/JsViewVueTools/JsvDemoTester.d.ts +2 -0
- package/bin/types/JsViewVueTools/JsvDynamicCssStyle.d.ts +14 -0
- package/bin/types/JsViewVueTools/JsvDynamicKeyFrames.d.ts +21 -0
- package/bin/types/JsViewVueTools/JsvHashHistory.d.ts +16 -0
- package/bin/types/JsViewVueTools/JsvImpactTracer.d.ts +40 -0
- package/bin/types/JsViewVueTools/JsvRefTaker.d.ts +27 -0
- package/bin/types/JsViewVueTools/JsvRuntimeBridge.d.ts +223 -0
- package/bin/types/JsViewVueTools/JsvStyleClass.d.ts +31 -0
- package/bin/types/JsViewVueTools/JsvStyleSheetsDeclarer.d.ts +15 -0
- package/bin/types/JsViewVueTools/JsvTextTools.d.ts +37 -0
- package/bin/types/JsViewVueTools/JsvTextureDefines.d.ts +6 -0
- package/bin/types/JsViewVueTools/JsvTextureStore/CanvasTexture/CanvasTexture.d.ts +95 -0
- package/bin/types/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.d.ts +15 -0
- package/bin/types/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.d.ts +75 -0
- package/bin/types/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +24 -0
- package/bin/types/JsViewVueTools/JsvTextureStore/Store.d.ts +10 -0
- package/bin/types/JsViewVueTools/JsvTextureStore/Texture.d.ts +15 -0
- package/bin/types/JsViewVueTools/NinePatchHelper.d.ts +21 -0
- package/bin/types/JsViewVueTools/TypeCheckAndSet.d.ts +2 -0
- package/bin/types/JsViewVueTools/index.d.ts +14 -0
- package/bin/types/JsViewVueWidget/JsvActorMove/ActorControlBase.d.ts +31 -0
- package/bin/types/JsViewVueWidget/JsvActorMove/JsvActorMove.vue.d.ts +64 -0
- package/bin/types/JsViewVueWidget/JsvActorMove/JsvActorMoveControl.d.ts +33 -0
- package/bin/types/JsViewVueWidget/JsvActorMove/index.d.ts +4 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue.d.ts +15 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue.d.ts +50 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvApic/index.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +13 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +23 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/ApicDataBase.d.ts +13 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/BrowserApicLib.d.ts +3 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/GifData.d.ts +5 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/NormalLoopTool.d.ts +7 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/PartLoopTool.d.ts +12 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/SingleLoopTool.d.ts +5 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/Viewer.d.ts +19 -0
- package/bin/types/JsViewVueWidget/JsvApic/JsvBrowserApicLib/WebpData.d.ts +5 -0
- package/bin/types/{jsview-vue-common.d.mts → JsViewVueWidget/JsvApic/JsvCommonLoopToolBase.d.ts} +12 -13
- package/bin/types/JsViewVueWidget/JsvConnectLine/ArcLineManager.d.ts +1 -0
- package/bin/types/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +13 -0
- package/bin/types/JsViewVueWidget/JsvConnectLine/index.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvEnableRenderBreak.vue.d.ts +51 -0
- package/bin/types/JsViewVueWidget/JsvFilterView.vue.d.ts +72 -0
- package/bin/types/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue.d.ts +72 -0
- package/bin/types/JsViewVueWidget/JsvFlexCell/index.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +72 -0
- package/bin/types/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue.d.ts +84 -0
- package/bin/types/JsViewVueWidget/JsvFreeMoveActor/NexusNode.d.ts +6 -0
- package/bin/types/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +11 -0
- package/bin/types/JsViewVueWidget/JsvGrid.vue.d.ts +168 -0
- package/bin/types/JsViewVueWidget/JsvHole.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvInput/Cursor.vue.d.ts +36 -0
- package/bin/types/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +210 -0
- package/bin/types/JsViewVueWidget/JsvInput/index.d.ts +4 -0
- package/bin/types/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +12 -0
- package/bin/types/JsViewVueWidget/JsvLine/LineManager.d.ts +1 -0
- package/bin/types/JsViewVueWidget/JsvLine/index.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvMarquee.vue.d.ts +12 -0
- package/bin/types/JsViewVueWidget/JsvMaskClipDiv.vue.d.ts +83 -0
- package/bin/types/JsViewVueWidget/JsvMindMap/CommonType.d.ts +1 -0
- package/bin/types/JsViewVueWidget/JsvMindMap/Constant.d.ts +9 -0
- package/bin/types/JsViewVueWidget/JsvMindMap/DataTree.d.ts +69 -0
- package/bin/types/JsViewVueWidget/JsvMindMap/Geometry.d.ts +68 -0
- package/bin/types/JsViewVueWidget/JsvMindMap/JsvMindMap.vue.d.ts +145 -0
- package/bin/types/JsViewVueWidget/JsvMindMap/index.d.ts +1 -0
- package/bin/types/JsViewVueWidget/JsvMindMap/rtree.d.ts +40 -0
- package/bin/types/JsViewVueWidget/JsvNativeSharedDiv.vue.d.ts +31 -0
- package/bin/types/JsViewVueWidget/JsvNinePatch.vue.d.ts +18 -0
- package/bin/types/JsViewVueWidget/JsvPieChart.vue.d.ts +9 -0
- package/bin/types/JsViewVueWidget/JsvPosterDiv.vue.d.ts +60 -0
- package/bin/types/JsViewVueWidget/JsvPosterImage.vue.d.ts +75 -0
- package/bin/types/JsViewVueWidget/JsvPreload/BrowserPreload.vue.d.ts +10 -0
- package/bin/types/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +25 -0
- package/bin/types/JsViewVueWidget/JsvPreload/index.d.ts +17 -0
- package/bin/types/JsViewVueWidget/JsvProgressBar.vue.d.ts +12 -0
- package/bin/types/JsViewVueWidget/JsvQrcode/BrowserQrcode.vue.d.ts +11 -0
- package/bin/types/JsViewVueWidget/JsvQrcode/JsvQrcode.vue.d.ts +60 -0
- package/bin/types/JsViewVueWidget/JsvQrcode/index.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvRadarChart.vue.d.ts +13 -0
- package/bin/types/JsViewVueWidget/JsvRipple/Constant.d.ts +4 -0
- package/bin/types/JsViewVueWidget/JsvRipple/JsvRipple.vue.d.ts +84 -0
- package/bin/types/JsViewVueWidget/JsvRipple/index.d.ts +3 -0
- package/bin/types/JsViewVueWidget/JsvScaleTextBox.vue.d.ts +10 -0
- package/bin/types/JsViewVueWidget/JsvSector.vue.d.ts +10 -0
- package/bin/types/JsViewVueWidget/JsvSoundPool.d.ts +84 -0
- package/bin/types/JsViewVueWidget/JsvSpray/BrowserSpray.vue.d.ts +25 -0
- package/bin/types/JsViewVueWidget/JsvSpray/JsvSpray.vue.d.ts +38 -0
- package/bin/types/JsViewVueWidget/JsvSpray/index.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvSpriteAnim/FrameBuidler.d.ts +14 -0
- package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +18 -0
- package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteLoader.vue.d.ts +69 -0
- package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteTools.d.ts +11 -0
- package/bin/types/JsViewVueWidget/JsvSpriteAnim/SpriteController.d.ts +17 -0
- package/bin/types/JsViewVueWidget/JsvSpriteAnim/index.d.ts +5 -0
- package/bin/types/JsViewVueWidget/JsvSpriteAnim/sAnimationToken.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvSwiper/JsvSwiper.vue.d.ts +209 -0
- package/bin/types/JsViewVueWidget/JsvSwiper/index.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue.d.ts +97 -0
- package/bin/types/JsViewVueWidget/JsvSwiper3D/index.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvTextBox.vue.d.ts +75 -0
- package/bin/types/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue.d.ts +151 -0
- package/bin/types/JsViewVueWidget/JsvTextureAnim/CommonType.d.ts +2 -0
- package/bin/types/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue.d.ts +107 -0
- package/bin/types/JsViewVueWidget/JsvTextureAnim/index.d.ts +14 -0
- package/bin/types/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue.d.ts +84 -0
- package/bin/types/JsViewVueWidget/JsvVisibleSensor/index.d.ts +84 -0
- package/bin/types/JsViewVueWidget/index.d.ts +37 -0
- package/bin/types/index.d.ts +4 -0
- package/index.d.ts +1 -1
- package/package.json +1 -1
- package/tools/config/tsconfig.json +6 -6
- package/tools/jsview-vue-build.mjs +13 -4
- package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +8 -4
- package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +19 -5
- package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +317 -151
- package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +3 -3
- package/utils/JsViewEngineWidget/MetroWidget/VisibleInfo.ts +1 -1
- package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +21 -21
- package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +4 -4
- package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +10 -10
- package/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.ts +6 -6
- package/utils/JsViewEngineWidget/WidgetCommon.ts +18 -2
- package/utils/JsViewVueTools/JsvRuntimeBridge.js +2 -6
- package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +7 -3
- package/utils/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.ts +4 -2
- package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +26 -0
- package/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue +1 -1
- package/utils/JsViewVueWidget/JsvMindMap/rtree.js +1 -1
- package/utils/JsViewVueWidget/JsvTextBox.vue +14 -2
- package/utils/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue +18 -3
- package/bin/types/browser/BrowserApic.vue.d.mts +0 -33
- package/bin/types/browser/BrowserApic2.vue.d.mts +0 -16
- package/bin/types/browser/BrowserApicLib.d.mts +0 -56
- package/bin/types/browser/BrowserAudio.vue.d.mts +0 -2
- package/bin/types/browser/BrowserJsvLatex.vue.d.mts +0 -55
- package/bin/types/browser/BrowserPreload.vue.d.mts +0 -14
- package/bin/types/browser/BrowserQrcode.vue.d.mts +0 -29
- package/bin/types/browser/BrowserSpray.vue.d.mts +0 -2
- package/bin/types/browser/BrowserTextureAnim.vue.d.mts +0 -2
- package/bin/types/export-sfc.d.mts +0 -2
- package/bin/types/jsview-vue.d.mts +0 -2511
package/bin/jsview-vue.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref, computed, toRaw, reactive, nextTick, onMounted, onUpdated, onBeforeUnmount, onBeforeUpdate, openBlock, createElementBlock, renderSlot, shallowRef, resolveComponent, normalizeStyle, createElementVNode, unref, createVNode, withCtx, Fragment, renderList, createCommentVNode, inject, provide, onUnmounted, onActivated, onDeactivated, createBlock, defineAsyncComponent, normalizeProps, guardReactiveProps, watchEffect,
|
|
1
|
+
import { ref, computed, toRaw, reactive, nextTick, onMounted, onUpdated, onBeforeUnmount, onBeforeUpdate, openBlock, createElementBlock, renderSlot, shallowRef, resolveComponent, normalizeStyle, createElementVNode, unref, mergeProps, toHandlers, createVNode, withCtx, Fragment, renderList, createCommentVNode, inject, provide, onUnmounted, onActivated, onDeactivated, createBlock, defineAsyncComponent, normalizeProps, guardReactiveProps, watchEffect, toDisplayString, watch, shallowReactive, withDirectives, vShow } from 'vue';
|
|
2
2
|
import { Forge as Forge$1, ForgeExtension } from '@shijiu/jsview/dom/jsv-forge-define';
|
|
3
3
|
import { createWebHashHistory, createMemoryHistory } from 'vue-router';
|
|
4
4
|
import { Forge as Forge$2 } from '@shijiu/jsview/dom/jsv-forge-define.mjs';
|
|
@@ -132,6 +132,8 @@ class SeamlessSlide extends SlideSetting {
|
|
|
132
132
|
constructor({
|
|
133
133
|
startPercent = 0.2,
|
|
134
134
|
endPercent = 0.8,
|
|
135
|
+
headRange = void 0,
|
|
136
|
+
tailRange = void 0,
|
|
135
137
|
speed = defaultSpeed,
|
|
136
138
|
duration = null,
|
|
137
139
|
easing = defaultEasing,
|
|
@@ -141,6 +143,17 @@ class SeamlessSlide extends SlideSetting {
|
|
|
141
143
|
super(SlideSetting.Type.SEAMLESS, speed, duration, easing, boundaryProtect);
|
|
142
144
|
this.StartPercent = startPercent;
|
|
143
145
|
this.EndPercent = endPercent;
|
|
146
|
+
if (typeof headRange !== "undefined") {
|
|
147
|
+
this.StartPercent = headRange;
|
|
148
|
+
}
|
|
149
|
+
if (typeof tailRange !== "undefined") {
|
|
150
|
+
this.EndPercent = tailRange;
|
|
151
|
+
}
|
|
152
|
+
if (this.StartPercent < 0 || this.StartPercent > 1 || this.EndPercent < 0 || this.EndPercent > 1) {
|
|
153
|
+
console.error(`SeamlessSlideSetting error: invalide value, startPercent(${this.StartPercent}) and endPercent(${this.EndPercent}) must between 0 and 1.`);
|
|
154
|
+
this.StartPercent = 0.2;
|
|
155
|
+
this.EndPercent = 0.8;
|
|
156
|
+
}
|
|
144
157
|
this.FixFirstPage = fixFirstPage;
|
|
145
158
|
}
|
|
146
159
|
}
|
|
@@ -2367,7 +2380,7 @@ class RenderItem {
|
|
|
2367
2380
|
}
|
|
2368
2381
|
}
|
|
2369
2382
|
onTap = computed(() => {
|
|
2370
|
-
return this.enableTap ?
|
|
2383
|
+
return this.enableTap ? this.onClick.bind(this) : null;
|
|
2371
2384
|
});
|
|
2372
2385
|
onClick() {
|
|
2373
2386
|
if (this.mounted.value) {
|
|
@@ -2417,7 +2430,10 @@ class RenderItem {
|
|
|
2417
2430
|
class VisibleInfo {
|
|
2418
2431
|
_start = 0;
|
|
2419
2432
|
range = 0;
|
|
2420
|
-
padding
|
|
2433
|
+
padding = {
|
|
2434
|
+
start: 0,
|
|
2435
|
+
end: 0
|
|
2436
|
+
};
|
|
2421
2437
|
_startMax = 0;
|
|
2422
2438
|
set start(value) {
|
|
2423
2439
|
this._start = value;
|
|
@@ -2658,6 +2674,14 @@ class ConditionPackBuilder {
|
|
|
2658
2674
|
}
|
|
2659
2675
|
return this._BuildPack(ConditionSetBuilder.OnNextTick(tickGap, this._CommonInfo));
|
|
2660
2676
|
}
|
|
2677
|
+
/** 指定的swapcount前才能执行 */
|
|
2678
|
+
onSwapCount() {
|
|
2679
|
+
if (!this._CheckCommonInfo()) {
|
|
2680
|
+
return null;
|
|
2681
|
+
}
|
|
2682
|
+
this._CommonInfoValid = false;
|
|
2683
|
+
return this._BuildPack(ConditionSetBuilder.onSwapCount(0, this._CommonInfo));
|
|
2684
|
+
}
|
|
2661
2685
|
onDragStart() {
|
|
2662
2686
|
if (!this._CheckCommonInfo()) {
|
|
2663
2687
|
return null;
|
|
@@ -2714,6 +2738,20 @@ class ConditionPackBuilder {
|
|
|
2714
2738
|
this._CommonInfoValid = false;
|
|
2715
2739
|
return this._BuildPack(ConditionSetBuilder.OnFlingCancel(this._CommonInfo, this._ContorlSlefNexus.token));
|
|
2716
2740
|
}
|
|
2741
|
+
onFlingDrop() {
|
|
2742
|
+
if (!this._CheckCommonInfo()) {
|
|
2743
|
+
return null;
|
|
2744
|
+
}
|
|
2745
|
+
this._CommonInfoValid = false;
|
|
2746
|
+
return this._BuildPack(ConditionSetBuilder.OnFlingDrop(this._CommonInfo, this._ContorlSlefNexus.token));
|
|
2747
|
+
}
|
|
2748
|
+
touchCount(count) {
|
|
2749
|
+
if (!this._CheckCommonInfo()) {
|
|
2750
|
+
return null;
|
|
2751
|
+
}
|
|
2752
|
+
this._CommonInfoValid = false;
|
|
2753
|
+
return this._BuildPack(ConditionSetBuilder.TouchCount(this._CommonInfo, count));
|
|
2754
|
+
}
|
|
2717
2755
|
_CheckCommonInfo() {
|
|
2718
2756
|
if (!this._CommonInfoValid) {
|
|
2719
2757
|
console.error("Error: must call from new conditoin()");
|
|
@@ -3200,7 +3238,7 @@ class CallbackManager {
|
|
|
3200
3238
|
}
|
|
3201
3239
|
}
|
|
3202
3240
|
}
|
|
3203
|
-
invokeCallback(id, actorState) {
|
|
3241
|
+
invokeCallback(id, actorState, customDataStr, nexusCustomDataStr) {
|
|
3204
3242
|
let callbackObj = this._CallbackMap.get(id);
|
|
3205
3243
|
if (callbackObj) {
|
|
3206
3244
|
if (callbackObj.once) {
|
|
@@ -3209,7 +3247,7 @@ class CallbackManager {
|
|
|
3209
3247
|
callbackObj.times++;
|
|
3210
3248
|
}
|
|
3211
3249
|
try {
|
|
3212
|
-
callbackObj.funcRef?.(actorState);
|
|
3250
|
+
callbackObj.funcRef?.(actorState, customDataStr, nexusCustomDataStr);
|
|
3213
3251
|
} catch (e) {
|
|
3214
3252
|
console.error("Error: callback error", e);
|
|
3215
3253
|
}
|
|
@@ -3256,6 +3294,9 @@ class ActorControl {
|
|
|
3256
3294
|
this._SharedQuickActionPackBuilder = new ActorPackBuilder(this._Callbacks, this._SelfNexusRecv);
|
|
3257
3295
|
this._StatePackBuilder = new StatePackBuilder();
|
|
3258
3296
|
}
|
|
3297
|
+
// debugGetAnimId() {
|
|
3298
|
+
// return this._BindAnim?.AnimNativeId;
|
|
3299
|
+
// }
|
|
3259
3300
|
bindForgeView(bindView, instantActive) {
|
|
3260
3301
|
this._BindView = bindView;
|
|
3261
3302
|
if (instantActive) {
|
|
@@ -3346,7 +3387,7 @@ class ActorControl {
|
|
|
3346
3387
|
if (renderBreakId != 0) {
|
|
3347
3388
|
FinishRenderBreak(renderBreakId);
|
|
3348
3389
|
}
|
|
3349
|
-
this._Callbacks.invokeCallback(echoRet["eTkn"], retJsonObject);
|
|
3390
|
+
this._Callbacks.invokeCallback(echoRet["eTkn"], retJsonObject, echoRet["cds"], echoRet["ncds"]);
|
|
3350
3391
|
}
|
|
3351
3392
|
}
|
|
3352
3393
|
}
|
|
@@ -3546,6 +3587,16 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
3546
3587
|
DRAG: 2,
|
|
3547
3588
|
FLING: 3
|
|
3548
3589
|
};
|
|
3590
|
+
let innerKeepTraceRange = 0;
|
|
3591
|
+
if (typeof props.keepTraceRange > 0) {
|
|
3592
|
+
innerKeepTraceRange = props.keepTraceRange;
|
|
3593
|
+
} else {
|
|
3594
|
+
if (props.touchFlag > 0) {
|
|
3595
|
+
innerKeepTraceRange = 3;
|
|
3596
|
+
} else {
|
|
3597
|
+
innerKeepTraceRange = 0;
|
|
3598
|
+
}
|
|
3599
|
+
}
|
|
3549
3600
|
const modeForExport = ref(FOCUS_MODE);
|
|
3550
3601
|
const mode = {
|
|
3551
3602
|
_mode: FOCUS_MODE,
|
|
@@ -3609,6 +3660,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
3609
3660
|
let visibleInfo = new VisibleInfo();
|
|
3610
3661
|
let preSlideDirection = 0;
|
|
3611
3662
|
let alreadyCallItemFocus = false;
|
|
3663
|
+
let innerSlideSetting = props.slideSetting;
|
|
3612
3664
|
const currentFocusIndex = ref(0);
|
|
3613
3665
|
const DEFAULT_ANIMATION_DURATION = 200;
|
|
3614
3666
|
const isItemVisible = (item) => {
|
|
@@ -3708,8 +3760,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
3708
3760
|
easing: "",
|
|
3709
3761
|
onStart: null,
|
|
3710
3762
|
onEnd: null,
|
|
3711
|
-
speed:
|
|
3712
|
-
duration:
|
|
3763
|
+
speed: innerSlideSetting.Speed,
|
|
3764
|
+
duration: innerSlideSetting.Duration
|
|
3713
3765
|
};
|
|
3714
3766
|
}
|
|
3715
3767
|
}
|
|
@@ -3728,11 +3780,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
3728
3780
|
taskManager.run(() => {
|
|
3729
3781
|
updateHandler = pageUpdater.update(
|
|
3730
3782
|
metroTemplate,
|
|
3731
|
-
visibleInfo.startWithPadding -
|
|
3732
|
-
|
|
3733
|
-
visibleInfo.startMax + visibleInfo.range + visibleInfo.padding.end - 1,
|
|
3734
|
-
visibleInfo.endWithPadding + props.keepTraceRange * pageRange
|
|
3735
|
-
),
|
|
3783
|
+
visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
|
|
3784
|
+
visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
|
|
3736
3785
|
focusId,
|
|
3737
3786
|
mergeTmp,
|
|
3738
3787
|
permanentItemList
|
|
@@ -3860,7 +3909,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
3860
3909
|
);
|
|
3861
3910
|
};
|
|
3862
3911
|
const _slideTo = (target, animObj, updateParam = { mergeTmp: false }) => {
|
|
3863
|
-
if (slideLock) {
|
|
3912
|
+
if (slideLock || target == visibleInfo.start) {
|
|
3864
3913
|
return;
|
|
3865
3914
|
}
|
|
3866
3915
|
;
|
|
@@ -3979,6 +4028,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
3979
4028
|
if (id == focusId) {
|
|
3980
4029
|
return;
|
|
3981
4030
|
}
|
|
4031
|
+
tryCancelDelayLoad();
|
|
3982
4032
|
templateItemAdder.tryAddItemById(id);
|
|
3983
4033
|
let next_focus_item = getItemById(id);
|
|
3984
4034
|
if (next_focus_item) {
|
|
@@ -4059,15 +4109,16 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4059
4109
|
enterFocusRect = rect;
|
|
4060
4110
|
};
|
|
4061
4111
|
const slideTo = (position, doAnim) => {
|
|
4112
|
+
tryCancelDelayLoad();
|
|
4062
4113
|
templateItemAdder.tryAddItemByPosition(position);
|
|
4063
4114
|
if (typeof position !== "undefined" && position != null) {
|
|
4064
4115
|
let animObj = null;
|
|
4065
4116
|
if (doAnim) {
|
|
4066
4117
|
animObj = {
|
|
4067
|
-
easing:
|
|
4118
|
+
easing: innerSlideSetting.Easing,
|
|
4068
4119
|
onStart: null,
|
|
4069
|
-
speed:
|
|
4070
|
-
duration:
|
|
4120
|
+
speed: innerSlideSetting.Speed,
|
|
4121
|
+
duration: innerSlideSetting.Duration
|
|
4071
4122
|
};
|
|
4072
4123
|
}
|
|
4073
4124
|
_slideTo(position, animObj);
|
|
@@ -4093,6 +4144,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4093
4144
|
}
|
|
4094
4145
|
};
|
|
4095
4146
|
const slideToDiv = (div, doAnim) => {
|
|
4147
|
+
tryCancelDelayLoad();
|
|
4096
4148
|
if (div) {
|
|
4097
4149
|
const item_layout = div.jsvGetRelativePosition(toRaw(locateDiv.value));
|
|
4098
4150
|
const direction = 1;
|
|
@@ -4112,8 +4164,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4112
4164
|
_slideTo(cur_slide, doAnim ? {
|
|
4113
4165
|
easing: "",
|
|
4114
4166
|
onStart: null,
|
|
4115
|
-
speed:
|
|
4116
|
-
duration:
|
|
4167
|
+
speed: innerSlideSetting.Speed,
|
|
4168
|
+
duration: innerSlideSetting.Duration,
|
|
4117
4169
|
onEnd: null
|
|
4118
4170
|
} : null);
|
|
4119
4171
|
}
|
|
@@ -4186,11 +4238,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4186
4238
|
}
|
|
4187
4239
|
const updater = pageUpdater.update(
|
|
4188
4240
|
metroTemplate,
|
|
4189
|
-
visibleInfo.startWithPadding -
|
|
4190
|
-
|
|
4191
|
-
visibleInfo.startMax + visibleInfo.range + visibleInfo.padding.end - 1,
|
|
4192
|
-
visibleInfo.endWithPadding + props.keepTraceRange * pageRange
|
|
4193
|
-
),
|
|
4241
|
+
visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
|
|
4242
|
+
visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
|
|
4194
4243
|
focusId,
|
|
4195
4244
|
false,
|
|
4196
4245
|
permanentItemList
|
|
@@ -4198,6 +4247,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4198
4247
|
updater.apply();
|
|
4199
4248
|
onItemFocus(getItemById(focusId), null);
|
|
4200
4249
|
slideToItem(id2Index(focusId), false);
|
|
4250
|
+
updateTouchBoxCondition();
|
|
4201
4251
|
};
|
|
4202
4252
|
const getVisibleItems = () => {
|
|
4203
4253
|
const [visibleStart, visibleEnd] = metroTemplate.getVisibleItemList(
|
|
@@ -4212,6 +4262,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4212
4262
|
};
|
|
4213
4263
|
};
|
|
4214
4264
|
const moveFocus = (direction) => {
|
|
4265
|
+
tryCancelDelayLoad();
|
|
4215
4266
|
if (direction == "left" || direction == 37 || direction == EdgeDirection.left) {
|
|
4216
4267
|
_moveToNext(-1, 0);
|
|
4217
4268
|
} else if (direction == "right" || direction == 39 || direction == EdgeDirection.right) {
|
|
@@ -4242,27 +4293,35 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4242
4293
|
const unlockSlide = () => {
|
|
4243
4294
|
slideLock = false;
|
|
4244
4295
|
};
|
|
4296
|
+
const setSlideSetting = (setting) => {
|
|
4297
|
+
if (!setting) {
|
|
4298
|
+
innerSlideSetting = props.slideSetting;
|
|
4299
|
+
} else {
|
|
4300
|
+
innerSlideSetting = setting;
|
|
4301
|
+
}
|
|
4302
|
+
};
|
|
4245
4303
|
const exportObject = {
|
|
4246
4304
|
lockSlide,
|
|
4247
4305
|
unlockSlide,
|
|
4248
4306
|
lock,
|
|
4249
4307
|
unlock,
|
|
4308
|
+
refreshData,
|
|
4309
|
+
moveFocus,
|
|
4250
4310
|
slideTo,
|
|
4311
|
+
slideToItem,
|
|
4312
|
+
slideToDiv,
|
|
4251
4313
|
setFocusId,
|
|
4252
4314
|
setFocusByUid,
|
|
4253
|
-
getFocusBlockRef,
|
|
4254
4315
|
setEnterFocusId,
|
|
4255
4316
|
setEnterFocusRect,
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
refreshData,
|
|
4317
|
+
setZIndex,
|
|
4318
|
+
getFocusBlockRef,
|
|
4259
4319
|
getVisibleItems,
|
|
4260
|
-
moveFocus,
|
|
4261
4320
|
getCustomerDataSize,
|
|
4262
|
-
setZIndex,
|
|
4263
4321
|
getCurrentFocusIndex,
|
|
4264
4322
|
getCurMode,
|
|
4265
|
-
getTemplatePosition
|
|
4323
|
+
getTemplatePosition,
|
|
4324
|
+
setSlideSetting
|
|
4266
4325
|
};
|
|
4267
4326
|
const _calculateNearestItemByRect = (visibleSet, enter_rect_info) => {
|
|
4268
4327
|
let edge_direction = enter_rect_info.direction;
|
|
@@ -4408,6 +4467,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4408
4467
|
if (onKeyDownLock) {
|
|
4409
4468
|
return true;
|
|
4410
4469
|
}
|
|
4470
|
+
tryCancelDelayLoad();
|
|
4411
4471
|
if (mode.getMode() == TOUCH_MODE) {
|
|
4412
4472
|
if (mode.duringTouch()) {
|
|
4413
4473
|
return true;
|
|
@@ -4449,6 +4509,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4449
4509
|
metroTemplate.getTailItemIndex()
|
|
4450
4510
|
)?.templateInfo;
|
|
4451
4511
|
if (lastTemplateInfo) {
|
|
4512
|
+
let preTouchW = touchDivSize.width;
|
|
4513
|
+
let preTouchH = touchDivSize.height;
|
|
4452
4514
|
if (vertical) {
|
|
4453
4515
|
touchDivSize.width = props.width;
|
|
4454
4516
|
touchDivSize.height = lastTemplateInfo.top + lastTemplateInfo.height - 1;
|
|
@@ -4456,7 +4518,9 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4456
4518
|
touchDivSize.width = lastTemplateInfo.left + lastTemplateInfo.width - 1;
|
|
4457
4519
|
touchDivSize.height = props.height;
|
|
4458
4520
|
}
|
|
4459
|
-
|
|
4521
|
+
if (preTouchW !== touchDivSize.width || preTouchH !== touchDivSize.height) {
|
|
4522
|
+
updateTouchBoxCondition();
|
|
4523
|
+
}
|
|
4460
4524
|
}
|
|
4461
4525
|
};
|
|
4462
4526
|
const _onTemplateItemAdd = (customerData, templateItem, measuresObj) => {
|
|
@@ -4578,8 +4642,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4578
4642
|
{
|
|
4579
4643
|
easing: "",
|
|
4580
4644
|
onStart: null,
|
|
4581
|
-
speed:
|
|
4582
|
-
duration:
|
|
4645
|
+
speed: innerSlideSetting.Speed,
|
|
4646
|
+
duration: innerSlideSetting.Duration
|
|
4583
4647
|
},
|
|
4584
4648
|
{
|
|
4585
4649
|
mergeTmp: true
|
|
@@ -4668,27 +4732,31 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4668
4732
|
}
|
|
4669
4733
|
onItemBlur(preFocusItem);
|
|
4670
4734
|
onItemFocus(next_focus_item, preEdgeRect);
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
|
|
4735
|
+
if (next_focus_item.itemConfig.itemSlide == METRO_WIDGET.ITEM_SLIDE.ACT_ITEM_FOCUS) {
|
|
4736
|
+
let cur_visible_start2 = _calculateVisibleStart(
|
|
4737
|
+
next_focus_item.templateInfo,
|
|
4738
|
+
vertical ? vertical_direction : horizontal_direction,
|
|
4739
|
+
preFocusItem.templateInfo
|
|
4740
|
+
);
|
|
4741
|
+
if (visibleInfo.start !== cur_visible_start2) {
|
|
4674
4742
|
let animObj = {
|
|
4675
4743
|
easing: "",
|
|
4676
4744
|
onStart: null,
|
|
4677
|
-
speed:
|
|
4678
|
-
duration:
|
|
4745
|
+
speed: innerSlideSetting.Speed,
|
|
4746
|
+
duration: innerSlideSetting.Duration
|
|
4679
4747
|
};
|
|
4680
4748
|
_slideTo(cur_visible_start2, animObj, { mergeTmp: false });
|
|
4681
|
-
} else {
|
|
4682
|
-
const updater = pageUpdater.update(
|
|
4683
|
-
metroTemplate,
|
|
4684
|
-
cur_visible_start2,
|
|
4685
|
-
cur_visible_start2 + visibleInfo.range + visibleInfo.padding.end - 1,
|
|
4686
|
-
next_focus_item.id,
|
|
4687
|
-
false,
|
|
4688
|
-
permanentItemList
|
|
4689
|
-
);
|
|
4690
|
-
updater.applyTmp();
|
|
4691
4749
|
}
|
|
4750
|
+
} else {
|
|
4751
|
+
const updater = pageUpdater.update(
|
|
4752
|
+
metroTemplate,
|
|
4753
|
+
visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
|
|
4754
|
+
visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
|
|
4755
|
+
next_focus_item.id,
|
|
4756
|
+
false,
|
|
4757
|
+
permanentItemList
|
|
4758
|
+
);
|
|
4759
|
+
updater.applyTmp();
|
|
4692
4760
|
}
|
|
4693
4761
|
} else {
|
|
4694
4762
|
let x_off_set = vertical ? 0 : visibleInfo.start;
|
|
@@ -4736,32 +4804,44 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4736
4804
|
const normalizeVisibleStart = (origin, targetItem = null) => {
|
|
4737
4805
|
let pos_key = vertical ? "top" : "left";
|
|
4738
4806
|
let size_key = vertical ? "height" : "width";
|
|
4739
|
-
let
|
|
4740
|
-
if ((
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4744
|
-
|
|
4807
|
+
let visibleStart = origin;
|
|
4808
|
+
if ((innerSlideSetting.BoundaryProtect & SlideSetting.START_PROTECT) > 0) {
|
|
4809
|
+
if (visibleInfo.start >= 0) {
|
|
4810
|
+
let boundary = 0;
|
|
4811
|
+
const headTemplateInfo = getItemByIndex(0).templateInfo;
|
|
4812
|
+
if (targetItem && (!headTemplateInfo.focusable || targetItem.index == headTemplateInfo.index) && targetItem[pos_key] + targetItem[size_key] <= visibleInfo.range) {
|
|
4813
|
+
boundary = headTemplateInfo[size_key];
|
|
4814
|
+
}
|
|
4815
|
+
visibleStart = visibleStart < boundary ? 0 : visibleStart;
|
|
4816
|
+
} else {
|
|
4817
|
+
visibleStart = visibleStart < visibleInfo.start ? visibleInfo.start : visibleStart;
|
|
4745
4818
|
}
|
|
4746
|
-
visible_start = visible_start < boundary ? 0 : visible_start;
|
|
4747
4819
|
}
|
|
4748
|
-
if ((
|
|
4820
|
+
if ((innerSlideSetting.BoundaryProtect & SlideSetting.END_PROTECT) > 0) {
|
|
4749
4821
|
let lastTemplateInfo = getItemByIndex(metroTemplate.getTailItemIndex()).templateInfo;
|
|
4750
|
-
|
|
4751
|
-
|
|
4752
|
-
|
|
4753
|
-
|
|
4754
|
-
|
|
4822
|
+
const lastEnd = lastTemplateInfo[pos_key] + lastTemplateInfo[size_key];
|
|
4823
|
+
const lastVisibleStart = Math.max(lastEnd - visibleInfo.range, 0);
|
|
4824
|
+
if (visibleInfo.end <= lastEnd) {
|
|
4825
|
+
let boundary = lastVisibleStart;
|
|
4826
|
+
if (targetItem && (!lastTemplateInfo.focusable || targetItem.index == lastTemplateInfo.index) && targetItem[pos_key] - lastVisibleStart >= 0) {
|
|
4827
|
+
boundary = lastTemplateInfo[pos_key] - visibleInfo.range;
|
|
4828
|
+
}
|
|
4829
|
+
visibleStart = visibleStart > boundary ? lastVisibleStart : visibleStart;
|
|
4830
|
+
} else {
|
|
4831
|
+
visibleStart = visibleStart > visibleInfo.start ? visibleInfo.start : visibleStart;
|
|
4755
4832
|
}
|
|
4756
|
-
visible_start = visible_start > boundary ? last_visible_start : visible_start;
|
|
4757
4833
|
}
|
|
4758
|
-
return
|
|
4834
|
+
return visibleStart;
|
|
4759
4835
|
};
|
|
4760
|
-
|
|
4836
|
+
let preTemplateInfo = null;
|
|
4837
|
+
const _calculateVisibleStart = (targetTemplateInfo, direction, preInfo = null) => {
|
|
4761
4838
|
if (!targetTemplateInfo) {
|
|
4762
4839
|
console.error("MetroWidget: _calculateVisibleStart target item is null");
|
|
4763
4840
|
return 0;
|
|
4764
4841
|
}
|
|
4842
|
+
if (preInfo) {
|
|
4843
|
+
preTemplateInfo = preInfo;
|
|
4844
|
+
}
|
|
4765
4845
|
preSlideDirection = direction;
|
|
4766
4846
|
preAnchorItemIndex = targetTemplateInfo.index;
|
|
4767
4847
|
let pos_key = vertical ? "top" : "left";
|
|
@@ -4769,9 +4849,9 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4769
4849
|
let center_key = vertical ? "centerYPos" : "centerXPos";
|
|
4770
4850
|
let new_visible_start = visibleInfo.start;
|
|
4771
4851
|
let needCalculate = true;
|
|
4772
|
-
switch (
|
|
4852
|
+
switch (innerSlideSetting.Type) {
|
|
4773
4853
|
case SlideSetting.Type.FIX_POSITION:
|
|
4774
|
-
if (
|
|
4854
|
+
if (innerSlideSetting.FixFirstPage) {
|
|
4775
4855
|
if (targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] - 1 < visibleInfo.range) {
|
|
4776
4856
|
new_visible_start = 0;
|
|
4777
4857
|
needCalculate = false;
|
|
@@ -4779,7 +4859,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4779
4859
|
}
|
|
4780
4860
|
if (needCalculate) {
|
|
4781
4861
|
new_visible_start = Math.ceil(
|
|
4782
|
-
targetTemplateInfo[center_key] - visibleInfo.range *
|
|
4862
|
+
targetTemplateInfo[center_key] - visibleInfo.range * innerSlideSetting.FixPercent
|
|
4783
4863
|
);
|
|
4784
4864
|
}
|
|
4785
4865
|
break;
|
|
@@ -4793,40 +4873,77 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4793
4873
|
}
|
|
4794
4874
|
break;
|
|
4795
4875
|
case SlideSetting.Type.SEAMLESS:
|
|
4796
|
-
if (
|
|
4876
|
+
if (innerSlideSetting.FixFirstPage) {
|
|
4797
4877
|
if (targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] - 1 < visibleInfo.range) {
|
|
4798
4878
|
new_visible_start = 0;
|
|
4799
4879
|
needCalculate = false;
|
|
4800
4880
|
}
|
|
4801
4881
|
}
|
|
4802
4882
|
if (needCalculate) {
|
|
4803
|
-
|
|
4804
|
-
|
|
4883
|
+
const rect0Start = visibleInfo.start;
|
|
4884
|
+
const rect0End = visibleInfo.start + visibleInfo.range * innerSlideSetting.StartPercent;
|
|
4885
|
+
const rect1Start = visibleInfo.start + visibleInfo.range * innerSlideSetting.EndPercent;
|
|
4886
|
+
const rect1End = visibleInfo.end;
|
|
4887
|
+
const itemStart = targetTemplateInfo[pos_key];
|
|
4888
|
+
const itemEnd = targetTemplateInfo[pos_key] + targetTemplateInfo[size_key] - 1;
|
|
4889
|
+
let targetStart;
|
|
4890
|
+
let targetEnd;
|
|
4891
|
+
if (preTemplateInfo != null) {
|
|
4892
|
+
targetStart = preTemplateInfo[pos_key];
|
|
4893
|
+
targetEnd = preTemplateInfo[pos_key] + preTemplateInfo[size_key] - 1;
|
|
4805
4894
|
} else {
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
|
|
4811
|
-
|
|
4812
|
-
|
|
4895
|
+
targetStart = rect0End;
|
|
4896
|
+
targetEnd = rect1Start;
|
|
4897
|
+
}
|
|
4898
|
+
let rect0Result = void 0;
|
|
4899
|
+
let rect1Result = void 0;
|
|
4900
|
+
if (itemStart < rect0End) {
|
|
4901
|
+
if (targetStart < rect0Start) {
|
|
4902
|
+
rect0Result = itemStart;
|
|
4903
|
+
} else {
|
|
4904
|
+
if (direction <= 0) {
|
|
4905
|
+
let pre;
|
|
4906
|
+
if (targetStart < rect0End) {
|
|
4907
|
+
pre = targetStart;
|
|
4908
|
+
} else {
|
|
4909
|
+
pre = rect0End;
|
|
4910
|
+
}
|
|
4911
|
+
rect0Result = visibleInfo.start + (itemStart - pre);
|
|
4813
4912
|
}
|
|
4913
|
+
}
|
|
4914
|
+
}
|
|
4915
|
+
if (itemEnd > rect1Start) {
|
|
4916
|
+
if (targetEnd > rect1End) {
|
|
4917
|
+
rect1Result = itemEnd - visibleInfo.range;
|
|
4814
4918
|
} else {
|
|
4815
|
-
|
|
4816
|
-
|
|
4817
|
-
|
|
4818
|
-
|
|
4919
|
+
let pre;
|
|
4920
|
+
if (targetEnd > rect1Start) {
|
|
4921
|
+
pre = targetEnd;
|
|
4922
|
+
} else {
|
|
4923
|
+
pre = rect1Start;
|
|
4924
|
+
}
|
|
4925
|
+
if (direction >= 0) {
|
|
4926
|
+
rect1Result = visibleInfo.start + (itemEnd - pre);
|
|
4819
4927
|
}
|
|
4820
4928
|
}
|
|
4929
|
+
} else {
|
|
4930
|
+
}
|
|
4931
|
+
if (typeof rect0Result !== "undefined" && typeof rect1Result !== "undefined") {
|
|
4932
|
+
new_visible_start = rect0Result;
|
|
4933
|
+
} else if (typeof rect0Result !== "undefined") {
|
|
4934
|
+
new_visible_start = rect0Result;
|
|
4935
|
+
} else if (typeof rect1Result !== "undefined") {
|
|
4936
|
+
new_visible_start = rect1Result;
|
|
4821
4937
|
}
|
|
4822
4938
|
}
|
|
4823
4939
|
break;
|
|
4824
4940
|
default:
|
|
4825
4941
|
console.error(
|
|
4826
4942
|
"MetroWidget: undefined slide type",
|
|
4827
|
-
|
|
4943
|
+
innerSlideSetting.Type
|
|
4828
4944
|
);
|
|
4829
4945
|
}
|
|
4946
|
+
preTemplateInfo = targetTemplateInfo;
|
|
4830
4947
|
new_visible_start = normalizeVisibleStart(new_visible_start, targetTemplateInfo);
|
|
4831
4948
|
return Math.round(new_visible_start);
|
|
4832
4949
|
};
|
|
@@ -4922,6 +5039,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4922
5039
|
const touchLoadItemRect = visibleInfo.range;
|
|
4923
5040
|
const reachAnchorGroup = 2;
|
|
4924
5041
|
const wallConditionGroup = 1;
|
|
5042
|
+
const touchCountGroup = 3;
|
|
4925
5043
|
let divPos = -1;
|
|
4926
5044
|
let frameCount = -1;
|
|
4927
5045
|
const getVisibleStart = (moveInfo) => {
|
|
@@ -4934,7 +5052,18 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4934
5052
|
return -(divPos + Math.round(moveInfo.xPos));
|
|
4935
5053
|
}
|
|
4936
5054
|
};
|
|
4937
|
-
const
|
|
5055
|
+
const getTouchCount = (nexusCustomData) => {
|
|
5056
|
+
let touchCount = -1;
|
|
5057
|
+
if (nexusCustomData) {
|
|
5058
|
+
try {
|
|
5059
|
+
touchCount = JSON.parse(nexusCustomData).tc;
|
|
5060
|
+
} catch (e) {
|
|
5061
|
+
touchCount = -1;
|
|
5062
|
+
}
|
|
5063
|
+
}
|
|
5064
|
+
return touchCount;
|
|
5065
|
+
};
|
|
5066
|
+
const mergeTouchSlideToSlideDiv = (touchCount) => {
|
|
4938
5067
|
if (vertical) {
|
|
4939
5068
|
slideDivTop.value = -visibleInfo.start;
|
|
4940
5069
|
} else {
|
|
@@ -4945,10 +5074,23 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4945
5074
|
actorController.state().removeConditionByGroup(wallConditionGroup),
|
|
4946
5075
|
actorController.condition(wallConditionGroup, true).boxPosition(walls.left, walls.top, walls.right, walls.bottom).then([actorController.state().setHitWallOverflow()]),
|
|
4947
5076
|
//TODO 通过prop设置哪个方向overflow
|
|
4948
|
-
actorController.
|
|
5077
|
+
actorController.condition(touchCountGroup, false).touchCount(touchCount).then([
|
|
5078
|
+
actorController.action().teleportTo(0, 0)
|
|
5079
|
+
])
|
|
5080
|
+
]);
|
|
5081
|
+
actorController.run([
|
|
5082
|
+
actorController.condition().onNextTick().then([
|
|
5083
|
+
actorController.state().removeConditionByGroup(touchCountGroup)
|
|
5084
|
+
])
|
|
4949
5085
|
]);
|
|
4950
5086
|
};
|
|
4951
|
-
const onTouchDown = (data) => {
|
|
5087
|
+
const onTouchDown = (data, customData, nexusCustomData) => {
|
|
5088
|
+
touchRecorder.reset();
|
|
5089
|
+
let touchCount = getTouchCount(nexusCustomData);
|
|
5090
|
+
touchRecorder.setTouchCount(touchCount);
|
|
5091
|
+
if (mode.getMode() == FOCUS_MODE) {
|
|
5092
|
+
updateTouchBoxCondition();
|
|
5093
|
+
}
|
|
4952
5094
|
mode.touchStart();
|
|
4953
5095
|
mode.flingEnd();
|
|
4954
5096
|
const t = 100;
|
|
@@ -4966,8 +5108,8 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4966
5108
|
templateItemAdder.tryAddItemByPosition(visibleInfo.end + visibleInfo.range);
|
|
4967
5109
|
const updater = pageUpdater.update(
|
|
4968
5110
|
metroTemplate,
|
|
4969
|
-
visibleInfo.startWithPadding -
|
|
4970
|
-
visibleInfo.endWithPadding +
|
|
5111
|
+
visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
|
|
5112
|
+
visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
|
|
4971
5113
|
0,
|
|
4972
5114
|
false,
|
|
4973
5115
|
permanentItemList
|
|
@@ -4996,39 +5138,49 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
4996
5138
|
if (mode.getTouchState() == TouchState.TAP) {
|
|
4997
5139
|
updateRenderItems(false, false);
|
|
4998
5140
|
mode.touchEnd();
|
|
5141
|
+
} else {
|
|
5142
|
+
if (touchRecorder.moved && !mode.duringFling()) {
|
|
5143
|
+
mergeTouchSlideToSlideDiv(touchRecorder.touchCount);
|
|
5144
|
+
updateRenderItems(false, false);
|
|
5145
|
+
mode.touchEnd();
|
|
5146
|
+
}
|
|
4999
5147
|
}
|
|
5000
5148
|
};
|
|
5001
|
-
const
|
|
5149
|
+
const exportOnTouchRelease = props.touchFlag > 0 ? onTouchRelease : void 0;
|
|
5150
|
+
const onDragStart = (data, customData, nexusCustomData) => {
|
|
5151
|
+
touchRecorder.move();
|
|
5002
5152
|
mode.dragStart();
|
|
5003
5153
|
visibleInfo.start = getVisibleStart(data);
|
|
5004
5154
|
};
|
|
5005
|
-
const onDragEnd = (data) => {
|
|
5155
|
+
const onDragEnd = (data, customData, nexusCustomData) => {
|
|
5006
5156
|
visibleInfo.start = getVisibleStart(data);
|
|
5007
5157
|
actorController.run([
|
|
5008
5158
|
actorController.state().removeConditionByGroup(reachAnchorGroup)
|
|
5009
5159
|
]);
|
|
5010
|
-
mergeTouchSlideToSlideDiv();
|
|
5011
|
-
updateRenderItems(false, false);
|
|
5012
|
-
mode.touchEnd();
|
|
5013
5160
|
};
|
|
5014
|
-
const onFlingStart = (data) => {
|
|
5161
|
+
const onFlingStart = (data, customData, nexusCustomData) => {
|
|
5162
|
+
touchRecorder.move();
|
|
5015
5163
|
mode.flingStart();
|
|
5016
5164
|
visibleInfo.start = getVisibleStart(data);
|
|
5017
5165
|
updateRenderItems(true, true);
|
|
5018
5166
|
};
|
|
5019
|
-
const onFlingProgress = (data) => {
|
|
5167
|
+
const onFlingProgress = (data, customData, nexusCustomData) => {
|
|
5020
5168
|
visibleInfo.start = getVisibleStart(data);
|
|
5021
5169
|
updateRenderItems(true, true);
|
|
5022
5170
|
};
|
|
5023
|
-
const onFlingEnd = (data) => {
|
|
5171
|
+
const onFlingEnd = (data, customData, nexusCustomData) => {
|
|
5024
5172
|
visibleInfo.start = getVisibleStart(data);
|
|
5025
5173
|
if (mode.duringFling()) {
|
|
5026
|
-
|
|
5174
|
+
let touchCount = getTouchCount(nexusCustomData);
|
|
5175
|
+
mergeTouchSlideToSlideDiv(touchCount);
|
|
5027
5176
|
updateRenderItems(false, false);
|
|
5028
5177
|
mode.flingEnd();
|
|
5029
5178
|
mode.touchEnd();
|
|
5030
5179
|
}
|
|
5031
5180
|
};
|
|
5181
|
+
const onFlingDrop = (data, customData, nexusCustomData) => {
|
|
5182
|
+
visibleInfo.start = getVisibleStart(data);
|
|
5183
|
+
};
|
|
5032
5184
|
const getTouchWall = () => {
|
|
5033
5185
|
const boxSize = metroTemplate.getBoundingBoxSize();
|
|
5034
5186
|
let wall = {
|
|
@@ -5040,9 +5192,15 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
5040
5192
|
if (vertical) {
|
|
5041
5193
|
wall.top = -boxSize.height + props.height - slideDivTop.value;
|
|
5042
5194
|
wall.bottom = -slideDivTop.value;
|
|
5195
|
+
if (wall.top > wall.bottom) {
|
|
5196
|
+
wall.top = wall.bottom;
|
|
5197
|
+
}
|
|
5043
5198
|
} else {
|
|
5044
5199
|
wall.left = -boxSize.width + props.width - slideDivLeft.value;
|
|
5045
5200
|
wall.right = -slideDivLeft.value;
|
|
5201
|
+
if (wall.left > wall.right) {
|
|
5202
|
+
wall.left = wall.right;
|
|
5203
|
+
}
|
|
5046
5204
|
}
|
|
5047
5205
|
return wall;
|
|
5048
5206
|
};
|
|
@@ -5050,15 +5208,15 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
5050
5208
|
templateItemAdder.tryAddItemByPosition(visibleInfo.start + visibleInfo.range);
|
|
5051
5209
|
const updater = pageUpdater.update(
|
|
5052
5210
|
metroTemplate,
|
|
5053
|
-
|
|
5054
|
-
|
|
5211
|
+
visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
|
|
5212
|
+
visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
|
|
5055
5213
|
0,
|
|
5056
5214
|
true,
|
|
5057
5215
|
permanentItemList
|
|
5058
5216
|
);
|
|
5059
5217
|
applyTmp ? updater.applyTmp() : updater.apply();
|
|
5060
5218
|
};
|
|
5061
|
-
const
|
|
5219
|
+
const updateTouchBoxCondition = () => {
|
|
5062
5220
|
if (actorController != null) {
|
|
5063
5221
|
const walls = getTouchWall();
|
|
5064
5222
|
actorController.run([
|
|
@@ -5068,6 +5226,20 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
5068
5226
|
]);
|
|
5069
5227
|
}
|
|
5070
5228
|
};
|
|
5229
|
+
const touchRecorder = {
|
|
5230
|
+
moved: false,
|
|
5231
|
+
touchCount: -1,
|
|
5232
|
+
reset: function() {
|
|
5233
|
+
this.moved = false;
|
|
5234
|
+
this.touchCount = -1;
|
|
5235
|
+
},
|
|
5236
|
+
move: function() {
|
|
5237
|
+
this.moved = true;
|
|
5238
|
+
},
|
|
5239
|
+
setTouchCount: function(count) {
|
|
5240
|
+
this.touchCount = count;
|
|
5241
|
+
}
|
|
5242
|
+
};
|
|
5071
5243
|
const initTouch = () => {
|
|
5072
5244
|
actorController = new ActorControl();
|
|
5073
5245
|
const divView = touchDiv.value.jsvGetProxyView();
|
|
@@ -5076,20 +5248,18 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
5076
5248
|
const walls = getTouchWall();
|
|
5077
5249
|
actorController.run([
|
|
5078
5250
|
actorController.condition(void 0, true).onTouchDown().then([onTouchDown]),
|
|
5079
|
-
|
|
5080
|
-
// .condition(undefined, true)
|
|
5081
|
-
// .onDragStart()
|
|
5082
|
-
// .then([onDragStart]),
|
|
5251
|
+
actorController.condition(void 0, true).onDragStart().then([onDragStart]),
|
|
5083
5252
|
actorController.condition(void 0, true).onDragEnd().then([onDragEnd]),
|
|
5084
5253
|
actorController.condition(void 0, true).onFlingStart().then([onFlingStart]),
|
|
5085
5254
|
actorController.condition(void 0, true).onFlingProgress().then([onFlingProgress]),
|
|
5086
5255
|
actorController.condition(void 0, true).onFlingEnd().then([onFlingEnd]),
|
|
5256
|
+
actorController.condition(void 0, true).onFlingDrop().then([onFlingDrop]),
|
|
5087
5257
|
actorController.condition(void 0, true).onTouchRelease().then([actorController.state().touchLockSwitch(false, vertical ? 1 : 2)]),
|
|
5088
5258
|
actorController.condition(wallConditionGroup, true).boxPosition(walls.left, walls.top, walls.right, walls.bottom).then([actorController.state().setHitWallOverflow()])
|
|
5089
5259
|
//TODO 通过prop设置哪个方向overflow
|
|
5090
5260
|
]);
|
|
5091
5261
|
};
|
|
5092
|
-
pageUpdater = new PageUpdater(_updatePage);
|
|
5262
|
+
pageUpdater = new PageUpdater(_updatePage, props.name);
|
|
5093
5263
|
visibleInfo.range = vertical ? widgetRectInfo.contentHeight : widgetRectInfo.contentWidth;
|
|
5094
5264
|
visibleInfo.padding = vertical ? { start: widgetRectInfo.padding.top, end: widgetRectInfo.padding.bottom } : { start: widgetRectInfo.padding.left, end: widgetRectInfo.padding.right };
|
|
5095
5265
|
if (props.provideData) {
|
|
@@ -5119,7 +5289,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
5119
5289
|
if (item) {
|
|
5120
5290
|
init_focus_id = props.initFocusId;
|
|
5121
5291
|
if (item.itemConfig.itemSlide == METRO_WIDGET.ITEM_SLIDE.ACT_ITEM_FOCUS) {
|
|
5122
|
-
cur_visible_start = _calculateVisibleStart(item.templateInfo,
|
|
5292
|
+
cur_visible_start = _calculateVisibleStart(item.templateInfo, 0);
|
|
5123
5293
|
}
|
|
5124
5294
|
}
|
|
5125
5295
|
}
|
|
@@ -5134,6 +5304,20 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
5134
5304
|
permanentItemList
|
|
5135
5305
|
);
|
|
5136
5306
|
initUpdater.apply();
|
|
5307
|
+
const delayLoadHandler = setTimeout(() => {
|
|
5308
|
+
const updateHandler = pageUpdater.update(
|
|
5309
|
+
metroTemplate,
|
|
5310
|
+
visibleInfo.startWithPadding - innerKeepTraceRange * pageRange,
|
|
5311
|
+
visibleInfo.endWithPadding + innerKeepTraceRange * pageRange,
|
|
5312
|
+
focusId,
|
|
5313
|
+
false,
|
|
5314
|
+
permanentItemList
|
|
5315
|
+
);
|
|
5316
|
+
updateHandler.apply();
|
|
5317
|
+
}, 200);
|
|
5318
|
+
const tryCancelDelayLoad = () => {
|
|
5319
|
+
clearTimeout(delayLoadHandler);
|
|
5320
|
+
};
|
|
5137
5321
|
onMounted(() => {
|
|
5138
5322
|
_changeFocusId(focusId, false);
|
|
5139
5323
|
mounted = true;
|
|
@@ -5155,6 +5339,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
5155
5339
|
onUpdated(() => {
|
|
5156
5340
|
});
|
|
5157
5341
|
onBeforeUnmount(() => {
|
|
5342
|
+
tryCancelDelayLoad();
|
|
5158
5343
|
mounted = false;
|
|
5159
5344
|
});
|
|
5160
5345
|
return {
|
|
@@ -5167,7 +5352,7 @@ const setup = (props, itemRender, locateDiv, renderData, slideDiv, slideDivLeft,
|
|
|
5167
5352
|
exportObject,
|
|
5168
5353
|
setZIndex,
|
|
5169
5354
|
onTouchDown,
|
|
5170
|
-
onTouchRelease,
|
|
5355
|
+
onTouchRelease: exportOnTouchRelease,
|
|
5171
5356
|
currentFocusIndex,
|
|
5172
5357
|
modeForExport
|
|
5173
5358
|
};
|
|
@@ -5273,6 +5458,7 @@ const _sfc_main$H = {
|
|
|
5273
5458
|
zIndex {int | object}: item的zIndex, 为object时可以分别设置{focus: 0, normal: 0}, 为number时则同时设置获焦和不获焦的zIndex,
|
|
5274
5459
|
uid {string}: item的uid, 可以通过uid来设置焦点
|
|
5275
5460
|
permanent {boolean}: 出去与是否保留
|
|
5461
|
+
enableTap {boolean}: 是否接受触控tap
|
|
5276
5462
|
}
|
|
5277
5463
|
*
|
|
5278
5464
|
* onFocus {function} 控件获取焦点的回调
|
|
@@ -5283,6 +5469,10 @@ const _sfc_main$H = {
|
|
|
5283
5469
|
"rect": 到达边缘时的区域{x: 0, y: 0, width: 0,height: 0}
|
|
5284
5470
|
}
|
|
5285
5471
|
onScroll {function} 滚动时的回调 (visibleStart, visibleRange, totalSize) => {}
|
|
5472
|
+
(TBD:
|
|
5473
|
+
当前版本暂时不支持触控过程的实时回调,
|
|
5474
|
+
由于回调js会严重拖慢性能,所以也不会设计实时回调,
|
|
5475
|
+
关于边缘的拖动进度展示,将来会有额外组件支撑)
|
|
5286
5476
|
visibleStart: 可视区域的起点
|
|
5287
5477
|
visibleRange: 可视区域大小(不含padding)
|
|
5288
5478
|
totalSize: 所有item的总长
|
|
@@ -5292,6 +5482,7 @@ const _sfc_main$H = {
|
|
|
5292
5482
|
* flingPageWidth {}
|
|
5293
5483
|
* flingPageEdge {}
|
|
5294
5484
|
* disableClip {boolean} 取消显示范围的clipView
|
|
5485
|
+
* touchFlag {int} 触控的开关, 0:关闭, 1:打开. 打开后支持drag, fling; item的tap则由measuresObject的enableTap控制
|
|
5295
5486
|
|
|
5296
5487
|
* methods:
|
|
5297
5488
|
getFocusBlockRef 获取此MetroWidget的 jsv-focus-block句柄,可以使用requestFocus完成获焦
|
|
@@ -5378,6 +5569,9 @@ const _sfc_main$H = {
|
|
|
5378
5569
|
@description 锁定滚动
|
|
5379
5570
|
unlockSlide
|
|
5380
5571
|
@description 取消锁定
|
|
5572
|
+
setSlideSetting
|
|
5573
|
+
@description 设置slideSetting
|
|
5574
|
+
@params { SlideSetting | null } setting 滚动设置, 为null时使用props.slideSetting
|
|
5381
5575
|
|
|
5382
5576
|
slots:
|
|
5383
5577
|
renderItem: 该slot用于描画每个单元格
|
|
@@ -5554,7 +5748,7 @@ const _sfc_main$G = {
|
|
|
5554
5748
|
},
|
|
5555
5749
|
keepTraceRange: {
|
|
5556
5750
|
type: Number,
|
|
5557
|
-
default:
|
|
5751
|
+
default: -1
|
|
5558
5752
|
},
|
|
5559
5753
|
onScroll: {
|
|
5560
5754
|
type: Function
|
|
@@ -5628,6 +5822,10 @@ const _sfc_main$G = {
|
|
|
5628
5822
|
touchDivSize,
|
|
5629
5823
|
"common"
|
|
5630
5824
|
);
|
|
5825
|
+
let touchDivVOn = {};
|
|
5826
|
+
if (onTouchRelease) {
|
|
5827
|
+
touchDivVOn["jsv-touchend"] = onTouchRelease;
|
|
5828
|
+
}
|
|
5631
5829
|
expose(exportObject);
|
|
5632
5830
|
return (_ctx, _cache) => {
|
|
5633
5831
|
const _component_jsv_focus_block = resolveComponent("jsv-focus-block");
|
|
@@ -5656,15 +5854,14 @@ const _sfc_main$G = {
|
|
|
5656
5854
|
top: slideDivTop.value
|
|
5657
5855
|
})
|
|
5658
5856
|
}, [
|
|
5659
|
-
createElementVNode("div", {
|
|
5857
|
+
createElementVNode("div", mergeProps({
|
|
5660
5858
|
ref_key: "touchDiv",
|
|
5661
5859
|
ref: touchDiv,
|
|
5662
|
-
style:
|
|
5860
|
+
style: {
|
|
5663
5861
|
width: touchDivSize.width,
|
|
5664
5862
|
height: touchDivSize.height
|
|
5665
|
-
}
|
|
5666
|
-
|
|
5667
|
-
}, [
|
|
5863
|
+
}
|
|
5864
|
+
}, toHandlers(unref(touchDivVOn), true)), [
|
|
5668
5865
|
createElementVNode("div", null, [
|
|
5669
5866
|
renderSlot(_ctx.$slots, "background")
|
|
5670
5867
|
]),
|
|
@@ -5689,6 +5886,7 @@ const _sfc_main$G = {
|
|
|
5689
5886
|
key: pageUpdateToken.value + "_" + item.index,
|
|
5690
5887
|
ref_for: true,
|
|
5691
5888
|
ref: item.divRef,
|
|
5889
|
+
"data-jsv-vw-test-rect": "1",
|
|
5692
5890
|
style: normalizeStyle({
|
|
5693
5891
|
left: item.templateInfo.left,
|
|
5694
5892
|
top: item.templateInfo.top,
|
|
@@ -5732,7 +5930,7 @@ const _sfc_main$G = {
|
|
|
5732
5930
|
_: 3
|
|
5733
5931
|
}, 8, ["name", "onAction"])
|
|
5734
5932
|
], 512)
|
|
5735
|
-
],
|
|
5933
|
+
], 16),
|
|
5736
5934
|
createElementVNode("div", null, [
|
|
5737
5935
|
renderSlot(_ctx.$slots, "foreground")
|
|
5738
5936
|
])
|
|
@@ -5866,7 +6064,7 @@ const _sfc_main$F = {
|
|
|
5866
6064
|
},
|
|
5867
6065
|
keepTraceRange: {
|
|
5868
6066
|
type: Number,
|
|
5869
|
-
default:
|
|
6067
|
+
default: -1
|
|
5870
6068
|
},
|
|
5871
6069
|
onScroll: {
|
|
5872
6070
|
type: Function
|
|
@@ -5939,6 +6137,10 @@ const _sfc_main$F = {
|
|
|
5939
6137
|
touchDivSize,
|
|
5940
6138
|
"list"
|
|
5941
6139
|
);
|
|
6140
|
+
let touchDivVOn = {};
|
|
6141
|
+
if (onTouchRelease) {
|
|
6142
|
+
touchDivVOn["jsv-touchend"] = onTouchRelease;
|
|
6143
|
+
}
|
|
5942
6144
|
expose(exportObject);
|
|
5943
6145
|
return (_ctx, _cache) => {
|
|
5944
6146
|
const _component_jsv_focus_block = resolveComponent("jsv-focus-block");
|
|
@@ -5967,15 +6169,14 @@ const _sfc_main$F = {
|
|
|
5967
6169
|
top: slideDivTop.value
|
|
5968
6170
|
})
|
|
5969
6171
|
}, [
|
|
5970
|
-
createElementVNode("div", {
|
|
6172
|
+
createElementVNode("div", mergeProps({
|
|
5971
6173
|
ref_key: "touchDiv",
|
|
5972
6174
|
ref: touchDiv,
|
|
5973
|
-
style:
|
|
6175
|
+
style: {
|
|
5974
6176
|
width: touchDivSize.width,
|
|
5975
6177
|
height: touchDivSize.height
|
|
5976
|
-
}
|
|
5977
|
-
|
|
5978
|
-
}, [
|
|
6178
|
+
}
|
|
6179
|
+
}, toHandlers(unref(touchDivVOn), true)), [
|
|
5979
6180
|
createElementVNode("div", null, [
|
|
5980
6181
|
renderSlot(_ctx.$slots, "background")
|
|
5981
6182
|
]),
|
|
@@ -6000,6 +6201,7 @@ const _sfc_main$F = {
|
|
|
6000
6201
|
key: pageUpdateToken.value + "_" + item.index,
|
|
6001
6202
|
ref_for: true,
|
|
6002
6203
|
ref: item.divRef,
|
|
6204
|
+
"data-jsv-vw-test-rect": "1",
|
|
6003
6205
|
style: normalizeStyle({
|
|
6004
6206
|
left: item.templateInfo.left,
|
|
6005
6207
|
top: item.templateInfo.top,
|
|
@@ -6038,7 +6240,7 @@ const _sfc_main$F = {
|
|
|
6038
6240
|
_: 3
|
|
6039
6241
|
}, 8, ["name", "onAction"])
|
|
6040
6242
|
], 512)
|
|
6041
|
-
],
|
|
6243
|
+
], 16),
|
|
6042
6244
|
createElementVNode("div", null, [
|
|
6043
6245
|
renderSlot(_ctx.$slots, "foreground")
|
|
6044
6246
|
])
|
|
@@ -8416,7 +8618,7 @@ function preDownloadSdk(core_version) {
|
|
|
8416
8618
|
return direct_call("preDownloadSdk", core_version);
|
|
8417
8619
|
}
|
|
8418
8620
|
// 显示声明,可以提高执行速度和利用上编辑器的成员名提示功能
|
|
8419
|
-
const
|
|
8621
|
+
const jJsvRuntimeBridge = {
|
|
8420
8622
|
getMac,
|
|
8421
8623
|
getWireMac,
|
|
8422
8624
|
getWifiMac,
|
|
@@ -16586,6 +16788,16 @@ const _sfc_main$9 = {
|
|
|
16586
16788
|
return "center";
|
|
16587
16789
|
}
|
|
16588
16790
|
});
|
|
16791
|
+
const textWidth = computed(() => {
|
|
16792
|
+
let w = props.style?.width;
|
|
16793
|
+
if (typeof w == "undefined") {
|
|
16794
|
+
w = 0;
|
|
16795
|
+
}
|
|
16796
|
+
return w;
|
|
16797
|
+
});
|
|
16798
|
+
const jsvTextLatexValue = computed(() => {
|
|
16799
|
+
return props.enableLatex ? 1 : 0;
|
|
16800
|
+
});
|
|
16589
16801
|
return (_ctx, _cache) => {
|
|
16590
16802
|
return openBlock(), createBlock(unref(_sfc_main$w), {
|
|
16591
16803
|
style: normalizeStyle({
|
|
@@ -16597,8 +16809,8 @@ const _sfc_main$9 = {
|
|
|
16597
16809
|
default: withCtx(() => [
|
|
16598
16810
|
createElementVNode("div", {
|
|
16599
16811
|
style: normalizeStyle({
|
|
16600
|
-
width:
|
|
16601
|
-
JsvTextLatex:
|
|
16812
|
+
width: unref(textWidth),
|
|
16813
|
+
JsvTextLatex: unref(jsvTextLatexValue),
|
|
16602
16814
|
JsvTextLineAlign: __props.lineAlign,
|
|
16603
16815
|
JsvTextInnerDirection: __props.textDirection
|
|
16604
16816
|
})
|
|
@@ -18560,13 +18772,14 @@ function swap(arr, i, j) {
|
|
|
18560
18772
|
function defaultCompare(a, b) {
|
|
18561
18773
|
return a < b ? -1 : a > b ? 1 : 0;
|
|
18562
18774
|
}
|
|
18563
|
-
|
|
18775
|
+
function RBush(maxEntries) {
|
|
18564
18776
|
if (maxEntries === void 0)
|
|
18565
18777
|
maxEntries = 9;
|
|
18566
18778
|
this._maxEntries = Math.max(4, maxEntries);
|
|
18567
18779
|
this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));
|
|
18568
18780
|
this.clear();
|
|
18569
|
-
}
|
|
18781
|
+
}
|
|
18782
|
+
;
|
|
18570
18783
|
RBush.prototype.all = function all() {
|
|
18571
18784
|
return this._all(this.data, []);
|
|
18572
18785
|
};
|
|
@@ -19573,4 +19786,4 @@ const _sfc_main = {
|
|
|
19573
19786
|
// utils/index.js;
|
|
19574
19787
|
//
|
|
19575
19788
|
|
|
19576
|
-
export { BaseDispatcher, DECORATE_BORDER_RADIUS, DECORATE_NINEPATCH_ALPHA_MIX, DebugObjectRefer, DebugTools, DebugWrap81ErrorStack, DebugWrap81WarnStack, DefaultKeyCodeMap, EdgeDirection, FixPositionSlide, FocusMoveType, FreeMoveDef, FreeMoveFunc, HORIZONTAL, InputType, instance as JSBridge, JsvAccount, _sfc_main$z as JsvActorMove, JsvActorMoveControl, _JsvApic$1 as JsvApic, _JsvApic2$1 as JsvApic2, _sfc_main$C as JsvAudio, _sfc_main$3 as JsvConnectLine, _sfc_main$1 as JsvEnableRenderBreak, _sfc_main$x as JsvEnvBlocker, JsvFederationTools, _sfc_main$i as JsvFilterView, _sfc_main$w as JsvFlexDiv, _sfc_main$E as JsvFocusBlock, _sfc_main$y as JsvFreeMoveActor, JsvGrid, JsvTransparentDiv as JsvHole, JsvInput, _sfc_main$A as JsvLatex, JsvLine, _sfc_main$f as JsvMarquee, JsvMaskClipDiv, _sfc_main as JsvMindMap, JsvTransparentDiv as JsvNativeSharedDiv, _sfc_main$d as JsvNinePatch, JsvPerformance, _sfc_main$4 as JsvPieChart, _sfc_main$c as JsvPosterDiv, _sfc_main$b as JsvPosterImage, exportObj as JsvPreDownloader, JsvPreload, _sfc_main$2 as JsvProgressBar, _JsvQrcode$1 as JsvQrcode, _sfc_main$8 as JsvRadarChart, _sfc_main$7 as JsvRipple, JsvRippleShape, JsvScaleTextBox, _sfc_main$5 as JsvSector, JsvSoundPool, _JsvSpray$1 as JsvSpray, JsvSpriteAnim, _sfc_main$n as JsvSpriteLoader, JsvSpriteAnim as JsvSpriteStatic, JsvSpriteTools, JsvStyleClass, JsvStyleSheetsDeclarer, JsvSwiper, _sfc_main$k as JsvSwiper3D, _sfc_main$9 as JsvTextBox, JsvTextStyleClass, _JsvTextureAnim$1 as JsvTextureAnim, sJsvTextureConst as JsvTextureConst, sTextureStoreApi as JsvTextureStoreApi, JsvTransparentDiv, JsvVisibleSensor, LineType, _sfc_main$F as ListWidget, LoopType, METRO_WIDGET, METRO_WIDGET as METRO_WIDGET_CONST, _sfc_main$G as MetroWidget, PageType, RENDER_ITEM_BREAK_KEY, Dispatcher as SWidgetDispatcher, SeamlessSlide, _sfc_main$G as SimpleWidget, SlideSetting, SlideStyle, SpriteController, TexAlignAnchor, TextTools, TextureInstantType, VERTICAL, WholePageSlide, buildDownloadInfo, buildPreloadInfo, combinedStyles, createImpactAutoFroze, createImpactCallback, createImpactTracer, disableNativeViewListener, enableNativeViewListener, getCssStyleGroup, getKeyFramesGroup, getMeasureObj, getPositionRelativeToView, getTextWidth, globalLoadJsvAudioPlugin, globalLoadJsvLatexPlugin,
|
|
19789
|
+
export { BaseDispatcher, DECORATE_BORDER_RADIUS, DECORATE_NINEPATCH_ALPHA_MIX, DebugObjectRefer, DebugTools, DebugWrap81ErrorStack, DebugWrap81WarnStack, DefaultKeyCodeMap, EdgeDirection, FixPositionSlide, FocusMoveType, FreeMoveDef, FreeMoveFunc, HORIZONTAL, InputType, instance as JSBridge, JsvAccount, _sfc_main$z as JsvActorMove, JsvActorMoveControl, _JsvApic$1 as JsvApic, _JsvApic2$1 as JsvApic2, _sfc_main$C as JsvAudio, _sfc_main$3 as JsvConnectLine, _sfc_main$1 as JsvEnableRenderBreak, _sfc_main$x as JsvEnvBlocker, JsvFederationTools, _sfc_main$i as JsvFilterView, _sfc_main$w as JsvFlexDiv, _sfc_main$E as JsvFocusBlock, _sfc_main$y as JsvFreeMoveActor, JsvGrid, JsvTransparentDiv as JsvHole, JsvInput, _sfc_main$A as JsvLatex, JsvLine, _sfc_main$f as JsvMarquee, JsvMaskClipDiv, _sfc_main as JsvMindMap, JsvTransparentDiv as JsvNativeSharedDiv, _sfc_main$d as JsvNinePatch, JsvPerformance, _sfc_main$4 as JsvPieChart, _sfc_main$c as JsvPosterDiv, _sfc_main$b as JsvPosterImage, exportObj as JsvPreDownloader, JsvPreload, _sfc_main$2 as JsvProgressBar, _JsvQrcode$1 as JsvQrcode, _sfc_main$8 as JsvRadarChart, _sfc_main$7 as JsvRipple, JsvRippleShape, JsvScaleTextBox, _sfc_main$5 as JsvSector, JsvSoundPool, _JsvSpray$1 as JsvSpray, JsvSpriteAnim, _sfc_main$n as JsvSpriteLoader, JsvSpriteAnim as JsvSpriteStatic, JsvSpriteTools, JsvStyleClass, JsvStyleSheetsDeclarer, JsvSwiper, _sfc_main$k as JsvSwiper3D, _sfc_main$9 as JsvTextBox, JsvTextStyleClass, _JsvTextureAnim$1 as JsvTextureAnim, sJsvTextureConst as JsvTextureConst, sTextureStoreApi as JsvTextureStoreApi, JsvTransparentDiv, JsvVisibleSensor, LineType, _sfc_main$F as ListWidget, LoopType, METRO_WIDGET, METRO_WIDGET as METRO_WIDGET_CONST, _sfc_main$G as MetroWidget, PageType, RENDER_ITEM_BREAK_KEY, Dispatcher as SWidgetDispatcher, SeamlessSlide, _sfc_main$G as SimpleWidget, SlideSetting, SlideStyle, SpriteController, TexAlignAnchor, TextTools, TextureInstantType, VERTICAL, WholePageSlide, buildDownloadInfo, buildPreloadInfo, combinedStyles, createImpactAutoFroze, createImpactCallback, createImpactTracer, disableNativeViewListener, enableNativeViewListener, getCssStyleGroup, getKeyFramesGroup, getMeasureObj, getPositionRelativeToView, getTextWidth, globalLoadJsvAudioPlugin, globalLoadJsvLatexPlugin, jJsvRuntimeBridge, jsvCreateFocusManager, jsvCreateHashHistory, numberCheckSet, toHtmlBorderSet, toNinePatchForgeViewSet, updateImpactAutoFroze, urlCheckSet, useFocusHub };
|