1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
shaoying 2020-06-11 07:59:02 +08:00
parent b800ce949a
commit d9dc8a8183
6 changed files with 75 additions and 42 deletions

View File

@ -137,7 +137,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
Status: function(key, value) {
if (typeof key == "object") { return sub.core.Item(key, sub.Status), key }
sub.page.Select(sub, status, "div."+key+">span", function(item) {
item.innerHTML = value
value == undefined? (value = item.innerHTML): (item.innerHTML = value)
})
return value
},
@ -261,7 +261,8 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
action && (action.innerHTML = ""), can.onaction && can.core.List(list||can.onaction.list, function(item) {
item === ""? can.page.Append(can, action, [{view: "item space"}]):
typeof item == "string"? can.onappend.input(can, action, "input", {type: "button", value: item, onclick: function(event) {
(can.onaction[item] || can.onkeymap && can.onkeymap._remote)(event, can, item)
var cb = can.onaction[item] || can.onkeymap && can.onkeymap._remote
cb? cb(event, can, item): can.run(event, ["action", item], function(msg) {}, true)
}}): item.length > 0? can.onappend.input(can, action, "input", {type: "select", values: item.slice(1), name: item[0], onchange: function(event) {
can.onaction[item[0]](event, can, item[0], item[event.target.selectedIndex+1])
}}): typeof item == "object" && can.onappend.input(can, action, "input", item)
@ -351,7 +352,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
item.type == "textarea" && can.page.Append(can, option, [{type: "br"}]);
item.type == "text" && !target.placeholder && (target.placeholder = item.name || "");
item.type != "button" && !target.title && (target.title = target.placeholder);
item.type == "text" && !target.title && (target.title = target.placeholder);
// item.type == "button" && item.action == "auto" && can.run && can.run({});
// item.type == "select" && (target.value = item.value || item.values[item.index||0]);
return target;
@ -460,10 +461,9 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { met
var width = meta.width||200, height = meta.height||100
var pos = {position: "absolute", display: "block",
width: width+"px",
top: document.body.clientHeight/2-height/2,
width: width, bottom: 100,
left: document.body.clientWidth/2-width/2,
}; pos.left += "px"; pos.top += "px";
};
can.page.Modify(can, can._toast, {style: pos})
can.Timer({value: 1000, length: (meta.duration||3000)/1000}, function(event, interval, index) {

View File

@ -36,8 +36,8 @@ var page = Volcanos("page", {help: "网页模块",
"width": true, "height": true,
"max-height": true,
"margin-left": true,
"left": true,
"top": true,
"left": true, "right": true,
"top": true, "bottom": true,
}
if (size[sub] && (typeof value == "number" || !value.endsWith("px"))) {
value += "px"

View File

@ -78,6 +78,10 @@ var user = Volcanos("user", {help: "用户模块",
return key+"="+encodeURIComponent(value)
}).join("&")
}),
Searchs: shy("请求参数", function(can, key, def) {
return can.user.Search(can, "active") == can._name? can.user.Search(can, key): def
}),
Cookie: shy("会话变量", function(can, key, value, path) {
function set(k, v) {document.cookie = k+"="+v+";path="+(path||"/")}

View File

@ -52,6 +52,8 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb,
can.page.Append(can, can._action, [{view: ["file", "div", name], onclick: function(event) {
can.onsyntax._init(can, can.tabview[path+name] = msg)
can.Option({path: path, name: name, key: ""})
}, ondblclick: function(event) {
can.onkeymap._remote(event, can, "运行")
}, oncontextmenu: function(event) {
can.onappend.carte(can, null, ["保存", "运行"])
}}]).first.click()
@ -530,7 +532,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert"
})
Volcanos("onaction", {help: "控件交互", list: [
"", "项目", "上传",
"", "保存", "运行", "日志",
"", "保存", "运行", "串行", "并行", "日志",
"", "提交", "历史", "记录", "复盘",
"", "收藏", "列表", "搜索", "推荐",
],
@ -577,6 +579,19 @@ Volcanos("onaction", {help: "控件交互", list: [
return target
},
"串行": function(event, can, msg) {
can.core.Next(can.page.Select(can, can._action, "div.file", function(item) {
return item.innerHTML
}), function(item, next) {
can.run({}, ["action", "run", can.Option("path"), item], function(msg) {
next()
}, true)
}, function() {
can.onappend.toast(can, "执行成功")
})
},
"项目": function(event, can) { can.onlayout.project(can) },
"上传": function(event, can) { can.onappend.upload(can) },
"搜索": function(event, can) { can.onkeymap._remote(event, can, "搜索", ["action", "find", "vim.history", "", "id", "type", "name", "text"]) },

View File

@ -4,7 +4,10 @@ Volcanos("onimport", {help: "导入数据", list: [],
})
Volcanos("onaction", {help: "控件交互", list: [],
onchange: function(event, can) {
console.log(can.Conf())
can.run(event)
// if (can.Conf("auto") == "true") {
// can.run(event)
// }
},
onclick: function(event, can) {
switch (can.Conf("type")) {

View File

@ -1,16 +1,17 @@
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { can._target.innerHTML = ""
can.ui = can.page.Append(can, can._target, [
{view: ["project", "table"], style: {display: can.user.Search(can, "project")||"none"}},
can._name = "plan", can.ui = can.page.Append(can, can._target, [
{view: ["project", "table"], style: {display: can.user.Searchs(can, "project")||"none"}},
{view: ["content", "table"]},
{view: ["profile", "table"], style: {display: can.user.Search(can, "project")||"none"}},
{view: ["profile", "table"], style: {display: can.user.Searchs(can, "profile")||"none"}},
])
can.onimport[can.Option("scale")](can, msg)
can.Timer(10, function() { can.onimport._stat(can, msg)
can.page.Select(can, can.ui.content, "div.item.id"+can.user.Search(can, "id"), function(item) {
can.page.Select(can, can.ui.content, "div.item.id"+can.user.Searchs(can, "id"), function(item) {
item.click()
})
can.onaction.view({}, can, "view", can.user.Search(can, "view"))
})
can.onimport[can.Option("scale")](can, msg)
},
_stat: function(can, msg) {
var stat = {
@ -26,23 +27,28 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
stat.count++
})
can.Status("count", stat.process+"/"+stat.count)
can.page.Append(can, can.ui.project, [
{th: ["key", "value"]},
{td: ["prepare", stat.prepare]},
{td: ["process", stat.process]},
{td: ["cancel", stat.cancel]},
{td: ["finish", stat.finish]},
stat.l1 > 0 && {td: ["level-1", stat.l1]},
stat.l2 > 0 && {td: ["level-2", stat.l2]},
stat.l3 > 0 && {td: ["level-3", stat.l3]},
stat.l4 > 0 && {td: ["level-4", stat.l4]},
stat.l5 > 0 && {td: ["level-5", stat.l5]},
stat.s1 > 0 && {td: ["score-1", stat.s1]},
stat.s2 > 0 && {td: ["score-2", stat.s2]},
stat.s3 > 0 && {td: ["score-3", stat.s3]},
stat.s4 > 0 && {td: ["score-4", stat.s4]},
stat.s5 > 0 && {td: ["score-5", stat.s5]},
can.page.Append(can, can.ui.project, [ {th: ["key", "value"]} ])
can.core.List(["prepare", "process", "cancel", "finish"], function(item) {
can.page.Append(can, can.ui.project, [{td: [item, stat[item]], onclick: function(event) {
can.onaction._filter(event, can, "status", item)
} }])
})
can.core.List(["1", "2", "3", "4", "5"], function(item) {
stat["l"+item] > 0 && can.page.Append(can, can.ui.project, [
{td: ["level-"+item, stat["l"+item]], onclick: function(event) {
can.onaction._filter(event, can, "level", "l"+item)
}}
])
})
can.core.List(["1", "2", "3", "4", "5"], function(item) {
stat["s"+item] > 0 && can.page.Append(can, can.ui.project, [
{td: ["score-"+item, stat["s"+item]], onclick: function(event) {
can.onaction._filter(event, can, "score", "s"+item)
}}
])
})
},
_task: function(can, msg, time, list, view) {
return {text: ["", "td"],
@ -55,8 +61,8 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can.drop(event, event.target, time)
},
list: can.core.List(list, function(task) {
return typeof task == "string"? {view: ["date", "div", task]}: {view: [["item", task.status, "id"+task.id, "l"+(task.level||""), "s"+(task.score||"")].join(" "),
"div", can.onexport[can.Action("view")||view||"name"](can, task)],
return typeof task == "string"? {view: ["date", "div", task]}: {view: [can.onexport.style(can, task), "div",
can.onexport[can.Action("view")||view||"name"](can, task)],
title: can.onexport.title(can, task), draggable: true,
ondragstart: function(event) { var target = event.target; can.drop = function(event, td, time) { td.append(target)
can.onaction.modifyTask(event, can, task, "begin_time", time, task.begin_time)
@ -64,6 +70,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can.onimport._profile(can, msg, task)
}, oncontextmenu: function(event) { var target = event.target
can.onappend.carte(can, can.ondetail, can.ondetail.list, function(event, item) {
can.onaction.modifyTask(event, can, task, "status", item)
})
}}
}) }
@ -195,11 +202,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
}]).table
},
}, ["/plugin/local/team/miss.css"])
Volcanos("onaction", {help: "组件交互", list: ["统计","详情", "添加",
Volcanos("onaction", {help: "组件交互", list: ["统计","详情", "",
["level", "all", "l1", "l2", "l3", "l4", "l5"],
["status", "all", "prepare", "process", "cancel", "finish"],
["score", "all", "s1", "s2", "s3", "s4", "s5"],
["view", "", "name", "text", "level", "score"],
"添加", "导出", "导入",
],
modifyTask: function(event, can, task, key, value) {
var msg = can.request(event); msg.Option(task)
@ -226,12 +234,14 @@ Volcanos("onaction", {help: "组件交互", list: ["统计","详情", "添加",
count++
})
can.Status("count", count)
can.Action(key, value)
},
level: function(event, can, key, value) { can.onaction._filter(event, can, key, value) },
status: function(event, can, key, value) { can.onaction._filter(event, can, key, value) },
score: function(event, can, key, value) { can.onaction._filter(event, can, key, value) },
view: function(event, can, key, value) { can.ui.content.innerHTML = ""
can.onimport[can.Option("scale")](can, can._msg)
can.Action(key, value), can.onimport[can.Option("scale")](can, can._msg)
},
"统计": function(event, can, key) {
@ -241,16 +251,13 @@ Volcanos("onaction", {help: "组件交互", list: ["统计","详情", "添加",
can.page.Modify(can, can.ui.profile, {style: {display: can.ui.profile.style.display=="none"? "table": "none"}})
},
"添加": function(event, can, key) {
can.require(["/plugin/input/date"], function(can) {
console.log("waht")
})
function time(event) {
var now = new Date(); can.require(["/plugin/input/date"]); function date(event) {
can.onfigure.date.onclick(event, can, {}, event.target)
}
can.user.input(event, can, [
["zone", "工作", "学习"], ["type", "项目开发", "项目测试"], "name", "text",
{name: "begin_time", type: "input", value: can.base.Time(), onclick: time},
{name: "end_timem", type: "input", value: can.base.Time(), onclick: time},
{name: "begin_time", type: "input", value: can.base.Time(can.base.TimeAdd(now, now.getHours()/24)), onclick: date},
{name: "end_time", type: "input", value: can.base.Time(can.base.TimeAdd(now, (now.getHours()+1)/24)), onclick: date},
], function(event, button, data, list) {
can.run(event, ["action", "insert"].concat(list), function(msg) {
@ -277,11 +284,15 @@ Volcanos("onexport", {help: "导出数据", list: ["count", "begin_time", "zone"
title: function(can, task) {
return task.zone+": "+(task.type||"")
},
style: function(can, task) {
return ["item", task.status, "id"+task.id, "l"+(task.level||""), "s"+(task.score||"")].join(" ")
},
key: function(can, msg) {
msg.Option("project", can.ui.project.style.display)
msg.Option("profile", can.ui.profile.style.display)
msg.Option("id", can.Status("id"))
msg.Option("view", can.Action("view"))
},
})