PHP Class MetaModels\DcGeneral\Dca\Builder\Builder

Show file Open project: metamodels/core Class Usage Examples

Protected Properties

Property Type Description
$inputScreen MetaModels\BackendIntegration\InputScreen\IInputScreen The input screen to use.
$serviceContainer MetaModels\IMetaModelsServiceContainer The MetaModel this builder is responsible for.
$translator ContaoCommunityAlliance\Translator\StaticTranslator The translator instance this builder adds values to.

Public Methods

Method Description
__construct ( MetaModels\IMetaModelsServiceContainer $serviceContainer, MetaModels\BackendIntegration\InputScreen\IInputScreen $inputScreen ) Create a new instance and instantiate the translator.
build ( ContaoCommunityAlliance\DcGeneral\Factory\Event\BuildDataDefinitionEvent $event ) : void Handle a build data definition event for MetaModels.
getBackendIcon ( string $icon ) : null | string Generate a 16x16 pixel version of the passed image file. If this can not be done, the default image is returned.
populate ( ContaoCommunityAlliance\DcGeneral\Factory\Event\PopulateEnvironmentEvent $event ) : void Handle a populate environment event for MetaModels.

Protected Methods

Method Description
addHierarchicalConditions ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : void Parse the correct conditions for a MetaModel with variant support.
addParentCondition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : void Parse the correct conditions for a MetaModel with variant support.
addSelectCommand ( ContaoCommunityAlliance\DcGeneral\Contao\DataDefinition\Definition\Contao2BackendViewDefinitionInterface $view, MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Add the select command to the backend view definition.
buildPropertyFromDca ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\PropertiesDefinitionInterface $definition, string $propName, MetaModels\BackendIntegration\InputScreen\IInputScreen $inputScreen ) : void Build the property information for a certain property from the data container array.
calculateConditions ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Parse the correct conditions.
calculateConditionsWithVariants ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : void Parse the correct conditions for a MetaModel with variant support.
calculateConditionsWithoutVariants ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : void Parse the correct conditions for a MetaModel with variant support.
convertRenderGroupType ( string $type ) : string Convert a render group type from InputScreen value to GroupAndSortingInformationInterface value.
createCommand ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\CommandCollectionInterface $collection, string $operationName, array $queryParameters, string $icon, array $extraValues ) : Builder Build a command into the the command collection.
ensureSubmitElement ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowCollectionInterface $panelRows ) : void Ensure at least one submit element is present in any of the rows.
getCommandInstance ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\CommandCollectionInterface $collection, string $operationName ) : ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\CommandInterface Retrieve or create a command instance of the given name.
getDataProviderDefinition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\DataProviderDefinitionInterface | ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\DefaultDataProviderDefinition Retrieve the data provider definition.
getInputScreenDetails ( ) : MetaModels\BackendIntegration\InputScreen\IInputScreen Return the input screen details.
getMetaModel ( ) : MetaModels\IMetaModel Retrieve the MetaModel.
getRootCondition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : ContaoCommunityAlliance\DcGeneral\DataDefinition\ModelRelationship\RootConditionInterface Parse the correct conditions for a MetaModel with variant support.
getViewCombinations ( ) : MetaModels\BackendIntegration\ViewCombinations | null Retrieve the MetaModel.
mapTranslations ( array $array, string $domain, string $baseKey = '' ) : void Map all translation values from the given array to the given destination domain using the optional base key.
parseBackendView ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Parse and build the backend view definition for the old Contao2 backend view.
parseBasicDefinition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Parse the basic configuration and populate the definition.
parseDataProvider ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Create the data provider definition in the container if not already set.
parseListLabel ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\ListingConfigInterface $listing ) : void Parse the sorting part of listing configuration.
parseListSorting ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\ListingConfigInterface $listing ) : void Parse the sorting part of listing configuration.
parseListing ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\Contao\DataDefinition\Definition\Contao2BackendViewDefinitionInterface $view ) : void Parse the listing configuration.
parseMetaModelDefinition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Parse the basic configuration and populate the definition.
parseModelOperations ( ContaoCommunityAlliance\DcGeneral\Contao\DataDefinition\Definition\Contao2BackendViewDefinitionInterface $view, MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Parse the defined model scoped operations and populate the definition.
parsePalettes ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Parse the palettes from the input screen into the data container.
parsePanelFilter ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void Add filter elements to the panel.
parsePanelLimit ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void Add elements to the panel.
parsePanelRow ( array $fields, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $panelRow ) : void Parse a single row with all elements.
parsePanelSearch ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void Add search element to the panel.
parsePanelSort ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void Add sort element to the panel.
parsePanelSubmit ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void Add elements to the panel.
parsePanels ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Parse the panels, if we have some one.
parseProperties ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void Parse the defined properties and populate the definition.

Method Details

__construct() public method

Create a new instance and instantiate the translator.
public __construct ( MetaModels\IMetaModelsServiceContainer $serviceContainer, MetaModels\BackendIntegration\InputScreen\IInputScreen $inputScreen )
$serviceContainer MetaModels\IMetaModelsServiceContainer The name of the MetaModel being created.
$inputScreen MetaModels\BackendIntegration\InputScreen\IInputScreen The input screen to use.

addHierarchicalConditions() protected method

Parse the correct conditions for a MetaModel with variant support.
protected addHierarchicalConditions ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
$definition ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface The relationship container.
return void

addParentCondition() protected method

Parse the correct conditions for a MetaModel with variant support.
protected addParentCondition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
$definition ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface The relationship container.
return void

addSelectCommand() protected method

Add the select command to the backend view definition.
protected addSelectCommand ( ContaoCommunityAlliance\DcGeneral\Contao\DataDefinition\Definition\Contao2BackendViewDefinitionInterface $view, MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$view ContaoCommunityAlliance\DcGeneral\Contao\DataDefinition\Definition\Contao2BackendViewDefinitionInterface The backend view definition.
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The metamodel data definition.
return void

build() public method

Handle a build data definition event for MetaModels.
public build ( ContaoCommunityAlliance\DcGeneral\Factory\Event\BuildDataDefinitionEvent $event ) : void
$event ContaoCommunityAlliance\DcGeneral\Factory\Event\BuildDataDefinitionEvent The event payload.
return void

buildPropertyFromDca() protected method

Build the property information for a certain property from the data container array.
protected buildPropertyFromDca ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\PropertiesDefinitionInterface $definition, string $propName, MetaModels\BackendIntegration\InputScreen\IInputScreen $inputScreen ) : void
$definition ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\PropertiesDefinitionInterface The property collection definition.
$propName string The name of the property.
$inputScreen MetaModels\BackendIntegration\InputScreen\IInputScreen The input screen instance.
return void

calculateConditions() protected method

Parse the correct conditions.
protected calculateConditions ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
return void

calculateConditionsWithVariants() protected method

Parse the correct conditions for a MetaModel with variant support.
protected calculateConditionsWithVariants ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
$definition ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface The relationship container.
return void

calculateConditionsWithoutVariants() protected method

Parse the correct conditions for a MetaModel with variant support.
protected calculateConditionsWithoutVariants ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
$definition ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface The relationship container.
return void

convertRenderGroupType() protected method

Convert a render group type from InputScreen value to GroupAndSortingInformationInterface value.
protected convertRenderGroupType ( string $type ) : string
$type string The group type.
return string

createCommand() protected method

Build a command into the the command collection.
protected createCommand ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\CommandCollectionInterface $collection, string $operationName, array $queryParameters, string $icon, array $extraValues ) : Builder
$collection ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\CommandCollectionInterface The command collection.
$operationName string The operation name.
$queryParameters array The query parameters for the operation.
$icon string The icon to use in the backend.
$extraValues array The extra values for the command.
return Builder

ensureSubmitElement() protected method

If no submit element is present, this method will create one at the end of the last row.
protected ensureSubmitElement ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowCollectionInterface $panelRows ) : void
$panelRows ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowCollectionInterface The panel rows.
return void

getBackendIcon() public method

Generate a 16x16 pixel version of the passed image file. If this can not be done, the default image is returned.
public getBackendIcon ( string $icon ) : null | string
$icon string The name of the image file.
return null | string

getCommandInstance() protected method

Retrieve or create a command instance of the given name.
protected getCommandInstance ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\CommandCollectionInterface $collection, string $operationName ) : ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\CommandInterface
$collection ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\CommandCollectionInterface The command collection.
$operationName string The name of the operation.
return ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\CommandInterface

getDataProviderDefinition() protected method

Retrieve the data provider definition.
protected getDataProviderDefinition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\DataProviderDefinitionInterface | ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\DefaultDataProviderDefinition
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
return ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\DataProviderDefinitionInterface | ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\DefaultDataProviderDefinition

getInputScreenDetails() protected method

Return the input screen details.
protected getInputScreenDetails ( ) : MetaModels\BackendIntegration\InputScreen\IInputScreen
return MetaModels\BackendIntegration\InputScreen\IInputScreen

getMetaModel() protected method

Retrieve the MetaModel.
protected getMetaModel ( ) : MetaModels\IMetaModel
return MetaModels\IMetaModel

getRootCondition() protected method

Parse the correct conditions for a MetaModel with variant support.
protected getRootCondition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface $definition ) : ContaoCommunityAlliance\DcGeneral\DataDefinition\ModelRelationship\RootConditionInterface
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
$definition ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\ModelRelationshipDefinitionInterface The relationship container.
return ContaoCommunityAlliance\DcGeneral\DataDefinition\ModelRelationship\RootConditionInterface

getViewCombinations() protected method

Retrieve the MetaModel.
protected getViewCombinations ( ) : MetaModels\BackendIntegration\ViewCombinations | null
return MetaModels\BackendIntegration\ViewCombinations | null

mapTranslations() protected method

Map all translation values from the given array to the given destination domain using the optional base key.
protected mapTranslations ( array $array, string $domain, string $baseKey = '' ) : void
$array array The array holding the translation values.
$domain string The target domain.
$baseKey string The base key to prepend the values of the array with.
return void

parseBackendView() protected method

Parse and build the backend view definition for the old Contao2 backend view.
protected parseBackendView ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
return void

parseBasicDefinition() protected method

Parse the basic configuration and populate the definition.
protected parseBasicDefinition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
return void

parseDataProvider() protected method

Create the data provider definition in the container if not already set.
protected parseDataProvider ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
return void

parseListLabel() protected method

Parse the sorting part of listing configuration.
protected parseListLabel ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\ListingConfigInterface $listing ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
$listing ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\ListingConfigInterface The listing config.
return void

parseListSorting() protected method

Parse the sorting part of listing configuration.
protected parseListSorting ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\ListingConfigInterface $listing ) : void
$listing ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\ListingConfigInterface The listing configuration.
return void

parseListing() protected method

Parse the listing configuration.
protected parseListing ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container, ContaoCommunityAlliance\DcGeneral\Contao\DataDefinition\Definition\Contao2BackendViewDefinitionInterface $view ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
$view ContaoCommunityAlliance\DcGeneral\Contao\DataDefinition\Definition\Contao2BackendViewDefinitionInterface The view definition.
return void

parseMetaModelDefinition() protected method

Parse the basic configuration and populate the definition.
protected parseMetaModelDefinition ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
return void

parseModelOperations() protected method

Parse the defined model scoped operations and populate the definition.
protected parseModelOperations ( ContaoCommunityAlliance\DcGeneral\Contao\DataDefinition\Definition\Contao2BackendViewDefinitionInterface $view, MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$view ContaoCommunityAlliance\DcGeneral\Contao\DataDefinition\Definition\Contao2BackendViewDefinitionInterface The backend view information.
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
return void

parsePalettes() protected method

Parse the palettes from the input screen into the data container.
protected parsePalettes ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
return void

parsePanelFilter() protected method

Add filter elements to the panel.
protected parsePanelFilter ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void
$row ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface The row to which the element shall get added to.
return void

parsePanelLimit() protected method

Add elements to the panel.
protected parsePanelLimit ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void
$row ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface The row to which the element shall get added to.
return void

parsePanelRow() protected method

Parse a single row with all elements.
protected parsePanelRow ( array $fields, ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $panelRow ) : void
$fields array A list of fields for adding to the row.
$panelRow ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface The row container itself.
return void

parsePanelSearch() protected method

Add search element to the panel.
protected parsePanelSearch ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void
$row ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface The row to which the element shall get added to.
return void

parsePanelSort() protected method

Add sort element to the panel.
protected parsePanelSort ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void
$row ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface The row to which the element shall get added to.
return void

parsePanelSubmit() protected method

Add elements to the panel.
protected parsePanelSubmit ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface $row ) : void
$row ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\PanelRowInterface The row to which the element shall get added to.
return void

parsePanels() protected method

Parse the panels, if we have some one.
protected parsePanels ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The panel container.
return void

parseProperties() protected method

Parse the defined properties and populate the definition.
protected parseProperties ( MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition $container ) : void
$container MetaModels\DcGeneral\DataDefinition\IMetaModelDataDefinition The data container.
return void

populate() public method

Handle a populate environment event for MetaModels.
public populate ( ContaoCommunityAlliance\DcGeneral\Factory\Event\PopulateEnvironmentEvent $event ) : void
$event ContaoCommunityAlliance\DcGeneral\Factory\Event\PopulateEnvironmentEvent The event payload.
return void

Property Details

$inputScreen protected property

The input screen to use.
protected IInputScreen,MetaModels\BackendIntegration\InputScreen $inputScreen
return MetaModels\BackendIntegration\InputScreen\IInputScreen

$serviceContainer protected property

The MetaModel this builder is responsible for.
protected IMetaModelsServiceContainer,MetaModels $serviceContainer
return MetaModels\IMetaModelsServiceContainer

$translator protected property

The translator instance this builder adds values to.
protected StaticTranslator,ContaoCommunityAlliance\Translator $translator
return ContaoCommunityAlliance\Translator\StaticTranslator