@shijiu/jsview-vue 0.9.246 → 0.9.254

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 (173) 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 +6 -6
  7. package/patches/node_modules/@babel/preset-env/lib/available-plugins.js +218 -218
  8. package/patches/node_modules/@vue/cli-plugin-typescript/index.js +100 -100
  9. package/patches/node_modules/@vue/cli-service/lib/commands/serve.js +395 -395
  10. package/patches/node_modules/@vue/cli-service/lib/config/app.js +272 -272
  11. package/patches/node_modules/@vue/cli-service/lib/config/assets.js +70 -70
  12. package/patches/node_modules/@vue/cli-service/lib/config/base.js +212 -212
  13. package/patches/node_modules/postcss-js/objectifier.js +90 -90
  14. package/patches/node_modules/vue-loader/dist/resolveScript.js +70 -70
  15. package/samples/AdvanceMetroWidget/App.vue +122 -122
  16. package/samples/AdvanceMetroWidget/Frame.vue +100 -100
  17. package/samples/AdvanceMetroWidget/Item.vue +57 -57
  18. package/samples/AdvanceMetroWidget/data.js +136 -136
  19. package/samples/AnimPicture/App.vue +223 -223
  20. package/samples/Basic/App.vue +128 -128
  21. package/samples/Basic/components/TitleBar.vue +28 -28
  22. package/samples/Basic/components/anim/AnimGroup.vue +67 -67
  23. package/samples/Basic/components/anim/AnimKeyframeBasic.vue +101 -101
  24. package/samples/Basic/components/anim/AnimKeyframeComposite.vue +52 -52
  25. package/samples/Basic/components/anim/AnimTransition.vue +116 -116
  26. package/samples/Basic/components/div/DivBackground.vue +14 -14
  27. package/samples/Basic/components/div/DivClip.vue +80 -80
  28. package/samples/Basic/components/div/DivCssScoped.vue +26 -26
  29. package/samples/Basic/components/div/DivCssVar.vue +49 -49
  30. package/samples/Basic/components/div/DivGroup1.vue +32 -32
  31. package/samples/Basic/components/div/DivGroup2.vue +40 -40
  32. package/samples/Basic/components/div/DivLayout.vue +11 -11
  33. package/samples/Basic/components/div/DivRadius.vue +46 -46
  34. package/samples/Basic/components/text/TextAlign.vue +47 -47
  35. package/samples/Basic/components/text/TextFontStyle.vue +57 -57
  36. package/samples/Basic/components/text/TextGroup.vue +31 -31
  37. package/samples/Basic/components/text/TextOverflow.vue +77 -77
  38. package/samples/BasicFocusControl/App.vue +124 -124
  39. package/samples/BasicFocusControl/components/BaseBlock.vue +50 -50
  40. package/samples/BasicFocusControl/components/MainArea.vue +97 -97
  41. package/samples/BasicFocusControl/components/MainAreaLeftBlock.vue +20 -20
  42. package/samples/BasicFocusControl/components/MainAreaRightBlock.vue +29 -29
  43. package/samples/BasicFocusControl/components/SideBar.vue +72 -72
  44. package/samples/BasicFocusControl/components/SideBarBlock.vue +29 -29
  45. package/samples/ClassNameDemo/App.vue +119 -119
  46. package/samples/ClassNameDemo/components/ContentItem.vue +252 -252
  47. package/samples/ClassNameDemo/components/LoadingView.vue +43 -43
  48. package/samples/ClassNameDemo/components/TitleView.vue +24 -24
  49. package/samples/ClassNameDemo/data.js +24 -24
  50. package/samples/ColorSpace/App.vue +134 -134
  51. package/samples/DemoHomepage/App.vue +31 -31
  52. package/samples/DemoHomepage/components/BodyFrame.vue +81 -81
  53. package/samples/DemoHomepage/components/Dialog.vue +93 -93
  54. package/samples/DemoHomepage/components/Item.vue +76 -76
  55. package/samples/DemoHomepage/components/TabFrame.vue +86 -86
  56. package/samples/DemoHomepage/router.js +132 -132
  57. package/samples/DemoHomepage/views/Homepage.vue +186 -186
  58. package/samples/FlipCard/App.vue +80 -80
  59. package/samples/FlipCard/FlipCard.vue +123 -123
  60. package/samples/FlipCard/data.js +12 -12
  61. package/samples/FlowMultiWidget/App.vue +90 -90
  62. package/samples/FlowMultiWidget/components/Block.vue +106 -106
  63. package/samples/FlowMultiWidget/components/FlowPage.vue +59 -59
  64. package/samples/FlowMultiWidget/components/Item.vue +102 -102
  65. package/samples/FlowMultiWidget/components/MenuItem.vue +71 -71
  66. package/samples/FlowMultiWidget/components/MyMenu.vue +89 -89
  67. package/samples/FlowMultiWidget/data.js +446 -446
  68. package/samples/HashHistory/App.vue +124 -124
  69. package/samples/HashHistory/components/HorizontalButtonList.vue +113 -113
  70. package/samples/HashHistory/components/Item.vue +73 -73
  71. package/samples/HashHistory/router.js +29 -29
  72. package/samples/HashHistory/views/BasePage.vue +18 -18
  73. package/samples/HashHistory/views/MainPage.vue +67 -67
  74. package/samples/HashHistory/views/SubPage.vue +78 -78
  75. package/samples/HashHistory/views/SubPageFirst.vue +9 -9
  76. package/samples/HashHistory/views/SubPageSecond.vue +9 -9
  77. package/samples/LongImage/App.vue +96 -96
  78. package/samples/LongImage/Button.vue +153 -153
  79. package/samples/LongImage/LongImageScroll.vue +126 -126
  80. package/samples/LongImage/Scroll.vue +15 -15
  81. package/samples/LongText/App.vue +111 -111
  82. package/samples/LongText/Button.vue +153 -153
  83. package/samples/LongText/LongTextScroll.vue +224 -224
  84. package/samples/LongText/Scroll.vue +15 -15
  85. package/samples/Preload/App.vue +145 -145
  86. package/samples/Preload/data.js +22 -22
  87. package/samples/Preload/preloadItem.vue +21 -21
  88. package/samples/QrcodeDemo/App.vue +72 -72
  89. package/samples/SimpleWidgetDemo/App.vue +203 -203
  90. package/samples/SimpleWidgetDemo/Item.vue +82 -82
  91. package/samples/SimpleWidgetDemo/components/ContentItem.vue +411 -411
  92. package/samples/SimpleWidgetDemo/components/MyTab.vue +116 -116
  93. package/samples/SimpleWidgetDemo/data.js +110 -110
  94. package/samples/SprayView/App.vue +269 -269
  95. package/samples/SpriteImage/App.vue +174 -174
  96. package/samples/SpriteImage/images/egg_break.json +116 -116
  97. package/samples/TextBox/App.vue +178 -178
  98. package/samples/TextBox/RenderCenter.vue +108 -108
  99. package/samples/TextBox/RenderLeft.vue +108 -108
  100. package/samples/TextBox/RenderOneLine.vue +119 -119
  101. package/samples/TextBox/RenderRight.vue +106 -106
  102. package/samples/TextShadowDemo/App.vue +97 -97
  103. package/samples/TextureSize/App.vue +141 -141
  104. package/samples/ThrowMoveDemo/AccelerateDemo.vue +117 -117
  105. package/samples/ThrowMoveDemo/App.vue +113 -113
  106. package/samples/ThrowMoveDemo/LRParabolicDemo.vue +115 -115
  107. package/samples/ThrowMoveDemo/TargetDemo.vue +116 -116
  108. package/samples/ThrowMoveDemo/UDParabolicDemo.vue +121 -121
  109. package/samples/TransitPage/App.vue +40 -40
  110. package/samples/VideoDemo/App.vue +137 -137
  111. package/samples/VideoDemo/components/Button.vue +68 -68
  112. package/samples/VideoDemo/components/Controllor.vue +195 -195
  113. package/samples/VideoDemo/components/VideoFrame.vue +152 -152
  114. package/scripts/common.js +115 -92
  115. package/scripts/deploy-fast-pack.js +17 -0
  116. package/scripts/deploy-fast-publish.js +44 -0
  117. package/scripts/{git-commit-empty.js → deploy-git-commit-empty.js} +21 -21
  118. package/scripts/{pre-pack.js → deploy-prepare.js} +56 -39
  119. package/scripts/{install-local-packages.js → jsview-install-local-packages.js} +73 -73
  120. package/scripts/{post-build.js → jsview-post-build.js} +127 -127
  121. package/scripts/{post-install.js → jsview-post-install.js} +78 -78
  122. package/scripts/{run-android.js → jsview-run-android.js} +64 -64
  123. package/scripts/make-js.sh +181 -181
  124. package/utils/JsViewEngineWidget/bin/index.js +1 -1
  125. package/utils/JsViewEngineWidget/bin/package.json +11 -11
  126. package/utils/JsViewVueTools/JsvHashHistory.js +111 -111
  127. package/utils/JsViewVueTools/JsvRuntimeBridge.js +417 -417
  128. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserPreload.vue +80 -80
  129. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserQrcode.vue +147 -147
  130. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserSpray.vue +54 -54
  131. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/ApicDataBase.js +28 -28
  132. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/BrowserApic.vue +123 -123
  133. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/GifData.js +83 -83
  134. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/LoopToolBase.js +25 -25
  135. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/NormalLoopTool.js +61 -61
  136. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/PartLoopTool.js +119 -119
  137. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/Viewer.js +106 -106
  138. package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/WebpData.js +141 -141
  139. package/utils/JsViewVueWidget/BrowserDebugWidget/WidgetLoader.js +20 -20
  140. package/utils/JsViewVueWidget/JsvActorMove/ActorControlBase.js +204 -204
  141. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +63 -63
  142. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMoveControl.js +426 -426
  143. package/utils/JsViewVueWidget/JsvActorMove/index.js +12 -12
  144. package/utils/JsViewVueWidget/JsvApic/JsvApic.vue +178 -178
  145. package/utils/JsViewVueWidget/JsvApic/index.js +17 -17
  146. package/utils/JsViewVueWidget/JsvMarquee.vue +196 -196
  147. package/utils/JsViewVueWidget/JsvNinePatch.vue +76 -76
  148. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +350 -350
  149. package/utils/JsViewVueWidget/JsvPreload/index.js +21 -21
  150. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +140 -140
  151. package/utils/JsViewVueWidget/JsvQrcode/index.js +18 -18
  152. package/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue +139 -139
  153. package/utils/JsViewVueWidget/JsvSpray/index.js +14 -14
  154. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue +447 -447
  155. package/utils/JsViewVueWidget/JsvSpriteAnim/SpriteController.js +56 -56
  156. package/utils/JsViewVueWidget/JsvSpriteAnim/index.js +6 -6
  157. package/utils/JsViewVueWidget/JsvSwiper/Indicator.vue +34 -34
  158. package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +494 -494
  159. package/utils/JsViewVueWidget/JsvSwiper/index.js +9 -9
  160. package/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue +34 -34
  161. package/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue +403 -403
  162. package/utils/JsViewVueWidget/JsvSwiper3D/index.js +9 -9
  163. package/utils/JsViewVueWidget/JsvTextBox.vue +110 -110
  164. package/utils/JsViewVueWidget/JsvVideo.vue +35 -35
  165. package/vetur.config.js +5 -5
  166. package/.gitmodules +0 -6
  167. package/README.md +0 -15
  168. package/doc/IMPORT_CHANGE_LOG.txt +0 -3
  169. package/doc/about-project-postinstall.md +0 -0
  170. package/doc/git_commit.md +0 -15
  171. package/doc/test_version_up.txt +0 -1
  172. package/scripts/update-version.js +0 -32
  173. package/shijiu-jsview-vue-0.9.246.tgz +0 -0
@@ -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>