@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,60 +1,60 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-09-27 13:50:40
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2021-09-28 14:38:05
6
- * @Description: file content
7
- -->
8
- <script>
9
- import {
10
- VERTICAL,
11
- SimpleWidget,
12
- } from "jsview/utils/JsViewEngineWidget";
13
- import Block from "./Block.vue";
14
-
15
- export default {
16
- components: {
17
- Block,
18
- SimpleWidget,
19
- },
20
- props: {
21
- data: Object,
22
- name: String,
23
- },
24
- setup() {
25
- let measures = () => {
26
- return {
27
- width: 800,
28
- height: 200,
29
- focusable: true,
30
- hasSub: false,
31
- };
32
- };
33
- return {
34
- direction: VERTICAL,
35
- measures,
36
- };
37
- },
38
- };
39
- </script>
40
-
41
- <template>
42
- <simple-widget
43
- :name="name"
44
- :width="800"
45
- :height="600"
46
- :direction="direction"
47
- :data="data"
48
- :measures="measures"
49
- >
50
- <template #renderItem="{ data, query, onEdge, onAction }">
51
- <block
52
- :name="name + '/block_' + query.id"
53
- :data="data"
54
- :query="query"
55
- :onEdge="onEdge"
56
- :onAction="onAction"
57
- />
58
- </template>
59
- </simple-widget>
1
+ <!--
2
+ * @Author: ChenChanghua
3
+ * @Date: 2021-09-27 13:50:40
4
+ * @LastEditors: ChenChanghua
5
+ * @LastEditTime: 2021-09-28 14:38:05
6
+ * @Description: file content
7
+ -->
8
+ <script>
9
+ import {
10
+ VERTICAL,
11
+ SimpleWidget,
12
+ } from "jsview/utils/JsViewEngineWidget";
13
+ import Block from "./Block.vue";
14
+
15
+ export default {
16
+ components: {
17
+ Block,
18
+ SimpleWidget,
19
+ },
20
+ props: {
21
+ data: Object,
22
+ name: String,
23
+ },
24
+ setup() {
25
+ let measures = () => {
26
+ return {
27
+ width: 800,
28
+ height: 200,
29
+ focusable: true,
30
+ hasSub: false,
31
+ };
32
+ };
33
+ return {
34
+ direction: VERTICAL,
35
+ measures,
36
+ };
37
+ },
38
+ };
39
+ </script>
40
+
41
+ <template>
42
+ <simple-widget
43
+ :name="name"
44
+ :width="800"
45
+ :height="600"
46
+ :direction="direction"
47
+ :data="data"
48
+ :measures="measures"
49
+ >
50
+ <template #renderItem="{ data, query, onEdge, onAction }">
51
+ <block
52
+ :name="name + '/block_' + query.id"
53
+ :data="data"
54
+ :query="query"
55
+ :onEdge="onEdge"
56
+ :onAction="onAction"
57
+ />
58
+ </template>
59
+ </simple-widget>
60
60
  </template>
@@ -1,103 +1,103 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-09-27 13:49:54
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2021-10-15 10:53:13
6
- * @Description: file content
7
- -->
8
- <script>
9
- import borderImg from "../assets/nine_patch_focus.png";
10
-
11
- export default {
12
- props: {
13
- data: Object,
14
- query: Object,
15
- onEdge: Function,
16
- onAction: Object,
17
- },
18
- computed: {
19
- imgClass() {
20
- return this.focused ? "focus" : "blur";
21
- },
22
- },
23
- setup(props) {
24
- let borderStyle = {
25
- borderImage: `url(${borderImg}) 40 fill`,
26
- borderImageOutset: "28px 28px 28px 28px",
27
- borderImageWidth: "40px",
28
- width: 89,
29
- height: 121,
30
- };
31
- let imageStyle = {
32
- backgroundImage: props.data.content.url,
33
- width: 89,
34
- height: 121,
35
- borderRadius: "8px 8px 8px 8px",
36
- };
37
- return {
38
- borderImg,
39
- borderStyle,
40
- imageStyle,
41
- };
42
- },
43
- data() {
44
- return {
45
- focused: false,
46
- };
47
- },
48
- methods: {
49
- onFocus() {
50
- this.focused = true;
51
- },
52
- onBlur() {
53
- this.focused = false;
54
- },
55
- onClick() {},
56
- },
57
- created() {
58
- this.onAction.register("onFocus", this.onFocus);
59
- this.onAction.register("onBlur", this.onBlur);
60
- this.onAction.register("onClick", this.onClick);
61
- },
62
- };
63
- </script>
64
-
65
- <template>
66
- <div :class="imgClass">
67
- <div :style="imageStyle" />
68
- <div v-if="focused" :style="borderStyle" />
69
- </div>
70
- <div class="text">
71
- {{ this.data.content.title }}
72
- </div>
73
- </template>
74
-
75
- <style scoped>
76
- .focus {
77
- width: 89px;
78
- height: 121px;
79
- transform: scale3d(1.05, 1.05, 1);
80
- border-radius: 8px 8px 8px 8px;
81
- transition: transform 0.25s linear;
82
- }
83
-
84
- .blur {
85
- width: 89px;
86
- height: 121px;
87
- transform: scale3d(1, 1, 1);
88
- border-radius: 8px 8px 8px 8px;
89
- transition: transform 0.25s linear;
90
- }
91
-
92
- .text {
93
- top: 121px;
94
- width: 89px;
95
- height: 25px;
96
- color: #ffffff;
97
- font-size: 12px;
98
- line-height: 25px;
99
- overflow: hidden;
100
- text-overflow: ellipsis;
101
- white-space: nowrap;
102
- }
1
+ <!--
2
+ * @Author: ChenChanghua
3
+ * @Date: 2021-09-27 13:49:54
4
+ * @LastEditors: ChenChanghua
5
+ * @LastEditTime: 2021-10-15 10:53:13
6
+ * @Description: file content
7
+ -->
8
+ <script>
9
+ import borderImg from "../assets/nine_patch_focus.png";
10
+
11
+ export default {
12
+ props: {
13
+ data: Object,
14
+ query: Object,
15
+ onEdge: Function,
16
+ onAction: Object,
17
+ },
18
+ computed: {
19
+ imgClass() {
20
+ return this.focused ? "focus" : "blur";
21
+ },
22
+ },
23
+ setup(props) {
24
+ let borderStyle = {
25
+ borderImage: `url(${borderImg}) 40 fill`,
26
+ borderImageOutset: "28px 28px 28px 28px",
27
+ borderImageWidth: "40px",
28
+ width: 89,
29
+ height: 121,
30
+ };
31
+ let imageStyle = {
32
+ backgroundImage: props.data.content.url,
33
+ width: 89,
34
+ height: 121,
35
+ borderRadius: "8px 8px 8px 8px",
36
+ };
37
+ return {
38
+ borderImg,
39
+ borderStyle,
40
+ imageStyle,
41
+ };
42
+ },
43
+ data() {
44
+ return {
45
+ focused: false,
46
+ };
47
+ },
48
+ methods: {
49
+ onFocus() {
50
+ this.focused = true;
51
+ },
52
+ onBlur() {
53
+ this.focused = false;
54
+ },
55
+ onClick() {},
56
+ },
57
+ created() {
58
+ this.onAction.register("onFocus", this.onFocus);
59
+ this.onAction.register("onBlur", this.onBlur);
60
+ this.onAction.register("onClick", this.onClick);
61
+ },
62
+ };
63
+ </script>
64
+
65
+ <template>
66
+ <div :class="imgClass">
67
+ <div :style="imageStyle" />
68
+ <div v-if="focused" :style="borderStyle" />
69
+ </div>
70
+ <div class="text">
71
+ {{ this.data.content.title }}
72
+ </div>
73
+ </template>
74
+
75
+ <style scoped>
76
+ .focus {
77
+ width: 89px;
78
+ height: 121px;
79
+ transform: scale3d(1.05, 1.05, 1);
80
+ border-radius: 8px 8px 8px 8px;
81
+ transition: transform 0.25s linear;
82
+ }
83
+
84
+ .blur {
85
+ width: 89px;
86
+ height: 121px;
87
+ transform: scale3d(1, 1, 1);
88
+ border-radius: 8px 8px 8px 8px;
89
+ transition: transform 0.25s linear;
90
+ }
91
+
92
+ .text {
93
+ top: 121px;
94
+ width: 89px;
95
+ height: 25px;
96
+ color: #ffffff;
97
+ font-size: 12px;
98
+ line-height: 25px;
99
+ overflow: hidden;
100
+ text-overflow: ellipsis;
101
+ white-space: nowrap;
102
+ }
103
103
  </style>
@@ -1,72 +1,72 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-09-28 16:02:50
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2021-09-28 16:22:24
6
- * @Description: file content
7
- -->
8
- <!--
9
- * @Author: ChenChanghua
10
- * @Date: 2021-09-27 13:49:54
11
- * @LastEditors: ChenChanghua
12
- * @LastEditTime: 2021-09-28 15:42:49
13
- * @Description: file content
14
- -->
15
- <script>
16
- export default {
17
- props: {
18
- data: Object,
19
- query: Object,
20
- onEdge: Function,
21
- onAction: Object,
22
- },
23
- computed: {
24
- bgStyle() {
25
- return {
26
- width: 280,
27
- height: 40,
28
- backgroundColor: this.isFocus ? "#06a7ff" : "#575d8d",
29
- };
30
- },
31
- },
32
- data() {
33
- return {
34
- isFocus: false,
35
- };
36
- },
37
- methods: {
38
- onFocus() {
39
- this.isFocus = true;
40
- },
41
- onBlur() {
42
- this.isFocus = false;
43
- },
44
- onClick() {},
45
- },
46
- created() {
47
- this.onAction.register("onFocus", this.onFocus);
48
- this.onAction.register("onBlur", this.onBlur);
49
- this.onAction.register("onClick", this.onClick);
50
- },
51
- };
52
- </script>
53
-
54
- <template>
55
- <div :style="bgStyle">
56
- <div class="text">
57
- {{ data.title }}
58
- </div>
59
- </div>
60
- </template>
61
-
62
- <style scoped>
63
- .text {
64
- width: 280px;
65
- height: 40px;
66
- color: #ececec;
67
- font-size: 12px;
68
- line-height: 40px;
69
- white-space: nowrap;
70
- text-align: left;
71
- }
1
+ <!--
2
+ * @Author: ChenChanghua
3
+ * @Date: 2021-09-28 16:02:50
4
+ * @LastEditors: ChenChanghua
5
+ * @LastEditTime: 2021-09-28 16:22:24
6
+ * @Description: file content
7
+ -->
8
+ <!--
9
+ * @Author: ChenChanghua
10
+ * @Date: 2021-09-27 13:49:54
11
+ * @LastEditors: ChenChanghua
12
+ * @LastEditTime: 2021-09-28 15:42:49
13
+ * @Description: file content
14
+ -->
15
+ <script>
16
+ export default {
17
+ props: {
18
+ data: Object,
19
+ query: Object,
20
+ onEdge: Function,
21
+ onAction: Object,
22
+ },
23
+ computed: {
24
+ bgStyle() {
25
+ return {
26
+ width: 280,
27
+ height: 40,
28
+ backgroundColor: this.isFocus ? "#06a7ff" : "#575d8d",
29
+ };
30
+ },
31
+ },
32
+ data() {
33
+ return {
34
+ isFocus: false,
35
+ };
36
+ },
37
+ methods: {
38
+ onFocus() {
39
+ this.isFocus = true;
40
+ },
41
+ onBlur() {
42
+ this.isFocus = false;
43
+ },
44
+ onClick() {},
45
+ },
46
+ created() {
47
+ this.onAction.register("onFocus", this.onFocus);
48
+ this.onAction.register("onBlur", this.onBlur);
49
+ this.onAction.register("onClick", this.onClick);
50
+ },
51
+ };
52
+ </script>
53
+
54
+ <template>
55
+ <div :style="bgStyle">
56
+ <div class="text">
57
+ {{ data.title }}
58
+ </div>
59
+ </div>
60
+ </template>
61
+
62
+ <style scoped>
63
+ .text {
64
+ width: 280px;
65
+ height: 40px;
66
+ color: #ececec;
67
+ font-size: 12px;
68
+ line-height: 40px;
69
+ white-space: nowrap;
70
+ text-align: left;
71
+ }
72
72
  </style>
@@ -1,90 +1,90 @@
1
- <!--
2
- * @Author: ChenChanghua
3
- * @Date: 2021-09-27 13:49:54
4
- * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2021-10-25 09:56:36
6
- * @Description: file content
7
- -->
8
- <script>
9
- import {
10
- VERTICAL,
11
- SimpleWidget,
12
- } from "jsview/utils/JsViewEngineWidget";
13
- import MenuItem from "./MenuItem.vue";
14
-
15
- export default {
16
- components: {
17
- SimpleWidget,
18
- MenuItem,
19
- },
20
- props: {
21
- data: Array,
22
- name: String,
23
- },
24
- setup() {
25
- let measures = () => {
26
- return {
27
- width: 280,
28
- height: 50,
29
- focusable: true,
30
- hasSub: false,
31
- };
32
- };
33
- return {
34
- direction: VERTICAL,
35
- measures,
36
- };
37
- },
38
- mounted() {
39
- this.$refs.focusNode.findBlockByName(this.name).requestFocus();
40
- },
41
- };
42
- </script>
43
-
44
- <template>
45
- <div
46
- :style="{
47
- left: (1280 - 300) / 2,
48
- top: (720 - 255) / 2,
49
- width: 300,
50
- height: 255,
51
- backgroundColor: '#000000',
52
- }"
53
- >
54
- <div class="title">菜单</div>
55
- <div :style="{ left: 10, top: 45 }">
56
- <jsv-focus-block ref="focusNode">
57
- <simple-widget
58
- :name="name"
59
- :width="280"
60
- :height="200"
61
- :direction="direction"
62
- :data="data"
63
- :measures="measures"
64
- >
65
- <template #renderItem="{ data, query, onEdge, onAction }">
66
- <menu-item
67
- :data="data"
68
- :query="query"
69
- :onEdge="onEdge"
70
- :onAction="onAction"
71
- />
72
- </template>
73
- </simple-widget>
74
- </jsv-focus-block>
75
- </div>
76
- </div>
77
- </template>
78
-
79
- <style scoped>
80
- .title {
81
- top: 10px;
82
- left: 40px;
83
- width: 200px;
84
- height: 25px;
85
- color: #ffffff;
86
- font-size: 22px;
87
- white-space: nowrap;
88
- text-align: center;
89
- }
1
+ <!--
2
+ * @Author: ChenChanghua
3
+ * @Date: 2021-09-27 13:49:54
4
+ * @LastEditors: ChenChanghua
5
+ * @LastEditTime: 2021-10-25 09:56:36
6
+ * @Description: file content
7
+ -->
8
+ <script>
9
+ import {
10
+ VERTICAL,
11
+ SimpleWidget,
12
+ } from "jsview/utils/JsViewEngineWidget";
13
+ import MenuItem from "./MenuItem.vue";
14
+
15
+ export default {
16
+ components: {
17
+ SimpleWidget,
18
+ MenuItem,
19
+ },
20
+ props: {
21
+ data: Array,
22
+ name: String,
23
+ },
24
+ setup() {
25
+ let measures = () => {
26
+ return {
27
+ width: 280,
28
+ height: 50,
29
+ focusable: true,
30
+ hasSub: false,
31
+ };
32
+ };
33
+ return {
34
+ direction: VERTICAL,
35
+ measures,
36
+ };
37
+ },
38
+ mounted() {
39
+ this.$refs.focusNode.findBlockByName(this.name).requestFocus();
40
+ },
41
+ };
42
+ </script>
43
+
44
+ <template>
45
+ <div
46
+ :style="{
47
+ left: (1280 - 300) / 2,
48
+ top: (720 - 255) / 2,
49
+ width: 300,
50
+ height: 255,
51
+ backgroundColor: '#000000',
52
+ }"
53
+ >
54
+ <div class="title">菜单</div>
55
+ <div :style="{ left: 10, top: 45 }">
56
+ <jsv-focus-block ref="focusNode">
57
+ <simple-widget
58
+ :name="name"
59
+ :width="280"
60
+ :height="200"
61
+ :direction="direction"
62
+ :data="data"
63
+ :measures="measures"
64
+ >
65
+ <template #renderItem="{ data, query, onEdge, onAction }">
66
+ <menu-item
67
+ :data="data"
68
+ :query="query"
69
+ :onEdge="onEdge"
70
+ :onAction="onAction"
71
+ />
72
+ </template>
73
+ </simple-widget>
74
+ </jsv-focus-block>
75
+ </div>
76
+ </div>
77
+ </template>
78
+
79
+ <style scoped>
80
+ .title {
81
+ top: 10px;
82
+ left: 40px;
83
+ width: 200px;
84
+ height: 25px;
85
+ color: #ffffff;
86
+ font-size: 22px;
87
+ white-space: nowrap;
88
+ text-align: center;
89
+ }
90
90
  </style>