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(); });