231 lines
6.0 KiB
JavaScript
231 lines
6.0 KiB
JavaScript
import { fabric } from 'fabric'
|
|
|
|
export const MENU = {
|
|
PLAN_DRAWING: 'planDrawing',
|
|
INITIAL_CANVAS_SETTING: 'initialCanvasSetting', // 배치면 초기설정
|
|
ROOF_COVERING: {
|
|
EXTERIOR_WALL_LINE: 'exteriorWallLine', // 외벽선 그리기
|
|
ROOF_SHAPE_SETTINGS: 'roofShapeSettings', // 지붕형상 설정
|
|
ROOF_SHAPE_PASSIVITY_SETTINGS: 'roofShapePassivitySettings', // 지붕형상 수동설정
|
|
ROOF_SHAPE_EDITING: 'roofShapeEditing', // 지붕형상 편집
|
|
HELP_LINE_DRAWING: 'helpLineDrawing', // 보조선 그리기
|
|
EAVES_KERAVA_EDIT: 'eavesKeravaEdit', // 처마.케라마 변경
|
|
MOVEMENT_SHAPE_UPDOWN: 'movementShapeUpdown', // 동선이동.형올림내림
|
|
OUTLINE_EDIT_OFFSET: 'outlineEditOffset', // 외벽선 편집 및 오프셋
|
|
ROOF_SHAPE_ALLOC: 'rootShapeAlloc', // 지붕면 항당
|
|
ALL_REMOVE: 'allRemove', // 전체 삭제
|
|
DEFAULT: 'roofCoveringDefault', // 아무것도 선택 안할 경우
|
|
}, // 지붕덮개
|
|
BATCH_CANVAS: {
|
|
SLOPE_SETTING: 'slopeSetting', // 경사 설정
|
|
BATCH_DRAWING: 'batchDrawing', // 배치면 그리기
|
|
SURFACE_SHAPE_BATCH: 'surfaceShapeBatch', // 면형상 배치
|
|
SURFACE_SHAPE_BATCH_TEMP: 'surfaceShapeBatchTemp', // 면형상 배치 임시
|
|
OBJECT_BATCH: 'objectBatch', // 오브젝트 배치
|
|
ALL_REMOVE: 'allRemove', // 전체 삭제
|
|
DEFAULT: 'batchCanvasDefault', // default
|
|
}, // 배치면
|
|
MODULE_CIRCUIT_SETTING: {
|
|
BASIC_SETTING: 'basicSetting', // 기본설정
|
|
CIRCUIT_TRESTLE_SETTING: 'circuitTrestleSetting', // 회로가대설정
|
|
PLAN_ORIENTATION: 'planOrientation', // 도면 방위적용
|
|
DEFAULT: 'moduleCircuitSettingDefault',
|
|
}, // 모듈회로구성
|
|
ESTIMATE: 'estimate', // todo 견적서
|
|
POWER_GENERATION_SIMULATION: 'powerGenerationSimulation', // todo 발전 시뮬레이션
|
|
}
|
|
|
|
export const Mode = {
|
|
DRAW_LINE: 'drawLine', // 기준선 긋기모드`
|
|
EDIT: 'edit',
|
|
TEMPLATE: 'template',
|
|
PATTERNA: 'patterna',
|
|
PATTERNB: 'patternb',
|
|
TEXTBOX: 'textbox',
|
|
DRAW_RECT: 'drawRect',
|
|
ROOF_PATTERN: 'roofPattern', //지붕패턴 모드
|
|
ROOF_TRESTLE: 'roofTrestle', //지붕가대 모드
|
|
FILL_CELLS: 'fillCells', //태양광셀 모드
|
|
CELL_POWERCON: 'cellPowercon', //파워콘
|
|
DRAW_HELP_LINE: 'drawHelpLine', // 보조선 그리기 모드 지붕 존재해야함
|
|
ADSORPTION_POINT: 'adsorptionPoint', //흡착점 모드
|
|
OPENING: 'opening', //개구 모드
|
|
SHADOW: 'shadow', //그림자 생성 모드
|
|
DEFAULT: 'default',
|
|
}
|
|
|
|
export const LINE_TYPE = {
|
|
WALLLINE: {
|
|
/**
|
|
* 없음 / 처마 / 캐라바 / 벽 / 팔작지붕 / 반절처 / 한쪽흐름
|
|
*/
|
|
DEFAULT: 'default',
|
|
EAVES: 'eaves',
|
|
EAVE_HELP_LINE: 'eaveHelpLine',
|
|
GABLE: 'gable',
|
|
GABLE_LEFT: 'gableLeft', //케라바 왼쪽
|
|
GABLE_RIGHT: 'gableRight', //케라바 오른쪽
|
|
WALL: 'wall',
|
|
HIPANDGABLE: 'hipAndGable',
|
|
JERKINHEAD: 'jerkinhead',
|
|
SHED: 'shed',
|
|
ETC: 'etc',
|
|
},
|
|
SUBLINE: {
|
|
/**
|
|
* 추녀 / 마루 / 박공 / 지붕골 / 박공단
|
|
*/
|
|
HIP: 'hip',
|
|
RIDGE: 'ridge',
|
|
GABLE: 'gable',
|
|
VERGE: 'verge',
|
|
ONESIDE_FLOW_RIDGE: 'onesideFlowRidge', //한쪽흐름 용마루
|
|
YOSEMUNE: 'yosemune', //요세무네
|
|
VALLEY: 'valley', //골짜기
|
|
L_ABANDON_VALLEY: 'lAbandonValley', //l의버림계곡
|
|
MANSARD: 'mansard', //맨사드
|
|
WALL_COLLECTION: 'wallCollection', //벽취합
|
|
WALL_COLLECTION_TYPE: 'wallCollectionType', //벽취합(형)
|
|
WALL_COLLECTION_FLOW: 'wallCollectionFlow', //벽취합(흐름)
|
|
WALL_COLLECTION_FLOW_LEFT: 'wallCollectionFlowLeft', //벽취합(흐름 왼쪽)
|
|
WALL_COLLECTION_FLOW_RIGHT: 'wallCollectionFlowRight', //벽취합(흐름 오른쪽)
|
|
},
|
|
}
|
|
|
|
// 오브젝트 배치 > 개구배치, 그림자배치
|
|
export const BATCH_TYPE = {
|
|
OPENING: 'opening',
|
|
OPENING_TEMP: 'openingTemp',
|
|
SHADOW: 'shadow',
|
|
SHADOW_TEMP: 'shadowTemp',
|
|
TRIANGLE_DORMER: 'triangleDormer',
|
|
TRIANGLE_DORMER_TEMP: 'triangleDormerTemp',
|
|
PENTAGON_DORMER: 'pentagonDormer',
|
|
PENTAGON_DORMER_TEMP: 'pentagonDormerTemp',
|
|
}
|
|
// 오브젝트 배치 > 프리입력, 치수입력
|
|
export const INPUT_TYPE = {
|
|
FREE: 'free',
|
|
DIMENSION: 'dimension',
|
|
}
|
|
|
|
export const POLYGON_TYPE = {
|
|
ROOF: 'roof',
|
|
WALL: 'wall',
|
|
TRESTLE: 'trestle',
|
|
MODULE_SETUP_SURFACE: 'moduleSetupSurface',
|
|
MODULE: 'module',
|
|
OBJECT_SURFACE: 'objectOffset',
|
|
}
|
|
|
|
// 가대 관련 상수
|
|
export const TRESTLE_MATERIAL = {
|
|
EAVE_BAR: 'eaveBar',
|
|
HALF_EAVE_BAR: 'halfEaveBar',
|
|
RACK: 'rack',
|
|
SMART_RACK: 'smartRack',
|
|
BRACKET: 'bracket',
|
|
}
|
|
|
|
export const MODULE_SETUP_TYPE = {
|
|
LAYOUT: 'layout',
|
|
AUTO: 'auto',
|
|
}
|
|
|
|
export const SAVE_KEY = [
|
|
'selectable',
|
|
'name',
|
|
'parentId',
|
|
'id',
|
|
'length',
|
|
'idx',
|
|
'direction',
|
|
'parentDirection',
|
|
'lines',
|
|
'points',
|
|
'lockMovementX',
|
|
'lockMovementY',
|
|
'lockRotation',
|
|
'lockScalingX',
|
|
'lockScalingY',
|
|
'opacity',
|
|
'cells',
|
|
'maxX',
|
|
'maxY',
|
|
'minX',
|
|
'minY',
|
|
'x',
|
|
'y',
|
|
'x1',
|
|
'x2',
|
|
'y1',
|
|
'y2',
|
|
'attributes',
|
|
'stickeyPoint',
|
|
'text',
|
|
'pitch',
|
|
'uuid',
|
|
'originText',
|
|
'groupYn',
|
|
'groupName',
|
|
'lineDirection',
|
|
'groupId',
|
|
'planeSize',
|
|
'actualSize',
|
|
'surfaceId',
|
|
'lines',
|
|
'offset',
|
|
'arrow',
|
|
'surfaceCompass',
|
|
'surfaceCompassType',
|
|
'moduleCompass',
|
|
'isFixed',
|
|
'modules',
|
|
'rackLen',
|
|
'itemId',
|
|
'supFitQty',
|
|
'supFitIntvlPct',
|
|
'rackLen',
|
|
'trestleDetail',
|
|
'turfPoints',
|
|
'tempIndex',
|
|
'surfaceId',
|
|
'moduleRowsTotCnt',
|
|
'seq',
|
|
'smartRackId',
|
|
'directionText',
|
|
'quotationParam',
|
|
'pcses',
|
|
'roofMaterial',
|
|
'isComplete',
|
|
'moduleInfo',
|
|
'circuitNumber',
|
|
'circuit',
|
|
'onlyOffset',
|
|
'isChidory',
|
|
'textVisible',
|
|
'groupPoints',
|
|
'fontSize',
|
|
'fontStyle',
|
|
'fontWeight',
|
|
'dormerAttributes',
|
|
'toFixed',
|
|
'startPoint',
|
|
'endPoint',
|
|
'editable',
|
|
'isSortedPoints',
|
|
'isMultipleOf45',
|
|
'from',
|
|
'originColor',
|
|
'originWidth',
|
|
'originHeight',
|
|
'skeletonLines',
|
|
'skeleton',
|
|
'viewportTransform',
|
|
'outerLineFix',
|
|
'adjustRoofLines',
|
|
'northModuleYn',
|
|
]
|
|
|
|
export const OBJECT_PROTOTYPE = [fabric.Line.prototype, fabric.Polygon.prototype, fabric.Triangle.prototype, fabric.Group.prototype]
|