SetOptions($aOptions); } /** @inheritDoc */ public function GetType(): string { return iDataProvider::TYPE_SIMPLE_PROVIDER; } /** @inheritDoc */ public function SetOptions(array $aOptions): SimpleDataProvider { $this->aOptions = $aOptions; return $this; } /** @inheritDoc */ public function SetOption(string $sKey, string $sValue): SimpleDataProvider { $this->aOptions[$sKey] = $sValue; return $this; } /** @inheritDoc */ public function GetOptions(): array { return $this->aOptions; } /** * GetOptionsGroups. * * @return array */ public function GetOptionsGroups(): array { $aGroups = []; if ($this->GetGroupField() != null) { foreach ($this->GetOptions() as $aOption) { if (array_key_exists($this->GetGroupField(), $aOption)) { $aGroups[$aOption[$this->GetGroupField()]] = [ 'label' => $aOption[$this->GetGroupField()], 'value' => $aOption[$this->GetGroupField()], ]; } } } return array_values($aGroups); } }