Source
this.#form.querySelector('[name=item_ordering_order_by]:checked').value == <?= WidgetForm::ORDERBY_HOST ?>;
<?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/>.
**/
use Widgets\TopItems\Includes\WidgetForm;
?>
window.widget_topitems_form = new class {
/**
* Widget form.
*
* @type {HTMLFormElement}
*/
#form;
/**
* Template id.
*
* @type {string}
*/
#templateid;
/**
* Column list container.
*
* @type {HTMLElement}
*/
#list_columns;
/**
* Column list entry template.
*
* @type {Template}
*/
#list_column_tmpl;
init({templateid}) {
this.#form = document.getElementById('widget-dialogue-form');
this.#list_columns = document.getElementById('list_columns');
this.#list_column_tmpl = new Template(this.#list_columns.querySelector('template').innerHTML);
this.#templateid = templateid;
new CSortable(this.#list_columns.querySelector('tbody'), {
selector_handle: 'div.<?= ZBX_STYLE_DRAG_ICON ?>',
freeze_end: 1
}).on(CSortable.EVENT_SORT, (e) => {
const form_fields = getFormFields(this.#form);
if (form_fields.columns === undefined) {
return;