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