1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-26 01:04:06 +08:00
This commit is contained in:
shylinux 2021-06-05 10:32:48 +08:00
parent 6977c2c109
commit 3463a8f378
6 changed files with 26 additions and 22 deletions

View File

@ -229,8 +229,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
can._daemon == undefined && (can._daemon = can.ondaemon._list.push(can)-1), msg._daemon = msg._daemon||can._daemon can._daemon == undefined && (can._daemon = can.ondaemon._list.push(can)-1), msg._daemon = msg._daemon||can._daemon
return can.run(event, cmds, function(msg) { var sub = can.core.Value(can, "_outputs.-1")||{}; can._msg = msg, sub._msg = msg return can.run(event, cmds, function(msg) { var sub = can.core.Value(can, "_outputs.-1")||{}; can._msg = msg, sub._msg = msg
if (msg._can == can && can.core.CallFunc([sub, "onimport._process"], [sub, msg, cmds, cb])) { return } var process = msg._can == can || msg._can == sub
if (msg._can == can && can.core.CallFunc([can, "onimport._process"], [can, msg, cmds, cb])) { return } if (process && can.core.CallFunc([sub, "onimport._process"], [sub, msg, cmds, cb])) { return }
if (process && can.core.CallFunc([can, "onimport._process"], [can, msg, cmds, cb])) { return }
if (can.base.isFunc(cb) && can.core.CallFunc(cb, {can: can, msg: msg})) { return } if (can.base.isFunc(cb) && can.core.CallFunc(cb, {can: can, msg: msg})) { return }
if (silent) { return } if (silent) { return }
@ -248,6 +249,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
return can.onappend._output(can, meta, event, can.Pack(cmds, silent), cb, silent) return can.onappend._output(can, meta, event, can.Pack(cmds, silent), cb, silent)
}, can._outputs.push(table), table._msg = msg }, can._outputs.push(table), table._msg = msg
table._display = display
table.onimport && table.onimport._init && table.onimport._init(table, msg, msg.result||[], function(msg) { table.onimport && table.onimport._init && table.onimport._init(table, msg, msg.result||[], function(msg) {
can.page.Modify(can, can._action, ""), can.page.Modify(can, can._status, "") can.page.Modify(can, can._action, ""), can.page.Modify(can, can._status, "")
table.onaction && table.onappend._action(table, can.base.Obj(msg.Option("_action"), meta._action||table.onaction.list)) table.onaction && table.onappend._action(table, can.base.Obj(msg.Option("_action"), meta._action||table.onaction.list))
@ -370,6 +372,11 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
code && code.scrollBy(0, 10000) code && code.scrollBy(0, 10000)
return code return code
}, },
style: function(can, cb) {
can.require([can._display.replace(/.js$/, ".css")], function() {
can.base.isFunc(cb) && cb()
})
},
figure: function(can, meta, key, cb, target) { figure: function(can, meta, key, cb, target) {
if (!key || key[0] != "@") { return } if (!key || key[0] != "@") { return }

View File

@ -168,7 +168,7 @@ Volcanos("user", {help: "用户操作", agent: {
var msg = can.request(event, can.Option()) var msg = can.request(event, can.Option())
var ui = can.page.Append(can, document.body, [{view: ["input"], style: {left: 0, top: 0}, list: [ var ui = can.page.Append(can, document.body, [{view: ["input"], style: {left: 0, top: 0}, list: [
{view: ["option", "table"], list: can.core.List(form, function(item) { {view: ["option", "table"], list: can.core.List(form, function(item) {
(item._input == "select"||item.values) && (item = {select: [[item.name].concat(item.values)], data: item, name: item.name}) (item._input == "select"||item.values) && (item = {select: [[item.name].concat(item.values)], data: item, name: item.name, _trans: item._trans})
item = typeof item == "string"? {input: item, name: item}: item.length > 0? {select: [item], name: item[0]}: item item = typeof item == "string"? {input: item, name: item}: item.length > 0? {select: [item], name: item[0]}: item
item.type = item.type||"input", item.type == "input" && (item.data=item.data||{}, item.data.type = item.data.type||"text") item.type = item.type||"input", item.type == "input" && (item.data=item.data||{}, item.data.type = item.data.type||"text")
@ -185,7 +185,7 @@ Volcanos("user", {help: "用户操作", agent: {
target.value = target.value || msg.Option(item.name) target.value = target.value || msg.Option(item.name)
} }
return {type: "tr", list: [{type: "td", list: [{text: can.user.trans(can, item.name)||""}]}, {type: "td", list: [item]} ]} return {type: "tr", list: [{type: "td", list: [{text: item._trans||can.user.trans(can, item.name)||""}]}, {type: "td", list: [item]} ]}
})}, })},
{view: "action"}, {view: "action"},
]}]); can.onlayout.figure(event, can, ui._target) ]}]); can.onlayout.figure(event, can, ui._target)
@ -197,6 +197,7 @@ Volcanos("user", {help: "用户操作", agent: {
list = can.page.Select(can, ui.table, "textarea,input,select", function(item) { list = can.page.Select(can, ui.table, "textarea,input,select", function(item) {
return item.name && item.value && args.push(item.name, item.value), data[item.name] = item.value return item.name && item.value && args.push(item.name, item.value), data[item.name] = item.value
}) })
var msg = can.request(event, {_handle: "true"})
can.base.isFunc(cb) && !cb(event, button, data, list, args) && action.cancel() can.base.isFunc(cb) && !cb(event, button, data, list, args) && action.cancel()
}, _target: ui._target, }, _target: ui._target,
}) })

View File

@ -71,10 +71,7 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg,
can.base.isFunc(cb) && cb() can.base.isFunc(cb) && cb()
}, },
_const: ["title", "river", "storm", "action"], _const: ["title", "river", "storm", "action"],
_trans: { _trans: {create: "创建", refresh: "刷新"},
create: "创建", refresh: "刷新",
"public": "公开群", "protected": "内部群", "private": "私有群",
},
onlogin: function(can, msg) { onlogin: function(can, msg) {
can.onappend._action(can, can.Conf("action")||can.onaction.list) can.onappend._action(can, can.Conf("action")||can.onaction.list)
can.run({}, [], function(msg) { can.onimport._init(can, msg, [], null, can._output) }) can.run({}, [], function(msg) { can.onimport._init(can, msg, [], null, can._output) })
@ -122,10 +119,10 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg,
}, },
create: function(event, can) { create: function(event, can) {
can.user.trans(can, {type: "类型", name: "群名", text: "简介"}) can.user.trans(can, {"public": "公开群", "protected": "内部群", "private": "私有群"})
can.user.input(event, can, [ can.user.input(event, can, [
{name: "type", values: ["public", "protected", "private"]}, {name: "type", values: ["public", "protected", "private"], _trans: "类型"},
{name: "name", value: "hi"}, {type: "textarea", name: "text", value: "hello"}, {name: "name", value: "hi", _trans: "群名"}, {type: "textarea", name: "text", value: "hello", _trans: "简介"},
], function(event, button, meta, list, args) { ], function(event, button, meta, list, args) {
can.run(event, [can._ACTION, "create"].concat(args), function(msg) { can.run(event, [can._ACTION, "create"].concat(args), function(msg) {
can.user.Search(can, {river: msg.Result()}) can.user.Search(can, {river: msg.Result()})
@ -145,7 +142,7 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
"共享群组": function(event, can, button, river) { "共享群组": function(event, can, button, river) {
can.user.input(event, can, [ can.user.input(event, can, [
{name: "name", value: river}, {name: "name", value: river, _trans: "标题"},
], function(event, button, meta, list) { ], function(event, button, meta, list) {
can.user.share(can, can.request(event), [river, can._ACTION, "share", "type", can._RIVER, "name", meta.name]) can.user.share(can, can.request(event), [river, can._ACTION, "share", "type", can._RIVER, "name", meta.name])
}) })
@ -165,10 +162,10 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
}) })
}, },
"添加应用": function(event, can, button, river) { "添加应用": function(event, can, button, river) {
can.user.trans(can, {type: "类型", name: "名称", text: "简介"}) can.user.trans(can, {"public": "公开应用", "protected": "群组应用", "private": "个人应用"})
can.user.input(event, can, [ can.user.input(event, can, [
{name: "type", values: ["public", "protected", "private"]}, {name: "type", values: ["public", "protected", "private"], _trans: "类型"},
{name: "name", value: "hi"}, {name: "text", value: "hello"}, {name: "name", value: "hi", _trans: "名称"}, {type: "textarea", name: "text", value: "hello", _trans: "简介"},
], function(event, button, meta, list, args) { ], function(event, button, meta, list, args) {
can.run({}, [river, "tool", can._ACTION, "create"].concat(args), function(msg) { can.run({}, [river, "tool", can._ACTION, "create"].concat(args), function(msg) {
can.user.Search(can, {river: river, storm: msg.Result()}) can.user.Search(can, {river: river, storm: msg.Result()})
@ -191,7 +188,7 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
"共享应用": function(event, can, button, river, storm) { "共享应用": function(event, can, button, river, storm) {
can.user.input(event, can, [ can.user.input(event, can, [
{name: "name", value: storm}, {name: "name", value: storm, _trans: "标题"},
], function(event, button, meta, list) { ], function(event, button, meta, list) {
var msg = can.request(event) var msg = can.request(event)
can.user.share(can, msg, [river, can._ACTION, "share", "type", can._STORM, "name", meta.name, can.user.share(can, msg, [river, can._ACTION, "share", "type", can._STORM, "name", meta.name,

View File

@ -11,9 +11,9 @@ Volcanos("onfigure", {help: "控件详情", list: [], date: {onclick: function(e
["month"].concat(can.core.List(1, 13)), "下一月", ["month"].concat(can.core.List(1, 13)), "下一月",
], can._action, { ], can._action, {
"关闭": function(event) { can.page.Remove(can, can._target) }, "关闭": function(event) { can.page.Remove(can, can._target) },
"hour": function(event, can, key, value) { now.setHours(parseInt(value)), show(now) }, "hour": function(event, can, key, value) { now.setHours(parseInt(value)||0), show(now) },
"minute": function(event, can, key, value) { now.setMinutes(parseInt(value)), show(now) }, "minute": function(event, can, key, value) { now.setMinutes(parseInt(value)||0), show(now) },
"second": function(event, can, key, value) { now.setSeconds(parseInt(value)), show(now) }, "second": function(event, can, key, value) { now.setSeconds(parseInt(value)||0), show(now) },
"今天": function(event) { now = new Date(), set(show(now)) }, "今天": function(event) { now = new Date(), set(show(now)) },
"上一月": function(event) { now.setMonth(now.getMonth()-1), show(now) }, "上一月": function(event) { now.setMonth(now.getMonth()-1), show(now) },

View File

@ -168,7 +168,7 @@ Volcanos("onaction", {help: "组件交互", list: [
["score", "all", "s1", "s2", "s3", "s4", "s5"], ["score", "all", "s1", "s2", "s3", "s4", "s5"],
["view", "", "name", "text", "level", "score"], ["view", "", "name", "text", "level", "score"],
], ],
insertTask: function(event, can, time) { insertTask: function(event, can, time) { var msg = can.sup.request(event, {begin_time: time})
can.user.input(event, can, can.Conf("feature.insert"), function(event, button, data, list) { can.user.input(event, can, can.Conf("feature.insert"), function(event, button, data, list) {
var args = ["action", "insert"]; can.core.Item(data, function(key, value) { var args = ["action", "insert"]; can.core.Item(data, function(key, value) {
if (key == "begin_time") { value = value || time } if (key == "begin_time") { value = value || time }

View File

@ -28,8 +28,7 @@ var Volcanos = shy("火山架", {args: {}, pack: {}, libs: [], cache: {}}, [], f
} }
} }
var proto = {_name: name, _load: function(name, cb) { var proto = {_name: name, _load: function(name, cb) { // 加载缓存
// 加载缓存
var cache = meta.cache[name] || []; for (list.reverse(); list.length > 0; list) { var cache = meta.cache[name] || []; for (list.reverse(); list.length > 0; list) {
var sub = list.pop(); sub != can && cache.push(sub) var sub = list.pop(); sub != can && cache.push(sub)
}; meta.cache[name] = cache }; meta.cache[name] = cache