<?php declare(strict_types = 0); /* ** Copyright (C) 2001-2025 Zabbix SIA ** ** This program is free software: you can redistribute it and/or modify it under the terms of ** the GNU Affero General Public License as published by the Free Software Foundation, version 3. ** ** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; ** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ** See the GNU Affero General Public License for more details. ** ** You should have received a copy of the GNU Affero General Public License along with this program. ** If not, see <https://www.gnu.org/licenses/>. **/ namespace Widgets\DataOver\Includes; use Zabbix\Widgets\CWidgetForm; use Zabbix\Widgets\Fields\{ CWidgetFieldCheckBox, CWidgetFieldMultiSelectGroup, CWidgetFieldMultiSelectHost, CWidgetFieldMultiSelectOverrideHost, CWidgetFieldRadioButtonList, CWidgetFieldTags }; /** * Data overview widget form. */ class WidgetForm extends CWidgetForm { public function addFields(): self { return $this ->addField($this->isTemplateDashboard() ? null : new CWidgetFieldMultiSelectGroup('groupids', _('Host groups')) ) ->addField($this->isTemplateDashboard() ? null : new CWidgetFieldMultiSelectHost('hostids', _('Hosts')) ) ->addField( (new CWidgetFieldRadioButtonList('evaltype', _('Item tags'), [ TAG_EVAL_TYPE_AND_OR => _('And/Or'), TAG_EVAL_TYPE_OR => _('Or') ]))->setDefault(TAG_EVAL_TYPE_AND_OR) ) ->addField( new CWidgetFieldTags('tags') ) ->addField( new CWidgetFieldCheckBox('show_suppressed', _('Show suppressed problems')) ) ->addField( (new CWidgetFieldRadioButtonList( 'style', $this->isTemplateDashboard() ? _('Host location') : _('Hosts location'), [ STYLE_LEFT => _('Left'), STYLE_TOP => _('Top') ] ))->setDefault(STYLE_LEFT) ) ->addField( new CWidgetFieldMultiSelectOverrideHost() ); } }