From 587596b6768a5ebf59a045ded4cebc20ea80902c Mon Sep 17 00:00:00 2001 From: harveyshao Date: Fri, 20 Aug 2021 22:03:39 +0800 Subject: [PATCH] opt chat.div --- frame.js | 2 +- plugin/local/chat/div.js | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 plugin/local/chat/div.js diff --git a/frame.js b/frame.js index c12cd1f5..833734ea 100644 --- a/frame.js +++ b/frame.js @@ -200,7 +200,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }; can.core.Next(can.base.Obj(meta.inputs, []), add) }, _action: function(can, list, action, meta) { action = action || can._action, meta = meta || can.onaction - can.core.List(list, function(item) { can.onappend.input(can, item == ""? /*空白*/ {type: "space"}: + can.core.List(list||can.onaction.list, function(item) { can.onappend.input(can, item == ""? /*空白*/ {type: "space"}: typeof item == "string"? /*按键*/ {type: html.BUTTON, value: item, onclick: function(event) { var cb = meta[item]||meta["_engine"] cb? can.core.CallFunc(cb, {event: event, can: can, button: item}): can.run(event, [ctx.ACTION,item].concat(can.sup.Input())) diff --git a/plugin/local/chat/div.js b/plugin/local/chat/div.js new file mode 100644 index 00000000..3fe943a5 --- /dev/null +++ b/plugin/local/chat/div.js @@ -0,0 +1,35 @@ +Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { + var meta = {}; msg.Table(function(value) { meta[value.key] = value.value }) + can._meta = can.base.Obj(meta.text, {meta: {name: meta.name}, list: []}) + can.base.isFunc(cb) && cb(msg) + + can.ui = can.page.Appends(can, target, [{type: "table", list: [{type: "tr", list: [ + {type: "td", list: [{view: "project"}]}, + {type: "td", list: [{view: "display"}]}, + {type: "td", list: [{view: "profile"}]}, + ]}]}]), can.onimport._item(can, can._meta, can.ui.project).click() + +}, _item: function(can, node, target) { + 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) }) + var msg = can.request({}); msg.Push(node.meta) + ui.item.onclick = function(event) { + can.onmotion.select(can, can.ui.project, "div.item", ui.item) + can.current = ui.item + can.onmotion.clear(can, can.ui.profile) + can.onappend.table(can, msg, null, can.ui.profile) + } + ui.item._add = function(data) { + node.list.push(data) + can.onimport._item(can, data, ui.list) + } + return ui.item +}}) +Volcanos("onaction", {help: "操作数据", list: ["添加"], + "添加": function(event, can) { + can.user.input(event, can, ["name"], function(event, button, data, list, args) { + can.current._add({meta: data, list: []}) + }) + }, +}) +Volcanos("onexport", {help: "导出数据", list: []})