Hi Ivan!
It helps only partially... I followed your recommendation. Now, sometimes node's state not restored, but sometimes it is restored even after removing such node from s.core.open.
I use such code:
var state_to;
$('#tree').on('open_node.jstree', function(e,data) {
if (state_to) { clearTimeout(state_to); }
state_to = setTimeout(function () {
var s = $.vakata.storage.get(params.state.key);
//var instance = $("#tree").jstree(true);
if (!s) return;
var index = 0;
var del = [];
s.core.open.forEach(function(i) {
if (data.instance.get_node(i).children.length > 100)
del.push(index);
index++;
});
del.forEach(function(i) {
s.core.open.splice(i,1);
});
$.vakata.storage.set(params.state.key, s);
}, 150);
// I need tooltip
data.instance.get_node(data.node, true).find('a').tooltip();
});
I found that after deleting large node from s.core.open this node returns back to this array. How it is possible?
Thank you,
Vladimir
PS. Sorry for my delay.