filterType = $filterType; $this->action = $action; $this->filterData = $filterData; } public function getData(): ?array { return $this->filterData; } /** * @return mixed|null */ public function getParam(string $name) { return $this->filterData[$name] ?? null; } public function getFilterType(): ?string { if ($this->filterType) { return $this->filterType; } // When a new column is empty, we try to get the value from serialized data return $filterData['segmentType'] ?? null; } public function getAction(): ?string { if ($this->action) { return $this->action; } // When a new column is empty, we try to get the value from serialized data // BC compatibility, the wordpress user role segment didn't have action if ($this->getFilterType() === self::TYPE_USER_ROLE && !isset($this->filterData['action'])) { return UserRole::TYPE; } return $this->filterData['action'] ?? null; } }