| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | /******************************************************************************** KindEditor - WYSIWYG HTML Editor for Internet* Copyright (C) 2006-2011 kindsoft.net** @author Roddy <luolonghao@gmail.com>* @site http://www.kindsoft.net/* @licence http://www.kindsoft.net/license.php*******************************************************************************/KindEditor.plugin('quickformat', function(K) {	var self = this, name = 'quickformat',		blockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p');	function getFirstChild(knode) {		var child = knode.first();		while (child && child.first()) {			child = child.first();		}		return child;	}	self.clickToolbar(name, function() {		self.focus();		var doc = self.edit.doc,			range = self.cmd.range,			child = K(doc.body).first(), next,			nodeList = [], subList = [],			bookmark = range.createBookmark(true);		while(child) {			next = child.next();			var firstChild = getFirstChild(child);			if (!firstChild || firstChild.name != 'img') {				if (blockMap[child.name]) {					child.html(child.html().replace(/^(\s| | )+/ig, ''));					child.css('text-indent', '2em');				} else {					subList.push(child);				}				if (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) {					if (subList.length > 0) {						nodeList.push(subList);					}					subList = [];				}			}			child = next;		}		K.each(nodeList, function(i, subList) {			var wrapper = K('<p style="text-indent:2em;"></p>', doc);			subList[0].before(wrapper);			K.each(subList, function(i, knode) {				wrapper.append(knode);			});		});		range.moveToBookmark(bookmark);		self.addBookmark();	});});/**--------------------------abcd<br />1234<br />to<p style="text-indent:2em;">	abcd<br />	1234<br /></p>--------------------------  abcd<img>1233<p>1234</p>to<p style="text-indent:2em;">abcd<img>1233</p><p style="text-indent:2em;">1234</p>--------------------------*/
 |