From c034bcd44012269c27e9a7a0ee5d308f8bff49e5 Mon Sep 17 00:00:00 2001 From: E98Developer Date: Sun, 7 Jun 2026 23:00:40 +0200 Subject: [PATCH] =?UTF-8?q?EV3-375=20Term=C3=A9kmodul=20f=C5=91oldal=20b?= =?UTF-8?q?=C5=91v=C3=ADt=C3=A9s=20"Az=20akt=C3=ADv=20=C3=A1rlist=C3=A1ban?= =?UTF-8?q?=20szerepl=C5=91=20term=C3=A9kek=20kapcsol=C3=B3ja"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/ProductController.php | 26 +++++++++++++++++++ public/js/admin.js | 2 +- public/js/admin.js.map | 2 +- public/mix-manifest.json | 4 +-- resources/js/admin/product.js | 2 +- resources/views/admin/product/index.blade.php | 21 +++++++++++++++ 6 files changed, 52 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Admin/ProductController.php b/app/Http/Controllers/Admin/ProductController.php index e5333e9..fe71156 100644 --- a/app/Http/Controllers/Admin/ProductController.php +++ b/app/Http/Controllers/Admin/ProductController.php @@ -313,6 +313,32 @@ public function getDataTableContent(Request $request): JsonResponse $val = $searchParameter['specialOffer'] == '1' ? 1 : 0; $Product->where('specialOffer', $val); } + + // Csak az utolsó (legfrissebb) aktív árlistában szereplő termékek szűrő + // Per supplier: a legfrissebb, de még ma előtti available dátumú árlista az érvényes + if (isset($searchParameter['onlyActivePriceList']) && $searchParameter['onlyActivePriceList'] == '1') { + $today = \Carbon\Carbon::today()->format('Y-m-d'); + + $latestPriceListIds = DB::table('price_lists as pl') + ->joinSub( + DB::table('price_lists') + ->where('available', '<=', $today) + ->whereNull('deleted_at') + ->select('supplier_id', DB::raw('MAX(available) as max_available')) + ->groupBy('supplier_id'), + 'latest', + function ($join) { + $join->on('pl.supplier_id', '=', 'latest.supplier_id') + ->on('pl.available', '=', 'latest.max_available'); + } + ) + ->whereNull('pl.deleted_at') + ->pluck('pl.id'); + + $Product->whereHas('PriceList', function ($query) use ($latestPriceListIds) { + $query->whereIn('price_lists.id', $latestPriceListIds); + }); + } if (! $request->ajax()) { // dd($searchParameter,$Product->toSql(), $request->input()); diff --git a/public/js/admin.js b/public/js/admin.js index a5ca0ae..014529b 100644 --- a/public/js/admin.js +++ b/public/js/admin.js @@ -1,2 +1,2 @@ -window.Dashboard=function(){var t={active:!1,containerCssSelector:".dashboard",testFileMod:!1,isAdmin:!1,URL:{create:"",store:"",getDataTableContent:"",destroy:""}},o=this;this.construct=function(o){debug("Dashboard constructor called"),$.extend(t,o)},this.getOpts=function(){return t},this.init=function(a){console.log("Dashboard init called"),$.extend(t,a),o.initEditorButtons()},this.initEditorButtons=function(){$(".DashboardEditable button.edit").off("click"),$(".DashboardEditable button.edit").on("click",function(){o.initEditor(),$(".btnGroupEdit").toggleClass("d-none"),$(".btnGroupModify").toggleClass("d-none")}),$(".DashboardEditable button.btnSave").off("click"),$(".DashboardEditable button.btnSave").on("click",function(){o.saveCustomContent()}),$(".DashboardEditable button.btnCancel").off("click"),$(".DashboardEditable button.btnCancel").on("click",function(){$(".btnGroupEdit").toggleClass("d-none"),$(".btnGroupModify").toggleClass("d-none"),o.removeEditor()})},this.saveCustomContent=function(){var o=new FormData($(".dashboardForm")[0]);o.append("stored_data",tinymce.activeEditor.getContent());var a=t.URL.update.replace("%id%",$("div.dashboardCustomContent").data("id"));o.append("_method","PUT"),$.ajax({url:a,data:o,type:"POST",contentType:!1,processData:!1,beforeSend:function beforeSend(){},success:function success(t){Toast.create({title:"Siekeres mentés!",message:"Új tartalom elmentve.",status:TOAST_STATUS.INFO,timeout:5e3})},error:function error(t){console.log(t.responseJSON),ajaxErrorFieldHandler(t.responseJSON.error)}})},this.loadTinymce=function(){$.getScript("https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js",function(){o.initEditor()})},this.removeEditor=function(t){"undefined"!=typeof tinymce&&tinymce.remove()},this.initEditor=function(t){"undefined"!=typeof tinymce?tinymce.init({selector:"div.dashboardCustomContent",language:"hu_HU",plugins:"code table lists",toolbar:" undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table"}):o.loadTinymce()}},window.PriceListAdmin=function(t,o){var a={active:!1,containerCssSelector:".priceListForm",testFileMod:!1,URL:{create:"",store:"",getDataTableContent:"",destroy:""}},r=this,i=null;this.construct=function(t){debug("PriceListAdmin constructor called"),$.extend(a,t)};var l=null,c=0;this.initErrorNavigationButton=function(){c=$(".statusError").length,l=null,$(".priceListForm .buttonPrevError .buttonNextError").off("click"),$(".priceListForm .buttonPrevError").on("click",function(){if(null==l)l=0;else{if(!(l>0))return;l--}$(".statusError").removeClass("highlightedErrorRow"),$(".priceListTableWrapper").scrollTop($($(".statusError")[l]).position().top),$($(".statusError")[l]).addClass("highlightedErrorRow")}),$(".priceListForm .buttonNextError").off("click"),$(".priceListForm .buttonNextError").on("click",function(){if(null==l)l=0;else{if(!(l tbody").empty(),$(".containerFileUpload").removeClass("d-none"))},this.clickNewPriceListCallBack=function(){r.initViewDetails()},this.clickNewPriceList=function(){APP.loadMainContent(a.URL.create,r.clickNewPriceListCallBack)},this.datatableRowActionButtonClick=function(t){var o=$(t[0].currentTarget),r=$(i).DataTable().row(o.parents("tr")),l=r.data(),c={},d=a.URL.destroy.replace("%id%",l.id);c._token=$("input[name=_token]").val(),$.ajax({url:d,data:c,method:"DELETE",success:function success(t){1==t.success&&r.remove().draw()}})},this.initViewList=function(t){debug("listview inicialization"),i=a.containerCssSelector+" .dataTable";var o=$(i+" thead th").length;APP.setOpts({datatableActionButtonClickCallBack:r.clickNewPriceList,datatableRowActionButtonClickCallBack:r.datatableRowActionButtonClick}),APP.dataTablePriceList=$(i).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:a.URL.getDataTableContent,columnDefs:[{targets:o-1,render:function render(t,o,a){return APP.datatableAddRowTrashButton(0,arguments)}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0},{text:"Új felvitele",className:"btn btn-success newItem",attr:{data:"newItem"},init:function init(t,o,a){$(o).removeClass("ui-button")},action:function action(t,o,a,r){APP.datatableActionButtonClickCallBack(arguments)}}]},columns:[{data:"id"},{data:"supplierName"},{data:"available"},{data:"created_at"},{data:"note"},null],stateSave:!0,drawCallback:function drawCallback(t){APP.datatableAddRowAction(i)}})},this.initViewDetails=function(t){$(a.containerCssSelector+" .datePickerClick").off("click"),$(a.containerCssSelector+" .datePickerClick").on("click",function(){$(a.containerCssSelector+" .datePicker").datepicker("show")}),$(a.containerCssSelector+" .datePicker").datepicker({dateFormat:"yy-mm-dd",onSelect:function onSelect(t){console.log(t),$(".selectedDateText").text(t.replaceAll("-",".")),$('input[name="availableDate"]').val(t)}}),$(a.containerCssSelector+" .buttonNewUpload").off("click"),$(a.containerCssSelector+" .buttonNewUpload").on("click",function(){r.selectedUploadFileToggle()}),$(a.containerCssSelector+" .buttonUpload").off("click"),$(a.containerCssSelector+" .buttonUpload").on("click",function(){console.log("------------------"),r.selectedUploadFileToggle();var t=new FormData($(".priceListForm")[0]);if($(".supplierSelect").val().length<1)Toast.create({title:"Hiba!",message:"Adjon meg beszállítót!",status:TOAST_STATUS.DANGER,timeout:1e4});else{var o=$("#inputGroupPriceListFile");console.log(o[0].files.length<1),!a.testFileMod&&(console.log(o[0].files.length<1),o[0].files.length<1)?Toast.create({title:"Hiba!",message:"Vállaszon ki fájlt!",status:TOAST_STATUS.DANGER,timeout:1e4}):(t.append(o.attr("name"),o[0].files[0]),r.selectedUploadFileToggle(o),$.ajax({url:a.URL.store,data:t,type:"POST",contentType:!1,processData:!1,beforeSend:function beforeSend(){},success:function success(t){console.log(t),1==t.success&&r.processCheckedPriceListResponse(t)},error:function error(t){console.log(t.responseJSON),r.selectedUploadFileToggle(),ajaxErrorFieldHandler(t.responseJSON.error)}}))}}),$(a.containerCssSelector+" .buttonFinalization").on("click",function(){var t=new FormData($(".priceListForm")[0]),o=$("#inputGroupPriceListFile");t.append(o.attr("name"),o[0].files[0]),t.append("finalization",1),$.ajax({url:a.URL.store,data:t,type:"POST",contentType:!1,processData:!1,beforeSend:function beforeSend(){},success:function success(t){console.log(t),t.success&&($(".priceListTable tbody tr").remove(),$(".uploadStatusRow >.canFinish").hide(),$(".uploadStatusRow").addClass("d-none"),$(".priceListTable tbody").append(' Árlistát elmentettük.'))},error:function error(t){console.log(t.responseJSON),ajaxErrorFieldHandler(t.responseJSON.error)}})})},this.init=function(t){console.log("PriceListAdmin init called"),$.extend(a,t),console.log("Opt extended"),console.log(a),console.log("call list view Init"),r.initViewList(t)},this.getOpts=function(){return a};var d=!1;this.processCheckedPriceListResponse=function(t){d=!1,r.processCheckedPriceListResponseRows(t.rows),d?($(".uploadStatusRow >.canFinish").hide(),$(".uploadStatusRow >.canFinishError").show(),r.initErrorNavigationButton()):($(".uploadStatusRow >.canFinish").show(),$(".uploadStatusRow >.canFinishError").hide()),$(".uploadStatusRow").removeClass("d-none"),$(".containerUploadedSpinner").addClass("d-none")},this.processCheckedPriceListResponseRows=function(t){for(var o in console.log("processingRows"),t){var a=t[o],i=a.originalData;i.rowNum=a.rowNum;var l=$('template[data-name="priceListTableRow"]').html(),c=Mustache.render(l,i);$(".priceListTable tbody").append(c),$("tr[data-rownum="+a.rowNum+"]").addClass("status"+$.ucFirst(a.status)),r.processResponseRowErrors(a.error,a.rowNum),a.changed&&r.processResponseRowChanged(a.changed,a.rowNum)}},this.processResponseRowChanged=function(t,o){if(!(t.length<1)){console.log(t);var a=$("tr[data-rownum="+o+"]");for(var r in t){var i=a.find('td[data-pointer="'+r+'"]');i.addClass("bg-primary");var l=$(document.createElement("span")).text(t[r].old).addClass("fieldChanged");i.append(l)}}},this.processResponseRowErrors=function(t,o){if(!(t.length<1)&&(console.log(t),d=!0,void 0!==t.fields)){var a=$("tr[data-rownum="+o+"]");for(var r in t.fields){var i=a.find('td[data-pointer="'+r+'"]');i.addClass("bg-danger");var l=$(document.createElement("span")).text(t.fields[r]).addClass("fieldError");i.append(l)}}}},window.PriceListProfitCenterAdmin=function(t){var o={token:null,containerCssSelector:".containerPriceListProfitCenter",testMode:!1,URL:{getDataTableContent:"",getProductGroupHTML:"",index:"",show:"",edit:"",create:"",store:"",update:"",destroy:""},dataTable:{orderDirective:[1,"asc"]},onAfterInitViewDetails:function onAfterInitViewDetails(){}},a=this;this.construct=function(t,a){console.log("PriceListProfitCenterAdmin constructor called"),$.extend(o,t)},this.getOpts=function(){return o};var r={supplier:"",deliveryDate:""};this.checkRefreshPossible=function(){console.log("check need parameter");var t=!0;$.each(r,function(o,a){""===a&&(t=!1)}),t&&(a.refreshDatatable(),a.refreshProductGroup(),a.setDatatableHeaderText(""))},this.setDatatableHeaderText=function(t){$(".tableHeaderText").text(t)},this.getTreePathName=function(t){var o="",a=$(t).parents("li").toArray();for(var r in a.shift(),a.reverse(),a)$(a[r]).children("a.categoryItem").length>0&&(o+=$(a[r]).children("a.categoryItem").text()+"/");return o+=$(t).text()},this.bindProductGroupItem=function(){$(".sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable").off("click"),$(".sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable").on("click",function(){var t=$(this).data("id");i=t,a.setDatatableHeaderText(a.getTreePathName(this)),a.refreshDatatable()})},this.refreshProductGroup=function(){var t={supplierId:r.supplier,deliveryDate:r.deliveryDate},i=o.URL.getProductGroupHTML;$.ajax({url:i,data:t,type:"GET",contentType:!1,processData:!0,beforeSend:function beforeSend(){},success:function success(t){$(".sidebar-menu .productGroup").find("ul").html(t),a.bindProductGroupItem()},error:function error(t){ajaxErrorFieldHandler(t.responseJSON.error)}})},this.refreshDatatable=function(){$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.changePriceListProfitCenterParameter=function(t,o){void 0===o&&(o=$(this));var l=o.attr("name");"supplier"==l&&(i=null);var c="";"SELECT"==o.get(0).nodeName?o.select2("data").length>0&&(c=o.select2("data")[0].id):c=o.val(),r[l]!=c&&(r[l]=c,a.checkRefreshPossible())},this.init=function(t){$.extend(o,t);var r=o.containerCssSelector;$(r+" .datePickerClick").click(function(){$(r+" .datePicker").datepicker("show")}),$(".supplierSelect").on("change",a.changePriceListProfitCenterParameter),$(".supplierSelect").select2({maximumSelectionLength:1}),$(r+" .datePicker").datepicker({dateFormat:"yy-mm-dd",minDate:new Date,onSelect:function onSelect(t,o){$(r+" .selectedDateText").text(t),$(".deliveryDatePlace").text(t.replaceAll("-",".")+"."),$(r+' input[name="deliveryDate"]').val(t),a.changePriceListProfitCenterParameter(null,$(o.input))}}),a.getDatatables(""),$(".dataTableOrderProductSelect").on("draw.dt",a.productSelectDataTableDrawDT).dataTable()},this.productSelectDataTableDrawDT=function(t){$('td:contains("*")').html(''),$("td.details-control").removeClass("details-control")};var i=null;this.getDatatables=function(t){var a=APP.OrderModule.productSelectDataTableColumn();return a[a.length-1].render=function(t,o,a){return"out_of_stock"===a.stock_status?'':''},$(".dataTableOrderProductSelect").DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:o.URL.getDataTableContent,data:function data(t){t.supplierId=r.supplier,t.deliveryDate=r.deliveryDate,t.groupId=i}},buttons:{buttons:[]},columnDefs:APP.OrderModule.productSelectDataTableColumnDefs(),columns:a,order:[[1,"asc"]]})}},(()=>{function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _createForOfIteratorHelper(t,o){var a="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!a){if(Array.isArray(t)||(a=function _unsupportedIterableToArray(t,o){if(t){if("string"==typeof t)return _arrayLikeToArray(t,o);var a={}.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,o):void 0}}(t))||o&&t&&"number"==typeof t.length){a&&(t=a);var r=0,i=function F(){};return{s:i,n:function n(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function e(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,c=!0,d=!1;return{s:function s(){a=a.call(t)},n:function n(){var t=a.next();return c=t.done,t},e:function e(t){d=!0,l=t},f:function f(){try{c||null==a.return||a.return()}finally{if(d)throw l}}}}function _arrayLikeToArray(t,o){(null==o||o>t.length)&&(o=t.length);for(var a=0,r=Array(o);a0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization"),dataTableCSSSelector=a.containerCssSelector+" .dataTable";var o=$(dataTableCSSSelector+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:r.datatableRowActionButtonClick});var i=a.dataTable.orderDirective;void 0!==t.orderDirective&&(i=t.orderDirective),$(dataTableCSSSelector).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:a.URL.getDataTableContent,serverSide:!0,columnDefs:[{targets:o-1,orderable:!1,render:function render(t,o,a){return APP.datatableAddRowEditButton(0,arguments)}},{targets:1,render:function render(t,o,a){return"sort"===o?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0}]},columns:[{data:"id"},{data:"name"},{data:"hooreycaId"},{data:"productGroup"},{data:"supplierName"},{data:"price"},{data:"created_at"},null],order:i,stateSave:!0,drawCallback:function drawCallback(t){APP.datatableAddRowAction(dataTableCSSSelector)}}),debug("listview end")},this.initViewList=function(){debug("initViewSearch inicialization 1"),r.container.find("select.supplierSelect, select.profitCenterSelect, select.productGroupSelect, select.producerSelect, select.hooreycaNamesSelect, select.specialOfferSelect").select2(),r.container.find("select.productSelect").select2({placeholder:"...",allowClear:!0,ajax:{url:a.URL.getProductSearch,dataType:"json",data:function data(t){return{term:t.term||"",page:t.page||1,supplierId:r.container.find("select.supplierSelect").val()}},cache:!0}}),r.container.find(".datePickerFrom, .datePickerTo").datepicker({dateFormat:"yy-mm-dd",onSelect:function onSelect(t,o){debug(this),debug(o.input)}}),r.container.find(".datePickerClick").click(function(){debug($(this).data("action")),r.container.find('input[name="'+$(this).data("action")+'"]').datepicker("show")});var t=r.container.find(".FormSendButton");t.off("click"),t.on("click",function(){debug("FormSendButton click"),r.loadingResultContainer(),r.requestProducts()}),r.setVisibleFilters("Product"),r.loadFiltersFromLocalStorage()&&(r.loadingResultContainer(),r.requestProducts()),debug("initViewSearch end")},this.loadingResultContainer=function(){debug("clearResultContainer"),debug(r.resultContainer),r.hideResultContainer(),r.container.find(".containerLoading").show()},this.hideResultContainer=function(){debug("hide containerResult"),debug(r.resultContainer),r.resultContainer.hide()},this.showResultContainer=function(){r.container.find(".containerLoading").hide(),r.resultContainer.show()},this.init=function(t,o){if(console.log("ProductAdmin init"),$.extend(a,t),a.testMode)return r.testMode();o&&(r.Product=o),r.dataTable=null,r.container=$(a.containerCssSelector),r.resultContainer=$(a.resultContainerSelector),r.initViewList()},this.initViewDetails=function(t,o){debug("**call initViewDetails ");var i=a.containerCssSelector+" .productForm";if(r.Product.picture){console.log("*****//////////////////****************"),console.log(r.Product.picture),console.log(i);var l=r.Product.picture.PublicUrl+"/"+r.Product.picture.filename;console.log(l),console.log($(i+" img.imageProduct")),$(i+" img.imageProduct").attr("src",l)}r.Product.specification&&(console.log("*****//////////////////****************"),console.log(r.Product.specification),r.Product.specification.PublicUrl,r.Product.specification.filename,r.addAttachment(r.Product.specification));var c=$(i+" button.FormSaveButton");c.off("click"),c.on("click",r.clickSaveButton)},this.addAttachment=function(t){console.log(t);var o=a.containerCssSelector+" .productForm";t.rowNum=1;var r=new Date(t.updated_at);r=r.toLocaleString("hu-HU",{}),t.date=r,t.link=t.PublicUrl+"/"+t.filename;var i=$('template[data-name="productAttachmentTableRow"]').html(),l=Mustache.render(i,t);$(o+" .attachmentTable tbody").append(l),Toast.enableTimers(!1),Toast.create({title:"Fájl hozzáadva!",message:t.original_filename+" fájl hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.setVisibleFilters=function(t){for(var o in console.log("setVisibleFilters"),console.log(a.filters[t]),console.log(r.container),$(r.container).find('div[class*="filter"]').hide(),a.filters[t]){var i=a.filters[t][o];debug(i),console.log($(r.container).find(".filter_"+i)),$(r.container).find(".filter_"+i).show()}},this.c=function(t){console.log("c called"),console.log(t),console.log(r.container),console.log(r.container.find("form")),console.log(r.container.find(t))},this.formDataToDataObjectAPICall=function(t){console.log(t),console.log(r.container),console.log(r.container.find(t)),console.log(r.container.find("form")),console.log(r.container.find("form"+t)[0]);var o=new FormData(r.container.find("form"+t)[0]);return $.each(o.getAll("supplier"),function(t,a){o.append("suppliers[]",a)}),o.delete("supplier"),$.each(o.getAll("profitCenter"),function(t,a){o.append("profitCenters[]",a)}),o.delete("profitCenter"),$.each(o.getAll("productGroup"),function(t,a){o.append("productGroups[]",a)}),o.delete("productGroup"),$.each(o.getAll("product"),function(t,a){o.append("products[]",a)}),o.delete("product"),$.each(o.getAll("producer"),function(t,a){o.append("producers[]",a)}),o.delete("producer"),$.each(o.getAll("hooreycaName"),function(t,a){o.append("hooreycaNames[]",a)}),o.delete("hooreycaName"),o},this.getAjaxDataJson=function(){var t=r.formDataToDataObjectAPICall(".ProductListForm");console.log("======================");var o,a=_createForOfIteratorHelper(t.entries());try{for(a.s();!(o=a.n()).done;){var i=o.value;console.log(i[0]+", "+i[1])}}catch(t){a.e(t)}finally{a.f()}var l={};return t.forEach(function(t,o){Reflect.has(l,o)?(Array.isArray(l[o])||(l[o]=[l[o]]),l[o].push(t)):l[o]=t}),JSON.stringify(l)},this.requestProducts=function(){var t=a.URL.getDataTableContent;debug(t),ajaxDataJson=r.getAjaxDataJson(),console.log(ajaxDataJson);var o=r.container.find("form.ProductListForm");if(o.length>0){var i=new FormData(o[0]),l={};i.forEach(function(t,o){Reflect.has(l,o)?(Array.isArray(l[o])||(l[o]=[l[o]]),l[o].push(t)):l[o]=t}),localStorage.setItem("product_admin_filters",JSON.stringify(l))}dataTableCSSSelector=a.containerCssSelector+" .dataTable",console.log(dataTableCSSSelector);var c=$(dataTableCSSSelector+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:r.datatableRowActionButtonClick});var d=a.dataTable.orderDirective;r.dataTable?(console.log("XXXXXXXXXXXXXXXXXXXX van Datatable"),r.dataTable.draw()):(console.log("XXXXXXXXXXXXXXXXXXXX Nincs Datatable"),r.dataTable=$(dataTableCSSSelector).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:a.URL.getDataTableContent,data:function data(t){return console.log("---******----"),console.log(APP.ProductAdmin.getAjaxDataJson()),$.extend({},t,{ajaxData:APP.ProductAdmin.getAjaxDataJson})},type:"GET"},serverSide:!0,columnDefs:[{targets:c-1,orderable:!1,render:function render(t,o,a){return APP.datatableAddRowEditButton(0,arguments)}},{targets:1,render:function render(t,o,a){return"sort"===o?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0}]},columns:[{data:"id"},{data:"name"},{data:"buyerProductName"},{data:"hooreycaId"},{data:"productGroup"},{data:"supplierName"},{data:"price"},{data:"created_at"},null],order:d,stateSave:!0,drawCallback:function drawCallback(t){APP.datatableAddRowAction(dataTableCSSSelector),r.showResultContainer(),console.log("drawCallback")}}))},this.loadFiltersFromLocalStorage=function(){var t=localStorage.getItem("product_admin_filters");if(t){var o=JSON.parse(t),a=r.container.find("form.ProductListForm");if(0===a.length)return!1;var i=function _loop(){var t=o[l],r=a.find('[name="'+l+'"]');r.length&&(r.is("select")?r.val(t).trigger("change"):r.is(":checkbox")||r.is(":radio")?r.each(function(){Array.isArray(t)?$(this).prop("checked",t.includes($(this).val())):$(this).prop("checked",$(this).val()==t)}):r.val(t))};for(var l in o)i();return!0}return!1},this.processResponse=function(){},this.clickSaveButton=function(t){debug("Save clicked");var o=a.containerCssSelector+" .productForm";if(t.preventDefault(),!1===$(o)[0].checkValidity())return console.log("validaton false"),void t.stopPropagation();console.log("validaton ok");var i=r.formDataToDataObjectAPICall(".productForm"),l=a.URL.store,c="POST";r.Product.id&&(l=a.URL.update.replace("%id%",r.Product.id),i.append("_method","PUT")),debug(c),debug(i),$.ajax({url:l,data:i,type:c,contentType:!1,processData:!1,headers:{"X-CSRF-TOKEN":a.token},success:function success(t){debug(t),1==t.success&&(a.dataTable.orderDirective=[0,"desc"],Toast.create({title:"Sikeres rögzítés!",message:i.get("name")+" nevű termék elmentve",status:TOAST_STATUS.SUCCESS,timeout:5e3}))}})}}})(),(()=>{function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _defineProperties(t,o){for(var a=0;a0||!0===$(this).data("required"))&&$(this).addClass("is-invalid")},oncomplete:function oncomplete(){$(this).removeClass("is-invalid"),$(this).addClass("is-valid")},oncleared:function oncleared(){console.log("cleared"),$(this).removeClass("is-invalid")}}),$(c+" button.FormSaveButton").off("click"),$(c+" button.FormSaveButton").on("click",r.clickSaveButton),debug("**end initViewDetails ")},this.setDetailsViewData=function(){debug("setDetailsViewData");var t=a.containerCssSelector+" .profitCenterForm";$.each(["name","hooreycaId","nameId","email","postCode","city","street","phone","mobil"],function(){void 0!==r.ProfitCenter[this]&&$(t+" input[name="+this+"]").val(r.ProfitCenter[this])}),void 0!==r.ProfitCenter.note&&$(t+" textarea[name=note]").val(r.ProfitCenter.note),$(t+" *[data-toggle=canSee][data-title="+r.ProfitCenter.canSee+"]").click(),$(t+" *[data-toggle=hooreycaDataActive][data-title="+r.ProfitCenter.hooreycaDataActive+"]").click(),void 0!==r.ProfitCenter.logoFile&&r.ProfitCenter.logoFile&&$(t+" img.imageLogo").attr("src",r.ProfitCenter.logoFile),$(t+" *[data-toggle=addressEqual][data-title="+r.ProfitCenter.addressEqual+"]").click(),$(t+" *[data-toggle=multiAddress][data-title="+r.ProfitCenter.multiAddress+"]").click();var o=[];$.each(r.ProfitCenter.suppliers,function(){o.push(this.name)}),$.each(o,function(){$('input[value="'+$.escapeSelector(this)+'"]').prop("checked",!0)})},this.resetContactTable=function(){$(c+" .contactTable tbody tr").remove(),r.renderContact()},this.renderContact=function(){var t=1;console.log("renderingContacts"),$.each(r.ProfitCenter.getData("contact"),function(){this.rowNum=t;var o=$('template[data-name="profitCenterContactTableRow"]').html(),a=Mustache.render(o,this);$(".contactTable tbody").append(a),t++}),r.bindContactClickAction()},this.bindContactClickAction=function(){$(".contactTable .buttonDelete").unbind("click"),$(".contactTable .buttonDelete").bind("click",r.contactDeleteClick),$(".contactTable .buttonEdit").unbind("click"),$(".contactTable .buttonEdit").bind("click",r.contactEditClick)},this.contactDeleteClick=function(t){var o=$(this).closest("tr"),a=o.find("input[name=contactId]").val();console.log(a),r.ProfitCenter.contact=r.ProfitCenter.contact.filter(function(t,o,r){return t.id!==1*a}),console.log(r.ProfitCenter.contact),o.remove(),r.resetContactTable()},this.getContactPopupWorkflow=function(){return i},this.setContactPopupWorkflow=function(t){i=t},this.contactEditClick=function(t){console.log(this);var o=$(this).closest("tr").find("input[name=contactId]").val();console.log(o),r.setContactPopupWorkflow("edit"),APP.ContactPopUp.loadData(o)},this.contactAction=function(t){console.log("nah most kellene meg valamit csinalni."),"new"==r.getContactPopupWorkflow()?r.addContact(t):"edit"==r.getContactPopupWorkflow()&&r.editContact(t.id,t)},this.addContact=function(t){r.ProfitCenter.contact.push(t),t.rowNum=r.ProfitCenter.contact.length;var o=$('template[data-name="profitCenterContactTableRow"]').html(),a=Mustache.render(o,t);$(c+" .contactTable tbody").append(a),r.bindContactClickAction(),Toast.enableTimers(!1),Toast.create({title:"Kapcsolat tartó hozzáadva!",message:t.name+" nevű kapocsolattartó hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.editContact=function(t,o){var a=[];$.each(r.ProfitCenter.getData("contact"),function(r){this.id==t?a.push(o):a.push(this)}),r.ProfitCenter.contact=a,r.resetContactTable(),Toast.create({title:"Kapcsolat adatai módosítva!",message:o.name+" nevű kapocsolattartó módosítva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.resetAddressTable=function(){$(c+" .addressTable tbody tr").remove(),r.renderAddress()},this.renderAddress=function(){var t=1;console.log("renderingAddress"),$.each(r.ProfitCenter.getData("address"),function(){var o=this;o.rowNum=t;var a=$('template[data-name="profitCenterAddressTableRow"]').html();debug(o);var r=Mustache.render(a,o);$(".addressTable tbody").append(r),t++}),r.bindAddressClickAction()},this.bindAddressClickAction=function(){$(".addressTable .buttonDelete").unbind("click"),$(".addressTable .buttonDelete").bind("click",r.addressDeleteClick),$(".addressTable .buttonEdit").unbind("click"),$(".addressTable .buttonEdit").bind("click",r.addressEditClick)},this.addressDeleteClick=function(t){var o=$(this).closest("tr"),a=o.find('input[name="addressId[]"]').val();console.log(a),r.ProfitCenter.address=r.ProfitCenter.address.filter(function(t,o,r){if(t.id!=a)return!0}),console.log(r.ProfitCenter.address),o.remove(),r.resetAddressTable()},this.getAddressPopupWorkflow=function(){return l},this.setAddressPopupWorkflow=function(t){l=t},this.addressEditClick=function(t){console.log(this);var o=$(this).closest("tr").find('input[name="addressId[]"]').val();console.log(o),r.setAddressPopupWorkflow("edit"),APP.AddressPopUp.loadData(o)},this.addressAction=function(t){console.log("nah most kellene meg valamit csinalni."),"new"==r.getAddressPopupWorkflow()?r.addAddress(t):"edit"==r.getAddressPopupWorkflow()&&r.editAddress(t.id,t)},this.addAddress=function(t){r.ProfitCenter.address.push(t),t.rowNum=r.ProfitCenter.address.length;var o=$('template[data-name="profitCenterAddressTableRow"]').html(),a=Mustache.render(o,t);$(c+" .addressTable tbody").append(a),r.bindAddressClickAction(),Toast.enableTimers(!1),Toast.create({title:"Cím hozzáadva!",message:t.street+" hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.editAddress=function(t,o){var a=[];$.each(r.ProfitCenter.getData("address"),function(r){this.id==t?a.push(o):a.push(this)}),r.ProfitCenter.address=a,r.resetAddressTable(),Toast.create({title:"cím adatai módosítva!",message:o.street+" módosítva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.initViewList=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization"),d=a.containerCssSelector+" .dataTable";var o=$(d+" thead th").length;APP.setOpts({datatableActionButtonClickCallBack:r.clickNew,datatableRowActionButtonClickCallBack:r.datatableRowActionButtonClick});var i=a.dataTable.orderDirective;void 0!==t.orderDirective&&(i=t.orderDirective),$(d).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:a.URL.getDataTableContent,columnDefs:[{targets:o-1,render:function render(t,o,a){var r=APP.datatableAddRowTrashButton(0,arguments);return r+=APP.datatableAddRowEditButton(0,arguments)}},{targets:1,render:function render(t,o,a){return"sort"===o?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0},{text:"Új felvitele",className:"btn btn-success newItem",attr:{data:"newItem"},init:function init(t,o,a){$(o).removeClass("ui-button")},action:function action(t,o,a,r){APP.datatableActionButtonClickCallBack(arguments)}}]},columns:[{data:"id"},{data:"name"},{data:"hooreycaId"},{data:"nameId"},{data:"created_at"},null],order:i,drawCallback:function drawCallback(t){APP.datatableAddRowAction(d)}}),debug("listview end")},this.datatableRowActionButtonClick=function(t){debug("datatableRowActionButtonClick");var o=$(t[0].currentTarget),a=$(d).DataTable().row(o.parents("tr")).data(),i="datatableRowAction"+o.data("buttontype").capitalize();if("function"==typeof r[i])return r[i](a,o)},this.datatableRowActionEdit=function(t,o){console.log("datatableRowActionEdit Called");var i=a.URL.edit.replace("%id%",t.id);APP.loadMainContent(i,r.initViewDetails),console.log("datatableRowActionEdit End")},this.datatableRowActionDelete=function(t,o){console.log("datatableRowActionDelete Called");var r=$(d).DataTable().row(o.parents("tr")),i={},l=a.URL.destroy.replace("%id%",t.id);i._token=$("input[name=_token]").val(),$.ajax({url:l,data:i,method:"DELETE",success:function success(t){1==t.success&&r.remove().draw()}})},this.clickSaveButton=function(t){if(debug("Save clicked"),t.preventDefault(),debug(c),debug($(c)),!1===$(c)[0].checkValidity())return console.log("validaton false"),$(c).addClass("was-validated"),$(c)[0].reportValidity(),Toast.create({title:"Validációs hiba!",message:"Kérjük, töltse ki a kötelező mezőket!",status:TOAST_STATUS.DANGER,timeout:5e3}),void t.stopPropagation();console.log("validaton ok"),$(c).removeClass("was-validated");var o=r.formDataToDataObjectAPICall(c),i=a.URL.store;r.ProfitCenter.id&&(i=a.URL.update.replace("%id%",r.ProfitCenter.id),o.append("_method","PUT")),console.table(Object.fromEntries(o)),$.ajax({url:i,data:o,type:"POST",contentType:!1,processData:!1,headers:{"X-CSRF-TOKEN":$('input[name="_token"]').val()},success:function success(t){debug(t),1==t.success&&(a.dataTable.orderDirective=[0,"desc"],Toast.create({title:"Sikeres rögzítés!",message:o.get("name")+" nevű profitcenter elmentve",status:TOAST_STATUS.SUCCESS,timeout:5e3}),APP.loadMainContent(a.URL.index+"?init=0",r.initViewList))}})},this.formDataToDataObjectAPICall=function(t){var o=new FormData($(t)[0]);return $.each(o.getAll("contactId"),function(t,a){o.append("contactId[]",a)}),o.append("_token",$("input[name=_token]").val()),$(t+" input[data-inputmask]").each(function(){var t=$(this).attr("name");o.get(t)&&o.set(t,o.get(t).replace(/[_ ]+$/g,""))}),$.each(o.getAll("supplier"),function(t,a){o.append("supplier[]",a)}),o},this.construct(t,o)}})(),(()=>{function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _defineProperties(t,o){for(var a=0;a0||!0===$(this).data("required"))&&$(this).addClass("is-invalid")},oncomplete:function oncomplete(){$(this).removeClass("is-invalid"),$(this).addClass("is-valid")},oncleared:function oncleared(){console.log("cleared"),$(this).removeClass("is-invalid")}}),$("form.supplierForm button.FormSaveButton").off("click"),$("form.supplierForm button.FormSaveButton").on("click",i.clickSaveButton),i.setDetailsViewData(),i.initUserCreate(),$(".productCategorySelect").select2(),$(".serviceSelect").select2({tags:!0,createTag:function createTag(t){var o=$.trim(t.term);return""===o?null:{id:o,text:o,newTag:!0}}}),$("input[name=logoFile]").change(function(){setImageFromLocal(this,a.containerCssSelector+" .imageLogo")}),$("form.supplierForm .profitCenterSelectCheckboxAll").off("click"),$("form.supplierForm .profitCenterSelectCheckboxAll").on("click",function(){$("form.supplierForm input.profitCenterSelectCheckbox").prop("checked",$(this).is(":checked"))}),i.renderAttachment(),i.initFileAttachmentFeature(),i.initDeliveryConstraintToggle(),debug("**end initViewDetails ")},this.initDeliveryConstraintToggle=function(){var t=a.containerCssSelector+" .supplierForm",o=function toggleDeliveryFields(){1==$(t+' input[name="hasDeliveryConstraint"]').val()?$(t+" .deliveryConstraintFields").show():$(t+" .deliveryConstraintFields").hide()};$(t+' a[data-toggle="hasDeliveryConstraint"]').off("click.deliveryConstraint"),$(t+' a[data-toggle="hasDeliveryConstraint"]').on("click.deliveryConstraint",function(){setTimeout(o,0)}),o()},this.selectedUploadFileToggle=function(t){t?($(".containerFileUpload").addClass("d-none"),t[0].files[0]&&$(".containerUploadedFileName").text(t[0].files[0].name),$(".containerFileUploadStarted").removeClass("d-none"),$(".containerUploadedSpinner").removeClass("d-none")):($(".containerUploadedFileName").text(""),$(".custom-file-label.selected").text(""),$(".containerFileUploadStarted").addClass("d-none"),$(".uploadStatusRow").addClass("d-none"),$(".containerFileUpload").removeClass("d-none"))},this.initFileAttachmentFeature=function(){console.log("-------initFileAttachmentFeature-----------"),i.Supplier.id&&($(".containerFileUpload").removeClass("d-none"),$(".containerFileUploadNone").addClass("d-none")),$(a.containerCssSelector+" .buttonUpload").off("click"),$(a.containerCssSelector+" .buttonUpload").on("click",function(){console.group("-------buttonUpload-----------");var t=$("#inputGroupAttacheFile");if(t[0].files.length<1)Toast.create({title:"Hiba!",message:"Vállaszon ki fájlt!",status:TOAST_STATUS.DANGER,timeout:1e4});else{console.log($(a.containerCssSelector).find("form.supplierForm")[0]);var o=new FormData($(a.containerCssSelector).find("form.supplierForm")[0]);o.append(t.attr("name"),t[0].files[0]),i.selectedUploadFileToggle(t);var r=a.URL.attachFile.replace("%id%",i.Supplier.id);console.groupEnd(),$.ajax({url:r,data:o,type:"POST",contentType:!1,processData:!1,beforeSend:function beforeSend(){},success:function success(t){console.log(t),1==t.success&&(i.addAttachment(t.data.attachment),i.selectedUploadFileToggle())},error:function error(t){console.log(t.responseJSON),i.selectedUploadFileToggle(),ajaxErrorFieldHandler(t.responseJSON.error)}})}})},this.clickNew=function(){debug("clickNew"),APP.loadMainContent(a.URL.create,i.clickNewCallBack)},this.clickNewCallBack=function(){debug("callbackNew"),i.Supplier=new window.Supplier,i.initViewDetails()},this.datatableRowActionEdit=function(t,o){console.log("datatableRowActionEdit Called");var r=a.URL.edit.replace("%id%",t.id);APP.loadMainContent(r,i.initViewDetails),console.log("datatableRowActionEdit End")},this.clickOrderDeleteConfirmed=function(t){debug("clickSupplierDeleteConfirmed"),debug(t),debug(t.data),$("#dialogModal").modal("hide");var o={};o._token=a.token;var r=a.URL.destroy.replace("%id%",t.data.id);o._token=$("input[name=_token]").val(),console.log(r),console.log(o);var l=$(dataTableCSSSelector).DataTable().row(i.dadatatableRowActionCallerNode.parents("tr"));$.ajax({url:r,data:o,method:"DELETE",success:function success(t){1==t.success&&(l.remove().draw(),i.dadatatableRowActionCallerNode=!1)}})},this.datatableRowActionDelete=function(t,o){console.log("datatableRowActionDelete Called"),i.dadatatableRowActionCallerNode=o,$("#dialogModal").on("show.bs.modal",function(o){var a=$(this);a.find(".modal-title").text("Megerősítés "),a.find(".modal-body").text("Biztosan törli a beszállítót?"),a.find(".buttonYes").off("click"),a.find(".buttonYes").on("click",{id:t.id},i.clickOrderDeleteConfirmed)}),$("#dialogModal").modal("show")},this.datatableRowActionButtonClick=function(t){debug("datatableRowActionButtonClick");var o=$(t[0].currentTarget),a=$(dataTableCSSSelector).DataTable().row(o.parents("tr")).data(),r="datatableRowAction"+o.data("buttontype").capitalize();if("function"==typeof i[r])return i[r](a,o)},this.initViewList=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization"),dataTableCSSSelector=a.containerCssSelector+" .dataTable";var o=$(dataTableCSSSelector+" thead th").length;APP.setOpts({datatableActionButtonClickCallBack:i.clickNew,datatableRowActionButtonClickCallBack:i.datatableRowActionButtonClick});var r=a.dataTable.orderDirective;void 0!==t.orderDirective&&(r=t.orderDirective),$(dataTableCSSSelector).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:a.URL.getDataTableContent,columnDefs:[{targets:o-1,render:function render(t,o,a){var r=APP.datatableAddRowTrashButton(0,arguments);return r+=APP.datatableAddRowEditButton(0,arguments)}},{targets:1,render:function render(t,o,a){return"sort"===o?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0},{text:"Új felvitele",className:"btn btn-success newItem",attr:{data:"newItem"},init:function init(t,o,a){$(o).removeClass("ui-button")},action:function action(t,o,a,r){APP.datatableActionButtonClickCallBack(arguments)}}]},columns:[{data:"id"},{data:"name"},{data:"hooreycaId"},{data:"nameId"},{data:"created_at"},null],order:r,stateSave:!0,drawCallback:function drawCallback(t){APP.datatableAddRowAction(dataTableCSSSelector)}}),debug("listview end")},this.autofillDetails=function(){debug("nyeresre allunk");var t=getRandomInt(9999);$("input[name=name]").val("Beszalító"+t),$("input[name=hooreycaId]").val("hb"+t),$("input[name=nameId]").val("be"+t),$("input[name=orderEmail]").val("kapcsolat"+t+"@beszallito.hu"),$("input[name=orderEmail2]").val("informacio"+t+"@beszallito.hu"),$("input[name=address]").val("8989 Supplier utca "+t),$("input[name=mailingAddress]").val("8989 Postai út"+t),$("input[name=phone]").val("+36301234567"),$("input[name=fax]").val("36308889999"),$("input[name=customerServicePhone]").val("+36761234444"),$("textarea[name=note]").val("Megjegyzem "+t)},this.testMode=function(){console.debug("!!!!testmode !!!!"),i.Supplier=new window.Supplier({contact:[{id:2},{id:3}]}),a.onAfterInitViewDetails=i.autofillDetails,APP.loadMainContent(a.URL.create,i.initViewDetails)},this.init=function(t,o){if($.extend(a,t),a.testMode)return i.testMode();o&&(i.Supplier=o),i.initViewList()},this.renderAttachment=function(){var t=1;console.log("renderingAttachment"),$.each(i.Supplier.getData("attachment"),function(){var o=this;o.rowNum=t,date=new Date(o.created_at),o.date=date.toLocaleString(),o.link=o.PublicUrl+"/"+o.filename;var a=$('template[data-name="supplierAttachmentTableRow"]').html(),r=Mustache.render(a,o);$(".attachmentTable tbody").append(r),t++}),i.bindAttachmentClickAction()},this.addAttachment=function(t){console.log(t);var o=a.containerCssSelector+" .supplierForm";i.Supplier.attachment.push(t),t.rowNum=i.Supplier.attachment.length;var r=$('template[data-name="supplierAttachmentTableRow"]').html(),l=Mustache.render(r,t);$(o+" .attachmentTable tbody").append(l),i.bindContactClickAction(),Toast.enableTimers(!1),Toast.create({title:"Fájl hozzáadva!",message:t.original_filename+" fájl hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.resetContactTable=function(){$(".contactTable tbody tr").remove(),i.renderContact()},this.renderContact=function(){var t=1;console.log("renderingContacts"),$.each(i.Supplier.getData("contact"),function(){this.rowNum=t;var o=$('template[data-name="supplierContactTableRow"]').html(),a=Mustache.render(o,this);$(".contactTable tbody").append(a),t++}),i.bindContactClickAction()},this.bindContactClickAction=function(){var t=$(".contactTable .buttonDelete");t.unbind("click"),t.bind("click",i.contactDeleteClick),(t=$(".contactTable .buttonEdit")).unbind("click"),t.bind("click",i.contactEditClick)},this.bindAttachmentClickAction=function(){var t=$(".attachmentTable .buttonDelete");t.unbind("click"),t.bind("click",i.attachmentDeleteClick)},this.attachmentDeleteClick=function(t){var o=$(this).closest("tr").find("input[name=attachmentId]").val(),r=a.URL.detachFile.replace("%id%",i.Supplier.id),l={};l._token=$('input[name="_token"]').val(),l.attachemntId=o,$.ajax({url:r,data:l,type:"POST",beforeSend:function beforeSend(){},success:function success(t){console.log(t),1==t.success&&(i.Supplier.attachment=i.Supplier.attachment.filter(function(o,a,r){return o.id!==1*t.data.attachment.id}),i.resetAttachmentTable())},error:function error(t){console.log(t.responseJSON),i.selectedUploadFileToggle(),ajaxErrorFieldHandler(t.responseJSON.error)}})},this.resetAttachmentTable=function(){$(".attachmentTable tbody tr").remove(),i.renderAttachment()},this.contactDeleteClick=function(t){var o=$(this).closest("tr"),a=o.find("input[name=contactId]").val();i.Supplier.contact=i.Supplier.contact.filter(function(t,o,r){return t.id!==1*a}),o.remove(),i.resetContactTable()},i.getContactPopupWorkflow=function(){return l},i.setContactPopupWorkflow=function(t){l=t},this.contactEditClick=function(t){var o=$(this).closest("tr").find("input[name=contactId]").val();i.setContactPopupWorkflow("edit"),APP.ContactPopUp.loadData(o)},this.getSupplier=function(){return i.Supplier},this.contactAction=function(t){console.log("nah most kellene meg valamit csinalni."),"new"==i.getContactPopupWorkflow()?i.addContact(t):"edit"==i.getContactPopupWorkflow()&&i.editContact(t.id,t)},this.editContact=function(t,o){var a=[];$.each(i.Supplier.getData("contact"),function(r){this.id==t?a.push(o):a.push(this)}),i.Supplier.contact=a,i.resetContactTable(),Toast.create({title:"Kapcsolat adatai módosítva!",message:o.name+" nevű kapcsolattartó módosítva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.addContact=function(t){i.Supplier.contact.push(t),t.rowNum=i.Supplier.contact.length;var o=$('template[data-name="supplierContactTableRow"]').html(),a=Mustache.render(o,t);$(".contactTable tbody").append(a),i.bindContactClickAction(),Toast.enableTimers(!1),Toast.create({title:"Kapcsolattartó hozzáadva!",message:t.name+" nevű kapcsolattartó hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.resetUserTable=function(){$(".supplierUserTable tbody tr").remove(),i.renderUsers()},this.renderUsers=function(){var t=1,o=i.Supplier.users||[];$.each(o,function(){var o=$.extend({},this);o.rowNum=t;var a=$('template[data-name="supplierUserTableRow"]').html(),r=Mustache.render(a,o);$(".supplierUserTable tbody").append(r),t++}),i.bindUserClickAction()},this.bindUserClickAction=function(){var t=$(".supplierUserTable .buttonDelete");t.unbind("click"),t.bind("click",i.userDeleteClick)},this.userDeleteClick=function(){var t=$(this).closest("tr"),o=1*t.find("input[name=userId]").val();i.Supplier.users=i.Supplier.users.filter(function(t){return t.id!==o}),t.remove(),i.resetUserTable()},this.addUser=function(t){if(i.Supplier.users||(i.Supplier.users=[]),!i.Supplier.users.some(function(o){return o.id===t.id})){i.Supplier.users.push(t),t.rowNum=i.Supplier.users.length;var o=$('template[data-name="supplierUserTableRow"]').html(),a=Mustache.render(o,t);$(".supplierUserTable tbody").append(a),i.bindUserClickAction(),Toast.enableTimers(!1),Toast.create({title:"Felhasználó hozzáadva!",message:t.name+" hozzárendelve",status:TOAST_STATUS.SUCCESS,timeout:3e3})}},this.initUserCreate=function(){var t=a.URL.createUser||"",o=$(a.containerCssSelector);o.find(".buttonCreateUser").off("click").on("click",function(){var a=o.find(".supplierNewUserName").val().trim(),r=o.find(".supplierNewUserEmail").val().trim(),l=o.find(".supplierNewUserPassword").val(),c=o.find(".supplierNewUserError");c.hide().text(""),a&&r&&l?$.ajax({url:t,type:"POST",data:{name:a,email:r,password:l},headers:{"X-CSRF-TOKEN":$('input[name="_token"]').val()},success:function success(t){t.success?(i.addUser(t.user),function clearForm(){o.find(".supplierNewUserName").val(""),o.find(".supplierNewUserEmail").val(""),o.find(".supplierNewUserPassword").val(""),o.find(".supplierNewUserError").hide().text("")}()):c.text("Hiba történt a felhasználó létrehozásakor!").show()},error:function error(t){var o="Hiba történt!";if(t.responseJSON&&t.responseJSON.errors){var a=t.responseJSON.errors;o=a[Object.keys(a)[0]][0]}c.text(o).show()}}):c.text("Minden mező kitöltése kötelező!").show()})},this.construct(t,o)}})(); +window.Dashboard=function(){var t={active:!1,containerCssSelector:".dashboard",testFileMod:!1,isAdmin:!1,URL:{create:"",store:"",getDataTableContent:"",destroy:""}},o=this;this.construct=function(o){debug("Dashboard constructor called"),$.extend(t,o)},this.getOpts=function(){return t},this.init=function(a){console.log("Dashboard init called"),$.extend(t,a),o.initEditorButtons()},this.initEditorButtons=function(){$(".DashboardEditable button.edit").off("click"),$(".DashboardEditable button.edit").on("click",function(){o.initEditor(),$(".btnGroupEdit").toggleClass("d-none"),$(".btnGroupModify").toggleClass("d-none")}),$(".DashboardEditable button.btnSave").off("click"),$(".DashboardEditable button.btnSave").on("click",function(){o.saveCustomContent()}),$(".DashboardEditable button.btnCancel").off("click"),$(".DashboardEditable button.btnCancel").on("click",function(){$(".btnGroupEdit").toggleClass("d-none"),$(".btnGroupModify").toggleClass("d-none"),o.removeEditor()})},this.saveCustomContent=function(){var o=new FormData($(".dashboardForm")[0]);o.append("stored_data",tinymce.activeEditor.getContent());var a=t.URL.update.replace("%id%",$("div.dashboardCustomContent").data("id"));o.append("_method","PUT"),$.ajax({url:a,data:o,type:"POST",contentType:!1,processData:!1,beforeSend:function beforeSend(){},success:function success(t){Toast.create({title:"Siekeres mentés!",message:"Új tartalom elmentve.",status:TOAST_STATUS.INFO,timeout:5e3})},error:function error(t){console.log(t.responseJSON),ajaxErrorFieldHandler(t.responseJSON.error)}})},this.loadTinymce=function(){$.getScript("https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js",function(){o.initEditor()})},this.removeEditor=function(t){"undefined"!=typeof tinymce&&tinymce.remove()},this.initEditor=function(t){"undefined"!=typeof tinymce?tinymce.init({selector:"div.dashboardCustomContent",language:"hu_HU",plugins:"code table lists",toolbar:" undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table"}):o.loadTinymce()}},window.PriceListAdmin=function(t,o){var a={active:!1,containerCssSelector:".priceListForm",testFileMod:!1,URL:{create:"",store:"",getDataTableContent:"",destroy:""}},r=this,i=null;this.construct=function(t){debug("PriceListAdmin constructor called"),$.extend(a,t)};var l=null,c=0;this.initErrorNavigationButton=function(){c=$(".statusError").length,l=null,$(".priceListForm .buttonPrevError .buttonNextError").off("click"),$(".priceListForm .buttonPrevError").on("click",function(){if(null==l)l=0;else{if(!(l>0))return;l--}$(".statusError").removeClass("highlightedErrorRow"),$(".priceListTableWrapper").scrollTop($($(".statusError")[l]).position().top),$($(".statusError")[l]).addClass("highlightedErrorRow")}),$(".priceListForm .buttonNextError").off("click"),$(".priceListForm .buttonNextError").on("click",function(){if(null==l)l=0;else{if(!(l tbody").empty(),$(".containerFileUpload").removeClass("d-none"))},this.clickNewPriceListCallBack=function(){r.initViewDetails()},this.clickNewPriceList=function(){APP.loadMainContent(a.URL.create,r.clickNewPriceListCallBack)},this.datatableRowActionButtonClick=function(t){var o=$(t[0].currentTarget),r=$(i).DataTable().row(o.parents("tr")),l=r.data(),c={},d=a.URL.destroy.replace("%id%",l.id);c._token=$("input[name=_token]").val(),$.ajax({url:d,data:c,method:"DELETE",success:function success(t){1==t.success&&r.remove().draw()}})},this.initViewList=function(t){debug("listview inicialization"),i=a.containerCssSelector+" .dataTable";var o=$(i+" thead th").length;APP.setOpts({datatableActionButtonClickCallBack:r.clickNewPriceList,datatableRowActionButtonClickCallBack:r.datatableRowActionButtonClick}),APP.dataTablePriceList=$(i).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:a.URL.getDataTableContent,columnDefs:[{targets:o-1,render:function render(t,o,a){return APP.datatableAddRowTrashButton(0,arguments)}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0},{text:"Új felvitele",className:"btn btn-success newItem",attr:{data:"newItem"},init:function init(t,o,a){$(o).removeClass("ui-button")},action:function action(t,o,a,r){APP.datatableActionButtonClickCallBack(arguments)}}]},columns:[{data:"id"},{data:"supplierName"},{data:"available"},{data:"created_at"},{data:"note"},null],stateSave:!0,drawCallback:function drawCallback(t){APP.datatableAddRowAction(i)}})},this.initViewDetails=function(t){$(a.containerCssSelector+" .datePickerClick").off("click"),$(a.containerCssSelector+" .datePickerClick").on("click",function(){$(a.containerCssSelector+" .datePicker").datepicker("show")}),$(a.containerCssSelector+" .datePicker").datepicker({dateFormat:"yy-mm-dd",onSelect:function onSelect(t){console.log(t),$(".selectedDateText").text(t.replaceAll("-",".")),$('input[name="availableDate"]').val(t)}}),$(a.containerCssSelector+" .buttonNewUpload").off("click"),$(a.containerCssSelector+" .buttonNewUpload").on("click",function(){r.selectedUploadFileToggle()}),$(a.containerCssSelector+" .buttonUpload").off("click"),$(a.containerCssSelector+" .buttonUpload").on("click",function(){console.log("------------------"),r.selectedUploadFileToggle();var t=new FormData($(".priceListForm")[0]);if($(".supplierSelect").val().length<1)Toast.create({title:"Hiba!",message:"Adjon meg beszállítót!",status:TOAST_STATUS.DANGER,timeout:1e4});else{var o=$("#inputGroupPriceListFile");console.log(o[0].files.length<1),!a.testFileMod&&(console.log(o[0].files.length<1),o[0].files.length<1)?Toast.create({title:"Hiba!",message:"Vállaszon ki fájlt!",status:TOAST_STATUS.DANGER,timeout:1e4}):(t.append(o.attr("name"),o[0].files[0]),r.selectedUploadFileToggle(o),$.ajax({url:a.URL.store,data:t,type:"POST",contentType:!1,processData:!1,beforeSend:function beforeSend(){},success:function success(t){console.log(t),1==t.success&&r.processCheckedPriceListResponse(t)},error:function error(t){console.log(t.responseJSON),r.selectedUploadFileToggle(),ajaxErrorFieldHandler(t.responseJSON.error)}}))}}),$(a.containerCssSelector+" .buttonFinalization").on("click",function(){var t=new FormData($(".priceListForm")[0]),o=$("#inputGroupPriceListFile");t.append(o.attr("name"),o[0].files[0]),t.append("finalization",1),$.ajax({url:a.URL.store,data:t,type:"POST",contentType:!1,processData:!1,beforeSend:function beforeSend(){},success:function success(t){console.log(t),t.success&&($(".priceListTable tbody tr").remove(),$(".uploadStatusRow >.canFinish").hide(),$(".uploadStatusRow").addClass("d-none"),$(".priceListTable tbody").append(' Árlistát elmentettük.'))},error:function error(t){console.log(t.responseJSON),ajaxErrorFieldHandler(t.responseJSON.error)}})})},this.init=function(t){console.log("PriceListAdmin init called"),$.extend(a,t),console.log("Opt extended"),console.log(a),console.log("call list view Init"),r.initViewList(t)},this.getOpts=function(){return a};var d=!1;this.processCheckedPriceListResponse=function(t){d=!1,r.processCheckedPriceListResponseRows(t.rows),d?($(".uploadStatusRow >.canFinish").hide(),$(".uploadStatusRow >.canFinishError").show(),r.initErrorNavigationButton()):($(".uploadStatusRow >.canFinish").show(),$(".uploadStatusRow >.canFinishError").hide()),$(".uploadStatusRow").removeClass("d-none"),$(".containerUploadedSpinner").addClass("d-none")},this.processCheckedPriceListResponseRows=function(t){for(var o in console.log("processingRows"),t){var a=t[o],i=a.originalData;i.rowNum=a.rowNum;var l=$('template[data-name="priceListTableRow"]').html(),c=Mustache.render(l,i);$(".priceListTable tbody").append(c),$("tr[data-rownum="+a.rowNum+"]").addClass("status"+$.ucFirst(a.status)),r.processResponseRowErrors(a.error,a.rowNum),a.changed&&r.processResponseRowChanged(a.changed,a.rowNum)}},this.processResponseRowChanged=function(t,o){if(!(t.length<1)){console.log(t);var a=$("tr[data-rownum="+o+"]");for(var r in t){var i=a.find('td[data-pointer="'+r+'"]');i.addClass("bg-primary");var l=$(document.createElement("span")).text(t[r].old).addClass("fieldChanged");i.append(l)}}},this.processResponseRowErrors=function(t,o){if(!(t.length<1)&&(console.log(t),d=!0,void 0!==t.fields)){var a=$("tr[data-rownum="+o+"]");for(var r in t.fields){var i=a.find('td[data-pointer="'+r+'"]');i.addClass("bg-danger");var l=$(document.createElement("span")).text(t.fields[r]).addClass("fieldError");i.append(l)}}}},window.PriceListProfitCenterAdmin=function(t){var o={token:null,containerCssSelector:".containerPriceListProfitCenter",testMode:!1,URL:{getDataTableContent:"",getProductGroupHTML:"",index:"",show:"",edit:"",create:"",store:"",update:"",destroy:""},dataTable:{orderDirective:[1,"asc"]},onAfterInitViewDetails:function onAfterInitViewDetails(){}},a=this;this.construct=function(t,a){console.log("PriceListProfitCenterAdmin constructor called"),$.extend(o,t)},this.getOpts=function(){return o};var r={supplier:"",deliveryDate:""};this.checkRefreshPossible=function(){console.log("check need parameter");var t=!0;$.each(r,function(o,a){""===a&&(t=!1)}),t&&(a.refreshDatatable(),a.refreshProductGroup(),a.setDatatableHeaderText(""))},this.setDatatableHeaderText=function(t){$(".tableHeaderText").text(t)},this.getTreePathName=function(t){var o="",a=$(t).parents("li").toArray();for(var r in a.shift(),a.reverse(),a)$(a[r]).children("a.categoryItem").length>0&&(o+=$(a[r]).children("a.categoryItem").text()+"/");return o+=$(t).text()},this.bindProductGroupItem=function(){$(".sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable").off("click"),$(".sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable").on("click",function(){var t=$(this).data("id");i=t,a.setDatatableHeaderText(a.getTreePathName(this)),a.refreshDatatable()})},this.refreshProductGroup=function(){var t={supplierId:r.supplier,deliveryDate:r.deliveryDate},i=o.URL.getProductGroupHTML;$.ajax({url:i,data:t,type:"GET",contentType:!1,processData:!0,beforeSend:function beforeSend(){},success:function success(t){$(".sidebar-menu .productGroup").find("ul").html(t),a.bindProductGroupItem()},error:function error(t){ajaxErrorFieldHandler(t.responseJSON.error)}})},this.refreshDatatable=function(){$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.changePriceListProfitCenterParameter=function(t,o){void 0===o&&(o=$(this));var l=o.attr("name");"supplier"==l&&(i=null);var c="";"SELECT"==o.get(0).nodeName?o.select2("data").length>0&&(c=o.select2("data")[0].id):c=o.val(),r[l]!=c&&(r[l]=c,a.checkRefreshPossible())},this.init=function(t){$.extend(o,t);var r=o.containerCssSelector;$(r+" .datePickerClick").click(function(){$(r+" .datePicker").datepicker("show")}),$(".supplierSelect").on("change",a.changePriceListProfitCenterParameter),$(".supplierSelect").select2({maximumSelectionLength:1}),$(r+" .datePicker").datepicker({dateFormat:"yy-mm-dd",minDate:new Date,onSelect:function onSelect(t,o){$(r+" .selectedDateText").text(t),$(".deliveryDatePlace").text(t.replaceAll("-",".")+"."),$(r+' input[name="deliveryDate"]').val(t),a.changePriceListProfitCenterParameter(null,$(o.input))}}),a.getDatatables(""),$(".dataTableOrderProductSelect").on("draw.dt",a.productSelectDataTableDrawDT).dataTable()},this.productSelectDataTableDrawDT=function(t){$('td:contains("*")').html(''),$("td.details-control").removeClass("details-control")};var i=null;this.getDatatables=function(t){var a=APP.OrderModule.productSelectDataTableColumn();return a[a.length-1].render=function(t,o,a){return"out_of_stock"===a.stock_status?'':''},$(".dataTableOrderProductSelect").DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:o.URL.getDataTableContent,data:function data(t){t.supplierId=r.supplier,t.deliveryDate=r.deliveryDate,t.groupId=i}},buttons:{buttons:[]},columnDefs:APP.OrderModule.productSelectDataTableColumnDefs(),columns:a,order:[[1,"asc"]]})}},(()=>{function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _createForOfIteratorHelper(t,o){var a="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!a){if(Array.isArray(t)||(a=function _unsupportedIterableToArray(t,o){if(t){if("string"==typeof t)return _arrayLikeToArray(t,o);var a={}.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,o):void 0}}(t))||o&&t&&"number"==typeof t.length){a&&(t=a);var r=0,i=function F(){};return{s:i,n:function n(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function e(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,c=!0,d=!1;return{s:function s(){a=a.call(t)},n:function n(){var t=a.next();return c=t.done,t},e:function e(t){d=!0,l=t},f:function f(){try{c||null==a.return||a.return()}finally{if(d)throw l}}}}function _arrayLikeToArray(t,o){(null==o||o>t.length)&&(o=t.length);for(var a=0,r=Array(o);a0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization"),dataTableCSSSelector=a.containerCssSelector+" .dataTable";var o=$(dataTableCSSSelector+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:r.datatableRowActionButtonClick});var i=a.dataTable.orderDirective;void 0!==t.orderDirective&&(i=t.orderDirective),$(dataTableCSSSelector).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:a.URL.getDataTableContent,serverSide:!0,columnDefs:[{targets:o-1,orderable:!1,render:function render(t,o,a){return APP.datatableAddRowEditButton(0,arguments)}},{targets:1,render:function render(t,o,a){return"sort"===o?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0}]},columns:[{data:"id"},{data:"name"},{data:"hooreycaId"},{data:"productGroup"},{data:"supplierName"},{data:"price"},{data:"created_at"},null],order:i,stateSave:!0,drawCallback:function drawCallback(t){APP.datatableAddRowAction(dataTableCSSSelector)}}),debug("listview end")},this.initViewList=function(){debug("initViewSearch inicialization 1"),r.container.find("select.supplierSelect, select.profitCenterSelect, select.productGroupSelect, select.producerSelect, select.hooreycaNamesSelect, select.specialOfferSelect").select2(),r.container.find("select.productSelect").select2({placeholder:"...",allowClear:!0,ajax:{url:a.URL.getProductSearch,dataType:"json",data:function data(t){return{term:t.term||"",page:t.page||1,supplierId:r.container.find("select.supplierSelect").val()}},cache:!0}}),r.container.find(".datePickerFrom, .datePickerTo").datepicker({dateFormat:"yy-mm-dd",onSelect:function onSelect(t,o){debug(this),debug(o.input)}}),r.container.find(".datePickerClick").click(function(){debug($(this).data("action")),r.container.find('input[name="'+$(this).data("action")+'"]').datepicker("show")});var t=r.container.find(".FormSendButton");t.off("click"),t.on("click",function(){debug("FormSendButton click"),r.loadingResultContainer(),r.requestProducts()}),r.setVisibleFilters("Product"),r.loadFiltersFromLocalStorage()&&(r.loadingResultContainer(),r.requestProducts()),debug("initViewSearch end")},this.loadingResultContainer=function(){debug("clearResultContainer"),debug(r.resultContainer),r.hideResultContainer(),r.container.find(".containerLoading").show()},this.hideResultContainer=function(){debug("hide containerResult"),debug(r.resultContainer),r.resultContainer.hide()},this.showResultContainer=function(){r.container.find(".containerLoading").hide(),r.resultContainer.show()},this.init=function(t,o){if(console.log("ProductAdmin init"),$.extend(a,t),a.testMode)return r.testMode();o&&(r.Product=o),r.dataTable=null,r.container=$(a.containerCssSelector),r.resultContainer=$(a.resultContainerSelector),r.initViewList()},this.initViewDetails=function(t,o){debug("**call initViewDetails ");var i=a.containerCssSelector+" .productForm";if(r.Product.picture){console.log("*****//////////////////****************"),console.log(r.Product.picture),console.log(i);var l=r.Product.picture.PublicUrl+"/"+r.Product.picture.filename;console.log(l),console.log($(i+" img.imageProduct")),$(i+" img.imageProduct").attr("src",l)}r.Product.specification&&(console.log("*****//////////////////****************"),console.log(r.Product.specification),r.Product.specification.PublicUrl,r.Product.specification.filename,r.addAttachment(r.Product.specification));var c=$(i+" button.FormSaveButton");c.off("click"),c.on("click",r.clickSaveButton)},this.addAttachment=function(t){console.log(t);var o=a.containerCssSelector+" .productForm";t.rowNum=1;var r=new Date(t.updated_at);r=r.toLocaleString("hu-HU",{}),t.date=r,t.link=t.PublicUrl+"/"+t.filename;var i=$('template[data-name="productAttachmentTableRow"]').html(),l=Mustache.render(i,t);$(o+" .attachmentTable tbody").append(l),Toast.enableTimers(!1),Toast.create({title:"Fájl hozzáadva!",message:t.original_filename+" fájl hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.setVisibleFilters=function(t){for(var o in console.log("setVisibleFilters"),console.log(a.filters[t]),console.log(r.container),$(r.container).find('div[class*="filter"]').hide(),a.filters[t]){var i=a.filters[t][o];debug(i),console.log($(r.container).find(".filter_"+i)),$(r.container).find(".filter_"+i).show()}},this.c=function(t){console.log("c called"),console.log(t),console.log(r.container),console.log(r.container.find("form")),console.log(r.container.find(t))},this.formDataToDataObjectAPICall=function(t){console.log(t),console.log(r.container),console.log(r.container.find(t)),console.log(r.container.find("form")),console.log(r.container.find("form"+t)[0]);var o=new FormData(r.container.find("form"+t)[0]);return $.each(o.getAll("supplier"),function(t,a){o.append("suppliers[]",a)}),o.delete("supplier"),$.each(o.getAll("profitCenter"),function(t,a){o.append("profitCenters[]",a)}),o.delete("profitCenter"),$.each(o.getAll("productGroup"),function(t,a){o.append("productGroups[]",a)}),o.delete("productGroup"),$.each(o.getAll("product"),function(t,a){o.append("products[]",a)}),o.delete("product"),$.each(o.getAll("producer"),function(t,a){o.append("producers[]",a)}),o.delete("producer"),$.each(o.getAll("hooreycaName"),function(t,a){o.append("hooreycaNames[]",a)}),o.delete("hooreycaName"),o},this.getAjaxDataJson=function(){var t=r.formDataToDataObjectAPICall(".ProductListForm");console.log("======================");var o,a=_createForOfIteratorHelper(t.entries());try{for(a.s();!(o=a.n()).done;){var i=o.value;console.log(i[0]+", "+i[1])}}catch(t){a.e(t)}finally{a.f()}var l={};return t.forEach(function(t,o){Reflect.has(l,o)?(Array.isArray(l[o])||(l[o]=[l[o]]),l[o].push(t)):l[o]=t}),JSON.stringify(l)},this.requestProducts=function(){var t=a.URL.getDataTableContent;debug(t),ajaxDataJson=r.getAjaxDataJson(),console.log(ajaxDataJson);var o=r.container.find("form.ProductListForm");if(o.length>0){var i=new FormData(o[0]),l={};i.forEach(function(t,o){Reflect.has(l,o)?(Array.isArray(l[o])||(l[o]=[l[o]]),l[o].push(t)):l[o]=t}),localStorage.setItem("product_admin_filters",JSON.stringify(l))}dataTableCSSSelector=a.containerCssSelector+" .dataTable",console.log(dataTableCSSSelector);var c=$(dataTableCSSSelector+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:r.datatableRowActionButtonClick});var d=a.dataTable.orderDirective;r.dataTable?(console.log("XXXXXXXXXXXXXXXXXXXX van Datatable"),r.dataTable.draw()):(console.log("XXXXXXXXXXXXXXXXXXXX Nincs Datatable"),r.dataTable=$(dataTableCSSSelector).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:a.URL.getDataTableContent,data:function data(t){return console.log("---******----"),console.log(APP.ProductAdmin.getAjaxDataJson()),$.extend({},t,{ajaxData:APP.ProductAdmin.getAjaxDataJson()})},type:"GET"},serverSide:!0,columnDefs:[{targets:c-1,orderable:!1,render:function render(t,o,a){return APP.datatableAddRowEditButton(0,arguments)}},{targets:1,render:function render(t,o,a){return"sort"===o?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0}]},columns:[{data:"id"},{data:"name"},{data:"buyerProductName"},{data:"hooreycaId"},{data:"productGroup"},{data:"supplierName"},{data:"price"},{data:"created_at"},null],order:d,stateSave:!0,drawCallback:function drawCallback(t){APP.datatableAddRowAction(dataTableCSSSelector),r.showResultContainer(),console.log("drawCallback")}}))},this.loadFiltersFromLocalStorage=function(){var t=localStorage.getItem("product_admin_filters");if(t){var o=JSON.parse(t),a=r.container.find("form.ProductListForm");if(0===a.length)return!1;var i=function _loop(){var t=o[l],r=a.find('[name="'+l+'"]');r.length&&(r.is("select")?r.val(t).trigger("change"):r.is(":checkbox")||r.is(":radio")?r.each(function(){Array.isArray(t)?$(this).prop("checked",t.includes($(this).val())):$(this).prop("checked",$(this).val()==t)}):r.val(t))};for(var l in o)i();return!0}return!1},this.processResponse=function(){},this.clickSaveButton=function(t){debug("Save clicked");var o=a.containerCssSelector+" .productForm";if(t.preventDefault(),!1===$(o)[0].checkValidity())return console.log("validaton false"),void t.stopPropagation();console.log("validaton ok");var i=r.formDataToDataObjectAPICall(".productForm"),l=a.URL.store,c="POST";r.Product.id&&(l=a.URL.update.replace("%id%",r.Product.id),i.append("_method","PUT")),debug(c),debug(i),$.ajax({url:l,data:i,type:c,contentType:!1,processData:!1,headers:{"X-CSRF-TOKEN":a.token},success:function success(t){debug(t),1==t.success&&(a.dataTable.orderDirective=[0,"desc"],Toast.create({title:"Sikeres rögzítés!",message:i.get("name")+" nevű termék elmentve",status:TOAST_STATUS.SUCCESS,timeout:5e3}))}})}}})(),(()=>{function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _defineProperties(t,o){for(var a=0;a0||!0===$(this).data("required"))&&$(this).addClass("is-invalid")},oncomplete:function oncomplete(){$(this).removeClass("is-invalid"),$(this).addClass("is-valid")},oncleared:function oncleared(){console.log("cleared"),$(this).removeClass("is-invalid")}}),$(c+" button.FormSaveButton").off("click"),$(c+" button.FormSaveButton").on("click",r.clickSaveButton),debug("**end initViewDetails ")},this.setDetailsViewData=function(){debug("setDetailsViewData");var t=a.containerCssSelector+" .profitCenterForm";$.each(["name","hooreycaId","nameId","email","postCode","city","street","phone","mobil"],function(){void 0!==r.ProfitCenter[this]&&$(t+" input[name="+this+"]").val(r.ProfitCenter[this])}),void 0!==r.ProfitCenter.note&&$(t+" textarea[name=note]").val(r.ProfitCenter.note),$(t+" *[data-toggle=canSee][data-title="+r.ProfitCenter.canSee+"]").click(),$(t+" *[data-toggle=hooreycaDataActive][data-title="+r.ProfitCenter.hooreycaDataActive+"]").click(),void 0!==r.ProfitCenter.logoFile&&r.ProfitCenter.logoFile&&$(t+" img.imageLogo").attr("src",r.ProfitCenter.logoFile),$(t+" *[data-toggle=addressEqual][data-title="+r.ProfitCenter.addressEqual+"]").click(),$(t+" *[data-toggle=multiAddress][data-title="+r.ProfitCenter.multiAddress+"]").click();var o=[];$.each(r.ProfitCenter.suppliers,function(){o.push(this.name)}),$.each(o,function(){$('input[value="'+$.escapeSelector(this)+'"]').prop("checked",!0)})},this.resetContactTable=function(){$(c+" .contactTable tbody tr").remove(),r.renderContact()},this.renderContact=function(){var t=1;console.log("renderingContacts"),$.each(r.ProfitCenter.getData("contact"),function(){this.rowNum=t;var o=$('template[data-name="profitCenterContactTableRow"]').html(),a=Mustache.render(o,this);$(".contactTable tbody").append(a),t++}),r.bindContactClickAction()},this.bindContactClickAction=function(){$(".contactTable .buttonDelete").unbind("click"),$(".contactTable .buttonDelete").bind("click",r.contactDeleteClick),$(".contactTable .buttonEdit").unbind("click"),$(".contactTable .buttonEdit").bind("click",r.contactEditClick)},this.contactDeleteClick=function(t){var o=$(this).closest("tr"),a=o.find("input[name=contactId]").val();console.log(a),r.ProfitCenter.contact=r.ProfitCenter.contact.filter(function(t,o,r){return t.id!==1*a}),console.log(r.ProfitCenter.contact),o.remove(),r.resetContactTable()},this.getContactPopupWorkflow=function(){return i},this.setContactPopupWorkflow=function(t){i=t},this.contactEditClick=function(t){console.log(this);var o=$(this).closest("tr").find("input[name=contactId]").val();console.log(o),r.setContactPopupWorkflow("edit"),APP.ContactPopUp.loadData(o)},this.contactAction=function(t){console.log("nah most kellene meg valamit csinalni."),"new"==r.getContactPopupWorkflow()?r.addContact(t):"edit"==r.getContactPopupWorkflow()&&r.editContact(t.id,t)},this.addContact=function(t){r.ProfitCenter.contact.push(t),t.rowNum=r.ProfitCenter.contact.length;var o=$('template[data-name="profitCenterContactTableRow"]').html(),a=Mustache.render(o,t);$(c+" .contactTable tbody").append(a),r.bindContactClickAction(),Toast.enableTimers(!1),Toast.create({title:"Kapcsolat tartó hozzáadva!",message:t.name+" nevű kapocsolattartó hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.editContact=function(t,o){var a=[];$.each(r.ProfitCenter.getData("contact"),function(r){this.id==t?a.push(o):a.push(this)}),r.ProfitCenter.contact=a,r.resetContactTable(),Toast.create({title:"Kapcsolat adatai módosítva!",message:o.name+" nevű kapocsolattartó módosítva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.resetAddressTable=function(){$(c+" .addressTable tbody tr").remove(),r.renderAddress()},this.renderAddress=function(){var t=1;console.log("renderingAddress"),$.each(r.ProfitCenter.getData("address"),function(){var o=this;o.rowNum=t;var a=$('template[data-name="profitCenterAddressTableRow"]').html();debug(o);var r=Mustache.render(a,o);$(".addressTable tbody").append(r),t++}),r.bindAddressClickAction()},this.bindAddressClickAction=function(){$(".addressTable .buttonDelete").unbind("click"),$(".addressTable .buttonDelete").bind("click",r.addressDeleteClick),$(".addressTable .buttonEdit").unbind("click"),$(".addressTable .buttonEdit").bind("click",r.addressEditClick)},this.addressDeleteClick=function(t){var o=$(this).closest("tr"),a=o.find('input[name="addressId[]"]').val();console.log(a),r.ProfitCenter.address=r.ProfitCenter.address.filter(function(t,o,r){if(t.id!=a)return!0}),console.log(r.ProfitCenter.address),o.remove(),r.resetAddressTable()},this.getAddressPopupWorkflow=function(){return l},this.setAddressPopupWorkflow=function(t){l=t},this.addressEditClick=function(t){console.log(this);var o=$(this).closest("tr").find('input[name="addressId[]"]').val();console.log(o),r.setAddressPopupWorkflow("edit"),APP.AddressPopUp.loadData(o)},this.addressAction=function(t){console.log("nah most kellene meg valamit csinalni."),"new"==r.getAddressPopupWorkflow()?r.addAddress(t):"edit"==r.getAddressPopupWorkflow()&&r.editAddress(t.id,t)},this.addAddress=function(t){r.ProfitCenter.address.push(t),t.rowNum=r.ProfitCenter.address.length;var o=$('template[data-name="profitCenterAddressTableRow"]').html(),a=Mustache.render(o,t);$(c+" .addressTable tbody").append(a),r.bindAddressClickAction(),Toast.enableTimers(!1),Toast.create({title:"Cím hozzáadva!",message:t.street+" hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.editAddress=function(t,o){var a=[];$.each(r.ProfitCenter.getData("address"),function(r){this.id==t?a.push(o):a.push(this)}),r.ProfitCenter.address=a,r.resetAddressTable(),Toast.create({title:"cím adatai módosítva!",message:o.street+" módosítva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.initViewList=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization"),d=a.containerCssSelector+" .dataTable";var o=$(d+" thead th").length;APP.setOpts({datatableActionButtonClickCallBack:r.clickNew,datatableRowActionButtonClickCallBack:r.datatableRowActionButtonClick});var i=a.dataTable.orderDirective;void 0!==t.orderDirective&&(i=t.orderDirective),$(d).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:a.URL.getDataTableContent,columnDefs:[{targets:o-1,render:function render(t,o,a){var r=APP.datatableAddRowTrashButton(0,arguments);return r+=APP.datatableAddRowEditButton(0,arguments)}},{targets:1,render:function render(t,o,a){return"sort"===o?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0},{text:"Új felvitele",className:"btn btn-success newItem",attr:{data:"newItem"},init:function init(t,o,a){$(o).removeClass("ui-button")},action:function action(t,o,a,r){APP.datatableActionButtonClickCallBack(arguments)}}]},columns:[{data:"id"},{data:"name"},{data:"hooreycaId"},{data:"nameId"},{data:"created_at"},null],order:i,drawCallback:function drawCallback(t){APP.datatableAddRowAction(d)}}),debug("listview end")},this.datatableRowActionButtonClick=function(t){debug("datatableRowActionButtonClick");var o=$(t[0].currentTarget),a=$(d).DataTable().row(o.parents("tr")).data(),i="datatableRowAction"+o.data("buttontype").capitalize();if("function"==typeof r[i])return r[i](a,o)},this.datatableRowActionEdit=function(t,o){console.log("datatableRowActionEdit Called");var i=a.URL.edit.replace("%id%",t.id);APP.loadMainContent(i,r.initViewDetails),console.log("datatableRowActionEdit End")},this.datatableRowActionDelete=function(t,o){console.log("datatableRowActionDelete Called");var r=$(d).DataTable().row(o.parents("tr")),i={},l=a.URL.destroy.replace("%id%",t.id);i._token=$("input[name=_token]").val(),$.ajax({url:l,data:i,method:"DELETE",success:function success(t){1==t.success&&r.remove().draw()}})},this.clickSaveButton=function(t){if(debug("Save clicked"),t.preventDefault(),debug(c),debug($(c)),!1===$(c)[0].checkValidity())return console.log("validaton false"),$(c).addClass("was-validated"),$(c)[0].reportValidity(),Toast.create({title:"Validációs hiba!",message:"Kérjük, töltse ki a kötelező mezőket!",status:TOAST_STATUS.DANGER,timeout:5e3}),void t.stopPropagation();console.log("validaton ok"),$(c).removeClass("was-validated");var o=r.formDataToDataObjectAPICall(c),i=a.URL.store;r.ProfitCenter.id&&(i=a.URL.update.replace("%id%",r.ProfitCenter.id),o.append("_method","PUT")),console.table(Object.fromEntries(o)),$.ajax({url:i,data:o,type:"POST",contentType:!1,processData:!1,headers:{"X-CSRF-TOKEN":$('input[name="_token"]').val()},success:function success(t){debug(t),1==t.success&&(a.dataTable.orderDirective=[0,"desc"],Toast.create({title:"Sikeres rögzítés!",message:o.get("name")+" nevű profitcenter elmentve",status:TOAST_STATUS.SUCCESS,timeout:5e3}),APP.loadMainContent(a.URL.index+"?init=0",r.initViewList))}})},this.formDataToDataObjectAPICall=function(t){var o=new FormData($(t)[0]);return $.each(o.getAll("contactId"),function(t,a){o.append("contactId[]",a)}),o.append("_token",$("input[name=_token]").val()),$(t+" input[data-inputmask]").each(function(){var t=$(this).attr("name");o.get(t)&&o.set(t,o.get(t).replace(/[_ ]+$/g,""))}),$.each(o.getAll("supplier"),function(t,a){o.append("supplier[]",a)}),o},this.construct(t,o)}})(),(()=>{function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _defineProperties(t,o){for(var a=0;a0||!0===$(this).data("required"))&&$(this).addClass("is-invalid")},oncomplete:function oncomplete(){$(this).removeClass("is-invalid"),$(this).addClass("is-valid")},oncleared:function oncleared(){console.log("cleared"),$(this).removeClass("is-invalid")}}),$("form.supplierForm button.FormSaveButton").off("click"),$("form.supplierForm button.FormSaveButton").on("click",i.clickSaveButton),i.setDetailsViewData(),i.initUserCreate(),$(".productCategorySelect").select2(),$(".serviceSelect").select2({tags:!0,createTag:function createTag(t){var o=$.trim(t.term);return""===o?null:{id:o,text:o,newTag:!0}}}),$("input[name=logoFile]").change(function(){setImageFromLocal(this,a.containerCssSelector+" .imageLogo")}),$("form.supplierForm .profitCenterSelectCheckboxAll").off("click"),$("form.supplierForm .profitCenterSelectCheckboxAll").on("click",function(){$("form.supplierForm input.profitCenterSelectCheckbox").prop("checked",$(this).is(":checked"))}),i.renderAttachment(),i.initFileAttachmentFeature(),i.initDeliveryConstraintToggle(),debug("**end initViewDetails ")},this.initDeliveryConstraintToggle=function(){var t=a.containerCssSelector+" .supplierForm",o=function toggleDeliveryFields(){1==$(t+' input[name="hasDeliveryConstraint"]').val()?$(t+" .deliveryConstraintFields").show():$(t+" .deliveryConstraintFields").hide()};$(t+' a[data-toggle="hasDeliveryConstraint"]').off("click.deliveryConstraint"),$(t+' a[data-toggle="hasDeliveryConstraint"]').on("click.deliveryConstraint",function(){setTimeout(o,0)}),o()},this.selectedUploadFileToggle=function(t){t?($(".containerFileUpload").addClass("d-none"),t[0].files[0]&&$(".containerUploadedFileName").text(t[0].files[0].name),$(".containerFileUploadStarted").removeClass("d-none"),$(".containerUploadedSpinner").removeClass("d-none")):($(".containerUploadedFileName").text(""),$(".custom-file-label.selected").text(""),$(".containerFileUploadStarted").addClass("d-none"),$(".uploadStatusRow").addClass("d-none"),$(".containerFileUpload").removeClass("d-none"))},this.initFileAttachmentFeature=function(){console.log("-------initFileAttachmentFeature-----------"),i.Supplier.id&&($(".containerFileUpload").removeClass("d-none"),$(".containerFileUploadNone").addClass("d-none")),$(a.containerCssSelector+" .buttonUpload").off("click"),$(a.containerCssSelector+" .buttonUpload").on("click",function(){console.group("-------buttonUpload-----------");var t=$("#inputGroupAttacheFile");if(t[0].files.length<1)Toast.create({title:"Hiba!",message:"Vállaszon ki fájlt!",status:TOAST_STATUS.DANGER,timeout:1e4});else{console.log($(a.containerCssSelector).find("form.supplierForm")[0]);var o=new FormData($(a.containerCssSelector).find("form.supplierForm")[0]);o.append(t.attr("name"),t[0].files[0]),i.selectedUploadFileToggle(t);var r=a.URL.attachFile.replace("%id%",i.Supplier.id);console.groupEnd(),$.ajax({url:r,data:o,type:"POST",contentType:!1,processData:!1,beforeSend:function beforeSend(){},success:function success(t){console.log(t),1==t.success&&(i.addAttachment(t.data.attachment),i.selectedUploadFileToggle())},error:function error(t){console.log(t.responseJSON),i.selectedUploadFileToggle(),ajaxErrorFieldHandler(t.responseJSON.error)}})}})},this.clickNew=function(){debug("clickNew"),APP.loadMainContent(a.URL.create,i.clickNewCallBack)},this.clickNewCallBack=function(){debug("callbackNew"),i.Supplier=new window.Supplier,i.initViewDetails()},this.datatableRowActionEdit=function(t,o){console.log("datatableRowActionEdit Called");var r=a.URL.edit.replace("%id%",t.id);APP.loadMainContent(r,i.initViewDetails),console.log("datatableRowActionEdit End")},this.clickOrderDeleteConfirmed=function(t){debug("clickSupplierDeleteConfirmed"),debug(t),debug(t.data),$("#dialogModal").modal("hide");var o={};o._token=a.token;var r=a.URL.destroy.replace("%id%",t.data.id);o._token=$("input[name=_token]").val(),console.log(r),console.log(o);var l=$(dataTableCSSSelector).DataTable().row(i.dadatatableRowActionCallerNode.parents("tr"));$.ajax({url:r,data:o,method:"DELETE",success:function success(t){1==t.success&&(l.remove().draw(),i.dadatatableRowActionCallerNode=!1)}})},this.datatableRowActionDelete=function(t,o){console.log("datatableRowActionDelete Called"),i.dadatatableRowActionCallerNode=o,$("#dialogModal").on("show.bs.modal",function(o){var a=$(this);a.find(".modal-title").text("Megerősítés "),a.find(".modal-body").text("Biztosan törli a beszállítót?"),a.find(".buttonYes").off("click"),a.find(".buttonYes").on("click",{id:t.id},i.clickOrderDeleteConfirmed)}),$("#dialogModal").modal("show")},this.datatableRowActionButtonClick=function(t){debug("datatableRowActionButtonClick");var o=$(t[0].currentTarget),a=$(dataTableCSSSelector).DataTable().row(o.parents("tr")).data(),r="datatableRowAction"+o.data("buttontype").capitalize();if("function"==typeof i[r])return i[r](a,o)},this.initViewList=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization"),dataTableCSSSelector=a.containerCssSelector+" .dataTable";var o=$(dataTableCSSSelector+" thead th").length;APP.setOpts({datatableActionButtonClickCallBack:i.clickNew,datatableRowActionButtonClickCallBack:i.datatableRowActionButtonClick});var r=a.dataTable.orderDirective;void 0!==t.orderDirective&&(r=t.orderDirective),$(dataTableCSSSelector).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:a.URL.getDataTableContent,columnDefs:[{targets:o-1,render:function render(t,o,a){var r=APP.datatableAddRowTrashButton(0,arguments);return r+=APP.datatableAddRowEditButton(0,arguments)}},{targets:1,render:function render(t,o,a){return"sort"===o?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0},{text:"Új felvitele",className:"btn btn-success newItem",attr:{data:"newItem"},init:function init(t,o,a){$(o).removeClass("ui-button")},action:function action(t,o,a,r){APP.datatableActionButtonClickCallBack(arguments)}}]},columns:[{data:"id"},{data:"name"},{data:"hooreycaId"},{data:"nameId"},{data:"created_at"},null],order:r,stateSave:!0,drawCallback:function drawCallback(t){APP.datatableAddRowAction(dataTableCSSSelector)}}),debug("listview end")},this.autofillDetails=function(){debug("nyeresre allunk");var t=getRandomInt(9999);$("input[name=name]").val("Beszalító"+t),$("input[name=hooreycaId]").val("hb"+t),$("input[name=nameId]").val("be"+t),$("input[name=orderEmail]").val("kapcsolat"+t+"@beszallito.hu"),$("input[name=orderEmail2]").val("informacio"+t+"@beszallito.hu"),$("input[name=address]").val("8989 Supplier utca "+t),$("input[name=mailingAddress]").val("8989 Postai út"+t),$("input[name=phone]").val("+36301234567"),$("input[name=fax]").val("36308889999"),$("input[name=customerServicePhone]").val("+36761234444"),$("textarea[name=note]").val("Megjegyzem "+t)},this.testMode=function(){console.debug("!!!!testmode !!!!"),i.Supplier=new window.Supplier({contact:[{id:2},{id:3}]}),a.onAfterInitViewDetails=i.autofillDetails,APP.loadMainContent(a.URL.create,i.initViewDetails)},this.init=function(t,o){if($.extend(a,t),a.testMode)return i.testMode();o&&(i.Supplier=o),i.initViewList()},this.renderAttachment=function(){var t=1;console.log("renderingAttachment"),$.each(i.Supplier.getData("attachment"),function(){var o=this;o.rowNum=t,date=new Date(o.created_at),o.date=date.toLocaleString(),o.link=o.PublicUrl+"/"+o.filename;var a=$('template[data-name="supplierAttachmentTableRow"]').html(),r=Mustache.render(a,o);$(".attachmentTable tbody").append(r),t++}),i.bindAttachmentClickAction()},this.addAttachment=function(t){console.log(t);var o=a.containerCssSelector+" .supplierForm";i.Supplier.attachment.push(t),t.rowNum=i.Supplier.attachment.length;var r=$('template[data-name="supplierAttachmentTableRow"]').html(),l=Mustache.render(r,t);$(o+" .attachmentTable tbody").append(l),i.bindContactClickAction(),Toast.enableTimers(!1),Toast.create({title:"Fájl hozzáadva!",message:t.original_filename+" fájl hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.resetContactTable=function(){$(".contactTable tbody tr").remove(),i.renderContact()},this.renderContact=function(){var t=1;console.log("renderingContacts"),$.each(i.Supplier.getData("contact"),function(){this.rowNum=t;var o=$('template[data-name="supplierContactTableRow"]').html(),a=Mustache.render(o,this);$(".contactTable tbody").append(a),t++}),i.bindContactClickAction()},this.bindContactClickAction=function(){var t=$(".contactTable .buttonDelete");t.unbind("click"),t.bind("click",i.contactDeleteClick),(t=$(".contactTable .buttonEdit")).unbind("click"),t.bind("click",i.contactEditClick)},this.bindAttachmentClickAction=function(){var t=$(".attachmentTable .buttonDelete");t.unbind("click"),t.bind("click",i.attachmentDeleteClick)},this.attachmentDeleteClick=function(t){var o=$(this).closest("tr").find("input[name=attachmentId]").val(),r=a.URL.detachFile.replace("%id%",i.Supplier.id),l={};l._token=$('input[name="_token"]').val(),l.attachemntId=o,$.ajax({url:r,data:l,type:"POST",beforeSend:function beforeSend(){},success:function success(t){console.log(t),1==t.success&&(i.Supplier.attachment=i.Supplier.attachment.filter(function(o,a,r){return o.id!==1*t.data.attachment.id}),i.resetAttachmentTable())},error:function error(t){console.log(t.responseJSON),i.selectedUploadFileToggle(),ajaxErrorFieldHandler(t.responseJSON.error)}})},this.resetAttachmentTable=function(){$(".attachmentTable tbody tr").remove(),i.renderAttachment()},this.contactDeleteClick=function(t){var o=$(this).closest("tr"),a=o.find("input[name=contactId]").val();i.Supplier.contact=i.Supplier.contact.filter(function(t,o,r){return t.id!==1*a}),o.remove(),i.resetContactTable()},i.getContactPopupWorkflow=function(){return l},i.setContactPopupWorkflow=function(t){l=t},this.contactEditClick=function(t){var o=$(this).closest("tr").find("input[name=contactId]").val();i.setContactPopupWorkflow("edit"),APP.ContactPopUp.loadData(o)},this.getSupplier=function(){return i.Supplier},this.contactAction=function(t){console.log("nah most kellene meg valamit csinalni."),"new"==i.getContactPopupWorkflow()?i.addContact(t):"edit"==i.getContactPopupWorkflow()&&i.editContact(t.id,t)},this.editContact=function(t,o){var a=[];$.each(i.Supplier.getData("contact"),function(r){this.id==t?a.push(o):a.push(this)}),i.Supplier.contact=a,i.resetContactTable(),Toast.create({title:"Kapcsolat adatai módosítva!",message:o.name+" nevű kapcsolattartó módosítva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.addContact=function(t){i.Supplier.contact.push(t),t.rowNum=i.Supplier.contact.length;var o=$('template[data-name="supplierContactTableRow"]').html(),a=Mustache.render(o,t);$(".contactTable tbody").append(a),i.bindContactClickAction(),Toast.enableTimers(!1),Toast.create({title:"Kapcsolattartó hozzáadva!",message:t.name+" nevű kapcsolattartó hozzáadva",status:TOAST_STATUS.SUCCESS,timeout:5e3})},this.resetUserTable=function(){$(".supplierUserTable tbody tr").remove(),i.renderUsers()},this.renderUsers=function(){var t=1,o=i.Supplier.users||[];$.each(o,function(){var o=$.extend({},this);o.rowNum=t;var a=$('template[data-name="supplierUserTableRow"]').html(),r=Mustache.render(a,o);$(".supplierUserTable tbody").append(r),t++}),i.bindUserClickAction()},this.bindUserClickAction=function(){var t=$(".supplierUserTable .buttonDelete");t.unbind("click"),t.bind("click",i.userDeleteClick)},this.userDeleteClick=function(){var t=$(this).closest("tr"),o=1*t.find("input[name=userId]").val();i.Supplier.users=i.Supplier.users.filter(function(t){return t.id!==o}),t.remove(),i.resetUserTable()},this.addUser=function(t){if(i.Supplier.users||(i.Supplier.users=[]),!i.Supplier.users.some(function(o){return o.id===t.id})){i.Supplier.users.push(t),t.rowNum=i.Supplier.users.length;var o=$('template[data-name="supplierUserTableRow"]').html(),a=Mustache.render(o,t);$(".supplierUserTable tbody").append(a),i.bindUserClickAction(),Toast.enableTimers(!1),Toast.create({title:"Felhasználó hozzáadva!",message:t.name+" hozzárendelve",status:TOAST_STATUS.SUCCESS,timeout:3e3})}},this.initUserCreate=function(){var t=a.URL.createUser||"",o=$(a.containerCssSelector);o.find(".buttonCreateUser").off("click").on("click",function(){var a=o.find(".supplierNewUserName").val().trim(),r=o.find(".supplierNewUserEmail").val().trim(),l=o.find(".supplierNewUserPassword").val(),c=o.find(".supplierNewUserError");c.hide().text(""),a&&r&&l?$.ajax({url:t,type:"POST",data:{name:a,email:r,password:l},headers:{"X-CSRF-TOKEN":$('input[name="_token"]').val()},success:function success(t){t.success?(i.addUser(t.user),function clearForm(){o.find(".supplierNewUserName").val(""),o.find(".supplierNewUserEmail").val(""),o.find(".supplierNewUserPassword").val(""),o.find(".supplierNewUserError").hide().text("")}()):c.text("Hiba történt a felhasználó létrehozásakor!").show()},error:function error(t){var o="Hiba történt!";if(t.responseJSON&&t.responseJSON.errors){var a=t.responseJSON.errors;o=a[Object.keys(a)[0]][0]}c.text(o).show()}}):c.text("Minden mező kitöltése kötelező!").show()})},this.construct(t,o)}})(); //# sourceMappingURL=admin.js.map \ No newline at end of file diff --git a/public/js/admin.js.map b/public/js/admin.js.map index 4bf4d47..0b74864 100644 --- a/public/js/admin.js.map +++ b/public/js/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"/js/admin.js","mappings":"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","sources":["webpack:///./resources/js/admin/dashboard.js","webpack:///./resources/js/admin/priceList.js","webpack:///./resources/js/admin/priceListProfitCenter.js","webpack:///./resources/js/admin/product.js","webpack:///./resources/js/admin/profitCenter.js","webpack:///./resources/js/admin/supplier.js"],"sourcesContent":["window.Dashboard=function () {\r\n let Opts = {\r\n active: false,\r\n containerCssSelector:\".dashboard\",\r\n testFileMod:false,\r\n isAdmin:false,\r\n URL:{\r\n create:'',\r\n store:'',\r\n getDataTableContent:'',\r\n destroy:'',\r\n }\r\n };\r\n let root = this;\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options) {\r\n debug('Dashboard constructor called');\r\n $.extend(Opts, options);\r\n };\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n this.init = function (options) {\r\n console.log('Dashboard init called');\r\n $.extend(Opts, options);\r\n/*\r\n APP.setOpts({\r\n afterLoadMainContent:root.initEditor,\r\n })\r\n*/\r\n /*\r\n Init list view\r\n */\r\n root.initEditorButtons();\r\n }\r\n\r\n this.initEditorButtons=function (){\r\n $('.DashboardEditable button.edit').off('click');\r\n $('.DashboardEditable button.edit').on('click',function (){\r\n root.initEditor();\r\n $('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n });\r\n\r\n $('.DashboardEditable button.btnSave').off('click');\r\n $('.DashboardEditable button.btnSave').on('click',function (){\r\n /*$('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n */\r\n root.saveCustomContent();\r\n //tinymce.activeEditor.isDirty() //true when modified\r\n });\r\n\r\n\r\n\r\n $('.DashboardEditable button.btnCancel').off('click');\r\n $('.DashboardEditable button.btnCancel').on('click',function (){\r\n\r\n $('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n root.removeEditor();\r\n });\r\n\r\n }\r\n\r\n this.saveCustomContent=function (){\r\n let ajaxData= new FormData($('.dashboardForm')[0]);\r\n ajaxData.append('stored_data',tinymce.activeEditor.getContent());\r\n let ajaxUrl=Opts.URL.update.replace('%id%',$('div.dashboardCustomContent').data('id'));\r\n ajaxData.append('_method','PUT');\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n Toast.create({ title: \"Siekeres mentés!\", message: 'Új tartalom elmentve.', status: TOAST_STATUS.INFO, timeout: 5000 });\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n }\r\n\r\n this.loadTinymce= function (){\r\n $.getScript('https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js',function (){\r\n root.initEditor();\r\n });\r\n }\r\n this.removeEditor = function (options) {\r\n if(typeof tinymce!==\"undefined\"){\r\n tinymce.remove();\r\n }\r\n }\r\n this.initEditor = function (options) {\r\n\r\n if(typeof tinymce===\"undefined\"){\r\n root.loadTinymce();\r\n return;\r\n }\r\n\r\n tinymce.init({\r\n selector: 'div.dashboardCustomContent', // Replace this CSS selector to match the placeholder element for TinyMCE\r\n language: 'hu_HU',\r\n plugins: 'code table lists',\r\n toolbar: ' undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\r\n\r\n/*\r\n toolbar: 'customInsertButton | undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\r\n setup: function (editor) {\r\n editor.ui.registry.addButton('customInsertButton', {\r\n text: 'My Button',\r\n onAction: function (_) {\r\n editor.insertContent(' It\\'s my button! ');\r\n }});\r\n }\r\n*/\r\n\r\n });\r\n }\r\n};\r\n","window.PriceListAdmin=function (options,ProfitCenterItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n active: false,\r\n containerCssSelector:\".priceListForm\",\r\n testFileMod:false,\r\n URL:{\r\n create:'',\r\n store:'',\r\n getDataTableContent:'',\r\n destroy:'',\r\n }\r\n };\r\n let PriceList = {};\r\n let root = this;\r\n let dataTableCSSSelector=null;\r\n\r\n\r\n\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options) {\r\n debug('PriceListAdmin constructor called');\r\n $.extend(Opts, options);\r\n };\r\n\r\n let errorRowPointer=null;\r\n let errorRowCount=0;\r\n\r\n this.initErrorNavigationButton=function (){\r\n\r\n errorRowCount=$('.statusError').length;\r\n errorRowPointer=null;\r\n $('.priceListForm .buttonPrevError .buttonNextError').off('click')\r\n $('.priceListForm .buttonPrevError').on('click',function (){\r\n if(errorRowPointer==null){\r\n errorRowPointer=0;\r\n }else{\r\n if(errorRowPointer>0){\r\n errorRowPointer--;\r\n }else{return;}\r\n }\r\n $('.statusError').removeClass('highlightedErrorRow');\r\n $('.priceListTableWrapper').scrollTop($($('.statusError')[errorRowPointer]).position().top);\r\n $($('.statusError')[errorRowPointer]).addClass('highlightedErrorRow');\r\n });\r\n $('.priceListForm .buttonNextError').off('click');\r\n $('.priceListForm .buttonNextError').on('click',function (){\r\n if(errorRowPointer==null){\r\n errorRowPointer=0;\r\n }else{\r\n if(errorRowPointer tbody').empty();\r\n $('.containerFileUpload').removeClass('d-none');\r\n }\r\n }\r\n\r\n this.clickNewPriceListCallBack=function () {\r\n root.initViewDetails();\r\n }\r\n this.clickNewPriceList=function(){\r\n APP.loadMainContent(Opts.URL.create,root.clickNewPriceListCallBack);\r\n }\r\n this.datatableRowActionButtonClick=function(event){\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n //_token\r\n let ajaxData={};\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',rowData.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n }\r\n }\r\n });\r\n/*\r\n*/\r\n\r\n\r\n }\r\n\r\n this.initViewList = function (options) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNewPriceList,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n\r\n\r\n APP.dataTablePriceList=$(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n //buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n\r\n buttons: [\r\n //'createState', 'savedStates',\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"supplierName\" },\r\n { \"data\": \"available\" },\r\n { \"data\": \"created_at\" },\r\n { \"data\": \"note\" },\r\n null,\r\n ],\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n\r\n\r\n }\r\n\r\n this.initViewDetails = function (options) {\r\n $(Opts.containerCssSelector+' .datePickerClick').off('click');\r\n $(Opts.containerCssSelector+' .datePickerClick').on('click',function(){\r\n $(Opts.containerCssSelector+' .datePicker').datepicker('show');\r\n });\r\n\r\n $(Opts.containerCssSelector+' .datePicker').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n onSelect:function (dateText){\r\n console.log(dateText);\r\n $('.selectedDateText').text(dateText.replaceAll('-','.'));\r\n\r\n $('input[name=\"availableDate\"]').val(dateText);\r\n\r\n },\r\n\r\n });\r\n\r\n $(Opts.containerCssSelector+' .buttonNewUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonNewUpload').on('click',function (){\r\n root.selectedUploadFileToggle();\r\n });\r\n $(Opts.containerCssSelector+' .buttonUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonUpload').on('click',function (){\r\n console.log('------------------');\r\n root.selectedUploadFileToggle();\r\n\r\n let data= new FormData($('.priceListForm')[0]);\r\n if($('.supplierSelect').val().length<1){\r\n Toast.create({ title: \"Hiba!\", message: 'Adjon meg beszállítót!', status: TOAST_STATUS.DANGER, timeout: 10000 });\r\n return;\r\n }\r\n let fileInput=$('#inputGroupPriceListFile');\r\n console.log(fileInput[0].files.length<1);\r\n\r\n /* teszteles miatt kikapcsolva a fajl ellenorzes\r\n */\r\n if(!Opts.testFileMod){\r\n console.log(fileInput[0].files.length<1);\r\n if(fileInput[0].files.length<1){\r\n Toast.create({ title: \"Hiba!\", message: 'Vállaszon ki fájlt!', status: TOAST_STATUS.DANGER, timeout: 10000 });\r\n return;\r\n }\r\n }\r\n\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n root.selectedUploadFileToggle(fileInput);\r\n\r\n $.ajax({\r\n url:Opts.URL.store,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success==true){\r\n root.processCheckedPriceListResponse(data);\r\n }\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n root.selectedUploadFileToggle();\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n });\r\n\r\n $(Opts.containerCssSelector+' .buttonFinalization').on('click',function (){\r\n let data= new FormData($('.priceListForm')[0]);\r\n let fileInput=$('#inputGroupPriceListFile');\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n data.append('finalization',1);\r\n $.ajax({\r\n url:Opts.URL.store,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success){\r\n $('.priceListTable tbody tr').remove();\r\n $('.uploadStatusRow >.canFinish').hide();\r\n $('.uploadStatusRow').addClass('d-none');\r\n $('.priceListTable tbody').append(' Árlistát elmentettük.');\r\n }\r\n /*\r\n if(data.success==1){\r\n root.processCheckedPriceListResponse(data);\r\n }\r\n */\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n });\r\n\r\n }\r\n\r\n this.init = function (options) {\r\n console.log('PriceListAdmin init called');\r\n $.extend(Opts, options);\r\n console.log('Opt extended');\r\n console.log(Opts);\r\n /*\r\n Init list view\r\n */\r\n console.log('call list view Init');\r\n root.initViewList(options);\r\n\r\n\r\n }\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n let priceListHasError=false;\r\n\r\n this.processCheckedPriceListResponse=function (responseData){\r\n priceListHasError=false;\r\n root.processCheckedPriceListResponseRows(responseData.rows);\r\n if(priceListHasError){\r\n $('.uploadStatusRow >.canFinish').hide();\r\n $('.uploadStatusRow >.canFinishError').show();\r\n root.initErrorNavigationButton();\r\n }else{\r\n $('.uploadStatusRow >.canFinish').show();\r\n $('.uploadStatusRow >.canFinishError').hide();\r\n }\r\n $('.uploadStatusRow').removeClass('d-none');\r\n $('.containerUploadedSpinner').addClass('d-none');\r\n }\r\n\r\n this.processCheckedPriceListResponseRows=function (responseRowsData){\r\n console.log('processingRows');\r\n for (let key in responseRowsData) {\r\n let rowData=responseRowsData[key];\r\n let templateData=rowData.originalData;\r\n templateData.rowNum=rowData.rowNum;\r\n let template=$('template[data-name=\"priceListTableRow\"]').html()\r\n let render=Mustache.render(template,templateData);\r\n $('.priceListTable tbody').append(render);\r\n $('tr[data-rownum='+rowData.rowNum+']').addClass('status'+$.ucFirst(rowData.status));\r\n root.processResponseRowErrors(rowData.error,rowData.rowNum);\r\n if(rowData.changed){\r\n root.processResponseRowChanged(rowData.changed,rowData.rowNum);\r\n }\r\n }\r\n }\r\n this.processResponseRowChanged=function (changedArray,rowNum){\r\n if(changedArray.length<1){\r\n return;\r\n }\r\n console.log(changedArray);\r\n //fields error resz\r\n let trNode=$('tr[data-rownum='+rowNum+']');\r\n for (let key in changedArray) {\r\n let tdNode=trNode.find('td[data-pointer=\"'+key+'\"]');\r\n tdNode.addClass('bg-primary');\r\n let changedTxtNode=$(document.createElement(\"span\")).text(changedArray[key].old).addClass('fieldChanged');\r\n tdNode.append(changedTxtNode);\r\n }\r\n\r\n }\r\n this.processResponseRowErrors=function (errorArray,rowNum){\r\n if(errorArray.length<1){\r\n return;\r\n }\r\n //general error resz\r\n console.log(errorArray);\r\n priceListHasError = true;\r\n\r\n //fields error resz\r\n if(typeof errorArray.fields =='undefined'){\r\n return;\r\n }\r\n let trNode=$('tr[data-rownum='+rowNum+']');\r\n for (let key in errorArray.fields) {\r\n let tdNode=trNode.find('td[data-pointer=\"'+key+'\"]');\r\n tdNode.addClass('bg-danger');\r\n let errorTxtNode=$(document.createElement(\"span\")).text(errorArray.fields[key]).addClass('fieldError');\r\n tdNode.append(errorTxtNode);\r\n }\r\n }\r\n};\r\n","window.PriceListProfitCenterAdmin=function (options) {\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n token: null,\n containerCssSelector: '.containerPriceListProfitCenter',\n testMode: false,\n URL: {\n getDataTableContent: '',\n getProductGroupHTML: '',\n index: '',\n show: '',\n edit: '',\n create: '',\n store: '',\n update: '',\n destroy: '',\n },\n dataTable: {\n orderDirective: [1, 'asc']\n },\n onAfterInitViewDetails: function () {\n }\n };\n let root = this;\n /*\n * Constructor\n */\n this.construct = function (options, SupplierItem) {\n console.log('PriceListProfitCenterAdmin constructor called');\n $.extend(Opts, options);\n };\n this.getOpts = function () {\n return Opts;\n }\n let changeParameter={\n supplier:'',\n deliveryDate:'',\n /*\n supplier:26,\n deliveryDate:'2023-09-10',\n */\n\n }\n\n this.checkRefreshPossible=function (){\n console.log('check need parameter');\n let needRefresh=true;\n $.each(changeParameter,function (name,data){\n if(data===''){\n needRefresh=false;\n }\n });\n if(needRefresh){\n root.refreshDatatable()\n root.refreshProductGroup();\n root.setDatatableHeaderText('');\n }\n }\n this.setDatatableHeaderText=function(text){\n $('.tableHeaderText').text(text);\n }\n\n this.getTreePathName=function (node){\n let res='';\n let items=$(node).parents('li').toArray();\n items.shift();\n items.reverse();\n for (const item in items) {\n if($(items[item]).children('a.categoryItem').length>0){\n res+=$(items[item]).children('a.categoryItem').text()+'/'\n }\n }\n res+=$(node).text();\n return res;\n }\n\n this.bindProductGroupItem=function(){\n $('.sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').off('click');\n $('.sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').on('click',\n function () {\n let groupId=$(this).data('id');\n selectedProductGroup=groupId;\n root.setDatatableHeaderText(root.getTreePathName(this));\n /*\n console.log(groupId);\n console.log(root.getTreePathName(this));\n */\n root.refreshDatatable();\n });\n\n\n }\n this.refreshProductGroup=function (){\n let ajaxData={\n 'supplierId':changeParameter.supplier,\n 'deliveryDate':changeParameter.deliveryDate\n }\n let ajaxUrl=Opts.URL.getProductGroupHTML;\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n type:'GET',\n contentType:false,\n processData: true,\n beforeSend: function() {\n\n },\n success: function(data) {\n $('.sidebar-menu .productGroup').find('ul').html(data);\n root.bindProductGroupItem();\n },\n error: function(data) {\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n })\n\n }\n this.refreshDatatable=function (){\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n\n this.changePriceListProfitCenterParameter=function(e,obj){\n if(typeof obj =='undefined'){\n obj=$(this);\n }\n let objName=obj.attr(\"name\");\n if(objName=='supplier'){\n selectedProductGroup=null;\n }\n let data='';\n if(obj.get(0).nodeName=='SELECT'){\n if(obj.select2('data').length>0){\n data=obj.select2('data')[0].id;\n };\n }else{\n data=obj.val()\n }\n if(changeParameter[objName]!=data){\n changeParameter[objName]=data;\n root.checkRefreshPossible();\n }\n }\n\n this.init=function (options){\n $.extend(Opts, options);\n let CSSSelectorForm=Opts.containerCssSelector;\n $(CSSSelectorForm+' .datePickerClick').click(function(){\n $(CSSSelectorForm+' .datePicker').datepicker('show');\n });\n\n $('.supplierSelect').on('change',root.changePriceListProfitCenterParameter);\n\n //$('input[name=\"deliveryDate\"]').on('change',changePriceListProfitCenterParameter);\n\n\n $(\".supplierSelect\").select2({\n maximumSelectionLength: 1,\n });\n /*\n */\n\n $(CSSSelectorForm + ' .datePicker').datepicker({\n dateFormat: 'yy-mm-dd',\n minDate: new Date(),\n onSelect: function (dateText,obj) {\n $(CSSSelectorForm + ' .selectedDateText').text(dateText);\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\n $(CSSSelectorForm + ' input[name=\"deliveryDate\"]').val(dateText);\n root.changePriceListProfitCenterParameter(null,$(obj.input));\n },\n });\n //root.initViewList();\n let table = root.getDatatables('');\n $('.dataTableOrderProductSelect').on( 'draw.dt',root.productSelectDataTableDrawDT).dataTable();\n /*\n /!*\n ----------------------------------------------------------\n Add event listener for opening and closing details\n *!/\n\n $('.dataTableOrderProductSelect tbody').on('click', 'td.details-control', function () {\n let tr = $(this).closest('tr');\n let row = table.row( tr );\n\n if ( row.child.isShown() ) {\n // This row is already open - close it\n row.child.hide();\n tr.removeClass('shown');\n }\n else {\n // Open this row\n row.child( root.productSelectDatatablesRowFormatter(row.data()) ).show();\n tr.addClass('shown');\n root.bindProductDetailsAction();\n }\n } );*/\n }\n this.productSelectDataTableDrawDT=function (e) {\n //debug( 'Table draw complete: '+new Date().getTime() );\n\n $('td:contains(\"*\")').html('');\n $('td.details-control').removeClass('details-control');\n\n\n\n }\n let selectedProductGroup=null;\n\n this.getDatatables=function (orderType){\n let columns = APP.OrderModule.productSelectDataTableColumn();\n let lastCol = columns[columns.length - 1];\n lastCol.render = function (data, type, row) {\n if (row.stock_status === 'out_of_stock') {\n return '';\n }\n return '';\n };\n\n let table = $('.dataTableOrderProductSelect').DataTable( {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": {\n url:Opts.URL.getDataTableContent,\n data:function (data) {\n /*\n data.searchStr=dataTableSearchStr;\n data.krel=dataTableSearchKrel;\n data.groupId=selectedProductGroup;\n */\n data.supplierId=changeParameter.supplier;\n data.deliveryDate=changeParameter.deliveryDate;\n data.groupId=selectedProductGroup;\n }\n },\n buttons: {\n buttons: []\n },\n \"columnDefs\": APP.OrderModule.productSelectDataTableColumnDefs(),\n \"columns\": columns,\n \"order\": [[1, 'asc']],\n } );\n return table;\n }\n\n\n}\n","if(typeof Product==='undefined'){\n class Product extends DataModel{\n\n /*\n * Constructor\n */\n constructor (data,options) {\n super(data,options)\n if(typeof this.contact ===\"undefined\"){\n this.contact=[];\n }\n console.log('Product constructor called');\n };\n };\n window.Product=Product;\n}\nwindow.ProductAdmin=function (options,ProductItem) {\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n token: null,\n containerCssSelector: '.containerProduct',\n container:null,\n resultContainerSelector:'.containerProduct .containerResult',\n resultContainer:null,\n\n testMode: false,\n filters:{\n Product:{},\n },\n URL: {\n getDataTableContent: '',\n index: '',\n show: '',\n edit: '',\n create: '',\n store: '',\n update: '',\n destroy: '',\n attachFile: '',\n detachFile: '',\n },\n dataTable: {\n orderDirective: [1, 'asc'],\n },\n onAfterInitViewDetails: function () {\n }\n };\n let Product = {};\n let root = this;\n let contactPopupWorkflow = 'new';\n let dataTable=null;\n /*\n * Constructor\n */\n this.construct = function (options, ProductItem) {\n console.log('ProductAdmin constructor called');\n $.extend(Opts, options);\n if (!ProductItem) {\n console.log('Product letre kellet hozni ');\n if (!APP.Product) {\n APP.Product = new window.Product();\n }\n root.Product = APP.Product;\n }\n };\n this.getOpts = function () {\n return Opts;\n }\n this.datatableRowActionButtonClick=function (event){\n debug('datatableRowActionButtonClick');\n let node=$(event[0].currentTarget);\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n let rowData=row.data();\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\n if (typeof root[actionName] === \"function\") {\n return root[actionName](rowData,node)\n }\n }\n this.datatableRowActionEdit=function (rowData,node) {\n console.log('datatableRowActionEdit Called');\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\n console.log('datatableRowActionEdit End');\n }\n this.initViewListOld = function (options={}) {\n debug('listview inicialization');\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\n\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\n })\n let orderDirective=Opts.dataTable.orderDirective;\n if(typeof options['orderDirective']!='undefined'){\n orderDirective=options['orderDirective'];\n }\n $(dataTableCSSSelector).DataTable( {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": Opts.URL.getDataTableContent,\n serverSide: true,\n \"columnDefs\": [\n {\n \"targets\": colNum-1,\n orderable: false,\n \"render\": function ( data, type, row ) {\n let\n buttons=APP.datatableAddRowEditButton(0,arguments);\n return buttons;\n },\n },\n {\n \"targets\": 1,\n \"render\": function ( data, type, row ) {\n return type === \"sort\" ? data.latinise() : data;\n },\n },\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons:{\n buttons: [\n 'excel','pdf',\n {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n },\n ]\n },\n \"columns\": [\n { \"data\": \"id\"},\n { \"data\": \"name\" },\n { \"data\": \"hooreycaId\" },\n {\"data\": \"productGroup\"},\n {\"data\": \"supplierName\"},\n { \"data\": \"price\" },\n { \"data\": \"created_at\" },\n null,\n ],\n \"order\": orderDirective,\n \"stateSave\": true,\n \"drawCallback\": function( settings ) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n } );\n debug('listview end');\n }\n\n this.initViewList=function (options={}) {\n debug('initViewSearch inicialization 1');\n\n root.container.find('select.supplierSelect, select.profitCenterSelect, select.productGroupSelect, select.producerSelect, select.hooreycaNamesSelect, select.specialOfferSelect').select2();\n root.container.find('select.productSelect').select2({\n placeholder: '...',\n allowClear: true,\n ajax: {\n url: Opts.URL.getProductSearch,\n dataType: 'json',\n data: function(params) {\n return {\n term: params.term || '',\n page: params.page || 1,\n supplierId: root.container.find('select.supplierSelect').val(),\n }\n },\n cache: true\n }\n });\n root.container.find('.datePickerFrom, .datePickerTo').datepicker({\n dateFormat: 'yy-mm-dd',\n\n onSelect: function (dateText,obj) {\n debug(this);\n debug(obj.input);\n /*\n root.container.find('.selectedDateText').text(dateText);\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\n root.container.find(' input[name=\"deliveryDate\"]').val(dateText);\n */\n //root.changePriceListProfitCenterParameter(null,$(obj.input));\n },\n });\n root.container.find('.datePickerClick').click(function(){\n debug($(this).data('action'));\n root.container.find('input[name=\"'+$(this).data('action')+'\"]').datepicker('show');\n });\n let button=root.container.find('.FormSendButton');\n button.off('click');\n button.on('click',function (){\n debug ('FormSendButton click');\n root.loadingResultContainer();\n root.requestProducts();\n });\n root.setVisibleFilters('Product');\n\n if (root.loadFiltersFromLocalStorage()) {\n root.loadingResultContainer();\n root.requestProducts();\n }\n\n debug('initViewSearch end');\n }\n\n\n this.loadingResultContainer=function (){\n debug('clearResultContainer');\n debug(root.resultContainer);\n root.hideResultContainer();\n root.container.find('.containerLoading').show();\n /*\n let template=root.container.find('template[data-name=\"loading\"]').html()\n root.resultContainer.html(template);\n\n */\n }\n this.hideResultContainer=function (){\n debug('hide containerResult');\n debug(root.resultContainer);\n root.resultContainer.hide();\n }\n this.showResultContainer=function (){\n root.container.find('.containerLoading').hide();\n root.resultContainer.show();\n }\n\n this.init=function (options,ProductItem){\n console.log('ProductAdmin init');\n $.extend(Opts, options);\n\n if(Opts.testMode){\n return root.testMode();\n }\n if(ProductItem){\n root.Product=ProductItem\n }\n root.dataTable=null;\n root.container=$(Opts.containerCssSelector);\n root.resultContainer=$(Opts.resultContainerSelector);\n root.initViewList();\n }\n this.initViewDetails=function (options,ProductItem){\n debug('**call initViewDetails ');\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\n if(root.Product.picture){\n console.log('*****//////////////////****************');\n console.log(root.Product.picture);\n console.log(CSSSelectorForm);\n let picUrl=root.Product.picture.PublicUrl+'/'+root.Product.picture.filename;\n console.log(picUrl);\n console.log($(CSSSelectorForm+' img.imageProduct'));\n $(CSSSelectorForm+' img.imageProduct').attr('src',picUrl);\n }\n if(root.Product.specification){\n console.log('*****//////////////////****************');\n console.log(root.Product.specification);\n let docUrl=root.Product.specification.PublicUrl+'/'+root.Product.specification.filename;\n root.addAttachment(root.Product.specification);\n }\n let FormSaveButton=$(CSSSelectorForm+' button.FormSaveButton');\n FormSaveButton.off('click');\n FormSaveButton.on('click',root.clickSaveButton);\n\n }\n\n this.addAttachment=function (attachmentData){\n console.log(attachmentData);\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\n //root.Supplier.attachment.push(attachmentData);\n //attachmentData.rowNum=root.Supplier.attachment.length;\n attachmentData.rowNum=1;\n let dateStr=new Date(attachmentData.updated_at);\n dateStr=dateStr.toLocaleString('hu-HU', {});\n attachmentData.date=dateStr;\n attachmentData.link=attachmentData.PublicUrl+'/'+attachmentData.filename;\n let template=$('template[data-name=\"productAttachmentTableRow\"]').html()\n let render=Mustache.render(template,attachmentData);\n $(CSSSelectorForm+' .attachmentTable tbody').append(render);\n //root.bindContactClickAction();\n Toast.enableTimers(false);\n Toast.create({ title: \"Fájl hozzáadva!\", message: attachmentData.original_filename+\" fájl hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n }\n\n this.setVisibleFilters=function (type){\n console.log('setVisibleFilters');\n console.log(Opts.filters[type]);\n console.log(root.container);\n $(root.container).find('div[class*=\"filter\"]').hide()\n for (const typeIndex in Opts.filters[type]) {\n const typeName=Opts.filters[type][typeIndex];\n debug(typeName);\n console.log($(root.container).find('.filter_'+typeName));\n $(root.container).find('.filter_'+typeName).show();\n }\n }\n this.c=function (CSSSelectorForm){\n console.log('c called');\n console.log(CSSSelectorForm);\n console.log(root.container);\n console.log(root.container.find('form'));\n console.log(root.container.find(CSSSelectorForm));\n\n }\n\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\n\n console.log(CSSSelectorForm);\n console.log(root.container);\n console.log(root.container.find(CSSSelectorForm));\n console.log(root.container.find('form'));\n console.log(root.container.find('form'+CSSSelectorForm)[0]);\n //return;\n let ajaxData = new FormData(root.container.find('form'+CSSSelectorForm)[0]);\n $.each(ajaxData.getAll('supplier'), function (key, value) {\n ajaxData.append('suppliers[]', value);\n })\n ajaxData.delete('supplier');\n $.each(ajaxData.getAll('profitCenter'), function (key, value) {\n ajaxData.append('profitCenters[]', value);\n })\n ajaxData.delete('profitCenter');\n $.each(ajaxData.getAll('productGroup'), function (key, value) {\n ajaxData.append('productGroups[]', value);\n })\n ajaxData.delete('productGroup');\n $.each(ajaxData.getAll('product'), function (key, value) {\n ajaxData.append('products[]', value);\n })\n ajaxData.delete('product');\n $.each(ajaxData.getAll('producer'), function (key, value) {\n ajaxData.append('producers[]', value);\n })\n ajaxData.delete('producer');\n $.each(ajaxData.getAll('hooreycaName'), function (key, value) {\n ajaxData.append('hooreycaNames[]', value);\n })\n ajaxData.delete('hooreycaName');\n\n //ajaxData.append('_token', root.container.find('input[name=_token]').val());\n\n /*\n $(CSSSelectorForm + ' input[data-inputmask]').each(function () {\n let indexKey = $(this).attr('name');\n if (ajaxData.get(indexKey)) {\n ajaxData.set(indexKey, ajaxData.get(indexKey).replace(/[_ ]+$/g, \"\"));\n }\n });\n */\n return ajaxData;\n\n }\n this.getAjaxDataJson=function(){\n\n let ajaxData=root.formDataToDataObjectAPICall('.ProductListForm');\n console.log('======================');\n for (let pair of ajaxData.entries()) {\n console.log(pair[0]+ ', ' + pair[1]);\n }\n\n let object = {};\n ajaxData.forEach((value, key) => {\n // Reflect.has in favor of: object.hasOwnProperty(key)\n if(!Reflect.has(object, key)){\n object[key] = value;\n return;\n }\n if(!Array.isArray(object[key])){\n object[key] = [object[key]];\n }\n object[key].push(value);\n });\n let ajaxDataJson = JSON.stringify(object);\n return ajaxDataJson;\n }\n\n this.requestProducts=function () {\n let ajaxUrl=Opts.URL.getDataTableContent;\n let ajaxMethod='GET';\n //token formdataba!\n debug(ajaxUrl);\n\n ajaxDataJson=root.getAjaxDataJson();\n console.log(ajaxDataJson);\n\n // Save filters to localStorage\n let form = root.container.find('form.ProductListForm');\n if (form.length > 0) {\n let formData = new FormData(form[0]);\n let filterData = {};\n formData.forEach((value, key) => {\n if(!Reflect.has(filterData, key)){\n filterData[key] = value;\n return;\n }\n if(!Array.isArray(filterData[key])){\n filterData[key] = [filterData[key]];\n }\n filterData[key].push(value);\n });\n localStorage.setItem('product_admin_filters', JSON.stringify(filterData));\n }\n\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\n console.log(dataTableCSSSelector );\n\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\n })\n let orderDirective=Opts.dataTable.orderDirective;\n /*\n if(typeof options['orderDirective']!='undefined'){\n orderDirective=options['orderDirective'];\n }\n */\n\n if(!root.dataTable){\n console.log('XXXXXXXXXXXXXXXXXXXX Nincs Datatable');\n root.dataTable=\n $(dataTableCSSSelector).DataTable( {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\":{\n url: Opts.URL.getDataTableContent,\n data: function (d) {\n console.log('---******----');\n console.log(APP.ProductAdmin.getAjaxDataJson());\n return $.extend({}, d, {\n ajaxData: APP.ProductAdmin.getAjaxDataJson\n });\n },\n type: ajaxMethod\n /*\n data: ajaxData,\n */\n } ,\n serverSide: true,\n \"columnDefs\": [\n {\n \"targets\": colNum-1,\n orderable: false,\n \"render\": function ( data, type, row ) {\n let\n buttons=APP.datatableAddRowEditButton(0,arguments);\n return buttons;\n },\n },\n {\n \"targets\": 1,\n \"render\": function ( data, type, row ) {\n return type === \"sort\" ? data.latinise() : data;\n },\n },\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons:{\n buttons: [\n 'excel','pdf',\n {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n },\n ]\n },\n \"columns\": [\n { \"data\": \"id\"},\n { \"data\": \"name\" },\n { \"data\": \"buyerProductName\" },\n { \"data\": \"hooreycaId\" },\n {\"data\": \"productGroup\"},\n {\"data\": \"supplierName\"},\n { \"data\": \"price\" },\n { \"data\": \"created_at\" },\n null,\n ],\n \"order\": orderDirective,\n \"stateSave\": true,\n \"drawCallback\": function( settings ) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n root.showResultContainer();\n console.log('drawCallback');\n }\n } );\n\n\n }else{\n console.log('XXXXXXXXXXXXXXXXXXXX van Datatable');\n //root.dataTable.ajax.reload();\n root.dataTable.draw();\n }\n\n\n }\n\n this.loadFiltersFromLocalStorage = function() {\n let filters = localStorage.getItem('product_admin_filters');\n if (filters) {\n let filterData = JSON.parse(filters);\n let form = root.container.find('form.ProductListForm');\n\n if (form.length === 0) return false;\n\n for (let key in filterData) {\n let value = filterData[key];\n let fields = form.find('[name=\"' + key + '\"]');\n\n if (fields.length) {\n if (fields.is('select')) {\n fields.val(value).trigger('change');\n } else if (fields.is(':checkbox') || fields.is(':radio')) {\n fields.each(function() {\n if (Array.isArray(value)) {\n $(this).prop('checked', value.includes($(this).val()));\n } else {\n $(this).prop('checked', $(this).val() == value);\n }\n });\n } else {\n fields.val(value);\n }\n }\n }\n return true;\n }\n return false;\n }\n\n this.processResponse=function () {\n\n }\n\n this.clickSaveButton=function (event) {\n debug('Save clicked');\n\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\n event.preventDefault();\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\n console.log('validaton false');\n event.stopPropagation();\n return;\n } else {\n console.log('validaton ok');\n //do your ajax submition here\n }\n\n let ajaxData=root.formDataToDataObjectAPICall('.productForm');\n let ajaxUrl=Opts.URL.store;\n let ajaxMethod=\"POST\";\n if(root.Product.id){\n ajaxUrl=Opts.URL.update.replace('%id%',root.Product.id);\n //ajaxMethod=\"PUT\";\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\n ajaxData.append('_method','PUT');\n }\n\n debug(ajaxMethod);\n debug(ajaxData);\n\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n type:ajaxMethod,\n contentType:false,\n processData: false,\n headers: {\n //'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\n 'X-CSRF-TOKEN': Opts.token\n },\n\n success:function (data){\n debug(data);\n if(data.success==true){\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n Opts.dataTable.orderDirective=[0, 'desc'];\n Toast.create({ title: \"Sikeres rögzítés!\", message: ajaxData.get('name')+\" nevű termék elmentve\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n// APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\n }\n }\n });\n }\n\n}\n\n","if(typeof DataModelProfitCenter==='undefined'){\r\n class DataModelProfitCenter extends DataModel{\r\n\r\n /*\r\n * Constructor\r\n */\r\n constructor (data,options) {\r\n super(data,options)\r\n if(typeof this.contact ===\"undefined\"){\r\n this.contact=[];\r\n }\r\n if(typeof this.address ===\"undefined\"){\r\n this.address=[];\r\n }\r\n console.log(this.constructor.name+' constructor called');\r\n };\r\n };\r\n window.DataModelProfitCenter=DataModelProfitCenter;\r\n}\r\n\r\nwindow.ProfitCenterAdmin=function (options,ProfitCenterItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token: null,\r\n containerCssSelector: '.containerProfitCenter',\r\n testMode: false,\r\n URL: {\r\n getDataTableContent: '',\r\n index: '',\r\n show: '',\r\n edit: '',\r\n create: '',\r\n store: '',\r\n update: '',\r\n destroy: '',\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc']\r\n },\r\n onAfterInitViewDetails: function () {\r\n }\r\n };\r\n let ProfitCenter = {};\r\n let root = this;\r\n let contactPopupWorkflow = 'new';\r\n let addressPopupWorkflow = 'new';\r\n let CSSSelectorForm='';\r\n let dataTableCSSSelector='';\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options, ProfitCenterItem) {\r\n console.log('ProfitCenterAdmin constructor called');\r\n $.extend(Opts, options);\r\n if (!ProfitCenterItem) {\r\n console.log('ProfitCentert letre kellet hozni ');\r\n if (!APP.ProfitCenter) {\r\n APP.ProfitCenter = new window.DataModelProfitCenter();\r\n }\r\n root.ProfitCenter = APP.ProfitCenter;\r\n }\r\n CSSSelectorForm=Opts.containerCssSelector+' .profitCenterForm';\r\n };\r\n this.getOpts = function () {\r\n return Opts;\r\n }\r\n this.getData=function (){\r\n return root.ProfitCenter;\r\n }\r\n\r\n this.init=function (options,ProfitCenterItem){\r\n $.extend(Opts, options);\r\n\r\n if(Opts.testMode){\r\n return root.testMode();\r\n }\r\n if(ProfitCenterItem){\r\n root.ProfitCenter=ProfitCenterItem\r\n }\r\n root.initViewList();\r\n }\r\n this.clickNew=function () {\r\n debug('clickNew');\r\n APP.loadMainContent(Opts.URL.create,root.clickNewCallBack);\r\n }\r\n\r\n this.clickNewCallBack=function () {\r\n debug('callbackNew');\r\n root.ProfitCenter=new window.DataModelProfitCenter();\r\n root.initViewDetails();\r\n }\r\n\r\n this.initViewDetails=function (options,SupplierItem){\r\n debug('**call initViewDetails ');\r\n /**\r\n * Contact Popup setup\r\n */\r\n if(!APP.ContactPopUp){\r\n console.log('nincs APP.ContactPopUp')\r\n APP.ContactPopUp = new window.ContactPopUp();\r\n }else{\r\n console.log('mar van APP.ContactPopUp')\r\n }\r\n APP.ContactPopUp.init({\r\n active:true,\r\n onAfterSave:root.contactAction\r\n });\r\n root.renderContact();\r\n $(CSSSelectorForm+' .buttonNewContact').bind('click',function (){\r\n APP.ProfitCenterAdmin.setContactPopupWorkflow('new');\r\n APP.ContactPopUp.clearData();\r\n APP.ContactPopUp.show();\r\n });\r\n /**\r\n * Address Popup setup\r\n */\r\n if(!APP.AddressPopUp){\r\n console.log('nincs APP.AddressPopUp')\r\n APP.AddressPopUp = new window.AddressPopUp();\r\n }else{\r\n console.log('mar van APP.AddressPopUp')\r\n }\r\n APP.AddressPopUp.init({\r\n active:true,\r\n onAfterSave:root.addressAction\r\n });\r\n root.renderAddress();\r\n $(CSSSelectorForm+' .buttonNewAddress').bind('click',function (){\r\n APP.ProfitCenterAdmin.setAddressPopupWorkflow('new');\r\n APP.AddressPopUp.clearData();\r\n APP.AddressPopUp.show();\r\n });\r\n /**\r\n *\r\n */\r\n\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n initRadioButtons({\r\n onChange: function (value,node) {\r\n debug(value);\r\n debug(node);\r\n /*\r\n\r\n if(node==='profitCenterMultiAddress'){\r\n if(value==1){\r\n $('.containerMultiAddress').removeClass('d-none');\r\n }else{\r\n $('.containerMultiAddress').addClass('d-none');\r\n }\r\n }\r\n\r\n */\r\n if(node==='addressEqual'){\r\n if(value==1){\r\n $(CSSSelectorForm+' .containerMultiAddress').addClass('d-none');\r\n $(CSSSelectorForm+' .containerMultiAddressSwitch').addClass('d-none');\r\n }else{\r\n $(CSSSelectorForm+' .containerMultiAddress').removeClass('d-none');\r\n $(CSSSelectorForm+' .containerMultiAddressSwitch').removeClass('d-none');\r\n }\r\n }\r\n\r\n }\r\n });\r\n $(CSSSelectorForm+\" :input\").inputmask({\r\n \"onincomplete\": function () {\r\n console.log($(this).data('required'));\r\n if ($(this).val().length > 0 || $(this).data('required') === true) {\r\n $(this).addClass('is-invalid');\r\n }\r\n },\r\n \"oncomplete\": function () {\r\n $(this).removeClass('is-invalid');\r\n $(this).addClass('is-valid');\r\n },\r\n \"oncleared\": function () {\r\n console.log('cleared');\r\n $(this).removeClass('is-invalid');\r\n }\r\n });\r\n\r\n $(CSSSelectorForm+' button.FormSaveButton').off('click');\r\n $(CSSSelectorForm+' button.FormSaveButton').on('click',root.clickSaveButton);\r\n/*\r\n $(\"input[name=logoFile]\").change(function(){\r\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\r\n });\r\n*/\r\n\r\n //Opts.onAfterInitViewDetails();\r\n debug('**end initViewDetails ');\r\n }\r\n this.setDetailsViewData=function () {\r\n debug('setDetailsViewData');\r\n let CSSSelectorForm=Opts.containerCssSelector+' .profitCenterForm';\r\n let needToSet=[\r\n 'name','hooreycaId','nameId',\r\n 'email','postCode','city','street','phone','mobil'\r\n ];\r\n $.each(needToSet,function () {\r\n // debug(this); //alapadatok beallitasanak logolasa\r\n if(typeof root.ProfitCenter[this]!='undefined'){\r\n/* //alapadatok beallitasanak logolasa\r\n debug(root.ProfitCenter[this]);\r\n debug(CSSSelectorForm+' input[name='+this+']');\r\n debug($(CSSSelectorForm+' input[name='+this+']'));\r\n*/\r\n $(CSSSelectorForm+' input[name='+this+']').val(root.ProfitCenter[this]);\r\n }\r\n })\r\n if(typeof root.ProfitCenter['note']!='undefined'){\r\n $(CSSSelectorForm+' textarea[name=note]').val(root.ProfitCenter.note);\r\n }\r\n $(CSSSelectorForm+' *[data-toggle=canSee][data-title='+root.ProfitCenter.canSee+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=hooreycaDataActive][data-title='+root.ProfitCenter.hooreycaDataActive+']').click();\r\n\r\n if(typeof root.ProfitCenter['logoFile']!='undefined' && (root.ProfitCenter['logoFile'])){\r\n $(CSSSelectorForm+' img.imageLogo').attr('src',root.ProfitCenter['logoFile']);\r\n }\r\n\r\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title='+root.ProfitCenter.addressEqual+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title='+root.ProfitCenter.multiAddress+']').click();\r\n /*debug(root.ProfitCenter.address.length);\r\n if(root.ProfitCenter.address.length>0){\r\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title=0]').click();\r\n if(root.ProfitCenter.address.length>1){\r\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title=1]').click();\r\n }\r\n }\r\n */\r\n let supplier=[];\r\n $.each(root.ProfitCenter.suppliers,function () {\r\n supplier.push(this.name);\r\n });\r\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\r\n $.each(supplier,function () {\r\n $('input[value=\"'+$.escapeSelector(this)+'\"]').prop( \"checked\", true );\r\n })\r\n\r\n }\r\n\r\n this.resetContactTable=function (){\r\n $(CSSSelectorForm+' .contactTable tbody tr').remove();\r\n root.renderContact();\r\n }\r\n this.renderContact=function (){\r\n let rowNum=1;\r\n console.log('renderingContacts');\r\n $.each(root.ProfitCenter.getData('contact'),function (){\r\n let contactData=this;\r\n contactData.rowNum=rowNum;\r\n let template=$('template[data-name=\"profitCenterContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindContactClickAction();\r\n }\r\n\r\n this.bindContactClickAction =function (){\r\n $('.contactTable .buttonDelete').unbind('click');\r\n $('.contactTable .buttonDelete').bind('click',root.contactDeleteClick);\r\n $('.contactTable .buttonEdit').unbind('click');\r\n $('.contactTable .buttonEdit').bind('click',root.contactEditClick);\r\n\r\n }\r\n this.contactDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n console.log(id);\r\n root.ProfitCenter.contact=root.ProfitCenter.contact.filter(\r\n function (value,index,arr){\r\n if (value.id!==id*1){\r\n return true;\r\n }\r\n return false;\r\n }\r\n );\r\n console.log(root.ProfitCenter.contact);\r\n row.remove();\r\n root.resetContactTable();\r\n }\r\n this.getContactPopupWorkflow = function () {\r\n return contactPopupWorkflow;\r\n }\r\n this.setContactPopupWorkflow = function (status) {\r\n contactPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.contactEditClick=function (event){\r\n console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n console.log(id);\r\n root.setContactPopupWorkflow('edit');\r\n APP.ContactPopUp.loadData(id);\r\n }\r\n this.contactAction=function (contactData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getContactPopupWorkflow()=='new'){\r\n root.addContact(contactData);\r\n }else if(root.getContactPopupWorkflow()=='edit'){\r\n root.editContact(contactData.id,contactData);\r\n }\r\n }\r\n this.addContact=function (contactData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.ProfitCenter.contact.push(contactData);\r\n contactData.rowNum=root.ProfitCenter.contact.length;\r\n let template=$('template[data-name=\"profitCenterContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $(CSSSelectorForm+' .contactTable tbody').append(render);\r\n root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create({ title: \"Kapcsolat tartó hozzáadva!\", message: contactData.name+\" nevű kapocsolattartó hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n }\r\n this.editContact=function (id,contactData){\r\n\r\n let newContacts=[];\r\n $.each(root.ProfitCenter.getData('contact'),function (index){\r\n if(this.id==id){\r\n newContacts.push(contactData);\r\n }else{\r\n newContacts.push(this);\r\n }\r\n });\r\n root.ProfitCenter.contact=newContacts;\r\n root.resetContactTable();\r\n Toast.create({ title: \"Kapcsolat adatai módosítva!\", message: contactData.name+\" nevű kapocsolattartó módosítva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n }\r\n\r\n\r\n /***************\r\n *\r\n * Address function\r\n *\r\n */\r\n this.resetAddressTable=function (){\r\n $(CSSSelectorForm+' .addressTable tbody tr').remove();\r\n root.renderAddress();\r\n }\r\n this.renderAddress=function (){\r\n let rowNum=1;\r\n console.log('renderingAddress');\r\n $.each(root.ProfitCenter.getData('address'),function (){\r\n let itemData=this;\r\n itemData.rowNum=rowNum;\r\n let template=$('template[data-name=\"profitCenterAddressTableRow\"]').html()\r\n debug(itemData);\r\n let render=Mustache.render(template,itemData);\r\n $('.addressTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindAddressClickAction();\r\n }\r\n\r\n this.bindAddressClickAction =function (){\r\n $('.addressTable .buttonDelete').unbind('click');\r\n $('.addressTable .buttonDelete').bind('click',root.addressDeleteClick);\r\n $('.addressTable .buttonEdit').unbind('click');\r\n $('.addressTable .buttonEdit').bind('click',root.addressEditClick);\r\n\r\n }\r\n this.addressDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=\"addressId[]\"]').val();\r\n console.log(id);\r\n root.ProfitCenter.address=root.ProfitCenter.address.filter(\r\n function (value,index,arr){\r\n if (value.id!=id) return true;\r\n }\r\n );\r\n console.log(root.ProfitCenter.address);\r\n row.remove();\r\n root.resetAddressTable();\r\n }\r\n this.getAddressPopupWorkflow = function () {\r\n return addressPopupWorkflow;\r\n }\r\n this.setAddressPopupWorkflow = function (status) {\r\n addressPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.addressEditClick=function (event){\r\n console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=\"addressId[]\"]').val();\r\n console.log(id);\r\n root.setAddressPopupWorkflow('edit');\r\n APP.AddressPopUp.loadData(id);\r\n }\r\n this.addressAction=function (itemData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getAddressPopupWorkflow()=='new'){\r\n root.addAddress(itemData);\r\n }else if(root.getAddressPopupWorkflow()=='edit'){\r\n root.editAddress(itemData.id,itemData);\r\n }\r\n }\r\n this.addAddress=function (ItemData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.ProfitCenter.address.push(ItemData);\r\n ItemData.rowNum=root.ProfitCenter.address.length;\r\n let template=$('template[data-name=\"profitCenterAddressTableRow\"]').html()\r\n let render=Mustache.render(template,ItemData);\r\n $(CSSSelectorForm+' .addressTable tbody').append(render);\r\n root.bindAddressClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create({ title: \"Cím hozzáadva!\", message: ItemData.street+\" hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n }\r\n this.editAddress=function (id,itemData){\r\n\r\n let newItem=[];\r\n $.each(root.ProfitCenter.getData('address'),function (index){\r\n if(this.id==id){\r\n newItem.push(itemData);\r\n }else{\r\n newItem.push(this);\r\n }\r\n });\r\n root.ProfitCenter.address=newItem;\r\n root.resetAddressTable();\r\n Toast.create({ title: \"cím adatai módosítva!\", message: itemData.street+\" módosítva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n }\r\n\r\n this.initViewList = function (options={}) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNew,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n { \"data\": \"nameId\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n //\"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n this.datatableRowActionButtonClick=function (event){\r\n debug('datatableRowActionButtonClick');\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\r\n if (typeof root[actionName] === \"function\") {\r\n return root[actionName](rowData,node)\r\n }\r\n }\r\n this.datatableRowActionEdit=function (rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\r\n /*\r\n console.log(Opts.URL);\r\n console.log(ajaxUrl);\r\n */\r\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n this.datatableRowActionDelete=function (rowData,node) {\r\n console.log('datatableRowActionDelete Called');\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let ajaxData={};\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',rowData.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n this.clickSaveButton=function (event) {\r\n debug('Save clicked');\r\n event.preventDefault();\r\n debug(CSSSelectorForm);\r\n debug($(CSSSelectorForm));\r\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\r\n console.log('validaton false');\r\n $(CSSSelectorForm).addClass('was-validated');\r\n $(CSSSelectorForm)[0].reportValidity();\r\n Toast.create({ title: \"Validációs hiba!\", message: \"Kérjük, töltse ki a kötelező mezőket!\", status: TOAST_STATUS.DANGER, timeout: 5000 });\r\n event.stopPropagation();\r\n return;\r\n } else {\r\n console.log('validaton ok');\r\n $(CSSSelectorForm).removeClass('was-validated');\r\n //do your ajax submition here\r\n }\r\n let ajaxData=root.formDataToDataObjectAPICall(CSSSelectorForm);\r\n\r\n let ajaxUrl=Opts.URL.store;\r\n let ajaxMethod=\"POST\";\r\n if(root.ProfitCenter.id){\r\n ajaxUrl=Opts.URL.update.replace('%id%',root.ProfitCenter.id);\r\n //ajaxMethod=\"PUT\";\r\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n ajaxData.append('_method','PUT');\r\n }\r\n/*\r\n debug(ajaxUrl);\r\n debug(ajaxMethod);\r\n debug(ajaxData.entries());\r\n for (var pair of ajaxData.entries()) {\r\n console.log(pair[0]+ ', ' + pair[1]);\r\n }\r\n*/\r\n\r\n console.table(Object.fromEntries(ajaxData));\r\n\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:ajaxMethod,\r\n contentType:false,\r\n processData: false,\r\n headers: {\r\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\r\n },\r\n\r\n success:function (data){\r\n debug(data);\r\n if(data.success==true){\r\n\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n Opts.dataTable.orderDirective=[0, 'desc'];\r\n Toast.create({ title: \"Sikeres rögzítés!\", message: ajaxData.get('name')+\" nevű profitcenter elmentve\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\r\n let ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n/*\r\n $.each(ajaxData.getAll('productGroup'),function(key,value){\r\n ajaxData.append('productGroup[]',value);\r\n })\r\n*/\r\n $.each(ajaxData.getAll('contactId'),function(key,value){\r\n ajaxData.append('contactId[]',value);\r\n })\r\n\r\n ajaxData.append('_token',$('input[name=_token]').val());\r\n\r\n $(CSSSelectorForm+' input[data-inputmask]').each(function (){\r\n let indexKey=$(this).attr('name');\r\n if(ajaxData.get(indexKey)){\r\n ajaxData.set(indexKey,ajaxData.get(indexKey).replace(/[_ ]+$/g,\"\"));\r\n }\r\n });\r\n $.each(ajaxData.getAll('supplier'),function(key,value){\r\n ajaxData.append('supplier[]',value);\r\n })\r\n return ajaxData;\r\n }\r\n this.construct(options, ProfitCenterItem);\r\n\r\n}\r\n","if(typeof Supplier==='undefined'){\n class Supplier extends DataModel{\n\n /*\n * Constructor\n */\n constructor (data,options) {\n super(data,options)\n if(typeof this.contact ===\"undefined\"){\n this.contact=[];\n }\n if(typeof this.canSee ===\"undefined\"){\n this.canSee=1;\n }\n if(typeof this.canSeeInOrder ===\"undefined\"){\n this.canSeeInOrder=1;\n }\n if(typeof this.hasDeliveryConstraint ===\"undefined\"){\n this.hasDeliveryConstraint=0;\n }\n if(typeof this.orderCutOffTime ===\"undefined\"){\n this.orderCutOffTime=12;\n }\n if(typeof this.deliveryLeadTime ===\"undefined\"){\n this.deliveryLeadTime=48;\n }\n console.log('Supplier constructor called');\n };\n };\n window.Supplier=Supplier;\n}\n\n\nwindow.SupplierAdmin=function (options,SupplierItem) {\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n token:null,\n containerCssSelector: '.containerSupplier',\n testMode:false,\n URL:{\n getDataTableContent:'',\n index:'',\n show:'',\n edit:'',\n create:'',\n store:'',\n update:'',\n destroy:'',\n attachFile:'',\n detachFile:'',\n createUser:'',\n },\n dataTable:{\n orderDirective:[1, 'asc']\n },\n onAfterInitViewDetails:function (){}\n };\n let Supplier = {};\n let root = this;\n let contactPopupWorkflow='new';\n /*\n * Constructor\n */\n this.construct = function (options,SupplierItem) {\n console.log('SupplierAdmin constructor called');\n $.extend(Opts, options);\n if(!SupplierItem){\n console.log('supplier letre kellet hozni ');\n if(!APP.Supplier){\n APP.Supplier=new window.Supplier();\n }\n root.Supplier=APP.Supplier;\n }\n };\n this.getOpts=function (){\n return Opts;\n }\n\n this.formDataToDataObjectAPICallOld= function (CSSSelector) {\n let data = new FormData(document.querySelector(CSSSelector));\n //let formJSON = Object.fromEntries(data.entries());\n var formJSON = {};\n data.forEach((value, key) => {\n // Reflect.has in favor of: formJSON.hasOwnProperty(key)\n if(!Reflect.has(formJSON, key)){\n formJSON[key] = value;\n return;\n }\n if(!Array.isArray(formJSON[key])){\n formJSON[key] = [formJSON[key]];\n }\n formJSON[key].push(value);\n });\n\n $(CSSSelector+' input[data-inputmask]').each(function (){\n if(formJSON[$(this).attr('name')]){\n formJSON[$(this).attr('name')]=formJSON[$(this).attr('name')].replace(/[_ ]+$/g,\"\");\n }\n });\n //formJSON.productGroups=$(\".productCategorySelect\").select2().val();\n\n\n /*Multiselect or checkbox to array:\n ajaxData['productGroup']=$(\".productCategorySelect\").select2().val();\n\n formJSON.multiselectName = data.getAll('multiselectName');\n $.each(formJSON, function (item, value) {\n formJSON[$.lcFirst(item.replace('contact', ''))] = value;\n delete formJSON[item];\n });\n if(formJSON.phone){\n formJSON.phone=formJSON.phone.replaceAll('_','');\n }\n if(formJSON.email){\n formJSON.email=formJSON.email.replaceAll('_','');\n }\n */\n return formJSON;\n }\n\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\n let ajaxData=new FormData($(CSSSelectorForm)[0]);\n $.each(ajaxData.getAll('profitCenter'),function(key,value){\n ajaxData.append('profitCenter[]',value);\n })\n $.each(ajaxData.getAll('productGroup'),function(key,value){\n ajaxData.append('productGroup[]',value);\n })\n $.each(ajaxData.getAll('supplierService'),function(key,value){\n ajaxData.append('supplierService[]',value);\n })\n $.each(ajaxData.getAll('contactId'),function(key,value){\n ajaxData.append('contactId[]',value);\n })\n\n ajaxData.append('_token',$('input[name=_token]').val());\n\n $(CSSSelectorForm+' input[data-inputmask]').each(function (){\n let indexKey=$(this).attr('name');\n if(ajaxData.get(indexKey)){\n ajaxData.set(indexKey,ajaxData.get(indexKey).replace(/[_ ]+$/g,\"\"));\n }\n });\n\n return ajaxData;\n }\n\n this.clickSaveButton=function (event) {\n debug('Save clicked');\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\n event.preventDefault();\n if ($(CSSSelectorForm+' input[name=\"canSeeInOrder\"]').val()==1 && $(CSSSelectorForm)[0].checkValidity() === false) {\n console.log('validaton false');\n $(CSSSelectorForm).addClass('was-validated');\n $(CSSSelectorForm)[0].reportValidity();\n Toast.create({ title: \"Validációs hiba!\", message: \"Kérjük, töltse ki a kötelező mezőket!\", status: TOAST_STATUS.DANGER, timeout: 5000 });\n event.stopPropagation();\n return;\n } else {\n console.log('validaton ok');\n $(CSSSelectorForm).removeClass('was-validated');\n //do your ajax submition here\n }\n let ajaxData=root.formDataToDataObjectAPICall(CSSSelectorForm);\n\n\n\n let ajaxUrl=Opts.URL.store;\n let ajaxMethod=\"POST\";\n if(root.Supplier.id){\n ajaxUrl=Opts.URL.update.replace('%id%',root.Supplier.id);\n //ajaxMethod=\"PUT\";\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\n ajaxData.append('_method','PUT');\n }\n\n debug(ajaxMethod);\n debug(ajaxData);\n\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n type:ajaxMethod,\n contentType:false,\n processData: false,\n headers: {\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\n },\n\n success:function (data){\n debug('d1: Save success ');\n debug(data);\n if(data.success==true){\n\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n Opts.dataTable.orderDirective=[0, 'desc'];\n Toast.create({ title: \"Sikeres rögzítés!\", message: ajaxData.get('name')+\" nevű beszálllító elmentve\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\n }\n }\n });\n }\n this.setDetailsViewData=function () {\n debug('setDetailsViewData');\n console.log(Supplier);\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\n let needToSet=[\n 'name','hooreycaId','nameId',\n 'orderEmail','orderEmail2','address','mailingAddress','phone','fax','customerServicePhone',\n 'name22',\n 'openHours', 'ordersDeadline', 'minOrderValue',\n ];\n $.each(needToSet,function () {\n if(typeof root.Supplier[this]!='undefined'){\n $(CSSSelectorForm+' input[name='+this+']').val(root.Supplier[this]);\n $(CSSSelectorForm+' textarea[name='+this+']').val(root.Supplier[this]);\n }\n })\n if(typeof root.Supplier['note']!='undefined'){\n $(CSSSelectorForm+' textarea[name=note]').val(root.Supplier.note);\n }\n if(typeof root.Supplier['emailAttachmentType']!='undefined'){\n $(CSSSelectorForm+' input[name=emailAttachmentType][value='+root.Supplier['emailAttachmentType']+']').prop('checked',true);\n }\n $(CSSSelectorForm+' *[data-toggle=canSee][data-title='+root.Supplier.canSee+']').click();\n $(CSSSelectorForm+' *[data-toggle=canSeeInOrder][data-title='+root.Supplier.canSeeInOrder+']').click();\n $(CSSSelectorForm+' *[data-toggle=hooreycaDataActive][data-title='+root.Supplier.hooreycaDataActive+']').click();\n $(CSSSelectorForm+' *[data-toggle=hasDeliveryConstraint][data-title='+root.Supplier.hasDeliveryConstraint+']').click();\n $(CSSSelectorForm+' input[name=orderCutOffTime]').val(root.Supplier.orderCutOffTime);\n $(CSSSelectorForm+' select[name=deliveryLeadTime]').val(root.Supplier.deliveryLeadTime);\n let productGroup=[];\n $.each(root.Supplier.product_group,function () {\n productGroup.push(this.name);\n });\n $(CSSSelectorForm+' .productCategorySelect').val(productGroup).change();\n\n let service=[];\n $.each(root.Supplier.service,function () {\n service.push(this.name);\n });\n $(CSSSelectorForm+' .serviceSelect').val(service).change();\n\n let profitCenter=[];\n $.each(root.Supplier.profit_center,function () {\n profitCenter.push(this.name);\n });\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\n //debug(profitCenter);\n $.each(profitCenter,function () {\n $('input[value=\"'+$.escapeSelector(this)+'\"]').prop( \"checked\", true );\n })\n\n if(typeof root.Supplier['logoFile']!='undefined' && (root.Supplier['logoFile'])){\n $(CSSSelectorForm+' img.imageLogo').attr('src',root.Supplier['logoFile']);\n }\n if(typeof root.Supplier.users !== 'undefined'){\n root.resetUserTable();\n }\n\n //debug(APP.SupplierAdmin.formDataToDataObjectAPICall('.supplierForm')['productGroup']);\n //$('[name=productGroup]').val(['Büféáru_édesipari_termékek','Tojás']).change();\n //root.setDetailsViewData();\n }\n this.initViewDetails=function (options,SupplierItem){\n debug('**call initViewDetails ');\n if(!APP.ContactPopUp){\n console.log('nincs APP.ContactPopUp')\n APP.ContactPopUp = new window.ContactPopUp();\n }else{\n console.log('mar van APP.ContactPopUp')\n }\n APP.ContactPopUp.init({\n active:true,\n onAfterSave:root.contactAction\n });\n root.renderContact();\n $('.supplierForm .buttonNewContact').bind('click',function (){\n APP.SupplierAdmin.setContactPopupWorkflow('new');\n APP.ContactPopUp.clearData();\n APP.ContactPopUp.show();\n });\n $('[data-toggle=\"tooltip\"]').tooltip();\n initRadioButtons();\n $(\":input\").inputmask({\n \"onincomplete\": function () {\n console.log($(this).data('required'));\n if ($(this).val().length > 0 || $(this).data('required') === true) {\n $(this).addClass('is-invalid');\n }\n },\n \"oncomplete\": function () {\n $(this).removeClass('is-invalid');\n $(this).addClass('is-valid');\n },\n \"oncleared\": function () {\n console.log('cleared');\n $(this).removeClass('is-invalid');\n }\n });\n\n $('form.supplierForm button.FormSaveButton').off('click');\n $('form.supplierForm button.FormSaveButton').on('click',root.clickSaveButton);\n root.setDetailsViewData();\n root.initUserCreate();\n $(\".productCategorySelect\").select2();\n $(\".serviceSelect\").select2({\n tags: true,\n createTag: function (params) {\n let term = $.trim(params.term);\n\n if (term === '') {\n return null;\n }\n\n return {\n id: term,\n text: term,\n newTag: true // add additional parameters\n }\n }\n });\n\n //$(\".profitCenterSelect\").select2();\n $(\"input[name=logoFile]\").change(function(){\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\n });\n\n $('form.supplierForm .profitCenterSelectCheckboxAll').off('click');\n $('form.supplierForm .profitCenterSelectCheckboxAll').on('click',function () {\n //console.log();\n //let checked=$(this).is(\":checked\")\n $('form.supplierForm input.profitCenterSelectCheckbox').prop('checked',$(this).is(\":checked\"));\n });\n root.renderAttachment();\n //Opts.onAfterInitViewDetails();\n root.initFileAttachmentFeature();\n\n root.initDeliveryConstraintToggle();\n\n debug('**end initViewDetails ');\n }\n\n this.initDeliveryConstraintToggle=function () {\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\n let toggleDeliveryFields=function () {\n let val=$(CSSSelectorForm+' input[name=\"hasDeliveryConstraint\"]').val();\n if(val==1){\n $(CSSSelectorForm+' .deliveryConstraintFields').show();\n }else{\n $(CSSSelectorForm+' .deliveryConstraintFields').hide();\n }\n };\n $(CSSSelectorForm+' a[data-toggle=\"hasDeliveryConstraint\"]').off('click.deliveryConstraint');\n $(CSSSelectorForm+' a[data-toggle=\"hasDeliveryConstraint\"]').on('click.deliveryConstraint',function (){\n setTimeout(toggleDeliveryFields,0);\n });\n toggleDeliveryFields();\n }\n\n this.selectedUploadFileToggle=function (fileInput){\n /*\n console.log(fileInput.attr('name'));\n console.log(fileInput[0].files[0]);\n console.log(fileInput[0].files[0].name);\n */\n if(fileInput){\n $('.containerFileUpload').addClass('d-none');\n if(fileInput[0].files[0]){\n $('.containerUploadedFileName').text(fileInput[0].files[0].name);\n\n }\n $('.containerFileUploadStarted').removeClass('d-none');\n $('.containerUploadedSpinner').removeClass('d-none');\n }else{\n $('.containerUploadedFileName').text('');\n $('.custom-file-label.selected').text('');\n $('.containerFileUploadStarted').addClass('d-none');\n $('.uploadStatusRow').addClass('d-none');\n $('.containerFileUpload').removeClass('d-none');\n }\n }\n\n this.initFileAttachmentFeature=function () {\n console.log('-------initFileAttachmentFeature-----------');\n if(root.Supplier.id){\n $('.containerFileUpload').removeClass('d-none');\n $('.containerFileUploadNone').addClass('d-none');\n }\n\n\n $(Opts.containerCssSelector+' .buttonUpload').off('click');\n $(Opts.containerCssSelector+' .buttonUpload').on('click',function (){\n console.group('-------buttonUpload-----------');\n let fileInput=$('#inputGroupAttacheFile');\n if(fileInput[0].files.length<1){\n Toast.create({ title: \"Hiba!\", message: 'Vállaszon ki fájlt!', status: TOAST_STATUS.DANGER, timeout: 10000 });\n return;\n }\n console.log($(Opts.containerCssSelector).find('form.supplierForm')[0]);\n let data= new FormData($(Opts.containerCssSelector).find('form.supplierForm')[0]);\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\n\n root.selectedUploadFileToggle(fileInput);\n let ajaxUrl=Opts.URL.attachFile.replace('%id%',root.Supplier.id);\n\n console.groupEnd();\n $.ajax({\n url:ajaxUrl,\n data:data,\n type:'POST',\n contentType:false,\n processData: false,\n beforeSend: function() {\n\n },\n success: function(data) {\n console.log(data);\n if(data.success==true){\n root.addAttachment(data.data.attachment);\n root.selectedUploadFileToggle();\n }\n },\n error: function(data) {\n console.log(data.responseJSON);\n root.selectedUploadFileToggle();\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n })\n\n });\n\n }\n\n this.clickNew=function () {\n debug('clickNew');\n APP.loadMainContent(Opts.URL.create,root.clickNewCallBack);\n }\n\n this.clickNewCallBack=function () {\n debug('callbackNew');\n root.Supplier=new window.Supplier();\n root.initViewDetails();\n }\n this.datatableRowActionEdit=function (rowData,node) {\n console.log('datatableRowActionEdit Called');\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\n console.log('datatableRowActionEdit End');\n }\n\n this.clickOrderDeleteConfirmed=function (event){\n debug('clickSupplierDeleteConfirmed');\n debug(event);\n debug(event.data);\n $('#dialogModal').modal('hide');\n let ajaxData={};\n ajaxData._token=Opts.token;\n let ajaxUrl=Opts.URL.destroy.replace('%id%',event.data.id);\n ajaxData._token=$('input[name=_token]').val();\n console.log(ajaxUrl);\n console.log(ajaxData);\n let row=$(dataTableCSSSelector).DataTable().row(root.dadatatableRowActionCallerNode.parents('tr'));\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n method:\"DELETE\",\n success:function (data){\n if(data.success==true){\n row.remove().draw();\n root.dadatatableRowActionCallerNode=false;\n }\n }\n });\n\n }\n let datatableRowActionCallerNode=false;\n\n this.datatableRowActionDelete=function (rowData,node) {\n console.log('datatableRowActionDelete Called');\n root.dadatatableRowActionCallerNode=node;\n $('#dialogModal').on('show.bs.modal', function (event) {\n // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).\n // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.\n var modal = $(this);\n modal.find('.modal-title').text('Megerősítés ');\n modal.find('.modal-body').text('Biztosan törli a beszállítót?');\n modal.find('.buttonYes').off('click');\n modal.find('.buttonYes').on('click',{id:rowData.id},root.clickOrderDeleteConfirmed);\n });\n $('#dialogModal').modal('show');\n }\n\n this.datatableRowActionButtonClick=function (event){\n debug('datatableRowActionButtonClick');\n let node=$(event[0].currentTarget);\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n let rowData=row.data();\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\n if (typeof root[actionName] === \"function\") {\n return root[actionName](rowData,node)\n }\n }\n\n this.initViewList = function (options={}) {\n debug('listview inicialization');\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\n\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableActionButtonClickCallBack:root.clickNew,\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\n\n })\n let orderDirective=Opts.dataTable.orderDirective;\n if(typeof options['orderDirective']!='undefined'){\n orderDirective=options['orderDirective'];\n }\n $(dataTableCSSSelector).DataTable( {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": Opts.URL.getDataTableContent,\n \"columnDefs\": [\n {\n \"targets\": colNum-1,\n \"render\": function ( data, type, row ) {\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\n buttons+=APP.datatableAddRowEditButton(0,arguments);\n return buttons;\n },\n },\n {\n \"targets\": 1,\n \"render\": function ( data, type, row ) {\n return type === \"sort\" ? data.latinise() : data;\n },\n },\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons:{\n buttons: [\n 'excel','pdf',\n {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n },\n /**/\n\n {\n text: 'Új felvitele',\n className: 'btn btn-success newItem',\n attr:{\n /*\n data:{\n a:1,\n b:2\n\n }\n */\n 'data':'newItem'\n },\n init: function(api, node, config) {\n $(node).removeClass('ui-button')\n },\n action: function ( e, dt, node, config ) {\n APP.datatableActionButtonClickCallBack(arguments);\n /* console.log(e);\n console.log(dt);\n console.log(node);\n console.log(config);*/\n\n }\n }\n ]\n },\n \"columns\": [\n { \"data\": \"id\" },\n { \"data\": \"name\" },\n { \"data\": \"hooreycaId\" },\n { \"data\": \"nameId\" },\n { \"data\": \"created_at\" },\n null,\n ],\n \"order\": orderDirective,\n \"stateSave\": true,\n \"drawCallback\": function( settings ) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n } );\n debug('listview end');\n }\n\n this.autofillDetails=function (){\n debug('nyeresre allunk');\n let randomNumber=getRandomInt(9999);\n $('input[name=name]').val('Beszalító'+randomNumber);\n $('input[name=hooreycaId]').val('hb'+randomNumber);\n $('input[name=nameId]').val('be'+randomNumber);\n $('input[name=orderEmail]').val('kapcsolat'+randomNumber+'@beszallito.hu');\n $('input[name=orderEmail2]').val('informacio'+randomNumber+'@beszallito.hu');\n $('input[name=address]').val('8989 Supplier utca '+randomNumber);\n $('input[name=mailingAddress]').val('8989 Postai út'+randomNumber);\n $('input[name=phone]').val('+36301234567');\n $('input[name=fax]').val('36308889999');\n $('input[name=customerServicePhone]').val('+36761234444');\n $('textarea[name=note]').val('Megjegyzem '+randomNumber);\n\n }\n this.testMode=function () {\n console.debug('!!!!testmode !!!!');\n root.Supplier = new window.Supplier({\n 'contact':[\n {\n id:2,\n },\n {\n id:3,\n },\n /*\n {\n id:3,\n name:'Kósa Veronika',\n email:'szamlazas4@funkcio.hu',\n phone:'{{formatterPhoneNumber(\"+36204589180\")}}'\n }\n*/\n\n ]\n });\n Opts.onAfterInitViewDetails=root.autofillDetails;\n APP.loadMainContent(Opts.URL.create,root.initViewDetails);\n }\n this.init=function (options,SupplierItem){\n $.extend(Opts, options);\n\n if(Opts.testMode){\n return root.testMode();\n }\n if(SupplierItem){\n root.Supplier=SupplierItem\n }\n root.initViewList();\n }\n\n this.renderAttachment=function (){\n let rowNum=1;\n console.log('renderingAttachment');\n $.each(root.Supplier.getData('attachment'),function (){\n let attachmentData=this;\n attachmentData.rowNum=rowNum;\n date=new Date(attachmentData.created_at);\n attachmentData.date=date.toLocaleString();\n attachmentData.link=attachmentData.PublicUrl+'/'+attachmentData.filename;\n let template=$('template[data-name=\"supplierAttachmentTableRow\"]').html()\n let render=Mustache.render(template,attachmentData);\n $('.attachmentTable tbody').append(render);\n rowNum++;\n });\n root.bindAttachmentClickAction();\n }\n\n this.addAttachment=function (attachmentData){\n console.log(attachmentData);\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\n root.Supplier.attachment.push(attachmentData);\n attachmentData.rowNum=root.Supplier.attachment.length;\n let template=$('template[data-name=\"supplierAttachmentTableRow\"]').html()\n let render=Mustache.render(template,attachmentData);\n $(CSSSelectorForm+' .attachmentTable tbody').append(render);\n root.bindContactClickAction();\n Toast.enableTimers(false);\n Toast.create({ title: \"Fájl hozzáadva!\", message: attachmentData.original_filename+\" fájl hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n }\n\n\n this.resetContactTable=function (){\n $('.contactTable tbody tr').remove();\n root.renderContact();\n }\n this.renderContact=function (){\n let rowNum=1;\n console.log('renderingContacts');\n $.each(root.Supplier.getData('contact'),function (){\n let contactData=this;\n contactData.rowNum=rowNum;\n //console.log(contactData);\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\n let render=Mustache.render(template,contactData);\n $('.contactTable tbody').append(render);\n rowNum++;\n });\n root.bindContactClickAction();\n }\n\n this.bindContactClickAction =function (){\n let node=$('.contactTable .buttonDelete');\n node.unbind('click');\n node.bind('click',root.contactDeleteClick);\n\n node=$('.contactTable .buttonEdit');\n node.unbind('click');\n node.bind('click',root.contactEditClick);\n\n }\n\n this.bindAttachmentClickAction=function (){\n let node=$('.attachmentTable .buttonDelete');\n node.unbind('click');\n node.bind('click',root.attachmentDeleteClick);\n }\n let currentAttachmentRow=false;\n this.attachmentDeleteClick=function (event){\n let row=$(this).closest('tr');\n let id=row.find('input[name=attachmentId]').val();\n let ajaxUrl=Opts.URL.detachFile.replace('%id%',root.Supplier.id);\n //let data= new FormData($(Opts.containerCssSelector).find('form.supplierForm')[0]);\n //data.append(fileInput.attr('name'),fileInput[0].files[0]);\n let data={};\n data._token=$('input[name=\"_token\"]').val();\n data.attachemntId=id;\n $.ajax({\n url:ajaxUrl,\n data:data,\n type:'POST',\n //contentType:false,\n //processData: false,\n beforeSend: function() {\n\n },\n success: function(data) {\n console.log(data);\n if(data.success==true){\n root.Supplier.attachment=root.Supplier.attachment.filter(\n function (value,index,arr){\n if (value.id!==data.data. attachment.id*1){\n return true;\n }\n return false;\n }\n );\n /*\n */\n //row.remove();\n root.resetAttachmentTable();\n }\n },\n error: function(data) {\n console.log(data.responseJSON);\n root.selectedUploadFileToggle();\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n })\n\n }\n\n\n this.resetAttachmentTable=function (){\n $('.attachmentTable tbody tr').remove();\n root.renderAttachment();\n }\n\n this.contactDeleteClick=function (event){\n let row=$(this).closest('tr');\n let id=row.find('input[name=contactId]').val();\n root.Supplier.contact=root.Supplier.contact.filter(\n function (value,index,arr){\n if (value.id!==id*1){\n return true;\n }\n return false;\n }\n );\n row.remove();\n root.resetContactTable();\n }\n root.getContactPopupWorkflow = function () {\n return contactPopupWorkflow;\n }\n root.setContactPopupWorkflow = function (status) {\n contactPopupWorkflow=status;\n }\n\n\n this.contactEditClick=function (event){\n //console.log(this);\n let row=$(this).closest('tr');\n let id=row.find('input[name=contactId]').val();\n root.setContactPopupWorkflow('edit');\n APP.ContactPopUp.loadData(id);\n }\n\n this.getSupplier=function (){\n return root.Supplier;\n }\n this.contactAction=function (contactData){\n console.log('nah most kellene meg valamit csinalni.')\n if(root.getContactPopupWorkflow()=='new'){\n root.addContact(contactData);\n }else if(root.getContactPopupWorkflow()=='edit'){\n root.editContact(contactData.id,contactData);\n }\n }\n\n this.editContact=function (id,contactData){\n\n let newContacts=[];\n $.each(root.Supplier.getData('contact'),function (index){\n if(this.id==id){\n newContacts.push(contactData);\n }else{\n newContacts.push(this);\n }\n });\n root.Supplier.contact=newContacts;\n root.resetContactTable();\n Toast.create({ title: \"Kapcsolat adatai módosítva!\", message: contactData.name+\" nevű kapcsolattartó módosítva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n }\n this.addContact=function (contactData){\n /*\n fel kell venni a sorba\n */\n root.Supplier.contact.push(contactData);\n contactData.rowNum=root.Supplier.contact.length;\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\n let render=Mustache.render(template,contactData);\n $('.contactTable tbody').append(render);\n root.bindContactClickAction();\n Toast.enableTimers(false);\n Toast.create({ title: \"Kapcsolattartó hozzáadva!\", message: contactData.name+\" nevű kapcsolattartó hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n }\n\n\n this.resetUserTable=function (){\n $('.supplierUserTable tbody tr').remove();\n root.renderUsers();\n }\n this.renderUsers=function (){\n let rowNum=1;\n let users=root.Supplier.users||[];\n $.each(users,function (){\n let userData=$.extend({},this);\n userData.rowNum=rowNum;\n let template=$('template[data-name=\"supplierUserTableRow\"]').html();\n let render=Mustache.render(template,userData);\n $('.supplierUserTable tbody').append(render);\n rowNum++;\n });\n root.bindUserClickAction();\n }\n this.bindUserClickAction=function (){\n let node=$('.supplierUserTable .buttonDelete');\n node.unbind('click');\n node.bind('click',root.userDeleteClick);\n }\n this.userDeleteClick=function (){\n let row=$(this).closest('tr');\n let id=row.find('input[name=userId]').val()*1;\n root.Supplier.users=root.Supplier.users.filter(function (value){\n return value.id!==id;\n });\n row.remove();\n root.resetUserTable();\n }\n this.addUser=function (userData){\n if(!root.Supplier.users){ root.Supplier.users=[]; }\n let alreadyAdded=root.Supplier.users.some(function(u){ return u.id===userData.id; });\n if(alreadyAdded){ return; }\n root.Supplier.users.push(userData);\n userData.rowNum=root.Supplier.users.length;\n let template=$('template[data-name=\"supplierUserTableRow\"]').html();\n let render=Mustache.render(template,userData);\n $('.supplierUserTable tbody').append(render);\n root.bindUserClickAction();\n Toast.enableTimers(false);\n Toast.create({ title: 'Felhasználó hozzáadva!', message: userData.name+' hozzárendelve', status: TOAST_STATUS.SUCCESS, timeout: 3000 });\n }\n this.initUserCreate=function (){\n let createUrl=Opts.URL.createUser||'';\n let container=$(Opts.containerCssSelector);\n function clearForm(){\n container.find('.supplierNewUserName').val('');\n container.find('.supplierNewUserEmail').val('');\n container.find('.supplierNewUserPassword').val('');\n container.find('.supplierNewUserError').hide().text('');\n }\n container.find('.buttonCreateUser').off('click').on('click',function(){\n let name=container.find('.supplierNewUserName').val().trim();\n let email=container.find('.supplierNewUserEmail').val().trim();\n let password=container.find('.supplierNewUserPassword').val();\n let errorEl=container.find('.supplierNewUserError');\n errorEl.hide().text('');\n if(!name||!email||!password){\n errorEl.text('Minden mező kitöltése kötelező!').show();\n return;\n }\n $.ajax({\n url:createUrl,\n type:'POST',\n data:{name:name, email:email, password:password},\n headers:{'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()},\n success:function(data){\n if(data.success){\n root.addUser(data.user);\n clearForm();\n }else{\n errorEl.text('Hiba történt a felhasználó létrehozásakor!').show();\n }\n },\n error:function(xhr){\n let msg='Hiba történt!';\n if(xhr.responseJSON&&xhr.responseJSON.errors){\n let errors=xhr.responseJSON.errors;\n let firstKey=Object.keys(errors)[0];\n msg=errors[firstKey][0];\n }\n errorEl.text(msg).show();\n }\n });\n });\n }\n this.construct(options,SupplierItem);\n};\n"],"names":["window","Dashboard","Opts","active","containerCssSelector","testFileMod","isAdmin","URL","create","store","getDataTableContent","destroy","root","this","construct","options","debug","$","extend","getOpts","init","console","log","initEditorButtons","off","on","initEditor","toggleClass","saveCustomContent","removeEditor","ajaxData","FormData","append","tinymce","activeEditor","getContent","ajaxUrl","update","replace","data","ajax","url","type","contentType","processData","beforeSend","success","Toast","title","message","status","TOAST_STATUS","INFO","timeout","error","responseJSON","ajaxErrorFieldHandler","loadTinymce","getScript","remove","selector","language","plugins","toolbar","PriceListAdmin","ProfitCenterItem","dataTableCSSSelector","errorRowPointer","errorRowCount","initErrorNavigationButton","length","removeClass","scrollTop","position","top","addClass","selectedUploadFileToggle","fileInput","files","text","name","empty","clickNewPriceListCallBack","initViewDetails","clickNewPriceList","APP","loadMainContent","datatableRowActionButtonClick","event","node","currentTarget","row","DataTable","parents","rowData","id","_token","val","method","draw","initViewList","colNum","setOpts","datatableActionButtonClickCallBack","datatableRowActionButtonClickCallBack","dataTablePriceList","render","datatableAddRowTrashButton","arguments","buttons","autoPrint","className","attr","api","config","action","e","dt","drawCallback","settings","datatableAddRowAction","datepicker","dateFormat","onSelect","dateText","replaceAll","DANGER","processCheckedPriceListResponse","hide","priceListHasError","responseData","processCheckedPriceListResponseRows","rows","show","responseRowsData","key","templateData","originalData","rowNum","template","html","Mustache","ucFirst","processResponseRowErrors","changed","processResponseRowChanged","changedArray","trNode","tdNode","find","changedTxtNode","document","createElement","old","errorArray","fields","errorTxtNode","PriceListProfitCenterAdmin","token","testMode","getProductGroupHTML","index","edit","dataTable","orderDirective","onAfterInitViewDetails","SupplierItem","changeParameter","supplier","deliveryDate","checkRefreshPossible","needRefresh","each","refreshDatatable","refreshProductGroup","setDatatableHeaderText","getTreePathName","res","items","toArray","item","shift","reverse","children","bindProductGroupItem","groupId","selectedProductGroup","reload","changePriceListProfitCenterParameter","obj","objName","get","nodeName","select2","CSSSelectorForm","click","maximumSelectionLength","minDate","Date","input","getDatatables","productSelectDataTableDrawDT","orderType","columns","OrderModule","productSelectDataTableColumn","stock_status","supplierId","productSelectDataTableColumnDefs","Product","_Product","_this","_classCallCheck","_callSuper","contact","_inherits","DataModel","_createClass","ProductAdmin","ProductItem","container","resultContainerSelector","resultContainer","filters","attachFile","detachFile","actionName","capitalize","datatableRowActionEdit","initViewListOld","undefined","serverSide","orderable","datatableAddRowEditButton","latinise","placeholder","allowClear","getProductSearch","dataType","params","term","page","cache","button","loadingResultContainer","requestProducts","setVisibleFilters","loadFiltersFromLocalStorage","hideResultContainer","showResultContainer","picture","picUrl","PublicUrl","filename","specification","addAttachment","FormSaveButton","clickSaveButton","attachmentData","dateStr","updated_at","toLocaleString","date","link","enableTimers","original_filename","SUCCESS","typeIndex","typeName","c","formDataToDataObjectAPICall","getAll","value","getAjaxDataJson","_step","_iterator","_createForOfIteratorHelper","entries","s","n","done","pair","err","f","object","forEach","Reflect","has","Array","isArray","push","JSON","stringify","ajaxDataJson","form","formData","filterData","localStorage","setItem","d","getItem","parse","_loop","is","trigger","prop","includes","processResponse","preventDefault","checkValidity","stopPropagation","ajaxMethod","headers","DataModelProfitCenter","_DataModelProfitCenter","address","constructor","ProfitCenterAdmin","contactPopupWorkflow","addressPopupWorkflow","ProfitCenter","getData","clickNew","clickNewCallBack","ContactPopUp","onAfterSave","contactAction","renderContact","bind","setContactPopupWorkflow","clearData","AddressPopUp","addressAction","renderAddress","setAddressPopupWorkflow","tooltip","initRadioButtons","onChange","inputmask","onincomplete","oncomplete","oncleared","setDetailsViewData","note","canSee","hooreycaDataActive","addressEqual","multiAddress","suppliers","escapeSelector","resetContactTable","bindContactClickAction","unbind","contactDeleteClick","contactEditClick","closest","filter","arr","getContactPopupWorkflow","loadData","contactData","addContact","editContact","newContacts","resetAddressTable","itemData","bindAddressClickAction","addressDeleteClick","addressEditClick","getAddressPopupWorkflow","addAddress","editAddress","ItemData","street","newItem","datatableRowActionDelete","reportValidity","table","Object","fromEntries","indexKey","set","Supplier","_Supplier","canSeeInOrder","hasDeliveryConstraint","orderCutOffTime","deliveryLeadTime","SupplierAdmin","createUser","formDataToDataObjectAPICallOld","CSSSelector","querySelector","formJSON","productGroup","product_group","change","service","profitCenter","profit_center","users","resetUserTable","initUserCreate","tags","createTag","trim","newTag","setImageFromLocal","renderAttachment","initFileAttachmentFeature","initDeliveryConstraintToggle","toggleDeliveryFields","setTimeout","group","groupEnd","attachment","clickOrderDeleteConfirmed","modal","dadatatableRowActionCallerNode","autofillDetails","randomNumber","getRandomInt","created_at","bindAttachmentClickAction","attachmentDeleteClick","attachemntId","resetAttachmentTable","getSupplier","renderUsers","userData","bindUserClickAction","userDeleteClick","addUser","some","u","createUrl","email","password","errorEl","user","clearForm","xhr","msg","errors","keys"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"/js/admin.js","mappings":"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","sources":["webpack:///./resources/js/admin/dashboard.js","webpack:///./resources/js/admin/priceList.js","webpack:///./resources/js/admin/priceListProfitCenter.js","webpack:///./resources/js/admin/product.js","webpack:///./resources/js/admin/profitCenter.js","webpack:///./resources/js/admin/supplier.js"],"sourcesContent":["window.Dashboard=function () {\r\n let Opts = {\r\n active: false,\r\n containerCssSelector:\".dashboard\",\r\n testFileMod:false,\r\n isAdmin:false,\r\n URL:{\r\n create:'',\r\n store:'',\r\n getDataTableContent:'',\r\n destroy:'',\r\n }\r\n };\r\n let root = this;\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options) {\r\n debug('Dashboard constructor called');\r\n $.extend(Opts, options);\r\n };\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n this.init = function (options) {\r\n console.log('Dashboard init called');\r\n $.extend(Opts, options);\r\n/*\r\n APP.setOpts({\r\n afterLoadMainContent:root.initEditor,\r\n })\r\n*/\r\n /*\r\n Init list view\r\n */\r\n root.initEditorButtons();\r\n }\r\n\r\n this.initEditorButtons=function (){\r\n $('.DashboardEditable button.edit').off('click');\r\n $('.DashboardEditable button.edit').on('click',function (){\r\n root.initEditor();\r\n $('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n });\r\n\r\n $('.DashboardEditable button.btnSave').off('click');\r\n $('.DashboardEditable button.btnSave').on('click',function (){\r\n /*$('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n */\r\n root.saveCustomContent();\r\n //tinymce.activeEditor.isDirty() //true when modified\r\n });\r\n\r\n\r\n\r\n $('.DashboardEditable button.btnCancel').off('click');\r\n $('.DashboardEditable button.btnCancel').on('click',function (){\r\n\r\n $('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n root.removeEditor();\r\n });\r\n\r\n }\r\n\r\n this.saveCustomContent=function (){\r\n let ajaxData= new FormData($('.dashboardForm')[0]);\r\n ajaxData.append('stored_data',tinymce.activeEditor.getContent());\r\n let ajaxUrl=Opts.URL.update.replace('%id%',$('div.dashboardCustomContent').data('id'));\r\n ajaxData.append('_method','PUT');\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n Toast.create({ title: \"Siekeres mentés!\", message: 'Új tartalom elmentve.', status: TOAST_STATUS.INFO, timeout: 5000 });\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n\r\n }\r\n\r\n this.loadTinymce= function (){\r\n $.getScript('https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js',function (){\r\n root.initEditor();\r\n });\r\n }\r\n this.removeEditor = function (options) {\r\n if(typeof tinymce!==\"undefined\"){\r\n tinymce.remove();\r\n }\r\n }\r\n this.initEditor = function (options) {\r\n\r\n if(typeof tinymce===\"undefined\"){\r\n root.loadTinymce();\r\n return;\r\n }\r\n\r\n tinymce.init({\r\n selector: 'div.dashboardCustomContent', // Replace this CSS selector to match the placeholder element for TinyMCE\r\n language: 'hu_HU',\r\n plugins: 'code table lists',\r\n toolbar: ' undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\r\n\r\n/*\r\n toolbar: 'customInsertButton | undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\r\n setup: function (editor) {\r\n editor.ui.registry.addButton('customInsertButton', {\r\n text: 'My Button',\r\n onAction: function (_) {\r\n editor.insertContent(' It\\'s my button! ');\r\n }});\r\n }\r\n*/\r\n\r\n });\r\n }\r\n};\r\n","window.PriceListAdmin=function (options,ProfitCenterItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n active: false,\r\n containerCssSelector:\".priceListForm\",\r\n testFileMod:false,\r\n URL:{\r\n create:'',\r\n store:'',\r\n getDataTableContent:'',\r\n destroy:'',\r\n }\r\n };\r\n let PriceList = {};\r\n let root = this;\r\n let dataTableCSSSelector=null;\r\n\r\n\r\n\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options) {\r\n debug('PriceListAdmin constructor called');\r\n $.extend(Opts, options);\r\n };\r\n\r\n let errorRowPointer=null;\r\n let errorRowCount=0;\r\n\r\n this.initErrorNavigationButton=function (){\r\n\r\n errorRowCount=$('.statusError').length;\r\n errorRowPointer=null;\r\n $('.priceListForm .buttonPrevError .buttonNextError').off('click')\r\n $('.priceListForm .buttonPrevError').on('click',function (){\r\n if(errorRowPointer==null){\r\n errorRowPointer=0;\r\n }else{\r\n if(errorRowPointer>0){\r\n errorRowPointer--;\r\n }else{return;}\r\n }\r\n $('.statusError').removeClass('highlightedErrorRow');\r\n $('.priceListTableWrapper').scrollTop($($('.statusError')[errorRowPointer]).position().top);\r\n $($('.statusError')[errorRowPointer]).addClass('highlightedErrorRow');\r\n });\r\n $('.priceListForm .buttonNextError').off('click');\r\n $('.priceListForm .buttonNextError').on('click',function (){\r\n if(errorRowPointer==null){\r\n errorRowPointer=0;\r\n }else{\r\n if(errorRowPointer tbody').empty();\r\n $('.containerFileUpload').removeClass('d-none');\r\n }\r\n }\r\n\r\n this.clickNewPriceListCallBack=function () {\r\n root.initViewDetails();\r\n }\r\n this.clickNewPriceList=function(){\r\n APP.loadMainContent(Opts.URL.create,root.clickNewPriceListCallBack);\r\n }\r\n this.datatableRowActionButtonClick=function(event){\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n //_token\r\n let ajaxData={};\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',rowData.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n }\r\n }\r\n });\r\n/*\r\n*/\r\n\r\n\r\n }\r\n\r\n this.initViewList = function (options) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNewPriceList,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n\r\n\r\n APP.dataTablePriceList=$(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n //buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n\r\n buttons: [\r\n //'createState', 'savedStates',\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"supplierName\" },\r\n { \"data\": \"available\" },\r\n { \"data\": \"created_at\" },\r\n { \"data\": \"note\" },\r\n null,\r\n ],\r\n \"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n\r\n\r\n }\r\n\r\n this.initViewDetails = function (options) {\r\n $(Opts.containerCssSelector+' .datePickerClick').off('click');\r\n $(Opts.containerCssSelector+' .datePickerClick').on('click',function(){\r\n $(Opts.containerCssSelector+' .datePicker').datepicker('show');\r\n });\r\n\r\n $(Opts.containerCssSelector+' .datePicker').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n onSelect:function (dateText){\r\n console.log(dateText);\r\n $('.selectedDateText').text(dateText.replaceAll('-','.'));\r\n\r\n $('input[name=\"availableDate\"]').val(dateText);\r\n\r\n },\r\n\r\n });\r\n\r\n $(Opts.containerCssSelector+' .buttonNewUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonNewUpload').on('click',function (){\r\n root.selectedUploadFileToggle();\r\n });\r\n $(Opts.containerCssSelector+' .buttonUpload').off('click');\r\n $(Opts.containerCssSelector+' .buttonUpload').on('click',function (){\r\n console.log('------------------');\r\n root.selectedUploadFileToggle();\r\n\r\n let data= new FormData($('.priceListForm')[0]);\r\n if($('.supplierSelect').val().length<1){\r\n Toast.create({ title: \"Hiba!\", message: 'Adjon meg beszállítót!', status: TOAST_STATUS.DANGER, timeout: 10000 });\r\n return;\r\n }\r\n let fileInput=$('#inputGroupPriceListFile');\r\n console.log(fileInput[0].files.length<1);\r\n\r\n /* teszteles miatt kikapcsolva a fajl ellenorzes\r\n */\r\n if(!Opts.testFileMod){\r\n console.log(fileInput[0].files.length<1);\r\n if(fileInput[0].files.length<1){\r\n Toast.create({ title: \"Hiba!\", message: 'Vállaszon ki fájlt!', status: TOAST_STATUS.DANGER, timeout: 10000 });\r\n return;\r\n }\r\n }\r\n\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n root.selectedUploadFileToggle(fileInput);\r\n\r\n $.ajax({\r\n url:Opts.URL.store,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success==true){\r\n root.processCheckedPriceListResponse(data);\r\n }\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n root.selectedUploadFileToggle();\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n });\r\n\r\n $(Opts.containerCssSelector+' .buttonFinalization').on('click',function (){\r\n let data= new FormData($('.priceListForm')[0]);\r\n let fileInput=$('#inputGroupPriceListFile');\r\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\r\n data.append('finalization',1);\r\n $.ajax({\r\n url:Opts.URL.store,\r\n data:data,\r\n type:'POST',\r\n contentType:false,\r\n processData: false,\r\n beforeSend: function() {\r\n\r\n },\r\n success: function(data) {\r\n console.log(data);\r\n if(data.success){\r\n $('.priceListTable tbody tr').remove();\r\n $('.uploadStatusRow >.canFinish').hide();\r\n $('.uploadStatusRow').addClass('d-none');\r\n $('.priceListTable tbody').append(' Árlistát elmentettük.');\r\n }\r\n /*\r\n if(data.success==1){\r\n root.processCheckedPriceListResponse(data);\r\n }\r\n */\r\n },\r\n error: function(data) {\r\n console.log(data.responseJSON);\r\n ajaxErrorFieldHandler(data.responseJSON.error);\r\n }\r\n })\r\n });\r\n\r\n }\r\n\r\n this.init = function (options) {\r\n console.log('PriceListAdmin init called');\r\n $.extend(Opts, options);\r\n console.log('Opt extended');\r\n console.log(Opts);\r\n /*\r\n Init list view\r\n */\r\n console.log('call list view Init');\r\n root.initViewList(options);\r\n\r\n\r\n }\r\n this.getOpts=function (){\r\n return Opts;\r\n }\r\n let priceListHasError=false;\r\n\r\n this.processCheckedPriceListResponse=function (responseData){\r\n priceListHasError=false;\r\n root.processCheckedPriceListResponseRows(responseData.rows);\r\n if(priceListHasError){\r\n $('.uploadStatusRow >.canFinish').hide();\r\n $('.uploadStatusRow >.canFinishError').show();\r\n root.initErrorNavigationButton();\r\n }else{\r\n $('.uploadStatusRow >.canFinish').show();\r\n $('.uploadStatusRow >.canFinishError').hide();\r\n }\r\n $('.uploadStatusRow').removeClass('d-none');\r\n $('.containerUploadedSpinner').addClass('d-none');\r\n }\r\n\r\n this.processCheckedPriceListResponseRows=function (responseRowsData){\r\n console.log('processingRows');\r\n for (let key in responseRowsData) {\r\n let rowData=responseRowsData[key];\r\n let templateData=rowData.originalData;\r\n templateData.rowNum=rowData.rowNum;\r\n let template=$('template[data-name=\"priceListTableRow\"]').html()\r\n let render=Mustache.render(template,templateData);\r\n $('.priceListTable tbody').append(render);\r\n $('tr[data-rownum='+rowData.rowNum+']').addClass('status'+$.ucFirst(rowData.status));\r\n root.processResponseRowErrors(rowData.error,rowData.rowNum);\r\n if(rowData.changed){\r\n root.processResponseRowChanged(rowData.changed,rowData.rowNum);\r\n }\r\n }\r\n }\r\n this.processResponseRowChanged=function (changedArray,rowNum){\r\n if(changedArray.length<1){\r\n return;\r\n }\r\n console.log(changedArray);\r\n //fields error resz\r\n let trNode=$('tr[data-rownum='+rowNum+']');\r\n for (let key in changedArray) {\r\n let tdNode=trNode.find('td[data-pointer=\"'+key+'\"]');\r\n tdNode.addClass('bg-primary');\r\n let changedTxtNode=$(document.createElement(\"span\")).text(changedArray[key].old).addClass('fieldChanged');\r\n tdNode.append(changedTxtNode);\r\n }\r\n\r\n }\r\n this.processResponseRowErrors=function (errorArray,rowNum){\r\n if(errorArray.length<1){\r\n return;\r\n }\r\n //general error resz\r\n console.log(errorArray);\r\n priceListHasError = true;\r\n\r\n //fields error resz\r\n if(typeof errorArray.fields =='undefined'){\r\n return;\r\n }\r\n let trNode=$('tr[data-rownum='+rowNum+']');\r\n for (let key in errorArray.fields) {\r\n let tdNode=trNode.find('td[data-pointer=\"'+key+'\"]');\r\n tdNode.addClass('bg-danger');\r\n let errorTxtNode=$(document.createElement(\"span\")).text(errorArray.fields[key]).addClass('fieldError');\r\n tdNode.append(errorTxtNode);\r\n }\r\n }\r\n};\r\n","window.PriceListProfitCenterAdmin=function (options) {\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n token: null,\n containerCssSelector: '.containerPriceListProfitCenter',\n testMode: false,\n URL: {\n getDataTableContent: '',\n getProductGroupHTML: '',\n index: '',\n show: '',\n edit: '',\n create: '',\n store: '',\n update: '',\n destroy: '',\n },\n dataTable: {\n orderDirective: [1, 'asc']\n },\n onAfterInitViewDetails: function () {\n }\n };\n let root = this;\n /*\n * Constructor\n */\n this.construct = function (options, SupplierItem) {\n console.log('PriceListProfitCenterAdmin constructor called');\n $.extend(Opts, options);\n };\n this.getOpts = function () {\n return Opts;\n }\n let changeParameter={\n supplier:'',\n deliveryDate:'',\n /*\n supplier:26,\n deliveryDate:'2023-09-10',\n */\n\n }\n\n this.checkRefreshPossible=function (){\n console.log('check need parameter');\n let needRefresh=true;\n $.each(changeParameter,function (name,data){\n if(data===''){\n needRefresh=false;\n }\n });\n if(needRefresh){\n root.refreshDatatable()\n root.refreshProductGroup();\n root.setDatatableHeaderText('');\n }\n }\n this.setDatatableHeaderText=function(text){\n $('.tableHeaderText').text(text);\n }\n\n this.getTreePathName=function (node){\n let res='';\n let items=$(node).parents('li').toArray();\n items.shift();\n items.reverse();\n for (const item in items) {\n if($(items[item]).children('a.categoryItem').length>0){\n res+=$(items[item]).children('a.categoryItem').text()+'/'\n }\n }\n res+=$(node).text();\n return res;\n }\n\n this.bindProductGroupItem=function(){\n $('.sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').off('click');\n $('.sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').on('click',\n function () {\n let groupId=$(this).data('id');\n selectedProductGroup=groupId;\n root.setDatatableHeaderText(root.getTreePathName(this));\n /*\n console.log(groupId);\n console.log(root.getTreePathName(this));\n */\n root.refreshDatatable();\n });\n\n\n }\n this.refreshProductGroup=function (){\n let ajaxData={\n 'supplierId':changeParameter.supplier,\n 'deliveryDate':changeParameter.deliveryDate\n }\n let ajaxUrl=Opts.URL.getProductGroupHTML;\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n type:'GET',\n contentType:false,\n processData: true,\n beforeSend: function() {\n\n },\n success: function(data) {\n $('.sidebar-menu .productGroup').find('ul').html(data);\n root.bindProductGroupItem();\n },\n error: function(data) {\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n })\n\n }\n this.refreshDatatable=function (){\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n\n this.changePriceListProfitCenterParameter=function(e,obj){\n if(typeof obj =='undefined'){\n obj=$(this);\n }\n let objName=obj.attr(\"name\");\n if(objName=='supplier'){\n selectedProductGroup=null;\n }\n let data='';\n if(obj.get(0).nodeName=='SELECT'){\n if(obj.select2('data').length>0){\n data=obj.select2('data')[0].id;\n };\n }else{\n data=obj.val()\n }\n if(changeParameter[objName]!=data){\n changeParameter[objName]=data;\n root.checkRefreshPossible();\n }\n }\n\n this.init=function (options){\n $.extend(Opts, options);\n let CSSSelectorForm=Opts.containerCssSelector;\n $(CSSSelectorForm+' .datePickerClick').click(function(){\n $(CSSSelectorForm+' .datePicker').datepicker('show');\n });\n\n $('.supplierSelect').on('change',root.changePriceListProfitCenterParameter);\n\n //$('input[name=\"deliveryDate\"]').on('change',changePriceListProfitCenterParameter);\n\n\n $(\".supplierSelect\").select2({\n maximumSelectionLength: 1,\n });\n /*\n */\n\n $(CSSSelectorForm + ' .datePicker').datepicker({\n dateFormat: 'yy-mm-dd',\n minDate: new Date(),\n onSelect: function (dateText,obj) {\n $(CSSSelectorForm + ' .selectedDateText').text(dateText);\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\n $(CSSSelectorForm + ' input[name=\"deliveryDate\"]').val(dateText);\n root.changePriceListProfitCenterParameter(null,$(obj.input));\n },\n });\n //root.initViewList();\n let table = root.getDatatables('');\n $('.dataTableOrderProductSelect').on( 'draw.dt',root.productSelectDataTableDrawDT).dataTable();\n /*\n /!*\n ----------------------------------------------------------\n Add event listener for opening and closing details\n *!/\n\n $('.dataTableOrderProductSelect tbody').on('click', 'td.details-control', function () {\n let tr = $(this).closest('tr');\n let row = table.row( tr );\n\n if ( row.child.isShown() ) {\n // This row is already open - close it\n row.child.hide();\n tr.removeClass('shown');\n }\n else {\n // Open this row\n row.child( root.productSelectDatatablesRowFormatter(row.data()) ).show();\n tr.addClass('shown');\n root.bindProductDetailsAction();\n }\n } );*/\n }\n this.productSelectDataTableDrawDT=function (e) {\n //debug( 'Table draw complete: '+new Date().getTime() );\n\n $('td:contains(\"*\")').html('');\n $('td.details-control').removeClass('details-control');\n\n\n\n }\n let selectedProductGroup=null;\n\n this.getDatatables=function (orderType){\n let columns = APP.OrderModule.productSelectDataTableColumn();\n let lastCol = columns[columns.length - 1];\n lastCol.render = function (data, type, row) {\n if (row.stock_status === 'out_of_stock') {\n return '';\n }\n return '';\n };\n\n let table = $('.dataTableOrderProductSelect').DataTable( {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": {\n url:Opts.URL.getDataTableContent,\n data:function (data) {\n /*\n data.searchStr=dataTableSearchStr;\n data.krel=dataTableSearchKrel;\n data.groupId=selectedProductGroup;\n */\n data.supplierId=changeParameter.supplier;\n data.deliveryDate=changeParameter.deliveryDate;\n data.groupId=selectedProductGroup;\n }\n },\n buttons: {\n buttons: []\n },\n \"columnDefs\": APP.OrderModule.productSelectDataTableColumnDefs(),\n \"columns\": columns,\n \"order\": [[1, 'asc']],\n } );\n return table;\n }\n\n\n}\n","if(typeof Product==='undefined'){\n class Product extends DataModel{\n\n /*\n * Constructor\n */\n constructor (data,options) {\n super(data,options)\n if(typeof this.contact ===\"undefined\"){\n this.contact=[];\n }\n console.log('Product constructor called');\n };\n };\n window.Product=Product;\n}\nwindow.ProductAdmin=function (options,ProductItem) {\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n token: null,\n containerCssSelector: '.containerProduct',\n container:null,\n resultContainerSelector:'.containerProduct .containerResult',\n resultContainer:null,\n\n testMode: false,\n filters:{\n Product:{},\n },\n URL: {\n getDataTableContent: '',\n index: '',\n show: '',\n edit: '',\n create: '',\n store: '',\n update: '',\n destroy: '',\n attachFile: '',\n detachFile: '',\n },\n dataTable: {\n orderDirective: [1, 'asc'],\n },\n onAfterInitViewDetails: function () {\n }\n };\n let Product = {};\n let root = this;\n let contactPopupWorkflow = 'new';\n let dataTable=null;\n /*\n * Constructor\n */\n this.construct = function (options, ProductItem) {\n console.log('ProductAdmin constructor called');\n $.extend(Opts, options);\n if (!ProductItem) {\n console.log('Product letre kellet hozni ');\n if (!APP.Product) {\n APP.Product = new window.Product();\n }\n root.Product = APP.Product;\n }\n };\n this.getOpts = function () {\n return Opts;\n }\n this.datatableRowActionButtonClick=function (event){\n debug('datatableRowActionButtonClick');\n let node=$(event[0].currentTarget);\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n let rowData=row.data();\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\n if (typeof root[actionName] === \"function\") {\n return root[actionName](rowData,node)\n }\n }\n this.datatableRowActionEdit=function (rowData,node) {\n console.log('datatableRowActionEdit Called');\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\n console.log('datatableRowActionEdit End');\n }\n this.initViewListOld = function (options={}) {\n debug('listview inicialization');\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\n\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\n })\n let orderDirective=Opts.dataTable.orderDirective;\n if(typeof options['orderDirective']!='undefined'){\n orderDirective=options['orderDirective'];\n }\n $(dataTableCSSSelector).DataTable( {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": Opts.URL.getDataTableContent,\n serverSide: true,\n \"columnDefs\": [\n {\n \"targets\": colNum-1,\n orderable: false,\n \"render\": function ( data, type, row ) {\n let\n buttons=APP.datatableAddRowEditButton(0,arguments);\n return buttons;\n },\n },\n {\n \"targets\": 1,\n \"render\": function ( data, type, row ) {\n return type === \"sort\" ? data.latinise() : data;\n },\n },\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons:{\n buttons: [\n 'excel','pdf',\n {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n },\n ]\n },\n \"columns\": [\n { \"data\": \"id\"},\n { \"data\": \"name\" },\n { \"data\": \"hooreycaId\" },\n {\"data\": \"productGroup\"},\n {\"data\": \"supplierName\"},\n { \"data\": \"price\" },\n { \"data\": \"created_at\" },\n null,\n ],\n \"order\": orderDirective,\n \"stateSave\": true,\n \"drawCallback\": function( settings ) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n } );\n debug('listview end');\n }\n\n this.initViewList=function (options={}) {\n debug('initViewSearch inicialization 1');\n\n root.container.find('select.supplierSelect, select.profitCenterSelect, select.productGroupSelect, select.producerSelect, select.hooreycaNamesSelect, select.specialOfferSelect').select2();\n root.container.find('select.productSelect').select2({\n placeholder: '...',\n allowClear: true,\n ajax: {\n url: Opts.URL.getProductSearch,\n dataType: 'json',\n data: function(params) {\n return {\n term: params.term || '',\n page: params.page || 1,\n supplierId: root.container.find('select.supplierSelect').val(),\n }\n },\n cache: true\n }\n });\n root.container.find('.datePickerFrom, .datePickerTo').datepicker({\n dateFormat: 'yy-mm-dd',\n\n onSelect: function (dateText,obj) {\n debug(this);\n debug(obj.input);\n /*\n root.container.find('.selectedDateText').text(dateText);\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\n root.container.find(' input[name=\"deliveryDate\"]').val(dateText);\n */\n //root.changePriceListProfitCenterParameter(null,$(obj.input));\n },\n });\n root.container.find('.datePickerClick').click(function(){\n debug($(this).data('action'));\n root.container.find('input[name=\"'+$(this).data('action')+'\"]').datepicker('show');\n });\n let button=root.container.find('.FormSendButton');\n button.off('click');\n button.on('click',function (){\n debug ('FormSendButton click');\n root.loadingResultContainer();\n root.requestProducts();\n });\n root.setVisibleFilters('Product');\n\n if (root.loadFiltersFromLocalStorage()) {\n root.loadingResultContainer();\n root.requestProducts();\n }\n\n debug('initViewSearch end');\n }\n\n\n this.loadingResultContainer=function (){\n debug('clearResultContainer');\n debug(root.resultContainer);\n root.hideResultContainer();\n root.container.find('.containerLoading').show();\n /*\n let template=root.container.find('template[data-name=\"loading\"]').html()\n root.resultContainer.html(template);\n\n */\n }\n this.hideResultContainer=function (){\n debug('hide containerResult');\n debug(root.resultContainer);\n root.resultContainer.hide();\n }\n this.showResultContainer=function (){\n root.container.find('.containerLoading').hide();\n root.resultContainer.show();\n }\n\n this.init=function (options,ProductItem){\n console.log('ProductAdmin init');\n $.extend(Opts, options);\n\n if(Opts.testMode){\n return root.testMode();\n }\n if(ProductItem){\n root.Product=ProductItem\n }\n root.dataTable=null;\n root.container=$(Opts.containerCssSelector);\n root.resultContainer=$(Opts.resultContainerSelector);\n root.initViewList();\n }\n this.initViewDetails=function (options,ProductItem){\n debug('**call initViewDetails ');\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\n if(root.Product.picture){\n console.log('*****//////////////////****************');\n console.log(root.Product.picture);\n console.log(CSSSelectorForm);\n let picUrl=root.Product.picture.PublicUrl+'/'+root.Product.picture.filename;\n console.log(picUrl);\n console.log($(CSSSelectorForm+' img.imageProduct'));\n $(CSSSelectorForm+' img.imageProduct').attr('src',picUrl);\n }\n if(root.Product.specification){\n console.log('*****//////////////////****************');\n console.log(root.Product.specification);\n let docUrl=root.Product.specification.PublicUrl+'/'+root.Product.specification.filename;\n root.addAttachment(root.Product.specification);\n }\n let FormSaveButton=$(CSSSelectorForm+' button.FormSaveButton');\n FormSaveButton.off('click');\n FormSaveButton.on('click',root.clickSaveButton);\n\n }\n\n this.addAttachment=function (attachmentData){\n console.log(attachmentData);\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\n //root.Supplier.attachment.push(attachmentData);\n //attachmentData.rowNum=root.Supplier.attachment.length;\n attachmentData.rowNum=1;\n let dateStr=new Date(attachmentData.updated_at);\n dateStr=dateStr.toLocaleString('hu-HU', {});\n attachmentData.date=dateStr;\n attachmentData.link=attachmentData.PublicUrl+'/'+attachmentData.filename;\n let template=$('template[data-name=\"productAttachmentTableRow\"]').html()\n let render=Mustache.render(template,attachmentData);\n $(CSSSelectorForm+' .attachmentTable tbody').append(render);\n //root.bindContactClickAction();\n Toast.enableTimers(false);\n Toast.create({ title: \"Fájl hozzáadva!\", message: attachmentData.original_filename+\" fájl hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n }\n\n this.setVisibleFilters=function (type){\n console.log('setVisibleFilters');\n console.log(Opts.filters[type]);\n console.log(root.container);\n $(root.container).find('div[class*=\"filter\"]').hide()\n for (const typeIndex in Opts.filters[type]) {\n const typeName=Opts.filters[type][typeIndex];\n debug(typeName);\n console.log($(root.container).find('.filter_'+typeName));\n $(root.container).find('.filter_'+typeName).show();\n }\n }\n this.c=function (CSSSelectorForm){\n console.log('c called');\n console.log(CSSSelectorForm);\n console.log(root.container);\n console.log(root.container.find('form'));\n console.log(root.container.find(CSSSelectorForm));\n\n }\n\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\n\n console.log(CSSSelectorForm);\n console.log(root.container);\n console.log(root.container.find(CSSSelectorForm));\n console.log(root.container.find('form'));\n console.log(root.container.find('form'+CSSSelectorForm)[0]);\n //return;\n let ajaxData = new FormData(root.container.find('form'+CSSSelectorForm)[0]);\n $.each(ajaxData.getAll('supplier'), function (key, value) {\n ajaxData.append('suppliers[]', value);\n })\n ajaxData.delete('supplier');\n $.each(ajaxData.getAll('profitCenter'), function (key, value) {\n ajaxData.append('profitCenters[]', value);\n })\n ajaxData.delete('profitCenter');\n $.each(ajaxData.getAll('productGroup'), function (key, value) {\n ajaxData.append('productGroups[]', value);\n })\n ajaxData.delete('productGroup');\n $.each(ajaxData.getAll('product'), function (key, value) {\n ajaxData.append('products[]', value);\n })\n ajaxData.delete('product');\n $.each(ajaxData.getAll('producer'), function (key, value) {\n ajaxData.append('producers[]', value);\n })\n ajaxData.delete('producer');\n $.each(ajaxData.getAll('hooreycaName'), function (key, value) {\n ajaxData.append('hooreycaNames[]', value);\n })\n ajaxData.delete('hooreycaName');\n\n //ajaxData.append('_token', root.container.find('input[name=_token]').val());\n\n /*\n $(CSSSelectorForm + ' input[data-inputmask]').each(function () {\n let indexKey = $(this).attr('name');\n if (ajaxData.get(indexKey)) {\n ajaxData.set(indexKey, ajaxData.get(indexKey).replace(/[_ ]+$/g, \"\"));\n }\n });\n */\n return ajaxData;\n\n }\n this.getAjaxDataJson=function(){\n\n let ajaxData=root.formDataToDataObjectAPICall('.ProductListForm');\n console.log('======================');\n for (let pair of ajaxData.entries()) {\n console.log(pair[0]+ ', ' + pair[1]);\n }\n\n let object = {};\n ajaxData.forEach((value, key) => {\n // Reflect.has in favor of: object.hasOwnProperty(key)\n if(!Reflect.has(object, key)){\n object[key] = value;\n return;\n }\n if(!Array.isArray(object[key])){\n object[key] = [object[key]];\n }\n object[key].push(value);\n });\n let ajaxDataJson = JSON.stringify(object);\n return ajaxDataJson;\n }\n\n this.requestProducts=function () {\n let ajaxUrl=Opts.URL.getDataTableContent;\n let ajaxMethod='GET';\n //token formdataba!\n debug(ajaxUrl);\n\n ajaxDataJson=root.getAjaxDataJson();\n console.log(ajaxDataJson);\n\n // Save filters to localStorage\n let form = root.container.find('form.ProductListForm');\n if (form.length > 0) {\n let formData = new FormData(form[0]);\n let filterData = {};\n formData.forEach((value, key) => {\n if(!Reflect.has(filterData, key)){\n filterData[key] = value;\n return;\n }\n if(!Array.isArray(filterData[key])){\n filterData[key] = [filterData[key]];\n }\n filterData[key].push(value);\n });\n localStorage.setItem('product_admin_filters', JSON.stringify(filterData));\n }\n\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\n console.log(dataTableCSSSelector );\n\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\n })\n let orderDirective=Opts.dataTable.orderDirective;\n /*\n if(typeof options['orderDirective']!='undefined'){\n orderDirective=options['orderDirective'];\n }\n */\n\n if(!root.dataTable){\n console.log('XXXXXXXXXXXXXXXXXXXX Nincs Datatable');\n root.dataTable=\n $(dataTableCSSSelector).DataTable( {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\":{\n url: Opts.URL.getDataTableContent,\n data: function (d) {\n console.log('---******----');\n console.log(APP.ProductAdmin.getAjaxDataJson());\n return $.extend({}, d, {\n ajaxData: APP.ProductAdmin.getAjaxDataJson()\n });\n },\n type: ajaxMethod\n /*\n data: ajaxData,\n */\n } ,\n serverSide: true,\n \"columnDefs\": [\n {\n \"targets\": colNum-1,\n orderable: false,\n \"render\": function ( data, type, row ) {\n let\n buttons=APP.datatableAddRowEditButton(0,arguments);\n return buttons;\n },\n },\n {\n \"targets\": 1,\n \"render\": function ( data, type, row ) {\n return type === \"sort\" ? data.latinise() : data;\n },\n },\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons:{\n buttons: [\n 'excel','pdf',\n {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n },\n ]\n },\n \"columns\": [\n { \"data\": \"id\"},\n { \"data\": \"name\" },\n { \"data\": \"buyerProductName\" },\n { \"data\": \"hooreycaId\" },\n {\"data\": \"productGroup\"},\n {\"data\": \"supplierName\"},\n { \"data\": \"price\" },\n { \"data\": \"created_at\" },\n null,\n ],\n \"order\": orderDirective,\n \"stateSave\": true,\n \"drawCallback\": function( settings ) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n root.showResultContainer();\n console.log('drawCallback');\n }\n } );\n\n\n }else{\n console.log('XXXXXXXXXXXXXXXXXXXX van Datatable');\n //root.dataTable.ajax.reload();\n root.dataTable.draw();\n }\n\n\n }\n\n this.loadFiltersFromLocalStorage = function() {\n let filters = localStorage.getItem('product_admin_filters');\n if (filters) {\n let filterData = JSON.parse(filters);\n let form = root.container.find('form.ProductListForm');\n\n if (form.length === 0) return false;\n\n for (let key in filterData) {\n let value = filterData[key];\n let fields = form.find('[name=\"' + key + '\"]');\n\n if (fields.length) {\n if (fields.is('select')) {\n fields.val(value).trigger('change');\n } else if (fields.is(':checkbox') || fields.is(':radio')) {\n fields.each(function() {\n if (Array.isArray(value)) {\n $(this).prop('checked', value.includes($(this).val()));\n } else {\n $(this).prop('checked', $(this).val() == value);\n }\n });\n } else {\n fields.val(value);\n }\n }\n }\n return true;\n }\n return false;\n }\n\n this.processResponse=function () {\n\n }\n\n this.clickSaveButton=function (event) {\n debug('Save clicked');\n\n let CSSSelectorForm=Opts.containerCssSelector+' .productForm';\n event.preventDefault();\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\n console.log('validaton false');\n event.stopPropagation();\n return;\n } else {\n console.log('validaton ok');\n //do your ajax submition here\n }\n\n let ajaxData=root.formDataToDataObjectAPICall('.productForm');\n let ajaxUrl=Opts.URL.store;\n let ajaxMethod=\"POST\";\n if(root.Product.id){\n ajaxUrl=Opts.URL.update.replace('%id%',root.Product.id);\n //ajaxMethod=\"PUT\";\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\n ajaxData.append('_method','PUT');\n }\n\n debug(ajaxMethod);\n debug(ajaxData);\n\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n type:ajaxMethod,\n contentType:false,\n processData: false,\n headers: {\n //'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\n 'X-CSRF-TOKEN': Opts.token\n },\n\n success:function (data){\n debug(data);\n if(data.success==true){\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n Opts.dataTable.orderDirective=[0, 'desc'];\n Toast.create({ title: \"Sikeres rögzítés!\", message: ajaxData.get('name')+\" nevű termék elmentve\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n// APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\n }\n }\n });\n }\n\n}\n\n","if(typeof DataModelProfitCenter==='undefined'){\r\n class DataModelProfitCenter extends DataModel{\r\n\r\n /*\r\n * Constructor\r\n */\r\n constructor (data,options) {\r\n super(data,options)\r\n if(typeof this.contact ===\"undefined\"){\r\n this.contact=[];\r\n }\r\n if(typeof this.address ===\"undefined\"){\r\n this.address=[];\r\n }\r\n console.log(this.constructor.name+' constructor called');\r\n };\r\n };\r\n window.DataModelProfitCenter=DataModelProfitCenter;\r\n}\r\n\r\nwindow.ProfitCenterAdmin=function (options,ProfitCenterItem) {\r\n /*\r\n * Variables accessible\r\n * in the class\r\n */\r\n let Opts = {\r\n token: null,\r\n containerCssSelector: '.containerProfitCenter',\r\n testMode: false,\r\n URL: {\r\n getDataTableContent: '',\r\n index: '',\r\n show: '',\r\n edit: '',\r\n create: '',\r\n store: '',\r\n update: '',\r\n destroy: '',\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc']\r\n },\r\n onAfterInitViewDetails: function () {\r\n }\r\n };\r\n let ProfitCenter = {};\r\n let root = this;\r\n let contactPopupWorkflow = 'new';\r\n let addressPopupWorkflow = 'new';\r\n let CSSSelectorForm='';\r\n let dataTableCSSSelector='';\r\n /*\r\n * Constructor\r\n */\r\n this.construct = function (options, ProfitCenterItem) {\r\n console.log('ProfitCenterAdmin constructor called');\r\n $.extend(Opts, options);\r\n if (!ProfitCenterItem) {\r\n console.log('ProfitCentert letre kellet hozni ');\r\n if (!APP.ProfitCenter) {\r\n APP.ProfitCenter = new window.DataModelProfitCenter();\r\n }\r\n root.ProfitCenter = APP.ProfitCenter;\r\n }\r\n CSSSelectorForm=Opts.containerCssSelector+' .profitCenterForm';\r\n };\r\n this.getOpts = function () {\r\n return Opts;\r\n }\r\n this.getData=function (){\r\n return root.ProfitCenter;\r\n }\r\n\r\n this.init=function (options,ProfitCenterItem){\r\n $.extend(Opts, options);\r\n\r\n if(Opts.testMode){\r\n return root.testMode();\r\n }\r\n if(ProfitCenterItem){\r\n root.ProfitCenter=ProfitCenterItem\r\n }\r\n root.initViewList();\r\n }\r\n this.clickNew=function () {\r\n debug('clickNew');\r\n APP.loadMainContent(Opts.URL.create,root.clickNewCallBack);\r\n }\r\n\r\n this.clickNewCallBack=function () {\r\n debug('callbackNew');\r\n root.ProfitCenter=new window.DataModelProfitCenter();\r\n root.initViewDetails();\r\n }\r\n\r\n this.initViewDetails=function (options,SupplierItem){\r\n debug('**call initViewDetails ');\r\n /**\r\n * Contact Popup setup\r\n */\r\n if(!APP.ContactPopUp){\r\n console.log('nincs APP.ContactPopUp')\r\n APP.ContactPopUp = new window.ContactPopUp();\r\n }else{\r\n console.log('mar van APP.ContactPopUp')\r\n }\r\n APP.ContactPopUp.init({\r\n active:true,\r\n onAfterSave:root.contactAction\r\n });\r\n root.renderContact();\r\n $(CSSSelectorForm+' .buttonNewContact').bind('click',function (){\r\n APP.ProfitCenterAdmin.setContactPopupWorkflow('new');\r\n APP.ContactPopUp.clearData();\r\n APP.ContactPopUp.show();\r\n });\r\n /**\r\n * Address Popup setup\r\n */\r\n if(!APP.AddressPopUp){\r\n console.log('nincs APP.AddressPopUp')\r\n APP.AddressPopUp = new window.AddressPopUp();\r\n }else{\r\n console.log('mar van APP.AddressPopUp')\r\n }\r\n APP.AddressPopUp.init({\r\n active:true,\r\n onAfterSave:root.addressAction\r\n });\r\n root.renderAddress();\r\n $(CSSSelectorForm+' .buttonNewAddress').bind('click',function (){\r\n APP.ProfitCenterAdmin.setAddressPopupWorkflow('new');\r\n APP.AddressPopUp.clearData();\r\n APP.AddressPopUp.show();\r\n });\r\n /**\r\n *\r\n */\r\n\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n initRadioButtons({\r\n onChange: function (value,node) {\r\n debug(value);\r\n debug(node);\r\n /*\r\n\r\n if(node==='profitCenterMultiAddress'){\r\n if(value==1){\r\n $('.containerMultiAddress').removeClass('d-none');\r\n }else{\r\n $('.containerMultiAddress').addClass('d-none');\r\n }\r\n }\r\n\r\n */\r\n if(node==='addressEqual'){\r\n if(value==1){\r\n $(CSSSelectorForm+' .containerMultiAddress').addClass('d-none');\r\n $(CSSSelectorForm+' .containerMultiAddressSwitch').addClass('d-none');\r\n }else{\r\n $(CSSSelectorForm+' .containerMultiAddress').removeClass('d-none');\r\n $(CSSSelectorForm+' .containerMultiAddressSwitch').removeClass('d-none');\r\n }\r\n }\r\n\r\n }\r\n });\r\n $(CSSSelectorForm+\" :input\").inputmask({\r\n \"onincomplete\": function () {\r\n console.log($(this).data('required'));\r\n if ($(this).val().length > 0 || $(this).data('required') === true) {\r\n $(this).addClass('is-invalid');\r\n }\r\n },\r\n \"oncomplete\": function () {\r\n $(this).removeClass('is-invalid');\r\n $(this).addClass('is-valid');\r\n },\r\n \"oncleared\": function () {\r\n console.log('cleared');\r\n $(this).removeClass('is-invalid');\r\n }\r\n });\r\n\r\n $(CSSSelectorForm+' button.FormSaveButton').off('click');\r\n $(CSSSelectorForm+' button.FormSaveButton').on('click',root.clickSaveButton);\r\n/*\r\n $(\"input[name=logoFile]\").change(function(){\r\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\r\n });\r\n*/\r\n\r\n //Opts.onAfterInitViewDetails();\r\n debug('**end initViewDetails ');\r\n }\r\n this.setDetailsViewData=function () {\r\n debug('setDetailsViewData');\r\n let CSSSelectorForm=Opts.containerCssSelector+' .profitCenterForm';\r\n let needToSet=[\r\n 'name','hooreycaId','nameId',\r\n 'email','postCode','city','street','phone','mobil'\r\n ];\r\n $.each(needToSet,function () {\r\n // debug(this); //alapadatok beallitasanak logolasa\r\n if(typeof root.ProfitCenter[this]!='undefined'){\r\n/* //alapadatok beallitasanak logolasa\r\n debug(root.ProfitCenter[this]);\r\n debug(CSSSelectorForm+' input[name='+this+']');\r\n debug($(CSSSelectorForm+' input[name='+this+']'));\r\n*/\r\n $(CSSSelectorForm+' input[name='+this+']').val(root.ProfitCenter[this]);\r\n }\r\n })\r\n if(typeof root.ProfitCenter['note']!='undefined'){\r\n $(CSSSelectorForm+' textarea[name=note]').val(root.ProfitCenter.note);\r\n }\r\n $(CSSSelectorForm+' *[data-toggle=canSee][data-title='+root.ProfitCenter.canSee+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=hooreycaDataActive][data-title='+root.ProfitCenter.hooreycaDataActive+']').click();\r\n\r\n if(typeof root.ProfitCenter['logoFile']!='undefined' && (root.ProfitCenter['logoFile'])){\r\n $(CSSSelectorForm+' img.imageLogo').attr('src',root.ProfitCenter['logoFile']);\r\n }\r\n\r\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title='+root.ProfitCenter.addressEqual+']').click();\r\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title='+root.ProfitCenter.multiAddress+']').click();\r\n /*debug(root.ProfitCenter.address.length);\r\n if(root.ProfitCenter.address.length>0){\r\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title=0]').click();\r\n if(root.ProfitCenter.address.length>1){\r\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title=1]').click();\r\n }\r\n }\r\n */\r\n let supplier=[];\r\n $.each(root.ProfitCenter.suppliers,function () {\r\n supplier.push(this.name);\r\n });\r\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\r\n $.each(supplier,function () {\r\n $('input[value=\"'+$.escapeSelector(this)+'\"]').prop( \"checked\", true );\r\n })\r\n\r\n }\r\n\r\n this.resetContactTable=function (){\r\n $(CSSSelectorForm+' .contactTable tbody tr').remove();\r\n root.renderContact();\r\n }\r\n this.renderContact=function (){\r\n let rowNum=1;\r\n console.log('renderingContacts');\r\n $.each(root.ProfitCenter.getData('contact'),function (){\r\n let contactData=this;\r\n contactData.rowNum=rowNum;\r\n let template=$('template[data-name=\"profitCenterContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindContactClickAction();\r\n }\r\n\r\n this.bindContactClickAction =function (){\r\n $('.contactTable .buttonDelete').unbind('click');\r\n $('.contactTable .buttonDelete').bind('click',root.contactDeleteClick);\r\n $('.contactTable .buttonEdit').unbind('click');\r\n $('.contactTable .buttonEdit').bind('click',root.contactEditClick);\r\n\r\n }\r\n this.contactDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n console.log(id);\r\n root.ProfitCenter.contact=root.ProfitCenter.contact.filter(\r\n function (value,index,arr){\r\n if (value.id!==id*1){\r\n return true;\r\n }\r\n return false;\r\n }\r\n );\r\n console.log(root.ProfitCenter.contact);\r\n row.remove();\r\n root.resetContactTable();\r\n }\r\n this.getContactPopupWorkflow = function () {\r\n return contactPopupWorkflow;\r\n }\r\n this.setContactPopupWorkflow = function (status) {\r\n contactPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.contactEditClick=function (event){\r\n console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=contactId]').val();\r\n console.log(id);\r\n root.setContactPopupWorkflow('edit');\r\n APP.ContactPopUp.loadData(id);\r\n }\r\n this.contactAction=function (contactData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getContactPopupWorkflow()=='new'){\r\n root.addContact(contactData);\r\n }else if(root.getContactPopupWorkflow()=='edit'){\r\n root.editContact(contactData.id,contactData);\r\n }\r\n }\r\n this.addContact=function (contactData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.ProfitCenter.contact.push(contactData);\r\n contactData.rowNum=root.ProfitCenter.contact.length;\r\n let template=$('template[data-name=\"profitCenterContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $(CSSSelectorForm+' .contactTable tbody').append(render);\r\n root.bindContactClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create({ title: \"Kapcsolat tartó hozzáadva!\", message: contactData.name+\" nevű kapocsolattartó hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n }\r\n this.editContact=function (id,contactData){\r\n\r\n let newContacts=[];\r\n $.each(root.ProfitCenter.getData('contact'),function (index){\r\n if(this.id==id){\r\n newContacts.push(contactData);\r\n }else{\r\n newContacts.push(this);\r\n }\r\n });\r\n root.ProfitCenter.contact=newContacts;\r\n root.resetContactTable();\r\n Toast.create({ title: \"Kapcsolat adatai módosítva!\", message: contactData.name+\" nevű kapocsolattartó módosítva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n }\r\n\r\n\r\n /***************\r\n *\r\n * Address function\r\n *\r\n */\r\n this.resetAddressTable=function (){\r\n $(CSSSelectorForm+' .addressTable tbody tr').remove();\r\n root.renderAddress();\r\n }\r\n this.renderAddress=function (){\r\n let rowNum=1;\r\n console.log('renderingAddress');\r\n $.each(root.ProfitCenter.getData('address'),function (){\r\n let itemData=this;\r\n itemData.rowNum=rowNum;\r\n let template=$('template[data-name=\"profitCenterAddressTableRow\"]').html()\r\n debug(itemData);\r\n let render=Mustache.render(template,itemData);\r\n $('.addressTable tbody').append(render);\r\n rowNum++;\r\n });\r\n root.bindAddressClickAction();\r\n }\r\n\r\n this.bindAddressClickAction =function (){\r\n $('.addressTable .buttonDelete').unbind('click');\r\n $('.addressTable .buttonDelete').bind('click',root.addressDeleteClick);\r\n $('.addressTable .buttonEdit').unbind('click');\r\n $('.addressTable .buttonEdit').bind('click',root.addressEditClick);\r\n\r\n }\r\n this.addressDeleteClick=function (event){\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=\"addressId[]\"]').val();\r\n console.log(id);\r\n root.ProfitCenter.address=root.ProfitCenter.address.filter(\r\n function (value,index,arr){\r\n if (value.id!=id) return true;\r\n }\r\n );\r\n console.log(root.ProfitCenter.address);\r\n row.remove();\r\n root.resetAddressTable();\r\n }\r\n this.getAddressPopupWorkflow = function () {\r\n return addressPopupWorkflow;\r\n }\r\n this.setAddressPopupWorkflow = function (status) {\r\n addressPopupWorkflow=status;\r\n }\r\n\r\n\r\n this.addressEditClick=function (event){\r\n console.log(this);\r\n let row=$(this).closest('tr');\r\n let id=row.find('input[name=\"addressId[]\"]').val();\r\n console.log(id);\r\n root.setAddressPopupWorkflow('edit');\r\n APP.AddressPopUp.loadData(id);\r\n }\r\n this.addressAction=function (itemData){\r\n console.log('nah most kellene meg valamit csinalni.')\r\n if(root.getAddressPopupWorkflow()=='new'){\r\n root.addAddress(itemData);\r\n }else if(root.getAddressPopupWorkflow()=='edit'){\r\n root.editAddress(itemData.id,itemData);\r\n }\r\n }\r\n this.addAddress=function (ItemData){\r\n /*\r\n fel kell venni a sorba\r\n */\r\n root.ProfitCenter.address.push(ItemData);\r\n ItemData.rowNum=root.ProfitCenter.address.length;\r\n let template=$('template[data-name=\"profitCenterAddressTableRow\"]').html()\r\n let render=Mustache.render(template,ItemData);\r\n $(CSSSelectorForm+' .addressTable tbody').append(render);\r\n root.bindAddressClickAction();\r\n Toast.enableTimers(false);\r\n Toast.create({ title: \"Cím hozzáadva!\", message: ItemData.street+\" hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n }\r\n this.editAddress=function (id,itemData){\r\n\r\n let newItem=[];\r\n $.each(root.ProfitCenter.getData('address'),function (index){\r\n if(this.id==id){\r\n newItem.push(itemData);\r\n }else{\r\n newItem.push(this);\r\n }\r\n });\r\n root.ProfitCenter.address=newItem;\r\n root.resetAddressTable();\r\n Toast.create({ title: \"cím adatai módosítva!\", message: itemData.street+\" módosítva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n }\r\n\r\n this.initViewList = function (options={}) {\r\n debug('listview inicialization');\r\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\r\n\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n datatableActionButtonClickCallBack:root.clickNew,\r\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\r\n\r\n })\r\n let orderDirective=Opts.dataTable.orderDirective;\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n $(dataTableCSSSelector).DataTable( {\r\n language: {\r\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\r\n },\r\n\r\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\r\n \"ajax\": Opts.URL.getDataTableContent,\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\r\n buttons+=APP.datatableAddRowEditButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },\r\n //{ \"visible\": false, \"targets\": [ 0 ] }\r\n ],\r\n buttons:{\r\n buttons: [\r\n 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n /**/\r\n\r\n {\r\n text: 'Új felvitele',\r\n className: 'btn btn-success newItem',\r\n attr:{\r\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n\r\n }\r\n */\r\n 'data':'newItem'\r\n },\r\n init: function(api, node, config) {\r\n $(node).removeClass('ui-button')\r\n },\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableActionButtonClickCallBack(arguments);\r\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\r\n\r\n }\r\n }\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"id\" },\r\n { \"data\": \"name\" },\r\n { \"data\": \"hooreycaId\" },\r\n { \"data\": \"nameId\" },\r\n { \"data\": \"created_at\" },\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n //\"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n this.datatableRowActionButtonClick=function (event){\r\n debug('datatableRowActionButtonClick');\r\n let node=$(event[0].currentTarget);\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData=row.data();\r\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\r\n if (typeof root[actionName] === \"function\") {\r\n return root[actionName](rowData,node)\r\n }\r\n }\r\n this.datatableRowActionEdit=function (rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\r\n /*\r\n console.log(Opts.URL);\r\n console.log(ajaxUrl);\r\n */\r\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n this.datatableRowActionDelete=function (rowData,node) {\r\n console.log('datatableRowActionDelete Called');\r\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\r\n let ajaxData={};\r\n let ajaxUrl=Opts.URL.destroy.replace('%id%',rowData.id);\r\n ajaxData._token=$('input[name=_token]').val();\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n method:\"DELETE\",\r\n success:function (data){\r\n if(data.success==true){\r\n row.remove().draw();\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n this.clickSaveButton=function (event) {\r\n debug('Save clicked');\r\n event.preventDefault();\r\n debug(CSSSelectorForm);\r\n debug($(CSSSelectorForm));\r\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\r\n console.log('validaton false');\r\n $(CSSSelectorForm).addClass('was-validated');\r\n $(CSSSelectorForm)[0].reportValidity();\r\n Toast.create({ title: \"Validációs hiba!\", message: \"Kérjük, töltse ki a kötelező mezőket!\", status: TOAST_STATUS.DANGER, timeout: 5000 });\r\n event.stopPropagation();\r\n return;\r\n } else {\r\n console.log('validaton ok');\r\n $(CSSSelectorForm).removeClass('was-validated');\r\n //do your ajax submition here\r\n }\r\n let ajaxData=root.formDataToDataObjectAPICall(CSSSelectorForm);\r\n\r\n let ajaxUrl=Opts.URL.store;\r\n let ajaxMethod=\"POST\";\r\n if(root.ProfitCenter.id){\r\n ajaxUrl=Opts.URL.update.replace('%id%',root.ProfitCenter.id);\r\n //ajaxMethod=\"PUT\";\r\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n ajaxData.append('_method','PUT');\r\n }\r\n/*\r\n debug(ajaxUrl);\r\n debug(ajaxMethod);\r\n debug(ajaxData.entries());\r\n for (var pair of ajaxData.entries()) {\r\n console.log(pair[0]+ ', ' + pair[1]);\r\n }\r\n*/\r\n\r\n console.table(Object.fromEntries(ajaxData));\r\n\r\n $.ajax({\r\n url:ajaxUrl,\r\n data:ajaxData,\r\n type:ajaxMethod,\r\n contentType:false,\r\n processData: false,\r\n headers: {\r\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\r\n },\r\n\r\n success:function (data){\r\n debug(data);\r\n if(data.success==true){\r\n\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n Opts.dataTable.orderDirective=[0, 'desc'];\r\n Toast.create({ title: \"Sikeres rögzítés!\", message: ajaxData.get('name')+\" nevű profitcenter elmentve\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\r\n APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\r\n let ajaxData=new FormData($(CSSSelectorForm)[0]);\r\n/*\r\n $.each(ajaxData.getAll('productGroup'),function(key,value){\r\n ajaxData.append('productGroup[]',value);\r\n })\r\n*/\r\n $.each(ajaxData.getAll('contactId'),function(key,value){\r\n ajaxData.append('contactId[]',value);\r\n })\r\n\r\n ajaxData.append('_token',$('input[name=_token]').val());\r\n\r\n $(CSSSelectorForm+' input[data-inputmask]').each(function (){\r\n let indexKey=$(this).attr('name');\r\n if(ajaxData.get(indexKey)){\r\n ajaxData.set(indexKey,ajaxData.get(indexKey).replace(/[_ ]+$/g,\"\"));\r\n }\r\n });\r\n $.each(ajaxData.getAll('supplier'),function(key,value){\r\n ajaxData.append('supplier[]',value);\r\n })\r\n return ajaxData;\r\n }\r\n this.construct(options, ProfitCenterItem);\r\n\r\n}\r\n","if(typeof Supplier==='undefined'){\n class Supplier extends DataModel{\n\n /*\n * Constructor\n */\n constructor (data,options) {\n super(data,options)\n if(typeof this.contact ===\"undefined\"){\n this.contact=[];\n }\n if(typeof this.canSee ===\"undefined\"){\n this.canSee=1;\n }\n if(typeof this.canSeeInOrder ===\"undefined\"){\n this.canSeeInOrder=1;\n }\n if(typeof this.hasDeliveryConstraint ===\"undefined\"){\n this.hasDeliveryConstraint=0;\n }\n if(typeof this.orderCutOffTime ===\"undefined\"){\n this.orderCutOffTime=12;\n }\n if(typeof this.deliveryLeadTime ===\"undefined\"){\n this.deliveryLeadTime=48;\n }\n console.log('Supplier constructor called');\n };\n };\n window.Supplier=Supplier;\n}\n\n\nwindow.SupplierAdmin=function (options,SupplierItem) {\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n token:null,\n containerCssSelector: '.containerSupplier',\n testMode:false,\n URL:{\n getDataTableContent:'',\n index:'',\n show:'',\n edit:'',\n create:'',\n store:'',\n update:'',\n destroy:'',\n attachFile:'',\n detachFile:'',\n createUser:'',\n },\n dataTable:{\n orderDirective:[1, 'asc']\n },\n onAfterInitViewDetails:function (){}\n };\n let Supplier = {};\n let root = this;\n let contactPopupWorkflow='new';\n /*\n * Constructor\n */\n this.construct = function (options,SupplierItem) {\n console.log('SupplierAdmin constructor called');\n $.extend(Opts, options);\n if(!SupplierItem){\n console.log('supplier letre kellet hozni ');\n if(!APP.Supplier){\n APP.Supplier=new window.Supplier();\n }\n root.Supplier=APP.Supplier;\n }\n };\n this.getOpts=function (){\n return Opts;\n }\n\n this.formDataToDataObjectAPICallOld= function (CSSSelector) {\n let data = new FormData(document.querySelector(CSSSelector));\n //let formJSON = Object.fromEntries(data.entries());\n var formJSON = {};\n data.forEach((value, key) => {\n // Reflect.has in favor of: formJSON.hasOwnProperty(key)\n if(!Reflect.has(formJSON, key)){\n formJSON[key] = value;\n return;\n }\n if(!Array.isArray(formJSON[key])){\n formJSON[key] = [formJSON[key]];\n }\n formJSON[key].push(value);\n });\n\n $(CSSSelector+' input[data-inputmask]').each(function (){\n if(formJSON[$(this).attr('name')]){\n formJSON[$(this).attr('name')]=formJSON[$(this).attr('name')].replace(/[_ ]+$/g,\"\");\n }\n });\n //formJSON.productGroups=$(\".productCategorySelect\").select2().val();\n\n\n /*Multiselect or checkbox to array:\n ajaxData['productGroup']=$(\".productCategorySelect\").select2().val();\n\n formJSON.multiselectName = data.getAll('multiselectName');\n $.each(formJSON, function (item, value) {\n formJSON[$.lcFirst(item.replace('contact', ''))] = value;\n delete formJSON[item];\n });\n if(formJSON.phone){\n formJSON.phone=formJSON.phone.replaceAll('_','');\n }\n if(formJSON.email){\n formJSON.email=formJSON.email.replaceAll('_','');\n }\n */\n return formJSON;\n }\n\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\n let ajaxData=new FormData($(CSSSelectorForm)[0]);\n $.each(ajaxData.getAll('profitCenter'),function(key,value){\n ajaxData.append('profitCenter[]',value);\n })\n $.each(ajaxData.getAll('productGroup'),function(key,value){\n ajaxData.append('productGroup[]',value);\n })\n $.each(ajaxData.getAll('supplierService'),function(key,value){\n ajaxData.append('supplierService[]',value);\n })\n $.each(ajaxData.getAll('contactId'),function(key,value){\n ajaxData.append('contactId[]',value);\n })\n\n ajaxData.append('_token',$('input[name=_token]').val());\n\n $(CSSSelectorForm+' input[data-inputmask]').each(function (){\n let indexKey=$(this).attr('name');\n if(ajaxData.get(indexKey)){\n ajaxData.set(indexKey,ajaxData.get(indexKey).replace(/[_ ]+$/g,\"\"));\n }\n });\n\n return ajaxData;\n }\n\n this.clickSaveButton=function (event) {\n debug('Save clicked');\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\n event.preventDefault();\n if ($(CSSSelectorForm+' input[name=\"canSeeInOrder\"]').val()==1 && $(CSSSelectorForm)[0].checkValidity() === false) {\n console.log('validaton false');\n $(CSSSelectorForm).addClass('was-validated');\n $(CSSSelectorForm)[0].reportValidity();\n Toast.create({ title: \"Validációs hiba!\", message: \"Kérjük, töltse ki a kötelező mezőket!\", status: TOAST_STATUS.DANGER, timeout: 5000 });\n event.stopPropagation();\n return;\n } else {\n console.log('validaton ok');\n $(CSSSelectorForm).removeClass('was-validated');\n //do your ajax submition here\n }\n let ajaxData=root.formDataToDataObjectAPICall(CSSSelectorForm);\n\n\n\n let ajaxUrl=Opts.URL.store;\n let ajaxMethod=\"POST\";\n if(root.Supplier.id){\n ajaxUrl=Opts.URL.update.replace('%id%',root.Supplier.id);\n //ajaxMethod=\"PUT\";\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\n ajaxData.append('_method','PUT');\n }\n\n debug(ajaxMethod);\n debug(ajaxData);\n\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n type:ajaxMethod,\n contentType:false,\n processData: false,\n headers: {\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\n },\n\n success:function (data){\n debug('d1: Save success ');\n debug(data);\n if(data.success==true){\n\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n Opts.dataTable.orderDirective=[0, 'desc'];\n Toast.create({ title: \"Sikeres rögzítés!\", message: ajaxData.get('name')+\" nevű beszálllító elmentve\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n APP.loadMainContent(Opts.URL.index+'?init=0',root.initViewList);\n }\n }\n });\n }\n this.setDetailsViewData=function () {\n debug('setDetailsViewData');\n console.log(Supplier);\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\n let needToSet=[\n 'name','hooreycaId','nameId',\n 'orderEmail','orderEmail2','address','mailingAddress','phone','fax','customerServicePhone',\n 'name22',\n 'openHours', 'ordersDeadline', 'minOrderValue',\n ];\n $.each(needToSet,function () {\n if(typeof root.Supplier[this]!='undefined'){\n $(CSSSelectorForm+' input[name='+this+']').val(root.Supplier[this]);\n $(CSSSelectorForm+' textarea[name='+this+']').val(root.Supplier[this]);\n }\n })\n if(typeof root.Supplier['note']!='undefined'){\n $(CSSSelectorForm+' textarea[name=note]').val(root.Supplier.note);\n }\n if(typeof root.Supplier['emailAttachmentType']!='undefined'){\n $(CSSSelectorForm+' input[name=emailAttachmentType][value='+root.Supplier['emailAttachmentType']+']').prop('checked',true);\n }\n $(CSSSelectorForm+' *[data-toggle=canSee][data-title='+root.Supplier.canSee+']').click();\n $(CSSSelectorForm+' *[data-toggle=canSeeInOrder][data-title='+root.Supplier.canSeeInOrder+']').click();\n $(CSSSelectorForm+' *[data-toggle=hooreycaDataActive][data-title='+root.Supplier.hooreycaDataActive+']').click();\n $(CSSSelectorForm+' *[data-toggle=hasDeliveryConstraint][data-title='+root.Supplier.hasDeliveryConstraint+']').click();\n $(CSSSelectorForm+' input[name=orderCutOffTime]').val(root.Supplier.orderCutOffTime);\n $(CSSSelectorForm+' select[name=deliveryLeadTime]').val(root.Supplier.deliveryLeadTime);\n let productGroup=[];\n $.each(root.Supplier.product_group,function () {\n productGroup.push(this.name);\n });\n $(CSSSelectorForm+' .productCategorySelect').val(productGroup).change();\n\n let service=[];\n $.each(root.Supplier.service,function () {\n service.push(this.name);\n });\n $(CSSSelectorForm+' .serviceSelect').val(service).change();\n\n let profitCenter=[];\n $.each(root.Supplier.profit_center,function () {\n profitCenter.push(this.name);\n });\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\n //debug(profitCenter);\n $.each(profitCenter,function () {\n $('input[value=\"'+$.escapeSelector(this)+'\"]').prop( \"checked\", true );\n })\n\n if(typeof root.Supplier['logoFile']!='undefined' && (root.Supplier['logoFile'])){\n $(CSSSelectorForm+' img.imageLogo').attr('src',root.Supplier['logoFile']);\n }\n if(typeof root.Supplier.users !== 'undefined'){\n root.resetUserTable();\n }\n\n //debug(APP.SupplierAdmin.formDataToDataObjectAPICall('.supplierForm')['productGroup']);\n //$('[name=productGroup]').val(['Büféáru_édesipari_termékek','Tojás']).change();\n //root.setDetailsViewData();\n }\n this.initViewDetails=function (options,SupplierItem){\n debug('**call initViewDetails ');\n if(!APP.ContactPopUp){\n console.log('nincs APP.ContactPopUp')\n APP.ContactPopUp = new window.ContactPopUp();\n }else{\n console.log('mar van APP.ContactPopUp')\n }\n APP.ContactPopUp.init({\n active:true,\n onAfterSave:root.contactAction\n });\n root.renderContact();\n $('.supplierForm .buttonNewContact').bind('click',function (){\n APP.SupplierAdmin.setContactPopupWorkflow('new');\n APP.ContactPopUp.clearData();\n APP.ContactPopUp.show();\n });\n $('[data-toggle=\"tooltip\"]').tooltip();\n initRadioButtons();\n $(\":input\").inputmask({\n \"onincomplete\": function () {\n console.log($(this).data('required'));\n if ($(this).val().length > 0 || $(this).data('required') === true) {\n $(this).addClass('is-invalid');\n }\n },\n \"oncomplete\": function () {\n $(this).removeClass('is-invalid');\n $(this).addClass('is-valid');\n },\n \"oncleared\": function () {\n console.log('cleared');\n $(this).removeClass('is-invalid');\n }\n });\n\n $('form.supplierForm button.FormSaveButton').off('click');\n $('form.supplierForm button.FormSaveButton').on('click',root.clickSaveButton);\n root.setDetailsViewData();\n root.initUserCreate();\n $(\".productCategorySelect\").select2();\n $(\".serviceSelect\").select2({\n tags: true,\n createTag: function (params) {\n let term = $.trim(params.term);\n\n if (term === '') {\n return null;\n }\n\n return {\n id: term,\n text: term,\n newTag: true // add additional parameters\n }\n }\n });\n\n //$(\".profitCenterSelect\").select2();\n $(\"input[name=logoFile]\").change(function(){\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\n });\n\n $('form.supplierForm .profitCenterSelectCheckboxAll').off('click');\n $('form.supplierForm .profitCenterSelectCheckboxAll').on('click',function () {\n //console.log();\n //let checked=$(this).is(\":checked\")\n $('form.supplierForm input.profitCenterSelectCheckbox').prop('checked',$(this).is(\":checked\"));\n });\n root.renderAttachment();\n //Opts.onAfterInitViewDetails();\n root.initFileAttachmentFeature();\n\n root.initDeliveryConstraintToggle();\n\n debug('**end initViewDetails ');\n }\n\n this.initDeliveryConstraintToggle=function () {\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\n let toggleDeliveryFields=function () {\n let val=$(CSSSelectorForm+' input[name=\"hasDeliveryConstraint\"]').val();\n if(val==1){\n $(CSSSelectorForm+' .deliveryConstraintFields').show();\n }else{\n $(CSSSelectorForm+' .deliveryConstraintFields').hide();\n }\n };\n $(CSSSelectorForm+' a[data-toggle=\"hasDeliveryConstraint\"]').off('click.deliveryConstraint');\n $(CSSSelectorForm+' a[data-toggle=\"hasDeliveryConstraint\"]').on('click.deliveryConstraint',function (){\n setTimeout(toggleDeliveryFields,0);\n });\n toggleDeliveryFields();\n }\n\n this.selectedUploadFileToggle=function (fileInput){\n /*\n console.log(fileInput.attr('name'));\n console.log(fileInput[0].files[0]);\n console.log(fileInput[0].files[0].name);\n */\n if(fileInput){\n $('.containerFileUpload').addClass('d-none');\n if(fileInput[0].files[0]){\n $('.containerUploadedFileName').text(fileInput[0].files[0].name);\n\n }\n $('.containerFileUploadStarted').removeClass('d-none');\n $('.containerUploadedSpinner').removeClass('d-none');\n }else{\n $('.containerUploadedFileName').text('');\n $('.custom-file-label.selected').text('');\n $('.containerFileUploadStarted').addClass('d-none');\n $('.uploadStatusRow').addClass('d-none');\n $('.containerFileUpload').removeClass('d-none');\n }\n }\n\n this.initFileAttachmentFeature=function () {\n console.log('-------initFileAttachmentFeature-----------');\n if(root.Supplier.id){\n $('.containerFileUpload').removeClass('d-none');\n $('.containerFileUploadNone').addClass('d-none');\n }\n\n\n $(Opts.containerCssSelector+' .buttonUpload').off('click');\n $(Opts.containerCssSelector+' .buttonUpload').on('click',function (){\n console.group('-------buttonUpload-----------');\n let fileInput=$('#inputGroupAttacheFile');\n if(fileInput[0].files.length<1){\n Toast.create({ title: \"Hiba!\", message: 'Vállaszon ki fájlt!', status: TOAST_STATUS.DANGER, timeout: 10000 });\n return;\n }\n console.log($(Opts.containerCssSelector).find('form.supplierForm')[0]);\n let data= new FormData($(Opts.containerCssSelector).find('form.supplierForm')[0]);\n data.append(fileInput.attr('name'),fileInput[0].files[0]);\n\n root.selectedUploadFileToggle(fileInput);\n let ajaxUrl=Opts.URL.attachFile.replace('%id%',root.Supplier.id);\n\n console.groupEnd();\n $.ajax({\n url:ajaxUrl,\n data:data,\n type:'POST',\n contentType:false,\n processData: false,\n beforeSend: function() {\n\n },\n success: function(data) {\n console.log(data);\n if(data.success==true){\n root.addAttachment(data.data.attachment);\n root.selectedUploadFileToggle();\n }\n },\n error: function(data) {\n console.log(data.responseJSON);\n root.selectedUploadFileToggle();\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n })\n\n });\n\n }\n\n this.clickNew=function () {\n debug('clickNew');\n APP.loadMainContent(Opts.URL.create,root.clickNewCallBack);\n }\n\n this.clickNewCallBack=function () {\n debug('callbackNew');\n root.Supplier=new window.Supplier();\n root.initViewDetails();\n }\n this.datatableRowActionEdit=function (rowData,node) {\n console.log('datatableRowActionEdit Called');\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n let ajaxUrl=Opts.URL.edit.replace('%id%',rowData.id);\n APP.loadMainContent(ajaxUrl,root.initViewDetails);\n console.log('datatableRowActionEdit End');\n }\n\n this.clickOrderDeleteConfirmed=function (event){\n debug('clickSupplierDeleteConfirmed');\n debug(event);\n debug(event.data);\n $('#dialogModal').modal('hide');\n let ajaxData={};\n ajaxData._token=Opts.token;\n let ajaxUrl=Opts.URL.destroy.replace('%id%',event.data.id);\n ajaxData._token=$('input[name=_token]').val();\n console.log(ajaxUrl);\n console.log(ajaxData);\n let row=$(dataTableCSSSelector).DataTable().row(root.dadatatableRowActionCallerNode.parents('tr'));\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n method:\"DELETE\",\n success:function (data){\n if(data.success==true){\n row.remove().draw();\n root.dadatatableRowActionCallerNode=false;\n }\n }\n });\n\n }\n let datatableRowActionCallerNode=false;\n\n this.datatableRowActionDelete=function (rowData,node) {\n console.log('datatableRowActionDelete Called');\n root.dadatatableRowActionCallerNode=node;\n $('#dialogModal').on('show.bs.modal', function (event) {\n // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).\n // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.\n var modal = $(this);\n modal.find('.modal-title').text('Megerősítés ');\n modal.find('.modal-body').text('Biztosan törli a beszállítót?');\n modal.find('.buttonYes').off('click');\n modal.find('.buttonYes').on('click',{id:rowData.id},root.clickOrderDeleteConfirmed);\n });\n $('#dialogModal').modal('show');\n }\n\n this.datatableRowActionButtonClick=function (event){\n debug('datatableRowActionButtonClick');\n let node=$(event[0].currentTarget);\n let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n let rowData=row.data();\n let actionName='datatableRowAction'+node.data('buttontype').capitalize();\n if (typeof root[actionName] === \"function\") {\n return root[actionName](rowData,node)\n }\n }\n\n this.initViewList = function (options={}) {\n debug('listview inicialization');\n dataTableCSSSelector=Opts.containerCssSelector+' .dataTable'; //\n\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableActionButtonClickCallBack:root.clickNew,\n datatableRowActionButtonClickCallBack:root.datatableRowActionButtonClick,\n\n })\n let orderDirective=Opts.dataTable.orderDirective;\n if(typeof options['orderDirective']!='undefined'){\n orderDirective=options['orderDirective'];\n }\n $(dataTableCSSSelector).DataTable( {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": Opts.URL.getDataTableContent,\n \"columnDefs\": [\n {\n \"targets\": colNum-1,\n \"render\": function ( data, type, row ) {\n let buttons=APP.datatableAddRowTrashButton(0,arguments);\n buttons+=APP.datatableAddRowEditButton(0,arguments);\n return buttons;\n },\n },\n {\n \"targets\": 1,\n \"render\": function ( data, type, row ) {\n return type === \"sort\" ? data.latinise() : data;\n },\n },\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons:{\n buttons: [\n 'excel','pdf',\n {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n },\n /**/\n\n {\n text: 'Új felvitele',\n className: 'btn btn-success newItem',\n attr:{\n /*\n data:{\n a:1,\n b:2\n\n }\n */\n 'data':'newItem'\n },\n init: function(api, node, config) {\n $(node).removeClass('ui-button')\n },\n action: function ( e, dt, node, config ) {\n APP.datatableActionButtonClickCallBack(arguments);\n /* console.log(e);\n console.log(dt);\n console.log(node);\n console.log(config);*/\n\n }\n }\n ]\n },\n \"columns\": [\n { \"data\": \"id\" },\n { \"data\": \"name\" },\n { \"data\": \"hooreycaId\" },\n { \"data\": \"nameId\" },\n { \"data\": \"created_at\" },\n null,\n ],\n \"order\": orderDirective,\n \"stateSave\": true,\n \"drawCallback\": function( settings ) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n } );\n debug('listview end');\n }\n\n this.autofillDetails=function (){\n debug('nyeresre allunk');\n let randomNumber=getRandomInt(9999);\n $('input[name=name]').val('Beszalító'+randomNumber);\n $('input[name=hooreycaId]').val('hb'+randomNumber);\n $('input[name=nameId]').val('be'+randomNumber);\n $('input[name=orderEmail]').val('kapcsolat'+randomNumber+'@beszallito.hu');\n $('input[name=orderEmail2]').val('informacio'+randomNumber+'@beszallito.hu');\n $('input[name=address]').val('8989 Supplier utca '+randomNumber);\n $('input[name=mailingAddress]').val('8989 Postai út'+randomNumber);\n $('input[name=phone]').val('+36301234567');\n $('input[name=fax]').val('36308889999');\n $('input[name=customerServicePhone]').val('+36761234444');\n $('textarea[name=note]').val('Megjegyzem '+randomNumber);\n\n }\n this.testMode=function () {\n console.debug('!!!!testmode !!!!');\n root.Supplier = new window.Supplier({\n 'contact':[\n {\n id:2,\n },\n {\n id:3,\n },\n /*\n {\n id:3,\n name:'Kósa Veronika',\n email:'szamlazas4@funkcio.hu',\n phone:'{{formatterPhoneNumber(\"+36204589180\")}}'\n }\n*/\n\n ]\n });\n Opts.onAfterInitViewDetails=root.autofillDetails;\n APP.loadMainContent(Opts.URL.create,root.initViewDetails);\n }\n this.init=function (options,SupplierItem){\n $.extend(Opts, options);\n\n if(Opts.testMode){\n return root.testMode();\n }\n if(SupplierItem){\n root.Supplier=SupplierItem\n }\n root.initViewList();\n }\n\n this.renderAttachment=function (){\n let rowNum=1;\n console.log('renderingAttachment');\n $.each(root.Supplier.getData('attachment'),function (){\n let attachmentData=this;\n attachmentData.rowNum=rowNum;\n date=new Date(attachmentData.created_at);\n attachmentData.date=date.toLocaleString();\n attachmentData.link=attachmentData.PublicUrl+'/'+attachmentData.filename;\n let template=$('template[data-name=\"supplierAttachmentTableRow\"]').html()\n let render=Mustache.render(template,attachmentData);\n $('.attachmentTable tbody').append(render);\n rowNum++;\n });\n root.bindAttachmentClickAction();\n }\n\n this.addAttachment=function (attachmentData){\n console.log(attachmentData);\n let CSSSelectorForm=Opts.containerCssSelector+' .supplierForm';\n root.Supplier.attachment.push(attachmentData);\n attachmentData.rowNum=root.Supplier.attachment.length;\n let template=$('template[data-name=\"supplierAttachmentTableRow\"]').html()\n let render=Mustache.render(template,attachmentData);\n $(CSSSelectorForm+' .attachmentTable tbody').append(render);\n root.bindContactClickAction();\n Toast.enableTimers(false);\n Toast.create({ title: \"Fájl hozzáadva!\", message: attachmentData.original_filename+\" fájl hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n }\n\n\n this.resetContactTable=function (){\n $('.contactTable tbody tr').remove();\n root.renderContact();\n }\n this.renderContact=function (){\n let rowNum=1;\n console.log('renderingContacts');\n $.each(root.Supplier.getData('contact'),function (){\n let contactData=this;\n contactData.rowNum=rowNum;\n //console.log(contactData);\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\n let render=Mustache.render(template,contactData);\n $('.contactTable tbody').append(render);\n rowNum++;\n });\n root.bindContactClickAction();\n }\n\n this.bindContactClickAction =function (){\n let node=$('.contactTable .buttonDelete');\n node.unbind('click');\n node.bind('click',root.contactDeleteClick);\n\n node=$('.contactTable .buttonEdit');\n node.unbind('click');\n node.bind('click',root.contactEditClick);\n\n }\n\n this.bindAttachmentClickAction=function (){\n let node=$('.attachmentTable .buttonDelete');\n node.unbind('click');\n node.bind('click',root.attachmentDeleteClick);\n }\n let currentAttachmentRow=false;\n this.attachmentDeleteClick=function (event){\n let row=$(this).closest('tr');\n let id=row.find('input[name=attachmentId]').val();\n let ajaxUrl=Opts.URL.detachFile.replace('%id%',root.Supplier.id);\n //let data= new FormData($(Opts.containerCssSelector).find('form.supplierForm')[0]);\n //data.append(fileInput.attr('name'),fileInput[0].files[0]);\n let data={};\n data._token=$('input[name=\"_token\"]').val();\n data.attachemntId=id;\n $.ajax({\n url:ajaxUrl,\n data:data,\n type:'POST',\n //contentType:false,\n //processData: false,\n beforeSend: function() {\n\n },\n success: function(data) {\n console.log(data);\n if(data.success==true){\n root.Supplier.attachment=root.Supplier.attachment.filter(\n function (value,index,arr){\n if (value.id!==data.data. attachment.id*1){\n return true;\n }\n return false;\n }\n );\n /*\n */\n //row.remove();\n root.resetAttachmentTable();\n }\n },\n error: function(data) {\n console.log(data.responseJSON);\n root.selectedUploadFileToggle();\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n })\n\n }\n\n\n this.resetAttachmentTable=function (){\n $('.attachmentTable tbody tr').remove();\n root.renderAttachment();\n }\n\n this.contactDeleteClick=function (event){\n let row=$(this).closest('tr');\n let id=row.find('input[name=contactId]').val();\n root.Supplier.contact=root.Supplier.contact.filter(\n function (value,index,arr){\n if (value.id!==id*1){\n return true;\n }\n return false;\n }\n );\n row.remove();\n root.resetContactTable();\n }\n root.getContactPopupWorkflow = function () {\n return contactPopupWorkflow;\n }\n root.setContactPopupWorkflow = function (status) {\n contactPopupWorkflow=status;\n }\n\n\n this.contactEditClick=function (event){\n //console.log(this);\n let row=$(this).closest('tr');\n let id=row.find('input[name=contactId]').val();\n root.setContactPopupWorkflow('edit');\n APP.ContactPopUp.loadData(id);\n }\n\n this.getSupplier=function (){\n return root.Supplier;\n }\n this.contactAction=function (contactData){\n console.log('nah most kellene meg valamit csinalni.')\n if(root.getContactPopupWorkflow()=='new'){\n root.addContact(contactData);\n }else if(root.getContactPopupWorkflow()=='edit'){\n root.editContact(contactData.id,contactData);\n }\n }\n\n this.editContact=function (id,contactData){\n\n let newContacts=[];\n $.each(root.Supplier.getData('contact'),function (index){\n if(this.id==id){\n newContacts.push(contactData);\n }else{\n newContacts.push(this);\n }\n });\n root.Supplier.contact=newContacts;\n root.resetContactTable();\n Toast.create({ title: \"Kapcsolat adatai módosítva!\", message: contactData.name+\" nevű kapcsolattartó módosítva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n }\n this.addContact=function (contactData){\n /*\n fel kell venni a sorba\n */\n root.Supplier.contact.push(contactData);\n contactData.rowNum=root.Supplier.contact.length;\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\n let render=Mustache.render(template,contactData);\n $('.contactTable tbody').append(render);\n root.bindContactClickAction();\n Toast.enableTimers(false);\n Toast.create({ title: \"Kapcsolattartó hozzáadva!\", message: contactData.name+\" nevű kapcsolattartó hozzáadva\", status: TOAST_STATUS.SUCCESS, timeout: 5000 });\n }\n\n\n this.resetUserTable=function (){\n $('.supplierUserTable tbody tr').remove();\n root.renderUsers();\n }\n this.renderUsers=function (){\n let rowNum=1;\n let users=root.Supplier.users||[];\n $.each(users,function (){\n let userData=$.extend({},this);\n userData.rowNum=rowNum;\n let template=$('template[data-name=\"supplierUserTableRow\"]').html();\n let render=Mustache.render(template,userData);\n $('.supplierUserTable tbody').append(render);\n rowNum++;\n });\n root.bindUserClickAction();\n }\n this.bindUserClickAction=function (){\n let node=$('.supplierUserTable .buttonDelete');\n node.unbind('click');\n node.bind('click',root.userDeleteClick);\n }\n this.userDeleteClick=function (){\n let row=$(this).closest('tr');\n let id=row.find('input[name=userId]').val()*1;\n root.Supplier.users=root.Supplier.users.filter(function (value){\n return value.id!==id;\n });\n row.remove();\n root.resetUserTable();\n }\n this.addUser=function (userData){\n if(!root.Supplier.users){ root.Supplier.users=[]; }\n let alreadyAdded=root.Supplier.users.some(function(u){ return u.id===userData.id; });\n if(alreadyAdded){ return; }\n root.Supplier.users.push(userData);\n userData.rowNum=root.Supplier.users.length;\n let template=$('template[data-name=\"supplierUserTableRow\"]').html();\n let render=Mustache.render(template,userData);\n $('.supplierUserTable tbody').append(render);\n root.bindUserClickAction();\n Toast.enableTimers(false);\n Toast.create({ title: 'Felhasználó hozzáadva!', message: userData.name+' hozzárendelve', status: TOAST_STATUS.SUCCESS, timeout: 3000 });\n }\n this.initUserCreate=function (){\n let createUrl=Opts.URL.createUser||'';\n let container=$(Opts.containerCssSelector);\n function clearForm(){\n container.find('.supplierNewUserName').val('');\n container.find('.supplierNewUserEmail').val('');\n container.find('.supplierNewUserPassword').val('');\n container.find('.supplierNewUserError').hide().text('');\n }\n container.find('.buttonCreateUser').off('click').on('click',function(){\n let name=container.find('.supplierNewUserName').val().trim();\n let email=container.find('.supplierNewUserEmail').val().trim();\n let password=container.find('.supplierNewUserPassword').val();\n let errorEl=container.find('.supplierNewUserError');\n errorEl.hide().text('');\n if(!name||!email||!password){\n errorEl.text('Minden mező kitöltése kötelező!').show();\n return;\n }\n $.ajax({\n url:createUrl,\n type:'POST',\n data:{name:name, email:email, password:password},\n headers:{'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()},\n success:function(data){\n if(data.success){\n root.addUser(data.user);\n clearForm();\n }else{\n errorEl.text('Hiba történt a felhasználó létrehozásakor!').show();\n }\n },\n error:function(xhr){\n let msg='Hiba történt!';\n if(xhr.responseJSON&&xhr.responseJSON.errors){\n let errors=xhr.responseJSON.errors;\n let firstKey=Object.keys(errors)[0];\n msg=errors[firstKey][0];\n }\n errorEl.text(msg).show();\n }\n });\n });\n }\n this.construct(options,SupplierItem);\n};\n"],"names":["window","Dashboard","Opts","active","containerCssSelector","testFileMod","isAdmin","URL","create","store","getDataTableContent","destroy","root","this","construct","options","debug","$","extend","getOpts","init","console","log","initEditorButtons","off","on","initEditor","toggleClass","saveCustomContent","removeEditor","ajaxData","FormData","append","tinymce","activeEditor","getContent","ajaxUrl","update","replace","data","ajax","url","type","contentType","processData","beforeSend","success","Toast","title","message","status","TOAST_STATUS","INFO","timeout","error","responseJSON","ajaxErrorFieldHandler","loadTinymce","getScript","remove","selector","language","plugins","toolbar","PriceListAdmin","ProfitCenterItem","dataTableCSSSelector","errorRowPointer","errorRowCount","initErrorNavigationButton","length","removeClass","scrollTop","position","top","addClass","selectedUploadFileToggle","fileInput","files","text","name","empty","clickNewPriceListCallBack","initViewDetails","clickNewPriceList","APP","loadMainContent","datatableRowActionButtonClick","event","node","currentTarget","row","DataTable","parents","rowData","id","_token","val","method","draw","initViewList","colNum","setOpts","datatableActionButtonClickCallBack","datatableRowActionButtonClickCallBack","dataTablePriceList","render","datatableAddRowTrashButton","arguments","buttons","autoPrint","className","attr","api","config","action","e","dt","drawCallback","settings","datatableAddRowAction","datepicker","dateFormat","onSelect","dateText","replaceAll","DANGER","processCheckedPriceListResponse","hide","priceListHasError","responseData","processCheckedPriceListResponseRows","rows","show","responseRowsData","key","templateData","originalData","rowNum","template","html","Mustache","ucFirst","processResponseRowErrors","changed","processResponseRowChanged","changedArray","trNode","tdNode","find","changedTxtNode","document","createElement","old","errorArray","fields","errorTxtNode","PriceListProfitCenterAdmin","token","testMode","getProductGroupHTML","index","edit","dataTable","orderDirective","onAfterInitViewDetails","SupplierItem","changeParameter","supplier","deliveryDate","checkRefreshPossible","needRefresh","each","refreshDatatable","refreshProductGroup","setDatatableHeaderText","getTreePathName","res","items","toArray","item","shift","reverse","children","bindProductGroupItem","groupId","selectedProductGroup","reload","changePriceListProfitCenterParameter","obj","objName","get","nodeName","select2","CSSSelectorForm","click","maximumSelectionLength","minDate","Date","input","getDatatables","productSelectDataTableDrawDT","orderType","columns","OrderModule","productSelectDataTableColumn","stock_status","supplierId","productSelectDataTableColumnDefs","Product","_Product","_this","_classCallCheck","_callSuper","contact","_inherits","DataModel","_createClass","ProductAdmin","ProductItem","container","resultContainerSelector","resultContainer","filters","attachFile","detachFile","actionName","capitalize","datatableRowActionEdit","initViewListOld","undefined","serverSide","orderable","datatableAddRowEditButton","latinise","placeholder","allowClear","getProductSearch","dataType","params","term","page","cache","button","loadingResultContainer","requestProducts","setVisibleFilters","loadFiltersFromLocalStorage","hideResultContainer","showResultContainer","picture","picUrl","PublicUrl","filename","specification","addAttachment","FormSaveButton","clickSaveButton","attachmentData","dateStr","updated_at","toLocaleString","date","link","enableTimers","original_filename","SUCCESS","typeIndex","typeName","c","formDataToDataObjectAPICall","getAll","value","getAjaxDataJson","_step","_iterator","_createForOfIteratorHelper","entries","s","n","done","pair","err","f","object","forEach","Reflect","has","Array","isArray","push","JSON","stringify","ajaxDataJson","form","formData","filterData","localStorage","setItem","d","getItem","parse","_loop","is","trigger","prop","includes","processResponse","preventDefault","checkValidity","stopPropagation","ajaxMethod","headers","DataModelProfitCenter","_DataModelProfitCenter","address","constructor","ProfitCenterAdmin","contactPopupWorkflow","addressPopupWorkflow","ProfitCenter","getData","clickNew","clickNewCallBack","ContactPopUp","onAfterSave","contactAction","renderContact","bind","setContactPopupWorkflow","clearData","AddressPopUp","addressAction","renderAddress","setAddressPopupWorkflow","tooltip","initRadioButtons","onChange","inputmask","onincomplete","oncomplete","oncleared","setDetailsViewData","note","canSee","hooreycaDataActive","addressEqual","multiAddress","suppliers","escapeSelector","resetContactTable","bindContactClickAction","unbind","contactDeleteClick","contactEditClick","closest","filter","arr","getContactPopupWorkflow","loadData","contactData","addContact","editContact","newContacts","resetAddressTable","itemData","bindAddressClickAction","addressDeleteClick","addressEditClick","getAddressPopupWorkflow","addAddress","editAddress","ItemData","street","newItem","datatableRowActionDelete","reportValidity","table","Object","fromEntries","indexKey","set","Supplier","_Supplier","canSeeInOrder","hasDeliveryConstraint","orderCutOffTime","deliveryLeadTime","SupplierAdmin","createUser","formDataToDataObjectAPICallOld","CSSSelector","querySelector","formJSON","productGroup","product_group","change","service","profitCenter","profit_center","users","resetUserTable","initUserCreate","tags","createTag","trim","newTag","setImageFromLocal","renderAttachment","initFileAttachmentFeature","initDeliveryConstraintToggle","toggleDeliveryFields","setTimeout","group","groupEnd","attachment","clickOrderDeleteConfirmed","modal","dadatatableRowActionCallerNode","autofillDetails","randomNumber","getRandomInt","created_at","bindAttachmentClickAction","attachmentDeleteClick","attachemntId","resetAttachmentTable","getSupplier","renderUsers","userData","bindUserClickAction","userDeleteClick","addUser","some","u","createUrl","email","password","errorEl","user","clearForm","xhr","msg","errors","keys"],"sourceRoot":""} \ No newline at end of file diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 5fc7374..989641b 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,8 +1,8 @@ { "/js/app.js": "/js/app.js?id=9656e746371b15d28c4e4f8f816f8fc1", "/js/app.js.map": "/js/app.js.map?id=5e840a79ad0112917eec1908319f0c8e", - "/js/admin.js": "/js/admin.js?id=f9e506f8086395d68a888529fd392b8b", - "/js/admin.js.map": "/js/admin.js.map?id=a4ee20441219d5be4e7e1e6282d2ac9e", + "/js/admin.js": "/js/admin.js?id=cd52a43f6016a6d671a1c0719e1386c3", + "/js/admin.js.map": "/js/admin.js.map?id=9c2a1d66ed94420158282276be1df958", "/js/module.js": "/js/module.js?id=378a05902533f9964348d11f3598ebe7", "/js/module.js.map": "/js/module.js.map?id=5280840a9916b3c3f516286796bdeb49", "/js/components.js": "/js/components.js?id=aac1b5221c918d1afb98a34e79620cde", diff --git a/resources/js/admin/product.js b/resources/js/admin/product.js index f525a69..6008ae8 100644 --- a/resources/js/admin/product.js +++ b/resources/js/admin/product.js @@ -437,7 +437,7 @@ window.ProductAdmin=function (options,ProductItem) { console.log('---******----'); console.log(APP.ProductAdmin.getAjaxDataJson()); return $.extend({}, d, { - ajaxData: APP.ProductAdmin.getAjaxDataJson + ajaxData: APP.ProductAdmin.getAjaxDataJson() }); }, type: ajaxMethod diff --git a/resources/views/admin/product/index.blade.php b/resources/views/admin/product/index.blade.php index e7cb5ae..366996c 100644 --- a/resources/views/admin/product/index.blade.php +++ b/resources/views/admin/product/index.blade.php @@ -4,6 +4,27 @@ @csrf @include('admin.statistics.filter') +{{-- +
+
+
+ + +
+
+
+--}} + + + +