<?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/>. **/ /** * Host navigator widget form view. * * @var CView $this * @var array $data */ use Widgets\HostNavigator\Includes\CWidgetFieldHostGroupingView; $form = new CWidgetFormView($data); $groupids_field = array_key_exists('groupids', $data['fields']) ? new CWidgetFieldMultiSelectGroupView($data['fields']['groupids']) : null; $hosts_field = array_key_exists('hosts', $data['fields']) ? (new CWidgetFieldPatternSelectHostView($data['fields']['hosts'])) ->setFilterPreselect([ 'id' => $groupids_field->getId(), 'accept' => CMultiSelect::FILTER_PRESELECT_ACCEPT_ID, 'submit_as' => 'groupid' ]) : null; $form ->addField($groupids_field) ->addField($hosts_field) ->addField(array_key_exists('status', $data['fields']) ? new CWidgetFieldRadioButtonListView($data['fields']['status']) : null ) ->addField(array_key_exists('host_tags_evaltype', $data['fields']) ? new CWidgetFieldRadioButtonListView($data['fields']['host_tags_evaltype']) : null ) ->addField(array_key_exists('host_tags', $data['fields']) ? new CWidgetFieldTagsView($data['fields']['host_tags']) : null ) ->addField( new CWidgetFieldSeveritiesView($data['fields']['severities']) ) ->addField( new CWidgetFieldCheckBoxView($data['fields']['maintenance']) ) ->addField( new CWidgetFieldRadioButtonListView($data['fields']['problems']) ) ->addField( new CWidgetFieldHostGroupingView($data['fields']['group_by']) ) ->addField(array_key_exists('show_lines', $data['fields']) ? new CWidgetFieldIntegerBoxView($data['fields']['show_lines']) : null ) ->show();