mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
add camera
This commit is contained in:
parent
f481733bfe
commit
0740f85d48
31
frame.js
31
frame.js
@ -428,7 +428,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe
|
||||
})
|
||||
})
|
||||
|
||||
if (can.user.isMobile || can.user.Search(can, "share")) { return }
|
||||
if (can.user.isMobile) { return }
|
||||
can.onengine.trigger(can, can.request(event, {width: width, height: height}), "resize")
|
||||
|
||||
can.page.Select(can, target, ["fieldset.main"], function(field, index) {
|
||||
@ -444,26 +444,35 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe
|
||||
},
|
||||
|
||||
profile: function(can, target) {
|
||||
can.ui = can.page.Append(can, target, [{type: "table", list: [{type: "tr", list: [
|
||||
{type: "td", list: [{view: ["project", "div", "project"]}]},
|
||||
{type: "td", list: [{type: "tr", list: [{type: "table", list: [
|
||||
{type: "td", list: [{view: ["content", "div", "content"]}]},
|
||||
{type: "td", list: [{view: ["profile", "div", "profile"]}]},
|
||||
]}]}, {type: "tr", list: [
|
||||
{type: "td", list: [{view: ["display", "div", "display"]}]}
|
||||
]}]}
|
||||
return can.page.Append(can, target, [{view: ["void", "table"], list: [{type: "tr", list: [
|
||||
{type: "td", list: [{view: ["project"]}]},
|
||||
{type: "td", list: [
|
||||
{view: ["void", "table"], list: [
|
||||
{type: "tr", list: [{view: ["void", "table"], list: [
|
||||
{type: "tr", list: [
|
||||
{type: "td", list: [{view: ["content"]}]},
|
||||
{type: "td", list: [{view: ["profile"]}]},
|
||||
]}
|
||||
]}]},
|
||||
{type: "tr", list: [
|
||||
{type: "td", list: [{view: ["display"]}]}
|
||||
]}
|
||||
]}
|
||||
]}
|
||||
]}] }])
|
||||
},
|
||||
project: function(can, target) {
|
||||
can.ui = can.page.Append(can, target, [{type: "table", list: [{type: "tr", list: [
|
||||
can.ui = can.page.Append(can, target, [{view: ["void", "table"], list: [{type: "tr", list: [
|
||||
{type: "td", list: [{view: "project"}]}, {type: "td", list: [
|
||||
{view: ["void", "table"], list: [
|
||||
{type: "tr", list: [{view: "content"}]},
|
||||
{type: "tr", list: [{view: "display"}]},
|
||||
]}
|
||||
]}
|
||||
]}] }])
|
||||
},
|
||||
display: function(can, target) { target = target || can._target
|
||||
return can.page.Appends(can, target, [{type: "table", list: [
|
||||
return can.page.Appends(can, target, [{view: ["void", "table"], list: [
|
||||
{type: "tr", list: [{view: "content"}]},
|
||||
{type: "tr", list: [{view: "display"}]},
|
||||
]}])
|
||||
|
@ -46,6 +46,11 @@ Volcanos("user", {help: "用户模块", agent: {
|
||||
can.user.toast(can, text, "复制成功")
|
||||
},
|
||||
|
||||
camera: function(can, msg, cb) {
|
||||
navigator.getUserMedia({video: true}, cb, function(error) {
|
||||
can.base.Log(error)
|
||||
})
|
||||
},
|
||||
trans: function(can, text) {
|
||||
if (typeof text == "function") {
|
||||
text = text.name || ""
|
||||
|
@ -77,6 +77,25 @@ select {
|
||||
padding:0 10px;
|
||||
}
|
||||
|
||||
table.void>tr {
|
||||
margin:0;border:0;padding:0;
|
||||
}
|
||||
table.void>tr>th {
|
||||
margin:0;border:0;padding:0;
|
||||
}
|
||||
table.void>tr>td {
|
||||
margin:0;border:0;padding:0;
|
||||
}
|
||||
table.void>tr:hover {
|
||||
background-color:#0fbd4500;
|
||||
}
|
||||
table.void>tr>th:hover {
|
||||
background-color:#0fbd4500;
|
||||
}
|
||||
table.void>tr>td:hover {
|
||||
background-color:#0fbd4500;
|
||||
}
|
||||
|
||||
table {
|
||||
border:0; white-space:pre;
|
||||
font-size:14px; font-family:monospace;
|
||||
|
@ -5,7 +5,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
|
||||
can.run({}, ["search", "Header.onimport.menu", "river",
|
||||
["添加", "创建群组", "添加应用", "添加工具", "添加用户", "添加设备"],
|
||||
["访问", "访问研发", "访问应用", "访问工具", "访问用户", "访问设备"],
|
||||
["访问", "访问研发", "访问应用", "访问工具", "访问用户", "访问设备", "访问任务"],
|
||||
["共享", "共享群组", "共享应用", "共享工具", "共享用户", "共享设备"],
|
||||
], function(event, item) {
|
||||
var cb = can.ondetail[item]; typeof cb == "function" && cb(event, can, item, can.Conf(RIVER), can.Conf(STORM))
|
||||
@ -221,8 +221,8 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
||||
})
|
||||
},
|
||||
|
||||
"访问用户": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, "user", "time,type,name,text")
|
||||
"访问研发": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, "github", "time,type,name,text")
|
||||
},
|
||||
"访问应用": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, "storm", "type,name,text")
|
||||
@ -230,11 +230,15 @@ Volcanos("ondetail", {help: "菜单交互", list: ["共享群组", "添加用户
|
||||
"访问工具": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, "plugin", "type,name,text")
|
||||
},
|
||||
"访问用户": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, "user", "time,type,name,text")
|
||||
},
|
||||
"访问设备": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, "space", "time,type,name,text")
|
||||
},
|
||||
"访问研发": function(event, can, button, river, storm) {
|
||||
can.user.select(event, can, "github", "time,type,name,text")
|
||||
"访问任务": function(event, can, button, river, storm) {
|
||||
var msg = can.request(event, {index: "web.team.task"})
|
||||
can.user.select(event, can, "task", "time,type,name,text")
|
||||
},
|
||||
})
|
||||
Volcanos("onexport", {help: "导出数据", list: [],
|
||||
|
@ -20,3 +20,7 @@ fieldset.Search div.output div.display {
|
||||
max-height:200px;
|
||||
overflow:auto;
|
||||
}
|
||||
fieldset.Search div.output div.profile {
|
||||
max-height:400px;
|
||||
overflow:auto;
|
||||
}
|
||||
|
@ -1,31 +1,32 @@
|
||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
||||
can.ui = can.page.Append(can, can._output, [
|
||||
{input: ["word", function(event) { can.onkeypop.input(event, can)
|
||||
can.ui = can.onlayout.profile(can, can._output)
|
||||
can.ui.table = can.page.Append(can, can.ui.display, [{type: "table"}]).first
|
||||
|
||||
can.ui.word = can.page.Append(can, can._action, [{input: ["word", function(event) { can.onkeypop.input(event, can)
|
||||
if (event.key == "Escape") { can.onmotion.hide(can) }
|
||||
|
||||
if (event.key == "Enter") { event.stopPropagation(), event.preventDefault()
|
||||
if (event.ctrlKey && can.onaction.choice(event, can, 0)) { return }
|
||||
can.input(event, event.target.value)
|
||||
}
|
||||
}]},
|
||||
{view: "content"}, {view: "display", list: [{type: "table"}]},
|
||||
])
|
||||
}]}]).first
|
||||
|
||||
typeof cb == "function" && cb(msg)
|
||||
},
|
||||
_table: function(can, msg, fields) { can.onmotion.clear(can, can.ui.content)
|
||||
var table = can.onappend.table(can, msg, can.ui.content, "table", function(value, key, index, line) {
|
||||
can.Status("count", index+1)
|
||||
var table = can.onappend.table(can, msg, can.ui.content, "table", function(value, key, index, line) { can.Status("count", index+1)
|
||||
return {text: [key == "text" && typeof line.text == "function" && line.text.help || value, "td"], onclick: function(event) {
|
||||
if (event.shiftKey) { var msg = can.request(event, line)
|
||||
can.onappend.plugin(can, {index: line.ctx+"."+line.cmd}, function(story, meta) {
|
||||
// if (event.shiftKey) {
|
||||
can.onappend.plugin(can, {index: msg.Option("index")||line.ctx+"."+line.cmd, arg: [line.type, line.name]}, function(story, meta) {
|
||||
story.run = function(event, cmds, cb, silent) {
|
||||
can.run(event, ["plugin", "run", meta.index].concat(cmds), function(msg) {
|
||||
can.run(event, ["action", "command", "run", meta.index].concat(cmds), function(msg) {
|
||||
typeof cb == "function" && cb(msg)
|
||||
})
|
||||
}
|
||||
}, can.ui.display)
|
||||
return
|
||||
}
|
||||
}, can.ui.profile)
|
||||
can.onmotion.clear(can, can.ui.profile)
|
||||
// return
|
||||
// }
|
||||
if (line.ctx == "web.chat" && line.cmd == "/search") {
|
||||
can.onimport.select(can, can.request(), [line.type, line.name, line.text], can.cb)
|
||||
return
|
||||
@ -50,10 +51,11 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
can.page.Modify(can, can.ui.table, {style: {width: table.offsetWidth}})
|
||||
},
|
||||
_word: function(can, msg, cmds, fields) {
|
||||
var msg = can.request({}, {fields: fields.join(","), word: cmds})
|
||||
can.request(msg._event, {fields: fields.join(","), word: cmds})
|
||||
can.onengine.trigger(can, msg, "search")
|
||||
|
||||
can.onmotion.clear(can, can.ui.content)
|
||||
can.onmotion.clear(can, can.ui.profile)
|
||||
can.run(msg._event, cmds, function(msg) { can.list = msg.Table()
|
||||
can.onimport._table(can, msg, fields)
|
||||
})
|
||||
@ -77,7 +79,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
can.page.Modify(can, can._target, {style: {left: item.offsetWidth}})
|
||||
})
|
||||
|
||||
can.onmotion.show(can), can.ui.input.focus()
|
||||
can.onmotion.show(can), can.ui.word.focus()
|
||||
can.onimport._word(can, msg, cmds, fields)
|
||||
},
|
||||
})
|
||||
|
@ -65,7 +65,7 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, meta,
|
||||
var input = feature && feature[name]; if (input) {
|
||||
return can.sup.onaction.input(event, can.sup, name, function(msg) {
|
||||
if (can.sup._outputs && can.sup._outputs.length > 0) { var i = can.sup._outputs.length - 1
|
||||
can.sup._outputs[i].onimport._process(can.sup._outputs[i], msg)
|
||||
can.sup._outputs[i].onimport._process && can.sup._outputs[i].onimport._process(can.sup._outputs[i], msg)
|
||||
return
|
||||
}; can.sup.onimport._process(can.sup, msg)
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user