svghmi/svghmi.js
branchsvghmi
changeset 2810 63b9a37b73c7
parent 2808 dc78ffa5253d
child 2811 4a81cec5f786
equal deleted inserted replaced
2809:b9c540253263 2810:63b9a37b73c7
   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 };