From 62d4e73cc9a215e4e18b94521bfdb18aa54a67b4 Mon Sep 17 00:00:00 2001 From: shylinux Date: Tue, 14 Apr 2020 09:35:34 +0800 Subject: [PATCH] opt plugin --- frame.js | 4 +- index.html => page/index.html | 2 +- index.js => page/index.js | 0 miss.svg => page/miss.svg | 0 share.html => page/share.html | 2 +- share.js => page/share.js | 0 plugin/{ => local}/mall/input.js | 0 plugin/{ => local}/team/plan.css | 0 plugin/{ => local}/team/plan.js | 0 plugin/{ => local}/wiki/data.js | 0 plugin/{ => local}/wiki/draw.css | 0 plugin/{ => local}/wiki/draw.js | 4 +- plugin/{ => local}/wiki/draw/heart.js | 0 plugin/{ => local}/wiki/feel.js | 0 plugin/{ => local}/wiki/walk.js | 0 plugin/{ => local}/wiki/word.css | 0 plugin/{ => local}/wiki/word.js | 2 +- plugin/mall/image.js | 32 ------- plugin/story/field.js | 4 - plugin/wiki/china.js | 133 -------------------------- plugin/wiki/image.js | 12 --- plugin/wiki/inner.js | 102 -------------------- plugin/wiki/media.js | 17 ---- 23 files changed, 7 insertions(+), 307 deletions(-) rename index.html => page/index.html (90%) rename index.js => page/index.js (100%) rename miss.svg => page/miss.svg (100%) rename share.html => page/share.html (88%) rename share.js => page/share.js (100%) rename plugin/{ => local}/mall/input.js (100%) rename plugin/{ => local}/team/plan.css (100%) rename plugin/{ => local}/team/plan.js (100%) rename plugin/{ => local}/wiki/data.js (100%) rename plugin/{ => local}/wiki/draw.css (100%) rename plugin/{ => local}/wiki/draw.js (99%) rename plugin/{ => local}/wiki/draw/heart.js (100%) rename plugin/{ => local}/wiki/feel.js (100%) rename plugin/{ => local}/wiki/walk.js (100%) rename plugin/{ => local}/wiki/word.css (100%) rename plugin/{ => local}/wiki/word.js (99%) delete mode 100644 plugin/mall/image.js delete mode 100644 plugin/story/field.js delete mode 100644 plugin/wiki/china.js delete mode 100644 plugin/wiki/image.js delete mode 100644 plugin/wiki/inner.js delete mode 100644 plugin/wiki/media.js diff --git a/frame.js b/frame.js index fe23c305..443ebddf 100644 --- a/frame.js +++ b/frame.js @@ -275,9 +275,9 @@ var can = Volcanos("chat", { run: function(event, cmd, cb, silent) {var msg = can.Event(event); msg.Option("_action", item.name); - cb = typeof input[item.cb] == "function" && input[item.cb] + var cbs = typeof input[item.cb] == "function" && input[item.cb] || typeof can[item.cb] == "function" && can[item.cb] || can.Check - cb(event, event.target, cb); + cbs(event, event.target, cb); }, }, Config.libs.concat(["plugin/"+type, "plugin/input/"+(item.figure||"")]), function(input) { var target = input.onimport.init(input, item, name, value, option); diff --git a/index.html b/page/index.html similarity index 90% rename from index.html rename to page/index.html index a3ad0527..3dd95fb5 100644 --- a/index.html +++ b/page/index.html @@ -9,8 +9,8 @@ + - diff --git a/index.js b/page/index.js similarity index 100% rename from index.js rename to page/index.js diff --git a/miss.svg b/page/miss.svg similarity index 100% rename from miss.svg rename to page/miss.svg diff --git a/share.html b/page/share.html similarity index 88% rename from share.html rename to page/share.html index 3be63007..fdf8c554 100644 --- a/share.html +++ b/page/share.html @@ -8,8 +8,8 @@ + - diff --git a/share.js b/page/share.js similarity index 100% rename from share.js rename to page/share.js diff --git a/plugin/mall/input.js b/plugin/local/mall/input.js similarity index 100% rename from plugin/mall/input.js rename to plugin/local/mall/input.js diff --git a/plugin/team/plan.css b/plugin/local/team/plan.css similarity index 100% rename from plugin/team/plan.css rename to plugin/local/team/plan.css diff --git a/plugin/team/plan.js b/plugin/local/team/plan.js similarity index 100% rename from plugin/team/plan.js rename to plugin/local/team/plan.js diff --git a/plugin/wiki/data.js b/plugin/local/wiki/data.js similarity index 100% rename from plugin/wiki/data.js rename to plugin/local/wiki/data.js diff --git a/plugin/wiki/draw.css b/plugin/local/wiki/draw.css similarity index 100% rename from plugin/wiki/draw.css rename to plugin/local/wiki/draw.css diff --git a/plugin/wiki/draw.js b/plugin/local/wiki/draw.js similarity index 99% rename from plugin/wiki/draw.js rename to plugin/local/wiki/draw.js index 6740a21d..10e775fb 100644 --- a/plugin/wiki/draw.js +++ b/plugin/local/wiki/draw.js @@ -126,7 +126,7 @@ Volcanos("onimport", {help: "导入数据", list: [], call(prefix.concat(list.list)) return can.keys = [], can.Status(event, can.keys, "keys") }, -}, ["/plugin/wiki/draw.css"]) +}, ["/plugin/local/wiki/draw.css"]) Volcanos("onfigure", {help: "图形绘制", list: [], _spawn: function(sup, can) {can.sup = sup}, _swell: function(can, sub) { @@ -483,7 +483,7 @@ Volcanos("onfigure", {help: "图形绘制", list: [], return value.tagName + ": (" + value.points.baseVal.value + ")" }, }, -}, Config.libs.concat(["/plugin/wiki/draw/heart"])) +}, Config.libs.concat(["/plugin/local/wiki/draw/heart"])) Volcanos("onaction", {help: "组件菜单", list: ["保存", "清空", "删除", "添加", ["group", "svg"], ["font-size", 12, 16, 18, 24, 32], diff --git a/plugin/wiki/draw/heart.js b/plugin/local/wiki/draw/heart.js similarity index 100% rename from plugin/wiki/draw/heart.js rename to plugin/local/wiki/draw/heart.js diff --git a/plugin/wiki/feel.js b/plugin/local/wiki/feel.js similarity index 100% rename from plugin/wiki/feel.js rename to plugin/local/wiki/feel.js diff --git a/plugin/wiki/walk.js b/plugin/local/wiki/walk.js similarity index 100% rename from plugin/wiki/walk.js rename to plugin/local/wiki/walk.js diff --git a/plugin/wiki/word.css b/plugin/local/wiki/word.css similarity index 100% rename from plugin/wiki/word.css rename to plugin/local/wiki/word.css diff --git a/plugin/wiki/word.js b/plugin/local/wiki/word.js similarity index 99% rename from plugin/wiki/word.js rename to plugin/local/wiki/word.js index e3c7dab0..432a9a87 100644 --- a/plugin/wiki/word.js +++ b/plugin/local/wiki/word.js @@ -34,7 +34,7 @@ Volcanos("onimport", {help: "导入数据", list: [], }) return typeof cb == "function" && cb(msg) }, -}, ["/plugin/wiki/word.css"]) +}, ["/plugin/local/wiki/word.css"]) Volcanos("onfigure", {help: "图形绘制", list: [], _spawn: function(sup, can) {can.sup = sup}, _swell: function(can, sub) {}, diff --git a/plugin/mall/image.js b/plugin/mall/image.js deleted file mode 100644 index b5018802..00000000 --- a/plugin/mall/image.js +++ /dev/null @@ -1,32 +0,0 @@ -Volcanos("onimport", {help: "导入数据", list: [], - init: function(can, msg, cb, output, option) {output.innerHTML = msg.Result(); - can.page.Append(can, output, [{type: "img", src: "data:image/jpg;base64,"+msg.image[0], onclick: function(event) { - var p = can.page.Append(can, output, [{view: ["what", "div"], dataset: {meta: ""+(event.offsetX+1)+","+(event.offsetY-30+1)+""}, style: { - background: "red", position: "absolute", width: "10px", height: "10px", - left: event.offsetX+1+"px", top: event.offsetY+30+1+"px", - }, onclick: function(event) { - p.parentNode.removeChild(p) - }}]).what - }}]) - }, -}) -Volcanos("onaction", {help: "组件交互", list: [], -}) -Volcanos("onchoice", {help: "组件菜单", list: ["提交"], - "提交": function(event, can, msg, key, target) { - can.run(event, ["check", can.page.Select(can, can.target, "div.what", function(item) {return item.dataset.meta}).join(",")], function(msg) { - can.user.toast(msg.result_message[0]) - }, true) - }, -}) -Volcanos("ondetail", {help: "组件详情", list: ["选择", "修改", "复制"], - "选择": "select", - "删除": "delete", - "复制": function(event, can, msg, cmd, target) { - can.user.toast(can.page.CopyText(can, svg.innerHTML), "复制成功") - }, -}) -Volcanos("onexport", {help: "导出数据", list: []}) - - - diff --git a/plugin/story/field.js b/plugin/story/field.js deleted file mode 100644 index 8944a37f..00000000 --- a/plugin/story/field.js +++ /dev/null @@ -1,4 +0,0 @@ -Volcanos("onimport", {help: "you", - init: function(event, can, value, cmd, target) {var data = target.dataset - }, -}) diff --git a/plugin/wiki/china.js b/plugin/wiki/china.js deleted file mode 100644 index 7cabe88e..00000000 --- a/plugin/wiki/china.js +++ /dev/null @@ -1,133 +0,0 @@ -Volcanos("onimport", {help: "导入数据", list: [], - init: function(can, msg, cb, output, action, option) {output.innerHTML = ""; - // can.page.Append(can, action, [{type: "script", src: "https://cdn.bootcss.com/echarts/4.2.0-rc.2/echarts.js"}]); - can.page.Append(can, output, [{include: ["/plugin/github.com/shylinux/echarts/echarts.js", function(event) { - can.page.Append(can, output, [{include: ["/plugin/github.com/shylinux/echarts/china.js", function(event) { - var china_chart = echarts.init(can.page.Append(can, output, [{type: "div", style: {width: "600px", height: "400px"}}]).last); - var data = msg.Table() - - var yData = []; - var barData = []; - for (var i = 0; i < (data.length>10? 10: data.length); i++) { - yData.push(i + data[i].name); - barData.push(data[i]); - } - - var option = { - title: [{ - text: msg.Option("title"), - show: true, right: 250, top: 10, - textStyle: {color: '#2D3E53', fontSize: 18}, - }], - tooltip: { - show: true, formatter: function(params) { - return params.name + "
" - + ' 确认病例:' + params.data['confirm'] + '人
' - + ' 死亡病例:' + params.data['dead'] + '人
' - }, - }, - visualMap: { - type: 'continuous', - orient: 'horizontal', - itemWidth: 10, - itemHeight: 80, - text: ['高', '低'], - showLabel: true, - seriesIndex: [0], - min: 0, - max: data[1].value, - inRange: { - color: ['#6FCF6A', '#FFFD64', '#FF5000'] - }, - textStyle: { - color: '#7B93A7' - }, - bottom: 30, - left: 'left', - }, - grid: {right: 10, top: 135, bottom: 100, width: '20%'}, - xAxis: {show: false}, - yAxis: { - type: 'category', - inverse: true, - nameGap: 16, - axisLine: {show: false, lineStyle: {color: '#ddd'}}, - axisTick: {show: false, lineStyle: {color: '#ddd'}}, - axisLabel: { - margin: 0, - interval: 0, - textStyle: {color: '#455A74', align: 'left', fontSize: 14}, - rich: { - a: { - color: '#fff', - backgroundColor: '#FAAA39', - width: 20, - height: 20, - align: 'center', - borderRadius: 2 - }, - b: { - color: '#fff', - backgroundColor: '#4197FD', - width: 20, - height: 20, - align: 'center', - borderRadius: 2 - } - }, - formatter: function(params) { - if (parseInt(params.slice(0, 1)) < 3) { - return [ - '{a|' + (parseInt(params.slice(0, 1)) + 1) + '}' + ' ' + params.slice(1) - ].join('\n') - } else { - return [ - '{b|' + (parseInt(params.slice(0, 1)) + 1) + '}' + ' ' + params.slice(1) - ].join('\n') - } - } - }, - data: yData - }, - geo: { - map: 'china', left: 'left', right: '100', - label: {emphasis: {show: false}}, - itemStyle: {emphasis: {areaColor: '#fff464'}}, - }, - series: [{ - roam: false, type: 'map', name: 'mapSer', - geoIndex: 0, label: {show: false}, - data: data - }, { - roam: false, type: 'bar', name: 'barSer', - visualMap: false, barGap: 0, barMaxWidth: 8, - zlevel: 100, itemStyle: { - normal: { - color: function(params) { - // build a color map as your need. - var colorList = [{colorStops: [ - {offset: 0, color: '#FFD119'}, // 0% 处的颜色 - {offset: 1, color: '#FFAC4C'}, // 100% 处的颜色 - ]}, {colorStops: [ - {offset: 0, color: '#00C0FA'}, // 0% 处的颜色 - {offset: 1, color: '#2F95FA'}, // 100% 处的颜色 - ]}]; - return params.dataIndex < 3? colorList[0]: colorList[1] - }, - barBorderRadius: 15 - } - }, - data: barData - }] - }; - china_chart.setOption(option); - }]}]); - }]}]); - }, -}) -Volcanos("onaction", {help: "组件交互", list: []}) -Volcanos("onchoice", {help: "组件菜单", list: []}) -Volcanos("ondetail", {help: "组件详情", list: []}) -Volcanos("onexport", {help: "导出数据", list: []}) - - diff --git a/plugin/wiki/image.js b/plugin/wiki/image.js deleted file mode 100644 index ec0f88e8..00000000 --- a/plugin/wiki/image.js +++ /dev/null @@ -1,12 +0,0 @@ -Volcanos("onimport", {help: "导入数据", list: [], - init: function(can, msg, cb, output, action, option) { - can.page.Appends(can, output, [{img: [window.URL.createObjectURL(new Blob(msg.result, {type: "image/png"}))]}]) - }, -}) -Volcanos("onaction", {help: "组件交互", list: []}) -Volcanos("onchoice", {help: "组件菜单", list: []}) -Volcanos("ondetail", {help: "组件详情", list: []}) -Volcanos("onexport", {help: "导出数据", list: []}) - - - diff --git a/plugin/wiki/inner.js b/plugin/wiki/inner.js deleted file mode 100644 index 6a8bc056..00000000 --- a/plugin/wiki/inner.js +++ /dev/null @@ -1,102 +0,0 @@ -Volcanos("onimport", {help: "导入数据", list: [], - init: function(can, msg, cb, output, action, option) {output.innerHTML = msg.Result(); - can.page.Select(can, output, "table", function(table) {can.page.OrderTable(can, table)}) - can.page.Select(can, output, ".story", function(story) {var data = story.dataset||{}; - story.oncontextmenu = function(event) {var detail = can.feature.detail || can.ondetail.list; - switch (data.type) { - case "shell": - detail = ["运行"] - } - - can.user.carte(event, shy("", can.ondetail, detail, function(event, cmd, meta) {var cb = meta[cmd]; - typeof cb == "function"? cb(event, can, msg, cmd, story): - can.run(event, ["story", typeof cb == "string"? cb: cmd, data.type, data.name, data.text], function(msg) { - - var timer = msg.Result()? can.user.toast(msg.Result()): can.user.toast({ - duration: -1, text: cmd, width: 800, height: 400, - list: [{type: "table", list: [{row: msg.append, sub: "th"}].concat(msg.Table(function(line, index) { - return {row: can.core.List(msg.append, function(key) {return msg[key][index]})} - }))}, {button: ["关闭", function(event) {timer.stop = true}]}], - }) - }, true) - })) - } - }) - can.page.Select(can, output, "div.stack", function(stack) {var data = stack.dataset||{}; - function fold(stack) { - stack.nextSibling && (stack.nextSibling.style.display = "none") - can.page.Select(can, stack, "span.state", function(state) { - if (state.innerText == "o") {return} - can.page.ClassList.add(can, stack, "fold") - can.page.ClassList.del(can, stack, "span") - state.innerText = ">" - }) - } - function span(stack) { - stack.nextSibling && (stack.nextSibling.style.display = "") - can.page.Select(can, stack, "span.state", function(state) { - if (state.innerText == "o") {return} - can.page.ClassList.add(can, stack, "span") - can.page.ClassList.del(can, stack, "fold") - state.innerText = "v" - }) - } - function mark(stack, color) { - stack.style.background = color; - stack.style.color = color == ""? "": "white"; - } - - stack.oncontextmenu = function(event) {var detail = can.feature.detail || can.ondetail.list, target = event.target; - can.user.carte(event, shy("", can.ondetail, ["全部折叠", "全部展开", "标记颜色", "清除颜色", "red", "green", "blue"], function(event, cmd, meta) {var cb = meta[cmd]; - switch (cmd) { - case "red": - case "green": - case "blue": - mark(target, cmd) - break - case "标记颜色": - can.user.prompt("请输入颜色:", function(color) { - mark(target, color) - }) - break - case "清除颜色": - mark(target, "") - break - case "全部折叠": - fold(stack), can.page.Select(can, stack.nextSibling, "div.stack", fold) - break - case "全部展开": - span(stack), can.page.Select(can, stack.nextSibling, "div.stack", span) - break - } - })) - } - stack.onclick = function(event) {stack.nextSibling && (stack.nextSibling.style.display == "none"? span(stack): fold(stack))} - }) - }, - favor: function(event, can, msg, cmd, output) {var key = msg.detail[0]; - var cb = can.onaction[key]; if (typeof cb == "function") {cb(event, can, msg, cmd, output); return msg.Echo(can._name, " onaction ", key), msg._hand = true} - var cb = can.onchoice[key]; if (typeof cb == "function") {cb(event, can, msg, cmd, output); return msg.Echo(can._name, " onchoice ", key), msg._hand = true} - }, -}) -Volcanos("onaction", {help: "组件交互", list: []}) -Volcanos("onchoice", {help: "组件菜单", list: ["返回", "清空", "复制", "下载", "表格", "绘图", "媒体"], - "返回": function(event, can, msg, key, target) { - can.run(event, ["", "Last"]) - }, - "清空": function(event, can, msg, key, target) { - can.target.innerHTML = ""; - }, - "复制": function(event, can, msg, key, target) { - var list = can.onexport.Format(can, msg, "data"); - can.user.toast(can.page.CopyText(can, list[2]), "复制成功") - }, - "下载": function(event, can, msg, key, target) { - var list = can.onexport.Format(can, msg, msg._plugin_name||"data"); - can.page.Download(can, list[0]+list[1], list[2]); - }, -}) -Volcanos("ondetail", {help: "组件详情", list: []}) -Volcanos("onexport", {help: "导出数据", list: []}) - - diff --git a/plugin/wiki/media.js b/plugin/wiki/media.js deleted file mode 100644 index 20c94c99..00000000 --- a/plugin/wiki/media.js +++ /dev/null @@ -1,17 +0,0 @@ -Volcanos("onimport", {help: "导入数据", list: [], - _init: function(can, output, action, option, field) { - output.innerHTML = msg.Result(); - }, - init: function(can, msg, cb, output, action, option) {output.innerHTML = msg.Result(); - }, - favor: function(event, can, msg, cmd, output) {var key = msg.detail[0]; - var cb = can.onaction[key]; if (typeof cb == "function") {cb(event, can, msg, cmd, output); return msg.Echo(can._name, " onaction ", key), msg._hand = true} - var cb = can.onchoice[key]; if (typeof cb == "function") {cb(event, can, msg, cmd, output); return msg.Echo(can._name, " onchoice ", key), msg._hand = true} - }, -}) -Volcanos("onaction", {help: "组件交互", list: []}) -Volcanos("onchoice", {help: "组件菜单", list: []}) -Volcanos("ondetail", {help: "组件详情", list: []}) -Volcanos("onexport", {help: "导出数据", list: []}) - -