diff --git a/frame.js b/frame.js index f38662f4..48956408 100644 --- a/frame.js +++ b/frame.js @@ -519,7 +519,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, return target }, table: function(can, target, type, msg, cb) { - var table = can.page.AppendTables(can, target, msg, msg.append, cb || function(value, key, index, line) { + var table = can.page.AppendTable(can, target, msg, msg.append, cb || function(value, key, index, line) { function run(event, item, value) { var msg = can.request(event) msg.Option(can.Option()), msg.Option(line) @@ -584,8 +584,8 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }) return table }, - board: function(can, target, type, msg) { - msg.result && can.page.AppendBoard(can, target, can.page.Display(msg.Result())) + board: function(can, target, type, msg, text) { text = text || can.page.Display(msg.Result()) + return text && can.page.Append(can, target, [{view: ["code", "div", text]}]).code }, }, [], function(can) {}) Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, meta, list, cb, target) { diff --git a/index.css b/index.css index c18e6ae2..246d06f3 100644 --- a/index.css +++ b/index.css @@ -261,6 +261,7 @@ body.white input[type=text] { border-radius:8px 8px 8px 8px; background-color:white; color:black; + box-shadow: 4px 4px 10px 1px #626bd0; } body.white input[type=text]:hover { background-color:cyan; @@ -271,6 +272,7 @@ body.white input[type=button] { border:2px solid #FF9900; background-color:#FF9900; color:white; + box-shadow: 4px 4px 10px 1px #626bd0; } body.white input[type=button]:hover { border-radius:10px 10px 10px 10px; @@ -352,20 +354,20 @@ body.white fieldset.Action { border-top:0; } body.white fieldset.Action fieldset.plugin { - border:0; - border-top:solid 2px #CCCCFF; - background-color:white; - color:black; + color:black; background-color:white; + border:0; border-top:solid 2px #CCCCFF; + box-shadow: 4px 4px 10px 4px #626bd0; + margin:8px 8px; } body.white fieldset.Action fieldset.plugin:hover { border-top:solid 2px #6666FF; } body.white fieldset.Action fieldset.plugin legend { - padding:2px 20px; + font-size:16px; font-family:monospace; + color:white; background-color:#339999; + padding:2px 20px; border:2px solid #99CCFF; border-radius:10px 10px 10px 10px; - border:2px solid #99CCFF; - background-color:#339999; - color:white; + box-shadow: 4px 4px 20px 4px #626bd0; } body.white fieldset.Action fieldset.plugin legend:hover { background-color:#6ee4e4; @@ -377,27 +379,25 @@ body.white fieldset.Action fieldset.plugin div.item input[type=button] { letter-spacing:4px; } body.white fieldset.plugin table { - background:#9fb5bb; border:0; + color:black; background-color:white; + box-shadow: 4px 4px 10px 1px #626bd0; } body.white fieldset.plugin table tr { - background-color:gray; + background-color:#e1f1ff; } body.white fieldset.plugin table tr:hover { - background-color:gray; + background-color:#99CCFF; } body.white fieldset.plugin table th { padding:4px; background-color:#99CCFF; - color:black; } body.white fieldset.plugin table td { padding:4px; - background-color:white; - color:black; } body.white fieldset.plugin table td:hover { - background-color:lightgray; + background-color:#98ecd4; } fieldset.command>form.option>div.item input.args { diff --git a/lib/page.js b/lib/page.js index 765923ec..24e1e196 100644 --- a/lib/page.js +++ b/lib/page.js @@ -23,9 +23,6 @@ var page = Volcanos("page", {help: "网页模块", Select: shy("选择节点", function(can, obj, key, cb, interval, cbs) {if (key == ".") {return []} var item = obj && obj.querySelectorAll(key); - // can.core.List(key, function(key) { - // item = item.concat(obj.querySelectorAll(key)); - // }) return can.core.List(item, cb, interval, cbs); }), Modify: shy("修改节点", function(can, target, value) { @@ -189,75 +186,7 @@ var page = Volcanos("page", {help: "网页模块", return hide }, - AppendItem: shy("添加插件", function(can, target, list, click, cb, cbs) { - can.core.List(list, function(line, index) { - var item = can.page.Append(can, target, [{view: ["item k"+line.key], list: [{text: [line.nick||line.name||line.key]}], click: function(event) { - typeof cb == "function" && cb(event, line, item) - can.page.Select(can, target, "div.item.select", function(item) { - can.page.ClassList.del(can, item, "select") - }) - can.page.ClassList.add(can, item, "select") - }, data: {oncontextmenu: function(event) { - can.user.carte(event, shy("", can.ondetail, can.ondetail.list, function(event, key, meta) {var cb = meta[key]; - typeof cb == "function"? cb(event, can, line, line.key, key, item): - can.run(event, [typeof cb == "string"? cb: key, item], null, true) - })) - - event.stopPropagation() - event.preventDefault() - }}}]).first - }) - - if (click === false) {return} - if (click != "") { - var list = can.page.Select(can, target, "div.item.k"+click) - if (list.length>0) {list[0].click(); return} - } - can.page.Select(can, target, "div.item", function(item, index) { - index == 0 && item.click() - }) - }), - AppendField: shy("添加插件", function(can, target, type, item) { - typeof item.help == "string" && item.help.startsWith("[") && (item.help = JSON.parse(item.help)) - - var dataset = {}; item && item.name && (dataset.names = item.name); - var field = can.page.Append(can, target, [{view: [type, "fieldset"], list: [ - item.pos? undefined: {text: [(item.nick||item.name||"")+"("+((typeof item.help == "string"? item.help: item.help.length > 0 && item.help[0])||"")+")", "legend"]}, - {view: ["option", "form"], dataset: dataset, list: []}, - {view: ["action"]}, {view: ["output"]}, {view: ["status"]}, - ]}]).first; - return field.Meta = item, field; - }), - AppendBoard: shy("添加控件", function(can, target, inner) { - return can.page.Append(can, target, [{view: ["code", "div", inner]}]).code; - }), - AppendTable: shy("添加表格", function(can, target, msg, list, cb, cbs) { - if (!msg.append || msg.append.length == 0) {return} - - var table = can.page.Append(can, target, "table"); - var tr = can.page.Append(can, table, "tr", {dataset: {index: -1}}); - can.core.List(list, function(key, index) {if (key.indexOf("_") == 0) {return} - can.page.Append(can, tr, "th", key.trim()).onclick = function(event) { - var dataset = event.target.dataset; - dataset["sort_asc"] = (dataset["sort_asc"] == "1") ? 0: 1; - can.page.RangeTable(can, table, index, dataset["sort_asc"] == "1"); - } - }); - - can.page.Append(can, table, can.core.List(msg.Table(), function(line, index) { - return {type: "tr", dataset: {index: index}, list: can.core.List(list, function(key) {if (key.indexOf("_") == 0) {return} - var cbcb, cbcbs; - typeof cb == "function" && (cbcb = function(event) {cb(event, line[key], key, index, event.target.parentNode, event.target)}); - typeof cbs == "function" && (cbcbs = function(event) { - cbs(event, line[key], key, index, event.target.parentNode, event.target); - event.stopPropagation(), event.preventDefault(); - }); - return {type: "td", inner: can.page.Display(line[key]).trim(), click: cbcb, oncontextmenu: cbcbs}; - })} - })) - return table; - }), - AppendTables: shy("添加表格", function(can, target, msg, list, cb) { + AppendTable: shy("添加表格", function(can, target, msg, list, cb) { if (!msg.append || msg.append.length == 0) {return} var table = can.page.Append(can, target, "table"); @@ -328,14 +257,6 @@ var page = Volcanos("page", {help: "网页模块", }) }, - AppendFigure: shy("添加控件", function(event, can, cmd, name) {if (can.figure) {return} - return can.figure = can.page.Append(can, document.body, [{view: ["input "+cmd+" "+name, "fieldset"], style: { - position: "absolute", left: event.clientX+"px", top: event.clientY+10+"px", - }, list: [{text: [name||cmd, "legend"]}, {view: ["action"]}, {view: ["output"]}], onmouseleave: function(event) { - if (can.figure.stick) {return} - can.page.Remove(can, can.figure.first); delete(can.figure); - }}]) - }), AppendAction: shy("添加控件", function(can, action, list, cb) { return can.page.Append(can, action, can.core.List(list, function(line) { return ["br", "hr"].indexOf(line.type) > -1? line: {view: "item", list: [typeof line == "string"? {button: [line, cb]}: line.length > 0? {select: [line, cb]}: @@ -346,11 +267,6 @@ var page = Volcanos("page", {help: "网页模块", }]}: line]} })) }), - AppendStatus: shy("添加控件", function(can, status, list, meta) {meta = meta || {} - can.page.Append(can, status, can.core.List(list, function(line) { - return {view: "item " + line, list: [{text: [line+": ", "span", meta[line]? "": "hidden"]}, {text: [meta[line]||"", "span", line]}]} - })) - }), Display: function(text) { if (text.startsWith("http")) { diff --git a/pane/River.js b/pane/River.js index 9458bd61..a616c4c0 100644 --- a/pane/River.js +++ b/pane/River.js @@ -1,3 +1,4 @@ +const RIVER = "river", STORM = "storm" Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta, list, cb, target) { can.sublist = {} }, @@ -90,7 +91,7 @@ Volcanos("onaction", {help: "控件交互", list: ["创建", "刷新"], _init: f can.onaction.create(can) }, "刷新": function(event, can) { - can.user.Search(can, {"river": can.Conf("river")}) + can.user.Search(can, {river: can.Conf(RIVER), storm: can.Conf(STORM)}) }, }) Volcanos("ondetail", {help: "菜单交互", list: ["添加应用", "添加设备", "添加用户", "重命名", "共享", "删除"], _init: function(can, msg, list, cb, target) { diff --git a/plugin/local/wiki/draw.js b/plugin/local/wiki/draw.js index 6204da65..95fe00d5 100644 --- a/plugin/local/wiki/draw.js +++ b/plugin/local/wiki/draw.js @@ -14,7 +14,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.current = null // 加载绘图 - var code = can.page.AppendBoard(can, can.ui.content, msg.Result()||can.onexport.content(can)) + var code = can.onappend.board(can, can.ui.content, "board", msg, msg.Result()||can.onexport.content(can)) can.page.Select(can, can.ui.content, "svg", function(svg) { can.svg = can.group = svg can.onimport.block(can, svg), can.onimport.group(can, svg).click() can.page.Select(can, svg, "*", function(item, index) { diff --git a/plugin/local/wiki/word.css b/plugin/local/wiki/word.css index 4b80702d..dbda739e 100644 --- a/plugin/local/wiki/word.css +++ b/plugin/local/wiki/word.css @@ -8,10 +8,12 @@ fieldset div.story[data-name=shell] { padding:4px; border-left:solid 4px blue; background-color:#c2daef; + box-shadow: 4px 4px 10px 1px #626bd0; } fieldset div.story[data-name=shell] span:hover { background-color:white; cursor:copy; + box-shadow: 4px 4px 10px 1px #626bd0; } fieldset div.story[data-name=mysql] { padding:4px; @@ -40,6 +42,17 @@ fieldset p.story[data-name=inner]:hover { cursor:copy; } +fieldset fieldset.story { + margin:10px; clear:both; float:left; + border:0; + box-shadow: 4px 4px 10px 1px #626bd0; +} +fieldset fieldset.story div.output{ + padding:10px +} +fieldset fieldset.story:hover { + /* border:solid 1px red; */ +} fieldset li.H2 { font-weight:bold; @@ -65,12 +78,6 @@ fieldset br.story { fieldset svg.story { display:block; float:left; } -fieldset fieldset.story { - margin:10px; clear:both; float:left; -} -fieldset fieldset.story:hover { - border:solid 1px red; -} fieldset code.story { display:block; border:solid 3px green; color:white; background-color:#272822; diff --git a/proto.js b/proto.js index 41052511..a2ed0639 100644 --- a/proto.js +++ b/proto.js @@ -10,10 +10,9 @@ function shy(help, meta, list, cb) { cb.meta = next("object") || {} cb.list = next("object") || [] return cb -} -var _can_name = "" -var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, debug: { -}, libs: [], pack: {}}, [], function(name, can, libs, cb) { var meta = arguments.callee.meta, list = arguments.callee.list +}; var _can_name = "" +var Volcanos = shy("火山架", {cache: {}, index: 1, order: 1, pack: {}, libs: []}, [], function(name, can, libs, cb) { + var meta = arguments.callee.meta, list = arguments.callee.list if (typeof name == "object") { var Config = name meta.volcano = Config.volcano, meta.libs = Config.libs var Preload = Config.libs; Config.panes.forEach(function(pane) {