equal
deleted
inserted
replaced
178 |
178 |
179 function switch_page(page_name) { |
179 function switch_page(page_name) { |
180 let old_desc = page_desc[current_page]; |
180 let old_desc = page_desc[current_page]; |
181 let new_desc = page_desc[page_name]; |
181 let new_desc = page_desc[page_name]; |
182 /* TODO hide / show widgets */ |
182 /* TODO hide / show widgets */ |
183 /* TODO move viewport */ |
|
184 |
183 |
185 /* remove subsribers of previous page if any */ |
184 /* remove subsribers of previous page if any */ |
186 if(old_desc) for(let widget of old_desc.widgets){ |
185 if(old_desc) for(let widget of old_desc.widgets){ |
187 for(let index of widget.indexes){ |
186 for(let index of widget.indexes){ |
188 subscribers[index].delete(widget); |
187 subscribers[index].delete(widget); |
195 for(let index of widget.indexes){ |
194 for(let index of widget.indexes){ |
196 subscribers[index].add(widget); |
195 subscribers[index].add(widget); |
197 } |
196 } |
198 } |
197 } |
199 svg_root.setAttribute('viewBox',new_desc.bbox.join(" ")); |
198 svg_root.setAttribute('viewBox',new_desc.bbox.join(" ")); |
|
199 // TODO dispatch current cache in newly opened page |
200 } |
200 } |
201 current_page = page_name; |
201 current_page = page_name; |
202 |
202 |
203 update_subscriptions(); |
203 update_subscriptions(); |
204 }; |
204 }; |