Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4085628
TableCellStyle.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
TableCellStyle.php
View Options
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace
Symfony\Component\Console\Helper
;
use
Symfony\Component\Console\Exception\InvalidArgumentException
;
/**
* @author Yewhen Khoptynskyi <khoptynskyi@gmail.com>
*/
class
TableCellStyle
{
public
const
DEFAULT_ALIGN
=
'left'
;
private
const
TAG_OPTIONS
=
[
'fg'
,
'bg'
,
'options'
,
];
private
const
ALIGN_MAP
=
[
'left'
=>
\STR_PAD_RIGHT
,
'center'
=>
\STR_PAD_BOTH
,
'right'
=>
\STR_PAD_LEFT
,
];
private
array
$options
=
[
'fg'
=>
'default'
,
'bg'
=>
'default'
,
'options'
=>
null
,
'align'
=>
self
::
DEFAULT_ALIGN
,
'cellFormat'
=>
null
,
];
public
function
__construct
(
array
$options
=
[])
{
if
(
$diff
=
array_diff
(
array_keys
(
$options
),
array_keys
(
$this
->
options
)))
{
throw
new
InvalidArgumentException
(
\sprintf
(
'The TableCellStyle does not support the following options:
\'
%s
\'
.'
,
implode
(
'
\'
,
\'
'
,
$diff
)));
}
if
(
isset
(
$options
[
'align'
])
&&
!
\array_key_exists
(
$options
[
'align'
],
self
::
ALIGN_MAP
))
{
throw
new
InvalidArgumentException
(
\sprintf
(
'Wrong align value. Value must be following:
\'
%s
\'
.'
,
implode
(
'
\'
,
\'
'
,
array_keys
(
self
::
ALIGN_MAP
))));
}
$this
->
options
=
array_merge
(
$this
->
options
,
$options
);
}
public
function
getOptions
():
array
{
return
$this
->
options
;
}
/**
* Gets options we need for tag for example fg, bg.
*
* @return string[]
*/
public
function
getTagOptions
():
array
{
return
array_filter
(
$this
->
getOptions
(),
fn
(
$key
)
=>
\in_array
(
$key
,
self
::
TAG_OPTIONS
,
true
)
&&
isset
(
$this
->
options
[
$key
]),
\ARRAY_FILTER_USE_KEY
);
}
public
function
getPadByAlign
():
int
{
return
self
::
ALIGN_MAP
[
$this
->
getOptions
()[
'align'
]];
}
public
function
getCellFormat
():
?
string
{
return
$this
->
getOptions
()[
'cellFormat'
];
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Aug 18 2026, 08:26 (6 w, 5 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
b9/42/5270abbec68db9d05bcab1bd2116
Default Alt Text
TableCellStyle.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment