diff --git a/resources/views/form/rapport-team3/list-1718178830-d871301e-312b-4a60-nebmitra-15afa4ce6163.blade.php b/resources/views/form/rapport-team3/list-1718178830-d871301e-312b-4a60-nebmitra-15afa4ce6163.blade.php index 906b1fd1..02b8a31c 100644 --- a/resources/views/form/rapport-team3/list-1718178830-d871301e-312b-4a60-nebmitra-15afa4ce6163.blade.php +++ b/resources/views/form/rapport-team3/list-1718178830-d871301e-312b-4a60-nebmitra-15afa4ce6163.blade.php @@ -72,6 +72,14 @@ +
+ + + + + +
+ @@ -252,6 +260,58 @@ font-size: 11px; } */ } + + .status-filter-capsules { + display: flex; + flex-wrap: wrap; + gap: 8px; + align-items: center; + } + + .status-capsule { + border: 1px solid #dee2e6; + background: #f8f9fa; + color: #495057; + border-radius: 999px; + padding: 6px 14px; + font-size: 12px; + font-weight: 600; + line-height: 1.2; + cursor: pointer; + transition: all 0.15s ease-in-out; + } + + .status-capsule:hover { + border-color: #adb5bd; + background: #eef1f4; + } + + .status-capsule.active { + color: #fff; + border-color: transparent; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); + } + + .status-capsule.active[data-status=""] { + background: #6c757d; + } + + .status-capsule.active.status-order-taken { + background: #fd7e14; + } + + .status-capsule.active.status-invoice { + background: #0dcaf0; + color: #053b4a; + } + + .status-capsule.active.status-approved { + background: #198754; + } + + .status-capsule.active.status-rejected { + background: #dc3545; + } @@ -723,41 +783,56 @@ // Store current filter params globally let currentFilterParams = {}; + let activeStatusFilter = ''; + + function buildFilterParams() { + return { + form_id: $('#form_id').val(), + startdate: $('#startdate').val() || '', + enddate: $('#enddate').val() || '', + submission_status: activeStatusFilter || '' + }; + } + + function applyStatusFilter(status) { + activeStatusFilter = status || ''; + $('#status-filter-capsules .status-capsule').removeClass('active'); + const selector = status + ? `#status-filter-capsules .status-capsule[data-status="${status.replace(/"/g, '\\"')}"]` + : '#status-filter-capsules .status-capsule[data-status=""]'; + $(selector).addClass('active'); + + currentFilterParams = buildFilterParams(); + lastkey = 1; + loadRows(lastkey, false, currentFilterParams); + } + + $('#status-filter-capsules').on('click', '.status-capsule', function() { + const status = $(this).data('status') || ''; + // Toggle off if same capsule is clicked again (except All) + if (status && status === activeStatusFilter) { + applyStatusFilter(''); + return; + } + applyStatusFilter(status); + }); $('#apply-date-range').on('click', function() { - var startdate = $('#startdate').val(); - var enddate = $('#enddate').val(); - var form_id = $('#form_id').val(); - - // Save current filter params for load more - currentFilterParams = { - form_id: form_id, - startdate: startdate, - enddate: enddate - }; - - // Clear table and load with new filter + currentFilterParams = buildFilterParams(); lastkey = 1; loadRows(lastkey, false, currentFilterParams); }); // On page load, load first 50 rows $(function() { - // Set initial filter params (if any) - var form_id = $('#form_id').val(); - var startdate = $('#startdate').val(); - var enddate = $('#enddate').val(); - currentFilterParams = { - form_id: form_id, - startdate: startdate, - enddate: enddate - }; + currentFilterParams = buildFilterParams(); loadRows(1, true, currentFilterParams); }); // Load more button click $('#load-btn').off('click').on('click', function() { if (lastkey) { + currentFilterParams = buildFilterParams(); loadRows(lastkey, true, currentFilterParams); } });