!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):e(window.jQuery)}(function(d){var c=d.summernote.ui,l=d.summernote.dom;d.extend(!0,d.summernote,{plugins:{databasic:function(i){var r=this,n=i.options,s=n.langInfo;r.icon='',i.memo("button.databasic",function(){return c.button({contents:r.icon,tooltip:s.databasic.insert,click:i.createInvokeHandler("databasic.showDialog")}).render()}),i.memo("button.databasicDialog",function(){return c.button({contents:r.icon,tooltip:s.databasic.edit,click:i.createInvokeHandler("databasic.showDialog")}).render()}),i.memo("button.databasicSize100",function(){return c.button({contents:'100%',tooltip:s.image.resizeFull,click:i.createInvokeHandler("editor.resize","1")}).render()}),i.memo("button.databasicSize50",function(){return c.button({contents:'50%',tooltip:s.image.resizeHalf,click:i.createInvokeHandler("editor.resize","0.5")}).render()}),i.memo("button.databasicSize25",function(){return c.button({contents:'25%',tooltip:s.image.resizeQuarter,click:i.createInvokeHandler("editor.resize","0.25")}).render()}),r.events={"summernote.init":function(e,t){d("data.ext-databasic",t.editable).each(function(){r.setContent(d(this))})},"summernote.keyup summernote.mouseup summernote.change summernote.scroll":function(){r.update()},"summernote.dialog.shown":function(){r.hidePopover()}},r.initialize=function(){var e=n.dialogsInBody?d(document.body):i.layoutInfo.editor,t='
',o='";r.$dialog=c.dialog({title:s.databasic.name,fade:n.dialogsFade,body:t,footer:o}).render().appendTo(e),r.$popover=c.popover({className:"ext-databasic-popover"}).render().appendTo("body");var a=r.$popover.find(".popover-content");i.invoke("buttons.build",a,n.popover.databasic)},r.destroy=function(){r.$popover.remove(),r.$popover=null,r.$dialog.remove(),r.$dialog=null},r.update=function(){var e,t,o,a;i.invoke("editor.hasFocus")?(t=!1,!(e=i.invoke("editor.createRange")).isOnData()||(o=d(e.sc).closest("data.ext-databasic")).length&&(a=l.posFromPlaceholder(o[0]),r.$popover.css({display:"block",left:a.left,top:a.top}),i.invoke("editor.saveTarget",o[0]),t=!0),t||r.hidePopover()):r.hidePopover()},r.hidePopover=function(){r.$popover.hide()},r.getInfo=function(){var e=i.invoke("editor.createRange");if(e.isOnData()){var t=d(e.sc).closest("data.ext-databasic");if(t.length)return{node:t,test:t.attr("data-test")}}return{}},r.setContent=function(e){e.html(''+r.icon+" "+s.databasic.name+": "+e.attr("data-test")+"
")},r.updateNode=function(e){r.setContent(e.node.attr("data-test",e.test))},r.createNode=function(e){var t=d('');return t&&(e.node=t,i.invoke("editor.insertNode",t[0])),t},r.showDialog=function(){var t=r.getInfo(),o=!t.node;i.invoke("editor.saveRange"),r.openDialog(t).then(function(e){c.hideDialog(r.$dialog),i.invoke("editor.restoreRange"),o&&r.createNode(t),d.extend(t,e),r.updateNode(t)}).fail(function(){i.invoke("editor.restoreRange")})},r.openDialog=function(n){return d.Deferred(function(t){function e(e){13===e.keyCode&&a.trigger("click")}var o=r.$dialog.find(".ext-databasic-test"),a=r.$dialog.find(".ext-databasic-save");c.onDialogShown(r.$dialog,function(){i.triggerEvent("dialog.shown"),o.val(n.test).on("input",function(){c.toggleBtn(a,o.val())}).trigger("focus").on("keyup",e),a.text(n.node?s.databasic.edit:s.databasic.insert).click(function(e){e.preventDefault(),t.resolve({test:o.val()})}),c.toggleBtn(a,o.val())}),c.onDialogHidden(r.$dialog,function(){o.off("input keyup"),a.off("click"),"pending"===t.state()&&t.reject()}),c.showDialog(r.$dialog)})}}},options:{popover:{databasic:[["databasic",["databasicDialog","databasicSize100","databasicSize50","databasicSize25"]]]}},lang:{"en-US":{databasic:{name:"Basic Data Container",insert:"insert basic data container",edit:"edit basic data container",testLabel:"test input"}}}})});