From 4f953ffc89fc95f83b152e914c5e65938b440f17 Mon Sep 17 00:00:00 2001
From: Xxxu <794772283@qq.com>
Date: 星期二, 07 七月 2020 10:03:02 +0800
Subject: [PATCH] 上传项目
---
static/plugins/ueditor-1.4.3.3/dialogs/table/edittable.js | 237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 237 insertions(+), 0 deletions(-)
diff --git a/static/plugins/ueditor-1.4.3.3/dialogs/table/edittable.js b/static/plugins/ueditor-1.4.3.3/dialogs/table/edittable.js
new file mode 100644
index 0000000..11dbee7
--- /dev/null
+++ b/static/plugins/ueditor-1.4.3.3/dialogs/table/edittable.js
@@ -0,0 +1,237 @@
+/**
+ * Created with JetBrains PhpStorm.
+ * User: xuheng
+ * Date: 12-12-19
+ * Time: 涓嬪崍4:55
+ * To change this template use File | Settings | File Templates.
+ */
+(function () {
+ var title = $G("J_title"),
+ titleCol = $G("J_titleCol"),
+ caption = $G("J_caption"),
+ sorttable = $G("J_sorttable"),
+ autoSizeContent = $G("J_autoSizeContent"),
+ autoSizePage = $G("J_autoSizePage"),
+ tone = $G("J_tone"),
+ me,
+ preview = $G("J_preview");
+
+ var editTable = function () {
+ me = this;
+ me.init();
+ };
+ editTable.prototype = {
+ init:function () {
+ var colorPiker = new UE.ui.ColorPicker({
+ editor:editor
+ }),
+ colorPop = new UE.ui.Popup({
+ editor:editor,
+ content:colorPiker
+ });
+
+ title.checked = editor.queryCommandState("inserttitle") == -1;
+ titleCol.checked = editor.queryCommandState("inserttitlecol") == -1;
+ caption.checked = editor.queryCommandState("insertcaption") == -1;
+ sorttable.checked = editor.queryCommandState("enablesort") == 1;
+
+ var enablesortState = editor.queryCommandState("enablesort"),
+ disablesortState = editor.queryCommandState("disablesort");
+
+ sorttable.checked = !!(enablesortState < 0 && disablesortState >=0);
+ sorttable.disabled = !!(enablesortState < 0 && disablesortState < 0);
+ sorttable.title = enablesortState < 0 && disablesortState < 0 ? lang.errorMsg:'';
+
+ me.createTable(title.checked, titleCol.checked, caption.checked);
+ me.setAutoSize();
+ me.setColor(me.getColor());
+
+ domUtils.on(title, "click", me.titleHanler);
+ domUtils.on(titleCol, "click", me.titleColHanler);
+ domUtils.on(caption, "click", me.captionHanler);
+ domUtils.on(sorttable, "click", me.sorttableHanler);
+ domUtils.on(autoSizeContent, "click", me.autoSizeContentHanler);
+ domUtils.on(autoSizePage, "click", me.autoSizePageHanler);
+
+ domUtils.on(tone, "click", function () {
+ colorPop.showAnchor(tone);
+ });
+ domUtils.on(document, 'mousedown', function () {
+ colorPop.hide();
+ });
+ colorPiker.addListener("pickcolor", function () {
+ me.setColor(arguments[1]);
+ colorPop.hide();
+ });
+ colorPiker.addListener("picknocolor", function () {
+ me.setColor("");
+ colorPop.hide();
+ });
+ },
+
+ createTable:function (hasTitle, hasTitleCol, hasCaption) {
+ var arr = [],
+ sortSpan = '<span>^</span>';
+ arr.push("<table id='J_example'>");
+ if (hasCaption) {
+ arr.push("<caption>" + lang.captionName + "</caption>")
+ }
+ if (hasTitle) {
+ arr.push("<tr>");
+ if(hasTitleCol) { arr.push("<th>" + lang.titleName + "</th>"); }
+ for (var j = 0; j < 5; j++) {
+ arr.push("<th>" + lang.titleName + "</th>");
+ }
+ arr.push("</tr>");
+ }
+ for (var i = 0; i < 6; i++) {
+ arr.push("<tr>");
+ if(hasTitleCol) { arr.push("<th>" + lang.titleName + "</th>") }
+ for (var k = 0; k < 5; k++) {
+ arr.push("<td>" + lang.cellsName + "</td>")
+ }
+ arr.push("</tr>");
+ }
+ arr.push("</table>");
+ preview.innerHTML = arr.join("");
+ this.updateSortSpan();
+ },
+ titleHanler:function () {
+ var example = $G("J_example"),
+ frg=document.createDocumentFragment(),
+ color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"),
+ colCount = example.rows[0].children.length;
+
+ if (title.checked) {
+ example.insertRow(0);
+ for (var i = 0, node; i < colCount; i++) {
+ node = document.createElement("th");
+ node.innerHTML = lang.titleName;
+ frg.appendChild(node);
+ }
+ example.rows[0].appendChild(frg);
+
+ } else {
+ domUtils.remove(example.rows[0]);
+ }
+ me.setColor(color);
+ me.updateSortSpan();
+ },
+ titleColHanler:function () {
+ var example = $G("J_example"),
+ color = domUtils.getComputedStyle(domUtils.getElementsByTagName(example, "td")[0], "border-color"),
+ colArr = example.rows,
+ colCount = colArr.length;
+
+ if (titleCol.checked) {
+ for (var i = 0, node; i < colCount; i++) {
+ node = document.createElement("th");
+ node.innerHTML = lang.titleName;
+ colArr[i].insertBefore(node, colArr[i].children[0]);
+ }
+ } else {
+ for (var i = 0; i < colCount; i++) {
+ domUtils.remove(colArr[i].children[0]);
+ }
+ }
+ me.setColor(color);
+ me.updateSortSpan();
+ },
+ captionHanler:function () {
+ var example = $G("J_example");
+ if (caption.checked) {
+ var row = document.createElement('caption');
+ row.innerHTML = lang.captionName;
+ example.insertBefore(row, example.firstChild);
+ } else {
+ domUtils.remove(domUtils.getElementsByTagName(example, 'caption')[0]);
+ }
+ },
+ sorttableHanler:function(){
+ me.updateSortSpan();
+ },
+ autoSizeContentHanler:function () {
+ var example = $G("J_example");
+ example.removeAttribute("width");
+ },
+ autoSizePageHanler:function () {
+ var example = $G("J_example");
+ var tds = example.getElementsByTagName(example, "td");
+ utils.each(tds, function (td) {
+ td.removeAttribute("width");
+ });
+ example.setAttribute('width', '100%');
+ },
+ updateSortSpan: function(){
+ var example = $G("J_example"),
+ row = example.rows[0];
+
+ var spans = domUtils.getElementsByTagName(example,"span");
+ utils.each(spans,function(span){
+ span.parentNode.removeChild(span);
+ });
+ if (sorttable.checked) {
+ utils.each(row.cells, function(cell, i){
+ var span = document.createElement("span");
+ span.innerHTML = "^";
+ cell.appendChild(span);
+ });
+ }
+ },
+ getColor:function () {
+ var start = editor.selection.getStart(), color,
+ cell = domUtils.findParentByTagName(start, ["td", "th", "caption"], true);
+ color = cell && domUtils.getComputedStyle(cell, "border-color");
+ if (!color) color = "#DDDDDD";
+ return color;
+ },
+ setColor:function (color) {
+ var example = $G("J_example"),
+ arr = domUtils.getElementsByTagName(example, "td").concat(
+ domUtils.getElementsByTagName(example, "th"),
+ domUtils.getElementsByTagName(example, "caption")
+ );
+
+ tone.value = color;
+ utils.each(arr, function (node) {
+ node.style.borderColor = color;
+ });
+
+ },
+ setAutoSize:function () {
+ var me = this;
+ autoSizePage.checked = true;
+ me.autoSizePageHanler();
+ }
+ };
+
+ new editTable;
+
+ dialog.onok = function () {
+ editor.__hasEnterExecCommand = true;
+
+ var checks = {
+ title:"inserttitle deletetitle",
+ titleCol:"inserttitlecol deletetitlecol",
+ caption:"insertcaption deletecaption",
+ sorttable:"enablesort disablesort"
+ };
+ editor.fireEvent('saveScene');
+ for(var i in checks){
+ var cmds = checks[i].split(" "),
+ input = $G("J_" + i);
+ if(input["checked"]){
+ editor.queryCommandState(cmds[0])!=-1 &&editor.execCommand(cmds[0]);
+ }else{
+ editor.queryCommandState(cmds[1])!=-1 &&editor.execCommand(cmds[1]);
+ }
+ }
+
+ editor.execCommand("edittable", tone.value);
+ autoSizeContent.checked ?editor.execCommand('adaptbytext') : "";
+ autoSizePage.checked ? editor.execCommand("adaptbywindow") : "";
+ editor.fireEvent('saveScene');
+
+ editor.__hasEnterExecCommand = false;
+ };
+})();
\ No newline at end of file
--
Gitblit v1.9.3