@shijiu/jsview-vue 2.2.373 → 2.3.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.
Files changed (336) hide show
  1. package/bin/jsview-vue-common.mjs +1 -1
  2. package/bin/jsview-vue.mjs +7678 -7306
  3. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/CheckType.d.ts +0 -4
  4. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/JsvFocus/JsvFocusBlock.vue.d.ts +0 -34
  5. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/JsvFocus/JsvFocusHub.d.ts +0 -4
  6. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/JsvFocus/JsvFocusManager.d.ts +0 -4
  7. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/Const.d.ts +0 -4
  8. package/bin/types/utils/JsViewEngineWidget/MetroWidget/DebugFrame.vue.d.ts +8 -0
  9. package/bin/types/utils/JsViewEngineWidget/MetroWidget/DebugTools.d.ts +5 -0
  10. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/Dispatcher.d.ts +0 -4
  11. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/ListWidget.vue.d.ts +24 -14
  12. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +179 -0
  13. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/MetroWidgetSetup.d.ts +9 -6
  14. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/PageUpdater.d.ts +0 -4
  15. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/RenderItem.d.ts +3 -4
  16. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/Slide.d.ts +0 -4
  17. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/SlotComponent.vue.d.ts +0 -4
  18. package/bin/types/utils/JsViewEngineWidget/MetroWidget/TaskManager.d.ts +64 -0
  19. package/bin/types/utils/JsViewEngineWidget/MetroWidget/TokenGenerator.d.ts +4 -0
  20. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/VisibleInfo.d.ts +0 -4
  21. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/WidgetRectInfo.d.ts +0 -4
  22. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/RangeModel.d.ts +0 -4
  23. package/bin/types/utils/JsViewEngineWidget/RectUtils.d.ts +61 -0
  24. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/CommonMetroTemplate.d.ts +0 -4
  25. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/Fence.d.ts +2 -6
  26. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/ListMetroTemplate.d.ts +0 -4
  27. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/MetroTemplate.d.ts +3 -7
  28. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/TemplateItemAdder.d.ts +0 -4
  29. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/index.d.ts +0 -4
  30. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/WidgetCommon.d.ts +0 -4
  31. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/index.d.ts +0 -4
  32. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAccount/JsvAccount.d.ts +0 -4
  33. package/bin/types/utils/JsViewPlugin/JsvAudio/AudioProxy.d.ts +2 -0
  34. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/BrowserAudio/BrowserAudio.vue.d.ts +0 -4
  35. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/BrowserAudio/JsvSystemAudio.vue.d.ts +4 -8
  36. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/CheckType.d.ts +0 -4
  37. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/Events.d.ts +0 -4
  38. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/JsvAudio.vue.d.ts +4 -8
  39. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/JsvAudioBridgeProxy.d.ts +0 -4
  40. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/JsvAudioProxy.vue.d.ts +0 -4
  41. package/bin/types/utils/JsViewPlugin/JsvAudio/PluginLoader.d.ts +1 -0
  42. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/ScreenLockManager.d.ts +0 -4
  43. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/index.d.ts +0 -4
  44. package/bin/types/utils/JsViewPlugin/JsvAudio/version.d.mts +14 -0
  45. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/version.d.ts +0 -4
  46. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/BrowserDomBuilder.d.ts +0 -4
  47. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/BrowserJsvLatex.vue.d.ts +5 -9
  48. package/bin/types/utils/JsViewPlugin/JsvLatex/Color.d.ts +1 -0
  49. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/JsvLatex.vue.d.ts +5 -29
  50. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +3 -0
  51. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/JsvLatexProxy.vue.d.ts +0 -4
  52. package/bin/types/utils/JsViewPlugin/JsvLatex/PluginLoader.d.ts +1 -0
  53. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/index.d.ts +0 -4
  54. package/bin/types/utils/JsViewPlugin/JsvLatex/version.d.mts +13 -0
  55. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/version.d.ts +0 -4
  56. package/bin/types/utils/JsViewPlugin/JsvPlayer/AckEventDefine.d.ts +10 -0
  57. package/bin/types/utils/JsViewPlugin/JsvPlayer/BrowserJsvPlayer-0.9.vue.d.ts +45 -0
  58. package/bin/types/utils/JsViewPlugin/JsvPlayer/BrowserJsvPlayer.vue.d.ts +596 -0
  59. package/bin/types/utils/JsViewPlugin/JsvPlayer/GetVersion.d.ts +13 -0
  60. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMedia.d.ts +420 -0
  61. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.d.ts +57 -0
  62. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue.d.ts +588 -0
  63. package/bin/types/utils/JsViewPlugin/JsvPlayer/index-0.9.d.ts +358 -0
  64. package/bin/types/utils/JsViewPlugin/JsvPlayer/index.d.ts +358 -0
  65. package/bin/types/utils/JsViewPlugin/JsvPlayer/version.d.mts +14 -0
  66. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/index.d.ts +0 -4
  67. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/ConstSymbol.d.ts +0 -4
  68. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/DebugContentShellJBridge.d.ts +0 -4
  69. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/DebugTool.d.ts +0 -4
  70. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/DefaultKeyMap.d.ts +0 -4
  71. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/FeatureActive.d.ts +0 -4
  72. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/ForgeConstDefine.d.ts +0 -4
  73. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/ForgeHandles.d.ts +0 -4
  74. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvDynamicCssStyle.d.ts +0 -17
  75. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvDynamicKeyFrames.d.ts +0 -17
  76. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvFederationTools.d.ts +0 -4
  77. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvHashHistory.d.ts +0 -4
  78. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvImpactTracer.d.ts +0 -4
  79. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvPerformance.d.ts +0 -4
  80. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvPreDownloader.d.ts +0 -21
  81. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvRefTaker.d.ts +0 -26
  82. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvRuntimeBridge.d.ts +6 -8
  83. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvStyleClass.d.ts +0 -4
  84. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvStyleSheetsDeclarer.d.ts +0 -18
  85. package/bin/types/utils/JsViewVueTools/JsvTextTools.d.ts +61 -0
  86. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureDefines.d.ts +0 -4
  87. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureLoadTool.d.ts +0 -4
  88. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/CanvasTexture/CanvasTexture.d.ts +0 -4
  89. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/CanvasTexture/CommandList.d.ts +0 -4
  90. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/CanvasTexture/Path.d.ts +20 -3
  91. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +0 -4
  92. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/JsvTextureStore.d.ts +1 -23
  93. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/Store.d.ts +0 -4
  94. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/Texture.d.ts +0 -4
  95. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/NinePatchHelper.d.ts +0 -4
  96. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/TextureManagerTools.d.ts +0 -4
  97. package/bin/types/utils/JsViewVueTools/TypeCheckAndSet.d.ts +3 -0
  98. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/index.d.ts +0 -6
  99. package/bin/types/utils/JsViewVueWidget/Jsv3dDiv.vue.d.ts +120 -0
  100. package/bin/types/utils/JsViewVueWidget/Jsv3dStage.vue.d.ts +144 -0
  101. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvActorMove/ActorControlBase.d.ts +0 -4
  102. package/bin/types/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue.d.ts +64 -0
  103. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvActorMove/JsvActorMoveControl.d.ts +0 -4
  104. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvActorMove/index.d.ts +0 -4
  105. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvApic/BrowserApic.vue.d.ts +1 -5
  106. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvApic/JsvApic.vue.d.ts +0 -20
  107. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/index.d.ts +50 -0
  108. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +1 -5
  109. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +23 -0
  110. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +23 -0
  111. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/ApicDataBase.d.ts +0 -4
  112. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/BrowserApicLib.d.ts +0 -4
  113. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/GifData.d.ts +0 -4
  114. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/NormalLoopTool.d.ts +0 -4
  115. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/PartLoopTool.d.ts +0 -4
  116. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/SingleLoopTool.d.ts +0 -4
  117. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/Viewer.d.ts +0 -4
  118. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/WebpData.d.ts +0 -4
  119. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvCommonLoopToolBase.d.ts +0 -4
  120. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvClipDiv/JsvClipDiv.vue.d.ts +0 -4
  121. package/bin/types/utils/JsViewVueWidget/JsvClipDiv/index.d.ts +1 -0
  122. package/bin/types/utils/JsViewVueWidget/JsvConnectLine/ArcLineManager.d.ts +1 -0
  123. package/bin/types/utils/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +13 -0
  124. package/bin/types/utils/JsViewVueWidget/JsvConnectLine/index.d.ts +2 -0
  125. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvDragBox/JsvDragBox.vue.d.ts +0 -25
  126. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvDriftScope/JsvDriftScope.vue.d.ts +4 -8
  127. package/bin/types/utils/JsViewVueWidget/JsvDriftScope/index.d.ts +1 -0
  128. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvEnableRenderBreak.vue.d.ts +0 -4
  129. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFilterView.vue.d.ts +6 -25
  130. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue.d.ts +72 -0
  131. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvFullScrAdjust.vue.d.ts +78 -0
  132. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue.d.ts +75 -0
  133. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFlexCell/index.d.ts +1 -4
  134. package/bin/types/{JsViewVueWidget/JsvFragShaderView/BrowserJsvFragShaderView.vue.d.ts → utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts} +1 -5
  135. package/bin/types/utils/JsViewVueWidget/JsvFragShaderView/index.d.ts +1 -0
  136. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/ActorControl.d.ts +0 -4
  137. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/CallbackManager.d.ts +0 -4
  138. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/ForgeTypeDefine.d.ts +0 -4
  139. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +12 -37
  140. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/JsvEnvBlocker.vue.d.ts +6 -28
  141. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/KeepFlags.d.ts +7 -0
  142. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/NexusNode.d.ts +0 -4
  143. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/SetAction.d.ts +0 -4
  144. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/SetCondition.d.ts +0 -4
  145. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/SetState.d.ts +1 -4
  146. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/SyncLinkManager.d.ts +0 -4
  147. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/index.d.ts +0 -4
  148. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvGrid.vue.d.ts +0 -73
  149. package/bin/types/utils/JsViewVueWidget/JsvHole.d.ts +2 -0
  150. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvInput/Cursor.vue.d.ts +2 -6
  151. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvInput/EditViewOperator.d.ts +2 -5
  152. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvInput/EditVisibleArea.d.ts +4 -5
  153. package/bin/types/utils/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +12 -0
  154. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvInput/SharedDefine.d.ts +0 -4
  155. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvInput/SystemTextTools.d.ts +7 -5
  156. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvInput/index.d.ts +0 -4
  157. package/bin/types/utils/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +12 -0
  158. package/bin/types/utils/JsViewVueWidget/JsvLine/LineManager.d.ts +1 -0
  159. package/bin/types/utils/JsViewVueWidget/JsvLine/index.d.ts +2 -0
  160. package/bin/types/utils/JsViewVueWidget/JsvMarquee.vue.d.ts +12 -0
  161. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMaskClipDiv.vue.d.ts +0 -22
  162. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/Constant.d.ts +0 -4
  163. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/DataTree.d.ts +0 -4
  164. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/Geometry.d.ts +2 -6
  165. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/JsvMindMap.vue.d.ts +12 -95
  166. package/bin/types/utils/JsViewVueWidget/JsvMindMap/index.d.ts +1 -0
  167. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/rtree.d.ts +0 -4
  168. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvNativeSharedDiv.vue.d.ts +0 -18
  169. package/bin/types/utils/JsViewVueWidget/JsvNinePatch.vue.d.ts +21 -0
  170. package/bin/types/utils/JsViewVueWidget/JsvPieChart.vue.d.ts +9 -0
  171. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvPosterDiv.vue.d.ts +3 -17
  172. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvPosterImage.vue.d.ts +3 -18
  173. package/bin/types/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +25 -0
  174. package/bin/types/utils/JsViewVueWidget/JsvPreload/index.d.ts +2 -0
  175. package/bin/types/utils/JsViewVueWidget/JsvProgressBar.vue.d.ts +12 -0
  176. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvQrcode/JsvQrcode.vue.d.ts +1 -26
  177. package/bin/types/utils/JsViewVueWidget/JsvRadarChart.vue.d.ts +13 -0
  178. package/bin/types/utils/JsViewVueWidget/JsvRipple/Constant.d.ts +4 -0
  179. package/bin/types/utils/JsViewVueWidget/JsvRipple/JsvRipple.vue.d.ts +84 -0
  180. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvRipple/index.d.ts +0 -4
  181. package/bin/types/utils/JsViewVueWidget/JsvScaleTextBox.vue.d.ts +10 -0
  182. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScrollBox/JsvScrollBox.vue.d.ts +0 -4
  183. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScrollBox/JsvScrollFollow.vue.d.ts +0 -4
  184. package/bin/types/utils/JsViewVueWidget/JsvScrollBox/ScrollInnerSymbol.d.ts +4 -0
  185. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScrollBox/ScrollSymbol.d.ts +0 -4
  186. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScrollBox/index.d.ts +0 -4
  187. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSector.vue.d.ts +0 -18
  188. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSoundPool.d.ts +0 -42
  189. package/bin/types/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue.d.ts +11 -0
  190. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/FrameBuidler.d.ts +0 -4
  191. package/bin/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +18 -0
  192. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/JsvSpriteLoader.vue.d.ts +0 -16
  193. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/JsvSpriteTools.d.ts +0 -4
  194. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/SpriteController.d.ts +0 -4
  195. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/index.d.ts +0 -4
  196. package/bin/types/utils/JsViewVueWidget/JsvSpriteAnim/sAnimationToken.d.ts +2 -0
  197. package/bin/types/utils/JsViewVueWidget/JsvSwiper/Indicator.vue.d.ts +16 -0
  198. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSwiper/JsvSwiper.vue.d.ts +0 -39
  199. package/bin/types/utils/JsViewVueWidget/JsvSwiper/index.d.ts +2 -0
  200. package/bin/types/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue.d.ts +16 -0
  201. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSwiper3D/JsvSwiper.vue.d.ts +3 -27
  202. package/bin/types/utils/JsViewVueWidget/JsvSwiper3D/index.d.ts +2 -0
  203. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvTextBox.vue.d.ts +0 -26
  204. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvTextureAnim/CommonType.d.ts +0 -4
  205. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvTextureAnim/JsvTextureAnim.vue.d.ts +0 -4
  206. package/bin/types/utils/JsViewVueWidget/JsvTextureAnim/index.d.ts +4 -0
  207. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvTouchModeSwitcher.vue.d.ts +3 -28
  208. package/bin/types/utils/JsViewVueWidget/JsvVideo.vue.d.ts +23 -0
  209. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvVisibleSensor/JsvVisibleSensor.vue.d.ts +9 -34
  210. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvVisibleSensor/index.d.ts +9 -13
  211. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/index.d.ts +4 -6
  212. package/bin/types/{index.d.ts → utils/index.d.ts} +0 -4
  213. package/index.d.ts +2 -2
  214. package/package.json +1 -1
  215. package/tools/jsview-vue-build.mjs +3 -2
  216. package/tsconfig.json +27 -0
  217. package/utils/JsViewEngineWidget/CheckType.js +3 -3
  218. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue +25 -6
  219. package/utils/JsViewEngineWidget/MetroWidget/DebugFrame.vue +22 -0
  220. package/utils/JsViewEngineWidget/MetroWidget/DebugTools.ts +37 -0
  221. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +42 -7
  222. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +62 -10
  223. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +177 -77
  224. package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +30 -0
  225. package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +1 -1
  226. package/utils/JsViewEngineWidget/TemplateParser/Fence.ts +2 -2
  227. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +2 -4
  228. package/utils/JsViewPlugin/JsvPlayer/AckEventDefine.ts +82 -0
  229. package/utils/JsViewPlugin/JsvPlayer/BrowserJsvPlayer.vue +49 -31
  230. package/utils/JsViewVueTools/JsvHashHistory.js +26 -29
  231. package/utils/JsViewVueTools/JsvRuntimeBridge.js +82 -73
  232. package/utils/JsViewVueTools/JsvTextTools.ts +63 -130
  233. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.ts +38 -2
  234. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +1 -1
  235. package/utils/JsViewVueTools/TypeCheckAndSet.ts +66 -0
  236. package/utils/JsViewVueTools/index.js +1 -2
  237. package/utils/JsViewVueWidget/Jsv3dDiv.vue +85 -0
  238. package/utils/JsViewVueWidget/Jsv3dStage.vue +50 -0
  239. package/utils/JsViewVueWidget/JsvApic/JsvApic/index.js +1 -8
  240. package/utils/JsViewVueWidget/JsvApic/JsvApic2/index.js +1 -8
  241. package/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue +1 -1
  242. package/utils/JsViewVueWidget/JsvFlexCell/JsvFullScrAdjust.vue +151 -0
  243. package/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue +11 -16
  244. package/utils/JsViewVueWidget/JsvFlexCell/index.js +1 -0
  245. package/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue +4 -1
  246. package/utils/JsViewVueWidget/JsvFragShaderView/index.js +2 -9
  247. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +8 -0
  248. package/utils/JsViewVueWidget/JsvInput/EditViewOperator.ts +48 -15
  249. package/utils/JsViewVueWidget/JsvInput/EditVisibleArea.ts +43 -10
  250. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +22 -9
  251. package/utils/JsViewVueWidget/JsvInput/SystemTextTools.ts +41 -27
  252. package/utils/JsViewVueWidget/JsvMaskClipDiv.vue +3 -57
  253. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +57 -71
  254. package/utils/JsViewVueWidget/JsvPosterDiv.vue +15 -8
  255. package/utils/JsViewVueWidget/JsvPosterImage.vue +12 -3
  256. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +21 -44
  257. package/utils/JsViewVueWidget/JsvPreload/index.js +2 -13
  258. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +3 -2
  259. package/utils/JsViewVueWidget/JsvSoundPool.js +3 -7
  260. package/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue +116 -75
  261. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue +0 -5
  262. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +27 -32
  263. package/utils/JsViewVueWidget/JsvTextureAnim/index.js +2 -9
  264. package/utils/JsViewVueWidget/index.js +4 -2
  265. package/bin/browser/BrowserApic.vue.mjs +0 -114
  266. package/bin/browser/BrowserApic2.vue.mjs +0 -108
  267. package/bin/browser/BrowserApicLib.mjs +0 -431
  268. package/bin/browser/BrowserJsvFragShaderView.vue.mjs +0 -79
  269. package/bin/browser/BrowserPreload.vue.mjs +0 -139
  270. package/bin/browser/BrowserQrcode.vue.mjs +0 -176
  271. package/bin/browser/BrowserSpray.vue.mjs +0 -56
  272. package/bin/browser/BrowserTextureAnim.vue.mjs +0 -322
  273. package/bin/types/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +0 -435
  274. package/bin/types/JsViewPlugin/JsvAudio/AudioProxy.d.ts +0 -6
  275. package/bin/types/JsViewPlugin/JsvAudio/PluginLoader.d.ts +0 -5
  276. package/bin/types/JsViewPlugin/JsvLatex/Color.d.ts +0 -5
  277. package/bin/types/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +0 -7
  278. package/bin/types/JsViewPlugin/JsvLatex/PluginLoader.d.ts +0 -5
  279. package/bin/types/JsViewVueTools/JsvDemoTester.d.ts +0 -6
  280. package/bin/types/JsViewVueTools/JsvTextTools.d.ts +0 -95
  281. package/bin/types/JsViewVueTools/TypeCheckAndSet.d.ts +0 -6
  282. package/bin/types/JsViewVueWidget/JsvActorMove/JsvActorMove.vue.d.ts +0 -102
  283. package/bin/types/JsViewVueWidget/JsvApic/JsvApic/index.d.ts +0 -6
  284. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +0 -51
  285. package/bin/types/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +0 -6
  286. package/bin/types/JsViewVueWidget/JsvClipDiv/index.d.ts +0 -5
  287. package/bin/types/JsViewVueWidget/JsvConnectLine/ArcLineManager.d.ts +0 -5
  288. package/bin/types/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +0 -34
  289. package/bin/types/JsViewVueWidget/JsvConnectLine/index.d.ts +0 -6
  290. package/bin/types/JsViewVueWidget/JsvDriftScope/index.d.ts +0 -5
  291. package/bin/types/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue.d.ts +0 -106
  292. package/bin/types/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue.d.ts +0 -106
  293. package/bin/types/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts +0 -60
  294. package/bin/types/JsViewVueWidget/JsvFragShaderView/index.d.ts +0 -6
  295. package/bin/types/JsViewVueWidget/JsvHole.d.ts +0 -19
  296. package/bin/types/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +0 -65
  297. package/bin/types/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +0 -32
  298. package/bin/types/JsViewVueWidget/JsvLine/LineManager.d.ts +0 -5
  299. package/bin/types/JsViewVueWidget/JsvLine/index.d.ts +0 -6
  300. package/bin/types/JsViewVueWidget/JsvMarquee.vue.d.ts +0 -33
  301. package/bin/types/JsViewVueWidget/JsvMindMap/index.d.ts +0 -5
  302. package/bin/types/JsViewVueWidget/JsvNinePatch.vue.d.ts +0 -50
  303. package/bin/types/JsViewVueWidget/JsvPieChart.vue.d.ts +0 -26
  304. package/bin/types/JsViewVueWidget/JsvPreload/BrowserPreload.vue.d.ts +0 -14
  305. package/bin/types/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +0 -67
  306. package/bin/types/JsViewVueWidget/JsvPreload/index.d.ts +0 -21
  307. package/bin/types/JsViewVueWidget/JsvProgressBar.vue.d.ts +0 -31
  308. package/bin/types/JsViewVueWidget/JsvQrcode/BrowserQrcode.vue.d.ts +0 -15
  309. package/bin/types/JsViewVueWidget/JsvQrcode/index.d.ts +0 -6
  310. package/bin/types/JsViewVueWidget/JsvRadarChart.vue.d.ts +0 -37
  311. package/bin/types/JsViewVueWidget/JsvRipple/Constant.d.ts +0 -8
  312. package/bin/types/JsViewVueWidget/JsvRipple/JsvRipple.vue.d.ts +0 -129
  313. package/bin/types/JsViewVueWidget/JsvScaleTextBox.vue.d.ts +0 -28
  314. package/bin/types/JsViewVueWidget/JsvScrollBox/ScrollInnerSymbol.d.ts +0 -8
  315. package/bin/types/JsViewVueWidget/JsvSpray/BrowserSpray.vue.d.ts +0 -29
  316. package/bin/types/JsViewVueWidget/JsvSpray/JsvSpray.vue.d.ts +0 -78
  317. package/bin/types/JsViewVueWidget/JsvSpray/index.d.ts +0 -6
  318. package/bin/types/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +0 -70
  319. package/bin/types/JsViewVueWidget/JsvSpriteAnim/sAnimationToken.d.ts +0 -6
  320. package/bin/types/JsViewVueWidget/JsvSwiper/index.d.ts +0 -6
  321. package/bin/types/JsViewVueWidget/JsvSwiper3D/index.d.ts +0 -6
  322. package/bin/types/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue.d.ts +0 -155
  323. package/bin/types/JsViewVueWidget/JsvTextureAnim/index.d.ts +0 -18
  324. package/tools/config/tsconfig.json +0 -16
  325. package/utils/JsViewVueTools/JsvDemoTester.js +0 -81
  326. package/utils/JsViewVueTools/TypeCheckAndSet.js +0 -27
  327. package/utils/JsViewVueWidget/JsvFragShaderView/BrowserJsvFragShaderView.vue +0 -75
  328. package/utils/JsViewVueWidget/JsvPreload/BrowserPreload.vue +0 -144
  329. package/utils/JsViewVueWidget/JsvQrcode/BrowserQrcode.vue +0 -189
  330. package/utils/JsViewVueWidget/JsvQrcode/index.js +0 -18
  331. package/utils/JsViewVueWidget/JsvSpray/BrowserSpray.vue +0 -55
  332. package/utils/JsViewVueWidget/JsvSpray/index.js +0 -17
  333. package/utils/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue +0 -359
  334. /package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/ActionRefObject.d.ts +0 -0
  335. /package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/ActorState.d.ts +0 -0
  336. /package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/CommonType.d.ts +0 -0
@@ -29,10 +29,12 @@ import { WidgetRectInfo } from "./WidgetRectInfo";
29
29
  import ActorControl from "../../JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts";
30
30
  import { TaskType, TaskManager, AnimationManager, SlideTaskType } from "./TaskManager.ts";
31
31
  import { getDirectionByRect, RectCache } from "./Slide.ts";
32
- import { ForgeConst } from "../../JsViewVueTools/ForgeConstDefine.ts";
33
32
  import { FeatureNames, JsvUseFeature } from "../../JsViewVueTools/FeatureActive.ts";
33
+ import { randomColor } from "./DebugTools.ts";
34
34
 
35
35
  const TAG = "MetroWidget";
36
+ const LONGPRESS_TIMEOUT = 600;
37
+ const DATA_ID_KEY = "jsvKey";
36
38
 
37
39
  let metroWidgetTokenGen = 1;
38
40
 
@@ -189,6 +191,7 @@ export const setup = (
189
191
 
190
192
  let innerData = [];
191
193
  let dataList = [];
194
+ let dataKeyList = [];
192
195
  let pageUpdater = null;
193
196
  let enterFocusId = -1;
194
197
  let enterFocusRect = null;
@@ -205,7 +208,7 @@ export const setup = (
205
208
  let childSlideEventLock = false;
206
209
  let onKeyDownLock = false;
207
210
  let visibleInfo = new VisibleInfo();
208
- let alreadyCallItemFocus = false;
211
+ let firstOnItemFocusCalled = false;
209
212
  let innerSlideSetting = props.slideSetting
210
213
  const currentFocusIndex = ref(0);
211
214
 
@@ -215,11 +218,20 @@ export const setup = (
215
218
 
216
219
  const DEFAULT_ANIMATION_DURATION = 200;
217
220
 
218
- const isItemVisible = (item) => {
221
+ //rect {left: number, top: number, width: number, height: number }
222
+ const rectVisibleState = (rect) => {
223
+ if (!rect) {
224
+ return 0;
225
+ }
219
226
  let pos_key = vertical ? "top" : "left";
220
227
  let size_key = vertical ? "height" : "width";
221
- return item.templateInfo[pos_key] >= visibleInfo.start
222
- && item.templateInfo[pos_key] + item.templateInfo[size_key] - 1 < visibleInfo.end;
228
+ if (rect[pos_key] + rect[size_key] - 1 < visibleInfo.start || rect[pos_key] > visibleInfo.end) {
229
+ return 0; // 完全不可见
230
+ } else if (rect[pos_key] < visibleInfo.start || rect[pos_key] + rect[size_key] - 1 > visibleInfo.end) {
231
+ return 1; // 部分可见
232
+ } else {
233
+ return 2; // 完全可见
234
+ }
223
235
  }
224
236
 
225
237
  //tools
@@ -366,6 +378,16 @@ export const setup = (
366
378
  let start = focusItem.templateInfo[pos_key] + focusItem.templateInfo[size_key] * anchorInfo.anchor - 1 - anchorInfo.anchorPosition;
367
379
  let totalSize = metroTemplate.getBoundingBoxSize();
368
380
  start = Math.min(Math.max(0, start), totalSize[size_key] - visibleInfo.range)
381
+ //resize的情况下, 需要保证第一个和最后一个尺寸变化后, 能完整展示
382
+ if (focusItem.index == 0) {
383
+ if (start > focusItem.templateInfo[pos_key]) {
384
+ start = 0;
385
+ }
386
+ } else if (focusItem.templateInfo.index == metroTemplate.getTailItemIndex()) {
387
+ if (start + visibleInfo.range > focusItem.templateInfo[pos_key]) {
388
+ start = Math.max(focusItem.templateInfo[size_key] + focusItem.templateInfo[pos_key] - visibleInfo.range, 0);
389
+ }
390
+ }
369
391
  targetVisibleStart = normalizeVisibleStart(start, focusItem.templateInfo, focusItem.templateInfo.index, visibleInfo);
370
392
  } else {
371
393
  targetRect = getItemById(focusId).templateInfo;
@@ -604,12 +626,16 @@ export const setup = (
604
626
  };
605
627
  const _getTemplatePosition = (index) => {
606
628
  let templateInfo = getItemByIndex(index).templateInfo;
607
- return {
608
- left: templateInfo.left,
609
- top: templateInfo.top,
610
- width: templateInfo.width,
611
- height: templateInfo.height,
612
- };
629
+ if (templateInfo) {
630
+ return {
631
+ left: templateInfo.left,
632
+ top: templateInfo.top,
633
+ width: templateInfo.width,
634
+ height: templateInfo.height,
635
+ };
636
+ } else {
637
+ return null;
638
+ }
613
639
  };
614
640
 
615
641
  const id2Index = (id) => {
@@ -670,21 +696,41 @@ export const setup = (
670
696
  }
671
697
  };
672
698
 
699
+ let gazeIndex = -1
673
700
  const onItemFocus = (focusItem, rect) => {
674
701
  //触控模式不触发item的onFocus
675
702
  if (!focusItem) return;
676
703
  setItemZIndex(focusItem, innerData.length, true);
677
704
  if (isFocus) {
678
705
  _itemOnFocusSideEffect(focusItem, rect);
679
- const called = focusItem.onFocus(rect);
680
- if (!called) {
681
- callFocusAfterUpdate = true;
706
+ }
707
+
708
+ if (focusItem.mounted.value) {
709
+ if (gazeIndex != focusItem.templateInfo.index) {
710
+ let preGazeItem = getItemByIndex(gazeIndex);
711
+ if (preGazeItem) {
712
+ preGazeItem.onIgnore();
713
+ }
714
+ gazeIndex = focusItem.templateInfo.index
715
+ focusItem.onGaze(rect);
682
716
  }
683
- return called;
717
+ if (isFocus) {
718
+ focusItem.onFocus(rect);
719
+ }
720
+ return true;
721
+ } else {
722
+ callFocusAfterUpdate = true;
723
+ return false;
684
724
  }
685
- return false;
686
725
  };
687
726
 
727
+ const onItemLongPress = (item) => {
728
+ if (!item) { return; }
729
+ if (isFocus) {
730
+ item.onLongPress();
731
+ }
732
+ }
733
+
688
734
  const setFocusByUid = (uid, needSlide = true, doAnim = false, extraSetting) => {
689
735
  if (!uid || innerData.length <= 0) { return; }
690
736
  //添加item
@@ -879,15 +925,19 @@ export const setup = (
879
925
  return changed;
880
926
  }
881
927
 
882
- const DATA_ID_KEY = "jsvKey";
883
- const refreshData = (forceUpdate) => {
928
+ /**
929
+ * 刷新数据
930
+ * @param {boolean} forceUpdate 是否强制更新
931
+ * @param {string} slideToFocus 是否滚动到焦点 "auto" 自动滚动到焦点 "enable" 滚动到焦点 "disable" 不滚动到焦点
932
+ */
933
+ const refreshData = (forceUpdate, slideToFocus = "auto") => {
884
934
  //由于data不支持reactive, 因此数据的更新只通过provideData
885
935
  if (!props.provideData) {
886
936
  console.error("refreshData: provideData is null.");
887
937
  return;
888
938
  }
889
939
  try {
890
- let newData = toRaw(props.provideData()).concat();
940
+ let newData = toRaw(safeProvideData()).concat();
891
941
  if (newData instanceof Array) {
892
942
  let maxSameIndex = -1;
893
943
  let layoutChange = false;
@@ -902,8 +952,8 @@ export const setup = (
902
952
  let oldItem = dataList[i];
903
953
  let newItem = newData[i];
904
954
  if (newItem) {
905
- if (newItem === oldItem
906
- || (typeof newItem[DATA_ID_KEY] !== "undefined" && typeof oldItem[DATA_ID_KEY] !== "undefined" && newItem[DATA_ID_KEY] === oldItem[DATA_ID_KEY])) {
955
+ if (((typeof newItem[DATA_ID_KEY] == "undefined" || typeof dataKeyList[i] == "undefined") && newItem === oldItem)
956
+ || (typeof newItem[DATA_ID_KEY] !== "undefined" && typeof dataKeyList[i] !== "undefined" && newItem[DATA_ID_KEY] === dataKeyList[i])) {
907
957
  //相同的item
908
958
  maxSameIndex = Math.max(maxSameIndex, i);
909
959
  } else {
@@ -936,7 +986,24 @@ export const setup = (
936
986
  }
937
987
  }
938
988
 
989
+ //记录刷新前焦点的可视状态, 若焦点可视, 则刷新后也需要保证焦点的可视
990
+ let needSlide = false;
991
+ if (slideToFocus == "enable") {
992
+ needSlide = true;
993
+ } else if (slideToFocus == "disable") {
994
+ needSlide = false;
995
+ } else {
996
+ let targetRect = mRectCache.getCurRect() ?? mRectCache.getPreRect();
997
+ if (targetRect) {
998
+ needSlide = rectVisibleState(targetRect) !== 0;
999
+ } else {
1000
+ needSlide = rectVisibleState(getItemById(focusId)?.templateInfo) !== 0;
1001
+ }
1002
+ }
1003
+
939
1004
  dataList = newData;
1005
+ dataKeyList = dataList.map(i => i[DATA_ID_KEY]);
1006
+
940
1007
  if (forceUpdate || layoutChange) {
941
1008
  //需要更新布局
942
1009
  pageUpdateToken.value++;
@@ -1007,13 +1074,17 @@ export const setup = (
1007
1074
  permanentItemList
1008
1075
  );
1009
1076
  updater.apply();
1010
- onItemFocus(getItemById(focusId), null);
1011
- let targetRect = mRectCache.getCurRect() ?? mRectCache.getPreRect();
1012
- if (targetRect) {
1013
- slideToRectInner(targetRect, false, 0, true);
1014
- } else {
1015
- slideToItemInner(id2Index(focusId), false, 0, 0, true);
1077
+ const focusItem = getItemById(focusId);
1078
+ onItemFocus(focusItem, null);
1079
+ if (needSlide) {
1080
+ if (targetRect) {
1081
+ slideToRectInner(targetRect, false, 0, true);
1082
+ } else if (focusItem.itemConfig.itemSlide == METRO_WIDGET_CONST.ITEM_SLIDE.ACT_ITEM_FOCUS) {
1083
+ //只有这个item是控制滚动的才slide, 其他如嵌套时不需要slide
1084
+ slideToItemInner(id2Index(focusId), false, 0, 0, true);
1085
+ }
1016
1086
  }
1087
+
1017
1088
  //template和slideDivStyle均确定后再次重设box condition
1018
1089
  updateTouchBoxCondition();
1019
1090
  }
@@ -1110,6 +1181,7 @@ export const setup = (
1110
1181
  setSlideSetting,
1111
1182
  cancelDelayLoad: tryCancelDelayLoad,
1112
1183
  setSensorSensitivity,
1184
+ getItemLayoutInfo: _getTemplatePosition,
1113
1185
  };
1114
1186
 
1115
1187
  const _calculateNearestItemByRect = (visibleSet, enter_rect_info) => {
@@ -1325,10 +1397,56 @@ export const setup = (
1325
1397
  return false;
1326
1398
  }
1327
1399
 
1400
+ const _moveByKey = (keyCode) => {
1401
+ switch (keyCode) {
1402
+ case 37:
1403
+ _moveToNext(-1, 0);
1404
+ return true;
1405
+ case 38:
1406
+ _moveToNext(0, -1);
1407
+ return true;
1408
+ case 39:
1409
+ _moveToNext(1, 0);
1410
+ return true;
1411
+ case 40:
1412
+ _moveToNext(0, 1);
1413
+ return true;
1414
+ default:
1415
+ return false;
1416
+ }
1417
+ }
1418
+
1419
+ let clickDownReceived = false;
1420
+ let longPressTriggered = false;
1421
+
1422
+ const focusBlockOnKeyUp = (ev) => {
1423
+ if (!props.enableLongPress) {
1424
+ return false;
1425
+ }
1426
+ //支持长按时 onClick 由 keyup 处理
1427
+ //longpress触发时, 不触发onClick
1428
+ //没有keydown, 只有keyup时, 不处理keyup
1429
+ if (!longPressTriggered) {
1430
+ if (ev.keyCode == 13 && clickDownReceived) {
1431
+ clickDownReceived = false;
1432
+ onItemClick(getItemById(focusId));
1433
+ return true;
1434
+ }
1435
+ } else {
1436
+ longPressTriggered = false;
1437
+ }
1438
+ return false;
1439
+ }
1440
+
1441
+ let preStartKeyDownTime = -1;
1328
1442
  const focusBlockOnKeyDown = (ev) => {
1329
1443
  if (onKeyDownLock) {
1330
1444
  return true;
1331
1445
  }
1446
+ if (!ev.repeat) {
1447
+ longPressTriggered = false;
1448
+ preStartKeyDownTime = ev.timeStamp;
1449
+ }
1332
1450
  tryCancelDelayLoad();
1333
1451
  if (mode.getMode() == TOUCH_MODE) {
1334
1452
  if (mode.duringTouch()) {
@@ -1337,34 +1455,24 @@ export const setup = (
1337
1455
  }
1338
1456
  }
1339
1457
 
1340
- switch (ev.keyCode) {
1341
- case 37:
1342
- _moveToNext(-1, 0);
1343
- break;
1344
- case 38:
1345
- _moveToNext(0, -1);
1346
- break;
1347
- case 39:
1348
- _moveToNext(1, 0);
1349
- break;
1350
- case 40:
1351
- _moveToNext(0, 1);
1352
- break;
1353
- case 13:
1458
+ if (_moveByKey(ev.keyCode)) {
1459
+ return true;
1460
+ }
1461
+ if (ev.keyCode == 13) {
1462
+ clickDownReceived = true;
1463
+ if (props.enableLongPress) {
1464
+ if (ev.repeat && ev.timeStamp - preStartKeyDownTime > LONGPRESS_TIMEOUT && !longPressTriggered) {
1465
+ longPressTriggered = true;
1466
+ onItemLongPress(getItemById(focusId));
1467
+ }
1468
+ } else if (!ev.repeat) {
1354
1469
  onItemClick(getItemById(focusId));
1355
- break;
1356
- default:
1357
- //只接受上下左右确定键
1358
- return false;
1470
+ }
1471
+ return true;
1472
+ } else {
1473
+ clickDownReceived = false;
1359
1474
  }
1360
- return true;
1361
- };
1362
-
1363
- const randomColor = () => {
1364
- let randomColor = Math.round(Math.random() * 2 ** 24).toString(16);
1365
- return (
1366
- "#" + new Array(6 - randomColor.length).fill("0").join("") + randomColor + "77"
1367
- );
1475
+ return false;
1368
1476
  };
1369
1477
 
1370
1478
  function updateTouchDivSize() {
@@ -1526,7 +1634,9 @@ export const setup = (
1526
1634
  cur_slide,
1527
1635
  true,
1528
1636
  {
1529
- mergeTmp: true
1637
+ //250207 change: true时, 会导致不可见的item反复加载,释放, 所以改为false
1638
+ //但之前设为true应该是为了保证滚动时的楼层不提前消失, 此后若再遇到这类问题再考虑
1639
+ mergeTmp: false
1530
1640
  });
1531
1641
  return true;
1532
1642
  }
@@ -1696,15 +1806,6 @@ export const setup = (
1696
1806
  if ((innerSlideSetting.BoundaryProtect & SlideSetting.START_PROTECT) > 0) {
1697
1807
  if (vInfo.start >= 0) {
1698
1808
  let boundary = 0;
1699
- const headTemplateInfo = getItemByIndex(0).templateInfo;
1700
- if (
1701
- targetRect
1702
- && (index == headTemplateInfo.index)
1703
- && targetRect[pos_key] + targetRect[size_key] <=
1704
- vInfo.range
1705
- ) {
1706
- boundary = headTemplateInfo[size_key];
1707
- }
1708
1809
  visibleStart = visibleStart < boundary ? 0 : visibleStart;
1709
1810
  } else {
1710
1811
  // 以最后一个item的位置作为动态的保护边界
@@ -1718,13 +1819,6 @@ export const setup = (
1718
1819
  //边界必须大于等于0, 同时若最后一个缩进时, 边界采用最后一个item的位置
1719
1820
  if (vInfo.end <= lastEnd) {
1720
1821
  let boundary = lastVisibleStart;
1721
- if (
1722
- targetRect
1723
- && (index == lastTemplateInfo.index)
1724
- && targetRect[pos_key] - lastVisibleStart >= 0
1725
- ) {
1726
- boundary = lastTemplateInfo[pos_key] - vInfo.range;
1727
- }
1728
1822
  visibleStart = visibleStart > boundary ? lastVisibleStart : visibleStart;
1729
1823
  } else {
1730
1824
  // 以最后一个item的位置作为动态的保护边界
@@ -1940,7 +2034,7 @@ export const setup = (
1940
2034
  _changeFocusId(focus_id, false);
1941
2035
  enterFocusId = -1;
1942
2036
  enterFocusRect = null;
1943
- alreadyCallItemFocus = onItemFocus(getItemById(focusId), preEdgeRect);
2037
+ firstOnItemFocusCalled = onItemFocus(getItemById(focusId), preEdgeRect);;
1944
2038
  props.onFocus?.();
1945
2039
  };
1946
2040
 
@@ -1981,12 +2075,12 @@ export const setup = (
1981
2075
 
1982
2076
  const _getVisibleFocusableItem = () => {
1983
2077
  const focusItem = getItemById(focusId);
1984
- if (isItemVisible(focusItem)) {
2078
+ if (rectVisibleState(focusItem.templateInfo) == 2) {
1985
2079
  return focusItem;
1986
2080
  } else {
1987
2081
  //遍历renderList, 找到第一个可见的 focusable item
1988
2082
  for (let item of renderData.value) {
1989
- if (item.templateInfo.focusable && isItemVisible(item)) {
2083
+ if (item.templateInfo.focusable && rectVisibleState(item.templateInfo) == 2) {
1990
2084
  return item;
1991
2085
  }
1992
2086
  }
@@ -2433,6 +2527,10 @@ export const setup = (
2433
2527
  }
2434
2528
 
2435
2529
  //init
2530
+
2531
+ function safeProvideData() {
2532
+ return props.provideData() ?? [];
2533
+ }
2436
2534
  pageUpdater = new PageUpdater(_updatePage, props.name);
2437
2535
  visibleInfo.range = vertical
2438
2536
  ? widgetRectInfo.contentHeight
@@ -2442,10 +2540,11 @@ export const setup = (
2442
2540
  : { start: widgetRectInfo.padding.left, end: widgetRectInfo.padding.right };
2443
2541
 
2444
2542
  if (props.provideData) {
2445
- dataList = toRaw(props.provideData())?.concat();
2543
+ dataList = toRaw(safeProvideData())?.concat();
2446
2544
  } else if (props.data) {
2447
- dataList = toRaw(props.data)?.concat();
2545
+ dataList = toRaw(props.data ?? [])?.concat();
2448
2546
  }
2547
+ dataKeyList = dataList.map(i => i[DATA_ID_KEY]);
2449
2548
 
2450
2549
  templateItemAdder = new TemplateItemAdder(
2451
2550
  metroTemplate,
@@ -2511,8 +2610,8 @@ export const setup = (
2511
2610
  if (initVisibleStart) {
2512
2611
  slideToInner(initVisibleStart, false);
2513
2612
  }
2514
- if (isFocus && !alreadyCallItemFocus) {
2515
- onItemFocus(getItemById(focusId), preEdgeRect);
2613
+ if (!firstOnItemFocusCalled) {
2614
+ firstOnItemFocusCalled = onItemFocus(getItemById(focusId), preEdgeRect);
2516
2615
  }
2517
2616
 
2518
2617
  if (props.enableItemRenderBreak) {
@@ -2541,6 +2640,7 @@ export const setup = (
2541
2640
  focusBlockOnFocus,
2542
2641
  focusBlockOnBlur,
2543
2642
  focusBlockOnKeyDown,
2643
+ focusBlockOnKeyUp,
2544
2644
  focusBlockOnCustomEvent,
2545
2645
  _onFocusableItemEdge,
2546
2646
  exportObject,
@@ -23,8 +23,11 @@ interface CustomerCallbackMap {
23
23
  onFocus?: (rect: object) => void,
24
24
  onBlur?: () => void,
25
25
  onClick?: () => void,
26
+ onLongPress?: () => void,
26
27
  onTap?: () => void,
27
28
  onWidgetEdge?: (rect: object) => void,
29
+ onGaze?: (rect: object) => void,
30
+ onIgnore?: () => void,
28
31
  }
29
32
 
30
33
  export class RenderItem {
@@ -125,6 +128,24 @@ export class RenderItem {
125
128
  }
126
129
  }
127
130
 
131
+ public onGaze(rect: object): boolean {
132
+ if (this.mounted.value) {
133
+ this.customerCallbackMap.onGaze?.(rect);
134
+ return true;
135
+ } else {
136
+ return false;
137
+ }
138
+ }
139
+
140
+ public onIgnore(): boolean {
141
+ if (this.mounted.value) {
142
+ this.customerCallbackMap.onIgnore?.();
143
+ return true;
144
+ } else {
145
+ return false;
146
+ }
147
+ }
148
+
128
149
  public readonly onTap = computed(() => {
129
150
  return this.enableTap ? this.onClick.bind(this) : null;
130
151
  })
@@ -138,6 +159,15 @@ export class RenderItem {
138
159
  }
139
160
  }
140
161
 
162
+ public onLongPress(): boolean {
163
+ if (this.mounted.value) {
164
+ this.customerCallbackMap.onLongPress?.();
165
+ return true;
166
+ } else {
167
+ return false;
168
+ }
169
+ }
170
+
141
171
  public onWidgetEdge(rect: object): boolean {
142
172
  if (this.mounted.value) {
143
173
  this.customerCallbackMap.onWidgetEdge?.(rect);
@@ -1,4 +1,4 @@
1
- import { Forge } from "@shijiu/jsview/dom/jsv-forge-define";
1
+ import { Forge } from "@shijiu/jsview/dom/jsv-forge-define.mjs";
2
2
 
3
3
  interface AnimSetting {
4
4
  easing?: string | null;
@@ -1,4 +1,4 @@
1
- interface GapInfo {
1
+ export interface GapInfo {
2
2
  readonly GapStart: number,
3
3
  readonly GapEnd: number,
4
4
  }
@@ -132,4 +132,4 @@ class Fence {
132
132
  return newFence;
133
133
  }
134
134
  }
135
- export { Fence, GapInfo }
135
+ export { Fence }
@@ -137,7 +137,7 @@ interface FindNextAnchor {
137
137
  bottom: number,
138
138
  }
139
139
 
140
- interface TemplateItem {
140
+ export interface TemplateItem {
141
141
  id: number,
142
142
  index: number,
143
143
  left: number,
@@ -165,7 +165,7 @@ interface TemplateItem {
165
165
  uid?: string,
166
166
  }
167
167
 
168
- interface MeasureInfo {
168
+ export interface MeasureInfo {
169
169
  left?: number,
170
170
  top?: number,
171
171
  width: number,
@@ -386,7 +386,5 @@ abstract class MetroTemplate {
386
386
  }
387
387
 
388
388
  export {
389
- MeasureInfo,
390
389
  MetroTemplate,
391
- TemplateItem,
392
390
  }
@@ -0,0 +1,82 @@
1
+ export class AckEventDefine {
2
+ // Category
3
+ static CATEGORY_JSC: number = 1;
4
+ static CATEGORY_VIEW: number = 2;
5
+ static CATEGORY_EXCEPTION: number = 3;
6
+
7
+ // Type of jsc
8
+ // Content lifeCycle: event格式:
9
+ // {
10
+ // "act": string类型,当前动作,
11
+ // JsContext重载启动时(reload动作,或者loadUrl动作, 以及closeView时): "reset"
12
+ // js启动过程事件: 按顺序
13
+ // "systemJsLoaded": 系统js加载完成
14
+ // "engineJsRead": Engine Js 完成下载
15
+ // "engineJsLoaded": Engine Js 完成eval
16
+ // "mainJsRead": Main Js 完成下载
17
+ // "mainJsLoaded": Main Js 完成 eval
18
+ // "appJsStart": 开始运行框架的主入口处理
19
+ // "contextId": int类型,发生事件对应的context id,当url切换或者reload时,contentId会发生变化
20
+ // }
21
+ static TYPE_JS_CONTEXT_LIFECYCLE: number = 1;
22
+
23
+ // Content permission: event格式:
24
+ // {
25
+ // "contextId": int类型,发生事件对应的context id,当url切换或者reload时,contentId会发生变化
26
+ // "authDone": int类型 是否完成校验, 0: 还未进行校验, 1: 已完成校验
27
+ // ================== 授权做完后的信息 ====================
28
+ // success(bool): 当次授权校验是否通过
29
+ // showAlert(bool): APP界面右下角展示未授权提示,满足下面条件之一时会展示
30
+ // 1. app运行的main.js是未进行签名(签名参考src/appConfig/中的描述)的,提示"npm start 调试模式"
31
+ // 2. 仅在在线授权服务器无法达到, 并且达到允许次数时生效(每日累计1次, 最多累计30天), 提示"抢先版内核"
32
+ // 3. 远程授权api返回结果为未授权时
33
+ // 4. 本地有授权文件,但授权文件不合法或者过期
34
+ // errorCount(int): 在线授权api访问失败(网络不通)的累计次数, api访问到并拿到结果后清0
35
+ // checkType(int): 授权的校验方式, 1: 调试模式, 2: 本地文件校验的方式, 3: 在线校验方式
36
+ // customDescribe: 授权的描述, 许可范围等描述
37
+ // errorCode: 授权失败的错误码
38
+ // -1: apk签名不匹配(仅离线校验时)
39
+ // -2: js的app name未登记
40
+ // -3: js的app签名和app name登记信息不匹配
41
+ // -4: permission.js文件过期
42
+ // -5: core版本不匹配
43
+ // -6: 分支名不匹配
44
+ // -7: 在线鉴权时未通过的统一错误码(后台详细错误码搭建中...)
45
+ // -8: 页面为npm start的调试模式(开发人员调试时才会出现此状态)
46
+ // -101: 本地permission.js文件格式错误
47
+ // -102: permission.js文件授权信息中core版本无法正确解析为数字错误
48
+ // -103: permission.js文件授权信息中的日期格式错误
49
+ // -105: 在线鉴权api请求失败错误
50
+ // playerMaxVer(int): 播放器授权的最高版本(0000 00000) 前4位为渠道号,后5位为版本号
51
+ // }
52
+ static TYPE_JS_CONTEXT_PERMISSION: number = 2;
53
+
54
+ // Type of view
55
+ // Shared view layout: event格式:
56
+ // {
57
+ // "x": int类型,对应view更新到了x位置,
58
+ // "y": int类型,对应view更新到了y位置,
59
+ // "width": int类型,对应view宽度更新后的值,
60
+ // "height": int类型,对应view高度更新后的值,
61
+ // "mat4": native指针类型, view的位置信息的matrix,
62
+ // "visible": int类型, view是否可见,(0:不可见, 1:可见)
63
+ // "order": int类型, 本NativeSharedView的相对图层
64
+ // "dw": int类型,Design map width,用于换算x,y,width,height
65
+ // }
66
+ static TYPE_SHARED_VIEW_LAYOUT: number = 1;
67
+
68
+ // app view aspect ratio change: event格式:
69
+ // {
70
+ // "width": int类型,横轴比例,对应"16/9"中的16,
71
+ // "height": int类型,纵轴比例,对应"16/9"中的9,
72
+ // }
73
+ static TYPE_APP_ASPECT_RATIO_CHANGE: number = 2;
74
+
75
+ // Type of exception
76
+ // Unhandled exit action: event格式:
77
+ // {
78
+ // "reason": string类型,触发离开动作的触发器,例如: "backKey",
79
+ // "comment": string类型, 当BackKey场景, 为"keyDown"和"keyUp"
80
+ // }
81
+ static TYPE_EXCEPTION_UNHANDLED_EXIT_ACTION: number = 1;
82
+ }