Files
sibedas/resources/js/settings/syncronize/syncronize.js

52 lines
1.5 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.js";
class SyncronizeTask {
init(){
this.initTableImportDatasources();
this.onSyncSubmit();
}
initTableImportDatasources(){
new Grid({
columns: [
"ID", "Message", "Response", "Status", "Created",
],
pagination: {
limit: 15,
server: {
url: (prev, page, limit) => `${prev}?page=${page}`
}
},
sort: true,
search: {
server: {
url: (prev, page, keyword) => `${prev}?page=${page}&search=${keyword}`
}
},
server: {
url: `${GlobalConfig.apiHost}/api/import-datasource`,
then: data => data.data.map((item) => [item.id, item.message, item.response_body, item.status, item.created_at])
}
}).render(document.getElementById("table-import-datasources"));
}
onSyncSubmit(){
const form = document.getElementById("sync-form");
if(form){
form.addEventListener("submit", function (event) {
event.preventDefault(); // Prevent the default form submission
const button = document.getElementById("btn-sync-submit");
if (button) {
button.disabled = true;
button.innerText = "Processing...";
}
form.submit();
});
}
}
}
document.addEventListener('DOMContentLoaded', function (e) {
new SyncronizeTask().init();
});