@netless/window-manager 0.4.31 → 1.0.0-canary.1
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/CHANGELOG.md +4 -0
- package/dist/App/AppProxy.d.ts +0 -1
- package/dist/BoxManager.d.ts +7 -5
- package/dist/Cursor/index.d.ts +3 -1
- package/dist/Helper.d.ts +0 -2
- package/dist/InternalEmitter.d.ts +2 -1
- package/dist/View/CameraSynchronizer.d.ts +17 -0
- package/dist/View/MainView.d.ts +4 -5
- package/dist/index.cjs.js +21 -22
- package/dist/index.d.ts +2 -3
- package/dist/index.es.js +2244 -1850
- package/dist/index.umd.js +21 -22
- package/dist/style.css +1 -1
- package/dist/typings.d.ts +2 -1
- package/docs/api.md +1 -1
- package/docs/app-context.md +127 -36
- package/docs/develop-app.md +1 -1
- package/package.json +3 -3
- package/pnpm-lock.yaml +84 -97
- package/src/App/AppContext.ts +1 -1
- package/src/App/AppProxy.ts +0 -9
- package/src/BoxManager.ts +102 -107
- package/src/Cursor/Cursor.ts +3 -3
- package/src/Cursor/index.ts +13 -7
- package/src/Helper.ts +2 -15
- package/src/InternalEmitter.ts +6 -4
- package/src/View/CameraSynchronizer.ts +67 -0
- package/src/View/MainView.ts +45 -53
- package/src/index.ts +31 -56
- package/src/typings.ts +3 -0
- package/vite.config.js +0 -1
- package/dist/ContainerResizeObserver.d.ts +0 -11
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.es.js.map +0 -1
- package/dist/index.umd.js.map +0 -1
- package/src/ContainerResizeObserver.ts +0 -73
package/pnpm-lock.yaml
CHANGED
@@ -4,7 +4,7 @@ specifiers:
|
|
4
4
|
'@juggle/resize-observer': ^3.3.1
|
5
5
|
'@netless/app-docs-viewer': ^0.2.9
|
6
6
|
'@netless/app-media-player': 0.1.0-beta.5
|
7
|
-
'@netless/telebox-insider': 0.
|
7
|
+
'@netless/telebox-insider': 1.0.0-alpha.8
|
8
8
|
'@rollup/plugin-commonjs': ^20.0.0
|
9
9
|
'@rollup/plugin-node-resolve': ^13.0.4
|
10
10
|
'@rollup/plugin-url': ^6.1.0
|
@@ -31,7 +31,7 @@ specifiers:
|
|
31
31
|
prettier-plugin-svelte: ^2.4.0
|
32
32
|
rollup-plugin-analyzer: ^4.0.0
|
33
33
|
rollup-plugin-styles: ^3.14.1
|
34
|
-
side-effect-manager: ^
|
34
|
+
side-effect-manager: ^1.1.0
|
35
35
|
svelte: ^3.42.4
|
36
36
|
typescript: ^4.5.5
|
37
37
|
uuid: ^7.0.3
|
@@ -42,11 +42,11 @@ specifiers:
|
|
42
42
|
|
43
43
|
dependencies:
|
44
44
|
'@juggle/resize-observer': registry.npmmirror.com/@juggle/resize-observer/3.3.1
|
45
|
-
'@netless/telebox-insider':
|
45
|
+
'@netless/telebox-insider': 1.0.0-alpha.8
|
46
46
|
emittery: registry.npmmirror.com/emittery/0.9.2
|
47
47
|
lodash: registry.npmmirror.com/lodash/4.17.21
|
48
48
|
p-retry: registry.npmmirror.com/p-retry/4.6.1
|
49
|
-
side-effect-manager:
|
49
|
+
side-effect-manager: 1.1.0
|
50
50
|
uuid: registry.npmmirror.com/uuid/7.0.3
|
51
51
|
video.js: registry.npmmirror.com/video.js/7.18.1
|
52
52
|
|
@@ -86,7 +86,6 @@ packages:
|
|
86
86
|
|
87
87
|
/@juggle/resize-observer/3.3.1:
|
88
88
|
resolution: {integrity: sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw==}
|
89
|
-
dev: true
|
90
89
|
|
91
90
|
/@netless/app-docs-viewer/0.2.9:
|
92
91
|
resolution: {integrity: sha512-yuhfQ02nr61polMq8s3OiIIvA85yonJwCckr/rPYCB8hm8YV9Di9cYb85fB8Wy3A3do/1UVfYHTWa6Vcge6fLw==}
|
@@ -96,10 +95,36 @@ packages:
|
|
96
95
|
vanilla-lazyload: 17.6.1
|
97
96
|
dev: true
|
98
97
|
|
98
|
+
/@netless/telebox-insider/1.0.0-alpha.8:
|
99
|
+
resolution: {integrity: sha512-GFQpS8fVwc2kSjFFg88QQObQ5P25a2eVblC/wWn6J/IF8PihO8kDs/kI9lN+KtbRJltI2Ca9g9QlQAHi7SArHw==}
|
100
|
+
dependencies:
|
101
|
+
'@juggle/resize-observer': 3.3.1
|
102
|
+
'@types/shallowequal': 1.1.1
|
103
|
+
emittery: 0.11.0
|
104
|
+
shallowequal: 1.1.0
|
105
|
+
side-effect-manager: 1.1.0
|
106
|
+
stylefire: 7.0.3
|
107
|
+
value-enhancer: 1.2.1
|
108
|
+
dev: false
|
109
|
+
|
99
110
|
/@polka/url/1.0.0-next.21:
|
100
111
|
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
|
101
112
|
dev: true
|
102
113
|
|
114
|
+
/@popmotion/easing/1.0.2:
|
115
|
+
resolution: {integrity: sha512-IkdW0TNmRnWTeWI7aGQIVDbKXPWHVEYdGgd5ZR4SH/Ty/61p63jCjrPxX1XrR7IGkl08bjhJROStD7j+RKgoIw==}
|
116
|
+
dev: false
|
117
|
+
|
118
|
+
/@popmotion/popcorn/0.4.4:
|
119
|
+
resolution: {integrity: sha512-jYO/8319fKoNLMlY4ZJPiPu8Ea8occYwRZhxpaNn/kZsK4QG2E7XFlXZMJBsTWDw7I1i0uaqyC4zn1nwEezLzg==}
|
120
|
+
dependencies:
|
121
|
+
'@popmotion/easing': 1.0.2
|
122
|
+
framesync: 4.1.0
|
123
|
+
hey-listen: 1.0.8
|
124
|
+
style-value-types: 3.2.0
|
125
|
+
tslib: 1.14.1
|
126
|
+
dev: false
|
127
|
+
|
103
128
|
/@tootallnate/once/2.0.0:
|
104
129
|
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
|
105
130
|
engines: {node: '>= 10'}
|
@@ -119,6 +144,10 @@ packages:
|
|
119
144
|
resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==}
|
120
145
|
dev: true
|
121
146
|
|
147
|
+
/@types/shallowequal/1.1.1:
|
148
|
+
resolution: {integrity: sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==}
|
149
|
+
dev: false
|
150
|
+
|
122
151
|
/@types/yauzl/2.10.0:
|
123
152
|
resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==}
|
124
153
|
requiresBuild: true
|
@@ -299,6 +328,11 @@ packages:
|
|
299
328
|
webidl-conversions: 7.0.0
|
300
329
|
dev: true
|
301
330
|
|
331
|
+
/emittery/0.11.0:
|
332
|
+
resolution: {integrity: sha512-S/7tzL6v5i+4iJd627Nhv9cLFIo5weAIlGccqJFpnBoDB8U1TF2k5tez4J/QNuxyyhWuFqHg1L84Kd3m7iXg6g==}
|
333
|
+
engines: {node: '>=12'}
|
334
|
+
dev: false
|
335
|
+
|
302
336
|
/errno/0.1.8:
|
303
337
|
resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
|
304
338
|
hasBin: true
|
@@ -558,6 +592,12 @@ packages:
|
|
558
592
|
mime-types: 2.1.35
|
559
593
|
dev: true
|
560
594
|
|
595
|
+
/framesync/4.1.0:
|
596
|
+
resolution: {integrity: sha512-MmgZ4wCoeVxNbx2xp5hN/zPDCbLSKiDt4BbbslK7j/pM2lg5S0vhTNv1v8BCVb99JPIo6hXBFdwzU7Q4qcAaoQ==}
|
597
|
+
dependencies:
|
598
|
+
hey-listen: 1.0.8
|
599
|
+
dev: false
|
600
|
+
|
561
601
|
/fsevents/2.3.2:
|
562
602
|
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
|
563
603
|
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
@@ -586,6 +626,10 @@ packages:
|
|
586
626
|
function-bind: 1.1.1
|
587
627
|
dev: true
|
588
628
|
|
629
|
+
/hey-listen/1.0.8:
|
630
|
+
resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==}
|
631
|
+
dev: false
|
632
|
+
|
589
633
|
/html-encoding-sniffer/3.0.0:
|
590
634
|
resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
|
591
635
|
engines: {node: '>=12'}
|
@@ -851,6 +895,14 @@ packages:
|
|
851
895
|
xmlchars: 2.2.0
|
852
896
|
dev: true
|
853
897
|
|
898
|
+
/shallowequal/1.1.0:
|
899
|
+
resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
|
900
|
+
dev: false
|
901
|
+
|
902
|
+
/side-effect-manager/1.1.0:
|
903
|
+
resolution: {integrity: sha512-Gqy1tsBBYcKclLPIGDxMQiZJLM8CGdGg/DM3a5/8ic2x2A19rVUhVk/+Mt5RwNbpaNKmBPO/wxxzAnY2myQVTg==}
|
904
|
+
dev: false
|
905
|
+
|
854
906
|
/sirv/2.0.2:
|
855
907
|
resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==}
|
856
908
|
engines: {node: '>= 10'}
|
@@ -870,6 +922,23 @@ packages:
|
|
870
922
|
engines: {node: '>=0.10.0'}
|
871
923
|
dev: true
|
872
924
|
|
925
|
+
/style-value-types/3.2.0:
|
926
|
+
resolution: {integrity: sha512-ih0mGsrYYmVvdDi++/66O6BaQPRPRMQHoZevNNdMMcPlP/cH28Rnfsqf1UEba/Bwfuw9T8BmIMwbGdzsPwQKrQ==}
|
927
|
+
dependencies:
|
928
|
+
hey-listen: 1.0.8
|
929
|
+
tslib: 1.14.1
|
930
|
+
dev: false
|
931
|
+
|
932
|
+
/stylefire/7.0.3:
|
933
|
+
resolution: {integrity: sha512-Q0l7NSeFz/OkX+o6/7Zg3VZxSAZeQzQpYomWmIpOehFM/rJNMSLVX5fgg6Q48ut2ETNKwdhm97mPNU643EBCoQ==}
|
934
|
+
dependencies:
|
935
|
+
'@popmotion/popcorn': 0.4.4
|
936
|
+
framesync: 4.1.0
|
937
|
+
hey-listen: 1.0.8
|
938
|
+
style-value-types: 3.2.0
|
939
|
+
tslib: 1.14.1
|
940
|
+
dev: false
|
941
|
+
|
873
942
|
/supports-preserve-symlinks-flag/1.0.0:
|
874
943
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
875
944
|
engines: {node: '>= 0.4'}
|
@@ -910,6 +979,10 @@ packages:
|
|
910
979
|
punycode: 2.1.1
|
911
980
|
dev: true
|
912
981
|
|
982
|
+
/tslib/1.14.1:
|
983
|
+
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
984
|
+
dev: false
|
985
|
+
|
913
986
|
/type-check/0.3.2:
|
914
987
|
resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=}
|
915
988
|
engines: {node: '>= 0.8.0'}
|
@@ -927,6 +1000,10 @@ packages:
|
|
927
1000
|
engines: {node: '>= 4.0.0'}
|
928
1001
|
dev: true
|
929
1002
|
|
1003
|
+
/value-enhancer/1.2.1:
|
1004
|
+
resolution: {integrity: sha512-11IrGi9xmVbr3twzuaMRrdUGzhdaE4eXvT6qYZlB5VrhK5uQzSPlYOEBlsIGH+dMvkakNkWGNIbxdZi87/MWuQ==}
|
1005
|
+
dev: false
|
1006
|
+
|
930
1007
|
/vanilla-lazyload/17.6.1:
|
931
1008
|
resolution: {integrity: sha512-Jn/WpWEIe+d6UUb8hw1qDO49W8lceFLW/ucWt8pdRcQvoQaucLtMnc9QHsm0Iz/xe4SCElEE2fyMZB8xC3e/6Q==}
|
932
1009
|
dev: true
|
@@ -1202,19 +1279,6 @@ packages:
|
|
1202
1279
|
version: 0.0.4
|
1203
1280
|
dev: true
|
1204
1281
|
|
1205
|
-
registry.npmmirror.com/@netless/telebox-insider/0.2.26:
|
1206
|
-
resolution: {integrity: sha512-HOBi9HWK0Zf0nvzfjM0V/0QmZ69ec7L/lCKMwRcfiQHxAAJ/zo9fEm468WocYFsliixWW5L7HwMN0eHb0mw7hA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@netless/telebox-insider/-/telebox-insider-0.2.26.tgz}
|
1207
|
-
name: '@netless/telebox-insider'
|
1208
|
-
version: 0.2.26
|
1209
|
-
dependencies:
|
1210
|
-
'@types/shallowequal': registry.npmmirror.com/@types/shallowequal/1.1.1
|
1211
|
-
eventemitter3: registry.npmmirror.com/eventemitter3/4.0.7
|
1212
|
-
shallowequal: registry.npmmirror.com/shallowequal/1.1.0
|
1213
|
-
side-effect-manager: registry.npmmirror.com/side-effect-manager/0.1.5
|
1214
|
-
stylefire: registry.npmmirror.com/stylefire/7.0.3
|
1215
|
-
value-enhancer: registry.npmmirror.com/value-enhancer/0.0.8
|
1216
|
-
dev: false
|
1217
|
-
|
1218
1282
|
registry.npmmirror.com/@netless/xml-js/1.6.15:
|
1219
1283
|
resolution: {integrity: sha512-e0emMs7YtDB/ATUns1SJ61R9n9nfVvwwFodoc539Qt0ScksaCLCaFWgpEbLloj9sr60ry6Xd8QFHKULFIZB6zA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@netless/xml-js/-/xml-js-1.6.15.tgz}
|
1220
1284
|
name: '@netless/xml-js'
|
@@ -1249,24 +1313,6 @@ packages:
|
|
1249
1313
|
fastq: registry.npmmirror.com/fastq/1.13.0
|
1250
1314
|
dev: true
|
1251
1315
|
|
1252
|
-
registry.npmmirror.com/@popmotion/easing/1.0.2:
|
1253
|
-
resolution: {integrity: sha512-IkdW0TNmRnWTeWI7aGQIVDbKXPWHVEYdGgd5ZR4SH/Ty/61p63jCjrPxX1XrR7IGkl08bjhJROStD7j+RKgoIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@popmotion/easing/-/easing-1.0.2.tgz}
|
1254
|
-
name: '@popmotion/easing'
|
1255
|
-
version: 1.0.2
|
1256
|
-
dev: false
|
1257
|
-
|
1258
|
-
registry.npmmirror.com/@popmotion/popcorn/0.4.4:
|
1259
|
-
resolution: {integrity: sha512-jYO/8319fKoNLMlY4ZJPiPu8Ea8occYwRZhxpaNn/kZsK4QG2E7XFlXZMJBsTWDw7I1i0uaqyC4zn1nwEezLzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@popmotion/popcorn/-/popcorn-0.4.4.tgz}
|
1260
|
-
name: '@popmotion/popcorn'
|
1261
|
-
version: 0.4.4
|
1262
|
-
dependencies:
|
1263
|
-
'@popmotion/easing': registry.npmmirror.com/@popmotion/easing/1.0.2
|
1264
|
-
framesync: registry.npmmirror.com/framesync/4.1.0
|
1265
|
-
hey-listen: registry.npmmirror.com/hey-listen/1.0.8
|
1266
|
-
style-value-types: registry.npmmirror.com/style-value-types/3.2.0
|
1267
|
-
tslib: registry.npmmirror.com/tslib/1.14.1
|
1268
|
-
dev: false
|
1269
|
-
|
1270
1316
|
registry.npmmirror.com/@protobufjs/aspromise/1.1.2:
|
1271
1317
|
resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz}
|
1272
1318
|
name: '@protobufjs/aspromise'
|
@@ -1522,12 +1568,6 @@ packages:
|
|
1522
1568
|
version: 0.12.1
|
1523
1569
|
dev: false
|
1524
1570
|
|
1525
|
-
registry.npmmirror.com/@types/shallowequal/1.1.1:
|
1526
|
-
resolution: {integrity: sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/shallowequal/-/shallowequal-1.1.1.tgz}
|
1527
|
-
name: '@types/shallowequal'
|
1528
|
-
version: 1.1.1
|
1529
|
-
dev: false
|
1530
|
-
|
1531
1571
|
registry.npmmirror.com/@types/sinonjs__fake-timers/6.0.4:
|
1532
1572
|
resolution: {integrity: sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz}
|
1533
1573
|
name: '@types/sinonjs__fake-timers'
|
@@ -3077,6 +3117,7 @@ packages:
|
|
3077
3117
|
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz}
|
3078
3118
|
name: eventemitter3
|
3079
3119
|
version: 4.0.7
|
3120
|
+
dev: true
|
3080
3121
|
|
3081
3122
|
registry.npmmirror.com/execa/4.1.0:
|
3082
3123
|
resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/execa/-/execa-4.1.0.tgz}
|
@@ -3254,14 +3295,6 @@ packages:
|
|
3254
3295
|
version: 4.2.0
|
3255
3296
|
dev: true
|
3256
3297
|
|
3257
|
-
registry.npmmirror.com/framesync/4.1.0:
|
3258
|
-
resolution: {integrity: sha512-MmgZ4wCoeVxNbx2xp5hN/zPDCbLSKiDt4BbbslK7j/pM2lg5S0vhTNv1v8BCVb99JPIo6hXBFdwzU7Q4qcAaoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/framesync/-/framesync-4.1.0.tgz}
|
3259
|
-
name: framesync
|
3260
|
-
version: 4.1.0
|
3261
|
-
dependencies:
|
3262
|
-
hey-listen: registry.npmmirror.com/hey-listen/1.0.8
|
3263
|
-
dev: false
|
3264
|
-
|
3265
3298
|
registry.npmmirror.com/fs-extra/9.1.0:
|
3266
3299
|
resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz}
|
3267
3300
|
name: fs-extra
|
@@ -3457,12 +3490,6 @@ packages:
|
|
3457
3490
|
version: 1.1.0
|
3458
3491
|
dev: true
|
3459
3492
|
|
3460
|
-
registry.npmmirror.com/hey-listen/1.0.8:
|
3461
|
-
resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hey-listen/-/hey-listen-1.0.8.tgz}
|
3462
|
-
name: hey-listen
|
3463
|
-
version: 1.0.8
|
3464
|
-
dev: false
|
3465
|
-
|
3466
3493
|
registry.npmmirror.com/hsl-regex/1.0.0:
|
3467
3494
|
resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hsl-regex/-/hsl-regex-1.0.0.tgz}
|
3468
3495
|
name: hsl-regex
|
@@ -5524,12 +5551,6 @@ packages:
|
|
5524
5551
|
lru-cache: registry.npmmirror.com/lru-cache/6.0.0
|
5525
5552
|
dev: true
|
5526
5553
|
|
5527
|
-
registry.npmmirror.com/shallowequal/1.1.0:
|
5528
|
-
resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz}
|
5529
|
-
name: shallowequal
|
5530
|
-
version: 1.1.0
|
5531
|
-
dev: false
|
5532
|
-
|
5533
5554
|
registry.npmmirror.com/shebang-command/2.0.0:
|
5534
5555
|
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz}
|
5535
5556
|
name: shebang-command
|
@@ -5556,12 +5577,6 @@ packages:
|
|
5556
5577
|
object-inspect: registry.npmmirror.com/object-inspect/1.12.0
|
5557
5578
|
dev: true
|
5558
5579
|
|
5559
|
-
registry.npmmirror.com/side-effect-manager/0.1.5:
|
5560
|
-
resolution: {integrity: sha512-aAEXMS+9qW7rY2cwq4S6UjW3IBO/ZLWRI0sH1oGJ1eDE7YBFR1TW950qffnpx/0hByusAOVbu2zjThk9Vcjs+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/side-effect-manager/-/side-effect-manager-0.1.5.tgz}
|
5561
|
-
name: side-effect-manager
|
5562
|
-
version: 0.1.5
|
5563
|
-
dev: false
|
5564
|
-
|
5565
5580
|
registry.npmmirror.com/signal-exit/3.0.7:
|
5566
5581
|
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz}
|
5567
5582
|
name: signal-exit
|
@@ -5741,27 +5756,6 @@ packages:
|
|
5741
5756
|
engines: {node: '>=8'}
|
5742
5757
|
dev: true
|
5743
5758
|
|
5744
|
-
registry.npmmirror.com/style-value-types/3.2.0:
|
5745
|
-
resolution: {integrity: sha512-ih0mGsrYYmVvdDi++/66O6BaQPRPRMQHoZevNNdMMcPlP/cH28Rnfsqf1UEba/Bwfuw9T8BmIMwbGdzsPwQKrQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/style-value-types/-/style-value-types-3.2.0.tgz}
|
5746
|
-
name: style-value-types
|
5747
|
-
version: 3.2.0
|
5748
|
-
dependencies:
|
5749
|
-
hey-listen: registry.npmmirror.com/hey-listen/1.0.8
|
5750
|
-
tslib: registry.npmmirror.com/tslib/1.14.1
|
5751
|
-
dev: false
|
5752
|
-
|
5753
|
-
registry.npmmirror.com/stylefire/7.0.3:
|
5754
|
-
resolution: {integrity: sha512-Q0l7NSeFz/OkX+o6/7Zg3VZxSAZeQzQpYomWmIpOehFM/rJNMSLVX5fgg6Q48ut2ETNKwdhm97mPNU643EBCoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stylefire/-/stylefire-7.0.3.tgz}
|
5755
|
-
name: stylefire
|
5756
|
-
version: 7.0.3
|
5757
|
-
dependencies:
|
5758
|
-
'@popmotion/popcorn': registry.npmmirror.com/@popmotion/popcorn/0.4.4
|
5759
|
-
framesync: registry.npmmirror.com/framesync/4.1.0
|
5760
|
-
hey-listen: registry.npmmirror.com/hey-listen/1.0.8
|
5761
|
-
style-value-types: registry.npmmirror.com/style-value-types/3.2.0
|
5762
|
-
tslib: registry.npmmirror.com/tslib/1.14.1
|
5763
|
-
dev: false
|
5764
|
-
|
5765
5759
|
registry.npmmirror.com/stylehacks/4.0.3:
|
5766
5760
|
resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stylehacks/-/stylehacks-4.0.3.tgz}
|
5767
5761
|
name: stylehacks
|
@@ -5930,6 +5924,7 @@ packages:
|
|
5930
5924
|
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz}
|
5931
5925
|
name: tslib
|
5932
5926
|
version: 1.14.1
|
5927
|
+
dev: true
|
5933
5928
|
|
5934
5929
|
registry.npmmirror.com/tslib/2.3.1:
|
5935
5930
|
resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.3.1.tgz}
|
@@ -6113,14 +6108,6 @@ packages:
|
|
6113
6108
|
version: 2.3.0
|
6114
6109
|
dev: true
|
6115
6110
|
|
6116
|
-
registry.npmmirror.com/value-enhancer/0.0.8:
|
6117
|
-
resolution: {integrity: sha512-ba8Rcyp9ItqlLWoyZVqHGaEdY1tqP1mcbRhlOrCnIrDxdl8rKNH1Rq45syo4IMYNSkwC2oV9xBWcV9dmL14aQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/value-enhancer/-/value-enhancer-0.0.8.tgz}
|
6118
|
-
name: value-enhancer
|
6119
|
-
version: 0.0.8
|
6120
|
-
dependencies:
|
6121
|
-
side-effect-manager: registry.npmmirror.com/side-effect-manager/0.1.5
|
6122
|
-
dev: false
|
6123
|
-
|
6124
6111
|
registry.npmmirror.com/vendors/1.0.4:
|
6125
6112
|
resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vendors/-/vendors-1.0.4.tgz}
|
6126
6113
|
name: vendors
|
package/src/App/AppContext.ts
CHANGED
@@ -14,7 +14,7 @@ import type {
|
|
14
14
|
Room,
|
15
15
|
SceneDefinition,
|
16
16
|
View,
|
17
|
-
EventListener as WhiteEventListener
|
17
|
+
EventListener as WhiteEventListener
|
18
18
|
} from "white-web-sdk";
|
19
19
|
import type { ReadonlyTeleBox } from "@netless/telebox-insider";
|
20
20
|
import type Emittery from "emittery";
|
package/src/App/AppProxy.ts
CHANGED
@@ -191,7 +191,6 @@ export class AppProxy implements PageRemoveService {
|
|
191
191
|
const result = await app.setup(context);
|
192
192
|
this.appResult = result;
|
193
193
|
appRegister.notifyApp(this.kind, "created", { appId, result });
|
194
|
-
this.afterSetupApp(boxInitState);
|
195
194
|
this.fixMobileSize();
|
196
195
|
}, SETUP_APP_DELAY);
|
197
196
|
});
|
@@ -225,14 +224,6 @@ export class AppProxy implements PageRemoveService {
|
|
225
224
|
}
|
226
225
|
}
|
227
226
|
|
228
|
-
private afterSetupApp(boxInitState: AppInitState | undefined): void {
|
229
|
-
if (boxInitState) {
|
230
|
-
if (!boxInitState?.x || !boxInitState.y) {
|
231
|
-
this.boxManager?.setBoxInitState(this.id);
|
232
|
-
}
|
233
|
-
}
|
234
|
-
}
|
235
|
-
|
236
227
|
public async onSeek(time: number) {
|
237
228
|
this.appEmitter.emit("seek", time).catch(err => {
|
238
229
|
console.log(`[WindowManager]: emit seek error: ${err.message}`);
|
package/src/BoxManager.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from "./constants";
|
2
2
|
import { debounce } from "lodash";
|
3
|
-
import { TELE_BOX_STATE,
|
3
|
+
import { TELE_BOX_STATE, TeleBoxManager } from "@netless/telebox-insider";
|
4
4
|
import { WindowManager } from "./index";
|
5
5
|
import type { BoxEmitterType } from "./BoxEmitter";
|
6
6
|
import type { AddAppOptions, AppInitState } from "./index";
|
@@ -18,6 +18,7 @@ import type { NetlessApp } from "./typings";
|
|
18
18
|
import type { View } from "white-web-sdk";
|
19
19
|
import type { CallbacksType } from "./callback";
|
20
20
|
import type { EmitterType } from "./InternalEmitter";
|
21
|
+
import { SideEffectManager } from "side-effect-manager";
|
21
22
|
|
22
23
|
export { TELE_BOX_STATE };
|
23
24
|
|
@@ -45,6 +46,7 @@ export type CreateTeleBoxManagerConfig = {
|
|
45
46
|
collectorContainer?: HTMLElement;
|
46
47
|
collectorStyles?: Partial<CSSStyleDeclaration>;
|
47
48
|
prefersColorScheme?: TeleBoxColorScheme;
|
49
|
+
stageRatio?: number;
|
48
50
|
};
|
49
51
|
|
50
52
|
export type BoxManagerContext = {
|
@@ -87,79 +89,93 @@ export const createBoxManager = (
|
|
87
89
|
|
88
90
|
export class BoxManager {
|
89
91
|
public teleBoxManager: TeleBoxManager;
|
92
|
+
protected sideEffectManager: SideEffectManager;
|
90
93
|
|
91
94
|
constructor(
|
92
95
|
private context: BoxManagerContext,
|
93
|
-
|
96
|
+
createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig
|
94
97
|
) {
|
98
|
+
this.sideEffectManager = new SideEffectManager();
|
95
99
|
const { emitter, callbacks, boxEmitter } = context;
|
96
100
|
this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
this.teleBoxManager.events.on("minimized", minimized => {
|
113
|
-
this.context.safeSetAttributes({ minimized });
|
114
|
-
if (minimized) {
|
115
|
-
this.context.cleanFocus();
|
116
|
-
this.blurAllBox();
|
117
|
-
} else {
|
118
|
-
const topBox = this.getTopBox();
|
119
|
-
if (topBox) {
|
120
|
-
this.context.setAppFocus(topBox.id);
|
121
|
-
this.focusBox({ appId: topBox.id }, false);
|
101
|
+
this.sideEffectManager.add(() => [
|
102
|
+
// 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调
|
103
|
+
this.teleBoxManager._state$.reaction(state => {
|
104
|
+
callbacks.emit("boxStateChange", state);
|
105
|
+
emitter.emit("boxStateChange", state);
|
106
|
+
}),
|
107
|
+
this.teleBoxManager._darkMode$.reaction(darkMode => {
|
108
|
+
callbacks.emit("darkModeChange", darkMode);
|
109
|
+
}),
|
110
|
+
this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {
|
111
|
+
callbacks.emit("prefersColorSchemeChange", colorScheme);
|
112
|
+
}),
|
113
|
+
this.teleBoxManager._minimized$.reaction((minimized, skipUpdate) => {
|
114
|
+
if (skipUpdate) {
|
115
|
+
return;
|
122
116
|
}
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
});
|
128
|
-
this.teleBoxManager.events.on("removed", boxes => {
|
129
|
-
boxes.forEach(box => {
|
130
|
-
boxEmitter.emit("close", { appId: box.id });
|
131
|
-
});
|
132
|
-
});
|
133
|
-
this.teleBoxManager.events.on(
|
134
|
-
"intrinsic_move",
|
135
|
-
debounce((box: ReadonlyTeleBox): void => {
|
136
|
-
boxEmitter.emit("move", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });
|
137
|
-
}, 50)
|
138
|
-
);
|
139
|
-
this.teleBoxManager.events.on(
|
140
|
-
"intrinsic_resize",
|
141
|
-
debounce((box: ReadonlyTeleBox): void => {
|
142
|
-
boxEmitter.emit("resize", {
|
143
|
-
appId: box.id,
|
144
|
-
width: box.intrinsicWidth,
|
145
|
-
height: box.intrinsicHeight,
|
146
|
-
});
|
147
|
-
}, 200)
|
148
|
-
);
|
149
|
-
this.teleBoxManager.events.on("focused", box => {
|
150
|
-
if (box) {
|
151
|
-
if (this.canOperate) {
|
152
|
-
boxEmitter.emit("focus", { appId: box.id });
|
117
|
+
this.context.safeSetAttributes({ minimized });
|
118
|
+
if (minimized) {
|
119
|
+
this.context.cleanFocus();
|
120
|
+
this.blurAllBox();
|
153
121
|
} else {
|
154
|
-
this.
|
122
|
+
const topBox = this.getTopBox();
|
123
|
+
if (topBox) {
|
124
|
+
this.context.setAppFocus(topBox.id);
|
125
|
+
this.focusBox({ appId: topBox.id }, false);
|
126
|
+
}
|
155
127
|
}
|
156
|
-
}
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
128
|
+
}),
|
129
|
+
this.teleBoxManager._maximized$.reaction((maximized, skipUpdate) => {
|
130
|
+
if (skipUpdate) {
|
131
|
+
return;
|
132
|
+
}
|
133
|
+
this.context.safeSetAttributes({ maximized });
|
134
|
+
}),
|
135
|
+
this.teleBoxManager.events.on("removed", boxes => {
|
136
|
+
boxes.forEach(box => {
|
137
|
+
boxEmitter.emit("close", { appId: box.id });
|
138
|
+
});
|
139
|
+
}),
|
140
|
+
this.teleBoxManager.events.on(
|
141
|
+
"intrinsic_move",
|
142
|
+
debounce((box: ReadonlyTeleBox): void => {
|
143
|
+
boxEmitter.emit("move", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });
|
144
|
+
}, 50)
|
145
|
+
),
|
146
|
+
this.teleBoxManager.events.on(
|
147
|
+
"intrinsic_resize",
|
148
|
+
debounce((box: ReadonlyTeleBox): void => {
|
149
|
+
boxEmitter.emit("resize", {
|
150
|
+
appId: box.id,
|
151
|
+
width: box.intrinsicWidth,
|
152
|
+
height: box.intrinsicHeight,
|
153
|
+
});
|
154
|
+
}, 200)
|
155
|
+
),
|
156
|
+
this.teleBoxManager.events.on("focused", box => {
|
157
|
+
if (box) {
|
158
|
+
if (this.canOperate) {
|
159
|
+
boxEmitter.emit("focus", { appId: box.id });
|
160
|
+
} else {
|
161
|
+
this.teleBoxManager.blurBox(box.id);
|
162
|
+
}
|
163
|
+
}
|
164
|
+
}),
|
165
|
+
this.teleBoxManager.events.on("z_index", box => {
|
166
|
+
this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);
|
167
|
+
}),
|
168
|
+
this.teleBoxManager._stageRect$.subscribe(stage => {
|
169
|
+
emitter.emit("playgroundSizeChange", stage);
|
170
|
+
this.context.notifyContainerRectUpdate(stage);
|
171
|
+
}),
|
172
|
+
emitter.on("writableChange", isWritable => {
|
173
|
+
this.teleBoxManager.setHighlightStage(isWritable);
|
174
|
+
}),
|
175
|
+
emitter.on("containerSizeRatioUpdate", ratio => {
|
176
|
+
this.teleBoxManager._stageRatio$.setValue(ratio);
|
177
|
+
}),
|
178
|
+
]);
|
163
179
|
}
|
164
180
|
|
165
181
|
private get mainView() {
|
@@ -194,12 +210,16 @@ export class BoxManager {
|
|
194
210
|
return this.teleBoxManager.boxes.length;
|
195
211
|
}
|
196
212
|
|
213
|
+
public get stageRect() {
|
214
|
+
return this.teleBoxManager.stageRect;
|
215
|
+
}
|
216
|
+
|
197
217
|
public createBox(params: CreateBoxParams): void {
|
198
218
|
if (!this.teleBoxManager) return;
|
199
219
|
let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};
|
200
220
|
const { width, height } = params.app.config ?? {};
|
201
221
|
const title = params.options?.title || params.appId;
|
202
|
-
const rect = this.teleBoxManager.
|
222
|
+
const rect = this.teleBoxManager.rootRect;
|
203
223
|
|
204
224
|
if (minwidth > 1) {
|
205
225
|
minwidth = minwidth / rect.width;
|
@@ -221,34 +241,13 @@ export class BoxManager {
|
|
221
241
|
this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);
|
222
242
|
}
|
223
243
|
|
224
|
-
public setBoxInitState(appId: string): void {
|
225
|
-
const box = this.teleBoxManager.queryOne({ id: appId });
|
226
|
-
if (box) {
|
227
|
-
if (box.state === TELE_BOX_STATE.Maximized) {
|
228
|
-
this.context.boxEmitter.emit("resize", {
|
229
|
-
appId: appId,
|
230
|
-
x: box.x,
|
231
|
-
y: box.y,
|
232
|
-
width: box.intrinsicWidth,
|
233
|
-
height: box.intrinsicHeight,
|
234
|
-
});
|
235
|
-
}
|
236
|
-
}
|
237
|
-
}
|
238
|
-
|
239
244
|
public setupBoxManager(
|
240
245
|
createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig
|
241
246
|
): TeleBoxManager {
|
242
|
-
const root = WindowManager.
|
243
|
-
const rect = root.getBoundingClientRect();
|
247
|
+
const root = WindowManager.playground;
|
244
248
|
const initManagerState: TeleBoxManagerConfig = {
|
249
|
+
stageRatio: createTeleBoxManagerConfig?.stageRatio,
|
245
250
|
root: root,
|
246
|
-
containerRect: {
|
247
|
-
x: 0,
|
248
|
-
y: 0,
|
249
|
-
width: rect.width,
|
250
|
-
height: rect.height,
|
251
|
-
},
|
252
251
|
fence: false,
|
253
252
|
prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,
|
254
253
|
};
|
@@ -258,20 +257,16 @@ export class BoxManager {
|
|
258
257
|
this.teleBoxManager.destroy();
|
259
258
|
}
|
260
259
|
this.teleBoxManager = manager;
|
261
|
-
const container = createTeleBoxManagerConfig?.collectorContainer
|
260
|
+
const container = createTeleBoxManagerConfig?.collectorContainer;
|
262
261
|
if (container) {
|
263
|
-
this.
|
262
|
+
this.teleBoxManager.collector.set$collector(container);
|
263
|
+
}
|
264
|
+
if (createTeleBoxManagerConfig?.collectorStyles) {
|
265
|
+
this.teleBoxManager.collector.setStyles(createTeleBoxManagerConfig.collectorStyles);
|
264
266
|
}
|
265
267
|
return manager;
|
266
268
|
}
|
267
269
|
|
268
|
-
public setCollectorContainer(container: HTMLElement) {
|
269
|
-
const collector = new TeleBoxCollector({
|
270
|
-
styles: this.createTeleBoxManagerConfig?.collectorStyles,
|
271
|
-
}).mount(container);
|
272
|
-
this.teleBoxManager.setCollector(collector);
|
273
|
-
}
|
274
|
-
|
275
270
|
public getBox(appId: string): ReadonlyTeleBox | undefined {
|
276
271
|
return this.teleBoxManager.queryOne({ id: appId });
|
277
272
|
}
|
@@ -324,15 +319,6 @@ export class BoxManager {
|
|
324
319
|
}
|
325
320
|
}
|
326
321
|
|
327
|
-
public updateManagerRect(): void {
|
328
|
-
const rect = this.mainView.divElement?.getBoundingClientRect();
|
329
|
-
if (rect && rect.width > 0 && rect.height > 0) {
|
330
|
-
const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };
|
331
|
-
this.teleBoxManager.setContainerRect(containerRect);
|
332
|
-
this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);
|
333
|
-
}
|
334
|
-
}
|
335
|
-
|
336
322
|
public moveBox({ appId, x, y }: MoveBoxParams): void {
|
337
323
|
this.teleBoxManager.update(appId, { x, y }, true);
|
338
324
|
}
|
@@ -404,7 +390,16 @@ export class BoxManager {
|
|
404
390
|
this.teleBoxManager.update(id, { zIndex }, skipUpdate);
|
405
391
|
}
|
406
392
|
|
393
|
+
public setRoot(root: HTMLElement) {
|
394
|
+
this.teleBoxManager._root$.setValue(root);
|
395
|
+
}
|
396
|
+
|
397
|
+
public setCollector(collector: HTMLElement) {
|
398
|
+
this.teleBoxManager.collector.set$collector(collector);
|
399
|
+
}
|
400
|
+
|
407
401
|
public destroy() {
|
402
|
+
this.sideEffectManager.flushAll();
|
408
403
|
this.teleBoxManager.destroy();
|
409
404
|
}
|
410
405
|
}
|