Source
const data = Object.assign({}, this.filter_defaults, this.global_timerange, url.getArgumentsObject());
<?php
/*
** 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/>.
**/
/**
* @var CView $this
*/
?>
<script>
const view = {
refresh_url: null,
refresh_simple_url: null,
refresh_interval: null,
filter_defaults: null,
filter: null,
global_timerange: null,
active_filter: null,
refresh_timer: null,
filter_counter_fetch: null,
running: false,
timeout: null,
deferred: null,
opened_eventids: [],
init({filter_options, refresh_url, refresh_interval, filter_defaults}) {
this.refresh_url = new Curl(refresh_url);
this.refresh_interval = refresh_interval;
this.filter_defaults = filter_defaults;
const url = new Curl('zabbix.php');
url.setArgument('action', 'problem.view.refresh');
this.refresh_simple_url = url.getUrl();
this.initFilter(filter_options);
$.subscribe('event.rank_change', () => view.refreshNow());
this.initAcknowledge();
this.initExpandables();
if (this.refresh_interval != 0) {
this.running = true;
this.scheduleRefresh();
}
$(document).on({
mouseenter: function() {
if ($(this)[0].scrollWidth > $(this)[0].offsetWidth) {
$(this).attr({title: $(this).text()});
}
},
mouseleave: function() {
if ($(this).is('[title]')) {
$(this).removeAttr('title');
}
}
}, 'table.<?= ZBX_STYLE_COMPACT_VIEW ?> a.<?= ZBX_STYLE_LINK_ACTION ?>');
// Activate blinking.
jqBlink.blink();
},
initFilter(filter_options) {
if (!filter_options) {
return;
}
this.filter = new CTabFilter($('#monitoring_problem_filter')[0], filter_options);
this.active_filter = this.filter._active_item;
this.global_timerange = {
from: filter_options.timeselector.from,
to: filter_options.timeselector.to
};
/**
* Update on filter changes.
*/
this.filter.on(TABFILTER_EVENT_URLSET, () => {
const url = new Curl();