/** * @depends testGetCustomFieldAttributesNotUsedInOtherDependencyAttributes */ public function testMakeDependencyCollectionByMappingData() { $adapter = new DropDownDependencyToMappingLayoutAdapter('TestDropDownDependencyModel', null, 4); $mappings = $adapter->makeDependencyCollectionByMappingData(array()); $this->assertEquals(4, count($mappings)); $adapter = new DropDownDependencyToMappingLayoutAdapter('TestDropDownDependencyModel', 'someName', 4); $mappingData = array(array('attributeName' => 'something1')); $mappings = $adapter->makeDependencyCollectionByMappingData($mappingData); $this->assertEquals(4, count($mappings)); $this->assertEquals('something1', $mappings[0]->getAttributeName()); $this->assertEquals(0, $mappings[0]->getPosition()); }
/** * @param DropDownDependencyAttributeForm $model * @param string $controllerId * @param string $moduleId * @param bool $renderContainer * @return string */ public static function renderContainerAndMappingLayoutContent(DropDownDependencyAttributeForm $model, $controllerId, $moduleId, $renderContainer = true) { assert('is_string($controllerId)'); assert('is_string($moduleId)'); assert('is_bool($renderContainer)'); static::renderScripts(); $mappingDataDivId = 'DropDownDependencyMappingData'; $ajaxActionId = 'changeDropDownDependencyAttribute'; $content = null; if ($renderContainer) { $content .= '<div id="' . $mappingDataDivId . '">'; } $adapter = new DropDownDependencyToMappingLayoutAdapter($model->modelClassName, $model->attributeName, 4); $dependencyCollection = $adapter->makeDependencyCollectionByMappingData($model->mappingData); $dropDownDependencyMappingLayout = new DropDownDependencyMappingFormLayoutUtil($dependencyCollection, get_class($model), $controllerId, $moduleId, $ajaxActionId, $mappingDataDivId); $content .= $dropDownDependencyMappingLayout->render(); if ($renderContainer) { $content .= '</div>' . "\n"; } return $content; }