mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
opt IE9
This commit is contained in:
parent
8c2eb17215
commit
4a03a7d29a
95
frame.js
95
frame.js
@ -215,7 +215,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
|
||||
meta.inputs && sub.onappend._option(sub, meta, sub._option)
|
||||
typeof cb == "function" && cb(sub)
|
||||
})
|
||||
}); return sub
|
||||
},
|
||||
_option: function(can, meta, option) { var index = -1, args = can.base.Obj(meta.args||meta.arg, [])
|
||||
meta.option = can.base.Obj(meta.option||"{}", {})
|
||||
@ -253,7 +253,8 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
_action: function(can, list, action, meta) { action = action || can._action, meta = meta || can.onaction
|
||||
can.core.List(list, function(item) { can.onappend.input(can, item == ""? /*空白*/ {type: "space"}:
|
||||
typeof item == "string"? /*按键*/ {type: "button", value: item, onclick: function(event) {
|
||||
can.core.CallFunc(meta[item]||meta["_engine"], [event, can, item])
|
||||
var cb = meta[item]||meta["_engine"]
|
||||
cb? can.core.CallFunc(cb, [event, can, item]): can.run(event, ["action",item])
|
||||
|
||||
}}: item.length > 0? /*列表*/ {type: "select", name: item[0], values: item.slice(1), onchange: function(event) {
|
||||
var which = item[event.target.selectedIndex+1]
|
||||
@ -319,6 +320,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
table.onaction && table.onappend._action(table, msg._action||meta._action||table.onaction.list)
|
||||
table.ondetail && table.onappend._detail(table, msg._detail||meta._detail||table.ondetail.list)
|
||||
table.onexport && table.onappend._status(table, msg._export||meta._export||table.onexport.list)
|
||||
|
||||
}, can._output)
|
||||
})
|
||||
})
|
||||
@ -331,9 +333,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
})
|
||||
},
|
||||
_status: function(can, list, status) { status = status || can._status
|
||||
can.core.List(list, function(item) {
|
||||
can.page.Append(can, status, [{view: "item "+item, title: item, list: [
|
||||
{text: [item, "label"]}, {text: [": ", "label"]}, {text: ["", "span"]},
|
||||
can.core.List(list, function(item) { item = typeof item == "object"? item: {name: item}
|
||||
can.page.Append(can, status, [{view: "item "+item.name, title: item.name, list: [
|
||||
{text: [item.name, "label"]}, {text: [": ", "label"]}, {text: [(item.value||"")+"", "span", item.name]},
|
||||
], }])
|
||||
})
|
||||
},
|
||||
@ -358,7 +360,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
},
|
||||
field: function(can, type, item, target) { type = type || "input", item = item || {}
|
||||
return can.page.Append(can, target||can._output, [{view: [(type||"")+" "+(item.name||"")+" "+(item.pos||""), "fieldset"], list: [
|
||||
item.pos? undefined: {text: [(item.nick||item.name||"").split(" ")[0]+"("+(item.help||"").split(" ")[0]+")", "legend"]},
|
||||
{text: [(item.nick||item.name||"").split(" ")[0]+"("+(item.help||"").split(" ")[0]+")", "legend"]},
|
||||
{view: ["option", "form"]}, {view: ["action"]}, {view: ["output"]}, {view: ["status"]},
|
||||
]}])
|
||||
},
|
||||
@ -416,17 +418,19 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
var list = can.core.Split(key, "@=", "@=")
|
||||
var pkey = list[0], pval = list[1]||""
|
||||
|
||||
target.type != "button" && target.value && target.value.startsWith("@") && (target.value = pval||"")
|
||||
|
||||
target.type != "button" && target.value && target.value.indexOf("@") == 0 && (target.value = pval||"")
|
||||
pkey && can.require(["/plugin/input/"+pkey+".js"], function(can) {
|
||||
can.onfigure && can.core.Item(can.onfigure[pkey], function(key, cb) { if (key.startsWith("on")) {
|
||||
target[key] = function(event) {
|
||||
can._figure && can.page.Remove(can, can._figure.fieldset)
|
||||
var figure = can.onappend.field(can, "input "+pkey, {}, document.body)
|
||||
can._figure = figure; can.onlayout.figure(can, figure, event)
|
||||
can.onfigure && can.core.Item(can.onfigure[pkey], function(key, cb) { if (key.indexOf("on") == 0) {
|
||||
target[key] = function(event) { can._figure && can.page.Remove(can, can._figure._target)
|
||||
can.onappend._init(can, {type: "input", name: pkey, pos: "float"}, [], function(sub) {
|
||||
sub.Conf(meta), sub.run = function(event, cmds, cb) {
|
||||
var msg = sub.request(event, can.Option());
|
||||
(meta.run||can.run)(event, cmds, cb, true)
|
||||
}, can._figure = sub
|
||||
|
||||
meta.run = meta.run||can.run
|
||||
cb(event, can, meta, target, figure)
|
||||
meta.style && sub.page.Modify(sub, sub._target, {style: meta.style})
|
||||
cb(event, sub, meta, target)
|
||||
}, document.body)
|
||||
}
|
||||
} })
|
||||
})
|
||||
@ -461,7 +465,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
|
||||
}, target)
|
||||
},
|
||||
}, [], function(can) {})
|
||||
Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, target, width, height) {
|
||||
Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can) {
|
||||
var target = document.body, width = window.innerWidth, height = window.innerHeight
|
||||
|
||||
can.page.Select(can, target, ["fieldset.head", "fieldset.foot"], function(field) {
|
||||
can.page.Modify(can, field, {style: {display: can.user.isMobile && width > height? "none": ""}})
|
||||
height -= field.offsetHeight
|
||||
@ -488,24 +494,21 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe
|
||||
topic: function(can, topic) { topic && (can._topic = topic)
|
||||
can.user.topic(can, can._topic || can.user.Search(can, "topic") || ((can.user.Search(can, "pod")||can.base.isNight())? "black": "white"))
|
||||
},
|
||||
figure: function(can, ui, event) { var p = ui.fieldset
|
||||
var layout = {top: event.clientY+10, left: event.clientX}
|
||||
figure: function(can, event) { var p = can._target
|
||||
var layout = {left: event.clientX, top: event.clientY+10}
|
||||
can.page.Modify(can, p, {style: layout})
|
||||
|
||||
can.onmotion.move(can, p, layout)
|
||||
can.page.Remove(can, ui.legend)
|
||||
|
||||
var left = p.offsetLeft
|
||||
if (p.offsetLeft+p.offsetWidth > window.innerWidth) {
|
||||
var left = p.offsetLeft; if (p.offsetLeft+p.offsetWidth > window.innerWidth) {
|
||||
left = window.innerWidth - p.offsetWidth
|
||||
}
|
||||
if (left < 120) { left = 120 }
|
||||
can.page.Modify(can, p, {style: {left: left}})
|
||||
},
|
||||
background: function(can, url, target) { target = target || document.body
|
||||
can.page.Modify(can, target, {style: {background: url == "" || url == "void"? "": 'url("'+url+'")'}})
|
||||
},
|
||||
} if (left < 120) { left = 120 }
|
||||
|
||||
var top = p.offsetTop; if (p.offsetTop+p.offsetHeight > window.innerHeight) {
|
||||
top = window.innerHeight - p.offsetHeight
|
||||
} if (top < 32) { top = 32 }
|
||||
|
||||
can.page.Modify(can, p, {style: {left: left, top: top}})
|
||||
},
|
||||
resize: function(can, name, cb) {
|
||||
var list = []; can.onengine.listen(can, name, function(width, height) {
|
||||
can.Conf({width: width, height: height}), can.core.Delay(list, 100, function() {
|
||||
@ -513,28 +516,26 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe
|
||||
})
|
||||
})
|
||||
},
|
||||
profile: function(can, target) { target = target || can._target
|
||||
return can.page.Append(can, target, [{view: ["void", "table"], list: [{type: "tr", list: [
|
||||
{type: "td", list: [{view: ["project"]}]},
|
||||
background: function(can, url, target) { target = target || document.body
|
||||
can.page.Modify(can, target, {style: {background: url == "" || url == "void"? "": 'url("'+url+'")'}})
|
||||
},
|
||||
|
||||
profile: function(can, target) { target = target || can._output
|
||||
return can.page.Append(can, target, [{view: ["layout", "table"], list: [
|
||||
{view: ["project", "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"]}]}
|
||||
]}
|
||||
]}
|
||||
{type: "tr", list: [{type: "tr", list: [
|
||||
{view: ["content", "td"], list: [{view: ["content"]}]},
|
||||
{view: ["profile", "td"], list: [{view: ["profile"]}]},
|
||||
]}]},
|
||||
{view: ["display", "tr"], list: [{view: ["display"]}]}
|
||||
]}
|
||||
]}] }])
|
||||
] }])
|
||||
},
|
||||
project: function(can, target) { target = target || can._target
|
||||
return can.page.Append(can, target, [{view: ["void", "table"], list: [{type: "tr", list: [
|
||||
return can.page.Append(can, target, [{view: ["layout", "table"], list: [{type: "tr", list: [
|
||||
{type: "td", list: [{view: "project", style: {display: "none"}}]}, {type: "td", list: [
|
||||
{view: ["void", "table"], list: [
|
||||
{view: ["layout", "table"], list: [
|
||||
{type: "tr", list: [{view: "content"}]},
|
||||
{type: "tr", list: [{view: "display"}]},
|
||||
]}
|
||||
@ -542,7 +543,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe
|
||||
]}] }])
|
||||
},
|
||||
display: function(can, target) { target = target || can._target
|
||||
return can.page.Appends(can, target, [{view: ["void", "table"], list: [
|
||||
return can.page.Appends(can, target, [{view: ["layout", "table"], list: [
|
||||
{type: "tr", list: [{view: "content"}]},
|
||||
{type: "tr", list: [{view: "display"}]},
|
||||
]}])
|
||||
|
@ -3,7 +3,7 @@ Volcanos("base", {help: "基础模块",
|
||||
Obj: function(value, def) {
|
||||
try {
|
||||
return (typeof value == "string" && value != ""? JSON.parse(value): value) || def || {}
|
||||
} catch {
|
||||
} catch (e) {
|
||||
return [value]
|
||||
}
|
||||
},
|
||||
|
@ -1,5 +1,5 @@
|
||||
Volcanos("misc", {help: "工具模块", Message: function(event, can) { var msg = {}
|
||||
msg.__proto__ = {_event: event, _can: can,
|
||||
var proto = {_event: event, _can: can,
|
||||
Option: function(key, val) {
|
||||
if (key == undefined) { return msg && msg.option || [] }
|
||||
if (typeof key == "object") { can.core.Item(key, msg.Option) }
|
||||
@ -69,6 +69,8 @@ Volcanos("misc", {help: "工具模块", Message: function(event, can) { var msg
|
||||
return msg.append && msg.append[0] && msg[msg.append[0]] && msg[msg.append[0]].length || 0
|
||||
},
|
||||
}
|
||||
|
||||
for (var k in proto) { msg[k] = proto[k] }
|
||||
return msg
|
||||
},
|
||||
POST: shy("请求后端", {order: 0}, function(can, msg, url, form, cb) {
|
||||
|
@ -28,7 +28,7 @@ Volcanos("page", {help: "网页模块",
|
||||
var item = obj && obj.querySelectorAll(key)
|
||||
return can.core.List(item, cb, interval, cbs)
|
||||
}),
|
||||
Modify: shy("修改节点", function(can, target, value) {
|
||||
Modify: shy("修改节点", function(can, target, value) { target = target || {}
|
||||
target = typeof target == "string"? document.querySelector(target): target
|
||||
typeof value == "string"? (target.innerHTML = value): can.core.Item(value, function(key, value) {
|
||||
typeof value != "object"? (target[key] = value): can.core.Item(value, function(sub, value) {
|
||||
@ -176,7 +176,8 @@ Volcanos("page", {help: "网页模块",
|
||||
value.last = node, value.first = value.first || node, value[name||""] = value[data.className||""] = value[type] = node
|
||||
item.list && can.page.Append(can, node, item.list, value)
|
||||
typeof item._init == "function" && item._init(node)
|
||||
target && target.append && target.append(node)
|
||||
target && target.append && target.appendChild(node)
|
||||
target.appendChild(node)
|
||||
})
|
||||
return value
|
||||
}),
|
||||
@ -281,7 +282,7 @@ Volcanos("page", {help: "网页模块",
|
||||
},
|
||||
|
||||
Display: function(text) { if (typeof text != "string") { return "" }
|
||||
if (text.startsWith("http://") || text.startsWith("https://") || text.startsWith("ftp://")) {
|
||||
if (text.indexOf("http://") == 0 || text.indexOf("https://") == 0 || text.indexOf("ftp://") == 0) {
|
||||
var ls = text.split(" ")
|
||||
return "<a href='"+ls[0]+"' target='_blank'>"+ls[0]+"</a>"+ls.slice(1).join(" ")
|
||||
}
|
||||
|
@ -205,7 +205,10 @@ Volcanos("user", {help: "用户模块", agent: {
|
||||
can.run(event, cmds, cb, true)
|
||||
}
|
||||
|
||||
function _init(target) { can.onappend.figure(can, item, item.value, target) }
|
||||
function _init(target) {
|
||||
can.onappend.figure(can, item, item.value, target)
|
||||
target.value = target.value||msg.Option(item.name)
|
||||
}
|
||||
|
||||
return {type: ["tr"], list: [
|
||||
{type: "td", list: [{text: typeof item == "string"? item: item.length > 0? item[0]: item.name || ""}]},
|
||||
|
@ -43,11 +43,17 @@ body {
|
||||
fieldset {
|
||||
margin:0; border:0; padding:0;
|
||||
}
|
||||
fieldset.pane>legend {
|
||||
display:none;
|
||||
}
|
||||
fieldset.plugin {
|
||||
box-shadow:2px 2px 10px 4px #626bd0;
|
||||
background-color:#061c3c9e;
|
||||
margin:10px; padding:10px;
|
||||
}
|
||||
fieldset.input>legend {
|
||||
display:none;
|
||||
}
|
||||
legend {
|
||||
box-shadow:4px 4px 20px 4px #626bd0;
|
||||
cursor:pointer;
|
||||
@ -81,39 +87,29 @@ option {
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
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 {
|
||||
table.content {
|
||||
border:0; white-space:pre;
|
||||
font-size:14px; font-family:monospace;
|
||||
cursor:pointer; overflow: auto;
|
||||
}
|
||||
table tr {
|
||||
table.content tr {
|
||||
background-color:#04272f45;
|
||||
}
|
||||
table th {
|
||||
table.content th {
|
||||
background-color:#0fbd45;
|
||||
padding:2px 6px;
|
||||
}
|
||||
table td {
|
||||
table.content td {
|
||||
max-width:1200px; overflow:auto;
|
||||
padding:2px 6px;
|
||||
}
|
||||
table td.select {
|
||||
table.content td.select {
|
||||
background-color:red;
|
||||
}
|
||||
table td.select {
|
||||
table.content td.select {
|
||||
background-color:red;
|
||||
}
|
||||
table td.done {
|
||||
table.content td.done {
|
||||
background-color:green;
|
||||
}
|
||||
|
||||
@ -143,7 +139,7 @@ h3:hover {
|
||||
cursor:pointer;
|
||||
}
|
||||
div.code {
|
||||
background-color:#343a34c4; color:white;
|
||||
background-color:#343a3445; color:white;
|
||||
font-size:14px; font-family:monospace;
|
||||
box-shadow: 4px 4px 20px 4px #626bd0;
|
||||
padding:10px; border:solid 3px green;
|
||||
@ -216,6 +212,26 @@ fieldset>div.status>div.item>label {
|
||||
font-size:10px; color:gray;
|
||||
}
|
||||
|
||||
table.layout>tr {
|
||||
margin:0;border:0;padding:0;
|
||||
}
|
||||
table.layout>tr>th {
|
||||
margin:0;border:0;padding:0;
|
||||
}
|
||||
table.layout>tr>td {
|
||||
margin:0;border:0;padding:0;
|
||||
}
|
||||
|
||||
fieldset>div.output td.project {
|
||||
background-color:#435f8c8c;
|
||||
}
|
||||
fieldset>div.output td.profile {
|
||||
background-color:#71909c91;
|
||||
}
|
||||
fieldset>div.output tr.display {
|
||||
background-color:#71909c91;
|
||||
}
|
||||
|
||||
fieldset>div.output {
|
||||
clear:both; overflow:auto;
|
||||
position:relative;
|
||||
@ -231,7 +247,10 @@ fieldset>div.output div.project div.item {
|
||||
clear:both; cursor:pointer;
|
||||
}
|
||||
fieldset>div.output div.project div.item:hover {
|
||||
background:red;
|
||||
background-color:red;
|
||||
}
|
||||
fieldset>div.output div.project div.item.select {
|
||||
background-color:red;
|
||||
}
|
||||
fieldset>div.output div.project div.list {
|
||||
margin-left:10px;
|
||||
|
@ -18,9 +18,9 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg)
|
||||
})
|
||||
}, can._plugins = (can._plugins||[]).concat([sub])
|
||||
|
||||
can.page.Modify(can, sub._target, {style: {"max-width": item.width}})
|
||||
can.page.Modify(can, sub._output, {style: {"max-width": item.width-40}})
|
||||
can.onengine.listen(can, "action.resize", function(width, height) {
|
||||
can.page.Modify(can, sub._target, {style: {"max-width": item.width = width}})
|
||||
can.page.Modify(can, sub._output, {style: {"max-width": item.width = width-40}})
|
||||
})
|
||||
|
||||
can.page.Append(can, can._action, [{view: ["item", "div", item.name], onclick: function(event) {
|
||||
@ -77,9 +77,12 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg,
|
||||
can.onengine.signal(can, "action.touch", can.request(event))
|
||||
}
|
||||
|
||||
can.Conf({width: can._output.offsetWidth-33, height: window.innerHeight})
|
||||
can.onengine.listen(can, "resize", function(width, height) { can.Conf({width: width, height: height})
|
||||
can.onengine.signal(can, "action.resize", can.request({}, {width: width, height: height}))
|
||||
var list = []; can.onengine.listen(can, "resize", function(width, height) {
|
||||
can.Conf({width: width, height: height}), can.core.Delay(list, 1000, function() {
|
||||
can.onengine.signal(can, "action.resize", can.request({}, {
|
||||
width: can.Conf("width"), height: can.Conf("height"),
|
||||
}))
|
||||
})
|
||||
})
|
||||
|
||||
can.run({}, ["search", "Header.onimport.menu", "action",
|
||||
|
@ -6,7 +6,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
"black": "黑色主题",
|
||||
"white": "白色主题",
|
||||
"print": "打印主题",
|
||||
"void": "清除背景",
|
||||
"clear": "清除背景",
|
||||
"pack": "打包页面",
|
||||
"logout": "退出",
|
||||
}
|
||||
@ -171,13 +171,13 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg,
|
||||
|
||||
river: function(event, can) { can.run(event, ["search", "River.onmotion.toggle"]) },
|
||||
setting: function(event, can) {
|
||||
var ui = can.user.carte(event, can, can.onaction, ["black", "white", "print", "void", "pack"])
|
||||
var ui = can.user.carte(event, can, can.onaction, ["black", "white", "print", "clear", "pack"])
|
||||
can.page.Modify(can, ui.first, {style: {top: can._target.offsetHeight}})
|
||||
},
|
||||
black: function(event, can, button) { can.onlayout.topic(can, button) },
|
||||
white: function(event, can, button) { can.onlayout.topic(can, button) },
|
||||
print: function(event, can, button) { can.onlayout.topic(can, "white print") },
|
||||
void: function(event, can, button) { can.onimport.background(event, can, button) },
|
||||
clear: function(event, can, button) { can.onimport.background(event, can, button) },
|
||||
pack: function(event, can) {
|
||||
can.core.Item(Volcanos.meta.pack, function(key, msg) { delete(msg._event), delete(msg._can) })
|
||||
var msg = can.request(event, {name: "demo", content: JSON.stringify(Volcanos.meta.pack)})
|
||||
|
@ -76,7 +76,7 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg,
|
||||
can.sublist[river] = list
|
||||
})
|
||||
},
|
||||
action: function(event, can, river, storm) {
|
||||
action: function(event, can, river, storm) { can.onlayout._init(can)
|
||||
can.onengine.signal(can, "storm.select", can.request(event, {
|
||||
river: can.Conf("river", river), storm: can.Conf("storm", storm),
|
||||
}))
|
||||
|
@ -1,59 +1,46 @@
|
||||
Volcanos("onfigure", {help: "控件详情", list: [], date: {onclick: function(event, can, item, target, figure) {
|
||||
item.style && can.page.Modify(can, figure.fieldset, {style: item.style})
|
||||
|
||||
// 设置输入
|
||||
function set(now) {
|
||||
target.value = can.base.Time(now)
|
||||
Volcanos("onfigure", {help: "控件详情", list: [], date: {onclick: function(event, can, item, target) {
|
||||
function set(now) { target.value = can.base.Time(now), can.page.Remove(can, can._target)
|
||||
item && item.action == "auto" && can.run({})
|
||||
}
|
||||
|
||||
figure.table = can.page.Append(can, figure.output, [{type: "table"}]).first
|
||||
|
||||
// 添加控件
|
||||
var now = target.value? new Date(target.value): new Date()
|
||||
var control = can.page.AppendAction(can, figure.action, ["关闭",
|
||||
["hour"].concat(can.core.List(24)), ["minute"].concat(can.core.List(0, 60, 5)), ["second"].concat(can.core.List(0, 60, 5)), {view: ["", "br"]},
|
||||
"今天", {type: "hr", style: {margin: 0}},
|
||||
"上一月", ["year"].concat(can.core.List(now.getFullYear() - 10, now.getFullYear() + 10)),
|
||||
["month"].concat(can.core.List(1, 13)), "下一月", {view: ["", "br"]},
|
||||
], function(event, value, cmd) { can.stick = true
|
||||
// 设置时间
|
||||
switch (cmd) {
|
||||
case "year": now.setFullYear(parseInt(value)), show(now); return
|
||||
case "month": now.setMonth(parseInt(value)-1), show(now); return
|
||||
case "hour": now.setHours(parseInt(value)), set(show(now)); return
|
||||
case "minute": now.setMinutes(parseInt(value)), set(show(now)); return
|
||||
case "second": now.setSeconds(parseInt(value)), set(show(now)); return
|
||||
}
|
||||
can.onappend._action(can, ["关闭",
|
||||
["hour"].concat(can.core.List(24)), ["minute"].concat(can.core.List(0, 60, 5)), ["second"].concat(can.core.List(0, 60, 5)),
|
||||
"今天", "", "上一月", ["year"].concat(can.core.List(now.getFullYear() - 10, now.getFullYear() + 10)),
|
||||
["month"].concat(can.core.List(1, 13)), "下一月",
|
||||
], can._action, {
|
||||
"关闭": function(event) { can.page.Remove(can, can._target) },
|
||||
"hour": function(event, can, key, value) { now.setHours(parseInt(value)), show(now) },
|
||||
"minute": function(event, can, key, value) { now.setMinutes(parseInt(value)), show(now) },
|
||||
"second": function(event, can, key, value) { now.setSeconds(parseInt(value)), show(now) },
|
||||
"今天": function(event) { now = new Date(), set(show(now)) },
|
||||
|
||||
// 设置日期
|
||||
switch (value) {
|
||||
case "关闭": can.page.Remove(can, figure.fieldset); break
|
||||
case "今天": now = new Date(), set(show(now)); break
|
||||
case "随机": now.setDate((Math.random() * 100 - 50) + now.getDate()), set(show(now)); break
|
||||
case "关闭": can.page.Remove(can, figure.first)
|
||||
case "前一年": now.setFullYear(now.getFullYear()-1), show(now); break
|
||||
case "后一年": now.setFullYear(now.getFullYear()+1), show(now); break
|
||||
case "上一月": now.setMonth(now.getMonth()-1), show(now); break
|
||||
case "下一月": now.setMonth(now.getMonth()+1), show(now); break
|
||||
}
|
||||
"上一月": function(event) { now.setMonth(now.getMonth()-1), show(now) },
|
||||
"year": function(event, can, key, value) { now.setFullYear(parseInt(value)), show(now) },
|
||||
"month": function(event, can, key, value) { now.setMonth(parseInt(value)-1), show(now) },
|
||||
"下一月": function(event) { now.setMonth(now.getMonth()+1), show(now) },
|
||||
|
||||
"随机": function(event) { now.setDate((Math.random() * 100 - 50) + now.getDate()), show(now) },
|
||||
"前一年": function(event) { now.setFullYear(now.getFullYear()-1), show(now) },
|
||||
"后一年": function(event) { now.setFullYear(now.getFullYear()+1), show(now) },
|
||||
})
|
||||
|
||||
function show(now) {
|
||||
can._table = can.page.Append(can, can._output, [{view: ["content", "table"]}]).first
|
||||
var today = new Date(); function show(now) {
|
||||
// 设置控件
|
||||
control.month.value = now.getMonth()+1
|
||||
control.year.value = now.getFullYear()
|
||||
control.hour.value = now.getHours()
|
||||
control.minute.value = parseInt(now.getMinutes()/5)*5
|
||||
control.second.value = parseInt(now.getSeconds()/5)*5
|
||||
can.Action("month", now.getMonth()+1)
|
||||
can.Action("year", now.getFullYear())
|
||||
can.Action("hour", now.getHours())
|
||||
can.Action("minute", parseInt(now.getMinutes()/5)*5)
|
||||
can.Action("second", parseInt(now.getSeconds()/5)*5)
|
||||
|
||||
// 设置组件
|
||||
can.page.Appends(can, figure.table, [{type: "tr", list: can.core.List(["日", "一", "二", "三", "四", "五", "六"], function(day) {return {text: [day, "th"]}})}])
|
||||
var tr; function add(day, type) {if (day.getDay() == 0) {tr = can.page.Append(can, figure.table, [{type: "tr"}]).tr}
|
||||
can.page.Append(can, tr, [{text: [day.getDate(), "td", can.base.Time(day).split(" ")[0] == can.base.Time(now).split(" ")[0]? "select": type],
|
||||
dataset: {date: day.getTime()}, click: function(event) {
|
||||
can.page.Appends(can, can._table, [{th: ["日", "一", "二", "三", "四", "五", "六"]}])
|
||||
var tr; function add(day, type) { if (day.getDay() == 0) { tr = can.page.Append(can, can._table, [{type: "tr"}]).last }
|
||||
can.page.Append(can, tr, [{text: [day.getDate(), "td", can.base.Time(today, "%y-%m-%d") == can.base.Time(day, "%y-%m-%d")? "select": type],
|
||||
dataset: {date: day.getTime()}, onclick: function(event) {
|
||||
set(now = new Date(parseInt(event.target.dataset.date)))
|
||||
can.page.Remove(can, figure.fieldset)
|
||||
},
|
||||
}])
|
||||
}
|
||||
@ -68,7 +55,8 @@ Volcanos("onfigure", {help: "控件详情", list: [], date: {onclick: function(e
|
||||
for (var day = new Date(head); day < one; day.setDate(day.getDate()+1)) {add(day, "last")}
|
||||
for (var day = new Date(one); day < end; day.setDate(day.getDate()+1)) {add(day, "main")}
|
||||
for (var day = new Date(end); end.getDay() != 0 && day < tail; day.setDate(day.getDate()+1)) {add(day, "next")}
|
||||
return now
|
||||
}; show(now)
|
||||
}} }, [])
|
||||
|
||||
can.onlayout.figure(can, event); return now
|
||||
}; show(now)
|
||||
}} }, ["/plugin/input/date.css"])
|
||||
|
||||
|
@ -1,21 +1,18 @@
|
||||
Volcanos("onfigure", {help: "控件详情", list: [], key: {onclick: function(event, can, item, target, figure) { function run() {
|
||||
var msg = can.request(event, can.Option())
|
||||
item.run(event, ["action", "inputs", item.name, target.value], function(msg) {
|
||||
if (!msg.append) { return }
|
||||
Volcanos("onfigure", {help: "控件详情", list: [], key: {onclick: function(event, can, item, target) {
|
||||
can.run(event, ["action", "inputs", item.name, target.value], function(msg) {
|
||||
if (msg.Length() == 0) { return can.page.Remove(can, can._target) }
|
||||
|
||||
can.onappend._action(can, ["关闭", "清空"], figure.action, {
|
||||
"关闭": function(event) { can.page.Remove(can, figure.fieldset) },
|
||||
can.onappend._action(can, ["关闭", "清空"], can._action, {
|
||||
"关闭": function(event) { can.page.Remove(can, can._target) },
|
||||
"清空": function(event) { target.value = "" },
|
||||
})
|
||||
|
||||
can.onappend.table(can, msg, function(value, key, index, line) {
|
||||
return {type: "td", inner: value, onclick: function() {
|
||||
target.value = value, msg.Option("_refresh") && run()
|
||||
can.page.Remove(can, figure.fieldset)
|
||||
can.onappend.table(can, msg, function(value) {
|
||||
return {text: [value, "td"], onclick: function() {
|
||||
target.value = value, can.page.Remove(can, can._target)
|
||||
}}
|
||||
}, figure.output)
|
||||
|
||||
can.onlayout.figure(can, figure, event)
|
||||
}, true)
|
||||
}; run() }}, }, [])
|
||||
}), can.Status("count", msg.Length())
|
||||
can.onlayout.figure(can, event)
|
||||
})
|
||||
}}})
|
||||
|
||||
|
@ -1,16 +1,15 @@
|
||||
Volcanos("onfigure", {help: "控件详情", list: [], province: {onclick: function(event, can, item, target, figure) {
|
||||
Volcanos("onfigure", {help: "控件详情", list: [], province: {onclick: function(event, can, item, target) {
|
||||
can.require(["/require/github.com/shylinux/echarts/echarts.js","/require/github.com/shylinux/echarts/china.js"], function() {
|
||||
can.onappend._action(can, ["关闭", "清空"], figure.action, {
|
||||
"关闭": function(event) { can.page.Remove(can, figure.fieldset) },
|
||||
can.onappend._action(can, ["关闭", "清空"], can._action, {
|
||||
"关闭": function(event) { can.page.Remove(can, can._target) },
|
||||
"清空": function(event) { target.value = "" },
|
||||
})
|
||||
|
||||
var china_chart = echarts.init(can.page.Append(can, figure.output, [{type: "div", style: {width: "600px", height: "400px"}}]).first);
|
||||
var china_chart = echarts.init(can.page.Append(can, can._output, [{type: "div", style: {width: "600px", height: "400px"}}]).first)
|
||||
china_chart.setOption({geo: {map: 'china'}}), china_chart.on('click', function (params) {
|
||||
target.value = params.name, can.page.Remove(can, figure.fieldset)
|
||||
})
|
||||
|
||||
can.onlayout.figure(can, figure, event)
|
||||
target.value = params.name, can.page.Remove(can, can._target)
|
||||
}), can.Status("count", 34)
|
||||
can.onlayout.figure(can, event)
|
||||
})
|
||||
}}, })
|
||||
|
||||
|
@ -1,18 +1,20 @@
|
||||
Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb, target) {
|
||||
var list = []; can.onengine.listen(can, "action.resize", function(width, height) {
|
||||
can.Conf({width: width, height: height}), can.core.Delay(list, 100, function() {
|
||||
can.onimport._init(can, msg, list, cb, target)
|
||||
})
|
||||
})
|
||||
can.page.Modify(can, can._target, {style: {"max-width": can.Conf("width")}})
|
||||
|
||||
var width = can.Conf("width"), height = can.Conf("height")
|
||||
can.onimport.resize = function(can, width, height) {
|
||||
can.Conf({width: width, height: height})
|
||||
can.onimport._init(can, msg, list, cb, target)
|
||||
|
||||
}, can.onengine.listen(can, "action.resize", function(width, height) {
|
||||
can.onimport.resize(can, width, height)
|
||||
})
|
||||
|
||||
|
||||
can.ui = can.page.Appends(can, target, [
|
||||
{type: "table", list: [{type: "tr", list: [
|
||||
{view: ["void", "table"], list: [{type: "tr", list: [
|
||||
{type: "td", list: [{view: "project", style: {"max-height": height-240, display: "none"}} ]},
|
||||
{type: "td", list: [{view: "profile", style: {"max-height": height-240}, list: [
|
||||
{view: ["content", "table"]},
|
||||
]}], style: {"min-width": width-60, "max-width": width-30}},
|
||||
]}], style: {"min-width": width-80}},
|
||||
]}, ]},
|
||||
{view: "search", style: {display: "none"}, list: [{view: "action", list: [
|
||||
{input: ["word", function(event) {
|
||||
@ -130,7 +132,7 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
|
||||
}).join(""))
|
||||
|
||||
p.prefix && can.core.Item(p.prefix, function(pre, type) {
|
||||
if (line.trim().startsWith(pre)) { line = wrap(type, line) }
|
||||
if (line.trim().indexOf(pre) == 0) { line = wrap(type, line) }
|
||||
})
|
||||
p.suffix && can.core.Item(p.suffix, function(pre, type) {
|
||||
if (line.endsWith(pre)) { line = wrap(type, line) }
|
||||
|
@ -8,6 +8,7 @@ fieldset.editor>div.output input.editor {
|
||||
caret-color:yellow;
|
||||
min-width:480px;
|
||||
display:none;
|
||||
width:-webkit-fill-available;
|
||||
}
|
||||
fieldset.editor>div.output input.editor.insert {
|
||||
caret-color:yellow;
|
||||
|
@ -296,7 +296,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert"
|
||||
|
||||
selectLine: function(can, line, item) {
|
||||
can.page.Modify(can, can.ui.editor, {className: "editor "+can.mode, value: item.innerText, style: {
|
||||
height: item.offsetHeight, width: can.Conf("width")-180,
|
||||
height: item.offsetHeight,
|
||||
left: item.offsetLeft, top: item.offsetTop,
|
||||
}})
|
||||
can.page.Modify(can, can.ui.command, {className: "command "+can.mode, value: item.innerText, style: {
|
||||
|
@ -5,7 +5,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
can.onmotion.hidden(can, can._action)
|
||||
can.onimport[can.Option("scale")||"week"](can, msg)
|
||||
},
|
||||
_show: function(can, msg, head, list, key, get, set) {
|
||||
_content: function(can, msg, head, list, key, get, set) {
|
||||
var begin_time = can.base.Date(can.base.Time(can.Option("begin_time")))
|
||||
var hash = {}; msg.Table(function(value, index) {
|
||||
var k = key(can.base.Date(value.begin_time)); hash[k] = (hash[k]||[]).concat([value])
|
||||
@ -38,10 +38,17 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
draggable: time != undefined, ondragstart: function(event) { var target = event.target; can.drop = function(event, td, time) {
|
||||
can.onaction.modifyTask(event, can, task, "begin_time", time+task.begin_time.slice(time.length), task.begin_time)
|
||||
can.run()
|
||||
} },
|
||||
onclick: function(event) { can.onimport._profile(can, msg, task) },
|
||||
_init: function(target) { can.task || target.click() },
|
||||
title: can.onexport.title(can, task),
|
||||
} }, title: can.onexport.title(can, task),
|
||||
|
||||
_init: function(target) {
|
||||
var item = can.onappend.item(can, "item", {nick: task.name+":"+task.text}, function() {
|
||||
can.onimport._profile(can, msg, task)
|
||||
can.core.Timer(10, function() { can.onmotion.select(can, can.ui.content, "td", target.parentNode) })
|
||||
}, function() {
|
||||
|
||||
}, can.ui.project); can.task || item.click()
|
||||
target.onclick = function(event) { item.click() }
|
||||
},
|
||||
}
|
||||
}),
|
||||
} },
|
||||
@ -66,11 +73,9 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
|
||||
var table = can.page.Appends(can, can.ui.profile, [{view: ["content", "table"], list: [{th: ["key", "value"]}]}]).first
|
||||
can.core.Item(task, function(key, value) { can.page.Append(can, table, [{td: [key, key == "pod"? ('<a href="'+can.user.MergeURL(can, {pod: value})+'" target="_blank">'+value+'</a>'): value],
|
||||
onclick: function(event) { if (event.target.type == "button") { var name = event.target.name
|
||||
var cb = can.onaction[name]; if (typeof cb == "function") { return cb(event, can, name) }
|
||||
|
||||
var msg = can.request(event); can.core.Item(can.task, msg.Option)
|
||||
can.sup.onaction.input(event, can.sup, name, function(msg) { can.run({}) })
|
||||
onclick: function(event) { if (event.target.type == "button") {
|
||||
var msg = can.request(event, can.task)
|
||||
can.run(event, ["action", event.target.name])
|
||||
} },
|
||||
ondblclick: function(event) {
|
||||
can.onmotion.modify(can, event.target, function(ev, value, old) {
|
||||
@ -88,7 +93,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
function get(begin_time, col, row, hash) { return hash[list[row]] }
|
||||
function set(begin_time, col, row) { return can.base.Time(begin_time, "%y-%m-%d ")+list[row] }
|
||||
|
||||
can.onimport._show(can, msg, head, list, key, get, set)
|
||||
can.onimport._content(can, msg, head, list, key, get, set)
|
||||
},
|
||||
week: function(can, msg) {
|
||||
var head = ["hour"].concat(["周日", "周一", "周二", "周三", "周四", "周五", "周六"])
|
||||
@ -98,7 +103,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
function get(begin_time, col, row, hash) { return hash[col-1+" "+list[row]] }
|
||||
function set(begin_time, col, row) { return can.base.Time(can.base.TimeAdd(begin_time, -begin_time.getDay()+col-1), "%y-%m-%d ")+list[row] }
|
||||
|
||||
can.onimport._show(can, msg, head, list, key, get, set)
|
||||
can.onimport._content(can, msg, head, list, key, get, set)
|
||||
},
|
||||
month: function(can, msg) {
|
||||
var head = ["order"].concat(["周日", "周一", "周二", "周三", "周四", "周五", "周六"])
|
||||
@ -118,21 +123,17 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
return key(day)
|
||||
}
|
||||
|
||||
can.onimport._show(can, msg, head, list, key, get, set)
|
||||
can.onimport._content(can, msg, head, list, key, get, set)
|
||||
},
|
||||
year: function(can, msg) {
|
||||
var head = ["month"].concat(["周日", "周一", "周二", "周三", "周四", "周五", "周六"]);
|
||||
var list = [0]; for (var i = 1; i < 13; i++) { list.push(i) }
|
||||
|
||||
function key(time) { return can.base.Time(time, "%y-%m ")+time.getDay() }
|
||||
function get(begin_time, col, row, hash) {
|
||||
return hash[begin_time.getFullYear()+"-"+can.base.Number(row, 2)+" "+(col-1)]
|
||||
}
|
||||
function set(begin_time, col, row) {
|
||||
return begin_time.getFullYear()+"-"+can.base.Number(list[row], 2)
|
||||
}
|
||||
function get(begin_time, col, row, hash) { return hash[begin_time.getFullYear()+"-"+can.base.Number(row, 2)+" "+(col-1)] }
|
||||
function set(begin_time, col, row) { return begin_time.getFullYear()+"-"+can.base.Number(list[row], 2) }
|
||||
|
||||
can.onimport._show(can, msg, head, list, key, get, set)
|
||||
can.onimport._content(can, msg, head, list, key, get, set)
|
||||
},
|
||||
long: function(can, msg) {
|
||||
var begin_time = can.base.Date(can.base.Time(can.Option("begin_time")))
|
||||
@ -142,14 +143,10 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
var list = [0]; for (var i = 1; i < 13; i++) { list.push(i) }
|
||||
|
||||
function key(time) { return can.base.Time(time, "%y-%m") }
|
||||
function get(begin_time, col, row, hash) {
|
||||
return hash[begin+col-1+"-"+can.base.Number(row, 2)]
|
||||
}
|
||||
function set(begin_time, col, row) {
|
||||
return begin+col-1+"-"+can.base.Number(row, 2)
|
||||
}
|
||||
function get(begin_time, col, row, hash) { return hash[begin+col-1+"-"+can.base.Number(row, 2)] }
|
||||
function set(begin_time, col, row) { return begin+col-1+"-"+can.base.Number(row, 2) }
|
||||
|
||||
can.onimport._show(can, msg, head, list, key, get, set)
|
||||
can.onimport._content(can, msg, head, list, key, get, set)
|
||||
},
|
||||
}, ["/plugin/local/team/plan.css"])
|
||||
Volcanos("onaction", {help: "组件交互", list: [
|
||||
|
@ -1,6 +1,6 @@
|
||||
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
|
||||
can.path = can.request({}), can.list = []
|
||||
msg.Table(function(value) { if (value.path.startsWith("/local")) { return }
|
||||
msg.Table(function(value) { if (value.path.indexOf("/local") == 0) { return }
|
||||
value.path.endsWith("/")? can.path.Push(value): can.list.push(value)
|
||||
})
|
||||
|
||||
@ -30,8 +30,8 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
can.Status("begin", begin), can.Status("limit", limit), can.Status("total", can.list.length)
|
||||
},
|
||||
_file: function(can, path, index) {
|
||||
var p = location.href.startsWith("http")? "": "http://localhost:9020"
|
||||
path = path.startsWith("http")? path: p+can.base.Path("/share/local", " "+(can._msg.Option("prefix")||""), path)
|
||||
var p = location.href.indexOf("http") == 0? "": "http://localhost:9020"
|
||||
path = path.indexOf("http") == 0? path: p+can.base.Path("/share/local", " "+(can._msg.Option("prefix")||""), path)
|
||||
return path
|
||||
},
|
||||
file: function(can, path, index) { path = can.onimport._file(can, path, index)
|
||||
|
@ -51,7 +51,7 @@ fieldset ul.story[data-type=premenu] li:hover {
|
||||
background:cyan;
|
||||
}
|
||||
|
||||
fieldset fieldset.story {
|
||||
fieldset.plugin.word fieldset.story {
|
||||
margin:10px; clear:both; float:left;
|
||||
border:0;
|
||||
box-shadow: 4px 4px 10px 1px #626bd0;
|
||||
|
@ -111,23 +111,15 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg,
|
||||
})
|
||||
},
|
||||
"最大": function(event, can) {
|
||||
if (event.ctrlKey) {
|
||||
layout.left = 0, layout.top = 40
|
||||
layout.width = window.innerWidth/2
|
||||
layout.height = window.innerHeight/2
|
||||
can.onaction._resize(sub, layout)
|
||||
return
|
||||
}
|
||||
can.page.Modify(can, can._target, {style: { margin: 0,
|
||||
left: 0, top: 0, width: window.innerWidth, height: window.innerHeight
|
||||
}})
|
||||
|
||||
layout.left = 0, layout.top = 40
|
||||
layout.width = window.innerWidth-40
|
||||
layout.height = window.innerHeight-60
|
||||
if (can.user.isMobile) {
|
||||
if (window.innerWidth > window.innerHeight) {
|
||||
layout.top = 0
|
||||
}
|
||||
}
|
||||
can.onaction._resize(sub, layout)
|
||||
var sub = can.core.Value(can, "_outputs.-1")
|
||||
var cb = can.core.Value(can, "_outputs.-1.onimport.resize")
|
||||
sub && cb && can.core.CallFunc(cb, {can: sub,
|
||||
width: window.innerWidth, height: window.innerHeight,
|
||||
})
|
||||
},
|
||||
})
|
||||
Volcanos("onexport", {help: "导出数据", list: []})
|
||||
|
@ -27,8 +27,6 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
|
||||
var msg = can.sup.request(event, can.Option());
|
||||
can.run(event, ["action", "modify", key == "value"? line.key: key, value], function(msg) { }, true)
|
||||
})
|
||||
}, onmouseover: function(event) {
|
||||
can.user.toast(can, index+1+"/"+array.length)
|
||||
}}
|
||||
},
|
||||
_board: function(can, msg) {
|
||||
|
17
proto.js
17
proto.js
@ -17,22 +17,23 @@ var Volcanos = shy("火山架", {libs: [], cache: {}}, [], function(name, can, l
|
||||
meta.libs = Config.libs, meta.volcano = Config.volcano
|
||||
|
||||
// 预加载
|
||||
var Preload = [Config.volcano]; Config.panes.forEach(function(pane) {
|
||||
Preload = Preload.concat(pane.list = pane.list || ["/pane/"+pane.name+".css", "/pane/"+pane.name+".js"])
|
||||
}); Preload = Preload.concat(Config.plugin)
|
||||
var Preload = [Config.volcano]
|
||||
for (var i = 0; i < Config.panes.length; i++) { var pane = Config.panes[i]
|
||||
pane && (Preload = Preload.concat(pane.list = pane.list || ["/pane/"+pane.name+".css", "/pane/"+pane.name+".js"]))
|
||||
}
|
||||
Preload = Preload.concat(Config.plugin)
|
||||
|
||||
// 根模块
|
||||
name = Config.name, can = {_follow: Config.name, _target: document.body}
|
||||
libs = Preload.concat(Config.main.list, Config.libs), cb = function(can) {
|
||||
window.can = can
|
||||
can.onengine._init(can, can.Conf(Config), Config.panes, function(msg) { can.base.Log(name, "run", can)
|
||||
var list = []; document.body.onresize = function() { can.core.Delay(list, 100, function() {
|
||||
can.onlayout._init(can, can._target, can._width = window.innerWidth, can._height = window.innerHeight)
|
||||
}) }, document.body.onresize()
|
||||
document.body.onresize = function() { can.onlayout._init(can, can._target) }
|
||||
}, can._target)
|
||||
}
|
||||
}
|
||||
|
||||
can = can || {}, can.__proto__ = {__proto__: Volcanos.meta, _name: name, _load: function(name, cb) {
|
||||
var proto = {_name: name, _load: function(name, cb) {
|
||||
// 加载缓存
|
||||
var cache = meta.cache[name] || []; for (list.reverse(); list.length > 0; list) {
|
||||
var sub = list.pop(); sub != can && cache.push(sub)
|
||||
@ -66,6 +67,8 @@ var Volcanos = shy("火山架", {libs: [], cache: {}}, [], function(name, can, l
|
||||
Conf: function(key, value) { return can.core.Value(can._conf, key, value) }, _conf: {},
|
||||
}
|
||||
|
||||
can = can || {}; for (var k in proto) { can[k] = proto[k] }
|
||||
|
||||
if (_can_name) {
|
||||
meta.cache[_can_name] = meta.cache[_can_name] || []
|
||||
meta.cache[_can_name].push(can)
|
||||
|
@ -18,7 +18,7 @@ Volcanos("chrome", {
|
||||
msg.Push("time", can.base.Time())
|
||||
msg.Push("type", "img")
|
||||
|
||||
if (item.src.startsWith("data:image")) {
|
||||
if (item.src.indexOf("data:image") == 0) {
|
||||
msg.Push("name", item.src.slice(item.src.length-20))
|
||||
} else {
|
||||
msg.Push("name", ls[ls.length-1]||"image.jpg")
|
||||
|
@ -34,7 +34,7 @@ Page({
|
||||
input.action = input.action || input.value
|
||||
input.value == "auto" && (input.value = "")
|
||||
input.value = input.value || kit.Value(line, "feature.trans."+input.name)
|
||||
if (input.value && input.value.startsWith("@")) {
|
||||
if (input.value && input.value.indexOf("@") == 0) {
|
||||
input.value = ""
|
||||
}
|
||||
if (input._input == "select") {
|
||||
|
@ -38,13 +38,13 @@ Page({
|
||||
this.data.insert = app.data.insert.list
|
||||
|
||||
var p = app.data.insert.input.action
|
||||
if (p.startsWith("@")) {
|
||||
if (p.indexOf("@") == 0) {
|
||||
var cb = this.plugin[p.slice(1,-1)]; cb && cb(this)
|
||||
}
|
||||
var cb = this.plugin[p]; cb && cb(this)
|
||||
kit.List(app.data.insert.list, function(item) {
|
||||
item.action = item.action || item.value
|
||||
item.value && item.value.startsWith("@") && (item.value = "")
|
||||
item.value && item.value.indexOf("@") == 0 && (item.value = "")
|
||||
app.data.insert.data[item.name] = item.value
|
||||
})
|
||||
console.log("page", "insert", options)
|
||||
|
Loading…
x
Reference in New Issue
Block a user