mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
CE-881 - Add booleans supportsNativePivotTables and supportsMultipleViews
This commit is contained in:
@ -31,7 +31,7 @@ import com.kingsrook.qqq.backend.core.actions.reporting.ListOfMapsExportStreamer
|
||||
import com.kingsrook.qqq.backend.core.actions.reporting.excel.poi.ExcelPoiBasedStreamingExportStreamer;
|
||||
import com.kingsrook.qqq.backend.core.exceptions.QUserFacingException;
|
||||
import com.kingsrook.qqq.backend.core.utils.StringUtils;
|
||||
import org.dhatim.fastexcel.Worksheet;
|
||||
import org.apache.poi.ss.SpreadsheetVersion;
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
@ -39,16 +39,15 @@ import org.dhatim.fastexcel.Worksheet;
|
||||
*******************************************************************************/
|
||||
public enum ReportFormat
|
||||
{
|
||||
XLSX(Worksheet.MAX_ROWS, Worksheet.MAX_COLS, ExcelPoiBasedStreamingExportStreamer::new, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "xlsx", true),
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// if we need to fall back to Fastexcel, this was its version of this. //
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// XLSX(Worksheet.MAX_ROWS, Worksheet.MAX_COLS, ExcelFastexcelExportStreamer::new, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "xlsx"),
|
||||
// XLSX(Worksheet.MAX_ROWS, Worksheet.MAX_COLS, ExcelFastexcelExportStreamer::new, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "xlsx", true, false, true),
|
||||
|
||||
JSON(null, null, JsonExportStreamer::new, "application/json", "json", false),
|
||||
CSV(null, null, CsvExportStreamer::new, "text/csv", "csv", false),
|
||||
LIST_OF_MAPS(null, null, ListOfMapsExportStreamer::new, null, null, false);
|
||||
XLSX(SpreadsheetVersion.EXCEL2007.getMaxRows(), SpreadsheetVersion.EXCEL2007.getMaxColumns(), ExcelPoiBasedStreamingExportStreamer::new, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "xlsx", true, true, true),
|
||||
JSON(null, null, JsonExportStreamer::new, "application/json", "json", false, false, true),
|
||||
CSV(null, null, CsvExportStreamer::new, "text/csv", "csv", false, false, false),
|
||||
LIST_OF_MAPS(null, null, ListOfMapsExportStreamer::new, null, null, false, false, true);
|
||||
|
||||
|
||||
private final Integer maxRows;
|
||||
@ -56,6 +55,8 @@ public enum ReportFormat
|
||||
private final String mimeType;
|
||||
private final String extension;
|
||||
private final boolean isBinary;
|
||||
private final boolean supportsNativePivotTables;
|
||||
private final boolean supportsMultipleViews;
|
||||
|
||||
private final Supplier<? extends ExportStreamerInterface> streamerConstructor;
|
||||
|
||||
@ -64,7 +65,7 @@ public enum ReportFormat
|
||||
/*******************************************************************************
|
||||
**
|
||||
*******************************************************************************/
|
||||
ReportFormat(Integer maxRows, Integer maxCols, Supplier<? extends ExportStreamerInterface> streamerConstructor, String mimeType, String extension, boolean isBinary)
|
||||
ReportFormat(Integer maxRows, Integer maxCols, Supplier<? extends ExportStreamerInterface> streamerConstructor, String mimeType, String extension, boolean isBinary, boolean supportsNativePivotTables, boolean supportsMultipleViews)
|
||||
{
|
||||
this.maxRows = maxRows;
|
||||
this.maxCols = maxCols;
|
||||
@ -72,6 +73,8 @@ public enum ReportFormat
|
||||
this.streamerConstructor = streamerConstructor;
|
||||
this.extension = extension;
|
||||
this.isBinary = isBinary;
|
||||
this.supportsNativePivotTables = supportsNativePivotTables;
|
||||
this.supportsMultipleViews = supportsMultipleViews;
|
||||
}
|
||||
|
||||
|
||||
@ -160,4 +163,26 @@ public enum ReportFormat
|
||||
{
|
||||
return isBinary;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
** Getter for supportsNativePivotTables
|
||||
**
|
||||
*******************************************************************************/
|
||||
public boolean getSupportsNativePivotTables()
|
||||
{
|
||||
return supportsNativePivotTables;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
** Getter for supportsMultipleViews
|
||||
**
|
||||
*******************************************************************************/
|
||||
public boolean getSupportsMultipleViews()
|
||||
{
|
||||
return supportsMultipleViews;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user