Quintiq file version 2.0
#parent: #root
Method PanelSearchEntities () id:Method_ApplicationLibMacroPlanner_PanelSearchEntities
{
  #keys: '[113694.2.1064582829]'
  Body:
  [*
    // search units by string, highlight & select the instances in the list
    
    if( not isnull( MacroPlan ) )
    {
      filter := 'guard( not object.astype( StockingPoint_MP ).IsSystem(), true )';
      
      if( EditorSearchUnit.Text() <> '' )
      {
        units := construct( Units );
        stockingpoints := construct( StockingPoint_MPs );
        
        entities := MacroPlan.GetEntitiesByName( EditorSearchUnit.Text(), &units, &stockingpoints );
        
        if( entities.Size() < 1000 ) // Performance cap
        {     
          DataHolderUnits.Data( units.Copy() );
          DataHolderStockingPoints.Data( stockingpoints.Copy() );
            
          DataHolderSearchEntity.Data( entities.Copy() );
          filter := filter + ' and exists( dataholdersearchentity, Elements, e, e = object )';
        } 
      }
      GUIDataSetLevelUnit.FixedFilter( filter );
    }
  *]
}
