@shijiu/jsview-vue 0.9.254 → 0.9.261
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.
- package/dom/bin/package.json +11 -11
- package/dom/browser-root-style.css +21 -21
- package/loader/jsview-main.js +41 -41
- package/loader/jsview.config.default.js +37 -37
- package/loader/jsview.default.config.js +37 -37
- package/package.json +1 -5
- package/samples/AdvanceMetroWidget/App.vue +122 -122
- package/samples/AdvanceMetroWidget/Frame.vue +100 -100
- package/samples/AdvanceMetroWidget/Item.vue +57 -57
- package/samples/AdvanceMetroWidget/data.js +136 -136
- package/samples/AnimPicture/App.vue +223 -223
- package/samples/Basic/App.vue +128 -128
- package/samples/Basic/components/TitleBar.vue +28 -28
- package/samples/Basic/components/anim/AnimGroup.vue +67 -67
- package/samples/Basic/components/anim/AnimKeyframeBasic.vue +101 -101
- package/samples/Basic/components/anim/AnimKeyframeComposite.vue +52 -52
- package/samples/Basic/components/anim/AnimTransition.vue +116 -116
- package/samples/Basic/components/div/DivBackground.vue +14 -14
- package/samples/Basic/components/div/DivClip.vue +80 -80
- package/samples/Basic/components/div/DivCssScoped.vue +26 -26
- package/samples/Basic/components/div/DivCssVar.vue +49 -49
- package/samples/Basic/components/div/DivGroup1.vue +32 -32
- package/samples/Basic/components/div/DivGroup2.vue +40 -40
- package/samples/Basic/components/div/DivLayout.vue +11 -11
- package/samples/Basic/components/div/DivRadius.vue +46 -46
- package/samples/Basic/components/text/TextAlign.vue +47 -47
- package/samples/Basic/components/text/TextFontStyle.vue +57 -57
- package/samples/Basic/components/text/TextGroup.vue +31 -31
- package/samples/Basic/components/text/TextOverflow.vue +77 -77
- package/samples/BasicFocusControl/App.vue +124 -124
- package/samples/BasicFocusControl/components/BaseBlock.vue +50 -50
- package/samples/BasicFocusControl/components/MainArea.vue +97 -97
- package/samples/BasicFocusControl/components/MainAreaLeftBlock.vue +20 -20
- package/samples/BasicFocusControl/components/MainAreaRightBlock.vue +29 -29
- package/samples/BasicFocusControl/components/SideBar.vue +72 -72
- package/samples/BasicFocusControl/components/SideBarBlock.vue +29 -29
- package/samples/ClassNameDemo/App.vue +119 -119
- package/samples/ClassNameDemo/components/ContentItem.vue +252 -252
- package/samples/ClassNameDemo/components/LoadingView.vue +43 -43
- package/samples/ClassNameDemo/components/TitleView.vue +24 -24
- package/samples/ClassNameDemo/data.js +24 -24
- package/samples/ColorSpace/App.vue +134 -134
- package/samples/DemoHomepage/App.vue +31 -31
- package/samples/DemoHomepage/components/BodyFrame.vue +81 -81
- package/samples/DemoHomepage/components/Dialog.vue +93 -93
- package/samples/DemoHomepage/components/Item.vue +76 -76
- package/samples/DemoHomepage/components/TabFrame.vue +86 -86
- package/samples/DemoHomepage/router.js +132 -132
- package/samples/DemoHomepage/views/Homepage.vue +186 -186
- package/samples/FlipCard/App.vue +80 -80
- package/samples/FlipCard/FlipCard.vue +123 -123
- package/samples/FlipCard/data.js +12 -12
- package/samples/FlowMultiWidget/App.vue +90 -90
- package/samples/FlowMultiWidget/components/Block.vue +106 -106
- package/samples/FlowMultiWidget/components/FlowPage.vue +59 -59
- package/samples/FlowMultiWidget/components/Item.vue +102 -102
- package/samples/FlowMultiWidget/components/MenuItem.vue +71 -71
- package/samples/FlowMultiWidget/components/MyMenu.vue +89 -89
- package/samples/FlowMultiWidget/data.js +446 -446
- package/samples/HashHistory/App.vue +124 -124
- package/samples/HashHistory/components/HorizontalButtonList.vue +113 -113
- package/samples/HashHistory/components/Item.vue +73 -73
- package/samples/HashHistory/router.js +29 -29
- package/samples/HashHistory/views/BasePage.vue +18 -18
- package/samples/HashHistory/views/MainPage.vue +67 -67
- package/samples/HashHistory/views/SubPage.vue +78 -78
- package/samples/HashHistory/views/SubPageFirst.vue +9 -9
- package/samples/HashHistory/views/SubPageSecond.vue +9 -9
- package/samples/LongImage/App.vue +96 -96
- package/samples/LongImage/Button.vue +153 -153
- package/samples/LongImage/LongImageScroll.vue +126 -126
- package/samples/LongImage/Scroll.vue +15 -15
- package/samples/LongText/App.vue +111 -111
- package/samples/LongText/Button.vue +153 -153
- package/samples/LongText/LongTextScroll.vue +224 -224
- package/samples/LongText/Scroll.vue +15 -15
- package/samples/Preload/App.vue +145 -145
- package/samples/Preload/data.js +22 -22
- package/samples/Preload/preloadItem.vue +21 -21
- package/samples/QrcodeDemo/App.vue +72 -72
- package/samples/SimpleWidgetDemo/App.vue +203 -203
- package/samples/SimpleWidgetDemo/Item.vue +82 -82
- package/samples/SimpleWidgetDemo/components/ContentItem.vue +411 -411
- package/samples/SimpleWidgetDemo/components/MyTab.vue +116 -116
- package/samples/SimpleWidgetDemo/data.js +110 -110
- package/samples/SprayView/App.vue +269 -269
- package/samples/SpriteImage/App.vue +174 -174
- package/samples/SpriteImage/images/egg_break.json +116 -116
- package/samples/TextBox/App.vue +178 -178
- package/samples/TextBox/RenderCenter.vue +108 -108
- package/samples/TextBox/RenderLeft.vue +108 -108
- package/samples/TextBox/RenderOneLine.vue +119 -119
- package/samples/TextBox/RenderRight.vue +106 -106
- package/samples/TextShadowDemo/App.vue +97 -97
- package/samples/TextureSize/App.vue +141 -141
- package/samples/ThrowMoveDemo/AccelerateDemo.vue +117 -117
- package/samples/ThrowMoveDemo/App.vue +113 -113
- package/samples/ThrowMoveDemo/LRParabolicDemo.vue +115 -115
- package/samples/ThrowMoveDemo/TargetDemo.vue +116 -116
- package/samples/ThrowMoveDemo/UDParabolicDemo.vue +121 -121
- package/samples/TransitPage/App.vue +40 -40
- package/samples/VideoDemo/App.vue +137 -137
- package/samples/VideoDemo/components/Button.vue +68 -68
- package/samples/VideoDemo/components/Controllor.vue +195 -195
- package/samples/VideoDemo/components/VideoFrame.vue +152 -152
- package/scripts/common.js +57 -115
- package/scripts/jsview-install-local-packages.js +73 -73
- package/scripts/jsview-post-build.js +127 -127
- package/scripts/jsview-post-install.js +78 -78
- package/scripts/jsview-run-android.js +64 -64
- package/utils/JsViewEngineWidget/bin/index.js +1 -1
- package/utils/JsViewEngineWidget/bin/package.json +11 -11
- package/utils/JsViewVueTools/JsvHashHistory.js +111 -111
- package/utils/JsViewVueTools/JsvRuntimeBridge.js +417 -417
- package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserPreload.vue +80 -80
- package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserQrcode.vue +147 -147
- package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserSpray.vue +54 -54
- package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/ApicDataBase.js +28 -28
- package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/BrowserApic.vue +123 -123
- package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/GifData.js +83 -83
- package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/LoopToolBase.js +25 -25
- package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/NormalLoopTool.js +61 -61
- package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/PartLoopTool.js +119 -119
- package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/Viewer.js +106 -106
- package/utils/JsViewVueWidget/BrowserDebugWidget/JsvApic/WebpData.js +141 -141
- package/utils/JsViewVueWidget/BrowserDebugWidget/WidgetLoader.js +20 -20
- package/utils/JsViewVueWidget/JsvActorMove/ActorControlBase.js +204 -204
- package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +63 -63
- package/utils/JsViewVueWidget/JsvActorMove/JsvActorMoveControl.js +426 -426
- package/utils/JsViewVueWidget/JsvActorMove/index.js +12 -12
- package/utils/JsViewVueWidget/JsvApic/JsvApic.vue +178 -178
- package/utils/JsViewVueWidget/JsvApic/index.js +17 -17
- package/utils/JsViewVueWidget/JsvMarquee.vue +196 -196
- package/utils/JsViewVueWidget/JsvNinePatch.vue +76 -76
- package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +350 -350
- package/utils/JsViewVueWidget/JsvPreload/index.js +21 -21
- package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +140 -140
- package/utils/JsViewVueWidget/JsvQrcode/index.js +18 -18
- package/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue +139 -139
- package/utils/JsViewVueWidget/JsvSpray/index.js +14 -14
- package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue +447 -447
- package/utils/JsViewVueWidget/JsvSpriteAnim/SpriteController.js +56 -56
- package/utils/JsViewVueWidget/JsvSpriteAnim/index.js +6 -6
- package/utils/JsViewVueWidget/JsvSwiper/Indicator.vue +34 -34
- package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +494 -494
- package/utils/JsViewVueWidget/JsvSwiper/index.js +9 -9
- package/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue +34 -34
- package/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue +403 -403
- package/utils/JsViewVueWidget/JsvSwiper3D/index.js +9 -9
- package/utils/JsViewVueWidget/JsvTextBox.vue +110 -110
- package/utils/JsViewVueWidget/JsvVideo.vue +35 -35
- package/patches/node_modules/@babel/preset-env/lib/available-plugins.js +0 -219
- package/patches/node_modules/@vue/cli-plugin-typescript/index.js +0 -100
- package/patches/node_modules/@vue/cli-service/lib/commands/serve.js +0 -395
- package/patches/node_modules/@vue/cli-service/lib/config/app.js +0 -272
- package/patches/node_modules/@vue/cli-service/lib/config/assets.js +0 -70
- package/patches/node_modules/@vue/cli-service/lib/config/base.js +0 -212
- package/patches/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js +0 -2566
- package/patches/node_modules/@vue/compiler-sfc/dist/jsview-css-to-js.js +0 -274
- package/patches/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js +0 -1596
- package/patches/node_modules/postcss-js/objectifier.js +0 -90
- package/patches/node_modules/vue-loader/dist/resolveScript.js +0 -70
- package/scripts/deploy-fast-pack.js +0 -17
- package/scripts/deploy-fast-publish.js +0 -44
- package/scripts/deploy-git-commit-empty.js +0 -21
- package/scripts/deploy-prepare.js +0 -56
- package/scripts/make-js.sh +0 -181
- package/vetur.config.js +0 -5
package/dom/bin/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "jsview-dom",
|
|
3
|
-
"version": "1.0.313",
|
|
4
|
-
"description": "JsView DOM wrapper library used to get jsview support",
|
|
5
|
-
"keywords": [],
|
|
6
|
-
"author": "Donglin.lu <donglin.lu@qcast.cn>",
|
|
7
|
-
"license": "ISC",
|
|
8
|
-
"dependencies": {
|
|
9
|
-
"gifuct-js": "2.1.1"
|
|
10
|
-
}
|
|
11
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "jsview-dom",
|
|
3
|
+
"version": "1.0.313",
|
|
4
|
+
"description": "JsView DOM wrapper library used to get jsview support",
|
|
5
|
+
"keywords": [],
|
|
6
|
+
"author": "Donglin.lu <donglin.lu@qcast.cn>",
|
|
7
|
+
"license": "ISC",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"gifuct-js": "2.1.1"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
*{
|
|
2
|
-
margin:0px;
|
|
3
|
-
}
|
|
4
|
-
div{
|
|
5
|
-
position: absolute;
|
|
6
|
-
background-size: 100% 100%;
|
|
7
|
-
white-space: pre-wrap;
|
|
8
|
-
pointer-events: none;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
video {
|
|
12
|
-
position: absolute;
|
|
13
|
-
background-size: 100% 100%;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
img{
|
|
17
|
-
position: absolute;
|
|
18
|
-
pointer-events: none;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
*{
|
|
2
|
+
margin:0px;
|
|
3
|
+
}
|
|
4
|
+
div{
|
|
5
|
+
position: absolute;
|
|
6
|
+
background-size: 100% 100%;
|
|
7
|
+
white-space: pre-wrap;
|
|
8
|
+
pointer-events: none;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
video {
|
|
12
|
+
position: absolute;
|
|
13
|
+
background-size: 100% 100%;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
img{
|
|
17
|
+
position: absolute;
|
|
18
|
+
pointer-events: none;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
package/loader/jsview-main.js
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import JsViewDefConfig from "./jsview.default.config"
|
|
2
|
-
import JsViewVendorConfig from "/src/appConfig/jsview.config"
|
|
3
|
-
import { loadJsViewEnv } from './loader'
|
|
4
|
-
|
|
5
|
-
function deepMerge(target, source) {
|
|
6
|
-
const isObject = (obj) => obj && typeof obj === 'object';
|
|
7
|
-
|
|
8
|
-
if (!isObject(target) || !isObject(source)) {
|
|
9
|
-
return source;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
Object.keys(source).forEach(key => {
|
|
13
|
-
const targetValue = target[key];
|
|
14
|
-
const sourceValue = source[key];
|
|
15
|
-
|
|
16
|
-
if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
|
|
17
|
-
target[key] = targetValue.concat(sourceValue);
|
|
18
|
-
} else if (isObject(targetValue) && isObject(sourceValue)) {
|
|
19
|
-
target[key] = deepMerge(Object.assign({}, targetValue), sourceValue);
|
|
20
|
-
} else {
|
|
21
|
-
target[key] = sourceValue;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
return target;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function main() {
|
|
29
|
-
// 使用vendor配置值覆盖默认配置。
|
|
30
|
-
let config = JsViewDefConfig;
|
|
31
|
-
deepMerge(config, JsViewVendorConfig);
|
|
32
|
-
console.log("JsView config: " + JSON.stringify(config));
|
|
33
|
-
|
|
34
|
-
// 加载jsview运行环境。
|
|
35
|
-
loadJsViewEnv(config, () => {
|
|
36
|
-
// JsView环境加载完毕后,加载vue的main.js文件。
|
|
37
|
-
import('/src/main.ts');
|
|
38
|
-
})
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// webpack运行入口
|
|
1
|
+
import JsViewDefConfig from "./jsview.default.config"
|
|
2
|
+
import JsViewVendorConfig from "/src/appConfig/jsview.config"
|
|
3
|
+
import { loadJsViewEnv } from './loader'
|
|
4
|
+
|
|
5
|
+
function deepMerge(target, source) {
|
|
6
|
+
const isObject = (obj) => obj && typeof obj === 'object';
|
|
7
|
+
|
|
8
|
+
if (!isObject(target) || !isObject(source)) {
|
|
9
|
+
return source;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
Object.keys(source).forEach(key => {
|
|
13
|
+
const targetValue = target[key];
|
|
14
|
+
const sourceValue = source[key];
|
|
15
|
+
|
|
16
|
+
if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
|
|
17
|
+
target[key] = targetValue.concat(sourceValue);
|
|
18
|
+
} else if (isObject(targetValue) && isObject(sourceValue)) {
|
|
19
|
+
target[key] = deepMerge(Object.assign({}, targetValue), sourceValue);
|
|
20
|
+
} else {
|
|
21
|
+
target[key] = sourceValue;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
return target;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function main() {
|
|
29
|
+
// 使用vendor配置值覆盖默认配置。
|
|
30
|
+
let config = JsViewDefConfig;
|
|
31
|
+
deepMerge(config, JsViewVendorConfig);
|
|
32
|
+
console.log("JsView config: " + JSON.stringify(config));
|
|
33
|
+
|
|
34
|
+
// 加载jsview运行环境。
|
|
35
|
+
loadJsViewEnv(config, () => {
|
|
36
|
+
// JsView环境加载完毕后,加载vue的main.js文件。
|
|
37
|
+
import('/src/main.ts');
|
|
38
|
+
})
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// webpack运行入口
|
|
42
42
|
main();
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
jsviewConfig: {
|
|
3
|
-
// (可选配置)localStorage支持
|
|
4
|
-
// domain可以为任意字符串,各Domain的localStorage互相隔离, 默认值是hostname
|
|
5
|
-
// presetKeys为预置key,可以直接使用localStorage.xxx的形式,避免undefined错误
|
|
6
|
-
localStorage: {
|
|
7
|
-
domain: "default",
|
|
8
|
-
presetKeys: [
|
|
9
|
-
"value1",
|
|
10
|
-
"value2"
|
|
11
|
-
],
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
// (可选配置)填写main.js或者bundle.js相对于index.html的相对位置,
|
|
15
|
-
// 用于image/import.then的相对寻址, vue3默认值是/js/
|
|
16
|
-
jsSubPath: "/js/",
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
vendorConfig: {
|
|
20
|
-
// (可选配置)设置屏幕坐标映射值,screenWidth为屏幕画布定义的宽度,displayScale为清晰度,
|
|
21
|
-
// 默认值是画布宽度1280px, 清晰度为1.0
|
|
22
|
-
designedMap: {
|
|
23
|
-
screenWidth: 1280,
|
|
24
|
-
displayScale: 1.0
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
// (可选配置)按键接受的扩展,例如将静音按键(JAVA键值为164)映射为JS键值20001,
|
|
28
|
-
// PS:注意"164"的引号
|
|
29
|
-
bindKeys: {
|
|
30
|
-
keys: {
|
|
31
|
-
164: 20001
|
|
32
|
-
},
|
|
33
|
-
syncKeys: {
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
}
|
|
37
|
-
}
|
|
1
|
+
export default {
|
|
2
|
+
jsviewConfig: {
|
|
3
|
+
// (可选配置)localStorage支持
|
|
4
|
+
// domain可以为任意字符串,各Domain的localStorage互相隔离, 默认值是hostname
|
|
5
|
+
// presetKeys为预置key,可以直接使用localStorage.xxx的形式,避免undefined错误
|
|
6
|
+
localStorage: {
|
|
7
|
+
domain: "default",
|
|
8
|
+
presetKeys: [
|
|
9
|
+
"value1",
|
|
10
|
+
"value2"
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
// (可选配置)填写main.js或者bundle.js相对于index.html的相对位置,
|
|
15
|
+
// 用于image/import.then的相对寻址, vue3默认值是/js/
|
|
16
|
+
jsSubPath: "/js/",
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
vendorConfig: {
|
|
20
|
+
// (可选配置)设置屏幕坐标映射值,screenWidth为屏幕画布定义的宽度,displayScale为清晰度,
|
|
21
|
+
// 默认值是画布宽度1280px, 清晰度为1.0
|
|
22
|
+
designedMap: {
|
|
23
|
+
screenWidth: 1280,
|
|
24
|
+
displayScale: 1.0
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
// (可选配置)按键接受的扩展,例如将静音按键(JAVA键值为164)映射为JS键值20001,
|
|
28
|
+
// PS:注意"164"的引号
|
|
29
|
+
bindKeys: {
|
|
30
|
+
keys: {
|
|
31
|
+
164: 20001
|
|
32
|
+
},
|
|
33
|
+
syncKeys: {
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
jsviewConfig: {
|
|
3
|
-
// (可选配置)localStorage支持
|
|
4
|
-
// domain可以为任意字符串,各Domain的localStorage互相隔离, 默认值是hostname
|
|
5
|
-
// presetKeys为预置key,可以直接使用localStorage.xxx的形式,避免undefined错误
|
|
6
|
-
localStorage: {
|
|
7
|
-
domain: "default",
|
|
8
|
-
presetKeys: [
|
|
9
|
-
"value1",
|
|
10
|
-
"value2"
|
|
11
|
-
],
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
// (可选配置)填写main.js或者bundle.js相对于index.html的相对位置,
|
|
15
|
-
// 用于image/import.then的相对寻址, vue3默认值是/js/
|
|
16
|
-
jsSubPath: "/js/",
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
vendorConfig: {
|
|
20
|
-
// (可选配置)设置屏幕坐标映射值,screenWidth为屏幕画布定义的宽度,displayScale为清晰度,
|
|
21
|
-
// 默认值是画布宽度1280px, 清晰度为1.0
|
|
22
|
-
designedMap: {
|
|
23
|
-
screenWidth: 1280,
|
|
24
|
-
displayScale: 1.0
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
// (可选配置)按键接受的扩展,例如将静音按键(JAVA键值为164)映射为JS键值20001,
|
|
28
|
-
// PS:注意"164"的引号
|
|
29
|
-
bindKeys: {
|
|
30
|
-
keys: {
|
|
31
|
-
164: 20001
|
|
32
|
-
},
|
|
33
|
-
syncKeys: {
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
}
|
|
37
|
-
}
|
|
1
|
+
export default {
|
|
2
|
+
jsviewConfig: {
|
|
3
|
+
// (可选配置)localStorage支持
|
|
4
|
+
// domain可以为任意字符串,各Domain的localStorage互相隔离, 默认值是hostname
|
|
5
|
+
// presetKeys为预置key,可以直接使用localStorage.xxx的形式,避免undefined错误
|
|
6
|
+
localStorage: {
|
|
7
|
+
domain: "default",
|
|
8
|
+
presetKeys: [
|
|
9
|
+
"value1",
|
|
10
|
+
"value2"
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
// (可选配置)填写main.js或者bundle.js相对于index.html的相对位置,
|
|
15
|
+
// 用于image/import.then的相对寻址, vue3默认值是/js/
|
|
16
|
+
jsSubPath: "/js/",
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
vendorConfig: {
|
|
20
|
+
// (可选配置)设置屏幕坐标映射值,screenWidth为屏幕画布定义的宽度,displayScale为清晰度,
|
|
21
|
+
// 默认值是画布宽度1280px, 清晰度为1.0
|
|
22
|
+
designedMap: {
|
|
23
|
+
screenWidth: 1280,
|
|
24
|
+
displayScale: 1.0
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
// (可选配置)按键接受的扩展,例如将静音按键(JAVA键值为164)映射为JS键值20001,
|
|
28
|
+
// PS:注意"164"的引号
|
|
29
|
+
bindKeys: {
|
|
30
|
+
keys: {
|
|
31
|
+
164: 20001
|
|
32
|
+
},
|
|
33
|
+
syncKeys: {
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
}
|
|
37
|
+
}
|
package/package.json
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shijiu/jsview-vue",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.261",
|
|
4
4
|
"bin": {
|
|
5
5
|
"jsview-post-build": "./scripts/jsview-post-build.js",
|
|
6
6
|
"jsview-post-install": "./scripts/jsview-post-install.js",
|
|
7
7
|
"jsview-install-local-packages": "./scripts/jsview-install-local-packages.js"
|
|
8
8
|
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"fast-publish": "node ./scripts/deploy-fast-publish.js",
|
|
11
|
-
"fast-pack": "node ./scripts/deploy-fast-pack.js"
|
|
12
|
-
},
|
|
13
9
|
"repository": "system/jsview-vue",
|
|
14
10
|
"bugs": "http://gitlab.qcast.cn/system/jsview-vue/issues",
|
|
15
11
|
"keywords": [
|
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
* 【界面概述】
|
|
3
|
-
* 展示SimpleWidget控件的嵌套用法
|
|
4
|
-
*
|
|
5
|
-
* 【控件介绍】
|
|
6
|
-
* SimpleWidget:见simpleMetroWidget
|
|
7
|
-
* SWidgetDispatcher:向SimpleWidget分发消息的对象,用于设置SimpleWidget内部状态
|
|
8
|
-
* 成员函数:
|
|
9
|
-
* dispatch
|
|
10
|
-
* @params msg {obj} 消息体,{type: SWidgetDispatcher.Type, data: 数据}
|
|
11
|
-
* SWidgetDispatcher.Type: 消息的类型
|
|
12
|
-
* "setFocusId": Focus时初始的焦点id data为int
|
|
13
|
-
* "setFocusRect": Focus时距离某区域最近的item获得焦点 data为{type:EdgeDirection, rect:{x:0, y:0, widht:0, height:0}}
|
|
14
|
-
* "updateItem": 重新描画某个item data为int
|
|
15
|
-
* "slideToItem": 界面移到某个item处 data为int
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* 【技巧说明】
|
|
19
|
-
* Q: 如何实现嵌套?
|
|
20
|
-
* A: 当SimpleWidget的measure回调返回值中hasSub为true时,该item的renderItem就可以返回可获得焦点的控件
|
|
21
|
-
*
|
|
22
|
-
* Q: 如何实现焦点的就近切换?
|
|
23
|
-
* A: 通过dispatcher向将要获得焦点的控件发送setFocusRect消息。
|
|
24
|
-
-->
|
|
25
|
-
|
|
26
|
-
<script>
|
|
27
|
-
import { frameData, itemData } from "./data";
|
|
28
|
-
import {
|
|
29
|
-
HORIZONTAL,
|
|
30
|
-
SimpleWidget,
|
|
31
|
-
} from "jsview/utils/JsViewEngineWidget";
|
|
32
|
-
import Frame from "./Frame.vue";
|
|
33
|
-
|
|
34
|
-
const measures = (item) => {
|
|
35
|
-
return {
|
|
36
|
-
width: item.blocks.w,
|
|
37
|
-
height: item.blocks.h,
|
|
38
|
-
focusable: item.focusable,
|
|
39
|
-
hasSub: item.hasSub,
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
export default {
|
|
43
|
-
components: { SimpleWidget, Frame },
|
|
44
|
-
setup() {
|
|
45
|
-
return {
|
|
46
|
-
measures,
|
|
47
|
-
name: "/advanceMetroWidget",
|
|
48
|
-
direction: HORIZONTAL,
|
|
49
|
-
frameData,
|
|
50
|
-
itemData,
|
|
51
|
-
};
|
|
52
|
-
},
|
|
53
|
-
methods: {
|
|
54
|
-
onKeyDown(ev) {
|
|
55
|
-
// 8:Backspace, 27:Escape, 10000:盒子返回键
|
|
56
|
-
if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
|
|
57
|
-
this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
return false;
|
|
61
|
-
},
|
|
62
|
-
onFocus() {
|
|
63
|
-
this.$refs.focusNode.findBlockByName("/advanceMetroWidget").requestFocus();
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
data() {
|
|
68
|
-
return {};
|
|
69
|
-
},
|
|
70
|
-
mounted() {},
|
|
71
|
-
};
|
|
72
|
-
</script>
|
|
73
|
-
|
|
74
|
-
<template>
|
|
75
|
-
<div class="rootSize">
|
|
76
|
-
<jsv-focus-block
|
|
77
|
-
autoFocus
|
|
78
|
-
ref="focusNode"
|
|
79
|
-
:onAction="{
|
|
80
|
-
onKeyDown: onKeyDown,
|
|
81
|
-
onFocus: onFocus,
|
|
82
|
-
}"
|
|
83
|
-
>
|
|
84
|
-
<simple-widget
|
|
85
|
-
:name="name"
|
|
86
|
-
:data="frameData"
|
|
87
|
-
:width="680"
|
|
88
|
-
:height="680"
|
|
89
|
-
:direction="direction"
|
|
90
|
-
:measures="measures"
|
|
91
|
-
>
|
|
92
|
-
<template #renderItem="{ data, query, onEdge, onAction }">
|
|
93
|
-
<frame
|
|
94
|
-
:name="name + '/frame_' + query.id"
|
|
95
|
-
:data="data"
|
|
96
|
-
:itemData="itemData"
|
|
97
|
-
:query="query"
|
|
98
|
-
:onEdge="onEdge"
|
|
99
|
-
:onAction="onAction"
|
|
100
|
-
/>
|
|
101
|
-
</template>
|
|
102
|
-
</simple-widget>
|
|
103
|
-
</jsv-focus-block>
|
|
104
|
-
</div>
|
|
105
|
-
</template>
|
|
106
|
-
|
|
107
|
-
<style scoped>
|
|
108
|
-
.rootSize {
|
|
109
|
-
width: 1920;
|
|
110
|
-
height: 1080;
|
|
111
|
-
background-color: #334c4c;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.widgetPos {
|
|
115
|
-
top: 120;
|
|
116
|
-
left: 50;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.focusPos {
|
|
120
|
-
top: 10;
|
|
121
|
-
left: 10;
|
|
122
|
-
}
|
|
1
|
+
<!--
|
|
2
|
+
* 【界面概述】
|
|
3
|
+
* 展示SimpleWidget控件的嵌套用法
|
|
4
|
+
*
|
|
5
|
+
* 【控件介绍】
|
|
6
|
+
* SimpleWidget:见simpleMetroWidget
|
|
7
|
+
* SWidgetDispatcher:向SimpleWidget分发消息的对象,用于设置SimpleWidget内部状态
|
|
8
|
+
* 成员函数:
|
|
9
|
+
* dispatch
|
|
10
|
+
* @params msg {obj} 消息体,{type: SWidgetDispatcher.Type, data: 数据}
|
|
11
|
+
* SWidgetDispatcher.Type: 消息的类型
|
|
12
|
+
* "setFocusId": Focus时初始的焦点id data为int
|
|
13
|
+
* "setFocusRect": Focus时距离某区域最近的item获得焦点 data为{type:EdgeDirection, rect:{x:0, y:0, widht:0, height:0}}
|
|
14
|
+
* "updateItem": 重新描画某个item data为int
|
|
15
|
+
* "slideToItem": 界面移到某个item处 data为int
|
|
16
|
+
*
|
|
17
|
+
*
|
|
18
|
+
* 【技巧说明】
|
|
19
|
+
* Q: 如何实现嵌套?
|
|
20
|
+
* A: 当SimpleWidget的measure回调返回值中hasSub为true时,该item的renderItem就可以返回可获得焦点的控件
|
|
21
|
+
*
|
|
22
|
+
* Q: 如何实现焦点的就近切换?
|
|
23
|
+
* A: 通过dispatcher向将要获得焦点的控件发送setFocusRect消息。
|
|
24
|
+
-->
|
|
25
|
+
|
|
26
|
+
<script>
|
|
27
|
+
import { frameData, itemData } from "./data";
|
|
28
|
+
import {
|
|
29
|
+
HORIZONTAL,
|
|
30
|
+
SimpleWidget,
|
|
31
|
+
} from "jsview/utils/JsViewEngineWidget";
|
|
32
|
+
import Frame from "./Frame.vue";
|
|
33
|
+
|
|
34
|
+
const measures = (item) => {
|
|
35
|
+
return {
|
|
36
|
+
width: item.blocks.w,
|
|
37
|
+
height: item.blocks.h,
|
|
38
|
+
focusable: item.focusable,
|
|
39
|
+
hasSub: item.hasSub,
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export default {
|
|
43
|
+
components: { SimpleWidget, Frame },
|
|
44
|
+
setup() {
|
|
45
|
+
return {
|
|
46
|
+
measures,
|
|
47
|
+
name: "/advanceMetroWidget",
|
|
48
|
+
direction: HORIZONTAL,
|
|
49
|
+
frameData,
|
|
50
|
+
itemData,
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
methods: {
|
|
54
|
+
onKeyDown(ev) {
|
|
55
|
+
// 8:Backspace, 27:Escape, 10000:盒子返回键
|
|
56
|
+
if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
|
|
57
|
+
this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
},
|
|
62
|
+
onFocus() {
|
|
63
|
+
this.$refs.focusNode.findBlockByName("/advanceMetroWidget").requestFocus();
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
data() {
|
|
68
|
+
return {};
|
|
69
|
+
},
|
|
70
|
+
mounted() {},
|
|
71
|
+
};
|
|
72
|
+
</script>
|
|
73
|
+
|
|
74
|
+
<template>
|
|
75
|
+
<div class="rootSize">
|
|
76
|
+
<jsv-focus-block
|
|
77
|
+
autoFocus
|
|
78
|
+
ref="focusNode"
|
|
79
|
+
:onAction="{
|
|
80
|
+
onKeyDown: onKeyDown,
|
|
81
|
+
onFocus: onFocus,
|
|
82
|
+
}"
|
|
83
|
+
>
|
|
84
|
+
<simple-widget
|
|
85
|
+
:name="name"
|
|
86
|
+
:data="frameData"
|
|
87
|
+
:width="680"
|
|
88
|
+
:height="680"
|
|
89
|
+
:direction="direction"
|
|
90
|
+
:measures="measures"
|
|
91
|
+
>
|
|
92
|
+
<template #renderItem="{ data, query, onEdge, onAction }">
|
|
93
|
+
<frame
|
|
94
|
+
:name="name + '/frame_' + query.id"
|
|
95
|
+
:data="data"
|
|
96
|
+
:itemData="itemData"
|
|
97
|
+
:query="query"
|
|
98
|
+
:onEdge="onEdge"
|
|
99
|
+
:onAction="onAction"
|
|
100
|
+
/>
|
|
101
|
+
</template>
|
|
102
|
+
</simple-widget>
|
|
103
|
+
</jsv-focus-block>
|
|
104
|
+
</div>
|
|
105
|
+
</template>
|
|
106
|
+
|
|
107
|
+
<style scoped>
|
|
108
|
+
.rootSize {
|
|
109
|
+
width: 1920;
|
|
110
|
+
height: 1080;
|
|
111
|
+
background-color: #334c4c;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.widgetPos {
|
|
115
|
+
top: 120;
|
|
116
|
+
left: 50;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.focusPos {
|
|
120
|
+
top: 10;
|
|
121
|
+
left: 10;
|
|
122
|
+
}
|
|
123
123
|
</style>
|