Toolbar.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. namespace FastReport.Web.Blazor.Components
  6. {
  7. public partial class Toolbar
  8. {
  9. float currentZoom;
  10. bool isFirstPage;
  11. bool isLastPage;
  12. const string zoomSymbol = "•";
  13. static readonly float[] zoomList = new[] { 300f, 200f, 150f, 100f, 90f, 75f, 50f, 25f };
  14. private ToolbarLocalization Localization;
  15. private int CurrentPage
  16. {
  17. get => WebReport.CurrentPageIndex + 1;
  18. set => WebReport.CurrentPageIndex = value + 1;
  19. }
  20. private int InputValue
  21. {
  22. get => CurrentPage;
  23. set
  24. {
  25. if (value != CurrentPage)
  26. {
  27. // Check bounds
  28. if (value > 0 && value < WebReport.TotalPages + 1)
  29. {
  30. WebReport.GotoPage(value - 1);
  31. PageChanged.Invoke();
  32. }
  33. }
  34. }
  35. }
  36. public Toolbar()
  37. {
  38. }
  39. private void ClickSettingsExport(Exports export)
  40. {
  41. WebReport.ExportType = export;
  42. ClickSettingsExport();
  43. }
  44. private void ClickSettingsExport()
  45. {
  46. WebReport.EnableModalDialog = true;
  47. OpenModalDialog?.Invoke();
  48. //WebReport.Container?.OnUpdate(false);
  49. }
  50. private void Reload()
  51. {
  52. WebReport.OnUpdate(true);
  53. }
  54. private void Zoom(float value)
  55. {
  56. WebReport.Zoom = value / 100;
  57. WebReport.OnUpdate();
  58. }
  59. private string Save(string exportFormat)
  60. {
  61. return WebReport.template_export_url(exportFormat);
  62. }
  63. private string Print(string printFormat)
  64. {
  65. return WebReport.template_print_url(printFormat);
  66. }
  67. private string SaveFpx => Save("fpx");
  68. private string SavePdf => Save("pdf");
  69. private string SaveXlsx => Save("xlsx");
  70. private string SaveDocx => Save("docx");
  71. private string SavePowerPoint2007 => Save("pptx");
  72. private string SaveText => Save("txt");
  73. private string SaveRtf => Save("rtf");
  74. private string SaveXps => Save("xps");
  75. private string SaveOds => Save("ods");
  76. private string SaveOdt => Save("odt");
  77. private string SaveXmlExcel => Save("xml");
  78. private string SaveDbf => Save("dbf");
  79. private string SaveCsv => Save("csv");
  80. private string SaveSvg => Save("svg");
  81. private string SaveBiff8 => Save("xls");
  82. private string SaveHpgl => Save("hpgl");
  83. private string SaveHTML => Save("html");
  84. //private string SaveImage => Save("jpeg");
  85. private string SaveJson => Save("json");
  86. private string SaveDxf => Save("dxf");
  87. private string SaveLaTeX => Save("latex");
  88. private string SavePpml=> Save("ppml");
  89. private string SavePS => Save("ps");
  90. private string SaveXaml => Save("xaml");
  91. private string SaveZpl => Save("zpl");
  92. //private string SaveEmail => Save(""); //Required modal window
  93. private string PrintHtml => Print("html");
  94. private string PrintPdf => Print("pdf");
  95. private void GotoFirst()
  96. {
  97. WebReport.FirstPage();
  98. PageChanged.Invoke();
  99. }
  100. private void GotoPrevious()
  101. {
  102. if (CurrentPage - 1 > 0)
  103. {
  104. WebReport.PrevPage();
  105. PageChanged.Invoke();
  106. }
  107. }
  108. private void GotoNext()
  109. {
  110. if (CurrentPage < WebReport.TotalPages)
  111. {
  112. WebReport.NextPage();
  113. PageChanged.Invoke();
  114. }
  115. }
  116. private void GotoLast()
  117. {
  118. WebReport.LastPage();
  119. PageChanged.Invoke();
  120. }
  121. }
  122. }