Source
this._preselect(this._highlighted_index >= 0 ? this._highlighted_index : this._first(this._highlighted_index));
/*
** Zabbix
** Copyright (C) 2001-2021 Zabbix SIA
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** 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 General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**/
class ZSelect extends HTMLElement {
constructor() {
super();
this._options_map = new Map();
this._option_template = "#{label}";
this._selected_option_template = "#{label}";
this._highlighted_index = -1;
this._preselected_index = -1;
this._expanded = false;
this._list_hovered = false;
this._button = document.createElement('button');
this._input = document.createElement('input');
this._list = document.createElement('ul');
this._events = {};
this._is_connected = false;
}
connectedCallback() {
this._is_connected = true;
this.init();
this.registerEvents();
}
disconnectedCallback() {
this.unregisterEvents();
}
/**
* @return {array}
*/
static get observedAttributes() {
return ['name', 'value', 'disabled', 'readonly', 'width'];
}