Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetConfigurationQuery () as JSON id:Method_FormKpiSnapshots_GetConfigurationQuery 
 | 
{ 
 | 
  #keys: '[146450.3.330067403]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Converts the configuration query into JSON. 
 | 
    json := JSON::Object(); 
 | 
     
 | 
    queryType := KpiQuery::QUERY_TRACK(); 
 | 
     
 | 
    json.Add( "QueryType", queryType ); 
 | 
     
 | 
    // Query parameters 
 | 
    // Default value for datetimefrom and datetimeto 
 | 
    datetimefrom  := DateTime::MinDateTime(); 
 | 
    datetimeto    := DateTime::MaxDateTime(); 
 | 
     
 | 
    timespan      := RadioButtonGroupTimespan.BoundValue(); 
 | 
    if( timespan = "range" ) 
 | 
    { 
 | 
      datetimefrom  := DateTimeSelectorFrom.DateTime(); 
 | 
      datetimeto    := DateTimeSelectorTo.DateTime(); 
 | 
    } 
 | 
    limit         := NumberPickerMaxResults.Number(); 
 | 
     
 | 
    json.Add( "Timespan", timespan ); 
 | 
    json.Add( "DateTimeFrom", [String] datetimefrom ); 
 | 
    json.Add( "DateTimeTo", [String] datetimeto ); 
 | 
    json.Add( "LimitSnapshot", [Number] limit ); 
 | 
     
 | 
    // Other 
 | 
    isAllSnapshotEnabled := CheckboxSelectAllSnapshots.Checked(); 
 | 
    json.Add( "IsAllSnapsnotEnabled", isAllSnapshotEnabled ); 
 | 
     
 | 
    // Label filtering 
 | 
    isLabelFilteringEnabled := CheckboxEnableLabelFiltering.Checked(); 
 | 
    labelfilters := selectvalues( DataHolderLabelFiltering.Data(), Elements, labelvalue, true, labelvalue.Value() ); 
 | 
     
 | 
    json.Add( "IsLabelFilteringEnabled", isLabelFilteringEnabled ); 
 | 
    json.Add( "LabelFilters", labelfilters.ToString( "," ) ); 
 | 
     
 | 
    // Kpi selection 
 | 
    metadatas := selectvalues( DataHolderKpiSelection.Data(), Elements, metadata, true, metadata.DisplayName() ); 
 | 
    json.Add( "MetaDatas", metadatas.ToString( "," ) ); 
 | 
     
 | 
    // Series selection 
 | 
    series := guard( DataHolderSeriesSelection.Data().Name(), '' ); 
 | 
    isLastSnapshotEnabled := CheckboxLastSnapshots.Checked(); 
 | 
    timetype := RadioButtonGroupTimeType.BoundValue(); 
 | 
     
 | 
    json.Add( "Series", series ); 
 | 
    json.Add( "IsLastSnapshotEnabled", isLastSnapshotEnabled ); 
 | 
    json.Add( "Timetype", timetype ); 
 | 
     
 | 
    return &json.Build(); 
 | 
  *] 
 | 
  ReturnsOwning: true 
 | 
} 
 |