ExportsMenu.razor 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. 
  2. @if(WebReport.Toolbar.Exports.Show)
  3. {
  4. var exports = WebReport.Toolbar.Exports;
  5. <div class="fr-toolbar-item fr-@WebReport.ID-toolbar-item">
  6. <img src="_content/FastReport.Web/Resources/save.svg" />
  7. <div class="fr-toolbar-dropdown-content fr-@WebReport.ID-toolbar-dropdown-content">
  8. @if (exports.ShowPreparedReport)
  9. {
  10. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.Prepared)">@Localization.preparedTxt </a>
  11. }
  12. @if (exports.ShowPdfExport)
  13. {
  14. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.Pdf)">@Localization.pdfTxt</a>
  15. if (WebReport.Toolbar.Exports.EnableSettings)
  16. {
  17. <button class="fr-webreport-settings-btn" @onclick="() => ClickSettingsExport(Exports.Pdf)"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  18. }
  19. }
  20. @if (exports.ShowExcel2007Export)
  21. {
  22. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.Excel2007)">@Localization.excel2007Txt</a>
  23. if (WebReport.Toolbar.Exports.EnableSettings)
  24. {
  25. <button @onclick="() => ClickSettingsExport(Exports.Excel2007)" class="fr-webreport-settings-btn"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  26. }
  27. }
  28. @if (exports.ShowWord2007Export)
  29. {
  30. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.Word2007)">@Localization.word2007Txt</a>
  31. if (WebReport.Toolbar.Exports.EnableSettings)
  32. {
  33. <button @onclick="() => ClickSettingsExport(Exports.Word2007)" class="fr-webreport-settings-btn"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  34. }
  35. }
  36. @if (exports.ShowPowerPoint2007Export)
  37. {
  38. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.PowerPoint2007)">@Localization.powerPoint2007Txt </a>
  39. if (WebReport.Toolbar.Exports.EnableSettings)
  40. {
  41. <button class="fr-webreport-settings-btn" @onclick="() => ClickSettingsExport(Exports.PowerPoint2007)"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  42. }
  43. }
  44. @if (exports.ShowTextExport)
  45. {
  46. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.Text)">@Localization.textTxt</a>
  47. }
  48. @if (exports.ShowRtfExport)
  49. {
  50. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.Rtf)">@Localization.rtfTxt</a>
  51. if (WebReport.Toolbar.Exports.EnableSettings)
  52. {
  53. <button class="fr-webreport-settings-btn" @onclick="() => ClickSettingsExport(Exports.Rtf)"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  54. }
  55. }
  56. @if (exports.ShowXpsExport)
  57. {
  58. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.Xps)">@Localization.xpsTxt</a>
  59. }
  60. @if (exports.ShowOdsExport)
  61. {
  62. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.Ods)">@Localization.odsTxt</a>
  63. if (WebReport.Toolbar.Exports.EnableSettings)
  64. {
  65. <button @onclick="() => ClickSettingsExport(Exports.Ods)" class="fr-webreport-settings-btn"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  66. }
  67. }
  68. @if (exports.ShowOdtExport)
  69. {
  70. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Odt)">@Localization.odtTxt</a>
  71. if (WebReport.Toolbar.Exports.EnableSettings)
  72. {
  73. <button @onclick="() => ClickSettingsExport(Exports.Odt)" class="fr-webreport-settings-btn"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  74. }
  75. }
  76. @if (exports.ShowXmlExcelExport)
  77. {
  78. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.XmlExcel)">@Localization.xmlTxt</a>
  79. if (WebReport.Toolbar.Exports.EnableSettings)
  80. {
  81. <button class="fr-webreport-settings-btn" @onclick="() => ClickSettingsExport(Exports.XmlExcel)"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  82. }
  83. }
  84. @if (exports.ShowCsvExport)
  85. {
  86. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Csv)">@Localization.csvTxt</a>
  87. }
  88. @if (exports.ShowExcel97Export)
  89. {
  90. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Excel97)">@Localization.excel97Txt</a>
  91. }
  92. @if (ShowEmailExport)
  93. {
  94. <a _target="_blank" @onclick="() => ClickSettingsExport(Exports.Email)">@Localization.emailTxt</a>
  95. }
  96. @if (exports.ShowHpglExport)
  97. {
  98. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Hpgl)">@Localization.hpglTxt</a>
  99. }
  100. @if (exports.ShowHTMLExport)
  101. {
  102. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.HTML)">@Localization.htmlTxt</a>
  103. if (WebReport.Toolbar.Exports.EnableSettings)
  104. {
  105. <button @onclick="() => ClickSettingsExport(Exports.HTML)" class="fr-webreport-settings-btn"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  106. }
  107. }
  108. @*@if (exports.ShowImageExport)
  109. {<a _target="_blank" href=@SaveImage>@Localization.imageTxt</a>
  110. if (WebReport.Toolbar.Exports.EnableSettings)
  111. {
  112. <button @onclick="() => ClickSettingsExport(Exports.Image)" class="fr-webreport-settings-btn"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  113. }
  114. }*@
  115. @if (exports.ShowJsonExport)
  116. {
  117. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Json)">@Localization.jsonTxt</a>
  118. }
  119. @if (exports.ShowDxfExport)
  120. {
  121. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Dxf)">@Localization.dxfTxt</a>
  122. }
  123. @if (exports.ShowLaTeXExport)
  124. {
  125. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.LaTeX)">@Localization.latexTxt</a>
  126. }
  127. @if (exports.ShowPpmlExport)
  128. {
  129. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Ppml)">@Localization.ppmlTxt</a>
  130. }
  131. @if (exports.ShowPSExport)
  132. {
  133. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.PS)">@Localization.psTxt</a>
  134. }
  135. @if (exports.ShowXamlExport)
  136. {
  137. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Xaml)">@Localization.xamlTxt</a>
  138. }
  139. @if (exports.ShowZplExport)
  140. {
  141. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Zpl)">@Localization.zplTxt</a>
  142. }
  143. @if (exports.ShowDbfExport)
  144. {
  145. <a _target="_blank" @onclick="async () => await ExportReportAsync(Exports.Dbf)">@Localization.dbfTxt</a>
  146. }
  147. @if (exports.ShowSvgExport)
  148. {
  149. <a target="_blank" @onclick="async () => await ExportReportAsync(Exports.Svg)">@Localization.svgTxt</a>
  150. if (WebReport.Toolbar.Exports.EnableSettings)
  151. {
  152. <button class="fr-webreport-settings-btn" @onclick="() => ClickSettingsExport(Exports.Svg)"><img style="height:20px;" src="_content/FastReport.Web/Resources/settings.svg" /></button>
  153. }
  154. }
  155. </div>
  156. </div>
  157. }
  158. @code {
  159. [Parameter]
  160. public WebReport WebReport { get; set; }
  161. [Parameter]
  162. public Action OpenModalDialog { get; set; }
  163. #if WASM
  164. /// <summary>
  165. /// Not supported in Blazor WASM
  166. /// </summary>
  167. private bool ShowEmailExport = false;
  168. #else
  169. private bool ShowEmailExport => WebReport.Toolbar.Exports.ShowEmailExport;
  170. #endif
  171. protected override void OnParametersSet()
  172. {
  173. Localization = new ToolbarLocalization(WebReport.Res);
  174. }
  175. }