formwork/admin/assets/js/app.min.js

1 line
22 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var Formwork={init:function(){Formwork.Modals.init(),Formwork.Forms.init(),Formwork.Tooltips.init(),Formwork.Dashboard.init(),Formwork.Pages.init(),$(".toggle-navigation").click(function(){$(".sidebar").toggleClass("show")}),$("[data-chart-data]").each(function(){new Formwork.Chart(this,$(this).data("chart-data"))}),$("meta[name=notification]").each(function(){var t=$(this);new Formwork.Notification(t.attr("content"),t.data("type"),t.data("interval")),t.remove()})}};$(function(){Formwork.init()}),Formwork.Chart=function(t,e){var a=new Chartist.Line(t,e,{showArea:!0,fullWidth:!0,scaleMinSpace:20,divisor:5,chartPadding:20,lineSmooth:!1,low:0,axisX:{showGrid:!1,labelOffset:{x:0,y:10}},axisY:{onlyInteger:!0,offset:15,labelOffset:{x:0,y:5}}}),n=-1!==navigator.userAgent.indexOf("Firefox");$(a.container).on("mouseover",".ct-point",function(){var t=$(this),e={x:0,y:-8};if(n){var a=parseFloat(t.css("stroke-width"));e.x+=a/2,e.y+=a/2}new Formwork.Tooltip(t.attr("ct:value"),{referenceElement:t,offset:e}).show()})},Formwork.Dashboard={init:function(){$("#clear-cache").click(function(){new Formwork.Request({method:"POST",url:Formwork.Utils.uriPrependBase("/admin/cache/clear/",location.pathname),data:{"csrf-token":$("meta[name=csrf-token]").attr("content")}},function(t){Formwork.Notification(t.message,t.status,5e3)})})}},Formwork.Editor=function(t){var i=$("#"+t)[0],e=".editor-toolbar[data-for="+t+"]";function a(){return/\n+===\n+/.test(i.value)}function n(){$("[data-command=summary]",e).attr("disabled",a())}function o(){var t=i.selectionStart;return 0===t?void 0:i.value.substring(t-1,t)}function r(t,e){void 0===e&&(e=t);var a=i.selectionStart,n=i.selectionEnd,o=a===n?"":i.value.substring(a,n);i.value=i.value.substring(0,a)+t+o+e+i.value.substring(n,i.value.length),i.setSelectionRange(a+t.length,a+t.length+o.length),$(i).blur().focus()}$("[data-command=bold]",e).click(function(){r("**")}),$("[data-command=italic]",e).click(function(){r("_")}),$("[data-command=ul]",e).click(function(){var t=o();r(void 0===t?"- ":("\n"===t?"\n":"\n\n")+"- ","")}),$("[data-command=ol]",e).click(function(){var t=o(),e="\n"===t?"\n":"\n\n",a=/^\d+\./.exec(function(t){var e=t.lastIndexOf("\n");if(-1==e)return t;return t.substring(e+1)}(i.value));r(a?"\n"+(parseInt(a)+1)+". ":void 0===t?"1. ":e+"1. ","")}),$("[data-command=quote]",e).click(function(){var t=o();r(void 0===t?"> ":("\n"===t?"\n":"\n\n")+"> ","")}),$("[data-command=link]",e).click(function(){var t=i.selectionStart,e=i.selectionEnd,a=t===e?"":i.value.substring(t,e),n=i.value.substring(0,t),o=i.value.substring(e,i.value.length);/^(https?:\/\/|mailto:)/i.test(a)?(i.value=n+"[]("+a+")"+o,i.focus(),i.setSelectionRange(t+1,t+1)):""!==a?(i.value=n+"["+a+"](http://)"+o,i.focus(),i.setSelectionRange(t+a.length+10,t+a.length+10)):r("[","](http://)")}),$("[data-command=image]",e).click(function(){var t=o(),e="\n\n";"\n"===t?e="\n":void 0===t&&(e=""),r(e+"![](",")")}),$("[data-command=summary]",e).click(function(){var t=o();a()||(console.log(t),r((void 0===t||"\n"===t?"":"\n")+"\n===\n\n",""),$(this).attr("disabled",!0))}),$(i).keyup(Formwork.Utils.debounce(n,1e3)),n(),$(document).keydown(function(t){if(!t.altKey&&(t.ctrlKey||t.metaKey))switch(t.which){case 66:return $("[data-command=bold]").click(),!1;case 73:return $("[data-command=italic]").click(),!1;case 83:return $("[data-command=save]").click(),!1;case 89:case 90:return!1}})},Formwork.Form=function(t){var a=$(window),n=$(t);function o(){var t=n.find(":file");if(0<t.length)for(var e=0;e<t.length;e++)if(0<t[e].files.length)return!0;return n.serialize()!=n.data("original-data")}n.data("original-data",n.serialize()),a.on("beforeunload",function(){if(o())return!0}),n.submit(function(){a.off("beforeunload")}),$('a[href]:not([href^="#"]):not([target="_blank"])').click(function(t){if(o()){var e=this;t.preventDefault(),Formwork.Modals.show("changesModal",null,function(t){t.find(".button-continue").click(function(){a.off("beforeunload"),window.location.href=$(this).data("href")}).attr("data-href",e.href)})}})},Formwork.Forms={init:function(){$("[data-form]").each(function(){new Formwork.Form($(this))}),$("input[data-enable]").change(function(){var a=$(this).is(":checked");$.each($(this).data("enable").split(","),function(t,e){$('input[name="'+e+'"]').attr("disabled",!a)})}),$(".input-reset").click(function(){var t=$("#"+$(this).data("reset"));t.val(""),t.change()}),$("input:file").each(function(){var t=$(this),e=$('label[for="'+$(this).attr("id")+'"] span').html();t.data("originalLabel",e)}).on("change input",function(){var t=$(this),e=t.prop("files");e.length?$('label[for="'+t.attr("id")+'"] span').text(e[0].name):$('label[for="'+t.attr("id")+'"] span').html(t.data("originalLabel"))}),$("input:file[data-auto-upload]").change(function(){$(this).closest("form").submit()}),$(".file-input-label").on("drag dragstart dragend dragover dragenter dragleave drop",function(t){t.preventDefault()}).on("drop",function(t){var e=$("#"+$(this).attr("for"));e.prop("files",t.originalEvent.dataTransfer.files),e.change()}).on("dragover dragenter",function(){$(this).addClass("drag")}).on("dragleave drop",function(){$(this).removeClass("drag")}),$(".tag-input").tagInput(),$(".image-input").click(function(){var e=$(this),a=e.val();Formwork.Modals.show("imagesModal",null,function(t){t.find(".image-picker-confirm").data("target",e),t.find(".image-picker-thumbnail").each(function(){var t=$(this);if(t.data("text")==a)return t.addClass("selected"),!1})})}),$(".image-picker").each(function(){var t=$(this),e=t.children("option");if(0<e.length){for(var a=$("<div>",{class:"image-picker-thumbnails"}),n=0;n<e.length;n++)$("<div>",{class:"image-picker-thumbnail","data-value":e[n].value,"data-text":e[n].text}).css({"background-image":"url("+e[n].value+")"}).appendTo(a);t.before(a),$(".image-picker-empty-state").hide()}t.hide()}),$(".image-picker-confirm").click(function(){var t=$(this);t.data("target").val(t.parent().find(".image-picker-thumbnail.selected").data("text"))}),$(".image-picker-thumbnail").click(function(){var t=$(this);t.siblings().removeClass("selected"),t.addClass("selected"),t.parent().siblings(".image-input").val(t.data("value"))}),$(".image-picker-upload").click(function(){$("#"+$(this).data("upload-target")).click()}),$(".editor-textarea").each(function(){new Formwork.Editor($(this).attr("id"))})}},Formwork.Modals={init:function(){$("[data-modal]").click(function(){var t=$(this),e=t.data("modal"),a=t.data("modal-action");a?Formwork.Modals.show(e,a):Formwork.Modals.show(e)}),$(".modal [data-dismiss]").click(function(){if($(this).is("[data-validate]")&&!Formwork.Modals.validate($(this).data("dismiss")))return;Formwork.Modals.hide($(this).data("dismiss"))}),$(".modal").click(function(t){t.target===this&&Formwork.Modals.hide()}),$(document).keyup(function(t){27==t.which&&Formwork.Modals.hide()})},show:function(t,e,a){var n=$("#"+t);n.addClass("show"),null!==e&&n.find("form").attr("action",e),n.find("[autofocus]").first().focus(),"function"==typeof a&&a(n),this.createBackdrop()},hide:function(t){(void 0===t?$(".modal"):$("#"+t)).removeClass("show"),this.removeBackdrop()},createBackdrop:function(){$(".modal-backdrop").length||$("<div>",{class:"modal-backdrop"}).appendTo("body")},removeBackdrop:function(){$(".modal-backdrop").remove()},validate:function(t){var e=!1,a=$("#"+t);return a.find("[required]").each(function(){if(""===$(this).val())return $(this).addClass("animated shake"),$(this).focus(),a.find(".modal-error").show(),e=!1;e=!0}),e}},Formwork.Notification=function(t,e,a){var n=$("<div>",{class:"notification"}).text(t);if(0<$(".notification").length){var o=$(".notification:last"),i=o.offset().top+o.outerHeight(!0);n.css("top",i)}e&&n.addClass("notification-"+e),n.appendTo("body");var r=setTimeout(s,a);function s(){var e=!1,a=n.outerHeight(!0);$(".notification").each(function(){var t=$(this);t.is(n)?(e=!0,t.addClass("fadeout")):e&&t.css("top","-="+a)}),setTimeout(function(){n.remove()},400)}n.click(s),n.mouseenter(function(){clearTimeout(r)}),n.mouseleave(function(){r=setTimeout(s,1e3)})},Formwork.Pages={init:function(){$(".page-children-toggle").click(function(t){t.stopPropagation(),$(this).closest("li").children(".pages-list").toggle(),$(this).toggleClass("toggle-expanded toggle-collapsed")}),$(".page-details a").click(function(t){t.stopPropagation()}),$("#expand-all-pages").click(function(){$(this).blur(),$(".pages-children").show(),$(".pages-list").find(".page-children-toggle").removeClass("toggle-collapsed").addClass("toggle-expanded")}),$("#collapse-all-pages").click(function(){$(this).blur(),$(".pages-children").hide(),$(".pages-list").find(".page-children-toggle").removeClass("toggle-expanded").addClass("toggle-collapsed")}),$(".page-search").focus(function(){$(".pages-children").each(function(){var t=$(this);t.data("visible",t.is(":visible"))})}),$(".page-search").keyup(Formwork.Utils.debounce(function(){var t=$(this).val();if(0===t.length)$(".pages-children").each(function(){$(this).toggle($(this).data("visible"))}),$(".page-details").css("padding-left",""),$(".pages-item, .page-children-toggle").show();else{var a=new RegExp(Formwork.Utils.escapeRegExp(t),"i");$(".pages-children").show(),$(".page-children-toggle").hide(),$(".page-details").css("padding-left","0"),$(".page-title a").each(function(){var t=$(this).closest(".pages-item"),e=!!$(this).text().match(a);e&&0,t.toggle(e)})}},100)),$(".page-details").click(function(){var t=$(this).find(".page-children-toggle").first();t.length&&t.click()}),$("#page-title","#newPageModal").keyup(function(){$("#page-slug","#newPageModal").val(Formwork.Utils.slug($(this).val()))}),$("#page-slug","#newPageModal").keyup(function(){$(this).val($(this).val().replace(" ","-").replace(/[^A-Za-z0-9\-]/g,""))}).blur(function(){""===$(this).val()&&$("#page-title","#newPageModal").trigger("keyup")}),$("#page-parent","#newPageModal").change(function(){var t=$(this).find("option:selected"),e=$("#page-template","#newPageModal"),a=t.data("allowed-templates");a?(a=a.split(", "),e.data("previous-value",e.val()).val(a[0]).find("option").each(function(){-1==a.indexOf($(this).val())&&$(this).attr("disabled",!0)})):e.find("option[disabled]").length&&e.val(e.data("previous-value")).removeData("previous-value").find("option").removeAttr("disabled")}),$(".pages-list").each(function(){var t=$(this);if(!1!==t.data("sortable-children")){var a=Sortable.create(this,{filter:"[data-sortable=false]",forceFallback:!0,onStart:function(t){$(t.item).closest(".pages-list").addClass("dragging"),$(".pages-children",t.item).hide(),$(".page-children-toggle").removeClass("toggle-expanded").addClass("toggle-collapsed").css("opacity","0.5")},onMove:function(t){if(!1===$(t.related).data("sortable"))return!1;$(".pages-children",t.related).hide()},onEnd:function(e){if($(e.item).closest(".pages-list").removeClass("dragging"),$(".page-children-toggle").css("opacity",""),e.newIndex!=e.oldIndex){a.option("disabled",!0);var t={"csrf-token":$("meta[name=csrf-token]").attr("content"),parent:$(this.el).data("parent"),from:e.oldIndex,to:e.newIndex};new Formwork.Request({method:"POST",url:Formwork.Utils.uriPrependBase("/admin/pages/reorder/",location.pathname),data:t},function(t){t.status&&Formwork.Notification(t.message,t.status,5e3),t.status&&"error"!=t.status||a.sort($(e.from).data("originalOrder")),a.option("disabled",!1),$(e.from).data("originalOrder",a.toArray())})}}});t.data("originalOrder",a.toArray())}}),$(document).keydown(function(t){if((t.ctrlKey||t.metaKey)&&70==t.which&&$(".page-search:not(:focus)").length)return $(".page-search").focus(),!1})}},Formwork.Request=function(t,e){var a=$.ajax(t);return"function"==typeof e&&a.always(function(){var t=a.responseJSON||{};403==(t.code||a.status)?location.reload():e(t,a)}),a},Formwork.Tooltip=function(t,s){var e,a,n={container:document.body,referenceElement:document.body,position:"top",offset:{x:0,y:0},delay:500},l=$(s.referenceElement);function o(){clearTimeout(a),void 0!==e&&e.fadeOut(100,function(){e.remove()})}return s=$.extend({},n,s),l.on("mouseout",o),{show:function(){a=setTimeout(function(){(e=$('<div class="tooltip" role="tooltip">').appendTo(s.container)).text(t).css(function(t){var e=l.offset();if(0===e.top&&0===e.left){var a=l[0].getBoundingClientRect();e.top=a.top+window.pageYOffset,e.left=a.left+window.pageXOffset}var n=e.top,o=e.left,i=(l.outerWidth()-t.outerWidth())/2,r=(l.outerHeight()-t.outerHeight())/2;switch(s.position){case"top":return{top:Math.round(n-t.outerHeight()+s.offset.y),left:Math.round(o+i+s.offset.x)};case"right":return{top:Math.round(n+r+s.offset.y),left:Math.round(o+l.outerWidth()+s.offset.x)};case"bottom":return{top:Math.round(n+l.outerHeight()+s.offset.y),left:Math.round(o+i+s.offset.x)};case"left":return{top:Math.round(n+r+s.offset.y),left:Math.round(o-t.outerWidth()+s.offset.x)}}}(e)).fadeIn(200)},s.delay)},remove:o}},Formwork.Tooltips={init:function(){$("[title]").each(function(){var t=$(this);t.attr("data-tooltip",t.attr("title")).removeAttr("title")}),$("[data-tooltip]").mouseover(function(){var t=$(this);new Formwork.Tooltip(t.data("tooltip"),{referenceElement:t,position:"bottom",offset:{x:0,y:4}}).show()}),$('[data-overflow-tooltip="true"]').mouseover(function(){var t=$(this);t.prop("offsetWidth")<t.prop("scrollWidth")&&new Formwork.Tooltip(t.text().trim(),{referenceElement:t,position:"bottom",offset:{x:0,y:4}}).show()})}},Formwork.Utils={debounce:function(t,e,a){var n,o,i=null;return function(){n=this,o=arguments,i&&clearTimeout(i),a&&!i&&t.apply(n,o),i=setTimeout(function(){a||t.apply(n,o),i=null},e)}},escapeRegExp:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},slug:function(t){var e,a={"\t":"","\r":"","!":"",'"':"","#":"",$:"","%":"","'":"","(":"",")":"","*":"","+":"",",":"",".":"",":":"",";":"","<":"","=":"",">":"","?":"","@":"","[":"","]":"","^":"","`":"","{":"","|":"","}":"","¡":"","£":"","¤":"","¥":"","¦":"","§":"","«":"","°":"","»":"","":"","":"","“":"","”":"","\n":"-"," ":"-","-":"-","":"-","—":"-","/":"-","\\":"-",_:"-","~":"-","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"Ae","Ç":"C","Ð":"D","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Œ":"Oe","Š":"S","Þ":"Th","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","à":"a","á":"a","â":"a","ã":"a","ä":"ae","å":"a","æ":"ae","¢":"c","ç":"c","ð":"d","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"oe","ø":"o","œ":"oe","š":"s","ß":"ss","þ":"th","ù":"u","ú":"u","û":"u","ü":"ue","ý":"y","ÿ":"y","Ÿ":"y"};for(e in t=t.toLowerCase(),a)a.hasOwnProperty(e)&&(t=t.split(e).join(a[e]));return t.replace(/[^a-z0-9-]/g,"").replace(/^-+|-+$/g,"").replace(/-+/g,"-")},throttle:function(e,a){var n,o,i=null;return function t(){n=this,o=arguments,i||(e.apply(n,o),i=setTimeout(function(){t.apply(n,o),i=null},a))}},uriPrependBase:function(t,e){var a=/^\/+|\/+$/im;t=t.replace(a,"").split("/"),e=e.replace(a,"").split("/");for(var n=0;n<e.length;n++)e[n]===t[0]&&e[n+1]!==t[0]&&(e=e.slice(0,n));return"/"+e.concat(t).join("/")+"/"}},function(f){f.fn.datePicker=function(u){var o,i,t=new Date,r={year:t.getFullYear(),month:t.getMonth(),day:t.getDate(),setDate:function(t){this.year=t.getFullYear(),this.month=t.getMonth(),this.day=t.getDate()},lastDay:function(){this.day=h.daysInMonth(this.month,this.year)},prevYear:function(){this.year--},nextYear:function(){this.year++},prevMonth:function(){this.month=h.mod(this.month-1,12),11==this.month&&this.prevYear(),this.day>h.daysInMonth(this.month,this.year)&&this.lastDay()},nextMonth:function(){this.month=h.mod(this.month+1,12),0===this.month&&this.nextYear(),this.day>h.daysInMonth(this.month,this.year)&&this.lastDay()},prevWeek:function(){this.day-=7,this.day<1&&(this.prevMonth(),this.day+=h.daysInMonth(this.month,this.year))},nextWeek:function(){this.day+=7,this.day>h.daysInMonth(this.month,this.year)&&(this.day-=h.daysInMonth(this.month,this.year),this.nextMonth())},prevDay:function(){this.day--,this.day<1&&(this.prevMonth(),this.lastDay())},nextDay:function(){this.day++,this.day>h.daysInMonth(this.month,this.year)&&(this.nextMonth(),this.day=1)}},h={_daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],mod:function(t,e){return(t%e+e)%e},pad:function(t){return 1==t.toString().length?"0"+t:t},isValidDate:function(t){return t&&!isNaN(Date.parse(t))},isLeapYear:function(t){return t%4==0&&t%100!=0||t%400==0},daysInMonth:function(t,e){return 1==t&&this.isLeapYear(e)?29:this._daysInMonth[t]},formatDateTime:function(t){var e=u.format,a=t.getFullYear(),n=t.getMonth()+1,o=t.getDate(),i=t.getHours(),r=t.getMinutes(),s=t.getSeconds(),l=i<12;return-1<e.indexOf("a")&&(i=0<h.mod(i,12)?h.mod(i,12):12),e.replace("YYYY",a).replace("YY",a.toString().substr(-2)).replace("MM",h.pad(n)).replace("DD",h.pad(o)).replace("hh",h.pad(i)).replace("mm",h.pad(r)).replace("ss",h.pad(s)).replace("a",l?"AM":"PM")}};function s(){var t=new Date(r.year,r.month,r.day);e(r.year,r.month,r.day),o.val(h.formatDateTime(t)),o.data("date",t)}function e(t,e,a){var n=1,o=new Date(t,e,1).getDay(),i=h.daysInMonth(e,t),r=u.monthLabels[e],s=h.mod(o-u.weekStarts,7),l='<table class="calendar-table">';l+='<tr><th class="calendar-header" colspan="7">',l+=r+"&nbsp;"+t,l+="</th></tr>",l+="<tr>";for(var c=0;c<7;c++)l+='<td class="calendar-header-day">',l+=u.dayLabels[h.mod(c+u.weekStarts,7)],l+="</td>";for(l+="</tr><tr>",c=0;c<6;c++){for(var d=0;d<7;d++)n<=i&&(0<c||s<=d)?(l+=n==a?'<td class="calendar-day selected">':'<td class="calendar-day">',l+=n++):1==n?(l+='<td class="calendar-prev-month-day">',l+=h.daysInMonth(h.mod(e-1,12),t)-s+d+1):(l+='<td class="calendar-next-month-day">',l+=n++-i),l+="</td>";l+="</tr><tr>"}l+="</tr></table>",f(".calendar-table").replaceWith(l)}function a(){o&&i.is(":visible")&&(i.css({top:o.offset().top+o.outerHeight(),left:o.offset().left}),i.offset().left+i.outerWidth(!0)>f(window).width()&&i.css("left",f(window).width()-i.outerWidth(!0)),f(window).scrollTop()+f(window).height()<i.position().top+i.outerHeight(!0)&&f(window).scrollTop(i.position().top+i.outerHeight(!0)-f(window).height()))}u=f.extend({},f.fn.datePicker.defaults,u),this.each(function(){var n=f(this),t=n.val();n.prop("readonly",!0),n.prop("size",u.format.length),h.isValidDate(t)&&(t=new Date(t),n.data("date",t),n.val(h.formatDateTime(t))),n.change(function(){""===f(this).val()?f(this).data("date",""):n.val(h.formatDateTime(n.data("date")))}),n.keydown(function(t){var e=f(this).data("date");switch(r.setDate(h.isValidDate(e)?e:new Date),t.which){case 13:return f(".calendar-day.selected").click(),i.hide(),!1;case 8:return n.val(""),o.blur(),i.hide(),!1;case 27:return o.blur(),i.hide(),!1;case 37:t.ctrlKey||t.metaKey?t.shiftKey?r.prevYear():r.prevMonth():r.prevDay();break;case 38:r.prevWeek();break;case 39:t.ctrlKey||t.metaKey?t.shiftKey?r.nextYear():r.nextMonth():r.nextDay();break;case 40:r.nextWeek();break;case 48:if(t.ctrlKey||t.metaKey){var a=new Date;r.setDate(a)}break;default:return!0}return s(),!1})}),i=f('<div class="calendar"><div class="calendar-buttons"><button class="prevMonth"><i class="i-chevron-left"></i></button><button class="currentMonth">'+u.todayLabel+'</button><button class="nextMonth"><i class="i-chevron-right"></i></button></div><div class="calendar-separator"></div><table class="calendar-table"></table>').appendTo("body"),f(".currentMonth").click(function(){var t=new Date;r.setDate(t),s(),o.blur()}),f(".prevMonth").longclick(function(){r.prevMonth(),e(r.year,r.month)},750,500),f(".nextMonth").longclick(function(){r.nextMonth(),e(r.year,r.month)},750,500),f(".prevMonth, .currentMonth, .nextMonth").mousedown(function(){return!1}),i.on("mousedown",".calendar-day",!1),i.on("click",".calendar-day",function(){var t=new Date(r.year,r.month,parseInt(f(this).text()));o.data("date",t),o.val(h.formatDateTime(t)),o.blur()}),f(".date-input").blur(function(){i.hide()}),f(".date-input").focus(function(){o=f(this);var t=h.isValidDate(o.data("date"))?new Date(o.data("date")):new Date;r.setDate(t),e(r.year,r.month,r.day),i.show(),a()}),f(window).on("touchstart",function(){var t=f(event.target);t.is(".date-input")||t.parents(".calendar, .date-input").length||o.blur()}),f(window).on("resize",Formwork.Utils.throttle(a,100))},f.fn.datePicker.defaults={dayLabels:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],monthLabels:["January","February","March","April","May","June","July","August","September","October","November","December"],weekStarts:0,todayLabel:"Today",format:"YYYY-MM-DD"}}(jQuery),function(t){t.fn.longclick=function(e,a,n){var o;function i(){clearTimeout(o)}t(window).mouseup(i),t(this).mousedown(function(t){1!=t.which?i():(e(),o=window.setTimeout(function(){o=window.setInterval(e,n||250)},a||500))}).mouseout(i)}}(jQuery),function(s){s.fn.tagInput=function(){function o(t){var e=t.parent();e.find(".tag-hidden-input").val(e.data("tags").join(", "))}function i(t,e){t.before('\n<span class="tag">'+e+'<i class="tag-remove"></i></span>')}function n(t,e){-1==t.parent().data("tags").indexOf(e)&&(t.parent().data("tags").push(e),i(t,e),o(t)),t.val("")}function r(t,e){var a=t.parent().data("tags"),n=a.indexOf(e);-1<n&&(a.splice(n,1),t.parent().data("tags",a),o(t))}this.each(function(){var t=s(this).find(".tag-hidden-input"),a=s(this).find(".tag-inner-input"),n=[];t.val()&&(n=t.val().split(", "),s.each(n,function(t,e){e=e.trim(),n[t]=e,i(a,e)})),s(this).data("tags",n),s(this).on("mousedown",".tag-remove",!1),s(this).on("click",".tag-remove",function(){var t=s(this).parent();return r(a,t.text()),t.remove(),!1})}),this.mousedown(function(){return s(this).find(".tag-inner-input").focus(),!1}),this.find(".tag-inner-input").focus(function(){s(this).parent().addClass("focused")}).blur(function(){var t=s(this).val().trim();""!==t&&(n(s(this),t),s(this).prop("size",1)),s(this).parent().removeClass("focused")}).keydown(function(t){var e=s(this),a=e.val().trim();switch(t.which){case 8:return""===a?(r(e,e.prev().text()),e.prev().remove(),e.prop("size",1),!1):(e.prop("size",Math.max(e.val().length,1)),!0);case 13:case 188:return""!==a&&n(e,a),e.prop("size",1),!1;default:if(""!==a&&-1<[32].indexOf(t.which))return n(e,a),e.prop("size",1),!1;e.prop("size",e.val().length+2)}})}}(jQuery);