/** * @param array $data * @param Report $report */ protected static function resolveDrillDownDisplayAttributes($data, Report $report) { $report->removeAllDrillDownDisplayAttributes(); DrillDownDisplayAttributeForReportForm::resetCount(); $moduleClassName = $report->getModuleClassName(); if (count($drillDownDisplayAttributesData = ArrayUtil::getArrayValue($data, ComponentForReportForm::TYPE_DRILL_DOWN_DISPLAY_ATTRIBUTES)) > 0) { foreach ($drillDownDisplayAttributesData as $key => $drillDownDisplayAttributeData) { $drillDownDisplayAttribute = new DrillDownDisplayAttributeForReportForm($moduleClassName, $moduleClassName::getPrimaryModelName(), $report->getType(), $key); $drillDownDisplayAttribute->setAttributes($drillDownDisplayAttributeData); $report->addDrillDownDisplayAttribute($drillDownDisplayAttribute); } } else { $report->removeAllDrillDownDisplayAttributes(); } }