Bundle/WidgetMapBundle/Builder/WidgetMapBuilder.php
public function getAvailablePosition(View $view)
    {
        $widgetMaps = $view->getBuiltWidgetMap();

        $availablePositions = [];
        foreach ($widgetMaps as $slot => $widgetMap) {
            foreach ($widgetMap as $_widgetMap) {
                $availablePositions[$slot][$_widgetMap->getId()]['id'] = $_widgetMap->getId();
                $availablePositions[$slot][$_widgetMap->getId()][WidgetMap::POSITION_BEFORE] = true;
                $availablePositions[$slot][$_widgetMap->getId()][WidgetMap::POSITION_AFTER] = true;
                if ($_widgetMap->getReplaced()) {
                    $availablePositions[$slot][$_widgetMap->getId()]['replaced'] = $_widgetMap->getReplaced()->getId();
                }
            }
            /** @var WidgetMap $_widgetMap */
            foreach ($widgetMap as $_widgetMap) {
                if ($_widgetMap->getParent()) {
                    if ($substitute = $_widgetMap->getParent()->getSubstituteForView($view)) {
                        $availablePositions[$slot][$substitute->getId()][$_widgetMap->getPosition()] = false;
                    } else {
                        $availablePositions[$slot][$_widgetMap->getParent()->getId()][$_widgetMap->getPosition()] = false;
                    }
                }
            }
        }

        return $availablePositions;
    }
public function getAvailablePosition(View $view)
    {
        $widgetMaps = $view->getBuiltWidgetMap();

        $availablePositions = [];
        foreach ($widgetMaps as $slot => $widgetMap) {
            foreach ($widgetMap as $_widgetMap) {
                $availablePositions[$slot][$_widgetMap->getId()]['id'] = $_widgetMap->getId();
                $availablePositions[$slot][$_widgetMap->getId()][WidgetMap::POSITION_BEFORE] = true;
                $availablePositions[$slot][$_widgetMap->getId()][WidgetMap::POSITION_AFTER] = true;
                if ($_widgetMap->getReplaced()) {
                    $availablePositions[$slot][$_widgetMap->getId()]['replaced'] = $_widgetMap->getReplaced()->getId();
                }
            }
            /** @var WidgetMap $_widgetMap */
            foreach ($widgetMap as $_widgetMap) {
                if ($_widgetMap->getParent()) {
                    if ($substitute = $_widgetMap->getParent()->getSubstituteForView($view)) {
                        $availablePositions[$slot][$substitute->getId()][$_widgetMap->getPosition()] = false;
                    } else {
                        $availablePositions[$slot][$_widgetMap->getParent()->getId()][$_widgetMap->getPosition()] = false;
                    }
                }
            }
        }

        return $availablePositions;
    }
public function getAvailablePosition ( View $ view ) { $ widgetMaps = $ view -> getBuiltWidgetMap ( ) ; $ availablePositions = [ ] ; foreach ( $ widgetMaps as $ slot => $ widgetMap ) { foreach ( $ widgetMap as $ _widgetMap ) { $ availablePositions [ $ slot ] [ $ _widgetMap -> getId ( ) ] [ 'id' ] = $ _widgetMap -> getId ( ) ; $ availablePositions [ $ slot ] [ $ _widgetMap -> getId ( ) ] [ WidgetMap :: POSITION_BEFORE ] = true ; $ availablePositions [ $ slot ] [ $ _widgetMap -> getId ( ) ] [ WidgetMap :: POSITION_AFTER ] = true ; if ( $ _widgetMap -> getReplaced ( ) ) { $ availablePositions [ $ slot ] [ $ _widgetMap -> getId ( ) ] [ 'replaced' ] = $ _widgetMap -> getReplaced ( ) -> getId ( ) ; } } /** @var WidgetMap $_widgetMap */ foreach ( $ widgetMap as $ _widgetMap ) { if ( $ _widgetMap -> getParent ( ) ) { if ( $ substitute = $ _widgetMap -> getParent ( ) -> getSubstituteForView ( $ view ) ) { $ availablePositions [ $ slot ] [ $ substitute -> getId ( ) ] [ $ _widgetMap -> getPosition ( ) ] = false ; } else { $ availablePositions [ $ slot ] [ $ _widgetMap -> getParent ( ) -> getId ( ) ] [ $ _widgetMap -> getPosition ( ) ] = false ; } } } } return $ availablePositions ; }
This method takes the builtWidgetMap for view and creates an array that indicate, for
each widgetmap, if the position "after" and "before" are available.

@param View $view

@return array
This method takes the builtWidgetMap for view and creates an array that indicate for each widgetmap if the position after and before are available .