You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
easyappointments-archive/assets/js/working_plan_exceptions_mod...

1 line
6.9 KiB

$(function(){"use strict";var n=$("#working-plan-exceptions-modal"),i=$("#working-plan-exceptions-date"),r=$("#working-plan-exceptions-start"),s=$("#working-plan-exceptions-end"),o=$("#working-plan-exceptions-breaks"),e=$("#working-plan-exceptions-save"),d=null,a=!1,t=!1;function l(){i.val(""),r.val(""),s.val(""),o.find("tbody").empty(),$(".working-plan-exceptions-add-break").prop("disabled",!1)}function c(e){e.editable(function(e){return e},{event:"edit",height:"30px",submit:$("<button/>",{type:"button",class:"d-none submit-editable",text:EALang.save}).get(0).outerHTML,cancel:$("<button/>",{type:"button",class:"d-none cancel-editable",text:EALang.cancel}).get(0).outerHTML,onblur:"ignore",onreset:function(){if(!t)return!1},onsubmit:function(){if(!a)return!1}})}function p(e){var t="regular"===GlobalVariables.timeFormat?"h:mm tt":"HH:mm";return $("<tr/>",{html:[$("<td/>",{class:"working-plan-exceptions-break-start editable",text:Date.parse(e.start).toString(t)}),$("<td/>",{class:"working-plan-exceptions-break-end editable",text:Date.parse(e.end).toString(t)}),$("<td/>",{html:[$("<button/>",{type:"button",class:"btn btn-outline-secondary btn-sm mr-2 working-plan-exceptions-edit-break",title:EALang.edit,html:[$("<span/>",{class:"fas fa-edit"})]}),$("<button/>",{type:"button",class:"btn btn-outline-secondary btn-sm working-plan-exceptions-delete-break",title:EALang.delete,html:[$("<span/>",{class:"fas fa-trash-alt"})]}),$("<button/>",{type:"button",class:"btn btn-outline-secondary btn-sm mr-2 working-plan-exceptions-save-break d-none",title:EALang.save,html:[$("<span/>",{class:"fas fa-check-circle"})]}),$("<button/>",{type:"button",class:"btn btn-outline-secondary btn-sm working-plan-exceptions-cancel-break d-none",title:EALang.cancel,html:[$("<span/>",{class:"fas fa-ban"})]})]})]})}function b(e){e.timepicker({timeFormat:"regular"===GlobalVariables.timeFormat?"h:mm TT":"HH:mm",currentText:EALang.now,closeText:EALang.close,timeOnlyTitle:EALang.select_time,timeText:EALang.time,hourText:EALang.hour,minuteText:EALang.minutes})}!function(e){var t;switch(GlobalVariables.dateFormat){case"DMY":t="dd/mm/yy";break;case"MDY":t="mm/dd/yy";break;case"YMD":t="yy/mm/dd";break;default:throw new Error("Invalid date format setting provided: "+GlobalVariables.dateFormat)}e.datepicker({dateFormat:t,firstDay:GeneralFunctions.getWeekDayId(GlobalVariables.firstWeekday),minDate:0,defaultDate:Date.today(),dayNames:[EALang.sunday,EALang.monday,EALang.tuesday,EALang.wednesday,EALang.thursday,EALang.friday,EALang.saturday],dayNamesShort:[EALang.sunday.substr(0,3),EALang.monday.substr(0,3),EALang.tuesday.substr(0,3),EALang.wednesday.substr(0,3),EALang.thursday.substr(0,3),EALang.friday.substr(0,3),EALang.saturday.substr(0,3)],dayNamesMin:[EALang.sunday.substr(0,2),EALang.monday.substr(0,2),EALang.tuesday.substr(0,2),EALang.wednesday.substr(0,2),EALang.thursday.substr(0,2),EALang.friday.substr(0,2),EALang.saturday.substr(0,2)],monthNames:[EALang.january,EALang.february,EALang.march,EALang.april,EALang.may,EALang.june,EALang.july,EALang.august,EALang.september,EALang.october,EALang.november,EALang.december],prevText:EALang.previous,nextText:EALang.next,currentText:EALang.now,closeText:EALang.close})}(i),b(r),b(s),n.on("hidden.bs.modal",function(){l()}).on("click",".working-plan-exceptions-add-break",function(){var e=p({start:"12:00",end:"14:00"}).appendTo("#working-plan-exceptions-breaks tbody");c(e.find(".working-plan-exceptions-break-start, .working-plan-exceptions-break-end")),e.find(".working-plan-exceptions-edit-break").trigger("click"),$(".working-plan-exceptions-add-break").prop("disabled",!0)}).on("click",".working-plan-exceptions-edit-break",function(){$(this).closest("table").find(".editable").each(function(e,t){t.reset&&t.reset()});var e=$(this).closest("tr");e.children().trigger("edit"),b(e.find(".working-plan-exceptions-break-start input, .working-plan-exceptions-break-end input")),$(this).closest("tr").find(".working-plan-exceptions-break-start").focus(),(e=$(this).closest("tr")).find(".working-plan-exceptions-edit-break, .working-plan-exceptions-delete-break").addClass("d-none"),e.find(".working-plan-exceptions-save-break, .working-plan-exceptions-cancel-break").removeClass("d-none"),e.find("select,input:text").addClass("form-control input-sm"),$(".working-plan-exceptions-add-break").prop("disabled",!0)}).on("click",".working-plan-exceptions-delete-break",function(){$(this).closest("tr").remove()}).on("click",".working-plan-exceptions-save-break",function(){var e=$(this).closest("tr"),t=Date.parse(e.find(".working-plan-exceptions-break-start input").val());Date.parse(e.find(".working-plan-exceptions-break-end input").val())<t&&e.find(".working-plan-exceptions-break-end input").val(t.addHours(1).toString("regular"===GlobalVariables.timeFormat?"h:mm tt":"HH:mm")),a=!0,e.find(".editable .submit-editable").trigger("click"),a=!1,e.find(".working-plan-exceptions-save-break, .working-plan-exceptions-cancel-break").addClass("d-none"),e.closest("table").find(".working-plan-exceptions-edit-break, .working-plan-exceptions-delete-break").removeClass("d-none"),$(".working-plan-exceptions-add-break").prop("disabled",!1)}).on("click",".working-plan-exceptions-cancel-break",function(){var e=$(this).closest("tr");t=!0,e.find(".cancel-editable").trigger("click"),t=!1,o.find(".working-plan-exceptions-edit-break, .working-plan-exceptions-delete-break").removeClass("d-none"),e.find(".working-plan-exceptions-save-break, .working-plan-exceptions-cancel-break").addClass("d-none"),$(".working-plan-exceptions-add-break").prop("disabled",!1)}),e.on("click",function(){var e,t,a;d&&(n.find(".is-invalid").removeClass("is-invalid"),i.datepicker("getDate")||i.addClass("is-invalid"),r.timepicker("getDate")||r.addClass("is-invalid"),s.timepicker("getDate")||s.addClass("is-invalid"),n.find(".is-invalid").length||(e=i.datepicker("getDate").toString("yyyy-MM-dd"),t={start:r.datetimepicker("getDate").toString("HH:mm"),end:s.datetimepicker("getDate").toString("HH:mm"),breaks:(a=[],o.find("tbody tr").each(function(e,t){var n=$(t);if(n.find("input:text").length)return!0;t=n.find(".working-plan-exceptions-break-start").text(),n=n.find(".working-plan-exceptions-break-end").text();a.push({start:Date.parse(t).toString("HH:mm"),end:Date.parse(n).toString("HH:mm")})}),a.sort(function(e,t){return e.start.localeCompare(t.start)}),a)},d.resolve(e,t),n.modal("hide"),l()))}),window.WorkingPlanExceptionsModal={add:function(){return d=jQuery.Deferred(),i.datepicker("setDate",new Date),r.timepicker("setDate",moment("08:00","HH:mm").toDate()),s.timepicker("setDate",moment("20:00","HH:mm").toDate()),n.modal("show"),d.promise()},edit:function(e,t){return d=jQuery.Deferred(),i.datepicker("setDate",moment(e,"YYYY-MM-DD").toDate()),r.timepicker("setDate",moment(t.start,"HH:mm").toDate()),s.timepicker("setDate",moment(t.end,"HH:mm").toDate()),t.breaks.forEach(function(e){p(e).appendTo(o.find("tbody"))}),c(o.find("tbody .working-plan-exceptions-break-start, tbody .working-plan-exceptions-break-end")),n.modal("show"),d.promise()}}});