tinymce-editor/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/lists/plugin.min.js
Marat.Bedoev@heiner-direct.com 54431935e5 update to 1.1.4
2013-10-02 17:48:32 +02:00

1 line
6.3 KiB
JavaScript

tinymce.PluginManager.add("lists",function(e){var n=this;e.on("init",function(){function t(e){function n(n){var r,i,o;i=e[n?"startContainer":"endContainer"],o=e[n?"startOffset":"endOffset"],1==i.nodeType&&(r=L.create("span",{"data-mce-type":"bookmark"}),i.hasChildNodes()?(o=Math.min(o,i.childNodes.length-1),n?i.insertBefore(r,i.childNodes[o]):L.insertAfter(r,i.childNodes[o])):i.appendChild(r),i=r,o=0),t[n?"startContainer":"endContainer"]=i,t[n?"startOffset":"endOffset"]=o}var t={};return n(!0),e.collapsed||n(),t}function r(e){function n(n){function t(e){for(var n=e.parentNode.firstChild,t=0;n;){if(n==e)return t;(1!=n.nodeType||"bookmark"!=n.getAttribute("data-mce-type"))&&t++,n=n.nextSibling}return-1}var r,i,o;r=o=e[n?"startContainer":"endContainer"],i=e[n?"startOffset":"endOffset"],r&&(1==r.nodeType&&(i=t(r),r=r.parentNode,L.remove(o)),e[n?"startContainer":"endContainer"]=r,e[n?"startOffset":"endOffset"]=i)}n(!0),n();var t=L.createRng();t.setStart(e.startContainer,e.startOffset),e.endContainer&&t.setEnd(e.endContainer,e.endOffset),b.setRng(t)}function i(e){return e&&/^(OL|UL)$/.test(e.nodeName)}function o(e){return e.parentNode.firstChild==e}function a(e){return e.parentNode.lastChild==e}function d(n){return n&&!!e.schema.getTextBlockElements()[n.nodeName]}function f(e){return e&&"SPAN"===e.nodeName&&"bookmark"===e.getAttribute("data-mce-type")}function s(n,t){var r,i,o;if(e.settings.forced_root_block&&(t=t||e.settings.forced_root_block),i=t?L.create(t):L.createFragment(),n)for(;r=n.firstChild;)o||"SPAN"==r.nodeName&&"bookmark"==r.getAttribute("data-mce-type")||(o=!0),i.appendChild(r);return e.settings.forced_root_block?o||tinymce.Env.ie&&!(tinymce.Env.ie>10)||i.appendChild(L.create("br",{"data-mce-bogus":"1"})):i.appendChild(L.create("br")),i}function c(){return tinymce.grep(b.getSelectedBlocks(),function(e){return"LI"==e.nodeName})}function l(e,n,t){var r,i,o=L.select('span[data-mce-type="bookmark"]',e);t=t||s(n),r=L.createRng(),r.setStartAfter(n),r.setEndAfter(e),i=r.extractContents(),L.isEmpty(i)||L.insertAfter(i,e),L.insertAfter(t,e),L.isEmpty(n.parentNode)&&(tinymce.each(o,function(e){n.parentNode.parentNode.insertBefore(e,n.parentNode)}),L.remove(n.parentNode)),L.remove(n)}function u(e){var n,t;if(n=e.nextSibling,n&&i(n)&&n.nodeName==e.nodeName){for(;t=n.firstChild;)e.appendChild(t);L.remove(n)}if(n=e.previousSibling,n&&i(n)&&n.nodeName==e.nodeName){for(;t=n.firstChild;)e.insertBefore(t,e.firstChild);L.remove(n)}}function p(e){tinymce.each(tinymce.grep(L.select("ol,ul",e)),function(e){var n,t=e.parentNode;"LI"==t.nodeName&&t.firstChild==e&&(n=t.previousSibling,n&&"LI"==n.nodeName&&(n.appendChild(e),L.isEmpty(t)&&L.remove(t))),i(t)&&(n=t.previousSibling,n&&"LI"==n.nodeName&&n.appendChild(e))})}function m(e){function n(e){L.isEmpty(e)&&L.remove(e)}var t,r=e.parentNode,d=r.parentNode;if(o(e)&&a(e))if("LI"==d.nodeName)L.insertAfter(e,d),n(d),L.remove(r);else{if(!i(d))return d.insertBefore(s(e),r),L.remove(r),void 0;L.remove(r,!0)}else if(o(e))if("LI"==d.nodeName)L.insertAfter(e,d),t=L.create("LI"),t.appendChild(r),L.insertAfter(t,e),n(d);else{if(!i(d))return d.insertBefore(s(e),r),L.remove(e),void 0;d.insertBefore(e,r)}else if(a(e))if("LI"==d.nodeName)L.insertAfter(e,d);else{if(!i(d))return L.insertAfter(s(e),r),L.remove(e),void 0;L.insertAfter(e,r)}else"LI"==d.nodeName?(r=d,t=s(e,"LI")):t=i(d)?s(e,"LI"):s(e),l(r,e,t),p(r.parentNode);return!0}function v(e){var n,t;return n=e.previousSibling,n&&"UL"==n.nodeName?(n.appendChild(e),void 0):n&&"LI"==n.nodeName&&i(n.lastChild)?(n.lastChild.appendChild(e),void 0):(n=e.nextSibling,n&&"UL"==n.nodeName?(n.insertBefore(e,n.firstChild),void 0):n&&"LI"==n.nodeName&&i(e.lastChild)?void 0:(n=e.previousSibling,n&&"LI"==n.nodeName&&(t=L.create(e.parentNode.nodeName),n.appendChild(t),t.appendChild(e)),!0))}function N(){var e,n=t(b.getRng(!0));return tinymce.each(c(),function(n){v(n)&&(e=!0)}),r(n),e}function h(){var e,n=t(b.getRng(!0));return tinymce.each(c(),function(n){m(n)&&(e=!0)}),r(n),e}function C(n){function o(){function n(e){var n,t;for(n=a[e?"startContainer":"endContainer"],t=a[e?"startOffset":"endOffset"],1==n.nodeType&&(n=n.childNodes[Math.min(t,n.childNodes.length-1)]||n);n.parentNode!=i;){if(d(n))return n;if(/^(TD|TH)$/.test(n.parentNode.nodeName))return n;n=n.parentNode}return n}for(var t,r=[],i=e.getBody(),o=n(!0),s=n(),c=[],l=o;l&&(c.push(l),l!=s);l=l.nextSibling);return tinymce.each(c,function(e){if(d(e))return r.push(e),t=null,void 0;if(L.isBlock(e)||"BR"==e.nodeName)return"BR"==e.nodeName&&L.remove(e),t=null,void 0;var n=e.nextSibling;return f(e)&&(d(n)||!n&&e.parentNode==i)?(t=null,void 0):(t||(t=L.create("p"),e.parentNode.insertBefore(t,e),r.push(t)),t.appendChild(e),void 0)}),r}var a=b.getRng(!0),s=t(a),c=o();tinymce.each(c,function(e){var t,r;r=e.previousSibling,r&&i(r)&&r.nodeName==n?(t=r,e=L.rename(e,"LI"),r.appendChild(e)):(t=L.create(n),e.parentNode.insertBefore(t,e),t.appendChild(e),e=L.rename(e,"LI")),u(t)}),r(s)}function g(){var e=t(b.getRng(!0));tinymce.each(c(),function(e){var n,t;if(L.isEmpty(e))return m(e),void 0;for(n=e;n;n=n.parentNode)i(n)&&(t=n);l(t,e)}),r(e)}function y(e){var n=L.getParent(b.getStart(),"OL,UL");if(n)if(n.nodeName==e)g(e);else{var i=t(b.getRng(!0));u(L.rename(n,e)),r(i)}else C(e)}var L=e.dom,b=e.selection;n.backspaceDelete=function(e){function n(e,n){var t=e.startContainer,r=e.startOffset;if(3==t.nodeType&&(n?r<t.data.length:r>0))return t;for(var i=new tinymce.dom.TreeWalker(e.startContainer);t=i[n?"next":"prev"]();)if(3==t.nodeType&&t.data.length>0)return t}function o(e,n){var t,r,o=e.parentNode;for(i(n.lastChild)&&(r=n.lastChild),t=n.lastChild,t&&"BR"==t.nodeName&&e.hasChildNodes()&&L.remove(t);t=e.firstChild;)n.appendChild(t);r&&n.appendChild(r),L.remove(e),L.isEmpty(o)&&L.remove(o)}if(b.isCollapsed()){var a=L.getParent(b.getStart(),"LI");if(a){var d=b.getRng(!0),f=L.getParent(n(d,e),"LI");if(f&&f!=a){var s=t(d);return e?o(f,a):o(a,f),r(s),!0}if(!f&&!e&&g(a.parentNode.nodeName))return!0}}},e.addCommand("Indent",function(){return N()?void 0:!0}),e.addCommand("Outdent",function(){return h()?void 0:!0}),e.addCommand("InsertUnorderedList",function(){y("UL")}),e.addCommand("InsertOrderedList",function(){y("OL")})}),e.on("keydown",function(e){e.keyCode==tinymce.util.VK.BACKSPACE?n.backspaceDelete()&&e.preventDefault():e.keyCode==tinymce.util.VK.DELETE&&n.backspaceDelete(!0)&&e.preventDefault()})});