Пользовательский 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 или попробуйте вызвать ее после сохранения

Другие вопросы по тегам