-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathjquery.inplace.edit.min.js
1 lines (1 loc) · 3.46 KB
/
jquery.inplace.edit.min.js
1
(function(t,n,i,s){function e(n,i){this.$el=t(n),this.options=t.extend({},a,i),this._defaults=a,this._name=o,this.init()}var o="inplaceEdit",a={css_main_container_class:"inplaceEdit",css_value_container_class:"inplaceValue",css_input_container_class:"inplaceInput",css_input_classes:"",fade:!1};e.prototype={init:function(){return this.value=this.$el.text(),this.$el.addClass(this.options.css_main_container_class),this.html=t(this._get_func("getHTML").apply(this,[this.$el,this.options])),this.html.filter("."+this.options.css_input_container_class).hide(),this.$el.html(this.html).bind("click."+o,t.proxy(this._get_func("onClick"),this)),this},_get_func:function(t){return this.options[t]?this.options[t]:this[t]},getHTML:function(t,n){return"<span class='"+n.css_value_container_class+"'>"+this.value+"</span>"+"<span class='"+n.css_input_container_class+"'><input type='text' class='"+n.css_input_classes+"' /></span>"},onClick:function(){var n=this,i=t("."+n.options.css_value_container_class,n.$el),s=t("."+n.options.css_input_container_class,n.$el);s.is(":hidden")&&n._get_func("showInput").apply(n,[i,s,function(){var i=s.find("input");i.val(n.value).focus().bind("keydown."+o,t.proxy(n._get_func("onKeyDown"),i,n)).bind("focusout."+o,t.proxy(n._get_func("onFocusOut"),i,n)).trigger("inputLoad."+o,[n])}])},onKeyDown:function(n,i){return key=i.keyCode?i.keyCode:i.which,13==key||9==key?(i.preventDefault(),i.stopPropagation(),n._get_func("update").apply(n,[t(this),t("."+n.options.css_input_container_class,n.$el),t("."+n.options.css_value_container_class,n.$el)]),!1):27==key?(i.preventDefault(),i.stopPropagation(),n._get_func("dismiss").apply(n,[t("."+n.options.css_value_container_class,n.$el),t("."+n.options.css_input_container_class,n.$el)]),!1):s},onFocusOut:function(n){n._get_func("dismiss").apply(n,[t("."+n.options.css_value_container_class,n.$el),t("."+n.options.css_input_container_class,n.$el)])},onValidation:function(){return!0},onBeforeUpdate:function(){},onUpdate:function(){return!0},onAfterUpdate:function(){},onUpdateError:function(){},update:function(t,n,i){var s=this,e=!1,a=!1;e=this._get_func("onValidation").apply(this,[t,n,i]),e===!0&&(this.value=t.val(),i.text(this.value),this._get_func("onBeforeUpdate").apply(this,[t,n,i]),a=this._get_func("onUpdate").apply(this,[t,n,i]),a?(this._get_func("onAfterUpdate").apply(this,[t,n,i]),n.is(":visible")&&(t.trigger("inputUpdate."+o,[this,t,n,i]),this._get_func("hideInput").apply(this,[i,n,function(){t.val("").unbind("keydown."+o).unbind("focusout."+o),t.trigger("inputUnload."+o,[s,t,n,i])}]))):this._get_func("onUpdateError").apply(this,[t,n,i]))},dismiss:function(t,n){var i=this;n.is(":visible")&&this._get_func("hideInput").apply(this,[t,n,function(){$input=n.find("input"),$input.val("").unbind("keydown."+o).unbind("focusout."+o),$input.trigger("inputUnload."+o,[i,$input,n,t])}])},showInput:function(t,n,i){this.options.fade?t.fadeOut(function(){n.fadeIn(i)}):t.hide(0,function(){n.show(0,i)})},hideInput:function(t,n,i){this.options.fade?n.fadeOut(function(){t.fadeIn(i)}):n.hide(0,function(){t.show(0,i)})}},t.fn[o]=function(n,i){if(n===s||"object"==typeof n)return this.each(function(){t.data(this,"plugin_"+o)||t.data(this,"plugin_"+o,new e(this,n))});if("string"==typeof n&&"_"!==n[0]&&"init"!==n){var a;return this.each(function(){var s=t.data(this,"plugin_"+o);s instanceof e&&"function"==typeof s[n]&&(a=s[n].apply(s,i?Array.prototype.slice.call(i,1):i)),"destroy"===n&&t.data(this,"plugin_"+o,null)}),a!==s?a:this}}})(jQuery,window,document);