From 1e3c6fd562e0ae2dce4385e2c52dc6e159e7cc45 Mon Sep 17 00:00:00 2001 From: E98Developer Date: Sat, 25 Apr 2026 09:28:34 +0200 Subject: [PATCH] ADD NextDeliveryDate to order parameter view. --- app/Http/Controllers/OrderController.php | 73 ++++++++++++++ public/js/module.js | 2 +- public/js/module.js.map | 2 +- public/mix-manifest.json | 4 +- resources/js/moduleJs/order.js | 96 ++++++++++++++++++- .../views/modules/order/parameter.blade.php | 93 ++++++++++++++++++ routes/web.php | 1 + 7 files changed, 263 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/OrderController.php b/app/Http/Controllers/OrderController.php index 2cd4644..00ea007 100644 --- a/app/Http/Controllers/OrderController.php +++ b/app/Http/Controllers/OrderController.php @@ -19,12 +19,16 @@ use App\Models\Test; use App\Repositories\ProductRepository; use App\Repositories\SupplierRepository; +use App\Services\DeliveryCalendarService; +use App\Services\NextDeliveryDateCalculatorService; +use App\Services\WorkCalendarService; use App\Services\OrderService; use App\Services\ProfitCenterService; use ArrayObject; use Barryvdh\DomPDF\Facade\Pdf as PDF; use Carbon\Carbon; use Illuminate\Http\JsonResponse; +use Illuminate\Support\Carbon as ICarbon; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\App; @@ -512,6 +516,8 @@ private function createParameter(Request $request) $CustomNotificationEmailData = $Supplier->contactOrderMail->toArray(); } + $profitCenterId = auth()->user()->profitCenters()->first()->id; + return view('modules.order.parameter')->with([ // 'supplier'=>$ProfitCenter[''], 'oneAddress' => $oneAddress, @@ -519,7 +525,74 @@ private function createParameter(Request $request) 'CustomNotificationEmailData' => $CustomNotificationEmailData, 'supplierNote' => $supplierNote, 'profitCenterAddress' => $ProfitCenterAddress, + 'supplierId' => $Order->supplier_id, + 'profitCenterId' => $profitCenterId, + 'deliveryCalendarDataUrl' => route('order.deliveryCalendarData'), + ]); + } + public function getDeliveryCalendarData( + Request $request, + DeliveryCalendarService $deliveryCalendarService, + NextDeliveryDateCalculatorService $nextDeliveryCalculator, + WorkCalendarService $workCalendarService, + ): JsonResponse { + $supplierId = (int) $request->get('supplierId'); + $profitCenterId = (int) $request->get('profitCenterId'); + $orderDateTime = Carbon::parse($request->get('orderDateTime', now())); + + $supplier = Supplier::find($supplierId); + $pc = ProfitCenter::find($profitCenterId); + + if (! $supplier || ! $pc) { + return response()->json(['error' => 'Érvénytelen szállító vagy profitcenter'], 422); + } + + /** @var \Illuminate\Support\Collection $calendarEntries */ + $calendarEntries = $workCalendarService->getCalendarEntries( + ICarbon::today(), + ICarbon::today()->addDays(90), + ); + + $holidays = $calendarEntries + ->where('type', \App\Enums\WorkDayType::Holiday) + ->map(fn ($e) => ['date' => ICarbon::parse($e->date)->toDateString(), 'description' => $e->description]) + ->values(); + + $workingDays = $calendarEntries + ->where('type', \App\Enums\WorkDayType::WorkingDay) + ->map(fn ($e) => ['date' => ICarbon::parse($e->date)->toDateString(), 'description' => $e->description]) + ->values(); + + if (! $supplier->hasDeliveryConstraint) { + return response()->json([ + 'hasDeliveryConstraint' => false, + 'availableDates' => [], + 'nextDeliveryDate' => null, + 'orderCutOffTime' => null, + 'deliveryLeadTime' => null, + 'holidays' => $holidays, + 'workingDays' => $workingDays, + ]); + } + + $availableDates = $deliveryCalendarService->getAvailableDeliveryDates( + $pc, + $supplier, + ICarbon::today(), + ICarbon::today()->addDays(90), + )->map(fn (Carbon $d) => $d->format('Y-m-d'))->values(); + + $nextDeliveryDate = $nextDeliveryCalculator->calculate($supplierId, $profitCenterId, ICarbon::parse($orderDateTime)); + + return response()->json([ + 'hasDeliveryConstraint' => true, + 'availableDates' => $availableDates, + 'nextDeliveryDate' => $nextDeliveryDate?->format('Y-m-d'), + 'orderCutOffTime' => $supplier->orderCutOffTime, + 'deliveryLeadTime' => $supplier->deliveryLeadTime, + 'holidays' => $holidays, + 'workingDays' => $workingDays, ]); } diff --git a/public/js/module.js b/public/js/module.js index aef5dfc..4bceb75 100644 --- a/public/js/module.js +++ b/public/js/module.js @@ -1,2 +1,2 @@ -(()=>{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,a){for(var r=0;r{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,a){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function _unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return _arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(t,a):void 0}}(t))||a&&t&&"number"==typeof t.length){r&&(t=r);var o=0,i=function F(){};return{s:i,n:function n(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},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(){r=r.call(t)},n:function n(){var t=r.next();return c=t.done,t},e:function e(t){d=!0,l=t},f:function f(){try{c||null==r.return||r.return()}finally{if(d)throw l}}}}function _arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,o=Array(a);r'+r.html()+""),a.bindClickAction()},this.addEnabled=function(r){t.enable.includes(r)||t.enable.push(r),a.setEnabled(r)},this.addCompleted=function(r){t.complete.includes(r)||t.complete.push(r),a.setCompleted(r),a.bindClickAction()},this.loadStepContent=function(a){var r={type:a};$.extend(r,t.UrlData),$.ajax({async:!0,type:"GET",url:t.URL.create,data:r,cache:!1,success:function success(r){var o=$(".SC"+a.capitalize());-1==$.inArray(a,t.excludeLoaded)?t.loaded.push(a):console.log("excluded View"),o.html(r),t.nowLoaded&&t.nowLoaded(a),t.onAfterLoad()}})},this.clearLoaded=function(){t.loaded=["supplier"],$(".stepContainer").each(function(){this.classList.contains("SCSupplier")||$(this).html("")})},this.setActiveFinish=function(r){var o=$(".SC"+r.capitalize());"productSelect"===r?$(".containerStepper").addClass("activeSideBar"):$(".containerStepper").removeClass("activeSideBar"),debug("setActiveFinish show:"+r),o.show(),t.nowLoaded=!1,a.active=r,t.onAfterActivate(),void 0!==t.autoCallback[r]&&t.autoCallback[r].onAfterActivate()},this.setActive=function(r){$(".stepContainer").hide(),t.loaded.includes(r)?this.setActiveFinish(r):(a.loadStepContent(r),t.nowLoaded=this.setActiveFinish)},this.stepClick=function(t){t.preventDefault();var r=$(t.currentTarget).data("stepname");console.log("setActive:"+r),a.setActive(r)}},window.OrderModule=function(){var a={testMode:!1,needStepper:!0,CSSSelectorForm:".orderParameterForm",defaultDeliveryDate:"",dataSyncPauseTime:500,token:null,URL:{root:null,getDataTableContentProductList:null,checkReadyToSend:null,index:null,show:null,edit:null,create:null,store:null,update:null,destroy:null,toggleFavorites:null}},r=null,o=this,i=[];this.setOpts=function(t){$.extend(a,t)},this.getOpts=function(){return a},this.clickOrderEdit=function(t){debug("clickEdit"),debug(t);var r=a.URL.edit.replace("%id%",t.id);APP.loadMainContent(r)},this.afterOrderDeleted=function(t){1==t.success?(debug("Order delete success"),APP.loadMainContent(a.URL.index)):Toast.create({title:"Error deleted !",message:"",status:TOAST_STATUS.DANGER,timeout:5e3})},this.clickOrderDeleteConfirmed=function(t){debug("clickOrderDeleteConfirmed"),debug(t),debug(t.data),$("#dialogModal").modal("hide");var r={};r._token=a.token;var i=a.URL.destroy.replace("%id%",t.data.id);$.ajax({url:i,data:r,method:"DELETE",success:o.afterOrderDeleted})},this.initViewOrderSelect=function(){debug("called initViewOrderSelect "),$(".ordersSelectTable button").off("click"),$(".ordersSelectTable button").on("click",function(){var t=$(this).data("action"),a=$($(this).closest("tr")[0]).data("orderid");debug(t),debug(a),"delete"==t?($("#dialogModal").on("show.bs.modal",function(t){var r=$(this);r.find(".modal-title").text("Megerősítés "),r.find(".modal-body").text("Biztosan törli a megrendelést?"),r.find(".buttonYes").off("click"),r.find(".buttonYes").on("click",{id:a},o.clickOrderDeleteConfirmed)}),$("#dialogModal").modal("show")):o.clickOrderEdit({id:a})}),$(".buttonNew").off("click"),$(".buttonNew").on("click",function(){APP.loadMainContent(a.URL.index,"force=true")})},this.initStepper=function(){debug(r.getData()),i=[],$(".statusNamePlace").text("Nincs elküldve"),$(".statusNamePlace").addClass("statusBlink"),o.setDeliveryDate("-"),o.setSupplier("-"),$.each(["parameter","productSelect","invoice","send"],function(t,a){o.Stepper.unsetEnabled(a),o.Stepper.unsetCompleted(a)}),debug(o.Stepper.getOpts().available),debug(r.getData().orderStatus);var t,l="supplier",c=["supplier"],d=[],u=function stepOnAfterActivate(){},p=o.Stepper.getOpts().available,b=!1,v=[],h=_createForOfIteratorHelper(p);try{for(h.s();!(t=h.n()).done;){var y=t.value;u=this["initView"+y.capitalize()];var m={};m.onAfterActivate=u,v[y]=m}}catch(t){h.e(t)}finally{h.f()}if(debug(v),debug(r.getData().id),r.getData().id>0){debug("hajra"),debug(r.getData()),r.getData().deliveryDate&&o.setDeliveryDate(r.getData().deliveryDate),r.getData().supplierName&&o.setSupplier(r.getData().supplierName),b={supplierId:r.supplierId,id:r.id};var g,S=_createForOfIteratorHelper(p);try{for(S.s();!(g=S.n()).done;){var w=g.value;if(console.log(w),c.push(w),d.push(w),r.getData().orderStatus==w){l=w;break}}}catch(t){S.e(t)}finally{S.f()}}o.Stepper.init({complete:c,enable:d,loaded:[],active:l,URL:{create:a.URL.create},UrlData:b,onAfterActivate:u,autoCallback:v})},this.initOrder=function(a){r=new t(a)},this.init=function(i){if(debug("OrderModul init called"),$.extend(a,window.OrderModulDefault,i),r=new t,a.needStepper&&void 0===this.Stepper&&(this.Stepper=new Stepper),a.testMode)return o.testMode()},this.setSupplier=function(t,a){t&&$(".supplierNamePlace").text(t),a&&(r.setData({supplierId:a}),o.Stepper.setOpts({UrlData:{supplierId:a}}))},this.setDeliveryDate=function(t,r){var o=t.replaceAll("-",".")+".";o.length<5?$(".deliveryDatePlace").text(t):(r&&(o+=" - "+r.replaceAll("-",".")+"."),$(a.CSSSelectorForm+" .selectedDateText").text(o),$(".deliveryDatePlace").text(o),$(a.CSSSelectorForm+' input[name="deliveryDate"]').val(t))},this.getData=function(){return r},this.setSupplierCompleted=function(){console.log("bingo"),o.initViewParameter()},this.afterOrderSetSupplierOk=function(t){Toast.create({title:"Supplier selected !",message:t.supplier.name,status:TOAST_STATUS.INFO,timeout:5e3}),o.setSupplier(t.supplier.name,t.supplier.id),r.setData({id:t.id}),o.Stepper.setOpts({UrlData:{supplierId:r.supplierId,id:r.id}}),o.Stepper.setEnabled("parameter"),o.Stepper.addCompleted("parameter"),o.Stepper.setCompleted("parameter"),o.Stepper.setActive("parameter")},this.initViewSupplier=function(){debug("call initViewSupplier"),o.Stepper.setOpts({onAfterLoad:function onAfterLoad(){}}),$(".supplierItem").off("click"),$(".supplierItem").on("click",function(i){console.log(r.getData()),i.preventDefault();var l=$(i.currentTarget).data("id"),c=$(i.currentTarget).find("h5.card-title").text();if(void 0===r.supplierId){var d={};d._token=a.token,d.supplierId=l,d.storeType="supplierSelect",$.extend(d,r),$.ajax({url:a.URL.store,method:"POST",data:d,success:function success(t){t.success&&o.afterOrderSetSupplierOk(t.data)}})}else r.supplierId!=l&&(Toast.create({title:"Supplier change to!",message:c,status:TOAST_STATUS.WARNING,timeout:5e3}),o.Stepper.clearLoaded(),r=new t)})},this.checkContactNameField=function(){var t=$(".orderParameterForm input[name=contactName]");return t.val().length<2?(t.removeClass("is-valid"),t.addClass("is-invalid"),!1):(t.addClass("is-valid"),t.removeClass("is-invalid"),!0)},this.sendOrderDataToServer=function(t,o,i){var l={},c=a.URL.store;r.id&&(c=a.URL.update.replace("%id%",r.id),l._method="PUT"),l._token=a.token,l.updateType=t,$.extend(l,r),debug(r),debug(l),debug("ajaxUrl:"+c),l=jsonToFormData(l),$.ajax({url:c,data:l,type:"POST",contentType:!1,processData:!1,success:function success(t){debug("ajax returned data"),debug(t),t.success&&o(t)},error:function error(t,a,r){ajaxErrorHandler(t,a,r),void 0!==i&&i(t.responseJSON)}})},this.afterOrderSetParameterOk=function(t){debug("called afterOrderSetParameterOk"),o.Stepper.setOpts({UrlData:{supplierId:r.supplierId,id:r.id}}),o.Stepper.setEnabled("productSelect"),o.Stepper.addCompleted("productSelect"),o.Stepper.setCompleted("productSelect"),o.Stepper.setActive("productSelect")},this.selectCurrentWeek=function(){console.error("selectCurrentWeek"),console.error($(".ui-datepicker").find(".ui-datepicker-current-day a")),$(".ui-datepicker").find(".ui-datepicker-current-selected-weekday a").addClass("ui-state-active")},this.weekHover=function(){console.error("hover Active"),$(".ui-datepicker-calendar tr").off("mousemove"),$(".ui-datepicker-calendar tr").off("mouseleave"),$(".ui-datepicker-calendar tr").on("mousemove",function(){$(this).find("td a").addClass("ui-state-hover")}),$(".ui-datepicker-calendar tr").on("mouseleave",function(){$(this).find("td a").removeClass("ui-state-hover")})},this.weekHoverSlow=function(){console.error("weekHoverSlow"),$(".ui-datepicker-calendar tr").length<1?setTimeout(o.weekHoverSlow,1):o.weekHover()},this.initDatePicker=function(t){console.error("asdasdadad"),console.log("tipus"+t);var a=".orderParameterForm",r=new Date("1900-01-01"),i=new Date("1900-01-02");$(a+" .datePicker").datepicker("destroy"),"weekly"==t?$(a+" .datePicker").datepicker({showOtherMonths:!0,selectOtherMonths:!0,showWeek:!0,dateFormat:"yy-mm-dd",firstDay:1,minDate:new Date,afterShow:function afterShow(t,a){o.weekHover(),o.selectCurrentWeek()},onSelect:function onSelect(t,a){var l=$(this).datepicker("getDate");r=new getMonday(l),i=new Date(l.getFullYear(),l.getMonth(),l.getDate()-l.getDay()+7),o.setDeliveryDate($.datepicker.formatDate("yy-mm-dd",r),$.datepicker.formatDate("yy-mm-dd",i))},beforeShow:function beforeShow(){console.group("beforeShow"),console.log(r),console.log(i),console.groupEnd()},beforeShowDay:function beforeShowDay(t){console.group("beforeShowDay"),console.log(t.toLocaleDateString("hu-Hu"));var a="";return t>=r&&t<=i&&(console.error(t.toLocaleDateString("hu-Hu")),a="ui-datepicker-current-selected-weekday"),console.log(a),console.groupEnd(),[!0,a]},onChangeMonthYear:function onChangeMonthYear(t,a,r){}}):$(a+" .datePicker").datepicker({dateFormat:"yy-mm-dd",minDate:new Date,onSelect:function onSelect(t){$(a+" .selectedDateText").text(t),$(".deliveryDatePlace").text(t.replaceAll("-",".")+"."),$(a+' input[name="deliveryDate"]').val(t)}})},this.callChangeOrderType=function(){console.log(this),console.log(this.value),o.initDatePicker(this.value)},this.initViewParameter=function(){debug("call initViewParameter"),o.Stepper.setOpts({onAfterLoad:function onAfterLoad(){}});var t=".orderParameterForm";if($(t+" .datePickerClick").click(function(){$(t+" .datePicker").datepicker("show")}),$(t+" .orderParameterDeliveryAddress").select2({}).show(),$(t+" input[name=contactName]").off("blur"),$(t+" input[name=contactName]").off("keyup"),$(t+" input[name=contactName]").on("blur",o.checkContactNameField),$(t+" input[name=contactName]").on("keyup",o.checkContactNameField),$(t+" input[name=orderType]").off("change"),$(t+" input[name=orderType]").on("change",o.callChangeOrderType),$(t+" .orderParameterNextButton").off("click"),r.getData().id>0){if("weekly"==r.getData().orderType){o.initDatePicker(r.getData().orderType),$(t+" input[name=orderType][value="+r.getData().orderType+"]").prop("checked",!0);var a=new Date(r.getData().deliveryDate);a.setDate(a.getDate()+6),o.setDeliveryDate(r.getData().deliveryDate,$.datepicker.formatDate("yy-mm-dd",a)),o.initDatePicker("weekly")}else r.getData().deliveryDate&&o.setDeliveryDate(r.getData().deliveryDate),o.initDatePicker("daily");r.getData().contactName&&$(t+" input[name=contactName]").val(r.getData().contactName),r.getData().note&&$(t+" textarea[name=note]").val(r.getData().note),r.getData().deliveryAddressId&&(console.log($(t+" select[name=deliveryAddressId]")),$(t+" select[name=deliveryAddressId]").val(r.getData().deliveryAddressId)),r.getData().customNotificationEmail&&(console.log($(t+" select[name=customNotificationEmail]")),$(t+" select[name=customNotificationEmail]").val(r.getData().customNotificationEmail))}else o.initDatePicker("daily");$(t+" .orderParameterDeliveryAddress").select2({}).show(),$(t+" .orderParameterCustomNotificationEmail").select2({}).show(),$(t).submit(function(a){if(a.preventDefault(),!1===$(t)[0].checkValidity())return debug("validaton false"),void a.stopPropagation();debug("validaton ok"),$(".deliveryDatePlace").text($(t+" input[name=deliveryDate]").val().replaceAll("-",".")+"."),r.setData({contactName:$(t+" input[name=contactName]").val(),note:$(t+" textarea[name=note]").val(),orderType:$(t+" input:checked[name=orderType]").val(),deliveryDate:$(t+" input[name=deliveryDate]").val(),deliveryAddressId:$(t+" select[name=deliveryAddressId]").val(),deliveryAddress:$(t+" select[name=deliveryAddress]").val(),customNotificationEmail:$(t+" select[name=customNotificationEmail]").val()}),console.group("parameter form submit"),console.error($(t+" input:checked[name=orderType]").val()),console.error($(t+" input[name=deliveryDate]").val()),debug(r.getData()),console.groupEnd(),o.sendOrderDataToServer("parameter",o.afterOrderSetParameterOk)})},this.blank=function(){},this.setParameterCompleted=function(){console.log("setParameterCompleted called"),o.Stepper.setOpts({onAfterLoad:function onAfterLoad(){}})},this.bindRowFavoritesAction=function(){$(".buttonItemFavorites").off("click"),$(".buttonItemFavorites").on("click",function(){var t=$(this).data("id");console.log(t);var r=a.URL.toggleFavorites.replace("%id%",t),o={};o._token=a.token;var i=this;console.log(r),$.ajax({url:r,method:"POST",data:o,success:function success(t){t.success&&(t.status?(console.log("true"),$(i).addClass("btn-warning"),$(i).removeClass("btn-light")):($(i).removeClass("btn-warning"),$(i).addClass("btn-light"),console.log("false")))}})})},this.bindRowDescriptionAction=function(){$("textarea.orderItemComment").on("change",function(){var t=$(this).val(),a=$(this).data("id"),i=r.getData("productComment");if(null!==i){if(void 0===i[a]&&0===t.length)return;if(i[a]===t)return}i[a]=t,0===t.length&&delete r.productComment[a],r.productComment=i,u.push(Date.now()),o.syncOrderDataToServer()})},this.productSelectDatatablesRowFormatter=function(t){console.group("productSelectDatatablesRowFormatter"),console.log(t);var a=t;a.comment="",r.productComment&&null!==r.productComment&&(debug(_typeof(r.productComment[t.id])),void 0!==r.productComment[t.id]&&r.productComment[t.id].length>0&&(a.comment=r.productComment[t.id])),!0===t.favorites?a.btnFavoritesClass="btn-warning":a.btnFavoritesClass="btn-light";var o=$('template[data-name="orderProductSelectDetails"]').html();a.weekly=!1,"weekly"===r.getData().orderType&&(a.weekly=!0);var i=r.getData("productSelected");void 0!==i[t.id]&&(a.itemQuantity=i[t.id]),console.log(["templateData",a]);var l=Mustache.tags;Mustache.tags=["~!","!~"],"false"!=a.specification&&0!=a.specification||(a.specificationClass="d-none"),a.pictureImg="","false"==a.picture||0==a.picture?a.pictureClass="d-none":a.pictureImg='',console.log("templateData",a);var c=Mustache.render(o,a);return Mustache.tags=l,console.groupEnd(),c},this.setDatatableHeaderText=function(t){$(".tableHeaderText").text(t)},this.getTreePathName=function(t){var a="",r=$(t).parents("li").toArray();for(var o in r.shift(),r.reverse(),r)console.log($(r[o]).children("a.categoryItem")),$(r[o]).children("a.categoryItem").length>0&&(a+=$(r[o]).children("a.categoryItem").text()+"/");return a+=$(t).text(),console.log(a),a};var l=null,c=null,d=!1;this.searchProductByString=function(t){o.setDatatableHeaderText("Termékek szűrve:"+t),c=t,$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickSearchProduct=function(){debug(this);var t=$(".sidebar-search input[name=searchValue]").val();debug(t),o.searchProductByString(t)},this.clickFavoritesProduct=function(){debug("clickFavoritesProduct"),o.setDatatableHeaderText("Termékek szűrve: kedvencek"),c="**favorites**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickOftenProduct=function(){debug("clickOftenProduct"),o.setDatatableHeaderText("Termékek szűrve: gyakran vásárolt"),c="**often**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickSpecialOffer=function(){debug("clickSpecialOffer"),o.setDatatableHeaderText("Termékek szűrve: Akciós termékek"),c="**specialOffer**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickLastProduct=function(){debug("clickLastProduct"),o.setDatatableHeaderText("Termékek szűrve: utoljára vásárolt"),c="**last**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickWeeklyProduct=function(){debug("clickWeeklyProduct"),o.setDatatableHeaderText("Termékek szűrve: Heti termékek"),c="**weekly**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickKrelProduct=function(){debug("clickKrelProduct"),$(this).parent().toggleClass("krelActive"),d=!d,$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.productSelectDataTableColumnDefs=function(){return[{width:"10px",targets:0},{className:"dt-left",targets:1},{width:"28px",targets:2},{width:"41px",targets:3},{width:"76px",targets:4},{width:"55px",targets:5},{width:"70px",targets:6},{width:"54px",targets:7},{width:"57px",targets:8},{width:"42px",targets:9},{width:"100px",targets:10},{className:"dt-center",targets:"_all"}]},this.productSelectDataTableColumn=function(){var t=[{className:"details-control",orderable:!1,data:null,defaultContent:""},{data:"name"},{data:"krel"},{data:"packing"},{data:"unitValue"},{data:"productUnit"},{data:"sellerUnit"},{data:"unitMultiplier"},{data:"amountUnit"},{data:"price"}],a={className:"details-control2",orderable:!1,data:null,width:"100px",defaultContent:""};return"daily"==r.getData("orderType")&&(a.defaultContent=''),t.push(a),t},this.getDatatables=function(t){return console.error(t),$(".dataTableOrderProductSelect").DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:a.URL.getDataTableContentProductList,data:function data(t){t.searchStr=c,t.krel=d,t.groupId=l,t.supplierId=r.supplierId,t.deliveryDate=r.deliveryDate}},buttons:{buttons:[]},columnDefs:o.productSelectDataTableColumnDefs(),columns:o.productSelectDataTableColumn(),order:[[1,"asc"]]})},this.productSelectDataTableDrawDT=function(t){$("td").filter(function(){return"*"===$(this).text()}).html(''),"daily"==r.getData().orderType&&$("input[type='number'].inputNumberSpinner").inputSpinner({template:'
',buttonsWidth:"0.5rem",groupClass:"",buttonsClass:"btn-outline-secondary"}),o.bindWeakUserHelper(),$(".dataTableOrderProductSelect .details-control2 input[type=text]").off("change"),$(".dataTableOrderProductSelect .details-control2 input[type=text]").on("change",function(t){var a=$(this).val();a=a.replace(",","."),a=parseFloat(a);var r=$(".dataTableOrderProductSelect").DataTable().row($(this).closest("tr")).data();o.orderItemsChange(r,a)}),$(".dataTableOrderProductSelect .details-control2 input[type=text]").each(function(){$(this).val();var t=$(".dataTableOrderProductSelect").DataTable().row($(this).closest("tr")).data();if(r.productSelected[t.id]){debug(t),debug($($(this).closest("tr").find("input[type=number]")[0])),debug(r.productSelected[t.id]);var a=r.productSelected[t.id];"string"!=typeof a&&(a+=""),$($(this).closest("tr").find("input[type=number]")[0]).val(a.replace(",","."))}}),$(".dataTableOrderProductSelect .details-control2 button").off("click"),$(".dataTableOrderProductSelect .details-control2 button").on("click",function(){$(this).parent().find("input[type=text]").trigger("change")})},this.initViewProductSelect=function(){var t="initViewProductSelect";if(console.log(t+" called"),!i.includes(t)){o.setDatatableHeaderText(""),o.Stepper.setOpts({onAfterActivate:function onAfterActivate(){}}),o.Stepper.addCompleted("invoice"),o.Stepper.addEnabled("invoice"),debug(".orderParameterForm .fa-search"),$(".sidebar-search .fa-search").off("click"),$(".sidebar-search .fa-search").on("click",o.clickSearchProduct),$("a.sidebar.favorites").off("click"),$("a.sidebar.favorites").on("click",o.clickFavoritesProduct),$("a.sidebar.often").off("click"),$("a.sidebar.often").on("click",o.clickOftenProduct),$("a.sidebar.last").off("click"),$("a.sidebar.last").on("click",o.clickLastProduct),$("a.sidebar.weekly").off("click"),$("a.sidebar.weekly").on("click",o.clickWeeklyProduct),$("a.sidebar.krel").off("click"),$("a.sidebar.krel").on("click",o.clickKrelProduct),$("a.sidebar.specialOffer").off("click"),$("a.sidebar.specialOffer").on("click",o.clickSpecialOffer),$(".sidebar-search input[name=searchValue]").off("keypress"),$(".sidebar-search input[name=searchValue]").on("keypress",function(t){13==t.which&&t.preventDefault(),$(this).val().length>=2&&o.searchProductByString($(this).val()+t.key)}),$(".sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable").off("click"),$(".sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable").on("click",function(){var t=$(this).data("id");l=t,c=null,console.log(t),console.log(o.getTreePathName(this)),o.setDatatableHeaderText(o.getTreePathName(this)),$(".dataTableOrderProductSelect").DataTable().ajax.reload()});var a=o.getDatatables(r.getData("orderType"));$(".dataTableOrderProductSelect").on("init.dt",function(){console.log("Table initialisation complete: "+(new Date).getTime())}).dataTable(),$(".dataTableOrderProductSelect").on("draw.dt",o.productSelectDataTableDrawDT).dataTable(),$(".dataTableOrderProductSelect").on("xhr.dt",function(){debug("Table xhr complete: "+(new Date).getTime())}).dataTable(),$(".dataTableOrderProductSelect tbody").on("click","td.details-control",function(){var t=$(this).closest("tr"),r=a.row(t);r.child.isShown()?(r.child.hide(),t.removeClass("shown")):(r.child(o.productSelectDatatablesRowFormatter(r.data())).show(),t.addClass("shown"),o.bindProductDetailsAction())}),i.push(t)}},this.bindProductDetailsAction=function(){o.bindRowDescriptionAction(),o.bindRowFavoritesAction(),"weekly"==r.getData().orderType&&o.bindOrderItemWeekQuantity()},this.bindWeakUserHelper=function(){$("input.inputNumberSpinner").off("focus"),$("input.inputNumberSpinner").on("focus",function(){var t=$(this).val();t=t.replace(",","."),0===(t=parseFloat(t))&&$(this).val("")}),$("input[type=text].inputNumberSpinner").off("keypress"),$("input[type=text].inputNumberSpinner").on("keypress",function(t){if(13==t.which){var a=this,r=$("input[type=text].inputNumberSpinner");r.each(function(t){if(this==a)return t+1<=r.length&&$(r[t+1]).focus(),!1})}})},this.bindOrderItemWeekQuantity=function(){$("input.productSelectDayQuantity").off("change"),$("input.productSelectDayQuantity").on("change",function(){console.log(this.name),console.log(this.value),console.log($(this).data("dayindex"));var t,a=$($(this).closest("table.orderProductSelectRowDetailsTable").closest("tr")).prev();t=$(".dataTableOrderProductSelect").DataTable().row(a).data(),console.log(t);var r=$(this).val();r=r.replace(",","."),r=parseFloat(r),console.log(t.id),o.orderItemsChange(t,r,$(this).data("dayindex"))})},this.afterSyncOrderDataToServer=function(t){for(var r=0;r0&&(o.Stepper.addCompleted("send"),o.Stepper.addEnabled("send")),a.URL.root,$("table.invoice button.printButton").off("click"),$("table.invoice button.printButton").on("click",function(){window.print()})},this.resetOrder=function(){o.init(),o.setDeliveryDate("-"),o.setSupplier("-")},this.afterOrderSendOk=function(t){Toast.create({title:"Sent!",message:"Order Sent",status:TOAST_STATUS.INFO,timeout:5e3}),$(".buttonOrderSend").off("click"),$(".buttonOrderSend").prop("disabled",!0),$(".statusNamePlace").removeClass("statusBlink"),$(".statusNamePlace").text("elküldve"),$(".buttonOrderSending").toggleClass("d-none"),$(".buttonOrderSendOk").toggleClass("d-none"),$("div.invoiceContainer").html(t.retHTML)},this.afterOrderSendError=function(t){$(".buttonOrderSend").toggleClass("d-none"),$(".buttonOrderSending").toggleClass("d-none"),$.each(APP.OrderModule.Stepper.getOpts().available,function(t,a){APP.OrderModule.Stepper.setEnabled(a),APP.OrderModule.Stepper.setCompleted(a)})},this.initViewSend=function(){console.log("initViewSend called 2"),o.Stepper.setOpts({onAfterLoad:function onAfterLoad(){}}),$(".buttonOrderSend").off("click"),$(".buttonOrderSend").on("click",function(){console.log("Send buton clicked"),$(".buttonOrderSend").toggleClass("d-none"),$(".buttonOrderSending").toggleClass("d-none"),$.each(APP.OrderModule.Stepper.getOpts().available,function(t,a){o.Stepper.unsetEnabled(a),o.Stepper.unsetCompleted(a)}),o.sendOrderDataToServer("send",o.afterOrderSendOk,o.afterOrderSendError)})},this.testModeSend=function(){},this.testMode=function(){console.log("testMode called "),r.setData({id:234,supplierId:7,productSelected:{116:3,293:2},contactName:"Contact Name",note:"Note",type:"daily",deliveryDate:a.defaultDeliveryDate,deliveryAddress:12}),console.log(r.getData()),console.log("*******************"),o.Stepper.setOpts({UrlData:{supplierId:r.supplierId,id:r.id}}),this.Stepper.init({URL:{create:a.URL.create},complete:["supplier","parameter","productSelect"],enable:["supplier","parameter","productSelect"],active:"productSelect",onAfterActivate:this.initViewProductSelect,autoCallback:{invoice:{onAfterActivate:o.initViewInvoice},send:{onAfterActivate:o.initViewSend}}}),console.log("*******************")},this.toggleEnableSend=function(){console.log("toggleEnableSend called");var t=a.URL.checkReadyToSend.replace("%id%",r.id);$.ajax({url:t,success:function success(t){t.success&&(t.readyToSend?(o.Stepper.addCompleted("send"),o.Stepper.addEnabled("send")):(o.Stepper.unsetCompleted("send"),o.Stepper.unsetEnabled("send"))),console.log(t)}})}}})(),(()=>{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 _superPropGet(t,a,r,o){var i=_get(_getPrototypeOf(1&o?t.prototype:t),a,r);return 2&o&&"function"==typeof i?function(t){return i.apply(r,t)}:i}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,a,r){var o=function _superPropBase(t,a){for(;!{}.hasOwnProperty.call(t,a)&&null!==(t=_getPrototypeOf(t)););return t}(t,a);if(o){var i=Object.getOwnPropertyDescriptor(o,a);return i.get?i.get.call(arguments.length<3?t:r):i.value}},_get.apply(null,arguments)}function _defineProperties(t,a){for(var r=0;r "+r),$(".advanceSearchModal input[name="+a+"],.advanceSearchModal select[name="+a+"]").val(r).trigger("change"),$("."+a+"SelectedDateText").text(r))}),t&&$(".dt-button.btn-advanceSearchParameter").addClass("btn-success"),$(".advanceSearchModal .buttonClear").off("click"),$(".advanceSearchModal .buttonClear").on("click",function(){$(".advanceSearchModal input,.advanceSearchModal select").val("").trigger("change"),$(".SelectedDateText").text(" ");var t=APP.OrderArchiveModule;$.each(t.Opts.dataTable.advanceSearchParameter,function(a,r){t.Opts.dataTable.advanceSearchParameter[a]=null}),$(".dt-button.btn-advanceSearchParameter").removeClass("btn-success");var a=t.Opts.CSSSelectorContainer+" .dataTable";$(a).DataTable().ajax.reload(),$(".advanceSearchModal").modal("hide")}),$(".advanceSearchModal .buttonSave").off("click"),$(".advanceSearchModal .buttonSave").on("click",function(){console.log("clicked advanced search ");var t=APP.OrderArchiveModule,a=$(".advanceSearchModalForm").find("input,select").serializeArray();console.log(a),console.log(t.Opts),console.log(t.Opts.dataTable.advanceSearchParameter),$.each(t.Opts.dataTable.advanceSearchParameter,function(a,r){t.Opts.dataTable.advanceSearchParameter[a]=null}),$.each(a,function(a,r){console.log(r.name),console.log(r.value),void 0!==t.Opts.dataTable.advanceSearchParameter[r.name]&&r.value.length>0&&(t.Opts.dataTable.advanceSearchParameter[r.name]=r.value)}),console.log(t.Opts.dataTable.advanceSearchParameter);var r=t.Opts.CSSSelectorContainer+" .dataTable";$(r).DataTable().ajax.reload(),$(".dt-button.btn-advanceSearchParameter").addClass("btn-success"),$(".advanceSearchModal").modal("hide")})}},{key:"initViewList",value:function initViewList(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization"),APP.IsUserAdmin?this.DtColumns=[{data:"supplier_name"},{data:"deliveryDate"},{data:"profit_center.name"},{data:"deliveryAddressName"},{data:"sentTime"},{data:"humanId"},{data:"confirmed"},null]:this.DtColumns=[{data:"supplier_name"},{data:"deliveryDate"},{data:"deliveryAddressName"},{data:"sentTime"},{data:"humanId"},{data:"confirmed"},null];var a=this.Opts.CSSSelectorContainer+" .dataTable",r=$(a+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,datatableCustomHeadButtonClickCallBack:this.datatableCustomHeadButtonClickCallBack});var o=this.Opts.dataTable.orderDirective,i=this.Opts.dataTable.advanceSearchParameter;void 0!==t.orderDirective&&(o=t.orderDirective),this.dataTable=$(a).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:this.Opts.URL.getDataTableContent,data:function data(t){t.advanceSearchParameter=i}},columnDefs:[{targets:r-1,render:function render(t,a,r){var o=APP.datatableAddRowViewButton(0,arguments);return o+=APP.datatableAddRowAttachmentButton(0,arguments),r.canEditable&&(o+=APP.datatableAddRowEditButton(0,{title:"módosítás"})),o}},{targets:r-2,render:function render(t,a,r){return null==r.confirmed?'':r.confirmed}},{targets:1,render:function render(t,a,r){return"sort"===a?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0},{text:"Szürők",action:function action(t,a,r,o){APP.datatableCustomHeadButtonClickCallBack()},className:"btn-advanceSearchParameter"}]},columns:this.DtColumns,order:o,stateSave:!1,drawCallback:function drawCallback(t){APP.datatableAddRowAction(a)}}),this.initAdvancedSearch(),debug("listview end")}}])}();window.OrderArchiveModule=a}})(),(()=>{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,a){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization");var a=this.Opts.CSSSelectorContainer+" .dataTable",r=$(a+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick});var o=this.Opts.dataTable.orderDirective;void 0!==t.orderDirective&&(o=t.orderDirective),$(a).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:this.Opts.URL.getDataTableContent,data:function data(t){}},columnDefs:[{targets:r-1,render:function render(t,a,r){return r.fileUrl?APP.datatableAddRowAttachmentButton(0,arguments):""}}],buttons:{buttons:[]},columns:[{data:"id"},{data:"supplierName"},{data:"available"},{data:"created_at"},{data:"note"},null],order:o,drawCallback:function drawCallback(t){APP.datatableAddRowAction(a)}}),debug("listview end")}}])}();window.PriceListModule=t}})(),(()=>{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,a){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization");var a=this.Opts.CSSSelectorContainer+" .dataTable",r=$(a+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick});var o=this.Opts.dataTable.orderDirective;void 0!==t.orderDirective&&(o=t.orderDirective),$(a).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:this.Opts.URL.getDataTableContent,data:function data(t){}},columnDefs:[{targets:r-1,render:function render(t,a,r){return APP.datatableAddRowViewButton(0,arguments)}}],buttons:{buttons:[]},columns:[{data:"name"},{data:"product_group"},{data:"service"},null],order:o,drawCallback:function drawCallback(t){APP.datatableAddRowAction(a)}}),debug("listview end")}},{key:"renderContact",value:function renderContact(){var t=1;console.log("renderingContacts"),$.each(APP.Supplier.getData("contact"),function(){this.rowNum=t;var a=$('template[data-name="supplierContactTableRow"]').html(),r=Mustache.render(a,this);$(".contactTable tbody").append(r),t++})}}])}();window.SupplierModule=t}})(); +(()=>{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,a){for(var r=0;r{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,a){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function _unsupportedIterableToArray(t,a){if(t){if("string"==typeof t)return _arrayLikeToArray(t,a);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(t,a):void 0}}(t))||a&&t&&"number"==typeof t.length){r&&(t=r);var o=0,i=function F(){};return{s:i,n:function n(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},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(){r=r.call(t)},n:function n(){var t=r.next();return c=t.done,t},e:function e(t){d=!0,l=t},f:function f(){try{c||null==r.return||r.return()}finally{if(d)throw l}}}}function _arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var r=0,o=Array(a);r'+r.html()+""),a.bindClickAction()},this.addEnabled=function(r){t.enable.includes(r)||t.enable.push(r),a.setEnabled(r)},this.addCompleted=function(r){t.complete.includes(r)||t.complete.push(r),a.setCompleted(r),a.bindClickAction()},this.loadStepContent=function(a){var r={type:a};$.extend(r,t.UrlData),$.ajax({async:!0,type:"GET",url:t.URL.create,data:r,cache:!1,success:function success(r){var o=$(".SC"+a.capitalize());-1==$.inArray(a,t.excludeLoaded)?t.loaded.push(a):console.log("excluded View"),o.html(r),t.nowLoaded&&t.nowLoaded(a),t.onAfterLoad()}})},this.clearLoaded=function(){t.loaded=["supplier"],$(".stepContainer").each(function(){this.classList.contains("SCSupplier")||$(this).html("")})},this.setActiveFinish=function(r){var o=$(".SC"+r.capitalize());"productSelect"===r?$(".containerStepper").addClass("activeSideBar"):$(".containerStepper").removeClass("activeSideBar"),debug("setActiveFinish show:"+r),o.show(),t.nowLoaded=!1,a.active=r,t.onAfterActivate(),void 0!==t.autoCallback[r]&&t.autoCallback[r].onAfterActivate()},this.setActive=function(r){$(".stepContainer").hide(),t.loaded.includes(r)?this.setActiveFinish(r):(a.loadStepContent(r),t.nowLoaded=this.setActiveFinish)},this.stepClick=function(t){t.preventDefault();var r=$(t.currentTarget).data("stepname");console.log("setActive:"+r),a.setActive(r)}},window.OrderModule=function(){var a={testMode:!1,needStepper:!0,CSSSelectorForm:".orderParameterForm",defaultDeliveryDate:"",dataSyncPauseTime:500,token:null,URL:{root:null,getDataTableContentProductList:null,checkReadyToSend:null,index:null,show:null,edit:null,create:null,store:null,update:null,destroy:null,toggleFavorites:null}},r=null,o=this,i=[];this.setOpts=function(t){$.extend(a,t)},this.getOpts=function(){return a},this.clickOrderEdit=function(t){debug("clickEdit"),debug(t);var r=a.URL.edit.replace("%id%",t.id);APP.loadMainContent(r)},this.afterOrderDeleted=function(t){1==t.success?(debug("Order delete success"),APP.loadMainContent(a.URL.index)):Toast.create({title:"Error deleted !",message:"",status:TOAST_STATUS.DANGER,timeout:5e3})},this.clickOrderDeleteConfirmed=function(t){debug("clickOrderDeleteConfirmed"),debug(t),debug(t.data),$("#dialogModal").modal("hide");var r={};r._token=a.token;var i=a.URL.destroy.replace("%id%",t.data.id);$.ajax({url:i,data:r,method:"DELETE",success:o.afterOrderDeleted})},this.initViewOrderSelect=function(){debug("called initViewOrderSelect "),$(".ordersSelectTable button").off("click"),$(".ordersSelectTable button").on("click",function(){var t=$(this).data("action"),a=$($(this).closest("tr")[0]).data("orderid");debug(t),debug(a),"delete"==t?($("#dialogModal").on("show.bs.modal",function(t){var r=$(this);r.find(".modal-title").text("Megerősítés "),r.find(".modal-body").text("Biztosan törli a megrendelést?"),r.find(".buttonYes").off("click"),r.find(".buttonYes").on("click",{id:a},o.clickOrderDeleteConfirmed)}),$("#dialogModal").modal("show")):o.clickOrderEdit({id:a})}),$(".buttonNew").off("click"),$(".buttonNew").on("click",function(){APP.loadMainContent(a.URL.index,"force=true")})},this.initStepper=function(){debug(r.getData()),i=[],$(".statusNamePlace").text("Nincs elküldve"),$(".statusNamePlace").addClass("statusBlink"),o.setDeliveryDate("-"),o.setSupplier("-"),$.each(["parameter","productSelect","invoice","send"],function(t,a){o.Stepper.unsetEnabled(a),o.Stepper.unsetCompleted(a)}),debug(o.Stepper.getOpts().available),debug(r.getData().orderStatus);var t,l="supplier",c=["supplier"],d=[],u=function stepOnAfterActivate(){},p=o.Stepper.getOpts().available,b=!1,v=[],y=_createForOfIteratorHelper(p);try{for(y.s();!(t=y.n()).done;){var h=t.value;u=this["initView"+h.capitalize()];var m={};m.onAfterActivate=u,v[h]=m}}catch(t){y.e(t)}finally{y.f()}if(debug(v),debug(r.getData().id),r.getData().id>0){debug("hajra"),debug(r.getData()),r.getData().deliveryDate&&o.setDeliveryDate(r.getData().deliveryDate),r.getData().supplierName&&o.setSupplier(r.getData().supplierName),b={supplierId:r.supplierId,id:r.id};var g,S=_createForOfIteratorHelper(p);try{for(S.s();!(g=S.n()).done;){var w=g.value;if(console.log(w),c.push(w),d.push(w),r.getData().orderStatus==w){l=w;break}}}catch(t){S.e(t)}finally{S.f()}}o.Stepper.init({complete:c,enable:d,loaded:[],active:l,URL:{create:a.URL.create},UrlData:b,onAfterActivate:u,autoCallback:v})},this.initOrder=function(a){r=new t(a)},this.init=function(i){if(debug("OrderModul init called"),$.extend(a,window.OrderModulDefault,i),r=new t,a.needStepper&&void 0===this.Stepper&&(this.Stepper=new Stepper),a.testMode)return o.testMode()},this.setSupplier=function(t,a){t&&$(".supplierNamePlace").text(t),a&&(r.setData({supplierId:a}),o.Stepper.setOpts({UrlData:{supplierId:a}}))},this.setDeliveryDate=function(t,r){var o=t.replaceAll("-",".")+".";o.length<5?$(".deliveryDatePlace").text(t):(r&&(o+=" - "+r.replaceAll("-",".")+"."),$(a.CSSSelectorForm+" .selectedDateText").text(o),$(".deliveryDatePlace").text(o),$(a.CSSSelectorForm+' input[name="deliveryDate"]').val(t))},this.getData=function(){return r},this.setSupplierCompleted=function(){console.log("bingo"),o.initViewParameter()},this.afterOrderSetSupplierOk=function(t){Toast.create({title:"Supplier selected !",message:t.supplier.name,status:TOAST_STATUS.INFO,timeout:5e3}),o.setSupplier(t.supplier.name,t.supplier.id),r.setData({id:t.id}),o.Stepper.setOpts({UrlData:{supplierId:r.supplierId,id:r.id}}),o.Stepper.setEnabled("parameter"),o.Stepper.addCompleted("parameter"),o.Stepper.setCompleted("parameter"),o.Stepper.setActive("parameter")},this.initViewSupplier=function(){debug("call initViewSupplier"),o.Stepper.setOpts({onAfterLoad:function onAfterLoad(){}}),$(".supplierItem").off("click"),$(".supplierItem").on("click",function(i){console.log(r.getData()),i.preventDefault();var l=$(i.currentTarget).data("id"),c=$(i.currentTarget).find("h5.card-title").text();if(void 0===r.supplierId){var d={};d._token=a.token,d.supplierId=l,d.storeType="supplierSelect",$.extend(d,r),$.ajax({url:a.URL.store,method:"POST",data:d,success:function success(t){t.success&&o.afterOrderSetSupplierOk(t.data)}})}else r.supplierId!=l&&(Toast.create({title:"Supplier change to!",message:c,status:TOAST_STATUS.WARNING,timeout:5e3}),o.Stepper.clearLoaded(),r=new t)})},this.checkContactNameField=function(){var t=$(".orderParameterForm input[name=contactName]");return t.val().length<2?(t.removeClass("is-valid"),t.addClass("is-invalid"),!1):(t.addClass("is-valid"),t.removeClass("is-invalid"),!0)},this.sendOrderDataToServer=function(t,o,i){var l={},c=a.URL.store;r.id&&(c=a.URL.update.replace("%id%",r.id),l._method="PUT"),l._token=a.token,l.updateType=t,$.extend(l,r),debug(r),debug(l),debug("ajaxUrl:"+c),l=jsonToFormData(l),$.ajax({url:c,data:l,type:"POST",contentType:!1,processData:!1,success:function success(t){debug("ajax returned data"),debug(t),t.success&&o(t)},error:function error(t,a,r){ajaxErrorHandler(t,a,r),void 0!==i&&i(t.responseJSON)}})},this.afterOrderSetParameterOk=function(t){debug("called afterOrderSetParameterOk"),o.Stepper.setOpts({UrlData:{supplierId:r.supplierId,id:r.id}}),o.Stepper.setEnabled("productSelect"),o.Stepper.addCompleted("productSelect"),o.Stepper.setCompleted("productSelect"),o.Stepper.setActive("productSelect")},this.selectCurrentWeek=function(){console.error("selectCurrentWeek"),console.error($(".ui-datepicker").find(".ui-datepicker-current-day a")),$(".ui-datepicker").find(".ui-datepicker-current-selected-weekday a").addClass("ui-state-active")},this.weekHover=function(){console.error("hover Active"),$(".ui-datepicker-calendar tr").off("mousemove"),$(".ui-datepicker-calendar tr").off("mouseleave"),$(".ui-datepicker-calendar tr").on("mousemove",function(){$(this).find("td a").addClass("ui-state-hover")}),$(".ui-datepicker-calendar tr").on("mouseleave",function(){$(this).find("td a").removeClass("ui-state-hover")})},this.weekHoverSlow=function(){console.error("weekHoverSlow"),$(".ui-datepicker-calendar tr").length<1?setTimeout(o.weekHoverSlow,1):o.weekHover()},this.initDatePicker=function(t){console.error("asdasdadad"),console.log("tipus"+t);var a=".orderParameterForm",r=new Date("1900-01-01"),i=new Date("1900-01-02");if($(a+" .datePicker").datepicker("destroy"),"weekly"==t)$(a+" .datePicker").datepicker({showOtherMonths:!0,selectOtherMonths:!0,showWeek:!0,dateFormat:"yy-mm-dd",firstDay:1,minDate:new Date,afterShow:function afterShow(t,a){o.weekHover(),o.selectCurrentWeek()},onSelect:function onSelect(t,a){var l=$(this).datepicker("getDate");r=new getMonday(l),i=new Date(l.getFullYear(),l.getMonth(),l.getDate()-l.getDay()+7),o.setDeliveryDate($.datepicker.formatDate("yy-mm-dd",r),$.datepicker.formatDate("yy-mm-dd",i))},beforeShow:function beforeShow(){console.group("beforeShow"),console.log(r),console.log(i),console.groupEnd()},beforeShowDay:function beforeShowDay(t){console.group("beforeShowDay"),console.log(t.toLocaleDateString("hu-Hu"));var a="";return t>=r&&t<=i&&(console.error(t.toLocaleDateString("hu-Hu")),a="ui-datepicker-current-selected-weekday"),console.log(a),console.groupEnd(),[!0,a]},onChangeMonthYear:function onChangeMonthYear(t,a,r){}});else{var l=[],c=null,d=!1,u=[],p=[],b=$(a+" .datePicker"),v=b.data("delivery-calendar-url"),y=b.data("supplier-id"),h=b.data("profit-center-id");v&&y&&h&&$.ajax({url:v,data:{supplierId:y,profitCenterId:h,orderDateTime:(new Date).toISOString()},async:!1,success:function success(t){d=t.hasDeliveryConstraint||!1,u=(t.holidays||[]).map(function(t){return{date:t.date,description:t.description}}),p=(t.workingDays||[]).map(function(t){return{date:t.date,description:t.description}}),d&&(l=t.availableDates||[],c=t.nextDeliveryDate||null)}}),d&&c&&(o.setDeliveryDate(c),$(a+" .selectedDateText").text(c),$(a+' input[name="deliveryDate"]').val(c),$(".deliveryDatePlace").text(c.replaceAll("-",".")+".")),d&&$("#deliveryDateLegend").show();var m={dateFormat:"yy-mm-dd",minDate:d&&c?new Date(c):new Date,onSelect:function onSelect(t){$(a+" .selectedDateText").text(t),$(".deliveryDatePlace").text(t.replaceAll("-",".")+"."),$(a+' input[name="deliveryDate"]').val(t)},beforeShowDay:function(t){var a=$.datepicker.formatDate("yy-mm-dd",t),r=u.find(function(t){return t.date===a}),o=p.find(function(t){return t.date===a}),i=d&&l.includes(a),c=[],b="",v=!0;return r?(c.push("work-calendar-holiday"),b="Ünnepnap"+(r.description?": "+r.description:"")):o&&(c.push("work-calendar-working-day"),b="Áthelyezett munkanap"+(o.description?": "+o.description:"")),d&&(i?(c.push("delivery-day-available"),b||(b="Szállítási nap")):(c.push("delivery-day-unavailable"),b||(b="Nem szállítási nap"),v=!1)),r&&!d&&(v=!1),[v,c.join(" "),b]}};$(a+" .datePicker").datepicker(m)}},this.callChangeOrderType=function(){console.log(this),console.log(this.value),o.initDatePicker(this.value)},this.initViewParameter=function(){debug("call initViewParameter"),o.Stepper.setOpts({onAfterLoad:function onAfterLoad(){}});var t=".orderParameterForm";if($(t+" .datePickerClick").click(function(){$(t+" .datePicker").datepicker("show")}),$(t+" .orderParameterDeliveryAddress").select2({}).show(),$(t+" input[name=contactName]").off("blur"),$(t+" input[name=contactName]").off("keyup"),$(t+" input[name=contactName]").on("blur",o.checkContactNameField),$(t+" input[name=contactName]").on("keyup",o.checkContactNameField),$(t+" input[name=orderType]").off("change"),$(t+" input[name=orderType]").on("change",o.callChangeOrderType),$(t+" .orderParameterNextButton").off("click"),r.getData().id>0){if("weekly"==r.getData().orderType){o.initDatePicker(r.getData().orderType),$(t+" input[name=orderType][value="+r.getData().orderType+"]").prop("checked",!0);var a=new Date(r.getData().deliveryDate);a.setDate(a.getDate()+6),o.setDeliveryDate(r.getData().deliveryDate,$.datepicker.formatDate("yy-mm-dd",a)),o.initDatePicker("weekly")}else r.getData().deliveryDate&&o.setDeliveryDate(r.getData().deliveryDate),o.initDatePicker("daily");r.getData().contactName&&$(t+" input[name=contactName]").val(r.getData().contactName),r.getData().note&&$(t+" textarea[name=note]").val(r.getData().note),r.getData().deliveryAddressId&&(console.log($(t+" select[name=deliveryAddressId]")),$(t+" select[name=deliveryAddressId]").val(r.getData().deliveryAddressId)),r.getData().customNotificationEmail&&(console.log($(t+" select[name=customNotificationEmail]")),$(t+" select[name=customNotificationEmail]").val(r.getData().customNotificationEmail))}else o.initDatePicker("daily");$(t+" .orderParameterDeliveryAddress").select2({}).show(),$(t+" .orderParameterCustomNotificationEmail").select2({}).show(),$(t).submit(function(a){if(a.preventDefault(),!1===$(t)[0].checkValidity())return debug("validaton false"),void a.stopPropagation();debug("validaton ok"),$(".deliveryDatePlace").text($(t+" input[name=deliveryDate]").val().replaceAll("-",".")+"."),r.setData({contactName:$(t+" input[name=contactName]").val(),note:$(t+" textarea[name=note]").val(),orderType:$(t+" input:checked[name=orderType]").val(),deliveryDate:$(t+" input[name=deliveryDate]").val(),deliveryAddressId:$(t+" select[name=deliveryAddressId]").val(),deliveryAddress:$(t+" select[name=deliveryAddress]").val(),customNotificationEmail:$(t+" select[name=customNotificationEmail]").val()}),console.group("parameter form submit"),console.error($(t+" input:checked[name=orderType]").val()),console.error($(t+" input[name=deliveryDate]").val()),debug(r.getData()),console.groupEnd(),o.sendOrderDataToServer("parameter",o.afterOrderSetParameterOk)})},this.blank=function(){},this.setParameterCompleted=function(){console.log("setParameterCompleted called"),o.Stepper.setOpts({onAfterLoad:function onAfterLoad(){}})},this.bindRowFavoritesAction=function(){$(".buttonItemFavorites").off("click"),$(".buttonItemFavorites").on("click",function(){var t=$(this).data("id");console.log(t);var r=a.URL.toggleFavorites.replace("%id%",t),o={};o._token=a.token;var i=this;console.log(r),$.ajax({url:r,method:"POST",data:o,success:function success(t){t.success&&(t.status?(console.log("true"),$(i).addClass("btn-warning"),$(i).removeClass("btn-light")):($(i).removeClass("btn-warning"),$(i).addClass("btn-light"),console.log("false")))}})})},this.bindRowDescriptionAction=function(){$("textarea.orderItemComment").on("change",function(){var t=$(this).val(),a=$(this).data("id"),i=r.getData("productComment");if(null!==i){if(void 0===i[a]&&0===t.length)return;if(i[a]===t)return}i[a]=t,0===t.length&&delete r.productComment[a],r.productComment=i,u.push(Date.now()),o.syncOrderDataToServer()})},this.productSelectDatatablesRowFormatter=function(t){console.group("productSelectDatatablesRowFormatter"),console.log(t);var a=t;a.comment="",r.productComment&&null!==r.productComment&&(debug(_typeof(r.productComment[t.id])),void 0!==r.productComment[t.id]&&r.productComment[t.id].length>0&&(a.comment=r.productComment[t.id])),!0===t.favorites?a.btnFavoritesClass="btn-warning":a.btnFavoritesClass="btn-light";var o=$('template[data-name="orderProductSelectDetails"]').html();a.weekly=!1,"weekly"===r.getData().orderType&&(a.weekly=!0);var i=r.getData("productSelected");void 0!==i[t.id]&&(a.itemQuantity=i[t.id]),console.log(["templateData",a]);var l=Mustache.tags;Mustache.tags=["~!","!~"],"false"!=a.specification&&0!=a.specification||(a.specificationClass="d-none"),a.pictureImg="","false"==a.picture||0==a.picture?a.pictureClass="d-none":a.pictureImg='',console.log("templateData",a);var c=Mustache.render(o,a);return Mustache.tags=l,console.groupEnd(),c},this.setDatatableHeaderText=function(t){$(".tableHeaderText").text(t)},this.getTreePathName=function(t){var a="",r=$(t).parents("li").toArray();for(var o in r.shift(),r.reverse(),r)console.log($(r[o]).children("a.categoryItem")),$(r[o]).children("a.categoryItem").length>0&&(a+=$(r[o]).children("a.categoryItem").text()+"/");return a+=$(t).text(),console.log(a),a};var l=null,c=null,d=!1;this.searchProductByString=function(t){o.setDatatableHeaderText("Termékek szűrve:"+t),c=t,$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickSearchProduct=function(){debug(this);var t=$(".sidebar-search input[name=searchValue]").val();debug(t),o.searchProductByString(t)},this.clickFavoritesProduct=function(){debug("clickFavoritesProduct"),o.setDatatableHeaderText("Termékek szűrve: kedvencek"),c="**favorites**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickOftenProduct=function(){debug("clickOftenProduct"),o.setDatatableHeaderText("Termékek szűrve: gyakran vásárolt"),c="**often**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickSpecialOffer=function(){debug("clickSpecialOffer"),o.setDatatableHeaderText("Termékek szűrve: Akciós termékek"),c="**specialOffer**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickLastProduct=function(){debug("clickLastProduct"),o.setDatatableHeaderText("Termékek szűrve: utoljára vásárolt"),c="**last**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickWeeklyProduct=function(){debug("clickWeeklyProduct"),o.setDatatableHeaderText("Termékek szűrve: Heti termékek"),c="**weekly**",$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.clickKrelProduct=function(){debug("clickKrelProduct"),$(this).parent().toggleClass("krelActive"),d=!d,$(".dataTableOrderProductSelect").DataTable().ajax.reload()},this.productSelectDataTableColumnDefs=function(){return[{width:"10px",targets:0},{className:"dt-left",targets:1},{width:"28px",targets:2},{width:"41px",targets:3},{width:"76px",targets:4},{width:"55px",targets:5},{width:"70px",targets:6},{width:"54px",targets:7},{width:"57px",targets:8},{width:"42px",targets:9},{width:"100px",targets:10},{className:"dt-center",targets:"_all"}]},this.productSelectDataTableColumn=function(){var t=[{className:"details-control",orderable:!1,data:null,defaultContent:""},{data:"name"},{data:"krel"},{data:"packing"},{data:"unitValue"},{data:"productUnit"},{data:"sellerUnit"},{data:"unitMultiplier"},{data:"amountUnit"},{data:"price"}],a={className:"details-control2",orderable:!1,data:null,width:"100px",defaultContent:""};return"daily"==r.getData("orderType")&&(a.defaultContent=''),t.push(a),t},this.getDatatables=function(t){return console.error(t),$(".dataTableOrderProductSelect").DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:a.URL.getDataTableContentProductList,data:function data(t){t.searchStr=c,t.krel=d,t.groupId=l,t.supplierId=r.supplierId,t.deliveryDate=r.deliveryDate}},buttons:{buttons:[]},columnDefs:o.productSelectDataTableColumnDefs(),columns:o.productSelectDataTableColumn(),order:[[1,"asc"]]})},this.productSelectDataTableDrawDT=function(t){$("td").filter(function(){return"*"===$(this).text()}).html(''),"daily"==r.getData().orderType&&$("input[type='number'].inputNumberSpinner").inputSpinner({template:'
',buttonsWidth:"0.5rem",groupClass:"",buttonsClass:"btn-outline-secondary"}),o.bindWeakUserHelper(),$(".dataTableOrderProductSelect .details-control2 input[type=text]").off("change"),$(".dataTableOrderProductSelect .details-control2 input[type=text]").on("change",function(t){var a=$(this).val();a=a.replace(",","."),a=parseFloat(a);var r=$(".dataTableOrderProductSelect").DataTable().row($(this).closest("tr")).data();o.orderItemsChange(r,a)}),$(".dataTableOrderProductSelect .details-control2 input[type=text]").each(function(){$(this).val();var t=$(".dataTableOrderProductSelect").DataTable().row($(this).closest("tr")).data();if(r.productSelected[t.id]){debug(t),debug($($(this).closest("tr").find("input[type=number]")[0])),debug(r.productSelected[t.id]);var a=r.productSelected[t.id];"string"!=typeof a&&(a+=""),$($(this).closest("tr").find("input[type=number]")[0]).val(a.replace(",","."))}}),$(".dataTableOrderProductSelect .details-control2 button").off("click"),$(".dataTableOrderProductSelect .details-control2 button").on("click",function(){$(this).parent().find("input[type=text]").trigger("change")})},this.initViewProductSelect=function(){var t="initViewProductSelect";if(console.log(t+" called"),!i.includes(t)){o.setDatatableHeaderText(""),o.Stepper.setOpts({onAfterActivate:function onAfterActivate(){}}),o.Stepper.addCompleted("invoice"),o.Stepper.addEnabled("invoice"),debug(".orderParameterForm .fa-search"),$(".sidebar-search .fa-search").off("click"),$(".sidebar-search .fa-search").on("click",o.clickSearchProduct),$("a.sidebar.favorites").off("click"),$("a.sidebar.favorites").on("click",o.clickFavoritesProduct),$("a.sidebar.often").off("click"),$("a.sidebar.often").on("click",o.clickOftenProduct),$("a.sidebar.last").off("click"),$("a.sidebar.last").on("click",o.clickLastProduct),$("a.sidebar.weekly").off("click"),$("a.sidebar.weekly").on("click",o.clickWeeklyProduct),$("a.sidebar.krel").off("click"),$("a.sidebar.krel").on("click",o.clickKrelProduct),$("a.sidebar.specialOffer").off("click"),$("a.sidebar.specialOffer").on("click",o.clickSpecialOffer),$(".sidebar-search input[name=searchValue]").off("keypress"),$(".sidebar-search input[name=searchValue]").on("keypress",function(t){13==t.which&&t.preventDefault(),$(this).val().length>=2&&o.searchProductByString($(this).val()+t.key)}),$(".sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable").off("click"),$(".sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable").on("click",function(){var t=$(this).data("id");l=t,c=null,console.log(t),console.log(o.getTreePathName(this)),o.setDatatableHeaderText(o.getTreePathName(this)),$(".dataTableOrderProductSelect").DataTable().ajax.reload()});var a=o.getDatatables(r.getData("orderType"));$(".dataTableOrderProductSelect").on("init.dt",function(){console.log("Table initialisation complete: "+(new Date).getTime())}).dataTable(),$(".dataTableOrderProductSelect").on("draw.dt",o.productSelectDataTableDrawDT).dataTable(),$(".dataTableOrderProductSelect").on("xhr.dt",function(){debug("Table xhr complete: "+(new Date).getTime())}).dataTable(),$(".dataTableOrderProductSelect tbody").on("click","td.details-control",function(){var t=$(this).closest("tr"),r=a.row(t);r.child.isShown()?(r.child.hide(),t.removeClass("shown")):(r.child(o.productSelectDatatablesRowFormatter(r.data())).show(),t.addClass("shown"),o.bindProductDetailsAction())}),i.push(t)}},this.bindProductDetailsAction=function(){o.bindRowDescriptionAction(),o.bindRowFavoritesAction(),"weekly"==r.getData().orderType&&o.bindOrderItemWeekQuantity()},this.bindWeakUserHelper=function(){$("input.inputNumberSpinner").off("focus"),$("input.inputNumberSpinner").on("focus",function(){var t=$(this).val();t=t.replace(",","."),0===(t=parseFloat(t))&&$(this).val("")}),$("input[type=text].inputNumberSpinner").off("keypress"),$("input[type=text].inputNumberSpinner").on("keypress",function(t){if(13==t.which){var a=this,r=$("input[type=text].inputNumberSpinner");r.each(function(t){if(this==a)return t+1<=r.length&&$(r[t+1]).focus(),!1})}})},this.bindOrderItemWeekQuantity=function(){$("input.productSelectDayQuantity").off("change"),$("input.productSelectDayQuantity").on("change",function(){console.log(this.name),console.log(this.value),console.log($(this).data("dayindex"));var t,a=$($(this).closest("table.orderProductSelectRowDetailsTable").closest("tr")).prev();t=$(".dataTableOrderProductSelect").DataTable().row(a).data(),console.log(t);var r=$(this).val();r=r.replace(",","."),r=parseFloat(r),console.log(t.id),o.orderItemsChange(t,r,$(this).data("dayindex"))})},this.afterSyncOrderDataToServer=function(t){for(var r=0;r0&&(o.Stepper.addCompleted("send"),o.Stepper.addEnabled("send")),a.URL.root,$("table.invoice button.printButton").off("click"),$("table.invoice button.printButton").on("click",function(){window.print()})},this.resetOrder=function(){o.init(),o.setDeliveryDate("-"),o.setSupplier("-")},this.afterOrderSendOk=function(t){Toast.create({title:"Sent!",message:"Order Sent",status:TOAST_STATUS.INFO,timeout:5e3}),$(".buttonOrderSend").off("click"),$(".buttonOrderSend").prop("disabled",!0),$(".statusNamePlace").removeClass("statusBlink"),$(".statusNamePlace").text("elküldve"),$(".buttonOrderSending").toggleClass("d-none"),$(".buttonOrderSendOk").toggleClass("d-none"),$("div.invoiceContainer").html(t.retHTML)},this.afterOrderSendError=function(t){$(".buttonOrderSend").toggleClass("d-none"),$(".buttonOrderSending").toggleClass("d-none"),$.each(APP.OrderModule.Stepper.getOpts().available,function(t,a){APP.OrderModule.Stepper.setEnabled(a),APP.OrderModule.Stepper.setCompleted(a)})},this.initViewSend=function(){console.log("initViewSend called 2"),o.Stepper.setOpts({onAfterLoad:function onAfterLoad(){}}),$(".buttonOrderSend").off("click"),$(".buttonOrderSend").on("click",function(){console.log("Send buton clicked"),$(".buttonOrderSend").toggleClass("d-none"),$(".buttonOrderSending").toggleClass("d-none"),$.each(APP.OrderModule.Stepper.getOpts().available,function(t,a){o.Stepper.unsetEnabled(a),o.Stepper.unsetCompleted(a)}),o.sendOrderDataToServer("send",o.afterOrderSendOk,o.afterOrderSendError)})},this.testModeSend=function(){},this.testMode=function(){console.log("testMode called "),r.setData({id:234,supplierId:7,productSelected:{116:3,293:2},contactName:"Contact Name",note:"Note",type:"daily",deliveryDate:a.defaultDeliveryDate,deliveryAddress:12}),console.log(r.getData()),console.log("*******************"),o.Stepper.setOpts({UrlData:{supplierId:r.supplierId,id:r.id}}),this.Stepper.init({URL:{create:a.URL.create},complete:["supplier","parameter","productSelect"],enable:["supplier","parameter","productSelect"],active:"productSelect",onAfterActivate:this.initViewProductSelect,autoCallback:{invoice:{onAfterActivate:o.initViewInvoice},send:{onAfterActivate:o.initViewSend}}}),console.log("*******************")},this.toggleEnableSend=function(){console.log("toggleEnableSend called");var t=a.URL.checkReadyToSend.replace("%id%",r.id);$.ajax({url:t,success:function success(t){t.success&&(t.readyToSend?(o.Stepper.addCompleted("send"),o.Stepper.addEnabled("send")):(o.Stepper.unsetCompleted("send"),o.Stepper.unsetEnabled("send"))),console.log(t)}})}}})(),(()=>{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 _superPropGet(t,a,r,o){var i=_get(_getPrototypeOf(1&o?t.prototype:t),a,r);return 2&o&&"function"==typeof i?function(t){return i.apply(r,t)}:i}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,a,r){var o=function _superPropBase(t,a){for(;!{}.hasOwnProperty.call(t,a)&&null!==(t=_getPrototypeOf(t)););return t}(t,a);if(o){var i=Object.getOwnPropertyDescriptor(o,a);return i.get?i.get.call(arguments.length<3?t:r):i.value}},_get.apply(null,arguments)}function _defineProperties(t,a){for(var r=0;r "+r),$(".advanceSearchModal input[name="+a+"],.advanceSearchModal select[name="+a+"]").val(r).trigger("change"),$("."+a+"SelectedDateText").text(r))}),t&&$(".dt-button.btn-advanceSearchParameter").addClass("btn-success"),$(".advanceSearchModal .buttonClear").off("click"),$(".advanceSearchModal .buttonClear").on("click",function(){$(".advanceSearchModal input,.advanceSearchModal select").val("").trigger("change"),$(".SelectedDateText").text(" ");var t=APP.OrderArchiveModule;$.each(t.Opts.dataTable.advanceSearchParameter,function(a,r){t.Opts.dataTable.advanceSearchParameter[a]=null}),$(".dt-button.btn-advanceSearchParameter").removeClass("btn-success");var a=t.Opts.CSSSelectorContainer+" .dataTable";$(a).DataTable().ajax.reload(),$(".advanceSearchModal").modal("hide")}),$(".advanceSearchModal .buttonSave").off("click"),$(".advanceSearchModal .buttonSave").on("click",function(){console.log("clicked advanced search ");var t=APP.OrderArchiveModule,a=$(".advanceSearchModalForm").find("input,select").serializeArray();console.log(a),console.log(t.Opts),console.log(t.Opts.dataTable.advanceSearchParameter),$.each(t.Opts.dataTable.advanceSearchParameter,function(a,r){t.Opts.dataTable.advanceSearchParameter[a]=null}),$.each(a,function(a,r){console.log(r.name),console.log(r.value),void 0!==t.Opts.dataTable.advanceSearchParameter[r.name]&&r.value.length>0&&(t.Opts.dataTable.advanceSearchParameter[r.name]=r.value)}),console.log(t.Opts.dataTable.advanceSearchParameter);var r=t.Opts.CSSSelectorContainer+" .dataTable";$(r).DataTable().ajax.reload(),$(".dt-button.btn-advanceSearchParameter").addClass("btn-success"),$(".advanceSearchModal").modal("hide")})}},{key:"initViewList",value:function initViewList(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization"),APP.IsUserAdmin?this.DtColumns=[{data:"supplier_name"},{data:"deliveryDate"},{data:"profit_center.name"},{data:"deliveryAddressName"},{data:"sentTime"},{data:"humanId"},{data:"confirmed"},null]:this.DtColumns=[{data:"supplier_name"},{data:"deliveryDate"},{data:"deliveryAddressName"},{data:"sentTime"},{data:"humanId"},{data:"confirmed"},null];var a=this.Opts.CSSSelectorContainer+" .dataTable",r=$(a+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,datatableCustomHeadButtonClickCallBack:this.datatableCustomHeadButtonClickCallBack});var o=this.Opts.dataTable.orderDirective,i=this.Opts.dataTable.advanceSearchParameter;void 0!==t.orderDirective&&(o=t.orderDirective),this.dataTable=$(a).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:this.Opts.URL.getDataTableContent,data:function data(t){t.advanceSearchParameter=i}},columnDefs:[{targets:r-1,render:function render(t,a,r){var o=APP.datatableAddRowViewButton(0,arguments);return o+=APP.datatableAddRowAttachmentButton(0,arguments),r.canEditable&&(o+=APP.datatableAddRowEditButton(0,{title:"módosítás"})),o}},{targets:r-2,render:function render(t,a,r){return null==r.confirmed?'':r.confirmed}},{targets:1,render:function render(t,a,r){return"sort"===a?t.latinise():t}}],buttons:{buttons:["excel","pdf",{extend:"print",title:"title custom text",messageTop:"Message On Top",autoPrint:!0},{text:"Szürők",action:function action(t,a,r,o){APP.datatableCustomHeadButtonClickCallBack()},className:"btn-advanceSearchParameter"}]},columns:this.DtColumns,order:o,stateSave:!1,drawCallback:function drawCallback(t){APP.datatableAddRowAction(a)}}),this.initAdvancedSearch(),debug("listview end")}}])}();window.OrderArchiveModule=a}})(),(()=>{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,a){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization");var a=this.Opts.CSSSelectorContainer+" .dataTable",r=$(a+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick});var o=this.Opts.dataTable.orderDirective;void 0!==t.orderDirective&&(o=t.orderDirective),$(a).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:this.Opts.URL.getDataTableContent,data:function data(t){}},columnDefs:[{targets:r-1,render:function render(t,a,r){return r.fileUrl?APP.datatableAddRowAttachmentButton(0,arguments):""}}],buttons:{buttons:[]},columns:[{data:"id"},{data:"supplierName"},{data:"available"},{data:"created_at"},{data:"note"},null],order:o,drawCallback:function drawCallback(t){APP.datatableAddRowAction(a)}}),debug("listview end")}}])}();window.PriceListModule=t}})(),(()=>{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,a){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};debug("listview inicialization");var a=this.Opts.CSSSelectorContainer+" .dataTable",r=$(a+" thead th").length;APP.setOpts({datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick});var o=this.Opts.dataTable.orderDirective;void 0!==t.orderDirective&&(o=t.orderDirective),$(a).DataTable({language:{url:"//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json"},ajax:{url:this.Opts.URL.getDataTableContent,data:function data(t){}},columnDefs:[{targets:r-1,render:function render(t,a,r){return APP.datatableAddRowViewButton(0,arguments)}}],buttons:{buttons:[]},columns:[{data:"name"},{data:"product_group"},{data:"service"},null],order:o,drawCallback:function drawCallback(t){APP.datatableAddRowAction(a)}}),debug("listview end")}},{key:"renderContact",value:function renderContact(){var t=1;console.log("renderingContacts"),$.each(APP.Supplier.getData("contact"),function(){this.rowNum=t;var a=$('template[data-name="supplierContactTableRow"]').html(),r=Mustache.render(a,this);$(".contactTable tbody").append(r),t++})}}])}();window.SupplierModule=t}})(); //# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/public/js/module.js.map b/public/js/module.js.map index ba5a7ef..7d7f4dc 100644 --- a/public/js/module.js.map +++ b/public/js/module.js.map @@ -1 +1 @@ -{"version":3,"file":"/js/module.js","mappings":"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","sources":["webpack:///./resources/js/moduleJs/moduleBase.js","webpack:///./resources/js/moduleJs/order.js","webpack:///./resources/js/moduleJs/orderArchive.js","webpack:///./resources/js/moduleJs/priceList.js","webpack:///./resources/js/moduleJs/supplier.js"],"sourcesContent":["class ModuleBase {\r\n Opts = {\r\n testMode: false,\r\n CSSSelectorContainer: '',\r\n CSSSelectorForm: '',\r\n token: null,\r\n URL: {\r\n getDataTableContent: null,\r\n checkReadyToSend: null,\r\n index: null,\r\n show: null,\r\n edit: null,\r\n create: null,\r\n store: null,\r\n update: null,\r\n destroy: null,\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc'],\r\n CSSSelector: null,\r\n advanceSearchParameter:{}\r\n },\r\n };\r\n data = null;\r\n root = this;\r\n\r\n constructor(options, data) {\r\n this.Opts.CSSSelectorContainer = '.container' + this.constructor.name;\r\n this.Opts.CSSSelectorForm = '.' + this.constructor.name + 'Form';\r\n this.Opts.dataTable.CSSSelector = this.Opts.CSSSelectorContainer + ' .dataTable';\r\n this.root = this;\r\n if (data !== \"undefined\" || data != null) {\r\n this.data = data;\r\n }\r\n if (options != null) {\r\n $.extend(this.Opts, options);\r\n }\r\n }\r\n\r\n init(options, data) {\r\n if (data !== \"undefined\" || data != null) {\r\n this.data = data;\r\n }\r\n if (options != null) {\r\n $.extend(this.Opts, options);\r\n }\r\n }\r\n\r\n datatableRowActionButtonClick(event,rootObj,options) {\r\n debug('call ModuleBase.datatableRowActionButtonClick');\r\n debug(rootObj);\r\n let node = $(event[0].currentTarget);\r\n let row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData = row.data();\r\n let actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\r\n if (typeof rootObj[actionName] === \"function\") {\r\n return rootObj[actionName](rowData, node)\r\n }\r\n }\r\n\r\n datatableRowActionAttachment(rowData,node,options) {\r\n debug('call ModuleBase.datatableRowActionAttachment ');\r\n let fileName='downloadedFile';\r\n if(typeof options.defaultFileName!== \"undefined\"){\r\n fileName=options.defaultFileName;\r\n }\r\n if(rowData.fileUrl){\r\n if(rowData.fileName){\r\n fileName=rowData.fileName;\r\n }\r\n $.ajax({\r\n url: rowData.fileUrl,\r\n method: 'GET',\r\n xhrFields: {\r\n responseType: 'blob'\r\n },\r\n success: function (data) {\r\n let a = document.createElement('a');\r\n let url = window.URL.createObjectURL(data);\r\n a.href = url;\r\n a.download = fileName;\r\n document.body.append(a);\r\n a.click();\r\n a.remove();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n });\r\n\r\n }else{\r\n Toast.create({ title: \"Hiba!\", message: 'Nincs csatolt fájl!', status: TOAST_STATUS.DANGER, timeout: 10000 });\r\n }\r\n\r\n }\r\n\r\n datatableRowActionView(rowData,node,rootObj,options) {\r\n debug('call ModuleBase.datatableRowActionView');\r\n let ajaxUrl = rootObj.Opts.URL.show.replace('%id%', rowData.id);\r\n /*\r\n console.log(Opts.URL);\r\n */\r\n console.log(ajaxUrl);\r\n APP.loadMainContent(ajaxUrl, rootObj.initViewShow);\r\n console.log('ModuleBase.datatableRowActionEdit End');\r\n }\r\n\r\n}\r\nwindow.ModuleBase=ModuleBase;\r\n","window.OrderModulDefault={\n actionFunction: function () {},\n}\nclass DataModelOrder extends DataModel{\n\n /*\n * Constructor\n */\n constructor (data,options) {\n super(data,options)\n if(typeof this.productSelected ===\"undefined\"){\n this.productSelected={};\n }\n if(typeof this.productComment ===\"undefined\"){\n this.productComment={};\n }\n console.log(this.constructor.name+' constructor called');\n };\n};\nwindow.DataModelOrder=DataModelOrder;\n\nwindow.Stepper=function () {\n\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n complete: ['supplier'],\n available: ['supplier', 'parameter', 'productSelect', 'invoice', 'send'],\n enable: ['supplier', 'invoice'],\n load: [],\n excludeLoaded:['invoice','send'],\n loaded: [],\n active: false,\n URL: {\n create: '',\n },\n UrlData:false,\n onAfterLoad:function () {},\n onAfterActivate:function () {},\n autoCallback:{\n 'invoice':{\n onAfterActivate:function () {},\n },\n 'send':{\n onAfterActivate:function () {},\n },\n },\n nowLoaded:false,\n\n };\n\n let root=this;\n /*\n * Constructor\n */\n this.construct = function (options) {\n $.extend(Opts, options);\n };\n\n this.getOpts=function(){\n return Opts;\n }\n this.setOpts=function(options){\n $.extend(Opts, options);\n }\n\n\n\n this.init=function (options){\n $.extend(Opts, options);\n\n debug(Opts);\n $('.step').each(function(){\n let stepName=$(this).data('stepname');\n if(Opts.complete.includes(stepName)){\n root.setCompleted(stepName);\n }\n if(Opts.enable.includes(stepName)){\n root.setEnabled(stepName);\n }\n if(Opts.load.includes(stepName)){\n root.loadStepContent(stepName);\n }\n\n if(Opts.active===stepName){\n root.setActive(stepName);\n }\n });\n root.bindClickAction();\n }\n\n this.bindClickAction=function (){\n let stepClickButtons=$('.stepClick');\n stepClickButtons.off('click');\n stepClickButtons.on('click',root.stepClick);\n\n }\n\n this.setCompleted=function (stepName){\n console.log(stepName+' completed');\n $('.step[data-stepName=\"'+stepName+'\"]').addClass('completed');\n }\n\n this.unsetCompleted=function (stepName){\n console.log(stepName+' Uncompleted');\n $('.step[data-stepName=\"'+stepName+'\"]').removeClass('completed');\n Opts.complete=arrayRemove(Opts.complete,stepName);\n }\n\n this.unsetEnabled=function (stepName){\n console.log(stepName+' Un enabled');\n $('.click'+stepName).contents().unwrap();\n Opts.enable=arrayRemove(Opts.enable,stepName);\n }\n this.setEnabled=function (stepName){\n console.log(stepName+' enabled');\n let stepItem=$('.step[data-stepName=\"'+stepName+'\"]');\n stepItem.html(''+stepItem.html()+'');\n root.bindClickAction();\n //$('.stepClick').click(root.stepClick);\n\n }\n\n this.addEnabled=function(stepName){\n if(!Opts.enable.includes(stepName)){\n Opts.enable.push(stepName);\n }\n root.setEnabled(stepName);\n }\n\n this.addCompleted=function(stepName){\n if(!Opts.complete.includes(stepName)){\n Opts.complete.push(stepName);\n }\n root.setCompleted(stepName);\n root.bindClickAction();\n }\n\n\n this.loadStepContent=function (stepName){\n let data={'type':stepName};\n $.extend(data, Opts.UrlData);\n\n $.ajax({\n async: true,\n type: \"GET\",\n url: Opts.URL.create,\n data: data,\n cache: false,\n success: function(result)\n {\n let container=$('.SC'+stepName.capitalize());\n if($.inArray(stepName,Opts.excludeLoaded)==-1){\n Opts.loaded.push(stepName);\n }else{\n console.log('excluded View');\n }\n container.html(result);\n if(Opts.nowLoaded){\n Opts.nowLoaded(stepName);\n }\n Opts.onAfterLoad();\n }\n });\n }\n\n this.clearLoaded=function () {\n Opts.loaded=['supplier'];\n $('.stepContainer').each(function(){\n/*\n console.log(this.classList);\n console.log(this.classList.contains('SCSupplier'));\n console.log($(this).attr('class'));\n*/\n if(!this.classList.contains('SCSupplier')){\n $(this).html('');\n }\n });\n }\n\n this.setActiveFinish=function(stepName){\n let container=$('.SC'+stepName.capitalize());\n if(stepName==='productSelect'){\n $('.containerStepper').addClass('activeSideBar');\n }else{\n $('.containerStepper').removeClass('activeSideBar');\n }\n debug('setActiveFinish show:'+stepName);\n container.show();\n Opts.nowLoaded=false;\n root.active=stepName;\n Opts.onAfterActivate();\n if(typeof Opts.autoCallback[stepName]!=='undefined' ){\n Opts.autoCallback[stepName].onAfterActivate();\n }\n }\n this.setActive=function(stepName){\n $('.stepContainer').hide();\n if(!Opts.loaded.includes(stepName)){\n root.loadStepContent(stepName);\n Opts.nowLoaded=this.setActiveFinish;\n }else{\n this.setActiveFinish(stepName);\n }\n }\n\n this.stepClick=function(event){\n event.preventDefault();\n let stepName=$(event.currentTarget).data('stepname');\n console.log('setActive:'+stepName);\n root.setActive(stepName);\n }\n}\n\nwindow.OrderModule = function () {\n\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n testMode: false,\n needStepper:true,\n CSSSelectorForm:'.orderParameterForm',\n defaultDeliveryDate:'',\n dataSyncPauseTime:500,\n token:null,\n URL: {\n root:null,\n getDataTableContentProductList:null,\n checkReadyToSend:null,\n index:null,\n show:null,\n edit:null,\n create: null,\n store: null,\n update:null,\n destroy:null,\n toggleFavorites:null,\n },\n };\n\n const PublicVar = {};\n let PublicVar2 = {'asd': '21'};\n let ApiToken = null;\n let Order=null;\n let root = this;\n let viewInicialized=[];\n\n this.setOpts = function (options) {\n $.extend(Opts, options);\n }\n\n this.getOpts = function () {\n return Opts;\n }\n this.clickOrderEdit=function (data){\n debug('clickEdit');\n debug(data);\n let ajaxUrl=Opts.URL.edit.replace('%id%',data.id);\n APP.loadMainContent(ajaxUrl);\n/* let ajaxData={};\n ajaxData._token=Opts.token;\n $.extend(ajaxData,Order);\n let ajaxUrl=Opts.URL.edit.replace('%id%',data.id);\n $.ajax({\n url: ajaxUrl,\n method:'GET',\n data:ajaxData,\n success:function (response) {\n if(response.success){\n let orderData=response.data;\n orderData.supplierId=orderData.supplier_id;\n delete(orderData.supplier_id);\n root.initOrder(orderData);\n root.initStepper();\n //root.afterOrderSetSupplierOk(data.data);\n }\n }\n });*/\n\n\n }\n this.afterOrderDeleted=function (data){\n if(data.success==true){\n debug('Order delete success');\n APP.loadMainContent(Opts.URL.index);\n }else{\n Toast.create({ title: \"Error deleted !\", message: '', status: TOAST_STATUS.DANGER, timeout: 5000 });\n }\n }\n this.clickOrderDeleteConfirmed=function (event){\n debug('clickOrderDeleteConfirmed');\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 $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n method:\"DELETE\",\n success:root.afterOrderDeleted,\n //error:ajaxErrorHandler\n });\n\n }\n this.initViewOrderSelect=function (){\n debug('called initViewOrderSelect ');\n $('.ordersSelectTable button').off('click');\n $('.ordersSelectTable button').on('click',function (){\n let action=$(this).data('action');\n let orderId=$($(this).closest('tr')[0]).data('orderid');\n debug(action);\n debug(orderId);\n\n if(action=='delete'){\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 megrendelést?');\n modal.find('.buttonYes').off('click');\n modal.find('.buttonYes').on('click',{id:orderId},root.clickOrderDeleteConfirmed);\n });\n $('#dialogModal').modal('show');\n }else{\n root.clickOrderEdit({id:orderId});\n }\n });\n $('.buttonNew').off('click');\n $('.buttonNew').on('click',function (){\n APP.loadMainContent(Opts.URL.index,'force=true');\n });\n\n }\n this.initStepper=function (){\n debug(Order.getData());\n viewInicialized=[];\n $('.statusNamePlace').text('Nincs elküldve');\n $('.statusNamePlace').addClass('statusBlink');\n root.setDeliveryDate('-');\n root.setSupplier('-');\n\n let unEnabled=['parameter', 'productSelect', 'invoice', 'send'];\n $.each(unEnabled,function (index,value) {\n root.Stepper.unsetEnabled(value);\n root.Stepper.unsetCompleted(value);\n });\n\n debug(root.Stepper.getOpts()['available']);\n debug(Order.getData()['orderStatus']);\n\n let stepActive='supplier';\n let stepComplete=['supplier'];\n let stepEnable=[];\n let stepOnAfterActivate=function (){};\n\n let avalaibleSteps=root.Stepper.getOpts()['available'];\n let stepUrlData=false;\n let stepAutoCallback=[];\n for (let stepName of avalaibleSteps) {\n stepOnAfterActivate=this['initView'+stepName.capitalize()];\n let item={};\n item['onAfterActivate']=stepOnAfterActivate;\n stepAutoCallback[stepName]=item;\n }\n debug(stepAutoCallback);\n debug(Order.getData()['id']);\n if(Order.getData()['id']>0){\n debug('hajra');\n debug(Order.getData());\n if(Order.getData()['deliveryDate']){\n root.setDeliveryDate(Order.getData()['deliveryDate']);\n /*\n @todo: weekly-t beallitani\n */\n }\n if(Order.getData()['supplierName']){\n root.setSupplier(Order.getData()['supplierName']);\n }\n stepUrlData={'supplierId':Order.supplierId,id:Order.id};\n for (let stepName of avalaibleSteps) {\n console.log(stepName);\n stepComplete.push(stepName);\n stepEnable.push(stepName);\n if(Order.getData()['orderStatus']==stepName){\n stepActive=stepName;\n /*\n debug('initView'+stepName.capitalize());\n if(stepName!=='invoice' && stepName!=='send'){\n stepOnAfterActivate=this['initView'+stepName.capitalize()];\n }else{\n stepOnAfterActivate=function (){};\n }\n */\n break;\n }\n }\n\n/*\n //refactored for loop\n var BreakException = {};\n try {\n avalaibleSteps.forEach(function(stepName) {\n console.log(stepName);\n stepComplete.push(stepName);\n stepEnable.push(stepName);\n if(Order.getData()['orderStatus']==stepName){\n stepActive=stepName;\n throw BreakException;\n }\n\n });\n } catch (e) {\n if (e !== BreakException) throw e;\n }*/\n\n }\n\n root.Stepper.init({\n complete:stepComplete,\n enable:stepEnable,\n loaded:[],\n active: stepActive,\n URL: {\n create: Opts.URL.create,\n },\n UrlData:stepUrlData,\n onAfterActivate:stepOnAfterActivate,\n autoCallback: stepAutoCallback,\n /*{\n invoice: {\n onAfterActivate:root.initViewInvoice\n },\n send: {\n onAfterActivate:root.initViewSend\n },\n\n }*/\n });\n }\n\n this.initOrder=function (data){\n Order=new DataModelOrder(data);\n }\n\n this.init = function (options) {\n debug('OrderModul init called');\n $.extend(Opts, window.OrderModulDefault, options);\n Order=new DataModelOrder();\n if(Opts.needStepper){\n if (typeof this.Stepper == 'undefined') {\n this.Stepper=new Stepper();\n }\n }\n if(Opts.testMode){\n return root.testMode();\n }\n }\n\n this.setSupplier=function (supplierName,supplierId){\n if(supplierName){\n $('.supplierNamePlace').text(supplierName);\n }\n if(supplierId){\n Order.setData({supplierId:supplierId});\n root.Stepper.setOpts({'UrlData':{'supplierId':supplierId}});\n }\n }\n this.setDeliveryDate=function (dateText,dateTextTo){\n let dateTextHuman=dateText.replaceAll('-','.')+'.';\n if(dateTextHuman.length<5){\n $('.deliveryDatePlace').text(dateText);\n return;\n }\n if(dateTextTo){\n dateTextHuman+=' - '+dateTextTo.replaceAll('-','.')+'.';\n }\n\n $(Opts.CSSSelectorForm+' .selectedDateText').text(dateTextHuman);\n $('.deliveryDatePlace').text(dateTextHuman);\n $(Opts.CSSSelectorForm+' input[name=\"deliveryDate\"]').val(dateText);\n }\n\n\n\n this.getData=function (){\n return Order;\n }\n\n\n this.setSupplierCompleted=function () {\n console.log('bingo');\n root.initViewParameter()\n }\n\n this.afterOrderSetSupplierOk=function (data) {\n Toast.create({ title: \"Supplier selected !\", message: data.supplier.name , status: TOAST_STATUS.INFO, timeout: 5000 });\n root.setSupplier(data.supplier.name,data.supplier.id);\n Order.setData({id:data.id});\n root.Stepper.setOpts({'UrlData':{'supplierId':Order.supplierId,id:Order.id}});\n //root.Stepper.setOpts({onAfterLoad:root.setSupplierCompleted})\n root.Stepper.setEnabled('parameter');\n root.Stepper.addCompleted('parameter');\n root.Stepper.setCompleted('parameter');\n root.Stepper.setActive('parameter');\n }\n\n\n this.initViewSupplier=function (){\n debug('call initViewSupplier');\n root.Stepper.setOpts({onAfterLoad:function (){}});\n $('.supplierItem').off('click');\n $('.supplierItem').on('click',function(event){\n console.log(Order.getData());\n\n event.preventDefault();\n let supplierId=$(event.currentTarget).data('id');\n let supplierName=$(event.currentTarget).find('h5.card-title').text();\n if(typeof Order.supplierId=='undefined'){\n //new order\n\n let ajaxData={};\n ajaxData._token=Opts.token;\n ajaxData.supplierId=supplierId;\n ajaxData.storeType='supplierSelect';\n $.extend(ajaxData,Order);\n $.ajax({\n url: Opts.URL.store,\n method:'POST',\n data:ajaxData,\n success:function (data) {\n if(data.success){\n root.afterOrderSetSupplierOk(data.data);\n }\n }\n });\n //Order.setData({supplierId:supplierId});\n }else{\n //ide kellene egy jo kis kerdes\n if(Order.supplierId!=supplierId){\n Toast.create({ title: \"Supplier change to!\", message: supplierName, status: TOAST_STATUS.WARNING, timeout: 5000 });\n root.Stepper.clearLoaded();\n Order=new DataModelOrder();\n //Order.setData({supplierId:supplierId});\n }\n }\n\n return;\n console.log('-----------');\n console.log(root.Stepper.getOpts());\n console.log('-----------');\n\n //$('.supplierNamePlace').text(supplierName);\n root.setSupplier(supplierName,supplierId);\n console.log(supplierName)\n //@todo:ide kell egy mentes!\n //@todo:mentes eredemenyekeppen lehet valtani\n event.preventDefault();\n root.Stepper.setOpts({onAfterLoad:root.setSupplierCompleted})\n root.Stepper.setEnabled('parameter');\n root.Stepper.addCompleted('parameter');\n root.Stepper.setCompleted('parameter');\n root.Stepper.setActive('parameter');\n\n\n });\n }\n\n this.checkContactNameField=function () {\n let CSSSelectorForm='.orderParameterForm';\n let node=$(CSSSelectorForm+' input[name=contactName]');\n if(node.val().length<2){\n node.removeClass('is-valid');\n node.addClass('is-invalid');\n return false;\n }else{\n node.addClass('is-valid');\n node.removeClass('is-invalid');\n return true;\n }\n }\n\n\n\n this.sendOrderDataToServer=function (updateType,callback,errorCallback) {\n let ajaxData= {};\n let ajaxUrl=Opts.URL.store;\n let ajaxMethod=\"POST\";\n if(Order.id){\n ajaxUrl=Opts.URL.update.replace('%id%',Order.id);\n //ajaxMethod=\"PUT\";\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\n ajaxData._method='PUT';\n }\n ajaxData._token=Opts.token;\n ajaxData.updateType=updateType;\n $.extend(ajaxData,Order);\n debug(Order);\n debug(ajaxData);\n debug('ajaxUrl:'+ajaxUrl);\n ajaxData=jsonToFormData(ajaxData);\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n type:ajaxMethod,\n contentType:false,\n processData: false,\n success:function (data) {\n debug('ajax returned data');\n debug(data);\n if(data.success){\n //root.afterOrderSetSupplierOk(data.data);\n callback(data);\n }\n },\n error: function (xhr, ajaxOptions, thrownError) {\n ajaxErrorHandler(xhr, ajaxOptions, thrownError);\n if(typeof errorCallback!='undefined'){\n errorCallback(xhr.responseJSON);\n }\n },\n\n });\n\n }\n this.afterOrderSetParameterOk=function (data) {\n debug('called afterOrderSetParameterOk');\n root.Stepper.setOpts({'UrlData':{'supplierId':Order.supplierId,'id':Order.id}});\n //root.Stepper.setOpts({onAfterLoad:root.setParameterCompleted})\n root.Stepper.setEnabled('productSelect');\n root.Stepper.addCompleted('productSelect');\n root.Stepper.setCompleted('productSelect');\n root.Stepper.setActive('productSelect');\n }\n this.selectCurrentWeek = function() {\n console.error('selectCurrentWeek');\n console.error($('.ui-datepicker').find('.ui-datepicker-current-day a'));\n $('.ui-datepicker').find('.ui-datepicker-current-selected-weekday a').addClass('ui-state-active')\n }\n this.weekHover = function() {\n console.error('hover Active');\n $('.ui-datepicker-calendar tr').off('mousemove');\n $('.ui-datepicker-calendar tr').off('mouseleave');\n\n $('.ui-datepicker-calendar tr').on('mousemove', function() { $(this).find('td a').addClass('ui-state-hover'); });\n $('.ui-datepicker-calendar tr').on('mouseleave', function() { $(this).find('td a').removeClass('ui-state-hover'); });\n\n }\n this.weekHoverSlow = function() {\n console.error('weekHoverSlow');\n if($('.ui-datepicker-calendar tr').length<1){\n setTimeout(root.weekHoverSlow, 1);\n return;\n }\n root.weekHover();\n }\n this.initDatePicker=function (type) {\n console.error('asdasdadad');\n console.log('tipus' + type);\n let CSSSelectorForm = '.orderParameterForm';\n let startDate=new Date('1900-01-01');\n let endDate=new Date('1900-01-02');\n\n $(CSSSelectorForm + ' .datePicker').datepicker(\"destroy\");\n\n if (type == 'weekly') {\n $(CSSSelectorForm + ' .datePicker').datepicker({\n showOtherMonths: true,\n selectOtherMonths: true,\n showWeek: true,\n dateFormat: 'yy-mm-dd',\n firstDay: 1,\n minDate: new Date(),\n afterShow: function (dateText, inst) {\n root.weekHover();\n root.selectCurrentWeek();\n },\n onSelect: function (dateText, inst) {\n let date = $(this).datepicker('getDate');\n startDate = new getMonday(date);\n endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 7);\n root.setDeliveryDate($.datepicker.formatDate( 'yy-mm-dd',startDate),$.datepicker.formatDate( 'yy-mm-dd',endDate))\n },\n beforeShow: function () {\n console.group('beforeShow')\n console.log(startDate);\n console.log(endDate);\n //root.weekHoverSlow();\n console.groupEnd();\n },\n beforeShowDay: function(date) {\n console.group('beforeShowDay');\n console.log(date.toLocaleDateString('hu-Hu'));\n let cssClass = '';\n if(date >= startDate && date <= endDate){\n console.error(date.toLocaleDateString('hu-Hu'));\n cssClass = 'ui-datepicker-current-selected-weekday';\n //cssClass = 'ui-state-active';\n }\n console.log(cssClass);\n console.groupEnd();\n\n return [true, cssClass];\n },\n onChangeMonthYear: function(year, month, inst) {\n //root.selectCurrentWeek();\n }\n });\n\n } else {\n $(CSSSelectorForm + ' .datePicker').datepicker({\n dateFormat: 'yy-mm-dd',\n minDate: new Date(),\n onSelect: function (dateText) {\n $(CSSSelectorForm + ' .selectedDateText').text(dateText);\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\n $(CSSSelectorForm + ' input[name=\"deliveryDate\"]').val(dateText);\n\n },\n });\n\n }\n }\n this.callChangeOrderType=function(){\n console.log(this);\n console.log(this.value);\n root.initDatePicker(this.value);\n //enum('daily', 'weekly')\n /*let CSSSelectorForm='.orderParameterForm';\n let node=$(CSSSelectorForm+' input[name=contactName]');\n if(node.val().length<2){\n node.removeClass('is-valid');\n node.addClass('is-invalid');\n return false;\n }else{\n node.addClass('is-valid');\n node.removeClass('is-invalid');\n return true;\n }\n */\n }\n\n this.initViewParameter=function () {\n debug('call initViewParameter');\n root.Stepper.setOpts({onAfterLoad:function (){}});\n let CSSSelectorForm='.orderParameterForm';\n $(CSSSelectorForm+' .datePickerClick').click(function(){\n $(CSSSelectorForm+' .datePicker').datepicker('show');\n });\n\n $(CSSSelectorForm+' .orderParameterDeliveryAddress').select2({}).show();\n $(CSSSelectorForm+' input[name=contactName]').off('blur');\n $(CSSSelectorForm+' input[name=contactName]').off('keyup');\n $(CSSSelectorForm+' input[name=contactName]').on('blur',root.checkContactNameField);\n $(CSSSelectorForm+' input[name=contactName]').on('keyup',root.checkContactNameField);\n\n $(CSSSelectorForm+' input[name=orderType]').off('change');\n $(CSSSelectorForm+' input[name=orderType]').on('change',root.callChangeOrderType);\n\n\n $(CSSSelectorForm+' .orderParameterNextButton').off('click');\n if(Order.getData()['id']>0){\n if(Order.getData()['orderType']=='weekly'){\n root.initDatePicker(Order.getData()['orderType']);\n $(CSSSelectorForm+\" input[name=orderType][value=\" + Order.getData()['orderType'] + \"]\").prop('checked', true);\n\n const endDate = new Date(Order.getData()['deliveryDate']);\n endDate.setDate(endDate.getDate() + 6);\n root.setDeliveryDate(Order.getData()['deliveryDate'],$.datepicker.formatDate( 'yy-mm-dd',endDate));\n root.initDatePicker('weekly');\n }else{\n if(Order.getData()['deliveryDate']){\n root.setDeliveryDate(Order.getData()['deliveryDate']);\n }\n root.initDatePicker('daily');\n }\n\n\n\n if(Order.getData()['contactName']){\n $(CSSSelectorForm+' input[name=contactName]').val(Order.getData()['contactName']);\n }\n if(Order.getData()['note']){\n $(CSSSelectorForm+' textarea[name=note]').val(Order.getData()['note']);\n }\n if(Order.getData()['deliveryAddressId']){\n console.log($(CSSSelectorForm+' select[name=deliveryAddressId]'));\n $(CSSSelectorForm+' select[name=deliveryAddressId]').val(Order.getData()['deliveryAddressId']);\n }\n if(Order.getData()['customNotificationEmail']){\n console.log($(CSSSelectorForm+' select[name=customNotificationEmail]'));\n $(CSSSelectorForm+' select[name=customNotificationEmail]').val(Order.getData()['customNotificationEmail']);\n }\n }else{\n root.initDatePicker('daily');\n }\n\n $(CSSSelectorForm+' .orderParameterDeliveryAddress').select2({}).show();\n $(CSSSelectorForm+' .orderParameterCustomNotificationEmail').select2({}).show();\n\n $(CSSSelectorForm).submit(function(event){\n\n event.preventDefault();\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\n debug('validaton false');\n event.stopPropagation();\n return;\n } else {\n debug('validaton ok');\n //do your ajax submition here\n }\n $('.deliveryDatePlace').text($(CSSSelectorForm+' input[name=deliveryDate]').val().replaceAll('-','.')+'.');\n\n Order.setData({\n contactName:$(CSSSelectorForm+' input[name=contactName]').val(),\n note:$(CSSSelectorForm+' textarea[name=note]').val(),\n orderType:$(CSSSelectorForm+' input:checked[name=orderType]').val(),\n deliveryDate:$(CSSSelectorForm+' input[name=deliveryDate]').val(),\n deliveryAddressId:$(CSSSelectorForm+' select[name=deliveryAddressId]').val(),\n deliveryAddress:$(CSSSelectorForm+' select[name=deliveryAddress]').val(),\n customNotificationEmail:$(CSSSelectorForm+' select[name=customNotificationEmail]').val(),\n });\n console.group('parameter form submit')\n console.error($(CSSSelectorForm+' input:checked[name=orderType]').val());\n console.error($(CSSSelectorForm+' input[name=deliveryDate]').val());\n debug(Order.getData());\n console.groupEnd();\n root.sendOrderDataToServer('parameter',root.afterOrderSetParameterOk);\n });\n\n }\n this.blank=function (){};\n this.setParameterCompleted=function () {\n console.log('setParameterCompleted called');\n root.Stepper.setOpts({onAfterLoad:function (){}});\n //root.initViewProductSelect()\n }\n\n this.bindRowFavoritesAction = function () {\n $('.buttonItemFavorites').off('click');\n $('.buttonItemFavorites').on('click', function () {\n let productId = $(this).data('id');\n console.log(productId);\n\n let ajaxUrl=Opts.URL.toggleFavorites.replace('%id%',productId);\n let ajaxData={};\n ajaxData._token=Opts.token;\n let button=this;\n console.log(ajaxUrl);\n $.ajax({\n url: ajaxUrl,\n method:'POST',\n data:ajaxData,\n success:function (response) {\n if(response.success){\n if(response.status){\n console.log('true');\n $(button).addClass('btn-warning');\n $(button).removeClass('btn-light');\n }else{\n $(button).removeClass('btn-warning');\n $(button).addClass('btn-light');\n console.log('false');\n }\n }\n }\n });\n /*\n $(this).toggleClass('btn-warning');\n $(this).toggleClass('btn-light');\n */\n });\n }\n\n this.bindRowDescriptionAction=function (){\n $('textarea.orderItemComment').on('change',function (){\n let comment=$(this).val();\n let productId=$(this).data('id');\n let productComment=Order.getData('productComment');\n if(productComment!==null){\n if(typeof productComment[productId]=='undefined' && comment.length===0){\n return;\n }\n if(productComment[productId]===comment){\n return;\n }\n }\n productComment[productId]=comment;\n if(comment.length===0){\n delete Order.productComment[productId];\n }\n Order.productComment=productComment;\n queueAjax.push(Date.now());\n root.syncOrderDataToServer();\n });\n }\n\n this.productSelectDatatablesRowFormatter=function (d) {\n // `d` is the original data object for the row\n /**\n @todo: felszedni es updatelni az adott termek memojat az orderban\n */\n console.group('productSelectDatatablesRowFormatter');\n console.log(d);\n let templateData=d;\n templateData.comment='';\n// debug(Order);\n if(Order.productComment && Order.productComment!==null){\n debug(typeof Order.productComment[d.id]);\n if(typeof Order.productComment[d.id]!='undefined' && Order.productComment[d.id].length>0){\n templateData.comment=Order.productComment[d.id];\n }\n }\n /** @typedef {boolean} d.favorites */\n if(d.favorites===true){\n templateData.btnFavoritesClass='btn-warning';\n }else{\n templateData.btnFavoritesClass='btn-light';\n }\n let template=$('template[data-name=\"orderProductSelectDetails\"]').html()\n templateData.weekly=false;\n if(Order.getData().orderType==='weekly'){\n templateData.weekly=true;\n/*\n\n templateData.weeklyDay=[\n {\"index\":1,\"name\":\"Hétfő\"},\n {\"index\":2,\"name\":\"Kedd\"},\n {\"index\":3,\"name\":\"Szerda\"},\n {\"index\":4,\"name\":\"Csütörtök\"},\n {\"index\":5,\"name\":\"Péntek\"},\n {\"index\":6,\"name\":\"Szombat\"},\n {\"index\":7,\"name\":\"Vasárnap\"},\n ];\n\n templateData.weeklyDay=[\n {\"index\":2,\"name\":\"Hétfő\" },\n {\"name\":\"Kedd\"},\n {\"name\":\"Szerda\"},\n {\"name\":\"Csütörtök\"},\n {\"name\":\"Péntek\"},\n {\"name\":\"Szombat\"},\n {\"name\":\"Vasárnap\"}\n ];\n*/\n }\n let productSelected=Order.getData('productSelected');\n if(typeof productSelected[d.id]!='undefined'){\n templateData.itemQuantity=productSelected[d.id];\n }\n console.log(['templateData',templateData]);\n let oldTags=Mustache.tags;\n Mustache.tags = [\"~!\", \"!~\"];\n if(templateData['specification']=='false' || templateData['specification']==false){\n templateData.specificationClass='d-none';\n }\n templateData.pictureImg='';\n if(templateData['picture']=='false' || templateData['picture']==false){\n templateData.pictureClass='d-none';\n }else{\n templateData.pictureImg='';\n }\n console.log('templateData',templateData);\n //templateData['aa_specification']=false;\n let render=Mustache.render(template,templateData);\n Mustache.tags =oldTags;\n console.groupEnd();\n return render;\n/*\nsolution before template\n return ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n /!*\n ''+\n ''+\n ''+\n ''+\n *!/\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n /!*\n *!/\n '
Info:'+d.note+'
hooreyca :'+d.hooreycaId+'' +\n\n '' +\n '
Extension number:'+d.extn+'
Info:'+d.note+'
Megjegyzés:
';\n*/\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 console.log($(items[item]).children('a.categoryItem'));\n if($(items[item]).children('a.categoryItem').length>0){\n res+=$(items[item]).children('a.categoryItem').text()+'/'\n }\n }\n res+=$(node).text();\n console.log(res);\n return res;\n }\n\n let selectedProductGroup=null;\n let dataTableSearchStr=null;\n let dataTableSearchKrel=false;\n\n this.searchProductByString=function (filterStr){\n root.setDatatableHeaderText('Termékek szűrve:'+filterStr);\n dataTableSearchStr=filterStr;\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n this.clickSearchProduct=function (){\n debug(this);\n let filterStr=$('.sidebar-search input[name=searchValue]').val()\n debug(filterStr);\n root.searchProductByString(filterStr);\n }\n\n this.clickFavoritesProduct = function () {\n debug('clickFavoritesProduct');\n root.setDatatableHeaderText('Termékek szűrve: kedvencek');\n dataTableSearchStr='**favorites**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n this.clickOftenProduct = function () {\n debug('clickOftenProduct');\n root.setDatatableHeaderText('Termékek szűrve: gyakran vásárolt');\n dataTableSearchStr='**often**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n this.clickSpecialOffer = function () {\n debug('clickSpecialOffer');\n root.setDatatableHeaderText('Termékek szűrve: Akciós termékek');\n dataTableSearchStr='**specialOffer**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n\n\n\n this.clickLastProduct = function () {\n debug('clickLastProduct');\n root.setDatatableHeaderText('Termékek szűrve: utoljára vásárolt');\n dataTableSearchStr='**last**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n\n }\n\n this.clickWeeklyProduct = function () {\n debug('clickWeeklyProduct');\n root.setDatatableHeaderText('Termékek szűrve: Heti termékek');\n dataTableSearchStr='**weekly**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n\n }\n\n this.clickKrelProduct = function () {\n debug('clickKrelProduct');\n //root.setDatatableHeaderText('Termékek szűrve: Heti termékek');\n //dataTableSearchStr='**weekly**';\n //$('.dataTableOrderProductSelect').DataTable().ajax.reload();\n $(this).parent().toggleClass('krelActive');\n dataTableSearchKrel=!dataTableSearchKrel;\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n this.productSelectDataTableColumnDefs=function (){\n return [\n {\"width\": \"10px\", \"targets\": 0 },\n { \"className\": \"dt-left\", \"targets\": 1 },\n// { \"width\": \"120px\", \"targets\": 1 },\n { \"width\": \"28px\", \"targets\": 2 },\n { \"width\": \"41px\", \"targets\": 3 },\n { \"width\": \"76px\", \"targets\": 4 },\n { \"width\": \"55px\", \"targets\": 5 },\n { \"width\": \"70px\", \"targets\": 6 },\n { \"width\": \"54px\", \"targets\": 7 },\n { \"width\": \"57px\", \"targets\": 8 },\n { \"width\": \"42px\", \"targets\": 9 },\n { \"width\": \"100px\", \"targets\": 10},\n {\"className\": \"dt-center\", \"targets\": \"_all\"},\n ];\n }\n this.productSelectDataTableColumn=function (){\n let columnData=[\n {\n \"className\": 'details-control',\n \"orderable\": false,\n \"data\": null,\n \"defaultContent\": ''\n },\n { \"data\": \"name\" },\n { \"data\": \"krel\" },\n { \"data\": \"packing\"},\n { \"data\": \"unitValue\" },\n { \"data\": \"productUnit\"},\n { \"data\": \"sellerUnit\" },\n { \"data\": \"unitMultiplier\"},\n { \"data\": \"amountUnit\" },\n { \"data\": \"price\" },\n\n ];\n\n let actionColumn={ \"className\": 'details-control2',\n \"orderable\": false,\n \"data\": null,\n \"width\": \"100px\",\n \"defaultContent\":''\n };\n if(Order.getData('orderType')=='daily'){\n actionColumn.defaultContent=''\n /*\n \"defaultContent\":'
' +\n '' +\n '' +\n '' +\n '
'\n */\n\n ;\n }\n columnData.push(actionColumn);\n return columnData;\n }\n this.getDatatables=function (orderType){\n console.error(orderType);\n var 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.getDataTableContentProductList,\n data:function (data) {\n data.searchStr=dataTableSearchStr;\n data.krel=dataTableSearchKrel;\n data.groupId=selectedProductGroup;\n data.supplierId=Order.supplierId;\n data.deliveryDate=Order.deliveryDate;\n }\n },\n buttons: {\n buttons: []\n },\n \"columnDefs\": root.productSelectDataTableColumnDefs(),\n \"columns\": root.productSelectDataTableColumn(),\n \"order\": [[1, 'asc']],\n } );\n return table;\n }\n\n this.productSelectDataTableDrawDT=function (e) {\n //debug( 'Table draw complete: '+new Date().getTime() );\n\n //$('td:contains(\"*\")').html('');\n $(\"td\").filter(function(){\n return $(this).text() === '*';\n }).html('');\n if(Order.getData().orderType=='daily'){\n $(\"input[type='number'].inputNumberSpinner\").inputSpinner({\n template:\n '
' +\n '' +\n //'' +\n '' +\n '' +\n '
',\n buttonsWidth: \"0.5rem\",\n groupClass: \"\", // css class of the resulting input-group\n buttonsClass: \"btn-outline-secondary\",\n });\n }\n root.bindWeakUserHelper();\n /*\n ----------------------------------------------------------\n change order quantity\n */\n $(\".dataTableOrderProductSelect .details-control2 input[type=text]\").off('change');\n $(\".dataTableOrderProductSelect .details-control2 input[type=text]\").on('change',function (e){\n let quantity=$(this).val();\n quantity=quantity.replace(',','.');\n quantity=parseFloat(quantity);\n let rowData=$('.dataTableOrderProductSelect').DataTable().row($(this).closest('tr')).data();\n root.orderItemsChange(rowData,quantity)\n });\n\n $(\".dataTableOrderProductSelect .details-control2 input[type=text]\").each(function (){\n //debug('ez a function2')\n let quantity=$(this).val();\n let rowData=$('.dataTableOrderProductSelect').DataTable().row($(this).closest('tr')).data();\n\n if(Order.productSelected[rowData.id]){\n debug(rowData);\n debug($($(this).closest('tr').find('input[type=number]')[0]));\n debug(Order.productSelected[rowData.id]);\n let quantityCurrent=Order.productSelected[rowData.id];\n if(typeof quantityCurrent!='string'){\n quantityCurrent+='';\n }\n $($(this).closest('tr').find('input[type=number]')[0]).val(quantityCurrent.replace(',','.'));\n }\n });\n\n\n $(\".dataTableOrderProductSelect .details-control2 button\").off('click');\n $(\".dataTableOrderProductSelect .details-control2 button\").on('click',function () {\n // debug('.details-control2 button click ')\n // debug(this);\n $(this).parent().find('input[type=text]').trigger('change');\n });\n\n }\n\n this.initViewProductSelect=function () {\n let functionName='initViewProductSelect';\n console.log(functionName+' called');\n if(viewInicialized.includes(functionName)){\n return;\n }\n //debug(Object.getOwnPropertyNames(root));\n root.setDatatableHeaderText('');\n root.Stepper.setOpts({onAfterActivate:function (){}});\n //@note: be kell kapcsolni az elonezetet\n root.Stepper.addCompleted('invoice');\n root.Stepper.addEnabled('invoice');\n let CSSSelectorForm='.orderParameterForm';\n //console.log(Opts.URL.getDataTableContentProductList);change\n debug((CSSSelectorForm+' .fa-search'));\n\n $('.sidebar-search .fa-search').off('click');\n $('.sidebar-search .fa-search').on('click',root.clickSearchProduct);\n\n $('a.sidebar.favorites').off('click');\n $('a.sidebar.favorites').on('click',root.clickFavoritesProduct);\n\n $('a.sidebar.often').off('click');\n $('a.sidebar.often').on('click',root.clickOftenProduct);\n\n $('a.sidebar.last').off('click');\n $('a.sidebar.last').on('click',root.clickLastProduct);\n\n $('a.sidebar.weekly').off('click');\n $('a.sidebar.weekly').on('click',root.clickWeeklyProduct);\n\n $('a.sidebar.krel').off('click');\n $('a.sidebar.krel').on('click',root.clickKrelProduct);\n\n $('a.sidebar.specialOffer').off('click');\n $('a.sidebar.specialOffer').on('click',root.clickSpecialOffer);\n\n\n $('.sidebar-search input[name=searchValue]').off('keypress');\n $('.sidebar-search input[name=searchValue]').on('keypress',function (event) {\n if ( event.which == 13 ) {\n event.preventDefault();\n }\n if($(this).val().length>=2){\n root.searchProductByString($(this).val()+event.key);\n }\n });\n\n\n\n $('.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').off('click');\n $('.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').on('click',\n function () {\n let groupId=$(this).data('id');\n selectedProductGroup=groupId;\n dataTableSearchStr=null;\n console.log(groupId);\n console.log(root.getTreePathName(this));\n root.setDatatableHeaderText(root.getTreePathName(this));\n/*\n let ajaxData={\n 'groupId':groupId,\n 'supplier_id':Order.supplierId,\n };\n //$('.dataTableOrderProductSelect').DataTable().ajax.data(ajaxData).load();\n\n*/\n/*\n let ajaxUrl=Opts.URL.getDataTableContentProductList+'?groupId='+groupId+'&supplier_id='+Order.supplierId;\n $('.dataTableOrderProductSelect').DataTable().ajax.url(ajaxUrl).load();\n*/\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n });\n\n\n let table = root.getDatatables(Order.getData('orderType'));\n\n $('.dataTableOrderProductSelect').on( 'init.dt', function () {\n console.log( 'Table initialisation complete: '+new Date().getTime() );\n } ).dataTable();\n\n\n\n $('.dataTableOrderProductSelect').on( 'draw.dt',root.productSelectDataTableDrawDT).dataTable();\n\n //$('.dataTableOrderProductSelect').on( 'draw.dt', ).dataTable();\n\n $('.dataTableOrderProductSelect').on( 'xhr.dt', function () {\n debug( 'Table xhr complete: '+new Date().getTime() );\n } ).dataTable();\n\n //$(\"input[type='number'].inputNumberSpinner\").inputSpinner();\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 viewInicialized.push(functionName);\n }\n\n this.bindProductDetailsAction=function (){\n root.bindRowDescriptionAction();\n root.bindRowFavoritesAction();\n if(Order.getData()['orderType']=='weekly'){\n root.bindOrderItemWeekQuantity();\n }\n }\n\n this.bindWeakUserHelper=function (){\n $( \"input.inputNumberSpinner\" ).off( \"focus\");\n $( \"input.inputNumberSpinner\" ).on( \"focus\", function() {\n let quantity=$(this).val();\n quantity=quantity.replace(',','.');\n quantity=parseFloat(quantity);\n if(quantity===0){\n $(this).val('')\n }\n });\n $( \"input[type=text].inputNumberSpinner\" ).off( \"keypress\");\n $( \"input[type=text].inputNumberSpinner\" ).on( \"keypress\", function(event) {\n if ( event.which == 13 ) {\n// console.error('enter pressed');\n let actualItem=this;\n let items=$( \"input[type=text].inputNumberSpinner\" );\n items.each(function (item){\n// console.log(this);\n if(this==actualItem){\n// console.error(item);\n if(item+1<=items.length){\n// console.error(items[item+1]);\n $(items[item+1]).focus();\n }\n return false;\n }\n });\n }\n });\n }\n\n this.bindOrderItemWeekQuantity=function (){\n $(\"input.productSelectDayQuantity\").off('change');\n $(\"input.productSelectDayQuantity\").on('change',function () {\n console.log(this.name);\n console.log(this.value);\n console.log($(this).data('dayindex'));\n\n let rowData=null;\n let rowNode=$($(this).closest('table.orderProductSelectRowDetailsTable').closest('tr')).prev();\n rowData=$('.dataTableOrderProductSelect').DataTable().row(rowNode).data();\n console.log(rowData);\n let quantity=$(this).val();\n quantity=quantity.replace(',','.');\n quantity=parseFloat(quantity);\n console.log(rowData.id);\n root.orderItemsChange(rowData,quantity,$(this).data('dayindex'));\n// root.orderItemsChange\n //orderItemsChange\n //quantity[1683][1]\n });\n\n }\n\n this.afterSyncOrderDataToServer=function (data) {\n //root.toggleEnableSend();\n //console.log('most vegzett. ennyit kiszed'+batchNum);\n for (let i = 0; i 0){\n root.Stepper.addCompleted('send');\n root.Stepper.addEnabled('send');\n }\n let styleStr='';\n $('table.invoice button.printButton').off('click');\n $('table.invoice button.printButton').on('click',function () {\n window.print();\n return;\n\n let newWin= window.open(\"\");\n newWin.document.write(styleStr);\n let print=$('table.invoice').clone();\n print.find('button.printButton').remove();\n// newWin.document.write($('table.invoice').prop('outerHTML'));\n newWin.document.write(print.prop('outerHTML'));\n newWin.print();\n newWin.close();\n });\n }\n\n this.resetOrder=function () {\n root.init();\n root.setDeliveryDate('-');\n root.setSupplier('-');\n\n }\n\n this.afterOrderSendOk=function (data) {\n Toast.create({ title: \"Sent!\", message: 'Order Sent' , status: TOAST_STATUS.INFO, timeout: 5000 });\n $('.buttonOrderSend').off('click');\n $('.buttonOrderSend').prop('disabled',true);\n $('.statusNamePlace').removeClass('statusBlink');\n $('.statusNamePlace').text('elküldve');\n $('.buttonOrderSending').toggleClass('d-none');\n $('.buttonOrderSendOk').toggleClass('d-none');\n $('div.invoiceContainer').html(data.retHTML);\n //root.resetOrder();\n }\n this.afterOrderSendError=function (data) {\n $('.buttonOrderSend').toggleClass('d-none');\n $('.buttonOrderSending').toggleClass('d-none');\n $.each(APP.OrderModule.Stepper.getOpts().available,function (index,value) {\n APP.OrderModule.Stepper.setEnabled(value);\n APP.OrderModule.Stepper.setCompleted(value);\n });\n }\n\n this.initViewSend=function () {\n console.log('initViewSend called 2');\n root.Stepper.setOpts({onAfterLoad:function (){}});\n $('.buttonOrderSend').off('click');\n $('.buttonOrderSend').on('click',function () {\n console.log('Send buton clicked');\n //@todo: datasynchere and callback\n $('.buttonOrderSend').toggleClass('d-none');\n $('.buttonOrderSending').toggleClass('d-none');\n /**\n * PM158\n */\n $.each(APP.OrderModule.Stepper.getOpts().available,function (index,value) {\n root.Stepper.unsetEnabled(value);\n root.Stepper.unsetCompleted(value);\n });\n /**\n\n */\n root.sendOrderDataToServer('send',root.afterOrderSendOk,root.afterOrderSendError);\n\n/* let ajaxData={};\n ajaxData._token=Opts.token;\n ajaxData.send=true;\n $.extend(ajaxData,Order);\n $.ajax({\n url: Opts.URL.store,\n method:'POST',\n data:ajaxData,\n success:function (data) {\n if(data.success){\n root.afterOrderSendOk(data);\n }\n }\n });*/\n });\n\n }\n\n this.testModeSend=function () {\n\n }\n\n\n this.testMode=function () {\n console.log('testMode called ')\n Order.setData({\n id:234,\n supplierId:7,\n productSelected:{\n 116 : 3,\n 293 : 2,\n },\n contactName:'Contact Name',\n note:'Note',\n type:'daily',\n deliveryDate:Opts.defaultDeliveryDate,\n deliveryAddress:12,\n });\n console.log(Order.getData());\n\n console.log('*******************');\n //root.Stepper.setOpts({'UrlData':{'supplierId':supplierId}});\n root.Stepper.setOpts({'UrlData':{'supplierId':Order.supplierId,id:Order.id}});\n this.Stepper.init({\n URL: {\n create: Opts.URL.create,\n },\n/*\ncsupasz az elejerol\n complete:['supplier'],\n enable: ['supplier'],\n active: 'supplier',\n onAfterActivate:this.initViewSupplier,\n\nproduct select\n complete:['supplier','parameter','productSelect'],\n enable: ['supplier','parameter','productSelect'],\n active: 'productSelect',\n onAfterActivate:this.initViewProductSelect,\n\nfullos\n complete:['supplier','parameter','productSelect','invoice'],\n enable: ['supplier','parameter','productSelect','invoice','send'],\n active: 'productSelect',\n onAfterActivate:this.initViewProductSelect,\n\nsend\n complete:['supplier','parameter','productSelect','invoice','send'],\n enable: ['supplier','parameter','productSelect','invoice','send'],\n active: 'send',\n onAfterActivate:this.initViewProductSelect,\n\n*/\n complete:['supplier','parameter','productSelect'],\n enable: ['supplier','parameter','productSelect'],\n active: 'productSelect',\n onAfterActivate:this.initViewProductSelect,\n\n\n autoCallback: {\n invoice: {\n onAfterActivate:root.initViewInvoice\n },\n send: {\n onAfterActivate:root.initViewSend\n },\n\n }\n\n });\n console.log('*******************');\n\n }\n this.toggleEnableSend=function () {\n console.log('toggleEnableSend called');\n let ajaxUrl=Opts.URL.checkReadyToSend.replace('%id%',Order.id);\n $.ajax({\n url:ajaxUrl,\n success:function (data) {\n if(data.success){\n if(data.readyToSend){\n root.Stepper.addCompleted('send');\n/*\n root.Stepper.addCompleted('invoice');\n root.Stepper.addEnabled('invoice');\n*/\n root.Stepper.addEnabled('send');\n }else{\n root.Stepper.unsetCompleted('send');\n/*\n root.Stepper.unsetCompleted('invoice');\n root.Stepper.unsetEnabled('invoice');\n*/\n root.Stepper.unsetEnabled('send');\n }\n }\n console.log(data);\n }\n });\n }\n\n}\n","\r\n\r\nif(typeof window.DataModelOrderArchive ===\"undefined\"){\r\n window.OrderArchiveModulDefault={\r\n actionFunction: function () {},\r\n }\r\n class DataModelOrderArchive 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.items ===\"undefined\"){\r\n this.items={};\r\n }\r\n console.log(this.constructor.name+' constructor called');\r\n };\r\n };\r\n window.DataModelOrderArchive=DataModelOrderArchive;\r\n}\r\n\r\n\r\nif(typeof window.OrderArchiveModule ===\"undefined\") {\r\n class OrderArchiveModule extends ModuleBase{\r\n constructor (options,data) {\r\n super(options,data)\r\n if(data!==\"undefined\" || data!=null){\r\n }else{\r\n this.data=new DataModelOrderArchive();\r\n }\r\n this.dataTable=null;\r\n this.Opts.dataTable.advanceSearchParameter={\r\n deliveryDateFrom:null,\r\n deliveryDateTo:null,\r\n profitCenterId:null,\r\n supplierId:null,\r\n }\r\n\r\n }\r\n\r\n datatableRowActionAttachment(rowData,node) {\r\n debug('call datatableRowActionAttachment');\r\n super.datatableRowActionAttachment(rowData,node,{defaultFileName:\"order\"});\r\n }\r\n\r\n datatableRowActionView(rowData,node) {\r\n debug('call datatableRowActionView');\r\n super.datatableRowActionView(rowData,node,APP.OrderArchiveModule)\r\n console.log('datatableRowActionEdit End');\r\n }\r\n\r\n datatableRowActionButtonClick(event) {\r\n debug('datatableRowActionButtonClick');\r\n super.datatableRowActionButtonClick(event,APP.OrderArchiveModule);\r\n }\r\n /*\r\n datatableRowActionButtonClick (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 */\r\n datatableRowActionEdit(rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=this.Opts.URL.edit.replace('%id%',rowData.id);\r\n console.log(this.Opts.URL);\r\n console.log(ajaxUrl);\r\n /*\r\n */\r\n APP.loadMainContent(ajaxUrl);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n\r\n initViewShow(){\r\n debug('call initViewShow');\r\n let root=APP.OrderArchiveModule;\r\n let styleStr='';\r\n $('table.invoice button.printButton').off('click');\r\n $('table.invoice button.printButton').on('click',function () {\r\n window.print();\r\n return;\r\n let newWin= window.open(\"\");\r\n newWin.document.write(styleStr);\r\n let print=$('table.invoice').clone();\r\n print.find('button.printButton').remove();\r\n// newWin.document.write($('table.invoice').prop('outerHTML'));\r\n newWin.document.write(print.prop('outerHTML'));\r\n newWin.print();\r\n// newWin.close();\r\n });\r\n }\r\n\r\n datatableCustomHeadButtonClickCallBack(){\r\n console.info('hello itt vagyok');\r\n $('.advanceSearchModal').modal('show');\r\n }\r\n\r\n initAdvancedSearch(){\r\n console.log('initAdvancedSearch');\r\n window.datePickerTarget='';\r\n $('.deliveryDateFrom,.deliveryDateTo').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n //minDate:new Date(),\r\n onSelect:function (dateText){\r\n debug('target:'+window.datePickerTarget);\r\n $('.'+window.datePickerTarget+'SelectedDateText').text(dateText);\r\n debug($(' input[name=\"'+window.datePickerTarget+'\"]'));\r\n $(' input[name=\"'+window.datePickerTarget+'\"]').val(dateText);\r\n },\r\n });\r\n\r\n\r\n\r\n $('.datePickerClick').click(function(){\r\n debug($(this).data('target'));\r\n datePickerTarget=$(this).data('target');\r\n //$('.datePicker .'+datePickerTarget).datepicker('show');\r\n $('.'+datePickerTarget).datepicker('show');\r\n });\r\n $(\".selectProfitCenter,.selectSupplier\").select2({\r\n maximumSelectionLength: 1,\r\n });\r\n /*\r\n stored advanceSearchParameter restoring\r\n */\r\n let advanceFiltered=false;\r\n $.each(this.Opts.dataTable.advanceSearchParameter,function (k,v) {\r\n if(v!=null){\r\n advanceFiltered=true;\r\n console.log(k+' > '+v);\r\n $('.advanceSearchModal input[name='+k+'],.advanceSearchModal select[name='+k+']').val(v).trigger('change');\r\n $('.'+k+'SelectedDateText').text(v);\r\n }\r\n\r\n });\r\n if(advanceFiltered){\r\n $('.dt-button.btn-advanceSearchParameter').addClass('btn-success');\r\n }\r\n /*\r\n clearing advanceSearchParameter\r\n */\r\n $('.advanceSearchModal .buttonClear').off('click');\r\n $('.advanceSearchModal .buttonClear').on('click',function () {\r\n $('.advanceSearchModal input,.advanceSearchModal select').val('').trigger('change');\r\n $('.SelectedDateText').text('\\xa0');\r\n let root=APP.OrderArchiveModule;\r\n $.each(root.Opts.dataTable.advanceSearchParameter,function (k,v) {\r\n root.Opts.dataTable.advanceSearchParameter[k]=null;\r\n });\r\n $('.dt-button.btn-advanceSearchParameter').removeClass('btn-success');\r\n let dataTableCSSSelector=root.Opts.CSSSelectorContainer+' .dataTable';\r\n $(dataTableCSSSelector).DataTable().ajax.reload();\r\n $('.advanceSearchModal').modal('hide');\r\n\r\n });\r\n\r\n /*\r\n process advanceSearchParameter\r\n */\r\n $('.advanceSearchModal .buttonSave').off('click');\r\n $('.advanceSearchModal .buttonSave').on('click',function (){\r\n console.log('clicked advanced search ');\r\n let root=APP.OrderArchiveModule;\r\n let dataSearch=$('.advanceSearchModalForm').find('input,select').serializeArray();\r\n console.log(dataSearch);\r\n console.log(root.Opts);\r\n console.log(root.Opts.dataTable.advanceSearchParameter);\r\n $.each(root.Opts.dataTable.advanceSearchParameter,function (k,v) {\r\n root.Opts.dataTable.advanceSearchParameter[k]=null;\r\n });\r\n $.each(dataSearch,function (k,item) {\r\n console.log(item['name']);\r\n console.log(item['value']);\r\n if( typeof root.Opts.dataTable.advanceSearchParameter[item['name']]!= 'undefined'\r\n && item['value'].length>0\r\n ){\r\n root.Opts.dataTable.advanceSearchParameter[item['name']]=item['value'];\r\n }\r\n })\r\n console.log(root.Opts.dataTable.advanceSearchParameter);\r\n let dataTableCSSSelector=root.Opts.CSSSelectorContainer+' .dataTable';\r\n $(dataTableCSSSelector).DataTable().ajax.reload();\r\n $('.dt-button.btn-advanceSearchParameter').addClass('btn-success');\r\n $('.advanceSearchModal').modal('hide');\r\n });\r\n\r\n }\r\n\r\n initViewList(options={}) {\r\n debug('listview inicialization');\r\n\r\n if(APP.IsUserAdmin){\r\n this.DtColumns=[\r\n { \"data\": \"supplier_name\" },\r\n { \"data\": \"deliveryDate\" },\r\n { \"data\": \"profit_center.name\" },\r\n { \"data\": \"deliveryAddressName\" },\r\n { \"data\": \"sentTime\" },\r\n { \"data\": \"humanId\" },\r\n { \"data\": \"confirmed\" },\r\n null,\r\n ];\r\n }else{\r\n this.DtColumns=[\r\n { \"data\": \"supplier_name\" },\r\n { \"data\": \"deliveryDate\" },\r\n { \"data\": \"deliveryAddressName\" },\r\n { \"data\": \"sentTime\" },\r\n { \"data\": \"humanId\" },\r\n { \"data\": \"confirmed\" },\r\n null,\r\n ];\r\n }\r\n\r\n let dataTableCSSSelector=this.Opts.CSSSelectorContainer+' .dataTable'; //\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n datatableCustomHeadButtonClickCallBack:this.datatableCustomHeadButtonClickCallBack,\r\n })\r\n let orderDirective=this.Opts.dataTable.orderDirective;\r\n let advanceSearchParameter=this.Opts.dataTable.advanceSearchParameter;\r\n\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\r\n this.dataTable=$(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\": {\r\n url:this.Opts.URL.getDataTableContent,\r\n data:function (data) {\r\n data.advanceSearchParameter=advanceSearchParameter;\r\n/*\r\ndata.searchParam=this.Opts.dataTable.advanceSearchParameter\r\n data.searchStr=dataTableSearchStr;\r\n data.groupId=selectedProductGroup;\r\n data.supplierId=Order.supplierId;\r\n data.deliveryDate=Order.deliveryDate;\r\n*/\r\n }\r\n },\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowViewButton(0,arguments);\r\n buttons+=APP.datatableAddRowAttachmentButton(0,arguments);\r\n //buttons+=APP.datatableAddRowEditButton(0, arguments);\r\n if(row.canEditable){\r\n buttons+=APP.datatableAddRowEditButton(0, {title:\"módosítás\"});\r\n }\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": colNum-2,\r\n \"render\": function ( data, type, row ) {\r\n if(row.confirmed==null){\r\n return '';\r\n }else{\r\n return row.confirmed;\r\n }\r\n\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n row=null;\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 text: 'Szürők',\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableCustomHeadButtonClickCallBack();\r\n },\r\n className: 'btn-advanceSearchParameter'\r\n }\r\n /**/\r\n ]\r\n },\r\n \"columns\": this.DtColumns,\r\n \"order\": orderDirective,\r\n \"stateSave\": false,\r\n \"drawCallback\": function( settings ) {\r\n settings=null;\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n\r\n this.initAdvancedSearch();\r\n debug('listview end');\r\n }\r\n }\r\n window.OrderArchiveModule=OrderArchiveModule;\r\n}\r\n","if(typeof window.PriceListModule ===\"undefined\") {\r\n class PriceListModule extends ModuleBase{\r\n\r\n datatableRowActionAttachment(rowData,node) {\r\n debug('call datatableRowActionAttachment');\r\n super.datatableRowActionAttachment(rowData,node,{defaultFileName:\"arlista.xls\"});\r\n }\r\n datatableRowActionView(rowData,node) {\r\n debug('call datatableRowActionView');\r\n }\r\n\r\n datatableRowActionButtonClick(event) {\r\n debug('datatableRowActionButtonClick');\r\n let rootObj=APP.PriceListModule;\r\n let node = $(event[0].currentTarget);\r\n let row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData = row.data();\r\n let actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\r\n if (typeof rootObj[actionName] === \"function\") {\r\n return rootObj[actionName](rowData, node)\r\n }\r\n }\r\n initViewList(options={}) {\r\n debug('listview inicialization');\r\n let dataTableCSSSelector=this.Opts.CSSSelectorContainer+' .dataTable'; //\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n })\r\n let orderDirective=this.Opts.dataTable.orderDirective;\r\n\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\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\": {\r\n url:this.Opts.URL.getDataTableContent,\r\n data:function (data) {\r\n /*\r\n data.searchStr=dataTableSearchStr;\r\n data.groupId=selectedProductGroup;\r\n data.supplierId=Order.supplierId;\r\n data.deliveryDate=Order.deliveryDate;\r\n */\r\n }\r\n },\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n if(row.fileUrl){\r\n let buttons=APP.datatableAddRowAttachmentButton(0,arguments);\r\n return buttons;\r\n }else{\r\n return '';\r\n }\r\n },\r\n },\r\n /* {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n row=null;\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 \"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 \"order\": orderDirective,\r\n //\"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n settings=null;\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n\r\n };\r\n window.PriceListModule=PriceListModule;\r\n};\r\n","if(typeof window.SupplierModule ===\"undefined\") {\r\n class SupplierModule extends ModuleBase{\r\n\r\n datatableRowActionAttachment(rowData,node) {\r\n debug('call datatableRowActionAttachment');\r\n super.datatableRowActionAttachment(rowData,node,{defaultFileName:\"arlista.xls\"});\r\n }\r\n datatableRowActionView(rowData,node) {\r\n debug('call datatableRowActionView');\r\n super.datatableRowActionView(rowData,node,APP.SupplierModule);\r\n }\r\n\r\n datatableRowActionButtonClick(event) {\r\n debug('datatableRowActionButtonClick');\r\n let rootObj=APP.SupplierModule;\r\n let node = $(event[0].currentTarget);\r\n let row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData = row.data();\r\n let actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\r\n if (typeof rootObj[actionName] === \"function\") {\r\n return rootObj[actionName](rowData, node)\r\n }\r\n }\r\n initViewShow(){\r\n $('.productCategorySelect').select2(\r\n {\r\n disabled:true,\r\n }\r\n );\r\n $('.serviceSelect').select2(\r\n {\r\n disabled:true,\r\n }\r\n );\r\n\r\n APP.SupplierModule.renderContact();\r\n }\r\n initViewList(options={}) {\r\n debug('listview inicialization');\r\n let dataTableCSSSelector=this.Opts.CSSSelectorContainer+' .dataTable'; //\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n })\r\n let orderDirective=this.Opts.dataTable.orderDirective;\r\n\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\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 \"ajax\": {\r\n url:this.Opts.URL.getDataTableContent,\r\n data:function (data) {\r\n }\r\n },\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowViewButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n ],\r\n buttons:{\r\n buttons: [\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"name\" },\r\n { \"data\": \"product_group\" },\r\n { \"data\": \"service\" },\r\n /*\r\n { \"data\": \"hooreycaId\" },\r\n { \"data\": \"nameId\" },\r\n { \"data\": \"created_at\" },\r\n */\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n //\"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n settings=null;\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n renderContact(){\r\n let rowNum=1;\r\n console.log('renderingContacts');\r\n $.each(APP.Supplier.getData('contact'),function (){\r\n let contactData=this;\r\n contactData.rowNum=rowNum;\r\n //console.log(contactData);\r\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n rowNum++;\r\n });\r\n }\r\n\r\n };\r\n window.SupplierModule=SupplierModule;\r\n};\r\n"],"names":["ModuleBase","_createClass","options","data","_classCallCheck","_defineProperty","testMode","CSSSelectorContainer","CSSSelectorForm","token","URL","getDataTableContent","checkReadyToSend","index","show","edit","create","store","update","destroy","dataTable","orderDirective","CSSSelector","advanceSearchParameter","this","Opts","constructor","name","root","$","extend","key","value","init","datatableRowActionButtonClick","event","rootObj","debug","node","currentTarget","rowData","DataTable","row","parents","actionName","capitalize","datatableRowActionAttachment","fileName","defaultFileName","fileUrl","ajax","url","method","xhrFields","responseType","success","a","document","createElement","window","createObjectURL","href","download","body","append","click","remove","revokeObjectURL","Toast","title","message","status","TOAST_STATUS","DANGER","timeout","datatableRowActionView","ajaxUrl","replace","id","console","log","APP","loadMainContent","initViewShow","OrderModulDefault","actionFunction","DataModelOrder","_this","_callSuper","productSelected","productComment","_inherits","DataModel","Stepper","complete","available","enable","load","excludeLoaded","loaded","active","UrlData","onAfterLoad","onAfterActivate","autoCallback","nowLoaded","construct","getOpts","setOpts","each","stepName","includes","setCompleted","setEnabled","loadStepContent","setActive","bindClickAction","stepClickButtons","off","on","stepClick","addClass","unsetCompleted","removeClass","arrayRemove","unsetEnabled","contents","unwrap","stepItem","html","addEnabled","push","addCompleted","async","type","cache","result","container","inArray","clearLoaded","classList","contains","setActiveFinish","hide","preventDefault","OrderModule","needStepper","defaultDeliveryDate","dataSyncPauseTime","getDataTableContentProductList","toggleFavorites","Order","viewInicialized","clickOrderEdit","afterOrderDeleted","clickOrderDeleteConfirmed","modal","ajaxData","_token","initViewOrderSelect","action","orderId","closest","find","text","initStepper","getData","setDeliveryDate","setSupplier","_step","stepActive","stepComplete","stepEnable","stepOnAfterActivate","avalaibleSteps","stepUrlData","stepAutoCallback","_iterator","_createForOfIteratorHelper","s","n","done","item","err","e","f","supplierId","_step2","_iterator2","initOrder","supplierName","setData","dateText","dateTextTo","dateTextHuman","replaceAll","length","val","setSupplierCompleted","initViewParameter","afterOrderSetSupplierOk","supplier","INFO","initViewSupplier","storeType","WARNING","checkContactNameField","sendOrderDataToServer","updateType","callback","errorCallback","_method","jsonToFormData","contentType","processData","error","xhr","ajaxOptions","thrownError","ajaxErrorHandler","responseJSON","afterOrderSetParameterOk","selectCurrentWeek","weekHover","weekHoverSlow","setTimeout","initDatePicker","startDate","Date","endDate","datepicker","showOtherMonths","selectOtherMonths","showWeek","dateFormat","firstDay","minDate","afterShow","inst","onSelect","date","getMonday","getFullYear","getMonth","getDate","getDay","formatDate","beforeShow","group","groupEnd","beforeShowDay","toLocaleDateString","cssClass","onChangeMonthYear","year","month","callChangeOrderType","select2","prop","setDate","submit","checkValidity","stopPropagation","contactName","note","orderType","deliveryDate","deliveryAddressId","deliveryAddress","customNotificationEmail","blank","setParameterCompleted","bindRowFavoritesAction","productId","button","response","bindRowDescriptionAction","comment","queueAjax","now","syncOrderDataToServer","productSelectDatatablesRowFormatter","d","templateData","_typeof","favorites","btnFavoritesClass","template","weekly","itemQuantity","oldTags","Mustache","tags","specificationClass","pictureImg","pictureClass","render","setDatatableHeaderText","getTreePathName","res","items","toArray","shift","reverse","children","selectedProductGroup","dataTableSearchStr","dataTableSearchKrel","searchProductByString","filterStr","reload","clickSearchProduct","clickFavoritesProduct","clickOftenProduct","clickSpecialOffer","clickLastProduct","clickWeeklyProduct","clickKrelProduct","parent","toggleClass","productSelectDataTableColumnDefs","productSelectDataTableColumn","columnData","actionColumn","defaultContent","getDatatables","language","searchStr","krel","groupId","buttons","productSelectDataTableDrawDT","filter","inputSpinner","buttonsWidth","groupClass","buttonsClass","bindWeakUserHelper","quantity","parseFloat","orderItemsChange","quantityCurrent","trigger","initViewProductSelect","functionName","which","table","getTime","tr","child","isShown","bindProductDetailsAction","bindOrderItemWeekQuantity","actualItem","focus","rowNode","prev","afterSyncOrderDataToServer","i","syncDoing","ItemData","dayIndex","isNaN","productSelectedItem","initViewInvoice","Object","keys","print","resetOrder","afterOrderSendOk","retHTML","afterOrderSendError","initViewSend","testModeSend","invoice","send","toggleEnableSend","readyToSend","DataModelOrderArchive","OrderArchiveModulDefault","_DataModelOrderArchive","OrderArchiveModule","_this2","deliveryDateFrom","deliveryDateTo","profitCenterId","_superPropGet","datatableRowActionEdit","datatableCustomHeadButtonClickCallBack","info","initAdvancedSearch","datePickerTarget","maximumSelectionLength","advanceFiltered","k","v","dataTableCSSSelector","dataSearch","serializeArray","initViewList","arguments","undefined","IsUserAdmin","DtColumns","colNum","datatableRowActionButtonClickCallBack","datatableAddRowViewButton","datatableAddRowAttachmentButton","canEditable","datatableAddRowEditButton","confirmed","latinise","autoPrint","dt","config","className","drawCallback","settings","datatableAddRowAction","PriceListModule","SupplierModule","disabled","renderContact","rowNum","Supplier"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"/js/module.js","mappings":"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","sources":["webpack:///./resources/js/moduleJs/moduleBase.js","webpack:///./resources/js/moduleJs/order.js","webpack:///./resources/js/moduleJs/orderArchive.js","webpack:///./resources/js/moduleJs/priceList.js","webpack:///./resources/js/moduleJs/supplier.js"],"sourcesContent":["class ModuleBase {\r\n Opts = {\r\n testMode: false,\r\n CSSSelectorContainer: '',\r\n CSSSelectorForm: '',\r\n token: null,\r\n URL: {\r\n getDataTableContent: null,\r\n checkReadyToSend: null,\r\n index: null,\r\n show: null,\r\n edit: null,\r\n create: null,\r\n store: null,\r\n update: null,\r\n destroy: null,\r\n },\r\n dataTable: {\r\n orderDirective: [1, 'asc'],\r\n CSSSelector: null,\r\n advanceSearchParameter:{}\r\n },\r\n };\r\n data = null;\r\n root = this;\r\n\r\n constructor(options, data) {\r\n this.Opts.CSSSelectorContainer = '.container' + this.constructor.name;\r\n this.Opts.CSSSelectorForm = '.' + this.constructor.name + 'Form';\r\n this.Opts.dataTable.CSSSelector = this.Opts.CSSSelectorContainer + ' .dataTable';\r\n this.root = this;\r\n if (data !== \"undefined\" || data != null) {\r\n this.data = data;\r\n }\r\n if (options != null) {\r\n $.extend(this.Opts, options);\r\n }\r\n }\r\n\r\n init(options, data) {\r\n if (data !== \"undefined\" || data != null) {\r\n this.data = data;\r\n }\r\n if (options != null) {\r\n $.extend(this.Opts, options);\r\n }\r\n }\r\n\r\n datatableRowActionButtonClick(event,rootObj,options) {\r\n debug('call ModuleBase.datatableRowActionButtonClick');\r\n debug(rootObj);\r\n let node = $(event[0].currentTarget);\r\n let row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData = row.data();\r\n let actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\r\n if (typeof rootObj[actionName] === \"function\") {\r\n return rootObj[actionName](rowData, node)\r\n }\r\n }\r\n\r\n datatableRowActionAttachment(rowData,node,options) {\r\n debug('call ModuleBase.datatableRowActionAttachment ');\r\n let fileName='downloadedFile';\r\n if(typeof options.defaultFileName!== \"undefined\"){\r\n fileName=options.defaultFileName;\r\n }\r\n if(rowData.fileUrl){\r\n if(rowData.fileName){\r\n fileName=rowData.fileName;\r\n }\r\n $.ajax({\r\n url: rowData.fileUrl,\r\n method: 'GET',\r\n xhrFields: {\r\n responseType: 'blob'\r\n },\r\n success: function (data) {\r\n let a = document.createElement('a');\r\n let url = window.URL.createObjectURL(data);\r\n a.href = url;\r\n a.download = fileName;\r\n document.body.append(a);\r\n a.click();\r\n a.remove();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n });\r\n\r\n }else{\r\n Toast.create({ title: \"Hiba!\", message: 'Nincs csatolt fájl!', status: TOAST_STATUS.DANGER, timeout: 10000 });\r\n }\r\n\r\n }\r\n\r\n datatableRowActionView(rowData,node,rootObj,options) {\r\n debug('call ModuleBase.datatableRowActionView');\r\n let ajaxUrl = rootObj.Opts.URL.show.replace('%id%', rowData.id);\r\n /*\r\n console.log(Opts.URL);\r\n */\r\n console.log(ajaxUrl);\r\n APP.loadMainContent(ajaxUrl, rootObj.initViewShow);\r\n console.log('ModuleBase.datatableRowActionEdit End');\r\n }\r\n\r\n}\r\nwindow.ModuleBase=ModuleBase;\r\n","window.OrderModulDefault={\n actionFunction: function () {},\n}\nclass DataModelOrder extends DataModel{\n\n /*\n * Constructor\n */\n constructor (data,options) {\n super(data,options)\n if(typeof this.productSelected ===\"undefined\"){\n this.productSelected={};\n }\n if(typeof this.productComment ===\"undefined\"){\n this.productComment={};\n }\n console.log(this.constructor.name+' constructor called');\n };\n};\nwindow.DataModelOrder=DataModelOrder;\n\nwindow.Stepper=function () {\n\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n complete: ['supplier'],\n available: ['supplier', 'parameter', 'productSelect', 'invoice', 'send'],\n enable: ['supplier', 'invoice'],\n load: [],\n excludeLoaded:['invoice','send'],\n loaded: [],\n active: false,\n URL: {\n create: '',\n },\n UrlData:false,\n onAfterLoad:function () {},\n onAfterActivate:function () {},\n autoCallback:{\n 'invoice':{\n onAfterActivate:function () {},\n },\n 'send':{\n onAfterActivate:function () {},\n },\n },\n nowLoaded:false,\n\n };\n\n let root=this;\n /*\n * Constructor\n */\n this.construct = function (options) {\n $.extend(Opts, options);\n };\n\n this.getOpts=function(){\n return Opts;\n }\n this.setOpts=function(options){\n $.extend(Opts, options);\n }\n\n\n\n this.init=function (options){\n $.extend(Opts, options);\n\n debug(Opts);\n $('.step').each(function(){\n let stepName=$(this).data('stepname');\n if(Opts.complete.includes(stepName)){\n root.setCompleted(stepName);\n }\n if(Opts.enable.includes(stepName)){\n root.setEnabled(stepName);\n }\n if(Opts.load.includes(stepName)){\n root.loadStepContent(stepName);\n }\n\n if(Opts.active===stepName){\n root.setActive(stepName);\n }\n });\n root.bindClickAction();\n }\n\n this.bindClickAction=function (){\n let stepClickButtons=$('.stepClick');\n stepClickButtons.off('click');\n stepClickButtons.on('click',root.stepClick);\n\n }\n\n this.setCompleted=function (stepName){\n console.log(stepName+' completed');\n $('.step[data-stepName=\"'+stepName+'\"]').addClass('completed');\n }\n\n this.unsetCompleted=function (stepName){\n console.log(stepName+' Uncompleted');\n $('.step[data-stepName=\"'+stepName+'\"]').removeClass('completed');\n Opts.complete=arrayRemove(Opts.complete,stepName);\n }\n\n this.unsetEnabled=function (stepName){\n console.log(stepName+' Un enabled');\n $('.click'+stepName).contents().unwrap();\n Opts.enable=arrayRemove(Opts.enable,stepName);\n }\n this.setEnabled=function (stepName){\n console.log(stepName+' enabled');\n let stepItem=$('.step[data-stepName=\"'+stepName+'\"]');\n stepItem.html(''+stepItem.html()+'');\n root.bindClickAction();\n //$('.stepClick').click(root.stepClick);\n\n }\n\n this.addEnabled=function(stepName){\n if(!Opts.enable.includes(stepName)){\n Opts.enable.push(stepName);\n }\n root.setEnabled(stepName);\n }\n\n this.addCompleted=function(stepName){\n if(!Opts.complete.includes(stepName)){\n Opts.complete.push(stepName);\n }\n root.setCompleted(stepName);\n root.bindClickAction();\n }\n\n\n this.loadStepContent=function (stepName){\n let data={'type':stepName};\n $.extend(data, Opts.UrlData);\n\n $.ajax({\n async: true,\n type: \"GET\",\n url: Opts.URL.create,\n data: data,\n cache: false,\n success: function(result)\n {\n let container=$('.SC'+stepName.capitalize());\n if($.inArray(stepName,Opts.excludeLoaded)==-1){\n Opts.loaded.push(stepName);\n }else{\n console.log('excluded View');\n }\n container.html(result);\n if(Opts.nowLoaded){\n Opts.nowLoaded(stepName);\n }\n Opts.onAfterLoad();\n }\n });\n }\n\n this.clearLoaded=function () {\n Opts.loaded=['supplier'];\n $('.stepContainer').each(function(){\n/*\n console.log(this.classList);\n console.log(this.classList.contains('SCSupplier'));\n console.log($(this).attr('class'));\n*/\n if(!this.classList.contains('SCSupplier')){\n $(this).html('');\n }\n });\n }\n\n this.setActiveFinish=function(stepName){\n let container=$('.SC'+stepName.capitalize());\n if(stepName==='productSelect'){\n $('.containerStepper').addClass('activeSideBar');\n }else{\n $('.containerStepper').removeClass('activeSideBar');\n }\n debug('setActiveFinish show:'+stepName);\n container.show();\n Opts.nowLoaded=false;\n root.active=stepName;\n Opts.onAfterActivate();\n if(typeof Opts.autoCallback[stepName]!=='undefined' ){\n Opts.autoCallback[stepName].onAfterActivate();\n }\n }\n this.setActive=function(stepName){\n $('.stepContainer').hide();\n if(!Opts.loaded.includes(stepName)){\n root.loadStepContent(stepName);\n Opts.nowLoaded=this.setActiveFinish;\n }else{\n this.setActiveFinish(stepName);\n }\n }\n\n this.stepClick=function(event){\n event.preventDefault();\n let stepName=$(event.currentTarget).data('stepname');\n console.log('setActive:'+stepName);\n root.setActive(stepName);\n }\n}\n\nwindow.OrderModule = function () {\n\n /*\n * Variables accessible\n * in the class\n */\n let Opts = {\n testMode: false,\n needStepper:true,\n CSSSelectorForm:'.orderParameterForm',\n defaultDeliveryDate:'',\n dataSyncPauseTime:500,\n token:null,\n URL: {\n root:null,\n getDataTableContentProductList:null,\n checkReadyToSend:null,\n index:null,\n show:null,\n edit:null,\n create: null,\n store: null,\n update:null,\n destroy:null,\n toggleFavorites:null,\n },\n };\n\n const PublicVar = {};\n let PublicVar2 = {'asd': '21'};\n let ApiToken = null;\n let Order=null;\n let root = this;\n let viewInicialized=[];\n\n this.setOpts = function (options) {\n $.extend(Opts, options);\n }\n\n this.getOpts = function () {\n return Opts;\n }\n this.clickOrderEdit=function (data){\n debug('clickEdit');\n debug(data);\n let ajaxUrl=Opts.URL.edit.replace('%id%',data.id);\n APP.loadMainContent(ajaxUrl);\n/* let ajaxData={};\n ajaxData._token=Opts.token;\n $.extend(ajaxData,Order);\n let ajaxUrl=Opts.URL.edit.replace('%id%',data.id);\n $.ajax({\n url: ajaxUrl,\n method:'GET',\n data:ajaxData,\n success:function (response) {\n if(response.success){\n let orderData=response.data;\n orderData.supplierId=orderData.supplier_id;\n delete(orderData.supplier_id);\n root.initOrder(orderData);\n root.initStepper();\n //root.afterOrderSetSupplierOk(data.data);\n }\n }\n });*/\n\n\n }\n this.afterOrderDeleted=function (data){\n if(data.success==true){\n debug('Order delete success');\n APP.loadMainContent(Opts.URL.index);\n }else{\n Toast.create({ title: \"Error deleted !\", message: '', status: TOAST_STATUS.DANGER, timeout: 5000 });\n }\n }\n this.clickOrderDeleteConfirmed=function (event){\n debug('clickOrderDeleteConfirmed');\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 $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n method:\"DELETE\",\n success:root.afterOrderDeleted,\n //error:ajaxErrorHandler\n });\n\n }\n this.initViewOrderSelect=function (){\n debug('called initViewOrderSelect ');\n $('.ordersSelectTable button').off('click');\n $('.ordersSelectTable button').on('click',function (){\n let action=$(this).data('action');\n let orderId=$($(this).closest('tr')[0]).data('orderid');\n debug(action);\n debug(orderId);\n\n if(action=='delete'){\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 megrendelést?');\n modal.find('.buttonYes').off('click');\n modal.find('.buttonYes').on('click',{id:orderId},root.clickOrderDeleteConfirmed);\n });\n $('#dialogModal').modal('show');\n }else{\n root.clickOrderEdit({id:orderId});\n }\n });\n $('.buttonNew').off('click');\n $('.buttonNew').on('click',function (){\n APP.loadMainContent(Opts.URL.index,'force=true');\n });\n\n }\n this.initStepper=function (){\n debug(Order.getData());\n viewInicialized=[];\n $('.statusNamePlace').text('Nincs elküldve');\n $('.statusNamePlace').addClass('statusBlink');\n root.setDeliveryDate('-');\n root.setSupplier('-');\n\n let unEnabled=['parameter', 'productSelect', 'invoice', 'send'];\n $.each(unEnabled,function (index,value) {\n root.Stepper.unsetEnabled(value);\n root.Stepper.unsetCompleted(value);\n });\n\n debug(root.Stepper.getOpts()['available']);\n debug(Order.getData()['orderStatus']);\n\n let stepActive='supplier';\n let stepComplete=['supplier'];\n let stepEnable=[];\n let stepOnAfterActivate=function (){};\n\n let avalaibleSteps=root.Stepper.getOpts()['available'];\n let stepUrlData=false;\n let stepAutoCallback=[];\n for (let stepName of avalaibleSteps) {\n stepOnAfterActivate=this['initView'+stepName.capitalize()];\n let item={};\n item['onAfterActivate']=stepOnAfterActivate;\n stepAutoCallback[stepName]=item;\n }\n debug(stepAutoCallback);\n debug(Order.getData()['id']);\n if(Order.getData()['id']>0){\n debug('hajra');\n debug(Order.getData());\n if(Order.getData()['deliveryDate']){\n root.setDeliveryDate(Order.getData()['deliveryDate']);\n /*\n @todo: weekly-t beallitani\n */\n }\n if(Order.getData()['supplierName']){\n root.setSupplier(Order.getData()['supplierName']);\n }\n stepUrlData={'supplierId':Order.supplierId,id:Order.id};\n for (let stepName of avalaibleSteps) {\n console.log(stepName);\n stepComplete.push(stepName);\n stepEnable.push(stepName);\n if(Order.getData()['orderStatus']==stepName){\n stepActive=stepName;\n /*\n debug('initView'+stepName.capitalize());\n if(stepName!=='invoice' && stepName!=='send'){\n stepOnAfterActivate=this['initView'+stepName.capitalize()];\n }else{\n stepOnAfterActivate=function (){};\n }\n */\n break;\n }\n }\n\n/*\n //refactored for loop\n var BreakException = {};\n try {\n avalaibleSteps.forEach(function(stepName) {\n console.log(stepName);\n stepComplete.push(stepName);\n stepEnable.push(stepName);\n if(Order.getData()['orderStatus']==stepName){\n stepActive=stepName;\n throw BreakException;\n }\n\n });\n } catch (e) {\n if (e !== BreakException) throw e;\n }*/\n\n }\n\n root.Stepper.init({\n complete:stepComplete,\n enable:stepEnable,\n loaded:[],\n active: stepActive,\n URL: {\n create: Opts.URL.create,\n },\n UrlData:stepUrlData,\n onAfterActivate:stepOnAfterActivate,\n autoCallback: stepAutoCallback,\n /*{\n invoice: {\n onAfterActivate:root.initViewInvoice\n },\n send: {\n onAfterActivate:root.initViewSend\n },\n\n }*/\n });\n }\n\n this.initOrder=function (data){\n Order=new DataModelOrder(data);\n }\n\n this.init = function (options) {\n debug('OrderModul init called');\n $.extend(Opts, window.OrderModulDefault, options);\n Order=new DataModelOrder();\n if(Opts.needStepper){\n if (typeof this.Stepper == 'undefined') {\n this.Stepper=new Stepper();\n }\n }\n if(Opts.testMode){\n return root.testMode();\n }\n }\n\n this.setSupplier=function (supplierName,supplierId){\n if(supplierName){\n $('.supplierNamePlace').text(supplierName);\n }\n if(supplierId){\n Order.setData({supplierId:supplierId});\n root.Stepper.setOpts({'UrlData':{'supplierId':supplierId}});\n }\n }\n this.setDeliveryDate=function (dateText,dateTextTo){\n let dateTextHuman=dateText.replaceAll('-','.')+'.';\n if(dateTextHuman.length<5){\n $('.deliveryDatePlace').text(dateText);\n return;\n }\n if(dateTextTo){\n dateTextHuman+=' - '+dateTextTo.replaceAll('-','.')+'.';\n }\n\n $(Opts.CSSSelectorForm+' .selectedDateText').text(dateTextHuman);\n $('.deliveryDatePlace').text(dateTextHuman);\n $(Opts.CSSSelectorForm+' input[name=\"deliveryDate\"]').val(dateText);\n }\n\n\n\n this.getData=function (){\n return Order;\n }\n\n\n this.setSupplierCompleted=function () {\n console.log('bingo');\n root.initViewParameter()\n }\n\n this.afterOrderSetSupplierOk=function (data) {\n Toast.create({ title: \"Supplier selected !\", message: data.supplier.name , status: TOAST_STATUS.INFO, timeout: 5000 });\n root.setSupplier(data.supplier.name,data.supplier.id);\n Order.setData({id:data.id});\n root.Stepper.setOpts({'UrlData':{'supplierId':Order.supplierId,id:Order.id}});\n //root.Stepper.setOpts({onAfterLoad:root.setSupplierCompleted})\n root.Stepper.setEnabled('parameter');\n root.Stepper.addCompleted('parameter');\n root.Stepper.setCompleted('parameter');\n root.Stepper.setActive('parameter');\n }\n\n\n this.initViewSupplier=function (){\n debug('call initViewSupplier');\n root.Stepper.setOpts({onAfterLoad:function (){}});\n $('.supplierItem').off('click');\n $('.supplierItem').on('click',function(event){\n console.log(Order.getData());\n\n event.preventDefault();\n let supplierId=$(event.currentTarget).data('id');\n let supplierName=$(event.currentTarget).find('h5.card-title').text();\n if(typeof Order.supplierId=='undefined'){\n //new order\n\n let ajaxData={};\n ajaxData._token=Opts.token;\n ajaxData.supplierId=supplierId;\n ajaxData.storeType='supplierSelect';\n $.extend(ajaxData,Order);\n $.ajax({\n url: Opts.URL.store,\n method:'POST',\n data:ajaxData,\n success:function (data) {\n if(data.success){\n root.afterOrderSetSupplierOk(data.data);\n }\n }\n });\n //Order.setData({supplierId:supplierId});\n }else{\n //ide kellene egy jo kis kerdes\n if(Order.supplierId!=supplierId){\n Toast.create({ title: \"Supplier change to!\", message: supplierName, status: TOAST_STATUS.WARNING, timeout: 5000 });\n root.Stepper.clearLoaded();\n Order=new DataModelOrder();\n //Order.setData({supplierId:supplierId});\n }\n }\n\n return;\n console.log('-----------');\n console.log(root.Stepper.getOpts());\n console.log('-----------');\n\n //$('.supplierNamePlace').text(supplierName);\n root.setSupplier(supplierName,supplierId);\n console.log(supplierName)\n //@todo:ide kell egy mentes!\n //@todo:mentes eredemenyekeppen lehet valtani\n event.preventDefault();\n root.Stepper.setOpts({onAfterLoad:root.setSupplierCompleted})\n root.Stepper.setEnabled('parameter');\n root.Stepper.addCompleted('parameter');\n root.Stepper.setCompleted('parameter');\n root.Stepper.setActive('parameter');\n\n\n });\n }\n\n this.checkContactNameField=function () {\n let CSSSelectorForm='.orderParameterForm';\n let node=$(CSSSelectorForm+' input[name=contactName]');\n if(node.val().length<2){\n node.removeClass('is-valid');\n node.addClass('is-invalid');\n return false;\n }else{\n node.addClass('is-valid');\n node.removeClass('is-invalid');\n return true;\n }\n }\n\n\n\n this.sendOrderDataToServer=function (updateType,callback,errorCallback) {\n let ajaxData= {};\n let ajaxUrl=Opts.URL.store;\n let ajaxMethod=\"POST\";\n if(Order.id){\n ajaxUrl=Opts.URL.update.replace('%id%',Order.id);\n //ajaxMethod=\"PUT\";\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\n ajaxData._method='PUT';\n }\n ajaxData._token=Opts.token;\n ajaxData.updateType=updateType;\n $.extend(ajaxData,Order);\n debug(Order);\n debug(ajaxData);\n debug('ajaxUrl:'+ajaxUrl);\n ajaxData=jsonToFormData(ajaxData);\n $.ajax({\n url:ajaxUrl,\n data:ajaxData,\n type:ajaxMethod,\n contentType:false,\n processData: false,\n success:function (data) {\n debug('ajax returned data');\n debug(data);\n if(data.success){\n //root.afterOrderSetSupplierOk(data.data);\n callback(data);\n }\n },\n error: function (xhr, ajaxOptions, thrownError) {\n ajaxErrorHandler(xhr, ajaxOptions, thrownError);\n if(typeof errorCallback!='undefined'){\n errorCallback(xhr.responseJSON);\n }\n },\n\n });\n\n }\n this.afterOrderSetParameterOk=function (data) {\n debug('called afterOrderSetParameterOk');\n root.Stepper.setOpts({'UrlData':{'supplierId':Order.supplierId,'id':Order.id}});\n //root.Stepper.setOpts({onAfterLoad:root.setParameterCompleted})\n root.Stepper.setEnabled('productSelect');\n root.Stepper.addCompleted('productSelect');\n root.Stepper.setCompleted('productSelect');\n root.Stepper.setActive('productSelect');\n }\n this.selectCurrentWeek = function() {\n console.error('selectCurrentWeek');\n console.error($('.ui-datepicker').find('.ui-datepicker-current-day a'));\n $('.ui-datepicker').find('.ui-datepicker-current-selected-weekday a').addClass('ui-state-active')\n }\n this.weekHover = function() {\n console.error('hover Active');\n $('.ui-datepicker-calendar tr').off('mousemove');\n $('.ui-datepicker-calendar tr').off('mouseleave');\n\n $('.ui-datepicker-calendar tr').on('mousemove', function() { $(this).find('td a').addClass('ui-state-hover'); });\n $('.ui-datepicker-calendar tr').on('mouseleave', function() { $(this).find('td a').removeClass('ui-state-hover'); });\n\n }\n this.weekHoverSlow = function() {\n console.error('weekHoverSlow');\n if($('.ui-datepicker-calendar tr').length<1){\n setTimeout(root.weekHoverSlow, 1);\n return;\n }\n root.weekHover();\n }\n this.initDatePicker=function (type) {\n console.error('asdasdadad');\n console.log('tipus' + type);\n let CSSSelectorForm = '.orderParameterForm';\n let startDate=new Date('1900-01-01');\n let endDate=new Date('1900-01-02');\n\n $(CSSSelectorForm + ' .datePicker').datepicker(\"destroy\");\n\n if (type == 'weekly') {\n $(CSSSelectorForm + ' .datePicker').datepicker({\n showOtherMonths: true,\n selectOtherMonths: true,\n showWeek: true,\n dateFormat: 'yy-mm-dd',\n firstDay: 1,\n minDate: new Date(),\n afterShow: function (dateText, inst) {\n root.weekHover();\n root.selectCurrentWeek();\n },\n onSelect: function (dateText, inst) {\n let date = $(this).datepicker('getDate');\n startDate = new getMonday(date);\n endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 7);\n root.setDeliveryDate($.datepicker.formatDate( 'yy-mm-dd',startDate),$.datepicker.formatDate( 'yy-mm-dd',endDate))\n },\n beforeShow: function () {\n console.group('beforeShow')\n console.log(startDate);\n console.log(endDate);\n //root.weekHoverSlow();\n console.groupEnd();\n },\n beforeShowDay: function(date) {\n console.group('beforeShowDay');\n console.log(date.toLocaleDateString('hu-Hu'));\n let cssClass = '';\n if(date >= startDate && date <= endDate){\n console.error(date.toLocaleDateString('hu-Hu'));\n cssClass = 'ui-datepicker-current-selected-weekday';\n //cssClass = 'ui-state-active';\n }\n console.log(cssClass);\n console.groupEnd();\n\n return [true, cssClass];\n },\n onChangeMonthYear: function(year, month, inst) {\n //root.selectCurrentWeek();\n }\n });\n\n } else {\n // Szállítási korlátozás adatok betöltése (csak ha hasDeliveryConstraint = true)\n let availableDates = [];\n let nextDeliveryDate = null;\n let hasDeliveryConstraint = false;\n let holidays = [];\n let workingDays = [];\n let datepickerInput = $(CSSSelectorForm + ' .datePicker');\n let calendarUrl = datepickerInput.data('delivery-calendar-url');\n let supplierId = datepickerInput.data('supplier-id');\n let profitCenterId = datepickerInput.data('profit-center-id');\n\n if (calendarUrl && supplierId && profitCenterId) {\n $.ajax({\n url: calendarUrl,\n data: {\n supplierId: supplierId,\n profitCenterId: profitCenterId,\n orderDateTime: new Date().toISOString(),\n },\n async: false,\n success: function (data) {\n hasDeliveryConstraint = data.hasDeliveryConstraint || false;\n // Ünnepnapok és áthelyezett munkanapok – mindig betöltjük\n holidays = (data.holidays || []).map(function(h) { return { date: h.date, description: h.description }; });\n workingDays = (data.workingDays || []).map(function(w) { return { date: w.date, description: w.description }; });\n\n if (hasDeliveryConstraint) {\n availableDates = data.availableDates || [];\n nextDeliveryDate = data.nextDeliveryDate || null;\n }\n // Ha nincs szállítási korlátozás, az availableDates és nextDeliveryDate\n // üres marad – a datepicker az eredeti módon viselkedik\n },\n });\n }\n\n if (hasDeliveryConstraint && nextDeliveryDate) {\n // Következő szállítási nap beállítása alapértelmezettként\n root.setDeliveryDate(nextDeliveryDate);\n $(CSSSelectorForm + ' .selectedDateText').text(nextDeliveryDate);\n $(CSSSelectorForm + ' input[name=\"deliveryDate\"]').val(nextDeliveryDate);\n $('.deliveryDatePlace').text(nextDeliveryDate.replaceAll('-', '.') + '.');\n }\n\n // Szín jelmagyarázat megjelenítése csak szállítási korlátozás esetén\n if (hasDeliveryConstraint) {\n $('#deliveryDateLegend').show();\n }\n\n let datepickerOpts = {\n dateFormat: 'yy-mm-dd',\n minDate: (hasDeliveryConstraint && nextDeliveryDate) ? new Date(nextDeliveryDate) : new Date(),\n onSelect: function (dateText) {\n $(CSSSelectorForm + ' .selectedDateText').text(dateText);\n $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.');\n $(CSSSelectorForm + ' input[name=\"deliveryDate\"]').val(dateText);\n },\n };\n\n // beforeShowDay: mindig aktív ha van munkanaptár adat vagy hasDeliveryConstraint\n datepickerOpts.beforeShowDay = function (date) {\n let dateStr = $.datepicker.formatDate('yy-mm-dd', date);\n\n let holidayEntry = holidays.find(function(h) { return h.date === dateStr; });\n let workingDayEntry = workingDays.find(function(w) { return w.date === dateStr; });\n\n let isDelivery = hasDeliveryConstraint && availableDates.includes(dateStr);\n\n let cssClasses = [];\n let tooltip = '';\n let selectable = true;\n\n if (holidayEntry) {\n cssClasses.push('work-calendar-holiday');\n tooltip = 'Ünnepnap' + (holidayEntry.description ? ': ' + holidayEntry.description : '');\n } else if (workingDayEntry) {\n cssClasses.push('work-calendar-working-day');\n tooltip = 'Áthelyezett munkanap' + (workingDayEntry.description ? ': ' + workingDayEntry.description : '');\n }\n\n if (hasDeliveryConstraint) {\n if (isDelivery) {\n cssClasses.push('delivery-day-available');\n if (!tooltip) tooltip = 'Szállítási nap';\n } else {\n cssClasses.push('delivery-day-unavailable');\n if (!tooltip) tooltip = 'Nem szállítási nap';\n selectable = false;\n }\n }\n // Ha ünnepnap és hasDeliveryConstraint nincs bekapcsolva, az ünnepnap is letiltandó\n if (holidayEntry && !hasDeliveryConstraint) {\n selectable = false;\n }\n\n return [selectable, cssClasses.join(' '), tooltip];\n };\n\n $(CSSSelectorForm + ' .datePicker').datepicker(datepickerOpts);\n }\n }\n this.callChangeOrderType=function(){\n console.log(this);\n console.log(this.value);\n root.initDatePicker(this.value);\n //enum('daily', 'weekly')\n /*let CSSSelectorForm='.orderParameterForm';\n let node=$(CSSSelectorForm+' input[name=contactName]');\n if(node.val().length<2){\n node.removeClass('is-valid');\n node.addClass('is-invalid');\n return false;\n }else{\n node.addClass('is-valid');\n node.removeClass('is-invalid');\n return true;\n }\n */\n }\n\n this.initViewParameter=function () {\n debug('call initViewParameter');\n root.Stepper.setOpts({onAfterLoad:function (){}});\n let CSSSelectorForm='.orderParameterForm';\n $(CSSSelectorForm+' .datePickerClick').click(function(){\n $(CSSSelectorForm+' .datePicker').datepicker('show');\n });\n\n $(CSSSelectorForm+' .orderParameterDeliveryAddress').select2({}).show();\n $(CSSSelectorForm+' input[name=contactName]').off('blur');\n $(CSSSelectorForm+' input[name=contactName]').off('keyup');\n $(CSSSelectorForm+' input[name=contactName]').on('blur',root.checkContactNameField);\n $(CSSSelectorForm+' input[name=contactName]').on('keyup',root.checkContactNameField);\n\n $(CSSSelectorForm+' input[name=orderType]').off('change');\n $(CSSSelectorForm+' input[name=orderType]').on('change',root.callChangeOrderType);\n\n\n $(CSSSelectorForm+' .orderParameterNextButton').off('click');\n if(Order.getData()['id']>0){\n if(Order.getData()['orderType']=='weekly'){\n root.initDatePicker(Order.getData()['orderType']);\n $(CSSSelectorForm+\" input[name=orderType][value=\" + Order.getData()['orderType'] + \"]\").prop('checked', true);\n\n const endDate = new Date(Order.getData()['deliveryDate']);\n endDate.setDate(endDate.getDate() + 6);\n root.setDeliveryDate(Order.getData()['deliveryDate'],$.datepicker.formatDate( 'yy-mm-dd',endDate));\n root.initDatePicker('weekly');\n }else{\n if(Order.getData()['deliveryDate']){\n root.setDeliveryDate(Order.getData()['deliveryDate']);\n }\n root.initDatePicker('daily');\n }\n\n\n\n if(Order.getData()['contactName']){\n $(CSSSelectorForm+' input[name=contactName]').val(Order.getData()['contactName']);\n }\n if(Order.getData()['note']){\n $(CSSSelectorForm+' textarea[name=note]').val(Order.getData()['note']);\n }\n if(Order.getData()['deliveryAddressId']){\n console.log($(CSSSelectorForm+' select[name=deliveryAddressId]'));\n $(CSSSelectorForm+' select[name=deliveryAddressId]').val(Order.getData()['deliveryAddressId']);\n }\n if(Order.getData()['customNotificationEmail']){\n console.log($(CSSSelectorForm+' select[name=customNotificationEmail]'));\n $(CSSSelectorForm+' select[name=customNotificationEmail]').val(Order.getData()['customNotificationEmail']);\n }\n }else{\n root.initDatePicker('daily');\n }\n\n $(CSSSelectorForm+' .orderParameterDeliveryAddress').select2({}).show();\n $(CSSSelectorForm+' .orderParameterCustomNotificationEmail').select2({}).show();\n\n $(CSSSelectorForm).submit(function(event){\n\n event.preventDefault();\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\n debug('validaton false');\n event.stopPropagation();\n return;\n } else {\n debug('validaton ok');\n //do your ajax submition here\n }\n $('.deliveryDatePlace').text($(CSSSelectorForm+' input[name=deliveryDate]').val().replaceAll('-','.')+'.');\n\n Order.setData({\n contactName:$(CSSSelectorForm+' input[name=contactName]').val(),\n note:$(CSSSelectorForm+' textarea[name=note]').val(),\n orderType:$(CSSSelectorForm+' input:checked[name=orderType]').val(),\n deliveryDate:$(CSSSelectorForm+' input[name=deliveryDate]').val(),\n deliveryAddressId:$(CSSSelectorForm+' select[name=deliveryAddressId]').val(),\n deliveryAddress:$(CSSSelectorForm+' select[name=deliveryAddress]').val(),\n customNotificationEmail:$(CSSSelectorForm+' select[name=customNotificationEmail]').val(),\n });\n console.group('parameter form submit')\n console.error($(CSSSelectorForm+' input:checked[name=orderType]').val());\n console.error($(CSSSelectorForm+' input[name=deliveryDate]').val());\n debug(Order.getData());\n console.groupEnd();\n root.sendOrderDataToServer('parameter',root.afterOrderSetParameterOk);\n });\n\n }\n this.blank=function (){};\n this.setParameterCompleted=function () {\n console.log('setParameterCompleted called');\n root.Stepper.setOpts({onAfterLoad:function (){}});\n //root.initViewProductSelect()\n }\n\n this.bindRowFavoritesAction = function () {\n $('.buttonItemFavorites').off('click');\n $('.buttonItemFavorites').on('click', function () {\n let productId = $(this).data('id');\n console.log(productId);\n\n let ajaxUrl=Opts.URL.toggleFavorites.replace('%id%',productId);\n let ajaxData={};\n ajaxData._token=Opts.token;\n let button=this;\n console.log(ajaxUrl);\n $.ajax({\n url: ajaxUrl,\n method:'POST',\n data:ajaxData,\n success:function (response) {\n if(response.success){\n if(response.status){\n console.log('true');\n $(button).addClass('btn-warning');\n $(button).removeClass('btn-light');\n }else{\n $(button).removeClass('btn-warning');\n $(button).addClass('btn-light');\n console.log('false');\n }\n }\n }\n });\n /*\n $(this).toggleClass('btn-warning');\n $(this).toggleClass('btn-light');\n */\n });\n }\n\n this.bindRowDescriptionAction=function (){\n $('textarea.orderItemComment').on('change',function (){\n let comment=$(this).val();\n let productId=$(this).data('id');\n let productComment=Order.getData('productComment');\n if(productComment!==null){\n if(typeof productComment[productId]=='undefined' && comment.length===0){\n return;\n }\n if(productComment[productId]===comment){\n return;\n }\n }\n productComment[productId]=comment;\n if(comment.length===0){\n delete Order.productComment[productId];\n }\n Order.productComment=productComment;\n queueAjax.push(Date.now());\n root.syncOrderDataToServer();\n });\n }\n\n this.productSelectDatatablesRowFormatter=function (d) {\n // `d` is the original data object for the row\n /**\n @todo: felszedni es updatelni az adott termek memojat az orderban\n */\n console.group('productSelectDatatablesRowFormatter');\n console.log(d);\n let templateData=d;\n templateData.comment='';\n// debug(Order);\n if(Order.productComment && Order.productComment!==null){\n debug(typeof Order.productComment[d.id]);\n if(typeof Order.productComment[d.id]!='undefined' && Order.productComment[d.id].length>0){\n templateData.comment=Order.productComment[d.id];\n }\n }\n /** @typedef {boolean} d.favorites */\n if(d.favorites===true){\n templateData.btnFavoritesClass='btn-warning';\n }else{\n templateData.btnFavoritesClass='btn-light';\n }\n let template=$('template[data-name=\"orderProductSelectDetails\"]').html()\n templateData.weekly=false;\n if(Order.getData().orderType==='weekly'){\n templateData.weekly=true;\n/*\n\n templateData.weeklyDay=[\n {\"index\":1,\"name\":\"Hétfő\"},\n {\"index\":2,\"name\":\"Kedd\"},\n {\"index\":3,\"name\":\"Szerda\"},\n {\"index\":4,\"name\":\"Csütörtök\"},\n {\"index\":5,\"name\":\"Péntek\"},\n {\"index\":6,\"name\":\"Szombat\"},\n {\"index\":7,\"name\":\"Vasárnap\"},\n ];\n\n templateData.weeklyDay=[\n {\"index\":2,\"name\":\"Hétfő\" },\n {\"name\":\"Kedd\"},\n {\"name\":\"Szerda\"},\n {\"name\":\"Csütörtök\"},\n {\"name\":\"Péntek\"},\n {\"name\":\"Szombat\"},\n {\"name\":\"Vasárnap\"}\n ];\n*/\n }\n let productSelected=Order.getData('productSelected');\n if(typeof productSelected[d.id]!='undefined'){\n templateData.itemQuantity=productSelected[d.id];\n }\n console.log(['templateData',templateData]);\n let oldTags=Mustache.tags;\n Mustache.tags = [\"~!\", \"!~\"];\n if(templateData['specification']=='false' || templateData['specification']==false){\n templateData.specificationClass='d-none';\n }\n templateData.pictureImg='';\n if(templateData['picture']=='false' || templateData['picture']==false){\n templateData.pictureClass='d-none';\n }else{\n templateData.pictureImg='';\n }\n console.log('templateData',templateData);\n //templateData['aa_specification']=false;\n let render=Mustache.render(template,templateData);\n Mustache.tags =oldTags;\n console.groupEnd();\n return render;\n/*\nsolution before template\n return ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n /!*\n ''+\n ''+\n ''+\n ''+\n *!/\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n ''+\n /!*\n *!/\n '
Info:'+d.note+'
hooreyca :'+d.hooreycaId+'' +\n\n '' +\n '
Extension number:'+d.extn+'
Info:'+d.note+'
Megjegyzés:
';\n*/\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 console.log($(items[item]).children('a.categoryItem'));\n if($(items[item]).children('a.categoryItem').length>0){\n res+=$(items[item]).children('a.categoryItem').text()+'/'\n }\n }\n res+=$(node).text();\n console.log(res);\n return res;\n }\n\n let selectedProductGroup=null;\n let dataTableSearchStr=null;\n let dataTableSearchKrel=false;\n\n this.searchProductByString=function (filterStr){\n root.setDatatableHeaderText('Termékek szűrve:'+filterStr);\n dataTableSearchStr=filterStr;\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n this.clickSearchProduct=function (){\n debug(this);\n let filterStr=$('.sidebar-search input[name=searchValue]').val()\n debug(filterStr);\n root.searchProductByString(filterStr);\n }\n\n this.clickFavoritesProduct = function () {\n debug('clickFavoritesProduct');\n root.setDatatableHeaderText('Termékek szűrve: kedvencek');\n dataTableSearchStr='**favorites**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n this.clickOftenProduct = function () {\n debug('clickOftenProduct');\n root.setDatatableHeaderText('Termékek szűrve: gyakran vásárolt');\n dataTableSearchStr='**often**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n this.clickSpecialOffer = function () {\n debug('clickSpecialOffer');\n root.setDatatableHeaderText('Termékek szűrve: Akciós termékek');\n dataTableSearchStr='**specialOffer**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n\n\n\n this.clickLastProduct = function () {\n debug('clickLastProduct');\n root.setDatatableHeaderText('Termékek szűrve: utoljára vásárolt');\n dataTableSearchStr='**last**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n\n }\n\n this.clickWeeklyProduct = function () {\n debug('clickWeeklyProduct');\n root.setDatatableHeaderText('Termékek szűrve: Heti termékek');\n dataTableSearchStr='**weekly**';\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n\n }\n\n this.clickKrelProduct = function () {\n debug('clickKrelProduct');\n //root.setDatatableHeaderText('Termékek szűrve: Heti termékek');\n //dataTableSearchStr='**weekly**';\n //$('.dataTableOrderProductSelect').DataTable().ajax.reload();\n $(this).parent().toggleClass('krelActive');\n dataTableSearchKrel=!dataTableSearchKrel;\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n }\n\n this.productSelectDataTableColumnDefs=function (){\n return [\n {\"width\": \"10px\", \"targets\": 0 },\n { \"className\": \"dt-left\", \"targets\": 1 },\n// { \"width\": \"120px\", \"targets\": 1 },\n { \"width\": \"28px\", \"targets\": 2 },\n { \"width\": \"41px\", \"targets\": 3 },\n { \"width\": \"76px\", \"targets\": 4 },\n { \"width\": \"55px\", \"targets\": 5 },\n { \"width\": \"70px\", \"targets\": 6 },\n { \"width\": \"54px\", \"targets\": 7 },\n { \"width\": \"57px\", \"targets\": 8 },\n { \"width\": \"42px\", \"targets\": 9 },\n { \"width\": \"100px\", \"targets\": 10},\n {\"className\": \"dt-center\", \"targets\": \"_all\"},\n ];\n }\n this.productSelectDataTableColumn=function (){\n let columnData=[\n {\n \"className\": 'details-control',\n \"orderable\": false,\n \"data\": null,\n \"defaultContent\": ''\n },\n { \"data\": \"name\" },\n { \"data\": \"krel\" },\n { \"data\": \"packing\"},\n { \"data\": \"unitValue\" },\n { \"data\": \"productUnit\"},\n { \"data\": \"sellerUnit\" },\n { \"data\": \"unitMultiplier\"},\n { \"data\": \"amountUnit\" },\n { \"data\": \"price\" },\n\n ];\n\n let actionColumn={ \"className\": 'details-control2',\n \"orderable\": false,\n \"data\": null,\n \"width\": \"100px\",\n \"defaultContent\":''\n };\n if(Order.getData('orderType')=='daily'){\n actionColumn.defaultContent=''\n /*\n \"defaultContent\":'
' +\n '' +\n '' +\n '' +\n '
'\n */\n\n ;\n }\n columnData.push(actionColumn);\n return columnData;\n }\n this.getDatatables=function (orderType){\n console.error(orderType);\n var 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.getDataTableContentProductList,\n data:function (data) {\n data.searchStr=dataTableSearchStr;\n data.krel=dataTableSearchKrel;\n data.groupId=selectedProductGroup;\n data.supplierId=Order.supplierId;\n data.deliveryDate=Order.deliveryDate;\n }\n },\n buttons: {\n buttons: []\n },\n \"columnDefs\": root.productSelectDataTableColumnDefs(),\n \"columns\": root.productSelectDataTableColumn(),\n \"order\": [[1, 'asc']],\n } );\n return table;\n }\n\n this.productSelectDataTableDrawDT=function (e) {\n //debug( 'Table draw complete: '+new Date().getTime() );\n\n //$('td:contains(\"*\")').html('');\n $(\"td\").filter(function(){\n return $(this).text() === '*';\n }).html('');\n if(Order.getData().orderType=='daily'){\n $(\"input[type='number'].inputNumberSpinner\").inputSpinner({\n template:\n '
' +\n '' +\n //'' +\n '' +\n '' +\n '
',\n buttonsWidth: \"0.5rem\",\n groupClass: \"\", // css class of the resulting input-group\n buttonsClass: \"btn-outline-secondary\",\n });\n }\n root.bindWeakUserHelper();\n /*\n ----------------------------------------------------------\n change order quantity\n */\n $(\".dataTableOrderProductSelect .details-control2 input[type=text]\").off('change');\n $(\".dataTableOrderProductSelect .details-control2 input[type=text]\").on('change',function (e){\n let quantity=$(this).val();\n quantity=quantity.replace(',','.');\n quantity=parseFloat(quantity);\n let rowData=$('.dataTableOrderProductSelect').DataTable().row($(this).closest('tr')).data();\n root.orderItemsChange(rowData,quantity)\n });\n\n $(\".dataTableOrderProductSelect .details-control2 input[type=text]\").each(function (){\n //debug('ez a function2')\n let quantity=$(this).val();\n let rowData=$('.dataTableOrderProductSelect').DataTable().row($(this).closest('tr')).data();\n\n if(Order.productSelected[rowData.id]){\n debug(rowData);\n debug($($(this).closest('tr').find('input[type=number]')[0]));\n debug(Order.productSelected[rowData.id]);\n let quantityCurrent=Order.productSelected[rowData.id];\n if(typeof quantityCurrent!='string'){\n quantityCurrent+='';\n }\n $($(this).closest('tr').find('input[type=number]')[0]).val(quantityCurrent.replace(',','.'));\n }\n });\n\n\n $(\".dataTableOrderProductSelect .details-control2 button\").off('click');\n $(\".dataTableOrderProductSelect .details-control2 button\").on('click',function () {\n // debug('.details-control2 button click ')\n // debug(this);\n $(this).parent().find('input[type=text]').trigger('change');\n });\n\n }\n\n this.initViewProductSelect=function () {\n let functionName='initViewProductSelect';\n console.log(functionName+' called');\n if(viewInicialized.includes(functionName)){\n return;\n }\n //debug(Object.getOwnPropertyNames(root));\n root.setDatatableHeaderText('');\n root.Stepper.setOpts({onAfterActivate:function (){}});\n //@note: be kell kapcsolni az elonezetet\n root.Stepper.addCompleted('invoice');\n root.Stepper.addEnabled('invoice');\n let CSSSelectorForm='.orderParameterForm';\n //console.log(Opts.URL.getDataTableContentProductList);change\n debug((CSSSelectorForm+' .fa-search'));\n\n $('.sidebar-search .fa-search').off('click');\n $('.sidebar-search .fa-search').on('click',root.clickSearchProduct);\n\n $('a.sidebar.favorites').off('click');\n $('a.sidebar.favorites').on('click',root.clickFavoritesProduct);\n\n $('a.sidebar.often').off('click');\n $('a.sidebar.often').on('click',root.clickOftenProduct);\n\n $('a.sidebar.last').off('click');\n $('a.sidebar.last').on('click',root.clickLastProduct);\n\n $('a.sidebar.weekly').off('click');\n $('a.sidebar.weekly').on('click',root.clickWeeklyProduct);\n\n $('a.sidebar.krel').off('click');\n $('a.sidebar.krel').on('click',root.clickKrelProduct);\n\n $('a.sidebar.specialOffer').off('click');\n $('a.sidebar.specialOffer').on('click',root.clickSpecialOffer);\n\n\n $('.sidebar-search input[name=searchValue]').off('keypress');\n $('.sidebar-search input[name=searchValue]').on('keypress',function (event) {\n if ( event.which == 13 ) {\n event.preventDefault();\n }\n if($(this).val().length>=2){\n root.searchProductByString($(this).val()+event.key);\n }\n });\n\n\n\n $('.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').off('click');\n $('.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a.categoryItem.clickable').on('click',\n function () {\n let groupId=$(this).data('id');\n selectedProductGroup=groupId;\n dataTableSearchStr=null;\n console.log(groupId);\n console.log(root.getTreePathName(this));\n root.setDatatableHeaderText(root.getTreePathName(this));\n/*\n let ajaxData={\n 'groupId':groupId,\n 'supplier_id':Order.supplierId,\n };\n //$('.dataTableOrderProductSelect').DataTable().ajax.data(ajaxData).load();\n\n*/\n/*\n let ajaxUrl=Opts.URL.getDataTableContentProductList+'?groupId='+groupId+'&supplier_id='+Order.supplierId;\n $('.dataTableOrderProductSelect').DataTable().ajax.url(ajaxUrl).load();\n*/\n $('.dataTableOrderProductSelect').DataTable().ajax.reload();\n });\n\n\n let table = root.getDatatables(Order.getData('orderType'));\n\n $('.dataTableOrderProductSelect').on( 'init.dt', function () {\n console.log( 'Table initialisation complete: '+new Date().getTime() );\n } ).dataTable();\n\n\n\n $('.dataTableOrderProductSelect').on( 'draw.dt',root.productSelectDataTableDrawDT).dataTable();\n\n //$('.dataTableOrderProductSelect').on( 'draw.dt', ).dataTable();\n\n $('.dataTableOrderProductSelect').on( 'xhr.dt', function () {\n debug( 'Table xhr complete: '+new Date().getTime() );\n } ).dataTable();\n\n //$(\"input[type='number'].inputNumberSpinner\").inputSpinner();\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 viewInicialized.push(functionName);\n }\n\n this.bindProductDetailsAction=function (){\n root.bindRowDescriptionAction();\n root.bindRowFavoritesAction();\n if(Order.getData()['orderType']=='weekly'){\n root.bindOrderItemWeekQuantity();\n }\n }\n\n this.bindWeakUserHelper=function (){\n $( \"input.inputNumberSpinner\" ).off( \"focus\");\n $( \"input.inputNumberSpinner\" ).on( \"focus\", function() {\n let quantity=$(this).val();\n quantity=quantity.replace(',','.');\n quantity=parseFloat(quantity);\n if(quantity===0){\n $(this).val('')\n }\n });\n $( \"input[type=text].inputNumberSpinner\" ).off( \"keypress\");\n $( \"input[type=text].inputNumberSpinner\" ).on( \"keypress\", function(event) {\n if ( event.which == 13 ) {\n// console.error('enter pressed');\n let actualItem=this;\n let items=$( \"input[type=text].inputNumberSpinner\" );\n items.each(function (item){\n// console.log(this);\n if(this==actualItem){\n// console.error(item);\n if(item+1<=items.length){\n// console.error(items[item+1]);\n $(items[item+1]).focus();\n }\n return false;\n }\n });\n }\n });\n }\n\n this.bindOrderItemWeekQuantity=function (){\n $(\"input.productSelectDayQuantity\").off('change');\n $(\"input.productSelectDayQuantity\").on('change',function () {\n console.log(this.name);\n console.log(this.value);\n console.log($(this).data('dayindex'));\n\n let rowData=null;\n let rowNode=$($(this).closest('table.orderProductSelectRowDetailsTable').closest('tr')).prev();\n rowData=$('.dataTableOrderProductSelect').DataTable().row(rowNode).data();\n console.log(rowData);\n let quantity=$(this).val();\n quantity=quantity.replace(',','.');\n quantity=parseFloat(quantity);\n console.log(rowData.id);\n root.orderItemsChange(rowData,quantity,$(this).data('dayindex'));\n// root.orderItemsChange\n //orderItemsChange\n //quantity[1683][1]\n });\n\n }\n\n this.afterSyncOrderDataToServer=function (data) {\n //root.toggleEnableSend();\n //console.log('most vegzett. ennyit kiszed'+batchNum);\n for (let i = 0; i 0){\n root.Stepper.addCompleted('send');\n root.Stepper.addEnabled('send');\n }\n let styleStr='';\n $('table.invoice button.printButton').off('click');\n $('table.invoice button.printButton').on('click',function () {\n window.print();\n return;\n\n let newWin= window.open(\"\");\n newWin.document.write(styleStr);\n let print=$('table.invoice').clone();\n print.find('button.printButton').remove();\n// newWin.document.write($('table.invoice').prop('outerHTML'));\n newWin.document.write(print.prop('outerHTML'));\n newWin.print();\n newWin.close();\n });\n }\n\n this.resetOrder=function () {\n root.init();\n root.setDeliveryDate('-');\n root.setSupplier('-');\n\n }\n\n this.afterOrderSendOk=function (data) {\n Toast.create({ title: \"Sent!\", message: 'Order Sent' , status: TOAST_STATUS.INFO, timeout: 5000 });\n $('.buttonOrderSend').off('click');\n $('.buttonOrderSend').prop('disabled',true);\n $('.statusNamePlace').removeClass('statusBlink');\n $('.statusNamePlace').text('elküldve');\n $('.buttonOrderSending').toggleClass('d-none');\n $('.buttonOrderSendOk').toggleClass('d-none');\n $('div.invoiceContainer').html(data.retHTML);\n //root.resetOrder();\n }\n this.afterOrderSendError=function (data) {\n $('.buttonOrderSend').toggleClass('d-none');\n $('.buttonOrderSending').toggleClass('d-none');\n $.each(APP.OrderModule.Stepper.getOpts().available,function (index,value) {\n APP.OrderModule.Stepper.setEnabled(value);\n APP.OrderModule.Stepper.setCompleted(value);\n });\n }\n\n this.initViewSend=function () {\n console.log('initViewSend called 2');\n root.Stepper.setOpts({onAfterLoad:function (){}});\n $('.buttonOrderSend').off('click');\n $('.buttonOrderSend').on('click',function () {\n console.log('Send buton clicked');\n //@todo: datasynchere and callback\n $('.buttonOrderSend').toggleClass('d-none');\n $('.buttonOrderSending').toggleClass('d-none');\n /**\n * PM158\n */\n $.each(APP.OrderModule.Stepper.getOpts().available,function (index,value) {\n root.Stepper.unsetEnabled(value);\n root.Stepper.unsetCompleted(value);\n });\n /**\n\n */\n root.sendOrderDataToServer('send',root.afterOrderSendOk,root.afterOrderSendError);\n\n/* let ajaxData={};\n ajaxData._token=Opts.token;\n ajaxData.send=true;\n $.extend(ajaxData,Order);\n $.ajax({\n url: Opts.URL.store,\n method:'POST',\n data:ajaxData,\n success:function (data) {\n if(data.success){\n root.afterOrderSendOk(data);\n }\n }\n });*/\n });\n\n }\n\n this.testModeSend=function () {\n\n }\n\n\n this.testMode=function () {\n console.log('testMode called ')\n Order.setData({\n id:234,\n supplierId:7,\n productSelected:{\n 116 : 3,\n 293 : 2,\n },\n contactName:'Contact Name',\n note:'Note',\n type:'daily',\n deliveryDate:Opts.defaultDeliveryDate,\n deliveryAddress:12,\n });\n console.log(Order.getData());\n\n console.log('*******************');\n //root.Stepper.setOpts({'UrlData':{'supplierId':supplierId}});\n root.Stepper.setOpts({'UrlData':{'supplierId':Order.supplierId,id:Order.id}});\n this.Stepper.init({\n URL: {\n create: Opts.URL.create,\n },\n/*\ncsupasz az elejerol\n complete:['supplier'],\n enable: ['supplier'],\n active: 'supplier',\n onAfterActivate:this.initViewSupplier,\n\nproduct select\n complete:['supplier','parameter','productSelect'],\n enable: ['supplier','parameter','productSelect'],\n active: 'productSelect',\n onAfterActivate:this.initViewProductSelect,\n\nfullos\n complete:['supplier','parameter','productSelect','invoice'],\n enable: ['supplier','parameter','productSelect','invoice','send'],\n active: 'productSelect',\n onAfterActivate:this.initViewProductSelect,\n\nsend\n complete:['supplier','parameter','productSelect','invoice','send'],\n enable: ['supplier','parameter','productSelect','invoice','send'],\n active: 'send',\n onAfterActivate:this.initViewProductSelect,\n\n*/\n complete:['supplier','parameter','productSelect'],\n enable: ['supplier','parameter','productSelect'],\n active: 'productSelect',\n onAfterActivate:this.initViewProductSelect,\n\n\n autoCallback: {\n invoice: {\n onAfterActivate:root.initViewInvoice\n },\n send: {\n onAfterActivate:root.initViewSend\n },\n\n }\n\n });\n console.log('*******************');\n\n }\n this.toggleEnableSend=function () {\n console.log('toggleEnableSend called');\n let ajaxUrl=Opts.URL.checkReadyToSend.replace('%id%',Order.id);\n $.ajax({\n url:ajaxUrl,\n success:function (data) {\n if(data.success){\n if(data.readyToSend){\n root.Stepper.addCompleted('send');\n/*\n root.Stepper.addCompleted('invoice');\n root.Stepper.addEnabled('invoice');\n*/\n root.Stepper.addEnabled('send');\n }else{\n root.Stepper.unsetCompleted('send');\n/*\n root.Stepper.unsetCompleted('invoice');\n root.Stepper.unsetEnabled('invoice');\n*/\n root.Stepper.unsetEnabled('send');\n }\n }\n console.log(data);\n }\n });\n }\n\n}\n","\r\n\r\nif(typeof window.DataModelOrderArchive ===\"undefined\"){\r\n window.OrderArchiveModulDefault={\r\n actionFunction: function () {},\r\n }\r\n class DataModelOrderArchive 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.items ===\"undefined\"){\r\n this.items={};\r\n }\r\n console.log(this.constructor.name+' constructor called');\r\n };\r\n };\r\n window.DataModelOrderArchive=DataModelOrderArchive;\r\n}\r\n\r\n\r\nif(typeof window.OrderArchiveModule ===\"undefined\") {\r\n class OrderArchiveModule extends ModuleBase{\r\n constructor (options,data) {\r\n super(options,data)\r\n if(data!==\"undefined\" || data!=null){\r\n }else{\r\n this.data=new DataModelOrderArchive();\r\n }\r\n this.dataTable=null;\r\n this.Opts.dataTable.advanceSearchParameter={\r\n deliveryDateFrom:null,\r\n deliveryDateTo:null,\r\n profitCenterId:null,\r\n supplierId:null,\r\n }\r\n\r\n }\r\n\r\n datatableRowActionAttachment(rowData,node) {\r\n debug('call datatableRowActionAttachment');\r\n super.datatableRowActionAttachment(rowData,node,{defaultFileName:\"order\"});\r\n }\r\n\r\n datatableRowActionView(rowData,node) {\r\n debug('call datatableRowActionView');\r\n super.datatableRowActionView(rowData,node,APP.OrderArchiveModule)\r\n console.log('datatableRowActionEdit End');\r\n }\r\n\r\n datatableRowActionButtonClick(event) {\r\n debug('datatableRowActionButtonClick');\r\n super.datatableRowActionButtonClick(event,APP.OrderArchiveModule);\r\n }\r\n /*\r\n datatableRowActionButtonClick (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 */\r\n datatableRowActionEdit(rowData,node) {\r\n console.log('datatableRowActionEdit Called');\r\n //Opts.onAfterInitViewDetails=root.autofillDetails;\r\n let ajaxUrl=this.Opts.URL.edit.replace('%id%',rowData.id);\r\n console.log(this.Opts.URL);\r\n console.log(ajaxUrl);\r\n /*\r\n */\r\n APP.loadMainContent(ajaxUrl);\r\n console.log('datatableRowActionEdit End');\r\n }\r\n\r\n initViewShow(){\r\n debug('call initViewShow');\r\n let root=APP.OrderArchiveModule;\r\n let styleStr='';\r\n $('table.invoice button.printButton').off('click');\r\n $('table.invoice button.printButton').on('click',function () {\r\n window.print();\r\n return;\r\n let newWin= window.open(\"\");\r\n newWin.document.write(styleStr);\r\n let print=$('table.invoice').clone();\r\n print.find('button.printButton').remove();\r\n// newWin.document.write($('table.invoice').prop('outerHTML'));\r\n newWin.document.write(print.prop('outerHTML'));\r\n newWin.print();\r\n// newWin.close();\r\n });\r\n }\r\n\r\n datatableCustomHeadButtonClickCallBack(){\r\n console.info('hello itt vagyok');\r\n $('.advanceSearchModal').modal('show');\r\n }\r\n\r\n initAdvancedSearch(){\r\n console.log('initAdvancedSearch');\r\n window.datePickerTarget='';\r\n $('.deliveryDateFrom,.deliveryDateTo').datepicker({\r\n dateFormat: 'yy-mm-dd',\r\n //minDate:new Date(),\r\n onSelect:function (dateText){\r\n debug('target:'+window.datePickerTarget);\r\n $('.'+window.datePickerTarget+'SelectedDateText').text(dateText);\r\n debug($(' input[name=\"'+window.datePickerTarget+'\"]'));\r\n $(' input[name=\"'+window.datePickerTarget+'\"]').val(dateText);\r\n },\r\n });\r\n\r\n\r\n\r\n $('.datePickerClick').click(function(){\r\n debug($(this).data('target'));\r\n datePickerTarget=$(this).data('target');\r\n //$('.datePicker .'+datePickerTarget).datepicker('show');\r\n $('.'+datePickerTarget).datepicker('show');\r\n });\r\n $(\".selectProfitCenter,.selectSupplier\").select2({\r\n maximumSelectionLength: 1,\r\n });\r\n /*\r\n stored advanceSearchParameter restoring\r\n */\r\n let advanceFiltered=false;\r\n $.each(this.Opts.dataTable.advanceSearchParameter,function (k,v) {\r\n if(v!=null){\r\n advanceFiltered=true;\r\n console.log(k+' > '+v);\r\n $('.advanceSearchModal input[name='+k+'],.advanceSearchModal select[name='+k+']').val(v).trigger('change');\r\n $('.'+k+'SelectedDateText').text(v);\r\n }\r\n\r\n });\r\n if(advanceFiltered){\r\n $('.dt-button.btn-advanceSearchParameter').addClass('btn-success');\r\n }\r\n /*\r\n clearing advanceSearchParameter\r\n */\r\n $('.advanceSearchModal .buttonClear').off('click');\r\n $('.advanceSearchModal .buttonClear').on('click',function () {\r\n $('.advanceSearchModal input,.advanceSearchModal select').val('').trigger('change');\r\n $('.SelectedDateText').text('\\xa0');\r\n let root=APP.OrderArchiveModule;\r\n $.each(root.Opts.dataTable.advanceSearchParameter,function (k,v) {\r\n root.Opts.dataTable.advanceSearchParameter[k]=null;\r\n });\r\n $('.dt-button.btn-advanceSearchParameter').removeClass('btn-success');\r\n let dataTableCSSSelector=root.Opts.CSSSelectorContainer+' .dataTable';\r\n $(dataTableCSSSelector).DataTable().ajax.reload();\r\n $('.advanceSearchModal').modal('hide');\r\n\r\n });\r\n\r\n /*\r\n process advanceSearchParameter\r\n */\r\n $('.advanceSearchModal .buttonSave').off('click');\r\n $('.advanceSearchModal .buttonSave').on('click',function (){\r\n console.log('clicked advanced search ');\r\n let root=APP.OrderArchiveModule;\r\n let dataSearch=$('.advanceSearchModalForm').find('input,select').serializeArray();\r\n console.log(dataSearch);\r\n console.log(root.Opts);\r\n console.log(root.Opts.dataTable.advanceSearchParameter);\r\n $.each(root.Opts.dataTable.advanceSearchParameter,function (k,v) {\r\n root.Opts.dataTable.advanceSearchParameter[k]=null;\r\n });\r\n $.each(dataSearch,function (k,item) {\r\n console.log(item['name']);\r\n console.log(item['value']);\r\n if( typeof root.Opts.dataTable.advanceSearchParameter[item['name']]!= 'undefined'\r\n && item['value'].length>0\r\n ){\r\n root.Opts.dataTable.advanceSearchParameter[item['name']]=item['value'];\r\n }\r\n })\r\n console.log(root.Opts.dataTable.advanceSearchParameter);\r\n let dataTableCSSSelector=root.Opts.CSSSelectorContainer+' .dataTable';\r\n $(dataTableCSSSelector).DataTable().ajax.reload();\r\n $('.dt-button.btn-advanceSearchParameter').addClass('btn-success');\r\n $('.advanceSearchModal').modal('hide');\r\n });\r\n\r\n }\r\n\r\n initViewList(options={}) {\r\n debug('listview inicialization');\r\n\r\n if(APP.IsUserAdmin){\r\n this.DtColumns=[\r\n { \"data\": \"supplier_name\" },\r\n { \"data\": \"deliveryDate\" },\r\n { \"data\": \"profit_center.name\" },\r\n { \"data\": \"deliveryAddressName\" },\r\n { \"data\": \"sentTime\" },\r\n { \"data\": \"humanId\" },\r\n { \"data\": \"confirmed\" },\r\n null,\r\n ];\r\n }else{\r\n this.DtColumns=[\r\n { \"data\": \"supplier_name\" },\r\n { \"data\": \"deliveryDate\" },\r\n { \"data\": \"deliveryAddressName\" },\r\n { \"data\": \"sentTime\" },\r\n { \"data\": \"humanId\" },\r\n { \"data\": \"confirmed\" },\r\n null,\r\n ];\r\n }\r\n\r\n let dataTableCSSSelector=this.Opts.CSSSelectorContainer+' .dataTable'; //\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n datatableCustomHeadButtonClickCallBack:this.datatableCustomHeadButtonClickCallBack,\r\n })\r\n let orderDirective=this.Opts.dataTable.orderDirective;\r\n let advanceSearchParameter=this.Opts.dataTable.advanceSearchParameter;\r\n\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\r\n this.dataTable=$(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\": {\r\n url:this.Opts.URL.getDataTableContent,\r\n data:function (data) {\r\n data.advanceSearchParameter=advanceSearchParameter;\r\n/*\r\ndata.searchParam=this.Opts.dataTable.advanceSearchParameter\r\n data.searchStr=dataTableSearchStr;\r\n data.groupId=selectedProductGroup;\r\n data.supplierId=Order.supplierId;\r\n data.deliveryDate=Order.deliveryDate;\r\n*/\r\n }\r\n },\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowViewButton(0,arguments);\r\n buttons+=APP.datatableAddRowAttachmentButton(0,arguments);\r\n //buttons+=APP.datatableAddRowEditButton(0, arguments);\r\n if(row.canEditable){\r\n buttons+=APP.datatableAddRowEditButton(0, {title:\"módosítás\"});\r\n }\r\n return buttons;\r\n },\r\n },\r\n {\r\n \"targets\": colNum-2,\r\n \"render\": function ( data, type, row ) {\r\n if(row.confirmed==null){\r\n return '';\r\n }else{\r\n return row.confirmed;\r\n }\r\n\r\n },\r\n },\r\n {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n row=null;\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 text: 'Szürők',\r\n action: function ( e, dt, node, config ) {\r\n APP.datatableCustomHeadButtonClickCallBack();\r\n },\r\n className: 'btn-advanceSearchParameter'\r\n }\r\n /**/\r\n ]\r\n },\r\n \"columns\": this.DtColumns,\r\n \"order\": orderDirective,\r\n \"stateSave\": false,\r\n \"drawCallback\": function( settings ) {\r\n settings=null;\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n\r\n this.initAdvancedSearch();\r\n debug('listview end');\r\n }\r\n }\r\n window.OrderArchiveModule=OrderArchiveModule;\r\n}\r\n","if(typeof window.PriceListModule ===\"undefined\") {\r\n class PriceListModule extends ModuleBase{\r\n\r\n datatableRowActionAttachment(rowData,node) {\r\n debug('call datatableRowActionAttachment');\r\n super.datatableRowActionAttachment(rowData,node,{defaultFileName:\"arlista.xls\"});\r\n }\r\n datatableRowActionView(rowData,node) {\r\n debug('call datatableRowActionView');\r\n }\r\n\r\n datatableRowActionButtonClick(event) {\r\n debug('datatableRowActionButtonClick');\r\n let rootObj=APP.PriceListModule;\r\n let node = $(event[0].currentTarget);\r\n let row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData = row.data();\r\n let actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\r\n if (typeof rootObj[actionName] === \"function\") {\r\n return rootObj[actionName](rowData, node)\r\n }\r\n }\r\n initViewList(options={}) {\r\n debug('listview inicialization');\r\n let dataTableCSSSelector=this.Opts.CSSSelectorContainer+' .dataTable'; //\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n })\r\n let orderDirective=this.Opts.dataTable.orderDirective;\r\n\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\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\": {\r\n url:this.Opts.URL.getDataTableContent,\r\n data:function (data) {\r\n /*\r\n data.searchStr=dataTableSearchStr;\r\n data.groupId=selectedProductGroup;\r\n data.supplierId=Order.supplierId;\r\n data.deliveryDate=Order.deliveryDate;\r\n */\r\n }\r\n },\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n if(row.fileUrl){\r\n let buttons=APP.datatableAddRowAttachmentButton(0,arguments);\r\n return buttons;\r\n }else{\r\n return '';\r\n }\r\n },\r\n },\r\n /* {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n row=null;\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 \"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 \"order\": orderDirective,\r\n //\"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n settings=null;\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n\r\n };\r\n window.PriceListModule=PriceListModule;\r\n};\r\n","if(typeof window.SupplierModule ===\"undefined\") {\r\n class SupplierModule extends ModuleBase{\r\n\r\n datatableRowActionAttachment(rowData,node) {\r\n debug('call datatableRowActionAttachment');\r\n super.datatableRowActionAttachment(rowData,node,{defaultFileName:\"arlista.xls\"});\r\n }\r\n datatableRowActionView(rowData,node) {\r\n debug('call datatableRowActionView');\r\n super.datatableRowActionView(rowData,node,APP.SupplierModule);\r\n }\r\n\r\n datatableRowActionButtonClick(event) {\r\n debug('datatableRowActionButtonClick');\r\n let rootObj=APP.SupplierModule;\r\n let node = $(event[0].currentTarget);\r\n let row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\r\n let rowData = row.data();\r\n let actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\r\n if (typeof rootObj[actionName] === \"function\") {\r\n return rootObj[actionName](rowData, node)\r\n }\r\n }\r\n initViewShow(){\r\n $('.productCategorySelect').select2(\r\n {\r\n disabled:true,\r\n }\r\n );\r\n $('.serviceSelect').select2(\r\n {\r\n disabled:true,\r\n }\r\n );\r\n\r\n APP.SupplierModule.renderContact();\r\n }\r\n initViewList(options={}) {\r\n debug('listview inicialization');\r\n let dataTableCSSSelector=this.Opts.CSSSelectorContainer+' .dataTable'; //\r\n let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need\r\n APP.setOpts({\r\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\r\n })\r\n let orderDirective=this.Opts.dataTable.orderDirective;\r\n\r\n if(typeof options['orderDirective']!='undefined'){\r\n orderDirective=options['orderDirective'];\r\n }\r\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\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 \"ajax\": {\r\n url:this.Opts.URL.getDataTableContent,\r\n data:function (data) {\r\n }\r\n },\r\n \"columnDefs\": [\r\n {\r\n \"targets\": colNum-1,\r\n \"render\": function ( data, type, row ) {\r\n let buttons=APP.datatableAddRowViewButton(0,arguments);\r\n return buttons;\r\n },\r\n },\r\n ],\r\n buttons:{\r\n buttons: [\r\n ]\r\n },\r\n \"columns\": [\r\n { \"data\": \"name\" },\r\n { \"data\": \"product_group\" },\r\n { \"data\": \"service\" },\r\n /*\r\n { \"data\": \"hooreycaId\" },\r\n { \"data\": \"nameId\" },\r\n { \"data\": \"created_at\" },\r\n */\r\n null,\r\n ],\r\n \"order\": orderDirective,\r\n //\"stateSave\": true,\r\n \"drawCallback\": function( settings ) {\r\n settings=null;\r\n APP.datatableAddRowAction(dataTableCSSSelector);\r\n }\r\n } );\r\n debug('listview end');\r\n }\r\n renderContact(){\r\n let rowNum=1;\r\n console.log('renderingContacts');\r\n $.each(APP.Supplier.getData('contact'),function (){\r\n let contactData=this;\r\n contactData.rowNum=rowNum;\r\n //console.log(contactData);\r\n let template=$('template[data-name=\"supplierContactTableRow\"]').html()\r\n let render=Mustache.render(template,contactData);\r\n $('.contactTable tbody').append(render);\r\n rowNum++;\r\n });\r\n }\r\n\r\n };\r\n window.SupplierModule=SupplierModule;\r\n};\r\n"],"names":["ModuleBase","_createClass","options","data","_classCallCheck","_defineProperty","testMode","CSSSelectorContainer","CSSSelectorForm","token","URL","getDataTableContent","checkReadyToSend","index","show","edit","create","store","update","destroy","dataTable","orderDirective","CSSSelector","advanceSearchParameter","this","Opts","constructor","name","root","$","extend","key","value","init","datatableRowActionButtonClick","event","rootObj","debug","node","currentTarget","rowData","DataTable","row","parents","actionName","capitalize","datatableRowActionAttachment","fileName","defaultFileName","fileUrl","ajax","url","method","xhrFields","responseType","success","a","document","createElement","window","createObjectURL","href","download","body","append","click","remove","revokeObjectURL","Toast","title","message","status","TOAST_STATUS","DANGER","timeout","datatableRowActionView","ajaxUrl","replace","id","console","log","APP","loadMainContent","initViewShow","OrderModulDefault","actionFunction","DataModelOrder","_this","_callSuper","productSelected","productComment","_inherits","DataModel","Stepper","complete","available","enable","load","excludeLoaded","loaded","active","UrlData","onAfterLoad","onAfterActivate","autoCallback","nowLoaded","construct","getOpts","setOpts","each","stepName","includes","setCompleted","setEnabled","loadStepContent","setActive","bindClickAction","stepClickButtons","off","on","stepClick","addClass","unsetCompleted","removeClass","arrayRemove","unsetEnabled","contents","unwrap","stepItem","html","addEnabled","push","addCompleted","async","type","cache","result","container","inArray","clearLoaded","classList","contains","setActiveFinish","hide","preventDefault","OrderModule","needStepper","defaultDeliveryDate","dataSyncPauseTime","getDataTableContentProductList","toggleFavorites","Order","viewInicialized","clickOrderEdit","afterOrderDeleted","clickOrderDeleteConfirmed","modal","ajaxData","_token","initViewOrderSelect","action","orderId","closest","find","text","initStepper","getData","setDeliveryDate","setSupplier","_step","stepActive","stepComplete","stepEnable","stepOnAfterActivate","avalaibleSteps","stepUrlData","stepAutoCallback","_iterator","_createForOfIteratorHelper","s","n","done","item","err","e","f","supplierId","_step2","_iterator2","initOrder","supplierName","setData","dateText","dateTextTo","dateTextHuman","replaceAll","length","val","setSupplierCompleted","initViewParameter","afterOrderSetSupplierOk","supplier","INFO","initViewSupplier","storeType","WARNING","checkContactNameField","sendOrderDataToServer","updateType","callback","errorCallback","_method","jsonToFormData","contentType","processData","error","xhr","ajaxOptions","thrownError","ajaxErrorHandler","responseJSON","afterOrderSetParameterOk","selectCurrentWeek","weekHover","weekHoverSlow","setTimeout","initDatePicker","startDate","Date","endDate","datepicker","showOtherMonths","selectOtherMonths","showWeek","dateFormat","firstDay","minDate","afterShow","inst","onSelect","date","getMonday","getFullYear","getMonth","getDate","getDay","formatDate","beforeShow","group","groupEnd","beforeShowDay","toLocaleDateString","cssClass","onChangeMonthYear","year","month","availableDates","nextDeliveryDate","hasDeliveryConstraint","holidays","workingDays","datepickerInput","calendarUrl","profitCenterId","orderDateTime","toISOString","map","h","description","w","datepickerOpts","dateStr","holidayEntry","workingDayEntry","isDelivery","cssClasses","tooltip","selectable","join","callChangeOrderType","select2","prop","setDate","submit","checkValidity","stopPropagation","contactName","note","orderType","deliveryDate","deliveryAddressId","deliveryAddress","customNotificationEmail","blank","setParameterCompleted","bindRowFavoritesAction","productId","button","response","bindRowDescriptionAction","comment","queueAjax","now","syncOrderDataToServer","productSelectDatatablesRowFormatter","d","templateData","_typeof","favorites","btnFavoritesClass","template","weekly","itemQuantity","oldTags","Mustache","tags","specificationClass","pictureImg","pictureClass","render","setDatatableHeaderText","getTreePathName","res","items","toArray","shift","reverse","children","selectedProductGroup","dataTableSearchStr","dataTableSearchKrel","searchProductByString","filterStr","reload","clickSearchProduct","clickFavoritesProduct","clickOftenProduct","clickSpecialOffer","clickLastProduct","clickWeeklyProduct","clickKrelProduct","parent","toggleClass","productSelectDataTableColumnDefs","productSelectDataTableColumn","columnData","actionColumn","defaultContent","getDatatables","language","searchStr","krel","groupId","buttons","productSelectDataTableDrawDT","filter","inputSpinner","buttonsWidth","groupClass","buttonsClass","bindWeakUserHelper","quantity","parseFloat","orderItemsChange","quantityCurrent","trigger","initViewProductSelect","functionName","which","table","getTime","tr","child","isShown","bindProductDetailsAction","bindOrderItemWeekQuantity","actualItem","focus","rowNode","prev","afterSyncOrderDataToServer","i","syncDoing","ItemData","dayIndex","isNaN","productSelectedItem","initViewInvoice","Object","keys","print","resetOrder","afterOrderSendOk","retHTML","afterOrderSendError","initViewSend","testModeSend","invoice","send","toggleEnableSend","readyToSend","DataModelOrderArchive","OrderArchiveModulDefault","_DataModelOrderArchive","OrderArchiveModule","_this2","deliveryDateFrom","deliveryDateTo","_superPropGet","datatableRowActionEdit","datatableCustomHeadButtonClickCallBack","info","initAdvancedSearch","datePickerTarget","maximumSelectionLength","advanceFiltered","k","v","dataTableCSSSelector","dataSearch","serializeArray","initViewList","arguments","undefined","IsUserAdmin","DtColumns","colNum","datatableRowActionButtonClickCallBack","datatableAddRowViewButton","datatableAddRowAttachmentButton","canEditable","datatableAddRowEditButton","confirmed","latinise","autoPrint","dt","config","className","drawCallback","settings","datatableAddRowAction","PriceListModule","SupplierModule","disabled","renderContact","rowNum","Supplier"],"sourceRoot":""} \ No newline at end of file diff --git a/public/mix-manifest.json b/public/mix-manifest.json index ada41ee..7b548c7 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -3,8 +3,8 @@ "/js/app.js.map": "/js/app.js.map?id=33d744311c4b662e0040524bcff09d31", "/js/admin.js": "/js/admin.js?id=e7eabc252df1afdcd697202faaf7f371", "/js/admin.js.map": "/js/admin.js.map?id=24864657c7a799f77019f6c1c04bbc79", - "/js/module.js": "/js/module.js?id=216a701b8787ea07f66b81683d15976f", - "/js/module.js.map": "/js/module.js.map?id=ce0b070e61879f5a38796d2d3dbd42c4", + "/js/module.js": "/js/module.js?id=a888d66c1487c4f9e56c8fa60de29ec6", + "/js/module.js.map": "/js/module.js.map?id=152ded9708cbf967ac8cda9613614a91", "/js/components.js": "/js/components.js?id=aac1b5221c918d1afb98a34e79620cde", "/js/components.js.map": "/js/components.js.map?id=03868ef122820440c621f29c51b3c467", "/css/app.css": "/css/app.css?id=5d0a6568441f28a5d832021a0501139b", diff --git a/resources/js/moduleJs/order.js b/resources/js/moduleJs/order.js index 03f9e9e..6455831 100644 --- a/resources/js/moduleJs/order.js +++ b/resources/js/moduleJs/order.js @@ -714,17 +714,105 @@ window.OrderModule = function () { }); } else { - $(CSSSelectorForm + ' .datePicker').datepicker({ + // Szállítási korlátozás adatok betöltése (csak ha hasDeliveryConstraint = true) + let availableDates = []; + let nextDeliveryDate = null; + let hasDeliveryConstraint = false; + let holidays = []; + let workingDays = []; + let datepickerInput = $(CSSSelectorForm + ' .datePicker'); + let calendarUrl = datepickerInput.data('delivery-calendar-url'); + let supplierId = datepickerInput.data('supplier-id'); + let profitCenterId = datepickerInput.data('profit-center-id'); + + if (calendarUrl && supplierId && profitCenterId) { + $.ajax({ + url: calendarUrl, + data: { + supplierId: supplierId, + profitCenterId: profitCenterId, + orderDateTime: new Date().toISOString(), + }, + async: false, + success: function (data) { + hasDeliveryConstraint = data.hasDeliveryConstraint || false; + // Ünnepnapok és áthelyezett munkanapok – mindig betöltjük + holidays = (data.holidays || []).map(function(h) { return { date: h.date, description: h.description }; }); + workingDays = (data.workingDays || []).map(function(w) { return { date: w.date, description: w.description }; }); + + if (hasDeliveryConstraint) { + availableDates = data.availableDates || []; + nextDeliveryDate = data.nextDeliveryDate || null; + } + // Ha nincs szállítási korlátozás, az availableDates és nextDeliveryDate + // üres marad – a datepicker az eredeti módon viselkedik + }, + }); + } + + if (hasDeliveryConstraint && nextDeliveryDate) { + // Következő szállítási nap beállítása alapértelmezettként + root.setDeliveryDate(nextDeliveryDate); + $(CSSSelectorForm + ' .selectedDateText').text(nextDeliveryDate); + $(CSSSelectorForm + ' input[name="deliveryDate"]').val(nextDeliveryDate); + $('.deliveryDatePlace').text(nextDeliveryDate.replaceAll('-', '.') + '.'); + } + + // Szín jelmagyarázat megjelenítése csak szállítási korlátozás esetén + if (hasDeliveryConstraint) { + $('#deliveryDateLegend').show(); + } + + let datepickerOpts = { dateFormat: 'yy-mm-dd', - minDate: new Date(), + minDate: (hasDeliveryConstraint && nextDeliveryDate) ? new Date(nextDeliveryDate) : new Date(), onSelect: function (dateText) { $(CSSSelectorForm + ' .selectedDateText').text(dateText); $('.deliveryDatePlace').text(dateText.replaceAll('-', '.') + '.'); $(CSSSelectorForm + ' input[name="deliveryDate"]').val(dateText); - }, - }); + }; + // beforeShowDay: mindig aktív ha van munkanaptár adat vagy hasDeliveryConstraint + datepickerOpts.beforeShowDay = function (date) { + let dateStr = $.datepicker.formatDate('yy-mm-dd', date); + + let holidayEntry = holidays.find(function(h) { return h.date === dateStr; }); + let workingDayEntry = workingDays.find(function(w) { return w.date === dateStr; }); + + let isDelivery = hasDeliveryConstraint && availableDates.includes(dateStr); + + let cssClasses = []; + let tooltip = ''; + let selectable = true; + + if (holidayEntry) { + cssClasses.push('work-calendar-holiday'); + tooltip = 'Ünnepnap' + (holidayEntry.description ? ': ' + holidayEntry.description : ''); + } else if (workingDayEntry) { + cssClasses.push('work-calendar-working-day'); + tooltip = 'Áthelyezett munkanap' + (workingDayEntry.description ? ': ' + workingDayEntry.description : ''); + } + + if (hasDeliveryConstraint) { + if (isDelivery) { + cssClasses.push('delivery-day-available'); + if (!tooltip) tooltip = 'Szállítási nap'; + } else { + cssClasses.push('delivery-day-unavailable'); + if (!tooltip) tooltip = 'Nem szállítási nap'; + selectable = false; + } + } + // Ha ünnepnap és hasDeliveryConstraint nincs bekapcsolva, az ünnepnap is letiltandó + if (holidayEntry && !hasDeliveryConstraint) { + selectable = false; + } + + return [selectable, cssClasses.join(' '), tooltip]; + }; + + $(CSSSelectorForm + ' .datePicker').datepicker(datepickerOpts); } } this.callChangeOrderType=function(){ diff --git a/resources/views/modules/order/parameter.blade.php b/resources/views/modules/order/parameter.blade.php index d14ee5c..ef19269 100644 --- a/resources/views/modules/order/parameter.blade.php +++ b/resources/views/modules/order/parameter.blade.php @@ -35,10 +35,32 @@
+ {{-- Szín jelmagyarázat – csak szállítási korlátozás esetén jelenik meg (JS tölti be) --}} +
{{----}} @@ -104,6 +126,77 @@ @endif