UIControl.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. import { coordinate } from "../Coordinate.js";
  2. import LayerEvents from "../enum/LayerEvents.js";
  3. import UIEvents from "../enum/UIEvents.js";
  4. import VectorType from "../enum/VectorType.js";
  5. import SymbolEvents from "../enum/SymbolEvents.js";
  6. import { stateService } from "../Service/StateService.js";
  7. import { measureService } from "../Service/MeasureService.js";
  8. import { dataService } from "../Service/DataService.js";
  9. import { historyService } from "../Service/HistoryService.js";
  10. import { symbolService } from "../Service/SymbolService.js";
  11. import { componentService } from "../Service/ComponentService.js";
  12. import { elementService } from "../Service/ElementService";
  13. // import { mathUtil } from "../MathUtil.js";
  14. // import { wallService } from "../Service/WallService.js";
  15. import { tagService } from "../Service/TagService.js";
  16. import Constant from "../Constant";
  17. // import { roomsUtil } from "../Room/RoomsUtil.js";
  18. import { addRoad } from "../Controls/AddRoad";
  19. // import { floorplanData } from "../VectorData.js";
  20. import { furnitureService } from "../Service/FurnitureService.js";
  21. export default class UIControl {
  22. constructor(layer) {
  23. this.layer = layer;
  24. }
  25. /**
  26. * 获取选中要操作的UI
  27. */
  28. get currentUI() {}
  29. /**
  30. * 设置选中要操作的UI
  31. */
  32. set currentUI(value) {
  33. console.log(value);
  34. this.value = value;
  35. }
  36. //点击左侧栏后,更新事件
  37. updateEventNameForSelectUI() {
  38. //elementService.hideAll();
  39. //正在添加tag的时候,需要先删除
  40. const eventName = stateService.getEventName();
  41. if (eventName == LayerEvents.AddTag) {
  42. let item = stateService.getDraggingItem();
  43. if (item && item.type == VectorType.Tag) {
  44. dataService.deleteTag(item.vectorId);
  45. }
  46. }
  47. stateService.clearItems();
  48. if (this.selectUI == UIEvents.Road) {
  49. stateService.setEventName(LayerEvents.AddWall);
  50. }
  51. }
  52. /****************************************************************************针对菜单*******************************************************************************/
  53. // execute(name, value) {
  54. // stateService.clearFocusItem();
  55. // stateService.clearSelectItem();
  56. // //this.layer.$xui.hideProps()
  57. // this.layer.uiControl.currentUI = null;
  58. // switch (name) {
  59. // case "recall": //撤销
  60. // this.menu_revoke();
  61. // break;
  62. // case "recover": //恢复
  63. // this.menu_recovery();
  64. // break;
  65. // case "default": //恢复默认
  66. // this.menu_default();
  67. // break;
  68. // case "download": //下载
  69. // this.layer.div.style.visibility = "hidden";
  70. // this.menu_screenShot(value).then(() => {
  71. // this.layer.div.style.visibility = "visible";
  72. // });
  73. // break;
  74. // case "texture": //底图
  75. // this.showTexture = value;
  76. // this.layer.app.dom.querySelector(
  77. // '.player[name="main"]'
  78. // ).style.visibility = this.showTexture ? "visible" : "hidden";
  79. // break;
  80. // case "clear": //清空
  81. // this.menu_clear();
  82. // break;
  83. // case "panos": //漫游点
  84. // this.menu_panos(value);
  85. // break;
  86. // case "rotate": //旋转
  87. // this.menu_rotate();
  88. // break;
  89. // case "flex": //适应视图
  90. // this.menu_flex();
  91. // break;
  92. // }
  93. // }
  94. // //撤销
  95. // menu_revoke() {
  96. // // this.layer.history.goPreState()
  97. // // this.layer.renderer.autoRedraw()
  98. // // const historyState = historyService.getHistoryState()
  99. // // if (historyState.pre) {
  100. // // this.layer.$xui.toolbar.recall = true
  101. // // } else {
  102. // // this.layer.$xui.toolbar.recall = false
  103. // // }
  104. // // this.layer.$xui.toolbar.recover = true
  105. // this.layer.stopAddVector();
  106. // this.layer.revokeHistory();
  107. // }
  108. // //恢复
  109. // menu_recovery() {
  110. // // this.layer.history.goNextState()
  111. // // this.layer.renderer.autoRedraw()
  112. // // const historyState = historyService.getHistoryState()
  113. // // if (historyState.next) {
  114. // // this.layer.$xui.toolbar.recover = true
  115. // // } else {
  116. // // this.layer.$xui.toolbar.recover = false
  117. // // }
  118. // // this.layer.$xui.toolbar.recall = true
  119. // this.layer.recoveryHistory();
  120. // }
  121. // menu_default() {}
  122. /******************************************************************************************************************************************************************/
  123. }