forked from x/volcanos
opt action
This commit is contained in:
parent
53d933332a
commit
4dd16f3496
4
frame.js
4
frame.js
@ -462,8 +462,8 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe
|
|||||||
]}
|
]}
|
||||||
]}] }])
|
]}] }])
|
||||||
},
|
},
|
||||||
display: function(can, target) {
|
display: function(can, target) { target = target || can._target
|
||||||
can.ui = can.page.Appends(can, target, [{type: "table", list: [
|
return can.page.Appends(can, target, [{type: "table", list: [
|
||||||
{type: "tr", list: [{view: "content"}]},
|
{type: "tr", list: [{view: "content"}]},
|
||||||
{type: "tr", list: [{view: "display"}]},
|
{type: "tr", list: [{view: "display"}]},
|
||||||
]}])
|
]}])
|
||||||
|
@ -335,8 +335,7 @@ Volcanos("page", {help: "网页模块",
|
|||||||
delete(cache[name])
|
delete(cache[name])
|
||||||
return list.data
|
return list.data
|
||||||
},
|
},
|
||||||
Toggle: function(can, target, show, hide) {
|
Toggle: function(can, target, show, hide) { var status = target.style.display == "none"
|
||||||
var status = target.style.display == "none"
|
|
||||||
can.page.Modify(can, target, {style: {display: status? "": "none"}})
|
can.page.Modify(can, target, {style: {display: status? "": "none"}})
|
||||||
status? typeof show == "function" && show(): typeof hide == "function" && hide()
|
status? typeof show == "function" && show(): typeof hide == "function" && hide()
|
||||||
return status
|
return status
|
||||||
|
@ -2,10 +2,10 @@ fieldset.Action {
|
|||||||
min-width:160px;
|
min-width:160px;
|
||||||
background-color:#a2dceab3;
|
background-color:#a2dceab3;
|
||||||
}
|
}
|
||||||
fieldset.Action div.action {
|
fieldset.Action>div.action {
|
||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
fieldset.Action div.action.tabs {
|
fieldset.Action>div.action.tabs {
|
||||||
width:-webkit-fill-available;
|
width:-webkit-fill-available;
|
||||||
background-color:#159cc7b0;
|
background-color:#159cc7b0;
|
||||||
display:block; height:28px;
|
display:block; height:28px;
|
||||||
@ -13,15 +13,15 @@ fieldset.Action div.action.tabs {
|
|||||||
position:absolute;
|
position:absolute;
|
||||||
z-index:10;
|
z-index:10;
|
||||||
}
|
}
|
||||||
fieldset.Action div.action div.item {
|
fieldset.Action>div.action div.item {
|
||||||
padding:4px; margin:0;
|
padding:4px; margin:0;
|
||||||
}
|
}
|
||||||
fieldset.Action div.action div.item:hover {
|
fieldset.Action>div.action div.item:hover {
|
||||||
border-bottom:solid 2px red;
|
border-bottom:solid 2px red;
|
||||||
background-color:#2e515f;
|
background-color:#2e515f;
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
fieldset.Action div.action div.item.select {
|
fieldset.Action>div.action div.item.select {
|
||||||
border-bottom:solid 2px red;
|
border-bottom:solid 2px red;
|
||||||
background-color:#2e515f;
|
background-color:#2e515f;
|
||||||
}
|
}
|
||||||
|
@ -27,8 +27,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
}, silent)
|
}, silent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
can.page.Modify(can, plugin._target, {style: {"max-width": value.width}})
|
||||||
|
can.onengine.listen(can, "action.resize", function(width, height) {
|
||||||
|
can.page.Modify(can, plugin._target, {style: {"max-width": value.width = width}})
|
||||||
|
})
|
||||||
|
|
||||||
can._plugins = (can._plugins||[]).concat([plugin])
|
can._plugins = (can._plugins||[]).concat([plugin])
|
||||||
can.onmotion.move(can, plugin._target, {width: plugin.Conf("width"), height: plugin.Conf("height")})
|
|
||||||
can.page.Append(can, can._action, [{view: ["item", "div", value.name], onclick: function(event) {
|
can.page.Append(can, can._action, [{view: ["item", "div", value.name], onclick: function(event) {
|
||||||
can.onmotion.select(can, can._output, "fieldset.plugin", value.target)
|
can.onmotion.select(can, can._output, "fieldset.plugin", value.target)
|
||||||
can.onmotion.select(can, can._action, "div.item", event.target)
|
can.onmotion.select(can, can._action, "div.item", event.target)
|
||||||
@ -97,9 +101,9 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg,
|
|||||||
})
|
})
|
||||||
|
|
||||||
can._target.ontouchstart = function(event) { can.onengine.trigger(can, {}, "action.touch") }
|
can._target.ontouchstart = function(event) { can.onengine.trigger(can, {}, "action.touch") }
|
||||||
can.Conf({width: can._output.offsetWidth-34, height: window.innerHeight})
|
can.Conf({width: can._output.offsetWidth-33, height: window.innerHeight})
|
||||||
can.onengine.listen(can, "resize", function(width, height) {
|
can.onengine.listen(can, "resize", function(width, height) { can.Conf({width: width, height: height})
|
||||||
can.Conf({width: width-6, height: height})
|
can.onengine.trigger(can, can.request({}, {width: width, height: height}), "action.resize")
|
||||||
})
|
})
|
||||||
|
|
||||||
can.onengine.listen(can, "search", function(msg, word) {
|
can.onengine.listen(can, "search", function(msg, word) {
|
||||||
|
@ -5,8 +5,14 @@ fieldset.feel div.action {
|
|||||||
fieldset.feel div.output {
|
fieldset.feel div.output {
|
||||||
min-height:100px;
|
min-height:100px;
|
||||||
}
|
}
|
||||||
fieldset.feel div.output div.content {
|
fieldset.feel div.output img {
|
||||||
max-height:200px;
|
display:block;
|
||||||
overflow:auto;
|
float:left;
|
||||||
|
}
|
||||||
|
fieldset.feel div.output video {
|
||||||
|
display:block;
|
||||||
|
float:left;
|
||||||
|
}
|
||||||
|
fieldset.feel div.output {
|
||||||
|
min-height:100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,10 +4,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
value.path.endsWith("/")? can.path.Push(value): can.list.push(value)
|
value.path.endsWith("/")? can.path.Push(value): can.list.push(value)
|
||||||
})
|
})
|
||||||
|
|
||||||
can.onlayout.display(can, target)
|
can.ui = can.onlayout.display(can, target)
|
||||||
can.onappend.table(can, can.path, can.ui.content, "table", function(value, key, index, line, array) {
|
can.onappend.table(can, can.path, can.ui.content, "table", function(value, key) {
|
||||||
return {type: "td", inner: value, onclick: function(event) {
|
return {type: "td", inner: value, onclick: function(event) {
|
||||||
can.sup.onaction.change(event, can.sup, key, value)
|
can.sup.onaction.change(event, can.sup, key, value, function(msg) {
|
||||||
|
can.onimport._init(can, msg, list, cb, target)
|
||||||
|
})
|
||||||
}}
|
}}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -15,7 +17,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
can.page.Modify(can, can._action, {style: {display: "none"}})
|
can.page.Modify(can, can._action, {style: {display: "none"}})
|
||||||
typeof cb == "function" && cb(msg)
|
typeof cb == "function" && cb(msg)
|
||||||
|
|
||||||
can.Action("倍速", can.rate = 1)
|
can.Action("倍速", can.rate = parseInt(msg.Option("rate"))||feature["rate"]||1)
|
||||||
can.Action("起始", can.begin = parseInt(msg.Option("begin"))||feature["begin"]||0)
|
can.Action("起始", can.begin = parseInt(msg.Option("begin"))||feature["begin"]||0)
|
||||||
can.Action("数量", can.limit = parseInt(msg.Option("limit"))||feature["limit"]||6)
|
can.Action("数量", can.limit = parseInt(msg.Option("limit"))||feature["limit"]||6)
|
||||||
can.Action("高度", can.height = parseInt(msg.Option("height"))||feature["height"]||100)
|
can.Action("高度", can.height = parseInt(msg.Option("height"))||feature["height"]||100)
|
||||||
@ -33,7 +35,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
|||||||
return path
|
return path
|
||||||
},
|
},
|
||||||
file: function(can, path, index) { path = can.onimport._file(can, path, index)
|
file: function(can, path, index) { path = can.onimport._file(can, path, index)
|
||||||
var cb = can.onfigure[can.base.Ext(path)]; can.Status("文件", path)
|
var cb = can.onfigure[can.base.Ext(path)]; can.Status("file", path)
|
||||||
typeof cb == "function" && can.page.Append(can, can.ui.display, [cb(can, path, index)])
|
typeof cb == "function" && can.page.Append(can, can.ui.display, [cb(can, path, index)])
|
||||||
},
|
},
|
||||||
}, ["/plugin/local/wiki/feel.css"])
|
}, ["/plugin/local/wiki/feel.css"])
|
||||||
@ -61,20 +63,21 @@ Volcanos("onfigure", {help: "组件菜单", list: [],
|
|||||||
var order = index; function show(order) {
|
var order = index; function show(order) {
|
||||||
path = can.onimport._file(can, can.list[order].path)
|
path = can.onimport._file(can, can.list[order].path)
|
||||||
sub.page.Appends(sub, sub._output, [{img: path, height: height-55}])
|
sub.page.Appends(sub, sub._output, [{img: path, height: height-55}])
|
||||||
sub.core.Timer(100, function() { sub.Status("位置", order+1+"/"+can.list.length), sub.Status("文件", path) })
|
sub.core.Timer(100, function() { sub.Status("位置", order+1+"/"+can.list.length), sub.Status("file", path) })
|
||||||
}; show(order)
|
}; show(order)
|
||||||
|
|
||||||
sub.onappend._action(sub, ["关闭", "上一个", "设置背景", "下一个"], sub._action, {
|
sub.onappend._action(sub, ["关闭", "下载", "上一个", "下一个", "设置背景"], sub._action, {
|
||||||
"关闭": function(event) { sub.page.Remove(sub, sub._target) },
|
"关闭": function(event) { sub.page.Remove(sub, sub._target) },
|
||||||
|
"下载": function(event) { can.user.download(can, path) },
|
||||||
"上一个": function(event) { order > 0? show(--order): show(order = can.list.length-1) },
|
"上一个": function(event) { order > 0? show(--order): show(order = can.list.length-1) },
|
||||||
|
"下一个": function(event) { order < can.list.length-1? show(++order): show(order = 0) },
|
||||||
"设置背景": function(event) { var msg = can.request(event, {url: can.onimport._file(can, can.list[order].path)})
|
"设置背景": function(event) { var msg = can.request(event, {url: can.onimport._file(can, can.list[order].path)})
|
||||||
sub.run(event, ["search", "Header.onimport.background"])
|
sub.run(event, ["search", "Header.onimport.background"])
|
||||||
},
|
},
|
||||||
"下一个": function(event) { order < can.list.length-1? show(++order): show(order = 0) },
|
})
|
||||||
}), sub.onappend._status(can, ["文件"], sub._status)
|
|
||||||
}, document.body)
|
}, document.body)
|
||||||
}, _init: function(target) { can.Status("文件", path) },
|
}, _init: function(target) { can.Status("file", path) },
|
||||||
onmouseover: function(event) { can.Status("文件", path) },
|
onmouseover: function(event) { can.Status("file", path) },
|
||||||
} },
|
} },
|
||||||
|
|
||||||
video: function(can, path) { var auto = true, loop = true, total = 0
|
video: function(can, path) { var auto = true, loop = true, total = 0
|
||||||
@ -82,13 +85,11 @@ Volcanos("onfigure", {help: "组件菜单", list: [],
|
|||||||
return {className: "preview", type: "video", style: {height: can.height},
|
return {className: "preview", type: "video", style: {height: can.height},
|
||||||
data: {src: path, controls: "controls", autoplay: auto, loop: loop, playbackRate: can.rate},
|
data: {src: path, controls: "controls", autoplay: auto, loop: loop, playbackRate: can.rate},
|
||||||
oncontextmenu: cb, onplay: cb, onpause: cb, onended: cb,
|
oncontextmenu: cb, onplay: cb, onpause: cb, onended: cb,
|
||||||
onmouseover: function(event) {
|
onmouseover: function(event) { can.Status("file", path) },
|
||||||
can.Status("文件", path)
|
|
||||||
},
|
|
||||||
onloadedmetadata: function(event) { total = event.timeStamp
|
onloadedmetadata: function(event) { total = event.timeStamp
|
||||||
event.target.currentTime = can._msg.currentTime || 0
|
event.target.currentTime = can._msg.currentTime || 0
|
||||||
}, onloadeddata: cb, ontimeupdate: function(event) {
|
}, onloadeddata: cb, ontimeupdate: function(event) {
|
||||||
can.Status("文件") == path && can.Status("position", can.onexport.position(can, (can._msg.currentTime=event.target.currentTime)-1, event.target.duration))
|
can.Status("file") == path && can.Status("position", can.onexport.position(can, (can._msg.currentTime=event.target.currentTime)-1, event.target.duration))
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -113,10 +114,9 @@ Volcanos("onaction", {help: "组件菜单", list: [
|
|||||||
"下一页": function(event, can, key, value) {
|
"下一页": function(event, can, key, value) {
|
||||||
can.begin + can.limit < can.list.length && (can.begin += can.limit, can.onimport._page(can, can.list, can.begin, can.limit))
|
can.begin + can.limit < can.list.length && (can.begin += can.limit, can.onimport._page(can, can.list, can.begin, can.limit))
|
||||||
},
|
},
|
||||||
"下载": function(event, can) { can.user.download(can, can.Status("文件")) },
|
|
||||||
|
|
||||||
"参数": function(event, can) {
|
"参数": function(event, can) {
|
||||||
can.page.Modify(can, can._action, {style: {display: can._action.style.display=="none"? "block": "none"}})
|
can.page.Toggle(can, can._action)
|
||||||
},
|
},
|
||||||
"数量": function(event, can, key, value) {
|
"数量": function(event, can, key, value) {
|
||||||
can.limit = parseInt(value), can.onimport._page(can, can.list, can.begin, can.limit)
|
can.limit = parseInt(value), can.onimport._page(can, can.list, can.begin, can.limit)
|
||||||
@ -128,7 +128,7 @@ Volcanos("onaction", {help: "组件菜单", list: [
|
|||||||
can.rate = parseInt(value), can.onimport._page(can, can.list, can.begin, can.limit)
|
can.rate = parseInt(value), can.onimport._page(can, can.list, can.begin, can.limit)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos("onexport", {help: "导出数据", list: ["begin", "limit", "total", "position", "文件"],
|
Volcanos("onexport", {help: "导出数据", list: ["begin", "limit", "total", "position", "file"],
|
||||||
position: function(can, index, total) { total = total || can.max
|
position: function(can, index, total) { total = total || can.max
|
||||||
return parseInt((index+1)*100/total)+"%"+" = "+(parseInt(index)+1)+"/"+parseInt(total)
|
return parseInt((index+1)*100/total)+"%"+" = "+(parseInt(index)+1)+"/"+parseInt(total)
|
||||||
},
|
},
|
||||||
|
@ -72,7 +72,7 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg,
|
|||||||
change: function(event, can, name, value, cb) {
|
change: function(event, can, name, value, cb) {
|
||||||
can.page.Select(can, can._option, "input.args", function(input) {
|
can.page.Select(can, can._option, "input.args", function(input) {
|
||||||
if (input.name == name && value != input.value) { input.value = value;
|
if (input.name == name && value != input.value) { input.value = value;
|
||||||
var data = input.dataset || {}; data.action == "auto" && can.run(event)
|
var data = input.dataset || {}; data.action == "auto" && can.run(event, can.Pack(), cb)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user