예제 #1
0
 /**
  * @covers \Magento\Framework\Data\Form\Element\AbstractElement::getHtmlContainerId()
  */
 public function testGetHtmlContainerIdWithFieldContainerIdPrefix()
 {
     $id = 'id';
     $prefix = 'prefix_';
     $formMock = $this->getMock('Magento\\Framework\\Data\\Form\\AbstractForm', ['getFieldContainerIdPrefix'], [], '', false);
     $formMock->expects($this->once())->method('getFieldContainerIdPrefix')->will($this->returnValue($prefix));
     $this->_model->setId($id);
     $this->_model->setForm($formMock);
     $this->assertEquals($prefix . $id, $this->_model->getHtmlContainerId());
 }
예제 #2
0
 /**
  * Add element to collection
  *
  * @todo get it straight with $after
  * @param AbstractElement $element
  * @param bool|string $after
  * @return AbstractElement
  */
 public function add(AbstractElement $element, $after = false)
 {
     // Set the Form for the node
     if ($this->_container->getForm() instanceof Form) {
         $element->setContainer($this->_container);
         $element->setForm($this->_container->getForm());
     }
     if ($after === false) {
         $this->_elements[] = $element;
     } elseif ($after === '^') {
         array_unshift($this->_elements, $element);
     } elseif (is_string($after)) {
         $newOrderElements = array();
         foreach ($this->_elements as $index => $currElement) {
             if ($currElement->getId() == $after) {
                 $newOrderElements[] = $currElement;
                 $newOrderElements[] = $element;
                 $this->_elements = array_merge($newOrderElements, array_slice($this->_elements, $index + 1));
                 return $element;
             }
             $newOrderElements[] = $currElement;
         }
         $this->_elements[] = $element;
     }
     return $element;
 }
예제 #3
0
 /**
  * Add form element
  *
  * @param AbstractElement $element
  * @param bool|string|null $after
  * @return $this
  */
 public function addElement(AbstractElement $element, $after = null)
 {
     $element->setForm($this);
     $this->getElements()->add($element, $after);
     return $this;
 }