ConditionalFormatableFactory.php
911 Bytes
<?php
namespace ACP\Column\CustomField;
use AC\Settings\Column\CustomFieldType;
use ACP\ConditionalFormat\FormattableConfig;
use ACP\ConditionalFormat\Formatter\DateFormatter\FormatFormatter;
use ACP\ConditionalFormat\Formatter\IntegerFormatter;
class ConditionalFormatableFactory {
public static function create( $field_type ): ?FormattableConfig {
switch ( $field_type ) {
// Unsupported fields
case CustomFieldType::TYPE_NON_EMPTY:
case CustomFieldType::TYPE_BOOLEAN:
case CustomFieldType::TYPE_MEDIA:
case CustomFieldType::TYPE_COLOR:
case CustomFieldType::TYPE_IMAGE:
return null;
case CustomFieldType::TYPE_DATE :
return new FormattableConfig( new FormatFormatter() );
case CustomFieldType::TYPE_NUMERIC :
case CustomFieldType::TYPE_COUNT :
return new FormattableConfig( new IntegerFormatter() );
default :
return new FormattableConfig();
}
}
}