Memperbaiki fitur menu tender di bagian data penawaran

This commit is contained in:
2024-10-08 17:15:00 +07:00
parent d1be0c3aa9
commit ed4a381c20
10 changed files with 201 additions and 41 deletions

View File

@@ -107,6 +107,12 @@
return months[month -
1];
}
function capitalizeWords(str) {
return str.replace(/\b\w/g, function(char) {
return char.toUpperCase();
});
}
</script>
<script type="module">
const element = document.querySelector('#penawaran-table');
@@ -161,22 +167,43 @@
},
},
status: {
title: 'Status'
title: 'Status',
render: (item, data) => {
return capitalizeWords(data.status)
}
},
actions: {
title: 'Action',
render: (item, data) => {
return `<div class="flex flex-nowrap justify-center">
<a class="btn btn-sm btn-icon btn-clear btn-primary" title="Detail" href="tender/penawaran/${data.nomor_registrasi}/show">
<i class="ki-outline ki-abstract-26"></i>
</a>
<a class="btn btn-sm btn-icon btn-clear btn-info" title="Penawaran" href="tender/penawaran/${data.nomor_registrasi}/create">
<i class="ki-outline ki-arrow-circle-right"></i>
</a>
</div>`;
// Display default links first
return `<div class="flex flex-nowrap justify-center" id="action-${data.nomor_registrasi}">
<a class="btn btn-sm btn-icon btn-clear btn-primary" title="Detail" href="tender/penawaran/${data.nomor_registrasi}/show">
<i class="ki-outline ki-abstract-26"></i>
</a>
<a class="btn btn-sm btn-icon btn-clear btn-info" title="Penawaran" href="tender/penawaran/${data.nomor_registrasi}/create" id="penawaran-link-${data.nomor_registrasi}">
<i class="ki-outline ki-arrow-circle-right"></i>
</a>
</div>`;
},
createdRow: function(row, data, dataIndex) {
// Call checkPenawaranExistence after the row is rendered
checkPenawaranExistence(data.nomor_registrasi)
.then(penawaranExists => {
// Update link based on penawaranExists status
let penawaranUrl = penawaranExists ?
`tender/penawaran/${data.nomor_registrasi}/edit` :
`tender/penawaran/${data.nomor_registrasi}/create`;
// Update href of the Penawaran link
$(`#penawaran-link-${data.nomor_registrasi}`).attr('href', penawaranUrl);
})
.catch(error => {
console.error("Error fetching penawaran existence:", error);
});
}
}
},
};