이 때 까지는 일정을 추가, 삭제하고, 이를 크롬 스토리지에 저장하였다. 이번에는 일정의 type
을 추가,삭제하고 스토리지에 저장하는 과정을 개발하였다.
타입을 추가하고 삭제하기 위한 모달을 만들었다.
이름은 타입의 이름을, 색은 color picker
를 이용해서 선택하거나 직접 입력해서 정할 수 있다. 컬러 픽커는 https://www.cssscript.com/demo/la-color-picker/ 이곳에서 참조하여 만들었다.
이름을 입력하고, 색을 지정하고 확인 버튼을 누르면 타입이 추가된다.
타입 오른쪽의 x
버튼을 누르면 삭제 여부를 묻는 confirm 창이 나오고 확인을 누르면 타입이 삭제 된다.
타입 추가 및 삭제를 하게되면 일정에서 했던 것과 마찬가지로 chrome.storage.sync.set
함수를 통해서 데이터를 저장하고, 크롬 익스텐션을 실행할 때 chrome.storage.sync.get
함수를 통해 데이터를 가져온다.
const setTypes = () => {
let items = {types};
chrome.storage.sync.set(items, () => {
console.log(items, '저장 되었습니다.');
});
}
const getTypes = (callback, date) => {
chrome.storage.sync.get('types', (items) => {
document.getElementById('loading').style.display = 'block';
types = items['types'] || getInitTypes();
console.log(types, items['types']);
document.getElementById('type-selection').innerHTML = '';
document.getElementById('type-selection').appendChild(createSelection(types, 'type'));
drawTypes();
drawFooterTypes();
callback(date);
document.getElementById('loading').style.display = 'none';
})
}
또 하스스톤을 .... -_-+