forked from x/volcanos
add box-shadow
This commit is contained in:
parent
17d11c16bf
commit
d635e6f696
6
frame.js
6
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) {
|
||||
|
30
index.css
30
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 {
|
||||
|
86
lib/page.js
86
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")) {
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
7
proto.js
7
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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user