1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-01-31 23:36:52 +08:00
parent f2658d166b
commit b0416f781c
8 changed files with 27 additions and 20 deletions

View File

@ -312,8 +312,8 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
can.user.open(can.misc.MergePodCmd(can, {pod: can.ConfSpace(), cmd: web.CODE_VIMER, path: ls[0], file: ls[1]})) can.user.open(can.misc.MergePodCmd(can, {pod: can.ConfSpace(), cmd: web.CODE_VIMER, path: ls[0], file: ls[1]}))
} else { can.onappend._float(can, web.CODE_VIMER, ls) } } else { can.onappend._float(can, web.CODE_VIMER, ls) }
}}, }},
{name: html.HEIGHT, value: parseInt(can.ConfHeight()), onclick: function(event) { can.onappend._float(can, {index: "can.view", _target: can._fields||can._target}) }}, {name: html.HEIGHT, value: parseInt(can.ConfHeight()||0), onclick: function(event) { can.onappend._float(can, {index: "can.view", _target: can._fields||can._target}) }},
{name: html.WIDTH, value: parseInt(can.ConfWidth()), onclick: function(event) { can.onappend._float(can, {index: "can.data", _target: can._fields? can.sup: can}) }}, {name: html.WIDTH, value: parseInt(can.ConfWidth()||0), onclick: function(event) { can.onappend._float(can, {index: "can.data", _target: can._fields? can.sup: can}) }},
]: []), function(item) { if (!item) { return } item = can.base.isString(item)? {name: item}: item ]: []), function(item) { if (!item) { return } item = can.base.isString(item)? {name: item}: item
if (item && item.name == web.SPACE && item.value) { item.value = can.page.Format(html.A, can.misc.MergePodCmd(can, {pod: item.value}), item.value) } if (item && item.name == web.SPACE && item.value) { item.value = can.page.Format(html.A, can.misc.MergePodCmd(can, {pod: item.value}), item.value) }
if (can.base.beginWith(item.value, nfs.PS, ice.HTTP)) { item.value = can.page.Format(html.A, item.value, item.value.split("?")[0]) } if (can.base.beginWith(item.value, nfs.PS, ice.HTTP)) { item.value = can.page.Format(html.A, item.value, item.value.split("?")[0]) }
@ -354,7 +354,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
) && (name = (item.index||"").split(".").slice(-2).join(".")), (type != html.PLUG) && (name = can.core.Keys(item.space||item._space, name)) ) && (name = (item.index||"").split(".").slice(-2).join(".")), (type != html.PLUG) && (name = can.core.Keys(item.space||item._space, name))
var title = item.title || (item.help && item.help != name && !can.user.isEnglish(can)? name+"("+can.core.Split(item.help)[0]+")": name) var title = item.title || (item.help && item.help != name && !can.user.isEnglish(can)? name+"("+can.core.Split(item.help)[0]+")": name)
target = can.base.isFunc(target)? target(): target target = can.base.isFunc(target)? target(): target
return can.page.Append(can, target||can._output, [{view: [type, html.FIELDSET], list: [{type: html.LEGEND, list: [item.icon && {icon: item.icon}, {text: title}]}, {view: [html.OPTION, html.FORM]}, html.ACTION, html.OUTPUT, html.STATUS]}]) return can.page.Append(can, target||can._output, [{view: [type, html.FIELDSET], style: item.style, list: [{type: html.LEGEND, list: [item.icon && {icon: item.icon}, {text: title}]}, {view: [html.OPTION, html.FORM]}, html.ACTION, html.OUTPUT, html.STATUS]}])
}, },
input: function(can, item, value, target, style) { if ([html.BR, html.HR].indexOf(item.type) > -1) { return can.page.Append(can, target, [item]) } input: function(can, item, value, target, style) { if ([html.BR, html.HR].indexOf(item.type) > -1) { return can.page.Append(can, target, [item]) }
var icon = [], _item = can.base.Copy({className: "", type: "", name: ""}, item), input = can.page.input(can, _item, value) var icon = [], _item = can.base.Copy({className: "", type: "", name: ""}, item), input = can.page.input(can, _item, value)
@ -625,6 +625,11 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
can.onimport.layout = can.onimport.layout||function(can) { ui.layout(can.ConfHeight(), can.ConfWidth()), can.onimport._layout && can.onimport._layout(can) can.onimport.layout = can.onimport.layout||function(can) { ui.layout(can.ConfHeight(), can.ConfWidth()), can.onimport._layout && can.onimport._layout(can)
can.Action(html.FILTER) && can.onmotion.filter(can, can.Action(html.FILTER)) can.Action(html.FILTER) && can.onmotion.filter(can, can.Action(html.FILTER))
} }
can.onimport._layout = can.onimport._layout||function(can) { if (!can.ui.content) { return }
can.page.style(can, can.ui.content, html.HEIGHT, can._output.style[html.HEIGHT], html.MAX_HEIGHT, can._output.style[html.MAX_HEIGHT])
can.page.style(can, can.ui.project, html.HEIGHT, can.ui.content.offsetHeight+can.ui.display.offsetHeight)
can.onlayout.expand(can, can.ui.content)
}
return ui return ui
}, },
tabview: function(can, meta, list, target) { var ui = can.page.Append(can, target, [html.ACTION, html.OUTPUT]) tabview: function(can, meta, list, target) { var ui = can.page.Append(can, target, [html.ACTION, html.OUTPUT])

View File

@ -380,8 +380,8 @@ body.mobile div.output>div.project { flex:0 0 320px; width:320px; }
body.mobile div.output>div.project { background-color:var(--plugin-bg-color); } body.mobile div.output>div.project { background-color:var(--plugin-bg-color); }
div.project div.list { margin-left:var(--button-margin); clear:both; } div.project div.list { margin-left:var(--button-margin); clear:both; }
div.project div.list fieldset { position:static; } div.project div.list fieldset { position:static; }
div.project div.item { white-space:pre; line-height:24px; padding:0 var(--button-margin); } div.project div.item { white-space:pre; line-height:24px; padding:0 var(--button-margin); display:flex; align-items:center; }
div.project div.item img { height:var(--action-height); width:var(--action-height); } div.project div.item img { margin:var(--input-margin) !important; height:var(--action-height); width:var(--action-height); }
div.project div.item.filter { padding:0; width:100%; } div.project div.item.filter { padding:0; width:100%; }
div.project div.item.filter>input { width:100%; padding:0 25px; } div.project div.item.filter>input { width:100%; padding:0 25px; }
div.project div.item.search { padding:0; width:100%; } div.project div.item.search { padding:0; width:100%; }
@ -684,7 +684,7 @@ fieldset>div.output.form>div.item>span.need { color:red; }
fieldset>div.output.form>div.item>div.item>input { font-size:20px; height:38px; width:var(--form-width); } fieldset>div.output.form>div.item>div.item>input { font-size:20px; height:38px; width:var(--form-width); }
fieldset>div.output.form>div.item>div.item>input[type=button] { font-size:20px; height:48px; border:var(--notice-bg-color) solid 1px; } fieldset>div.output.form>div.item>div.item>input[type=button] { font-size:20px; height:48px; border:var(--notice-bg-color) solid 1px; }
fieldset.studio>div.output { padding:var(--plugin-padding); } fieldset.studio>div.output { padding:var(--plugin-padding); }
fieldset.studio>div.action>div.item { font-style:italic; padding:var(--input-margin) var(--button-padding); } fieldset.studio>div.action>div.item:not(.icons) { font-style:italic; padding:var(--input-margin) var(--button-padding); }
fieldset.studio>div.output>fieldset>form.option div.icon.delete { display:none; } fieldset.studio>div.output>fieldset>form.option div.icon.delete { display:none; }
fieldset.studio>div.output>fieldset>form.option div.icon:nth-child(2) { margin-left:var(--plugin-margin); } fieldset.studio>div.output>fieldset>form.option div.icon:nth-child(2) { margin-left:var(--plugin-margin); }
fieldset.studio>div.output>fieldset>div.output>table.content { width:100%; } fieldset.studio>div.output>fieldset>div.output>table.content { width:100%; }

View File

@ -14,7 +14,13 @@ Volcanos("core", {
if (typeof key == code.OBJECT) { if (key.length != undefined) { key = key.join(nfs.PT) } else { for (var k in key) { arguments.callee.call(this, data, k, key[k]) } return data } } if (typeof key == code.OBJECT) { if (key.length != undefined) { key = key.join(nfs.PT) } else { for (var k in key) { arguments.callee.call(this, data, k, key[k]) } return data } }
if (value != undefined) { var _node = data, keys = key.split(nfs.PT) if (value != undefined) { var _node = data, keys = key.split(nfs.PT)
for (var i = 0; i < keys.length; i++) { var _next = _node[keys[i]]||{}; _node[keys[i]] = _next for (var i = 0; i < keys.length; i++) { var _next = _node[keys[i]]||{}; _node[keys[i]] = _next
if (i < keys.length - 1) { _node = _next } else { _node[keys[i]] = value } if (i < keys.length - 1) { _node = _next } else {
if (value === "") {
delete(_node[keys[i]])
} else {
_node[keys[i]] = value
}
}
} }
} }
var node = data, keys = key.split(nfs.PT); while (node && keys.length > 0) { var node = data, keys = key.split(nfs.PT); while (node && keys.length > 0) {

View File

@ -31,12 +31,10 @@ Volcanos("page", {
return can.core.List(key == nfs.PT? [target]: target.querySelectorAll(can.page.Keys(key)), cb, interval, cbs) return can.core.List(key == nfs.PT? [target]: target.querySelectorAll(can.page.Keys(key)), cb, interval, cbs)
}, },
Modify: function(can, target, value) { target = can.base.isString(target)? document.querySelector(target): target; if (!target) { return } Modify: function(can, target, value) { target = can.base.isString(target)? document.querySelector(target): target; if (!target) { return }
can.base.isString(value)? (target.innerHTML = value): can.core.Item(value, function(key, val) { can.base.isString(value)? (target.innerHTML = value): can.core.Item(value, function(key, val) { if (key == "view") { return }
key == "className" && can.base.isArray(val) && (val = val.join(lex.SP)), !can.base.isObject(val)? (target[key] = val): can.core.Item(val, function(k, v) { key == "className" && can.base.isArray(val) && (val = val.join(lex.SP)), !can.base.isObject(val)? (target[key] = val): can.core.Item(val, function(k, v) {
if (can.base.isIn(k, "height", "width", "min-height", "max-height", "min-width", "max-width") && parseInt(v) < 0) { return target[key] && (target[key][k] = "") } if (can.base.isIn(k, "height", "width", "min-height", "max-height", "min-width", "max-width") && parseInt(v) < 0) { return target[key] && (target[key][k] = "") }
if (can.base.isIn(k, "height", "width", "min-height", "max-height", "min-width", "max-width", "left", "top", "right", "bottom", "margin-left", "margin-top", "margin", "padding", "font-size") && v && (can.base.isNumber(v) || !can.base.endWith(v, "px"))) { v += "px" } if (can.base.isIn(k, "height", "width", "min-height", "max-height", "min-width", "max-width", "left", "top", "right", "bottom", "margin-left", "margin-top", "margin", "padding", "font-size") && v && (can.base.isNumber(v) || !can.base.endWith(v, "px"))) { v += "px" }
// if (k == "background-color") { debugger }
// if (k == "left") { debugger }
target[key] && (target[key][k] = v) target[key] && (target[key][k] = v)
}) })
}); return target }); return target

View File

@ -23,7 +23,7 @@ Volcanos(chat.ONFIGURE, {key: {
msg.append.length == 1 && can.page.ClassList.add(can, can._target, chat.SIMPLE) msg.append.length == 1 && can.page.ClassList.add(can, can._target, chat.SIMPLE)
can.onlayout.figure({target: target}, can, can._target, false, 200) can.onlayout.figure({target: target}, can, can._target, false, 200)
}, },
onclick: function(event, can, meta, target, cbs) { cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return } onclick: function(event, can, meta, target, cbs) { target.value == "" && cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return }
meta.msg && meta.msg.Length() > 0? sub._show(sub, meta.msg, cb, target, meta.name): sub._load(event, sub, cb, target, meta.name, target.value) meta.msg && meta.msg.Length() > 0? sub._show(sub, meta.msg, cb, target, meta.name): sub._load(event, sub, cb, target, meta.name, target.value)
}) }, }) },
onblur: function(event, can, sub, cb) { sub && can.onmotion.delay(can, sub.close, 300) }, onblur: function(event, can, sub, cb) { sub && can.onmotion.delay(can, sub.close, 300) },

View File

@ -30,8 +30,4 @@ Volcanos(chat.ONIMPORT, {
} }
}) } }) }
}, },
layout: function(can) { if (!can.ui.content) { return }
can.page.style(can, can.ui.content, html.HEIGHT, can.ConfHeight(), html.WIDTH, can.ConfWidth()-can.ui.project.offsetWidth)
can.onlayout.expand(can, can.ui.content)
},
}, [""]) }, [""])

View File

@ -1,8 +1,9 @@
fieldset.feel>div.output>div.layout>div.display { position:relative; overflow-y:hidden; } fieldset.feel>div.output>div.layout>div.display { position:relative; overflow-y:hidden; }
fieldset.feel>div.output>div.layout>div.display>img:hover { background-color:var(--hover-bg-color); cursor:pointer; } fieldset.feel>div.output>div.layout>div.display>img:hover { background-color:var(--hover-bg-color); cursor:pointer; }
fieldset.feel>div.output>div.layout>div.display:not(.hide) { height:100px; align-items:normal; gap:10px; } fieldset.feel>div.output>div.layout>div.display:not(.hide) { height:100px; align-items:normal; gap:10px; }
fieldset.feel>div.output>div.layout>div.display:not(.hide) img { height:100px; }
fieldset.feel>div.output>div.layout>div.display:not(:hover)>div.toggle { display:none; } fieldset.feel>div.output>div.layout>div.display:not(:hover)>div.toggle { display:none; }
fieldset.feel>div.output>div.layout>div.display>div.toggle { font-size:48px; padding:5px; position:absolute; top:20%; } fieldset.feel>div.output>div.layout>div.display>div.toggle { font-size:48px; padding:5px; position:absolute; height:100px; padding-top:20px; }
fieldset.feel>div.output>div.layout>div.display>div.toggle.prev { left:0; } fieldset.feel>div.output>div.layout>div.display>div.toggle.prev { left:0; }
fieldset.feel>div.output>div.layout>div.display>div.toggle.next { right:0; } fieldset.feel>div.output>div.layout>div.display>div.toggle.next { right:0; }
fieldset.feel>div.output>div.layout>div.layout>div.content { text-align:center; overflow-y:hidden; } fieldset.feel>div.output>div.layout>div.layout>div.content { text-align:center; overflow-y:hidden; }

View File

@ -135,8 +135,9 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
if (can.base.isFunc(cbs)) { var menu = cbs(event, ui._target); if (menu) { can.user.carteRight(event, can, menu.meta, menu.list, menu) } return } if (can.base.isFunc(cbs)) { var menu = cbs(event, ui._target); if (menu) { can.user.carteRight(event, can, menu.meta, menu.list, menu) } return }
can.user.carteItem(event, can, item) can.user.carteItem(event, can, item)
} }
var icon = item.icon||item.icons
var ui = can.page.Append(can, target, [{view: html.ITEM, list: [ var ui = can.page.Append(can, target, [{view: html.ITEM, list: [
item.icon && (can.base.contains(item.icon, ice.HTTP, ".png", ".jpg")? {img: item.icon}: {icon: item.icon}), icon && (can.base.contains(icon, ice.HTTP, ".png", ".jpg")? {img: can.misc.Resource(can, icon)}: {icon: icon}),
{text: item.nick||item.name||item.zone}], title: item.title, onclick: function(event) { {text: item.nick||item.name||item.zone}], title: item.title, onclick: function(event) {
can.onmotion.select(can, target, html.DIV_ITEM, event.currentTarget) can.onmotion.select(can, target, html.DIV_ITEM, event.currentTarget)
cb(event, event.currentTarget, event.currentTarget._list && can.onmotion.toggle(can, event.currentTarget._list)) cb(event, event.currentTarget, event.currentTarget._list && can.onmotion.toggle(can, event.currentTarget._list))
@ -194,12 +195,12 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
}} }}
}))._target }, }))._target },
tool: function(can, list, cb, target, status) { target = target||can._output, status = status||can._status tool: function(can, list, cb, target, status) { target = target||can._output, status = status||can._status
var height = can.base.Max(html.PLUG_HEIGHT, can.ConfHeight(), 240), width = can.base.Max(html.PLUG_WIDTH, can.ConfWidth()-(can.user.isMobile? 0: html.PROJECT_WIDTH))
can.core.Next(list.reverse(), function(meta, next) { can.base.isString(meta) && (meta = {index: meta}), meta.mode = html.FLOAT can.core.Next(list.reverse(), function(meta, next) { can.base.isString(meta) && (meta = {index: meta}), meta.mode = html.FLOAT
can.onimport.plug(can, meta, function(sub) { can.onimport.plug(can, meta, function(sub) {
sub.onexport.output = function() { can.page.style(can, sub._output, html.MAX_HEIGHT, "", html.HEIGHT, "", html.WIDTH, "", html.MAX_WIDTH, "") sub.onexport.output = function() { can.page.style(can, sub._output, html.MAX_HEIGHT, "", html.HEIGHT, "", html.WIDTH, "", html.MAX_WIDTH, "")
var height = can.base.Max(html.PLUG_HEIGHT, can._output.offsetHeight, 240), width = can.base.Max(html.PLUG_WIDTH, can.ConfWidth()-(can.user.isMobile? 0: html.PROJECT_WIDTH))
sub.onimport.size(sub, height, width, false), can.onmotion.delay(can, function() { sub.onimport.size(sub, height, width, false) }) sub.onimport.size(sub, height, width, false), can.onmotion.delay(can, function() { sub.onimport.size(sub, height, width, false) })
} }, sub.onimport.size(sub, height, width, false)
can.onmotion.hidden(can, sub._target), sub._legend._target = sub._target, sub._legend._meta = {index: meta.index} can.onmotion.hidden(can, sub._target), sub._legend._target = sub._target, sub._legend._meta = {index: meta.index}
can.page.Append(can, sub._legend,[{text: [can.page.unicode.remove, "", mdb.REMOVE], onclick: function(event) { can.page.Append(can, sub._legend,[{text: [can.page.unicode.remove, "", mdb.REMOVE], onclick: function(event) {
can.page.Remove(can, sub._target), can.page.Remove(can, sub._legend), can.onexport.tool(can), can.onkeymap.prevent(event) can.page.Remove(can, sub._target), can.page.Remove(can, sub._legend), can.onexport.tool(can), can.onkeymap.prevent(event)
@ -208,7 +209,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
if (can.page.SelectOne(can, status, nfs.PT+html.SELECT, function(target) { can.onmotion.hidden(can, target._target), can.page.ClassList.del(can, target, html.SELECT); return target }) == sub._legend) { return } if (can.page.SelectOne(can, status, nfs.PT+html.SELECT, function(target) { can.onmotion.hidden(can, target._target), can.page.ClassList.del(can, target, html.SELECT); return target }) == sub._legend) { return }
can.onmotion.select(can, status, html.LEGEND, sub._legend), can.onmotion.toggle(can, sub._target, true) can.onmotion.select(can, status, html.LEGEND, sub._legend), can.onmotion.toggle(can, sub._target, true)
can.onmotion.select(can, target, html.FIELDSET_PLUG, sub._target) can.onmotion.select(can, target, html.FIELDSET_PLUG, sub._target)
sub.onimport.size(sub, sub.ConfHeight(), sub.ConfWidth()) sub.onimport.size(sub, sub.ConfHeight(), sub.ConfWidth(), false)
if (sub._delay_init || meta.msg) { sub._delay_init = false, meta.msg = false, (sub._inputs && sub._inputs.list || sub._inputs && sub._inputs.refresh) && sub.Update() } if (sub._delay_init || meta.msg) { sub._delay_init = false, meta.msg = false, (sub._inputs && sub._inputs.list || sub._inputs && sub._inputs.refresh) && sub.Update() }
}) }, sub._delay_init = true, sub.select = function(show) { }) }, sub._delay_init = true, sub.select = function(show) {
if (show && can.page.ClassList.has(can, sub._legend, html.SELECT)) { return sub } if (show && can.page.ClassList.has(can, sub._legend, html.SELECT)) { return sub }