Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method RefreshUIIsLastAttribute ( 
 | 
  shadow[KpiSnapshotSetData] queryResult, 
 | 
  KpiLabel series, 
 | 
  structured[KpiMetaData] metadatas, 
 | 
  Boolean isLastSnapshotChecked 
 | 
) id:Method_GlobalStateKpiTracker_RefreshUIIsLastAttribute 
 | 
{ 
 | 
  #keys: '[146874.0.1589192524]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Updates the UI_IsLast attribute of the KpiValues to match the selected series / kpi. 
 | 
    // Call this method after updating the 'UI_LabelValue' attribute. 
 | 
     
 | 
    // First clean previously set flags. 
 | 
    traverse( queryResult, SnapshotData.Value, v, v.UI_IsLast() ) 
 | 
    { 
 | 
      v.UI_IsLast( false ); 
 | 
    } 
 | 
     
 | 
    // Now, if the checkbox is checked and a Series has been selected, 
 | 
    // determine which KpiValue objects represent the LAST snapshot of their 
 | 
    // KPI & LabelValue of the selected Series (= Label) 
 | 
    if( isLastSnapshotChecked and not isnull( series ) and not isnull( queryResult ) ) 
 | 
    { 
 | 
      traverse( series, Value, serieValue ) 
 | 
      { 
 | 
        traverse( metadatas, Elements, kpi ) 
 | 
        { 
 | 
            lastValue := maxselect( queryResult, SnapshotData.Value, v, 
 | 
                                    v.UI_LabelValue() = serieValue.Value() and 
 | 
                                    v.Name() = kpi.Name(), 
 | 
                                    v.UI_DateTime() ); 
 | 
            if( not isnull( lastValue ) ) 
 | 
            { 
 | 
              lastValue.UI_IsLast( true ); 
 | 
            } 
 | 
     
 | 
     
 | 
        } 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |