1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /*******************************************************************************
- * 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>
- --------------------------
- */
|