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

contributte / datagrid / 8685602316

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

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

16.0
/src/Filter/FilterSelect.php
1
<?php declare(strict_types = 1);
2

3
namespace Contributte\Datagrid\Filter;
4

5
use Contributte\Datagrid\Datagrid;
6
use Nette\Application\UI\Form;
7
use Nette\Forms\Container;
8
use Nette\Forms\Controls\BaseControl;
9
use UnexpectedValueException;
10

11
class FilterSelect extends OneColumnFilter
12
{
13

14
        protected bool $translateOptions = false;
15

16
        protected array $attributes = [
17
                'class' => ['form-select', 'form-select-sm'],
18
        ];
19

20
        protected ?string $template = 'datagrid_filter_select.latte';
21

22
        protected ?string $type = 'select';
23

24
        protected ?string $prompt = null;
25

26
        public function __construct(
1✔
27
                Datagrid $grid,
28
                string $key,
29
                string $name,
30
                protected array $options,
31
                string $column
32
        )
33
        {
34
                parent::__construct($grid, $key, $name, $column);
1✔
35
        }
1✔
36

37
        public function addToFormContainer(Container $container): void
38
        {
UNCOV
39
                $form = $container->lookup(Form::class);
×
40

UNCOV
41
                if (!$form instanceof Form) {
×
UNCOV
42
                        throw new UnexpectedValueException();
×
43
                }
44

UNCOV
45
                $translator = $form->getTranslator();
×
46

UNCOV
47
                if ($translator === null) {
×
UNCOV
48
                        throw new UnexpectedValueException();
×
49
                }
50

51
                $select = $this->addControl($container, $this->key, $this->name, $this->options);
×
52

UNCOV
53
                if (!$this->translateOptions) {
×
UNCOV
54
                        $select->setTranslator(null);
×
55
                }
56
        }
57

58
        /**
59
         * @return static
60
         */
61
        public function setTranslateOptions(bool $translateOptions = true): self
62
        {
UNCOV
63
                $this->translateOptions = $translateOptions;
×
64

65
                return $this;
×
66
        }
67

68
        public function getOptions(): array
69
        {
UNCOV
70
                return $this->options;
×
71
        }
72

73
        public function getTranslateOptions(): bool
74
        {
UNCOV
75
                return $this->translateOptions;
×
76
        }
77

78
        public function getCondition(): array
79
        {
80
                return [$this->column => $this->getValue()];
1✔
81
        }
82

83
        public function getPrompt(): ?string
84
        {
UNCOV
85
                return $this->prompt;
×
86
        }
87

88
        /**
89
         * @return static
90
         */
91
        public function setPrompt(?string $prompt): self
92
        {
UNCOV
93
                $this->prompt = $prompt;
×
94

UNCOV
95
                return $this;
×
96
        }
97

98
        protected function addControl(
99
                Container $container,
100
                string $key,
101
                string $name,
102
                array $options
103
        ): BaseControl
104
        {
UNCOV
105
                $input = $container->addSelect($key, $name, $options);
×
106

UNCOV
107
                if ($this->getPrompt() !== null) {
×
UNCOV
108
                        $input->setPrompt($this->getPrompt());
×
109
                }
110

UNCOV
111
                $this->addAttributes($input);
×
112

UNCOV
113
                return $input;
×
114
        }
115

116
}
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