diff --git a/coretabs.user.js b/coretabs.user.js index c3fd05b..822dff2 100644 --- a/coretabs.user.js +++ b/coretabs.user.js @@ -16,7 +16,7 @@ // --- SCRIPT CONFIGURATION --- const AUTH_STORAGE_KEY = 'cats-angular-clientuser:https://coretax.intranet.pajak.go.id/identityprovider:cats-angular-client'; const DEFAULT_CASES_FILTER = 'In Progress'; - const REFUND_CASE_TYPE_NAME = 'Pengembalian Melalui Pelaporan Surat Pemberitahuan (SPT)'; + const REFUND_CASE_PREFIX = 'Pengembalian'; // ---------------------------- // --- State Management --- @@ -98,7 +98,7 @@ } // --- RENDER FUNCTIONS --- - function renderMyCasesTable() {const responseArea=document.querySelector("#tab-my-cases .results-container"),filterValue=document.getElementById("cases-status-filter").value,filteredCases="all"===filterValue?allMyCases:allMyCases.filter(e=>e.CaseStatus===filterValue);if(document.getElementById("toggle-cases-btn").textContent="Collapse All",0===filteredCases.length)return void(responseArea.innerHTML='

No cases match the selected filter.

');filteredCases.sort((e,t)=>{const o=(e.CaseTypeName||"").localeCompare(t.CaseTypeName||"");return 0!==o?o:(t.CaseNumber||"").localeCompare(e.CaseNumber||"",void 0,{numeric:!0})});const table=createTable(["Case Number","Taxpayer Name","Case Type","Status","Created Date","Actions"]),tbody=document.createElement("tbody");let currentGroup="";let groupIndex=0;filteredCases.forEach(e=>{if(e.CaseTypeName!==currentGroup){currentGroup=e.CaseTypeName;groupIndex++;tbody.innerHTML+=`${currentGroup||"Uncategorized"}`}const t=document.createElement("tr");t.className=`group-member my-cases-group-${groupIndex}`;const o=e.AggregateIdentifier;t.dataset.id=o,o===selectedCaseId&&t.classList.add("selected");const a=new Date(e.CreatedDate).toLocaleDateString("id-ID"),s=o&&"string"==typeof o&&""!==o.trim(),r=s?"":'disabled title="Action unavailable: Case ID is missing"';let d="";e.CaseTypeName===REFUND_CASE_TYPE_NAME&&(d=``),t.innerHTML=` + function renderMyCasesTable() {const responseArea=document.querySelector("#tab-my-cases .results-container"),filterValue=document.getElementById("cases-status-filter").value,filteredCases="all"===filterValue?allMyCases:allMyCases.filter(e=>e.CaseStatus===filterValue);if(document.getElementById("toggle-cases-btn").textContent="Collapse All",0===filteredCases.length)return void(responseArea.innerHTML='

No cases match the selected filter.

');filteredCases.sort((e,t)=>{const o=(e.CaseTypeName||"").localeCompare(t.CaseTypeName||"");return 0!==o?o:(t.CaseNumber||"").localeCompare(e.CaseNumber||"",void 0,{numeric:!0})});const table=createTable(["Case Number","Taxpayer Name","Case Type","Status","Created Date","Actions"]),tbody=document.createElement("tbody");let currentGroup="";let groupIndex=0;filteredCases.forEach(e=>{if(e.CaseTypeName!==currentGroup){currentGroup=e.CaseTypeName;groupIndex++;tbody.innerHTML+=`${currentGroup||"Uncategorized"}`}const t=document.createElement("tr");t.className=`group-member my-cases-group-${groupIndex}`;const o=e.AggregateIdentifier;t.dataset.id=o,o===selectedCaseId&&t.classList.add("selected");const a=new Date(e.CreatedDate).toLocaleDateString("id-ID"),s=o&&"string"==typeof o&&""!==o.trim(),r=s?"":'disabled title="Action unavailable: Case ID is missing"';let d="";e.CaseTypeName&&e.CaseTypeName.startsWith(REFUND_CASE_PREFIX)&&(d=``),t.innerHTML=` ${e.CaseNumber||"N/A"} ${e.MainTaxpayerName||"N/A"} ${e.CaseTypeName||"N/A"} @@ -190,7 +190,7 @@ actionsContainer.append(openBtn, docsBtn, usersBtn); - if (caseObject.CaseTypeName === REFUND_CASE_TYPE_NAME) { + if (caseObject.CaseTypeName && e.CaseTypeName.startsWith(REFUND_CASE_PREFIX)) { const refundBtn = document.createElement('button'); refundBtn.className = 'action-btn review-refund-case'; refundBtn.textContent = 'Refund Review';