1
0
forked from x/volcanos

add box-shadow

This commit is contained in:
shylinux 2020-08-25 10:14:25 +08:00
parent 17d11c16bf
commit d635e6f696
7 changed files with 38 additions and 115 deletions

View File

@ -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) {

View File

@ -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 {

View File

@ -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")) {

View File

@ -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) {

View File

@ -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) {

View File

@ -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;

View File

@ -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) {