File tree Expand file tree Collapse file tree 4 files changed +35
-36
lines changed Expand file tree Collapse file tree 4 files changed +35
-36
lines changed Original file line number Diff line number Diff line change 2929
3030// add country flag column
3131$ grid ->addColumn ('flag ' , [
32- Table \Column \Flag ::class,
32+ Table \Column \CountryFlag ::class,
3333 'codeField ' => $ model ->fieldName ()->iso ,
3434 'nameField ' => $ model ->fieldName ()->name ,
3535]);
Original file line number Diff line number Diff line change 1515 'neverPersist ' => true , // no need for actual value in this field
1616 'ui ' => [
1717 'table ' => [
18- Table \Column \Flag ::class,
18+ Table \Column \CountryFlag ::class,
1919 [
2020 'codeField ' => $ m ->fieldName ()->iso ,
2121 'nameField ' => $ m ->fieldName ()->name ,
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace Atk4 \Ui \Table \Column ;
6+
7+ use Atk4 \Data \Field ;
8+ use Atk4 \Data \Model ;
9+ use Atk4 \Ui \Table ;
10+
11+ class CountryFlag extends Table \Column
12+ {
13+ /** Name of country code model field (in ISO 3166-1 alpha-2 format) */
14+ public string $ codeField ;
15+
16+ /** Optional name of model field which contains full country name. */
17+ public ?string $ nameField = null ;
18+
19+ public function getHtmlTags (Model $ row , ?Field $ field ): array
20+ {
21+ $ countryCode = $ row ->get ($ this ->codeField );
22+ $ countryName = $ this ->nameField ? $ row ->get ($ this ->nameField ) : null ;
23+
24+ return [
25+ $ field ->shortName => $ countryCode === null
26+ ? ''
27+ : $ this ->getApp ()->getTag ('i ' , [
28+ 'class ' => strtolower ($ countryCode ) . ' flag ' ,
29+ 'title ' => strtoupper ($ countryCode ) . ($ countryName === null ? '' : ' - ' . $ countryName ),
30+ ]),
31+ ];
32+ }
33+ }
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments