EasyUI Forum
April 28, 2024, 04:23:34 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Save State of Tabs  (Read 1075 times)
poeziafree
Jr. Member
**
Posts: 69


View Profile Email
« on: July 09, 2022, 11:58:19 PM »

Hello,

How can I save all opened tabs with URLs and all data in local storage and recreate them automatically on page reload?

Preferably, the saved data should be updated/created on creating a new tab.

Thanks
Logged
jarry
Administrator
Hero Member
*****
Posts: 2262


View Profile Email
« Reply #1 on: July 11, 2022, 02:49:31 AM »

Here is the simple functions to save and restore the tabs' state.
Code:
function saveState(t, key){
var tabs = $(t).tabs('tabs');
var state = [];
for(var i=0; i<tabs.length; i++){
var opts = $.extend({},tabs[i].panel('options'));
delete opts.tab;
for(var f in opts){
if ($.isFunction(opts[f])){
delete opts[f];
}
}
state.push(opts);
}
localStorage.setItem(key, JSON.stringify(state));
}
function restoreState(t, key){
var tabs = $(t).tabs('tabs');
for(var i=tabs.length-1;i>=0;i--){
$(t).tabs('close', i);
}
var data = localStorage.getItem(key);
if (data){
var state = JSON.parse(data);
for(var i=0; i<state.length; i++){
$(t).tabs('add', state[i]);
}
}
}

Usage example.
Code:
saveState('#tt', 'mykey');     // save the state
restoreState('#tt', 'mykey');  // restore the state
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!