UNPKG

lost-sia

Version:

Single Image Annotation Tool

55 lines (45 loc) 1.34 kB
export const SIA_INITIAL_UI_CONFIG = { nodeRadius: 4, strokeWidth: 4, annoDetails: { visible: false, }, labelInfo: { visible: false, }, annoStats: { visible: false, }, } // read sia-ui-config from localStorage const iniFromStorage = localStorage.getItem('sia-ui-config') ? JSON.parse(localStorage.getItem('sia-ui-config')) : SIA_INITIAL_UI_CONFIG // collect object keys and its type in order to describe the object const collectDescription = (obj, array) => { Object.keys(obj).forEach((key) => { const description = { key: key, type: typeof obj[key], } array.push(description) if (typeof obj[key] === 'object') { collectDescription(obj[key], array) } }) } // collect object description for ini and storage ui-config let iniObjectDescriptor = [] let storageObjectDescriptor = [] collectDescription(SIA_INITIAL_UI_CONFIG, iniObjectDescriptor) collectDescription(iniFromStorage, storageObjectDescriptor) // compare both object descriptions const getUiConfig = () => { if (JSON.stringify(iniObjectDescriptor) === JSON.stringify(storageObjectDescriptor)) { return iniFromStorage } else { // ini description dif from storage: send ini ui-config and store it to local storage return SIA_INITIAL_UI_CONFIG } } export const uiConfig = getUiConfig()