1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
shylinux 2020-10-17 12:26:40 +08:00
parent cfa4f3a459
commit 1cc0e77715
6 changed files with 79 additions and 35 deletions

View File

@ -231,6 +231,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta,
var action = can.page.Select(can, field, "div.action")[0]
var output = can.page.Select(can, field, "div.output")[0]
var status = can.page.Select(can, field, "div.status")[0]
option.dataset.id = meta.id
// 添加插件
var sub = Volcanos(meta.name, { _help: meta.name, _follow: can._follow+"."+meta.name,

View File

@ -51,7 +51,41 @@ var base = Volcanos("base", {help: "基础模块",
}
return size + "B"
},
Time: shy("时间格式化", function(t, fmt) { var now = t? new Date(t): new Date()
date: shy("时间格式化", function(t) {
var now = new Date()
if (t) { return now }
if (typeof t == "string") { var ls = t.split(" ")
var vs = ls[0].split("-")
now.setFullYear(parseInt(vs[0]))
now.setMonth(parseInt(vs[1]))
now.setDate(parseInt(vs[2]))
var vs = ls[1].split(":")
now.setHours(parseInt(vs[0]))
now.setMinutes(parseInt(vs[1]))
now.setSeconds(parseInt(vs[2]))
} else {
now = t
}
return now
}),
Time: shy("时间格式化", function(t, fmt) {
var now = new Date()
if (t && typeof t == "string") { var ls = t.split(" ")
var vs = ls[0].split("-")
now.setFullYear(parseInt(vs[0]))
now.setMonth(parseInt(vs[1]))
now.setDate(parseInt(vs[2]))
var vs = ls[1].split(":")
now.setHours(parseInt(vs[0]))
now.setMinutes(parseInt(vs[1]))
now.setSeconds(parseInt(vs[2]))
} else if (t) {
now = t
}
// var now = t? new Date(t): new Date()
var list = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"]
fmt = fmt || "%y-%m-%d %H:%M:%S"
fmt = fmt.replace("%y", now.getFullYear())

View File

@ -56,18 +56,9 @@ Volcanos("onaction", {help: "交互数据", list: [], _init: function(can, msg,
},
Footer: function(event, can, key) {
can.page.Select(can, document.body, "fieldset.Action", function(item) {
if (item.style.height) {
height = document.body.offsetHeight
can.page.Select(can, item, "div.output")[0].style.height = ""
item.style.height = ""
} else {
can.page.Select(can, item, "div.output")[0].style.height = height-100+"px"
item.style.height = height-88+"px"
}
can.page.Select(can, item, "div.output")[0].style.height = ""
item.style.height = ""
})
can.page.Select(can, document.body, "fieldset."+key, function(item) {
can.page.Modify(can, item, {style: {display: item.style.display == "none"? "block": "none"}})
})
},
})
Volcanos("onexport", {help: "导出数据", list: [], _init: function(can, msg, list, cb, target) {

View File

@ -98,16 +98,14 @@ Volcanos("ondetail", {help: "菜单交互", list: ["添加应用", "添加设备
})
},
"保存参数": function(event, can, button, storm) {
var list = can.page.Select(can, document.body, "fieldset.Action>div.output>fieldset.plugin>form.option", function(item) {
return JSON.stringify(can.page.Select(can, item, 'args', function(item) {
return item.value||""
}))
can.run(event, [can.Conf(RIVER), "tool", "action", "modify", storm.hash, STORM].concat(list), function(msg) {
can.user.toast(can, "保存成功", STORM)
})
})
can.core.Next(can.page.Select(can, document.body, "fieldset.Action>div.output>fieldset.plugin>form.option"), function(item, next) {
var list = can.page.Select(can, item, '.args', function(item) { return item.value||"" })
can.run(event, [can.Conf(RIVER), storm.hash, STORM, "action", "save"].concat(list), function(msg) {
var msg = can.request({}); msg.Option("hash", storm.hash), msg.Option("id", item.dataset.id)
can.run(msg._event, [can.Conf(RIVER), "tool", "action", "modify", "arg", JSON.stringify(list)], function(msg) {
next()
})
}, function() {
can.user.toast(can, "保存成功", STORM)
})
},

View File

@ -9,11 +9,29 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
typeof cb == "function" && cb()
can.onimport[can.Option("scale")](can, msg)
can.page.Modify(can, can._action, {style: {display: "none"}})
var begin = can.onimport.date("2020-10-10 10:10:10")
},
date: function(t) { var now = new Date()
if (t && typeof t == "string") { var ls = t.split(" ")
var vs = ls[0].split("-")
now.setFullYear(parseInt(vs[0]))
now.setMonth(parseInt(vs[1]))
now.setDate(parseInt(vs[2]))
var vs = ls[1].split(":")
now.setHours(parseInt(vs[0]))
now.setMinutes(parseInt(vs[1]))
now.setSeconds(parseInt(vs[2]))
} else if (t) {
now = t
}
return now
},
_show: function(can, msg, head, list, key, set, get) {
var begin_time = new Date(can.base.Time(can.Option("begin_time")))
var begin_time = can.onimport.date(can.base.Time(can.Option("begin_time")))
var hash = {}; msg.Table(function(value, index) {
var k = key(new Date(value.begin_time)); hash[k] = (hash[k]||[]).concat([value])
var k = key(can.onimport.date(value.begin_time)); hash[k] = (hash[k]||[]).concat([value])
can.Status("count", index+1)
})
@ -38,7 +56,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
event.preventDefault()
},
ondblclick: function(event) { var now = can.base.Time()
can.onaction.insertTask(event, can, can.base.Time(new Date(time+now.slice(time.length))))
can.onaction.insertTask(event, can, can.base.Time(can.onimport.date(time+now.slice(time.length))))
},
list: can.core.List(list, function(task) { return typeof task == "string"? {view: ["date", "div", task]}:
{view: [can.onexport.style(can, task), "div", can.onexport[view||can.Action("view")||"text"](can, task)],
@ -136,7 +154,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
can.onimport._show(can, msg, head, list, key, set, get)
},
long: function(can, msg) {
var begin_time = new Date(can.base.Time(can.Option("begin_time")))
var begin_time = can.onimport.date(can.base.Time(can.Option("begin_time")))
var begin = begin_time.getFullYear() - 5
var head = ["month"]; for (var i = 0; i < 10; i++) { head.push(begin+i) }

View File

@ -1,7 +1,6 @@
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb) {
can.ui = can.page.Appends(can, can._target, [
{view: "content"}, {view: "display"},
])
can.ui = can.page.Appends(can, can._target, [{view: "content"}, {view: "display"}])
can.table = can.onappend.table(can, can.ui.content, "table", msg, function(value, key, index, line) {
return {text: [value, "td"], oncontextmenu: function(event) {
can.user.carte(can, can.ondetail, can.ondetail.list, function(ev, cmd, meta) {
@ -10,13 +9,13 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
}, ondblclick: function(event) {
can.page.Modify(can, event.target, {contenteditable: true})
}, onclick: function(event) {
if (key == "path") {
can.run(event, [can.Option("path", value)])
}
if (key == "path") { can.run(event, [can.Option("path", value)]) }
}}
})
can.onexport.list = msg.append
typeof cb == "function" && cb()
can.onaction._compute(event, can)
},
})
Volcanos("onfigure", {help: "组件菜单", list: [],
@ -38,11 +37,10 @@ Volcanos("onfigure", {help: "组件菜单", list: [],
}
},
})
Volcanos("onaction", {help: "组件菜单", list: ["保存", ["mode", "全选", "块选", "反选", "多选", "拖动", "编辑"], "求和", "最大", "最小", "平均"],
_engine: function(event, can, cmd) {
Volcanos("onaction", {help: "组件菜单", list: ["保存", ["mode", "全选", "块选", "反选", "多选", "拖动", "编辑"], ["some", "求和", "最大", "最小", "平均"]],
_compute: function(event, can) {
var mul = "tr" + (can.Action("mode") == "全选"? "": ".select")
var method = can.onfigure[cmd], res = {}
var method = can.onfigure[can.Action("some")], res = {}
can.page.Select(can, can.ui.content, mul, function(tr, nrow, rows) {
(mul != "tr" || nrow > 0) && can.page.Select(can, tr, "td", function(td, ncol, cols) {
@ -70,12 +68,14 @@ Volcanos("onaction", {help: "组件菜单", list: ["保存", ["mode", "全选",
item.onmouseenter = null
item.onclick = null
})
can.onaction._compute(event, can)
},
"块选": function(event, can, cmd) {
cmd && can.Action("mode", cmd)
can.page.Select(can, can.ui.content, "tr", function(item) {
item.onmouseenter = function() {
can.page.ClassList.add(can, item, "select")
can.onaction._compute(event, can)
}
})
},
@ -84,6 +84,7 @@ Volcanos("onaction", {help: "组件菜单", list: ["保存", ["mode", "全选",
can.page.Select(can, can.ui.content, "tr", function(item) {
item.onmouseenter = function() {
can.page.ClassList.del(can, item, "select")
can.onaction._compute(event, can)
}
})
},
@ -92,6 +93,7 @@ Volcanos("onaction", {help: "组件菜单", list: ["保存", ["mode", "全选",
can.page.Select(can, can.ui.content, "tr", function(item) {
item.onclick = function() {
can.page.ClassList.neg(can, item, "select")
can.onaction._compute(event, can)
}
})
},