Server IP : 162.0.232.140 / Your IP : 13.59.144.10 Web Server : LiteSpeed System : Linux premium139.web-hosting.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64 User : micrcvoy ( 740) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/micrcvoy/zomticksa.store/controlPanel/assets/plugins/summernote/src/js/editing/ |
Upload File : |
define([ 'summernote/core/list', 'summernote/core/func', 'summernote/core/dom', 'summernote/core/range' ], function (list, func, dom, range) { /** * @class editing.Bullet * * @alternateClassName Bullet */ var Bullet = function () { /** * @method insertOrderedList * * toggle ordered list * * @type command */ this.insertOrderedList = function () { this.toggleList('OL'); }; /** * @method insertUnorderedList * * toggle unordered list * * @type command */ this.insertUnorderedList = function () { this.toggleList('UL'); }; /** * @method indent * * indent * * @type command */ this.indent = function () { var self = this; var rng = range.create().wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = list.clusterBy(paras, func.peq2('parentNode')); $.each(clustereds, function (idx, paras) { var head = list.head(paras); if (dom.isLi(head)) { self.wrapList(paras, head.parentNode.nodeName); } else { $.each(paras, function (idx, para) { $(para).css('marginLeft', function (idx, val) { return (parseInt(val, 10) || 0) + 25; }); }); } }); rng.select(); }; /** * @method outdent * * outdent * * @type command */ this.outdent = function () { var self = this; var rng = range.create().wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var clustereds = list.clusterBy(paras, func.peq2('parentNode')); $.each(clustereds, function (idx, paras) { var head = list.head(paras); if (dom.isLi(head)) { self.releaseList([paras]); } else { $.each(paras, function (idx, para) { $(para).css('marginLeft', function (idx, val) { val = (parseInt(val, 10) || 0); return val > 25 ? val - 25 : ''; }); }); } }); rng.select(); }; /** * @method toggleList * * toggle list * * @param {String} listName - OL or UL */ this.toggleList = function (listName) { var self = this; var rng = range.create().wrapBodyInlineWithPara(); var paras = rng.nodes(dom.isPara, { includeAncestor: true }); var bookmark = rng.paraBookmark(paras); var clustereds = list.clusterBy(paras, func.peq2('parentNode')); // paragraph to list if (list.find(paras, dom.isPurePara)) { var wrappedParas = []; $.each(clustereds, function (idx, paras) { wrappedParas = wrappedParas.concat(self.wrapList(paras, listName)); }); paras = wrappedParas; // list to paragraph or change list style } else { var diffLists = rng.nodes(dom.isList, { includeAncestor: true }).filter(function (listNode) { return !$.nodeName(listNode, listName); }); if (diffLists.length) { $.each(diffLists, function (idx, listNode) { dom.replace(listNode, listName); }); } else { paras = this.releaseList(clustereds, true); } } range.createFromParaBookmark(bookmark, paras).select(); }; /** * @method wrapList * * @param {Node[]} paras * @param {String} listName * @return {Node[]} */ this.wrapList = function (paras, listName) { var head = list.head(paras); var last = list.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); // P to LI paras = paras.map(function (para) { return dom.isPurePara(para) ? dom.replace(para, 'LI') : para; }); // append to list(<ul>, <ol>) dom.appendChildNodes(listNode, paras); if (nextList) { dom.appendChildNodes(listNode, list.from(nextList.childNodes)); dom.remove(nextList); } return paras; }; /** * @method releaseList * * @param {Array[]} clustereds * @param {Boolean} isEscapseToBody * @return {Node[]} */ this.releaseList = function (clustereds, isEscapseToBody) { var releasedParas = []; $.each(clustereds, function (idx, paras) { var head = list.head(paras); var last = list.last(paras); var headList = isEscapseToBody ? dom.lastAncestor(head, dom.isList) : head.parentNode; 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) : list.from(middleList.childNodes).filter(dom.isLi); // LI to P if (isEscapseToBody || !dom.isList(headList.parentNode)) { paras = paras.map(function (para) { return dom.replace(para, 'P'); }); } $.each(list.from(paras).reverse(), function (idx, para) { dom.insertAfter(para, headList); }); // remove empty lists var rootLists = list.compact([headList, middleList, lastList]); $.each(rootLists, function (idx, rootList) { var listNodes = [rootList].concat(dom.listDescendant(rootList, dom.isList)); $.each(listNodes.reverse(), function (idx, listNode) { if (!dom.nodeLength(listNode)) { dom.remove(listNode, true); } }); }); releasedParas = releasedParas.concat(paras); }); return releasedParas; }; }; return Bullet; });