LeKoala\DevToolkit\Buttons\FastExportButton
Adds an "Fast Export" button to the bottom of a {@link GridField}.
It performs a raw query on the table instead of trying to iterate over a list of objects
Synopsis
class FastExportButton
implements
GridField_HTMLProvider,GridField_ActionProvider,GridField_URLHandler
{
- // members
- protected string $csvSeparator = ",";
- protected $exportColumns;
- protected $targetFragment;
- protected boolean $hasHeader = true;
- protected $exportName = NULL;
- protected $buttonTitle = NULL;
- protected array $listFilters = ;
- protected static integer $instances = 0;
- protected $instance;
- // methods
- public void __construct()
- public void getActionName()
- public void getHTMLFragments()
- public void getActions()
- public void handleAction()
- public void getURLHandlers()
- public void handleExport()
- public static void allFieldsForClass()
- public static void exportFieldsForClass()
- public string generateExportFileData()
- public static void encodeFunc()
- public array getExportColumns()
- public void setExportColumns()
- public boolean getHasHeader()
- public void setHasHeader()
- public string getExportName()
- public $this setExportName()
- public string getButtonTitle()
- public $this setButtonTitle()
- public string getCsvSeparator()
- public void setCsvSeparator()
Hierarchy
Implements
- SilverStripe\Forms\GridField\GridField_HTMLProvider
- SilverStripe\Forms\GridField\GridField_ActionProvider
- SilverStripe\Forms\GridField\GridField_URLHandler
Members
protected
- $csvSeparator — string
- $exportColumns — array
- $exportName — string
- $hasHeader — boolean
- $instance
—
int
Current instance count - $instances
—
int
Static instance counter to allow multiple instances to work together - $listFilters — array
-
$targetFragment
Fragment to write the button to
Methods
public
- __construct()
- allFieldsForClass()
- encodeFunc()
- exportFieldsForClass()
- generateExportFileData() — Generate export fields
- getActionName()
- getActions() — export is an action button
- getButtonTitle()
- getCsvSeparator()
- getExportColumns()
- getExportName()
- getHTMLFragments() — Place the export button in a <p> tag below the field
- getHasHeader()
- getURLHandlers() — it is also a URL
- handleAction()
- handleExport() — Handle the export, for both the action button and the URL
- setButtonTitle()
- setCsvSeparator()
- setExportColumns()
- setExportName()
- setHasHeader()