import { Grid } from "gridjs/dist/gridjs.umd.js";
import gridjs from "gridjs/dist/gridjs.umd.js";
import "gridjs/dist/gridjs.umd.js";
import GlobalConfig from "../../global-config.js";
import GeneralTable from "../../table-generator.js";
// Ambil hak akses dari data-attribute
const tableElement = document.getElementById("reklame-data-table");
const canUpdate = tableElement.getAttribute("data-updater") === "1";
const canDelete = tableElement.getAttribute("data-destroyer") === "1";
const dataAdvertisementsColumns = [
"No",
"Nama Wajib Pajak",
"NPWPD",
"Jenis Reklame",
"Isi Reklame",
"Alamat Wajib Pajak",
"Lokasi Reklame",
"Desa",
"Kecamatan",
"Kontak",
{
name: "Actions",
width: "120px",
formatter: function(cell, row) {
const id = row.cells[10].data;
const model = "data/advertisements";
let actionButtons = '
';
let hasPrivilege = false;
// Tampilkan tombol Edit jika user punya akses update
if (canUpdate) {
hasPrivilege = true;
actionButtons += `
`;
}
// Tampilkan tombol Delete jika user punya akses delete
if (canDelete) {
hasPrivilege = true;
actionButtons += `
`;
}
actionButtons += '
';
// Jika tidak memiliki akses, tampilkan teks "No Privilege"
return gridjs.html(hasPrivilege ? actionButtons : 'No Privilege');
}
}
];
document.addEventListener("DOMContentLoaded", () => {
const table = new GeneralTable(
"reklame-data-table",
`${GlobalConfig.apiHost}/api/advertisements`,
`${GlobalConfig.apiHost}`,
dataAdvertisementsColumns
);
table.processData = function (data) {
return data.data.map((item) => {
return [
item.no,
item.business_name,
item.npwpd,
item.advertisement_type,
item.advertisement_content,
item.business_address,
item.advertisement_location,
item.village_name,
item.district_name,
item.contact,
item.id,
];
});
};
table.init();
});