Files
sibedas/resources/js/master/users/users.js

61 lines
1.8 KiB
JavaScript

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";
class UsersTable {
init() {
this.initTableUsers();
}
initTableUsers() {
new Grid({
columns: [
"ID",
"Name",
"Email",
"Firstname",
"Lastname",
"Position",
],
pagination: {
limit: 15,
server: {
url: (prev, page) =>
`${prev}${prev.includes("?") ? "&" : "?"}page=${
page + 1
}`,
},
},
sort: true,
search: {
server: {
url: (prev, keyword) => `${prev}?search=${keyword}`,
},
},
server: {
url: `${GlobalConfig.apiHost}/api/users`,
credentials: "include",
headers: {
Authorization: `Bearer ${localStorage.getItem("token")}`,
"Content-Type": "application/json",
},
then: (data) =>
data.data.map((item) => [
item.id,
item.name,
item.email,
item.firstname,
item.lastname,
item.position,
]),
total: (data) => data.meta.total,
},
}).render(document.getElementById("table-users"));
}
}
document.addEventListener("DOMContentLoaded", function (e) {
new UsersTable().init();
});