|
@@ -15,12 +15,11 @@ import { floorplanData } from '../FloorplanData.js'
|
|
|
import { signService } from '../Service/SignService.js'
|
|
|
import mitt from 'mitt'
|
|
|
|
|
|
-export default class UIControl {
|
|
|
+export default class UIControl{
|
|
|
constructor(layer) {
|
|
|
this.layer = layer
|
|
|
this.bus = mitt()
|
|
|
this.selectUI = null;
|
|
|
- this.uiSelectCallback = null;
|
|
|
|
|
|
// this.bus.emit('')
|
|
|
}
|
|
@@ -83,108 +82,34 @@ export default class UIControl {
|
|
|
/**
|
|
|
* 设置部件属性
|
|
|
* @param {*} type 部件类型
|
|
|
- * @param {*} name 属性名称
|
|
|
* @param {*} value 属性值
|
|
|
*/
|
|
|
- setAttributes(type, name, value) {
|
|
|
- console.log(name)
|
|
|
- let item = stateService.getFocusItem()
|
|
|
- switch (name) {
|
|
|
- case 'remove':
|
|
|
- if (type == VectorType.Wall) {
|
|
|
- floorplanService.deleteWall(item.vectorId)
|
|
|
- } else if (type == VectorType.Tag) {
|
|
|
- floorplanService.deleteTag(item.vectorId)
|
|
|
- let _item = stateService.getDraggingItem()
|
|
|
- if (_item && _item.vectorId != item.vectorId) {
|
|
|
- floorplanService.deleteTag(_item.vectorId)
|
|
|
- }
|
|
|
- } else if (type == VectorType.WallCorner) {
|
|
|
- wallService.deleteWallCorner(item.vectorId)
|
|
|
- } else if (signService.isSign(type)) {
|
|
|
- floorplanService.deleteSign(item.vectorId)
|
|
|
- }
|
|
|
- stateService.clearItems()
|
|
|
- stateService.clearEventName()
|
|
|
- this.layer.renderer.autoRedraw()
|
|
|
- break
|
|
|
- case 'angle':
|
|
|
- if (signService.isSign(type)) {
|
|
|
- let sign = floorplanService.getSign(item.vectorId)
|
|
|
- sign.angle = value
|
|
|
- this.layer.renderer.autoRedraw()
|
|
|
- }
|
|
|
- break
|
|
|
- case 'scale':
|
|
|
- if (signService.isSign(type)) {
|
|
|
- let sign = floorplanService.getSign(item.vectorId)
|
|
|
- sign.scale = value
|
|
|
- this.layer.renderer.autoRedraw()
|
|
|
- }
|
|
|
- break
|
|
|
- case 'split':
|
|
|
- if (type == VectorType.Wall) {
|
|
|
- let wall = floorplanService.getWall(item.vectorId)
|
|
|
- let startPoint = floorplanService.getPoint(wall.start)
|
|
|
- let endPoint = floorplanService.getPoint(wall.end)
|
|
|
- let mid = {
|
|
|
- x: (startPoint.x + endPoint.x) / 2,
|
|
|
- y: (startPoint.y + endPoint.y) / 2,
|
|
|
- }
|
|
|
- let point = wallService.createPoint(mid.x, mid.y)
|
|
|
- const _wallId = wallService.splitWall(item.vectorId, point.vectorId, 'start')
|
|
|
-
|
|
|
- wall = floorplanService.getWall(item.vectorId)
|
|
|
- startPoint = floorplanService.getPoint(wall.start)
|
|
|
- endPoint = floorplanService.getPoint(wall.end)
|
|
|
- let _mid = {
|
|
|
- x: (startPoint.x + endPoint.x) / 2,
|
|
|
- y: (startPoint.y + endPoint.y) / 2,
|
|
|
- }
|
|
|
- let focusItem = {
|
|
|
- vectorId: _wallId,
|
|
|
- type: type,
|
|
|
- }
|
|
|
-
|
|
|
- if (mid.x < _mid.x) {
|
|
|
- stateService.setFocusItem(focusItem)
|
|
|
- } else if (mid.x == _mid.x && mid.y > _mid.y) {
|
|
|
- stateService.setFocusItem(focusItem)
|
|
|
- }
|
|
|
- this.layer.renderer.autoRedraw()
|
|
|
- }
|
|
|
- break
|
|
|
- case 'tag':
|
|
|
- if (type == VectorType.Tag) {
|
|
|
- let tag = floorplanService.getTag(item.vectorId)
|
|
|
- if (value != null && value.trim() != '') {
|
|
|
- tag.setTitle(value)
|
|
|
- } else {
|
|
|
- tag.setTitle(KanKan.Config.i18n('cad.input'))
|
|
|
- }
|
|
|
-
|
|
|
- //this.layer.history.save()
|
|
|
- this.layer.renderer.autoRedraw()
|
|
|
- }
|
|
|
- break
|
|
|
- }
|
|
|
+ setAttributes(type, value) {
|
|
|
+
|
|
|
}
|
|
|
|
|
|
showAttributes(item) {
|
|
|
+ let type = item.type;
|
|
|
+ let value = null;
|
|
|
switch (item.type) {
|
|
|
case VectorType.Tag:
|
|
|
const tag = floorplanService.getTag(item.vectorId)
|
|
|
- this.uiSelectCallback(item.type,item.value)
|
|
|
+ value = item.value;
|
|
|
return;
|
|
|
case VectorType.Table:
|
|
|
- this.uiSelectCallback(item.type,item.value)
|
|
|
+ value = item.value;
|
|
|
return;
|
|
|
}
|
|
|
- this.uiSelectCallback(item.type,null)
|
|
|
+ this.bus.emit('showAttribute',{
|
|
|
+ type:type,
|
|
|
+ value:value
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
clearUI() {
|
|
|
this.selectUI = null
|
|
|
+ this.bus.emit('hideAttribute')
|
|
|
+ this.bus.emit('hideUI')
|
|
|
}
|
|
|
|
|
|
getSignTypeForUI() {
|