admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
}