HamlNode::setIndentationLevel PHP Method

setIndentationLevel() public method

public setIndentationLevel ( $level )
    public function setIndentationLevel($level)
    {
        $oldLevel = $this->getIndentationLevel();
        parent::setIndentationLevel($level);
        $this->_spaces = $this->createSpaces();
        if ($this->hasChildren()) {
            $children = $this->getChildren();
            for ($i = 0, $len = count($children); $i < $len; $i++) {
                $childNode = $children[$i];
                $currentLevel = $this->getIndentationLevel();
                $childLevel = $childNode->getIndentationLevel();
                $oldDiff = $childLevel - $oldLevel;
                $newLevel = $currentLevel + $oldDiff;
                $childNode->setIndentationLevel($newLevel);
            }
        }
    }

Usage Example

Esempio n. 1
0
 public function testSetIndentationLevelTemplate()
 {
     $parentNode = new HamlNode("parent");
     $childNode = new HamlNode("  child");
     $childNode2 = new HamlNode("    child");
     $parentNode->addNode($childNode);
     $childNode->addNode($childNode2);
     $parentNode->setIndentationLevel($parentNode->getIndentationLevel() + 2);
     $output = $parentNode->render();
     $this->assertEquals("  parent\n    child\n      child\n", $output);
 }
All Usage Examples Of HamlNode::setIndentationLevel