@realsee/dnalogel 0.1.7-alpha.6 → 0.1.7-alpha.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realsee/dnalogel",
3
- "version": "0.1.7-alpha.6",
3
+ "version": "0.1.7-alpha.7",
4
4
  "description": "如视前端 Components、Plugins 兼部分 SDKs \"Dnalogel\" 库。",
5
5
  "author": "BEIKE REALSEE TECHNOLOGY (HK) LIMITED",
6
6
  "peerDependencies": {
@@ -47,6 +47,8 @@ var _centerPoint = _interopRequireDefault(require("../../shared-utils/three/cent
47
47
 
48
48
  var _transformPositionToVector = _interopRequireDefault(require("../../shared-utils/three/transformPositionToVector3"));
49
49
 
50
+ var _createResizeObserver = _interopRequireDefault(require("./utils/createResizeObserver"));
51
+
50
52
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
51
53
 
52
54
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -125,13 +127,19 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
125
127
  var render = function () {
126
128
  if (!inited) {
127
129
  var css3DRendererSetSize = function css3DRendererSetSize() {
128
- var rendererWidth = (0, _evenNumber["default"])(fiveElement.clientWidth);
129
- var rendererHeight = (0, _evenNumber["default"])(fiveElement.clientHeight);
130
+ // 这里evenNumber策略是遇到奇数会加1,不知道为啥会触发滚动条显示,导致fiveElement变小,fiveElement变小又触发了这里的resize,宽高变小,滚动条消失,然后又触发resize。。。无限循环
131
+ // 为了规避上面这种情况,evenNumber设置了一个参数,遇到奇数可选择减一
132
+ var rendererWidth = (0, _evenNumber["default"])(fiveElement.clientWidth, {
133
+ smaller: true
134
+ });
135
+ var rendererHeight = (0, _evenNumber["default"])(fiveElement.clientHeight, {
136
+ smaller: true
137
+ });
130
138
  css3DRenderer.setSize(rendererWidth, rendererHeight);
131
139
  };
132
140
 
133
141
  css3DRendererSetSize();
134
- resizeObserver = new ResizeObserver(css3DRendererSetSize);
142
+ resizeObserver = (0, _createResizeObserver["default"])(css3DRendererSetSize, fiveElement);
135
143
  css3DRenderer.domElement.style.position = 'absolute';
136
144
  css3DRenderer.domElement.style.top = '0';
137
145
  css3DRenderer.domElement.style.userSelect = 'none';
@@ -144,10 +152,10 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
144
152
  };
145
153
 
146
154
  return function () {
147
- var _resizeObserver;
155
+ var _resizeObserver, _resizeObserver$obser;
148
156
 
149
157
  scene.add(css3DObject);
150
- (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : _resizeObserver.observe(fiveElement);
158
+ (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : (_resizeObserver$obser = _resizeObserver.observe) === null || _resizeObserver$obser === void 0 ? void 0 : _resizeObserver$obser.call(_resizeObserver);
151
159
  renderEveryFrame();
152
160
 
153
161
  if (mode === 'behind' && mesh) {
@@ -190,9 +198,9 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
190
198
  if (mode === 'behind') state.behindMode = undefined;
191
199
 
192
200
  if (!state.behindMode && !state.frontMode) {
193
- var _resizeObserver2;
201
+ var _resizeObserver2, _resizeObserver2$unob;
194
202
 
195
- (_resizeObserver2 = resizeObserver) === null || _resizeObserver2 === void 0 ? void 0 : _resizeObserver2.unobserve(fiveElement);
203
+ (_resizeObserver2 = resizeObserver) === null || _resizeObserver2 === void 0 ? void 0 : (_resizeObserver2$unob = _resizeObserver2.unobserve) === null || _resizeObserver2$unob === void 0 ? void 0 : _resizeObserver2$unob.call(_resizeObserver2);
196
204
  }
197
205
  }
198
206
 
@@ -209,9 +217,6 @@ var CSS3DRenderPlugin = function CSS3DRenderPlugin(five) {
209
217
  state.disposeCallbacks.push(dispose);
210
218
  }
211
219
 
212
- console.log({
213
- autoRender: autoRender
214
- });
215
220
  if (autoRender) render();
216
221
  return {
217
222
  container: container,
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description: 究极简陋的 ResizeObserver polyfill
3
+ */
4
+ export default function createResizeObserver(func: () => any, element?: HTMLElement): {
5
+ observe: () => void;
6
+ unobserve: () => void;
7
+ };
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = createResizeObserver;
9
+
10
+ /**
11
+ * @description: 究极简陋的 ResizeObserver polyfill
12
+ */
13
+ function createResizeObserver(func, element) {
14
+ if (!element || typeof ResizeObserver === 'undefined') {
15
+ return {
16
+ observe: function observe() {
17
+ return window.addEventListener('resize', func);
18
+ },
19
+ unobserve: function unobserve() {
20
+ return window.removeEventListener('resize', func);
21
+ }
22
+ };
23
+ } else {
24
+ var observer = new ResizeObserver(func);
25
+ return {
26
+ observe: function observe() {
27
+ return observer.observe(element);
28
+ },
29
+ unobserve: function unobserve() {
30
+ return observer.unobserve(element);
31
+ }
32
+ };
33
+ }
34
+ }
@@ -1 +1,3 @@
1
- export default function evenNumber(num: number): number;
1
+ export default function evenNumber(num: number, config?: {
2
+ smaller?: boolean;
3
+ }): number;
@@ -7,7 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = evenNumber;
9
9
 
10
- function evenNumber(num) {
10
+ require("core-js/modules/es.number.constructor.js");
11
+
12
+ function evenNumber(num, config) {
11
13
  var roundNum = Math.round(num);
12
- return roundNum % 2 === 0 ? roundNum : roundNum + 1;
14
+ return roundNum % 2 === 0 ? roundNum : roundNum + Number(config !== null && config !== void 0 && config.smaller ? -1 : 1);
13
15
  }