. **/ namespace Widgets\ProblemHosts\Includes; use Zabbix\Widgets\{ CWidgetField, CWidgetForm }; use Zabbix\Widgets\Fields\{ CWidgetFieldCheckBox, CWidgetFieldMultiSelectGroup, CWidgetFieldMultiSelectHost, CWidgetFieldMultiSelectOverrideHost, CWidgetFieldRadioButtonList, CWidgetFieldSeverities, CWidgetFieldTags, CWidgetFieldTextBox }; /** * Problem hosts 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 CWidgetFieldMultiSelectGroup('exclude_groupids', _('Exclude host groups')) ) ->addField($this->isTemplateDashboard() ? null : new CWidgetFieldMultiSelectHost('hostids', _('Hosts')) ) ->addField( new CWidgetFieldTextBox('problem', _('Problem')) ) ->addField( new CWidgetFieldSeverities('severities', _('Severity')) ) ->addField( (new CWidgetFieldRadioButtonList('evaltype', _('Problem 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($this->isTemplateDashboard() ? null : new CWidgetFieldCheckBox('hide_empty_groups', _('Hide groups without problems')) ) ->addField( (new CWidgetFieldRadioButtonList('ext_ack', _('Problem display'), [ EXTACK_OPTION_ALL => _('All'), EXTACK_OPTION_BOTH => _('Separated'), EXTACK_OPTION_UNACK => _('Unacknowledged only') ]))->setDefault(EXTACK_OPTION_ALL) ) ->addField( new CWidgetFieldMultiSelectOverrideHost() ); } }