mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
add favor
This commit is contained in:
parent
877af916eb
commit
06729dd4dd
11
frame.js
11
frame.js
@ -48,7 +48,6 @@ var can = Volcanos("chat", {
|
||||
}),
|
||||
Pane: shy("构造组件", function(can, name, meta, cb, field) {
|
||||
var river = "", storm = "";
|
||||
|
||||
var pane = Volcanos(name, {_type: "local", _plugins: [], _local: {}, target: field,
|
||||
option: field.querySelector("form.option"),
|
||||
action: field.querySelector("div.action"),
|
||||
@ -67,7 +66,9 @@ var can = Volcanos("chat", {
|
||||
pane.page.Select(pane, pane.action, "input."+key, function(item) {item.value = value})
|
||||
},
|
||||
|
||||
Action: function(key, value) {
|
||||
Action: function(key, value) {var cb = pane.onimport[key];
|
||||
typeof cb == "function" && cb(event, pane, value, key, field);
|
||||
|
||||
return can.page.Select(can, pane.action, "input[name="+key+"],select."+key+",select[name="+key+"]", function(item) {
|
||||
// 读写控件
|
||||
value != undefined && (item.value = value), value = item.value
|
||||
@ -134,6 +135,8 @@ var can = Volcanos("chat", {
|
||||
return pane
|
||||
}),
|
||||
Plugin: shy("构造插件", function(can, name, meta, run, field, cb) {
|
||||
meta && meta.class && can.page.ClassList.add(can, field, meta.class)
|
||||
|
||||
var option = field.querySelector("form.option");
|
||||
var action = field.querySelector("div.action");
|
||||
var output = field.querySelector("div.output");
|
||||
@ -314,7 +317,7 @@ var can = Volcanos("chat", {
|
||||
cmd = cmd || can.Option(), can.page.Select(can, option, ".args", function(item) {
|
||||
item.name && item.value && msg.Option(item.name, item.value)
|
||||
});
|
||||
(output[cmd[1]] || can[cmd[1]] || can.Run)(event, cmd, cb, silent);
|
||||
can.Run(event, cmd, cb, silent);
|
||||
},
|
||||
}, Config.libs.concat([(type.startsWith("/")? "": "plugin/")+type]), function(output) {
|
||||
status.innerHTML = "", output.onstatus && can.page.AppendStatus(output, status, output.onstatus.list)
|
||||
@ -328,7 +331,7 @@ var can = Volcanos("chat", {
|
||||
can.user.Search(can, "sessid") && can.user.Cookie(can, "sessid", can.user.Search(can, "sessid")) && can.user.Search(can, "sessid", "")
|
||||
|
||||
can[Config.main] = can.Page(can, Config.main, Config, function(chat) {
|
||||
chat.Import({}, can.user.Search(can, "you")||can.user.Search(can, "title")||Config.title, "title")
|
||||
chat.Import({}, can.user.Search(can, "pod")||can.user.Search(can, "you")||can.user.Search(can, "title")||Config.title, "title")
|
||||
chat.Import({}, can.user.Search(can, "layout")||Config.layout.def, "layout")
|
||||
chat.Import({}, "", "login")
|
||||
}, document.body, can.user.Search(can, "topic")||Config.topic)
|
||||
|
13
lib/misc.js
13
lib/misc.js
@ -54,16 +54,17 @@ Volcanos("misc", {help: "工具模块",
|
||||
WSS: shy("请求后端", {order: 0}, function(can, url, args, cb, onopen, onerror, onclose) {var meta = arguments.callee.meta
|
||||
can._socket = new WebSocket(url+"?"+can.base.Args(args))
|
||||
|
||||
var timer = can.Timer(30000, function() {can._socket.send("{}")})
|
||||
can._socket.onclose = onclose || function() {
|
||||
timer.stop = true, can.user.toast("wss redial")
|
||||
can.Log("wss", "close"), delete(can._socket), setTimeout(function() {
|
||||
|
||||
}, can._socket.onerror = onerror || function() {
|
||||
can.user.toast("wss redial")
|
||||
can._socket.close(), can.Log("wss", "close"), delete(can._socket), setTimeout(function() {
|
||||
// 断线重连
|
||||
can.misc.WSS(can, url, args, cb, onerror, onclose, onopen)
|
||||
}, 1000)
|
||||
}, can._socket.onerror = onerror || function() {
|
||||
can._socket.close()
|
||||
}, can._socket.onopen = onopen
|
||||
}, can._socket.onopen = onopen || function() {
|
||||
|
||||
}
|
||||
|
||||
can._socket.onmessage = function(event) {var order = ++meta.order
|
||||
try {
|
||||
|
@ -3,7 +3,7 @@ body, fieldset {
|
||||
background-color:black;
|
||||
}
|
||||
fieldset.item {
|
||||
border:ridge 1px cyan;
|
||||
border:ridge 2px cyan;
|
||||
margin:2px;
|
||||
}
|
||||
fieldset.item:hover {
|
||||
|
@ -31,6 +31,9 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
||||
can.onimport.init(event, can, msg, cmd, can.output)
|
||||
})
|
||||
},
|
||||
pod: function(event, can, value, cmd, field) {
|
||||
can.user.title(value)
|
||||
},
|
||||
you: function(event, can, value, cmd, field) {
|
||||
can.user.title(value)
|
||||
},
|
||||
|
@ -8,7 +8,7 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
||||
})}])
|
||||
|
||||
can.timer = can.Timer({interval: 1000, length: -1}, function(event) {
|
||||
can.Import(event, can.base.Time().split(" ")[1], "time")
|
||||
can.onimport.time(event, can, can.base.Time().split(" ")[1], "time")
|
||||
})
|
||||
},
|
||||
title: function(event, can, value, cmd, field) {
|
||||
@ -39,7 +39,7 @@ Volcanos("onexport", {help: "导出数据", list: [],
|
||||
title: function(event, can, value, cmd, field) {
|
||||
var args = {river: can.Conf("river"), storm: can.Conf("storm"), layout: can.Conf("layout")}
|
||||
|
||||
can.page.Select(can, field, "div.action>input", function(input) {
|
||||
can.page.Select(can, document.body, "fieldset.Action>div.action input", function(input) {
|
||||
input.name && input.value && (args[input.name] = input.value)
|
||||
})
|
||||
can.user.Search(can, args)
|
||||
|
@ -15,7 +15,22 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
||||
}))
|
||||
});
|
||||
|
||||
msg.result && can.page.Append(can, output, [{view: ["code", "div", can.page.Display(msg.Result())]}]).code;
|
||||
if (msg.Option("render") != "" && msg.result) {
|
||||
var story = can.page.Append(can, output, [{view: [msg.Option("render"), "div", msg.Result()]}]).first;
|
||||
can.page.Select(can, story, ".story", function(item) {var data = item.dataset;
|
||||
switch (item.tagName) {
|
||||
case "FIELDSET":
|
||||
can.Plugin(can, data.name, JSON.parse(data.meta||"{}"), function(event, cmds, cb, silent) {
|
||||
can.run(event, ["action", "story", data.type, data.name, data.text].concat(cmds), cb, true)
|
||||
}, item, function(sub) {
|
||||
|
||||
})
|
||||
break
|
||||
}
|
||||
})
|
||||
} else {
|
||||
msg.result && can.page.Append(can, output, [{view: ["code", "div", can.page.Display(msg.Result())]}]).code;
|
||||
}
|
||||
return typeof cb == "function" && cb(msg);
|
||||
},
|
||||
})
|
||||
@ -36,7 +51,7 @@ Volcanos("onchoice", {help: "组件菜单", list: ["返回", "清空", "复制",
|
||||
can.page.Download(can, list[0]+list[1], list[2]);
|
||||
},
|
||||
})
|
||||
Volcanos("ondetail", {help: "组件详情", list: ["选择", "编辑", "删除", "复制", "下载"],
|
||||
Volcanos("ondetail", {help: "组件详情", list: ["选择", "编辑", "删除", "复制", "下载", "收藏"],
|
||||
"选择": "select",
|
||||
"删除": "delete",
|
||||
"编辑": function(event, can, msg, index, key, cmd, td) {
|
||||
@ -61,6 +76,18 @@ Volcanos("ondetail", {help: "组件详情", list: ["选择", "编辑", "删除",
|
||||
"下载": function(event, can, msg, index, key, cmd, target) {
|
||||
can.page.Download(can, key, target.innerHTML);
|
||||
},
|
||||
"收藏": function(event, can, msg, index, key, cmd, target) {
|
||||
can.user.input(event, can, [
|
||||
{_input: "text", name: "favor", value: can._last_favor||""},
|
||||
{_input: "text", name: "type", value: msg.type && msg.type[index] || ""},
|
||||
{_input: "text", name: "name", value: msg.name && msg.name[index] || ""},
|
||||
{_input: "text", name: "text", value: msg.text && msg.text[index] || ""},
|
||||
], function(event, cmd, meta, list) {can._last_favor = meta.favor;
|
||||
can.run(event, ["action", "favor", meta.favor, meta.type, meta.name, meta.text], function(msg) {
|
||||
can.user.toast(msg.Result()||"收藏成功");
|
||||
}, true)
|
||||
})
|
||||
},
|
||||
})
|
||||
Volcanos("onexport", {help: "导出数据", list: [],
|
||||
Format: function(can, msg, name) {
|
||||
|
@ -1,3 +1,13 @@
|
||||
fieldset.story {
|
||||
clear:both;
|
||||
}
|
||||
fieldset.float {
|
||||
float:left;
|
||||
clear:none;
|
||||
}
|
||||
fieldset.clear {
|
||||
clear:both;
|
||||
}
|
||||
|
||||
fieldset .story {
|
||||
border:solid 2px #f000;
|
||||
@ -7,7 +17,7 @@ fieldset .story:hover {
|
||||
}
|
||||
|
||||
fieldset fieldset.story {
|
||||
border:ridge 1px cyan;
|
||||
border:ridge 2px cyan;
|
||||
}
|
||||
|
||||
fieldset p.story {
|
||||
|
Loading…
x
Reference in New Issue
Block a user