1
0
forked from x/volcanos
This commit is contained in:
shaoying 2021-02-17 23:28:47 +08:00
parent de1f5faeb5
commit dc31630121
13 changed files with 188 additions and 256 deletions

View File

@ -517,7 +517,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can) {
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, event) { var p = can._target
figure: function(event, can, target) { var p = target||can._target
var layout = {left: event.clientX, top: event.clientY+10}
can.page.Modify(can, p, {style: layout})
can.onmotion.move(can, p, layout)
@ -759,6 +759,26 @@ Volcanos("onmotion", {help: "动态交互", list: [], _init: function(can, targe
})
},
story: function(can, target) {
can.page.Select(can, target, ".story", function(target) { var data = target.dataset
can.page.Modify(can, target, {style: can.base.Obj(data.style)})
switch (data.type) {
case "spark":
if (data["name"] == "inner") {
target.title = "点击复制", target.onclick = function(event) {
can.user.copy(event, can, target.innerText)
}
} else {
can.page.Select(can, target, "span", function(item) {
item.title = "点击复制", item.onclick = function(event) {
can.user.copy(event, can, item.innerText)
}
})
}
}
})
},
clear: function(can, target) {
can.page.Modify(can, target||can._output, "")
},

View File

@ -49,11 +49,9 @@ Volcanos("user", {help: "用户模块", agent: {
})
},
trans: function(can, text) {
if (typeof text == "function") {
text = text.name || ""
}
if (typeof text == "function") { text = text.name || "" }
return can._trans && can._trans[text] || can.Conf("trans."+text) || can.Conf("feature.trans."+text) || {
"submit": "提交", "cancel": "取消",
}[text] || text
},
topic: function(can, name) {
@ -62,52 +60,30 @@ Volcanos("user", {help: "用户模块", agent: {
can.user.isMobile && can.page.ClassList.add(can, document.body, "mobile")
can.user.isMobile && can.page.ClassList.set(can, document.body, "landscape", width > height)
},
toast: function(can, text, title, duration, progress) {
var meta = typeof text == "object"? text: {text: text, title: title||can._help, duration: duration, progress: progress}
var width = meta.width||400, height = meta.height||100
if (width < 0) { width = window.innerWidth + width }
toast: function(can, content, title, duration, progress) {
var meta = typeof content == "object"? content: {content: content, title: title||can._help, duration: duration, progress: progress}
var width = meta.width||400, height = meta.height||100; if (width < 0) { width = window.innerWidth + width }
var ui = can.page.Append(can, document.body, [{view: "toast", style: {
width: width, bottom: 100, left: document.body.clientWidth/2-width/2,
width: width, bottom: 100, left: window.innerWidth/2-width/2,
}, list: [
{text: [meta.title||"", "div", "title"]},
typeof meta.text == "object"? meta.text: {text: [meta.text||"执行成功", "div", "content"]},
{view: ["button"], list: meta.button},
{text: ["", "div", "duration"]},
meta.progress > 0 && {text: ["", "div", "progress"], style: {width: width}, list: [
{text: ["", "div", "current"], style: {width: meta.progress/100*width}},
typeof meta.content == "object"? meta.content: {text: [meta.content||"执行成功", "div", "content"]},
{view: "button", list: meta.button},
{view: "duration"}, meta.progress > 0 && {view: "progress", style: {width: width}, list: [
{view: "current", style: {width: meta.progress/100*width}},
]},
], ondblclick: function(event) { ui.Close() }}])
var timer = can.core.Timer({interval: 100, length: (meta.duration||1000)/100}, function(event, interval, index) {
if (index > 20) { ui.duration.innerHTML = parseInt(index/10)+"."+(index%10)+"s..." }
}, function() {
can.page.Remove(can, ui.first), timer.stop = true
})
] }]); can.onmotion.story(can, ui.first)
ui.Close = function() { can.page.Remove(can, ui.first), timer.stop = true }
can.page.Select(can, ui.first, ".story", function(target) { var data = target.dataset
can.page.Modify(can, target, {style: can.base.Obj(data.style)})
switch (data.type) {
case "spark":
if (data["name"] == "inner") {
target.title = "点击复制", target.onclick = function(event) {
can.user.copy(event, can, target.innerText)
}
return
}
can.page.Select(can, target, "span", function(item) {
item.title = "点击复制", item.onclick = function(event) {
can.user.copy(event, can, item.innerText)
}
})
}
})
var timer = can.core.Timer({interval: 100, length: (meta.duration||1000)/100}, function(event, interval, index) {
if (index > 20) { ui.duration.innerHTML = parseInt(index/10)+"."+(index%10)+"s..." }
}, ui.Close)
can.run(can.request({}, {
text: meta.text, time: can.base.Time(), fileline: can.base.FileLine(2, 2),
})._event, ["search", "Footer.onimport.toast"], function() {}, true)
title: meta.title, content: meta.content,
time: can.base.Time(), fileline: can.base.FileLine(2, 2),
})._event, ["search", "Footer.onimport.toast"], null, true)
return ui
},
share: function(can, msg, cmd) {
@ -166,75 +142,55 @@ Volcanos("user", {help: "用户模块", agent: {
event.preventDefault()
return ui
},
input: function(event, can, form, cb) { // form [ string, {_input: }, array, object, button ]
function cbs(event, button) {
var data = {}, args = []; var list = can.page.Select(can, ui.table, "select,input,textarea", function(item) {
args.push(item.name, item.value)
return data[item.name] = item.value
})
if (typeof cb == "function" && !cb(event, button, data, list, args)) {
can.page.Remove(can, ui.first)
}
}
input: function(event, can, form, cb) { // form [ string, array, object, {_input: }, {button: []} ]
var msg = can.request(event, can.Option())
var x = event.clientX||200, y = event.clientY||48; y += 10; if (x > 600) { x -= 160 }
if (can.user.isMobile) { x = 100, y = 100 }
var x = event.clientX||200, y = event.clientY+10||48
function Option(key, value) {
if (key == undefined) { value = {}
can.page.Select(can, ui.first, "input", function(item) {
item.name && item.value && (value[item.name] = item.value)
}); return value
}
if (typeof key == "object") {
return can.core.Item(key, arguments.callee), key
}
can.page.Select(can, ui.first, 'input[name='+key+']', function(item) {
value == undefined? value = item.value: item.value = value
}); return value
}
var button; var ui = can.page.Append(can, document.body, [{view: ["input inputs", "fieldset"], style: {left: x+"px", top: y+"px"}, list: [
var button; var ui = can.page.Append(can, document.body, [{view: ["input inputs", "fieldset"], style: {left: x, top: y}, list: [
{view: ["option", "table"], list: can.core.List(form, function(item) {
if (item.button) { button = item.button; return }
item.run = function(event, cmds, cb) {
var msg = can.request(event, Option())
msg.Option("_handle", "true")
can.run(event, cmds, cb, true)
}
function _init(target) {
item.run = function(event, cmds, cb) {
var msg = can.request(event, function() { var value = {_handle: "true"}
can.page.Select(can, ui.table, "textarea,input,select", function(item) {
item.name && item.value && (value[item.name] = item.value)
}); return value
})
can.run(event, cmds, cb, true)
}
can.onappend.figure(can, item, item.value, target)
target.value = target.value || msg.Option(typeof item == "string"? item: item.name)
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 || ""}]},
{type: "td", list: [typeof item == "string"? /* input */ {input: item, data: {autofocus: true}, _init: _init}:
item._input == "textarea"? /* textarea */ {type: "textarea", data: item, _init: _init}:
item._input == "select"? /* select */ {select: [[item.name].concat(item.values)], data: item}:
item._input? /* input */ {type: "input", data: (item.type = item._input, item), _init: _init}:
item.length > 0? /* select */ {select: [item]}:
/* other */ item,
]},
]}
item = typeof item == "string"? {_input: "text", name: item}:
item.length > 0? {_input: "select", name: item[0], values: item.slice(1)}: item
return {type: "tr", list: [{type: "td", list: [{text: item.name||""}]}, {type: "td", list: [
item._input == "textarea"? /* textarea */ {type: "textarea", data: item, _init: _init}:
item._input == "select"? /* select */ {select: [[item.name].concat(item.values)], data: item}:
item._input? /* input */ {type: "input", data: (item.type = item._input, item), _init: _init}:
/* other */ item,
]} ]}
})},
{view: "action"},
]}])
can.onappend._action(can, button||["提交", "关闭"], ui.action, {
function cbs(event, button) { var data = {}, args = [], list = []
list = can.page.Select(can, ui.table, "textarea,input,select", function(item) {
return args.push(item.name, item.value), data[item.name] = item.value
})
typeof cb == "function" && !cb(event, button, data, list, args) && can.page.Remove(can, ui.first)
}
can.onappend._action(can, button||["submit", "cancel"], ui.action, {
cancel: function(event) { can.page.Remove(can, ui.first) },
_engine: function(event, can, key) { cbs(event, key) },
"提交": function(event) { cbs(event, "提交") },
"关闭": function(event) { can.page.Remove(can, ui.first) },
submit: function(event) { cbs(event, "submit") },
})
can.page.Select(can, ui.first, "textarea,input", function(item, index) {
index == 0 && can.core.Timer(100, function() {
item.focus(), item.setSelectionRange(0, -1)
})
can.onlayout.figure(event, can, ui.first), can.page.Select(can, ui.table, "textarea,input", function(item, index) {
index == 0 && can.core.Timer(100, function() { item.focus(), item.setSelectionRange(0, -1) })
})
return ui
},

View File

@ -1,18 +1,15 @@
body.mobile.landscape fieldset.Header.head {
position:unset;
}
body.mobile.landscape fieldset.Header.head div.state.time {
display:block;
}
body.mobile.landscape fieldset.Footer.foot {
position:unset;
}
body.mobile.landscape fieldset.Action.main {
margin-top:0; margin-bottom:0;
}
body.mobile.landscape fieldset.Header.head div.state.time {
display:block;
}
body.mobile fieldset.Header.head div.state.time {
display:none;
}
body.mobile fieldset.Header.head {
position:fixed; top:0;
width:-webkit-fill-available;
@ -20,6 +17,9 @@ body.mobile fieldset.Header.head {
background-color:#000000b8;
z-index:10;
}
body.mobile fieldset.Header.head div.state.time {
display:none;
}
body.mobile fieldset.Footer.foot {
position:fixed; bottom:0;
width:-webkit-fill-available;
@ -41,10 +41,10 @@ body.mobile fieldset.River>div.output div.list div.item {
body.mobile fieldset.Action.main {
margin-top:48px; margin-bottom:64px;
}
body.mobile select {
body.mobile input {
font-size:18px;
}
body.mobile input {
body.mobile select {
font-size:18px;
}
body.mobile div.carte {
@ -56,6 +56,10 @@ body {
background:black;
color:cyan;
}
legend {
box-shadow:4px 4px 20px 4px #626bd0;
cursor:pointer;
}
fieldset {
margin:0; border:0; padding:0;
}
@ -67,8 +71,6 @@ fieldset.plugin {
background-color:#061c3c9e;
margin:10px; padding:10px;
}
fieldset.input>legend {
}
fieldset.float {
position:absolute;
background-color:#023531cf;
@ -76,18 +78,12 @@ fieldset.float {
fieldset.float>legend {
display:none;
}
legend {
box-shadow:4px 4px 20px 4px #626bd0;
cursor:pointer;
}
input[type=button] {
background-color:black; color:cyan;
letter-spacing:4px;
padding-left:10px;
input[name=cmd] {
width:160px;
}
input[type=button]:hover {
background-color:gray; color:cyan;
input[name=date] {
width:150px;
}
input[type=text] {
box-shadow: 4px 4px 10px 1px #626bd0;
@ -97,11 +93,13 @@ input[type=text] {
input[type=text]:hover {
background-color:white;
}
input[name=cmd] {
width:160px;
input[type=button] {
background-color:black; color:cyan;
letter-spacing:4px;
padding-left:10px;
}
fieldset>form.option>div.item input.args[name=date] {
width:150px;
input[type=button]:hover {
background-color:gray; color:cyan;
}
select {
box-shadow: 4px 4px 10px 1px #626bd0;
@ -190,10 +188,78 @@ div.code {
text-align:left; white-space:pre;
overflow:auto;
}
div.story {
text-align:left;
}
div.hidden {
display:none;
}
div.toast {
background:#0e3369b3; color:yellow;
position:fixed;
overflow:auto;
padding:5px;
z-index:100;
}
div.toast div.title {
font-size:14px;
color:#cae850;
}
div.toast div.content {
text-align:center;
white-space:pre;
}
div.toast div.duration {
font-size:14px;
color:gray;
}
div.toast div.progress {
border:solid 2px green;
height:10px;
}
div.toast div.progress div.current {
background:red;
height:10px;
}
div.carte {
position:fixed;
background:#295b61;
color:white;
padding:4px;
z-index:100;
}
div.carte div.item {
padding:3px 12px;
cursor:pointer;
}
div.carte div.item:hover {
background:red;
}
div.upload {
background:black; color:yellow;
position:fixed;
padding:5px;
z-index:50;
}
div.upload div.item {
float:left;
}
div.story[data-type=spark] {
background-color:#2169a9a6; color:white;
box-shadow: 4px 4px 10px 1px #626bd0;
padding:4px 10px; margin:10px 0px;
border-left:solid 4px blue;
}
div.story[data-type=spark] span:hover {
box-shadow: 4px 4px 10px 1px #29318e;
background-color:#c10c8a;
cursor:copy;
}
fieldset>form.option>div.item {
float:left; margin-right:3px;
min-height:26px; vertical-align:middle;
@ -265,9 +331,6 @@ fieldset>div.output td.project {
fieldset>div.output td.profile {
background-color:#71909c91;
}
fieldset>div.output tr.display {
/* background-color:#71909c91; */
}
fieldset>div.output {
clear:both; overflow:auto;
@ -318,59 +381,6 @@ body>fieldset.input.date table td:hover {
background-color:red;
}
div.carte {
position:fixed;
background:#295b61;
color:white;
padding:4px;
z-index:100;
}
div.carte div.item {
padding:3px 12px;
cursor:pointer;
}
div.carte div.item:hover {
background:red;
}
div.upload {
background:black; color:yellow;
position:fixed;
padding:5px;
z-index:50;
}
div.upload div.item {
float:left;
}
div.toast {
background:#0e3369b3; color:yellow;
position:fixed;
overflow:auto;
padding:5px;
z-index:100;
}
div.toast div.title {
font-size:14px;
color:#cae850;
}
div.toast div.content {
text-align:center;
white-space:pre;
}
div.toast div.duration {
font-size:14px;
color:gray;
}
div.toast div.progress {
border:solid 2px green;
height:10px;
}
div.toast div.progress div.current {
background:red;
height:10px;
}
body.black a {
color:yellow;
}
@ -424,10 +434,6 @@ body.white table input[type=button][value=启动] {
background:#52ce78;
}
body.white fieldset.story {
/* background-color:#7c8ea5ab; */
}
body.white fieldset.Action {
color:black;
}
@ -470,16 +476,6 @@ body.print fieldset.Action {
body.print fieldset.Action fieldset.plugin {
padding-left:40px;
}
body.print fieldset.Action fieldset.plugin>legend {
/* display:none; */
}
body.print fieldset.Action fieldset.plugin>form.option {
/* display:none; */
}
body.print fieldset.River>div.output div.list div.item {
background-color:white;
}
div.story {
text-align:left;
}

View File

@ -11,18 +11,16 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
})
},
_toast: function(can, msg, target) {
can.toast = can.page.Append(can, target, [{view: ["toast", "div", ""], onclick: function(event) {
var ui = can.onappend.field(can, "story float", {}, document.body)
can.toast = can.page.Append(can, target, [{view: "toast", onclick: function(event) {
var ui = can.onappend.field(can, "story toast float", {}, document.body)
can.run({}, ["search", "Action.onexport.size"], function(msg, top, left, width, height) {
can.page.Modify(can, ui.output, {style: {"max-width": width, "max-height": height-28}})
can.page.Modify(can, ui.first, {style: {top: top, left: left}})
} )
can.onappend._action(can, ["关闭", "刷新"], ui.action, {
"关闭": function(event) { can.page.Remove(can, ui.first) },
"刷新": function(event) {
can.page.Remove(can, ui.first)
can.toast.click()
},
"刷新": function(event) { can.page.Remove(can, ui.first), can.toast.click() },
})
can.onappend.table(can, can._toast, function(value) {
return {text: [value, "td"], onclick: function(event) {
@ -39,9 +37,9 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
})
},
toast: function(can, msg, text, time, fileline) { can._toast = can._toast || can.request()
can.page.Modify(can, can.toast, time.split(" ").pop()+" "+text)
can._toast.Push({time: time, fileline: fileline, text: text})
toast: function(can, msg, title, content, fileline, time) { can._toast = can._toast || can.request()
can.page.Modify(can, can.toast, [time.split(" ").pop(), title, content].join(" "))
can._toast.Push({time: time, fileline: fileline, title: title, content: content})
},
ncmd: function(can, target) {
can.page.Select(can, target, "span.ncmd", function(item) {

View File

@ -11,10 +11,6 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
{view: "content"}, {view: ["display", "table"]}, {view: "preview"},
]), typeof cb == "function" && cb(msg)
can.page.ClassList.add(can, can.ui.display, "content")
var header = can.run({}, ["search", "Header.onexport.height"])||0
var footer = can.run({}, ["search", "Footer.onexport.height"])||0
can.page.Modify(can, can._output, {style: {"max-height": window.innerHeight-header-footer-64}})
},
_table: function(can, msg, fields) { can.onmotion.clear(can, can.ui.content)
var table = can.onappend.table(can, msg, function(value, key, index, line) { can.Status("count", index+1)
@ -55,19 +51,17 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
typeof cb == "function" && cb(can.onexport.select(can)), can.onmotion.hide(can)
}
can.run({}, ["search", "Header.onexport.height"], function(res) {
can.page.Modify(can, can._target, {style: {top: res}})
})
can.run({}, ["search", "River.onexport.width"], function(res) {
can.page.Modify(can, can._target, {style: {left: res}})
})
can.input = function(event, word) { cmds[1] = word
can.onimport._word(can, msg, cmds, fields)
}
can.onmotion.show(can), can.ui.input.focus()
can.onimport._word(can, msg, cmds, fields)
can.run({}, ["search", "Action.onexport.size"], function(msg, top, left, width, height) {
can.page.Modify(can, can._output, {style: {"max-width": width, "max-height": height-75}})
can.page.Modify(can, can._target, {style: {top: top, left: left}})
} )
},
})
Volcanos("onaction", {help: "交互操作", list: ["关闭", "清空", "完成"], _init: function(can, msg, list, cb, target) {

View File

@ -56,7 +56,7 @@ Volcanos("onfigure", {help: "控件详情", list: [], date: {onclick: function(e
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")}
can.onlayout.figure(can, event); return now
can.onlayout.figure(event, can); return now
}; show(now)
}} }, ["/plugin/input/date.css"])

View File

@ -12,7 +12,7 @@ Volcanos("onfigure", {help: "控件详情", list: [], key: {onclick: function(ev
target.value = line[key], can.page.Remove(can, can._target)
}}
}), can.Status("count", msg.Length())
can.onlayout.figure(can, event)
can.onlayout.figure(event, can)
})
}}})

View File

@ -9,7 +9,7 @@ Volcanos("onfigure", {help: "控件详情", list: [], province: {onclick: functi
china_chart.setOption({geo: {map: 'china'}}), china_chart.on('click', function (params) {
target.value = params.name, can.page.Remove(can, can._target)
}), can.Status("count", 34)
can.onlayout.figure(can, event)
can.onlayout.figure(event, can)
})
}}, })

View File

@ -25,10 +25,10 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb,
{view: "action"}, {view: "output"},
]); can.ui.output = ui.output
can.onappend._action(can, ["关闭", "清空", "运行"], ui.action, {
"关闭": function(event) { can.onmotion.hidden(can, can.ui.display) },
"清空": function(event) { can.onmotion.clear(can, can.ui.output) },
can.onappend._action(can, ["运行", "清空", "关闭"], ui.action, {
"运行": function(event) { can.onaction["运行"](event, can) },
"清空": function(event) { can.onmotion.clear(can, can.ui.output) },
"关闭": function(event) { can.onmotion.hidden(can, can.ui.display) },
})
},
_search: function(can, target) {
@ -157,7 +157,7 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"],
return p.line? p.line(can, line): line
},
})
Volcanos("onaction", {help: "控件交互", list: ["项目", "运行", "搜索"],
Volcanos("onaction", {help: "控件交互", list: ["项目", "收藏", "搜索", "运行"],
"返回": function(event, can) {
var last = can.history.pop(); last = can.history.pop()
last && can.onimport.tabview(can, last.path, last.file, last.line)
@ -165,15 +165,13 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "运行", "搜索"]
},
"项目": function(event, can) {
var width = can.Conf("width")-(can.onmotion.toggle(can, can.ui.project)? 170: 0)
can.page.Modify(can, can.ui.content, {style: {"min-width": width}})
},
"搜索": function(event, can) { can.onmotion.toggle(can, can.ui.search) },
"收藏": function(event, can) { can.onmotion.toggle(can, can.ui.favor._target) },
"运行": function(event, can) {
var msg = can.request(event, {_toast: "运行中..."})
"搜索": function(event, can) { can.onmotion.toggle(can, can.ui.search) },
"运行": function(event, can) { var msg = can.request(event, {_toast: "运行中..."})
can.run(event, ["action", "engine", can.parse, can.Option("file"), can.Option("path")], function(msg) {
can.onappend.table(can, msg, function(value, key, index) { return {text: [value, "td"]} }, can.ui.output||can.ui.display)
can.onappend.table(can, msg, null, can.ui.output||can.ui.display)
can.onappend.board(can, msg.Result(), can.ui.output||can.ui.display)
can.page.Modify(can, can.ui.display, {style: {display: "block"}})
}, true)

View File

@ -297,7 +297,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert"
can.onaction.rerankLine(can)
},
})
Volcanos("onaction", {help: "控件交互", list: ["项目", "搜索", "收藏", "运行"],
Volcanos("onaction", {help: "控件交互", list: ["项目", "收藏", "搜索", "运行"],
save: function(event, can) { var msg = can.request(event, {content: can.onexport.content(can)})
can.run(event, ["action", "save", can.parse, can.Option("file"), can.Option("path")], function(msg) {
can.user.toast(can, "保存成功")

View File

@ -53,17 +53,6 @@ fieldset.word p.story[data-name=inner]:hover {
background-color:#c10c8a;
cursor:copy;
}
fieldset.word div.story[data-type=spark] {
background-color:#2169a9a6; color:white;
box-shadow: 4px 4px 10px 1px #626bd0;
padding:4px 10px; margin:10px 0px;
border-left:solid 4px blue;
}
fieldset.word div.story[data-type=spark] span:hover {
box-shadow: 4px 4px 10px 1px #29318e;
background-color:#c10c8a;
cursor:copy;
}
fieldset.word svg.story {
display:block; float:left;
}

View File

@ -11,7 +11,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
})
can.onappend.board(can, msg.Result())
can.onimport._board(can, msg)
can.onmotion.story(can, can._output)
},
_table: function(can, value, key, index, line, array) {
return {text: [value, "td"], onclick: function(event) { var target = event.target
@ -29,25 +29,6 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
})
}}
},
_board: function(can, msg) {
can.page.Select(can, can._output, ".story", function(item) { var data = item.dataset
can.page.Modify(can, item, {style: can.base.Obj(data.style)})
can.core.CallFunc(can.onimport[data.type], [can, data, item])
})
},
spark: function(can, list, target) {
if (list["name"] == "inner") {
target.title = "点击复制", target.onclick = function(event) {
can.user.copy(event, can, target.innerText)
}
return
}
can.page.Select(can, target, "span", function(item) {
item.title = "点击复制", item.onclick = function(event) {
can.user.copy(event, can, item.innerText)
}
})
},
_process: function(can, msg) {
var cb = can.onimport[msg.Option("_process")]
@ -76,7 +57,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
}, can._output)
can.onappend.board(can, msg.Result(), can._output)
can.onimport._board(can, msg)
can.onmotion.story(can, can._output)
can.page.Modify(can, can._output, {style: {display: "block"}})
return true
},

View File

@ -57,8 +57,8 @@ var Volcanos = shy("火山架", {pack: {}, libs: [], cache: {}}, [], function(na
request: function(event, option) { event = event || {}
event._msg = event._msg || can.misc.Message(event, can)
can.core.List(arguments, function(arg, index) {
index > 0 && can.core.Item(arg, event._msg.Option)
can.core.List(arguments, function(option, index) {
index > 0 && can.core.Item(typeof option == "function"? option(): option, event._msg.Option)
}); return event._msg
},
Conf: function(key, value) { return can.core.Value(can._conf, key, value) }, _conf: {},