FIX_UI issues noted
This commit is contained in:
parent
c6d39cb353
commit
f2c170b3e7
@ -737,6 +737,8 @@ class TicketController extends BaseController
|
|||||||
public function ticket_form($ticket_type)
|
public function ticket_form($ticket_type)
|
||||||
{
|
{
|
||||||
$data = $this->ticket_form_data($ticket_type);
|
$data = $this->ticket_form_data($ticket_type);
|
||||||
|
$data['tab_name'] = "Claims";
|
||||||
|
$data['page_name'] = "Claims";
|
||||||
// dd($data);
|
// dd($data);
|
||||||
return $this->loadLayout('ticket_form_handler', $data);
|
return $this->loadLayout('ticket_form_handler', $data);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,105 @@
|
|||||||
|
<?php
|
||||||
|
$batch_header_labels = [
|
||||||
|
'S.No', 'Batch Code', 'File Name', 'Client', 'Client Branch', 'Client Policy',
|
||||||
|
'Event Type', 'Insurer/ TPA', 'Action', 'Count', '(₹)Amount', 'User/Time', 'Status', 'Action',
|
||||||
|
];
|
||||||
|
$batch_col_count = count($batch_header_labels);
|
||||||
|
$batch_col_max_len = array_fill(0, $batch_col_count, 0);
|
||||||
|
for ($i = 0; $i < $batch_col_count; $i++) {
|
||||||
|
$batch_col_max_len[$i] = mb_strlen($batch_header_labels[$i]);
|
||||||
|
}
|
||||||
|
$insurer_or_tpa = $insurer_or_tpa ?? [];
|
||||||
|
$import_or_export = $import_or_export ?? [];
|
||||||
|
|
||||||
|
if (!empty($batch_list) && is_array($batch_list)) {
|
||||||
|
foreach ($batch_list as $key => $file) {
|
||||||
|
$batch_col_max_len[0] = max($batch_col_max_len[0], mb_strlen((string) ($key + 1)));
|
||||||
|
$batch_col_max_len[1] = max($batch_col_max_len[1], mb_strlen((string) ($file['batch_code'] ?? '')));
|
||||||
|
$batch_col_max_len[2] = max($batch_col_max_len[2], mb_strlen((string) ($file['file_name'] ?? '')));
|
||||||
|
$batch_col_max_len[3] = max($batch_col_max_len[3], mb_strlen((string) ($file['client_short_name'] ?? '')));
|
||||||
|
$batch_col_max_len[4] = max($batch_col_max_len[4], mb_strlen((string) ($file['branch_name'] ?? '')));
|
||||||
|
$policy_display_len = trim(
|
||||||
|
(isset($file['policy_type']) ? $file['policy_type'] : '')
|
||||||
|
. ' - '
|
||||||
|
. (isset($file['policy_no']) ? $file['policy_no'] : '')
|
||||||
|
);
|
||||||
|
$batch_col_max_len[5] = max($batch_col_max_len[5], mb_strlen($policy_display_len));
|
||||||
|
$batch_col_max_len[6] = max($batch_col_max_len[6], mb_strlen((string) ($file['event_type'] ?? '')));
|
||||||
|
$insLabel = $insurer_or_tpa[$file['insurer_or_tpa'] ?? ''] ?? '';
|
||||||
|
$batch_col_max_len[7] = max($batch_col_max_len[7], mb_strlen((string) $insLabel));
|
||||||
|
$actKey = $file['actions'] ?? '';
|
||||||
|
$actLabel = $import_or_export[$actKey] ?? ucfirst((string) $actKey);
|
||||||
|
$batch_col_max_len[8] = max($batch_col_max_len[8], mb_strlen((string) $actLabel));
|
||||||
|
$countStr = ($file['count'] ?? null) === null ? '-' : (string) $file['count'];
|
||||||
|
$batch_col_max_len[9] = max($batch_col_max_len[9], mb_strlen($countStr));
|
||||||
|
$batch_col_max_len[10] = max($batch_col_max_len[10], mb_strlen((string) format_indian_number($file['amount'])));
|
||||||
|
$userTime = change_date_format($file['created_at'] ?? '', 'Y-m-d H:i:s', 'd M Y h:i a')
|
||||||
|
. ' by '
|
||||||
|
. get_username($file['created_by'] ?? '');
|
||||||
|
$batch_col_max_len[11] = max($batch_col_max_len[11], mb_strlen($userTime));
|
||||||
|
$batch_col_max_len[12] = max($batch_col_max_len[12], mb_strlen((string) ($file['status'] ?? '')));
|
||||||
|
$batch_col_max_len[13] = max($batch_col_max_len[13], 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$batch_col_min_px = [48, 72, 100, 72, 80, 120, 88, 96, 72, 56, 80, 160, 96, 52];
|
||||||
|
$batch_col_max_px = [64, 220, 480, 240, 240, 640, 200, 200, 140, 110, 160, 560, 320, 64];
|
||||||
|
$batch_col_width_px = [];
|
||||||
|
for ($i = 0; $i < $batch_col_count; $i++) {
|
||||||
|
$chars = max($batch_col_max_len[$i], mb_strlen($batch_header_labels[$i]));
|
||||||
|
$px = (int) round($chars * 7.0 + 26);
|
||||||
|
$batch_col_width_px[$i] = min(
|
||||||
|
$batch_col_max_px[$i],
|
||||||
|
max($batch_col_min_px[$i], $px)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
?>
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
.reload:hover {
|
.reload:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.truncate {
|
/* Column widths from max data length (see PHP above).
|
||||||
max-width: 80px;
|
Avoid table-layout:fixed + identical max-width on TH — it fights DataTables col sizing and skews TH vs TD.
|
||||||
white-space: nowrap;
|
Do not max-width THEAD cells (sort icons use position:absolute; narrow max clips them). */
|
||||||
|
<?php for ($i = 0; $i < $batch_col_count; $i++) : ?>
|
||||||
|
#batch-list-table_wrapper .dataTables_scrollHead table thead th:nth-child(<?= $i + 1 ?>),
|
||||||
|
#batch-list-table thead th:nth-child(<?= $i + 1 ?>) {
|
||||||
|
min-width: <?= (int) $batch_col_width_px[$i] ?>px;
|
||||||
|
width: <?= (int) $batch_col_width_px[$i] ?>px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
vertical-align: middle;
|
||||||
|
overflow: visible !important;
|
||||||
|
}
|
||||||
|
#batch-list-table tbody td:nth-child(<?= $i + 1 ?>) {
|
||||||
|
width: <?= (int) $batch_col_width_px[$i] ?>px;
|
||||||
|
max-width: <?= (int) $batch_col_width_px[$i] ?>px;
|
||||||
|
min-width: <?= (int) $batch_col_width_px[$i] ?>px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
<?php endfor; ?>
|
||||||
|
#batch-list-table tbody td:nth-child(1),
|
||||||
|
#batch-list-table tbody td:nth-child(2),
|
||||||
|
#batch-list-table tbody td:nth-child(3),
|
||||||
|
#batch-list-table tbody td:nth-child(4),
|
||||||
|
#batch-list-table tbody td:nth-child(5),
|
||||||
|
#batch-list-table tbody td:nth-child(6),
|
||||||
|
#batch-list-table tbody td:nth-child(7),
|
||||||
|
#batch-list-table tbody td:nth-child(8),
|
||||||
|
#batch-list-table tbody td:nth-child(9),
|
||||||
|
#batch-list-table tbody td:nth-child(10),
|
||||||
|
#batch-list-table tbody td:nth-child(11),
|
||||||
|
#batch-list-table tbody td:nth-child(12) {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
#batch-list-table tbody td:nth-child(13),
|
||||||
|
#batch-list-table tbody td:nth-child(14) {
|
||||||
|
overflow: visible;
|
||||||
|
text-overflow: clip;
|
||||||
|
}
|
||||||
|
|
||||||
/* TPA variation modal layout */
|
/* TPA variation modal layout */
|
||||||
#tpa_variation_modal .modal-dialog {
|
#tpa_variation_modal .modal-dialog {
|
||||||
@ -93,31 +183,50 @@
|
|||||||
#tpa_variation_modal .dataTables_wrapper .dt-top .dataTables_filter {
|
#tpa_variation_modal .dataTables_wrapper .dt-top .dataTables_filter {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
/* Compact table + buttons (NHance) */
|
/* Compact tbody; thead must keep padding-right for sort triangles (custom.css uses ~2.35rem). */
|
||||||
#tickets-table thead th,
|
#batch-list-table tbody td {
|
||||||
#tickets-table tbody td {
|
|
||||||
padding: 5px 11px !important;
|
padding: 5px 11px !important;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 1.25;
|
line-height: 1.25;
|
||||||
}
|
}
|
||||||
|
#batch-list-table_wrapper .dataTables_scrollHead table thead th,
|
||||||
|
#batch-list-table thead th {
|
||||||
|
padding: 5px 2.35rem 5px 11px !important;
|
||||||
|
font-size: 13px;
|
||||||
|
line-height: 1.25;
|
||||||
|
}
|
||||||
|
|
||||||
/* Action dropdown toggle in rows */
|
/* Action dropdown toggle in rows */
|
||||||
#tickets-table .dropdown-toggle.btn-sm {
|
#batch-list-table .dropdown-toggle.btn-sm {
|
||||||
padding: 4px 9px !important;
|
padding: 4px 9px !important;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* DataTables toolbar buttons (Export/Filter/Clear Filter) */
|
/* DataTables toolbar buttons (Export/Filter/Clear Filter) */
|
||||||
#tickets-table_wrapper .dt-buttons .btn {
|
#batch-list-table_wrapper .dt-buttons .btn {
|
||||||
padding: 6px 13px !important;
|
padding: 6px 13px !important;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tickets-table_wrapper .dt-buttons .btn .btn-custom {
|
#batch-list-table_wrapper .dt-buttons .btn .btn-custom {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* One horizontal scrollbar without breaking thead/tbody width sync:
|
||||||
|
* - Do NOT set overflow-x:visible on .dataTables_scrollBody — that breaks DataTables’
|
||||||
|
* scrollHead/scrollBody width matching so <th> looks cut off.
|
||||||
|
* - When there is no .dataTables_scrollBody (scrollX off, single table), outer scrolls.
|
||||||
|
* - When .dataTables_scrollBody exists (scrollX on), only that inner strip scrolls (custom.css);
|
||||||
|
* outer .table-responsive stays overflow visible via nh-dt-no-outer-scroll / :has() rules.
|
||||||
|
*/
|
||||||
|
#second_page .card-body > .table-responsive:not(:has(.dataTables_scrollBody)) {
|
||||||
|
overflow-x: auto !important;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div class="col-12" id="second_page">
|
<div class="col-12" id="second_page">
|
||||||
@ -130,7 +239,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table data-custom-table-css="table" id="tickets-table" class="table table-hover m-0 table-centered dt-responsive w-100">
|
<table data-custom-table-css="table" id="batch-list-table" class="table table-hover m-0 table-centered nowrap w-100">
|
||||||
<thead class="bg-light">
|
<thead class="bg-light">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="font-weight-medium">S.No </th>
|
<th class="font-weight-medium">S.No </th>
|
||||||
@ -159,15 +268,25 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="text-center"><b><?php echo ($key + 1) ?></b></td>
|
<td class="text-center"><b><?php echo ($key + 1) ?></b></td>
|
||||||
<td><?php echo $file['batch_code'] ?></td>
|
<td><?php echo $file['batch_code'] ?></td>
|
||||||
<td style="overflow: hidden;" class="reload truncate" data-toggle="tooltip" data-placement="top" title="<?php echo $file['file_name'] ?>">
|
<td class="reload batch-file-cell" data-toggle="tooltip" data-placement="top" title="<?php echo htmlspecialchars($file['file_name'] ?? '', ENT_QUOTES, 'UTF-8') ?>">
|
||||||
<?php echo $file['file_name']?>
|
<?php echo $file['file_name']?>
|
||||||
</td>
|
</td>
|
||||||
<td><?php echo $file['client_short_name'] ?></td>
|
<td><?php echo $file['client_short_name'] ?></td>
|
||||||
<td><?php echo $file['branch_name'] ?></td>
|
<td><?php echo $file['branch_name'] ?></td>
|
||||||
<!-- <td><?php echo isset($file['policy_name']) ? $file['policy_name'] : '' ?> - <?php echo isset($file['policy_no']) ? $file['policy_no'] : '' ?> - <?php echo isset($file['policy_type']) ? $file['policy_type'] : '' ?></td> -->
|
<!-- <td><?php echo isset($file['policy_name']) ? $file['policy_name'] : '' ?> - <?php echo isset($file['policy_no']) ? $file['policy_no'] : '' ?> - <?php echo isset($file['policy_type']) ? $file['policy_type'] : '' ?></td> -->
|
||||||
<td><?php echo isset($file['policy_type']) ? $file['policy_type'] : '' ?> - <?php echo isset($file['policy_no']) ? $file['policy_no'] : '' ?></td>
|
<?php
|
||||||
|
$policy_display = trim(
|
||||||
|
(isset($file['policy_type']) ? $file['policy_type'] : '')
|
||||||
|
. ' - '
|
||||||
|
. (isset($file['policy_no']) ? $file['policy_no'] : '')
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
<td class="batch-policy-cell reload"
|
||||||
|
data-toggle="tooltip"
|
||||||
|
data-placement="top"
|
||||||
|
title="<?= esc($policy_display) ?>"><?= esc($policy_display) ?></td>
|
||||||
<td><?php echo $file['event_type'] ?></td>
|
<td><?php echo $file['event_type'] ?></td>
|
||||||
<td><?php echo $insurer_or_tpa[$file['insurer_or_tpa']] ?></td>
|
<td><?php echo esc($insurer_or_tpa[$file['insurer_or_tpa'] ?? ''] ?? '') ?></td>
|
||||||
<td><?php echo $import_or_export[$file['actions']] ?? ucfirst($file['actions']) ?></td>
|
<td><?php echo $import_or_export[$file['actions']] ?? ucfirst($file['actions']) ?></td>
|
||||||
<td><?php echo $file['count'] == null ? '-' : $file['count'] ?></td>
|
<td><?php echo $file['count'] == null ? '-' : $file['count'] ?></td>
|
||||||
|
|
||||||
@ -347,7 +466,7 @@
|
|||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<ul class="nav nav-tabs" id="tpaVariationTabs" role="tablist">
|
<ul class="nav nav-tabs" id="tpaVariationTabs" role="tablist">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active" id="not-in-nhance-tab" data-toggle="tab" href="#not_in_nhance_tab" role="tab" aria-controls="not_in_nhance_tab" aria-selected="true">Not in Nhance</a>
|
<a class="nav-link active active_tab" id="not-in-nhance-tab" data-toggle="tab" href="#not_in_nhance_tab" role="tab" aria-controls="not_in_nhance_tab" aria-selected="true">Not in Nhance</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" id="not-in-tpa-tab" data-toggle="tab" href="#not_in_tpa_tab" role="tab" aria-controls="not_in_tpa_tab" aria-selected="false">Not in TPA</a>
|
<a class="nav-link" id="not-in-tpa-tab" data-toggle="tab" href="#not_in_tpa_tab" role="tab" aria-controls="not_in_tpa_tab" aria-selected="false">Not in TPA</a>
|
||||||
@ -439,6 +558,23 @@
|
|||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** Activate a TPA variation tab by id (not-in-nhance-tab, not-in-tpa-tab, need-to-review-tab). Works without jQuery .tab('show'). */
|
||||||
|
function showTPAVariationTabByLinkId(tabLinkId) {
|
||||||
|
var paneMap = {
|
||||||
|
'not-in-nhance-tab': 'not_in_nhance_tab',
|
||||||
|
'not-in-tpa-tab': 'not_in_tpa_tab',
|
||||||
|
'need-to-review-tab': 'need_to_review_tab'
|
||||||
|
};
|
||||||
|
var paneId = paneMap[tabLinkId];
|
||||||
|
if (!paneId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$('#tpaVariationTabs .nav-link').removeClass('active').attr('aria-selected', 'false');
|
||||||
|
$('#' + tabLinkId).addClass('active').attr('aria-selected', 'true');
|
||||||
|
$('#tpaVariationTabContent .tab-pane').removeClass('show active');
|
||||||
|
$('#' + paneId).addClass('show active');
|
||||||
|
}
|
||||||
|
|
||||||
function renderVariationTable(tableSelector, rows, columns) {
|
function renderVariationTable(tableSelector, rows, columns) {
|
||||||
const $table = $(tableSelector);
|
const $table = $(tableSelector);
|
||||||
const $thead = $table.find('thead');
|
const $thead = $table.find('thead');
|
||||||
@ -515,8 +651,10 @@
|
|||||||
renderVariationTable('#not_in_tpa_table', notInTpa, tpaVariationColumns.not_in_tpa);
|
renderVariationTable('#not_in_tpa_table', notInTpa, tpaVariationColumns.not_in_tpa);
|
||||||
renderVariationTable('#need_to_review_table', reviewData, tpaVariationColumns.need_to_review);
|
renderVariationTable('#need_to_review_table', reviewData, tpaVariationColumns.need_to_review);
|
||||||
|
|
||||||
const activeId = $('#tpaVariationTabs .nav-link.active').attr('id') || 'not-in-nhance-tab';
|
// Default tab: Not in Nhance — select tab and init DataTable for #not_in_nhance_table as soon as data is rendered.
|
||||||
adjustVariationTableByTabId(activeId);
|
showTPAVariationTabByLinkId('not-in-nhance-tab');
|
||||||
|
updateTPAProceedButton('not-in-nhance-tab');
|
||||||
|
adjustVariationTableByTabId('not-in-nhance-tab');
|
||||||
}
|
}
|
||||||
|
|
||||||
function showTPAVariationModal() {
|
function showTPAVariationModal() {
|
||||||
@ -650,8 +788,10 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#tpa_variation_modal').on('shown.bs.modal', function () {
|
$('#tpa_variation_modal').on('shown.bs.modal', function () {
|
||||||
const activeId = $('#tpaVariationTabs .nav-link.active').attr('id') || 'not-in-nhance-tab';
|
// Always show "Not in Nhance" first; re-measure DataTable now that the modal is visible.
|
||||||
adjustVariationTableByTabId(activeId);
|
showTPAVariationTabByLinkId('not-in-nhance-tab');
|
||||||
|
updateTPAProceedButton('not-in-nhance-tab');
|
||||||
|
adjustVariationTableByTabId('not-in-nhance-tab');
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#tpa_variation_modal').on('hidden.bs.modal', function () {
|
$('#tpa_variation_modal').on('hidden.bs.modal', function () {
|
||||||
@ -660,10 +800,40 @@
|
|||||||
destroyVariationDataTable('#need_to_review_table');
|
destroyVariationDataTable('#need_to_review_table');
|
||||||
});
|
});
|
||||||
|
|
||||||
const batchListTable = $('#tickets-table').DataTable({
|
/* footer.php sets scrollX/scrollY on $.fn.dataTable.defaults — force off for this init so DT does not split thead into .dataTables_scrollHead / tbody into .dataTables_scrollBody (only the body strip would scroll horizontally). */
|
||||||
|
var _dtDefScroll = {
|
||||||
|
scrollX: $.fn.dataTable.defaults.scrollX,
|
||||||
|
scrollY: $.fn.dataTable.defaults.scrollY,
|
||||||
|
scrollCollapse: $.fn.dataTable.defaults.scrollCollapse
|
||||||
|
};
|
||||||
|
$.extend($.fn.dataTable.defaults, { scrollX: false, scrollY: false, scrollCollapse: false });
|
||||||
|
|
||||||
|
const batchListTable = $('#batch-list-table').DataTable({
|
||||||
dom: "<'row'<'col-sm-7'f><'col-sm-5 text-right'B>>" + // Filter left, buttons right
|
dom: "<'row'<'col-sm-7'f><'col-sm-5 text-right'B>>" + // Filter left, buttons right
|
||||||
"<'row'<'col-sm-12'tr>>" +
|
"<'row'<'col-sm-12'tr>>" +
|
||||||
"<'row align-items-center'<'col-5 text-start'i><'col-7 d-flex justify-content-end align-items-center'<'me-2'l>p>>", lengthMenu: [[10, 20, 50, 100], [10, 20, 50, 100]],
|
"<'row align-items-center'<'col-5 text-start'i><'col-7 d-flex justify-content-end align-items-center'<'me-2'l>p>>",
|
||||||
|
lengthMenu: [[10, 20, 50, 100], [10, 20, 50, 100]],
|
||||||
|
scrollX: false,
|
||||||
|
scrollY: false,
|
||||||
|
scrollCollapse: false,
|
||||||
|
initComplete: function () {
|
||||||
|
var $wrap = $(this.api().table().container());
|
||||||
|
var $body = $wrap.find('.dataTables_scrollBody');
|
||||||
|
var $head = $wrap.find('.dataTables_scrollHead');
|
||||||
|
if ($body.length && $head.length) {
|
||||||
|
$body.off('scroll.nhBatchHScroll').on('scroll.nhBatchHScroll', function () {
|
||||||
|
$head.scrollLeft($(this).scrollLeft());
|
||||||
|
});
|
||||||
|
$head.off('scroll.nhBatchHScroll').on('scroll.nhBatchHScroll', function () {
|
||||||
|
$body.scrollLeft($(this).scrollLeft());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
columnDefs: [
|
||||||
|
<?php for ($i = 0; $i < $batch_col_count; $i++) : ?>
|
||||||
|
{ targets: <?= $i ?>, width: '<?= (int) $batch_col_width_px[$i] ?>px' },
|
||||||
|
<?php endfor; ?>
|
||||||
|
],
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
extend: 'collection',
|
extend: 'collection',
|
||||||
@ -710,6 +880,8 @@
|
|||||||
responsive: false
|
responsive: false
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$.extend($.fn.dataTable.defaults, _dtDefScroll);
|
||||||
|
|
||||||
// Keep TH and TD widths in sync after any table redraw (search/sort/paginate).
|
// Keep TH and TD widths in sync after any table redraw (search/sort/paginate).
|
||||||
batchListTable.on('draw.dt', function () {
|
batchListTable.on('draw.dt', function () {
|
||||||
batchListTable.columns.adjust();
|
batchListTable.columns.adjust();
|
||||||
|
|||||||
@ -85,6 +85,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
<script>
|
||||||
|
var pageHideMainNavTitle = true;
|
||||||
|
var pageTitle = 'Claim Dump Upload';
|
||||||
|
</script>
|
||||||
|
|
||||||
<!-- <div class="row">
|
<!-- <div class="row">
|
||||||
<div class="col-xl-12" style="margin-left: 14px;max-width: 98%;">
|
<div class="col-xl-12" style="margin-left: 14px;max-width: 98%;">
|
||||||
@ -125,12 +129,12 @@
|
|||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row" style="padding-bottom: 10px;">
|
<!-- <div class="row" style="padding-bottom: 10px;">
|
||||||
<div class="col-6" style="align-self: center;">
|
<div class="col-6" style="align-self: center;">
|
||||||
<h4 style="position: relative;">Claim Dump Upload</h4>
|
<h4 style="position: relative;">Claim Dump Upload</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div> -->
|
||||||
<table data-custom-table-css="table" class="table table-hover m-0 table-centered w-100" cellspacing="0" id="tickets-table">
|
<table data-custom-table-css="table" class="table table-hover m-0 table-centered w-100" cellspacing="0" id="tickets-table">
|
||||||
<thead class="bg-light">
|
<thead class="bg-light">
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@ -162,7 +162,7 @@ input:checked + .slider:before {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<small class="mt-1 text-muted d-block">Allowed: PNG, JPG, JPEG. Size : 200KB Dimension : 100 X 100 Pixels</small>
|
<small class="mt-1 text-muted d-block">Allowed: JPG, JPEG, PNG. Size : 200KB Dimension : 100 X 100 Pixels</small>
|
||||||
<div id="client_logo_error_container"></div>
|
<div id="client_logo_error_container"></div>
|
||||||
|
|
||||||
<!-- Hidden File Input -->
|
<!-- Hidden File Input -->
|
||||||
@ -465,7 +465,7 @@ input:checked + .slider:before {
|
|||||||
$.each(res.data, function (index, item) {
|
$.each(res.data, function (index, item) {
|
||||||
var row = `<tr>
|
var row = `<tr>
|
||||||
<td> ${item.file_name}</td>
|
<td> ${item.file_name}</td>
|
||||||
<td id="form_${item.id}" style=""><form class="ajax" ><input class="file-input__input" type="file" name="file_name" accept=".jpg,.jpeg,.png"><br><small class="text-muted">Allowed: PNG, JPG, JPEG.</small>
|
<td id="form_${item.id}" style=""><form class="ajax" ><input class="file-input__input" type="file" name="file_name" accept=".jpg,.jpeg,.png"><br><small class="text-muted">Allowed: JPG, JPEG, PNG.</small>
|
||||||
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||||
<input type="hidden" class="form-control" value="${item.id}" name="kyc_doc_type_id" />
|
<input type="hidden" class="form-control" value="${item.id}" name="kyc_doc_type_id" />
|
||||||
<input type="hidden" name="client_id" id="id_for_kyc_file" value="${client_id_for_file}"/>
|
<input type="hidden" name="client_id" id="id_for_kyc_file" value="${client_id_for_file}"/>
|
||||||
|
|||||||
@ -220,7 +220,7 @@
|
|||||||
<input type="hidden" id="file_upload_actions" name="upload-action-type">
|
<input type="hidden" id="file_upload_actions" name="upload-action-type">
|
||||||
<input type="file" id="fileInput" name="emplist" required
|
<input type="file" id="fileInput" name="emplist" required
|
||||||
accept=" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.oasis.opendocument.spreadsheet">
|
accept=" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.oasis.opendocument.spreadsheet">
|
||||||
<small class="text-muted d-block">Allowed: XLS, XLSX. Size : 25MB Dimension : 100 X 100</small>
|
<small class="text-muted d-block">Allowed: XLS, XLSX. Size : 25MB</small>
|
||||||
<button type="submit" class="btn btn-primary">Upload</button>
|
<button type="submit" class="btn btn-primary">Upload</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -230,7 +230,7 @@
|
|||||||
<input type="hidden" id="hr_file_upload_actions" name="upload-action-type">
|
<input type="hidden" id="hr_file_upload_actions" name="upload-action-type">
|
||||||
<input type="file" id="fileInput" name="emplist" required
|
<input type="file" id="fileInput" name="emplist" required
|
||||||
accept=" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.oasis.opendocument.spreadsheet">
|
accept=" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.oasis.opendocument.spreadsheet">
|
||||||
<small class="text-muted d-block">Allowed: XLS, XLSX. Size : 25MB Dimension : 100 X 100</small>
|
<small class="text-muted d-block">Allowed: XLS, XLSX. Size : 25MB</small>
|
||||||
<button type="submit" class="btn btn-primary">Upload</button>
|
<button type="submit" class="btn btn-primary">Upload</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -258,7 +258,7 @@ table.dataTable thead th {
|
|||||||
<button class="scroll-btn left-btn" type="button">◀</button>
|
<button class="scroll-btn left-btn" type="button">◀</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item d-flex justify-content-center align-items-center">
|
<li class="nav-item d-flex justify-content-center align-items-center">
|
||||||
<a href="#general-q-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2 active-tab " id="general_tab">
|
<a href="#general-q-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2 active-tab active" id="general_tab">
|
||||||
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
|
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
|
||||||
<span class="d-none d-sm-inline-block ">Data From Client</span>
|
<span class="d-none d-sm-inline-block ">Data From Client</span>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -176,7 +176,7 @@ input:checked + .slider:before {
|
|||||||
<i class="mdi mdi-upload additional-icon"></i>
|
<i class="mdi mdi-upload additional-icon"></i>
|
||||||
</div>
|
</div>
|
||||||
<div id="logo_error_container"></div>
|
<div id="logo_error_container"></div>
|
||||||
<small class="text-muted">Allowed: JPG, JPEG, PNG. Max size: 200KB.</small>
|
<small class="text-muted">Allowed: JPG, JPEG, PNG. Size: 200KB.</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<img src="<?= isset($insurer['insurer_logo']) && !empty($insurer['insurer_logo']) ? base_url() . "public/uploads/logo/" . $insurer['insurer_logo'] : base_url() . "public/assets/images/avatar_2x.png" ?>"
|
<img src="<?= isset($insurer['insurer_logo']) && !empty($insurer['insurer_logo']) ? base_url() . "public/uploads/logo/" . $insurer['insurer_logo'] : base_url() . "public/assets/images/avatar_2x.png" ?>"
|
||||||
|
|||||||
@ -1010,7 +1010,7 @@
|
|||||||
<div class="form-group col-md-5">
|
<div class="form-group col-md-5">
|
||||||
<label for="file">Upload File<span class="text-danger">${required_star}</span></label>
|
<label for="file">Upload File<span class="text-danger">${required_star}</span></label>
|
||||||
<input type="file" class="form-control" id="file_name" name="file[]" ${required} accept=".pdf,.jpg,.jpeg,.png">
|
<input type="file" class="form-control" id="file_name" name="file[]" ${required} accept=".pdf,.jpg,.jpeg,.png">
|
||||||
<small class="text-muted d-block">Allowed: PDF, XLSX, XLS, PNG, JPG, JPEG. <= Default</small>
|
<small class="text-muted d-block">Allowed: PDF, PNG, JPG, JPEG. </small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-2" style="position: relative;top: 28px;">
|
<div class="form-group col-md-2" style="position: relative;top: 28px;">
|
||||||
<a class="btn btn-danger waves-effect waves-light" onclick="removeHTMLInput(this, '${container_id}')">x</a>
|
<a class="btn btn-danger waves-effect waves-light" onclick="removeHTMLInput(this, '${container_id}')">x</a>
|
||||||
|
|||||||
@ -321,9 +321,11 @@
|
|||||||
<input type="hidden" id="entity_type_id">
|
<input type="hidden" id="entity_type_id">
|
||||||
<div class="row" id="inception_form">
|
<div class="row" id="inception_form">
|
||||||
<div class="col-xl-12" style="max-width: 100% !important;">
|
<div class="col-xl-12" style="max-width: 100% !important;">
|
||||||
|
<!--
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row" style="margin-bottom:1rem;">
|
-->
|
||||||
|
<!-- <div class="row" style="margin-bottom:1rem;"> -->
|
||||||
|
|
||||||
<!-- <div class="col-6" style="align-self: center;">
|
<!-- <div class="col-6" style="align-self: center;">
|
||||||
<h4 id="page_title" style="position: relative;">Add Policy</h4>
|
<h4 id="page_title" style="position: relative;">Add Policy</h4>
|
||||||
@ -335,7 +337,7 @@
|
|||||||
<a href="<?= base_url('policy_tranction/inception/list') ?>" type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light"
|
<a href="<?= base_url('policy_tranction/inception/list') ?>" type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light"
|
||||||
>Back</a>
|
>Back</a>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
<!-- </div> -->
|
||||||
<form role="form" class="parsley-examples" method="post" id="inception_form_id" enctype="multipart/form-data" novalidate>
|
<form role="form" class="parsley-examples" method="post" id="inception_form_id" enctype="multipart/form-data" novalidate>
|
||||||
|
|
||||||
<input type="hidden" name="id" id="policy_tranction_primarykey">
|
<input type="hidden" name="id" id="policy_tranction_primarykey">
|
||||||
@ -1151,8 +1153,10 @@
|
|||||||
id="btnSubmit">Submit</button>
|
id="btnSubmit">Submit</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
<!--
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1175,7 +1175,7 @@ function addHTMLInput(data = null, container_id = 'dynamic-form-container')
|
|||||||
<div class="form-group col-md-5">
|
<div class="form-group col-md-5">
|
||||||
<label for="file">Upload File<span class="text-danger">${required_star}</span></label>
|
<label for="file">Upload File<span class="text-danger">${required_star}</span></label>
|
||||||
<input type="file" class="form-control" id="file_name" name="file[]" ${required} accept=".pdf,.jpg,.jpeg,.png">
|
<input type="file" class="form-control" id="file_name" name="file[]" ${required} accept=".pdf,.jpg,.jpeg,.png">
|
||||||
<small class="text-muted d-block">Allowed: PDF, XLSX, XLS, PNG, JPG, JPEG. <= Default</small>
|
<small class="text-muted d-block">Allowed: PDF, JPG, JPEG, PNG.</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-2" style="position: relative;top: 28px;">
|
<div class="form-group col-md-2" style="position: relative;top: 28px;">
|
||||||
<a class="btn btn-danger waves-effect waves-light" onclick="removeHTMLInput(this, '${container_id}')">x</a>
|
<a class="btn btn-danger waves-effect waves-light" onclick="removeHTMLInput(this, '${container_id}')">x</a>
|
||||||
|
|||||||
@ -1017,7 +1017,7 @@ function addHTMLInput(data = null)
|
|||||||
<div class="form-group col-md-5">
|
<div class="form-group col-md-5">
|
||||||
<label for="file">Upload File<span class="text-danger">*</span></label>
|
<label for="file">Upload File<span class="text-danger">*</span></label>
|
||||||
<input type="file" class="form-control" id="file_name" name="file[]" accept=".pdf,.jpg,.jpeg,.png" required>
|
<input type="file" class="form-control" id="file_name" name="file[]" accept=".pdf,.jpg,.jpeg,.png" required>
|
||||||
<small class="text-muted d-block">Allowed: PDF, XLSX, XLS, PNG, JPG, JPEG. <= Default</small>
|
<small class="text-muted d-block">Allowed: PDF, JPG, JPEG, PNG.</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-2" style="position: relative;top: 28px;">
|
<div class="form-group col-md-2" style="position: relative;top: 28px;">
|
||||||
<a class="btn btn-danger waves-effect waves-light" onclick="removeHTMLInput(this)">x</a>
|
<a class="btn btn-danger waves-effect waves-light" onclick="removeHTMLInput(this)">x</a>
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
<div class="row" id="pt_onboarding"> <!-- style="position: relative; bottom: 25px; display:none;" -->
|
<div class="row" id="pt_onboarding"> <!-- style="position: relative; bottom: 25px; display:none;" -->
|
||||||
<div class="col-xl-12">
|
<div class="col-xl-12">
|
||||||
|
<div style="margin-top:10px !important;"></div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="tab-wrapper position-relative">
|
<div class="tab-wrapper position-relative">
|
||||||
<ul class="nav nav-pills navtab-bg" id="myTab">
|
<ul class="nav nav-pills navtab-bg" id="myTab">
|
||||||
|
|||||||
@ -37,18 +37,21 @@ table.dataTable tbody td {
|
|||||||
.dataTables_length label {height: 21px !important;}
|
.dataTables_length label {height: 21px !important;}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
<script>
|
||||||
|
var pageHideMainNavTitle = true;
|
||||||
|
var pageTitle = 'Claim Feedback List';
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row" style="padding-bottom: 10px;">
|
<!-- <div class="row" style="padding-bottom: 10px;">
|
||||||
<div class="col-6" style="align-self: center;">
|
<div class="col-6" style="align-self: center;">
|
||||||
<h4 style="position: relative;">Claim Feedback List </h4>
|
<h4 style="position: relative;">Claim Feedback List </h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div> -->
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
|
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
|
||||||
<thead class="bg-light">
|
<thead class="bg-light">
|
||||||
|
|||||||
@ -28,7 +28,13 @@
|
|||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<?php if (!isset($ticket_data)) { ?>
|
||||||
|
<script>
|
||||||
|
var pageHideMainNavTitle = true;
|
||||||
|
var pageTitle = '<?= isset($claim_ticket_type_id) && $claim_ticket_type_id == 72 ? 'Claim OPD' : 'Claim GMC' ?>';
|
||||||
|
var pageBackButton = '<a href="<?= base_url('ticket/list') ?>" class="topbar-icon-btn" title="Back"><i class="ri-arrow-left-s-line"></i></a>';
|
||||||
|
</script>
|
||||||
|
<?php } ?>
|
||||||
<div class="container-fluid-min">
|
<div class="container-fluid-min">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
@ -36,6 +42,7 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<?php if (!isset($ticket_data)) { ?>
|
<?php if (!isset($ticket_data)) { ?>
|
||||||
<!-- Header Section -->
|
<!-- Header Section -->
|
||||||
|
<!--
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-6 d-flex align-items-center">
|
<div class="col-6 d-flex align-items-center">
|
||||||
<h4 class="mb-0"><?= isset($claim_ticket_type_id) && $claim_ticket_type_id == 72 ? 'Claim OPD' : 'Claim GMC' ?></h4>
|
<h4 class="mb-0"><?= isset($claim_ticket_type_id) && $claim_ticket_type_id == 72 ? 'Claim OPD' : 'Claim GMC' ?></h4>
|
||||||
@ -46,6 +53,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<form role="form" class="parsley-examples" method="post" id="ticket_form_data" onsubmit="submitClaimForm(event, this)" enctype="multipart/form-data">
|
<form role="form" class="parsley-examples" method="post" id="ticket_form_data" onsubmit="submitClaimForm(event, this)" enctype="multipart/form-data">
|
||||||
|
|
||||||
|
|||||||
@ -22,13 +22,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
<?php if (!isset($ticket_data)) { ?>
|
||||||
|
<script>
|
||||||
|
var pageHideMainNavTitle = true;
|
||||||
|
var pageTitle = 'Claim <?= $ticket_form ?>';
|
||||||
|
var pageBackButton = '<a href="<?= base_url('ticket/list') ?>" class="topbar-icon-btn" title="Back"><i class="ri-arrow-left-s-line"></i></a>';
|
||||||
|
</script>
|
||||||
|
<?php } ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="<?= !isset($ticket_data) ? "card" : "" ?>" style="margin-right: 23px;">
|
<div class="<?= !isset($ticket_data) ? "card" : "" ?>" style="margin-right: 23px;">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<?php if (!isset($ticket_data)) { ?>
|
<?php if (!isset($ticket_data)) { ?>
|
||||||
<!-- Header Section -->
|
<!-- Header Section -->
|
||||||
|
<!--
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-6 d-flex align-items-center">
|
<div class="col-6 d-flex align-items-center">
|
||||||
<h4 class="mb-0">Claim <?= $ticket_form ?></h4>
|
<h4 class="mb-0">Claim <?= $ticket_form ?></h4>
|
||||||
@ -39,6 +46,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<form role="form" class="parsley-examples" method="post" id="ticket_form_data" onsubmit="submitClaimForm(event, this)"
|
<form role="form" class="parsley-examples" method="post" id="ticket_form_data" onsubmit="submitClaimForm(event, this)"
|
||||||
enctype="multipart/form-data">
|
enctype="multipart/form-data">
|
||||||
|
|||||||
@ -22,13 +22,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
<?php if (!isset($ticket_data)) { ?>
|
||||||
|
<script>
|
||||||
|
var pageHideMainNavTitle = true;
|
||||||
|
var pageTitle = 'Claim <?= $ticket_form ?>';
|
||||||
|
var pageBackButton = '<a href="<?= base_url('ticket/list') ?>" class="topbar-icon-btn" title="Back"><i class="ri-arrow-left-s-line"></i></a>';
|
||||||
|
</script>
|
||||||
|
<?php }?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="<?= !isset($ticket_data) ? "card" : "" ?>" style="margin-right: 23px;">
|
<div class="<?= !isset($ticket_data) ? "card" : "" ?>" style="margin-right: 23px;">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<?php if (!isset($ticket_data)) { ?>
|
<?php if (!isset($ticket_data)) { ?>
|
||||||
<!-- Header Section -->
|
<!-- Header Section -->
|
||||||
|
<!--
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-6 d-flex align-items-center">
|
<div class="col-6 d-flex align-items-center">
|
||||||
<h4 class="mb-0">Claim <?= $ticket_form ?></h4>
|
<h4 class="mb-0">Claim <?= $ticket_form ?></h4>
|
||||||
@ -39,6 +46,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<form role="form" class="parsley-examples" method="post" id="ticket_form_data"
|
<form role="form" class="parsley-examples" method="post" id="ticket_form_data"
|
||||||
onsubmit="return validateBeforeSubmit(event, this)"
|
onsubmit="return validateBeforeSubmit(event, this)"
|
||||||
|
|||||||
@ -57,16 +57,20 @@
|
|||||||
}
|
}
|
||||||
.dataTables_length label {height: 21px !important;}
|
.dataTables_length label {height: 21px !important;}
|
||||||
</style>
|
</style>
|
||||||
|
<script>
|
||||||
|
var pageHideMainNavTitle = true;
|
||||||
|
var pageTitle = 'Mail Template List';
|
||||||
|
</script>
|
||||||
|
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row" style="padding-bottom: 10px;">
|
<!-- <div class="row" style="padding-bottom: 10px;">
|
||||||
<div class="col-6" style="align-self: center;">
|
<div class="col-6" style="align-self: center;">
|
||||||
<h4 style="position: relative;">Mail Template List </h4>
|
<h4 style="position: relative;">Mail Template List </h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div> -->
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
|
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
|
||||||
<thead class="bg-light">
|
<thead class="bg-light">
|
||||||
|
|||||||
@ -698,6 +698,34 @@ div.dataTables_wrapper {
|
|||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* DataTables — consistent minimum height on main app pages (≈10" laptops → large monitors).
|
||||||
|
* vmin tracks the smaller viewport edge; caps limit empty space on very large displays.
|
||||||
|
* Scroll split: min height on .dataTables_scroll / .dataTables_scrollBody.
|
||||||
|
* No scroll split: min height on wrapper only (avoids stacking min-heights with scroll region).
|
||||||
|
*/
|
||||||
|
.content-page div.dataTables_wrapper:not(:has(.dataTables_scroll)) {
|
||||||
|
min-height: clamp(18rem, 36vmin, 40rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-page div.dataTables_wrapper .dataTables_scroll {
|
||||||
|
min-height: clamp(16rem, 32vmin, 34rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-page div.dataTables_wrapper .dataTables_scrollBody {
|
||||||
|
min-height: clamp(14rem, 28vmin, 30rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Modals / overlays: do not reserve main-page list height */
|
||||||
|
.modal div.dataTables_wrapper,
|
||||||
|
.modal div.dataTables_wrapper .dataTables_scroll,
|
||||||
|
.modal div.dataTables_wrapper .dataTables_scrollBody,
|
||||||
|
#tpa_variation_modal div.dataTables_wrapper,
|
||||||
|
#tpa_variation_modal div.dataTables_wrapper .dataTables_scroll,
|
||||||
|
#tpa_variation_modal div.dataTables_wrapper .dataTables_scrollBody {
|
||||||
|
min-height: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* Let the middle row shrink inside flex layouts so the wrapper doesn’t widen the page */
|
/* Let the middle row shrink inside flex layouts so the wrapper doesn’t widen the page */
|
||||||
div.dataTables_wrapper > .row .dataTables_scroll {
|
div.dataTables_wrapper > .row .dataTables_scroll {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user