PageSourceSearch

https://umis.ubids.edu.gh/vendors/text_editor/summernote-bs4.js

js ubids.edu.gh collected 2026-09-24 09:43:33 UTC 183,859 bytes, 585 lines download raw bytes

1(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?factory(require('jquery')):typeof define==='function'&&define.amd?define(['jquery'],factory):(global=global||self,factory(global.jQuery));}(this,function($$1){'use strict';$$1=$$1&&$$1.hasOwnProperty('default')?$$1['default']:$$1;var Renderer=(function(){function Renderer(markup,children,options,callback){this.markup=markup;this.children=children;this.options=options;this.callback=callback;}
2Renderer.prototype.render=function($parent){var $node=$$1(this.markup);if(this.options&&this.options.contents){$node.html(this.options.contents);}
3if(this.options&&this.options.className){$node.addClass(this.options.className);}
4if(this.options&&this.options.data){$$1.each(this.options.data,function(k,v){$node.attr('data-'+k,v);});}
5if(this.options&&this.options.click){$node.on('click',this.options.click);}
6if(this.children){var $container_1=$node.find('.note-children-container');this.children.forEach(function(child){child.render($container_1.length?$container_1:$node);});}
7if(this.callback){this.callback($node,this.options);}
8if(this.options&&this.options.callback){this.options.callback($node);}
9if($parent){$parent.append($node);}
10return $node;};return Renderer;}());var renderer={create:function(markup,callback){return function(){var options=typeof arguments[1]==='object'?arguments[1]:arguments[0];var children=Array.isArray(arguments[0])?arguments[0]:[];if(options&&options.children){children=options.children;}
11return new Renderer(markup,children,options,callback);};}};var TooltipUI=(function(){function TooltipUI($node,options){this.$node=$node;this.options=$.extend({},{title:'',target:options.container,trigger:'hover focus',placement:'bottom'},options);this.$tooltip=$(['<div class="note-tooltip in">','  <div class="note-tooltip-arrow"/>','  <div class="note-tooltip-content"/>','</div>',].join(''));if(this.options.trigger!=='manual'){var showCallback_1=this.show.bind(this);var hideCallback_1=this.hide.bind(this);var toggleCallback_1=this.toggle.bind(this);this.options.trigger.split(' ').forEach(function(eventName){if(eventName==='hover'){$node.off('mouseenter mouseleave');$node.on('mouseenter',showCallback_1).on('mouseleave',hideCallback_1);}
12else if(eventName==='click'){$node.on('click',toggleCallback_1);}
13else if(eventName==='focus'){$node.on('focus',showCallback_1).on('blur',hideCallback_1);}});}}
14TooltipUI.prototype.show=function(){var $node=this.$node;var offset=$node.offset();var $tooltip=this.$tooltip;var title=this.options.title||$node.attr('title')||$node.data('title');var placement=this.options.placement||$node.data('placement');$tooltip.addClass(placement);$tooltip.addClass('in');$tooltip.find('.note-tooltip-content').text(title);$tooltip.appendTo(this.options.target);var nodeWidth=$node.outerWidth();var nodeHeight=$node.outerHeight();var tooltipWidth=$tooltip.outerWidth();var tooltipHeight=$tooltip.outerHeight();if(placement==='bottom'){$tooltip.css({top:offset.top+nodeHeight,left:offset.left+(nodeWidth/2-tooltipWidth/2)});}
15else if(placement==='top'){$tooltip.css({top:offset.top-tooltipHeight,left:offset.left+(nodeWidth/2-tooltipWidth/2)});}
16else if(placement==='left'){$tooltip.css({top:offset.top+(nodeHeight/2-tooltipHeight/2),left:offset.left-tooltipWidth});}
17else if(placement==='right'){$tooltip.css({top:offset.top+(nodeHeight/2-tooltipHeight/2),left:offset.left+nodeWidth});}};TooltipUI.prototype.hide=function(){this.$tooltip.removeClass('in');this.$tooltip.remove();};TooltipUI.prototype.toggle=function(){if(this.$tooltip.hasClass('in')){this.hide();}
18else{this.show();}};return TooltipUI;}());var DropdownUI=(function(){function DropdownUI($node,options){this.$button=$node;this.options=$.extend({},{target:options.container},options);this.setEvent();}
19DropdownUI.prototype.setEvent=function(){var _this=this;this.$button.on('click',function(e){_this.toggle();e.stopImmediatePropagation();});};DropdownUI.prototype.clear=function(){var $parent=$('.note-btn-group.open');$parent.find('.note-btn.active').removeClass('active');$parent.removeClass('open');};DropdownUI.prototype.show=function(){this.$button.addClass('active');this.$button.parent().addClass('open');var $dropdown=this.$button.next();var offset=$dropdown.offset();var width=$dropdown.outerWidth();var windowWidth=$(window).width();var targetMarginRight=parseFloat($(this.options.target).css('margin-right'));if(offset.left+width>windowWidth-targetMarginRight){$dropdown.css('margin-left',windowWidth-targetMarginRight-(offset.left+width));}
20else{$dropdown.css('margin-left','');}};DropdownUI.prototype.hide=function(){this.$button.removeClass('active');this.$button.parent().removeClass('open');};DropdownUI.prototype.toggle=function(){var isOpened=this.$button.parent().hasClass('open');this.clear();if(isOpened){this.hide();}
21else{this.show();}};return DropdownUI;}());$(document).on('click',function(e){if(!$(e.target).closest('.note-btn-group').length){$('.note-btn-group.open').removeClass('open');}});$(document).on('click.note-dropdown-menu',function(e){$(e.target).closest('.note-dropdown-menu').parent().removeClass('open');});var ModalUI=(function(){function ModalUI($node,options){this.options=$.extend({},{target:options.container||'body'},options);this.$modal=$node;this.$backdrop=$('<div class="note-modal-backdrop" />');}
22ModalUI.prototype.show=function(){if(this.options.target==='body'){this.$backdrop.css('position','fixed');this.$modal.css('position','fixed');}
23else{this.$backdrop.css('position','absolute');this.$modal.css('position','absolute');}
24this.$backdrop.appendTo(this.options.target).show();this.$modal.appendTo(this.options.target).addClass('open').show();this.$modal.trigger('note.modal.show');this.$modal.off('click','.close').on('click','.close',this.hide.bind(this));};ModalUI.prototype.hide=function(){this.$modal.removeClass('open').hide();this.$backdrop.hide();this.$modal.trigger('note.modal.hide');};
24return ModalUI;}());var editor=renderer.create('<div class="note-editor note-frame"/>');var toolbar=renderer.create('<div class="note-toolbar" role="toolbar"/>');var editingArea=renderer.create('<div class="note-editing-area"/>');var codable=renderer.create('<textarea class="note-codable" role="textbox" aria-multiline="true"/>');var editable=renderer.create('<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>');var statusbar=renderer.create(['<output class="note-status-output" role="status" aria-live="polite"/>','<div class="note-statusbar" role="resize">','  <div class="note-resizebar" role="seperator" aria-orientation="horizontal" aria-label="resize">','    <div class="note-icon-bar"/>','    <div class="note-icon-bar"/>','    <div class="note-icon-bar"/>','  </div>','</div>',].join(''));var airEditor=renderer.create('<div class="note-editor"/>');var airEditable=renderer.create(['<div class="note-editable" contentEditable="true" role="textbox" aria-multiline="true"/>','<output class="note-status-output" role="status" aria-live="polite"/>',].join(''));var buttonGroup=renderer.create('<div class="note-btn-group">');var button=renderer.create('<button type="button" class="note-btn" role="button" tabindex="-1">',function($node,options){if(options&&options.tooltip){$node.attr({'aria-label':options.tooltip});$node.data('_lite_tooltip',new TooltipUI($node,{title:options.tooltip,container:options.container})).on('click',function(e){$(e.currentTarget).data('_lite_tooltip').hide();});}
25if(options.contents){$node.html(options.contents);}
26if(options&&options.data&&options.data.toggle==='dropdown'){$node.data('_lite_dropdown',new DropdownUI($node,{container:options.container}));}});var dropdown=renderer.create('<div class="note-dropdown-menu" role="list">',function($node,options){var markup=Array.isArray(options.items)?options.items.map(function(item){var value=(typeof item==='string')?item:(item.value||'');var content=options.template?options.template(item):item;var $temp=$('<a class="note-dropdown-item" href="#" data-value="'+value+'" role="listitem" aria-label="'+value+'"></a>');$temp.html(content).data('item',item);return $temp;}):options.items;$node.html(markup).attr({'aria-label':options.title});$node.on('click','> .note-dropdown-item',function(e){var $a=$(this);var item=$a.data('item');var value=$a.data('value');if(item.click){item.click($a);}
27else if(options.itemClick){options.itemClick(e,item,value);}});});var dropdownCheck=renderer.create('<div class="note-dropdown-menu note-check" role="list">',function($node,options){var markup=Array.isArray(options.items)?options.items.map(function(item){var value=(typeof item==='string')?item:(item.value||'');var content=options.template?options.template(item):item;var $temp=$('<a class="note-dropdown-item" href="#" data-value="'+value+'" role="listitem" aria-label="'+item+'"></a>');$temp.html([icon(options.checkClassName),' ',content]).data('item',item);return $temp;}):options.items;$node.html(markup).attr({'aria-label':options.title});$node.on('click','> .note-dropdown-item',function(e){var $a=$(this);var item=$a.data('item');var value=$a.data('value');if(item.click){item.click($a);}
28else if(options.itemClick){options.itemClick(e,item,value);}});});var dropdownButtonContents=function(contents,options){return contents+' '+icon(options.icons.caret,'span');};var dropdownButton=function(opt,callback){return buttonGroup([button({className:'dropdown-toggle',contents:opt.title+' '+icon('note-icon-caret'),tooltip:opt.tooltip,data:{toggle:'dropdown'}}),dropdown({className:opt.className,items:opt.items,template:opt.template,itemClick:opt.itemClick}),],{callback:callback}).render();};var dropdownCheckButton=function(opt,callback){return buttonGroup([button({className:'dropdown-toggle',contents:opt.title+' '+icon('note-icon-caret'),tooltip:opt.tooltip,data:{toggle:'dropdown'}}),dropdownCheck({className:opt.className,checkClassName:opt.checkClassName,items:opt.items,template:opt.template,itemClick:opt.itemClick}),],{callback:callback}).render();};var paragraphDropdownButton=function(opt){return buttonGroup([button({className:'dropdown-toggle',contents:opt.title+' '+icon('note-icon-caret'),tooltip:opt.tooltip,data:{toggle:'dropdown'}}),dropdown([buttonGroup({className:'note-align',children:opt.items[0]}),buttonGroup({className:'note-list',children:opt.items[1]}),]),]).render();};var tableMoveHandler=function(event,col,row){var PX_PER_EM=18;var $picker=$(event.target.parentNode);var $dimensionDisplay=$picker.next();var $catcher=$picker.find('.note-dimension-picker-mousecatcher');var $highlighted=$picker.find('.note-dimension-picker-highlighted');var $unhighlighted=$picker.find('.note-dimension-picker-unhighlighted');var posOffset;if(event.offsetX===undefined){var posCatcher=$(event.target).offset();posOffset={x:event.pageX-posCatcher.left,y:event.pageY-posCatcher.top};}
29else{posOffset={x:event.offsetX,y:event.offsetY};}
30var dim={c:Math.ceil(posOffset.x/PX_PER_EM)||1,r:Math.ceil(posOffset.
vendor: 5,269 bytes, lines 30-42
30y/PX_PER_EM)||1};$highlighted.css({width:dim.c+'em',height:dim.r+'em'});$catcher.data('value',dim.c+'x'+dim.r);if(dim.c>3&&dim.c<col){$unhighlighted.css({width:dim.c+1+'em'});}
31if(dim.r>3&&dim.r<row){$unhighlighted.css({height:dim.r+1+'em'});}
32$dimensionDisplay.html(dim.c+' x '+dim.r);};var tableDropdownButton=function(opt){return buttonGroup([button({className:'dropdown-toggle',contents:opt.title+' '+icon('note-icon-caret'),tooltip:opt.tooltip,data:{toggle:'dropdown'}}),dropdown({className:'note-table',items:['<div class="note-dimension-picker">','  <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>','  <div class="note-dimension-picker-highlighted"/>','  <div class="note-dimension-picker-unhighlighted"/>','</div>','<div class="note-dimension-display">1 x 1</div>',].join('')}),],{callback:function($node){var $catcher=$node.find('.note-dimension-picker-mousecatcher');$catcher.css({width:opt.col+'em',height:opt.row+'em'}).mousedown(opt.itemClick).mousemove(function(e){tableMoveHandler(e,opt.col,opt.row);});}}).render();};var palette=renderer.create('<div class="note-color-palette"/>',function($node,options){var contents=[];for(var row=0,rowSize=options.colors.length;row<rowSize;row++){var eventName=options.eventName;var colors=options.colors[row];var colorsName=options.colorsName[row];var buttons=[];for(var col=0,colSize=colors.length;col<colSize;col++){var color=colors[col];var colorName=colorsName[col];buttons.push(['<button type="button" class="note-btn note-color-btn"','style="background-color:',color,'" ','data-event="',eventName,'" ','data-value="',color,'" ','title="',colorName,'" ','aria-label="',colorName,'" ','data-toggle="button" tabindex="-1"></button>',].join(''));}
33contents.push('<div class="note-color-row">'+buttons.join('')+'</div>');}
34$node.html(contents.join(''));$node.find('.note-color-btn').each(function(){$(this).data('_lite_tooltip',new TooltipUI($(this),{container:options.container}));});});var colorDropdownButton=function(opt,type){return buttonGroup({className:'note-color',children:[button({className:'note-current-color-button',contents:opt.title,tooltip:opt.lang.color.recent,click:opt.currentClick,callback:function($button){var $recentColor=$button.find('.note-recent-color');if(type!=='foreColor'){$recentColor.css('background-color','#FFFF00');$button.attr('data-backColor','#FFFF00');}}}),button({className:'dropdown-toggle',contents:icon('note-icon-caret'),tooltip:opt.lang.color.more,data:{toggle:'dropdown'}}),dropdown({items:['<div>','<div class="note-btn-group btn-background-color">','  <div class="note-palette-title">'+opt.lang.color.background+'</div>','  <div>','<button type="button" class="note-color-reset note-btn note-btn-block" '+
35' data-event="backColor" data-value="inherit">',opt.lang.color.transparent,'    </button>','  </div>','  <div class="note-holder" data-event="backColor"/>','  <div class="btn-sm">','    <input type="color" id="html5bcp" class="note-btn btn-default" value="#21104A" style="width:100%;" data-value="cp">','    <button type="button" class="note-color-reset btn" data-event="backColor" data-value="cpbackColor">',opt.lang.color.cpSelect,'    </button>','  </div>','</div>','<div class="note-btn-group btn-foreground-color">','  <div class="note-palette-title">'+opt.lang.color.foreground+'</div>','  <div>','<button type="button" class="note-color-reset note-btn note-btn-block" '+
36' data-event="removeFormat" data-value="foreColor">',opt.lang.color.resetToDefault,'    </button>','  </div>','  <div class="note-holder" data-event="foreColor"/>','  <div class="btn-sm">','    <input type="color" id="html5fcp" class="note-btn btn-default" value="#21104A" style="width:100%;" data-value="cp">','    <button type="button" class="note-color-reset btn" data-event="foreColor" data-value="cpforeColor">',opt.lang.color.cpSelect,'    </button>','  </div>','</div>','</div>',].join(''),callback:function($dropdown){$dropdown.find('.note-holder').each(function(){var $holder=$(this);$holder.append(palette({colors:opt.colors,eventName:$holder.data('event')}).render());});if(type==='fore'){$dropdown.find('.btn-background-color').hide();$dropdown.css({'min-width':'210px'});}
37else if(type==='back'){$dropdown.find('.btn-foreground-color').hide();$dropdown.css({'min-width':'210px'});}},click:function(event){var $button=$(event.target);var eventName=$button.data('event');var value=$button.data('value');var foreinput=document.getElementById('html5fcp').value;var backinput=document.getElementById('html5bcp').value;if(value==='cp'){event.stopPropagation();}
38else if(value==='cpbackColor'){value=backinput;}
39else if(value==='cpforeColor'){value=foreinput;}
40if(eventName&&value){var key=eventName==='backColor'?'background-color':'color';var $color=$button.closest('.note-color').find('.note-recent-color');var $currentButton=$button.closest('.note-color').find('.note-current-color-button');$color.css(key,value);$currentButton.attr('data-'+eventName,value);if(type==='fore'){opt.itemClick('foreColor',value);}
41else if(type==='back'){opt.itemClick('backColor',value);}
42else{opt.itemClick(eventName,value);}}}}),]}).render();};var dialog=renderer.create('<div class="note-modal" aria-hidden="false" tabindex="-1" role="dialog"/>
42',function($node,options){if(options.fade){$node.addClass('fade');}
43$node.attr({'aria-label':options.title});$node.html(['  <div class="note-modal-content">',(options.title?'    <div class="note-modal-header">'+
44'      <button type="button" class="close" aria-label="Close" aria-hidden="true"><i class="note-icon-close"></i></button>'+
45'      <h4 class="note-modal-title">'+options.title+'</h4>'+
46'    </div>':''),'    <div class="note-modal-body">'+options.body+'</div>',(options.footer?'    <div class="note-modal-footer">'+options.footer+'</div>':''),'  </div>',].join(''));$node.data('modal',new ModalUI($node,options));});var videoDialog=function(opt){var body='<div class="note-form-group">'+
47'<label class="note-form-label">'+
48opt.lang.video.url+' <small class="text-muted">'+
49opt.lang.video.providers+'</small>'+
50'</label>'+
51'<input class="note-video-url note-input" type="text" />'+
52'</div>';var footer=['<button type="button" href="#" class="note-btn note-btn-primary note-video-btn disabled" disabled>',opt.lang.video.insert,'</button>',].join('');return dialog({title:opt.lang.video.insert,fade:opt.fade,body:body,footer:footer}).render();};var imageDialog=function(opt){var body='<div class="note-form-group note-group-select-from-files">'+
53'<label class="note-form-label">'+opt.lang.image.selectFromFiles+'</label>'+
54'<input class="note-note-image-input note-input" type="file" name="files" accept="image/*" multiple="multiple" />'+
55opt.imageLimitation+
56'</div>'+
57'<div class="note-form-group" style="overflow:auto;">'+
58'<label class="note-form-label">'+opt.lang.image.url+'</label>'+
59'<input class="note-image-url note-input" type="text" />'+
60'</div>';var footer=['<button href="#" type="button" class="note-btn note-btn-primary note-btn-large note-image-btn disabled" disabled>',opt.lang.image.insert,'</button>',].join('');return dialog({title:opt.lang.image.insert,fade:opt.fade,body:body,footer:footer}).render();};var linkDialog=function(opt){var body='<div class="note-form-group">'+
61'<label class="note-form-label">'+opt.lang.link.textToDisplay+'</label>'+
62'<input class="note-link-text note-input" type="text" />'+
63'</div>'+
64'<div class="note-form-group">'+
65'<label class="note-form-label">'+opt.lang.link.url+'</label>'+
66'<input class="note-link-url note-input" type="text" value="http://" />'+
67'</div>'+
68(!opt.disableLinkTarget?'<div class="checkbox">'+
69'<label>'+'<input type="checkbox" checked> '+opt.lang.link.openInNewWindow+'</label>'+
70'</div>':'');var footer=['<button href="#" type="button" class="note-btn note-btn-primary note-link-btn disabled" disabled>',opt.lang.link.insert,'</button>',].join('');return dialog({className:'link-dialog',title:opt.lang.link.insert,fade:opt.fade,body:body,footer:footer}).render();};var popover=renderer.create(['<div class="note-popover bottom">','  <div class="note-popover-arrow"/>','  <div class="popover-content note-children-container"/>','</div>',].join(''),function($node,options){var direction=typeof options.direction!=='undefined'?options.direction:'bottom';$node.addClass(direction).hide();if(options.hideArrow){$node.find('.note-popover-arrow').hide();}});var checkbox=renderer.create('<div class="checkbox"></div>',function($node,options){$node.html(['<label'+(options.id?' for="'+options.id+'"':'')+'>',' <input role="checkbox" type="checkbox"'+(options.id?' id="'+options.id+'"':''),(options.checked?' checked':''),' aria-checked="'+(options.checked?'true':'false')+'"/>',(options.text?options.text:''),'</label>',].join(''));});var icon=function(iconClassName,tagName){tagName=tagName||'i';return '<'+tagName+' class="'+iconClassName+'"/>';};var ui={editor:editor,toolbar:toolbar,editingArea:editingArea,codable:codable,editable:editable,statusbar:statusbar,airEditor:airEditor,airEditable:airEditable,buttonGroup:buttonGroup,button:button,dropdown:dropdown,dropdownCheck:dropdownCheck,dropdownButton:dropdownButton,dropdownButtonContents:dropdownButtonContents,dropdownCheckButton:dropdownCheckButton,paragraphDropdownButton:paragraphDropdownButton,tableDropdownButton:tableDropdownButton,colorDropdownButton:colorDropdownButton,palette:palette,dialog:dialog,videoDialog:videoDialog,imageDialog:imageDialog,linkDialog:linkDialog,popover:popover,checkbox:checkbox,icon:icon,toggleBtn:function($btn,isEnable){$btn.toggleClass('disabled',!isEnable);$btn.attr('disabled',!isEnable);},toggleBtnActive:function($btn,isActive){$btn.toggleClass('active',isActive);},check:function($dom,value){$dom.find('.checked').removeClass('checked');$dom.find('[data-value="'+value+'"]').addClass('checked');},onDialogShown:function($dialog,handler){$dialog.one('note.modal.show',handler);},onDialogHidden:function($dialog,handler){$dialog.one('note.modal.hide',handler);},showDialog:function($dialog){$dialog.data('modal').show();},hideDialog:function($dialog){$dialog.data('modal').hide();},getPopoverContent:function($popover){return $popover.find('.note-popover-content');},getDialogBody:function($dialog){return $dialog.find('.note-modal-body');},createLayout:function($note,options){var $editor=(options.airMode?ui.airEditor([ui.editingArea([ui.airEditable(),]),]):ui.editor([ui.toolbar(),ui.editingArea([ui.codable(),ui.editable(),]),ui.statusbar(),])).render();$editor.insertAfter($note);return{note:$note,editor:$editor,toolbar:$editor.find('.note-toolbar'),editingArea:$editor.find('.note-editing-area'),editable:$editor.find('.note-editable'),codable:$editor.find('.note-codable'),statusbar:$editor.find('.note-statusbar')};},removeLayout:function($note,layoutInfo){$note.html(layoutInfo.editable.html());layoutInfo.editor.remove();$note.off('summernote');$note.show();}};$$1.summernote=$$1.summernote||{lang:{}};$$1.extend($$1.summernote.lang,{'en-US':{font:{bold:'Bold',italic:'Italic',underline:'Underline',clear:'Remove Font Style',height:'Line Height',name:'Font Family',strikethrough:'Strikethrough',subscript:'Subscript',superscript:'Superscript',size:'Font Size'},image:{image:'Picture',insert:'Insert Image',resizeFull:'Resize full',resizeHalf:'Resize half',resizeQuarter:'Resize quarter',resizeNone:'Original size',floatLeft:'Float Left',floatRight:'Float Right',floatNone:'Remove float',shapeRounded:'Shape: Rounded',shapeCircle:'Shape: Circle',shapeThumbnail:'Shape: Thumbnail',shapeNone:'Shape: None',dragImageHere:'Drag image or text here',dropImage:'Drop image or Text',selectFromFiles:'Select from files',maximumFileSize:'Maximum file size',maximumFileSizeError:'Maximum file size exceeded.',url:'Image URL',remove:'Remove Image',original:'Original'},video:{video:'Video',videoLink:'Video Link',insert:'Insert Video',url:'Video URL',providers:'(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)'}
70,link:{link:'Link',insert:'Insert Link',unlink:'Unlink',edit:'Edit',textToDisplay:'Text to display',url:'To what URL should this link go?',openInNewWindow:'Open in new window'},table:{table:'Table',addRowAbove:'Add row above',addRowBelow:'Add row below',addColLeft:'Add column left',addColRight:'Add column right',delRow:'Delete row',delCol:'Delete column',delTable:'Delete table'},hr:{insert:'Insert Horizontal Rule'},style:{style:'Style',p:'Normal',blockquote:'Quote',pre:'Code',h1:'Header 1',h2:'Header 2',h3:'Header 3',h4:'Header 4',h5:'Header 5',h6:'Header 6'},lists:{unordered:'Unordered list',ordered:'Ordered list'},options:{help:'Help',fullscreen:'Full Screen',codeview:'Code View'},paragraph:{paragraph:'Paragraph',outdent:'Outdent',indent:'Indent',left:'Align left',center:'Align center',right:'Align right',justify:'Justify full'},color:{recent:'Recent Color',more:'More Color',background:'Background Color',foreground:'Foreground Color',transparent:'Transparent',setTransparent:'Set transparent',reset:'Reset',resetToDefault:'Reset to default',cpSelect:'Select'},shortcut:{shortcuts:'Keyboard shortcuts',close:'Close',textFormatting:'Text formatting',action:'Action',paragraphFormatting:'Paragraph formatting',documentStyle:'Document Style',extraKeys:'Extra keys'},help:{'insertParagraph':'Insert Paragraph','undo':'Undoes the last command','redo':'Redoes the last command','tab':'Tab','untab':'Untab','bold':'Set a bold style','italic':'Set a italic style','underline':'Set a underline style','strikethrough':'Set a strikethrough style','removeFormat':'Clean a style','justifyLeft':'Set left align','justifyCenter':'Set center align','justifyRight':'Set right align','justifyFull':'Set full align','insertUnorderedList':'Toggle unordered list','insertOrderedList':'Toggle ordered list','outdent':'Outdent on current paragraph','indent':'Indent on current paragraph','formatPara':'Change current block\'s format as a paragraph(P tag)','formatH1':'Change current block\'s format as H1','formatH2':'Change current block\'s format as H2','formatH3':'Change current block\'s format as H3','formatH4':'Change current block\'s format as H4','formatH5':'Change current block\'s format as H5','formatH6':'Change current block\'s format as H6','insertHorizontalRule':'Insert horizontal rule','linkDialog.show':'Show Link Dialog'},history:{undo:'Undo',redo:'Redo'},specialChar:{specialChar:'SPECIAL CHARACTERS',select:'Select Special characters'}}});var isSupportAmd=typeof define==='function'&&define.amd;function isFontInstalled(fontName){var testFontName=fontName==='Comic Sans MS'?'Courier New':'Comic Sans MS';var testText='mmmmmmmmmmwwwww';var testSize='200px';var canvas=document.createElement('canvas');var context=canvas.getContext('2d');context.font=testSize+" '"+testFontName+"'";var originalWidth=context.measureText(testText).width;context.font=testSize+" '"+fontName+"', '"+testFontName+"'";var width=context.measureText(testText).width;return originalWidth!==width;}
71var userAgent=navigator.userAgent;var isMSIE=/MSIE|Trident/i.test(userAgent);var browserVersion;if(isMSIE){var matches=/MSIE (\d+[.]\d+)/.exec(userAgent);if(matches){browserVersion=parseFloat(matches[1]);}
72matches=/Trident\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent);if(matches){browserVersion=parseFloat(matches[1]);}}
73var isEdge=/Edge\/\d+/.test(userAgent);var hasCodeMirror=!!window.CodeMirror;var isSupportTouch=(('ontouchstart'in window)||(navigator.MaxTouchPoints>0)||(navigator.msMaxTouchPoints>0));var inputEventName=(isMSIE||isEdge)?'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted':'input';var env={isMac:navigator.appVersion.indexOf('Mac')>-1,isMSIE:isMSIE,isEdge:isEdge,isFF:!isEdge&&/firefox/i.test(userAgent),isPhantom:/PhantomJS/i.test(userAgent),isWebkit:!isEdge&&/webkit/i.test(userAgent),isChrome:!isEdge&&/chrome/i.test(userAgent),isSafari:!isEdge&&/safari/i.test(userAgent),browserVersion:browserVersion,jqueryVersion:parseFloat($$1.fn.jquery),isSupportAmd:isSupportAmd,isSupportTouch:isSupportTouch,hasCodeMirror:hasCodeMirror,isFontInstalled:isFontInstalled,isW3CRangeSupport:!!document.createRange,inputEventName:inputEventName};function eq(itemA){return function(itemB){return itemA===itemB;};}
74function eq2(itemA,itemB){return itemA===itemB;}
75function peq2(propName){return function(itemA,itemB){return itemA[propName]===itemB[propName];};}
76function ok(){return true;}
77function fail(){return false;}
78function not(f){return function(){return!f.apply(f,arguments);};}
79function and(fA,fB){return function(item){return fA(item)&&fB(item);};}
80function self(a){return a;}
81function invoke(obj,method){return function(){return obj[method].apply(obj,arguments);};}
82var idCounter=0;function uniqueId(prefix){var id=++idCounter+'';return prefix?prefix+id:id;}
83function rect2bnd(rect){var $document=$(document);return{top:rect.top+$document.scrollTop(),left:rect.left+$document.scrollLeft(),width:rect.right-rect.left,height:rect.bottom-rect.top};}
84function invertObject(obj){var inverted={};for(var key in obj){if(obj.hasOwnProperty(key)){inverted[obj[key]]=key;}}
85return inverted;}
86function namespaceToCamel(namespace,prefix){prefix=prefix||'';return prefix+namespace.split('.').map(function(name){return name.substring(0,1).toUpperCase()+name.substring(1);}).join('');}
87function debounce(func,wait,immediate){var timeout;return function(){var context=this;var args=arguments;var later=function(){timeout=null;if(!immediate){func.apply(context,args);}};var callNow=immediate&&!timeout;clearTimeout(timeout);timeout=setTimeout(later,wait);if(callNow){func.apply(context,args);}};}
88function isValidUrl(url){var expression=/[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/gi;return expression.test(url);}
89var func={eq:eq,eq2:eq2,peq2:peq2,ok:ok,fail:fail,self:self,not:not,and:and,invoke:invoke,uniqueId:uniqueId,rect2bnd:rect2bnd,invertObject:invertObject,namespaceToCamel:namespaceToCamel,debounce:debounce,isValidUrl:isValidUrl};function head(array){return array[0];}
vendor: 12,605 bytes, lines 90-241
90function last(array){return array[array.length-1];}
91function initial(array){return array.slice(0,array.length-1);}
92function tail(array){return array.slice(1);}
93function find(array,pred){for(var idx=0,len=array.length;idx<len;idx++){var item=array[idx];if(pred(item)){return item;}}}
94function all(array,pred){for(var idx=0,len=array.length;idx<len;idx++){if(!pred(array[idx])){return false;}}
95return true;}
96function contains(array,item){if(array&&array.length&&item){return array.indexOf(item)!==-1;}
97return false;}
98function sum(array,fn){fn=fn||func.self;return array.reduce(function(memo,v){return memo+fn(v);},0);}
99function from(collection){var result=[];var length=collection.length;var idx=-1;while(++idx<length){result[idx]=collection[idx];}
100return result;}
101function isEmpty(array){return!array||!array.length;}
102function clusterBy(array,fn){if(!array.length){return[];}
103var aTail=tail(array);return aTail.reduce(function(memo,v){var aLast=last(memo);if(fn(last(aLast),v)){aLast[aLast.length]=v;}
104else{memo[memo.length]=[v];}
105return memo;},[[head(array)]]);}
106function compact(array){var aResult=[];for(var idx=0,len=array.length;idx<len;idx++){if(array[idx]){aResult.push(array[idx]);}}
107return aResult;}
108function unique(array){var results=[];for(var idx=0,len=array.length;idx<len;idx++){if(!contains(results,array[idx])){results.push(array[idx]);}}
109return results;}
110function next(array,item){if(array&&array.length&&item){var idx=array.indexOf(item);return idx===-1?null:array[idx+1];}
111return null;}
112function prev(array,item){if(array&&array.length&&item){var idx=array.indexOf(item);return idx===-1?null:array[idx-1];}
113return null;}
114var lists={head:head,last:last,initial:initial,tail:tail,prev:prev,next:next,find:find,contains:contains,all:all,sum:sum,from:from,isEmpty:isEmpty,clusterBy:clusterBy,compact:compact,unique:unique};var NBSP_CHAR=String.fromCharCode(160);var ZERO_WIDTH_NBSP_CHAR='\ufeff';function isEditable(node){return node&&$$1(node).hasClass('note-editable');}
115function isControlSizing(node){return node&&$$1(node).hasClass('note-control-sizing');}
116function makePredByNodeName(nodeName){nodeName=nodeName.toUpperCase();return function(node){return node&&node.nodeName.toUpperCase()===nodeName;};}
117function isText(node){return node&&node.nodeType===3;}
118function isElement(node){return node&&node.nodeType===1;}
119function isVoid(node){return node&&/^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT|^AUDIO|^VIDEO|^EMBED/.test(node.nodeName.toUpperCase());}
120function isPara(node){if(isEditable(node)){return false;}
121return node&&/^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase());}
122function isHeading(node){return node&&/^H[1-7]/.test(node.nodeName.toUpperCase());}
123var isPre=makePredByNodeName('PRE');var isLi=makePredByNodeName('LI');function isPurePara(node){return isPara(node)&&!isLi(node);}
124var isTable=makePredByNodeName('TABLE');var isData=makePredByNodeName('DATA');function isInline(node){return!isBodyContainer(node)&&!isList(node)&&!isHr(node)&&!isPara(node)&&!isTable(node)&&!isBlockquote(node)&&!isData(node);}
125function isList(node){return node&&/^UL|^OL/.test(node.nodeName.toUpperCase());}
126var isHr=makePredByNodeName('HR');function isCell(node){return node&&/^TD|^TH/.test(node.nodeName.toUpperCase());}
127var isBlockquote=makePredByNodeName('BLOCKQUOTE');function isBodyContainer(node){return isCell(node)||isBlockquote(node)||isEditable(node);}
128var isAnchor=makePredByNodeName('A');function isParaInline(node){return isInline(node)&&!!ancestor(node,isPara);}
129function isBodyInline(node){return isInline(node)&&!ancestor(node,isPara);}
130var isBody=makePredByNodeName('BODY');function isClosestSibling(nodeA,nodeB){return nodeA.nextSibling===nodeB||nodeA.previousSibling===nodeB;}
131function withClosestSiblings(node,pred){pred=pred||func.ok;var siblings=[];if(node.previousSibling&&pred(node.previousSibling)){siblings.push(node.previousSibling);}
132siblings.push(node);if(node.nextSibling&&pred(node.nextSibling)){siblings.push(node.nextSibling);}
133return siblings;}
134var blankHTML=env.isMSIE&&env.browserVersion<11?'&nbsp;':'<br>';function nodeLength(node){if(isText(node)){return node.nodeValue.length;}
135if(node){return node.childNodes.length;}
136return 0;}
137function isEmpty$1(node){var len=nodeLength(node);if(len===0){return true;}
138else if(!isText(node)&&len===1&&node.innerHTML===blankHTML){return true;}
139else if(lists.all(node.childNodes,isText)&&node.innerHTML===''){return true;}
140return false;}
141function paddingBlankHTML(node){if(!isVoid(node)&&!nodeLength(node)){node.innerHTML=blankHTML;}}
142function ancestor(node,pred){while(node){if(pred(node)){return node;}
143if(isEditable(node)){break;}
144node=node.parentNode;}
145return null;}
146function singleChildAncestor(node,pred){node=node.parentNode;while(node){if(nodeLength(node)!==1){break;}
147if(pred(node)){return node;}
148if(isEditable(node)){break;}
149node=node.parentNode;}
150return null;}
151function listAncestor(node,pred){pred=pred||func.fail;var ancestors=[];ancestor(node,function(el){if(!isEditable(el)){ancestors.push(el);}
152return pred(el);});return ancestors;}
153function lastAncestor(node,pred){var ancestors=listAncestor(node);return lists.last(ancestors.filter(pred));}
154function commonAncestor(nodeA,nodeB){var ancestors=listAncestor(nodeA);for(var n=nodeB;n;n=n.parentNode){if(ancestors.indexOf(n)>-1)
155return n;}
156return null;}
157function listPrev(node,pred){pred=pred||func.fail;var nodes=[];while(node){if(pred(node)){break;}
158nodes.push(node);node=node.previousSibling;}
159return nodes;}
160function listNext(node,pred){pred=pred||func.fail;var nodes=[];while(node){if(pred(node)){break;}
161nodes.push(node);node=node.nextSibling;}
162return nodes;}
163function listDescendant(node,pred){var descendants=[];pred=pred||func.ok;(function fnWalk(current){if(node!==current&&pred(current)){descendants.push(current);}
164for(var idx=0,len=current.childNodes.length;idx<len;idx++){fnWalk(current.childNodes[idx]);}})(node);return descendants;}
165function wrap(node,wrapperName){var parent=node.parentNode;var wrapper=$$1('<'+wrapperName+'>')[0];parent.insertBefore(wrapper,node);wrapper.appendChild(node);return wrapper;}
166function insertAfter(node,preceding){var next=preceding.nextSibling;var parent=preceding.parentNode;if(next){parent.insertBefore(node,next);}
167else{parent.appendChild(node);}
168return node;}
169function appendChildNodes(node,aChild){$$1.each(aChild,function(idx,child){node.appendChild(child);});return node;}
170function isLeftEdgePoint(point){return point.offset===0;}
171function isRightEdgePoint(point){return point.offset===nodeLength(point.node);}
172function isEdgePoint(point){return isLeftEdgePoint(point)||isRightEdgePoint(point);}
173function isLeftEdgeOf(node,ancestor){while(node&&node!==ancestor){if(position(node)!==0){return false;}
174node=node.parentNode;}
175return true;}
176function isRightEdgeOf(node,ancestor){if(!ancestor){return false;}
177while(node&&node!==ancestor){if(position(node)!==nodeLength(node.parentNode)-1){return false;}
178node=node.parentNode;}
179return true;}
180function isLeftEdgePointOf(point,ancestor){return isLeftEdgePoint(point)&&isLeftEdgeOf(point.node,ancestor);}
181function isRightEdgePointOf(point,ancestor){return isRightEdgePoint(point)&&isRightEdgeOf(point.node,ancestor);}
182function position(node){var offset=0;while((node=node.previousSibling)){offset+=1;}
183return offset;}
184function hasChildren(node){return!!(node&&node.childNodes&&node.childNodes.length);}
185function prevPoint(point,isSkipInnerOffset){var node;var offset;if(point.offset===0){if(isEditable(point.node)){return null;}
186node=point.node.parentNode;offset=position(point.node);}
187else if(hasChildren(point.node)){node=point.node.childNodes[point.offset-1];offset=nodeLength(node);}
188else{node=point.node;offset=isSkipInnerOffset?0:point.offset-1;}
189return{node:node,offset:offset};}
190function nextPoint(point,isSkipInnerOffset){var node,offset;if(nodeLength(point.node)===point.offset){if(isEditable(point.node)){return null;}
191node=point.node.parentNode;offset=position(point.node)+1;}
192else if(hasChildren(point.node)){node=point.node.childNodes[point.offset];offset=0;}
193else{node=point.node;offset=isSkipInnerOffset?nodeLength(point.node):point.offset+1;}
194return{node:node,offset:offset};}
195function isSamePoint(pointA,pointB){return pointA.node===pointB.node&&pointA.offset===pointB.offset;}
196function isVisiblePoint(point){if(isText(point.node)||!hasChildren(point.node)||isEmpty$1(point.node)){return true;}
197var leftNode=point.node.childNodes[point.offset-1];var rightNode=point.node.childNodes[point.offset];if((!leftNode||isVoid(leftNode))&&(!rightNode||isVoid(rightNode))){return true;}
198return false;}
199function prevPointUntil(point,pred){while(point){if(pred(point)){return point;}
200point=prevPoint(point);}
201return null;}
202function nextPointUntil(point,pred){while(point){if(pred(point)){return point;}
203point=nextPoint(point);}
204return null;}
205function isCharPoint(point){if(!isText(point.node)){return false;}
206var ch=point.node.nodeValue.charAt(point.offset-1);return ch&&(ch!==' '&&ch!==NBSP_CHAR);}
207function walkPoint(startPoint,endPoint,handler,isSkipInnerOffset){var point=startPoint;while(point){handler(point);if(isSamePoint(point,endPoint)){break;}
208var isSkipOffset=isSkipInnerOffset&&startPoint.node!==point.node&&endPoint.node!==point.node;point=nextPoint(point,isSkipOffset);}}
209function makeOffsetPath(ancestor,node){var ancestors=listAncestor(node,func.eq(ancestor));return ancestors.map(position).reverse();}
210function fromOffsetPath(ancestor,offsets){var current=ancestor;for(var i=0,len=offsets.length;i<len;i++){if(current.childNodes.length<=offsets[i]){current=current.childNodes[current.childNodes.length-1];}
211else{current=current.childNodes[offsets[i]];}}
212return current;}
213function splitNode(point,options){var isSkipPaddingBlankHTML=options&&options.isSkipPaddingBlankHTML;var isNotSplitEdgePoint=options&&options.isNotSplitEdgePoint;var isDiscardEmptySplits=options&&options.isDiscardEmptySplits;if(isDiscardEmptySplits){isSkipPaddingBlankHTML=true;}
214if(isEdgePoint(point)&&(isText(point.node)||isNotSplitEdgePoint)){if(isLeftEdgePoint(point)){return point.node;}
215else if(isRightEdgePoint(point)){return point.node.nextSibling;}}
216if(isText(point.node)){return point.node.splitText(point.offset);}
217else{var childNode=point.node.childNodes[point.offset];var clone=insertAfter(point.node.cloneNode(false),point.node);appendChildNodes(clone,listNext(childNode));if(!isSkipPaddingBlankHTML){paddingBlankHTML(point.node);paddingBlankHTML(clone);}
218if(isDiscardEmptySplits){if(isEmpty$1(point.node)){remove(point.node);}
219if(isEmpty$1(clone)){remove(clone);return point.node.nextSibling;}}
220return clone;}}
221function splitTree(root,point,options){var ancestors=listAncestor(point.node,func.eq(root));if(!ancestors.length){return null;}
222else if(ancestors.length===1){return splitNode(point,options);}
223return ancestors.reduce(function(node,parent){if(node===point.node){node=splitNode(point,options);}
224return splitNode({node:parent,offset:node?position(node):nodeLength(parent)},options);});}
225function splitPoint(point,isInline){var pred=isInline?isPara:isBodyContainer;var ancestors=listAncestor(point.node,pred);var topAncestor=lists.last(ancestors)||point.node;var splitRoot,container;if(pred(topAncestor)){splitRoot=ancestors[ancestors.length-2];container=topAncestor;}
226else{splitRoot=topAncestor;container=splitRoot.parentNode;}
227var pivot=splitRoot&&splitTree(splitRoot,point,{isSkipPaddingBlankHTML:isInline,isNotSplitEdgePoint:isInline});if(!pivot&&container===point.node){pivot=point.node.childNodes[point.offset];}
228return{rightNode:pivot,container:container};}
229function create(nodeName){return document.createElement(nodeName);}
230function createText(text){return document.createTextNode(text);}
231function remove(node,isRemoveChild){if(!node||!node.parentNode){return;}
232if(node.removeNode){return node.removeNode(isRemoveChild);}
233var parent=node.parentNode;if(!isRemoveChild){var nodes=[];for(var i=0,len=node.childNodes.length;i<len;i++){nodes.push(node.childNodes[i]);}
234for(var i=0,len=nodes.length;i<len;i++){parent.insertBefore(nodes[i],node);}}
235parent.removeChild(node);}
236function removeWhile(node,pred){while(node){if(isEditable(node)||!pred(node)){break;}
237var parent=node.parentNode;remove(node);node=parent;}}
238function replace(node,nodeName){if(node.nodeName.toUpperCase()===nodeName.toUpperCase()){return node;}
239var newNode=create(nodeName);if(node.style.cssText){newNode.style.cssText=node.style.cssText;}
240appendChildNodes(newNode,lists.from(node.childNodes));insertAfter(newNode,node);remove(node);return newNode;}
241var isTextarea=makePredByNodeName('TEXTAREA');function value($node,stripLinebreaks){var val=isTextarea($node[0])?$no
241de.val():$node.html();if(stripLinebreaks){return val.replace(/[\n\r]/g,'');}
242return val;}
243function html($node,isNewlineOnBlock){var markup=value($node);if(isNewlineOnBlock){var regexTag=/<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g;markup=markup.replace(regexTag,function(match,endSlash,name){name=name.toUpperCase();var isEndOfInlineContainer=/^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name)&&!!endSlash;var isBlockNode=/^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name);return match+((isEndOfInlineContainer||isBlockNode)?'\n':'');});markup=markup.trim();}
244return markup;}
245function posFromPlaceholder(placeholder){var $placeholder=$$1(placeholder);var pos=$placeholder.offset();var height=$placeholder.outerHeight(true);return{left:pos.left,top:pos.top+height};}
246function attachEvents($node,events){Object.keys(events).forEach(function(key){$node.on(key,events[key]);});}
247function detachEvents($node,events){Object.keys(events).forEach(function(key){$node.off(key,events[key]);});}
248function isCustomStyleTag(node){return node&&!isText(node)&&lists.contains(node.classList,'note-styletag');}
249var dom={NBSP_CHAR:NBSP_CHAR,ZERO_WIDTH_NBSP_CHAR:ZERO_WIDTH_NBSP_CHAR,blank:blankHTML,emptyPara:"<p>"+blankHTML+"</p>",makePredByNodeName:makePredByNodeName,isEditable:isEditable,isControlSizing:isControlSizing,isText:isText,isElement:isElement,isVoid:isVoid,isPara:isPara,isPurePara:isPurePara,isHeading:isHeading,isInline:isInline,isBlock:func.not(isInline),isBodyInline:isBodyInline,isBody:isBody,isParaInline:isParaInline,isPre:isPre,isList:isList,isTable:isTable,isData:isData,isCell:isCell,isBlockquote:isBlockquote,isBodyContainer:isBodyContainer,isAnchor:isAnchor,isDiv:makePredByNodeName('DIV'),isLi:isLi,isBR:makePredByNodeName('BR'),isSpan:makePredByNodeName('SPAN'),isB:makePredByNodeName('B'),isU:makePredByNodeName('U'),isS:makePredByNodeName('S'),isI:makePredByNodeName('I'),isImg:makePredByNodeName('IMG'),isTextarea:isTextarea,isEmpty:isEmpty$1,isEmptyAnchor:func.and(isAnchor,isEmpty$1),isClose
249stSibling:isClosestSibling,withClosestSiblings:withClosestSiblings,nodeLength:nodeLength,isLeftEdgePoint:isLeftEdgePoint,isRightEdgePoint:isRightEdgePoint,isEdgePoint:isEdgePoint,isLeftEdgeOf:isLeftEdgeOf,isRightEdgeOf:isRightEdgeOf,isLeftEdgePointOf:isLeftEdgePointOf,isRightEdgePointOf:isRightEdgePointOf,prevPoint:prevPoint,nextPoint:nextPoint,isSamePoint:isSamePoint,isVisiblePoint:isVisiblePoint,prevPointUntil:prevPointUntil,nextPointUntil:nextPointUntil,isCharPoint:isCharPoint,walkPoint:walkPoint,ancestor:ancestor,singleChildAncestor:singleChildAncestor,listAncestor:listAncestor,lastAncestor:lastAncestor,listNext:listNext,listPrev:listPrev,listDescendant:listDescendant,commonAncestor:commonAncestor,wrap:wrap,insertAfter:insertAfter,appendChildNodes:appendChildNodes,position:position,hasChildren:hasChildren,makeOffsetPath:makeOffsetPath,fromOffsetPath:fromOffsetPath,splitTree:splitTree,splitPoint:splitPoint,create:create,createText:createText,remove:remove,removeWhile:removeWhile,replace:replace,html:html,value:value,posFromPlaceholder:posFromPlaceholder,attachEvents:attachEvents,detachEvents:detachEvents,isCustomStyleTag:isCustomStyleTag};var Context=(function(){function Context($note,options){this.ui=$$1.summernote.ui;this.$note=$note;this.memos={};this.modules={};this.layoutInfo={};this.options=options;this.initialize();}
250Context.prototype.initialize=function(){this.layoutInfo=this.ui.createLayout(this.$note,this.options);this._initialize();this.$note.hide();return this;};Context.prototype.destroy=function(){this._destroy();this.$note.removeData('summernote');this.ui.removeLayout(this.$note,this.layoutInfo);};Context.prototype.reset=function(){var disabled=this.isDisabled();this.code(dom.emptyPara);this._destroy();this._initialize();if(disabled){this.disable();}};Context.prototype._initialize=function(){var _this=this;var buttons=$$1.extend({},this.options.buttons);Object.keys(buttons).forEach(function(key){_this.memo('button.'+key,buttons[key]);});var modules=$$1.extend({},this.options.modules,$$1.summernote.plugins||{});Object.keys(modules).forEach(function(key){_this.module(key,modules[key],true);});Object.keys(this.modules).forEach(function(key){_this.initializeModule(key);});};Context.prototype._destroy=function(){var _this=this;Object.keys(this.modules).reverse().forEach(function(key){_this.removeModule(key);});
250Object.keys(this.memos).forEach(function(key){_this.removeMemo(key);});this.triggerEvent('destroy',this);};Context.prototype.code=function(html){var isActivated=this.invoke('codeview.isActivated');if(html===undefined){this.invoke('codeview.sync');return isActivated?this.layoutInfo.codable.val():this.layoutInfo.editable.html();}
251else{if(isActivated){this.layoutInfo.codable.val(html);}
252else{this.layoutInfo.editable.html(html);}
253this.$note.val(html);this.triggerEvent('change',html,this.layoutInfo.editable);}};Context.prototype.isDisabled=function(){return this.layoutInfo.editable.attr('contenteditable')==='false';};Context.prototype.enable=function(){this.layoutInfo.editable.attr('contenteditable',true);this.invoke('toolbar.activate',true);this.triggerEvent('disable',false);};Context.prototype.disable=function(){if(this.invoke('codeview.isActivated')){this.invoke('codeview.deactivate');}
254this.layoutInfo.editable.attr('contenteditable',false);this.invoke('toolbar.deactivate',true);this.triggerEvent('disable',true);};Context.prototype.triggerEvent=function(){var namespace=lists.head(arguments);var args=lists.tail(lists.from(arguments));var callback=this.options.callbacks[func.namespaceToCamel(namespace,'on')];if(callback){callback.apply(this.$note[0],args);}
255this.$note.trigger('summernote.'+namespace,args);};Context.prototype.initializeModule=function(key){var module=this.modules[key];module.shouldInitialize=module.shouldInitialize||func.ok;if(!module.shouldInitialize()){return;}
256if(module.initialize){module.initialize();}
257if(module.events){dom.attachEvents(this.$note,module.events);}};Context.prototype.module=function(key,ModuleClass,withoutIntialize){if(arguments.length===1){return this.modules[key];}
258this.modules[key]=new ModuleClass(this);if(!withoutIntialize){this.initializeModule(key);}};Context.prototype.removeModule=function(key){var module=this.modules[key];if(module.shouldInitialize()){if(module.events){dom.detachEvents(this.$note,module.events);}
259if(module.destroy){module.destroy();}}
260delete this.modules[key];};Context.prototype.memo=function(key,obj){if(arguments.length===1){return this.memos[key];}
261this.memos[key]=obj;};Context.prototype.removeMemo=function(key){if(this.memos[key]&&this.memos[key].destroy){this.memos[key].destroy();}
262delete this.memos[key];};Context.prototype.createInvokeHandlerAndUpdateState=function(namespace,value){var _this=this;return function(event){_this.createInvokeHandler(namespace,value)(event);_this.invoke('buttons.updateCurrentStyle');};};Context.prototype.createInvokeHandler=function(namespace,value){var _this=this;return function(event){event.preventDefault();var $target=$$1(event.target);_this.invoke(namespace,value||$target.closest('[data-value]').data('value'),$target);};};Context.prototype.invoke=function(){var namespace=lists.head(arguments);var args=lists.tail(lists.from(arguments));var splits=namespace.split('.');var hasSeparator=splits.length>1;var moduleName=hasSeparator&&lists.head(splits);var methodName=hasSeparator?lists.last(splits):lists.head(splits);var module=this.modules[moduleName||'editor'];if(!moduleName&&this[methodName]){return this[methodName].apply(this,args);}
263else if(module&&module[methodName]&&module.shouldInitialize()){return module[methodName].apply(module,args);}};return Context;}());$$1.fn.extend({summernote:function(){var type=$$1.type(lists.head(arguments));var isExternalAPICalled=type==='string';var hasInitOptions=type==='object';var options=$$1.extend({},$$1.summernote.options,hasInitOptions?lists.head(arguments):{});options.langInfo=$$1.extend(true,{},$$1.summernote.lang['en-US'],$$1.summernote.lang[options.lang]);options.icons=$$1.extend(true,{},$$1.summernote.options.icons,options.icons);options.tooltip=options.tooltip==='auto'?!env.isSupportTouch:options.tooltip;this.each(function(idx,note){var $note=$$1(note);if(!$note.data('summernote')){var context=new Context($note,options);$note.data('summernote',context);$note.data('summernote').triggerEvent('init',context.layoutInfo);}});var $note=this.first();if($note.length){var context=$note.data('summernote');
263if(isExternalAPICalled){return context.invoke.apply(context,lists.from(arguments));}
264else if(options.focus){context.invoke('editor.focus');}}
265return this;}});function textRangeToPoint(textRange,isStart){var container=textRange.parentElement();var offset;var tester=document.body.createTextRange();var prevContainer;var childNodes=lists.from(container.childNodes);for(offset=0;offset<childNodes.length;offset++){if(dom.isText(childNodes[offset])){continue;}
266tester.moveToElementText(childNodes[offset]);if(tester.compareEndPoints('StartToStart',textRange)>=0){break;}
267prevContainer=childNodes[offset];}
268if(offset!==0&&dom.isText(childNodes[offset-1])){var textRangeStart=document.body.createTextRange();var curTextNode=null;textRangeStart.moveToElementText(prevContainer||container);textRangeStart.collapse(!prevContainer);curTextNode=prevContainer?prevContainer.nextSibling:container.firstChild;var pointTester=textRange.duplicate();pointTester.setEndPoint('StartToStart',textRangeStart);var textCount=pointTester.text.replace(/[\r\n]/g,'').length;while(textCount>curTextNode.nodeValue.length&&curTextNode.nextSibling){textCount-=curTextNode.nodeValue.length;curTextNode=curTextNode.nextSibling;}
269var dummy=curTextNode.nodeValue;if(isStart&&curTextNode.nextSibling&&dom.isText(curTextNode.nextSibling)&&textCount===curTextNode.nodeValue.length){textCount-=curTextNode.nodeValue.length;curTextNode=curTextNode.nextSibling;}
270container=curTextNode;offset=textCount;}
271return{cont:container,offset:offset};}
272function pointToTextRange(point){var textRangeInfo=function(container,offset){var node,isCollapseToStart;if(dom.isText(container)){var prevTextNodes=dom.listPrev(container,func.not(dom.isText));var prevContainer=lists.last(prevTextNodes).previousSibling;node=prevContainer||container.parentNode;offset+=lists.sum(lists.tail(prevTextNodes),dom.nodeLength);isCollapseToStart=!prevContainer;}
273else{node=container.childNodes[offset]||container;if(dom.isText(node)){return textRangeInfo(node,0);}
274offset=0;isCollapseToStart=false;}
275return{node:node,collapseToStart:isCollapseToStart,offset:offset};};var textRange=document.body.createTextRange();var info=textRangeInfo(point.node,point.offset);textRange.moveToElementText(info.node);textRange.collapse(info.collapseToStart);textRange.moveStart('character',info.offset);return textRange;}
276var WrappedRange=(function(){function WrappedRange(sc,so,ec,eo){this.sc=sc;this.so=so;this.ec=ec;this.eo=eo;this.isOnEditable=this.makeIsOn(dom.isEditable);this.isOnList=this.makeIsOn(dom.isList);this.isOnAnchor=this.makeIsOn(dom.isAnchor);this.isOnCell=this.makeIsOn(dom.isCell);this.isOnData=this.makeIsOn(dom.isData);}
277WrappedRange.prototype.nativeRange=function(){if(env.isW3CRangeSupport){var w3cRange=document.createRange();w3cRange.setStart(this.sc,this.sc.data&&this.so>this.sc.data.length?0:this.so);w3cRange.setEnd(this.ec,this.sc.data?Math.min(this.eo,this.sc.data.length):this.eo);return w3cRange;}
278else{var textRange=pointToTextRange({node:this.sc,offset:this.so});textRange.setEndPoint('EndToEnd',pointToTextRange({node:this.ec,offset:this.eo}));return textRange;}};WrappedRange.prototype.getPoints=function(){return{sc:this.sc,so:this.so,ec:this.ec,eo:this.eo};};WrappedRange.prototype.getStartPoint=function(){return{node:this.sc,offset:this.so};};WrappedRange.prototype.getEndPoint=function(){return{node:this.ec,offset:this.eo};};WrappedRange.prototype.select=function(){var nativeRng=this.nativeRange();if(env.isW3CRangeSupport){var selection=document.getSelection();if(selection.rangeCount>0){selection.removeAllRanges();}
279selection.addRange(nativeRng);}
280else{nativeRng.select();}
281return this;};WrappedRange.prototype.scrollIntoView=function(container){var height=$$1(container).height();if(container.scrollTop+height<this.sc.offsetTop){container.scrollTop+=Math.abs(container.scrollTop+height-this.sc.offsetTop);}
282return this;};WrappedRange.prototype.normalize=function(){var getVisiblePoint=function(point,isLeftToRight){if(dom.isVisiblePoint(point)){if(!dom.isEdgePoint(point)||(dom.isRightEdgePoint(point)&&!isLeftToRight)||(dom.isLeftEdgePoint(point)&&isLeftToRight)||(dom.isRightEdgePoint(point)&&isLeftToRight&&dom.isVoid(point.node.nextSibling))||(dom.isLeftEdgePoint(point)&&!isLeftToRight&&dom.isVoid(point.node.previousSibling))||(dom.isBlock(point.node)&&dom.isEmpty(point.node))){return point;}}
283var block=dom.ancestor(point.node,dom.isBlock);if(((dom.isLeftEdgePointOf(point,block)||dom.isVoid(dom.prevPoint(point).node))&&!isLeftToRight)||((dom.isRightEdgePointOf(point,block)||dom.isVoid(dom.nextPoint(point).node))&&isLeftToRight)){if(dom.isVisiblePoint(point)){return point;}
284isLeftToRight=!isLeftToRight;}
285var nextPoint=isLeftToRight?dom.nextPointUntil(dom.nextPoint(point),dom.isVisiblePoint):dom.prevPointUntil(dom.prevPoint(point),dom.isVisiblePoint);return nextPoint||point;};var endPoint=getVisiblePoint(this.getEndPoint(),false);var startPoint=this.isCollapsed()?endPoint:getVisiblePoint(this.getStartPoint(),true);return new WrappedRange(startPoint.node,startPoint.offset,endPoint.node,endPoint.offset);};WrappedRange.prototype.nodes=function(pred,options){pred=pred||func.ok;var includeAncestor=options&&options.includeAncestor;var fullyContains=options&&options.fullyContains;var startPoint=this.getStartPoint();var endPoint=this.getEndPoint();var nodes=[];var leftEdgeNodes=[];dom.walkPoint(startPoint,endPoint,function(point){if(dom.isEditable(point.node)){return;}
286var node;if(fullyContains){if(dom.isLeftEdgePoint(point)){leftEdgeNodes.push(point.node);}
287if(dom.isRightEdgePoint(point)&&lists.contains(leftEdgeNodes,point.node)){node=point.node;}}
288else if(includeAncestor){node=dom.ancestor(point.node,pred);}
289else{node=point.node;}
290if(node&&pred(node)){nodes.push(node);}},true);return lists.unique(nodes);};WrappedRange.prototype.commonAncestor=function(){return dom.commonAncestor(this.sc,this.ec);};WrappedRange.prototype.expand=function(pred){var startAncestor=dom.ancestor(this.sc,pred);var endAncestor=dom.ancestor(this.ec,pred);if(!startAncestor&&!endAncestor){return new WrappedRange(this.sc,this.so,this.ec,this.eo);}
291var boundaryPoints=this.getPoints();if(startAncestor){boundaryPoints.sc=startAncestor;boundaryPoints.so=0;}
292if(endAncestor){boundaryPoints.ec=endAncestor;boundaryPoints.eo=dom.nodeLength(endAncestor);}
293return new WrappedRange(boundaryPoints.sc,boundaryPoints.so,boundaryPoints.ec,boundaryPoints.eo);};WrappedRange.prototype.collapse=function(isCollapseToStart){if(isCollapseToStart){return new WrappedRange(this.sc,this.so,this.sc,this.so);}
294else{return new WrappedRange(this.ec,this.eo,this.ec,this.eo);}};WrappedRange.prototype.splitText=function(){var isSameContainer=this.sc===this.ec;var boundaryPoints=this.getPoints();if(dom.isText(this.ec)&&!dom.isEdgePoint(this.getEndPoint())){this.ec.splitText(this.eo);}
295if(dom.isText(this.sc)&&!dom.isEdgePoint(this.getStartPoint())){boundaryPoints.sc=this.sc.splitText(this.so);boundaryPoints.so=0;if(isSameContainer){boundaryPoints.ec=boundaryPoints.sc;
295boundaryPoints.eo=this.eo-this.so;}}
296return new WrappedRange(boundaryPoints.sc,boundaryPoints.so,boundaryPoints.ec,boundaryPoints.eo);};WrappedRange.prototype.deleteContents=function(){if(this.isCollapsed()){return this;}
297var rng=this.splitText();var nodes=rng.nodes(null,{fullyContains:true});var point=dom.prevPointUntil(rng.getStartPoint(),function(point){return!lists.contains(nodes,point.node);});var emptyParents=[];$$1.each(nodes,function(idx,node){var parent=node.parentNode;if(point.node!==parent&&dom.nodeLength(parent)===1){emptyParents.push(parent);}
298dom.remove(node,false);});$$1.each(emptyParents,function(idx,node){dom.remove(node,false);});return new WrappedRange(point.node,point.offset,point.node,point.offset).normalize();};WrappedRange.prototype.makeIsOn=function(pred){return function(){var ancestor=dom.ancestor(this.sc,pred);return!!ancestor&&(ancestor===dom.ancestor(this.ec,pred));};};WrappedRange.prototype.isLeftEdgeOf=function(pred){if(!dom.isLeftEdgePoint(this.getStartPoint())){return false;}
299var node=dom.ancestor(this.sc,pred);return node&&dom.isLeftEdgeOf(this.sc,node);};WrappedRange.prototype.isCollapsed=function(){return this.sc===this.ec&&this.so===this.eo;};WrappedRange.prototype.wrapBodyInlineWithPara=function(){if(dom.isBodyContainer(this.sc)&&dom.isEmpty(this.sc)){this.sc.innerHTML=dom.emptyPara;return new WrappedRange(this.sc.firstChild,0,this.sc.firstChild,0);}
300var rng=this.normalize();if(dom.isParaInline(this.sc)||dom.isPara(this.sc)){return rng;}
301var topAncestor;if(dom.isInline(rng.sc)){var ancestors=dom.listAncestor(rng.sc,func.not(dom.isInline));topAncestor=lists.last(ancestors);if(!dom.isInline(topAncestor)){topAncestor=ancestors[ancestors.length-2]||rng.sc.childNodes[rng.so];}}
302else{topAncestor=rng.sc.childNodes[rng.so>0?rng.so-1:0];}
303var inlineSiblings=dom.listPrev(topAncestor,dom.isParaInline).reverse();inlineSiblings=inlineSiblings.concat(dom.listNext(topAncestor.nextSibling,dom.isParaInline));if(inlineSiblings.length){var para=dom.wrap(lists.head(inlineSiblings),'p');dom.appendChildNodes(para,lists.tail(inlineSiblings));}
304return this.normalize();};WrappedRange.prototype.insertNode=function(node){var rng=this.wrapBodyInlineWithPara().deleteContents();var info=dom.splitPoint(rng.getStartPoint(),dom.isInline(node));if(info.rightNode){info.rightNode.parentNode.insertBefore(node,info.rightNode);}
305else{info.container.appendChild(node);}
306return node;};WrappedRange.prototype.pasteHTML=function(markup){var contentsContainer=$$1('<div></div>').html(markup)[0];var childNodes=lists.from(contentsContainer.childNodes);var rng=this.wrapBodyInlineWithPara().deleteContents();if(rng.so>0){childNodes=childNodes.reverse();}
307childNodes=childNodes.map(function(childNode){return rng.insertNode(childNode);});if(rng.so>0){childNodes=childNodes.reverse();}
308return childNodes;};WrappedRange.prototype.toString=function(){var nativeRng=this.nativeRange();return env.isW3CRangeSupport?nativeRng.toString():nativeRng.text;};WrappedRange.prototype.getWordRange=function(findAfter){var endPoint=this.getEndPoint();if(!dom.isCharPoint(endPoint)){return this;}
309var startPoint=dom.prevPointUntil(endPoint,function(point){return!dom.isCharPoint(point);});if(findAfter){endPoint=dom.nextPointUntil(endPoint,function(point){return!dom.isCharPoint(point);});}
310return new WrappedRange(startPoint.node,startPoint.offset,endPoint.node,endPoint.offset);};WrappedRange.prototype.bookmark=function(editable){return{s:{path:dom.makeOffsetPath(editable,this.sc),offset:this.so},e:{path:dom.makeOffsetPath(editable,this.ec),offset:this.eo}};};WrappedRange.prototype.paraBookmark=function(paras){return{s:{path:lists.tail(dom.makeOffsetPath(lists.head(paras),this.sc)),offset:this.so},e:{path:lists.tail(dom.makeOffsetPath(lists.last(paras),this.ec)),offset:this.eo}};};WrappedRange.prototype.getClientRects=function(){var nativeRng=this.nativeRange();return nativeRng.getClientRects();};return WrappedRange;}());var range={create:function(sc,so,ec,eo){if(arguments.length===4){return new WrappedRange(sc,so,ec,eo);}
311else if(arguments.length===2){ec=sc;eo=so;return new WrappedRange(sc,so,ec,eo);}
312else{var wrappedRange=this.createFromSelection();if(!wrappedRange&&arguments.length===1){wrappedRange=this.createFromNode(arguments[0]);return wrappedRange.collapse(dom.emptyPara===arguments[0].innerHTML);}
313return wrappedRange;}},createFromSelection:function(){var sc,so,ec,eo;if(env.isW3CRangeSupport){var selection=document.getSelection();if(!selection||selection.rangeCount===0){return null;}
314else if(dom.isBody(selection.anchorNode)){return null;}
315var nativeRng=selection.getRangeAt(0);sc=nativeRng.startContainer;so=nativeRng.startOffset;ec=nativeRng.endContainer;eo=nativeRng.endOffset;}
316else{var textRange=document.selection.createRange();var textRangeEnd=textRange.duplicate();textRangeEnd.collapse(false);var textRangeStart=textRange;textRangeStart.collapse(true);var startPoint=textRangeToPoint(textRangeStart,true);var endPoint=textRangeToPoint(textRangeEnd,false);
vendor: 1,780 bytes, lines 316-321
316if(dom.isText(startPoint.node)&&dom.isLeftEdgePoint(startPoint)&&dom.isTextNode(endPoint.node)&&dom.isRightEdgePoint(endPoint)&&endPoint.node.nextSibling===startPoint.node){startPoint=endPoint;}
317sc=startPoint.cont;so=startPoint.offset;ec=endPoint.cont;eo=endPoint.offset;}
318return new WrappedRange(sc,so,ec,eo);},createFromNode:function(node){var sc=node;var so=0;var ec=node;var eo=dom.nodeLength(ec);if(dom.isVoid(sc)){so=dom.listPrev(sc).length-1;sc=sc.parentNode;}
319if(dom.isBR(ec)){eo=dom.listPrev(ec).length-1;ec=ec.parentNode;}
320else if(dom.isVoid(ec)){eo=dom.listPrev(ec).length;ec=ec.parentNode;}
321return this.create(sc,so,ec,eo);},createFromNodeBefore:function(node){return this.createFromNode(node).collapse(true);},createFromNodeAfter:function(node){return this.createFromNode(node).collapse();},createFromBookmark:function(editable,bookmark){var sc=dom.fromOffsetPath(editable,bookmark.s.path);var so=bookmark.s.offset;var ec=dom.fromOffsetPath(editable,bookmark.e.path);var eo=bookmark.e.offset;return new WrappedRange(sc,so,ec,eo);},createFromParaBookmark:function(bookmark,paras){var so=bookmark.s.offset;var eo=bookmark.e.offset;var sc=dom.fromOffsetPath(lists.head(paras),bookmark.s.path);var ec=dom.fromOffsetPath(lists.last(paras),bookmark.e.path);return new WrappedRange(sc,so,ec,eo);}};var KEY_MAP={'BACKSPACE':8,'TAB':9,'ENTER':13,'SPACE':32,'DELETE':46,'LEFT':37,'UP':38,'RIGHT':39,'DOWN':40,'NUM0':48,'NUM1':49,'NUM2':50,'NUM3':51,'NUM4':52,'NUM5':53,'NUM6':54,'NUM7':55,'NUM8':56,'B':66,'E':69,'I':73,'J':74,'K':75,'L':76,'R':82,'S':83,'U':85,'V':86,'Y':89,'Z':90,'SLASH':191,'LEFTBRACKET':219,'BACKSLASH':220,'RIGHTBRACKET':221};var key={isEdit:function(keyCode){return lists.contains([KEY_MAP.BACKSPACE,KEY_MAP.TAB,KEY_MAP.ENTER,KEY_MAP.SPACE,KEY_MAP.DELET
321E,],keyCode);},isMove:function(keyCode){return lists.contains([KEY_MAP.LEFT,KEY_MAP.UP,KEY_MAP.RIGHT,KEY_MAP.DOWN,],keyCode);},nameFromCode:func.invertObject(KEY_MAP),code:KEY_MAP};function readFileAsDataURL(file){return $$1.Deferred(function(deferred){$$1.extend(new FileReader(),{onload:function(e){var dataURL=e.target.result;deferred.resolve(dataURL);},onerror:function(err){deferred.reject(err);}}).readAsDataURL(file);}).promise();}
322function createImage(url){return $$1.Deferred(function(deferred){var $img=$$1('<img>');$img.one('load',function(){$img.off('error abort');deferred.resolve($img);}).one('error abort',function(){$img.off('load').detach();deferred.reject($img);}).css({display:'none'}).appendTo(document.body).attr('src',url);}).promise();}
323var History=(function(){function History($editable){this.stack=[];this.stackOffset=-1;this.$editable=$editable;this.editable=$editable[0];}
324History.prototype.makeSnapshot=function(){var rng=range.create(this.editable);var emptyBookmark={s:{path:[],offset:0},e:{path:[],offset:0}};return{contents:this.$editable.html(),bookmark:((rng&&rng.isOnEditable())?rng.bookmark(this.editable):emptyBookmark)};};History.prototype.applySnapshot=function(snapshot){if(snapshot.contents!==null){this.$editable.html(snapshot.contents);}
325if(snapshot.bookmark!==null){range.createFromBookmark(this.editable,snapshot.bookmark).select();}};History.prototype.rewind=function(){if(this.$editable.html()!==this.stack[this.stackOffset].contents){this.recordUndo();}
326this.stackOffset=0;this.applySnapshot(this.stack[this.stackOffset]);};History.prototype.commit=function(){this.stack=[];this.stackOffset=-1;this.recordUndo();};History.prototype.reset=function(){this.stack=[];this.stackOffset=-1;this.$editable.html('');this.recordUndo();};History.prototype.undo=function(){if(this.$editable.html()!==this.stack[this.stackOffset].contents){this.recordUndo();}
327if(this.stackOffset>0){this.stackOffset--;this.applySnapshot(this.stack[this.stackOffset]);}};History.prototype.redo=function(){if(this.stack.length-1>this.stackOffset){this.stackOffset++;this.applySnapshot(this.stack[this.stackOffset]);}};History.prototype.recordUndo=function(){this.stackOffset++;if(this.stack.length>this.stackOffset){this.stack=this.stack.slice(0,this.stackOffset);}
328this.stack.push(this.makeSnapshot());};return History;}());var Style=(function(){function Style(){}
329Style.prototype.jQueryCSS=function($obj,propertyNames){if(env.jqueryVersion<1.9){var result_1={};$$1.each(propertyNames,function(idx,propertyName){result_1[propertyName]=$obj.css(propertyName);});return result_1;}
330return $obj.css(propertyNames);};Style.prototype.fromNode=function($node){var properties=['font-family','font-size','text-align','list-style-type','line-height'];var styleInfo=this.jQueryCSS($node,properties)||{};styleInfo['font-size']=parseInt(styleInfo['font-size'],10);return styleInfo;};Style.prototype.stylePara=function(rng,styleInfo){$$1.each(rng.no
330des(dom.isPara,{includeAncestor:true}),function(idx,para){$$1(para).css(styleInfo);});};Style.prototype.styleNodes=function(rng,options){rng=rng.splitText();var nodeName=(options&&options.nodeName)||'SPAN';var expandClosestSibling=!!(options&&options.expandClosestSibling);var onlyPartialContains=!!(options&&options.onlyPartialContains);if(rng.isCollapsed()){return[rng.insertNode(dom.create(nodeName))];}
331var pred=dom.makePredByNodeName(nodeName);var nodes=rng.nodes(dom.isText,{fullyContains:true}).map(function(text){return dom.singleChildAncestor(text,pred)||dom.wrap(text,nodeName);});if(expandClosestSibling){if(onlyPartialContains){var nodesInRange_1=rng.nodes();pred=func.and(pred,function(node){return lists.contains(nodesInRange_1,node);});}
332return nodes.map(function(node){var siblings=dom.withClosestSiblings(node,pred);var head=lists.head(siblings);var tails=lists.tail(siblings);$$1.each(tails,function(idx,elem){dom.appendChildNodes(head,elem.childNodes);dom.remove(elem);});return lists.head(siblings);});}
333else{return nodes;}};Style.prototype.current=function(rng){var $cont=$$1(!dom.isElement(rng.sc)?rng.sc.parentNode:rng.sc);var styleInfo=this.fromNode($cont);try{styleInfo=$$1.extend(styleInfo,{'font-bold':document.queryCommandState('bold')?'bold':'normal','font-italic':document.queryCommandState('italic')?'italic':'normal','font-underline':document.queryCommandState('underline')?'underline':'normal','font-subscript':document.queryCommandState('subscript')?'subscript':'normal','font-superscript':document.queryCommandState('superscript')?'superscript':'normal','font-strikethrough':document.queryCommandState('strikethrough')?'strikethrough':'normal','font-family':document.queryCommandValue('fontname')||styleInfo['font-family']});}
334catch(e){}
335if(!rng.isOnList()){styleInfo['list-style']='none';}
336else{var orderedTypes=['circle','disc','disc-leading-zero','square'];var isUnordered=orderedTypes.indexOf(styleInfo['list-style-type'])>-1;styleInfo['list-style']=isUnordered?'unordered':'ordered';}
337var para=dom.ancestor(rng.sc,dom.isPara);if(para&&para.style['line-height']){styleInfo['line-height']=para.style.lineHeight;}
338else{var lineHeight=parseInt(styleInfo['line-height'],10)/parseInt(styleInfo['font-size'],10);styleInfo['line-height']=lineHeight.toFixed(1);}
339styleInfo.anchor=rng.isOnAnchor()&&dom.ancestor(rng.sc,dom.isAnchor);styleInfo.ancestors=dom.listAncestor(rng.sc,dom.isEditable);styleInfo.range=rng;return styleInfo;};return Style;}());var Bullet=(function(){function Bullet(){}
340Bullet.prototype.insertOrderedList=function(editable){this.toggleList('OL',editable);};Bullet.prototype.insertUnorderedList=function(editable){this.toggleList('UL',editable);};Bullet.prototype.indent=function(editable){var _this=this;var rng=range.create(editable).wrapBodyInlineWithPara();var paras=rng.nodes(dom.isPara,{includeAncestor:true});var clustereds=lists.clusterBy(paras,func.peq2('parentNode'));$$1.each(clustereds,function(idx,paras){var head=lists.head(paras);if(dom.isLi(head)){var previousList_1=_this.findList(head.previousSibling);if(previousList_1){paras.map(function(para){return previousList_1.appendChild(para);});}
341else{_this.wrapList(paras,head.parentNode.nodeName);paras.map(function(para){return para.parentNode;}).map(function(para){return _this.appendToPrevious(para);});}}
342else{$$1.each(paras,function(idx,para){$$1(para).css('marginLeft',function(idx,val){return(parseInt(val,10)||0)+25;});});}});rng.select();};Bullet.prototype.outdent=function(editable){var _this=this;var rng=range.create(editable).wrapBodyInlineWithPara();var paras=rng.nodes(dom.isPara,{includeAncestor:true});var clustereds=lists.clusterBy(paras,func.peq2('parentNode'));$$1.each(clustereds,function(idx,paras){var head=lists.head(paras);if(dom.isLi(head)){_this.releaseList([paras]);}
343else{$$1.each(paras,function(idx,para){$$1(para).css('marginLeft',function(idx,val){val=(parseInt(val,10)||0);return val>25?val-25:'';});});}});rng.select();};Bullet.prototype.toggleList=function(listName,editable){var _this=this;var rng=range.create(editable).wrapBodyInlineWithPara();
vendor: 9,367 bytes, lines 343-387
343var paras=rng.nodes(dom.isPara,{includeAncestor:true});var bookmark=rng.paraBookmark(paras);var clustereds=lists.clusterBy(paras,func.peq2('parentNode'));if(lists.find(paras,dom.isPurePara)){var wrappedParas_1=[];$$1.each(clustereds,function(idx,paras){wrappedParas_1=wrappedParas_1.concat(_this.wrapList(paras,listName));});paras=wrappedParas_1;}
344else{var diffLists=rng.nodes(dom.isList,{includeAncestor:true}).filter(function(listNode){return!$$1.nodeName(listNode,listName);});if(diffLists.length){$$1.each(diffLists,function(idx,listNode){dom.replace(listNode,listName);});}
345else{paras=this.releaseList(clustereds,true);}}
346range.createFromParaBookmark(bookmark,paras).select();};Bullet.prototype.wrapList=function(paras,listName){var head=lists.head(paras);var last=lists.last(paras);var prevList=dom.isList(head.previousSibling)&&head.previousSibling;var nextList=dom.isList(last.nextSibling)&&last.nextSibling;var listNode=prevList||dom.insertAfter(dom.create(listName||'UL'),last);paras=paras.map(function(para){return dom.isPurePara(para)?dom.replace(para,'LI'):para;});dom.appendChildNodes(listNode,paras);if(nextList){dom.appendChildNodes(listNode,lists.from(nextList.childNodes));dom.remove(nextList);}
347return paras;};Bullet.prototype.releaseList=function(clustereds,isEscapseToBody){var _this=this;var releasedParas=[];$$1.each(clustereds,function(idx,paras){var head=lists.head(paras);var last=lists.last(paras);var headList=isEscapseToBody?dom.lastAncestor(head,dom.isList):head.parentNode;var parentItem=headList.parentNode;if(headList.parentNode.nodeName==='LI'){paras.map(function(para){var newList=_this.findNextSiblings(para);if(parentItem.nextSibling){parentItem.parentNode.insertBefore(para,parentItem.nextSibling);}
348else{parentItem.parentNode.appendChild(para);}
349if(newList.length){_this.wrapList(newList,headList.nodeName);para.appendChild(newList[0].parentNode);}});if(headList.children.length===0){parentItem.removeChild(headList);}
350if(parentItem.childNodes.length===0){parentItem.parentNode.removeChild(parentItem);}}
351else{var lastList=headList.childNodes.length>1?dom.splitTree(headList,{node:last.parentNode,offset:dom.position(last)+1},{isSkipPaddingBlankHTML:true}):null;var middleList=dom.splitTree(headList,{node:head.parentNode,offset:dom.position(head)},{isSkipPaddingBlankHTML:true});paras=isEscapseToBody?dom.listDescendant(middleList,dom.isLi):lists.from(middleList.childNodes).filter(dom.isLi);if(isEscapseToBody||!dom.isList(headList.parentNode)){paras=paras.map(function(para){return dom.replace(para,'P');});}
352$$1.each(lists.from(paras).reverse(),function(idx,para){dom.insertAfter(para,headList);});var rootLists=lists.compact([headList,middleList,lastList]);$$1.each(rootLists,function(idx,rootList){var listNodes=[rootList].concat(dom.listDescendant(rootList,dom.isList));$$1.each(listNodes.reverse(),function(idx,listNode){if(!dom.nodeLength(listNode)){dom.remove(listNode,true);}});});}
353releasedParas=releasedParas.concat(paras);});return releasedParas;};Bullet.prototype.appendToPrevious=function(node){return node.previousSibling?dom.appendChildNodes(node.previousSibling,[node]):this.wrapList([node],'LI');};Bullet.prototype.findList=function(node){return node?lists.find(node.children,function(child){return['OL','UL'].indexOf(child.nodeName)>-1;}):null;};Bullet.prototype.findNextSiblings=function(node){var siblings=[];while(node.nextSibling){siblings.push(node.nextSibling);node=node.nextSibling;}
354return siblings;};return Bullet;}());var Typing=(function(){function Typing(context){this.bullet=new Bullet();this.options=context.options;}
355Typing.prototype.insertTab=function(rng,tabsize){var tab=dom.createText(new Array(tabsize+1).join(dom.NBSP_CHAR));rng=rng.deleteContents();rng.insertNode(tab,true);rng=range.create(tab,tabsize);rng.select();};Typing.prototype.insertParagraph=function(editable,rng){rng=rng||range.create(editable);rng=rng.deleteContents();rng=rng.wrapBodyInlineWithPara();var splitRoot=dom.ancestor(rng.sc,dom.isPara);var nextPara;if(splitRoot){if(dom.isEmpty(splitRoot)&&dom.isLi(splitRoot)){this.bullet.toggleList(splitRoot.parentNode.nodeName);return;}
356else{var blockquote=null;if(this.options.blockquoteBreakingLevel===1){blockquote=dom.ancestor(splitRoot,dom.isBlockquote);}
357else if(this.options.blockquoteBreakingLevel===2){blockquote=dom.lastAncestor(splitRoot,dom.isBlockquote);}
358if(blockquote){nextPara=$$1(dom.emptyPara)[0];if(dom.isRightEdgePoint(rng.getStartPoint())&&dom.isBR(rng.sc.nextSibling)){$$1(rng.sc.nextSibling).remove();}
359var split=dom.splitTree(blockquote,rng.getStartPoint(),{isDiscardEmptySplits:true});if(split){split.parentNode.insertBefore(nextPara,split);}
360else{dom.insertAfter(nextPara,blockquote);}}
361else{nextPara=dom.splitTree(splitRoot,rng.getStartPoint());var emptyAnchors=dom.listDescendant(splitRoot,dom.isEmptyAnchor);emptyAnchors=emptyAnchors.concat(dom.listDescendant(nextPara,dom.isEmptyAnchor));$$1.each(emptyAnchors,function(idx,anchor){dom.remove(anchor);});if((dom.isHeading(nextPara)||dom.isPre(nextPara)||dom.isCustomStyleTag(nextPara))&&dom.isEmpty(nextPara)){nextPara=dom.replace(nextPara,'p');}}}}
362else{var next=rng.sc.childNodes[rng.so];nextPara=$$1(dom.emptyPara)[0];if(next){rng.sc.insertBefore(nextPara,next);}
363else{rng.sc.appendChild(nextPara);}}
364range.create(nextPara,0).normalize().select().scrollIntoView(editable);};return Typing;}());var TableResultAction=function(startPoint,where,action,domTable){var _startPoint={'colPos':0,'rowPos':0};var _virtualTable=[];var _actionCellList=[];function setStartPoint(){if(!startPoint||!startPoint.tagName||(startPoint.tagName.toLowerCase()!=='td'&&startPoint.tagName.toLowerCase()!=='th')){console.error('Impossible to identify start Cell point.',startPoint);return;}
365_startPoint.colPos=startPoint.cellIndex;if(!startPoint.parentElement||!startPoint.parentElement.tagName||startPoint.parentElement.tagName.toLowerCase()!=='tr'){console.error('Impossible to identify start Row point.',startPoint);return;}
366_startPoint.rowPos=startPoint.parentElement.rowIndex;}
367function setVirtualTablePosition(rowIndex,cellIndex,baseRow,baseCell,isRowSpan,isColSpan,isVirtualCell){var objPosition={'baseRow':baseRow,'baseCell':baseCell,'isRowSpan':isRowSpan,'isColSpan':isColSpan,'isVirtual':isVirtualCell};if(!_virtualTable[rowIndex]){_virtualTable[rowIndex]=[];}
368_virtualTable[rowIndex][cellIndex]=objPosition;}
369function getActionCell(virtualTableCellObj,resultAction,virtualRowPosition,virtualColPosition){return{'baseCell':virtualTableCellObj.baseCell,'action':resultAction,'virtualTable':{'rowIndex':virtualRowPosition,'cellIndex':virtualColPosition}};}
370function recoverCellIndex(rowIndex,cellIndex){if(!_virtualTable[rowIndex]){return cellIndex;}
371if(!_virtualTable[rowIndex][cellIndex]){return cellIndex;}
372var newCellIndex=cellIndex;while(_virtualTable[rowIndex][newCellIndex]){newCellIndex++;if(!_virtualTable[rowIndex][newCellIndex]){return newCellIndex;}}}
373function addCellInfoToVirtual(row,cell){var cellIndex=recoverCellIndex(row.rowIndex,cell.cellIndex);var cellHasColspan=(cell.colSpan>1);var cellHasRowspan=(cell.rowSpan>1);var isThisSelectedCell=(row.rowIndex===_startPoint.rowPos&&cell.cellIndex===_startPoint.colPos);setVirtualTablePosition(row.rowIndex,cellIndex,row,cell,cellHasRowspan,cellHasColspan,false);var rowspanNumber=cell.attributes.rowSpan?parseInt(cell.attributes.rowSpan.value,10):0;if(rowspanNumber>1){for(var rp=1;rp<rowspanNumber;rp++){var rowspanIndex=row.rowIndex+rp;adjustStartPoint(rowspanIndex,cellIndex,cell,isThisSelectedCell);setVirtualTablePosition(rowspanIndex,cellIndex,row,cell,true,cellHasColspan,true);}}
374var colspanNumber=cell.attributes.colSpan?parseInt(cell.attributes.colSpan.value,10):0;if(colspanNumber>1){for(var cp=1;cp<colspanNumber;cp++){var cellspanIndex=recoverCellIndex(row.rowIndex,(cellIndex+cp));adjustStartPoint(row.rowIndex,cellspanIndex,cell,isThisSelectedCell);setVirtualTablePosition(row.rowIndex,cellspanIndex,row,cell,cellHasRowspan,true,true);}}}
375function adjustStartPoint(rowIndex,cellIndex,cell,isSelectedCell){if(rowIndex===_startPoint.rowPos&&_startPoint.colPos>=cell.cellIndex&&cell.cellIndex<=cellIndex&&!isSelectedCell){_startPoint.colPos++;}}
376function createVirtualTable(){var rows=domTable.rows;for(var rowIndex=0;rowIndex<rows.length;rowIndex++){var cells=rows[rowIndex].cells;for(var cellIndex=0;cellIndex<cells.length;cellIndex++){addCellInfoToVirtual(rows[rowIndex],cells[cellIndex]);}}}
377function getDeleteResultActionToCell(cell){switch(where){case TableResultAction.where.Column:if(cell.isColSpan){return TableResultAction.resultAction.SubtractSpanCount;}
378break;case TableResultAction.where.Row:if(!cell.isVirtual&&cell.isRowSpan){return TableResultAction.resultAction.AddCell;}
379else if(cell.isRowSpan){return TableResultAction.resultAction.SubtractSpanCount;}
380break;}
381return TableResultAction.resultAction.RemoveCell;}
382function getAddResultActionToCell(cell){switch(where){case TableResultAction.where.Column:if(cell.isColSpan){return TableResultAction.resultAction.SumSpanCount;}
383else if(cell.isRowSpan&&cell.isVirtual){return TableResultAction.resultAction.Ignore;}
384break;case TableResultAction.where.Row:if(cell.isRowSpan){return TableResultAction.resultAction.SumSpanCount;}
385else if(cell.isColSpan&&cell.isVirtual){return TableResultAction.resultAction.Ignore;}
386break;}
387return TableResultAction.resultAction.AddCell;}
388function init(){setStartPoint();createVirtualTable();}
389this.getActionList=function(){var fixedRow=(where===TableResultAction.where.Row)?_startPoint.rowPos:-1;var fixedCol=(where===TableResultAction.where.Column)?_startPoint.colPos:-1;var actualPosition=0;var canContinue=true;while(canContinue){var rowPosition=(fixedRow>=0)?fixedRow:actualPosition;var colPosition=(fixedCol>=0)?fixedCol:actualPosition;var row=_virtualTable[rowPosition];if(!row){canContinue=false;return _actionCellList;}
390var cell=row[colPosition];if(!cell){canContinue=false;return _actionCellList;}
391var resultAction=TableResultAction.resultAction.Ignore;switch(action){case TableResultAction.requestAction.Add:resultAction=getAddResultActionToCell(cell);break;case TableResultAction.requestAction.Delete:resultAction=getDeleteResultActionToCell(cell);break;}
392_actionCellList.push(getActionCell(cell,resultAction,rowPosition,colPosition));actualPosition++;}
393return _actionCellList;};init();};TableResultAction.where={'Row':0,'Column':1};TableResultAction.requestAction={'Add':0,'Delete':1};TableResultAction.resultAction={'Ignore':0,'SubtractSpanCount':1,'RemoveCell':2,'AddCell':3,'SumSpanCount':4};var Table=(function(){function Table(){}
394Table.prototype.tab=function(rng,isShift){var cell=dom.ancestor(rng.commonAncestor(),dom.isCell);var table=dom.ancestor(cell,dom.isTable);var cells=dom.listDescendant(table,dom.isCell);var nextCell=lists[isShift?'prev':'next'](cells,cell);if(nextCell){range.create(nextCell,0).select();}};Table.prototype.addRow=function(rng,position){var cell=dom.ancestor(rng.commonAncestor(),dom.isCell);var currentTr=$$1(cell).closest('tr');var trAttributes=this.recoverAttributes(currentTr);var html=$$1('<tr'+trAttributes+'></tr>');var vTable=new TableResultAction(cell,TableResultAction.where.Row,TableResultAction.requestAction.Add,$$1(currentTr).closest('table')[0]);var actions=vTable.getActionList();for(var idCell=0;idCell<actions.length;idCell++){var currentCell=actions[idCell];var tdAttributes=this.recoverAttributes(currentCell.baseCell);switch(currentCell.action){case TableResultAction.resultAction.AddCell:html.append('<td'+tdAttributes+'>'+dom.blank+'</td>');break;case TableResultAction.resultAction.SumSpanCount:if(position==='top'){var baseCellTr=currentCell.baseCell.parent;var isTopFromRowSpan=(!baseCellTr?0:currentCell.baseCell.closest('tr').rowIndex)<=currentTr[0].rowIndex;if(isTopFromRowSpan){var newTd=$$1('<div></div>').append($$1('<td'+tdAttributes+'>'+dom.blank+'</td>').removeAttr('rowspan')).html();html.append(newTd);break;}}
395var rowspanNumber=parseInt(currentCell.baseCell.rowSpan,10);rowspanNumber++;currentCell.baseCell.setAttribute('rowSpan',rowspanNumber);break;}}
396if(position==='top'){currentTr.before(html);}
397else{var cellHasRowspan=(cell.rowSpan>1);if(cellHasRowspan){var lastTrIndex=currentTr[0].rowIndex+(cell.rowSpan-2);$$1($$1(currentTr).parent().find('tr')[lastTrIndex]).after($$1(html));return;}
398currentTr.after(html);}};Table.prototype.addCol=function(rng,position){var cell=dom.ancestor(rng.commonAncestor(),dom.isCell);var row=$$1(cell).closest('tr');var rowsGroup=$$1(row).siblings();rowsGroup.push(row);var vTable=new TableResultAction(cell,TableResultAction.where.Column,TableResultAction.requestAction.Add,$$1(row).closest('table')[0]);var actions=vTable.getActionList();for(var actionIndex=0;actionIndex<actions.length;actionIndex++){var currentCell=actions[actionIndex];var tdAttributes=this.recoverAttributes(currentCell.baseCell);switch(currentCell.action){case TableResultAction.resultAction.AddCell:if(position==='right'){$$1(currentCell.baseCell).after('<td'+tdAttributes+'>'+dom.blank+'</td>');}
399else{$$1(currentCell.baseCell).before('<td'+tdAttributes+'>'+dom.blank+'</td>');}
400break;case TableResultAction.resultAction.SumSpanCount:if(position==='right'){var colspanNumber=parseInt(currentCell.baseCell.colSpan,10);colspanNumber++;currentCell.baseCell.setAttribute('colSpan',colspanNumber);}
401else{$$1(currentCell.baseCell).before('<td'+tdAttributes+'>'+dom.blank+'</td>');}
402break;}}};Table.prototype.recoverAttributes=function(el){var resultStr='';if(!el){return resultStr;}
403var attrList=el.attributes||[];for(var i=0;i<attrList.length;i++){if(attrList[i].name.toLowerCase()==='id'){continue;}
404if(attrList[i].specified){resultStr+=' '+attrList[i].name+'=\''+attrList[i].value+'\'';}}
405return resultStr;};
405Table.prototype.deleteRow=function(rng){var cell=dom.ancestor(rng.commonAncestor(),dom.isCell);var row=$$1(cell).closest('tr');var cellPos=row.children('td, th').index($$1(cell));var rowPos=row[0].rowIndex;var vTable=new TableResultAction(cell,TableResultAction.where.Row,TableResultAction.requestAction.Delete,$$1(row).closest('table')[0]);var actions=vTable.getActionList();for(var actionIndex=0;actionIndex<actions.length;actionIndex++){if(!actions[actionIndex]){continue;}
406var baseCell=actions[actionIndex].baseCell;var virtualPosition=actions[actionIndex].virtualTable;var hasRowspan=(baseCell.rowSpan&&baseCell.rowSpan>1);var rowspanNumber=(hasRowspan)?parseInt(baseCell.rowSpan,10):0;switch(actions[actionIndex].action){case TableResultAction.resultAction.Ignore:continue;case TableResultAction.resultAction.AddCell:var nextRow=row.next('tr')[0];if(!nextRow){continue;}
407var cloneRow=row[0].cells[cellPos];if(hasRowspan){if(rowspanNumber>2){rowspanNumber--;nextRow.insertBefore(cloneRow,nextRow.cells[cellPos]);nextRow.cells[cellPos].setAttribute('rowSpan',rowspanNumber);nextRow.cells[cellPos].innerHTML='';}
408else if(rowspanNumber===2){nextRow.insertBefore(cloneRow,nextRow.cells[cellPos]);nextRow.cells[cellPos].removeAttribute('rowSpan');nextRow.cells[cellPos].innerHTML='';}}
409continue;case TableResultAction.resultAction.SubtractSpanCount:if(hasRowspan){if(rowspanNumber>2){rowspanNumber--;baseCell.setAttribute('rowSpan',rowspanNumber);if(virtualPosition.rowIndex!==rowPos&&baseCell.cellIndex===cellPos){baseCell.innerHTML='';}}
410else if(rowspanNumber===2){baseCell.removeAttribute('rowSpan');if(virtualPosition.rowIndex!==rowPos&&baseCell.cellIndex===cellPos){baseCell.innerHTML='';}}}
411continue;case TableResultAction.resultAction.RemoveCell:continue;}}
412row.remove();};Table.prototype.deleteCol=function(rng){var cell=dom.ancestor(rng.commonAncestor(),dom.isCell);var row=$$1(cell).closest('tr');var cellPos=row.children('td, th').index($$1(cell));var vTable=new TableResultAction(cell,TableResultAction.where.Column,TableResultAction.requestAction.Delete,$$1(row).closest('table')[0]);var actions=vTable.getActionList();for(var actionIndex=0;actionIndex<actions.length;actionIndex++){if(!actions[actionIndex]){continue;}
413switch(actions[actionIndex].action){case TableResultAction.resultAction.Ignore:continue;case TableResultAction.resultAction.SubtractSpanCount:var baseCell=actions[actionIndex].baseCell;var hasColspan=(baseCell.colSpan&&baseCell.colSpan>1);if(hasColspan){var colspanNumber=(baseCell.colSpan)?parseInt(baseCell.colSpan,10):0;if(colspanNumber>2){colspanNumber--;baseCell.setAttribute('colSpan',colspanNumber);if(baseCell.cellIndex===cellPos){baseCell.innerHTML='';}}
414else if(colspanNumber===2){baseCell.removeAttribute('colSpan');if(baseCell.cellIndex===cellPos){baseCell.innerHTML='';}}}
415continue;case TableResultAction.resultAction.RemoveCell:dom.remove(actions[actionIndex].baseCell,true);continue;}}};Table.prototype.createTable=function(colCount,rowCount,options){var tds=[];var tdHTML;for(var idxCol=0;idxCol<colCount;idxCol++){tds.push('<td>'+dom.blank+'</td>');}
416tdHTML=tds.join('');var trs=[];var trHTML;for(var idxRow=0;idxRow<rowCount;idxRow++){trs.push('<tr>'+tdHTML+'</tr>');}
417trHTML=trs.join('');var $table=$$1('<table>'+trHTML+'</table>');if(options&&options.tableClassName){$table.addClass(options.tableClassName);}
418return $table[0];};Table.prototype.deleteTable=function(rng){var cell=dom.ancestor(rng.commonAncestor(),dom.isCell);$$1(cell).closest('table').remove();};return Table;}());var KEY_BOGUS='bogus';var Editor=(function(){function Editor(context){var _this=this;this.context=context;this.$note=context.layoutInfo.note;this.$editor=context.layoutInfo.editor;this.$editable=context.layoutInfo.editable;this.options=context.options;this.lang=this.options.langInfo;this.editable=this.$editable[0];this.lastRange=null;this.style=new Style();this.table=new Table();this.typing=new Typing(context);this.bullet=new Bullet();this.history=new History(this.$editable);this.context.memo('help.undo',this.lang.help.undo);this.context.memo('help.redo',this.lang.help.redo);this.context.memo('help.tab',this.lang.help.tab);this.context.memo('help.untab',this.lang.help.untab);this.context.memo('help.insertParagraph',this.lang.help.insertParagraph);this.context.memo('help.insertOrderedList',this.lang.help.insertOrderedList);this.context.memo('help.insertUnorderedList',this.lang.help.insertUnorderedList);this.context.memo('help.indent',this.lang.help.indent);this.context.memo('help.outdent',this.lang.help.outdent);this.context.memo('help.formatPara',this.lang.help.formatPara);this.context.memo('help.insertHorizontalRule',this.lang.help.insertHorizontalRule);this.context.memo('help.fontName',this.lang.help.fontName);var commands=['bold','italic','underline','strikethrough','superscript','subscript','justifyLeft','
418justifyCenter','justifyRight','justifyFull','formatBlock','removeFormat','backColor',];for(var idx=0,len=commands.length;idx<len;idx++){this[commands[idx]]=(function(sCmd){return function(value){_this.beforeCommand();document.execCommand(sCmd,false,value);_this.afterCommand(true);};})(commands[idx]);this.context.memo('help.'+commands[idx],this.lang.help[commands[idx]]);}
419this.fontName=this.wrapCommand(function(value){return _this.fontStyling('font-family',"\'"+value+"\'");});this.fontSize=this.wrapCommand(function(value){return _this.fontStyling('font-size',value+'px');});for(var idx=1;idx<=6;idx++){this['formatH'+idx]=(function(idx){return function(){_this.formatBlock('H'+idx);};})(idx);this.context.memo('help.formatH'+idx,this.lang.help['formatH'+idx]);}
420this.insertParagraph=this.wrapCommand(function(){_this.typing.insertParagraph(_this.editable);});this.insertOrderedList=this.wrapCommand(function(){_this.bullet.insertOrderedList(_this.editable);});this.insertUnorderedList=this.wrapCommand(function(){_this.bullet.insertUnorderedList(_this.editable);});this.indent=this.wrapCommand(function(){_this.bullet.indent(_this.editable);});this.outdent=this.wrapCommand(function(){_this.bullet.outdent(_this.editable);});this.insertNode=this.wrapCommand(function(node){if(_this.isLimited($$1(node).text().length)){return;}
421var rng=_this.getLastRange();rng.insertNode(node);range.createFromNodeAfter(node).select();_this.setLastRange();});this.insertText=this.wrapCommand(function(text){if(_this.isLimited(text.length)){return;}
422var rng=_this.getLastRange();var textNode=rng.insertNode(dom.createText(text));range.create(textNode,dom.nodeLength(textNode)).select();_this.setLastRange();});this.pasteHTML=this.wrapCommand(function(markup){if(_this.isLimited(markup.length)){return;}
423markup=_this.context.invoke('codeview.purify',markup);var contents=_this.getLastRange().pasteHTML(markup);range.createFromNodeAfter(lists.last(contents)).select();_this.setLastRange();});this.formatBlock=this.wrapCommand(function(tagName,$target){var onApplyCustomStyle=_this.options.callbacks.onApplyCustomStyle;if(onApplyCustomStyle){onApplyCustomStyle.call(_this,$target,_this.context,_this.onFormatBlock);}
424else{_this.onFormatBlock(tagName,$target);}});this.insertHorizontalRule=this.wrapCommand(function(){var hrNode=_this.getLastRange().insertNode(dom.create('HR'));if(hrNode.nextSibling){range.create(hrNode.nextSibling,0).normalize().select();_this.setLastRange();}});this.lineHeight=this.wrapCommand(function(value){_this.style.stylePara(_this.getLastRange(),{lineHeight:value});});this.createLink=this.wrapCommand(function(linkInfo){var linkUrl=linkInfo.url;var linkText=linkInfo.text;var isNewWindow=linkInfo.isNewWindow;var rng=linkInfo.range||_this.getLastRange();var additionalTextLength=linkText.length-rng.toString().length;if(additionalTextLength>0&&_this.isLimited(additionalTextLength)){return;}
425var isTextChanged=rng.toString()!==linkText;if(typeof linkUrl==='string'){linkUrl=linkUrl.trim();}
426if(_this.options.onCreateLink){linkUrl=_this.options.onCreateLink(linkUrl);}
427else{linkUrl=/^([A-Za-z][A-Za-z0-9+-.]*\:|#|\/)/.test(linkUrl)?linkUrl:'http://'+linkUrl;}
428var anchors=[];if(isTextChanged){rng=rng.deleteContents();var anchor=rng.insertNode($$1('<A>'+linkText+'</A>')[0]);anchors.push(anchor);}
429else{anchors=_this.style.styleNodes(rng,{nodeName:'A',expandClosestSibling:true,onlyPartialContains:true});}
430$$1.each(anchors,function(idx,anchor){$$1(anchor).attr('href',linkUrl);if(isNewWindow){$$1(anchor).attr('target','_blank');}
431else{$$1(anchor).removeAttr('target');}});var startRange=range.createFromNodeBefore(lists.head(anchors));var startPoint=startRange.getStartPoint();var endRange=range.createFromNodeAfter(lists.last(anchors));var endPoint=endRange.getEndPoint();range.create(startPoint.node,startPoint.offset,endPoint.node,endPoint.offset).select();_this.setLastRange();});this.color=this.wrapCommand(function(colorInfo){var foreColor=colorInfo.foreColor;var backColor=colorInfo.backColor;if(foreColor){document.execCommand('foreColor',false,foreColor);}
432if(backColor){document.execCommand('backColor',false,backColor);}});this.foreColor=this.wrapCommand(function(colorInfo){document.execCommand('styleWithCSS',false,true);document.execCommand('foreColor',false,colorInfo);});this.insertTable=this.wrapCommand(function(dim){var dimension=dim.split('x');var rng=_this.getLastRange().deleteContents();
432rng.insertNode(_this.table.createTable(dimension[0],dimension[1],_this.options));});this.removeMedia=this.wrapCommand(function(){var $target=$$1(_this.restoreTarget()).parent();if($target.parent('figure').length){$target.parent('figure').remove();}
433else{$target=$$1(_this.restoreTarget()).detach();}
434_this.context.triggerEvent('media.delete',$target,_this.$editable);});this.floatMe=this.wrapCommand(function(value){var $target=$$1(_this.restoreTarget());$target.toggleClass('note-float-left',value==='left');$target.toggleClass('note-float-right',value==='right');$target.css('float',(value==='none'?'':value));});this.resize=this.wrapCommand(function(value){var $target=$$1(_this.restoreTarget());value=parseFloat(value);if(value===0){$target.css('width','');}
435else{$target.css({width:value*100+'%',height:''});}});}
436Editor.prototype.initialize=function(){var _this=this;this.$editable.on('keydown',function(event){if(event.keyCode===key.code.ENTER){_this.context.triggerEvent('enter',event);}
437_this.context.triggerEvent('keydown',event);if(!event.isDefaultPrevented()){if(_this.options.shortcuts){_this.handleKeyMap(event);}
438else{_this.preventDefaultEditableShortCuts(event);}}
439if(_this.isLimited(1,event)){return false;}}).on('keyup',function(event){_this.setLastRange();_this.context.triggerEvent('keyup',event);}).on('focus',function(event){_this.setLastRange();_this.context.triggerEvent('focus',event);}).on('blur',function(event){_this.context.triggerEvent('blur',event);}).on('mousedown',function(event){_this.context.triggerEvent('mousedown',event);}).on('mouseup',function(event){_this.setLastRange();_this.context.triggerEvent('mouseup',event);}).on('scroll',function(event){_this.context.triggerEvent('scroll',event);}).on('paste',function(event){_this.setLastRange();_this.context.triggerEvent('paste',event);});this.$editable.attr('spellcheck',this.options.spellCheck);this.$editable.html(dom.html(this.$note)||dom.emptyPara);this.$editable.on(env.inputEventName,func.debounce(function(){_this.context.triggerEvent('change',_this.$editable.html(),_this.$editable);},10));this.$editor.on('focusin',function(event){_this.context.triggerEvent('focusin',event);}).on('focusout',function(event){_this.context.triggerEvent('focusout',event);});if(!this.options.airMode){if(this.options.width){this.$editor.outerWidth(this.options.width);}
440if(this.options.height){this.$editable.outerHeight(this.options.height);}
441if(this.options.maxHeight){this.$editable.css('max-height',this.options.maxHeight);}
442if(this.options.minHeight){this.$editable.css('min-height',this.options.minHeight);}}
443this.history.recordUndo();this.setLastRange();};Editor.prototype.destroy=function(){this.$editable.off();};Editor.prototype.handleKeyMap=function(event){var keyMap=this.options.keyMap[env.isMac?'mac':'pc'];var keys=[];if(event.metaKey){keys.push('CMD');}
444if(event.ctrlKey&&!event.altKey){keys.push('CTRL');}
445if(event.shiftKey){keys.push('SHIFT');}
446var keyName=key.nameFromCode[event.keyCode];if(keyName){keys.push(keyName);}
447var eventName=keyMap[keys.join('+')];if(eventName){if(this.context.invoke(eventName)!==false){event.preventDefault();}}
448else if(key.isEdit(event.keyCode)){this.afterCommand();}};Editor.prototype.preventDefaultEditableShortCuts=function(event){if((event.ctrlKey||event.metaKey)&&lists.contains([66,73,85],event.keyCode)){event.preventDefault();}};Editor.prototype.isLimited=function(pad,event){pad=pad||0;if(typeof event!=='undefined'){if(key.isMove(event.keyCode)||(event.ctrlKey||event.metaKey)||lists.contains([key.code.BACKSPACE,key.code.DELETE],event.keyCode)){return false;}}
449if(this.options.maxTextLength>0){if((this.$editable.text().length+pad)>=this.options.maxTextLength){return true;}}
450return false;};Editor.prototype.createRange=function(){this.focus();this.setLastRange();return this.getLastRange();};Editor.prototype.setLastRange=function(){this.lastRange=range.create(this.editable);};Editor.prototype.getLastRange=function(){if(!this.lastRange){this.setLastRange();}
451return this.lastRange;};Editor.prototype.saveRange=function(thenCollapse){if(thenCollapse){this.getLastRange().collapse().select();}};Editor.prototype.restoreRange=function(){if(this.lastRange){this.lastRange.select();this.focus();}};Editor.prototype.saveTarget=function(node){this.$editable.data('target',node);};Editor.prototype.clearTarget=function(){this.$editable.removeData('target');};Editor.prototype.restoreTarget=function(){return this.$editable.data('target');};Editor.prototype.currentStyle=function(){var rng=range.create();if(rng){rng=rng.normalize();}
452return rng?this.style.current(rng):this.style.fromNode(this.$editable);};Editor.prototype.styleFromNode=function($node){return this.style.fromNode($node);};Editor.prototype.undo=function(){this.context.triggerEvent('before.command',this.$editable.html());this.history.undo();this.context.triggerEvent('change',this.$editable.html(),this.$editable);};Editor.prototype.commit=function(){this.context.triggerEvent('before.command',this.$editable.html());this.history.commit();this.context.triggerEvent('change',this.$editable.html(),this.$editable);};Editor.prototype.redo=function(){this.context.triggerEvent('before.command',this.$editable.html());this.history.redo();this.context.triggerEvent('change',this.$editable.html(),this.$editable);};Editor.prototype.beforeCommand=function(){this.context.triggerEvent('before.command',this.$editable.html());this.focus();};Editor.prototype.afterCommand=function(isPreventTrigger){this.normalizeContent();this.history.recordUndo();if(!isPreventTrigger){this.context.triggerEvent('change',this.$editable.html(),this.$editable);}};Editor.prototype.tab=function(){var rng=this.getLastRange();if(rng.isCollapsed()&&rng.isOnCell()){this.table.tab(rng);}
453else{if(this.options.tabSize===0){return false;}
454if(!this.isLimited(this.options.tabSize)){this.beforeCommand();this.typing.insertTab(rng,this.options.tabSize);this.afterCommand();}}};Editor.prototype.untab=function(){var rng=this.getLastRange();if(rng.isCollapsed()&&rng.isOnCell()){this.table.tab(rng,true);}
455else{if(this.options.tabSize===0){return false;}}};Editor.prototype.wrapCommand=function(fn){return function(){this.beforeCommand();fn.apply(this,arguments);this.afterCommand();};};Editor.prototype.insertImage=function(src,param){var _this=this;return createImage(src,param).then(function($image){_this.beforeCommand();if(typeof param==='function'){param($image);}
456else{if(typeof param==='string'){$image.attr('data-filename',param);}
457$image.css('width',Math.min(_this.$editable.width(),$image.width()));}
458$image.show();range.create(_this.editable).insertNode($image[0]);range.createFromNodeAfter($image[0]).select();_this.setLastRange();_this.afterCommand();}).fail(function(e){_this.context.triggerEvent('image.upload.error',e);});};Editor.prototype.insertImagesAsDataURL=function(files){var _this=this;$$1.each(files,function(idx,file){var filename=file.name;if(_this.options.maximumImageFileSize&&_this.options.maximumImageFileSize<file.size){_this.context.triggerEvent('image.upload.error',_this.lang.image.maximumFileSizeError);}
459else{readFileAsDataURL(file).then(function(dataURL){return _this.insertImage(dataURL,filename);}).fail(function(){_this.context.triggerEvent('image.upload.error');});}});};Editor.prototype.insertImagesOrCallback=function(files){var callbacks=this.options.callbacks;
459if(callbacks.onImageUpload){this.context.triggerEvent('image.upload',files);}
460else{this.insertImagesAsDataURL(files);}};Editor.prototype.getSelectedText=function(){var rng=this.getLastRange();if(rng.isOnAnchor()){rng=range.createFromNode(dom.ancestor(rng.sc,dom.isAnchor));}
461return rng.toString();};Editor.prototype.onFormatBlock=function(tagName,$target){document.execCommand('FormatBlock',false,env.isMSIE?'<'+tagName+'>':tagName);if($target&&$target.length){if($target[0].tagName.toUpperCase()!==tagName.toUpperCase()){$target=$target.find(tagName);}
462if($target&&$target.length){var className=$target[0].className||'';if(className){var currentRange=this.createRange();var $parent=$$1([currentRange.sc,currentRange.ec]).closest(tagName);$parent.addClass(className);}}}};Editor.prototype.formatPara=function(){this.formatBlock('P');};Editor.prototype.fontStyling=function(target,value){var rng=this.getLastRange();if(rng){var spans=this.style.styleNodes(rng);$$1(spans).css(target,value);if(rng.isCollapsed()){var firstSpan=lists.head(spans);if(firstSpan&&!dom.nodeLength(firstSpan)){firstSpan.innerHTML=dom.ZERO_WIDTH_NBSP_CHAR;range.createFromNodeAfter(firstSpan.firstChild).select();this.setLastRange();this.$editable.data(KEY_BOGUS,firstSpan);}}}};Editor.prototype.unlink=function(){var rng=this.getLastRange();if(rng.isOnAnchor()){var anchor=dom.ancestor(rng.sc,dom.isAnchor);rng=range.createFromNode(anchor);rng.select();this.setLastRange();this.beforeCommand();document.execCommand('unlink');this.afterCommand();}};Editor.prototype.getLinkInfo=function(){var rng=this.getLastRange().expand(dom.isAnchor);var $anchor=$$1(lists.head(rng.nodes(dom.isAnchor)));
462var linkInfo={range:rng,text:rng.toString(),url:$anchor.length?$anchor.attr('href'):''};if($anchor.length){linkInfo.isNewWindow=$anchor.attr('target')==='_blank';}
463return linkInfo;};Editor.prototype.addRow=function(position){var rng=this.getLastRange(this.$editable);if(rng.isCollapsed()&&rng.isOnCell()){this.beforeCommand();this.table.addRow(rng,position);this.afterCommand();}};Editor.prototype.addCol=function(position){var rng=this.getLastRange(this.$editable);if(rng.isCollapsed()&&rng.isOnCell()){this.beforeCommand();this.table.addCol(rng,position);this.afterCommand();}};Editor.prototype.deleteRow=function(){var rng=this.getLastRange(this.$editable);if(rng.isCollapsed()&&rng.isOnCell()){this.beforeCommand();this.table.deleteRow(rng);this.afterCommand();}};Editor.prototype.deleteCol=function(){var rng=this.getLastRange(this.$editable);if(rng.isCollapsed()&&rng.isOnCell()){this.beforeCommand();this.table.deleteCol(rng);this.afterCommand();}};Editor.prototype.deleteTable=function(){var rng=this.getLastRange(this.$editable);if(rng.isCollapsed()&&rng.isOnCell()){this.beforeCommand();this.table.deleteTable(rng);this.afterCommand();}};Editor.prototype.resizeTo=function(pos,$target,bKeepRatio){var imageSize;if(bKeepRatio){var newRatio=pos.y/pos.x;var ratio=$target.data('ratio');imageSize={width:ratio>newRatio?pos.x:pos.y/ratio,height:ratio>newRatio?pos.x*ratio:pos.y};}
464else{imageSize={width:pos.x,height:pos.y};}
465$target.css(imageSize);};Editor.prototype.hasFocus=function(){return this.$editable.is(':focus');};Editor.prototype.focus=function(){if(!this.hasFocus()){this.$editable.focus();}};Editor.prototype.isEmpty=function(){return dom.isEmpty(this.$editable[0])||dom.emptyPara===this.$editable.html();};Editor.prototype.empty=function(){this.context.invoke('code',dom.emptyPara);};Editor.prototype.normalizeContent=function(){this.$editable[0].normalize();};return Editor;}());var Clipboard=(function(){function Clipboard(context){this.context=context;this.$editable=context.layoutInfo.editable;}
466Clipboard.prototype.initialize=function(){this.$editable.on('paste',this.pasteByEvent.bind(this));};Clipboard.prototype.pasteByEvent=function(event){var clipboardData=event.originalEvent.clipboardData;if(clipboardData&&clipboardData.items&&clipboardData.items.length){var item=clipboardData.items.length>1?clipboardData.items[1]:lists.head(clipboardData.items);if(item.kind==='file'&&item.type.indexOf('image/')!==-1){this.context.invoke('editor.insertImagesOrCallback',[item.getAsFile()]);}
467this.context.invoke('editor.afterCommand');}};return Clipboard;}());var Dropzone=(function(){function Dropzone(context){this.context=context;this.$eventListener=$$1(document);this.$editor=context.layoutInfo.editor;this.$editable=context.layoutInfo.editable;this.options=context.options;this.lang=this.options.langInfo;this.documentEventHandlers={};this.$dropzone=$$1(['<div class="note-dropzone">','  <div class="note-dropzone-message"/>','</div>',].join('')).prependTo(this.$editor);}
468Dropzone.prototype.initialize=function(){if(this.options.disableDragAndDrop){this.documentEventHandlers.onDrop=function(e){e.preventDefault();};this.$eventListener=this.$dropzone;this.$eventListener.on('drop',this.documentEventHandlers.onDrop);}
469else{this.attachDragAndDropEvent();}};Dropzone.prototype.attachDragAndDropEvent=function(){var _this=this;var collection=$$1();var $dropzoneMessage=this.$dropzone.find('.note-dropzone-message');this.documentEventHandlers.onDragenter=function(e){var isCodeview=_this.context.invoke('codeview.isActivated');var hasEditorSize=_this.$editor.width()>0&&_this.$editor.height()>0;if(!isCodeview&&!collection.length&&hasEditorSize){_this.$editor.addClass('dragover');_this.$dropzone.width(_this.$editor.width());_this.$dropzone.height(_this.$editor.height());$dropzoneMessage.text(_this.lang.image.dragImageHere);}
470collection=collection.add(e.target);};this.documentEventHandlers.onDragleave=function(e){collection=collection.not(e.target);if(!collection.length){_this.$editor.removeClass('dragover');}};this.documentEventHandlers.onDrop=function(){collection=$$1();_this.$editor.removeClass('dragover');};this.$eventListener.on('dragenter',this.documentEventHandlers.onDragenter).on('dragleave',this.documentEventHandlers.onDragleave).on('drop',this.documentEventHandlers.onDrop);this.$dropzone.on('dragenter',function(){_this.$dropzone.addClass('hover');$dropzoneMessage.text(_this.lang.image.dropImage);}).on('dragleave',function(){_this.$dropzone.removeClass('hover');$dropzoneMessage.text(_this.lang.image.dragImageHere);});this.$dropzone.on('drop',function(event){var dataTransfer=event.originalEvent.dataTransfer;event.preventDefault();if(dataTransfer&&dataTransfer.files&&dataTransfer.files.length){_this.$editable.focus();
470_this.context.invoke('editor.insertImagesOrCallback',dataTransfer.files);}
471else{$$1.each(dataTransfer.types,function(idx,type){var content=dataTransfer.getData(type);if(type.toLowerCase().indexOf('text')>-1){_this.context.invoke('editor.pasteHTML',content);}
472else{$$1(content).each(function(idx,item){_this.context.invoke('editor.insertNode',item);});}});}}).on('dragover',false);};Dropzone.prototype.destroy=function(){var _this=this;Object.keys(this.documentEventHandlers).forEach(function(key){_this.$eventListener.off(key.substr(2).toLowerCase(),_this.documentEventHandlers[key]);});this.documentEventHandlers={};};return Dropzone;}());var CodeMirror;if(env.hasCodeMirror){CodeMirror=window.CodeMirror;}
473var CodeView=(function(){function CodeView(context){this.context=context;this.$editor=context.layoutInfo.editor;this.$editable=context.layoutInfo.editable;this.$codable=context.layoutInfo.codable;this.options=context.options;}
474CodeView.prototype.sync=function(){var isCodeview=this.isActivated();if(isCodeview&&env.hasCodeMirror){this.$codable.data('cmEditor').save();}};CodeView.prototype.isActivated=function(){return this.$editor.hasClass('codeview');};CodeView.prototype.toggle=function(){if(this.isActivated()){this.deactivate();}
475else{this.activate();}
476this.context.triggerEvent('codeview.toggled');};CodeView.prototype.purify=function(value){if(this.options.codeviewFilter){value=value.replace(this.options.codeviewFilterRegex,'');if(this.options.codeviewIframeFilter){var whitelist_1=this.options.codeviewIframeWhitelistSrc.concat(this.options.codeviewIframeWhitelistSrcBase);value=value.replace(/(<iframe.*?>.*?(?:<\/iframe>)?)/gi,function(tag){if(/<.+src(?==?('|"|\s)?)[\s\S]+src(?=('|"|\s)?)[^>]*?>/i.test(tag)){return '';}
477for(var _i=0,whitelist_2=whitelist_1;_i<whitelist_2.length;_i++){var src=whitelist_2[_i];if((new RegExp('src="(https?:)?\/\/'+src.replace(/[-\/\\^$*+?.()|[\]{}]/g,'\\$&')+'\/(.+)"')).test(tag)){return tag;}}
478return '';});}}
479return value;};CodeView.prototype.activate=function(){var _this=this;this.$codable.val(dom.html(this.$editable,this.options.prettifyHtml));this.$codable.height(this.$editable.height());this.context.invoke('toolbar.updateCodeview',true);this.$editor.addClass('codeview');this.$codable.focus();if(env.hasCodeMirror){var cmEditor_1=CodeMirror.fromTextArea(this.$codable[0],this.options.codemirror);if(this.options.codemirror.tern){var server_1=new CodeMirror.TernServer(this.options.codemirror.tern);cmEditor_1.ternServer=server_1;cmEditor_1.on('cursorActivity',function(cm){server_1.updateArgHints(cm);});}
480cmEditor_1.on('blur',function(event){_this.context.triggerEvent('blur.codeview',cmEditor_1.getValue(),event);});cmEditor_1.on('change',function(event){_this.context.triggerEvent('change.codeview',cmEditor_1.getValue(),cmEditor_1);});cmEditor_1.setSize(null,this.$editable.outerHeight());this.$codable.data('cmEditor',cmEditor_1);}
481else{this.$codable.on('blur',function(event){_this.context.triggerEvent('blur.codeview',_this.$codable.val(),event);});this.$codable.on('input',function(event){_this.context.triggerEvent('change.codeview',_this.$codable.val(),_this.$codable);});}};CodeView.prototype.deactivate=function(){if(env.hasCodeMirror){var cmEditor=this.$codable.data('cmEditor');this.$codable.val(cmEditor.getValue());cmEditor.toTextArea();}
482var value=this.purify(dom.value(this.$codable,this.options.prettifyHtml)||dom.emptyPara);var isChange=this.$editable.html()!==value;this.$editable.html(value);this.$editable.height(this.options.height?this.$codable.height():'auto');this.$editor.removeClass('codeview');if(isChange){this.context.triggerEvent('change',this.$editable.html(),this.$editable);}
483this.$editable.focus();this.context.invoke('toolbar.updateCodeview',false);};CodeView.prototype.destroy=function(){if(this.isActivated()){this.deactivate();}};return CodeView;}());var EDITABLE_PADDING=24;var Statusbar=(function(){function Statusbar(context){this.$document=$$1(document);this.$statusbar=context.layoutInfo.statusbar;this.$editable=context.layoutInfo.editable;this.options=context.options;}
484Statusbar.prototype.initialize=function(){var _this=this;if(this.options.airMode||this.options.disableResizeEditor){this.destroy();return;}
485this.$statusbar.on('mousedown',function(event){event.preventDefault();event.stopPropagation();var editableTop=_this.$editable.offset().top-_this.$document.scrollTop();var onMouseMove=function(event){var height=event.clientY-(editableTop+EDITABLE_PADDING);height=(_this.options.minheight>0)?Math.max(height,_this.options.minheight):height;height=(_this.options.maxHeight>0)?Math.min(height,_this.options.maxHeight):height;_this.$editable.height(height);};_this.$document.on('mousemove',onMouseMove).one('mouseup',function(){_this.$document.off('mousemove',onMouseMove);});});};Statusbar.prototype.destroy=function(){this.$statusbar.off();this.$statusbar.addClass('locked');};return Statusbar;}());var Fullscreen=(function(){function Fullscreen(context){var _this=this;this.context=context;this.$editor=context.layoutInfo.editor;this.$toolbar=context.layoutInfo.toolbar;this.$editable=context.layoutInfo.editable;this.$codable=context.layoutInfo.codable;this.$window=$$1(window);this.$scrollbar=$$1('html, body');this.onResize=function(){_this.resizeTo({h:_this.$window.height()-_this.$toolbar.outerHeight()});};}
486Fullscreen.prototype.resizeTo=function(size){this.$editable.css('height',size.h);this.$codable.css('height',size.h);if(this.$codable.data('cmeditor')){this.$codable.data('cmeditor').setsize(null,size.h);}};Fullscreen.prototype.toggle=function(){this.$editor.toggleClass('fullscreen');
486if(this.isFullscreen()){this.$editable.data('orgHeight',this.$editable.css('height'));this.$editable.data('orgMaxHeight',this.$editable.css('maxHeight'));this.$editable.css('maxHeight','');this.$window.on('resize',this.onResize).trigger('resize');this.$scrollbar.css('overflow','hidden');}
487else{this.$window.off('resize',this.onResize);this.resizeTo({h:this.$editable.data('orgHeight')});this.$editable.css('maxHeight',this.$editable.css('orgMaxHeight'));this.$scrollbar.css('overflow','visible');}
488this.context.invoke('toolbar.updateFullscreen',this.isFullscreen());};Fullscreen.prototype.isFullscreen=function(){return this.$editor.hasClass('fullscreen');};return Fullscreen;}());var Handle=(function(){function Handle(context){var _this=this;this.context=context;this.$document=$$1(document);this.$editingArea=context.layoutInfo.editingArea;this.options=context.options;this.lang=this.options.langInfo;this.events={'summernote.mousedown':function(we,e){if(_this.update(e.target,e)){e.preventDefault();}},'summernote.keyup summernote.scroll summernote.change summernote.dialog.shown':function(){_this.update();},'summernote.disable':function(){_this.hide();},'summernote.codeview.toggled':function(){_this.update();}};}
489Handle.prototype.initialize=function(){var _this=this;this.$handle=$$1(['<div class="note-handle">','<div class="note-control-selection">','<div class="note-control-selection-bg"></div>','<div class="note-control-holder note-control-nw"></div>','<div class="note-control-holder note-control-ne"></div>','<div class="note-control-holder note-control-sw"></div>','<div class="',(this.options.disableResizeImage?'note-control-holder':'note-control-sizing'),' note-control-se"></div>',(this.options.disableResizeImage?'':'<div class="note-control-selection-info"></div>'),'</div>','</div>',].join('')).prependTo(this.$editingArea);this.$handle.on('mousedown',function(event){if(dom.isControlSizing(event.target)){event.preventDefault();event.stopPropagation();var $target_1=_this.$handle.find('.note-control-selection').data('target');var posStart_1=$target_1.offset();var scrollTop_1=_this.$document.scrollTop();var onMouseMove_1=function(event){_this.context.invoke('editor.resizeTo',{x:event.clientX-posStart_1.left,y:event.clientY-(posStart_1.top-scrollTop_1)},$target_1,!event.shiftKey);_this.update($target_1[0]);};_this.$document.on('mousemove',onMouseMove_1).one('mouseup',function(e){e.preventDefault();_this.$document.off('mousemove',onMouseMove_1);_this.context.invoke('editor.afterCommand');});if(!$target_1.data('ratio')){$target_1.data('ratio',$target_1.height()/$target_1.width());}}});this.$handle.on('wheel',function(e){e.preventDefault();_this.update();});};Handle.prototype.destroy=function(){this.$handle.remove();};Handle.prototype.update=function(target,event){if(this.context.isDisabled()){return false;}
490var isImage=dom.isImg(target);var $selection=this.$handle.find('.note-control-selection');this.context.invoke('imagePopover.update',target,event);if(isImage){var $image=$$1(target);var position=$image.position();var pos={left:position.left+parseInt($image.css('marginLeft'),10),top:position.top+parseInt($image.css('marginTop'),10)};var imageSize={w:$image.outerWidth(false),h:$image.outerHeight(false)};$selection.css({display:'block',left:pos.left,top:pos.top,width:imageSize.w,height:imageSize.h}).data('target',$image);var origImageObj=new Image();origImageObj.src=$image.attr('src');var sizingText=imageSize.w+'x'+imageSize.h+' ('+this.lang.image.original+': '+origImageObj.width+'x'+origImageObj.height+')';$selection.find('.note-control-selection-info').text(sizingText);this.context.invoke('editor.saveTarget',target);}
491else{this.hide();}
492return isImage;};Handle.prototype.hide=function(){this.context.invoke('editor.clearTarget');this.$handle.children().hide();};return Handle;}());var defaultScheme='http://';var linkPattern=/^([A-Za-z][A-Za-z0-9+-.]*\:[\/]{2}|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i;var AutoLink=(function(){function AutoLink(context){var _this=this;this.context=context;this.events={'summernote.keyup':function(we,e){if(!e.isDefaultPrevented()){_this.handleKeyup(e);}},'summernote.keydown':function(we,e){_this.handleKeydown(e);}};}
493AutoLink.prototype.initialize=function(){this.lastWordRange=null;};AutoLink.prototype.destroy=function(){this.lastWordRange=null;};AutoLink.prototype.replace=function(){if(!this.lastWordRange){return;}
494var keyword=this.lastWordRange.toString();var match=keyword.match(linkPattern);if(match&&(match[1]||match[2])){var link=match[1]?keyword:defaultScheme+keyword;var node=$$1('<a />').html(keyword).attr('href',link)[0];if(this.context.options.linkTargetBlank){$$1(node).attr('target','_blank');}
495this.lastWordRange.insertNode(node);this.lastWordRange=null;this.context.invoke('editor.focus');}};AutoLink.prototype.handleKeydown=function(e){if(lists.contains([key.code.ENTER,key.code.SPACE],e.keyCode)){var wordRange=this.context.invoke('editor.createRange').getWordRange();this.lastWordRange=wordRange;}};AutoLink.prototype.handleKeyup=function(e){if(lists.contains([key.code.ENTER,key.code.SPACE],e.keyCode)){this.replace();}};return AutoLink;}());var AutoSync=(function(){function AutoSync(context){var _this=this;this.$note=context.layoutInfo.note;this.events={'summernote.change':function(){_this.$note.val(context.invoke('code'));}};}
496AutoSync.prototype.shouldInitialize=function(){return dom.isTextarea(this.$note[0]);};return AutoSync;}());var AutoReplace=(function(){function AutoReplace(context){var _this=this;this.context=context;this.options=context.options.replace||{};this.keys=[key.code.ENTER,key.code.SPACE,key.code.PERIOD,key.code.COMMA,key.code.SEMICOLON,key.code.SLASH];this.previousKeydownCode=null;this.events={'summernote.keyup':function(we,e){if(!e.isDefaultPrevented()){_this.handleKeyup(e);}},'summernote.keydown':function(we,e){_this.handleKeydown(e);}};}
497AutoReplace.prototype.shouldInitialize=function(){return!!this.options.match;};AutoReplace.prototype.initialize=function(){this.lastWord=null;};AutoReplace.prototype.destroy=function(){this.lastWord=null;};AutoReplace.prototype.replace=function(){if(!this.lastWord){return;}
498var self=this;var keyword=this.lastWord.toString();this.options.match(keyword,function(match){if(match){var node='';if(typeof match==='string'){node=dom.createText(match);}
499else if(match instanceof jQuery){node=match[0];}
500else if(match instanceof Node){node=match;}
501if(!node)
502return;self.lastWord.insertNode(node);self.lastWord=null;self.context.invoke('editor.focus');}});};AutoReplace.prototype.handleKeydown=function(e){if(this.previousKeydownCode&&lists.contains(this.keys,this.previousKeydownCode)){this.previousKeydownCode=e.keyCode;return;}
503if(lists.contains(this.keys,e.keyCode)){var wordRange=this.context.invoke('editor.createRange').getWordRange();this.lastWord=wordRange;}
504this.previousKeydownCode=e.keyCode;};AutoReplace.prototype.handleKeyup=function(e){if(lists.contains(this.keys,e.keyCode)){this.replace();}};return AutoReplace;}());var Placeholder=(function(){function Placeholder(context){var _this=this;this.context=context;this.$editingArea=context.layoutInfo.editingArea;this.options=context.options;this.events={'summernote.init summernote.change':function(){_this.update();},'summernote.codeview.toggled':function(){_this.update();}};}
505Placeholder.prototype.shouldInitialize=function(){return!!this.options.placeholder;};Placeholder.prototype.initialize=function(){var _this=this;this.$placeholder=$$1('<div class="note-placeholder">');this.$placeholder.on('click',function(){_this.context.invoke('focus');}).html(this.options.placeholder).prependTo(this.$editingArea);this.update();};Placeholder.prototype.destroy=function(){this.$placeholder.remove();};Placeholder.prototype.update=function(){var isShow=!this.context.invoke('codeview.isActivated')&&this.context.invoke('editor.isEmpty');this.$placeholder.toggle(isShow);};return Placeholder;}());var Buttons=(function(){function Buttons(context){this.ui=$$1.summernote.ui;this.context=context;this.$toolbar=context.layoutInfo.toolbar;this.options=context.options;this.lang=this.options.langInfo;this.invertedKeyMap=func.invertObject(this.options.keyMap[env.isMac?'mac':'pc']);}
506Buttons.prototype.representShortcut=function(editorMethod){var shortcut=this.invertedKeyMap[editorMethod];if(!this.options.shortcuts||!shortcut){return '';}
507if(env.isMac){shortcut=shortcut.replace('CMD','⌘').replace('SHIFT','⇧');}
508shortcut=shortcut.replace('BACKSLASH','\\').replace('SLASH','/').replace('LEFTBRACKET','[').replace('RIGHTBRACKET',']');return ' ('+shortcut+')';};Buttons.prototype.button=function(o){if(!this.options.tooltip&&o.tooltip){delete o.tooltip;}
509o.container=this.options.container;return this.ui.button(o);};Buttons.prototype.initialize=function(){this.addToolbarButtons();this.addImagePopoverButtons();this.addLinkPopoverButtons();this.addTablePopoverButtons();this.fontInstalledMap={};};Buttons.prototype.destroy=function(){delete this.fontInstalledMap;};Buttons.prototype.isFontInstalled=function(name){if(!this.fontInstalledMap.hasOwnProperty(name)){this.fontInstalledMap[name]=env.isFontInstalled(name)||lists.contains(this.options.fontNamesIgnoreCheck,name);}
510return this.fontInstalledMap[name];};Buttons.prototype.isFontDeservedToAdd=function(name){var genericFamilies=['s
510ans-serif','serif','monospace','cursive','fantasy'];name=name.toLowerCase();return(name!==''&&this.isFontInstalled(name)&&genericFamilies.indexOf(name)===-1);};Buttons.prototype.colorPalette=function(className,tooltip,backColor,foreColor){var _this=this;return this.ui.buttonGroup({className:'note-color '+className,children:[this.button({className:'note-current-color-button',contents:this.ui.icon(this.options.icons.font+' note-recent-color'),tooltip:tooltip,click:function(e){var $button=$$1(e.currentTarget);if(backColor&&foreColor){_this.context.invoke('editor.color',{backColor:$button.attr('data-backColor'),foreColor:$button.attr('data-foreColor')});}
511else if(backColor){_this.context.invoke('editor.color',{backColor:$button.attr('data-backColor')});}
512else if(foreColor){_this.context.invoke('editor.color',{foreColor:$button.attr('data-foreColor')});}},callback:function($button){var $recentColor=$button.find('.note-recent-color');if(backColor){$recentColor.css('background-color',_this.options.colorButton.backColor);$button.attr('data-backColor',_this.options.colorButton.backColor);}
513if(foreColor){$recentColor.css('color',_this.options.colorButton.foreColor);$button.attr('data-foreColor',_this.options.colorButton.foreColor);}
514else{$recentColor.css('color','transparent');}}}),this.button({className:'dropdown-toggle',contents:this.ui.dropdownButtonContents('',this.options),tooltip:this.lang.color.more,data:{toggle:'dropdown'}}),this.ui.dropdown({items:(backColor?['<div class="note-palette">','  <div class="note-palette-title">'+this.lang.color.background+'</div>','  <div>','    <button type="button" class="note-color-reset btn btn-light" data-event="backColor" data-value="inherit">',this.lang.color.transparent,'    </button>','  </div>','  <div class="note-holder" data-event="backColor"/>','  <div>','    <button type="button" class="note-color-select btn" data-event="openPalette" data-value="backColorPicker">',this.lang.color.cpSelect,'    </button>','    <input type="color" id="backColorPicker" class="note-btn note-color-select-btn" value="'+this.options.colorButton.backColor+'" data-event="backColorPalette">','  </div>','  <div class="note-holder-custom" id="backColorPalette" data-event="backColor"/>','</div>',].join(''):'')+
515(foreColor?['<div class="note-palette">','  <div class="note-palette-title">'+this.lang.color.foreground+'</div>','  <div>','    <button type="button" class="note-color-reset btn btn-light" data-event="removeFormat" data-value="foreColor">',this.lang.color.resetToDefault,'    </button>','  </div>','  <div class="note-holder" data-event="foreColor"/>','  <div>','    <button type="button" class="note-color-select btn" data-event="openPalette" data-value="foreColorPicker">',this.lang.color.cpSelect,'    </button>','    <input type="color" id="foreColorPicker" class="note-btn note-color-select-btn" value="'+this.options.colorButton.foreColor+'" data-event="foreColorPalette">','  <div class="note-holder-custom" id="foreColorPalette" data-event="foreColor"/>','</div>',].join(''):''),callback:function($dropdown){$dropdown.find('.note-holder').each(function(idx,item){var $holder=$$1(item);$holder.append(_this.ui.palette({colors:_this.options.colors,colorsName:_this.options.colorsName,eventName:$holder.data('event'),container:_this.options.container,tooltip:_this.options.tooltip}).render());});var customColors=[['#FFFFFF','#FFFFFF','#FFFFFF','#FFFFFF','#FFFFFF','#FFFFFF','#FFFFFF','#FFFFFF'],];$dropdown.find('.note-holder-custom').each(function(idx,item){var $holder=$$1(item);$holder.append(_this.ui.palette({colors:customColors,colorsName:customColors,eventName:$holder.data('event'),container:_this.options.container,tooltip:_this.options.tooltip}).render());});$dropdown.find('input[type=color]').each(function(idx,item){$$1(item).change(function(){var $chip=$dropdown.find('#'+$$1(this).data('event')).find('.note-color-btn').first();var color=this.value.toUpperCase();$chip.css('background-color',color).attr('aria-label',color).attr('data-value',color).attr('data-original-title',color);$chip.click();});});},click:function(event){event.stopPropagation();var $parent=$$1('.'+className);var $button=$$1(event.target);var eventName=$button.data('event');var value=$button.attr('data-value');
515if(eventName==='openPalette'){var $picker=$parent.find('#'+value);var $palette=$$1($parent.find('#'+$picker.data('event')).find('.note-color-row')[0]);var $chip=$palette.find('.note-color-btn').last().detach();var color=$picker.val();$chip.css('background-color',color).attr('aria-label',color).attr('data-value',color).attr('data-original-title',color);$palette.prepend($chip);$picker.click();}
516else if(lists.contains(['backColor','foreColor'],eventName)){var key=eventName==='backColor'?'background-color':'color';var $color=$button.closest('.note-color').find('.note-recent-color');var $currentButton=$button.closest('.note-color').find('.note-current-color-button');$color.css(key,value);$currentButton.attr('data-'+eventName,value);_this.context.invoke('editor.'+eventName,value);}}}),]}).render();};Buttons.prototype.addToolbarButtons=function(){var _this=this;this.context.memo('button.style',function(){return _this.ui.buttonGroup([_this.button({className:'dropdown-toggle',contents:_this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.magic),_this.options),tooltip:_this.lang.style.style,data:{toggle:'dropdown'}}),_this.ui.dropdown({className:'dropdown-style',items:_this.options.styleTags,title:_this.lang.style.style,template:function(item){if(typeof item==='string'){item={tag:item,title:(_this.lang.style.hasOwnProperty(item)?_this.lang.style[item]:item)};}
517var tag=item.tag;var title=item.title;var style=item.style?' style="'+item.style+'" ':'';var className=item.className?' class="'+item.className+'"':'';return '<'+tag+style+className+'>'+title+'</'+tag+'>';},click:_this.context.createInvokeHandler('editor.formatBlock')}),]).render();});var _loop_1=function(styleIdx,styleLen){var item=this_1.options.styleTags[styleIdx];this_1.context.memo('button.style.'+item,function(){return _this.button({className:'note-btn-style-'+item,contents:'<div data-value="'+item+'">'+item.toUpperCase()+'</div>',tooltip:_this.lang.style[item],click:_this.context.createInvokeHandler('editor.formatBlock')}).render();});};var this_1=this;for(var styleIdx=0,styleLen=this.options.styleTags.length;styleIdx<styleLen;styleIdx++){_loop_1(styleIdx,styleLen);}
518this.context.memo('button.bold',function(){return _this.button({className:'note-btn-bold',contents:_this.ui.icon(_this.options.icons.bold),tooltip:_this.lang.font.bold+_this.representShortcut('bold'),click:_this.context.createInvokeHandlerAndUpdateState('editor.bold')}).render();});this.context.memo('button.italic',function(){return _this.button({className:'note-btn-italic',contents:_this.ui.icon(_this.options.icons.italic),tooltip:_this.lang.font.italic+_this.representShortcut('italic'),click:_this.context.createInvokeHandlerAndUpdateState('editor.italic')}).render();});this.context.memo('button.underline',function(){return _this.button({className:'note-btn-underline',contents:_this.ui.icon(_this.options.icons.underline),tooltip:_this.lang.font.underline+_this.representShortcut('underline'),click:_this.context.createInvokeHandlerAndUpdateState('editor.underline')}).render();});this.context.memo('button.clear',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.eraser),tooltip:_this.lang.font.clear+_this.representShortcut('removeFormat'),click:_this.context.createInvokeHandler('editor.removeFormat')}).render();});this.context.memo('button.strikethrough',function(){return _this.button({className:'note-btn-strikethrough',contents:_this.ui.icon(_this.options.icons.strikethrough),tooltip:_this.lang.font.strikethrough+_this.representShortcut('strikethrough'),click:_this.context.createInvokeHandlerAndUpdateState('editor.strikethrough')}).render();});this.context.memo('button.superscript',function(){return _this.button({className:'note-btn-superscript',contents:_this.ui.icon(_this.options.icons.superscript),tooltip:_this.lang.font.superscript,click:_this.context.createInvokeHandlerAndUpdateState('editor.superscript')}).render();});this.context.memo('button.subscript',function(){return _this.button({className:'note-btn-subscript',contents:_this.ui.icon(_this.options.icons.subscript),tooltip:_this.lang.font.subscript,click:_this.context.createInvokeHandlerAndUpdateState('editor.subscript')}).render();});this.context.memo('button.fontname',function(){var styleInfo=_this.context.
vendor: 4,484 bytes, line 518
518invoke('editor.currentStyle');$$1.each(styleInfo['font-family'].split(','),function(idx,fontname){fontname=fontname.trim().replace(/['"]+/g,'');if(_this.isFontDeservedToAdd(fontname)){if(_this.options.fontNames.indexOf(fontname)===-1){_this.options.fontNames.push(fontname);}}});return _this.ui.buttonGroup([_this.button({className:'dropdown-toggle',contents:_this.ui.dropdownButtonContents('<span class="note-current-fontname"/>',_this.options),tooltip:_this.lang.font.name,data:{toggle:'dropdown'}}),_this.ui.dropdownCheck({className:'dropdown-fontname',checkClassName:_this.options.icons.menuCheck,items:_this.options.fontNames.filter(_this.isFontInstalled.bind(_this)),title:_this.lang.font.name,template:function(item){return '<span style="font-family: \''+item+'\'">'+item+'</span>';},click:_this.context.createInvokeHandlerAndUpdateState('editor.fontName')}),]).render();});this.context.memo('button.fontsize',function(){return _this.ui.buttonGroup([_this.button({className:'dropdown-toggle',contents:_this.ui.dropdownButtonContents('<span class="note-current-fontsize"/>',_this.options),tooltip:_this.lang.font.size,data:{toggle:'dropdown'}}),_this.ui.dropdownCheck({className:'dropdown-fontsize',checkClassName:_this.options.icons.menuCheck,items:_this.options.fontSizes,title:_this.lang.font.size,click:_this.context.createInvokeHandlerAndUpdateState('editor.fontSize')}),]).render();});this.context.memo('button.color',function(){return _this.colorPalette('note-color-all',_this.lang.color.recent,true,true);});this.context.memo('button.forecolor',function(){return _this.colorPalette('note-color-fore',_this.lang.color.foreground,false,true);});this.context.memo('button.backcolor',function(){return _this.colorPalette('note-color-back',_this.lang.color.background,true,false);});this.context.memo('button.ul',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.unorderedlist),tooltip:_this.lang.lists.unordered+_this.representShortcut('insertUnorderedList'),click:_this.context.createInvokeHandler('editor.insertUnorderedList')}).render();});this.context.memo('button.ol',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.orderedlist),tooltip:_this.lang.lists.ordered+_this.representShortcut('insertOrderedList'),click:_this.context.createInvokeHandler('editor.insertOrderedList')}).render();});var justifyLeft=this.button({contents:this.ui.icon(this.options.icons.alignLeft),tooltip:this.lang.paragraph.left+this.representShortcut('justifyLeft'),click:this.context.createInvokeHandler('editor.justifyLeft')});var justifyCenter=this.button({contents:this.ui.icon(this.options.icons.alignCenter),tooltip:this.lang.paragraph.center+this.representShortcut('justifyCenter'),click:this.context.createInvokeHandler('editor.justifyCenter')});var justifyRight=this.button({contents:this.ui.icon(this.options.icons.alignRight),tooltip:this.lang.paragraph.right+this.representShortcut('justifyRight'),click:this.context.createInvokeHandler('editor.justifyRight')});var justifyFull=this.button({contents:this.ui.icon(this.options.icons.alignJustify),tooltip:this.lang.paragraph.justify+this.representShortcut('justifyFull'),click:this.context.createInvokeHandler('editor.justifyFull')});var outdent=this.button({contents:this.ui.icon(this.options.icons.outdent),tooltip:this.lang.paragraph.outdent+this.representShortcut('outdent'),click:this.context.createInvokeHandler('editor.outdent')});var indent=this.button({contents:this.ui.icon(this.options.icons.indent),tooltip:this.lang.paragraph.indent+this.representShortcut('indent'),click:this.context.createInvokeHandler('editor.indent')});this.context.memo('button.justifyLeft',func.invoke(justifyLeft,'render'));this.context.memo('button.justifyCenter',func.invoke(justifyCenter,'render'));this.context.memo('button.justifyRight',func.invoke(justifyRight,'render'));this.context.memo('button.justifyFull',func.invoke(justifyFull,'render'));this.context.memo('button.outdent',func.invoke(outdent,'render'));this.context.memo('button.indent',func.invoke(indent,'render'));this.context.memo('button.paragraph',function(){return _this.ui.buttonGroup([_this.button({className:'dropdown-toggle',contents:_this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.alignLeft),_this.options),tooltip:_this.lang.paragraph.paragraph,data:{toggle:'dropdown'}}),_this.ui.dropdown([_this.ui.buttonGroup({className:'note-align',children:[justifyLeft,justifyCenter,justifyRight,justifyFull]}
518),_this.ui.buttonGroup({className:'note-list',children:[outdent,indent]}),]),]).render();});this.context.memo('button.height',function(){return _this.ui.buttonGroup([_this.button({className:'dropdown-toggle',contents:_this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.textHeight),_this.options),tooltip:_this.lang.font.height,data:{toggle:'dropdown'}}),_this.ui.dropdownCheck({items:_this.options.lineHeights,checkClassName:_this.options.icons.menuCheck,className:'dropdown-line-height',title:_this.lang.font.height,click:_this.context.createInvokeHandler('editor.lineHeight')}),]).render();});this.context.memo('button.table',function(){return _this.ui.buttonGroup([_this.button({className:'dropdown-toggle',contents:_this.ui.dropdownButtonContents(_this.ui.icon(_this.options.icons.table),_this.options),tooltip:_this.lang.table.table,data:{toggle:'dropdown'}}),_this.ui.dropdown({title:_this.lang.table.table,className:'note-table',items:['<div class="note-dimension-picker">','  <div class="note-dimension-picker-mousecatcher" data-event="insertTable" data-value="1x1"/>','  <div class="note-dimension-picker-highlighted"/>','  <div class="note-dimension-picker-unhighlighted"/>','</div>','<div class="note-dimension-display">1 x 1</div>',].join('')}),],{callback:function($node){var $catcher=$node.find('.note-dimension-picker-mousecatcher');$catcher.css({width:_this.options.insertTableMaxSize.col+'em',height:_this.options.insertTableMaxSize.row+'em'}).mousedown(_this.context.createInvokeHandler('editor.insertTable')).on('mousemove',_this.tableMoveHandler.bind(_this));}}).render();});this.context.memo('button.link',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.link),tooltip:_this.lang.link.link+_this.representShortcut('linkDialog.show'),click:_this.context.createInvokeHandler('linkDialog.show')}).render();});this.context.memo('button.picture',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.picture),tooltip:_this.lang.image.image,click:_this.context.createInvokeHandler('imageDialog.show')}).render();});this.context.memo('button.video',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.video),tooltip:_this.lang.video.video,click:_this.context.createInvokeHandler('videoDialog.show')}).render();});this.context.memo('button.hr',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.minus),tooltip:_this.lang.hr.insert+_this.representShortcut('insertHorizontalRule'),click:_this.context.createInvokeHandler('editor.insertHorizontalRule')}).render();});this.context.memo('button.fullscreen',function(){return _this.button({className:'btn-fullscreen',contents:_this.ui.icon(_this.options.icons.arrowsAlt),tooltip:_this.lang.options.fullscreen,click:_this.context.createInvokeHandler('fullscreen.toggle')}).render();});this.context.memo('button.codeview',function(){return _this.button({className:'btn-codeview',contents:_this.ui.icon(_this.options.icons.code),tooltip:_this.lang.options.codeview,click:_this.context.createInvokeHandler('codeview.toggle')}).render();});this.context.memo('button.redo',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.redo),tooltip:_this.lang.history.redo+_this.representShortcut('redo'),click:_this.context.createInvokeHandler('editor.redo')}).render();});this.context.memo('button.undo',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.undo),tooltip:_this.lang.history.undo+_this.representShortcut('undo'),click:_this.context.createInvokeHandler('editor.undo')}).render();});this.context.memo('button.help',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.question),tooltip:_this.lang.options.help,click:_this.context.createInvokeHandler('helpDialog.show')}).render();});};Buttons.prototype.addImagePopoverButtons=function(){var _this=this;this.context.memo('button.resizeFull',function(){return _this.button({contents:'<span class="note-fontsize-10">100%</span>',tooltip:_this.lang.image.resizeFull,click:_this.context.createInvokeHandler('editor.resize','1')}).render();});this.context.memo('button.resizeHalf',function(){return _this.button({contents:'<span class="note-fontsize-10">50%</span>',tooltip:_this.lang.image.resizeHalf,click:_this.context.createInvokeHandler('editor.resize','0.5')}).render();});this.context.memo('button.resizeQuarter',function(){return _this.button({contents:'<span class="note-fontsize-10">25%</span>',tooltip:_this.lang.image.resizeQuarter,click:_this.context.createInvokeHandler('editor.resize','0.25')}).render();});this.context.memo('button.resizeNone',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.rollback),tooltip:_this.lang.image.resizeNone,click:_this.context.createInvokeHandler('editor.resize','0')}).render();});this.context.memo('button.floatLeft',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.floatLeft),tooltip:_this.lang.image.floatLeft,click:_this.context.createInvokeHandler('editor.floatMe','left')}).render();});this.context.memo('button.floatRight',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.floatRight),tooltip:_this.lang.image.floatRight,click:_this.context.createInvokeHandler('editor.floatMe','right')}).render();});this.context.memo('button.floatNone',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.rollback),tooltip:_this.lang.image.floatNone,click:_this.context.createInvokeHandler('editor.floatMe','none')}).render();});this.context.memo('button.removeMedia',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.trash),tooltip:_this.lang.image.remove,click:_this.context.createInvokeHandler('editor.removeMedia')}).render();});};Buttons.prototype.addLinkPopoverButtons=function(){var _this=this;this.context.memo('button.linkDialogShow',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.link),tooltip:_this.lang.link.edit,click:_this.context.createInvokeHandler('linkDialog.show')}).render();});this.context.memo('button.unlink',function(){return _this.button({contents:_this.ui.icon(_this.options.icons.unlink),tooltip:_this.lang.link.unlink,click:_this.context.createInvokeHandler('editor.unlink')}).render();});};Buttons.prototype.addTablePopoverButtons=function(){var _this=this;this.context.memo('button.addRowUp',function(){return _this.button({className:'btn-md',contents:_this.ui.icon(_this.options.icons.rowAbove),tooltip:_this.lang.table.addRowAbove,click:_this.context.createInvokeHandler('editor.addRow','top')}).render();});this.context.memo('button.addRowDown',function(){return _this.button({className:'btn-md',contents:_this.ui.icon(_this.options.icons.rowBelow),tooltip:_this.lang.table.addRowBelow,click:_this.context.createInvokeHandler('editor.addRow','bottom')}).render();});this.context.memo('button.addColLeft',function(){return _this.button({className:'btn-md',contents:_this.ui.icon(_this.options.icons.colBefore),tooltip:_this.lang.table.addColLeft,click:_this.context.createInvokeHandler('editor.addCol','left')}).render();});this.context.memo('button.addColRight',function(){return _this.button({className:'btn-md',contents:_this.ui.icon(_this.options.icons.colAfter),tooltip:_this.lang.table.addColRight,click:_this.context.createInvokeHandler('editor.addCol','right')}).render();});this.context.memo('button.deleteRow',function(){return _this.button({className:'btn-md',contents:_this.ui.icon(_this.options.icons.rowRemove),tooltip:_this.lang.table.delRow,click:_this.context.createInvokeHandler('editor.deleteRow')}).render();});this.context.memo('button.deleteCol',function(){return _this.button({className:'btn-md',contents:_this.ui.icon(_this.options.icons.colRemove),tooltip:_this.lang.table.delCol,click:_this.context.createInvokeHandler('editor.deleteCol')}).render();});this.context.memo('button.deleteTable',function(){return _this.button({className:'btn-md',contents:_this.ui.icon(_this.options.icons.trash),tooltip:_this.lang.table.delTable,click:_this.context.createInvokeHandler('editor.deleteTable')}).render();});};Buttons.prototype.build=function($container,groups){for(var groupIdx=0,groupLen=groups.length;groupIdx<groupLen;groupIdx++){var group=groups[groupIdx];var groupName=Array.isArray(group)?group[0]:group;var buttons=Array.isArray(group)?((group.length===1)?[group[0]]:group[1]):[group];var $group=this.ui.buttonGroup({className:'note-'+groupName}).render();for(var idx=0,len=buttons.length;idx<len;idx++){var btn=this.context.memo('button.'+buttons[idx]);if(btn){$group.append(typeof btn==='function'?btn():btn);}}
519$group.appendTo($container);}};Buttons.prototype.updateCurrentStyle=function($container){var _this=this;var $cont=$container||this.$toolbar;
519var styleInfo=this.context.invoke('editor.currentStyle');this.updateBtnStates($cont,{'.note-btn-bold':function(){return styleInfo['font-bold']==='bold';},'.note-btn-italic':function(){return styleInfo['font-italic']==='italic';},'.note-btn-underline':function(){return styleInfo['font-underline']==='underline';},'.note-btn-subscript':function(){return styleInfo['font-subscript']==='subscript';},'.note-btn-superscript':function(){return styleInfo['font-superscript']==='superscript';},'.note-btn-strikethrough':function(){return styleInfo['font-strikethrough']==='strikethrough';}});if(styleInfo['font-family']){var fontNames=styleInfo['font-family'].split(',').map(function(name){return name.replace(/[\'\"]/g,'').replace(/\s+$/,'').replace(/^\s+/,'');});var fontName_1=lists.find(fontNames,this.isFontInstalled.bind(this));$cont.find('.dropdown-fontname a').each(function(idx,item){var $item=$$1(item);var isChecked=($item.data('value')+'')===(fontName_1+'');$item.toggleClass('checked',isChecked);});$cont.find('.note-current-fontname').text(fontName_1).css('font-family',fontName_1);}
520if(styleInfo['font-size']){var fontSize_1=styleInfo['font-size'];$cont.find('.dropdown-fontsize a').each(function(idx,item){var $item=$$1(item);var isChecked=($item.data('value')+'')===(fontSize_1+'');$item.toggleClass('checked',isChecked);});$cont.find('.note-current-fontsize').text(fontSize_1);}
521if(styleInfo['line-height']){var lineHeight_1=styleInfo['line-height'];$cont.find('.dropdown-line-height li a').each(function(idx,item){var isChecked=($$1(item).data('value')+'')===(lineHeight_1+'');_this.className=isChecked?'checked':'';});}};Buttons.prototype.updateBtnStates=function($container,infos){var _this=this;$$1.each(infos,function(selector,pred){_this.ui.toggleBtnActive($container.find(selector),pred());});};Buttons.prototype.tableMoveHandler=function(event){var PX_PER_EM=18;var $picker=$$1(event.target.parentNode);var $dimensionDisplay=$picker.next();var $catcher=$picker.find('.note-dimension-picker-mousecatcher');var $highlighted=$picker.find('.note-dimension-picker-highlighted');var $unhighlighted=$picker.find('.note-dimension-picker-unhighlighted');var posOffset;if(event.offsetX===undefined){var posCatcher=$$1(event.target).offset();posOffset={x:event.pageX-posCatcher.left,y:event.pageY-posCatcher.top};}
522else{posOffset={x:event.offsetX,y:event.offsetY};}
523var dim={c:Math.ceil(posOffset.x/PX_PER_EM)||1,r:Math.ceil(posOffset.y/PX_PER_EM)||1};$highlighted.css({width:dim.c+'em',height:dim.r+'em'});$catcher.data('value',dim.c+'x'+dim.r);if(dim.c>3&&dim.c<this.options.insertTableMaxSize.col){$unhighlighted.css({width:dim.c+1+'em'});}
524if(dim.r>3&&dim.r<this.options.insertTableMaxSize.row){$unhighlighted.css({height:dim.r+1+'em'});}
525$dimensionDisplay.html(dim.c+' x '+dim.r);};return Buttons;}());var Toolbar=(function(){function Toolbar(context){this.context=context;this.$window=$$1(window);this.$document=$$1(document);this.ui=$$1.summernote.ui;this.$note=context.layoutInfo.note;this.$editor=context.layoutInfo.editor;this.$toolbar=context.layoutInfo.toolbar;this.$editable=context.layoutInfo.editable;this.$statusbar=context.layoutInfo.statusbar;this.options=context.options;this.isFollowing=false;this.followScroll=this.followScroll.bind(this);}
526Toolbar.prototype.shouldInitialize=function(){return!this.options.airMode;};Toolbar.prototype.initialize=function(){var _this=this;this.options.toolbar=this.options.toolbar||[];if(!this.options.toolbar.length){this.$toolbar.hide();}
527else{this.context.invoke('buttons.build',this.$toolbar,this.options.toolbar);}
528if(this.options.toolbarContainer){this.$toolbar.appendTo(this.options.toolbarContainer);}
529this.changeContainer(false);
529this.$note.on('summernote.keyup summernote.mouseup summernote.change',function(){_this.context.invoke('buttons.updateCurrentStyle');});this.context.invoke('buttons.updateCurrentStyle');if(this.options.followingToolbar){this.$window.on('scroll resize',this.followScroll);}};Toolbar.prototype.destroy=function(){this.$toolbar.children().remove();if(this.options.followingToolbar){this.$window.off('scroll resize',this.followScroll);}};Toolbar.prototype.followScroll=function(){if(this.$editor.hasClass('fullscreen')){return false;}
530var editorHeight=this.$editor.outerHeight();var editorWidth=this.$editor.width();var toolbarHeight=this.$toolbar.height();var statusbarHeight=this.$statusbar.height();var otherBarHeight=0;if(this.options.otherStaticBar){otherBarHeight=$$1(this.options.otherStaticBar).outerHeight();}
531var currentOffset=this.$document.scrollTop();var editorOffsetTop=this.$editor.offset().top;var editorOffsetBottom=editorOffsetTop+editorHeight;var activateOffset=editorOffsetTop-otherBarHeight;var deactivateOffsetBottom=editorOffsetBottom-otherBarHeight-toolbarHeight-statusbarHeight;if(!this.isFollowing&&(currentOffset>activateOffset)&&(currentOffset<deactivateOffsetBottom-toolbarHeight)){this.isFollowing=true;this.$toolbar.css({position:'fixed',top:otherBarHeight,width:editorWidth});this.$editable.css({marginTop:this.$toolbar.height()+5});}
532else if(this.isFollowing&&((currentOffset<activateOffset)||(currentOffset>deactivateOffsetBottom))){this.isFollowing=false;this.$toolbar.css({position:'relative',top:0,width:'100%'});this.$editable.css({marginTop:''});}};Toolbar.prototype.changeContainer=function(isFullscreen){if(isFullscreen){this.$toolbar.prependTo(this.$editor);}
533else{if(this.options.toolbarContainer){this.$toolbar.appendTo(this.options.toolbarContainer);}}
534this.followScroll();};Toolbar.prototype.updateFullscreen=function(isFullscreen){this.ui.toggleBtnActive(this.$toolbar.find('.btn-fullscreen'),isFullscreen);this.changeContainer(isFullscreen);};Toolbar.prototype.updateCodeview=function(isCodeview){this.ui.toggleBtnActive(this.$toolbar.find('.btn-codeview'),isCodeview);if(isCodeview){this.deactivate();}
535else{this.activate();}};Toolbar.prototype.activate=function(isIncludeCodeview){var $btn=this.$toolbar.find('button');if(!isIncludeCodeview){$btn=$btn.not('.btn-codeview');}
536this.ui.toggleBtn($btn,true);};Toolbar.prototype.deactivate=function(isIncludeCodeview){var $btn=this.$toolbar.find('button');if(!isIncludeCodeview){$btn=$btn.not('.btn-codeview');}
537this.ui.toggleBtn($btn,false);};return Toolbar;}());var LinkDialog=(function(){function LinkDialog(context){this.context=context;this.ui=$$1.summernote.ui;this.$body=$$1(document.body);this.$editor=context.layoutInfo.editor;this.options=context.options;this.lang=this.options.langInfo;context.memo('help.linkDialog.show',this.options.langInfo.help['linkDialog.show']);}
538LinkDialog.prototype.initialize=function(){var $container=this.options.dialogsInBody?this.$body:this.$editor;var body=['<div class="form-group note-form-group">',"<label class=\"note-form-label\">"+this.lang.link.textToDisplay+"</label>",'<input class="note-link-text form-control note-form-control note-input" type="text" />','</div>','<div class="form-group note-form-group">',"<label class=\"note-form-label\">"+this.lang.link.url+"</label>",'<input class="note-link-url form-control note-form-control note-input" type="text" value="http://" />','</div>',!this.options.disableLinkTarget?$$1('<div/>').append(this.ui.checkbox({className:'sn-checkbox-open-in-new-window',text:this.lang.link.openInNewWindow,checked:true}).render()).html():'',].join('');var buttonClass='btn btn-primary note-btn note-btn-primary note-link-btn';var footer="<input type=\"button\" href=\"#\" class=\""+buttonClass+"\" value=\""+this.lang.link.insert+"\" disabled>";this.$dialog=this.ui.dialog({className:'link-dialog',title:this.lang.link.insert,fade:this.options.dialogsFade,body:body,footer:footer}).render().appendTo($container);};LinkDialog.prototype.destroy=function(){this.ui.hideDialog(this.$dialog);this.$dialog.remove();};LinkDialog.prototype.bindEnterKey=function($input,$btn){$input.on('keypress',function(event){if(event.keyCode===key.code.ENTER){event.preventDefault();$btn.trigger('click');}});};LinkDialog.prototype.toggleLinkBtn=function($linkBtn,$linkText,$linkUrl){this.ui.toggleBtn($linkBtn,$linkText.val()&&$linkUrl.val());};LinkDialog.prototype.showLinkDialog=function(linkInfo){var _this=this;return $$1.Deferred(function(deferred){var $linkText=_this.$dialog.find('.note-link-text');var $linkUrl=_this.$dialog.find('.note-link-url');var $linkBtn=_this.$dialog.find('.note-link-btn');var $openInNewWindow=_this.$dialog.find('.sn-checkbox-open-in-new-window input[type=checkbox]');_this.ui.onDialogShown(_this.$dialog,function(){_this.context.triggerEvent('dialog.shown');if(!linkInfo.url&&func.isValidUrl(linkInfo.text)){linkInfo.url=linkInfo.text;}
539$linkText.on('input paste propertychange',function(){linkInfo.text=$linkText.val();_this.toggleLinkBtn($linkBtn,$linkText,$linkUrl);}).val(linkInfo.text);$linkUrl.on('input paste propertychange',function(){if(!linkInfo.text){$linkText.val($linkUrl.val());}
540_this.toggleLinkBtn($linkBtn,$linkText,$linkUrl);}).val(linkInfo.url);if(!env.isSupportTouch){$linkUrl.trigger('focus');}
541_this.toggleLinkBtn($linkBtn,$linkText,$linkUrl);_this.bindEnterKey($linkUrl,$linkBtn);_this.bindEnterKey($linkText,$linkBtn);
541var isNewWindowChecked=linkInfo.isNewWindow!==undefined?linkInfo.isNewWindow:_this.context.options.linkTargetBlank;$openInNewWindow.prop('checked',isNewWindowChecked);$linkBtn.one('click',function(event){event.preventDefault();deferred.resolve({range:linkInfo.range,url:$linkUrl.val(),text:$linkText.val(),isNewWindow:$openInNewWindow.is(':checked')});_this.ui.hideDialog(_this.$dialog);});});_this.ui.onDialogHidden(_this.$dialog,function(){$linkText.off();$linkUrl.off();$linkBtn.off();if(deferred.state()==='pending'){deferred.reject();}});_this.ui.showDialog(_this.$dialog);}).promise();};LinkDialog.prototype.show=function(){var _this=this;var linkInfo=this.context.invoke('editor.getLinkInfo');this.context.invoke('editor.saveRange');this.showLinkDialog(linkInfo).then(function(linkInfo){_this.context.invoke('editor.restoreRange');_this.context.invoke('editor.createLink',linkInfo);}).fail(function(){_this.context.invoke('editor.restoreRange');});};return LinkDialog;}());var LinkPopover=(function(){function LinkPopover(context){var _this=this;this.context=context;this.ui=$$1.summernote.ui;this.options=context.options;this.events={'summernote.keyup summernote.mouseup summernote.change summernote.scroll':function(){_this.update();},'summernote.disable summernote.dialog.shown':function(){_this.hide();}};}
542LinkPopover.prototype.shouldInitialize=function(){return!lists.isEmpty(this.options.popover.link);};LinkPopover.prototype.initialize=function(){this.$popover=this.ui.popover({className:'note-link-popover',callback:function($node){var $content=$node.find('.popover-content,.note-popover-content');$content.prepend('<span><a target="_blank"></a>&nbsp;</span>');}}).render().appendTo(this.options.container);var $content=this.$popover.find('.popover-content,.note-popover-content');this.context.invoke('buttons.build',$content,this.options.popover.link);};LinkPopover.prototype.destroy=function(){this.$popover.remove();};LinkPopover.prototype.update=function(){if(!this.context.invoke('editor.hasFocus')){this.hide();return;}
543var rng=this.context.invoke('editor.getLastRange');if(rng.isCollapsed()&&rng.isOnAnchor()){var anchor=dom.ancestor(rng.sc,dom.isAnchor);var href=$$1(anchor).attr('href');this.$popover.find('a').attr('href',href).html(href);var pos=dom.posFromPlaceholder(anchor);this.$popover.css({display:'block',left:pos.left,top:pos.top});}
544else{this.hide();}};LinkPopover.prototype.hide=function(){this.$popover.hide();};return LinkPopover;}());var ImageDialog=(function(){function ImageDialog(context){this.context=context;this.ui=$$1.summernote.ui;this.$body=$$1(document.body);this.$editor=context.layoutInfo.editor;this.options=context.options;this.lang=this.options.langInfo;}
545ImageDialog.prototype.initialize=function(){var $container=this.options.dialogsInBody?this.$body:this.$editor;var imageLimitation='';if(this.options.maximumImageFileSize){var unit=Math.floor(Math.log(this.options.maximumImageFileSize)/Math.log(1024));var readableSize=(this.options.maximumImageFileSize/Math.pow(1024,unit)).toFixed(2)*1+
546' '+' KMGTP'[unit]+'B';imageLimitation="<small>"+(this.lang.image.maximumFileSize+' : '+readableSize)+"</small>";}
547var body=['<div class="form-group note-form-group note-group-select-from-files">','<label class="note-form-label">'+this.lang.image.selectFromFiles+'</label>','<input class="note-image-input form-control-file note-form-control note-input" ',' type="file" name="files" accept="image/*" multiple="multiple" />',imageLimitation,'</div>','<div class="form-group note-group-image-url" style="overflow:auto;">','<label class="note-form-label">'+this.lang.image.url+'</label>','<input class="note-image-url form-control note-form-control note-input ',' col-md-12" type="text" />','</div>',].join('');var buttonClass='btn btn-primary note-btn note-btn-primary note-image-btn';var footer="<input type=\"button\" href=\"#\" class=\""+buttonClass+"\" value=\""+this.lang.image.insert+"\" disabled>";this.$dialog=this.ui.dialog({title:this.lang.image.insert,fade:this.options.dialogsFade,body:body,footer:footer}).render().appendTo($container);};ImageDialog.prototype.destroy=function(){this.ui.hideDialog(this.$dialog);this.$dialog.remove();};ImageDialog.prototype.bindEnterKey=function($input,$btn){$input.on('keypress',function(event){if(event.keyCode===key.code.ENTER){event.preventDefault();$btn.trigger('click');}});};ImageDialog.prototype.show=function(){var _this=this;
547this.context.invoke('editor.saveRange');this.showImageDialog().then(function(data){_this.ui.hideDialog(_this.$dialog);_this.context.invoke('editor.restoreRange');if(typeof data==='string'){if(_this.options.callbacks.onImageLinkInsert){_this.context.triggerEvent('image.link.insert',data);}
548else{_this.context.invoke('editor.insertImage',data);}}
549else{_this.context.invoke('editor.insertImagesOrCallback',data);}}).fail(function(){_this.context.invoke('editor.restoreRange');});};ImageDialog.prototype.showImageDialog=function(){var _this=this;return $$1.Deferred(function(deferred){var $imageInput=_this.$dialog.find('.note-image-input');var $imageUrl=_this.$dialog.find('.note-image-url');var $imageBtn=_this.$dialog.find('.note-image-btn');_this.ui.onDialogShown(_this.$dialog,function(){_this.context.triggerEvent('dialog.shown');$imageInput.replaceWith($imageInput.clone().on('change',function(event){deferred.resolve(event.target.files||event.target.value);}).val(''));$imageUrl.on('input paste propertychange',function(){_this.ui.toggleBtn($imageBtn,$imageUrl.val());}).val('');if(!env.isSupportTouch){$imageUrl.trigger('focus');}
550$imageBtn.click(function(event){event.preventDefault();deferred.resolve($imageUrl.val());});_this.bindEnterKey($imageUrl,$imageBtn);});_this.ui.onDialogHidden(_this.$dialog,function(){$imageInput.off();$imageUrl.off();$imageBtn.off();if(deferred.state()==='pending'){deferred.reject();}});_this.ui.showDialog(_this.$dialog);});};return ImageDialog;}());var ImagePopover=(function(){function ImagePopover(context){var _this=this;this.context=context;this.ui=$$1.summernote.ui;this.editable=context.layoutInfo.editable[0];this.options=context.options;this.events={'summernote.disable':function(){_this.hide();}};}
551ImagePopover.prototype.shouldInitialize=function(){return!lists.isEmpty(this.options.popover.image);};ImagePopover.prototype.initialize=function(){this.$popover=this.ui.popover({className:'note-image-popover'}).render().appendTo(this.options.container);var $content=this.$popover.find('.popover-content,.note-popover-content');this.context.invoke('buttons.build',$content,this.options.popover.image);};ImagePopover.prototype.destroy=function(){this.$popover.remove();};ImagePopover.prototype.update=function(target,event){if(dom.isImg(target)){var pos=dom.posFromPlaceholder(target);var posEditor=dom.posFromPlaceholder(this.editable);this.$popover.css({display:'block',left:this.options.popatmouse?event.pageX-20:pos.left,top:this.options.popatmouse?event.pageY:Math.min(pos.top,posEditor.top)});}
552else{this.hide();}};ImagePopover.prototype.hide=function(){this.$popover.hide();};return ImagePopover;}());var TablePopover=(function(){function TablePopover(context){var _this=this;this.context=context;this.ui=$$1.summernote.ui;this.options=context.options;this.events={'summernote.mousedown':function(we,e){_this.update(e.target);},'summernote.keyup summernote.scroll summernote.change':function(){_this.update();},'summernote.disable':function(){_this.hide();}};}
553TablePopover.prototype.shouldInitialize=function(){return!lists.isEmpty(this.options.popover.table);};TablePopover.prototype.initialize=function(){this.$popover=this.ui.popover({className:'note-table-popover'}).render().appendTo(this.options.container);var $content=this.$popover.find('.popover-content,.note-popover-content');this.context.invoke('buttons.build',$content,this.options.popover.table);if(env.isFF){document.execCommand('enableInlineTableEditing',false,false);}};TablePopover.prototype.destroy=function(){this.$popover.remove();};TablePopover.prototype.update=function(target){if(this.context.isDisabled()){return false;}
554var isCell=dom.isCell(target);if(isCell){var pos=dom.posFromPlaceholder(target);this.$popover.css({display:'block',left:pos.left,top:pos.top});}
555else{this.hide();}
556return isCell;};TablePopover.prototype.hide=function(){this.$popover.hide();};return TablePopover;}());var VideoDialog=(function(){function VideoDialog(context){this.context=context;this.ui=$$1.summernote.ui;this.$body=$$1(document.body);this.$editor=context.layoutInfo.editor;this.options=context.options;this.lang=this.options.langInfo;}
557VideoDialog.prototype.initialize=function(){var $container=this.options.dialogsInBody?this.$body:this.$editor;var body=['<div class="form-group note-form-group row-fluid">',"<label class=\"note-form-label\">"+this.lang.video.url+" <small class=\"text-muted\">"+this.lang.video.providers+"</small></label>",'<input class="note-video-url form-control note-form-control note-input" type="text" />','</div>',].join('');var buttonClass='btn btn-primary note-btn note-btn-primary note-video-btn';var footer="<input type=\"button\" href=\"#\" class=\""+buttonClass+"\" value=\""+this.lang.video.insert+"\" disabled>";this.$dialog=this.ui.dialog({title:this.lang.video.insert,fade:this.options.dialogsFade,body:body,footer:footer}).render().appendTo($container);};VideoDialog.prototype.destroy=function(){this.ui.hideDialog(this.$dialog);this.$dialog.remove();};VideoDialog.prototype.bindEnterKey=function($input,$btn){$input.on('keypress',function(event){if(event.keyCode===key.code.ENTER){event.preventDefault();$btn.trigger('click');}});};VideoDialog.prototype.createVideoNode=function(url){var ytRegExp=/\/\/(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))([\w|-]{11}
557)(?:(?:[\?&]t=)(\S+))?$/;var ytRegExpForStart=/^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/;var ytMatch=url.match(ytRegExp);var igRegExp=/(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/;var igMatch=url.match(igRegExp);var vRegExp=/\/\/vine\.co\/v\/([a-zA-Z0-9]+)/;var vMatch=url.match(vRegExp);var vimRegExp=/\/\/(player\.)?vimeo\.com\/([a-z]*\/)*(\d+)[?]?.*/;var vimMatch=url.match(vimRegExp);var dmRegExp=/.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/;var dmMatch=url.match(dmRegExp);var youkuRegExp=/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/;var youkuMatch=url.match(youkuRegExp);var qqRegExp=/\/\/v\.qq\.com.*?vid=(.+)/;var qqMatch=url.match(qqRegExp);var qqRegExp2=/\/\/v\.qq\.com\/x?\/?(page|cover).*?\/([^\/]+)\.html\??.*/;var qqMatch2=url.match(qqRegExp2);var mp4RegExp=/^.+.(mp4|m4v)$/;var mp4Match=url.match(mp4RegExp);var oggRegExp=/^.+.(ogg|ogv)$/;var oggMatch=url.match(oggRegExp);var webmRegExp=/^.+.(webm)$/;var webmMatch=url.match(webmRegExp);var fbRegExp=/(?:www\.|\/\/)facebook\.com\/([^\/]+)\/videos\/([0-9]+)/;var fbMatch=url.match(fbRegExp);var $video;if(ytMatch&&ytMatch[1].length===11){var youtubeId=ytMatch[1];var start=0;if(typeof ytMatch[2]!=='undefined'){var ytMatchForStart=ytMatch[2].match(ytRegExpForStart);if(ytMatchForStart){for(var n=[3600,60,1],i=0,r=n.length;i<r;i++){start+=(typeof ytMatchForStart[i+1]!=='undefined'?n[i]*parseInt(ytMatchForStart[i+1],10):0);}}}
558$video=$$1('<iframe>').attr('frameborder',0).attr('src','//www.youtube.com/embed/'+youtubeId+(start>0?'?start='+start:'')).attr('width','640').attr('height','360');}
559else if(igMatch&&igMatch[0].length){$video=$$1('<iframe>').attr('frameborder',0).attr('src','https://instagram.com/p/'+igMatch[1]+'/embed/').attr('width','612').attr('height','710').attr('scrolling','no').attr('allowtransparency','true');}
560else if(vMatch&&vMatch[0].length){$video=$$1('<iframe>').attr('frameborder',0).attr('src',vMatch[0]+'/embed/simple').attr('width','600').attr('height','600').attr('class','vine-embed');}
561else if(vimMatch&&vimMatch[3].length){$video=$$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>').attr('frameborder',0).attr('src','//player.vimeo.com/video/'+vimMatch[3]).attr('width','640').attr('height','360');}
562else if(dmMatch&&dmMatch[2].length){$video=$$1('<iframe>').attr('frameborder',0).attr('src','//www.dailymotion.com/embed/video/'+dmMatch[2]).attr('width','640').attr('height','360');}
563else if(youkuMatch&&youkuMatch[1].length){$video=$$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>').attr('frameborder',0).attr('height','498').attr('width','510').attr('src','//player.youku.com/embed/'+youkuMatch[1]);}
564else if((qqMatch&&qqMatch[1].length)||(qqMatch2&&qqMatch2[2].length)){var vid=((qqMatch&&qqMatch[1].length)?qqMatch[1]:qqMatch2[2]);$video=$$1('<iframe webkitallowfullscreen mozallowfullscreen allowfullscreen>').attr('frameborder',0).attr('height','310').attr('width','500').attr('src','http://v.qq.com/iframe/player.html?vid='+vid+'&amp;auto=0');}
565else if(mp4Match||oggMatch||webmMatch){$video=$$1('<video controls>').attr('src',url).attr('width','640').attr('height','360');}
566else if(fbMatch&&fbMatch[0].length){$video=$$1('<iframe>').attr('frameborder',0).attr('src','https://www.facebook.com/plugins/video.php?href='+encodeURIComponent(fbMatch[0])+'&show_text=0&width=560').attr('width','560').attr('height','301').attr('scrolling','no').attr('allowtransparency','true');}
567else{return false;}
568$video.addClass('note-video-clip');return $video[0];};VideoDialog.prototype.show=function(){var _this=this;var text=this.context.invoke('editor.getSelectedText');this.context.invoke('editor.saveRange');this.showVideoDialog(text).then(function(url){_this.ui.hideDialog(_this.$dialog);_this.context.invoke('editor.restoreRange');var $node=_this.createVideoNode(url);if($node){_this.context.invoke('editor.insertNode',$node);}}).fail(function(){_this.context.invoke('editor.restoreRange');});};VideoDialog.prototype.showVideoDialog=function(text){var _this=this;return $$1.Deferred(function(deferred){var $videoUrl=_this.$dialog.find('.note-video-url');var $videoBtn=_this.$dialog.find('.note-video-btn');_this.ui.onDialogShown(_this.$dialog,function(){_this.context.triggerEvent('dialog.shown');$videoUrl.on('input paste propertychange',function(){_this.ui.toggleBtn($videoBtn,$videoUrl.val());});if(!env.isSupportTouch){$videoUrl.trigger('focus');}
569$videoBtn.click(function(event){event.preventDefault();deferred.resolve($videoUrl.val());});_this.bindEnterKey($videoUrl,$videoBtn);});_this.ui.onDialogHidden(_this.$dialog,function(){$videoUrl.off();$videoBtn.off();
569if(deferred.state()==='pending'){deferred.reject();}});_this.ui.showDialog(_this.$dialog);});};return VideoDialog;}());var HelpDialog=(function(){function HelpDialog(context){this.context=context;this.ui=$$1.summernote.ui;this.$body=$$1(document.body);this.$editor=context.layoutInfo.editor;this.options=context.options;this.lang=this.options.langInfo;}
570HelpDialog.prototype.initialize=function(){var $container=this.options.dialogsInBody?this.$body:this.$editor;var body=['<p class="text-center">','<a href="http://summernote.org/" target="_blank">Summernote 0.8.12</a> · ','<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ','<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>','</p>',].join('');this.$dialog=this.ui.dialog({title:this.lang.options.help,fade:this.options.dialogsFade,body:this.createShortcutList(),footer:body,callback:function($node){$node.find('.modal-body,.note-modal-body').css({'max-height':300,'overflow':'scroll'});}}).render().appendTo($container);};HelpDialog.prototype.destroy=function(){this.ui.hideDialog(this.$dialog);this.$dialog.remove();};HelpDialog.prototype.createShortcutList=function(){var _this=this;var keyMap=this.options.keyMap[env.isMac?'mac':'pc'];return Object.keys(keyMap).map(function(key){var command=keyMap[key];var $row=$$1('<div><div class="help-list-item"/></div>');$row.append($$1('<label><kbd>'+key+'</kdb></label>').css({'width':180,'margin-right':10})).append($$1('<span/>').html(_this.context.memo('help.'+command)||command));return $row.html();}).join('');};HelpDialog.prototype.showHelpDialog=function(){var _this=this;return $$1.Deferred(function(deferred){_this.ui.onDialogShown(_this.$dialog,function(){_this.context.triggerEvent('dialog.shown');deferred.resolve();});_this.ui.showDialog(_this.$dialog);}).promise();};HelpDialog.prototype.show=function(){var _this=this;this.context.invoke('editor.saveRange');this.showHelpDialog().then(function(){_this.context.invoke('editor.restoreRange');});};return HelpDialog;}());var AIR_MODE_POPOVER_X_OFFSET=20;var AirPopover=(function(){function AirPopover(context){var _this=this;this.context=context;this.ui=$$1.summernote.ui;this.options=context.options;this.events={'summernote.keyup summernote.mouseup summernote.scroll':function(){_this.update();},'summernote.disable summernote.change summernote.dialog.shown':function(){_this.hide();},'summernote.focusout':function(we,e){if(env.isFF){return;}
571if(!e.relatedTarget||!dom.ancestor(e.relatedTarget,func.eq(_this.$popover[0]))){_this.hide();}}};}
572AirPopover.prototype.shouldInitialize=function(){return this.options.airMode&&!lists.isEmpty(this.options.popover.air);};AirPopover.prototype.initialize=function(){this.$popover=this.ui.popover({className:'note-air-popover'}).render().appendTo(this.options.container);var $content=this.$popover.find('.popover-content');this.context.invoke('buttons.build',$content,this.options.popover.air);};AirPopover.prototype.destroy=function(){this.$popover.remove();};AirPopover.prototype.update=function(){var styleInfo=this.context.invoke('editor.currentStyle');if(styleInfo.range&&!styleInfo.range.isCollapsed()){var rect=lists.last(styleInfo.range.getClientRects());if(rect){var bnd=func.rect2bnd(rect);this.$popover.css({display:'block',left:Math.max(bnd.left+bnd.width/2,0)-AIR_MODE_POPOVER_X_OFFSET,top:bnd.top+bnd.height});this.context.invoke('buttons.updateCurrentStyle',this.$popover);}}
573else{this.hide();}};AirPopover.prototype.hide=function(){this.$popover.hide();};return AirPopover;}());var POPOVER_DIST=5;var HintPopover=(function(){function HintPopover(context){var _this=this;this.context=context;this.ui=$$1.summernote.ui;this.$editable=context.layoutInfo.editable;this.options=context.options;this.hint=this.options.hint||[];this.direction=this.options.hintDirection||'bottom';this.hints=Array.isArray(this.hint)?this.hint:[this.hint];this.events={'summernote.keyup':function(we,e){if(!e.isDefaultPrevented()){_this.handleKeyup(e);}},'summernote.keydown':function(we,e){_this.handleKeydown(e);},'summernote.disable summernote.dialog.shown':function(){_this.hide();}};}
574HintPopover.prototype.shouldInitialize=function(){return this.hints.length>0;};HintPopover.prototype.initialize=function(){var _this=this;this.lastWordRange=null;this.$popover=this.ui.popover({className:'note-hint-popover',hideArrow:true,direction:''}).render().appendTo(this.options.container);this.$popover.hide();this.$content=this.$popover.find('.popover-content,.note-popover-content');this.$content.on('click','.note-hint-item',function(e){_this.$content.find('.active').removeClass('active');$$1(e.currentTarget).addClass('active');_this.replace();});};HintPopover.prototype.destroy=function(){this.$popover.remove();};HintPopover.prototype.selectItem=function($item){this.$content.find('.active').removeClass('active');$item.addClass('active');this.$content[0].scrollTop=$item[0].offsetTop-(this.$content.innerHe
574ight()/2);};HintPopover.prototype.moveDown=function(){var $current=this.$content.find('.note-hint-item.active');var $next=$current.next();if($next.length){this.selectItem($next);}
575else{var $nextGroup=$current.parent().next();if(!$nextGroup.length){$nextGroup=this.$content.find('.note-hint-group').first();}
576this.selectItem($nextGroup.find('.note-hint-item').first());}};HintPopover.prototype.moveUp=function(){var $current=this.$content.find('.note-hint-item.active');var $prev=$current.prev();if($prev.length){this.selectItem($prev);}
577else{var $prevGroup=$current.parent().prev();if(!$prevGroup.length){$prevGroup=this.$content.find('.note-hint-group').last();}
578this.selectItem($prevGroup.find('.note-hint-item').last());}};HintPopover.prototype.replace=function(){var $item=this.$content.find('.note-hint-item.active');if($item.length){var node=this.nodeFromItem($item);this.lastWordRange.insertNode(node);range.createFromNode(node).collapse().select();this.lastWordRange=null;this.hide();this.context.triggerEvent('change',this.$editable.html(),this.$editable[0]);this.context.invoke('editor.focus');}};HintPopover.prototype.nodeFromItem=function($item){var hint=this.hints[$item.data('index')];var item=$item.data('item');var node=hint.content?hint.content(item):item;if(typeof node==='string'){node=dom.createText(node);}
579return node;};HintPopover.prototype.createItemTemplates=function(hintIdx,items){var hint=this.hints[hintIdx];return items.map(function(item,idx){var $item=$$1('<div class="note-hint-item"/>');$item.append(hint.template?hint.template(item):item+'');$item.data({'index':hintIdx,'item':item});return $item;});};HintPopover.prototype.handleKeydown=function(e){if(!this.$popover.is(':visible')){return;}
580if(e.keyCode===key.code.ENTER){e.preventDefault();this.replace();}
581else if(e.keyCode===key.code.UP){e.preventDefault();this.moveUp();}
582else if(e.keyCode===key.code.DOWN){e.preventDefault();this.moveDown();}};HintPopover.prototype.searchKeyword=function(index,keyword,callback){var hint=this.hints[index];if(hint&&hint.match.test(keyword)&&hint.search){var matches=hint.match.exec(keyword);hint.search(matches[1],callback);}
583else{callback();}};HintPopover.prototype.createGroup=function(idx,keyword){var _this=this;var $group=$$1('<div class="note-hint-group note-hint-group-'+idx+'"/>');this.searchKeyword(idx,keyword,function(items){items=items||[];if(items.length){$group.html(_this.createItemTemplates(idx,items));_this.show();}});return $group;};HintPopover.prototype.handleKeyup=function(e){var _this=this;if(!lists.contains([key.code.ENTER,key.code.UP,key.code.DOWN],e.keyCode)){var wordRange=this.context.invoke('editor.getLastRange').getWordRange();var keyword_1=wordRange.toString();if(this.hints.length&&keyword_1){this.$content.empty();var bnd=func.rect2bnd(lists.last(wordRange.getClientRects()));if(bnd){this.$popover.hide();this.lastWordRange=wordRange;this.hints.forEach(function(hint,idx){if(hint.match.test(keyword_1)){_this.createGroup(idx,keyword_1).appendTo(_this.$content);}});this.$content.find('.note-hint-item:first').addClass('active');if(this.direction==='top'){this.$popover.css({left:bnd.left,top:bnd.top-this.$popover.outerHeight()-POPOVER_DIST});}
584else{this.$popover.css({left:bnd.left,top:bnd.top+bnd.height+POPOVER_DIST});}}}
585else{this.hide();}}};HintPopover.prototype.show=function(){this.$popover.show();};HintPopover.prototype.hide=function(){this.$popover.hide();};return HintPopover;}());$$1.summernote=$$1.extend($$1.summernote,{version:'0.8.12',plugins:{},dom:dom,range:range,options:{langInfo:$$1.summernote.lang['en-US'],modules:{'editor':Editor,'clipboard':Clipboard,'dropzone':Dropzone,'codeview':CodeView,'statusbar':Statusbar,'fullscreen':Fullscreen,'handle':Handle,'hintPopover':HintPopover,'autoLink':AutoLink,'autoSync':AutoSync,'autoReplace':AutoReplace,'placeholder':Placeholder,'buttons':Buttons,'toolbar':Toolbar,'linkDialog':LinkDialog,'linkPopover':LinkPopover,'imageDialog':ImageDialog,'imagePopover':ImagePopover,'tablePopover':TablePopover,'videoDialog':VideoDialog,'helpDialog':HelpDialog,'airPopover':AirPopover},buttons:{},lang:'en-US',followingToolbar:false,otherStaticBar:'',toolbar:[['style',['style']],['font',['bold','underline','clear']],['fontname',['fontname']],['color',['color']],['para',['ul','ol','paragraph']],['table',['table']],['insert',['link','picture','video']],['view',['fullscreen','codeview','help']],],popatmouse:true,popover:{image:[['resize',['resizeFull','resizeHalf','resizeQuarter','resizeNone']],['float',['floatLeft','floatRight','floatNone']],['remove',['removeMedia']],],link:[['link',['linkDialogShow','unlink']],],table:[['add',['addRowDown','addRowUp','addColLeft','addColRight']],['delete',['deleteRow','deleteCol','deleteTable']],],air:[['color',['color']],['font',['bold','underline','clear']],['para',['ul','paragraph']],['table',['table']],['insert',['link','picture']],]},airMode:false,width:null,height:null,linkTargetBlank:true,focus:false,tabSize:4,styleWithSpan:true,shortcuts:true,textareaAutoSync:true,hintDirection:'bottom',tooltip:'auto',container:'body',maxTextLength:0,blockquoteBreakingLevel:2,spell
585Check:true,styleTags:['p','blockquote','pre','h1','h2','h3','h4','h5','h6'],fontNames:['Arial','Arial Black','Comic Sans MS','Courier New','Helvetica Neue','Helvetica','Impact','Lucida Grande','Tahoma','Times New Roman','Verdana',],fontNamesIgnoreCheck:[],fontSizes:['8','9','10','11','12','14','18','24','36'],colors:[['#000000','#424242','#636363','#9C9C94','#CEC6CE','#EFEFEF','#F7F7F7','#FFFFFF'],['#FF0000','#FF9C00','#FFFF00','#00FF00','#00FFFF','#0000FF','#9C00FF','#FF00FF'],['#F7C6CE','#FFE7CE','#FFEFC6','#D6EFD6','#CEDEE7','#CEE7F7','#D6D6E7','#E7D6DE'],['#E79C9C','#FFC69C','#FFE79C','#B5D6A5','#A5C6CE','#9CC6EF','#B5A5D6','#D6A5BD'],['#E76363','#F7AD6B','#FFD663','#94BD7B','#73A5AD','#6BADDE','#8C7BC6','#C67BA5'],['#CE0000','#E79439','#EFC631','#6BA54A','#4A7B8C','#3984C6','#634AA5','#A54A7B'],['#9C0000','#B56308','#BD9400','#397B21','#104A5A','#085294','#311873','#731842'],['#630000','#7B3900','#846300','#295218','#083139','#003163','#21104A','#4A1031'],],colorsName:[['Black','Tundora','Dove Gray','Star Dust','Pale Slate','Gallery','Alabaster','White'],['Red','Orange Peel','Yellow','Green','Cyan','Blue','Electric Violet','Magenta'],['Azalea','Karry','Egg White','Zanah','Botticelli','Tropical Blue','Mischka','Twilight'],['Tonys Pink','Peach Orange','Cream Brulee','Sprout','Casper','Perano','Cold Purple','Careys Pink'],['Mandy','Rajah','Dandelion','Olivine','Gulf Stream','Viking','Blue Marguerite','Puce'],['Guardsman Red','Fire Bush','Golden Dream','Chelsea Cucumber','Smalt Blue','Boston Blue','Butterfly Bush','Cadillac'],['Sangria','Mai Tai','Buddha Gold','Forest Green','Eden','Venice Blue','Meteorite','Claret'],['Rosewood','Cinnamon','Olive','Parsley','Tiber','Midnight Blue','Valentino','Loulou'],],colorButton:{foreColor:'#000000',backColor:'#FFFF00'},lineHeights:['1.0','1.2','1.4','1.5','1.6','1.8','2.0','3.0'],tableClassName:'table table-bordered',insertTableMaxSize:{col:10,row:10},dialogsInBody:false,dialogsFade:false,maximumImageFileSize:null,callbacks:{onBeforeCommand:null,onBlur:null,onBlurCodeview:null,onChange:null,onChangeCodeview:null,onDialogShown:null,onEnter:null,onFocus:null,onImageLinkInsert:null,onImageUpload:null,onImageUploadError:null,onInit:null,onKeydown:null,onKeyup:null,onMousedown:null,onMouseup:null,onPaste:null,onScroll:null},codemirror:{mode:'text/html',htmlMode:true,lineNumbers:true},codeviewFilter:false,codeviewFilterRegex:/<\/*(?:applet|b(?:ase|gsound|link)|embed|frame(?:set)?|ilayer|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|t(?:itle|extarea)|xml)[^>]*?>/gi,codeviewIframeFilter:true,codeviewIframeWhitelistSrc:[],codeviewIframeWhitelistSrcBase:['www.youtube.com','www.youtube-nocookie.com','www.facebook.com','vine.co','instagram.com','player.vimeo.com','www.dailymotion.com','player.youku.com','v.qq.com',],keyMap:{pc:{'ENTER':'insertParagraph','CTRL+Z':'undo','CTRL+Y':'redo','TAB':'tab','SHIFT+TAB':'untab','CTRL+B':'bold','CTRL+I':'italic','CTRL+U':'underline','CTRL+SHIFT+S':'strikethrough','CTRL+BACKSLASH':'removeFormat','CTRL+SHIFT+L':'justifyLeft','CTRL+SHIFT+E':'justifyCenter','CTRL+SHIFT+R':'justifyRight','CTRL+SHIFT+J':'justifyFull','CTRL+SHIFT+NUM7':'insertUnorderedList','CTRL+SHIFT+NUM8':'insertOrderedList','CTRL+LEFTBRACKET':'outdent','CTRL+RIGHTBRACKET':'indent','CTRL+NUM0':'formatPara','CTRL+NUM1':'formatH1','CTRL+NUM2':'formatH2','CTRL+NUM3':'formatH3','CTRL+NUM4':'formatH4','CTRL+NUM5':'formatH5','CTRL+NUM6':'formatH6','CTRL+ENTER':'insertHorizontalRule','CTRL+K':'linkDialog.show'},mac:{'ENTER':'insertParagraph','CMD+Z':'undo','CMD+SHIFT+Z':'redo','TAB':'tab','SHIFT+TAB':'untab','CMD+B':'bold','CMD+I':'italic','CMD+U':'underline','CMD+SHIFT+S':'strikethrough','CMD+BACKSLASH':'removeFormat','CMD+SHIFT+L':'justifyLeft','CMD+SHIFT+E':'justifyCenter','CMD+SHIFT+R':'justifyRight','CMD+SHIFT+J':'justifyFull','CMD+SHIFT+NUM7':'insertUnorderedList','CMD+SHIFT+NUM8':'insertOrderedList','CMD+LEFTBRACKET':'outdent','CMD+RIGHTBRACKET':'indent','CMD+NUM0':'formatPara','CMD+NUM1':'formatH1','CMD+NUM2':'formatH2','CMD+NUM3':'formatH3','CMD+NUM4':'formatH4','CMD+NUM5':'formatH5','CMD+NUM6':'formatH6','CMD+ENTER':'insertHorizontalRule','CMD+K':'linkDialog.show'}},icons:{'align':'note-icon-align','alignCenter':'note-icon-align-center','alignJustify':'note-icon-align-justify','alignLeft':'note-icon-align-left','alignRight':'note-icon-align-right','rowBelow':'note-icon-row-below','colBefore':'note-icon-col-before','colAfter':'note-icon-col-after','rowAbove':'note-icon-row-above','rowRemove':'note-icon-row-remove','colRemove':'note-icon-col-remove','indent':'note-icon-align-indent','outdent':'note-icon-align-outdent','arrowsAlt':'note-icon-arrows-alt','bold':'note-icon-bold','caret':'note-icon-caret','circle':'note-icon-circle','close':'note-icon-close','code':'note-icon-code','eraser':'note-icon-eraser','floatLeft':'note-icon-float-left','floatRight':'note-icon-float-right','font':'note-icon-font','frame':'note-icon-frame','italic':'note-icon-italic','link':'note-icon-link','unlink':'note-icon-chain-broken','magic':'note-icon-magic','menuCheck':'note-icon-menu-check','minus':'note-icon-minus','orderedlist':'note-icon-orderedlist','pencil':'note-icon-pencil','picture':'note-icon-picture','question':'note-icon-question','redo':'note-icon-redo','rollback':'note-icon-rollback','square':'note-icon-square','strikethrough':'note-icon-strikethrough','subscript':'note-icon-subscript','superscript':'note-icon-superscript','table':'note-icon-table','textHeight':'note-icon-text-height','trash':'note-icon-trash','underline':'note-icon-underline','undo':'note-icon-undo','unorderedlist':'note-icon-unorderedlist','video':'note-icon-video'}}});$$1.summernote=$$1.extend($$1.summernote,{ui:ui});}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.