mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
add searchs
This commit is contained in:
parent
fbb0ef2c5f
commit
71462d8c0e
4
frame.js
4
frame.js
@ -206,7 +206,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
||||
var button = event.target.value; meta[item[0]]? can.core.CallFunc(meta[item[0]], [event, can, item[0], button]): meta[button] && can.core.CallFunc(meta[button], [event, can, button])
|
||||
}) }}: /* 4.其它 */(item.type == html.BUTTON && (item.value = item.value||can.user.trans(can, item.name, meta._trans), item.onclick = item.onclick||function(event) {
|
||||
run(event, item.name)
|
||||
}, item._init = item._init||function(target) { if (!can.page.ClassList.has(can, can._target, chat.STORY)) { return }
|
||||
}, item._init = item._init||function(target) { if (!can.page.ClassList.has(can, can._fields||can._target, chat.STORY)) { return }
|
||||
if (can.base.isIn(item.name, mdb.CREATE, mdb.INSERT)) { can.onappend.style(can, "icons", target.parentNode)
|
||||
can.page.Append(can, target.parentNode, [{icon: item.name, onclick: function(event) { can.Update(event, [ctx.ACTION, item.name]) }}])
|
||||
}
|
||||
@ -673,6 +673,7 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) {
|
||||
resize: function(can, _window, cb, top) { var target, begin, action
|
||||
function findTarget(event) { for (var target = event.target; target; target = target.parentNode) { if (target == document.body) { target = null; return }
|
||||
if (can.page.tagis(event.target, html.INPUT, html.TEXTAREA, html.TABLE, html.TR)) { target = null; return }
|
||||
if (can.page.ClassList.has(can, target, "item")) { return }
|
||||
if (can.page.tagis(target, html.FIELDSET) || can.page.ClassList.has(can, target, "move")) { break }
|
||||
} return target }
|
||||
_window.onmousedown = function(event) { target = findTarget(event); if (!target) { return }
|
||||
@ -714,7 +715,6 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONKEYMAP, {_init: function(can, target) { target = target||document.body
|
||||
|
12
index.css
12
index.css
@ -103,13 +103,20 @@ body.zh fieldset.input.date>div.action>div.item.select.month select { width:81px
|
||||
/* icon */
|
||||
fieldset>form.option>div.icon { font-size:26px; line-height:28px; padding:0 5px; height:32px; margin:0; }
|
||||
fieldset>form.option>div.item.icons>span.icon { font-size:26px; line-height:28px; padding:0 5px; height:32px; }
|
||||
fieldset>div.action>div.item.icons>span.icon { font-size:26px; line-height:28px; padding:0 5px; height:32px; }
|
||||
fieldset>form.option>div.item.icons>span.icon.create { line-height:32px; }
|
||||
fieldset>div.action>div.item.icons>span.icon.create { line-height:32px; }
|
||||
form.option>div.icon:first-child { margin-left:-5px; }
|
||||
form.option>div.icon.refresh { line-height:26px; }
|
||||
form.option>div.icon.goback { line-height:26px; }
|
||||
form.option>div.icon.next { font-size:18px; }
|
||||
form.option>div.icon.prev { font-size:18px; }
|
||||
form.option>div.item>span.icon { margin-left:-15px; margin-right:5px; }
|
||||
div.action>div.item>span.icon { margin-left:-15px; margin-right:5px; }
|
||||
form.option>div.item.text>span.icon { margin-left:-15px; margin-right:3px; }
|
||||
form.option>div.item.select>span.icon { margin-left:-15px; margin-right:3px; visibility:hidden; }
|
||||
form.option>div.item.select:hover>span.icon { visibility:visible; }
|
||||
div.action>div.item.text>span.icon { margin-left:-15px; margin-right:3px; }
|
||||
div.action>div.item.select>span.icon { margin-left:-15px; margin-right:3px; visibility:hidden; }
|
||||
div.action>div.item.select:hover>span.icon { visibility:visible; }
|
||||
div.item.text>span.icon.delete { font-size:20px; visibility:hidden; }
|
||||
div.item.text:hover>span.icon.delete { visibility:visible; }
|
||||
div.tabs span.icon { margin-left:5px; visibility:hidden; }
|
||||
@ -119,6 +126,7 @@ div.tabs>div.select span.icon { visibility:visible; }
|
||||
div.action>div.tabs:hover span.icon { visibility:visible; }
|
||||
fieldset.plug>form.option>div.icon { margin-left:5px; }
|
||||
fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.icon { display:none; }
|
||||
fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.button>span.icon { display:none; }
|
||||
fieldset.story>form.option>div.button.icons>input { display:none; }
|
||||
fieldset.float>form.option>div.button.icons>input { display:none; }
|
||||
fieldset.full>form.option>div.button.icons>input { display:none; }
|
||||
|
@ -304,8 +304,8 @@ Volcanos("page", {
|
||||
drawText: function(can, text, size, margin) { text = text.slice(0, 1), size = size||80, margin = margin||10
|
||||
var colors = ["rgb(239,150,26)", 'rgb(255,58,201)', "rgb(111,75,255)", "rgb(36,174,34)", "rgb(80,80,80)"]
|
||||
var canvas = can.page.Create(can, html.CANVAS, {width: size, height: size}), ctx = canvas.getContext("2d")
|
||||
ctx.fillStyle = can.base.isIn(can.getHeaderTheme(), html.DARK, chat.BLACK)? cli.BLACK: cli.WHITE, ctx.fillRect(0, 0, size, size), ctx.fillStyle = colors[Math.floor(Math.random()*(colors.length))], ctx.fillRect(margin, margin, size-2*margin, size-2*margin)
|
||||
ctx.fillStyle = colors[Math.floor(Math.random()*(colors.length))], ctx.fillRect(margin, margin, size-2*margin, size-2*margin)
|
||||
ctx.fillStyle = cli.WHITE, ctx.font = (size/text.length-30)+"px Arial", ctx.textAlign = "center", ctx.textBaseline = "middle", ctx.fillText(text, size/2, size/2)
|
||||
return canvas.toDataURL(nfs.IMAGE_JPEG, 1)
|
||||
return canvas.toDataURL(nfs.IMAGE_PNG, 1)
|
||||
},
|
||||
})
|
||||
|
@ -1,5 +1,5 @@
|
||||
Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
|
||||
can.onmotion.clear(can), can.onappend.layout(can), can.base.isFunc(cb) && cb(msg)
|
||||
can.onmotion.clear(can), can.ui = can.onappend.layout(can), can.base.isFunc(cb) && cb(msg)
|
||||
!can.isCmdMode() && can.ConfHeight(window.innerHeight - 5*html.ACTION_HEIGHT - 5*html.PLUGIN_MARGIN)
|
||||
can.user.isMobile && can.ConfHeight(window.innerHeight-html.ACTION_HEIGHT)
|
||||
can.user.isMobile && can.onmotion.hidden(can, can.ui.project)
|
||||
|
@ -95,11 +95,14 @@ Volcanos(chat.ONACTION, {list: [
|
||||
"刷新界面": function(event, can) { var sub = can._outputs[0]; sub.onlayout._init(sub), can.user.toastSuccess(can) },
|
||||
"刷新数据": function(event, can) { can.Update(event, can.Input()), can.user.toastSuccess(can) },
|
||||
"切换浮动": function(event, can, button, sub) { can.onaction._switch(can, sub, chat.FLOAT, function() { can.onmotion.hidden(can, can._action), can.onmotion.hidden(can, can._status)
|
||||
can.getActionSize(function(left) { can.onmotion.move(can, can._target, {left: (left||0)+(can.user.isMobile? 0: html.PLUGIN_MARGIN), top: can.page.height()/2-html.PLUGIN_MARGIN-html.ACTION_HEIGHT}) })
|
||||
can.getActionSize(function(left, top) {
|
||||
can.onmotion.move(can, can._target, {left: (left||0)+(can.user.isMobile? 0: html.PLUGIN_MARGIN), top: can.page.height()/2-html.PLUGIN_MARGIN-html.ACTION_HEIGHT})
|
||||
can.onmotion.resize(can, can._target, function(height, width) { can.onimport.size(can, height, width) }, top)
|
||||
})
|
||||
can.ConfHeight(can.page.height()/2-can.onexport.actionHeight(can)-can.onexport.statusHeight(can)), can.ConfWidth(can.page.width()/(can.user.isMobile? 1: 2))
|
||||
}) },
|
||||
"切换全屏": function(event, can, button, sub) { can.onaction._switch(can, sub, chat.FULL, function() { can.page.style(can, can._target, html.LEFT, "", html.TOP, "", html.BOTTOM, "")
|
||||
can.ConfHeight(can.page.height()-can.onexport.actionHeight(can)-can.onexport.statusHeight(can)), can.ConfWidth(can.page.width())
|
||||
"切换全屏": function(event, can, button, sub) { can.onaction._switch(can, sub, chat.FULL, function() { can.page.style(can, can._target, html.LEFT, "", html.TOP, can.onexport.marginTop(), html.BOTTOM, "")
|
||||
can.ConfHeight(can.page.height()-can.onexport.marginTop()-can.onexport.actionHeight(can)-can.onexport.statusHeight(can)), can.ConfWidth(can.page.width())
|
||||
}) },
|
||||
"远程控制": function(event, can) { can.onaction.keyboard(event, can) },
|
||||
"共享工具": function(event, can) { var meta = can.Conf(); can.onmotion.share(event, can, [
|
||||
@ -191,9 +194,11 @@ Volcanos(chat.ONACTION, {list: [
|
||||
}) },
|
||||
})
|
||||
Volcanos(chat.ONEXPORT, {
|
||||
args: function(can) { return can.page.SelectArgs(can, can._option, "", function(target) { return target.value }) },
|
||||
output: function(can, msg) {},
|
||||
action: function(can, button, line) {},
|
||||
record: function(can, value, key, line) {},
|
||||
marginTop: function() { return 0 },
|
||||
actionHeight: function(can) { return can.page.ClassList.has(can, can._target, html.OUTPUT)? 0: html.ACTION_HEIGHT },
|
||||
statusHeight: function(can) { return can.page.ClassList.has(can, can._target, html.OUTPUT) || !can.page.isDisplay(can._status) || can._status.innerHTML == "" || (can._target.offsetHeight > 0 && can._status.offsetHeight == 0)? 0: html.ACTION_HEIGHT },
|
||||
title: function(can, title) { can.isCmdMode() && can.user.title(title) },
|
||||
|
3
proto.js
3
proto.js
@ -130,6 +130,7 @@ var nfs = {
|
||||
PWD: "./", SRC: "src/", USR: "usr/",
|
||||
|
||||
IMAGE_JPEG: "image/jpeg",
|
||||
IMAGE_PNG: "image/png",
|
||||
}
|
||||
var cli = {
|
||||
PWD: "pwd", SYSTEM: "system", DAEMON: "daemon", ORDER: "order", BUILD: "build",
|
||||
@ -254,6 +255,8 @@ var html = {PLUGIN_MARGIN: 10, ACTION_HEIGHT: 32, ACTION_MARGIN: 200,
|
||||
SPAN_NAME: "span.name",
|
||||
DIV_LAYOUT: "div.layout",
|
||||
DIV_EXPAND: "div.expand",
|
||||
DIV_DESKTOP: "div.desktop",
|
||||
DESKTOP: "desktop",
|
||||
}
|
||||
var lang = {
|
||||
SPACE: "space", UNDEFINED: "undefined", STRING: "string", NUMBER: "number", BOOLEAN: "boolean", FUNCTION: "function", OBJECT: "object", ARRAY: "array",
|
||||
|
Loading…
x
Reference in New Issue
Block a user