1<?php
2/*
3** Zabbix
4** Copyright (C) 2001-2021 Zabbix SIA
5**
6** This program is free software; you can redistribute it and/or modify
7** it under the terms of the GNU General Public License as published by
8** the Free Software Foundation; either version 2 of the License, or
9** (at your option) any later version.
10**
11** This program is distributed in the hope that it will be useful,
12** but WITHOUT ANY WARRANTY; without even the implied warranty of
13** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14** GNU General Public License for more details.
15**
16** You should have received a copy of the GNU General Public License
17** along with this program; if not, write to the Free Software
18** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19**/
20
21
22/**
23 * Graph prototype widget form view.
24 */
25$fields = $data['dialogue']['fields'];
26
27$form = CWidgetHelper::createForm();
28
29$rf_rate_field = ($data['templateid'] === null) ? $fields['rf_rate'] : null;
30
31$form_list = CWidgetHelper::createFormList($data['dialogue']['name'], $data['dialogue']['type'],
32	$data['dialogue']['view_mode'], $data['known_widget_types'], $rf_rate_field
33);
34
35$scripts = [];
36
37// Source.
38$form_list->addRow(
39	CWidgetHelper::getLabel($fields['source_type']),
40	CWidgetHelper::getRadioButtonList($fields['source_type'])
41);
42
43// Graph prototype.
44if (array_key_exists('graphid', $fields)) {
45	$field_graphid = CWidgetHelper::getGraphPrototype($fields['graphid'],
46		$data['captions']['ms']['graph_prototypes']['graphid'], $form->getName()
47	);
48	$form_list->addRow(CWidgetHelper::getMultiselectLabel($fields['graphid']), $field_graphid);
49	$scripts[] = $field_graphid->getPostJS();
50}
51
52// Item prototype.
53if (array_key_exists('itemid', $fields)) {
54	$field_itemid = CWidgetHelper::getItemPrototype($fields['itemid'],
55		$data['captions']['ms']['item_prototypes']['itemid'], $form->getName()
56	);
57	$form_list->addRow(CWidgetHelper::getMultiselectLabel($fields['itemid']), $field_itemid);
58	$scripts[] = $field_itemid->getPostJS();
59}
60
61// Show legend.
62$form_list->addRow(CWidgetHelper::getLabel($fields['show_legend']), CWidgetHelper::getCheckBox($fields['show_legend']));
63
64// Dynamic item.
65if ($data['templateid'] === null) {
66	$form_list->addRow(CWidgetHelper::getLabel($fields['dynamic']), CWidgetHelper::getCheckBox($fields['dynamic']));
67}
68
69// Columns and Rows.
70CWidgetHelper::addIteratorFields($form_list, $fields['columns'], $fields['rows']);
71
72$form->addItem($form_list);
73
74return [
75	'form' => $form,
76	'scripts' => $scripts
77];
78