/*jshint esversion: 6 */ $(document).ready(function () { $.tablesorter.addParser({ id: "production_date", is: function () { return false; }, format: function (s, table, cell) { return $(cell).find("input[id^=production-date]").val() || "2222-01-01"; }, parsed: false, type: "text" }); $("#allTable").tablesorter({ sortList: [[3, 1]], theme: "blue", widthFixed: true, widgets: ["filter", "zebra", "stickyHeaders"], fixedWidth: true, widgetOptions: { resizable: false, filter_formatter: { 7: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 8: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 9: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 10: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 12: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 13: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, }, filter_functions: { 3: function (e, f, i) { return f.includes(i); } } }, headers: { 3: { sorter: "production_date" }, }, }); $("#allTable").bind('filterEnd', function () { localStorage.setItem("productionSchedule_filter", $.tablesorter.getFilters($("#allTable"))); }); $("#allTable").bind("sortEnd", function () { try { localStorage.setItem('productionSchedule_sort', $("#allTable")[0].config.sortList[0][0] + "|" + $("#allTable")[0].config.sortList[0][1]); } catch (e) {} }); setTimeout(() => { const filters = localStorage.getItem("productionSchedule_filter"); if (filters) { $.tablesorter.setFilters($('#allTable'), filters.split(','), true); } const sort = localStorage.getItem("productionSchedule_sort"); if (sort) { try { var tmp = sort.split("|"); $("#allTable")[0].config.sortList = [[parseInt(tmp[0]), parseInt(tmp[1])]]; $.tablesorter.sortOn($("#allTable")[0].config, [[parseInt(tmp[0]), parseInt(tmp[1])]]); } catch (e) { } } }, 500); $("#duplicateBtn").click(() => duplicatePositions()); $("#deleteBtn").click(() => { removePositions(); }); $("#excelBtn").click(() => { exportExcel(); }); $("#pdfBtn").click(() => { window.alert("In progress."); }); $("#productionBtn").click(() => { window.alert("In progress."); }); $("#createInsideOrder").click(createInsideOrder); }); function editQty(id) { $("#edit-" + id).css("display", "none"); $("#qty-" + id).css("display", "none"); $("#qtyInput-" + id).css("display", "inline"); $("#qtyInput-" + id).select(); $("#save-" + id).css("display", "inline-block"); } function saveQty(id) { showLoader("Trwa aktualizacja..."); $("#edit-" + id).css("display", "inline-block"); $("#qty-" + id).css("display", "inline"); $("#qtyInput-" + id).css("display", "none"); $("#save-" + id).css("display", "none"); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=saveQty&id=" + id + "&qty=" + $("#qtyInput-" + id).val(), success: function () { $("#qty-" + id).html($("#qtyInput-" + id).val()); hideLoader(); }, }); } function duplicatePositions() { var ids = []; $("input.allCheck:checkbox:checked").each(function () { ids.push($(this).val()); }); if (ids.length === 0) { window.alert("Wybierz pozycje zamówień"); return; } var userResponse = window.confirm("Zduplikować pozycje?"); if (!userResponse) { return; } showLoader("Duplikowanie..."); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=duplicatePositions&ids=" + ids.join("|"), success: function () { window.location.reload(); }, }); } function removePositions() { var ids = []; $("input.allCheck:checkbox:checked").each(function () { ids.push($(this).val()); }); if (ids.length === 0) { window.alert("Wybierz pozycje zamówień"); return; } var userResponse = window.confirm("Usunąć pozycje?"); if (!userResponse) { return; } showLoader("Usuwanie..."); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=removePositions&ids=" + ids.join("|"), success: function () { window.location.reload(); }, }); } function saveProductionDate(id) { $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=saveProductionDate&id=" + id + "&date=" + $("#production-date-" + id).val(), }); } function editDescription(id) { $("#edit-description-" + id).css("display", "none"); $("#description-" + id).css("display", "none"); $("#descriptionInput-" + id).css("display", "inline"); $("#descriptionInput-" + id).select(); $("#save-description-" + id).css("display", "inline-block"); } function saveDescription(id) { $("#edit-description-" + id).css("display", "inline-block"); $("#description-" + id).css("display", "inline"); $("#descriptionInput-" + id).css("display", "none"); $("#save-description-" + id).css("display", "none"); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=saveProductDescription&id=" + id + "&description=" + $("#descriptionInput-" + id).val(), success: function () { $("#description-" + id).html($("#descriptionInput-" + id).val()); }, }); } function showLoader(msg = "Pobieranie danych") { $.blockUI({ css: { border: "none", padding: "15px", backgroundColor: "#000", "-webkit-border-radius": "10px", "-moz-border-radius": "10px", opacity: 0.5, "font-weight": "bold", "font-size": "16px", color: "#fff", }, message: msg }); } function hideLoader() { $.unblockUI(); } function exportExcel() { showLoader("Generowanie pliku..."); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=exportExcel", success: function (data) { window.console.log(data); }, }); } function createInsideOrder() { var ids = []; $('input.allCheck:checkbox:checked').each(function () { ids.push($(this).val()); }); if (ids.length === 0) { alert('Wybierz pozycje.'); return; } var products = []; ids.forEach(el => { const qty = parseFloat($("#qtyInput-" + el).val().trim()); const id = $("#productId-" + el).val(); products.push(id + "|" + qty); }); $("#insideOrderProducts").val(products.join('*')); $("#createInsideOrderForm").submit(); }