From e82de5d6aa55b43b50ba433867537ea44e4b4a0d Mon Sep 17 00:00:00 2001 From: daniel Date: Wed, 22 Mar 2023 14:08:03 +0100 Subject: [PATCH] fixed styles --- pandora_console/extensions/files_repo.php | 23 +- .../agentes/module_manager_editor_common.php | 288 +++++++------- pandora_console/godmode/setup/os.list.php | 3 +- pandora_console/include/functions_html.php | 4 +- .../include/functions_integriaims.php | 2 +- pandora_console/include/styles/tables.css | 10 + .../operation/agentes/estado_agente.php | 1 - .../configure_integriaims_incident.php | 350 ++++++++++-------- .../dashboard_detail_integriaims_incident.php | 38 +- .../incidents/incident_statistics.php | 21 +- .../incidents/list_integriaims_incidents.php | 238 ++++++++---- 11 files changed, 585 insertions(+), 393 deletions(-) diff --git a/pandora_console/extensions/files_repo.php b/pandora_console/extensions/files_repo.php index 656c3377c7..26e21750bb 100644 --- a/pandora_console/extensions/files_repo.php +++ b/pandora_console/extensions/files_repo.php @@ -240,7 +240,28 @@ function pandora_files_repo_operation() } // Header. - ui_print_page_header(__('Files repository'), 'images/extensions.png', false, '', false, $onheader); + ui_print_standard_header( + __('Files repository'), + 'images/extensions.png', + false, + '', + false, + $onheader, + [ + [ + 'link' => '', + 'label' => __('Admin tools'), + ], + [ + 'link' => '', + 'label' => __('Extension manager'), + ], + [ + 'link' => '', + 'label' => __('Files repository'), + ], + ] + ); $full_extensions_dir = $config['homedir'].'/'.EXTENSIONS_DIR.'/'; include_once $full_extensions_dir.'files_repo/functions_files_repo.php'; diff --git a/pandora_console/godmode/agentes/module_manager_editor_common.php b/pandora_console/godmode/agentes/module_manager_editor_common.php index 0231245274..b30f3d4c2c 100644 --- a/pandora_console/godmode/agentes/module_manager_editor_common.php +++ b/pandora_console/godmode/agentes/module_manager_editor_common.php @@ -445,79 +445,75 @@ $tableBasicThresholds->rowclass['caption_warning_threshold'] = 'field_half_width $tableBasicThresholds->rowclass['warning_threshold'] = 'field_half_width'; $tableBasicThresholds->data['caption_warning_threshold'][0] .= __('Warning threshold').' '; -if ((isset($stringTypeModule) === false || $stringTypeModule === false)) { - $tableBasicThresholds->data['caption_warning_threshold'][0] .= '('.__('Min / Max').')'; - $tableBasicThresholds->data['warning_threshold'][0] .= html_print_input_text( - 'min_warning', - $min_warning, - '', - 10, - 255, - true, - $disabledBecauseInPolicy || $edit === true, - false, - '', - $classdisabledBecauseInPolicy - ); - $tableBasicThresholds->data['warning_threshold'][1] .= html_print_input_text( - 'max_warning', - $max_warning, - '', - 10, - 255, - true, - $disabledBecauseInPolicy || $edit === true, - false, - '', - $classdisabledBecauseInPolicy - ).''; +$tableBasicThresholds->data['caption_warning_threshold'][0] .= '('.__('Min / Max').')'; +$tableBasicThresholds->data['warning_threshold'][0] .= html_print_input_text( + 'min_warning', + $min_warning, + '', + 10, + 255, + true, + $disabledBecauseInPolicy || $edit === true, + false, + '', + $classdisabledBecauseInPolicy +); +$tableBasicThresholds->data['warning_threshold'][1] .= html_print_input_text( + 'max_warning', + $max_warning, + '', + 10, + 255, + true, + $disabledBecauseInPolicy || $edit === true, + false, + '', + $classdisabledBecauseInPolicy +).''; - $tableBasicThresholds->data['switch_warning_threshold'][0] .= html_print_switch_radio_button( - [ - html_print_radio_button_extended('warning_thresholds_checks', 'normal_warning', __('Normal'), ($percentage_warning && $warning_inverse) === false, false, '', '', true, false, '', 'radius-normal_warning'), - html_print_radio_button_extended('warning_thresholds_checks', 'warning_inverse', __('Inverse interval'), $warning_inverse, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-warning_inverse'), - html_print_radio_button_extended('warning_thresholds_checks', 'percentage_warning', __('Percentage'), $percentage_warning, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_warning'), - ], - [ 'class' => 'margin-top-10' ], - true - ); -} +$tableBasicThresholds->data['switch_warning_threshold'][0] .= html_print_switch_radio_button( + [ + html_print_radio_button_extended('warning_thresholds_checks', 'normal_warning', __('Normal'), ($percentage_warning && $warning_inverse) === false, false, '', '', true, false, '', 'radius-normal_warning'), + html_print_radio_button_extended('warning_thresholds_checks', 'warning_inverse', __('Inverse interval'), $warning_inverse, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-warning_inverse'), + html_print_radio_button_extended('warning_thresholds_checks', 'percentage_warning', __('Percentage'), $percentage_warning, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_warning'), + ], + [ 'class' => 'margin-top-10' ], + true +); -if (isset($stringTypeModule) === true && $stringTypeModule === true) { - $basicThresholdsIntervalWarning = []; - $basicThresholdsIntervalWarning[] = ''.__('Inverse interval').''; - $basicThresholdsIntervalWarning[] = html_print_checkbox_switch( - 'warning_inverse_string', - 1, - $warning_inverse, - true, - $disabledBecauseInPolicy - ); +$basicThresholdsIntervalWarning = []; +$basicThresholdsIntervalWarning[] = ''.__('Inverse interval').''; +$basicThresholdsIntervalWarning[] = html_print_checkbox_switch( + 'warning_inverse_string', + 1, + $warning_inverse, + true, + $disabledBecauseInPolicy +); - $tableBasicThresholds->rowclass['caption_switch_warning_inverse_string'] = 'field_half_width'; - $tableBasicThresholds->data['caption_switch_warning_inverse_string'][0] = html_print_div( - [ - 'class' => 'margin-top-10', - 'style' => 'display: flex; flex-direction: row-reverse; align-items: center;', - 'content' => implode('', $basicThresholdsIntervalWarning), - ], - true - ); +$tableBasicThresholds->rowclass['caption_switch_warning_inverse_string'] = 'field_half_width'; +$tableBasicThresholds->data['caption_switch_warning_inverse_string'][0] = html_print_div( + [ + 'class' => 'margin-top-10', + 'style' => 'display: flex; flex-direction: row-reverse; align-items: center;', + 'content' => implode('', $basicThresholdsIntervalWarning), + ], + true +); - $tableBasicThresholds->data['caption_warning_threshold'][0] .= '('.__('Str.').')'; - $tableBasicThresholds->data['warning_threshold'][0] .= html_print_input_text( - 'str_warning', - str_replace('"', '', $str_warning), - '', - 10, - 1024, - true, - $disabledBecauseInPolicy || $edit === false, - false, - '', - $classdisabledBecauseInPolicy - ).''; -} +$tableBasicThresholds->data['caption_warning_threshold'][0] .= '('.__('Str.').')'; +$tableBasicThresholds->data['warning_threshold'][0] .= html_print_input_text( + 'str_warning', + str_replace('"', '', $str_warning), + '', + 10, + 1024, + true, + $disabledBecauseInPolicy || $edit === false, + false, + '', + $classdisabledBecauseInPolicy +).''; $tableBasicThresholds->data['switch_warning_threshold'][0] .= html_print_div( @@ -532,87 +528,84 @@ $tableBasicThresholds->data['switch_warning_threshold'][0] .= html_print_div( $tableBasicThresholds->rowclass['caption_critical_threshold'] = 'field_half_width pdd_t_10px'; $tableBasicThresholds->rowclass['critical_threshold'] = 'field_half_width'; $tableBasicThresholds->data['caption_critical_threshold'][0] .= __('Critical threshold').' '; -if ((isset($stringTypeModule) === false || $stringTypeModule === false)) { - $tableBasicThresholds->data['caption_critical_threshold'][0] .= '('.__('Min / Max').')'; - $tableBasicThresholds->data['critical_threshold'][0] .= html_print_input_text( - 'min_critical', - $min_critical, - '', - 10, - 255, - true, - $disabledBecauseInPolicy || $edit === false, - false, - '', - $classdisabledBecauseInPolicy - ); - $tableBasicThresholds->data['critical_threshold'][1] .= html_print_input_text( - 'max_critical', - $max_critical, - '', - 10, - 255, - true, - $disabledBecauseInPolicy || $edit === false, - false, - '', - $classdisabledBecauseInPolicy - ).''; +$tableBasicThresholds->data['caption_critical_threshold'][0] .= '('.__('Min / Max').')'; +$tableBasicThresholds->data['critical_threshold'][0] .= html_print_input_text( + 'min_critical', + $min_critical, + '', + 10, + 255, + true, + $disabledBecauseInPolicy || $edit === false, + false, + '', + $classdisabledBecauseInPolicy +); +$tableBasicThresholds->data['critical_threshold'][1] .= html_print_input_text( + 'max_critical', + $max_critical, + '', + 10, + 255, + true, + $disabledBecauseInPolicy || $edit === false, + false, + '', + $classdisabledBecauseInPolicy +).''; - $tableBasicThresholds->data['switch_critical_threshold'][0] .= html_print_switch_radio_button( - [ - html_print_radio_button_extended('critical_thresholds_checks', 'normal_critical', __('Normal'), ($percentage_critical && $critical_inverse) === false, false, '', '', true, false, '', 'radius-normal_critical'), - html_print_radio_button_extended('critical_thresholds_checks', 'critical_inverse', __('Inverse interval'), $critical_inverse, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-critical_inverse'), - html_print_radio_button_extended('critical_thresholds_checks', 'percentage_critical', __('Percentage'), $percentage_critical, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_critical'), - ], - [ 'class' => 'margin-top-10' ], - true - ); -} +$tableBasicThresholds->data['switch_critical_threshold'][0] .= html_print_switch_radio_button( + [ + html_print_radio_button_extended('critical_thresholds_checks', 'normal_critical', __('Normal'), ($percentage_critical && $critical_inverse) === false, false, '', '', true, false, '', 'radius-normal_critical'), + html_print_radio_button_extended('critical_thresholds_checks', 'critical_inverse', __('Inverse interval'), $critical_inverse, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-critical_inverse'), + html_print_radio_button_extended('critical_thresholds_checks', 'percentage_critical', __('Percentage'), $percentage_critical, $disabledBecauseInPolicy, '', '', true, false, '', 'radius-percentage_critical'), + ], + [ 'class' => 'margin-top-10' ], + true +); -if (isset($stringTypeModule) === true && $stringTypeModule === true) { - $basicThresholdsIntervalCritical = []; - $basicThresholdsIntervalCritical[] = ''.__('Inverse interval').''; - $basicThresholdsIntervalCritical[] = html_print_checkbox_switch( - 'critical_inverse_string', - 1, - $critical_inverse, - true, - $disabledBecauseInPolicy - ); - $tableBasicThresholds->rowclass['caption_switch_critical_inverse_string'] = 'field_half_width'; - $tableBasicThresholds->data['caption_switch_critical_inverse_string'][0] = html_print_div( - [ - 'class' => 'margin-top-10', - 'style' => 'display: flex; flex-direction: row-reverse; align-items: center;', - 'content' => implode('', $basicThresholdsIntervalCritical), - ], - true - ); +$basicThresholdsIntervalCritical = []; +$basicThresholdsIntervalCritical[] = ''.__('Inverse interval').''; +$basicThresholdsIntervalCritical[] = html_print_checkbox_switch( + 'critical_inverse_string', + 1, + $critical_inverse, + true, + $disabledBecauseInPolicy +); - $tableBasicThresholds->data['switch_critical_threshold'][0] .= html_print_div( - [ - 'id' => 'percentage_critical', - 'content' => $divPercentageContent, - ], - true - ); +$tableBasicThresholds->rowclass['caption_switch_critical_inverse_string'] = 'field_half_width'; +$tableBasicThresholds->data['caption_switch_critical_inverse_string'][0] = html_print_div( + [ + 'class' => 'margin-top-10', + 'style' => 'display: flex; flex-direction: row-reverse; align-items: center;', + 'content' => implode('', $basicThresholdsIntervalCritical), + ], + true +); - $tableBasicThresholds->data['caption_critical_threshold'][0] .= '('.__('Str.').')'; - $tableBasicThresholds->data['critical_threshold'][0] .= html_print_input_text( - 'str_critical', - str_replace('"', '', $str_critical), - '', - 10, - 1024, - true, - $disabledBecauseInPolicy, - false, - '', - $classdisabledBecauseInPolicy - ); -} +$tableBasicThresholds->data['switch_critical_threshold'][0] .= html_print_div( + [ + 'id' => 'percentage_critical', + 'content' => $divPercentageContent, + ], + true +); + +$tableBasicThresholds->data['caption_critical_threshold'][0] .= '('.__('Str.').')'; +$tableBasicThresholds->data['critical_threshold'][0] .= html_print_input_text( + 'str_critical', + str_replace('"', '', $str_critical), + '', + 10, + 1024, + true, + $disabledBecauseInPolicy, + false, + '', + $classdisabledBecauseInPolicy +); $table_simple->rowstyle['thresholds_table'] = 'margin-top: 15px;height: 340px;width: 100%'; $table_simple->cellclass['thresholds_table'][0] = 'table_section half_section_left'; @@ -1623,6 +1616,11 @@ ui_require_jquery_file('json'); /* ; + var idModuleType = ''; + if (idModuleType != '') { + setModuleType(idModuleType); + } + $("#right").click (function () { jQuery.each($("select[name='id_tag_available[]'] option:selected"), function (key, value) { tag_name = $(value).html(); diff --git a/pandora_console/godmode/setup/os.list.php b/pandora_console/godmode/setup/os.list.php index 96223e8d09..7ec091e04b 100644 --- a/pandora_console/godmode/setup/os.list.php +++ b/pandora_console/godmode/setup/os.list.php @@ -69,7 +69,6 @@ if ($is_management_allowed === true) { $table->head[4] = ''; } -$table->align[1] = 'center'; if ($is_management_allowed === true) { $table->align[4] = 'center'; } @@ -100,7 +99,7 @@ $table->data = []; foreach ($osList as $os) { $data = []; $data[] = $os['id_os']; - $data[] = html_print_div(['class' => 'invert_filter main_menu_icon', 'content' => ui_print_os_icon($os['id_os'], false, true)], true); + $data[] = ui_print_os_icon($os['id_os'], false, true); if ($is_management_allowed === true) { if (is_metaconsole() === true) { $osNameUrl = 'index.php?sec=advanced&sec2=advanced/component_management&tab=os_manage&action=edit&tab2=builder&id_os='.$os['id_os']; diff --git a/pandora_console/include/functions_html.php b/pandora_console/include/functions_html.php index 13fab04eab..c475a44207 100644 --- a/pandora_console/include/functions_html.php +++ b/pandora_console/include/functions_html.php @@ -6097,6 +6097,8 @@ function html_print_autocomplete_users_from_integria( $attrs['class'] = $class; } + ui_print_help_tip(__('Type at least two characters to search the user.'), false); + html_print_input_text_extended( $name, $default, @@ -6110,8 +6112,6 @@ function html_print_autocomplete_users_from_integria( ); html_print_input_hidden($name.'_hidden', $id_agent_module); - ui_print_help_tip(__('Type at least two characters to search the user.'), false); - $javascript_ajax_page = ui_get_full_url('ajax.php', false, false, false, false); ?> \ No newline at end of file diff --git a/pandora_console/operation/incidents/incident_statistics.php b/pandora_console/operation/incidents/incident_statistics.php index 333c0206db..c2e428f188 100755 --- a/pandora_console/operation/incidents/incident_statistics.php +++ b/pandora_console/operation/incidents/incident_statistics.php @@ -18,13 +18,31 @@ require_once $config['homedir'].'/include/functions_graph.php'; check_login(); -ui_print_page_header(__('Incidents').' » '.__('Statistics'), 'images/book_edit.png', false, '', false, ''); +ui_print_standard_header( + __('Statistics'), + 'images/book_edit.png', + false, + '', + false, + [], + [ + [ + 'link' => '', + 'label' => __('Issues'), + ], + [ + 'link' => '', + 'label' => __('Statistics'), + ], + ] +); if (!$config['integria_enabled']) { ui_print_error_message(__('In order to access ticket management system, integration with Integria IMS must be enabled and properly configured')); exit; } +echo '
'; echo '

'.__('Incidents by status').'

'; echo graph_incidents_status(); @@ -39,3 +57,4 @@ echo '

'.__('Incidents by user').'

'; echo graphic_incident_user(); echo '
'; +echo '
'; diff --git a/pandora_console/operation/incidents/list_integriaims_incidents.php b/pandora_console/operation/incidents/list_integriaims_incidents.php index ce68e941fb..f28c7a271d 100644 --- a/pandora_console/operation/incidents/list_integriaims_incidents.php +++ b/pandora_console/operation/incidents/list_integriaims_incidents.php @@ -20,13 +20,23 @@ check_login(); // Header tabs. $onheader = integriaims_tabs('list_tab'); -ui_print_page_header( +ui_print_standard_header( __('Integria IMS Tickets'), '', false, 'integria_tab', false, - $onheader + $onheader, + [ + [ + 'link' => '', + 'label' => __('Issues'), + ], + [ + 'link' => '', + 'label' => __('Integria IMS Tickets'), + ], + ] ); // Check if Integria integration enabled. @@ -308,68 +318,100 @@ $resolution_incident = integriaims_get_details('resolution'); // TABLE FILTERS. $table = new StdClass(); $table->width = '100%'; -$table->class = 'databox filters'; -$table->styleTable = 'margin-bottom:0px'; -$table->cellpadding = '0'; -$table->cellspacing = '0'; +$table->size = []; +$table->size[0] = '33%'; +$table->size[1] = '33%'; +$table->size[2] = '33%'; +$table->class = 'filter-table-adv'; + $table->data = []; - -$table->data[0][0] = __('Text filter'); -$table->data[0][1] = html_print_input_text('incident_text', $incident_text, '', 30, 100, true); - -$table->data[0][2] = __('Status'); -$table->data[0][3] = html_print_select( - $status_incident, - 'incident_status', - $incident_status, - '', - __('All'), - 0, - true +$table->data[0][0] = html_print_label_input_block( + __('Text filter'), + html_print_input_text('incident_text', $incident_text, '', 30, 100, true) ); -$table->data[0][4] = __('Group'); -$table->data[0][5] = html_print_select( - $group_incident, - 'incident_group', - $incident_group, - '', - __('All'), - 1, - true +$table->data[0][1] = html_print_label_input_block( + __('Status'), + html_print_select( + $status_incident, + 'incident_status', + $incident_status, + '', + __('All'), + 0, + true + ) ); -$table->data[1][0] = __('Owner'); -$table->data[1][1] = html_print_autocomplete_users_from_integria('incident_owner', $incident_owner, true); - -$table->data[1][2] = __('Creator'); -$table->data[1][3] = html_print_autocomplete_users_from_integria('incident_creator', $incident_creator, true); - -$table->data[1][4] = __('Priority'); -$table->data[1][5] = html_print_select( - $priority_incident, - 'incident_priority', - $incident_priority, - '', - __('All'), - -1, - true +$table->data[0][2] = html_print_label_input_block( + __('Group'), + html_print_select( + $group_incident, + 'incident_group', + $incident_group, + '', + __('All'), + 1, + true + ) ); -$table->data[2][0] = __('Resolution'); -$table->data[2][1] = html_print_select( - $resolution_incident, - 'incident_resolution', - $incident_resolution, - '', - __('All'), - '', - true +$table->data[1][0] = html_print_label_input_block( + __('Owner'), + html_print_autocomplete_users_from_integria( + 'incident_owner', + $incident_owner, + true, + '30', + false, + false, + 'w100p' + ), + ['div_class' => 'inline'] ); -// TODO: field type date. -$table->data[2][2] = __('Date'); -$table->data[2][3] = html_print_input_text_extended( +$table->data[1][1] = html_print_label_input_block( + __('Creator'), + html_print_autocomplete_users_from_integria( + 'incident_creator', + $incident_creator, + true, + '30', + false, + false, + 'w100p' + ), + ['div_class' => 'inline'] +); + +$table->data[1][2] = html_print_label_input_block( + __('Priority'), + html_print_select( + $priority_incident, + 'incident_priority', + $incident_priority, + '', + __('All'), + -1, + true + ) +); + +$table->data[2][0] = html_print_label_input_block( + __('Resolution'), + html_print_select( + $resolution_incident, + 'incident_resolution', + $incident_resolution, + '', + __('All'), + '', + true + ) +); + +$input_date = '
'; +$input_date .= html_print_input_text_extended( 'created_from', $created_from, 'created_from', @@ -381,7 +423,7 @@ $table->data[2][3] = html_print_input_text_extended( 'placeholder="'.__('Created from').'"', true ); -$table->data[2][3] .= html_print_input_text_extended( +$input_date .= html_print_input_text_extended( 'created_to', $created_to, 'created_to', @@ -393,11 +435,12 @@ $table->data[2][3] .= html_print_input_text_extended( 'class="mrgn_lft_5px" placeholder="'.__('Created to').'"', true ); +$input_date .= '
'; -// TODO: image of Integria IMS. -$table->data[2][4] = ''; -$table->data[2][5] = ''; - +$table->data[2][2] = html_print_label_input_block( + __('Date'), + $input_date +); // Send filters to get_tickets_integriaims(). $tickets_filters = [ @@ -423,20 +466,48 @@ $url = ui_get_full_url( // ---- PRINT TABLE FILTERS ---- $integria_incidents_form = '
'; $integria_incidents_form .= html_print_table($table, true); -$integria_incidents_form .= '
'; -$integria_incidents_form .= '
'.html_print_button( +$buttons = html_print_submit_button( + __('Filter'), + 'filter_button', + false, + [ + 'icon' => 'search', + 'mode' => 'mini secondary', + ], + true +); +$buttons .= html_print_button( __('Export to CSV'), 'csv_export', false, "blockResubmit($(this)); location.href='operation/incidents/integriaims_export_csv.php?tickets_filters=$decode_csv'", - 'class="sub next"', + [ + 'icon' => 'cog', + 'mode' => 'mini secondary', + ], true -).'
'; -$integria_incidents_form .= '
'.html_print_submit_button(__('Filter'), 'filter_button', false, 'class="sub filter"', true).'
'; -$integria_incidents_form .= '
'; +); + +$integria_incidents_form .= html_print_div( + [ + 'class' => 'action-buttons', + 'content' => $buttons, + ], + true +); $integria_incidents_form .= '
'; -ui_toggle($integria_incidents_form, __('Filter'), '', '', false); +ui_toggle( + $integria_incidents_form, + ''.__('Filters').'', + 'filter_form', + '', + true, + false, + '', + 'white-box-content', + 'box-flat white_table_graph fixed_filter_bar' +); /* * Order api call 'get_incidents'. @@ -552,33 +623,52 @@ foreach ($incidents_paginated as $key => $value) { $table->data[$i][8] .= ''; - $table->data[$i][8] .= html_print_image('images/delete.svg', true, ['title' => __('Delete'), 'class' => 'invert_filter']); + $table->data[$i][8] .= html_print_image('images/delete.svg', true, ['title' => __('Delete'), 'class' => 'invert_filter main_menu_icon']); $table->data[$i][8] .= ''; $i++; } +$tablePagination = ''; // Show table incidents. -ui_pagination(count($array_get_incidents), $url, $offset); if (empty($table->data) === true) { ui_print_info_message(['no_close' => true, 'message' => __('No tickets to show').'.' ]); } else { html_print_table($table); - ui_pagination(count($array_get_incidents), $url, $offset, 0, false, 'offset', true, 'pagination-bottom'); + $tablePagination = ui_pagination( + count($array_get_incidents), + $url, + $offset, + 0, + true, + 'offset', + false, + 'pagination-bottom' + ); } // Show button to create incident. echo '
'; - echo '
'; - html_print_submit_button(__('Create'), 'create_new_incident', false, 'class="sub next"'); - echo '
'; +html_print_action_buttons( + html_print_submit_button( + __('Create'), + 'create_new_incident', + false, + [ 'icon' => 'next' ], + true + ), + [ + 'type' => 'data_table', + 'class' => 'fixed_action_buttons', + 'right_content' => $tablePagination, + ] +); echo '
'; // Datapicker library for show calendar. ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript/i18n/'); ?> -