1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-26 01:04:06 +08:00
This commit is contained in:
shylinux 2020-06-12 10:53:31 +08:00
parent 295efc190f
commit feaf44d859
5 changed files with 53 additions and 8 deletions

View File

@ -231,3 +231,12 @@ fieldset.input {
position:absolute; position:absolute;
left:0; top:0; left:0; top:0;
} }
fieldset.input {
z-index:99;
}
fieldset.input.date {
z-index:101;
}
fieldset.input.key {
z-index:101;
}

View File

@ -587,5 +587,14 @@ var page = Volcanos("page", {help: "网页模块",
break break
} }
}, },
offset: function(target) {
var offsetTop = 0, offsetLeft = 0
for (var p = target; p != null; p = p.parentNode) {
offsetTop += (p.offsetTop||0)
offsetLeft += (p.offsetLeft||0)
}
return {Top: offsetTop, Left: offsetLeft}
},
}) })

View File

@ -1,4 +1,7 @@
Volcanos("onfigure", {help: "控件详情", list: [], Volcanos("onfigure", {help: "控件详情", list: [], _merge: function(can, sub) { can.core.Item(sub, function(key, value) {
if (sub.hasOwnProperty(key)) { can.onfigure[key] = value }
}); return true },
date: {onclick: function(event, can, item, target) { date: {onclick: function(event, can, item, target) {
can._figure && can.page.Remove(can, can._figure.fieldset) can._figure && can.page.Remove(can, can._figure.fieldset)
can._figure = can.onappend.field(can, can._target, "input date", {}) can._figure = can.onappend.field(can, can._target, "input date", {})
@ -11,7 +14,9 @@ Volcanos("onfigure", {help: "控件详情", list: [],
// 添加插件 // 添加插件
var figure = can._figure var figure = can._figure
figure.table = can.page.Append(can, figure.output, [{type: "table"}]).first figure.table = can.page.Append(can, figure.output, [{type: "table"}]).first
can.page.Modify(can, figure.fieldset, {style: {top: target.offsetTop+20, left: target.offsetLeft}}) // can.page.Modify(can, figure.fieldset, {style: {top: target.offsetTop+20, left: target.offsetLeft}})
var offset = can.page.offset(can._target)
can.page.Modify(can, figure.fieldset, {style: {top: event.clientY-offset.Top+60, left: event.clientX-offset.Left+60}})
can.page.Remove(can, figure.legend) can.page.Remove(can, figure.legend)
// 添加控件 // 添加控件

View File

@ -1,7 +1,21 @@
Volcanos("onfigure", {help: "控件详情", list: [], Volcanos("onfigure", {help: "控件详情", list: [], _merge: function(can, sub) { can.core.Item(sub, function(key, value) {
key: {click: function(event, can, value, cmd, target, figure) { if (sub.hasOwnProperty(key)) { can.onfigure[key] = value }
function run() {figure.output.innerHTML = "" }); return true },
can.Run(event, ["action", "input", can.item.name, target.value], function(msg) {
key: {onclick: function(event, can, item, target) {
can._figure && can.page.Remove(can, can._figure.fieldset)
can._figure = can.onappend.field(can, can._target, "input key", {})
var figure = can._figure, offset = can.page.offset(can._target)
can.page.Modify(can, figure.fieldset, {style: {top: event.clientY-offset.Top+60, left: event.clientX-offset.Left+60}})
can.page.Remove(can, figure.legend), can.page.Append(can, figure.action, [
{button: ["关闭", function(event) {
can._figure && can.page.Remove(can, can._figure.fieldset)
}]},
])
function run() { var msg = can.request(event); msg.Option(item)
can.run(event, ["action", "input", item.name, target.value], function(msg) {
can.page.AppendTable(can, figure.output, msg, msg.append, function(event, value, key, index, tr, td) { can.page.AppendTable(can, figure.output, msg, msg.append, function(event, value, key, index, tr, td) {
target.value = value; msg.Option("_refresh") && run() target.value = value; msg.Option("_refresh") && run()
}) })

View File

@ -217,7 +217,10 @@ Volcanos("onaction", {help: "组件交互", list: ["统计", "添加", "详情",
"", "导出", "导入", "", "导出", "导入",
], ],
insertTask: function(event, can, now) { now = now || new Date() insertTask: function(event, can, now) { now = now || new Date()
can.require(["/plugin/input/date"]); function date(event) { can.require([
"/plugin/input/key",
"/plugin/input/date",
]); function date(event) {
can.onfigure.date.onclick(event, can, {}, event.target) can.onfigure.date.onclick(event, can, {}, event.target)
} }
@ -232,7 +235,12 @@ Volcanos("onaction", {help: "组件交互", list: ["统计", "添加", "详情",
}]}, }]},
"name", "text", {name: "name", type: "input", onclick: function(event) {
can.onfigure.key.onclick(event, can, {name: "name", zone: ui.zone.value, type: ui.type.value}, event.target)
}, autocomplete: "off"},
{name: "text", type: "input", onclick: function(event) {
can.onfigure.key.onclick(event, can, {name: "text", zone: ui.zone.value, type: ui.type.value}, event.target)
}, autocomplete: "off"},
{name: "begin_time", type: "input", value: can.base.Time(can.base.TimeAdd(now, now.getHours()/24)), onclick: date}, {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}, {name: "end_time", type: "input", value: can.base.Time(can.base.TimeAdd(now, (now.getHours()+1)/24)), onclick: date},
], function(event, button, data, list) { ], function(event, button, data, list) {