1
0
forked from x/volcanos

opt chat.div

This commit is contained in:
harveyshao 2021-08-22 06:47:17 +08:00
parent cd011e7887
commit d63400810b
3 changed files with 90 additions and 34 deletions

View File

@ -293,8 +293,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
}); return node }); return node
}, },
field: function(can, type, item, target) { type = type || html.INPUT, item = item || {} field: function(can, type, item, target) { type = type || html.INPUT, item = item || {}
var name = (item.nick||item.name||"").split(" ")[0]
return can.page.Append(can, target||can._output, [{view: [(type||"")+" "+(item.name||"")+" "+(item.pos||""), "fieldset"], list: [ return can.page.Append(can, target||can._output, [{view: [(type||"")+" "+(item.name||"")+" "+(item.pos||""), "fieldset"], list: [
{text: [(item.nick||item.name||"").split(" ")[0]+"("+(item.help||"").split(" ")[0]+")", html.LEGEND]}, name && {text: [name+"("+(item.help||"").split(" ")[0]+")", html.LEGEND]},
{view: ["option", "form"]}, {view: ["action"]}, {view: ["output"]}, {view: ["status"]}, {view: ["option", "form"]}, {view: ["action"]}, {view: ["output"]}, {view: ["status"]},
]}]) ]}])
}, },

View File

@ -1,3 +1,25 @@
fieldset.div div.output td { fieldset.div div.output td {
vertical-align:top; vertical-align:top;
} }
fieldset.div div.output fieldset.left>fieldset {
float:left; overflow:auto;
}
fieldset.panel.cmd.main fieldset.div {
padding:0;
margin:0;
}
fieldset.panel.cmd.main fieldset.div>legend {
display: none;
}
fieldset.panel.cmd.main fieldset.div>form.option {
display: none;
}
fieldset.panel.cmd.main fieldset.div>div.action {
display: none;
}
fieldset.panel.cmd.main fieldset.div div.project {
display: none;
}
fieldset.panel.cmd.main fieldset.div div.profile {
display: none;
}

View File

@ -7,40 +7,73 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
{type: "td", list: [{view: "project"}]}, {type: "td", list: [{view: "project"}]},
{type: "td", list: [{view: "display"}]}, {type: "td", list: [{view: "display"}]},
{type: "td", list: [{view: "profile"}]}, {type: "td", list: [{view: "profile"}]},
]}]}]) ]}] }])
can.ui.project._fieldset = can.onimport._field(can, can.ui.display, can._meta.meta)
can.onimport._item(can, can._meta, can.ui.project).click()
}, _field: function(can, target, meta) { can.ui.project._fieldset = can.ui.display
return can.page.Append(can, target, [{type: "fieldset", style: {width: meta.width||200, height: meta.height||200}}]).first can.onimport._item(can, can._meta, can.ui.project).click()
},_item: function(can, node, target) { if (location.pathname.indexOf("/chat/cmd") == 0) {
}
},
_field: function(can, meta, target) {
var field = can.onappend.field(can, "layout", {width: meta.width, height: meta.height}, target).fieldset
can.page.Modify(can, field, {style: can.base.Copy({}, meta, "width", "height")})
can.page.ClassList.add(can, field, meta.style)
meta.index && can.run(event, [ctx.ACTION, ctx.COMMAND, meta.index], function(msg) {
can.onappend._init(can, {
feature: can.base.Obj(msg.Append("meta")),
inputs: can.base.Obj(msg.Append("list")),
width: meta.width, height: meta.height,
args: meta.args,
}, ["/plugin/state.js"], function(sub) {
can.page.Modify(can, sub._output, {style: {width: meta.width}})
sub.run = function(event, cmds, cb) {
can.run(event, [ctx.ACTION, cli.RUN, meta.index].concat(cmds), cb, true)
}
}, target, field)
}, true)
return field
},
_item: function(can, node, target) {
var ui = can.page.Append(can, target, [{view: ["item", "div", node.meta.name]}, {view: ["list"]}]) var ui = can.page.Append(can, target, [{view: ["item", "div", node.meta.name]}, {view: ["list"]}])
can.core.List(node.list, function(node) { can.onimport._item(can, node, ui.list) }) ui.list._fieldset = can.onimport._field(can, node.meta, target._fieldset)
var msg = can.request({}); msg.Push(node.meta, "", true) var msg = can.request({}); msg.Push(node.meta, "", true)
ui.item.onclick = function(event) { ui.item.onclick = function(event) {
can.onmotion.select(can, can.ui.project, "div.item", ui.item) can.onmotion.select(can, can.ui.project, "div.item", ui.item)
can.current = ui.item can.current = ui.item, can.onmotion.clear(can, can.ui.profile)
can.onmotion.clear(can, can.ui.profile) can.onappend.table(can, msg, function(value, key, index, line, array) {
can.onappend.table(can, msg, null, can.ui.profile) return {text: [value, "td"], ondblclick: function(event) {
can.onmotion.modifys(can, event.target, function(event, value, old) {
node.meta[key == "value"? line.key: key] = value
})
}}
}, can.ui.profile)
} }
ui.list._fieldset = can.onimport._field(can, target._fieldset, node.meta)
ui.item._add = function(data) { ui.item._add = function(data) {
node.list.push(data) node.list.push(data)
can.onimport._item(can, data, ui.list) can.onimport._item(can, data, ui.list)
} }
can.core.List(node.list, function(node) { can.onimport._item(can, node, ui.list) })
return ui.item return ui.item
}}, ["/plugin/local/chat/div.css"]) },
Volcanos("onaction", {help: "操作数据", list: ["添加", "保存"], }, ["/plugin/local/chat/div.css"])
Volcanos("onaction", {help: "操作数据", list: [],
"添加": function(event, can) { "添加": function(event, can) {
can.user.input(event, can, ["name", "index", "args", "width", "height"], function(event, button, data, list, args) { can.user.input(event, can, ["name", "index", "args", "width", "height", "style"], function(event, button, data, list, args) {
can.current._add({meta: data, list: []}) can.current._add({meta: data, list: []})
}) })
}, },
"保存": function(event, can) { "保存": function(event, can) { var msg = can.request(event, can.Option())
var msg = can.request(event, can.Option())
can.run(event, ["modify", "text", JSON.stringify(can._meta)], function(msg) { can.run(event, ["modify", "text", JSON.stringify(can._meta)], function(msg) {
can.user.toast(can, "保存成功") can.user.toast(can, "保存成功")
}, true) }, true)
}, },
"预览": function(event, can) {
can.page.Modify(can, can.ui.display, {style: {
position: "fixed", left: 0, top: 0, "z-index": 10, "background": "gray",
width: window.innerWidth, height: window.innerHeight,
}})
},
}) })
Volcanos("onexport", {help: "导出数据", list: []}) Volcanos("onexport", {help: "导出数据", list: []})