. **/ namespace Widgets\HostAvail\Includes; use Zabbix\Widgets\CWidgetForm; use Zabbix\Widgets\Fields\{ CWidgetFieldCheckBox, CWidgetFieldCheckBoxList, CWidgetFieldMultiSelectGroup, CWidgetFieldMultiSelectOverrideHost, CWidgetFieldRadioButtonList }; /** * Host availability widget form. */ class WidgetForm extends CWidgetForm { public function addFields(): self { return $this ->addField($this->isTemplateDashboard() ? null : new CWidgetFieldMultiSelectGroup('groupids', _('Host groups')) ) ->addField( new CWidgetFieldCheckBoxList('interface_type', _('Interface type'), [ INTERFACE_TYPE_AGENT_ACTIVE => _('Zabbix agent (active checks)'), INTERFACE_TYPE_AGENT => _('Zabbix agent (passive checks)'), INTERFACE_TYPE_SNMP => _('SNMP'), INTERFACE_TYPE_JMX => _('JMX'), INTERFACE_TYPE_IPMI => _('IPMI') ]) ) ->addField( (new CWidgetFieldRadioButtonList('layout', _('Layout'), [ STYLE_HORIZONTAL => _('Horizontal'), STYLE_VERTICAL => _('Vertical') ]))->setDefault(STYLE_HORIZONTAL) ) ->addField( new CWidgetFieldCheckBox('maintenance', $this->isTemplateDashboard() ? _('Show data in maintenance') : _('Include hosts in maintenance') ) ) ->addField( new CWidgetFieldCheckBox('only_totals', _('Show only totals')) ) ->addField( new CWidgetFieldMultiSelectOverrideHost() ); } }