refactor: canvas plan 변경 여부 확인을 id->uuid로 변경

This commit is contained in:
Daseul Kim 2024-10-23 17:17:43 +09:00
parent 33877afe0b
commit 045a9b2f39

View File

@ -62,6 +62,7 @@ export function usePlan() {
'stickeyPoint',
'text',
'pitch',
'uuid',
])
const str = JSON.stringify(objs)
@ -108,16 +109,16 @@ export function usePlan() {
return JSON.parse(canvasStatus).objects.length > 0
} else {
// 저장된 캔버스
// 각각 object들의 id 목록을 추출하여 비교
const canvasObjsIds = getObjectIds(JSON.parse(canvasStatus).objects)
const dbObjsIds = getObjectIds(JSON.parse(initPlanData.canvasStatus).objects)
return canvasObjsIds.length !== dbObjsIds.length || !canvasObjsIds.every((id, index) => id === dbObjsIds[index])
// 각각 object들의 uuid 목록을 추출하여 비교
const canvasObjsUuids = getObjectUuids(JSON.parse(canvasStatus).objects)
const dbObjsUuids = getObjectUuids(JSON.parse(initPlanData.canvasStatus).objects)
return canvasObjsUuids.length !== dbObjsUuids.length || !canvasObjsUuids.every((id, index) => id === dbObjsUuids[index])
}
}
const getObjectIds = (objects) => {
const getObjectUuids = (objects) => {
return objects
.filter((obj) => obj.hasOwnProperty('id'))
.map((obj) => obj.id)
.filter((obj) => obj.hasOwnProperty('uuid'))
.map((obj) => obj.uuid)
.sort()
}
/**