includeJsFile('configuration.dashboard.list.js.php'); $checkbox_hash = 'dashboard_'.$data['templateid']; if ($data['uncheck']) { uncheckTableRows($checkbox_hash); } $form = (new CForm()) ->setName('dashboard_form') ->addVar('templateid', $data['templateid']); $table = (new CTableInfo()) ->setHeader([ (new CColHeader( (new CCheckBox('all_dashboards')) ->onClick("checkAll('".$form->getName()."', 'all_dashboards', 'dashboardids');") ))->addClass(ZBX_STYLE_CELL_WIDTH), make_sorting_header(_('Name'), 'name', $data['sort'], $data['sortorder'], (new CUrl('zabbix.php')) ->setArgument('action', 'template.dashboard.list') ->setArgument('templateid', $data['templateid']) ->getUrl() ) ]); foreach ($data['dashboards'] as $dashboardid => $dashboard) { $table->addRow([ new CCheckBox('dashboardids['.$dashboardid.']', $dashboardid), new CLink($dashboard['name'], (new CUrl('zabbix.php')) ->setArgument('action', 'template.dashboard.edit') ->setArgument('dashboardid', $dashboardid) ->getUrl() ) ]); } $form->addItem([ $table, $data['paging'], new CActionButtonList('action', 'dashboardids', [ 'template.dashboard.delete' => [ 'name' => _('Delete'), 'confirm_singular' => _('Delete selected dashboard?'), 'confirm_plural' => _('Delete selected dashboards?'), 'csrf_token' => CCsrfTokenHelper::get('template') ] ], $checkbox_hash) ]); (new CHtmlPage()) ->setTitle(_('Dashboards')) ->setDocUrl(CDocHelper::getUrl(CDocHelper::CONFIGURATION_DASHBOARDS_LIST)) ->setControls( (new CTag('nav', true, (new CList()) ->addItem(new CRedirectButton(_('Create dashboard'), (new CUrl('zabbix.php')) ->setArgument('action', 'template.dashboard.edit') ->setArgument('templateid', $data['templateid']) )) ))->setAttribute('aria-label', _('Content controls')) ) ->setNavigation(getHostNavigation('dashboards', $data['templateid'])) ->addItem($form) ->show(); (new CScriptTag(' view.init('.json_encode([ 'checkbox_hash' => $checkbox_hash ]).'); ')) ->setOnDocumentReady() ->show();