qcast-front/src/common/common.js

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]