|
@@ -19,7 +19,7 @@ window.$ = window.jQuery = $;
|
|
|
window.JSZip = JSZip;
|
|
window.JSZip = JSZip;
|
|
|
// Initialize DataTable
|
|
// Initialize DataTable
|
|
|
let dataTableInstance;
|
|
let dataTableInstance;
|
|
|
-var livewireSearchTerms ={};
|
|
|
|
|
|
|
+var searchTerms ={};
|
|
|
function initializeDataTable() {
|
|
function initializeDataTable() {
|
|
|
var dataTableName = document.getElementById('datatable-config').dataset.datatableName;
|
|
var dataTableName = document.getElementById('datatable-config').dataset.datatableName;
|
|
|
var dataTableColumnsConfig = JSON.parse(document.getElementById('datatable-config').dataset.datatableColumnsConfig);
|
|
var dataTableColumnsConfig = JSON.parse(document.getElementById('datatable-config').dataset.datatableColumnsConfig);
|
|
@@ -44,7 +44,7 @@ function initializeDataTable() {
|
|
|
return json.data;
|
|
return json.data;
|
|
|
},
|
|
},
|
|
|
data: function (d) {
|
|
data: function (d) {
|
|
|
- d.searchTerms = livewireSearchTerms || {};
|
|
|
|
|
|
|
+ d.searchTerms = searchTerms || {};
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
columns: dataTableColumnsConfig,
|
|
columns: dataTableColumnsConfig,
|
|
@@ -73,20 +73,41 @@ document.addEventListener('livewire:init', function () {
|
|
|
|
|
|
|
|
initializeDataTable();
|
|
initializeDataTable();
|
|
|
|
|
|
|
|
- Livewire.on('search-terms-updated', (searchTerms) => {
|
|
|
|
|
|
|
|
|
|
- livewireSearchTerms = searchTerms || {};
|
|
|
|
|
- setTimeout(() => {
|
|
|
|
|
- initializeDataTable();
|
|
|
|
|
- }, 50); // Slight delay gives Livewire time to patch DOM
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+let inner = {};
|
|
|
|
|
+function getFilterInput(searchTerm, index, searchType, extra){
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ switch (searchType) {
|
|
|
|
|
+ case "text":
|
|
|
|
|
+ case "number":
|
|
|
|
|
+ inner[index] = searchTerm;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "date":
|
|
|
|
|
+ if($.isEmptyObject(inner[index])) {
|
|
|
|
|
+ inner[index] = {"start": "", "end": ""};
|
|
|
|
|
+ }
|
|
|
|
|
+ if (extra === "start") {
|
|
|
|
|
+ inner[index].start = searchTerm;
|
|
|
|
|
+ console.log("start date: ");
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (extra === "end") {
|
|
|
|
|
+ inner[index].end = searchTerm;
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ searchTerms[index] = inner;
|
|
|
|
|
+ console.log(searchTerms[index]);
|
|
|
|
|
+ dataTableInstance.ajax.reload();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- });
|
|
|
|
|
|
|
|
|
|
- });
|
|
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
+window.getFilterInput = getFilterInput;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|