@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,124 +1,124 @@
1
- <script>
2
- export default {
3
- props: {
4
- initFlipped: Boolean,
5
- width: Number,
6
- height: Number,
7
- backImg: String,
8
- foreImg: String,
9
- perspective: Number,
10
- data: Object,
11
- query: Object,
12
- onEdge: Function,
13
- onAction: Object,
14
- name: String,
15
- },
16
- data() {
17
- return {
18
- flipAnim: "",
19
- flipped: this.initFlipped,
20
- focused: false,
21
- keyLocked: false,
22
- };
23
- },
24
- methods: {
25
- onFocus() {
26
- this.focused = true;
27
- this.$refs.focusNode.findBlockByName(this.name).requestFocus();
28
- },
29
- onBlur() {
30
- this.focused = false;
31
- },
32
- onClick() {},
33
- onFlipped() {
34
- this.flipped = !this.flipped;
35
- this.keyLocked = false;
36
- },
37
- onKeyDown(ev) {
38
- if (this.keyLocked) {
39
- return true;
40
- } else {
41
- if (ev.keyCode === 13) {
42
- // this.keyLocked = true;
43
- this.flipAnim = this.flipped ? "flip 1s" : "flipBack 1s";
44
- return true;
45
- }
46
- }
47
- return false;
48
- },
49
- },
50
- created() {
51
- this.onAction.register("onFocus", this.onFocus);
52
- this.onAction.register("onBlur", this.onBlur);
53
- this.onAction.register("onClick", this.onClick);
54
- },
55
- };
56
- </script>
57
- <template>
58
- <jsv-focus-block
59
- ref="focusNode"
60
- :name="name"
61
- :onAction="{
62
- onKeyDown: onKeyDown,
63
- }"
64
- >
65
- <div :style="{ width, height, perspective }">
66
- <div
67
- :style="{
68
- width,
69
- height,
70
- animation: flipAnim,
71
- transformStyle: 'preserve-3d',
72
- backgroundColor: '#FFFF00',
73
- }"
74
- :onAnimationEnd="onFlipped"
75
- >
76
- <div
77
- :style="{
78
- width,
79
- height,
80
- backgroundImage: backImg,
81
- backfaceVisibility: 'hidden',
82
- transform: flipped ? '' : 'rotate3d(0,1,0,180deg)',
83
- }"
84
- ></div>
85
- <div
86
- :style="{
87
- width,
88
- height,
89
- backgroundImage: foreImg,
90
- backfaceVisibility: 'hidden',
91
- transform: flipped ? 'rotate3d(0,1,0,-180deg)' : '',
92
- }"
93
- ></div>
94
- </div>
95
- </div>
96
- <div
97
- v-if="focused"
98
- :style="{ width: 20, height: 20, backgroundColor: '#FF0000' }"
99
- ></div>
100
- </jsv-focus-block>
101
- </template>
102
- <style>
103
- @keyframes flip {
104
- from {
105
- transform: rotate3d(0, 1, 0, 0deg);
106
- transform-origin: center center;
107
- }
108
- to {
109
- transform: rotate3d(0, 1, 0, 180deg);
110
- transform-origin: center center;
111
- }
112
- }
113
-
114
- @keyframes flipBack {
115
- from {
116
- transform: rotate3d(0, 1, 0, 0deg);
117
- transform-origin: center center;
118
- }
119
- to {
120
- transform: rotate3d(0, 1, 0, -180deg);
121
- transform-origin: center center;
122
- }
123
- }
1
+ <script>
2
+ export default {
3
+ props: {
4
+ initFlipped: Boolean,
5
+ width: Number,
6
+ height: Number,
7
+ backImg: String,
8
+ foreImg: String,
9
+ perspective: Number,
10
+ data: Object,
11
+ query: Object,
12
+ onEdge: Function,
13
+ onAction: Object,
14
+ name: String,
15
+ },
16
+ data() {
17
+ return {
18
+ flipAnim: "",
19
+ flipped: this.initFlipped,
20
+ focused: false,
21
+ keyLocked: false,
22
+ };
23
+ },
24
+ methods: {
25
+ onFocus() {
26
+ this.focused = true;
27
+ this.$refs.focusNode.findBlockByName(this.name).requestFocus();
28
+ },
29
+ onBlur() {
30
+ this.focused = false;
31
+ },
32
+ onClick() {},
33
+ onFlipped() {
34
+ this.flipped = !this.flipped;
35
+ this.keyLocked = false;
36
+ },
37
+ onKeyDown(ev) {
38
+ if (this.keyLocked) {
39
+ return true;
40
+ } else {
41
+ if (ev.keyCode === 13) {
42
+ // this.keyLocked = true;
43
+ this.flipAnim = this.flipped ? "flip 1s" : "flipBack 1s";
44
+ return true;
45
+ }
46
+ }
47
+ return false;
48
+ },
49
+ },
50
+ created() {
51
+ this.onAction.register("onFocus", this.onFocus);
52
+ this.onAction.register("onBlur", this.onBlur);
53
+ this.onAction.register("onClick", this.onClick);
54
+ },
55
+ };
56
+ </script>
57
+ <template>
58
+ <jsv-focus-block
59
+ ref="focusNode"
60
+ :name="name"
61
+ :onAction="{
62
+ onKeyDown: onKeyDown,
63
+ }"
64
+ >
65
+ <div :style="{ width, height, perspective }">
66
+ <div
67
+ :style="{
68
+ width,
69
+ height,
70
+ animation: flipAnim,
71
+ transformStyle: 'preserve-3d',
72
+ backgroundColor: '#FFFF00',
73
+ }"
74
+ :onAnimationEnd="onFlipped"
75
+ >
76
+ <div
77
+ :style="{
78
+ width,
79
+ height,
80
+ backgroundImage: backImg,
81
+ backfaceVisibility: 'hidden',
82
+ transform: flipped ? '' : 'rotate3d(0,1,0,180deg)',
83
+ }"
84
+ ></div>
85
+ <div
86
+ :style="{
87
+ width,
88
+ height,
89
+ backgroundImage: foreImg,
90
+ backfaceVisibility: 'hidden',
91
+ transform: flipped ? 'rotate3d(0,1,0,-180deg)' : '',
92
+ }"
93
+ ></div>
94
+ </div>
95
+ </div>
96
+ <div
97
+ v-if="focused"
98
+ :style="{ width: 20, height: 20, backgroundColor: '#FF0000' }"
99
+ ></div>
100
+ </jsv-focus-block>
101
+ </template>
102
+ <style>
103
+ @keyframes flip {
104
+ from {
105
+ transform: rotate3d(0, 1, 0, 0deg);
106
+ transform-origin: center center;
107
+ }
108
+ to {
109
+ transform: rotate3d(0, 1, 0, 180deg);
110
+ transform-origin: center center;
111
+ }
112
+ }
113
+
114
+ @keyframes flipBack {
115
+ from {
116
+ transform: rotate3d(0, 1, 0, 0deg);
117
+ transform-origin: center center;
118
+ }
119
+ to {
120
+ transform: rotate3d(0, 1, 0, -180deg);
121
+ transform-origin: center center;
122
+ }
123
+ }
124
124
  </style>
@@ -1,13 +1,13 @@
1
- let data = [];
2
- for (let i = 0; i < 12; i++) {
3
- data.push({
4
- blocks: {
5
- w: 200,
6
- h: 300
7
- },
8
- focusable: true,
9
- id: i
10
- });
11
- }
12
-
1
+ let data = [];
2
+ for (let i = 0; i < 12; i++) {
3
+ data.push({
4
+ blocks: {
5
+ w: 200,
6
+ h: 300
7
+ },
8
+ focusable: true,
9
+ id: i
10
+ });
11
+ }
12
+
13
13
  export { data }
@@ -1,91 +1,91 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-09-27 13:49:00
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2021-10-15 14:31:05
6
- * @Description: file content
7
- -->
8
- <script>
9
- import { menuData, contentData } from "./data.js";
10
- import FlowPage from "./components/FlowPage.vue";
11
- import borderImg from "./assets/nine_patch_focus.png";
12
- import MyMenu from "./components/MyMenu.vue";
13
- import { ref } from "vue";
14
-
15
- export default {
16
- components: {
17
- FlowPage,
18
- MyMenu,
19
- },
20
- setup() {
21
- let showMenu = ref(false);
22
- return {
23
- menuData,
24
- contentData,
25
- borderImg,
26
- showMenu,
27
- };
28
- },
29
- methods: {
30
- onFocus() {
31
- this.$refs.rootNode.findBlockByName("/flow").requestFocus();
32
- },
33
- onKeyDown(ev) {
34
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
35
- if (this.showMenu) {
36
- this.showMenu = false;
37
- this.$refs.rootNode.findBlockByName("/flow").requestFocus();
38
- } else {
39
- this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
40
- }
41
- return true;
42
- }
43
-
44
- switch (ev.keyCode) {
45
- case 10001:
46
- case 77:
47
- //menu key or M
48
- this.showMenu = true;
49
- //menu自动获得焦点
50
- break;
51
- case 10000:
52
- case 82:
53
- //back key or R
54
- if (this.showMenu) {
55
- this.showMenu = false;
56
- this.$refs.rootNode.findBlockByName("/flow").requestFocus();
57
- }
58
- break;
59
- }
60
- return true;
61
- },
62
- },
63
- };
64
- </script>
65
-
66
- <template>
67
- <div
68
- :style="{
69
- width: 1920,
70
- height: 1080,
71
- backgroundColor: '#123f80',
72
- }"
73
- >
74
- <div
75
- :style="{
76
- top: 50,
77
- left: 50,
78
- }"
79
- >
80
- <jsv-focus-block
81
- ref="rootNode"
82
- autoFocus
83
- :onKeyDown="onKeyDown"
84
- :onFocus="onFocus"
85
- >
86
- <flow-page name="/flow" :data="contentData" />
87
- <my-menu v-if="showMenu" :data="menuData" name="/menu" />
88
- </jsv-focus-block>
89
- </div>
90
- </div>
1
+ <!--
2
+ * @Author: ChenChanghua
3
+ * @Date: 2021-09-27 13:49:00
4
+ * @LastEditors: ChenChanghua
5
+ * @LastEditTime: 2021-10-15 14:31:05
6
+ * @Description: file content
7
+ -->
8
+ <script>
9
+ import { menuData, contentData } from "./data.js";
10
+ import FlowPage from "./components/FlowPage.vue";
11
+ import borderImg from "./assets/nine_patch_focus.png";
12
+ import MyMenu from "./components/MyMenu.vue";
13
+ import { ref } from "vue";
14
+
15
+ export default {
16
+ components: {
17
+ FlowPage,
18
+ MyMenu,
19
+ },
20
+ setup() {
21
+ let showMenu = ref(false);
22
+ return {
23
+ menuData,
24
+ contentData,
25
+ borderImg,
26
+ showMenu,
27
+ };
28
+ },
29
+ methods: {
30
+ onFocus() {
31
+ this.$refs.rootNode.findBlockByName("/flow").requestFocus();
32
+ },
33
+ onKeyDown(ev) {
34
+ if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
35
+ if (this.showMenu) {
36
+ this.showMenu = false;
37
+ this.$refs.rootNode.findBlockByName("/flow").requestFocus();
38
+ } else {
39
+ this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
40
+ }
41
+ return true;
42
+ }
43
+
44
+ switch (ev.keyCode) {
45
+ case 10001:
46
+ case 77:
47
+ //menu key or M
48
+ this.showMenu = true;
49
+ //menu自动获得焦点
50
+ break;
51
+ case 10000:
52
+ case 82:
53
+ //back key or R
54
+ if (this.showMenu) {
55
+ this.showMenu = false;
56
+ this.$refs.rootNode.findBlockByName("/flow").requestFocus();
57
+ }
58
+ break;
59
+ }
60
+ return true;
61
+ },
62
+ },
63
+ };
64
+ </script>
65
+
66
+ <template>
67
+ <div
68
+ :style="{
69
+ width: 1920,
70
+ height: 1080,
71
+ backgroundColor: '#123f80',
72
+ }"
73
+ >
74
+ <div
75
+ :style="{
76
+ top: 50,
77
+ left: 50,
78
+ }"
79
+ >
80
+ <jsv-focus-block
81
+ ref="rootNode"
82
+ autoFocus
83
+ :onKeyDown="onKeyDown"
84
+ :onFocus="onFocus"
85
+ >
86
+ <flow-page name="/flow" :data="contentData" />
87
+ <my-menu v-if="showMenu" :data="menuData" name="/menu" />
88
+ </jsv-focus-block>
89
+ </div>
90
+ </div>
91
91
  </template>
@@ -1,107 +1,107 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-09-27 13:49:54
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2021-10-15 11:02:22
6
- * @Description: file content
7
- -->
8
- <script>
9
- import {
10
- HORIZONTAL,
11
- SimpleWidget,
12
- SWidgetDispatcher,
13
- } from "jsview/utils/JsViewEngineWidget";
14
- import Item from "./Item.vue";
15
-
16
- export default {
17
- components: {
18
- SimpleWidget,
19
- Item,
20
- },
21
- props: {
22
- data: Object,
23
- query: Object,
24
- onEdge: Function,
25
- onAction: Object,
26
- name: String,
27
- },
28
- setup() {
29
- let measures = () => {
30
- return {
31
- width: 105,
32
- height: 162,
33
- focusable: true,
34
- hasSub: false,
35
- };
36
- };
37
- let dispatcher = new SWidgetDispatcher();
38
- return {
39
- direction: HORIZONTAL,
40
- measures,
41
- dispatcher,
42
- };
43
- },
44
- methods: {
45
- onFocus(enterRect) {
46
- if (enterRect) {
47
- const foucsInfo = {
48
- type: SWidgetDispatcher.Type.setFocusRect,
49
- data: enterRect,
50
- };
51
- this.dispatcher.dispatch(foucsInfo);
52
- }
53
- this.$refs.focusNode.findBlockByName(this.name).requestFocus();
54
- },
55
- onBlur() {
56
- },
57
- onClick() {
58
- },
59
- },
60
- created() {
61
- this.onAction.register("onFocus", this.onFocus);
62
- this.onAction.register("onBlur", this.onBlur);
63
- this.onAction.register("onClick", this.onClick);
64
- },
65
- };
66
- </script>
67
-
68
- <template>
69
- <div class="text">
70
- {{ data.title }}
71
- </div>
72
- <div :style="{ top: 50 }">
73
- <jsv-focus-block ref="focusNode">
74
- <simple-widget
75
- :name="name"
76
- :width="data.blocks.w"
77
- :height="data.blocks.h"
78
- :direction="direction"
79
- :padding="{ left: 10, top: 10 }"
80
- :data="data.data"
81
- :measures="measures"
82
- :onEdge="onEdge"
83
- :dispatcher="dispatcher"
84
- >
85
- <template #renderItem="{ data, query, onEdge, onAction }">
86
- <item
87
- :data="data"
88
- :query="query"
89
- :onEdge="onEdge"
90
- :onAction="onAction"
91
- />
92
- </template>
93
- </simple-widget>
94
- </jsv-focus-block>
95
- </div>
96
- </template>
97
-
98
-
99
- <style scoped>
100
- .text {
101
- width: 105px;
102
- height: 50px;
103
- color: #ffffff;
104
- font-size: 25px;
105
- line-height: 50px;
106
- }
1
+ <!--
2
+ * @Author: ChenChanghua
3
+ * @Date: 2021-09-27 13:49:54
4
+ * @LastEditors: ChenChanghua
5
+ * @LastEditTime: 2021-10-15 11:02:22
6
+ * @Description: file content
7
+ -->
8
+ <script>
9
+ import {
10
+ HORIZONTAL,
11
+ SimpleWidget,
12
+ SWidgetDispatcher,
13
+ } from "jsview/utils/JsViewEngineWidget";
14
+ import Item from "./Item.vue";
15
+
16
+ export default {
17
+ components: {
18
+ SimpleWidget,
19
+ Item,
20
+ },
21
+ props: {
22
+ data: Object,
23
+ query: Object,
24
+ onEdge: Function,
25
+ onAction: Object,
26
+ name: String,
27
+ },
28
+ setup() {
29
+ let measures = () => {
30
+ return {
31
+ width: 105,
32
+ height: 162,
33
+ focusable: true,
34
+ hasSub: false,
35
+ };
36
+ };
37
+ let dispatcher = new SWidgetDispatcher();
38
+ return {
39
+ direction: HORIZONTAL,
40
+ measures,
41
+ dispatcher,
42
+ };
43
+ },
44
+ methods: {
45
+ onFocus(enterRect) {
46
+ if (enterRect) {
47
+ const foucsInfo = {
48
+ type: SWidgetDispatcher.Type.setFocusRect,
49
+ data: enterRect,
50
+ };
51
+ this.dispatcher.dispatch(foucsInfo);
52
+ }
53
+ this.$refs.focusNode.findBlockByName(this.name).requestFocus();
54
+ },
55
+ onBlur() {
56
+ },
57
+ onClick() {
58
+ },
59
+ },
60
+ created() {
61
+ this.onAction.register("onFocus", this.onFocus);
62
+ this.onAction.register("onBlur", this.onBlur);
63
+ this.onAction.register("onClick", this.onClick);
64
+ },
65
+ };
66
+ </script>
67
+
68
+ <template>
69
+ <div class="text">
70
+ {{ data.title }}
71
+ </div>
72
+ <div :style="{ top: 50 }">
73
+ <jsv-focus-block ref="focusNode">
74
+ <simple-widget
75
+ :name="name"
76
+ :width="data.blocks.w"
77
+ :height="data.blocks.h"
78
+ :direction="direction"
79
+ :padding="{ left: 10, top: 10 }"
80
+ :data="data.data"
81
+ :measures="measures"
82
+ :onEdge="onEdge"
83
+ :dispatcher="dispatcher"
84
+ >
85
+ <template #renderItem="{ data, query, onEdge, onAction }">
86
+ <item
87
+ :data="data"
88
+ :query="query"
89
+ :onEdge="onEdge"
90
+ :onAction="onAction"
91
+ />
92
+ </template>
93
+ </simple-widget>
94
+ </jsv-focus-block>
95
+ </div>
96
+ </template>
97
+
98
+
99
+ <style scoped>
100
+ .text {
101
+ width: 105px;
102
+ height: 50px;
103
+ color: #ffffff;
104
+ font-size: 25px;
105
+ line-height: 50px;
106
+ }
107
107
  </style>