Пользовательский StorageManager с использованием GrapesJs API Storage Manager
Я новичок в GrapesJs & пытаюсь достичь следующего:
Я пытаюсь реализовать собственный менеджер хранилища с помощью API хранилища GrapesJs
Я пытаюсь получить / установить данные из / в localStorage (т.е. ResponseFromLocalStorage).
Ниже мой код:
const editor = grapesjs.init({
container: '#gjs',
fromElement: true,
height: '500px',
width: 'auto',
storageManager: {
type: 'jekyllLocalStore'
}
});
//Custom Storage
var storeMan=editor.StorageManager;
//set Config
storeMan.setAutosave=true;
storeMan.setStepsBeforeSave=1;
//Now Add Custom Storage Manager
storeMan.add('jekyllLocalStore', {
load: function(ResponseFromLocalStorage, clb1) {
var res = {};
$.each(ResponseFromLocalStorage,function(key,val){
console.log(key+'--->'+val);
if(val) res[key] = val;
});
clb1(res); // might be called inside some async method
},
store: function(ResponseFromLocalStorage, clb2) {
localStorage.setItem("wholeRes123",JSON.stringify(ResponseFromLocalStorage));
clb2(); // might be called inside some async method
}
});
В то время как код выполняется, элемент localStorage с именем wholeRes123 создается успешно, с данными из ResponseFromLocalStorage, но во время сохранения изменения не обновляются в wholeRes123.
Насколько я понимаю, если autoSave установлен в true, сохранение должно начаться после завершения редактирования, а затем store: должен выполнить код.
Что я делаю неправильно? Пожалуйста, помогите мне в этом.
Спасибо.
0 ответов
Ваш код может сохраняться, но не загружается. Попробуйте добавить автозагрузку в true или попробуйте вызвать ее после сохранения