/** * @inheritdoc */ public function repeatable($object) { TypeChecker::getInstance()->check($object, [Block::getClass(), AbstractField::getClass()], 'object')->throwTypeErrorIfNotValid(); $repeatableBlockName = $object->getName(); $repeatableBlockTitle = $object->getTitle(); $object->title(''); $repeatableBlock = new Block($repeatableBlockName, $repeatableBlockTitle); $repeatableBlock->setRepeatable(true); $object->setName('#IND#'); $repeatableBlock->setRepeatObject($object); $deepCopy = new DeepCopy(); $objectClone = $deepCopy->copy($repeatableBlock->getRepeatObject()); $objectClone->setParent($repeatableBlock); $objectClone->setName('0'); $repeatableBlock->children()->add($objectClone); $repeatableBlock->setParent($this); $this->children()->add($repeatableBlock); return $this; }