@shijiu/jsview-vue 0.9.254 → 0.9.267

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 (168) hide show
  1. package/dom/bin/package.json +11 -11
  2. package/dom/browser-root-style.css +21 -21
  3. package/loader/jsview-main.js +41 -41
  4. package/loader/jsview.config.default.js +37 -37
  5. package/loader/jsview.default.config.js +37 -37
  6. package/package.json +1 -5
  7. package/samples/AdvanceMetroWidget/App.vue +122 -122
  8. package/samples/AdvanceMetroWidget/Frame.vue +100 -100
  9. package/samples/AdvanceMetroWidget/Item.vue +57 -57
  10. package/samples/AdvanceMetroWidget/data.js +136 -136
  11. package/samples/AnimPicture/App.vue +223 -223
  12. package/samples/Basic/App.vue +128 -128
  13. package/samples/Basic/components/TitleBar.vue +28 -28
  14. package/samples/Basic/components/anim/AnimGroup.vue +67 -67
  15. package/samples/Basic/components/anim/AnimKeyframeBasic.vue +101 -101
  16. package/samples/Basic/components/anim/AnimKeyframeComposite.vue +52 -52
  17. package/samples/Basic/components/anim/AnimTransition.vue +116 -116
  18. package/samples/Basic/components/div/DivBackground.vue +14 -14
  19. package/samples/Basic/components/div/DivClip.vue +80 -80
  20. package/samples/Basic/components/div/DivCssScoped.vue +26 -26
  21. package/samples/Basic/components/div/DivCssVar.vue +49 -49
  22. package/samples/Basic/components/div/DivGroup1.vue +32 -32
  23. package/samples/Basic/components/div/DivGroup2.vue +40 -40
  24. package/samples/Basic/components/div/DivLayout.vue +11 -11
  25. package/samples/Basic/components/div/DivRadius.vue +46 -46
  26. package/samples/Basic/components/text/TextAlign.vue +47 -47
  27. package/samples/Basic/components/text/TextFontStyle.vue +57 -57
  28. package/samples/Basic/components/text/TextGroup.vue +31 -31
  29. package/samples/Basic/components/text/TextOverflow.vue +77 -77
  30. package/samples/BasicFocusControl/App.vue +124 -124
  31. package/samples/BasicFocusControl/components/BaseBlock.vue +50 -50
  32. package/samples/BasicFocusControl/components/MainArea.vue +97 -97
  33. package/samples/BasicFocusControl/components/MainAreaLeftBlock.vue +20 -20
  34. package/samples/BasicFocusControl/components/MainAreaRightBlock.vue +29 -29
  35. package/samples/BasicFocusControl/components/SideBar.vue +72 -72
  36. package/samples/BasicFocusControl/components/SideBarBlock.vue +29 -29
  37. package/samples/ClassNameDemo/App.vue +119 -119
  38. package/samples/ClassNameDemo/components/ContentItem.vue +252 -252
  39. package/samples/ClassNameDemo/components/LoadingView.vue +43 -43
  40. package/samples/ClassNameDemo/components/TitleView.vue +24 -24
  41. package/samples/ClassNameDemo/data.js +24 -24
  42. package/samples/ColorSpace/App.vue +134 -134
  43. package/samples/DemoHomepage/App.vue +31 -31
  44. package/samples/DemoHomepage/components/BodyFrame.vue +81 -81
  45. package/samples/DemoHomepage/components/Dialog.vue +93 -93
  46. package/samples/DemoHomepage/components/Item.vue +76 -76
  47. package/samples/DemoHomepage/components/TabFrame.vue +86 -86
  48. package/samples/DemoHomepage/router.js +132 -132
  49. package/samples/DemoHomepage/views/Homepage.vue +186 -186
  50. package/samples/FlipCard/App.vue +80 -80
  51. package/samples/FlipCard/FlipCard.vue +123 -123
  52. package/samples/FlipCard/data.js +12 -12
  53. package/samples/FlowMultiWidget/App.vue +90 -90
  54. package/samples/FlowMultiWidget/components/Block.vue +106 -106
  55. package/samples/FlowMultiWidget/components/FlowPage.vue +59 -59
  56. package/samples/FlowMultiWidget/components/Item.vue +102 -102
  57. package/samples/FlowMultiWidget/components/MenuItem.vue +71 -71
  58. package/samples/FlowMultiWidget/components/MyMenu.vue +89 -89
  59. package/samples/FlowMultiWidget/data.js +446 -446
  60. package/samples/HashHistory/App.vue +124 -124
  61. package/samples/HashHistory/components/HorizontalButtonList.vue +113 -113
  62. package/samples/HashHistory/components/Item.vue +73 -73
  63. package/samples/HashHistory/router.js +29 -29
  64. package/samples/HashHistory/views/BasePage.vue +18 -18
  65. package/samples/HashHistory/views/MainPage.vue +67 -67
  66. package/samples/HashHistory/views/SubPage.vue +78 -78
  67. package/samples/HashHistory/views/SubPageFirst.vue +9 -9
  68. package/samples/HashHistory/views/SubPageSecond.vue +9 -9
  69. package/samples/LongImage/App.vue +96 -96
  70. package/samples/LongImage/Button.vue +153 -153
  71. package/samples/LongImage/LongImageScroll.vue +126 -126
  72. package/samples/LongImage/Scroll.vue +15 -15
  73. package/samples/LongText/App.vue +111 -111
  74. package/samples/LongText/Button.vue +153 -153
  75. package/samples/LongText/LongTextScroll.vue +224 -224
  76. package/samples/LongText/Scroll.vue +15 -15
  77. package/samples/Preload/App.vue +145 -145
  78. package/samples/Preload/data.js +22 -22
  79. package/samples/Preload/preloadItem.vue +21 -21
  80. package/samples/QrcodeDemo/App.vue +72 -72
  81. package/samples/SimpleWidgetDemo/App.vue +203 -203
  82. package/samples/SimpleWidgetDemo/Item.vue +82 -82
  83. package/samples/SimpleWidgetDemo/components/ContentItem.vue +411 -411
  84. package/samples/SimpleWidgetDemo/components/MyTab.vue +116 -116
  85. package/samples/SimpleWidgetDemo/data.js +110 -110
  86. package/samples/SprayView/App.vue +269 -269
  87. package/samples/SpriteImage/App.vue +174 -174
  88. package/samples/SpriteImage/images/egg_break.json +116 -116
  89. package/samples/TextBox/App.vue +178 -178
  90. package/samples/TextBox/RenderCenter.vue +108 -108
  91. package/samples/TextBox/RenderLeft.vue +108 -108
  92. package/samples/TextBox/RenderOneLine.vue +119 -119
  93. package/samples/TextBox/RenderRight.vue +106 -106
  94. package/samples/TextShadowDemo/App.vue +97 -97
  95. package/samples/TextureSize/App.vue +141 -141
  96. package/samples/ThrowMoveDemo/AccelerateDemo.vue +117 -117
  97. package/samples/ThrowMoveDemo/App.vue +113 -113
  98. package/samples/ThrowMoveDemo/LRParabolicDemo.vue +115 -115
  99. package/samples/ThrowMoveDemo/TargetDemo.vue +116 -116
  100. package/samples/ThrowMoveDemo/UDParabolicDemo.vue +121 -121
  101. package/samples/TransitPage/App.vue +40 -40
  102. package/samples/VideoDemo/App.vue +137 -137
  103. package/samples/VideoDemo/components/Button.vue +68 -68
  104. package/samples/VideoDemo/components/Controllor.vue +195 -195
  105. package/samples/VideoDemo/components/VideoFrame.vue +152 -152
  106. package/scripts/common.js +57 -115
  107. package/scripts/jsview-install-local-packages.js +73 -73
  108. package/scripts/jsview-post-build.js +127 -127
  109. package/scripts/jsview-post-install.js +78 -78
  110. package/scripts/jsview-run-android.js +64 -64
  111. package/utils/JsViewEngineWidget/bin/index.js +1 -1
  112. package/utils/JsViewEngineWidget/bin/package.json +11 -11
  113. package/utils/JsViewVueTools/JsvHashHistory.js +111 -111
  114. package/utils/JsViewVueTools/JsvRuntimeBridge.js +417 -417
  115. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserPreload.vue +80 -80
  116. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserQrcode.vue +147 -147
  117. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserSpray.vue +54 -54
  118. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/ApicDataBase.js +28 -28
  119. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/BrowserApic.vue +123 -123
  120. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/GifData.js +83 -83
  121. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/LoopToolBase.js +25 -25
  122. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/NormalLoopTool.js +61 -61
  123. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/PartLoopTool.js +119 -119
  124. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/Viewer.js +106 -106
  125. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/WebpData.js +141 -141
  126. package/utils/JsViewVueWidget/BrowserDebugWidget/WidgetLoader.js +20 -20
  127. package/utils/JsViewVueWidget/JsvActorMove/ActorControlBase.js +204 -204
  128. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +63 -63
  129. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMoveControl.js +426 -426
  130. package/utils/JsViewVueWidget/JsvActorMove/index.js +12 -12
  131. package/utils/JsViewVueWidget/JsvApic/JsvApic.vue +178 -178
  132. package/utils/JsViewVueWidget/JsvApic/index.js +17 -17
  133. package/utils/JsViewVueWidget/JsvMarquee.vue +196 -196
  134. package/utils/JsViewVueWidget/JsvNinePatch.vue +76 -76
  135. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +350 -350
  136. package/utils/JsViewVueWidget/JsvPreload/index.js +21 -21
  137. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +140 -140
  138. package/utils/JsViewVueWidget/JsvQrcode/index.js +18 -18
  139. package/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue +139 -139
  140. package/utils/JsViewVueWidget/JsvSpray/index.js +14 -14
  141. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue +447 -447
  142. package/utils/JsViewVueWidget/JsvSpriteAnim/SpriteController.js +56 -56
  143. package/utils/JsViewVueWidget/JsvSpriteAnim/index.js +6 -6
  144. package/utils/JsViewVueWidget/JsvSwiper/Indicator.vue +34 -34
  145. package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +494 -494
  146. package/utils/JsViewVueWidget/JsvSwiper/index.js +9 -9
  147. package/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue +34 -34
  148. package/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue +403 -403
  149. package/utils/JsViewVueWidget/JsvSwiper3D/index.js +9 -9
  150. package/utils/JsViewVueWidget/JsvTextBox.vue +110 -110
  151. package/utils/JsViewVueWidget/JsvVideo.vue +35 -35
  152. package/patches/node_modules/@babel/preset-env/lib/available-plugins.js +0 -219
  153. package/patches/node_modules/@vue/cli-plugin-typescript/index.js +0 -100
  154. package/patches/node_modules/@vue/cli-service/lib/commands/serve.js +0 -395
  155. package/patches/node_modules/@vue/cli-service/lib/config/app.js +0 -272
  156. package/patches/node_modules/@vue/cli-service/lib/config/assets.js +0 -70
  157. package/patches/node_modules/@vue/cli-service/lib/config/base.js +0 -212
  158. package/patches/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js +0 -2566
  159. package/patches/node_modules/@vue/compiler-sfc/dist/jsview-css-to-js.js +0 -274
  160. package/patches/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js +0 -1596
  161. package/patches/node_modules/postcss-js/objectifier.js +0 -90
  162. package/patches/node_modules/vue-loader/dist/resolveScript.js +0 -70
  163. package/scripts/deploy-fast-pack.js +0 -17
  164. package/scripts/deploy-fast-publish.js +0 -44
  165. package/scripts/deploy-git-commit-empty.js +0 -21
  166. package/scripts/deploy-prepare.js +0 -56
  167. package/scripts/make-js.sh +0 -181
  168. package/vetur.config.js +0 -5
@@ -1,98 +1,98 @@
1
- <script lang="ts">
2
- import { JsvFocusEvent } from "jsview/utils/JsViewEngineWidget";
3
- import { Options, Vue } from "vue-class-component";
4
- import MainAreaLeftBlock from "./MainAreaLeftBlock.vue"
5
- import MainAreaRightBlock from "./MainAreaRightBlock.vue"
6
-
7
- @Options({
8
- components: {
9
- MainAreaLeftBlock,
10
- MainAreaRightBlock
11
- }
12
- })
13
- export default
14
- class MainArea extends Vue {
15
- constructor(props: object) {
16
- super(props);
17
- }
18
-
19
- private getActionCallback() {
20
- const onAction = {
21
- onKeyDown: (ev: JsvFocusEvent) => {
22
- // 子节点未处理的按键事件会流向此节点
23
- let keyUsed = true;
24
- switch (ev.keyCode) {
25
- case 38: // Up
26
- this.focusRow = 0;
27
- break;
28
- case 40: // Down
29
- this.focusRow = 1;
30
- break;
31
- case 37: // Left
32
- this.focusColumn= 0;
33
- break;
34
- case 39: // Right
35
- this.focusColumn= 1;
36
- break;
37
- default:
38
- keyUsed = false;
39
- }
40
-
41
- if (keyUsed) {
42
- // 焦点与之前相同时也可以重复调用,焦点管理系统内容有是否变更的判断处理
43
- const name = `main.R${this.focusRow}C${this.focusColumn}`;
44
- (this.$root as any).changeFocusInDemoSpace(name);
45
- }
46
-
47
- return keyUsed;
48
- },
49
-
50
- onFocus: () => {
51
- // this.focusRow = 0;
52
- // this.focusColumn = 0;
53
- const name = `main.R${this.focusRow}C${this.focusColumn}`;
54
- (this.$root as any).changeFocusInDemoSpace(name);
55
- }
56
- };
57
- return onAction;
58
- }
59
-
60
- private focusRow: number = 0;
61
- private focusColumn: number = 0;
62
- }
63
- </script>
64
-
65
- <template>
66
- <!--jsv-focus-block是不可描画节点,所以如果想接收style等属性,不要放在顶级-->
67
- <div>
68
- <!-- 这里的jsv-focus-block只是一个namesapce的样例,并不是必须的,
69
- 如果你App中的焦点在一个命名空间下,这里可以用name,参考SideBar。 -->
70
- <jsv-focus-block namespace="main"
71
- autoFocus :onAction="getActionCallback()"
72
- >
73
- <MainAreaLeftBlock name="R0C0" :style="{ left: 0, top: 0 }"/>
74
- <MainAreaLeftBlock name="R1C0" :style="{ left: 0, top: 120 }"/>
75
- <MainAreaRightBlock name="R0C1" :style="{ left: 120, top: 0 }"/>
76
- <MainAreaRightBlock name="R1C1" :style="{ left: 120, top: 120 }"/>
77
- </jsv-focus-block>
78
- </div>
79
- </template>
80
-
81
- <style scoped>
82
- .title {
83
- text-align: center;
84
- font-size: 30px;
85
- line-height: 50px;
86
- color: #ffffff;
87
- left: 100;
88
- top: 50;
89
- width: 400;
90
- height: 50;
91
- background-color: rgba(27,38,151,0.8);
92
- }
93
-
94
- .body {
95
- left: 100;
96
- top: 120;
97
- }
1
+ <script lang="ts">
2
+ import { JsvFocusEvent } from "jsview/utils/JsViewEngineWidget";
3
+ import { Options, Vue } from "vue-class-component";
4
+ import MainAreaLeftBlock from "./MainAreaLeftBlock.vue"
5
+ import MainAreaRightBlock from "./MainAreaRightBlock.vue"
6
+
7
+ @Options({
8
+ components: {
9
+ MainAreaLeftBlock,
10
+ MainAreaRightBlock
11
+ }
12
+ })
13
+ export default
14
+ class MainArea extends Vue {
15
+ constructor(props: object) {
16
+ super(props);
17
+ }
18
+
19
+ private getActionCallback() {
20
+ const onAction = {
21
+ onKeyDown: (ev: JsvFocusEvent) => {
22
+ // 子节点未处理的按键事件会流向此节点
23
+ let keyUsed = true;
24
+ switch (ev.keyCode) {
25
+ case 38: // Up
26
+ this.focusRow = 0;
27
+ break;
28
+ case 40: // Down
29
+ this.focusRow = 1;
30
+ break;
31
+ case 37: // Left
32
+ this.focusColumn= 0;
33
+ break;
34
+ case 39: // Right
35
+ this.focusColumn= 1;
36
+ break;
37
+ default:
38
+ keyUsed = false;
39
+ }
40
+
41
+ if (keyUsed) {
42
+ // 焦点与之前相同时也可以重复调用,焦点管理系统内容有是否变更的判断处理
43
+ const name = `main.R${this.focusRow}C${this.focusColumn}`;
44
+ (this.$root as any).changeFocusInDemoSpace(name);
45
+ }
46
+
47
+ return keyUsed;
48
+ },
49
+
50
+ onFocus: () => {
51
+ // this.focusRow = 0;
52
+ // this.focusColumn = 0;
53
+ const name = `main.R${this.focusRow}C${this.focusColumn}`;
54
+ (this.$root as any).changeFocusInDemoSpace(name);
55
+ }
56
+ };
57
+ return onAction;
58
+ }
59
+
60
+ private focusRow: number = 0;
61
+ private focusColumn: number = 0;
62
+ }
63
+ </script>
64
+
65
+ <template>
66
+ <!--jsv-focus-block是不可描画节点,所以如果想接收style等属性,不要放在顶级-->
67
+ <div>
68
+ <!-- 这里的jsv-focus-block只是一个namesapce的样例,并不是必须的,
69
+ 如果你App中的焦点在一个命名空间下,这里可以用name,参考SideBar。 -->
70
+ <jsv-focus-block namespace="main"
71
+ autoFocus :onAction="getActionCallback()"
72
+ >
73
+ <MainAreaLeftBlock name="R0C0" :style="{ left: 0, top: 0 }"/>
74
+ <MainAreaLeftBlock name="R1C0" :style="{ left: 0, top: 120 }"/>
75
+ <MainAreaRightBlock name="R0C1" :style="{ left: 120, top: 0 }"/>
76
+ <MainAreaRightBlock name="R1C1" :style="{ left: 120, top: 120 }"/>
77
+ </jsv-focus-block>
78
+ </div>
79
+ </template>
80
+
81
+ <style scoped>
82
+ .title {
83
+ text-align: center;
84
+ font-size: 30px;
85
+ line-height: 50px;
86
+ color: #ffffff;
87
+ left: 100;
88
+ top: 50;
89
+ width: 400;
90
+ height: 50;
91
+ background-color: rgba(27,38,151,0.8);
92
+ }
93
+
94
+ .body {
95
+ left: 100;
96
+ top: 120;
97
+ }
98
98
  </style>
@@ -1,21 +1,21 @@
1
- <script lang="ts">
2
- import { Options, Vue } from "vue-class-component";
3
- import BaseBlock from "./BaseBlock.vue"
4
-
5
- @Options({
6
- props: {
7
- name: String,
8
- style: { type:Object, default: {}}
9
- },
10
- components: {
11
- BaseBlock
12
- }
13
- })
14
- export default
15
- class MainAreaLeftBlock extends Vue {
16
- }
17
- </script>
18
-
19
- <template>
20
- <BaseBlock :name="$props.name" :style="$props.style"/>
1
+ <script lang="ts">
2
+ import { Options, Vue } from "vue-class-component";
3
+ import BaseBlock from "./BaseBlock.vue"
4
+
5
+ @Options({
6
+ props: {
7
+ name: String,
8
+ style: { type:Object, default: {}}
9
+ },
10
+ components: {
11
+ BaseBlock
12
+ }
13
+ })
14
+ export default
15
+ class MainAreaLeftBlock extends Vue {
16
+ }
17
+ </script>
18
+
19
+ <template>
20
+ <BaseBlock :name="$props.name" :style="$props.style"/>
21
21
  </template>
@@ -1,30 +1,30 @@
1
- <script lang="ts">
2
- import { JsvFocusEvent } from "jsview/utils/JsViewEngineWidget";
3
- import { Options, Vue } from "vue-class-component";
4
- import BaseBlock from "./BaseBlock.vue"
5
-
6
- @Options({
7
- props: {
8
- name: String,
9
- style: { type:Object, default: {}},
10
- },
11
- components: {
12
- BaseBlock
13
- }
14
- })
15
- export default
16
- class MainAreaRightBlock extends Vue {
17
- onKeyDown(ev: JsvFocusEvent) {
18
- if (ev.keyCode === 39) { // Right key
19
- (this.$root as any).changeFocusInDemoSpace('sideBarR0C0');
20
- return true;
21
- }
22
- return false;
23
- }
24
- }
25
- </script>
26
-
27
- <template>
28
- <BaseBlock :name="$props.name" :style="$props.style"
29
- :onKeyDown="onKeyDown"/>
1
+ <script lang="ts">
2
+ import { JsvFocusEvent } from "jsview/utils/JsViewEngineWidget";
3
+ import { Options, Vue } from "vue-class-component";
4
+ import BaseBlock from "./BaseBlock.vue"
5
+
6
+ @Options({
7
+ props: {
8
+ name: String,
9
+ style: { type:Object, default: {}},
10
+ },
11
+ components: {
12
+ BaseBlock
13
+ }
14
+ })
15
+ export default
16
+ class MainAreaRightBlock extends Vue {
17
+ onKeyDown(ev: JsvFocusEvent) {
18
+ if (ev.keyCode === 39) { // Right key
19
+ (this.$root as any).changeFocusInDemoSpace('sideBarR0C0');
20
+ return true;
21
+ }
22
+ return false;
23
+ }
24
+ }
25
+ </script>
26
+
27
+ <template>
28
+ <BaseBlock :name="$props.name" :style="$props.style"
29
+ :onKeyDown="onKeyDown"/>
30
30
  </template>
@@ -1,73 +1,73 @@
1
- <script lang="ts">
2
- import { JsvFocusEvent } from "jsview/utils/JsViewEngineWidget";
3
- import { Options, Vue } from "vue-class-component";
4
- // import { globalStore } from "../GlobalStore"
5
- import SideBarBlock from "./SideBarBlock.vue"
6
-
7
- @Options({
8
- components: {
9
- SideBarBlock,
10
- }
11
- })
12
- export default
13
- class SideBar extends Vue {
14
- constructor(props: object) {
15
- super(props);
16
- }
17
-
18
- private onKeyDown(ev: JsvFocusEvent) {
19
- // console.warn("xxxx", globalStore.focusBaseName)
20
- // 子节点未处理的按键事件会流向此节点
21
- let keyUsed = true;
22
- switch (ev.keyCode) {
23
- case 38: // Up
24
- this.focusRow = 0;
25
- break;
26
- case 40: // Down
27
- this.focusRow = 1;
28
- break;
29
- default:
30
- keyUsed = false;
31
- }
32
-
33
- if (keyUsed) {
34
- // 焦点与之前相同时也可以重复调用,焦点管理系统内容有是否变更的判断处理
35
- const name = `sideBarR${this.focusRow}C0`;
36
- ev.ownerNode.findBlockByName(name)?.requestFocus();
37
- }
38
-
39
- return keyUsed;
40
- }
41
-
42
- private focusRow: number = 0;
43
- }
44
- </script>
45
-
46
- <template>
47
- <div>
48
- <!--jsv-focus-block是非可描画节点,所以如果想接收style等属性,不要放在顶级-->
49
- <jsv-focus-block :onKeyDown="onKeyDown">
50
- <SideBarBlock name="sideBarR0C0" :style="{ left: 0, top: 0 }" />
51
- <SideBarBlock name="sideBarR1C0" :style="{ left: 0, top: 120 }" />
52
- </jsv-focus-block>
53
- </div>
54
- </template>
55
-
56
- <style scoped>
57
- .title {
58
- text-align: center;
59
- font-size: 30px;
60
- line-height: 50px;
61
- color: #ffffff;
62
- left: 100;
63
- top: 50;
64
- width: 400;
65
- height: 50;
66
- background-color: rgba(27,38,151,0.8);
67
- }
68
-
69
- .body {
70
- left: 100;
71
- top: 120;
72
- }
1
+ <script lang="ts">
2
+ import { JsvFocusEvent } from "jsview/utils/JsViewEngineWidget";
3
+ import { Options, Vue } from "vue-class-component";
4
+ // import { globalStore } from "../GlobalStore"
5
+ import SideBarBlock from "./SideBarBlock.vue"
6
+
7
+ @Options({
8
+ components: {
9
+ SideBarBlock,
10
+ }
11
+ })
12
+ export default
13
+ class SideBar extends Vue {
14
+ constructor(props: object) {
15
+ super(props);
16
+ }
17
+
18
+ private onKeyDown(ev: JsvFocusEvent) {
19
+ // console.warn("xxxx", globalStore.focusBaseName)
20
+ // 子节点未处理的按键事件会流向此节点
21
+ let keyUsed = true;
22
+ switch (ev.keyCode) {
23
+ case 38: // Up
24
+ this.focusRow = 0;
25
+ break;
26
+ case 40: // Down
27
+ this.focusRow = 1;
28
+ break;
29
+ default:
30
+ keyUsed = false;
31
+ }
32
+
33
+ if (keyUsed) {
34
+ // 焦点与之前相同时也可以重复调用,焦点管理系统内容有是否变更的判断处理
35
+ const name = `sideBarR${this.focusRow}C0`;
36
+ ev.ownerNode.findBlockByName(name)?.requestFocus();
37
+ }
38
+
39
+ return keyUsed;
40
+ }
41
+
42
+ private focusRow: number = 0;
43
+ }
44
+ </script>
45
+
46
+ <template>
47
+ <div>
48
+ <!--jsv-focus-block是非可描画节点,所以如果想接收style等属性,不要放在顶级-->
49
+ <jsv-focus-block :onKeyDown="onKeyDown">
50
+ <SideBarBlock name="sideBarR0C0" :style="{ left: 0, top: 0 }" />
51
+ <SideBarBlock name="sideBarR1C0" :style="{ left: 0, top: 120 }" />
52
+ </jsv-focus-block>
53
+ </div>
54
+ </template>
55
+
56
+ <style scoped>
57
+ .title {
58
+ text-align: center;
59
+ font-size: 30px;
60
+ line-height: 50px;
61
+ color: #ffffff;
62
+ left: 100;
63
+ top: 50;
64
+ width: 400;
65
+ height: 50;
66
+ background-color: rgba(27,38,151,0.8);
67
+ }
68
+
69
+ .body {
70
+ left: 100;
71
+ top: 120;
72
+ }
73
73
  </style>
@@ -1,30 +1,30 @@
1
- <script lang="ts">
2
- import { JsvFocusEvent } from "jsview/utils/JsViewEngineWidget";
3
- import { Options, Vue } from "vue-class-component";
4
- import BaseBlock from "./BaseBlock.vue"
5
-
6
- @Options({
7
- props: {
8
- name: String,
9
- style: { type:Object, default: {}},
10
- },
11
- components: {
12
- BaseBlock
13
- }
14
- })
15
- export default
16
- class SideBarBlock extends Vue {
17
- onKeyDown(ev: JsvFocusEvent) {
18
- if (ev.keyCode === 37) { // Left key
19
- (this.$root as any).changeFocusInDemoSpace('main');
20
- return true;
21
- }
22
- return false;
23
- }
24
- }
25
- </script>
26
-
27
- <template>
28
- <BaseBlock :name="$props.name" :style="$props.style"
29
- :onKeyDown="onKeyDown"/>
1
+ <script lang="ts">
2
+ import { JsvFocusEvent } from "jsview/utils/JsViewEngineWidget";
3
+ import { Options, Vue } from "vue-class-component";
4
+ import BaseBlock from "./BaseBlock.vue"
5
+
6
+ @Options({
7
+ props: {
8
+ name: String,
9
+ style: { type:Object, default: {}},
10
+ },
11
+ components: {
12
+ BaseBlock
13
+ }
14
+ })
15
+ export default
16
+ class SideBarBlock extends Vue {
17
+ onKeyDown(ev: JsvFocusEvent) {
18
+ if (ev.keyCode === 37) { // Left key
19
+ (this.$root as any).changeFocusInDemoSpace('main');
20
+ return true;
21
+ }
22
+ return false;
23
+ }
24
+ }
25
+ </script>
26
+
27
+ <template>
28
+ <BaseBlock :name="$props.name" :style="$props.style"
29
+ :onKeyDown="onKeyDown"/>
30
30
  </template>