• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

contributte / datagrid / 8416932662

13 Mar 2024 12:24PM UTC coverage: 34.102%. Remained the same
8416932662

push

github

web-flow
[7.x] Next (#1060)

* PHP 8.0

* Translator: switch from ITranslator to Translator (#973)

* [7.x] Bootstrap 5 + PHP 8 + vanilla javascript (#1021)

* Bootstrap 5

* Bootstrap 5 (docs)

* Bootstrap 5

* form-control -> form-select

* Bump bootstrap-select for Bootstrap 5 support

* Removed `input-sm` from Bootstrap 3

See https://getbootstrap.com/docs/4.0/migration/#forms-1

* Bootstrap 5: When selectpicker, replace form-select classes with form-control and refresh it

* Hide `underline` also for `dropdown-item`. And merged into one CSS rule.

* Update the filterMultiSelect initialization

* Text-align: left -> start

Co-authored-by: Radim Vaculík <radim.vaculik@gmail.com>
Co-authored-by: Jaroslav Líbal <jaroslav.libal@neatous.cz>

* [7.x] phpstan-deprecation-rules (#1061)

* Fix sort

* Add method for setting custom Action href, v6.x (#853)

* [7.x] Nextras ORM 4 support, closes #984

* Fix ElasticsearchDataSource.php data source (#1041)

* Error: Typed property Ublaboo\DataGrid\InlineEdit\InlineEdit::$itemID must not be accessed before initialization

* composer: allow-plugins: php-http/discovery

* ItemDetailForm: $httpPost: Typed property must not be accessed...

* phpstan: revert  --memory-limit=4G

* NetteDatabaseSelectionHelper: Context -> Explorer, getSupplementalDriver -> getDriver

* Update README.md

* Templates: fix variables

* data-bs-toggle attribute for multiaction button (#1072)

* dependabot.yml (#1078)

* Allow nette/utils:4.0 (#1077)

* Add onColumnShow and onColumnHide event methods (#1076)

* Add onColumnShow and onColumnHide event methods

* Add native type array

* Removed duplicity

* Return value of BackedEnum when reading Doctrine entity property. (#1081)

* Return value of BackedEnum when reading array value (#1083)

* Added method to check if filter is on default values; Closes #1082 (#1084)

* ublaboo -> contributte (#1067) (#1075)

* Delete depe... (continued)

117 of 435 new or added lines in 54 files covered. (26.9%)

1455 existing lines in 67 files now uncovered.

1124 of 3296 relevant lines covered (34.1%)

0.34 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.0
/src/Export/ExportCsv.php
1
<?php declare(strict_types = 1);
2

3
namespace Contributte\Datagrid\Export;
4

5
use Contributte\Application\Response\CSVResponse;
6
use Contributte\Datagrid\CsvDataModel;
7
use Contributte\Datagrid\Datagrid;
8

9
class ExportCsv extends Export
10
{
11

12
        public function __construct(
1✔
13
                Datagrid $grid,
14
                string $text,
15
                string $name,
16
                bool $filtered,
17
                string $outputEncoding = 'utf-8',
18
                string $delimiter = ';',
19
                bool $includeBom = false
20
        )
21
        {
22
                if (!str_contains($name, '.csv')) {
1✔
UNCOV
23
                        $name .= '.csv';
×
24
                }
25

26
                parent::__construct(
1✔
27
                        $grid,
1✔
28
                        $text,
29
                        $this->getExportCallback($name, $outputEncoding, $delimiter, $includeBom),
1✔
30
                        $filtered
31
                );
32
        }
1✔
33

34
        private function getExportCallback(
1✔
35
                string $name,
36
                string $outputEncoding,
37
                string $delimiter,
38
                bool $includeBom
39
        ): callable
40
        {
41
                return function (
1✔
42
                        array $data,
43
                        Datagrid $grid
44
                ) use (
45
                        $name,
1✔
46
                        $outputEncoding,
1✔
47
                        $delimiter,
1✔
48
                        $includeBom
1✔
49
): void {
50
                        $columns = $this->getColumns();
1✔
51

52
                        if ($columns === []) {
1✔
53
                                $columns = $this->grid->getColumns();
1✔
54
                        }
55

56
                        $csvDataModel = new CsvDataModel($data, $columns, $this->grid->getTranslator());
1✔
57

58
                        $this->grid->getPresenter()->sendResponse(new CSVResponse(
1✔
59
                                $csvDataModel->getSimpleData(),
1✔
60
                                $name,
61
                                $outputEncoding,
62
                                $delimiter,
63
                                $includeBom
64
                        ));
65
                };
1✔
66
        }
67

68
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc