PanelController.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * The Controller for the Exporter view.
  3. *
  4. * Provides logic which is referenced by listeners, handlers and renderers in the view which are configured
  5. * as strings. They are resolved to members of this class.
  6. *
  7. */
  8. Ext.define('uas.view.grid.exporter.Panel', {
  9. extend: 'Ext.app.ViewController',
  10. alias: 'controller.grid-exporter',
  11. requires: [
  12. 'Ext.exporter.text.CSV',
  13. 'Ext.exporter.text.TSV',
  14. 'Ext.exporter.text.Html',
  15. 'Ext.exporter.excel.Xml',
  16. 'Ext.exporter.excel.Xlsx'
  17. ],
  18. exportTo: function(btn){
  19. var cfg = Ext.merge({
  20. title: 'Grid export demo',
  21. fileName: 'GridExport' + '.' + (btn.cfg.ext || btn.cfg.type)
  22. }, btn.cfg);
  23. this.getView().saveDocumentAs(cfg);
  24. },
  25. onBeforeDocumentSave: function(view){
  26. this.timeStarted = Date.now();
  27. view.mask('Document is prepared for export. Please wait ...');
  28. Ext.log('export started');
  29. },
  30. onDocumentSave: function(view){
  31. view.unmask();
  32. Ext.log('export finished; time passed = ' + (Date.now() - this.timeStarted));
  33. },
  34. onDataReady: function(){
  35. Ext.log('data ready; time passed = ' + (Date.now() - this.timeStarted));
  36. }
  37. });