sClassName = get_class($oObject); $this->sClassLabel = MetaModel::GetName($this->GetClassName()); $this->sObjectId = $oObject->GetKey(); // Note: We get the raw name as only the front-end consumer knows when and how to encode it. $this->sObjectName = $oObject->GetRawName(); $this->sObjectMode = $sMode; $this->sIconUrl = $oObject->GetIcon(false); if(MetaModel::HasStateAttributeCode($this->sClassName)) { $this->sStatusCode = $oObject->GetState(); $this->sStatusLabel = $oObject->GetStateLabel(); $this->sStatusColor = UIHelper::GetColorFromStatus($this->sClassName, $this->sStatusCode); } parent::__construct('', [], static::DEFAULT_COLOR, $sId); } /** * @see self::$sClassName * @return string */ public function GetClassName(): string { return $this->sClassName; } /** * @see self::$sClassLabel * @return string */ public function GetClassLabel(): string { return $this->sClassLabel; } /** * @see self::$sObjectName * @return string */ public function GetObjectName(): string { return $this->sObjectName; } /** * @see self::$sObjectId * @return string */ public function GetObjectId(): string { return $this->sObjectId; } /** * @see self::$sObjectMode * @return string */ public function GetObjectMode(): string { return $this->sObjectMode; } /** * Set the status to display for the object * * @param string $sCode * @param string $sLabel * @param string $sColor * * @return $this */ public function SetStatus(string $sCode, string $sLabel, string $sColor) { $this->sStatusCode = $sColor; $this->sStatusLabel = $sLabel; $this->sStatusColor = $sColor; return $this; } /** * @see self::$sStatusCode * @return string */ public function GetStatusCode(): string { return $this->sStatusCode; } /** * @see self::$sStatusLabel * @return string */ public function GetStatusLabel(): string { return $this->sStatusLabel; } /** * @see self::$sStatusColor * @return string */ public function GetStatusColor(): string { return $this->sStatusColor; } }