Quintiq file version 2.0 
 | 
#parent: btnExport 
 | 
Response OnClick () id:Response_LibCal_pnlExportButton_btnExport_OnClick 
 | 
{ 
 | 
  #keys: '[131094.0.2075445445]' 
 | 
  CanBindMultiple: false 
 | 
  DefinitionID: 'Responsedef_WebButton_OnClick' 
 | 
  Precondition: 
 | 
  [* 
 | 
    return LibCal_GlobalState.HasImportExportImplemented(); 
 | 
  *] 
 | 
  QuillAction 
 | 
  { 
 | 
    Body: 
 | 
    [* 
 | 
      // Trigger the export of the calendars to XLS. 
 | 
      // The Server will store the data that must we written to the file in attribute ExportData 
 | 
      // of the ExportSource (a subtype of LibCal_ImportExport). 
 | 
      // Attribute ExportID of the ExportSource is 'monitored' by lblExportID using databinding. 
 | 
      // When the value of the attribute changes, the label will trigger the writing of the data to file 
 | 
      // iff the ExportID matches the value that is provided to the Server by this method. 
 | 
      // So the assignment of exportID to attribute ExportID acts as a callback from the Server to the 
 | 
      // Client that the ExportData is ready to be retrieved. 
 | 
       
 | 
      // Get the calendars that will be exported. 
 | 
      calendars := LibCal_pnlExportButton.GetCalendars(); 
 | 
       
 | 
      // Generate an exportID and register it so that there can be recognized later on that the ExportData is for this Client. 
 | 
      exportID := Key::NextPersistentKey(); 
 | 
      lblMyExportID.Text( [String]exportID ); 
 | 
       
 | 
      // Trigger the export, providing the exportID and the calendars-to-be-exported. 
 | 
      exportSource := LibCal_pnlExportButton.GetExportSource(); 
 | 
      if( not isnull( exportSource ) ) 
 | 
      { 
 | 
        exportSource.Export( exportID, calendars ); 
 | 
      } 
 | 
    *] 
 | 
    GroupServerCalls: false 
 | 
  } 
 | 
} 
 |