AddInput(self::INPUT_CLASS_NAME, ClassIOFormat::class); } /** @inheritdoc */ public function InitOutputs(): void { parent::InitOutputs(); $this->AddOutput(self::OUTPUT_ATTRIBUTE, AttributeIOFormat::class, new StringToAttributeConverter()); } /** @inheritdoc */ public function UpdateDynamicOptions(string $sEventType = null): void { $oClass = $this->GetInput(self::INPUT_CLASS_NAME)->GetValue($sEventType); $aAttributeCodes = MetaModel::GetAttributesList($oClass); $aAttributes = []; foreach ($aAttributeCodes as $sAttributeCode){ $oAttribute = MetaModel::GetAttributeDef(strval($oClass), $sAttributeCode); $aAttributes[$oAttribute->GetLabel()] = $sAttributeCode; } $this->aDynamicOptions['choices'] = $aAttributes; } }