52 lines
1.5 KiB
JavaScript
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();
|
|
}); |