WordPress/wp-includes/js/tinymce/plugins/wpview/editor_plugin.js
Bot (Assets) 6e798324e9 New develop.svn.wordpress.org repository based on the old core.svn repository.
* All WordPress files move to a src/ directory.
 * New task runner (Grunt), configured to copy a built WordPress to build/.
 * svn:ignore and .gitignore for Gruntfile.js, wp-config.php, and node.js.
 * Remove Akismet external from develop.svn. Still exists in core.svn.
 * Drop minified files from src/. The build process will now generate these.

props koop.
see #24976.

and see http://wp.me/p2AvED-1AI.


Built from https://develop.svn.wordpress.org/trunk@25001


git-svn-id: http://core.svn.wordpress.org/trunk@25001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-07 05:49:02 +00:00

1 line
1.8 KiB
JavaScript

!function(){var a,b=tinymce.VK,c=tinymce.dom.TreeWalker;tinymce.create("tinymce.plugins.wpView",{init:function(d){var e=this;"undefined"!=typeof wp&&wp.mce&&(d.onPreInit.add(function(a){a.schema.addValidElements("div[*],span[*]")}),d.onBeforeSetContent.add(function(a,b){b.content&&(b.content=wp.mce.view.toViews(b.content))}),d.onSetContent.add(function(a){wp.mce.view.render(a.getDoc())}),d.onInit.add(function(a){a.selection.onBeforeSetContent.add(function(b){var d,f,g=e.getParentView(b.getNode());g&&(!g.nextSibling||e.isView(g.nextSibling)?(f=a.getDoc().createTextNode(""),a.dom.insertAfter(f,g)):(d=new c(g.nextSibling,g.nextSibling),f=d.next()),b.select(f),b.collapse(!0))}),a.selection.onSetContent.add(function(a,b){if(b.context){var c=a.getNode();c.innerHTML&&(c.innerHTML=wp.mce.view.toViews(c.innerHTML),wp.mce.view.render(c))}})}),d.onPostProcess.add(function(a,b){(b.get||b.save)&&b.content&&(b.content=wp.mce.view.toText(b.content))}),d.onNodeChange.addToTop(function(a,b,c){var d=e.getParentView(c);return d?(e.select(d),!1):(e.deselect(),void 0)}),d.onKeyDown.addToTop(function(c,d){var f,g,h=d.keyCode;if(a){if(f=e.getParentView(c.selection.getNode()),f!==a)return e.deselect(),void 0;(h===b.DELETE||h===b.BACKSPACE)&&(g=wp.mce.view.instance(a))&&(g.remove(),e.deselect()),d.metaKey||d.ctrlKey||h>=112&&123>=h||d.preventDefault()}}))},getParentView:function(a){for(;a;){if(this.isView(a))return a;a=a.parentNode}},isView:function(a){return/(?:^|\s)wp-view-wrap(?:\s|$)/.test(a.className)},select:function(b){b!==a&&(this.deselect(),a=b,wp.mce.view.select(a))},deselect:function(){a&&wp.mce.view.deselect(a),a=null},getInfo:function(){return{longname:"WordPress Views",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"1.0"}}}),tinymce.PluginManager.add("wpview",tinymce.plugins.wpView)}();