forked from x/volcanos
opt frame.js
This commit is contained in:
parent
9f1c7644fa
commit
d2403f6b3d
20
frame.js
20
frame.js
@ -2,18 +2,19 @@ var _can_name = "/frame.js"
|
|||||||
Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, list, cb, target) {
|
Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, list, cb, target) {
|
||||||
can.core.Next(list, function(item, next) { item.type = "panel"
|
can.core.Next(list, function(item, next) { item.type = "panel"
|
||||||
can.onappend._init(can, item, item.list, function(panel) {
|
can.onappend._init(can, item, item.list, function(panel) {
|
||||||
panel.onaction && panel.onappend._action(panel, item.action||panel.onaction.list)
|
|
||||||
panel.Status = panel.Status || function(key, value) { panel.set("Footer", key, value) }
|
|
||||||
|
|
||||||
panel.run = function(event, cmds, cb) { var msg = panel.request(event); cmds = cmds || []
|
panel.run = function(event, cmds, cb) { var msg = panel.request(event); cmds = cmds || []
|
||||||
return (can.onengine[cmds[0]]||can.onengine._remote)(event, can, msg, panel, cmds, cb)
|
return (can.onengine[cmds[0]]||can.onengine._remote)(event, can, msg, panel, cmds, cb)
|
||||||
}, can[item.name] = panel, next()
|
}, can[item.name] = panel
|
||||||
|
|
||||||
|
can.core.Item(panel.onaction, function(key, item) { if (key.indexOf("on") == 0) {
|
||||||
|
can.onengine.listen(can, key, function(msg) { can.core.CallFunc(item, {can: panel, msg: msg}) })
|
||||||
|
} }), panel.const(panel.onaction._const||[]), panel._trans = panel.onaction._trans
|
||||||
|
panel.onaction._init(panel, item, item.list, next, panel._target)
|
||||||
}, target)
|
}, target)
|
||||||
}, function() { can.base.Copy(can.onengine.river, can.Conf("river"))
|
}, function() { can.onlayout.topic(can)
|
||||||
var panel = can[meta.main.name]; panel.onaction._init(panel, can.request(), [], function(msg) { cb(msg)
|
can.misc.Log(can.user.title(), "run", can)
|
||||||
panel.onmotion._init(panel, target), panel.onkeypop._init(panel, target)
|
can.base.Copy(can.onengine.river, can.Conf("river"))
|
||||||
can.misc.Log(can.user.title(), "run", can)
|
can.onengine.signal(can, "onmain", can.request())
|
||||||
}, panel._target)
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
_search: function(event, can, msg, panel, cmds, cb) {
|
_search: function(event, can, msg, panel, cmds, cb) {
|
||||||
@ -49,6 +50,7 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta,
|
|||||||
arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb)
|
arguments.callee.meta[name] = (arguments.callee.meta[name]||[]).concat(cb)
|
||||||
}),
|
}),
|
||||||
signal: shy("触发事件", function(can, name, msg) { msg = msg || can.request()
|
signal: shy("触发事件", function(can, name, msg) { msg = msg || can.request()
|
||||||
|
can.misc.Log("signal", name, msg)
|
||||||
can.core.List(can.onengine.listen.meta[name], function(cb) {
|
can.core.List(can.onengine.listen.meta[name], function(cb) {
|
||||||
can.core.CallFunc(cb, {msg: msg})
|
can.core.CallFunc(cb, {msg: msg})
|
||||||
})
|
})
|
||||||
|
@ -47,7 +47,9 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg)
|
|||||||
can.onaction._layout(can, "flow")
|
can.onaction._layout(can, "flow")
|
||||||
},
|
},
|
||||||
_menu: function(can) {
|
_menu: function(can) {
|
||||||
!can.user.isMobile && can.search({}, ["Header.onimport.menu", can._ACTION,
|
if (can.user.isMobile) { return }
|
||||||
|
can._menu && can.page.Remove(can, can._menu)
|
||||||
|
can._menu = can.search({}, ["Header.onimport.menu", can._ACTION,
|
||||||
["布局", "默认布局", "流动布局", "网格布局", "标签布局", "自由布局"],
|
["布局", "默认布局", "流动布局", "网格布局", "标签布局", "自由布局"],
|
||||||
], function(event, key) { can.onaction._layout(can, key) })
|
], function(event, key) { can.onaction._layout(can, key) })
|
||||||
},
|
},
|
||||||
@ -83,13 +85,6 @@ Volcanos("onengine", {help: "解析引擎", list: [],
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg, list, cb, target) {
|
Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg, list, cb, target) {
|
||||||
can.const(
|
|
||||||
"output", "fields",
|
|
||||||
"action", "share", "river", "storm",
|
|
||||||
"title", "topic", "layout", "width", "height", "top", "left", "scroll",
|
|
||||||
"plugin",
|
|
||||||
)
|
|
||||||
|
|
||||||
var share = can.user.Search(can, can._SHARE); if (share) {
|
var share = can.user.Search(can, can._SHARE); if (share) {
|
||||||
can.run({}, ["_share", share], function(msg) { msg.Length()>0? can.onimport._share(can, msg, share):
|
can.run({}, ["_share", share], function(msg) { msg.Length()>0? can.onimport._share(can, msg, share):
|
||||||
can.onengine._engine({}, can, msg, can, [msg.Option("sess.river"), msg.Option("sess.storm")], function(msg) {
|
can.onengine._engine({}, can, msg, can, [msg.Option("sess.river"), msg.Option("sess.storm")], function(msg) {
|
||||||
@ -98,18 +93,6 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg,
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
can.onengine.listen(can, "storm.select", function(msg, river, storm) {
|
|
||||||
can.onaction._select(can, msg, river, storm)
|
|
||||||
})
|
|
||||||
|
|
||||||
can.onengine.listen(can, "search", function(msg, word) {
|
|
||||||
if (word[0] == "*" || word[0] == can._PLUGIN) { can.onexport.plugin(can, msg, word) }
|
|
||||||
})
|
|
||||||
|
|
||||||
can._target.ontouchstart = function(event) {
|
|
||||||
can.onengine.signal(can, "action.touch", can.request(event))
|
|
||||||
}
|
|
||||||
|
|
||||||
var list = []; can.onengine.listen(can, "resize", function(width, height) {
|
var list = []; can.onengine.listen(can, "resize", function(width, height) {
|
||||||
can.Conf({width: width, height: height}), can.core.Delay(list, 1000, function() {
|
can.Conf({width: width, height: height}), can.core.Delay(list, 1000, function() {
|
||||||
can.onengine.signal(can, "action.resize", can.request({}, {
|
can.onengine.signal(can, "action.resize", can.request({}, {
|
||||||
@ -117,6 +100,26 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg,
|
|||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
can._target.ontouchstart = function(event) {
|
||||||
|
can.onengine.signal(can, "onaction_touch", can.request(event))
|
||||||
|
can.onmotion.float.del(can, "carte")
|
||||||
|
}
|
||||||
|
|
||||||
|
can.base.isFunc(cb) && cb()
|
||||||
|
},
|
||||||
|
_const: [
|
||||||
|
"output", "fields",
|
||||||
|
"action", "share", "river", "storm",
|
||||||
|
"title", "topic", "layout", "width", "height", "top", "left", "scroll",
|
||||||
|
"plugin",
|
||||||
|
],
|
||||||
|
|
||||||
|
onsearch: function(can, msg, word) {
|
||||||
|
if (word[0] == "*" || word[0] == can._PLUGIN) { can.onexport.plugin(can, msg, word) }
|
||||||
|
},
|
||||||
|
onstorm_select: function(can, msg, river, storm) {
|
||||||
|
can.onaction._select(can, msg, river, storm)
|
||||||
can.onimport._menu(can)
|
can.onimport._menu(can)
|
||||||
},
|
},
|
||||||
_layout: function(can, key) { if (!key) { return }
|
_layout: function(can, key) { if (!key) { return }
|
||||||
|
@ -48,7 +48,10 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg, list, cb, target) {
|
Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg, list, cb, target) {
|
||||||
can.run({}, [], function(msg) { can.onimport._init(can, msg, list, cb, can._output) })
|
can.base.isFunc(cb) && cb(msg)
|
||||||
|
},
|
||||||
|
onlogin: function(can, msg) {
|
||||||
|
can.run({}, [], function(msg) { can.onimport._init(can, msg, [], null, can._output) })
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onexport", {help: "导出数据", list: [],
|
Volcanos("onexport", {help: "导出数据", list: [],
|
||||||
|
109
panel/Header.js
109
panel/Header.js
@ -1,19 +1,7 @@
|
|||||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
||||||
can._trans = {
|
can.Conf(can._USERNAME, msg.Option("user.nick")||msg.Option("user.name")||can.Conf(can._USERNAME))
|
||||||
"river": "菜单",
|
can.Conf(can._BACKGROUND, msg.Option(can._BACKGROUND))
|
||||||
"search": "搜索",
|
can.Conf(can._AVATAR, msg.Option(can._AVATAR))
|
||||||
|
|
||||||
"setting": "设置",
|
|
||||||
"black": "黑色主题",
|
|
||||||
"white": "白色主题",
|
|
||||||
"print": "打印主题",
|
|
||||||
"clear": "清除背景",
|
|
||||||
"pack": "打包页面",
|
|
||||||
|
|
||||||
"shareuser": "共享用户",
|
|
||||||
"usernick": "修改昵称",
|
|
||||||
"logout": "退出登录",
|
|
||||||
}
|
|
||||||
|
|
||||||
can.onmotion.clear(can)
|
can.onmotion.clear(can)
|
||||||
can.onimport._agent(can, msg, target)
|
can.onimport._agent(can, msg, target)
|
||||||
@ -39,13 +27,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
}
|
}
|
||||||
can.user.isWeiXin && can.onimport._weixin(can)
|
can.user.isWeiXin && can.onimport._weixin(can)
|
||||||
},
|
},
|
||||||
_grant: function() {
|
_grant: function(can, msg, target) { const GRANT = "grant"
|
||||||
const GRANT = "grant"; if (can.user.Search(can, GRANT)) {
|
if (can.user.Search(can, GRANT)) {
|
||||||
if (can.user.confirm(GRANT+" "+can.user.Search(can, GRANT))) {
|
if (can.user.confirm(GRANT+" "+can.user.Search(can, GRANT))) {
|
||||||
can.run(event, [can._ACTION, GRANT, "space", can.user.Search(can, GRANT)])
|
can.run(event, [can._ACTION, GRANT, "space", can.user.Search(can, GRANT)])
|
||||||
}
|
}
|
||||||
can.user.Search(can, GRANT, "")
|
can.user.Search(can, GRANT, "")
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
_title: function(can, msg, target) {
|
_title: function(can, msg, target) {
|
||||||
@ -56,34 +43,34 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
}}])
|
}}])
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
_state: function(can, msg, target) {
|
_state: function(can, msg, target) { const STATE = "state"
|
||||||
can.core.List(can.base.Obj(msg.Option("state"), can.Conf("state")||["time", can._USERNAME]), function(item) {
|
can.core.List(can.base.Obj(msg.Option(STATE), can.Conf(STATE)||["time", can._USERNAME]), function(item) {
|
||||||
if (item == can._AVATAR) {
|
if (item == can._AVATAR) {
|
||||||
can.page.Append(can, target, [{view: ["state "+item], list: [{img: can.Conf(item)}], onmouseenter: function(event) {
|
can.page.Append(can, target, [{view: [STATE+" "+item], list: [{img: can.Conf(item)}], onmouseenter: function(event) {
|
||||||
can.onaction.carte(event, can, [can.page.Format("img", can.Conf(item), 160)])
|
can.onaction.carte(event, can, [can.page.Format("img", can.Conf(item), 160)])
|
||||||
}}])
|
}}])
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
can.page.Append(can, target, [{view: ["state "+item, "div", (can.Conf(item)||"").slice(0, 10)], onmouseenter: function(event) {
|
can.page.Append(can, target, [{view: [STATE+" "+item, "div", (can.Conf(item)||"").slice(0, 10)], onmouseenter: function(event) {
|
||||||
can.core.CallFunc([can.onaction, item], [event, can, item])
|
can.core.CallFunc([can.onaction, item], [event, can, item])
|
||||||
}, _init: function(target) {
|
}, _init: function(target) {
|
||||||
item == "time" && can.onimport._time(can, target)
|
item == "time" && can.onimport._time(can, target)
|
||||||
}}])
|
}}])
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
_search: function(can, msg, target) {
|
_search: function(can, msg, target) { const SEARCH = "search"
|
||||||
var ui = can.page.Append(can, target, [{view: "search", list: [{type: "input", data: {placeholder: "search"}, onkeydown: function(event) {
|
var ui = can.page.Append(can, target, [{view: SEARCH, list: [{type: "input", data: {placeholder: SEARCH}, onkeydown: function(event) {
|
||||||
can.onkeypop.input(event, can); switch (event.key) {
|
can.onkeypop.input(event, can); switch (event.key) {
|
||||||
case "Enter": can.search(event, ["Search.onimport.select", "*", event.target.value]); break
|
case "Enter": can.search(event, ["Search.onimport.select", "*", event.target.value]); break
|
||||||
}
|
}
|
||||||
}}] }])
|
}}] }])
|
||||||
// ; can.onmotion.autosize(can, ui.input, 240, 120)
|
|
||||||
can.user.isMobile && can.page.Modify(can, ui.first, {style: {float: "right"}})
|
can.user.isMobile && can.page.Modify(can, ui.first, {style: {float: "right"}})
|
||||||
|
// can.onmotion.autosize(can, ui.input, 240, 120)
|
||||||
},
|
},
|
||||||
_background: function(can, msg) {
|
_background: function(can, msg) {
|
||||||
if (can.user.isLocalFile) { return }
|
|
||||||
if (can.user.isExtension) { return }
|
if (can.user.isExtension) { return }
|
||||||
|
if (can.user.isLocalFile) { return }
|
||||||
can.onlayout.background(can, msg.Option(can._BACKGROUND), document.body)
|
can.onlayout.background(can, msg.Option(can._BACKGROUND), document.body)
|
||||||
},
|
},
|
||||||
_menu: function(can, msg, target) {
|
_menu: function(can, msg, target) {
|
||||||
@ -120,10 +107,10 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
}) })
|
}) })
|
||||||
},
|
},
|
||||||
_avatar: function(can, msg) {
|
_avatar: function(can, msg) {
|
||||||
!can.user.isLocalFile && can.page.Modify(can, "div.output div.state.avatar>img", {src: can.Conf(can._AVATAR, msg.Option(can._AVATAR))})
|
can.page.Modify(can, "div.output div.state.avatar>img", {src: can.Conf(can._AVATAR, msg.Option(can._AVATAR))})
|
||||||
},
|
},
|
||||||
_time: function(can, target) {
|
_time: function(can, target) {
|
||||||
can.core.Timer({interval: 1000}, function() { can.onimport.time(can, target) })
|
can.core.Timer({interval: 500}, function() { can.onimport.time(can, target) })
|
||||||
can.onappend.figure(can, {style: {"min-width": 306}}, "@date", function(sub) {
|
can.onappend.figure(can, {style: {"min-width": 306}}, "@date", function(sub) {
|
||||||
can.search({}, ["Action.onexport.size"], function(msg, top) {
|
can.search({}, ["Action.onexport.size"], function(msg, top) {
|
||||||
can.page.Modify(can, sub._target, {style: {top: top, left: window.innerWidth-sub._target.offsetWidth}})
|
can.page.Modify(can, sub._target, {style: {top: top, left: window.innerWidth-sub._target.offsetWidth}})
|
||||||
@ -134,7 +121,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
time: function(can, target) { can.onlayout.topic(can)
|
time: function(can, target) { can.onlayout.topic(can)
|
||||||
target.innerHTML = can.base.Time(null, "%w %H:%M:%S")
|
target.innerHTML = can.base.Time(null, "%w %H:%M:%S")
|
||||||
},
|
},
|
||||||
menu: function(can, cmds, cb) { // type item...
|
menu: function(can, cmds, cb) {
|
||||||
return can.page.Append(can, can._output, [{type: cmds[0], list: can.core.List(cmds.slice(1), function(item) {
|
return can.page.Append(can, can._output, [{type: cmds[0], list: can.core.List(cmds.slice(1), function(item) {
|
||||||
if (typeof item == "string") {
|
if (typeof item == "string") {
|
||||||
return {view: ["menu", "div", can.user.trans(can, item)], onclick: function(event) {
|
return {view: ["menu", "div", can.user.trans(can, item)], onclick: function(event) {
|
||||||
@ -152,58 +139,60 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
}) }]).first
|
}) }]).first
|
||||||
},
|
},
|
||||||
avatar: function(event, can, url) {
|
avatar: function(event, can, url) {
|
||||||
can.run(event, [can._ACTION, can._AVATAR, url], function(msg) {
|
!can.user.isLocalFile && can.run(event, [can._ACTION, can._AVATAR, url], function(msg) {
|
||||||
can.onimport._avatar(can, msg)
|
can.onimport._avatar(can, msg)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
background: function(event, can, url) {
|
background: function(event, can, url) {
|
||||||
can.run(event, [can._ACTION, can._BACKGROUND, url], function(msg) {
|
!can.user.isLocalFile && can.run(event, [can._ACTION, can._BACKGROUND, url], function(msg) {
|
||||||
can.onimport._background(can, msg)
|
can.onimport._background(can, msg)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg, list, cb, target) {
|
Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, meta, list, cb, target) {
|
||||||
can.const(
|
can.base.isFunc(cb) && cb()
|
||||||
"action", "share", "title", "river", "storm",
|
},
|
||||||
"grant",
|
_const: [
|
||||||
"username", "background", "avatar",
|
"action", "share", "grant", "title", "river", "storm",
|
||||||
)
|
"avatar", "username", "background",
|
||||||
|
],
|
||||||
|
_trans: {
|
||||||
|
"river": "菜单",
|
||||||
|
"search": "搜索",
|
||||||
|
|
||||||
|
"setting": "设置",
|
||||||
|
"black": "黑色主题",
|
||||||
|
"white": "白色主题",
|
||||||
|
"print": "打印主题",
|
||||||
|
"clear": "清除背景",
|
||||||
|
"pack": "打包页面",
|
||||||
|
|
||||||
|
"shareuser": "共享用户",
|
||||||
|
"usernick": "修改昵称",
|
||||||
|
"logout": "退出登录",
|
||||||
|
},
|
||||||
|
onmain: function(can, msg) {
|
||||||
function init() { can.run({}, [], function(msg) {
|
function init() { can.run({}, [], function(msg) {
|
||||||
can.Conf(can._USERNAME, msg.Option("user.nick")||msg.Option("user.name")||can.Conf(can._USERNAME))
|
can.onimport._init(can, msg, [], function(msg) {
|
||||||
can.Conf(can._BACKGROUND, msg.Option(can._BACKGROUND))
|
can.onengine.signal(can, "onlogin", msg)
|
||||||
can.Conf(can._AVATAR, msg.Option(can._AVATAR))
|
|
||||||
|
|
||||||
can.onimport._init(can, msg, list, function(msg) {
|
|
||||||
can.onengine.listen(can, "storm.select", function(msg, river, storm) {
|
|
||||||
can.Conf(can._RIVER, river), can.Conf(can._STORM, storm)
|
|
||||||
})
|
|
||||||
|
|
||||||
can.search(msg._event, ["Footer.onaction._init"])
|
|
||||||
can.search(msg._event, ["Action.onaction._init"])
|
|
||||||
can.search(msg._event, ["River.onaction._init"])
|
|
||||||
can.search(msg._event, ["Search.onaction._init"])
|
|
||||||
can.base.isFunc(cb) && cb(msg)
|
|
||||||
can.ondaemon._init(can)
|
can.ondaemon._init(can)
|
||||||
}, can._output)
|
}, can._output)
|
||||||
|
|
||||||
can.page.Select(can, document.body, "fieldset.River", function(item) {
|
can.search({}, ["River.onmotion.toggle"])
|
||||||
can.onmotion.toggle(can, item)
|
}) }; can.search({}, ["River.onmotion.hidden"])
|
||||||
})
|
|
||||||
}) }
|
|
||||||
can.page.Select(can, document.body, "fieldset.River", function(item) {
|
|
||||||
can.onmotion.hidden(can, item)
|
|
||||||
})
|
|
||||||
|
|
||||||
can.onlayout.topic(can)
|
// 登录检查
|
||||||
can.user.isLocalFile? init(): can.run({}, ["check"], function(msg) {
|
can.user.isLocalFile? init(): can.run({}, ["check"], function(msg) {
|
||||||
can.Conf(can._USERNAME, msg.Result())? init():
|
can.Conf(can._USERNAME, msg.Result())? init():
|
||||||
msg.Option("sso")? can.user.jumps(msg.Option("sso")): can.user.login(can, init)
|
msg.Option("sso")? can.user.jumps(msg.Option("sso")): can.user.login(can, init)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
onstorm_select: function(can, msg, river, storm) {
|
||||||
|
can.Conf(can._RIVER, river), can.Conf(can._STORM, storm)
|
||||||
|
},
|
||||||
|
|
||||||
title: function(event, can) {
|
title: function(event, can) {
|
||||||
var args = {}; can.core.List(["pod", can._TITLE, "topic", "layout"], function(key) {
|
var args = {}; can.core.List(["pod", "title", "topic", "layout"], function(key) {
|
||||||
var value = can.user.Search(can, key); value && (args[key] = value)
|
var value = can.user.Search(can, key); value && (args[key] = value)
|
||||||
})
|
})
|
||||||
can.user.jumps(can.user.MergeURL(can, args, true))
|
can.user.jumps(can.user.MergeURL(can, args, true))
|
||||||
|
@ -101,20 +101,20 @@ Volcanos("onengine", {help: "解析引擎", list: [], _engine: function(event, c
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg, list, cb, target) {
|
Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg, list, cb, target) {
|
||||||
can.const(
|
can.base.isFunc(cb) && cb()
|
||||||
"title", "river", "storm",
|
|
||||||
)
|
|
||||||
can.run({}, [], function(msg) { can.onimport._init(can, msg, list, cb, can._output) })
|
|
||||||
|
|
||||||
can.onengine.listen(can, "search", function(msg, word) {
|
|
||||||
if (word[0] == "*" || word[0] == can._STORM) { can.onexport.storm(can, msg, word) }
|
|
||||||
})
|
|
||||||
|
|
||||||
can.onengine.listen(can, "action.touch", function() {
|
|
||||||
can.user.isMobile && can.onmotion.hidden(can)
|
|
||||||
can.onmotion.float.del(can, "carte")
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
|
_const: ["title", "river", "storm"],
|
||||||
|
onlogin: function(can, msg) {
|
||||||
|
can.onappend._action(can, can.Conf("action")||can.onaction.list)
|
||||||
|
can.run({}, [], function(msg) { can.onimport._init(can, msg, [], null, can._output) })
|
||||||
|
},
|
||||||
|
onsearch: function(can, msg, word) {
|
||||||
|
if (word[0] == "*" || word[0] == can._STORM) { can.onexport.storm(can, msg, word) }
|
||||||
|
},
|
||||||
|
onaction_touch: function(can, msg) {
|
||||||
|
can.user.isMobile && can.onmotion.hidden(can)
|
||||||
|
},
|
||||||
|
|
||||||
storm: function(event, can, river) {
|
storm: function(event, can, river) {
|
||||||
var list = can.sublist[river]; if (list) { return can.onmotion.Toggle(can, list) }
|
var list = can.sublist[river]; if (list) { return can.onmotion.Toggle(can, list) }
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg,
|
|||||||
},
|
},
|
||||||
action: function(event, can, river, storm) {
|
action: function(event, can, river, storm) {
|
||||||
// can.onlayout._init(can)
|
// can.onlayout._init(can)
|
||||||
can.onengine.signal(can, "storm.select", can.request(event, {
|
can.onengine.signal(can, "onstorm_select", can.request(event, {
|
||||||
river: can.Conf(can._RIVER, river), storm: can.Conf(can._STORM, storm),
|
river: can.Conf(can._RIVER, river), storm: can.Conf(can._STORM, storm),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
},
|
},
|
||||||
_word: function(can, msg, cmds, fields) { can.type = cmds[0]
|
_word: function(can, msg, cmds, fields) { can.type = cmds[0]
|
||||||
var sub = can.request({}, {word: cmds, fields: fields.join(","), sort: msg.Option("sort"), index: msg.Option("index")})
|
var sub = can.request({}, {word: cmds, fields: fields.join(","), sort: msg.Option("sort"), index: msg.Option("index")})
|
||||||
can.onengine.signal(can, "search", sub)
|
can.onengine.signal(can, "onsearch", sub)
|
||||||
|
|
||||||
can.run(sub._event, cmds, function(sub) { can.list = sub.Table()
|
can.run(sub._event, cmds, function(sub) { can.list = sub.Table()
|
||||||
can.onimport._init(can, sub, fields)
|
can.onimport._init(can, sub, fields)
|
||||||
@ -35,7 +35,10 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
} )
|
} )
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onaction", {help: "交互操作", list: ["关闭", "清空", "完成"], _init: function(can, msg, list, cb, target) {
|
Volcanos("onaction", {help: "交互操作", list: ["关闭", "清空", "完成"], _init: function(can, meta, list, cb, target) {
|
||||||
|
can.base.isFunc(cb) && cb()
|
||||||
|
},
|
||||||
|
onlogin: function(can, msg) {
|
||||||
can.ui = can.page.Append(can, can._output, [
|
can.ui = can.page.Append(can, can._output, [
|
||||||
{input: ["word", function(event) { can.onkeypop.input(event, can)
|
{input: ["word", function(event) { can.onkeypop.input(event, can)
|
||||||
if (event.key == "Escape") { can.onmotion.hide(can) }
|
if (event.key == "Escape") { can.onmotion.hide(can) }
|
||||||
@ -50,7 +53,7 @@ Volcanos("onaction", {help: "交互操作", list: ["关闭", "清空", "完成"]
|
|||||||
}
|
}
|
||||||
}]},
|
}]},
|
||||||
{view: "content"}, {view: ["display", "table"]}, {view: "preview"},
|
{view: "content"}, {view: ["display", "table"]}, {view: "preview"},
|
||||||
]), can.base.isFunc(cb) && cb(msg)
|
])
|
||||||
},
|
},
|
||||||
"关闭": function(event, can) { can.onmotion.hide(can) },
|
"关闭": function(event, can) { can.onmotion.hide(can) },
|
||||||
"清空": function(event, can) { can.onmotion.clear(can, can.ui.preview) },
|
"清空": function(event, can) { can.onmotion.clear(can, can.ui.preview) },
|
||||||
|
2
proto.js
2
proto.js
@ -72,7 +72,7 @@ var Volcanos = shy("火山架", {args: {}, pack: {}, libs: [], cache: {}}, [], f
|
|||||||
},
|
},
|
||||||
search: function(event, cmds, cb) { can.run && can.run(event, ["_search"].concat(cmds), cb, true) },
|
search: function(event, cmds, cb) { can.run && can.run(event, ["_search"].concat(cmds), cb, true) },
|
||||||
|
|
||||||
const: function() { can.core.List(arguments, function(v) { can["_"+v.toUpperCase()] = v }) },
|
const: function(list) { can.core.List(typeof list == "object"? list: arguments, function(v) { can["_"+v.toUpperCase()] = v }) },
|
||||||
Conf: function(key, value) { return can.core.Value(can._conf, key, value) }, _conf: {},
|
Conf: function(key, value) { return can.core.Value(can._conf, key, value) }, _conf: {},
|
||||||
}; can = can || {}; can.__proto__ = proto
|
}; can = can || {}; can.__proto__ = proto
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user