@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,179 +1,179 @@
1
- <!--
2
- * 【界面概述】
3
- * 展示文字垂直对齐方式显示控件的用法
4
- *
5
- * 【控件介绍】
6
- *
7
- * JsvTextBox:Vue高阶组件,文字的垂直对齐方式显示控件
8
- * props说明:
9
- * verticalAlign {string} 垂直对齐方式 (必需) top、middle、bottom
10
- * stylesList {array} 布局样式(必需),数组中可包含样式对象或者JsvStyleClass,或者JsvTextStyleClass对象,
11
- * 样式对象内容为{left:0, top:0, width:xxx, height:xxx},
12
- * 布局样式为数组中所有样式的合并。
13
- * styleToken {string} 类似于vue html元素的key,当style变化时,由使用者改变此Token通知hoc进行style重新识别。
14
- * Token不变的场景,props变化不会引起render,以提高渲染性能
15
- *
16
- * 【技巧说明】
17
- * Q: 如何实现文字居中对齐方式显示?
18
- * A: verticalAlign属性设置为middle
19
- *
20
- * Q: 如何触发控件重绘?
21
- * A: 1. 变更styleToken属性,将触发控件重新解析styles并重绘
22
- * 2. 变更文字内容,将触发控件重绘,但不会重新解析styles
23
- -->
24
-
25
- <script lang="ts">
26
- import { Options, Vue } from "vue-class-component";
27
- import RenderLeft from "./RenderLeft.vue";
28
- import RenderRight from "./RenderRight.vue";
29
- import RenderCenter from "./RenderCenter.vue";
30
- import RenderOneLine from "./RenderOneLine.vue";
31
- import {
32
- JsvTextStyleClass,
33
- JsvStyleClass,
34
- } from "jsview/utils/JsViewVueTools/JsvStyleClass.js";
35
-
36
- @Options({
37
- components: {
38
- RenderLeft,
39
- RenderRight,
40
- RenderCenter,
41
- RenderOneLine,
42
- },
43
- })
44
- export default class App extends Vue {
45
- constructor(props: any) {
46
- super(props);
47
- }
48
-
49
- private offsetX: any = 0;
50
- private offsetY: any = 0;
51
- private onLineText = "abcdefghigk";
52
- private text: any = `静夜思 --唐李白
53
- 床前明月光,疑是地上霜;
54
- 举头望明月,低头思故乡。`;
55
- private text_latex: String = `静夜思 --唐李白
56
- 床前\\textcolor{#FF0000}{明月光},疑是地上霜;
57
- 举头\\textcolor{#0000FF}{望明月},低头思故乡。`;
58
- private sLayoutSet: any = new JsvStyleClass({
59
- width: 400,
60
- height: 300,
61
- backgroundColor: "rgba(255,255,0,0.5)",
62
- });
63
- private sFontSetLeft40Top: any = new JsvTextStyleClass({
64
- fontSize: "30px", // 测试 30 和 '30px' 两种写法的兼容性
65
- textAlign: "left",
66
- lineHeight: "40px",
67
- });
68
- private sFontSetLeft40Center: any = new JsvTextStyleClass({
69
- fontSize: "30px", // 测试 30 和 '30px' 两种写法的兼容性
70
- textAlign: "left",
71
- lineHeight: "40px",
72
- });
73
- private sFontSetLeft40Bottom: any = new JsvTextStyleClass({
74
- fontSize: "30px",
75
- textAlign: "left",
76
- lineHeight: "40px",
77
- });
78
- private sFontSetLeft80: any = new JsvTextStyleClass({
79
- fontSize: "30px",
80
- textAlign: "left",
81
- lineHeight: "80px",
82
- });
83
- private sFontSetCenter40: any = new JsvTextStyleClass({
84
- fontSize: "30px",
85
- textAlign: "center",
86
- lineHeight: "40px",
87
- });
88
- private sFontSetCenter80: any = new JsvTextStyleClass({
89
- fontSize: "30px",
90
- textAlign: "center",
91
- lineHeight: "80px",
92
- });
93
- private sFontSetRight40: any = new JsvTextStyleClass({
94
- fontSize: "30px",
95
- textAlign: "right",
96
- lineHeight: "80px",
97
- });
98
- private sFontSetRight80: any = new JsvTextStyleClass({
99
- fontSize: "30px",
100
- textAlign: "right",
101
- lineHeight: "80px",
102
- });
103
- private sStyleToken: String = "v1.0";
104
- private rootRef: any = null;
105
- private moveCount: any = 0;
106
-
107
- onKeyDown(ev: any) {
108
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
109
- this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
110
- return true;
111
- }
112
- switch (ev.keyCode) {
113
- case 37:
114
- this.offsetX += 30;
115
- this.moveCount++;
116
- break;
117
- case 39:
118
- this.offsetX -= 30;
119
- this.moveCount++;
120
- break;
121
- case 38:
122
- this.offsetY += 30;
123
- this.moveCount++;
124
- break;
125
- case 40:
126
- this.offsetY -= 30;
127
- this.moveCount++;
128
- break;
129
- }
130
- return true;
131
- }
132
- onFocus() {
133
- console.log("TextBox getFocus");
134
- }
135
- onBlur() {
136
- console.log("TextBox loseFocus");
137
- }
138
- }
139
- </script>
140
-
141
- <template>
142
- <jsv-focus-block
143
- autoFocus
144
- :onAction="{
145
- onKeyDown: onKeyDown,
146
- onFocus: onFocus,
147
- onBlur: onBlur,
148
- }"
149
- >
150
- <div :style="{ top: offsetY, left: offsetX }">
151
- <RenderLeft
152
- :text="text"
153
- :moveCount="moveCount"
154
- :sStyleToken="sStyleToken"
155
- :sLayoutSet="sLayoutSet"
156
- :sFontSetLeft40Top="sFontSetLeft40Top"
157
- :sFontSetLeft40Center="sFontSetLeft40Center"
158
- :sFontSetLeft40Bottom="sFontSetLeft40Bottom"
159
- :sFontSetLeft80="sFontSetLeft80"
160
- />
161
- <RenderRight
162
- :text="text"
163
- :sStyleToken="sStyleToken"
164
- :sLayoutSet="sLayoutSet"
165
- :sFontSetRight40="sFontSetRight40"
166
- :sFontSetRight80="sFontSetRight80"
167
- />
168
- <RenderCenter
169
- :text="text"
170
- :text_latex="text_latex"
171
- :sStyleToken="sStyleToken"
172
- :sLayoutSet="sLayoutSet"
173
- :sFontSetCenter40="sFontSetCenter40"
174
- :sFontSetCenter80="sFontSetCenter80"
175
- />
176
- <RenderOneLine :text="onLineText" :sStyleToken="sStyleToken" />
177
- </div>
178
- </jsv-focus-block>
1
+ <!--
2
+ * 【界面概述】
3
+ * 展示文字垂直对齐方式显示控件的用法
4
+ *
5
+ * 【控件介绍】
6
+ *
7
+ * JsvTextBox:Vue高阶组件,文字的垂直对齐方式显示控件
8
+ * props说明:
9
+ * verticalAlign {string} 垂直对齐方式 (必需) top、middle、bottom
10
+ * stylesList {array} 布局样式(必需),数组中可包含样式对象或者JsvStyleClass,或者JsvTextStyleClass对象,
11
+ * 样式对象内容为{left:0, top:0, width:xxx, height:xxx},
12
+ * 布局样式为数组中所有样式的合并。
13
+ * styleToken {string} 类似于vue html元素的key,当style变化时,由使用者改变此Token通知hoc进行style重新识别。
14
+ * Token不变的场景,props变化不会引起render,以提高渲染性能
15
+ *
16
+ * 【技巧说明】
17
+ * Q: 如何实现文字居中对齐方式显示?
18
+ * A: verticalAlign属性设置为middle
19
+ *
20
+ * Q: 如何触发控件重绘?
21
+ * A: 1. 变更styleToken属性,将触发控件重新解析styles并重绘
22
+ * 2. 变更文字内容,将触发控件重绘,但不会重新解析styles
23
+ -->
24
+
25
+ <script lang="ts">
26
+ import { Options, Vue } from "vue-class-component";
27
+ import RenderLeft from "./RenderLeft.vue";
28
+ import RenderRight from "./RenderRight.vue";
29
+ import RenderCenter from "./RenderCenter.vue";
30
+ import RenderOneLine from "./RenderOneLine.vue";
31
+ import {
32
+ JsvTextStyleClass,
33
+ JsvStyleClass,
34
+ } from "jsview/utils/JsViewVueTools/JsvStyleClass.js";
35
+
36
+ @Options({
37
+ components: {
38
+ RenderLeft,
39
+ RenderRight,
40
+ RenderCenter,
41
+ RenderOneLine,
42
+ },
43
+ })
44
+ export default class App extends Vue {
45
+ constructor(props: any) {
46
+ super(props);
47
+ }
48
+
49
+ private offsetX: any = 0;
50
+ private offsetY: any = 0;
51
+ private onLineText = "abcdefghigk";
52
+ private text: any = `静夜思 --唐李白
53
+ 床前明月光,疑是地上霜;
54
+ 举头望明月,低头思故乡。`;
55
+ private text_latex: String = `静夜思 --唐李白
56
+ 床前\\textcolor{#FF0000}{明月光},疑是地上霜;
57
+ 举头\\textcolor{#0000FF}{望明月},低头思故乡。`;
58
+ private sLayoutSet: any = new JsvStyleClass({
59
+ width: 400,
60
+ height: 300,
61
+ backgroundColor: "rgba(255,255,0,0.5)",
62
+ });
63
+ private sFontSetLeft40Top: any = new JsvTextStyleClass({
64
+ fontSize: "30px", // 测试 30 和 '30px' 两种写法的兼容性
65
+ textAlign: "left",
66
+ lineHeight: "40px",
67
+ });
68
+ private sFontSetLeft40Center: any = new JsvTextStyleClass({
69
+ fontSize: "30px", // 测试 30 和 '30px' 两种写法的兼容性
70
+ textAlign: "left",
71
+ lineHeight: "40px",
72
+ });
73
+ private sFontSetLeft40Bottom: any = new JsvTextStyleClass({
74
+ fontSize: "30px",
75
+ textAlign: "left",
76
+ lineHeight: "40px",
77
+ });
78
+ private sFontSetLeft80: any = new JsvTextStyleClass({
79
+ fontSize: "30px",
80
+ textAlign: "left",
81
+ lineHeight: "80px",
82
+ });
83
+ private sFontSetCenter40: any = new JsvTextStyleClass({
84
+ fontSize: "30px",
85
+ textAlign: "center",
86
+ lineHeight: "40px",
87
+ });
88
+ private sFontSetCenter80: any = new JsvTextStyleClass({
89
+ fontSize: "30px",
90
+ textAlign: "center",
91
+ lineHeight: "80px",
92
+ });
93
+ private sFontSetRight40: any = new JsvTextStyleClass({
94
+ fontSize: "30px",
95
+ textAlign: "right",
96
+ lineHeight: "80px",
97
+ });
98
+ private sFontSetRight80: any = new JsvTextStyleClass({
99
+ fontSize: "30px",
100
+ textAlign: "right",
101
+ lineHeight: "80px",
102
+ });
103
+ private sStyleToken: String = "v1.0";
104
+ private rootRef: any = null;
105
+ private moveCount: any = 0;
106
+
107
+ onKeyDown(ev: any) {
108
+ if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
109
+ this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
110
+ return true;
111
+ }
112
+ switch (ev.keyCode) {
113
+ case 37:
114
+ this.offsetX += 30;
115
+ this.moveCount++;
116
+ break;
117
+ case 39:
118
+ this.offsetX -= 30;
119
+ this.moveCount++;
120
+ break;
121
+ case 38:
122
+ this.offsetY += 30;
123
+ this.moveCount++;
124
+ break;
125
+ case 40:
126
+ this.offsetY -= 30;
127
+ this.moveCount++;
128
+ break;
129
+ }
130
+ return true;
131
+ }
132
+ onFocus() {
133
+ console.log("TextBox getFocus");
134
+ }
135
+ onBlur() {
136
+ console.log("TextBox loseFocus");
137
+ }
138
+ }
139
+ </script>
140
+
141
+ <template>
142
+ <jsv-focus-block
143
+ autoFocus
144
+ :onAction="{
145
+ onKeyDown: onKeyDown,
146
+ onFocus: onFocus,
147
+ onBlur: onBlur,
148
+ }"
149
+ >
150
+ <div :style="{ top: offsetY, left: offsetX }">
151
+ <RenderLeft
152
+ :text="text"
153
+ :moveCount="moveCount"
154
+ :sStyleToken="sStyleToken"
155
+ :sLayoutSet="sLayoutSet"
156
+ :sFontSetLeft40Top="sFontSetLeft40Top"
157
+ :sFontSetLeft40Center="sFontSetLeft40Center"
158
+ :sFontSetLeft40Bottom="sFontSetLeft40Bottom"
159
+ :sFontSetLeft80="sFontSetLeft80"
160
+ />
161
+ <RenderRight
162
+ :text="text"
163
+ :sStyleToken="sStyleToken"
164
+ :sLayoutSet="sLayoutSet"
165
+ :sFontSetRight40="sFontSetRight40"
166
+ :sFontSetRight80="sFontSetRight80"
167
+ />
168
+ <RenderCenter
169
+ :text="text"
170
+ :text_latex="text_latex"
171
+ :sStyleToken="sStyleToken"
172
+ :sLayoutSet="sLayoutSet"
173
+ :sFontSetCenter40="sFontSetCenter40"
174
+ :sFontSetCenter80="sFontSetCenter80"
175
+ />
176
+ <RenderOneLine :text="onLineText" :sStyleToken="sStyleToken" />
177
+ </div>
178
+ </jsv-focus-block>
179
179
  </template>
@@ -1,109 +1,109 @@
1
- <script>
2
- import JsvTextBox from "jsview/utils/JsViewVueWidget/JsvTextBox.vue";
3
- export default {
4
- props: {
5
- text: String,
6
- text_latex: String,
7
- sStyleToken: String,
8
- sLayoutSet: Object,
9
- sFontSetCenter40: Object,
10
- sFontSetCenter80: Object,
11
- },
12
- components: { JsvTextBox },
13
- };
14
- </script>
15
-
16
- <template>
17
- <div :style="{ top: 400 }">
18
- <div
19
- :style="{
20
- left: 0,
21
- top: -50,
22
- width: 400,
23
- height: 50,
24
- fontSize: '20px',
25
- textAlign: 'left',
26
- lineHeight: '50px',
27
- backgroundColor: '#00ff00',
28
- }"
29
- >
30
- 整体垂直向上对齐、文字水平居中显示
31
- </div>
32
- <JsvTextBox
33
- :verticalAlign="'top'"
34
- :styleToken="sStyleToken"
35
- :stylesList="[sLayoutSet, sFontSetCenter40, { left: 0, top: 0 }]"
36
- >
37
- {{ `[TC]${text}` }}
38
- </JsvTextBox>
39
- <div
40
- :style="{
41
- left: 410,
42
- top: -50,
43
- width: 400,
44
- height: 50,
45
- fontSize: '20px',
46
- textAlign: 'left',
47
- lineHeight: '50px',
48
- backgroundColor: '#00ff00',
49
- }"
50
- >
51
- 整体垂直居中对齐、文字水平居中显示
52
- </div>
53
- <JsvTextBox
54
- :verticalAlign="'middle'"
55
- :styleToken="sStyleToken"
56
- :stylesList="[sLayoutSet, sFontSetCenter40, { left: 410, top: 0 }]"
57
- :enableLatex="true"
58
- >
59
- {{ `[MC]${text_latex}` }}
60
- </JsvTextBox>
61
- <div
62
- :style="{
63
- left: 820,
64
- top: -50,
65
- width: 400,
66
- height: 50,
67
- fontSize: '20px',
68
- textAlign: 'left',
69
- lineHeight: '50px',
70
- backgroundColor: '#00ff00',
71
- }"
72
- >
73
- 整体垂直向下对齐、文字水平居中显示
74
- </div>
75
- <JsvTextBox
76
- :verticalAlign="'bottom'"
77
- :styleToken="sStyleToken"
78
- :stylesList="[sLayoutSet, sFontSetCenter40, { left: 820, top: 0 }]"
79
- >
80
- {{ `[BC]${text}` }}
81
- </JsvTextBox>
82
-
83
- <div
84
- :style="{
85
- left: 1240,
86
- top: -50,
87
- width: 500,
88
- height: 50,
89
- fontSize: '20px',
90
- textAlign: 'left',
91
- lineHeight: '50px',
92
- backgroundColor: '#00ff00',
93
- }"
94
- >
95
- 整体垂直居中对齐、文字水平居中显示、行高80px
96
- </div>
97
- <JsvTextBox
98
- :verticalAlign="'middle'"
99
- :styleToken="sStyleToken"
100
- :stylesList="[
101
- sLayoutSet,
102
- sFontSetCenter80,
103
- { left: 1240, top: 0, width: 500 },
104
- ]"
105
- >
106
- {{ `[MC]${text}` }}
107
- </JsvTextBox>
108
- </div>
1
+ <script>
2
+ import JsvTextBox from "jsview/utils/JsViewVueWidget/JsvTextBox.vue";
3
+ export default {
4
+ props: {
5
+ text: String,
6
+ text_latex: String,
7
+ sStyleToken: String,
8
+ sLayoutSet: Object,
9
+ sFontSetCenter40: Object,
10
+ sFontSetCenter80: Object,
11
+ },
12
+ components: { JsvTextBox },
13
+ };
14
+ </script>
15
+
16
+ <template>
17
+ <div :style="{ top: 400 }">
18
+ <div
19
+ :style="{
20
+ left: 0,
21
+ top: -50,
22
+ width: 400,
23
+ height: 50,
24
+ fontSize: '20px',
25
+ textAlign: 'left',
26
+ lineHeight: '50px',
27
+ backgroundColor: '#00ff00',
28
+ }"
29
+ >
30
+ 整体垂直向上对齐、文字水平居中显示
31
+ </div>
32
+ <JsvTextBox
33
+ :verticalAlign="'top'"
34
+ :styleToken="sStyleToken"
35
+ :stylesList="[sLayoutSet, sFontSetCenter40, { left: 0, top: 0 }]"
36
+ >
37
+ {{ `[TC]${text}` }}
38
+ </JsvTextBox>
39
+ <div
40
+ :style="{
41
+ left: 410,
42
+ top: -50,
43
+ width: 400,
44
+ height: 50,
45
+ fontSize: '20px',
46
+ textAlign: 'left',
47
+ lineHeight: '50px',
48
+ backgroundColor: '#00ff00',
49
+ }"
50
+ >
51
+ 整体垂直居中对齐、文字水平居中显示
52
+ </div>
53
+ <JsvTextBox
54
+ :verticalAlign="'middle'"
55
+ :styleToken="sStyleToken"
56
+ :stylesList="[sLayoutSet, sFontSetCenter40, { left: 410, top: 0 }]"
57
+ :enableLatex="true"
58
+ >
59
+ {{ `[MC]${text_latex}` }}
60
+ </JsvTextBox>
61
+ <div
62
+ :style="{
63
+ left: 820,
64
+ top: -50,
65
+ width: 400,
66
+ height: 50,
67
+ fontSize: '20px',
68
+ textAlign: 'left',
69
+ lineHeight: '50px',
70
+ backgroundColor: '#00ff00',
71
+ }"
72
+ >
73
+ 整体垂直向下对齐、文字水平居中显示
74
+ </div>
75
+ <JsvTextBox
76
+ :verticalAlign="'bottom'"
77
+ :styleToken="sStyleToken"
78
+ :stylesList="[sLayoutSet, sFontSetCenter40, { left: 820, top: 0 }]"
79
+ >
80
+ {{ `[BC]${text}` }}
81
+ </JsvTextBox>
82
+
83
+ <div
84
+ :style="{
85
+ left: 1240,
86
+ top: -50,
87
+ width: 500,
88
+ height: 50,
89
+ fontSize: '20px',
90
+ textAlign: 'left',
91
+ lineHeight: '50px',
92
+ backgroundColor: '#00ff00',
93
+ }"
94
+ >
95
+ 整体垂直居中对齐、文字水平居中显示、行高80px
96
+ </div>
97
+ <JsvTextBox
98
+ :verticalAlign="'middle'"
99
+ :styleToken="sStyleToken"
100
+ :stylesList="[
101
+ sLayoutSet,
102
+ sFontSetCenter80,
103
+ { left: 1240, top: 0, width: 500 },
104
+ ]"
105
+ >
106
+ {{ `[MC]${text}` }}
107
+ </JsvTextBox>
108
+ </div>
109
109
  </template>