2025-03-09 12:19:33 +01:00

5 lines
47 KiB
JavaScript

/*! X-editable - v1.5.2
* A maintained fork of x-editable for Bootstrap 5 support.
* https://git.24unix.net/tracer/x-editable
* Copyright (c) 2025 Micha Espey; Licensed MIT */
(o=>{function s(t,e){this.options=o.extend({},o.fn.editableform.defaults,e),this.$div=o(t),this.options.scope||(this.options.scope=this)}s.prototype={constructor:s,initInput:function(){this.input=this.options.input,this.value=this.input.str2value(this.options.value),this.input.prerender()},initTemplate:function(){this.$form=o(o.fn.editableform.template)},initButtons:function(){var t=this.$form.find(".editable-buttons");t.append(o.fn.editableform.buttons),"bottom"===this.options.showbuttons&&t.addClass("editable-buttons-bottom")},render:function(){this.$loading=o(o.fn.editableform.loading),this.$div.empty().append(this.$loading),this.initTemplate(),this.options.showbuttons?this.initButtons():this.$form.find(".editable-buttons").remove(),this.showLoading(),this.isSaving=!1,this.$div.triggerHandler("rendering"),this.initInput(),this.$form.find("div.editable-input").append(this.input.$tpl),this.$div.append(this.$form),o.when(this.input.render()).then(o.proxy(function(){var t;this.options.showbuttons||this.input.autosubmit(),this.$form.find(".editable-cancel").click(o.proxy(this.cancel,this)),this.input.error?(this.error(this.input.error),this.$form.find(".editable-submit").attr("disabled",!0),this.input.$input.attr("disabled",!0),this.$form.submit(function(t){t.preventDefault()})):(this.error(!1),this.input.$input.removeAttr("disabled"),this.$form.find(".editable-submit").removeAttr("disabled"),t=null==this.value||""===this.value?this.options.defaultValue:this.value,this.input.value2input(t),this.$form.submit(o.proxy(this.submit,this))),this.$div.triggerHandler("rendered"),this.showForm(),this.input.postrender&&this.input.postrender()},this))},cancel:function(){this.$div.triggerHandler("cancel")},showLoading:function(){var t,e;this.$form?(t=this.$form.outerWidth(),e=this.$form.outerHeight(),t&&this.$loading.width(t),e&&this.$loading.height(e),this.$form.hide()):(t=this.$loading.parent().width())&&this.$loading.width(t),this.$loading.show()},showForm:function(t){this.$loading.hide(),this.$form.show(),!1!==t&&this.input.activate(),this.$div.triggerHandler("show")},error:function(t){var e=this.$form.find(".control-group"),i=this.$form.find(".editable-error-block");if(!1===t)e.removeClass(o.fn.editableform.errorGroupClass),i.removeClass(o.fn.editableform.errorBlockClass).empty().hide();else{if(t){for(var n=(""+t).split("\n"),s=0;s<n.length;s++)n[s]=o("<div>").text(n[s]).html();t=n.join("<br>")}e.addClass(o.fn.editableform.errorGroupClass),i.addClass(o.fn.editableform.errorBlockClass).html(t).show()}},submit:function(t){t.stopPropagation(),t.preventDefault();var i,n=this.input.input2value(),t=this.validate(n);if("object"===o.type(t)&&void 0!==t.newValue){if(n=t.newValue,this.input.value2input(n),"string"==typeof t.msg)return this.error(t.msg),void this.showForm()}else if(t)return this.error(t),void this.showForm();this.options.savenochange||this.input.value2str(n)!=this.input.value2str(this.value)?(i=this.input.value2submit(n),this.isSaving=!0,o.when(this.save(i)).done(o.proxy(function(t){this.isSaving=!1;var e="function"==typeof this.options.success?this.options.success.call(this.options.scope,t,n):null;!1===e?(this.error(!1),this.showForm(!1)):"string"==typeof e?(this.error(e),this.showForm()):(e&&"object"==typeof e&&e.hasOwnProperty("newValue")&&(n=e.newValue),this.error(!1),this.value=n,this.$div.triggerHandler("save",{newValue:n,submitValue:i,response:t}))},this)).fail(o.proxy(function(t){this.isSaving=!1,t="function"==typeof this.options.error?this.options.error.call(this.options.scope,t,n):"string"==typeof t?t:t.responseText||t.statusText||"Unknown error!",this.error(t),this.showForm()},this))):this.$div.triggerHandler("nochange")},save:function(t){this.options.pk=o.fn.editableutils.tryParseJson(this.options.pk,!0);var e="function"==typeof this.options.pk?this.options.pk.call(this.options.scope):this.options.pk;if(!!("function"==typeof this.options.url||this.options.url&&("always"===this.options.send||"auto"===this.options.send&&null!=e)))return this.showLoading(),t={name:this.options.name||"",value:t,pk:e},"function"==typeof this.options.params?t=this.options.params.call(this.options.scope,t):(this.options.params=o.fn.editableutils.tryParseJson(this.options.params,!0),o.extend(t,this.options.params)),"function"==typeof this.options.url?this.options.url.call(this.options.scope,t):o.ajax(o.extend({url:this.options.url,data:t,type:"POST"},this.options.ajaxOptions))},validate:function(t){if(void 0===t&&(t=this.value),"function"==typeof this.options.validate)return this.options.validate.call(this.options.scope,t)},option:function(t,e){t in this.options&&(this.options[t]=e),"value"===t&&this.setValue(e)},setValue:function(t,e){this.value=e?this.input.str2value(t):t,this.$form&&this.$form.is(":visible")&&this.input.value2input(this.value)}},o.fn.editableform=function(i){var n=arguments;return this.each(function(){var t=o(this),e=t.data("editableform");e||t.data("editableform",e=new s(this,"object"==typeof i&&i)),"string"==typeof i&&e[i].apply(e,Array.prototype.slice.call(n,1))})},o.fn.editableform.Constructor=s,o.fn.editableform.defaults={type:"text",url:null,params:null,name:null,pk:null,value:null,defaultValue:null,send:"auto",validate:null,success:null,error:null,ajaxOptions:null,showbuttons:!0,scope:null,savenochange:!1},o.fn.editableform.template='<form class="form-inline editableform"><div class="control-group"><div><div class="editable-input"></div><div class="editable-buttons"></div></div><div class="editable-error-block"></div></div></form>',o.fn.editableform.loading='<div class="editableform-loading"></div>',o.fn.editableform.buttons='<button type="submit" class="editable-submit">ok</button><button type="button" class="editable-cancel">cancel</button>',o.fn.editableform.errorGroupClass=null,o.fn.editableform.errorBlockClass="editable-error",o.fn.editableform.engine="jquery"})(window.jQuery),(l=>{l.fn.editableutils={inherit:function(t,e){function i(){}i.prototype=e.prototype,t.prototype=new i,(t.prototype.constructor=t).superclass=e.prototype},setCursorPosition:function(t,e){t.setSelectionRange?t.setSelectionRange(e,e):t.createTextRange&&((t=t.createTextRange()).collapse(!0),t.moveEnd("character",e),t.moveStart("character",e),t.select())},tryParseJson:function(t,e){if("string"==typeof t&&t.length&&t.match(/^[\{\[].*[\}\]]$/))if(e)try{t=new Function("return "+t)()}catch(t){}finally{return t}else t=new Function("return "+t)();return t},sliceObj:function(t,e,i){var n,s,o={};if(Array.isArray(e)&&e.length)for(var a=0;a<e.length;a++)t.hasOwnProperty(n=e[a])&&(o[n]=t[n]),!0!==i&&(s=n.toLowerCase(),t.hasOwnProperty(s))&&(o[n]=t[s]);return o},getConfigData:function(t){var i={};return l.each(t.data(),function(t,e){"object"==typeof e&&(!e||"object"!=typeof e||e.constructor!==Object&&e.constructor!==Array)||(i[t]=e)}),i},objectKeys:function(t){if(Object.keys)return Object.keys(t);if(t!==Object(t))throw new TypeError("Object.keys called on a non-object");var e,i=[];for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&i.push(e);return i},escape:function(t){return l("<div>").text(t).html()},itemsByValue:function(n,t,s){var e,o,a,r;return t&&null!==n?("function"!=typeof s&&(e=s||"value",s=function(t){return t[e]}),o=Array.isArray(n),a=[],r=this,l.each(t,function(t,e){var i;e.children?a=a.concat(r.itemsByValue(n,e.children,s)):o?l.grep(n,function(t){return t==(e&&"object"==typeof e?s(e):e)}).length&&a.push(e):(i=e&&"object"==typeof e?s(e):e,n==i&&a.push(e))}),a):[]},createInput:function(t){var e,i=t.type;return"date"===i&&("inline"===t.mode?l.fn.editabletypes.datefield?i="datefield":l.fn.editabletypes.dateuifield&&(i="dateuifield"):l.fn.editabletypes.date?i="date":l.fn.editabletypes.dateui&&(i="dateui"),"date"!==i||l.fn.editabletypes.date||(i="combodate")),"wysihtml5"!==(i="datetime"===i&&"inline"===t.mode?"datetimefield":i)||l.fn.editabletypes[i]||(i="textarea"),"function"==typeof l.fn.editabletypes[i]?new(e=l.fn.editabletypes[i])(this.sliceObj(t,this.objectKeys(e.defaults))):(l.error("Unknown type: "+i),!1)},supportsTransitions:function(){var t=(document.body||document.documentElement).style,e=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof t[i="transition"])return!0;for(var i=i.charAt(0).toUpperCase()+i.substr(1),n=0;n<e.length;n++)if("string"==typeof t[e[n]+i])return!0;return!1}}})(window.jQuery),(r=>{function l(t,e){this.init(t,e)}function u(t,e){this.init(t,e)}l.prototype={containerName:null,containerDataName:null,innerCss:null,containerClass:"editable-container editable-popup",defaults:{},init:function(t,e){this.$element=r(t),this.options=r.extend({},r.fn.editableContainer.defaults,e),this.splitOptions(),this.formOptions.scope=this.$element[0],this.initContainer(),this.delayedHide=!1,this.$element.on("destroyed",r.proxy(function(){this.destroy()},this)),r(document).data("editable-handlers-attached")||(r(document).on("keyup.editable",function(t){27===t.which&&r(".editable-open").editableContainer("hide","cancel")}),r(document).on("click.editable",function(t){var e,i=r(t.target),n=[".editable-container",".ui-datepicker-header",".datepicker",".modal-backdrop",".bootstrap-wysihtml5-insert-image-modal",".bootstrap-wysihtml5-insert-link-modal"];if(!r(".select2-drop-mask").is(":visible")&&r.contains(document.documentElement,t.target)&&!i.is(document)){for(e=0;e<n.length;e++)if(i.is(n[e])||i.parents(n[e]).length)return;l.prototype.closeOthers(t.target)}}),r(document).data("editable-handlers-attached",!0))},splitOptions:function(){if(this.containerOptions={},this.formOptions={},!r.fn[this.containerName])throw new Error(this.containerName+" not found. Have you included corresponding js file?");for(var t in this.options)t in this.defaults?this.containerOptions[t]=this.options[t]:this.formOptions[t]=this.options[t]},tip:function(){return this.container()?this.container().$tip:null},container:function(){var t;return t=this.containerDataName&&(t=this.$element.data(this.containerDataName))?t:this.$element.data(this.containerName)},call:function(){this.$element[this.containerName].apply(this.$element,arguments)},initContainer:function(){this.call(this.containerOptions)},renderForm:function(){this.$form.editableform(this.formOptions).on({save:r.proxy(this.save,this),nochange:r.proxy(function(){this.hide("nochange")},this),cancel:r.proxy(function(){this.hide("cancel")},this),show:r.proxy(function(){this.delayedHide?(this.hide(this.delayedHide.reason),this.delayedHide=!1):this.setPosition()},this),rendering:r.proxy(this.setPosition,this),resize:r.proxy(this.setPosition,this),rendered:r.proxy(function(){this.$element.triggerHandler("shown",r(this.options.scope).data("editable"))},this)}).editableform("render")},show:function(t){this.$element.addClass("editable-open"),!1!==t&&this.closeOthers(this.$element[0]),this.innerShow(),this.tip().addClass(this.containerClass),this.$form&&this.$form.remove(),this.$form=r("<div>"),(this.tip().is(this.innerCss)?this.tip():this.tip().find(this.innerCss)).append(this.$form),this.renderForm()},hide:function(t){this.tip()&&this.tip().is(":visible")&&this.$element.hasClass("editable-open")&&(this.$form.data("editableform").isSaving?this.delayedHide={reason:t}:(this.delayedHide=!1,this.$element.removeClass("editable-open"),this.innerHide(),this.$element.triggerHandler("hidden",t||"manual")))},innerShow:function(){},innerHide:function(){},toggle:function(t){this.container()&&this.tip()&&this.tip().is(":visible")?this.hide():this.show(t)},setPosition:function(){},save:function(t,e){this.$element.triggerHandler("save",e),this.hide("save")},option:function(t,e){this.options[t]=e,t in this.containerOptions?(this.containerOptions[t]=e,this.setContainerOption(t,e)):(this.formOptions[t]=e,this.$form&&this.$form.editableform("option",t,e))},setContainerOption:function(t,e){this.call("option",t,e)},destroy:function(){this.hide(),this.innerDestroy(),this.$element.off("destroyed"),this.$element.removeData("editableContainer")},innerDestroy:function(){},closeOthers:function(n){r(".editable-open").each(function(t,e){var i;e===n||r(e).find(n).length||(i=(e=r(e)).data("editableContainer"))&&("cancel"===i.options.onblur?e.data("editableContainer").hide("onblur"):"submit"===i.options.onblur&&e.data("editableContainer").tip().find("form").submit())})},activate:function(){this.tip&&this.tip().is(":visible")&&this.$form&&this.$form.data("editableform").input.activate()}},r.fn.editableContainer=function(o){var a=arguments;return this.each(function(){var t=r(this),e="editableContainer",i=t.data(e),n="object"==typeof o&&o,s="inline"===n.mode?u:l;i||t.data(e,i=new s(this,n)),"string"==typeof o&&i[o].apply(i,Array.prototype.slice.call(a,1))})},r.fn.editableContainer.Popup=l,r.fn.editableContainer.Inline=u,r.fn.editableContainer.defaults={value:null,placement:"top",autohide:!0,onblur:"cancel",anim:!1,mode:"popup"},jQuery.event.special.destroyed={remove:function(t){t.handler&&t.handler()}}})(window.jQuery),(t=>{t.extend(t.fn.editableContainer.Inline.prototype,t.fn.editableContainer.Popup.prototype,{containerName:"editableform",innerCss:".editable-inline",containerClass:"editable-container editable-inline",initContainer:function(){this.$tip=t("<span></span>"),this.options.anim||(this.options.anim=0)},splitOptions:function(){this.containerOptions={},this.formOptions=this.options},tip:function(){return this.$tip},innerShow:function(){this.$element.hide(),this.tip().insertAfter(this.$element).show()},innerHide:function(){this.$tip.hide(this.options.anim,t.proxy(function(){this.$element.show(),this.innerDestroy()},this))},innerDestroy:function(){this.tip()&&this.tip().empty().remove()}})})(window.jQuery),(h=>{function p(t,e){this.$element=h(t),this.options=h.extend({},h.fn.editable.defaults,e,h.fn.editableutils.getConfigData(this.$element)),this.options.selector?this.initLive():this.init(),this.options.highlight&&!h.fn.editableutils.supportsTransitions()&&(this.options.highlight=!1)}p.prototype={constructor:p,init:function(){var t,e=!1;if(this.options.name=this.options.name||this.$element.attr("id"),this.options.scope=this.$element[0],this.input=h.fn.editableutils.createInput(this.options),this.input){switch(null==this.options.value?(this.value=this.input.html2value(this.$element.html().trim()),e=!0):(this.options.value=h.fn.editableutils.tryParseJson(this.options.value,!0),"string"==typeof this.options.value?this.value=this.input.str2value(this.options.value):this.value=this.options.value),this.$element.addClass("editable"),"textarea"===this.input.type&&this.$element.addClass("editable-pre-wrapped"),"manual"!==this.options.toggle?(this.$element.addClass("editable-click"),this.$element.on(this.options.toggle+".editable",h.proxy(function(t){this.options.disabled||t.preventDefault(),"mouseenter"===this.options.toggle?this.show():(t="click"!==this.options.toggle,this.toggle(t))},this))):this.$element.attr("tabindex",-1),"function"==typeof this.options.display&&(this.options.autotext="always"),this.options.autotext){case"always":t=!0;break;case"auto":t=!this.$element.text().trim().length&&null!=this.value&&!e;break;default:t=!1}h.when(!t||this.render()).then(h.proxy(function(){this.options.disabled?this.disable():this.enable(),this.$element.triggerHandler("init",this)},this))}},initLive:function(){var t=this.options.selector;this.options.selector=!1,this.options.autotext="never",this.$element.on(this.options.toggle+".editable",t,h.proxy(function(t){var e=h(t.target);e.data("editable")||(e.hasClass(this.options.emptyclass)&&e.empty(),e.editable(this.options).trigger(t))},this))},render:function(t){if(!1!==this.options.display)return this.input.value2htmlFinal?this.input.value2html(this.value,this.$element[0],this.options.display,t):"function"==typeof this.options.display?this.options.display.call(this.$element[0],this.value,t):this.input.value2html(this.value,this.$element[0])},enable:function(){this.options.disabled=!1,this.$element.removeClass("editable-disabled"),this.handleEmpty(this.isEmpty),"manual"!==this.options.toggle&&"-1"===this.$element.attr("tabindex")&&this.$element.removeAttr("tabindex")},disable:function(){this.options.disabled=!0,this.hide(),this.$element.addClass("editable-disabled"),this.handleEmpty(this.isEmpty),this.$element.attr("tabindex",-1)},toggleDisabled:function(){this.options.disabled?this.enable():this.disable()},option:function(t,e){if(t&&"object"==typeof t)h.each(t,h.proxy(function(t,e){this.option(t.triim(),e)},this));else{if(this.options[t]=e,"disabled"===t)return e?this.disable():this.enable();"value"===t&&this.setValue(e),this.container&&this.container.option(t,e),this.input.option&&this.input.option(t,e)}},handleEmpty:function(t){!1!==this.options.display&&(void 0!==t?this.isEmpty=t:"function"==typeof this.input.isEmpty?this.isEmpty=this.input.isEmpty(this.$element):this.isEmpty=""===this.$element.html().trim(),this.options.disabled?this.isEmpty&&(this.$element.empty(),this.options.emptyclass)&&this.$element.removeClass(this.options.emptyclass):this.isEmpty?(this.$element.html(this.options.emptytext),this.options.emptyclass&&this.$element.addClass(this.options.emptyclass)):this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass))},show:function(t){if(!this.options.disabled){if(this.container){if(this.container.tip().is(":visible"))return}else{var e=h.extend({},this.options,{value:this.value,input:this.input});this.$element.editableContainer(e),this.$element.on("save.internal",h.proxy(this.save,this)),this.container=this.$element.data("editableContainer")}this.container.show(t)}},hide:function(){this.container&&this.container.hide()},toggle:function(t){this.container&&this.container.tip().is(":visible")?this.hide():this.show(t)},save:function(t,e){var i,n;this.options.unsavedclass&&("function"==typeof this.options.url||!1===this.options.display||void 0!==e.response||this.options.savenochange&&this.input.value2str(this.value)!==this.input.value2str(e.newValue)?this.$element.removeClass(this.options.unsavedclass):this.$element.addClass(this.options.unsavedclass)),this.options.highlight&&(i=this.$element,n=i.css("background-color"),i.css("background-color",this.options.highlight),setTimeout(function(){"transparent"===n&&(n=""),i.css("background-color",n),i.addClass("editable-bg-transition"),setTimeout(function(){i.removeClass("editable-bg-transition")},1700)},10)),this.setValue(e.newValue,!1,e.response)},validate:function(){if("function"==typeof this.options.validate)return this.options.validate.call(this,this.value)},setValue:function(t,e,i){this.value=e?this.input.str2value(t):t,this.container&&this.container.option("value",this.value),h.when(this.render(i)).then(h.proxy(function(){this.handleEmpty()},this))},activate:function(){this.container&&this.container.activate()},destroy:function(){this.disable(),this.container&&this.container.destroy(),this.input.destroy(),"manual"!==this.options.toggle&&(this.$element.removeClass("editable-click"),this.$element.off(this.options.toggle+".editable")),this.$element.off("save.internal"),this.$element.removeClass("editable editable-open editable-disabled"),this.$element.removeData("editable")}},h.fn.editable=function(n){var i={},s=arguments,o="editable";switch(n){case"validate":return this.each(function(){var t,e=h(this).data(o);e&&(t=e.validate())&&(i[e.options.name]=t)}),i;case"getValue":return 2===arguments.length&&!0===arguments[1]?i=this.eq(0).data(o).value:this.each(function(){var t=h(this).data(o);t&&null!=t.value&&(i[t.options.name]=t.input.value2submit(t.value))}),i;case"submit":var t,e,a,r=arguments[1]||{},l=this,u=this.editable("validate");return h.isEmptyObject(u)?(a={},1===l.length?(e={name:(t=l.data("editable")).options.name||"",value:t.input.value2submit(t.value),pk:"function"==typeof t.options.pk?t.options.pk.call(t.options.scope):t.options.pk},"function"==typeof t.options.params?e=t.options.params.call(t.options.scope,e):(t.options.params=h.fn.editableutils.tryParseJson(t.options.params,!0),h.extend(e,t.options.params)),a={url:t.options.url,data:e,type:"POST"},r.success=r.success||t.options.success,r.error=r.error||t.options.error):(e=this.editable("getValue"),a={url:r.url,data:e,type:"POST"}),a.success="function"==typeof r.success?function(t){r.success.call(l,t,r)}:h.noop,a.error="function"==typeof r.error?function(){r.error.apply(l,arguments)}:h.noop,r.ajaxOptions&&h.extend(a,r.ajaxOptions),r.data&&h.extend(a.data,r.data),h.ajax(a)):"function"==typeof r.error&&r.error.call(l,u),this}return this.each(function(){var t=h(this),e=t.data(o),i="object"==typeof n&&n;i&&i.selector?e=new p(this,i):(e||t.data(o,e=new p(this,i)),"string"==typeof n&&e[n].apply(e,Array.prototype.slice.call(s,1)))})},h.fn.editable.defaults={type:"text",disabled:!1,toggle:"click",emptytext:"Empty",autotext:"auto",value:null,display:null,emptyclass:"editable-empty",unsavedclass:"editable-unsaved",selector:null,highlight:"#FFFF80"}})(window.jQuery),(n=>{function t(){}n.fn.editabletypes={},t.prototype={init:function(t,e,i){this.type=t,this.options=n.extend({},i,e)},prerender:function(){this.$tpl=n(this.options.tpl),this.$input=this.$tpl,this.$clear=null,this.error=null},render:function(){},value2html:function(t,e){n(e)[this.options.escape?"text":"html"](t.trim())},html2value:function(t){return n("<div>").html(t).text()},value2str:function(t){return t},str2value:function(t){return t},value2submit:function(t){return t},value2input:function(t){this.$input.val(t)},input2value:function(){return this.$input.val()},activate:function(){this.$input.is(":visible")&&this.$input.focus()},clear:function(){this.$input.val(null)},escape:function(t){return n("<div>").text(t).html()},autosubmit:function(){},destroy:function(){},setClass:function(){this.options.inputclass&&this.$input.addClass(this.options.inputclass)},setAttr:function(t){null!=this.options[t]&&this.$input.attr(t,this.options[t])},option:function(t,e){this.options[t]=e}},t.defaults={tpl:"",inputclass:null,escape:!0,scope:null,showbuttons:!0},n.extend(n.fn.editabletypes,{abstractinput:t})})(window.jQuery),(r=>{function t(t){}r.fn.editableutils.inherit(t,r.fn.editabletypes.abstractinput),r.extend(t.prototype,{render:function(){var t=r.Deferred();return this.error=null,this.onSourceReady(function(){this.renderList(),t.resolve()},function(){this.error=this.options.sourceError,t.resolve()}),t.promise()},html2value:function(t){return null},value2html:function(t,e,i,n){function s(){"function"==typeof i?i.call(e,t,this.sourceData,n):this.value2htmlFinal(t,e),o.resolve()}var o=r.Deferred();return null===t?s.call(this):this.onSourceReady(s,function(){o.resolve()}),o.promise()},onSourceReady:function(e,i){var t;if("function"==typeof this.options.source?(t=this.options.source.call(this.options.scope),this.sourceData=null):t=this.options.source,this.options.sourceCache&&Array.isArray(this.sourceData))e.call(this);else{try{t=r.fn.editableutils.tryParseJson(t,!1)}catch(t){return void i.call(this)}if("string"==typeof t){if(this.options.sourceCache){var n,s=t;if(r(document).data(s)||r(document).data(s,{}),!1===(n=r(document).data(s)).loading&&n.sourceData)return this.sourceData=n.sourceData,this.doPrepend(),void e.call(this);if(!0===n.loading)return n.callbacks.push(r.proxy(function(){this.sourceData=n.sourceData,this.doPrepend(),e.call(this)},this)),void n.err_callbacks.push(r.proxy(i,this));n.loading=!0,n.callbacks=[],n.err_callbacks=[]}s=r.extend({url:t,type:"get",cache:!1,dataType:"json",success:r.proxy(function(t){n&&(n.loading=!1),this.sourceData=this.makeArray(t),Array.isArray(this.sourceData)?(n&&(n.sourceData=this.sourceData,r.each(n.callbacks,function(){this.call()})),this.doPrepend(),e.call(this)):(i.call(this),n&&r.each(n.err_callbacks,function(){this.call()}))},this),error:r.proxy(function(){i.call(this),n&&(n.loading=!1,r.each(n.err_callbacks,function(){this.call()}))},this)},this.options.sourceOptions);r.ajax(s)}else this.sourceData=this.makeArray(t),(Array.isArray(this.sourceData)?(this.doPrepend(),e):i).call(this)}},doPrepend:function(){null!=this.options.prepend&&(Array.isArray(this.prependData)||("function"==typeof this.options.prepend&&(this.options.prepend=this.options.prepend.call(this.options.scope)),this.options.prepend=r.fn.editableutils.tryParseJson(this.options.prepend,!0),"string"==typeof this.options.prepend&&(this.options.prepend={"":this.options.prepend}),this.prependData=this.makeArray(this.options.prepend)),Array.isArray(this.prependData))&&Array.isArray(this.sourceData)&&(this.sourceData=this.prependData.concat(this.sourceData))},renderList:function(){},value2htmlFinal:function(t,e){},makeArray:function(t){var i,n,e,s=[];if(!t||"string"==typeof t)return null;if(Array.isArray(t))for(var o=function(t,e){if(n={value:t,text:e},2<=i++)return!1},a=0;a<t.length;a++)"object"==typeof(e=t[a])?(i=0,r.each(e,o),1===i?s.push(n):1<i&&(e.children&&(e.children=this.makeArray(e.children)),s.push(e))):s.push({value:e,text:e});else r.each(t,function(t,e){s.push({value:t,text:e})});return s},option:function(t,e){this.options[t]=e,"source"===t&&(this.sourceData=null),"prepend"===t&&(this.prependData=null)}}),t.defaults=r.extend({},r.fn.editabletypes.abstractinput.defaults,{source:null,prepend:!1,sourceError:"Error when loading list",sourceCache:!0,sourceOptions:null}),r.fn.editabletypes.list=t})(window.jQuery),(i=>{function e(t){this.init("text",t,e.defaults)}i.fn.editableutils.inherit(e,i.fn.editabletypes.abstractinput),i.extend(e.prototype,{render:function(){this.renderClear(),this.setClass(),this.setAttr("placeholder")},activate:function(){this.$input.is(":visible")&&(this.$input.focus(),i.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length),this.toggleClear)&&this.toggleClear()},renderClear:function(){this.options.clear&&(this.$clear=i('<span class="editable-clear-x"></span>'),this.$input.after(this.$clear).css("padding-right",24).keyup(i.proxy(function(t){var e;~i.inArray(t.keyCode,[40,38,9,13,27])||(clearTimeout(this.t),(e=this).t=setTimeout(function(){e.toggleClear(t)},100))},this)).parent().css("position","relative"),this.$clear.click(i.proxy(this.clear,this)))},postrender:function(){},toggleClear:function(t){var e,i;this.$clear&&(e=this.$input.val().length,i=this.$clear.is(":visible"),e&&!i&&this.$clear.show(),!e)&&i&&this.$clear.hide()},clear:function(){this.$clear.hide(),this.$input.val("").focus()}}),e.defaults=i.extend({},i.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="text">',placeholder:null,clear:!0}),i.fn.editabletypes.text=e})(window.jQuery),(e=>{function i(t){this.init("textarea",t,i.defaults)}e.fn.editableutils.inherit(i,e.fn.editabletypes.abstractinput),e.extend(i.prototype,{render:function(){this.setClass(),this.setAttr("placeholder"),this.setAttr("rows"),this.$input.keydown(function(t){t.ctrlKey&&13===t.which&&e(this).closest("form").submit()})},activate:function(){e.fn.editabletypes.text.prototype.activate.call(this)}}),i.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{tpl:"<textarea></textarea>",inputclass:"input-large",placeholder:null,rows:7}),e.fn.editabletypes.textarea=i})(window.jQuery),(o=>{function e(t){this.init("select",t,e.defaults)}o.fn.editableutils.inherit(e,o.fn.editabletypes.list),o.extend(e.prototype,{renderList:function(){this.$input.empty();var s=function(t,e){var i;if(Array.isArray(e))for(var n=0;n<e.length;n++)i={},e[n].children?(i.label=e[n].text,t.append(s(o("<optgroup>",i),e[n].children))):(i.value=e[n].value,e[n].disabled&&(i.disabled=!0),t.append(o("<option>",i).text(e[n].text)));return t};s(this.$input,this.sourceData),this.setClass(),this.$input.on("keydown.editable",function(t){13===t.which&&o(this).closest("form").submit()})},value2htmlFinal:function(t,e){var i="",t=o.fn.editableutils.itemsByValue(t,this.sourceData);t.length&&(i=t[0].text),o.fn.editabletypes.abstractinput.prototype.value2html.call(this,i,e)},autosubmit:function(){this.$input.off("keydown.editable").on("change.editable",function(){o(this).closest("form").submit()})}}),e.defaults=o.extend({},o.fn.editabletypes.list.defaults,{tpl:"<select></select>"}),o.fn.editabletypes.select=e})(window.jQuery),(s=>{function e(t){this.init("checklist",t,e.defaults)}s.fn.editableutils.inherit(e,s.fn.editabletypes.list),s.extend(e.prototype,{renderList:function(){var t;if(this.$tpl.empty(),Array.isArray(this.sourceData)){for(var e=0;e<this.sourceData.length;e++)t=s("<label>").append(s("<input>",{type:"checkbox",value:this.sourceData[e].value})).append(s("<span>").text(" "+this.sourceData[e].text)),s("<div>").append(t).appendTo(this.$tpl);this.$input=this.$tpl.find('input[type="checkbox"]'),this.setClass()}},value2str:function(t){return Array.isArray(t)?t.sort().join(this.options.separator.trim()):""},str2value:function(t){var e;return"string"==typeof t&&t.length?(e=new RegExp("\\s*"+this.options.separator.trim()+"\\s*"),t.split(e)):Array.isArray(t)?t:[t]},value2input:function(n){this.$input.prop("checked",!1),Array.isArray(n)&&n.length&&this.$input.each(function(t,e){var i=s(e);s.each(n,function(t,e){i.val()==e&&i.prop("checked",!0)})})},input2value:function(){var i=[];return this.$input.filter(":checked").each(function(t,e){i.push(s(e).val())}),i},value2htmlFinal:function(t,e){var i=[],t=s.fn.editableutils.itemsByValue(t,this.sourceData),n=this.options.escape;t.length?(s.each(t,function(t,e){e=n?s.fn.editableutils.escape(e.text):e.text;i.push(e)}),s(e).html(i.join("<br>"))):s(e).empty()},activate:function(){this.$input.first().focus()},autosubmit:function(){this.$input.on("keydown",function(t){13===t.which&&s(this).closest("form").submit()})}}),e.defaults=s.extend({},s.fn.editabletypes.list.defaults,{tpl:'<div class="editable-checklist"></div>',inputclass:null,separator:","}),s.fn.editabletypes.checklist=e})(window.jQuery),(i=>{function e(t){this.init("password",t,e.defaults)}i.fn.editableutils.inherit(e,i.fn.editabletypes.text),i.extend(e.prototype,{value2html:function(t,e){t?i(e).text("[hidden]"):i(e).empty()},html2value:function(t){return null}}),e.defaults=i.extend({},i.fn.editabletypes.text.defaults,{tpl:'<input type="password">'}),i.fn.editabletypes.password=e})(window.jQuery),(t=>{function e(t){this.init("email",t,e.defaults)}t.fn.editableutils.inherit(e,t.fn.editabletypes.text),e.defaults=t.extend({},t.fn.editabletypes.text.defaults,{tpl:'<input type="email">'}),t.fn.editabletypes.email=e})(window.jQuery),(t=>{function e(t){this.init("url",t,e.defaults)}t.fn.editableutils.inherit(e,t.fn.editabletypes.text),e.defaults=t.extend({},t.fn.editabletypes.text.defaults,{tpl:'<input type="url">'}),t.fn.editabletypes.url=e})(window.jQuery),(t=>{function e(t){this.init("tel",t,e.defaults)}t.fn.editableutils.inherit(e,t.fn.editabletypes.text),e.defaults=t.extend({},t.fn.editabletypes.text.defaults,{tpl:'<input type="tel">'}),t.fn.editabletypes.tel=e})(window.jQuery),(t=>{function e(t){this.init("number",t,e.defaults)}t.fn.editableutils.inherit(e,t.fn.editabletypes.text),t.extend(e.prototype,{render:function(){e.superclass.render.call(this),this.setAttr("min"),this.setAttr("max"),this.setAttr("step")},postrender:function(){this.$clear&&this.$clear.css({right:24})}}),e.defaults=t.extend({},t.fn.editabletypes.text.defaults,{tpl:'<input type="number">',inputclass:"input-mini",min:null,max:null,step:null}),t.fn.editabletypes.number=e})(window.jQuery),(t=>{function e(t){this.init("range",t,e.defaults)}t.fn.editableutils.inherit(e,t.fn.editabletypes.number),t.extend(e.prototype,{render:function(){this.$input=this.$tpl.filter("input"),this.setClass(),this.setAttr("min"),this.setAttr("max"),this.setAttr("step"),this.$input.on("input",function(){t(this).siblings("output").text(t(this).val())})},activate:function(){this.$input.focus()}}),e.defaults=t.extend({},t.fn.editabletypes.number.defaults,{tpl:'<input type="range"><output style="width: 30px; display: inline-block"></output>',inputclass:"input-medium"}),t.fn.editabletypes.range=e})(window.jQuery),(t=>{function e(t){this.init("time",t,e.defaults)}t.fn.editableutils.inherit(e,t.fn.editabletypes.abstractinput),t.extend(e.prototype,{render:function(){this.setClass()}}),e.defaults=t.extend({},t.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="time">'}),t.fn.editabletypes.time=e})(window.jQuery),(o=>{function a(t){var e,i;this.init("select2",t,a.defaults),t.select2=t.select2||{},this.sourceData=null,t.placeholder&&(t.select2.placeholder=t.placeholder),!t.select2.tags&&t.source&&(e=t.source,"string"==typeof(e="function"==typeof t.source?t.source.call(t.scope):e)?(t.select2.ajax=t.select2.ajax||{},t.select2.ajax.data||(t.select2.ajax.data=function(t){return{query:t}}),t.select2.ajax.results||(t.select2.ajax.results=function(t){return{results:t}}),t.select2.ajax.url=e):(this.sourceData=this.convertSource(e),t.select2.data=this.sourceData)),this.options.select2=o.extend({},a.defaults.select2,t.select2),this.isMultiple=this.options.select2.tags||this.options.select2.multiple,this.isRemote="ajax"in this.options.select2,this.idFunc=this.options.select2.id,"function"!=typeof this.idFunc&&(i=this.idFunc||"id",this.idFunc=function(t){return t[i]}),this.formatSelection=this.options.select2.formatSelection,"function"!=typeof this.formatSelection&&(this.formatSelection=function(t){return t.text})}o.fn.editableutils.inherit(a,o.fn.editabletypes.abstractinput),o.extend(a.prototype,{render:function(){this.setClass(),this.isRemote&&this.$input.on("select2-loaded",o.proxy(function(t){this.sourceData=t.items.results},this)),this.isMultiple&&this.$input.on("change",function(){o(this).closest("form").parent().triggerHandler("resize")})},value2html:function(t,e){var i,n="",s=this;this.options.select2.tags?i=t:this.sourceData&&(i=o.fn.editableutils.itemsByValue(t,this.sourceData,this.idFunc)),Array.isArray(i)?(n=[],o.each(i,function(t,e){n.push(e&&"object"==typeof e?s.formatSelection(e):e)})):i&&(n=s.formatSelection(i)),n=Array.isArray(n)?n.join(this.options.viewseparator):n,a.superclass.value2html.call(this,n,e)},html2value:function(t){return this.options.select2.tags?this.str2value(t,this.options.viewseparator):null},value2input:function(t){var e,i;Array.isArray(t)&&(t=t.join(this.getSeparator())),this.$input.data("select2")?this.$input.val(t).trigger("change",!0):(this.$input.val(t),this.$input.select2(this.options.select2)),!this.isRemote||this.isMultiple||this.options.select2.initSelection||(e=this.options.select2.id,i=this.options.select2.formatSelection,e)||i||(e=o(this.options.scope)).data("editable").isEmpty||(i={id:t,text:e.text()},this.$input.select2("data",i))},input2value:function(){return this.$input.select2("val")},str2value:function(t,e){if("string"!=typeof t||!this.isMultiple)return t;var i,n,s;if(e=e||this.getSeparator(),null===t||t.length<1)return null;for(n=0,s=(i=t.split(e)).length;n<s;n+=1)i[n]=i[n].trim();return i},autosubmit:function(){this.$input.on("change",function(t,e){e||o(this).closest("form").submit()})},getSeparator:function(){return this.options.select2.separator||o.fn.select2.defaults.separator},convertSource:function(t){if(Array.isArray(t)&&t.length&&void 0!==t[0].value)for(var e=0;e<t.length;e++)void 0!==t[e].value&&(t[e].id=t[e].value,delete t[e].value);return t},destroy:function(){this.$input&&this.$input.data("select2")&&this.$input.select2("destroy")}}),a.defaults=o.extend({},o.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="hidden">',select2:null,placeholder:null,source:null,viewseparator:", "}),o.fn.editabletypes.select2=a})(window.jQuery),(a=>{function s(t,e){this.$element=a(t),this.$element.is("input")?(this.options=a.extend({},a.fn.combodate.defaults,e,this.$element.data()),this.init()):a.error("Combodate should be applied to INPUT element")}s.prototype={constructor:s,init:function(){this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]},this.$widget=a('<span class="combodate"></span>').html(this.getTemplate()),this.initCombos(),this.$widget.on("change","select",a.proxy(function(t){this.$element.val(this.getValue()).change(),this.options.smartDays&&(a(t.target).is(".month")||a(t.target).is(".year"))&&this.fillCombo("day")},this)),this.$widget.find("select").css("width","auto"),this.$element.hide().after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var n=this.options.template;return a.each(this.map,function(t,e){e=e[0];var i=new RegExp(e+"+"),e=1<e.length?e.substring(1,2):e;n=n.replace(i,"{"+e+"}")}),n=n.replace(/ /g,"&nbsp;"),a.each(this.map,function(t,e){e=1<(e=e[0]).length?e.substring(1,2):e;n=n.replace("{"+e+"}",'<select class="'+t+'"></select>')}),n},initCombos:function(){for(var t in this.map){var e=this.$widget.find("."+t);this["$"+t]=e.length?e:null,this.fillCombo(t)}},fillCombo:function(t){var e=this["$"+t];if(e){var i=this["fill"+t.charAt(0).toUpperCase()+t.slice(1)](),t=e.val();e.empty();for(var n=0;n<i.length;n++)e.append('<option value="'+i[n][0]+'">'+i[n][1]+"</option>");e.val(t)}},fillCommon:function(t){var e,i=[];return"name"===this.options.firstItem?(e=(e="function"==typeof(e=moment.relativeTime||moment.langData()._relativeTime)[t]?e[t](1,!0,t,!1):e[t]).split(" ").reverse()[0],i.push(["",e])):"empty"===this.options.firstItem&&i.push(["",""]),i},fillDay:function(){var t,e,i,n,s=this.fillCommon("d"),o=-1!==this.options.template.indexOf("DD"),a=31;for(this.options.smartDays&&this.$month&&this.$year&&(i=parseInt(this.$month.val(),10),n=parseInt(this.$year.val(),10),isNaN(i)||isNaN(n)||(a=moment([n,i]).daysInMonth())),e=1;e<=a;e++)t=o?this.leadZero(e):e,s.push([e,t]);return s},fillMonth:function(){for(var t,e=this.fillCommon("M"),i=-1!==this.options.template.indexOf("MMMM"),n=-1!==this.options.template.indexOf("MMM"),s=-1!==this.options.template.indexOf("MM"),o=0;o<=11;o++)t=i?moment().date(1).month(o).format("MMMM"):n?moment().date(1).month(o).format("MMM"):s?this.leadZero(o+1):o+1,e.push([o,t]);return e},fillYear:function(){for(var t,e=[],i=-1!==this.options.template.indexOf("YYYY"),n=this.options.maxYear;n>=this.options.minYear;n--)t=i?n:(n+"").substring(2),e[this.options.yearDescending?"push":"unshift"]([n,t]);return e=this.fillCommon("y").concat(e)},fillHour:function(){for(var t,e=this.fillCommon("h"),i=-1!==this.options.template.indexOf("h"),n=(this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),s=i?12:23,o=i?1:0;o<=s;o++)t=n?this.leadZero(o):o,e.push([o,t]);return e},fillMinute:function(){for(var t,e=this.fillCommon("m"),i=-1!==this.options.template.indexOf("mm"),n=0;n<=59;n+=this.options.minuteStep)t=i?this.leadZero(n):n,e.push([n,t]);return e},fillSecond:function(){for(var t,e=this.fillCommon("s"),i=-1!==this.options.template.indexOf("ss"),n=0;n<=59;n+=this.options.secondStep)t=i?this.leadZero(n):n,e.push([n,t]);return e},fillAmpm:function(){var t=-1!==this.options.template.indexOf("a");this.options.template.indexOf("A");return[["am",t?"am":"AM"],["pm",t?"pm":"PM"]]},getValue:function(t){var e,n={},s=this,o=!1;return a.each(this.map,function(t,e){var i;if("ampm"!==t)return i="day"===t?1:0,n[t]=s["$"+t]?parseInt(s["$"+t].val(),10):i,isNaN(n[t])?!(o=!0):void 0}),o?"":(this.$ampm&&(n.hour=12===n.hour?"am"===this.$ampm.val()?0:12:"am"===this.$ampm.val()?n.hour:n.hour+12),e=moment([n.year,n.month,n.day,n.hour,n.minute,n.second]),this.highlight(e),null===(t=void 0===t?this.options.format:t)?e.isValid()?e:null:e.isValid()?e.format(t):"")},setValue:function(t){var i,n,s;function o(t,n){var s={};return t.children("option").each(function(t,e){var i,e=a(e).attr("value");""!==e&&(i=Math.abs(e-n),void 0===s.distance||i<s.distance)&&(s={value:e,distance:i})}),s.value}t&&(i="string"==typeof t?moment(t,this.options.format):moment(t),n=this,s={},i.isValid())&&(a.each(this.map,function(t,e){"ampm"!==t&&(s[t]=i[e[1]]())}),this.$ampm&&(12<=s.hour?(s.ampm="pm",12<s.hour&&(s.hour-=12)):(s.ampm="am",0===s.hour&&(s.hour=12))),a.each(s,function(t,e){n["$"+t]&&("minute"===t&&1<n.options.minuteStep&&n.options.roundTime&&(e=o(n["$"+t],e)),"second"===t&&1<n.options.secondStep&&n.options.roundTime&&(e=o(n["$"+t],e)),n["$"+t].val(e))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(i.format(this.options.format)).change())},highlight:function(t){t.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(t){return t<=9?"0"+t:t},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},a.fn.combodate=function(i){var t,n=Array.apply(null,arguments);return n.shift(),"getValue"===i&&this.length&&(t=this.eq(0).data("combodate"))?t.getValue.apply(t,n):this.each(function(){var t=a(this),e=t.data("combodate");e||t.data("combodate",e=new s(this,"object"==typeof i&&i)),"string"==typeof i&&"function"==typeof e[i]&&e[i].apply(e,n)})},a.fn.combodate.defaults={format:"DD-MM-YYYY HH:mm",template:"D / MMM / YYYY H : mm",value:null,minYear:1970,maxYear:(new Date).getFullYear(),yearDescending:!0,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,roundTime:!0,smartDays:!1}})(window.jQuery),(e=>{function i(t){this.init("combodate",t,i.defaults),this.options.viewformat||(this.options.viewformat=this.options.format),t.combodate=e.fn.editableutils.tryParseJson(t.combodate,!0),this.options.combodate=e.extend({},i.defaults.combodate,t.combodate,{format:this.options.format,template:this.options.template})}e.fn.editableutils.inherit(i,e.fn.editabletypes.abstractinput),e.extend(i.prototype,{render:function(){this.$input.combodate(this.options.combodate),"bs3"===e.fn.editableform.engine&&this.$input.siblings().find("select").addClass("form-control"),this.options.inputclass&&this.$input.siblings().find("select").addClass(this.options.inputclass)},value2html:function(t,e){t=t?t.format(this.options.viewformat):"";i.superclass.value2html.call(this,t,e)},html2value:function(t){return t?moment(t,this.options.viewformat):null},value2str:function(t){return t?t.format(this.options.format):""},str2value:function(t){return t?moment(t,this.options.format):null},value2submit:function(t){return this.value2str(t)},value2input:function(t){this.$input.combodate("setValue",t)},input2value:function(){return this.$input.combodate("getValue",null)},activate:function(){this.$input.siblings(".combodate").find("select").eq(0).focus()},autosubmit:function(){}}),i.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{tpl:'<input type="text">',inputclass:null,format:"YYYY-MM-DD",viewformat:null,template:"D / MMM / YYYY",combodate:null}),e.fn.editabletypes.combodate=i})(window.jQuery),(e=>{e.extend(e.fn.editableform.Constructor.prototype,{initButtons:function(){var t=this.$form.find(".editable-buttons");t.append(e.fn.editableform.buttons),"bottom"===this.options.showbuttons&&t.addClass("editable-buttons-bottom"),this.$form.find(".editable-submit").button({icons:{primary:"ui-icon-check"},text:!1}).removeAttr("title"),this.$form.find(".editable-cancel").button({icons:{primary:"ui-icon-closethick"},text:!1}).removeAttr("title")}}),e.fn.editableform.errorGroupClass=null,e.fn.editableform.errorBlockClass="ui-state-error",e.fn.editableform.engine="jquery-ui"})(window.jQuery),(e=>{e.extend(e.fn.editableContainer.Popup.prototype,{containerName:"tooltip",containerDataName:"ui-tooltip",innerCss:".ui-tooltip-content",defaults:e.ui.tooltip.prototype.options,splitOptions:function(){if(this.containerOptions={},this.formOptions={},e.ui[this.containerName])for(var t in this.options)t in this.defaults?this.containerOptions[t]=this.options[t]:this.formOptions[t]=this.options[t];else e.error('Please use jQueryUI with "tooltip" widget! http://jqueryui.com/download')},initContainer:function(){this.handlePlacement(),e.extend(this.containerOptions,{items:"*",content:" ",track:!1,open:e.proxy(function(){this.container()._on(this.container().element,{mouseleave:function(t){t.stopImmediatePropagation()},focusout:function(t){t.stopImmediatePropagation()}})},this)}),this.call(this.containerOptions),this.container()._off(this.container().element,"mouseover focusin")},tip:function(){return this.container()?this.container()._find(this.container().element):null},innerShow:function(){this.call("open");var t=this.options.title||this.$element.data("ui-tooltip-title")||this.$element.data("originalTitle");this.tip().find(this.innerCss).empty().append(e("<label>").text(t))},innerHide:function(){this.call("close")},innerDestroy:function(){},setPosition:function(){this.tip().position(e.extend({of:this.$element},this.containerOptions.position))},handlePlacement:function(){var t;switch(this.options.placement){case"top":t={my:"center bottom-5",at:"center top",collision:"flipfit"};break;case"right":t={my:"left+5 center",at:"right center",collision:"flipfit"};break;case"bottom":t={my:"center top+5",at:"center bottom",collision:"flipfit"};break;case"left":t={my:"right-5 center",at:"left center",collision:"flipfit"}}this.containerOptions.position=t}})})(window.jQuery),(i=>{function n(t){this.init("dateui",t,n.defaults),this.initPicker(t,n.defaults)}i.fn.editableutils.inherit(n,i.fn.editabletypes.abstractinput),i.extend(n.prototype,{initPicker:function(t,e){this.options.viewformat||(this.options.viewformat=this.options.format),this.options.viewformat=this.options.viewformat.replace("yyyy","yy"),this.options.format=this.options.format.replace("yyyy","yy"),this.options.datepicker=i.extend({},e.datepicker,t.datepicker,{dateFormat:this.options.viewformat})},render:function(){this.$input.datepicker(this.options.datepicker),this.options.clear&&(this.$clear=i('<a href="#"></a>').html(this.options.clear).click(i.proxy(function(t){t.preventDefault(),t.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(i('<div class="editable-clear">').append(this.$clear)))},value2html:function(t,e){t=i.datepicker.formatDate(this.options.viewformat,t);n.superclass.value2html.call(this,t,e)},html2value:function(t){if("string"!=typeof t)return t;var e;try{e=i.datepicker.parseDate(this.options.viewformat,t)}catch(t){}return e},value2str:function(t){return i.datepicker.formatDate(this.options.format,t)},str2value:function(t){if("string"!=typeof t)return t;var e;try{e=i.datepicker.parseDate(this.options.format,t)}catch(t){}return e},value2submit:function(t){return this.value2str(t)},value2input:function(t){this.$input.datepicker("setDate",t)},input2value:function(){return this.$input.datepicker("getDate")},activate:function(){},clear:function(){this.$input.datepicker("setDate",null),this.isAutosubmit&&this.submit()},autosubmit:function(){this.isAutosubmit=!0,this.$input.on("mouseup","table.ui-datepicker-calendar a.ui-state-default",i.proxy(this.submit,this))},submit:function(){var t=this.$input.closest("form");setTimeout(function(){t.submit()},200)}}),n.defaults=i.extend({},i.fn.editabletypes.abstractinput.defaults,{tpl:'<div class="editable-date"></div>',inputclass:null,format:"yyyy-mm-dd",viewformat:null,datepicker:{firstDay:0,changeYear:!0,changeMonth:!0,showOtherMonths:!0},clear:"&times; clear"}),i.fn.editabletypes.dateui=n})(window.jQuery),(e=>{function i(t){this.init("dateuifield",t,i.defaults),this.initPicker(t,i.defaults)}e.fn.editableutils.inherit(i,e.fn.editabletypes.dateui),e.extend(i.prototype,{render:function(){this.$input.datepicker(this.options.datepicker),e.fn.editabletypes.text.prototype.renderClear.call(this)},value2input:function(t){this.$input.val(e.datepicker.formatDate(this.options.viewformat,t))},input2value:function(){return this.html2value(this.$input.val())},activate:function(){e.fn.editabletypes.text.prototype.activate.call(this)},toggleClear:function(){e.fn.editabletypes.text.prototype.toggleClear.call(this)},autosubmit:function(){}}),i.defaults=e.extend({},e.fn.editabletypes.dateui.defaults,{tpl:'<input type="text"/>',inputclass:null,datepicker:{showOn:"button",buttonImage:"http://jqueryui.com/resources/demos/datepicker/images/calendar.gif",buttonImageOnly:!0,firstDay:0,changeYear:!0,changeMonth:!0,showOtherMonths:!0},clear:!1}),e.fn.editabletypes.dateuifield=i})(window.jQuery);