| Quintiq file version 2.0 | 
| #parent: #root | 
| Method UpdateNavPanelSelections ( | 
|   structured[ProductInStockingPointInPeriod] pispips, | 
|   Boolean isfocus | 
| ) id:Method_FormSupplyChainVisualization_UpdateNavPanelSelections | 
| { | 
|   #keys: '[139394.0.533530746]' | 
|   Body: | 
|   [* | 
|     // Update nav panel selection | 
|     entities := construct( Entitys ); | 
|     pisps := selectset( pispips, Elements.ProductInStockingPoint_MP, pispip, true ); | 
|     entities := selectset( pisps, Elements.StockingPoint_MP, sp, true ); | 
|     products := selectset( pisps, Elements.Product_MP, p, true ); | 
|      | 
|     if( isfocus ) | 
|     { | 
|       DataHolderUpdatedEntities.Data( entities.Copy()) | 
|       DataHolderUpdatedProduct.Data( products.Copy() ); | 
|       pispip := pispips.Element( 0 ); | 
|       DataHolderDisplayPISPIP.Data( pispip ); | 
|     } | 
|     else | 
|     { | 
|       dhEntities := DataHolderCheckedEntities.Data().Copy(); | 
|       dhProduct := DataHolderCheckedProduct.Data().Copy(); | 
|       // Append new selection into nav panel | 
|       previouslySelectedEntities := construct( Entitys ); | 
|       previouslySelectedPISPs := selectset( DataHolderSelectedPISPs.Data(), Elements, e, true ); | 
|       previouslySelectedEntities := selectset( previouslySelectedPISPs, Elements.StockingPoint_MP, sp, true ); | 
|       previouslySelectedProducts := selectset( previouslySelectedPISPs, Elements.Product_MP, p, true ); | 
|        | 
|       // Append newly selected items | 
|       tobeAddedEntities := entities.Difference( previouslySelectedEntities ); | 
|       tobeAddedProducts := products.Difference( previouslySelectedProducts ); | 
|       dhEntities := dhEntities.Add( tobeAddedEntities ); | 
|       dhProduct := dhProduct.Add( tobeAddedProducts ); | 
|          | 
|       // Remove deselected items | 
|       tobeRemovedEntities :=  previouslySelectedEntities.Difference( entities ); | 
|       tobeRemovedProducts := previouslySelectedProducts.Difference( products );                          | 
|       dhEntities.Remove( tobeRemovedEntities ); | 
|       dhProduct.Remove( tobeRemovedProducts ); | 
|      | 
|       if( not isnull( DataHolderDisplayPISPIP.Data() ) ) | 
|       { | 
|         // Reappend root element | 
|         dhEntities.Add( DataHolderDisplayPISPIP.Data().ProductInStockingPoint_MP().StockingPoint_MP() ); | 
|         dhProduct.Add( DataHolderDisplayPISPIP.Data().ProductInStockingPoint_MP().Product_MP() ); | 
|       } | 
|       DataHolderUpdatedEntities.Data( dhEntities.Copy() ); | 
|       DataHolderUpdatedProduct.Data( dhProduct.Copy() ); | 
|     } | 
|      | 
|     DataHolderSelectedPISPs.Data( pisps.Copy() ); | 
|   *] | 
| } |