Dashboard sipadu mbip
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.

aui-editable-min.js 4.7KB

1
  1. AUI.add("aui-editable",function(c){var h=c.Lang,j=h.String,b=h.isFunction,d=c.getClassName,f=c.config.doc,e="hover",l="editable",a=d(l,"editing"),g=d(l,e),i="contentBox";var k=c.Component.create({NAME:l,ATTRS:{cancelButton:{valueFn:function(){var m=this;return{id:"cancel",icon:"circle-close",handler:{context:m,fn:m.cancel}};}},contentText:{value:"",setter:function(n){var m=this;n=h.trim(n);m._toText(n);return n;}},eventType:{value:"click"},formatInput:{value:null,validator:b},formatOutput:{value:null,validator:b},icons:{value:[]},inputType:{value:"text",setter:function(n){var m=this;if(n!="text"&&n!="textarea"){n=c.Attribute.INVALID_VALUE;}return n;}},node:{setter:function(n){var m=c.one(n);if(!m){c.error("AUI.Editable: Invalid Node Given: "+n);}return m;}},renderTo:{value:f.body,setter:function(o){var m=this;var n;if(o=="node"){n=m.get(o);}else{n=c.one(o);}if(!n){c.error("AUI.Editable: Invalid renderTo Given: "+o);}return n;}},saveButton:{valueFn:function(){var m=this;return{id:"save",icon:"circle-check",handler:{context:m,fn:m.save}};}},visible:{value:false}},UI_ATTRS:["node"],prototype:{initializer:function(){var m=this;m._uiSetNode(m.get("node"));m._createEvents();},renderUI:function(){var m=this;var n=m.get(i);var p=m.get("inputType");var r={};var o=m.get("icons");if(o!==false){var t=m.get("cancelButton");var q=m.get("saveButton");if(t!==false){o.push(t);}if(q!==false){o.push(q);}r.icons=o;}if(p!="text"){c.mix(r,{field:{autoSize:true},fieldWidget:c.Textarea});}var s=new c.Combobox(r).render(n);m._comboBox=s;m.inputNode=s.get("node");},bindUI:function(){var m=this;var n=m.get(i);var p=m.get("node");var o=m.inputNode;o.on("keypress",m._onKeypressEditable,m);m.after("contentTextChange",m._syncContentText);n.swallowEvent("click");c.getDoc().after("click",m._afterFocusedChangeEditable,m);},syncUI:function(){var m=this;var n=m.get("node").get("innerHTML");n=n.replace(/\n|\r/gim,"");n=h.trim(n);n=m._toText(n);m._setInput(n);m.set("contentText",n,{initial:true});},cancel:function(){var m=this;m.fire("cancel");},save:function(n){var m=this;m.fire("save");},_afterFocusedChangeEditable:function(n){var m=this;m.fire("stopEditing",m.get("visible"));},_createEvents:function(){var m=this;m.publish("startEditing",{bubbles:true,defaultFn:m._defStartEditingFn,emitFacade:true,queable:false});m.publish("stopEditing",{bubbles:true,defaultFn:m._defStopEditingFn,emitFacade:true,queable:false});m.publish("save",{bubbles:true,defaultFn:m._defSaveFn,emitFacade:true,queable:false});m.publish("cancel",{bubbles:true,defaultFn:m._defCancelFn,emitFacade:true,queable:false});},_defCancelFn:function(n){var m=this;m.fire("stopEditing",false);},_defSaveFn:function(n){var m=this;m.fire("stopEditing",true);},_defStartEditingFn:function(m){var t=this;var q=t.get("boundingBox");var p=t.get("node");var r=t.inputNode;var n=p.get("offsetHeight");var s=p.get("offsetWidth");t.show();p.addClass(a);var u=p.getXY();q.setStyles({height:n+"px",left:u[0]+"px",top:u[1]+"px",width:s+"px"});var o=t._comboBox._field;o.set("width",s);o.fire("adjustSize");r.focus();r.select();},_defStopEditingFn:function(o,n){var m=this;m.hide();m.get("node").removeClass(a);if(n){m.set("contentText",m.inputNode.get("value"));}else{m._setInput(m.get("contentText"));}},_onKeypressEditable:function(n){var m=this;if(n.isKey("ESC")){n.preventDefault();m.cancel();}else{if(n.isKey("ENTER")&&(m.get("inputType")=="text")){m.save();}}},_onMouseEnterEditable:function(n){var m=this;m.get("node").addClass(g);},_onMouseLeaveEditable:function(n){var m=this;m.get("node").removeClass(g);},_setInput:function(o){var m=this;var n=m.get("formatInput");if(n){o=n.call(m,o);}else{o=m._toText(o);}m.inputNode.set("value",j.unescapeEntities(o));},_setOutput:function(o){var n=this;var m=n.get("formatOutput");if(m){o=m.call(n,o);}else{o=n._toHTML(o);}n.get("node").set("innerHTML",c.Escape.html(o));},_startEditing:function(n){var m=this;if(!m.get("rendered")){m.render(m.get("renderTo"));}m.fire("startEditing");n.halt();},_syncContentText:function(o){var m=this;if(!o.initial){var n=o.newVal;m._setInput(n);m._setOutput(n);}},_toHTML:function(n){var m=this;return String(n).replace(/\n/gim,"<br/>");},_toText:function(n){var m=this;n=String(n);n=n.replace(/<br\s*\/?>/gim,"\n");n=n.replace(/(<\/?[^>]+>|\t)/gim,"");return n;},_uiSetNode:function(o){var m=this;if(m._mouseEnterHandler){m._mouseEnterHandler.detach();}if(m._mouseLeaveHandler){m._mouseLeaveHandler.detach();}if(m._interactionHandler){m._interactionHandler.detach();}var n=m.get("eventType");m._mouseEnterHandler=o.on("mouseenter",m._onMouseEnterEditable,m);m._mouseLeaveHandler=o.on("mouseleave",m._onMouseLeaveEditable,m);m._interactionHandler=o.on(n,m._startEditing,m);}}});c.Editable=k;},"@VERSION@",{requires:["aui-base","aui-form-combobox","escape"],skinnable:true});