** 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.
**/
$screenWidget = new CWidget();
$form = (new CFilter('web.hostscreen.filter.state'))->addNavigator();
$screenWidget->addItem($form);
if (empty($this->data['screen']) || empty($this->data['host'])) {
    $screenWidget->setTitle(_('Screens'))->addItem(new CTableInfo());
    $screenBuilder = new CScreenBuilder();
    CScreenBuilder::insertScreenStandardJs(['timeline' => $screenBuilder->timeline]);
} else {
    $screenWidget->setTitle([$this->data['screen']['name'], SPACE, _('on'), SPACE, (new CSpan($this->data['host']['name']))->addClass(ZBX_STYLE_ORANGE)]);
    $controls = new CList();
    // host screen list
    if (!empty($this->data['screens'])) {
        $screenComboBox = new CComboBox('screenList', 'host_screen.php?hostid=' . $this->data['hostid'] . '&screenid=' . $this->data['screenid'], 'javascript: redirect(this.options[this.selectedIndex].value);');
        foreach ($this->data['screens'] as $screen) {
            $screenComboBox->addItem('host_screen.php?hostid=' . $this->data['hostid'] . '&screenid=' . $screen['screenid'], $screen['name']);
        }
        $controls->addItem($screenComboBox)->addItem(get_icon('fullscreen', ['fullscreen' => $this->data['fullscreen']]));
        $screenWidget->setControls($controls);
    }
    // append screens to widget
    $screenBuilder = new CScreenBuilder(['screen' => $this->data['screen'], 'mode' => SCREEN_MODE_PREVIEW, 'hostid' => $this->data['hostid'], 'period' => $this->data['period'], 'stime' => $this->data['stime'], 'profileIdx' => 'web.screens', 'profileIdx2' => $this->data['screen']['screenid']]);
    $screenWidget->addItem((new CDiv($screenBuilder->show()))->addClass(ZBX_STYLE_TABLE_FORMS_CONTAINER));
    CScreenBuilder::insertScreenStandardJs(['timeline' => $screenBuilder->timeline, 'profileIdx' => $screenBuilder->profileIdx]);
}
return $screenWidget;