mirror of
https://shylinux.com/x/volcanos
synced 2025-04-26 01:04:06 +08:00
opt some
This commit is contained in:
parent
b64e0bfa8a
commit
4bb09e9bd0
9
frame.js
9
frame.js
@ -220,7 +220,7 @@ Volcanos(chat.ONAPPEND, {help: "渲染引擎", _init: function(can, meta, list,
|
|||||||
can.onmotion.delay(can, function() { can.Update() })
|
can.onmotion.delay(can, function() { can.Update() })
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}; can.core.Next(can.base.getValid(can.core.Value(can, [chat.ONIMPORT, mdb.LIST]), can.base.Obj(meta.inputs)).concat([{type: html.BUTTON, name: cli.CLOSE}]), add)
|
}; can.core.Next(can.base.getValid(can.core.Value(can, [chat.ONIMPORT, mdb.LIST]), can.base.Obj(meta.inputs, [])).concat([{type: html.BUTTON, name: cli.CLOSE}]), add)
|
||||||
},
|
},
|
||||||
_action: function(can, list, action, meta) { list = can.base.Obj(can.base.getValid(list, can.core.Item(meta)), can.core.Value(can, [chat.ONACTION, mdb.LIST])); if (!list) { return }
|
_action: function(can, list, action, meta) { list = can.base.Obj(can.base.getValid(list, can.core.Item(meta)), can.core.Value(can, [chat.ONACTION, mdb.LIST])); if (!list) { return }
|
||||||
var _list = can.page.inputs(can, list); action = action||can._action, can.onmotion.clear(can, action), meta = meta||can.onaction||{}
|
var _list = can.page.inputs(can, list); action = action||can._action, can.onmotion.clear(can, action), meta = meta||can.onaction||{}
|
||||||
@ -577,8 +577,8 @@ Volcanos(chat.ONLAYOUT, {help: "页面布局", _init: function(can, target) { ta
|
|||||||
return show
|
return show
|
||||||
}
|
}
|
||||||
|
|
||||||
// var gt = "❯", lt = "❮", down = "˅", up = "˄"
|
// var gt = "❯", lt = "❮", down = "˅", up = "˄"
|
||||||
var gt = "❯", lt = "❮", down = lt, up = gt
|
var gt = "❯", lt = "❮", down = lt, up = gt
|
||||||
var ui = can.page.Append(can, target, [{view: [chat.LAYOUT, html.TABLE], list: [
|
var ui = can.page.Append(can, target, [{view: [chat.LAYOUT, html.TABLE], list: [
|
||||||
{view: [chat.PROJECT, html.TD], list: [{view: [chat.PROJECT]}]},
|
{view: [chat.PROJECT, html.TD], list: [{view: [chat.PROJECT]}]},
|
||||||
{type: html.TD, list: [
|
{type: html.TD, list: [
|
||||||
@ -663,7 +663,8 @@ Volcanos(chat.ONMOTION, {help: "动态特效", _init: function(can, target) {
|
|||||||
if (pos) { item.scrollTo && item.scrollTo(0, pos-1); return item }
|
if (pos) { item.scrollTo && item.scrollTo(0, pos-1); return item }
|
||||||
}).length > 0
|
}).length > 0
|
||||||
},
|
},
|
||||||
delay: function(can, cb, interval) { can.core.Timer(interval||300, cb) },
|
delay: function(can, cb, interval) { can.core.Timer(interval||30, cb) },
|
||||||
|
delayLong: function(can, cb, interval) { can.core.Timer(interval||300, cb) },
|
||||||
focus: function(can, target) { if (!target) { return }
|
focus: function(can, target) { if (!target) { return }
|
||||||
target.setSelectionRange && target.setSelectionRange(0, -1), target.focus()
|
target.setSelectionRange && target.setSelectionRange(0, -1), target.focus()
|
||||||
},
|
},
|
||||||
|
@ -52,7 +52,7 @@ div.output div.project div.zone>div.action>div.item { float:right; clear:none; p
|
|||||||
div.output div.project div.zone>div.action>div.item input[type=text] { background-color:#ff000000; padding-left:10px; color:white; }
|
div.output div.project div.zone>div.action>div.item input[type=text] { background-color:#ff000000; padding-left:10px; color:white; }
|
||||||
|
|
||||||
fieldset.plugin { background-color:#061c3c9e; padding:10px; margin:10px; }
|
fieldset.plugin { background-color:#061c3c9e; padding:10px; margin:10px; }
|
||||||
fieldset.float { background-color:#0e3369; color:white; position:absolute; }
|
fieldset.float { background-color:#0e3369; color:white; padding:0; margin:0; }
|
||||||
fieldset.full { background-color:#0e3369; color:white; padding:0; margin:0; left:0; top:0; overflow:auto; }
|
fieldset.full { background-color:#0e3369; color:white; padding:0; margin:0; left:0; top:0; overflow:auto; }
|
||||||
|
|
||||||
fieldset.story>legend { float:left; margin:0px; margin-right:5px; }
|
fieldset.story>legend { float:left; margin:0px; margin-right:5px; }
|
||||||
@ -72,7 +72,6 @@ fieldset.output>div.action { display:none; }
|
|||||||
fieldset.output>div.status { display:none; }
|
fieldset.output>div.status { display:none; }
|
||||||
fieldset.output div.toggle { display:none; }
|
fieldset.output div.toggle { display:none; }
|
||||||
|
|
||||||
fieldset.plugin.word fieldset.story { margin-top:10px; }
|
|
||||||
fieldset.story.full { margin-top:0px; }
|
fieldset.story.full { margin-top:0px; }
|
||||||
|
|
||||||
fieldset.input.key { overflow:auto; }
|
fieldset.input.key { overflow:auto; }
|
||||||
|
@ -4,6 +4,15 @@ Volcanos(chat.ONFIGURE, {help: "控件详情", key: {
|
|||||||
can.onfigure.key._show(can, msg, cbs, target, name)
|
can.onfigure.key._show(can, msg, cbs, target, name)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
_select: function(event, can, target) {
|
||||||
|
if (event.ctrlKey) { var sub = target._can
|
||||||
|
if (event.key <= "9" && event.key >= "0") {
|
||||||
|
can.page.Select(can, sub._output, "tr:not(.hidden) td:first-child", function(td, index) {
|
||||||
|
if (index+1 == event.key) { target.value = td.innerText }
|
||||||
|
}); return true
|
||||||
|
}
|
||||||
|
} return false
|
||||||
|
},
|
||||||
_show: function(can, msg, cbs, target, name) {
|
_show: function(can, msg, cbs, target, name) {
|
||||||
if (!can.onmotion.toggle(can, can._target, msg.Length() != 0)) { return }
|
if (!can.onmotion.toggle(can, can._target, msg.Length() != 0)) { return }
|
||||||
can.onmotion.clear(can), can.onappend.table(can, msg, function(value, key, index, line) { value = line[key]
|
can.onmotion.clear(can), can.onappend.table(can, msg, function(value, key, index, line) { value = line[key]
|
||||||
@ -46,6 +55,7 @@ Volcanos(chat.ONFIGURE, {help: "控件详情", key: {
|
|||||||
can.onfigure.key._make(event, can, meta, cb, target)
|
can.onfigure.key._make(event, can, meta, cb, target)
|
||||||
},
|
},
|
||||||
onkeyup: function(event, can, meta, cb, target, last) { var sub = target._can; if (!sub) { return }
|
onkeyup: function(event, can, meta, cb, target, last) { var sub = target._can; if (!sub) { return }
|
||||||
|
if (can.onfigure.key._select(event, can, target)) { return }
|
||||||
switch (event.key) {
|
switch (event.key) {
|
||||||
case ice.PS: can.onfigure.key._init(event, sub, sub._cbs, target, meta.name, event.target.value); break
|
case ice.PS: can.onfigure.key._init(event, sub, sub._cbs, target, meta.name, event.target.value); break
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据",
|
|||||||
})
|
})
|
||||||
can.onexport.hash(can), can.onimport.layout(can), can.base.isFunc(cb) && cb(), cb = null
|
can.onexport.hash(can), can.onimport.layout(can), can.base.isFunc(cb) && cb(), cb = null
|
||||||
msg._plugin && can.onmotion.delay(can, function() { msg._plugin.Focus() })
|
msg._plugin && can.onmotion.delay(can, function() { msg._plugin.Focus() })
|
||||||
|
can.onmotion.select(can, msg._tab.parentNode, "div.tabs", msg._tab)
|
||||||
can.onengine.signal(can, "tabview.view.show", msg)
|
can.onengine.signal(can, "tabview.view.show", msg)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -84,11 +85,12 @@ Volcanos(chat.ONSYNTAX, {help: "语法高亮", _init: function(can, msg, cb) {
|
|||||||
can.page.style(can, can.ui.profile, {display: p? p.profile_display: html.NONE})
|
can.page.style(can, can.ui.profile, {display: p? p.profile_display: html.NONE})
|
||||||
can.page.style(can, can.ui.display, {display: p? p.display_display: html.NONE})
|
can.page.style(can, can.ui.display, {display: p? p.display_display: html.NONE})
|
||||||
can.parse = can.base.Ext(can.file), can.Status("模式", "plugin")
|
can.parse = can.base.Ext(can.file), can.Status("模式", "plugin")
|
||||||
can.onengine.signal(can, "tabview.data.load", msg)
|
p && p.scrollTop && can.ui.content.scrollTo(0, p.scrollTop)
|
||||||
return can.file
|
return can.file
|
||||||
|
|
||||||
}, can.ui._content, can.ui._profile_output, can.ui.display_output)) {
|
}, can.ui._content, can.ui._profile_output, can.ui.display_output)) {
|
||||||
can.onengine.signal(can, "tabview.view.load", msg)
|
// can.onengine.signal(can, "tabview.view.load", msg)
|
||||||
|
// var scrollTop = can.ui.content.scrollTop; can.onmotion.delay(can, function() { can.ui.content.scrollTo(0, scrollTop) }, 10)
|
||||||
return can.onaction.selectLine(null, can, can.Option(nfs.LINE)), can.base.isFunc(cb) && cb(msg._content)
|
return can.onaction.selectLine(null, can, can.Option(nfs.LINE)), can.base.isFunc(cb) && cb(msg._content)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,6 +282,11 @@ Volcanos(chat.ONIMPORT, {help: "导入数据",
|
|||||||
var width = can.profile_size[can.onexport.keys(can)]||(can.ConfWidth()-can.ui.project.offsetWidth)/2
|
var width = can.profile_size[can.onexport.keys(can)]||(can.ConfWidth()-can.ui.project.offsetWidth)/2
|
||||||
can.ui.profile_output = sup._profile_output = can.ui._profile_output
|
can.ui.profile_output = sup._profile_output = can.ui._profile_output
|
||||||
can.onimport.process(can, msg, can.ui._profile_output, width, can.ui.profile.offsetHeight)
|
can.onimport.process(can, msg, can.ui._profile_output, width, can.ui.profile.offsetHeight)
|
||||||
|
can.page.Select(can, can.ui._profile_output, html.TABLE, function(target) { can.onmotion.delay(can, function() {
|
||||||
|
if (target.offsetWidth < can.ui._profile_output.offsetWidth) {
|
||||||
|
can.profile_size[can.onexport.keys(can)] = target.offsetWidth, can.onimport.layout(can)
|
||||||
|
}
|
||||||
|
}, 10) })
|
||||||
can.onappend._status(can, msg.Option(ice.MSG_STATUS), can.page.Append(can, can.ui._profile_output, [html.STATUS]).first)
|
can.onappend._status(can, msg.Option(ice.MSG_STATUS), can.page.Append(can, can.ui._profile_output, [html.STATUS]).first)
|
||||||
can.page.Select(can, can.ui._profile_output, "table.content", function(target) { can.page.style(can, target, html.MAX_HEIGHT, "1000px") })
|
can.page.Select(can, can.ui._profile_output, "table.content", function(target) { can.page.style(can, target, html.MAX_HEIGHT, "1000px") })
|
||||||
}
|
}
|
||||||
@ -288,22 +295,34 @@ Volcanos(chat.ONIMPORT, {help: "导入数据",
|
|||||||
can.onmotion.toggle(can, can.ui.profile, true), can.onimport.layout(can)
|
can.onmotion.toggle(can, can.ui.profile, true), can.onimport.layout(can)
|
||||||
},
|
},
|
||||||
display: function(can, msg) {
|
display: function(can, msg) {
|
||||||
var height = can.display_size[can.onexport.keys(can)]||{sh: can.ConfHeight()/2}[can.parse]||can.ConfHeight()/4
|
var height = can.display_size[can.onexport.keys(can)]||{sh: can.ConfHeight()/2}[can.parse]||can.ConfHeight()/2
|
||||||
if (msg) {
|
if (msg) {
|
||||||
can.onimport.process(can, msg, can.ui.display_output, can.ui.display.offsetWidth, height)
|
can.onimport.process(can, msg, can.ui.display_output, can.ui.display.offsetWidth, height)
|
||||||
can.onappend._status(can, msg.Option(ice.MSG_STATUS), can.ui.display_status)
|
can.onappend._status(can, msg.Option(ice.MSG_STATUS), can.ui.display_status)
|
||||||
|
can.onmotion.delay(can, function() {
|
||||||
|
can.page.Select(can, can.ui.display_output, html.TABLE, function(target) {
|
||||||
|
if (target.offsetHeight < can.ui.display_output.offsetHeight-3*html.ACTION_HEIGHT) {
|
||||||
|
can.display_size[can.onexport.keys(can)] = target.offsetHeight-3*html.ACTION_HEIGHT, can.onimport.layout(can)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
can.onmotion.toggle(can, can.ui.display, true), can.onimport.layout(can)
|
can.onmotion.toggle(can, can.ui.display, true), can.onimport.layout(can)
|
||||||
},
|
},
|
||||||
process: function(can, msg, target, width, height) { can.onmotion.clear(can, target), can.user.toastSuccess(can)
|
process: function(can, msg, target, width, height) { can.onmotion.clear(can, target), can.user.toastSuccess(can)
|
||||||
if (msg.Option(ice.MSG_PROCESS) == "_field") {
|
if (msg.Option(ice.MSG_PROCESS) == "_field") {
|
||||||
msg.Table(function(item) { item.display = msg.Option(ice.MSG_DISPLAY)
|
msg.Table(function(item) { item.display = msg.Option(ice.MSG_DISPLAY)
|
||||||
can.onimport.plug(can, item, target, function(sub) { width && sub.ConfWidth(width), height && sub.ConfHeight(height), sub.Focus() })
|
can.onimport.plug(can, item, target, function(sub) { width && sub.ConfWidth(width)
|
||||||
|
, height && sub.ConfHeight(height-3*html.ACTION_HEIGHT), sub.Focus() })
|
||||||
})
|
})
|
||||||
} else if (msg.Option(ice.MSG_DISPLAY) != "") {
|
} else if (msg.Option(ice.MSG_DISPLAY) != "") {
|
||||||
can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY), target, false, function(msg) { can.onmotion.delay(can, function() { can.onimport.layout(can) }) })
|
can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY), target, false, function(msg) { can.onmotion.delay(can, function() { can.onimport.layout(can) }) })
|
||||||
} else {
|
} else {
|
||||||
can.onappend.table(can, msg, null, target), can.onappend.board(can, msg, target)
|
can.onappend.table(can, msg, function(value, key, index, line, array) {
|
||||||
|
return {text: [value, html.TD], onclick: function(event) {
|
||||||
|
if (line.line || line.file) { can.onimport.tabview(can, line.path||can.Option(nfs.PATH), line.file||can.Option(nfs.FILE), line.line||can.Option(nfs.LINE)) }
|
||||||
|
}}
|
||||||
|
}, target), can.onappend.board(can, msg, target)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
@ -313,10 +332,16 @@ Volcanos(chat.ONACTION, {help: "控件交互", _trans: {link: "链接", width: "
|
|||||||
can.ui.search.Update({}, [ctx.ACTION, data.action, data.name])
|
can.ui.search.Update({}, [ctx.ACTION, data.action, data.name])
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"打开": function(event, can) {
|
"打开": function(event, can) { var msg = can.request(event, {paths: can.sup.paths.join(ice.FS)})
|
||||||
can.request()
|
can.user.input(event, can, [nfs.FILE], function(list) {
|
||||||
can.request(event, {path: can.sup.paths.join(",")})
|
if (list[0].indexOf("line:") == 0) { var ls = can.core.Split(list[0], ice.DF, ice.DF)
|
||||||
can.user.input(event, can, [nfs.FILE], function(list) { can.onimport.tabview(can, can.Option(nfs.PATH), list[0]) })
|
can.onimport.tabview(can, can.Option(nfs.PATH), can.Option(nfs.FILE), ls[1])
|
||||||
|
return
|
||||||
|
}
|
||||||
|
can.core.List(can.sup.paths, function(path) {
|
||||||
|
if (list[0].indexOf(path) == 0) { can.onimport.tabview(can, path, list[0].slice(path.length)) }
|
||||||
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
show: function(event, can) { can.request(event, {_toast: "渲染中..."})
|
show: function(event, can) { can.request(event, {_toast: "渲染中..."})
|
||||||
if (can.base.endWith(can.Option(nfs.FILE), ".js")) {
|
if (can.base.endWith(can.Option(nfs.FILE), ".js")) {
|
||||||
@ -464,8 +489,8 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
can.page.styleWidth(can, can.ui.display_output, width-project_width)
|
can.page.styleWidth(can, can.ui.display_output, width-project_width)
|
||||||
|
|
||||||
var height = can.user.isMobile && can.isFloatMode()? window.innerHeight-2*html.ACTION_HEIGHT: can.base.Min(can.ConfHeight(), 320)-1
|
var height = can.user.isMobile && can.isFloatMode()? window.innerHeight-2*html.ACTION_HEIGHT: can.base.Min(can.ConfHeight(), 320)-1
|
||||||
var display_height = can.ui.display.style.display == html.NONE? 0: (can.display_size[can.onexport.keys(can)]||120)
|
var display_height = can.ui.display.style.display == html.NONE? 0: (can.display_size[can.onexport.keys(can)]||height/2)
|
||||||
if (can.isCmdMode()) { height += html.ACTION_HEIGHT
|
if (can.isCmdMode()) { // height += html.ACTION_HEIGHT
|
||||||
var content_height = height-display_height - can.ui._tabs.offsetHeight - can.ui._path.offsetHeight - 4
|
var content_height = height-display_height - can.ui._tabs.offsetHeight - can.ui._path.offsetHeight - 4
|
||||||
can.page.style(can, can._output, html.MAX_HEIGHT, "")
|
can.page.style(can, can._output, html.MAX_HEIGHT, "")
|
||||||
} else {
|
} else {
|
||||||
|
@ -173,6 +173,9 @@ Volcanos(chat.ONSYNTAX, {help: "语法高亮",
|
|||||||
},
|
},
|
||||||
go: {
|
go: {
|
||||||
render: {},
|
render: {},
|
||||||
|
split: {
|
||||||
|
operator: "{([:.,*])}",
|
||||||
|
},
|
||||||
prefix: {
|
prefix: {
|
||||||
"//": code.COMMENT,
|
"//": code.COMMENT,
|
||||||
},
|
},
|
||||||
@ -218,6 +221,7 @@ Volcanos(chat.ONSYNTAX, {help: "语法高亮",
|
|||||||
"bool": code.DATATYPE, "error": code.DATATYPE, "chan": code.DATATYPE, "map": code.DATATYPE,
|
"bool": code.DATATYPE, "error": code.DATATYPE, "chan": code.DATATYPE, "map": code.DATATYPE,
|
||||||
|
|
||||||
"msg": code.FUNCTION, "m": code.FUNCTION,
|
"msg": code.FUNCTION, "m": code.FUNCTION,
|
||||||
|
"ice": code.FUNCTION, "kit": code.FUNCTION,
|
||||||
"init": code.FUNCTION, "main": code.FUNCTION, "print": code.FUNCTION, "println": code.FUNCTION, "panic": code.FUNCTION, "recover": code.FUNCTION,
|
"init": code.FUNCTION, "main": code.FUNCTION, "print": code.FUNCTION, "println": code.FUNCTION, "panic": code.FUNCTION, "recover": code.FUNCTION,
|
||||||
"new": code.FUNCTION, "make": code.FUNCTION, "len": code.FUNCTION, "cap": code.FUNCTION, "copy": code.FUNCTION, "append": code.FUNCTION, "delete": code.FUNCTION, "close": code.FUNCTION,
|
"new": code.FUNCTION, "make": code.FUNCTION, "len": code.FUNCTION, "cap": code.FUNCTION, "copy": code.FUNCTION, "append": code.FUNCTION, "delete": code.FUNCTION, "close": code.FUNCTION,
|
||||||
"complex": code.FUNCTION, "real": code.FUNCTION, "imag": code.FUNCTION,
|
"complex": code.FUNCTION, "real": code.FUNCTION, "imag": code.FUNCTION,
|
||||||
@ -271,6 +275,8 @@ Volcanos(chat.ONSYNTAX, {help: "语法高亮",
|
|||||||
|
|
||||||
"if": code.KEYWORD,
|
"if": code.KEYWORD,
|
||||||
"else": code.KEYWORD,
|
"else": code.KEYWORD,
|
||||||
|
"for": code.KEYWORD,
|
||||||
|
"while": code.KEYWORD,
|
||||||
"switch": code.KEYWORD,
|
"switch": code.KEYWORD,
|
||||||
"case": code.KEYWORD,
|
"case": code.KEYWORD,
|
||||||
"default": code.KEYWORD,
|
"default": code.KEYWORD,
|
||||||
@ -295,6 +301,8 @@ Volcanos(chat.ONSYNTAX, {help: "语法高亮",
|
|||||||
"false": code.CONSTANT,
|
"false": code.CONSTANT,
|
||||||
|
|
||||||
"function": code.FUNCTION,
|
"function": code.FUNCTION,
|
||||||
|
"arguments": code.FUNCTION,
|
||||||
|
"this": code.FUNCTION,
|
||||||
"Volcanos": code.FUNCTION,
|
"Volcanos": code.FUNCTION,
|
||||||
"shy": code.FUNCTION,
|
"shy": code.FUNCTION,
|
||||||
"cb": code.FUNCTION,
|
"cb": code.FUNCTION,
|
||||||
|
@ -117,6 +117,7 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互",
|
|||||||
t: shy("添加命令", function(event, can) { can.onaction["添加"](event, can) }),
|
t: shy("添加命令", function(event, can) { can.onaction["添加"](event, can) }),
|
||||||
p: shy("添加插件", function(event, can) { can.onaction["插件"](event, can) }),
|
p: shy("添加插件", function(event, can) { can.onaction["插件"](event, can) }),
|
||||||
e: shy("添加扩展", function(event, can) { can.onaction["扩展"](event, can) }),
|
e: shy("添加扩展", function(event, can) { can.onaction["扩展"](event, can) }),
|
||||||
|
f: shy("打开文件", function(event, can) { can.onaction["打开"](event, can) }),
|
||||||
|
|
||||||
i: shy("插入模式", function(event, can) { can.onkeymap._insert(event, can) }),
|
i: shy("插入模式", function(event, can) { can.onkeymap._insert(event, can) }),
|
||||||
n: shy("命令模式", function(event, can) { can.onkeymap._normal(event, can) }),
|
n: shy("命令模式", function(event, can) { can.onkeymap._normal(event, can) }),
|
||||||
|
@ -19,6 +19,7 @@ fieldset.word p.story[data-name=inner]:hover { background-color:#c10c8a; cursor:
|
|||||||
fieldset.word table.content { display:block; max-height:400px; }
|
fieldset.word table.content { display:block; max-height:400px; }
|
||||||
fieldset.word fieldset.story { margin:10px; }
|
fieldset.word fieldset.story { margin:10px; }
|
||||||
fieldset.word fieldset.story.full { margin:0px; }
|
fieldset.word fieldset.story.full { margin:0px; }
|
||||||
|
fieldset.word fieldset.story.float { margin:0px; }
|
||||||
|
|
||||||
body.white fieldset.word svg.story.auto defs marker { stroke:red; fill:red; }
|
body.white fieldset.word svg.story.auto defs marker { stroke:red; fill:red; }
|
||||||
body.white fieldset.word svg.story.auto rect { stroke:blue; fill:yellow; }
|
body.white fieldset.word svg.story.auto rect { stroke:blue; fill:yellow; }
|
||||||
|
@ -157,7 +157,7 @@ Volcanos(chat.ONDETAIL, {help: "用户交互",
|
|||||||
can.getActionSize(function(left, top, width, height) { left = left||0
|
can.getActionSize(function(left, top, width, height) { left = left||0
|
||||||
var top = can.Mode() == undefined? 120: 0; if (can.user.isMobile) { top = can.user.isLandscape()? 0: 48 }
|
var top = can.Mode() == undefined? 120: 0; if (can.user.isMobile) { top = can.user.isLandscape()? 0: 48 }
|
||||||
sub.ConfHeight(height-top-2*html.ACTION_HEIGHT-(can.user.isMobile&&!can.user.isLandscape()? 2*html.ACTION_HEIGHT: 0)), sub.ConfWidth(width)
|
sub.ConfHeight(height-top-2*html.ACTION_HEIGHT-(can.user.isMobile&&!can.user.isLandscape()? 2*html.ACTION_HEIGHT: 0)), sub.ConfWidth(width)
|
||||||
can.onmotion.move(can, sub._target, {position: html.FIXED, left: left, top: top})
|
can.onmotion.move(can, sub._target, {left: left, top: top})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -23,7 +23,11 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
cli.CLEAR, function(event) { can.onmotion.clear(can, ui.output) },
|
cli.CLEAR, function(event) { can.onmotion.clear(can, ui.output) },
|
||||||
cli.SHOW, function(event) { can.onaction[cli.SHOW](event, can) },
|
cli.SHOW, function(event) { can.onaction[cli.SHOW](event, can) },
|
||||||
action,
|
action,
|
||||||
mdb.PLUGIN, function(event) { can.user.input(event, can, [ctx.INDEX, ctx.ARGS], function(data) { can.onimport.plug(can, data, ui.output) }) },
|
mdb.PLUGIN, function(event) { can.user.input(event, can, [ctx.INDEX, ctx.ARGS], function(data) {
|
||||||
|
can.onimport.plug(can, data, ui.output, function(sub) {
|
||||||
|
sub.ConfHeight(target.offsetHeight-4*html.ACTION_HEIGHT)
|
||||||
|
})
|
||||||
|
}) },
|
||||||
)); target._toggle = function(event, show) { action[show? cli.SHOW: cli.CLOSE](event) }
|
)); target._toggle = function(event, show) { action[show? cli.SHOW: cli.CLOSE](event) }
|
||||||
return ui
|
return ui
|
||||||
},
|
},
|
||||||
@ -69,7 +73,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
|
|||||||
node = node||{"": target}; can.core.List(list, function(item) {
|
node = node||{"": target}; can.core.List(list, function(item) {
|
||||||
item[field] && can.core.List(item[field].split(split), function(value, index, array) { if (!value) { return }
|
item[field] && can.core.List(item[field].split(split), function(value, index, array) { if (!value) { return }
|
||||||
var last = array.slice(0, index).join(split), name = array.slice(0, index+1).join(split); if (node[name]) { return }
|
var last = array.slice(0, index).join(split), name = array.slice(0, index+1).join(split); if (node[name]) { return }
|
||||||
var ui = can.page.Append(can, node[last], [{view: "item", list: [{view: ["switch", "div", (index==array.length-1?"":"⌃")]}, {view: ["name", html.DIV, value+(index==array.length-1?"":"")], _init: item._init, onmouseenter: function(event) { if (!item._menu) { return }
|
var ui = can.page.Append(can, node[last], [{view: "item", list: [{view: ["switch", "div", (index==array.length-1?"":"⌃")]}, {view: ["name", html.DIV, value+(index==array.length-1?"":"")], _init: item._init, onmouseenter: function(event) { if (!item._menu) { return }
|
||||||
can.user.carteRight(event, can, item._menu.meta, item._menu.list||can.core.Item(item._meta.meta), function(event, button) {
|
can.user.carteRight(event, can, item._menu.meta, item._menu.list||can.core.Item(item._meta.meta), function(event, button) {
|
||||||
(item._menu.meta[button]||item._menu)(event, can, button)
|
(item._menu.meta[button]||item._menu)(event, can, button)
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user