@shijiu/jsview 1.9.731 → 1.9.759

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 (124) hide show
  1. package/dom/jsv-browser-debug-dom.js +12 -5
  2. package/dom/jsv-code-debug.mjs +14 -0
  3. package/dom/jsv-dom.js +12 -5
  4. package/dom/jsv-engine-js-browser.js +12 -5
  5. package/dom/jsv-forge-define.js +17 -5
  6. package/package.json +14 -17
  7. package/patches/node_modules/react-scripts/config/paths.js +161 -0
  8. package/patches/node_modules/react-scripts/config/webpack.config.js +825 -0
  9. package/patches/node_modules/react-scripts/package.json +108 -0
  10. package/patches/node_modules/vite/dist/node/chunks/dep-0fc8e132.js +8 -1
  11. package/patches/node_modules/vite/dist/node/jsview.vite.config.js +15 -7
  12. package/tools/common.js +7 -2
  13. package/tools/jsview-post-build.js +3 -3
  14. package/tools/jsview-post-install-react.js +1 -3
  15. package/tools/jsview-post-install.js +1 -1
  16. package/dom/jsview-dom/README.md +0 -5
  17. package/dom/jsview-dom/package-lock.json-perfect +0 -3898
  18. package/dom/jsview-dom/package.json +0 -23
  19. package/dom/jsview-dom/rollup/browser-debug-dom.rollup.config.js +0 -15
  20. package/dom/jsview-dom/rollup/dom.rollup.config.js +0 -14
  21. package/dom/jsview-dom/rollup/engine-js-browser.rollup.config.js +0 -14
  22. package/dom/jsview-dom/rollup/forge-define.rollup.config.js +0 -14
  23. package/dom/jsview-dom/scripts/release_dist.sh +0 -36
  24. package/dom/jsview-dom/src/dom-browser-hook/HookDocument.js +0 -118
  25. package/dom/jsview-dom/src/dom-browser-hook/OriginDocument.js +0 -19
  26. package/dom/jsview-dom/src/dom-browser-hook/StyleFormatCheck.js +0 -559
  27. package/dom/jsview-dom/src/dom-browser-hook/index.js +0 -6
  28. package/dom/jsview-dom/src/dom-wrapper/ForgeExtension.js +0 -226
  29. package/dom/jsview-dom/src/dom-wrapper/JsViewForgeApp.js +0 -85
  30. package/dom/jsview-dom/src/dom-wrapper/JsViewProxy.js +0 -51
  31. package/dom/jsview-dom/src/dom-wrapper/event/AnimationEvent.js +0 -7
  32. package/dom/jsview-dom/src/dom-wrapper/event/Event.js +0 -12
  33. package/dom/jsview-dom/src/dom-wrapper/event/FocusEvent.js +0 -9
  34. package/dom/jsview-dom/src/dom-wrapper/event/KeyboardEvent.js +0 -43
  35. package/dom/jsview-dom/src/dom-wrapper/event/LoadEvent.js +0 -8
  36. package/dom/jsview-dom/src/dom-wrapper/index.js +0 -16
  37. package/dom/jsview-dom/src/dom-wrapper/node/AnchorElement.js +0 -24
  38. package/dom/jsview-dom/src/dom-wrapper/node/AudioElement.js +0 -60
  39. package/dom/jsview-dom/src/dom-wrapper/node/Comment.js +0 -10
  40. package/dom/jsview-dom/src/dom-wrapper/node/DivElement.js +0 -498
  41. package/dom/jsview-dom/src/dom-wrapper/node/Document.js +0 -274
  42. package/dom/jsview-dom/src/dom-wrapper/node/Element.js +0 -852
  43. package/dom/jsview-dom/src/dom-wrapper/node/FDivElement.js +0 -48
  44. package/dom/jsview-dom/src/dom-wrapper/node/HeadElement.js +0 -47
  45. package/dom/jsview-dom/src/dom-wrapper/node/ImageElement.js +0 -203
  46. package/dom/jsview-dom/src/dom-wrapper/node/JsvAudioTrackElement.js +0 -22
  47. package/dom/jsview-dom/src/dom-wrapper/node/JsvElement.js +0 -40
  48. package/dom/jsview-dom/src/dom-wrapper/node/LinkElement.js +0 -48
  49. package/dom/jsview-dom/src/dom-wrapper/node/MediaElement.js +0 -230
  50. package/dom/jsview-dom/src/dom-wrapper/node/Node.js +0 -178
  51. package/dom/jsview-dom/src/dom-wrapper/node/SVGElement.js +0 -9
  52. package/dom/jsview-dom/src/dom-wrapper/node/ScriptElement.js +0 -45
  53. package/dom/jsview-dom/src/dom-wrapper/node/StyleElement.js +0 -33
  54. package/dom/jsview-dom/src/dom-wrapper/node/StyleElementCache.js +0 -41
  55. package/dom/jsview-dom/src/dom-wrapper/node/Text.js +0 -22
  56. package/dom/jsview-dom/src/dom-wrapper/node/UnknownElement.js +0 -4
  57. package/dom/jsview-dom/src/dom-wrapper/node/VideoElement.js +0 -237
  58. package/dom/jsview-dom/src/dom-wrapper/style/BorderImage.js +0 -25
  59. package/dom/jsview-dom/src/dom-wrapper/style/Inset.js +0 -26
  60. package/dom/jsview-dom/src/dom-wrapper/style/JsvStyleVariable.js +0 -65
  61. package/dom/jsview-dom/src/dom-wrapper/style/KeyframeRule.js +0 -11
  62. package/dom/jsview-dom/src/dom-wrapper/style/StyleDeclaration.js +0 -609
  63. package/dom/jsview-dom/src/dom-wrapper/style/StyleSheet.js +0 -51
  64. package/dom/jsview-dom/src/dom-wrapper/style/StyleValue.js +0 -385
  65. package/dom/jsview-dom/src/dom-wrapper/style/TextStylePackMap.js +0 -43
  66. package/dom/jsview-dom/src/dom-wrapper/style/URL.js +0 -144
  67. package/dom/jsview-dom/src/dom-wrapper/utils/EventHandler.js +0 -42
  68. package/dom/jsview-dom/src/dom-wrapper/utils/FDivRoot.js +0 -86
  69. package/dom/jsview-dom/src/dom-wrapper/utils/JsvLazySyncCache.js +0 -64
  70. package/dom/jsview-dom/src/dom-wrapper/utils/Log.js +0 -42
  71. package/dom/jsview-dom/src/dom-wrapper/utils/MutationObserver.js +0 -32
  72. package/dom/jsview-dom/src/dom-wrapper/utils/focusableNode.js +0 -715
  73. package/dom/jsview-dom/src/engine-js/ForgeDefine.js +0 -8
  74. package/dom/jsview-dom/src/engine-js/ForgeExtensionDefine.js +0 -14
  75. package/dom/jsview-dom/src/engine-js/browser/PlatformUtils.js +0 -100
  76. package/dom/jsview-dom/src/engine-js/browser/animation_base.js +0 -313
  77. package/dom/jsview-dom/src/engine-js/browser/animation_keyframe.js +0 -64
  78. package/dom/jsview-dom/src/engine-js/browser/animation_progress.js +0 -287
  79. package/dom/jsview-dom/src/engine-js/browser/animation_proxy.js +0 -906
  80. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/demux.js +0 -143
  81. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/gifDecoder.js +0 -12
  82. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/libwebp-0.6.0.min.js +0 -160
  83. package/dom/jsview-dom/src/engine-js/browser/console_log.js +0 -25
  84. package/dom/jsview-dom/src/engine-js/browser/dynamic_key_frames.js +0 -95
  85. package/dom/jsview-dom/src/engine-js/browser/easing.js +0 -114
  86. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/element_transform.js +0 -122
  87. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/gjk.js +0 -450
  88. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/mat.js +0 -102
  89. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/range_model.js +0 -296
  90. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/test_collide.js +0 -10
  91. package/dom/jsview-dom/src/engine-js/browser/index.js +0 -38
  92. package/dom/jsview-dom/src/engine-js/browser/latex_parse.js +0 -336
  93. package/dom/jsview-dom/src/engine-js/browser/layout_params.js +0 -113
  94. package/dom/jsview-dom/src/engine-js/browser/layout_view.js +0 -3545
  95. package/dom/jsview-dom/src/engine-js/browser/layout_view_debug.js +0 -15
  96. package/dom/jsview-dom/src/engine-js/browser/media.js +0 -379
  97. package/dom/jsview-dom/src/engine-js/browser/page_base.js +0 -941
  98. package/dom/jsview-dom/src/engine-js/browser/particle_view.js +0 -526
  99. package/dom/jsview-dom/src/engine-js/browser/platform_timer.js +0 -61
  100. package/dom/jsview-dom/src/engine-js/browser/react_utils.js +0 -5
  101. package/dom/jsview-dom/src/engine-js/browser/rect_utils.js +0 -91
  102. package/dom/jsview-dom/src/engine-js/browser/render_bridge.js +0 -128
  103. package/dom/jsview-dom/src/engine-js/browser/render_texture_proxy.js +0 -155
  104. package/dom/jsview-dom/src/engine-js/browser/renderer_deprecated.js +0 -75
  105. package/dom/jsview-dom/src/engine-js/browser/sound_pool.js +0 -139
  106. package/dom/jsview-dom/src/engine-js/browser/steps_animation.js +0 -192
  107. package/dom/jsview-dom/src/engine-js/browser/text_style_cache.js +0 -454
  108. package/dom/jsview-dom/src/engine-js/browser/text_utils.js +0 -299
  109. package/dom/jsview-dom/src/engine-js/browser/text_view.js +0 -428
  110. package/dom/jsview-dom/src/engine-js/browser/texture_manager.js +0 -1060
  111. package/dom/jsview-dom/src/engine-js/browser/url.js +0 -69
  112. package/dom/jsview-dom/src/engine-js/browser/velocity.js +0 -40
  113. package/dom/jsview-dom/src/engine-js/browser/view_sensor/autofroze_sensor.js +0 -77
  114. package/dom/jsview-dom/src/engine-js/browser/view_sensor/drag_impact_sensor.js +0 -67
  115. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor.js +0 -98
  116. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_callback.js +0 -21
  117. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_manager.js +0 -24
  118. package/dom/jsview-dom/src/engine-js/browser/view_sensor/index.js +0 -9
  119. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor.js +0 -268
  120. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor_manager.js +0 -84
  121. package/dom/jsview-dom/src/engine-js/browser/view_sensor/visible_sensor.js +0 -213
  122. package/dom/jsview-dom/src/engine-js/browser/view_store.js +0 -41
  123. package/dom/jsview-dom/src/engine-js/index.js +0 -2
  124. package/dom/jsview-dom/src/engine-js/native/README.md +0 -1
@@ -1,226 +0,0 @@
1
- /* eslint-disable no-extra-boolean-cast */
2
- import Forge from "../engine-js/ForgeDefine"
3
- import URL from "./style/URL"
4
- class ForgeExtension {
5
- static SetBackgroundColor(view, color, corner) {
6
- // console.log("Forge.LayoutView.setColor(). color=" + color);
7
- const colorTexture = ForgeExtension.TextureManager.GetColorTextureCached(color);
8
- let cornerMask;
9
- if (!!corner) {
10
- cornerMask = new Forge.ViewRoundCornerMask(corner.topLeft, corner.topRight,
11
- corner.bottomLeft, corner.bottomRight);
12
- }
13
- const textureSetting = new Forge.ExternalTextureSetting(colorTexture, cornerMask);
14
- view.ResetTexture(textureSetting);
15
- }
16
-
17
- static SetBackgroundImage(view, backgroundImage, corner, onLoaded, tex_scale_down, color_type, apic_autoplay) {
18
- let info = {};
19
- if (typeof (backgroundImage) === "string") {
20
- const url = new URL(backgroundImage);
21
- if ((url instanceof URL) === false) {
22
- throw Error("Bad Argument.", url)
23
- }
24
- info.url = url.href;
25
- } else if (backgroundImage?.type == 'linear-gradient') {
26
- info.gradient = backgroundImage;
27
- }
28
- // console.log("Forge.LayoutView.SetBackgroundImage(). url=", url);
29
- let imageTexture;
30
- if (info.gradient) {
31
- if (info.gradient.colors?.length > 2) {
32
- const colors = info.gradient.colors;
33
- const bothEnds = [
34
- colors[0], colors[colors.length - 1]
35
- ];
36
- const stepPoints = colors.slice(1, colors.length - 1);
37
- // console.log("ForgeExtension.SetBackgroundImage() multi color linear gradient.", info.gradient.colors);
38
- imageTexture = ForgeExtension.TextureManager.CreateLinearGradientTexture(bothEnds, stepPoints);
39
- } else if (info.gradient.colors?.length == 2) {
40
- // console.log("ForgeExtension.SetBackgroundImage() two color linear gradient.", info.gradient.colors);
41
- imageTexture = ForgeExtension.TextureManager.CreateMiniGradientTexture(true, info.gradient.colors[0], info.gradient.colors[1], info.gradient.rawValue);
42
- } else {
43
- console.warn("Failed to create backgroundImage gradient, bad colors.", info.gradient.colors)
44
- }
45
-
46
- } else if (info.url) {
47
- if (info.url.includes(".gif") || info.url.includes(".webp")) {
48
- imageTexture = ForgeExtension.TextureManager.GetGifImage(info.url, false, null, apic_autoplay);
49
- } else {
50
- imageTexture = ForgeExtension.TextureManager.GetImage2(info.url, false, tex_scale_down, color_type ? color_type : Forge.ColorSpace.RGBA_8888);
51
- }
52
- }
53
-
54
- if (imageTexture) {
55
- let cornerMask;
56
- if (!!corner) {
57
- cornerMask = new Forge.ViewRoundCornerMask(corner.topLeft, corner.topRight,
58
- corner.bottomLeft, corner.bottomRight);
59
- }
60
- const textureSetting = new Forge.ExternalTextureSetting(imageTexture, cornerMask);
61
- view.ResetTexture(textureSetting);
62
- if (!!onLoaded) {
63
- let callback_token = imageTexture.RegisterLoadImageCallback(null, function () {
64
- // console.log("Forge.LayoutView.SetBackgroundImage(). ====== onLoaded=");
65
- onLoaded({ width: imageTexture.Width, height: imageTexture.Height });
66
- });
67
- view.RegisterDetachCallback(()=>{
68
- imageTexture.UnregisterLoadImageCallback(callback_token);
69
- });
70
- }
71
- } else {
72
- // 无效的url.href制作不出 imageTexture
73
- }
74
- }
75
-
76
- static SetMaskedBackgroundImage(view, url, mask_url, url_color_type) {
77
- if (typeof (url) === "string") {
78
- url = new URL(url);
79
- }
80
- if ((url instanceof URL) === false) {
81
- throw Error("Bad Argument.", url)
82
- }
83
-
84
- if (typeof (mask_url) === "string") {
85
- mask_url = new URL(mask_url);
86
- }
87
- if ((mask_url instanceof URL) === false) {
88
- throw Error("Bad Argument(MaskURL).", mask_url)
89
- }
90
-
91
- const image_texture = ForgeExtension.TextureManager.GetImage2(url.href, false, null, url_color_type ? url_color_type : Forge.ColorSpace.RGBA_8888);
92
- if (image_texture) {
93
- const mask_texture = ForgeExtension.TextureManager.GetImage2(mask_url.href, false, null, Forge.ColorSpace.RGBA_8888);
94
- const texture_setting = new Forge.ExternalTextureSetting(image_texture, new Forge.ViewTextureMask(mask_texture));
95
- view.ResetTexture(texture_setting);
96
- } else {
97
- // 无效的imageUrl制作不出 image_texture
98
- }
99
- }
100
-
101
- static SetVideoTexture(view, color, corner) {
102
- // console.log("Forge.LayoutView.setColor(). color=" + color);
103
- const colorTexture = ForgeExtension.TextureManager.GetColorTexture(color);
104
- let cornerMask;
105
- if (!!corner) {
106
- cornerMask = new Forge.ViewRoundCornerMask(corner.topLeft, corner.topRight,
107
- corner.bottomLeft, corner.bottomRight);
108
- }
109
- const textureSetting = new Forge.TextureSetting(colorTexture, cornerMask);
110
- view.ResetTexture(textureSetting);
111
- }
112
-
113
- static GetTextWidth(textParams) {
114
- if (!textParams.str) {
115
- textParams.str = "";
116
- }
117
- if (!textParams.font) {
118
- textParams.font = Forge.TextUtils._sDefaultFont;
119
- }
120
- if (!textParams.size) {
121
- textParams.size = Forge.TextUtils._sDefaultFontSize;
122
- }
123
- if (textParams.italic !== 'italic') {
124
- textParams.italic = "";
125
- }
126
- if (textParams.bold !== 'bold') {
127
- textParams.bold = "";
128
- }
129
-
130
- return window.PlatformUtils.GetTextWidth(textParams);
131
- }
132
-
133
- static RequestSwap() {
134
- Forge.sRenderBridge.RequestSwap();
135
- }
136
-
137
- static SetImgTexSize(imgTex, imageSize) {
138
- let newTexInfo = {
139
- size: imageSize,
140
- refNum: 0,
141
- };
142
- ForgeExtension.TextureInfo.Cache[imgTex.Source] = newTexInfo;
143
- }
144
-
145
- static RefImgTexSize(imgTex, onImageLoaded) {
146
- let cachedTexInfo = ForgeExtension.TextureInfo.Cache[imgTex.Source];
147
- if (!!cachedTexInfo) {
148
- if (cachedTexInfo.refNum > 0) {
149
- cachedTexInfo.refNum++;
150
- } else {
151
- cachedTexInfo.refNum = 1;
152
- }
153
- // console.log("ForgeExtension.RefImgTexSize(). sync call onImageLoaded()");
154
- onImageLoaded(cachedTexInfo.size);
155
- } else {
156
- imgTex.RegisterLoadImageCallback(null, function () {
157
- const imageSize = {
158
- width: imgTex.Width,
159
- height: imgTex.Height,
160
- };
161
- // console.log("ForgeExtension.RefImgTexSize(). async call onImageLoaded()");
162
- onImageLoaded(imageSize);
163
-
164
- let cachedTexInfo = ForgeExtension.TextureInfo.Cache[imgTex.Source];
165
- if (!!cachedTexInfo) {
166
- if (cachedTexInfo.refNum > 0) {
167
- cachedTexInfo.refNum++;
168
- } else {
169
- cachedTexInfo.refNum = 1;
170
- }
171
- } else {
172
- let newTexInfo = {
173
- size: imageSize,
174
- refNum: 1,
175
- };
176
- ForgeExtension.TextureInfo.Cache[imgTex.Source] = newTexInfo;
177
- }
178
- });
179
- }
180
- }
181
-
182
- static UnrefImgTexSize(imgTex) {
183
- if (!imgTex) {
184
- return;
185
- }
186
-
187
- let cachedTexInfo = ForgeExtension.TextureInfo.Cache[imgTex.Source];
188
- if (!!cachedTexInfo) {
189
- cachedTexInfo.refNum--;
190
- if (cachedTexInfo.refNum <= 0) {
191
- ForgeExtension.TextureInfo.Unused.add(imgTex.Source);
192
- }
193
- // console.log("ForgeExtension.UnrefImgTexSize(). refNum=" + cachedTexInfo.refNum);
194
- }
195
- }
196
-
197
- static ClearUnusedTexSize() { // 未测试, 慎用
198
- for (let key of ForgeExtension.TextureInfo.Unused) {
199
- let item = ForgeExtension.TextureInfo.Cache[key];
200
- if (item.refNum < -2) { // 3次清除
201
- delete ForgeExtension.TextureInfo.Cache[key];
202
- ForgeExtension.TextureInfo.Unused.delete(key);
203
- // console.log("ForgeExtension.ClearUnusedTexSize().", item);
204
- continue;
205
- }
206
-
207
- if (item.refNum <= 0) {
208
- item.refNum--;
209
- } else { // 被重新使用
210
- ForgeExtension.TextureInfo.Unused.delete(key);
211
- }
212
- }
213
- }
214
- }
215
-
216
- ForgeExtension.TextureInfo = {
217
- Cache: {},
218
- Unused: new Set(),
219
- };
220
- ForgeExtension.TextureManager = null;
221
- ForgeExtension.RootView = null;
222
- ForgeExtension.RootActivity = null;
223
- ForgeExtension.HaltKeyEvent = false;
224
-
225
- export default ForgeExtension;
226
-
@@ -1,85 +0,0 @@
1
- /* eslint-disable no-extra-boolean-cast */
2
- import Forge from "../engine-js/ForgeDefine"
3
- import ForgeExtension from "./ForgeExtension"
4
- import KeyboardEvent from "./event/KeyboardEvent"
5
- import {JsvLazySyncCache} from "./utils/JsvLazySyncCache"
6
- import URL from "./style/URL"
7
-
8
- class JsViewForgeActivity {
9
- constructor(manager) {
10
- this.activity = new Forge.ReactActivity("JsViewForgeActivity", manager, this.OnKeyDown.bind(this), this.OnKeyUp.bind(this));
11
- this._Init();
12
- }
13
-
14
- _Init() {
15
- console.log("JsViewForgeActivity.OnCreate().");
16
- ForgeExtension.TextureManager = this.activity.GetTextureManager();
17
- ForgeExtension.RootView = new Forge.LayoutView();
18
- ForgeExtension.RootActivity = this.activity;
19
- document.jsvUpdateRootElement(ForgeExtension.RootView);
20
- // SetContentView
21
- let designed_map_set = null;
22
- if (Forge.DesignMap) {
23
- designed_map_set = Forge.DesignMap();
24
- }
25
- let rootWidth = (designed_map_set ? designed_map_set.width : 1280);
26
- let rootHeight = Math.floor(rootWidth * 9 / 16);
27
- this.activity.SetContentView(ForgeExtension.RootView, {x: 0, y: 0, width: rootWidth, height: rootHeight});
28
-
29
- Forge.sRenderBridge.AddWillSwapListener("forgeSwap", () => {
30
- JsvLazySyncCache.SyncAllCachedProperty();
31
- ForgeExtension.ClearUnusedTexSize();
32
- });
33
- window.JsView.Dom.Render();
34
- }
35
-
36
- OnKeyDown(ev) {
37
- if (!ForgeExtension.HaltKeyEvent) {
38
- return false;
39
- } else {
40
- let event = new KeyboardEvent(KeyboardEvent.Type.KEYDOWN);
41
- event.keyCode = ev.keyCode;
42
- event.repeat = ev.repeat;
43
- document.dispatchEvent(event);
44
- return true;
45
- }
46
- }
47
-
48
- OnKeyUp(ev) {
49
- if (!ForgeExtension.HaltKeyEvent) {
50
- return false;
51
- } else {
52
- let event = new KeyboardEvent(KeyboardEvent.Type.KEYUP);
53
- event.keyCode = ev.keyCode;
54
- event.key = KeyboardEvent.JsvGetKeyFromCode(event.keyCode);
55
- event.repeat = ev.repeat;
56
- document.dispatchEvent(event);
57
- return true;
58
- }
59
- }
60
- }
61
-
62
- class JsViewForgeApp {
63
- constructor(activity_manager) {
64
- this._ActivityManager = activity_manager;
65
- let jsvForgeActivity = new JsViewForgeActivity(activity_manager);
66
- // Register activities
67
- activity_manager.RegisterActivity(jsvForgeActivity.activity); // Home page activity
68
-
69
- // Start home page
70
- activity_manager.StartActivity(new Forge.Intent("JsViewForgeActivity"));
71
- }
72
- }
73
-
74
- if (!!window.JsView) {
75
- window.JsView.Dom = {
76
- DesignMap: null, // Deprecated
77
- Render: null,
78
- Extension:ForgeExtension,
79
- UrlRef: URL,
80
- };
81
-
82
- // Deprecated: 为了兼容已发布代码。
83
- window.JsView.React = window.JsView.Dom;
84
- }
85
- export default JsViewForgeApp;
@@ -1,51 +0,0 @@
1
- /* eslint-disable no-unused-vars */
2
- /* eslint-disable no-extra-boolean-cast */
3
- import AudioElement from "./node/AudioElement"
4
- import VideoElement from "./node/VideoElement"
5
- import MutationObserver from "./utils/MutationObserver"
6
- import Document from "./node/Document"
7
- import SVGElement from "./node/SVGElement"
8
- import Element from "./node/Element"
9
- import URL from "./style/URL"
10
-
11
- // 定义内部开发用的space
12
- window.JsvCode = {
13
- Dom: {
14
- StyleSheets: {}
15
- }
16
- };
17
-
18
- // 将接口对接到浏览器标准API
19
- window.Audio = AudioElement;
20
- window.Video = VideoElement;
21
- window.MutationObserver = MutationObserver;
22
-
23
- if (!!window.JsView) {
24
- console.log("Declare Dom Proxy.");
25
-
26
- global.SVGElement = SVGElement;
27
- global.Element = Element;
28
-
29
- let url_ref = new URL(window.JsView.getAppUrl(), true);
30
- if (window.location.applyUrlInfo) {
31
- window.location.applyUrlInfo(url_ref);
32
- } else {
33
- window.location = url_ref;
34
- }
35
-
36
- window.addEventListener = function(type, listener) {
37
- // console.log("window.addEventListener() type=" + type);
38
- }
39
-
40
- window.document = new Document();
41
-
42
- // 为了支持MemoryHistory方式的Router而添加,JsView不支持WebHistory/WebHashHistory
43
- window.history = {};
44
-
45
- window.navigator = {
46
- userAgent: "jsview-runtime"
47
- }
48
-
49
- window.HTMLIFrameElement = function() {
50
- }
51
- }
@@ -1,7 +0,0 @@
1
- import Event from "./Event"
2
- class AnimationEvent extends Event {
3
- stopPropagation() {
4
- // TODO: 目前不确定需要做什么...
5
- }
6
- }
7
- export default AnimationEvent;
@@ -1,12 +0,0 @@
1
- /* eslint-disable no-unused-vars */
2
- class Event {
3
- constructor(type) {
4
- this.target = null;
5
- this.timeStamp = Date.now();
6
- this.type = type;
7
- }
8
- initEvent(eventTypeArg, canBubbleArg, cancelableArg) {
9
- this.type = eventTypeArg;
10
- }
11
- }
12
- export default Event;
@@ -1,9 +0,0 @@
1
- import Event from "./Event"
2
- class FocusEvent extends Event {
3
- }
4
-
5
- FocusEvent.Type = {
6
- FOCUS : 'focus',
7
- BLUR : 'blur',
8
- }
9
- export default FocusEvent;
@@ -1,43 +0,0 @@
1
- import Event from "./Event"
2
- class KeyboardEvent extends Event {
3
- constructor(type) {
4
- super(type);
5
- this.keyCode = -1;
6
- this.key = -1;
7
- this.repeat = 0;
8
- }
9
-
10
- static JsvGetKeyFromCode(keyCode) {
11
- const keyMap = new Map([
12
- [KeyboardEvent.KeyCode.Enter, KeyboardEvent.Key.Enter],
13
- [KeyboardEvent.KeyCode.ArrowUp, KeyboardEvent.Key.ArrowUp],
14
- [KeyboardEvent.KeyCode.ArrowDown, KeyboardEvent.Key.ArrowDown],
15
- [KeyboardEvent.KeyCode.ArrowLeft, KeyboardEvent.Key.ArrowLeft],
16
- [KeyboardEvent.KeyCode.ArrowRight, KeyboardEvent.Key.ArrowRight],
17
- ]);
18
-
19
- return keyMap[keyCode];
20
- }
21
- }
22
-
23
- KeyboardEvent.Type = {
24
- KEYDOWN: 'keydown',
25
- KEYUP: 'keyup',
26
- }
27
-
28
- KeyboardEvent.Key = {
29
- Enter: 'Enter',
30
- ArrowUp: 'ArrowUp',
31
- ArrowDown: 'ArrowDown',
32
- ArrowLeft: 'ArrowLeft',
33
- ArrowRight: 'ArrowRight',
34
- }
35
-
36
- KeyboardEvent.KeyCode = {
37
- Enter: 13,
38
- ArrowUp: 38,
39
- ArrowDown: 40,
40
- ArrowLeft: 37,
41
- ArrowRight: 39,
42
- }
43
- export default KeyboardEvent;
@@ -1,8 +0,0 @@
1
- /* eslint-disable no-unused-vars */
2
- import Event from "./Event"
3
- class LoadEvent extends Event {
4
- constructor(type) {
5
- super("load");
6
- }
7
- }
8
- export default LoadEvent;
@@ -1,16 +0,0 @@
1
- /**
2
- * Created by luocf on 2020/1/17.
3
- */
4
- export {default as JsViewForgeApp} from "./JsViewForgeApp"
5
- export {default as Document} from "./node/Document"
6
- export {default as HeadElement} from "./node/HeadElement"
7
- export {default as ForgeExtension} from "./ForgeExtension"
8
- export {default as Log } from "./utils/Log"
9
- export * from "./utils/JsvLazySyncCache"
10
-
11
- import Log from "./utils/Log"
12
- // Log.SetLevel(Log.Level.Debug);
13
-
14
- import "./JsViewProxy"
15
-
16
- Log.I("Using JsView Runtime");
@@ -1,24 +0,0 @@
1
- import Element from "./Element"
2
-
3
- class AnchorElement extends Element {
4
- constructor() {
5
- super();
6
-
7
- console.warn("Warnig: <a> is fake in JsView system");
8
-
9
- this.href = ""
10
- this.protocol = ""
11
- this.host = ""
12
- this.search = ""
13
- this.hash = ""
14
- this.hostname = ""
15
- this.port = ""
16
- this.pathname = ""
17
- }
18
-
19
- jsvGetTagName() {
20
- return Element.TAG.ANCHOR;
21
- }
22
- }
23
-
24
- export default AnchorElement;
@@ -1,60 +0,0 @@
1
- import Element from "./Element.js";
2
- import MediaElement from "./MediaElement";
3
- import Event from "../event/Event";
4
- import Forge from "../../engine-js/ForgeDefine";
5
-
6
- class AudioElement extends MediaElement {
7
- constructor(src) {
8
- super(src);
9
- this.jsvOverrideMedia = false;
10
- console.log("AudioElement.constructor()", this);
11
- }
12
-
13
- jsvGetTagName() {
14
- return Element.TAG.AUDIO;
15
- }
16
-
17
- jsvInit() {
18
- if (!this.jsvOverrideMedia) {
19
- this.jsvMedia = new MediaElement.HOOKS.Audio();
20
- }
21
- super.jsvInit();
22
- this.jsvOnLoaded();
23
- }
24
-
25
- jsvOnLoaded() {
26
- this.jsvMediaView = new Forge.LayoutView();
27
- this.jsvMainView.AddView(this.jsvMediaView);
28
- }
29
-
30
- jsvAddMediaListener(event) {
31
- if (!this.jsvMedia) {
32
- this.jsvInit();
33
- }
34
- this.jsvMedia.addEventListener(event, () => {
35
- let ev = new Event(event);
36
- ev.target = this;
37
- this.dispatchEvent(ev);
38
- });
39
- }
40
-
41
- jsvRelease() {
42
- super.jsvRelease();
43
- this.jsvMedia = null;
44
- }
45
-
46
- setAttribute(name, value) {
47
- if (name == "data-jsv-audio-predownload") {
48
- // 启用predownload模式,先下载再使用本地文件进行播放
49
- // 解决一些平台audio无法直接播放网络文件的问题
50
- if (!this.jsvMedia) {
51
- this.jsvInit();
52
- }
53
- this.jsvMedia.predownload = true;
54
- return;
55
- }
56
-
57
- super.setAttribute(name, value);
58
- }
59
- }
60
- export default AudioElement;
@@ -1,10 +0,0 @@
1
- import Node from "./Node"
2
- class Comment extends Node {
3
- constructor(content) {
4
- // console.log("Comment.Comment() content=" + content);
5
- super(Node.COMMENT_NODE)
6
- this.textContent = content
7
- }
8
- }
9
-
10
- export default Comment