@realsee/dnalogel 2.0.0-alpha.35 → 2.0.0-alpha.38

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 (237) hide show
  1. package/dist/ItemLabelPlugin/index.js +21 -41
  2. package/dist/ModelItemLabelPlugin/index.js +16 -36
  3. package/dist/ModelViewPlugin/Plugin.d.ts +4 -4
  4. package/dist/ModelViewPlugin/index.js +2 -3
  5. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.d.ts +1 -1
  6. package/dist/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +0 -4
  7. package/dist/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +0 -3
  8. package/dist/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +2 -0
  9. package/dist/PanoMeasurePlugin/Modules/UIController/{NewMainBtnController.d.ts → mobileMainBtnController.d.ts} +1 -1
  10. package/dist/PanoMeasurePlugin/Modules/UIController/style.d.ts +0 -3
  11. package/dist/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +1 -1
  12. package/dist/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +2 -0
  13. package/dist/PanoMeasurePlugin/index.js +298 -331
  14. package/dist/PanoMeasurePlugin/typings/data.d.ts +5 -0
  15. package/dist/PanoMeasurePlugin/utils/mouseGroup.d.ts +6 -1
  16. package/dist/PanoRulerProPlugin/Controller.d.ts +15 -0
  17. package/dist/PanoRulerProPlugin/index.d.ts +8 -0
  18. package/dist/PanoRulerProPlugin/index.js +1006 -0
  19. package/dist/PanoRulerProPlugin/typings.d.ts +46 -0
  20. package/dist/base/BasePlugin.d.ts +100 -0
  21. package/dist/base/BasePluginWithData.d.ts +34 -0
  22. package/dist/floorplan/ModelFloorplanPlugin/Controller.d.ts +71 -78
  23. package/dist/floorplan/ModelFloorplanPlugin/index.d.ts +5 -7
  24. package/dist/floorplan/ModelFloorplanPlugin/index.js +1064 -567
  25. package/dist/floorplan/ModelFloorplanPlugin/typing.d.ts +107 -0
  26. package/dist/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +23 -14
  27. package/dist/floorplan/PanoFloorplanRadarPlugin/index.d.ts +5 -6
  28. package/dist/floorplan/PanoFloorplanRadarPlugin/index.js +489 -129
  29. package/dist/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +52 -0
  30. package/dist/floorplan/TopviewFloorplanPlugin/Controller.d.ts +50 -58
  31. package/dist/floorplan/TopviewFloorplanPlugin/index.d.ts +5 -3
  32. package/dist/floorplan/TopviewFloorplanPlugin/index.js +1031 -443
  33. package/dist/floorplan/TopviewFloorplanPlugin/typing.d.ts +86 -0
  34. package/{libs/floorplan/ModelFloorplanPlugin → dist/floorplan}/utils/constant.d.ts +10 -3
  35. package/{libs/floorplan/ModelFloorplanPlugin → dist/floorplan}/utils/correctFiveState.d.ts +2 -1
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.es.js +3173 -1633
  38. package/dist/index.js +3194 -1653
  39. package/dist/index.umd.js +3090 -1549
  40. package/dist/shared-utils/five/changeMode.d.ts +4 -1
  41. package/dist/shared-utils/getPxmm.d.ts +8 -0
  42. package/dist/shared-utils/logger.d.ts +16 -0
  43. package/docs/assets/search.js +1 -1
  44. package/docs/classes/Magnifier.html +4 -4
  45. package/docs/classes/ModelRoomLabelController.html +4 -4
  46. package/docs/enums/CameraMovementEffect.html +2 -2
  47. package/docs/enums/DIRECTION.html +1 -1
  48. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
  49. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  50. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
  51. package/docs/enums/Rotation.html +2 -2
  52. package/docs/index.html +2 -2
  53. package/docs/interfaces/CSS3DRenderPluginExportType.html +2 -2
  54. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  55. package/docs/interfaces/FloorplanBounding.html +4 -4
  56. package/docs/interfaces/FloorplanData.html +2 -2
  57. package/docs/interfaces/FloorplanEntrance.html +7 -7
  58. package/docs/interfaces/FloorplanExtraObject.html +3 -3
  59. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  60. package/docs/interfaces/FloorplanFloorData.html +2 -2
  61. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  62. package/docs/interfaces/FloorplanObserver.html +2 -2
  63. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  64. package/docs/interfaces/FloorplanPosition.html +2 -2
  65. package/docs/interfaces/FloorplanRoomItem.html +6 -6
  66. package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
  67. package/docs/interfaces/FloorplanServerBounding.html +4 -4
  68. package/docs/interfaces/FloorplanServerComputedData.html +1 -1
  69. package/docs/interfaces/FloorplanServerData.html +2 -2
  70. package/docs/interfaces/FloorplanServerEntrance.html +7 -7
  71. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  72. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  73. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  74. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  75. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  76. package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
  77. package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
  78. package/docs/interfaces/ItemLabelPluginData.html +1 -1
  79. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
  80. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
  81. package/docs/interfaces/LineJson.html +1 -1
  82. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  83. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  84. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  85. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  86. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  87. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  88. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  89. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  90. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  91. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  92. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  93. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  94. package/docs/interfaces/ModelViewPluginExportType.html +1 -1
  95. package/docs/interfaces/OpenParameter.html +2 -2
  96. package/docs/interfaces/PanoCompassPluginData.html +1 -1
  97. package/docs/interfaces/PanoCompassPluginParameterType.html +1 -1
  98. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  99. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  100. package/docs/interfaces/PanoMeasureParameterType.html +1 -1
  101. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  102. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  103. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  104. package/docs/interfaces/PanoRulerProPluginExportType.html +1 -0
  105. package/docs/interfaces/PanoRulerProPluginOptions.html +1 -0
  106. package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -0
  107. package/docs/interfaces/PanoRulerProPluginState.html +1 -0
  108. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  109. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  110. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  111. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
  112. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  113. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
  114. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  115. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
  116. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
  117. package/docs/interfaces/Point.html +1 -1
  118. package/docs/interfaces/PointJson.html +1 -1
  119. package/docs/interfaces/Room.html +1 -1
  120. package/docs/interfaces/RoomInfo.html +1 -1
  121. package/docs/interfaces/RoomLabel.html +7 -7
  122. package/docs/interfaces/RoomRules.html +1 -1
  123. package/docs/interfaces/Rooms.html +1 -1
  124. package/docs/modules.html +19 -27
  125. package/libs/ItemLabelPlugin/ItemLabelComponent.js +21 -41
  126. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +16 -36
  127. package/libs/ModelViewPlugin/Plugin.d.ts +4 -4
  128. package/libs/ModelViewPlugin/Plugin.js +2 -3
  129. package/libs/PanoMeasurePlugin/Controller/index.js +4 -2
  130. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.d.ts +1 -1
  131. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.js +1 -1
  132. package/libs/PanoMeasurePlugin/Modules/GuideController.js +2 -2
  133. package/libs/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +0 -4
  134. package/libs/PanoMeasurePlugin/Modules/UIController/HTML.js +66 -55
  135. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +0 -3
  136. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.js +51 -73
  137. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.js +7 -4
  138. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +10 -12
  139. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +2 -0
  140. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.js +2 -2
  141. package/libs/PanoMeasurePlugin/Modules/UIController/{NewMainBtnController.d.ts → mobileMainBtnController.d.ts} +1 -1
  142. package/libs/PanoMeasurePlugin/Modules/UIController/{NewMainBtnController.js → mobileMainBtnController.js} +4 -4
  143. package/libs/PanoMeasurePlugin/Modules/UIController/style.d.ts +0 -3
  144. package/libs/PanoMeasurePlugin/Modules/UIController/style.js +7 -24
  145. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +1 -1
  146. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.js +1 -1
  147. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +2 -0
  148. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +1 -2
  149. package/libs/PanoMeasurePlugin/typings/data.d.ts +5 -0
  150. package/libs/PanoMeasurePlugin/utils/mouseGroup.d.ts +6 -1
  151. package/libs/PanoMeasurePlugin/utils/mouseGroup.js +55 -7
  152. package/libs/PanoRulerProPlugin/Controller.d.ts +15 -0
  153. package/libs/PanoRulerProPlugin/Controller.js +110 -0
  154. package/libs/PanoRulerProPlugin/RulerItem.js +314 -0
  155. package/libs/PanoRulerProPlugin/RulerItems.js +377 -0
  156. package/libs/PanoRulerProPlugin/index.d.ts +8 -0
  157. package/libs/PanoRulerProPlugin/index.js +8 -0
  158. package/libs/PanoRulerProPlugin/typings.d.ts +46 -0
  159. package/libs/{floorplan/ModelFloorplanPlugin/typings/events.type.js → PanoRulerProPlugin/typings.js} +0 -0
  160. package/libs/base/BasePlugin.d.ts +100 -0
  161. package/libs/base/BasePlugin.js +31 -0
  162. package/libs/base/BasePluginWithData.d.ts +34 -0
  163. package/libs/base/BasePluginWithData.js +4 -0
  164. package/libs/floorplan/Components/Compass.js +11 -11
  165. package/libs/floorplan/Components/CurrentFloor.js +24 -11
  166. package/libs/floorplan/Components/Main.js +21 -15
  167. package/libs/floorplan/Components/RoomHighlight/Room.js +44 -5
  168. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +29 -12
  169. package/libs/floorplan/Components/RoomLabels/RoomLabel.js +164 -15
  170. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +68 -24
  171. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +1 -0
  172. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +11 -9
  173. package/libs/floorplan/Components/RuleLabels/RuleItem.js +2 -2
  174. package/libs/floorplan/ModelFloorplanPlugin/Controller.d.ts +71 -78
  175. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +439 -272
  176. package/libs/floorplan/ModelFloorplanPlugin/index.d.ts +5 -7
  177. package/libs/floorplan/ModelFloorplanPlugin/index.js +2 -2
  178. package/libs/floorplan/ModelFloorplanPlugin/typing.d.ts +107 -0
  179. package/libs/floorplan/ModelFloorplanPlugin/typing.js +1 -0
  180. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +5 -5
  181. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +114 -53
  182. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +23 -14
  183. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +162 -52
  184. package/libs/floorplan/PanoFloorplanRadarPlugin/index.d.ts +5 -6
  185. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +2 -2
  186. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +52 -0
  187. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.js +1 -0
  188. package/libs/floorplan/TopviewFloorplanPlugin/Controller.d.ts +50 -58
  189. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +320 -174
  190. package/libs/floorplan/TopviewFloorplanPlugin/index.d.ts +5 -3
  191. package/libs/floorplan/TopviewFloorplanPlugin/index.js +2 -2
  192. package/libs/floorplan/TopviewFloorplanPlugin/style.js +1 -1
  193. package/libs/floorplan/TopviewFloorplanPlugin/typing.d.ts +86 -0
  194. package/libs/floorplan/TopviewFloorplanPlugin/typing.js +1 -0
  195. package/{dist/floorplan/ModelFloorplanPlugin → libs/floorplan}/utils/constant.d.ts +10 -3
  196. package/libs/floorplan/{ModelFloorplanPlugin/utils → utils}/constant.js +9 -2
  197. package/{dist/floorplan/ModelFloorplanPlugin → libs/floorplan}/utils/correctFiveState.d.ts +2 -1
  198. package/libs/floorplan/{ModelFloorplanPlugin/utils → utils}/correctFiveState.js +16 -16
  199. package/libs/index.d.ts +1 -0
  200. package/libs/index.js +2 -0
  201. package/libs/shared-utils/five/changeMode.d.ts +4 -1
  202. package/libs/shared-utils/five/changeMode.js +34 -13
  203. package/libs/shared-utils/getPxmm.d.ts +8 -0
  204. package/libs/shared-utils/getPxmm.js +25 -20
  205. package/libs/shared-utils/logger.d.ts +16 -0
  206. package/libs/shared-utils/logger.js +47 -0
  207. package/package.json +2 -2
  208. package/dist/floorplan/ModelFloorplanPlugin/typings/events.type.d.ts +0 -23
  209. package/docs/classes/PanoFloorplanRadarPluginController.html +0 -3
  210. package/docs/enums/ModelFloorplanErrorType.html +0 -1
  211. package/docs/interfaces/ModelFloorplanParameterType.html +0 -1
  212. package/docs/interfaces/ModelFloorplanViewEvent.html +0 -5
  213. package/docs/interfaces/PanoFloorplanRadarPluginControllerParameter.html +0 -1
  214. package/docs/interfaces/TopviewFloorplanPluginParameterType.html +0 -19
  215. package/libs/ModelSimulationPlugin/index.d.ts +0 -33
  216. package/libs/ModelSimulationPlugin/index.js +0 -166
  217. package/libs/ModelSimulationPlugin/shaders/fragment.d.ts +0 -2
  218. package/libs/ModelSimulationPlugin/shaders/fragment.js +0 -96
  219. package/libs/ModelSimulationPlugin/shaders/vertex.d.ts +0 -2
  220. package/libs/ModelSimulationPlugin/shaders/vertex.js +0 -23
  221. package/libs/floorplan/ModelFloorplanPlugin/Assets/compass.d.ts +0 -1
  222. package/libs/floorplan/ModelFloorplanPlugin/Assets/compass.js +0 -1
  223. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.js +0 -120
  224. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.js +0 -106
  225. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.js +0 -463
  226. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.js +0 -375
  227. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.js +0 -171
  228. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.js +0 -265
  229. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.js +0 -301
  230. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.js +0 -219
  231. package/libs/floorplan/ModelFloorplanPlugin/typings/events.type.d.ts +0 -23
  232. package/libs/shared-utils/five/useFivePlugin.d.ts +0 -1
  233. package/libs/shared-utils/five/useFivePlugin.js +0 -8
  234. package/libs/shared-utils/useDebounce.d.ts +0 -8
  235. package/libs/shared-utils/useDebounce.js +0 -22
  236. package/libs/shared-utils/useThrottle.d.ts +0 -8
  237. package/libs/shared-utils/useThrottle.js +0 -25
@@ -1,37 +1,44 @@
1
1
  import * as THREE from 'three';
2
- import { pluginStyle } from './style';
2
+ import equal from '../../shared-utils/equal';
3
+ import Main from '../Components/Main';
3
4
  import formatData from '../utils/formatData';
4
- import getPxmm from '../../shared-utils/getPxmm';
5
+ import { CAMERA_IMAGE } from '../Assets/camera';
5
6
  import { omit } from '../../shared-utils/filter';
6
- import Main from '../Components/Main';
7
+ import { FLOOR_PLAN_ATTACHED_TO } from '../constant';
8
+ import * as BasePlugin from '../../base/BasePluginWithData';
9
+ import changeMode from '../../shared-utils/five/changeMode';
10
+ import getPxmm, { getAttachedY } from '../../shared-utils/getPxmm';
7
11
  import changeModelCanvasOpacity from '../../shared-utils/changeModelCanvasOpacity';
8
- export class TopviewFloorplanPluginController {
12
+ export class Controller extends BasePlugin.Controller {
9
13
  constructor(five, params) {
10
- Object.defineProperty(this, "size", {
14
+ super(five);
15
+ // =============== public properties =================
16
+ Object.defineProperty(this, "name", {
11
17
  enumerable: true,
12
18
  configurable: true,
13
19
  writable: true,
14
- value: { width: 0, height: 0 }
20
+ value: 'topviewFloorplanPlugin'
15
21
  });
16
- Object.defineProperty(this, "visible", {
22
+ Object.defineProperty(this, "state", {
17
23
  enumerable: true,
18
24
  configurable: true,
19
25
  writable: true,
20
- value: false
26
+ value: void 0
21
27
  });
22
- Object.defineProperty(this, "pxmm", {
28
+ // =============== private properties =================
29
+ Object.defineProperty(this, "data", {
23
30
  enumerable: true,
24
31
  configurable: true,
25
32
  writable: true,
26
- value: 0
33
+ value: void 0
27
34
  });
28
35
  Object.defineProperty(this, "app", {
29
36
  enumerable: true,
30
37
  configurable: true,
31
38
  writable: true,
32
- value: void 0
39
+ value: undefined
33
40
  });
34
- Object.defineProperty(this, "five", {
41
+ Object.defineProperty(this, "selector", {
35
42
  enumerable: true,
36
43
  configurable: true,
37
44
  writable: true,
@@ -49,98 +56,136 @@ export class TopviewFloorplanPluginController {
49
56
  writable: true,
50
57
  value: 0
51
58
  });
52
- Object.defineProperty(this, "configs", {
59
+ /** 户型图父容器 */
60
+ Object.defineProperty(this, "wrapper", {
61
+ enumerable: true,
62
+ configurable: true,
63
+ writable: true,
64
+ value: void 0
65
+ });
66
+ /** 户型图主容器 */
67
+ Object.defineProperty(this, "container", {
53
68
  enumerable: true,
54
69
  configurable: true,
55
70
  writable: true,
56
- value: {}
71
+ value: document.createElement('div')
57
72
  });
73
+ /** 展示户型图图前,Five 的 Panorama Longitude */
58
74
  Object.defineProperty(this, "lastPanoramaLongitude", {
59
75
  enumerable: true,
60
76
  configurable: true,
61
77
  writable: true,
62
78
  value: 0
63
79
  });
64
- Object.defineProperty(this, "selector", {
80
+ /** 户型图大小 */
81
+ Object.defineProperty(this, "size", {
65
82
  enumerable: true,
66
83
  configurable: true,
67
84
  writable: true,
68
- value: void 0
85
+ value: { width: 0, height: 0 }
69
86
  });
70
- Object.defineProperty(this, "floorplanData", {
87
+ /** 是否已经执行过事件监听 */
88
+ Object.defineProperty(this, "hasAddedEventListener", {
71
89
  enumerable: true,
72
90
  configurable: true,
73
91
  writable: true,
74
- value: void 0
92
+ value: false
75
93
  });
76
- Object.defineProperty(this, "wrapper", {
94
+ /** 上一次隐藏是否是用户调用了 hide 导致的 */
95
+ Object.defineProperty(this, "isHiddenByHideFunc", {
77
96
  enumerable: true,
78
97
  configurable: true,
79
98
  writable: true,
80
- value: void 0
99
+ value: false
81
100
  });
82
- Object.defineProperty(this, "container", {
101
+ /** 更新户型图大小 */
102
+ Object.defineProperty(this, "updateSize", {
83
103
  enumerable: true,
84
104
  configurable: true,
85
105
  writable: true,
86
- value: document.createElement('div')
106
+ value: () => {
107
+ if (!this.data)
108
+ return;
109
+ if (!this.container || !this.wrapper)
110
+ return;
111
+ if (this.five.getCurrentState().mode !== 'Topview')
112
+ return;
113
+ // 计算户型图展示大小
114
+ const { min, max } = this.data.bounding;
115
+ const width = max.x - min.x;
116
+ const height = max.y - min.y;
117
+ // 每毫米对应的 px 值
118
+ const options = this.state.config.attachedTo ? { attachedTo: this.state.config.attachedTo } : undefined;
119
+ const pxmm = getPxmm(this.five, this.wrapper, this.floorIndex, options);
120
+ const _width = Math.ceil(width * pxmm);
121
+ const _height = Math.ceil(height * pxmm);
122
+ if (this.size.width === _width && this.size.height === _height)
123
+ return;
124
+ this.container.style.width = _width + 'px';
125
+ this.container.style.height = _height + 'px';
126
+ this.size = { width: _width, height: _height };
127
+ }
87
128
  });
129
+ /** 销毁插件 */
88
130
  Object.defineProperty(this, "dispose", {
89
131
  enumerable: true,
90
132
  configurable: true,
91
133
  writable: true,
92
134
  value: () => {
93
135
  var _a, _b;
94
- this.hide();
136
+ this.removeEventListener();
95
137
  (_a = this.app) === null || _a === void 0 ? void 0 : _a.$destroy();
138
+ this.app = undefined;
96
139
  (_b = this.container) === null || _b === void 0 ? void 0 : _b.remove();
97
- this.five.off('modeChange', this.onFiveModeChange);
98
- this.five.off('panGesture', this.onFivePanGesture);
99
- this.five.off('panoArrived', this.onFivePanoArrived);
100
- this.five.off('modelLoaded', this.onFiveModelLoaded);
101
- this.five.off('pinchGesture', this.onFivePinchGesture);
102
- this.five.off('wantsGesture', this.onFiveWantsGesture);
103
- this.five.off('wantsMoveToPano', this.onFiveWantsMoveToPano);
104
- this.five.off('initAnimationEnded', this.onFiveInitAnimationEnded);
105
- this.five.off('modelShownFloorChange', this.onModelShownFloorChange);
140
+ this.data = undefined;
141
+ this.wrapper = undefined;
142
+ this.selector = undefined;
143
+ this.hooks.emit('dispose');
106
144
  }
107
145
  });
108
- Object.defineProperty(this, "onFiveWantsMoveToPano", {
146
+ Object.defineProperty(this, "_disable", {
109
147
  enumerable: true,
110
148
  configurable: true,
111
149
  writable: true,
112
- value: () => {
113
- if (this.visible && this.configs.preventRoomClick)
114
- return false;
150
+ value: (options) => {
151
+ var _a, _b;
152
+ const { userAction } = options;
153
+ (_a = this.app) === null || _a === void 0 ? void 0 : _a.$destroy();
154
+ this.app = undefined;
155
+ (_b = this.container) === null || _b === void 0 ? void 0 : _b.remove();
156
+ this.removeEventListener();
157
+ this.hooks.emit('disable', { userAction });
115
158
  }
116
159
  });
117
- Object.defineProperty(this, "onFiveWantsGesture", {
160
+ /** modelLoaded 之后自动执行 append container 操作 */
161
+ Object.defineProperty(this, "onFiveModelLoaded", {
118
162
  enumerable: true,
119
163
  configurable: true,
120
164
  writable: true,
121
- value: (type) => {
122
- if (type !== 'pan' && type !== 'pinch' && type !== 'mouseWheel')
165
+ value: () => {
166
+ if (this.state.enabled === false)
123
167
  return;
124
- if (this.visible && !this.configs.gestureEnable)
125
- return false;
168
+ if (this.wrapper)
169
+ return;
170
+ if (!this.selector)
171
+ return;
172
+ const wrapper = this.selector instanceof Element ? this.selector : document.querySelector(this.selector);
173
+ if (!wrapper)
174
+ throw new Error('不正确的父容器选择器');
175
+ this.wrapper = wrapper;
176
+ wrapper.append(this.container);
126
177
  }
127
178
  });
128
- Object.defineProperty(this, "onModelShownFloorChange", {
179
+ /** Topview 态隐藏户型图 */
180
+ Object.defineProperty(this, "onFiveModeChange", {
129
181
  enumerable: true,
130
182
  configurable: true,
131
183
  writable: true,
132
- value: (shownFloor) => {
133
- if (this.floorIndex === shownFloor)
134
- return;
135
- if (shownFloor === null) {
136
- const panoIndex = this.five.getCurrentState().panoIndex;
137
- this.floorIndex = this.five.work.observers[panoIndex].floorIndex;
138
- return;
184
+ value: (...[mode, , , , userAction]) => {
185
+ if (mode !== 'Topview' && this.state.visible) {
186
+ this.updateState({ visible: false }, userAction);
187
+ this._hide({ userAction });
139
188
  }
140
- // 模型楼层高亮改变时,自动进行楼层切换
141
- this.floorIndex = shownFloor;
142
- this.updateSize();
143
- this.render();
144
189
  }
145
190
  });
146
191
  Object.defineProperty(this, "onFivePanoArrived", {
@@ -155,51 +200,35 @@ export class TopviewFloorplanPluginController {
155
200
  this.floorIndex = this.five.work.observers[index].floorIndex;
156
201
  }
157
202
  });
158
- Object.defineProperty(this, "onFivePanGesture", {
203
+ Object.defineProperty(this, "onFiveCameraUpdate", {
159
204
  enumerable: true,
160
205
  configurable: true,
161
206
  writable: true,
162
- value: () => {
163
- if (!this.visible)
164
- return;
165
- this.updatePosition();
166
- }
167
- });
168
- Object.defineProperty(this, "onFivePinchGesture", {
169
- enumerable: true,
170
- configurable: true,
171
- writable: true,
172
- value: () => {
173
- if (!this.visible)
207
+ value: (_, userAction) => {
208
+ if (!this.state.visible)
174
209
  return;
175
210
  this.updatePosition();
176
211
  this.updateSize();
177
212
  }
178
213
  });
179
- Object.defineProperty(this, "onFiveModelLoaded", {
214
+ Object.defineProperty(this, "onFiveWantsGesture", {
180
215
  enumerable: true,
181
216
  configurable: true,
182
217
  writable: true,
183
- value: () => {
184
- if (this.wrapper)
185
- return;
186
- if (!this.selector)
218
+ value: (type) => {
219
+ if (type !== 'pan' && type !== 'pinch' && type !== 'mouseWheel')
187
220
  return;
188
- const wrapper = this.selector instanceof Element ? this.selector : document.querySelector(this.selector);
189
- if (!wrapper)
190
- throw new Error('不正确的父容器选择器');
191
- this.wrapper = wrapper;
192
- wrapper.append(this.container);
221
+ if (this.state.visible && !this.state.config.gestureEnable)
222
+ return false;
193
223
  }
194
224
  });
195
- /** Topview 态隐藏户型图 */
196
- Object.defineProperty(this, "onFiveModeChange", {
225
+ Object.defineProperty(this, "onFiveWantsMoveToPano", {
197
226
  enumerable: true,
198
227
  configurable: true,
199
228
  writable: true,
200
- value: (mode) => {
201
- if (mode !== 'Topview')
202
- return this.hide();
229
+ value: () => {
230
+ if (this.state.visible && this.state.config.preventRoomClick)
231
+ return false;
203
232
  }
204
233
  });
205
234
  /** 动画结束后是 Topview 态就展示户型图 */
@@ -207,134 +236,251 @@ export class TopviewFloorplanPluginController {
207
236
  enumerable: true,
208
237
  configurable: true,
209
238
  writable: true,
210
- value: () => {
239
+ value: (...[, , userAction]) => {
211
240
  const { mode } = this.five.getCurrentState();
212
- if (mode === 'Topview')
213
- this.show();
241
+ if (mode === 'Topview' && !this.isHiddenByHideFunc && !this.state.visible && this.state.config.autoShowEnable) {
242
+ this.updateState({ visible: true }, userAction);
243
+ this._show({ userAction });
244
+ }
214
245
  }
215
246
  });
216
- /** 更新户型图大小 */
217
- Object.defineProperty(this, "updateSize", {
247
+ Object.defineProperty(this, "onModelShownFloorChange", {
218
248
  enumerable: true,
219
249
  configurable: true,
220
250
  writable: true,
221
- value: () => {
222
- if (!this.floorplanData)
223
- return;
224
- if (!this.container || !this.wrapper)
251
+ value: (shownFloor) => {
252
+ if (this.floorIndex === shownFloor)
225
253
  return;
226
- if (this.five.getCurrentState().mode !== 'Topview')
254
+ if (shownFloor === null) {
255
+ const panoIndex = this.five.getCurrentState().panoIndex;
256
+ this.floorIndex = this.five.work.observers[panoIndex].floorIndex;
227
257
  return;
228
- // 计算户型图展示大小
229
- const { min, max } = this.floorplanData.bounding;
230
- const width = max.x - min.x;
231
- const height = max.y - min.y;
232
- // 每毫米对应的 px 值
233
- const options = this.configs.attachedTo ? { attachedTo: this.configs.attachedTo } : undefined;
234
- const pxmm = getPxmm(this.five, this.wrapper, this.floorIndex, options);
235
- const _width = Math.ceil(width * pxmm);
236
- const _height = Math.ceil(height * pxmm);
237
- this.pxmm = pxmm;
238
- this.size = { width: _width, height: _height };
239
- this.container.style.width = _width + 'px';
240
- this.container.style.height = _height + 'px';
258
+ }
259
+ // 模型楼层高亮改变时,自动进行楼层切换
260
+ this.floorIndex = shownFloor;
261
+ this.updateSize();
262
+ this.render();
241
263
  }
242
264
  });
243
- this.five = five;
244
- this.selector = params.selector;
245
- this.configs = omit(params, ['selector']);
246
- this.five.addExtraElement(this.container);
247
- // 设置 container 样式
248
- this.container.classList.add('floorplan-plugin');
249
- Object.assign(this.container.style, pluginStyle);
265
+ if (params === null || params === void 0 ? void 0 : params.selector) {
266
+ this.selector = params.selector;
267
+ console.warn('不推荐继续使用 params.selector 配置父容器,请使用 appendTo 方法');
268
+ }
269
+ // =============== init State ===============
270
+ const baseConfig = {
271
+ northDesc: '北',
272
+ modelOpacity: 1,
273
+ hoverEnable: true,
274
+ compassEnable: true,
275
+ gestureEnable: false,
276
+ autoShowEnable: true,
277
+ ruleLabelsEnable: true,
278
+ roomLabelsEnable: true,
279
+ cameraImageUrl: CAMERA_IMAGE,
280
+ attachedTo: FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER,
281
+ getLabelElement: undefined,
282
+ adaptiveRoomLabelVisibleEnable: true,
283
+ };
284
+ const paramsConfig = params ? omit(params, ['selector', 'scale']) : {};
285
+ const config = Object.assign(Object.assign({}, baseConfig), paramsConfig);
286
+ this.state = {
287
+ enabled: true,
288
+ visible: false,
289
+ config,
290
+ };
291
+ // =============== init Container ===============
292
+ this.initContainer();
293
+ // =============== init Listener ===============
294
+ // 注意插件声明周期内只监听一次的事件不放在 addEventListener 里面
250
295
  // 如果初始化的时候模型已经加载完毕了,就不用再等 modelLoaded
251
- this.five.model.loaded
252
- ? this.onFiveModelLoaded()
253
- : five.once('modelLoaded', this.onFiveModelLoaded);
254
- this.five.once('dispose', this.dispose);
255
- this.five.on('modeChange', this.onFiveModeChange);
256
- this.five.on('panGesture', this.onFivePanGesture);
257
- this.five.on('mouseWheel', this.onFivePinchGesture);
258
- this.five.on('panoArrived', this.onFivePanoArrived);
259
- this.five.on('pinchGesture', this.onFivePinchGesture);
260
- this.five.on('wantsGesture', this.onFiveWantsGesture);
261
- this.five.on('wantsMoveToPano', this.onFiveWantsMoveToPano);
262
- this.five.on('initAnimationEnded', this.onFiveInitAnimationEnded);
263
- this.five.on('modelShownFloorChange', this.onModelShownFloorChange);
296
+ five.model.loaded ? this.onFiveModelLoaded() : five.once('modelLoaded', this.onFiveModelLoaded);
297
+ five.once('dispose', this.dispose);
298
+ this.addEventListener();
264
299
  }
265
- /** 加载户型图数据 */
266
- async load(data) {
267
- const copyData = JSON.parse(JSON.stringify(data));
268
- this.floorplanData = await formatData(copyData);
300
+ async load(serverData, state, userAction = true) {
301
+ function isPluginServerData(serverData) {
302
+ return Object.prototype.hasOwnProperty.apply(serverData, ['version']);
303
+ }
304
+ const _data = serverData;
305
+ if (_data && !_data.version)
306
+ console.warn('传入 serverData.data 的方式后续可能不再支持,请把 serverData 整体传入 load 函数');
307
+ const copyData = JSON.parse(JSON.stringify(serverData));
308
+ const _serverData = isPluginServerData(copyData) ? copyData.data : copyData;
309
+ const prevData = this.data;
310
+ this.data = await formatData(_serverData);
311
+ this.hooks.emit('dataLoaded', this.data);
312
+ this.hooks.emit('dataChange', this.data, prevData);
313
+ if (state)
314
+ this.updateState(state, userAction);
269
315
  this.render();
270
316
  }
317
+ /** 更新户型图位置 */
318
+ updatePosition() {
319
+ var _a;
320
+ const y = getAttachedY(this.five, this.floorIndex, this.state.config.attachedTo);
321
+ const modelPosition = (_a = this.five.model) === null || _a === void 0 ? void 0 : _a.bounding.getCenter(new THREE.Vector3()).setY(y);
322
+ if (!modelPosition)
323
+ return;
324
+ const ndcPosition = modelPosition.clone().project(this.five.camera);
325
+ const left = (ndcPosition.x + 1) / 2;
326
+ const top = -(ndcPosition.y - 1) / 2;
327
+ this.container.style.left = left * 100 + '%';
328
+ this.container.style.top = top * 100 + '%';
329
+ }
271
330
  /** 把插件的渲染DOM插入到对应的容器中去 */
272
331
  appendTo(wrapper) {
273
332
  this.wrapper = wrapper;
333
+ // 插件 disabled 时,只是不执行副作用,但是 wrapper 还是要赋值的,不然 enable 的时候找不到父容器
334
+ if (!this.state.enabled)
335
+ return;
274
336
  wrapper.appendChild(this.container);
337
+ this.render();
275
338
  return this;
276
339
  }
277
- show() {
278
- this.visible = true;
340
+ async show(options = {}) {
341
+ // 已经展示完成了,不做任何操作
342
+ if (this.state.visible)
343
+ return;
344
+ const userAction = options.userAction !== undefined ? options.userAction : true;
345
+ this.updateState({ visible: true }, userAction);
346
+ this._show({ userAction });
347
+ }
348
+ async hide(options = {}) {
349
+ this.isHiddenByHideFunc = true;
350
+ if (!this.state.visible)
351
+ return;
352
+ const userAction = options.userAction !== undefined ? options.userAction : true;
353
+ this.updateState({ visible: false }, userAction);
354
+ this._hide({ userAction });
355
+ }
356
+ enable(options = {}) {
357
+ if (this.state.enabled)
358
+ return;
359
+ const userAction = options.userAction !== undefined ? options.userAction : true;
360
+ this.updateState({ enabled: true }, options.userAction || userAction);
361
+ this._enable({ userAction });
362
+ }
363
+ disable(options = {}) {
364
+ if (!this.state.enabled)
365
+ return;
366
+ const userAction = options.userAction !== undefined ? options.userAction : true;
367
+ this.updateState({ enabled: false }, options.userAction || userAction);
368
+ this._disable({ userAction });
369
+ }
370
+ /** 更改插件 State */
371
+ setState(state, options = {}) {
372
+ const prevState = this.state;
373
+ const userAction = options.userAction !== undefined ? options.userAction : true;
374
+ this.updateState(state, userAction);
375
+ if (state.enabled !== undefined && prevState.enabled !== state.enabled) {
376
+ const options = { userAction };
377
+ state.enabled ? this._enable(options) : this._disable(options);
378
+ }
379
+ if (state.visible !== undefined && prevState.visible !== state.visible) {
380
+ const options = { userAction };
381
+ state.visible ? this._show(options) : this._hide(options);
382
+ }
383
+ }
384
+ async formatData(serverData) {
385
+ return await formatData(serverData.data);
386
+ }
387
+ async _show(options) {
388
+ if (!this.state.enabled)
389
+ return;
390
+ this.isHiddenByHideFunc = false;
391
+ const { userAction } = options;
392
+ this.hooks.emit('show', { userAction });
393
+ if (this.five.getCurrentState().mode !== 'Topview') {
394
+ await changeMode(this.five, ['Topview', undefined, undefined, userAction]);
395
+ }
279
396
  this.five.model.show(this.floorIndex);
280
397
  this.updatePosition();
281
398
  this.updateSize();
282
399
  const renderDuration = 500;
283
- const modelOpacity = this.configs.modelOpacity;
284
- if (typeof modelOpacity === 'number') {
285
- changeModelCanvasOpacity(this.five, modelOpacity, renderDuration);
286
- }
287
- this.render(renderDuration);
400
+ const modelOpacity = this.state.config.modelOpacity;
401
+ changeModelCanvasOpacity(this.five, modelOpacity, renderDuration);
402
+ this.hooks.emit('showAnimationEnded', { userAction });
403
+ this.render();
288
404
  }
289
- hide() {
405
+ async _hide(options) {
406
+ if (!this.state.enabled)
407
+ return;
408
+ const { userAction } = options;
409
+ this.hooks.emit('hide', { userAction });
290
410
  const modelOpacity = 1;
291
411
  const renderDuration = 0;
292
- this.visible = false;
293
412
  changeModelCanvasOpacity(this.five, modelOpacity, renderDuration);
294
413
  this.render();
295
414
  }
296
- /** 更新户型图位置 */
297
- updatePosition() {
298
- var _a;
299
- const modelCenter = (_a = this.five.model) === null || _a === void 0 ? void 0 : _a.bounding.getCenter(new THREE.Vector3());
300
- if (!modelCenter)
415
+ _enable(options) {
416
+ const { userAction } = options;
417
+ this.addEventListener();
418
+ if (this.wrapper)
419
+ this.wrapper.append(this.container);
420
+ this.hooks.emit('enable', { userAction });
421
+ if (this.state.visible)
422
+ this._show({ userAction });
423
+ }
424
+ updateState(state, userAction) {
425
+ const prevState = this.state;
426
+ this.state = Object.assign(Object.assign({}, this.state), state);
427
+ if (equal(this.state, prevState, { deep: true }))
301
428
  return;
302
- const ndcModelCenter = modelCenter.clone().project(this.five.camera);
303
- const left = (ndcModelCenter.x + 1) / 2;
304
- const top = -(ndcModelCenter.y - 1) / 2;
305
- this.container.style.left = left * 100 + '%';
306
- this.container.style.top = top * 100 + '%';
429
+ this.hooks.emit('stateChange', { state: this.state, prevState, userAction });
430
+ }
431
+ addEventListener() {
432
+ if (!this.state.enabled)
433
+ return;
434
+ if (this.hasAddedEventListener)
435
+ return;
436
+ const five = this.five;
437
+ five.on('modeChange', this.onFiveModeChange);
438
+ five.on('panoArrived', this.onFivePanoArrived);
439
+ five.on('cameraUpdate', this.onFiveCameraUpdate);
440
+ five.on('wantsGesture', this.onFiveWantsGesture);
441
+ five.on('wantsMoveToPano', this.onFiveWantsMoveToPano);
442
+ five.on('initAnimationEnded', this.onFiveInitAnimationEnded);
443
+ five.on('modelShownFloorChange', this.onModelShownFloorChange);
444
+ }
445
+ removeEventListener() {
446
+ const five = this.five;
447
+ this.hasAddedEventListener = false;
448
+ // 注意这里并没有消除 dispose 的监听
449
+ five.off('modeChange', this.onFiveModeChange);
450
+ five.off('panoArrived', this.onFivePanoArrived);
451
+ five.off('cameraUpdate', this.onFiveCameraUpdate);
452
+ five.off('wantsGesture', this.onFiveWantsGesture);
453
+ five.off('wantsMoveToPano', this.onFiveWantsMoveToPano);
454
+ five.off('initAnimationEnded', this.onFiveInitAnimationEnded);
455
+ five.off('modelShownFloorChange', this.onModelShownFloorChange);
456
+ }
457
+ /** 如果用户是通过 selector 设置父容器,需要在 modelLoaded 之后把 container 自动放到父容器里
458
+ *
459
+ * - TODO: 等 selector 功能下掉之后删除这个逻辑
460
+ */
461
+ initContainer() {
462
+ this.container.classList.add('floorplan-plugin');
463
+ Object.assign(this.container.style, {
464
+ position: 'absolute',
465
+ left: '50%',
466
+ top: '50%',
467
+ transform: 'translate3d(-50%, -50%, 10px)',
468
+ zIndex: 10,
469
+ pointerEvents: 'none',
470
+ 'will-change': 'width, height',
471
+ });
472
+ this.five.addExtraElement(this.container);
307
473
  }
308
474
  render(duration) {
309
- if (!this.container || !this.floorplanData)
475
+ if (!this.state.enabled)
476
+ return;
477
+ if (!this.container || !this.data)
310
478
  return;
311
479
  if (this.size.width === 0)
312
480
  return;
313
- const { northDesc, getLabelElement, cameraImageUrl, hoverEnable, compassEnable, roomLabelsEnable, ruleLabelsEnable, } = this.configs;
314
- const props = {
315
- getLabelElement,
316
- northDesc: northDesc !== null && northDesc !== void 0 ? northDesc : '北',
317
- cameraImageUrl,
318
- visible: this.visible,
319
- duration: duration !== null && duration !== void 0 ? duration : 0,
320
- panoIndex: this.panoIndex,
321
- floorIndex: this.floorIndex,
322
- floorplanData: this.floorplanData,
323
- hoverEnable: hoverEnable !== null && hoverEnable !== void 0 ? hoverEnable : false,
324
- compassEnable: compassEnable !== null && compassEnable !== void 0 ? compassEnable : true,
325
- ruleLabelsEnable: ruleLabelsEnable !== null && ruleLabelsEnable !== void 0 ? ruleLabelsEnable : true,
326
- roomLabelsEnable: roomLabelsEnable !== null && roomLabelsEnable !== void 0 ? roomLabelsEnable : true,
327
- lastPanoramaLongitude: this.lastPanoramaLongitude,
328
- };
329
- if (!this.app) {
330
- this.app = new Main({
331
- target: this.container,
332
- intro: true,
333
- props,
334
- });
335
- }
336
- else {
337
- this.app.$set(props);
338
- }
481
+ const props = Object.assign(Object.assign({}, this.state.config), { visible: this.state.visible, duration: duration !== null && duration !== void 0 ? duration : 0, panoIndex: this.panoIndex, floorIndex: this.floorIndex, floorplanData: this.data, lastPanoramaLongitude: this.lastPanoramaLongitude });
482
+ if (this.app)
483
+ return this.app.$set(props);
484
+ this.app = new Main({ target: this.container, intro: true, props });
339
485
  }
340
486
  }
@@ -1,5 +1,7 @@
1
+ import type { Parameters } from './typing';
1
2
  import type { FivePlugin } from '@realsee/five';
2
- import { TopviewFloorplanPluginParameterType, TopviewFloorplanPluginReturnType } from './Controller';
3
- export declare const TopviewFloorplanPlugin: FivePlugin<TopviewFloorplanPluginParameterType, TopviewFloorplanPluginReturnType>;
3
+ import { Controller } from './Controller';
4
+ export declare const TopviewFloorplanPlugin: FivePlugin<undefined | Parameters, Controller>;
5
+ export declare type TopviewFloorplanPluginParameterType = Parameters | undefined;
6
+ export declare type TopviewFloorplanPluginReturnType = InstanceType<typeof Controller>;
4
7
  export default TopviewFloorplanPlugin;
5
- export type { TopviewFloorplanPluginReturnType, TopviewFloorplanPluginParameterType } from './Controller';
@@ -1,5 +1,5 @@
1
- import { TopviewFloorplanPluginController, } from './Controller';
1
+ import { Controller } from './Controller';
2
2
  export const TopviewFloorplanPlugin = (five, params) => {
3
- return new TopviewFloorplanPluginController(five, params);
3
+ return new Controller(five, params);
4
4
  };
5
5
  export default TopviewFloorplanPlugin;