(() => { function create({ appState, escapeHtml, cleanString, formatWholeNumber, formatCurrency, formatDate, formatHours, }) { function renderServiceRequestDetailTable(items) { return `
${items .map( (serviceRequest) => ` ` ) .join("")}
Customer SR Number Queue Service Pillar Oppty value Horas apontadas Customer deadline Oppty Status
${escapeHtml(serviceRequest.customerName || "-")} ${renderServiceRequestLink(serviceRequest)} ${escapeHtml(serviceRequest.queueName || "-")} ${escapeHtml(serviceRequest.serviceName || "-")} ${escapeHtml(serviceRequest.pillarLabel || "-")} ${formatCurrency(serviceRequest.opportunityValue)} ${renderReportedHoursLink(serviceRequest)} ${escapeHtml(formatDate(serviceRequest.customerDeadline) || "-")} ${escapeHtml(serviceRequest.opportunityStatusLabel || "-")}
`; } function renderSortButton(label, sortKey, isNumeric = false) { const currentKey = appState.detailModal?.sortKey || ""; const currentDirection = appState.detailModal?.sortDirection || "asc"; const indicator = currentKey === sortKey ? (currentDirection === "asc" ? " ↑" : " ↓") : ""; return ` `; } function renderOpportunityLink(workload) { const label = workload.opportunityNumber || "Opportunity"; if (!workload.opportunityId || !workload.opportunityNumber) { return escapeHtml(label); } const href = `https://eeho.fa.us2.oraclecloud.com/fscmUI/redwood/cx-sales/application/container/opportunities/opportunities-detail?id=${encodeURIComponent( workload.opportunityId )}&puid=${encodeURIComponent(workload.opportunityNumber)}`; return `${escapeHtml(label)}`; } function renderServiceRequestLink(serviceRequest) { const srNumber = cleanString(serviceRequest?.srNumber); if (!srNumber) { return "-"; } const href = `https://eeho.fa.us2.oraclecloud.com/fscmUI/redwood/service/ec/container/sr/edit?srNumber=${encodeURIComponent( srNumber )}`; return `${escapeHtml(srNumber)}`; } function renderReportedHoursLink(serviceRequest) { const srNumber = cleanString(serviceRequest?.srNumber); const label = formatHours(serviceRequest?.totalHoursWorked); if (!srNumber) { return escapeHtml(label); } return ` `; } function renderWorkloadLink(workload, showRampAlert = false) { const description = workload.description ? ` | ${workload.description}` : ""; const label = `${workload.name || "Unnamed workload"}${description}`; if (!workload.workloadId) { return `${escapeHtml(label)}${renderRampAlertButton( workload, showRampAlert )}`; } const href = `https://spa.oracle.com/oalcrm/web/api/g2m-consumer-application/ui/index.html?ojr=workload_workbench/workload_details;workloadId=${encodeURIComponent( workload.workloadId )}`; return ` ${escapeHtml(label)} ${renderRampAlertButton(workload, showRampAlert)} `; } function renderRampAlertButton(workload, showRampAlert) { if (!showRampAlert || !workload.workloadId) { return ""; } return ` `; } function getHeaderNote() { if (appState.status === "loading") { return appState.loadingMessage || "Loading"; } if (appState.status === "error") { return "Extraction failed"; } if (appState.dataset) { return `${appState.dataset.user.userEmail} - ${formatWholeNumber( appState.dataset.summary.eligibleWorkloads.length )} eligible workloads`; } return "Ready"; } function getHeaderSummary() { if (appState.status === "loading") { return appState.loadingMessage || "Loading"; } if (appState.status === "error") { return "Extraction failed"; } if (appState.dataset) { return `${appState.dataset.user.userEmail} | ${formatWholeNumber( appState.dataset.summary.eligibleWorkloads.length )} eligible workloads`; } return "Ready"; } return Object.freeze({ renderServiceRequestDetailTable, renderSortButton, renderOpportunityLink, renderWorkloadLink, getHeaderNote, getHeaderSummary, }); } globalThis.ArchPanelRenderHelpers = Object.freeze({ create, }); })();