@shijiu/jsview-vue 2.3.151-test.0 → 3.0.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 (244) hide show
  1. package/bin/browser/BrowserAudio.mjs +200 -0
  2. package/bin/browser/BrowserJsvLatex.mjs +61 -0
  3. package/bin/export-sfc.mjs +8 -9
  4. package/bin/jsview-vue-common.mjs +9 -35
  5. package/bin/jsview-vue.mjs +22246 -23643
  6. package/bin/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue.d.ts +9 -71
  7. package/bin/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.d.ts +18 -2
  8. package/bin/types/utils/JsViewEngineWidget/MetroWidget/Const.d.ts +4 -1
  9. package/bin/types/utils/JsViewEngineWidget/MetroWidget/DebugFrame.vue.d.ts +10 -7
  10. package/bin/types/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue.d.ts +19 -178
  11. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +19 -178
  12. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.d.ts +24 -3
  13. package/bin/types/utils/JsViewEngineWidget/MetroWidget/PageUpdater.d.ts +7 -1
  14. package/bin/types/utils/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +25 -5
  15. package/bin/types/utils/JsViewEngineWidget/MetroWidget/SlotComponent.vue.d.ts +9 -47
  16. package/bin/types/utils/JsViewEngineWidget/MetroWidget/TaskManager.d.ts +2 -1
  17. package/bin/types/utils/JsViewEngineWidget/MetroWidget/Utils.d.ts +2 -0
  18. package/bin/types/utils/JsViewEngineWidget/MetroWidget/WidgetRectInfo.d.ts +1 -1
  19. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavProvider.vue.d.ts +40 -0
  20. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationAlgorithm.d.ts +24 -0
  21. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationNode.d.ts +19 -0
  22. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigator.d.ts +42 -0
  23. package/bin/types/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.d.ts +2 -1
  24. package/bin/types/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.d.ts +2 -1
  25. package/bin/types/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +6 -4
  26. package/bin/types/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.d.ts +9 -7
  27. package/bin/types/utils/JsViewEngineWidget/WidgetCommon.d.ts +17 -7
  28. package/bin/types/utils/JsViewEngineWidget/index.d.ts +3 -1
  29. package/bin/types/utils/JsViewPlugin/JsvAudio/BrowserAudio/BrowserAudio.vue.d.ts +140 -7
  30. package/bin/types/utils/JsViewPlugin/JsvAudio/BrowserAudio/JsvSystemAudio.vue.d.ts +12 -11
  31. package/bin/types/utils/JsViewPlugin/JsvAudio/Events.d.ts +10 -10
  32. package/bin/types/utils/JsViewPlugin/JsvAudio/JsvAudio.vue.d.ts +204 -17
  33. package/bin/types/utils/JsViewPlugin/JsvAudio/JsvAudioProxy.vue.d.ts +2 -1
  34. package/bin/types/utils/JsViewPlugin/JsvAudio/version.d.mts +11 -11
  35. package/bin/types/utils/JsViewPlugin/JsvAudio/version.d.ts +11 -11
  36. package/bin/types/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.d.ts +0 -1
  37. package/bin/types/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue.d.ts +75 -12
  38. package/bin/types/utils/JsViewPlugin/JsvLatex/GetVersion.d.ts +14 -0
  39. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatex.vue.d.ts +88 -13
  40. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +1 -0
  41. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatexProxy.vue.d.ts +5 -1
  42. package/bin/types/utils/JsViewPlugin/JsvLatex/version.d.mts +39 -12
  43. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMedia.d.ts +120 -17
  44. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.d.ts +62 -0
  45. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue.d.ts +108 -29
  46. package/bin/types/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer-0.9.vue.d.ts → JsvPlayerBrowser-0.9.vue.d.ts} +8 -7
  47. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser-wasm.vue.d.ts +614 -0
  48. package/bin/types/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer.vue.d.ts → JsvPlayerBrowser.vue.d.ts} +36 -34
  49. package/bin/types/utils/JsViewPlugin/JsvPlayer/index-0.9.d.ts +89 -30
  50. package/bin/types/utils/JsViewPlugin/JsvPlayer/index.d.ts +89 -30
  51. package/bin/types/utils/JsViewPlugin/JsvPlayer/version.d.mts +11 -11
  52. package/bin/types/utils/JsViewVueTools/BlobApi.d.ts +38 -0
  53. package/bin/types/utils/JsViewVueTools/DebugTool.d.ts +1 -1
  54. package/bin/types/utils/JsViewVueTools/DefaultKeyMap.d.ts +7 -7
  55. package/bin/types/utils/JsViewVueTools/FeatureActive.d.ts +1 -0
  56. package/bin/types/utils/JsViewVueTools/JsvInteractionMode.d.ts +6 -0
  57. package/bin/types/utils/JsViewVueTools/JsvRuntimeBridge.d.ts +3 -3
  58. package/bin/types/utils/JsViewVueTools/JsvTextTools.d.ts +1 -0
  59. package/bin/types/utils/JsViewVueTools/JsvTextureStore/BitPalette/BitPalette.d.ts +43 -0
  60. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.d.ts +1 -0
  61. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/DrawHelper.d.ts +54 -0
  62. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.d.ts +13 -0
  63. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +2 -0
  64. package/bin/types/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +76 -26
  65. package/bin/types/utils/JsViewVueTools/JsvTextureStore/TextureBuilder.d.ts +49 -0
  66. package/bin/types/utils/JsViewVueTools/JsvTextureStore/index.d.ts +2 -0
  67. package/bin/types/utils/JsViewVueTools/index.d.ts +4 -1
  68. package/bin/types/utils/JsViewVueWidget/Jsv3dDiv.vue.d.ts +10 -98
  69. package/bin/types/utils/JsViewVueWidget/Jsv3dStage.vue.d.ts +10 -114
  70. package/bin/types/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue.d.ts +20 -61
  71. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue.d.ts +44 -13
  72. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue.d.ts +12 -11
  73. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic/index.d.ts +5 -5
  74. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +16 -10
  75. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +21 -17
  76. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +19 -16
  77. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvCommonLoopToolBase.d.ts +7 -7
  78. package/bin/types/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue.d.ts +12 -66
  79. package/bin/types/utils/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +73 -12
  80. package/bin/types/utils/JsViewVueWidget/JsvDashPath.vue.d.ts +59 -10
  81. package/bin/types/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue.d.ts +41 -81
  82. package/bin/types/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue.d.ts +17 -100
  83. package/bin/types/utils/JsViewVueWidget/JsvEnableRenderBreak.vue.d.ts +13 -50
  84. package/bin/types/utils/JsViewVueWidget/JsvFilterView.vue.d.ts +50 -70
  85. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue.d.ts +32 -68
  86. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvFullScrAdjust.vue.d.ts +57 -74
  87. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue.d.ts +41 -71
  88. package/bin/types/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts +83 -14
  89. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.d.ts +151 -18
  90. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue.d.ts +79 -83
  91. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/JsvFreeMoveActor.vue.d.ts +70 -0
  92. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.d.ts +20 -0
  93. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.d.ts +108 -5
  94. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.d.ts +88 -3
  95. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +6 -1
  96. package/bin/types/utils/JsViewVueWidget/JsvGrid.vue.d.ts +19 -18
  97. package/bin/types/utils/JsViewVueWidget/JsvInput/Cursor.vue.d.ts +34 -11
  98. package/bin/types/utils/JsViewVueWidget/JsvInput/EditViewOperator.d.ts +4 -1
  99. package/bin/types/utils/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +193 -6
  100. package/bin/types/utils/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +54 -11
  101. package/bin/types/utils/JsViewVueWidget/JsvMarquee.vue.d.ts +89 -11
  102. package/bin/types/utils/JsViewVueWidget/JsvMaskClipDiv.vue.d.ts +9 -8
  103. package/bin/types/utils/JsViewVueWidget/JsvMindMap/Geometry.d.ts +2 -2
  104. package/bin/types/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue.d.ts +170 -138
  105. package/bin/types/utils/JsViewVueWidget/JsvMindMap/rtree.d.ts +5 -5
  106. package/bin/types/utils/JsViewVueWidget/JsvNativeSharedDiv.vue.d.ts +48 -72
  107. package/bin/types/utils/JsViewVueWidget/JsvNinePatch.vue.d.ts +139 -20
  108. package/bin/types/utils/JsViewVueWidget/JsvPieChart.vue.d.ts +56 -8
  109. package/bin/types/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +20 -11
  110. package/bin/types/utils/JsViewVueWidget/JsvProgressBar.vue.d.ts +63 -11
  111. package/bin/types/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue.d.ts +8 -7
  112. package/bin/types/utils/JsViewVueWidget/JsvRadarChart.vue.d.ts +95 -12
  113. package/bin/types/utils/JsViewVueWidget/JsvRipple/Constant.d.ts +2 -2
  114. package/bin/types/utils/JsViewVueWidget/JsvRipple/JsvRipple.vue.d.ts +51 -78
  115. package/bin/types/utils/JsViewVueWidget/JsvScaleTextBox.vue.d.ts +5 -4
  116. package/bin/types/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue.d.ts +84 -193
  117. package/bin/types/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue.d.ts +23 -148
  118. package/bin/types/utils/JsViewVueWidget/JsvSector.vue.d.ts +56 -9
  119. package/bin/types/utils/JsViewVueWidget/JsvSmoothSlideContainer.vue.d.ts +22 -67
  120. package/bin/types/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue.d.ts +44 -10
  121. package/bin/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +47 -14
  122. package/bin/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteLoader.vue.d.ts +26 -67
  123. package/bin/types/utils/JsViewVueWidget/JsvSwiper/Indicator.vue.d.ts +7 -6
  124. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSmoothSwiper.vue.d.ts +147 -109
  125. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue.d.ts +173 -16
  126. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper2.vue.d.ts +216 -139
  127. package/bin/types/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue.d.ts +7 -6
  128. package/bin/types/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue.d.ts +101 -96
  129. package/bin/types/utils/JsViewVueWidget/JsvTextBox.vue.d.ts +89 -74
  130. package/bin/types/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue.d.ts +21 -20
  131. package/bin/types/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue.d.ts +43 -70
  132. package/bin/types/utils/JsViewVueWidget/JsvVideo.vue.d.ts +6 -5
  133. package/bin/types/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue.d.ts +62 -82
  134. package/bin/types/utils/JsViewVueWidget/JsvVisibleSensor/index.d.ts +95 -74
  135. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvPosterDiv.vue.d.ts +51 -0
  136. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvPosterImage.vue.d.ts +105 -0
  137. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvSmartDiv.vue.d.ts +51 -0
  138. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvSmartImage.vue.d.ts +105 -0
  139. package/bin/types/utils/JsViewVueWidget/index.d.ts +5 -3
  140. package/package.json +2 -2
  141. package/tools/jsview-vue-build.mjs +13 -9
  142. package/tsconfig.json +2 -2
  143. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue +32 -16
  144. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.ts +24 -2
  145. package/utils/JsViewEngineWidget/MetroWidget/Const.ts +5 -0
  146. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +183 -89
  147. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +269 -122
  148. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +989 -357
  149. package/utils/JsViewEngineWidget/MetroWidget/PageUpdater.ts +41 -23
  150. package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +138 -41
  151. package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +1 -0
  152. package/utils/JsViewEngineWidget/MetroWidget/Utils.ts +6 -0
  153. package/utils/JsViewEngineWidget/MetroWidget/WidgetRectInfo.ts +2 -1
  154. package/utils/JsViewEngineWidget/RectUtils.js +1 -1
  155. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavProvider.vue +50 -0
  156. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationAlgorithm.ts +260 -0
  157. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationNode.ts +32 -0
  158. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigator.ts +236 -0
  159. package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +342 -174
  160. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +101 -27
  161. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +12 -5
  162. package/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.ts +109 -41
  163. package/utils/JsViewEngineWidget/WidgetCommon.ts +17 -7
  164. package/utils/JsViewEngineWidget/index.ts +7 -2
  165. package/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.js +46 -46
  166. package/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue +54 -41
  167. package/utils/JsViewPlugin/JsvLatex/GetVersion.js +65 -0
  168. package/utils/JsViewPlugin/JsvLatex/JsvLatex.vue +54 -12
  169. package/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.js +10 -0
  170. package/utils/JsViewPlugin/JsvLatex/JsvLatexProxy.vue +15 -2
  171. package/utils/JsViewPlugin/JsvLatex/PluginLoader.js +63 -31
  172. package/utils/JsViewPlugin/JsvLatex/version.mjs +26 -13
  173. package/utils/JsViewPlugin/JsvPlayer/GetVersion.js +2 -1
  174. package/utils/JsViewPlugin/JsvPlayer/JsvMedia.js +402 -23
  175. package/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.js +100 -0
  176. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +363 -468
  177. package/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer.vue → JsvPlayerBrowser-wasm.vue} +60 -10
  178. package/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser.vue +511 -0
  179. package/utils/JsViewPlugin/JsvPlayer/index-0.9.js +52 -10
  180. package/utils/JsViewPlugin/JsvPlayer/index.js +58 -9
  181. package/utils/JsViewPlugin/JsvPlayer/package.json +8 -0
  182. package/utils/JsViewVueTools/BlobApi.ts +55 -0
  183. package/utils/JsViewVueTools/FeatureActive.ts +3 -0
  184. package/utils/JsViewVueTools/ForgeHandles.ts +3 -0
  185. package/utils/JsViewVueTools/JsvInteractionMode.js +16 -0
  186. package/utils/JsViewVueTools/JsvPreDownloader.ts +2 -2
  187. package/utils/JsViewVueTools/JsvRuntimeBridge.js +25 -18
  188. package/utils/JsViewVueTools/JsvTextTools.ts +9 -1
  189. package/utils/JsViewVueTools/JsvTextureStore/BitPalette/BitPalette.ts +180 -0
  190. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.ts +1 -0
  191. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/DrawHelper.ts +304 -0
  192. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.ts +38 -0
  193. package/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.ts +16 -1
  194. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +154 -69
  195. package/utils/JsViewVueTools/JsvTextureStore/Store.ts +1 -1
  196. package/utils/JsViewVueTools/JsvTextureStore/TextureBuilder.ts +92 -0
  197. package/utils/JsViewVueTools/JsvTextureStore/index.js +2 -0
  198. package/utils/JsViewVueTools/index.js +3 -1
  199. package/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue +111 -86
  200. package/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue +1 -1
  201. package/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue +11 -2
  202. package/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue +1 -1
  203. package/utils/JsViewVueWidget/JsvEnableRenderBreak.vue +6 -0
  204. package/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue +11 -5
  205. package/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue +3 -1
  206. package/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue +23 -11
  207. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +242 -25
  208. package/utils/JsViewVueWidget/JsvFreeMoveActor/{FreeMoveActor.vue → JsvFreeMoveActor.vue} +1 -1
  209. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +11 -5
  210. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +118 -6
  211. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +56 -14
  212. package/utils/JsViewVueWidget/JsvFreeMoveActor/index.js +2 -1
  213. package/utils/JsViewVueWidget/JsvInput/EditViewOperator.ts +11 -2
  214. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +30 -2
  215. package/utils/JsViewVueWidget/JsvLine/JsvLine.vue +24 -7
  216. package/utils/JsViewVueWidget/JsvMarquee.vue +1 -1
  217. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +12 -10
  218. package/utils/JsViewVueWidget/JsvNinePatch.vue +13 -8
  219. package/utils/JsViewVueWidget/JsvPieChart.vue +93 -70
  220. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +32 -29
  221. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +2 -1
  222. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue +25 -3
  223. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue +0 -3
  224. package/utils/JsViewVueWidget/JsvSector.vue +66 -28
  225. package/utils/JsViewVueWidget/JsvTextBox.vue +30 -1
  226. package/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue +56 -14
  227. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +8 -6
  228. package/utils/JsViewVueWidget/TypesDiv/JsvPosterDiv.vue +54 -0
  229. package/utils/JsViewVueWidget/TypesDiv/JsvPosterImage.vue +88 -0
  230. package/utils/JsViewVueWidget/TypesDiv/JsvSmartDiv.vue +177 -0
  231. package/utils/JsViewVueWidget/TypesDiv/JsvSmartImage.vue +267 -0
  232. package/utils/JsViewVueWidget/index.js +6 -2
  233. package/bin/browser/BrowserAudio.vue.mjs +0 -258
  234. package/bin/browser/BrowserJsvLatex.vue.mjs +0 -145
  235. package/bin/types/utils/JsViewPlugin/JsvLatex/version.d.ts +0 -10
  236. package/bin/types/utils/JsViewVueTools/JsvTextureStore/DominantColor/GetDominantColor.d.ts +0 -7
  237. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +0 -78
  238. package/bin/types/utils/JsViewVueWidget/JsvPosterDiv.vue.d.ts +0 -63
  239. package/bin/types/utils/JsViewVueWidget/JsvPosterImage.vue.d.ts +0 -78
  240. package/utils/JsViewPlugin/JsvLatex/version.js +0 -24
  241. package/utils/JsViewVueTools/JsvTextureStore/DominantColor/GetDominantColor.ts +0 -36
  242. package/utils/JsViewVueWidget/JsvPosterDiv.vue +0 -56
  243. package/utils/JsViewVueWidget/JsvPosterImage.vue +0 -105
  244. /package/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer-0.9.vue → JsvPlayerBrowser-0.9.vue} +0 -0
@@ -21,17 +21,19 @@
21
21
  absolute为依据measures中给的top, left布局
22
22
  *
23
23
  * name {string} 用于设置焦点的名称
24
- * padding {object} 控件内边距, 默认为{left: 0, right: 0, top: 0, bottom: 0}
24
+ * padding {object} 控件内边距,默认为{left: 0, right: 0, top: 0, bottom: 0},
25
+ 用于压缩滚动判定区域(可视区域), 以达到扩大Clip区域,解决放大的焦点元素被Clip掉的问题
25
26
  * direction {enum} (必选)控件方向 HORIZONTAL/VERTICAL
26
27
  * focusMoveType {int} 焦点移动的模式, 可通过 | 运算进行组合. 这些常量在FocusMoveType对象中, 需要import { FocusMoveType } from 'jsview'
27
28
  NO_ADJUST: 无特殊处理
28
- COLUMN_LOOP: 到达列首/尾后跳转到上/下一列, 只在水平滚动时生效
29
- ROW_LOOP: 到达行首/尾后跳转到上/下一行, 只在竖直滚动时生效
30
- COLUMN_FIND_NEAR: 一列中没有下一个元素时是否跳转到相邻列
31
- ROW_FIND_NEAR: 一行中没有下一个元素时是否跳转到相邻行
29
+ COLUMN_LOOP: 到达列首/尾后跳转到上/下一列, 只在direction=水平时生效
30
+ ROW_LOOP: 到达行首/尾后跳转到上/下一行, 只在direction=竖直时生效
31
+ COLUMN_FIND_NEAR: 一列中没有下一个元素时是否跳转到相邻列, 只在direction=水平时生效
32
+ ROW_FIND_NEAR: 一行中没有下一个元素时是否跳转到相邻行, 只在direction=竖直时生效
32
33
  * keepTraceRange { number } 可视区域前后多少屏的item在移出可视范围后不释放(默认移出可视区域的item会被释放)
33
34
  * initFocusId {int} 初始焦点,默认为0
34
- * slideSetting {SlideSetting} 页面滑动的设置, 目前SlideSetting有三个子类, 具体见 WidgetCommon 中的说明
35
+ * slideSetting {SlideSetting} 页面滑动的设置, 滚动的判定区域是MetroWidget的宽高去除padding后的区域,
36
+ 目前SlideSetting有三个子类, 具体见如下
35
37
  WholePageSlide
36
38
  @description 整页滚动的设置类
37
39
  @constructor {Object} {speed, easing, boundProtect}
@@ -39,19 +41,34 @@
39
41
  @description 无缝滚动的设置类
40
42
  @constructor {Object} {
41
43
  * startPercent: 左/上侧触发滚动的比例 0-1
42
- * endPercennt: 右/下侧触发滚动的比例 0-1
44
+ * endPercent: 右/下侧触发滚动的比例 0-1, 从起点计数, 末尾为1.0
43
45
  * headRange: 左/上按键触发滚动的区域比例 0-1
44
- * tailRange: 右/下按键触发滚动的区域比例 0-1
45
- * speed: 滚动速度, 像素/毫秒
46
- * easing: 滚动动画的easing
47
- * boundaryProtect: 确定滚动位置能否小于0或者大于最大长度
48
- * fixFirstPage: 首页不滚动
46
+ * tailRange: 右/下按键触发滚动的区域比例 0-1 从终点计数,末尾为0
47
+ startPercent/endPercent headRange/tailRange 二选一
48
+ * speed: 滚动速度, 像素/毫秒
49
+ * 用于计算duration的辅助值, 因为MetroWidget每个行间可能距离不一样;
50
+ * duration 未显式指定时, 会根据speed按匀速反算duration
51
+ * duration: 动画时长(毫秒)。当 duration 为 number 时优先于 speed;
52
+ * 若为 null/不传则按 speed 计算时长
53
+ * easing(String): 滚动动画的easing,可不填(实现中默认为空字符串);
54
+ * 非匀速时推荐为 "cubic-bezier(X, X, X, X)"
55
+ * boundaryProtect: 确定滚动位置能否小于0或者大于最大长度, 默认值为 START_PROTECT | END_PROTECT, 即都开启
56
+ START_PROTECT: 是否要让头部卡在边缘而不是滚动到headRange的位置
57
+ END_PROTECT: 是否要让尾部卡在边缘而不是滚动到tailRange的位置
58
+ 若不开启, 则slide出来的项目可能不是完整的项目, 而是以焦点元素的边缘对齐range(head或者tail)的百分比位置
59
+ 对齐其百分比值的方案为, 往head滑动时, 用起始边缘对准headRange, 往tail滑动时, 也是用起始边缘对准tailRange
60
+ * fixFirstPage: 默认为false, 代表第一屏不滚动, 当到第一屏边缘开始才按照正常的无缝滚动逻辑滚动,
61
+ 若回到第一屏区域时则会把第一屏完整的滚动回来
49
62
  * }
50
- FixPositionSlide
63
+ FixPositionSlide(废弃)
51
64
  @description 固定位置滚动的设置类
52
65
  @constructor {Object} {fixPercent, speed, easing, boundProtect}
53
66
  * itemConfig {Function (item) => {takeOverSlide: true}} 返回item的配置信息
54
- * enableItemRenderBreak {boolean} 按键事件是否能打断item的描画, 默认为false
67
+ * enableItemRenderBreak {boolean} 这个骨架图的开关, 默认为false
68
+ 开启后,
69
+ 1. MetroWidget首次展示时, 所有item均以骨架图绘制
70
+ 2. 用户输入事件(例如按键输入)可打断正在进行的item描画解析,
71
+ 处于打断状态时, 剩余未绘制的item不会绘制其内容而是显示这个位置的骨架图
55
72
  * placeHolderSetting {Object} item描画可打断时, 显示的占位符
56
73
  {
57
74
  backgroundColor: 纯色占位符
@@ -85,11 +102,19 @@
85
102
  METRO_WIDGET_CONST.ITEM_SLIDE.ACT_FOCUS_RECT_EVENT 按照子组件发送的focusRect事件滚动
86
103
  zIndex {int | object}: item的zIndex, 为object时可以分别设置{focus: 0, normal: 0}, 为number时则同时设置获焦和不获焦的zIndex,
87
104
  uid {string}: item的uid, 可以通过uid来设置焦点
88
- permanent {boolean}: 出去与是否保留
89
- enableTap {boolean}: 是否接受触控tap
90
- showSkeleton {boolean}: 打断描画时, 是否显示骨架图, 默认为true
105
+ permanent {boolean}: 离开可视范围后, 是否保留
106
+ enableTap {boolean}: 是否接受触控tap, 需要触控模式时设为true
107
+ showSkeleton {boolean}: 打断描画时, 是否显示为骨架图, 默认为true
91
108
  enableLongPress {boolean}: item是否支持长按, 默认值为props.enableLongPress
92
- placeHolderLayout{{left: number, top: number, width: number, height: number}}: 占位符的布局信息
109
+ placeHolderLayout{{left: number, top: number, width: number, height: number, logoWidth: number, logoHeight: number}}:
110
+ 占位符的布局微调:
111
+ left: 占位符的left偏移量, 可不填, 默认等于格子布局的左上角位置(0px)
112
+ top: 占位符的top偏移量, 可不填, 默认等于格子布局的左上角位置(0px)
113
+ width: 占位符的width, 可不填, 默认等于格子布局的宽度(和placeHolderLayout平级的width设定)
114
+ height: 占位符的height, 可不填, 默认等于格子布局的高度(和placeHolderLayout平级的height设定)
115
+ logoWidth: 占位符的logoWidth偏移量, 可不填, 默认等于props.placeHolderSetting的LogoWidth
116
+ logoHeight: 占位符的logoHeight偏移量, 可不填, 默认等于props.placeHolderSetting的LogoHeight
117
+ bindSpatialNav {boolean}: 是否绑定空间导航, 默认值为false
93
118
  }
94
119
  *
95
120
  * onFocus {function} 控件获取焦点的回调
@@ -99,7 +124,13 @@
99
124
  "direction": {EdgeDirection}边缘方向,
100
125
  "rect": 到达边缘时的区域{x: 0, y: 0, width: 0,height: 0}
101
126
  }
102
- onScroll {function} 滚动时的回调 (visibleStart, visibleRange, totalSize) => {}
127
+ onScroll {function} 滚动时的回调, 此为异步回调, 可以进行refreshData, slideTo, updateItemSize等操作
128
+ (visibleStart, visibleRange, totalSize) => {}
129
+ visibleStart: 可视区域的起点
130
+ visibleRange: 可视区域大小(不含padding)
131
+ totalSize: 所有item的总长
132
+ syncOnScroll {function} 滚动时同步的回调,只用来触发与自身无关的操作,不要调用自身的refreshData, slideTo, updateItemSize等方法
133
+ (visibleStart, visibleRange, totalSize) => {}
103
134
  visibleStart: 可视区域的起点
104
135
  visibleRange: 可视区域大小(不含padding)
105
136
  totalSize: 所有item的总长
@@ -107,12 +138,20 @@
107
138
  * onAllItemResizeDone {() => void} 所有item resize完成的回调
108
139
  * onFocusChange {(id: number) => void} 焦点变化的回调
109
140
  * loadAll {boolean} 加载不显示的view,触控场景使用
110
- * flingPageWidth {}
111
- * flingPageEdge {}
141
+ * flingPageWidth {number} Fling 手势分页宽度(像素),-1 表示使用默认策略
142
+ * flingPageEdge {number} Fling 边缘触发区域比例(0-1),默认 1/4
112
143
  * disableClip {boolean} 取消显示范围的clipView
113
144
  * touchFlag {int} 触控的开关, 0:关闭, 1:打开. 打开后支持drag, fling; item的tap则由measuresObject的enableTap控制
145
+ * mouseFlag {int} 鼠标滚轮的开关, 0:关闭, 1:打开. 打开后支持鼠标滚轮滚动
146
+ * mouseConfig {Object} 鼠标配置, 仅在mouseFlag为1时生效
147
+ {
148
+ wheelRate: {number} 鼠标滚轮滚动速度, 默认值为10
149
+ }
114
150
  * enableLongPress {boolean} 支持长按, 长按模式下, onkeyup时触发onclick, 长按触发后, onclik不触发
115
151
  * enableDebug {boolean} 显示debug用的item框
152
+ * renderAcc {boolean} 是否使用Fbo加速渲染
153
+ * fullDisplayMode {boolean} 是否全屏显示
154
+ * onSizeChange {function} 尺寸变化时的回调, 仅在fullDisplayMode为true时生效
116
155
 
117
156
  * methods:
118
157
  getFocusBlockRef 获取此MetroWidget的 jsv-focus-block句柄,可以使用requestFocus完成获焦
@@ -227,6 +266,10 @@
227
266
  @description 获取 item 的布局位置信息, index对应的item不存在时, 返回null
228
267
  @params {number} index item 的 index
229
268
  @return {object} {left: number, top: number, width: number, height: number} | null
269
+ tmpDisableRenderBreak
270
+ @description 临时设置是否打断描画, 一般用于防止刷新数据导致闪烁
271
+ cleanFocusStatus
272
+ @description 清除焦点状态
230
273
  slots:
231
274
  renderItem: 该slot用于描画每个单元格
232
275
  background: 该slot描画在item后, 一般用于描画需要跟随MetroWidget滚动的内容
@@ -259,8 +302,8 @@
259
302
  * onAction: 单元格内控件需要通过onAction.register方法向MetroWidget注册 item 的回调,回调函数有
260
303
  onFocus: widget获焦状态下, item获焦的回调
261
304
  onBlur: widget获焦状态下, item失焦的回调
262
- onGaze: item获焦的回调, 无论widget是否为获焦状态
263
- onIgnore: itemh失焦的回调, 无论widget是否为获焦状态
305
+ onGaze: item获焦的回调, 无论widget是否为获焦状态, 此时该item绘制的zIndex会高于其他item, 可盖住其他item
306
+ onIgnore: itemh失焦的回调, 无论widget是否为获焦状态, 此时item从高zIndex降回原值, 继续遵照index变化越高zIndex越高的顺序
264
307
  onClick: item点击的回调
265
308
  onWidgetEdge: 到达边缘的回调
266
309
  onLongPress: item长按的回调
@@ -312,8 +355,10 @@ import {
312
355
  import { ForgeConst } from "../../JsViewVueTools/ForgeConstDefine.ts";
313
356
  import DebugFrame from "./DebugFrame.vue";
314
357
  import { createCanvasText } from "./DebugTools.ts";
358
+ import { KEY_MODE, TOUCH_MODE, JsvInteractionMode } from "../../JsViewVueTools/JsvInteractionMode";
315
359
 
316
360
  const props = defineProps({
361
+ // 内边距;用于压缩滚动判定区域(可视区域),默认四边为 0
317
362
  padding: {
318
363
  type: Object,
319
364
  default() {
@@ -325,91 +370,119 @@ const props = defineProps({
325
370
  };
326
371
  },
327
372
  },
373
+ // 列表方向:HORIZONTAL(横向)或 VERTICAL(纵向)
328
374
  direction: {
329
375
  type: Symbol,
330
376
  default: HORIZONTAL,
331
377
  },
378
+ // 控件高度(必选)
332
379
  height: {
333
380
  type: Number,
334
381
  required: true,
335
382
  },
383
+ // 控件宽度(必选)
336
384
  width: {
337
385
  type: Number,
338
386
  required: true,
339
387
  },
388
+ // 焦点移动到边缘时的回调;可为函数或字符串(见引擎约定)
340
389
  onEdge: {
341
- type: Function,
390
+ type: [Function, String],
342
391
  default: null,
343
392
  },
393
+ // 控件获取焦点时的回调
344
394
  onFocus: {
345
395
  type: Function,
346
396
  default: null,
347
397
  },
398
+ // 控件失去焦点时的回调
348
399
  onBlur: {
349
400
  type: Function,
350
401
  default: null,
351
402
  },
403
+ // 触控按下并建立焦点相关流程后的回调(如滚动锚点更新后触发)
404
+ onTouchFocus: {
405
+ type: Function,
406
+ default: null,
407
+ },
408
+ // 是否预加载当前不可见区域的 item 视图;触控场景可设为 true
352
409
  loadAll: {
353
410
  type: Boolean,
354
411
  default: false,
355
412
  },
413
+ // Fling 分页宽度(像素),-1 表示使用默认
356
414
  flingPageWidth: {
357
415
  type: Number,
358
416
  default: -1,
359
417
  },
418
+ // Fling 边缘区域比例(0-1),用于分页/吸附等策略
360
419
  flingPageEdge: {
361
420
  type: Number,
362
421
  default: 1 / 4,
363
422
  },
423
+ // 根据数据项返回模板尺寸与行为信息(必选)
364
424
  measures: {
365
425
  type: Function,
366
426
  required: true,
367
427
  },
428
+ // 初始可获焦 item 的 id,默认 0
368
429
  initFocusId: {
369
430
  type: Number,
370
431
  default: 0,
371
432
  },
433
+ // 静态数据列表;与 provideData 二选一
372
434
  data: {
373
435
  type: Array,
374
436
  },
437
+ // 控件左上角 x,默认 0
375
438
  left: {
376
439
  type: Number,
377
440
  default: 0,
378
441
  },
442
+ // 控件左上角 y,默认 0
379
443
  top: {
380
444
  type: Number,
381
445
  default: 0,
382
446
  },
447
+ // 焦点块名称,用于焦点树与调试标识
383
448
  name: {
384
449
  type: String,
385
450
  },
451
+ // 空间导航邻接查找是否使用历史路径信息(传给 Metro 模板)
386
452
  supportHistoryPath: {
387
453
  type: Boolean,
388
454
  default: true,
389
455
  },
456
+ // 返回单项额外配置(如 takeOverSlide 等)
390
457
  itemConfig: {
391
458
  type: Function,
392
459
  },
460
+ // 焦点 id 变化时的回调 (id) => void
393
461
  onFocusChange: {
394
462
  type: Function,
395
463
  },
464
+ // 页面滑动/滚动策略配置(如 SeamlessSlide)
396
465
  slideSetting: {
397
466
  type: SlideSetting,
398
467
  default() {
399
468
  return new SeamlessSlide({ startPercent: 0.2, endPercent: 0.8 });
400
469
  },
401
470
  },
471
+ // 布局类型:"relative"(自动)或 "absolute"(按 measures 的 left/top)
402
472
  layoutType: {
403
473
  type: String,
404
474
  default: "relative",
405
475
  },
476
+ // 是否启用骨架图与描画打断(首屏骨架、按键打断等)
406
477
  enableItemRenderBreak: {
407
478
  type: Boolean,
408
479
  default: false,
409
480
  },
481
+ // 异步/分页提供数据的回调;与 data 二选一
410
482
  provideData: {
411
483
  type: Function,
412
484
  },
485
+ // 占位符样式(背景色、圆角、logo 等)
413
486
  placeHolderSetting: {
414
487
  type: Object,
415
488
  default() {
@@ -418,43 +491,81 @@ const props = defineProps({
418
491
  };
419
492
  },
420
493
  },
494
+ // item 获焦时是否在焦点树上冒泡 focusRect 事件(嵌套滚动时常用)
421
495
  sendFocusRectEvent: {
422
496
  type: Boolean,
423
497
  default: false,
424
498
  },
499
+ // 可视区前后保留多少屏 item 不释放;-1 等表示走内部默认策略
425
500
  keepTraceRange: {
426
501
  type: Number,
427
502
  default: -1,
428
503
  },
504
+ // 滚动结束后的异步回调 (visibleStart, visibleRange, totalSize) => {}
429
505
  onScroll: {
430
506
  type: Function,
431
507
  },
508
+ // 滚动时的同步回调;勿在其中调用 refreshData/slideTo 等改变自身状态的方法
509
+ syncOnScroll: {
510
+ type: Function,
511
+ },
512
+ // 焦点移动模式位标志(FocusMoveType 组合)
432
513
  focusMoveType: {
433
514
  type: Number,
434
515
  default: 0,
435
516
  },
517
+ // 是否取消可视区域 clip(子项可绘制到 MetroWidget 矩形外)
436
518
  disableClip: {
437
519
  type: Boolean,
438
520
  default: false,
439
521
  },
522
+ // 焦点矩形区域变化时的回调
440
523
  onFocusRectChange: {
441
524
  type: Function,
442
525
  },
526
+ // 所有 item 尺寸计算完成后的回调
443
527
  onAllItemResizeDone: {
444
528
  type: Function,
445
529
  },
530
+ // 触控开关:0 关闭,大于 0 开启(支持 drag、fling 等)
446
531
  touchFlag: {
447
532
  type: Number,
448
533
  default: 0,
449
534
  },
535
+ // 是否支持长按;长按模式下 onkeyup 触发 onclick 等行为见引擎约定
450
536
  enableLongPress: {
451
537
  type: Boolean,
452
538
  default: false,
453
539
  },
540
+ // 是否绘制调试用 item 边框
454
541
  enableDebug: {
455
542
  type: Boolean,
456
543
  default: false,
457
544
  },
545
+ // 是否使用 FBO 加速渲染
546
+ renderAcc: {
547
+ type: Boolean,
548
+ default: false,
549
+ },
550
+ // 鼠标滚轮开关:0 关闭,1 开启
551
+ mouseFlag: {
552
+ type: Number,
553
+ default: 0,
554
+ },
555
+ // 鼠标相关配置(如 wheelRate),仅在 mouseFlag 为 1 时生效
556
+ mouseConfig: {
557
+ type: Object,
558
+ },
559
+ // 是否全屏显示模式(影响布局与 onSizeChange 等)
560
+ fullDisplayMode: {
561
+ type: Boolean,
562
+ default: false,
563
+ },
564
+ // 尺寸变化回调;仅在 fullDisplayMode 为 true 时由引擎侧触发
565
+ onSizeChange: {
566
+ type: Function,
567
+ default: null,
568
+ }
458
569
  });
459
570
 
460
571
  const renderBreakKey = props.enableItemRenderBreak ? RENDER_ITEM_BREAK_KEY : "";
@@ -466,6 +577,7 @@ const slideDivLeft = ref(0);
466
577
  const slideDivTop = ref(0);
467
578
  const focusNode = shallowRef(null);
468
579
  const pageUpdateToken = ref(0);
580
+ const rootDiv = shallowRef(null);
469
581
 
470
582
  const touchDiv = shallowRef(null);
471
583
  const touchDivSize = reactive({
@@ -509,8 +621,9 @@ const {
509
621
  onTouchDown,
510
622
  onTouchRelease,
511
623
  currentFocusIndex,
512
- modeForExport,
513
624
  onDispatchKeyDown,
625
+ isFocus,
626
+ rootNativeViewId,
514
627
  } = setup(
515
628
  props,
516
629
  itemRender,
@@ -523,6 +636,7 @@ const {
523
636
  pageUpdateToken,
524
637
  touchDiv,
525
638
  touchDivSize,
639
+ rootDiv,
526
640
  "common"
527
641
  );
528
642
 
@@ -555,138 +669,171 @@ onBeforeUnmount(() => {
555
669
  }
556
670
  });
557
671
 
672
+ const innerDisableClip = computed(() => {
673
+ return props.disableClip || props.fullDisplayMode;
674
+ });
675
+
558
676
  defineExpose(exportObject);
559
677
  </script>
560
678
 
561
679
  <template>
562
680
  <div
681
+ ref="rootDiv"
563
682
  :style="{
564
683
  left: left,
565
684
  top: top,
566
685
  width: width,
567
686
  height: height,
568
- overflow: disableClip ? null : 'hidden',
687
+ overflow: innerDisableClip ? null : 'hidden',
569
688
  }"
570
689
  >
571
690
  <div
572
691
  :style="{
573
- left: widgetRectInfo.padding.left,
574
- top: widgetRectInfo.padding.top,
692
+ width: width,
693
+ height: height,
575
694
  }"
695
+ :data-jsv-vw-innerview="rootNativeViewId"
576
696
  >
577
697
  <div
578
- id="slideDiv"
579
- key="slideDiv"
580
- ref="slideDiv"
581
698
  :style="{
582
- left: slideDivLeft,
583
- top: slideDivTop,
699
+ left: widgetRectInfo.padding.left,
700
+ top: widgetRectInfo.padding.top,
584
701
  }"
585
702
  >
586
703
  <div
587
- ref="touchDiv"
704
+ id="slideDiv"
705
+ key="slideDiv"
706
+ ref="slideDiv"
588
707
  :style="{
589
- width: touchDivSize.width,
590
- height: touchDivSize.height,
708
+ left: slideDivLeft,
709
+ top: slideDivTop,
591
710
  }"
592
711
  >
593
- <div>
594
- <slot name="background"></slot>
595
- </div>
596
- <div ref="locateDiv">
597
- <jsv-focus-block
598
- ref="focusNode"
599
- :name="name"
600
- :onAction="{
601
- onFocus: focusBlockOnFocus,
602
- onBlur: focusBlockOnBlur,
603
- onKeyDown: focusBlockOnKeyDown,
604
- onKeyUp: focusBlockOnKeyUp,
605
- onCustomEvent: focusBlockOnCustomEvent,
606
- onDispatchKeyDown,
607
- }"
608
- >
609
- <div
610
- v-for="(item, index) in renderData"
611
- :key="
612
- pageUpdateToken +
613
- '_' +
614
- item.index +
615
- '-' +
616
- item.renderKey.value
617
- "
618
- :ref="item.divRef"
619
- data-jsv-vw-test-rect="1"
620
- :style="{
621
- left: item.templateInfo.left,
622
- top: item.templateInfo.top,
623
- width: item.templateInfo.width,
624
- height: item.templateInfo.height,
625
- zIndex: item.renderStyle.zIndex,
712
+ <div
713
+ ref="touchDiv"
714
+ :style="{
715
+ width: touchDivSize.width,
716
+ height: touchDivSize.height,
717
+ }"
718
+ >
719
+ <div>
720
+ <slot name="background"></slot>
721
+ </div>
722
+ <div ref="locateDiv">
723
+ <jsv-focus-block
724
+ ref="focusNode"
725
+ :name="name"
726
+ :onAction="{
727
+ onFocus: focusBlockOnFocus,
728
+ onBlur: focusBlockOnBlur,
729
+ onKeyDown: focusBlockOnKeyDown,
730
+ onKeyUp: focusBlockOnKeyUp,
731
+ onCustomEvent: focusBlockOnCustomEvent,
732
+ onDispatchKeyDown,
626
733
  }"
627
- @click="item.onTap.value"
628
734
  >
629
- <DebugFrame
630
- v-if="enableDebug"
631
- :width="item.templateInfo.width"
632
- :height="item.templateInfo.height"
633
- :sourceId="debugFrameSourceId"
634
- ></DebugFrame>
635
735
  <div
636
- v-if="
637
- !enableItemRenderBreak || item.mounted.value || itemRender
638
- "
639
- :key="renderBreakKey"
640
- :ref="item.slotRef"
641
- :id="`${name}_${index}`"
642
- >
643
- <slot-component key="__QcodeJsviewFreezeComponent">
644
- <slot
645
- name="renderItem"
646
- :data="item.customerData"
647
- :onEdge="_onFocusableItemEdge"
648
- :onAction="item.registerObj"
649
- :query="item.query"
650
- :onItemEdge="_onFocusableItemEdge"
651
- ></slot>
652
- </slot-component>
653
- </div>
654
- <div
655
- v-if="
656
- enableItemRenderBreak &&
657
- placeHolderSetting &&
658
- !item.mounted.value &&
659
- item.itemConfig.showSkeleton
736
+ v-for="(item, index) in renderData"
737
+ :key="
738
+ pageUpdateToken +
739
+ '_' +
740
+ item.index +
741
+ '-' +
742
+ item.renderKey.value
660
743
  "
744
+ :ref="item.divRef"
745
+ data-jsv-vw-test-rect="1"
661
746
  :style="{
662
- left: item.placeHolderLayout.left,
663
- top: item.placeHolderLayout.top,
664
- width: item.placeHolderLayout.width,
665
- height: item.placeHolderLayout.height,
666
- backgroundColor:
667
- currentFocusIndex == item.index && modeForExport == 2
668
- ? normalizedPlaceHolder.focusBackgroundColor
669
- : normalizedPlaceHolder.backgroundColor,
670
- borderRadius: normalizedPlaceHolder.borderRadius,
747
+ left: item.templateInfo.left,
748
+ top: item.templateInfo.top,
749
+ width: item.templateInfo.width,
750
+ height: item.templateInfo.height,
751
+ zIndex: item.renderStyle.zIndex,
671
752
  }"
753
+ @click="item.onTap.value"
672
754
  >
673
- <img
674
- v-if="normalizedPlaceHolder.logoInfo"
675
- :src="`url(${normalizedPlaceHolder.logoInfo.url})`"
755
+ <DebugFrame
756
+ v-if="enableDebug"
757
+ :width="item.templateInfo.width"
758
+ :height="item.templateInfo.height"
759
+ :sourceId="debugFrameSourceId"
760
+ ></DebugFrame>
761
+ <div
676
762
  :style="{
677
- left: (item.placeHolderLayout.width - normalizedPlaceHolder.logoInfo.width) / 2,
678
- top: (item.placeHolderLayout.height - normalizedPlaceHolder.logoInfo.height) / 2,
679
- width: normalizedPlaceHolder.logoInfo.width,
680
- height: normalizedPlaceHolder.logoInfo.height,
763
+ width: item.templateInfo.width,
764
+ height: item.templateInfo.height,
681
765
  }"
682
- />
766
+ :data-jsv-vw-innerview="item.rootNativeViewId"
767
+ >
768
+ <div
769
+ v-if="
770
+ !item.renderBreak ||
771
+ item.mounted.value ||
772
+ itemRender
773
+ "
774
+ :key="renderBreakKey"
775
+ :ref="item.slotRef"
776
+ :id="`${name}_${index}`"
777
+ :__metrowidget-index="item.index"
778
+ >
779
+ <slot-component key="__QcodeJsviewFreezeComponent">
780
+ <slot
781
+ name="renderItem"
782
+ :data="item.customerData"
783
+ :onEdge="_onFocusableItemEdge"
784
+ :onAction="item.registerObj"
785
+ :query="item.query"
786
+ :onItemEdge="_onFocusableItemEdge"
787
+ ></slot>
788
+ </slot-component>
789
+ </div>
790
+ <div
791
+ v-if="
792
+ item.renderBreak
793
+ && placeHolderSetting
794
+ && !item.mounted.value
795
+ && item.itemConfig.showSkeleton
796
+ && item.placeHolderLayout
797
+ "
798
+ :style="{
799
+ left: item.placeHolderLayout.left,
800
+ top: item.placeHolderLayout.top,
801
+ width: item.placeHolderLayout.width,
802
+ height: item.placeHolderLayout.height,
803
+ backgroundColor:
804
+ isFocus &&
805
+ currentFocusIndex == item.index &&
806
+ JsvInteractionMode == KEY_MODE
807
+ ? normalizedPlaceHolder.focusBackgroundColor
808
+ : normalizedPlaceHolder.backgroundColor,
809
+ borderRadius: normalizedPlaceHolder.borderRadius,
810
+ }"
811
+ >
812
+ <img
813
+ v-if="normalizedPlaceHolder.logoInfo"
814
+ :src="`url(${normalizedPlaceHolder.logoInfo.url})`"
815
+ :style="{
816
+ left:
817
+ (item.placeHolderLayout.width -
818
+ item.placeHolderLayout.logoWidth) /
819
+ 2,
820
+ top:
821
+ (item.placeHolderLayout.height -
822
+ item.placeHolderLayout.logoHeight) /
823
+ 2,
824
+ width: item.placeHolderLayout.logoWidth,
825
+ height: item.placeHolderLayout.logoHeight,
826
+ }"
827
+ />
828
+ </div>
829
+ </div>
683
830
  </div>
684
- </div>
685
- </jsv-focus-block>
831
+ </jsv-focus-block>
832
+ </div>
833
+ </div>
834
+ <div>
835
+ <slot name="foreground"></slot>
686
836
  </div>
687
- </div>
688
- <div>
689
- <slot name="foreground"></slot>
690
837
  </div>
691
838
  </div>
692
839
  </div>