From f3e14258a4afd6b3d33a85388ec836b412b593ef Mon Sep 17 00:00:00 2001 From: shaoying Date: Sun, 17 Oct 2021 17:55:21 +0800 Subject: [PATCH] opt frame --- frame.js | 452 ++++++--------------- lib/base.js | 2 +- lib/page.js | 2 +- lib/user.js | 2 +- page/index.js | 2 +- panel/action.js | 10 +- panel/header.js | 1 - panel/river.js | 2 +- plugin/local/code/inner.js | 20 +- plugin/local/wiki/draw.js | 122 +++++- plugin/local/wiki/word.js | 4 +- plugin/state.js | 6 +- plugin/story/spide.js | 1 + proto.js | 64 +-- publish/client/mp/app.wxml | 10 +- publish/client/mp/pages/action/action.js | 14 +- publish/client/mp/pages/insert/insert.wxml | 8 +- 17 files changed, 316 insertions(+), 406 deletions(-) diff --git a/frame.js b/frame.js index d72b8efa..1e1b957a 100644 --- a/frame.js +++ b/frame.js @@ -119,10 +119,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, can.base.isFunc(cb) && cb(sub) }, target) }, - }, list, function(sub) { sub.Conf(meta) - meta.feature = sub.base.Obj(meta.feature, {}) - sub.page.ClassList.add(sub, field, meta.style||meta.feature.style||"") + }, list, function(sub) { sub.Conf(meta), meta.feature = sub.base.Obj(meta.feature, {}) sub.page.ClassList.add(sub, field, meta.index? meta.index.split(ice.PT).pop(): meta.name) + sub.page.ClassList.add(sub, field, meta.style||meta.feature.style||"") sub.page.Modify(sub, sub._legend, {onmouseenter: function(event) { sub.user.carte(event, sub, sub.onaction, sub.onaction.list.concat([["所有 ->"].concat(can.core.Item(meta.feature._trans))])) @@ -133,7 +132,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }); return sub }, _option: function(can, meta, option) { var index = -1, args = can.base.Obj(meta.args||meta.arg, []), opts = can.base.Obj(meta.opts, {}) - function add(item, next) { item._input != html.BUTTON && item.type != html.BUTTON && index++ + function add(item, next) { item.type != html.BUTTON && index++ Volcanos(item.name, {_follow: can.core.Keys(can._follow, item.name), _target: can.onappend.input(can, item, args[index]||opts[item.name], option), _option: can._option, _action: can._action, _output: can._output, _status: can._status, @@ -146,7 +145,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, return can.Update(event, can.Input(cmds, silent), cb, silent) }, can._inputs[item.name] = input, input.sup = can - can.core.Item(input.onaction, function(key, cb) { if(key.indexOf("on") == 0) { + can.core.Item(input.onaction, function(key, cb) { if (key.indexOf("on") == 0) { input._target[key] = function(event) { cb(event, input) } } }), can.core.CallFunc([input.onaction, "_init"], [input, item, [], next, input._target]) @@ -208,7 +207,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }, _status: function(can, list, status) { status = status||can._status can.core.List(list, function(item) { item = can.base.isObject(item)? item: {name: item} - can.page.Append(can, status, [{view: can.base.join(["item", item.name]), title: item.name, list: [ + can.page.Append(can, status, [{view: can.base.join([html.ITEM, item.name]), title: item.name, list: [ {text: [item.name, html.LABEL]}, {text: [": ", html.LABEL]}, {text: [(item.value||"")+"", html.SPAN, item.name]}, ], }]) }) @@ -216,15 +215,15 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, list: function(can, root, cb, target) { can.core.List(root.list, function(item) { - var ui = can.page.Append(can, target, [{view: ["item", "div", item.meta.name], onclick: function(event) { + var ui = can.page.Append(can, target, [{view: [html.ITEM, html.DIV, item.meta.name], onclick: function(event) { can.base.isFunc(cb) && cb(event, item) || can.onmotion.toggle(can, ui.list) - }}, {view: "list"}]); can.onappend.list(can, item, cb, ui.list) + }}, {view: html.LIST}]); can.onappend.list(can, item, cb, ui.list) }) }, item: function(can, type, item, cb, cbs, target) { target = target||can._output var ui = can.page.Append(can, target, [{view: [type, html.DIV, item.nick||item.name], onclick: function(event) { cb(event, ui.first) - can.onmotion.select(can, target, "div."+type, ui.first) + can.onmotion.select(can, target, can.core.Keys(html.DIV, type), ui.first) }, oncontextmenu: function(event) { cbs(event, ui.first) }, }]); return ui.first }, @@ -233,9 +232,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, item[field] && can.core.List(item[field].split(split), function(value, index, array) { if (!value) { return } var last = array.slice(0, index).join(split), name = array.slice(0, index+1).join(split) - node[name] || (node[name] = can.page.Append(can, node[last], [{view: ["item", html.DIV, value+(index==array.length-1?"":split)], onclick: function(event) { + node[name] || (node[name] = can.page.Append(can, node[last], [{view: [html.ITEM, html.DIV, value+(index==array.length-1?"":split)], onclick: function(event) { index < array.length - 1? can.onmotion.toggle(can, node[name]): can.base.isFunc(cb) && cb(event, item) - }}, {view: "list", style: {display: "none"}}]).last) + }}, {view: html.LIST, style: {display: html.NONE}}]).last) }) }); return node }, @@ -251,13 +250,13 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, input: function(can, item, value, target) { switch (item.type) { case "": return can.page.Append(can, target, [item]) - case "space": return can.page.Append(can, target, [{view: "item space"}]) + case html.SPACE: return can.page.Append(can, target, [{view: can.base.join([html.ITEM, html.SPACE])}]) } var input = can.page.input(can, item, value) var br = input.type == html.TEXTAREA? [{type: html.BR}]: [] var title = can.Conf(["feature", chat.TITLE, item.name].join(ice.PT))||""; title && (input.title = title) - return can.page.Append(can, target, ([{view: ["item "+item.type], list: [input]}]).concat(br))[item.name] + return can.page.Append(can, target, ([{view: [can.base.join([html.ITEM, item.type])], list: [input]}]).concat(br))[item.name] }, table: function(can, msg, cb, target, sort) { var table = can.page.AppendTable(can, msg, target||can._output, msg.append, cb||function(value, key, index, line, array) { @@ -266,7 +265,6 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, line = {}, can.core.List(array, function(item) { line[item.key] = item.value }) } - if (key == "extra.cmd") { can.onappend.plugin(can, {ctx: line["extra.ctx"], cmd: line["extra.cmd"], arg: line["extra.arg"]}, function(sub) { sub.run = function(event, cmds, cb) { var msg = can.request(event, line, can.Option()) @@ -292,7 +290,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, can.run(event, [ctx.ACTION, mdb.MODIFY, key, value], function(msg) { can.run() }, true) }, item) }} - }); table && can.page.Modify(can, table, {className: "content"}) + }); table && can.page.Modify(can, table, {className: chat.CONTENT}) return sort && can.page.RangeTable(can, table, sort), table }, @@ -307,7 +305,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }, figure: function(can, meta, target, cb) { if ([html.BUTTON, html.SELECT].indexOf(meta.type) > -1) { return } - var input = meta.action||"key"; input != "auto" && can.require(["/plugin/input/"+input+".js"], function(can) { + var input = meta.action||kit.MDB_KEY; input != "auto" && can.require(["/plugin/input/"+input+".js"], function(can) { can.core.Item(can.onfigure[input], function(key, on) { if (key.indexOf("on") != 0) { return } target[key] = function(event) { can.onappend._init(can, {type: html.INPUT, name: input, pos: html.FLOAT}, [], function(sub) { sub.Conf(meta) @@ -323,6 +321,12 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }) }) }, + plugin: function(can, meta, cb, target) { meta = meta||{} + meta.inputs && meta.inputs.length > 0? can.onappend._plugin(can, {meta: meta.meta, list: meta.list}, meta, cb, target): + can.run({}, [ctx.ACTION, ctx.COMMAND, meta.index||can.core.Keys(meta.ctx, meta.cmd)], function(msg) { msg.Table(function(value) { + can.onappend._plugin(can, value, meta, cb, target) + }) }, true) + }, _plugin: function(can, value, meta, cb, target) { meta.feature = can.base.Obj(value.meta, meta.feature||{}) meta.inputs = can.base.Obj(value.list, meta.inputs||[]) @@ -338,17 +342,11 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, sub.base.isFunc(cb) && cb(sub, meta) }, target||can._output) }, - plugin: function(can, meta, cb, target) { meta = meta||{} - meta.inputs && meta.inputs.length > 0? can.onappend._plugin(can, {meta: meta.meta, list: meta.list}, meta, cb, target): - can.run({}, [ctx.ACTION, ctx.COMMAND, meta.index||can.core.Keys(meta.ctx, meta.cmd)], function(msg) { msg.Table(function(value) { - can.onappend._plugin(can, value, meta, cb, target) - }) }, true) - }, float: function(can, msg, cb) { var ui = can.onappend.field(can, "story toast float", {}, document.body) ui.close = function() { can.page.Remove(can, ui.first), can.onengine.signal(can, "keymap.focus") } - can.onmotion.float.auto(can, ui.output, "carte", "input") + can.onmotion.float.auto(can, ui.output, chat.CARTE, chat.INPUT) can.search({}, ["Action.onexport.size"], function(msg, top, left, width, height) { can.page.Modify(can, ui.output, {style: {"max-width": width, "max-height": height-28}}) @@ -366,9 +364,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, if (event.key != "Enter") { return } event.target.setSelectionRange(0, -1) - can.page.Select(can, ui.output, "tr", function(tr, index) { if (index == 0) { return } - can.page.Modify(can, tr, {style: {display: "none"}}) - can.page.Select(can, tr, "td", function(td) { + can.page.Select(can, ui.output, html.TR, function(tr, index) { if (index == 0) { return } + can.page.Modify(can, tr, {style: {display: html.NONE}}) + can.page.Select(can, tr, html.TD, function(td) { if (td.innerText.indexOf(event.target.value) > -1) { can.page.Modify(can, tr, {style: {display: ""}}) } @@ -392,11 +390,11 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe } var width = window.innerWidth, height = window.innerHeight - can.page.Select(can, target, ["fieldset.head", "fieldset.foot"], function(field) { + can.page.Select(can, target, [can.core.Keys(html.FIELDSET, chat.HEAD), can.core.Keys(html.FIELDSET, chat.FOOT)], function(field) { height -= field.offsetHeight }) - can.page.Select(can, target, "fieldset.left", function(field, index) { + can.page.Select(can, target, can.core.Keys(html.FIELDSET, chat.LEFT), function(field, index) { can.user.isMobile || (width -= field.offsetWidth) can.page.Modify(can, field, {style: {height: height}}) @@ -405,11 +403,11 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe }) }) - can.page.Select(can, target, "fieldset.main", function(field, index) { + can.page.Select(can, target, can.core.Keys(html.FIELDSET, chat.MAIN), function(field, index) { if (can.user.isMobile) { can.page.Modify(can, field, {style: {"padding-top": can.user.isLandscape? "0px": ""}}) } else { - height -= can.page.Select(can, field, "div.action")[0].offsetHeight + height -= can.page.Select(can, field, can.core.Keys(html.DIV, html.ACTION))[0].offsetHeight can.page.Modify(can, field, {style: {height: height}}) can.page.Select(can, target, "fieldset.main>div.output", function(output) { @@ -418,12 +416,15 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe } }) - can.onengine.signal(can, "onresize", can.request({}, {width: width, height: height})) + can.onengine.signal(can, chat.ONSIZE, can.request({}, {width: width, height: height})) }, topic: function(can, topic) { topic && (can._topic = topic) - can.user.topic(can, can._topic || can.user.Search(can, "topic") || ((can.user.Search(can, cli.POD)||can.base.isNight())? "black": "white")) + can.user.topic(can, can._topic || can.user.Search(can, chat.TOPIC) || ((can.user.Search(can, cli.POD)||can.base.isNight())? chat.BLACK: chat.WHITE)) can.page.ClassList.add(can, document.body, can.user.language(can)) }, + background: function(can, url, target) { + can.page.Modify(can, target||document.body, {style: {background: url == "" || url == "void"? "": 'url("'+url+'")'}}) + }, figure: function(event, can, target, right) { target = target||can._target; if (!event || !event.target) { return } var left = event.clientX-event.offsetX, top = event.clientY-event.offsetY+event.target.offsetHeight; if (right) { var left = event.clientX-event.offsetX+event.target.offsetWidth, top = event.clientY-event.offsetY @@ -436,94 +437,43 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe can.page.Modify(can, target, {style: layout}) can.onmotion.move(can, target, layout) }, - resize: function(can, name, cb) { - var list = []; can.onengine.listen(can, name, function(width, height) { - can.Conf({width: width, height: height}), can.core.Delay(list, 100, function() { - can.base.isFunc(cb) && cb(event) - }) - }) - }, - background: function(can, url, target) { target = target || document.body - can.page.Modify(can, target, {style: {background: url == "" || url == "void"? "": 'url("'+url+'")'}}) - }, - profile: function(can, target) { target = target || can._output - return can.page.Append(can, target, [{view: ["layout", "table"], list: [ - {view: ["project", "td"], list: [{view: ["project"]}]}, - {type: "td", list: [ - {type: "tr", list: [{type: "tr", list: [ - {view: ["content", "td"], list: [{view: ["content"]}]}, - {view: ["profile", "td"], list: [{view: ["profile"], style: {display: "none"}}]}, - ]}]}, - {view: ["display", "tr"], list: [{view: ["display"], style: {display: "none"}}]} - ]} - ] }]) + display: function(can, target) { target = target||can._target + return can.page.Appends(can, target, [{view: [chat.LAYOUT, html.TABLE], list: [ + {type: html.TR, list: [{view: chat.CONTENT}]}, + {type: html.TR, list: [{view: chat.DISPLAY}]}, + ]}]) }, - project: function(can, target) { target = target || can._target - return can.page.Append(can, target, [{view: ["layout", "table"], list: [{type: "tr", list: [ - {type: "td", list: [{view: "project", style: {display: "none"}}]}, {type: "td", list: [ - {view: ["layout", "table"], list: [ - {type: "tr", list: [{view: "content"}]}, - {type: "tr", list: [{view: "display"}]}, + project: function(can, target) { target = target||can._target + return can.page.Append(can, target, [{view: [chat.LAYOUT, html.TABLE], list: [{type: html.TR, list: [ + {type: html.TD, list: [{view: chat.PROJECT, style: {display: html.NONE}}]}, {type: html.TD, list: [ + {view: [chat.LAYOUT, html.TABLE], list: [ + {type: html.TR, list: [{view: chat.CONTENT}]}, + {type: html.TR, list: [{view: chat.DISPLAY}]}, ]} ]} ]}] }]) }, - display: function(can, target) { target = target || can._target - return can.page.Appends(can, target, [{view: ["layout", "table"], list: [ - {type: "tr", list: [{view: "content"}]}, - {type: "tr", list: [{view: "display"}]}, - ]}]) + profile: function(can, target) { target = target||can._output + return can.page.Append(can, target, [{view: [chat.LAYOUT, html.TABLE], list: [ + {view: [chat.PROJECT, html.TD], list: [{view: [chat.PROJECT]}]}, + {type: html.TD, list: [ + {type: html.TR, list: [{type: html.TR, list: [ + {view: [chat.CONTENT, html.TD], list: [{view: [chat.CONTENT]}]}, + {view: [chat.PROFILE, html.TD], list: [{view: [chat.PROFILE], style: {display: html.NONE}}]}, + ]}]}, + {view: [chat.DISPLAY, html.TR], list: [{view: [chat.DISPLAY], style: {display: html.NONE}}]} + ]} + ] }]) }, }) Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, target) { - if ((can.user.Search(can, "topic")||"").indexOf("print") > -1) { return } - return - - var count = 0, add = true - can.user.isMobile || can.user.Search(can, "share") || can.core.Timer({interval: 100}, function() { - if (target.className.indexOf("print") > -1) { return } - - add? count++: count-- - count < 0 && (add = true) - count > 50 && (add = false) - - can.page.Select(can, target, "fieldset.story", function(item) { - can.page.Modify(can, item, {style: { - "box-shadow": "40px 10px 10px "+(count/10+1)+"px #626bd0", - }}) - }) - }) - }, - clear: function(can, target) { - can.page.Modify(can, target||can._output, "") - return true }, focus: function(can, target) { target.setSelectionRange(0, -1), target.focus() }, - float: { - _hash: {}, - del: function(can, key) { - if (key == "carte") { - can.page.Select(can, document.body, "div.carte", function(item) { - can.page.Remove(can, item) - }) - } - this._hash[key] && can.page.Remove(can, this._hash[key]._target) - }, - add: function(can, key, value) { - this.del(can, key), this._hash[key] = value - }, - - auto: function(can, target, key) { var that = this - var list = can.core.List(arguments).slice(2) - if (list.length == 0) { list = [chat.CARTE, chat.INPUT] } - can.page.Modify(can, target, {onmouseover: function(event) { - if (event.target.tagName == "IMG") { return } - can.core.List(list, function(key, index) { that.del(can, key) }) - }}) - }, + clear: function(can, target) { + return can.page.Modify(can, target||can._output, ""), true }, story: { _hash: { @@ -548,12 +498,37 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe }) }, }, + float: {_hash: {}, + del: function(can, key) { + if (key == chat.CARTE) { + can.page.Select(can, document.body, can.core.Keys(html.DIV, chat.CARTE), function(item) { + can.page.Remove(can, item) + }) + } + this._hash[key] && can.page.Remove(can, this._hash[key]._target) + }, + add: function(can, key, value) { + this.del(can, key), this._hash[key] = value + }, + + auto: function(can, target, key) { var that = this + var list = can.core.List(arguments).slice(2) + if (list.length == 0) { list = [chat.CARTE, chat.INPUT] } + can.page.Modify(can, target, {onmouseover: function(event) { + if (event.target.tagName == "IMG") { return } + can.core.List(list, function(key, index) { that.del(can, key) }) + }}) + }, + }, hidden: function(can, target, show) { - can.page.Modify(can, target||can._target, {style: {display: show? "": "none"}}) + can.page.Modify(can, target||can._target, {style: {display: show? "": html.NONE}}) }, - toggle: function(can, target) { - return can.onmotion.Toggle(can, target||can._target) + toggle: function(can, target, show, hide) { target = target||can._target + var status = target.style.display == html.NONE + can.page.Modify(can, target, {style: {display: status? "": html.NONE}}) + status? can.base.isFunc(show) && show(): can.base.isFunc(hide) && hide() + return status }, select: function(can, target, name, which) { can.page.Select(can, target, name, function(item, index) { @@ -565,28 +540,23 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe }) }, modify: function(can, target, cb, item) { var back = target.innerHTML, text = target.innerText - if (back.length > 120 || back.indexOf("\n") > -1) { + if (back.length > 120 || back.indexOf(ice.NL) > -1) { return can.onmotion.modifys(can, target, cb) } var ui = can.page.Appends(can, target, [{type: html.INPUT, value: target.innerText, style: { width: target.offsetWidth > 400? 400: target.offsetWidth-20, }, onkeydown: function(event) { switch (event.key) { - case "Enter": - target.innerHTML = event.target.value - if (event.target.value != back) { - cb(event, event.target.value, back) - } + case "Enter": target.innerHTML = event.target.value + event.target.value == back || cb(event, event.target.value, back) break - case "Escape": - target.innerHTML = back - break - default: - can.onkeypop.input(event, can) + case "Escape": target.innerHTML = back; break + default: can.onkeypop.input(event, can) } }, _init: function(target) { item && can.onappend.figure(can, item, target), target.value = text - }}]); ui.first.focus(), ui.first.setSelectionRange(0, -1) + target.focus(), target.setSelectionRange(0, -1) + }}]) }, modifys: function(can, target, cb, item) { var back = target.innerHTML var ui = can.page.Appends(can, target, [{type: html.TEXTAREA, value: target.innerText, style: { @@ -596,48 +566,23 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe case "Enter": if (event.ctrlKey) { target.innerHTML = event.target.value - if (event.target.value != back) { - cb(event, event.target.value, back) - } + event.target.value == back || cb(event, event.target.value, back) } break - case "Escape": - target.innerHTML = back - break - default: - can.onkeypop.input(event, can) + case "Escape": target.innerHTML = back; break + default: can.onkeypop.input(event, can) } - }}]); ui.first.focus(), ui.first.setSelectionRange(0, -1) - can.onappend.figure(can, item, ui.first) + }, _init: function(target) { + item && can.onappend.figure(can, item, target) + target.focus(), target.setSelectionRange(0, -1) + }}]) }, - autosize: function(can, target, max, min) { - can.page.Modify(can, target, { - onfocus: function(event) { - can.onmotion.resize(can, target, max, 10) - }, onmouseenter: function(event) { - can.onmotion.resize(can, target, max, 10) - }, onmouseleave: function(event) { - can.onmotion.resize(can, target, min, 5) - }, onblur: function(event) { - can.onmotion.resize(can, target, min, 5) - }, - }) - }, - resize: function(can, target, width, speed) { - var begin = target.offsetWidth - var space = (width - begin) / 30 - can.core.Timer({interval: speed||10, length: 30}, function() { - can.page.Modify(can, target, {style: {width: begin+=space}}) - }) - }, move: function(can, target, layout) { var begin target.onmousedown = function(event) { - layout.width = target.offsetWidth - layout.height = target.offsetHeight - layout.left = target.offsetLeft - layout.top = target.offsetTop - begin = {x: event.x, y: event.y, left: layout.left, top: layout.top, width: layout.width, height: layout.height} + layout.height = target.offsetHeight, layout.width = target.offsetWidth + layout.left = target.offsetLeft, layout.top = target.offsetTop + begin = can.base.Copy({}, layout) }, target.onmouseup = function(event) { begin = null } target.onmousemove = function(event) { if (!begin || !event.ctrlKey) { return } @@ -653,192 +598,25 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe event.stopPropagation(), event.preventDefault() } }, - show: function(can, time, cb, target) { target = target || can._target - time = typeof time == "object"? time: {value: 10, length: time||20} + show: function(can, time, cb, target) { target = target||can._target + time = can.base.isObject(time)? time: {value: 10, length: time||20} - can.page.Modify(can, target, {style: {opacity: 0, display: "block"}}) + can.page.Modify(can, target, {style: {opacity: 0, display: html.BLOCK}}) can.core.Timer(time, function(event, value, index) { can.page.Modify(can, target, {style: {opacity: (index+1)/time.length}}) }, cb) }, - hide: function(can, time, cb, target) { target = target || can._target - time = typeof time == "object"? time: {value: 10, length: time||20} + hide: function(can, time, cb, target) { target = target||can._target + time = can.base.isObject(time)? time: {value: 10, length: time||20} can.page.Modify(can, target, {style: {opacity: 1}}) can.core.Timer(time, function(event, value, index) { can.page.Modify(can, target, {style: {opacity: 1-(index+1)/time.length}}) }, function() { - can.page.Modify(can, target, {style: {display: "none"}}) + can.page.Modify(can, target, {style: {display: html.NONE}}) can.base.isFunc(cb) && cb() }) }, - - EnableDrop: function(can, parent, search, target) { - return can.page.Modify(can, target, { draggable: true, - ondragstart: function(event) { var target = event.target; can.drop = function(event, tab) { - parent.insertBefore(target, tab) - can.page.Select(can, parent, search, function(item) { - can.page.ClassList.del(can, item, "over") - }) - } }, - ondragover: function(event) { event.preventDefault() - can.page.Select(can, parent, search, function(item) { - can.page.ClassList.del(can, item, "over") - }), can.page.ClassList.add(can, event.target, "over") - }, - ondrop: function(event) { event.preventDefault() - can.drop(event, event.target) - }, - }) - }, - Resizes: function(event, item, begin, p0, p1, pos) { - switch (pos) { - case 5: - item.Value("x", begin.x + p1.x - p0.x) - item.Value("y", begin.y + p1.y - p0.y) - return - } - - switch (pos) { - case 1: - case 2: - case 3: - item.Value("y", begin.y + p1.y - p0.y) - item.Value("height", begin.height - p1.y + p0.y) - break - } - switch (pos) { - case 1: - case 4: - case 7: - item.Value("x", begin.x + p1.x - p0.x) - item.Value("width", begin.width - p1.x + p0.x) - break - } - switch (pos) { - case 3: - case 6: - case 9: - item.Value("width", begin.width + p1.x - p0.x) - break - } - switch (pos) { - case 7: - case 8: - case 9: - item.Value("height", begin.height + p1.y - p0.y) - break - } - }, - Resize: function(event, item, begin, pos) { - switch (pos) { - case 5: - item.style.left = begin.left + event.clientX - begin.x + "px" - item.style.top = begin.top + event.clientY - begin.y + "px" - return - } - - switch (pos) { - case 1: - case 2: - case 3: - item.style.top = begin.top + event.clientY - begin.y + "px" - item.style.height = begin.height - event.clientY + begin.y + "px" - break - } - switch (pos) { - case 1: - case 4: - case 7: - item.style.left = begin.left + event.clientX - begin.x + "px" - item.style.width = begin.width - event.clientX + begin.x + "px" - break - } - switch (pos) { - case 3: - case 6: - case 9: - item.style.width = begin.width + event.clientX - begin.x + "px" - break - } - switch (pos) { - case 7: - case 8: - case 9: - item.style.height = begin.height + event.clientY - begin.y + "px" - break - } - }, - Anchor: function(event, target, pos, point) { - switch (pos) { - case 1: - case 2: - case 3: - point.y = target.Val("y") - break - case 4: - case 5: - case 6: - point.y = target.Val("y") + target.Val("height") / 2 - break - case 7: - case 8: - case 9: - point.y = target.Val("y") + target.Val("height") - break - } - - switch (pos) { - case 1: - case 4: - case 7: - point.x = target.Val("x") - break - case 2: - case 5: - case 8: - point.x = target.Val("x") + target.Val("width") / 2 - break - case 3: - case 6: - case 9: - point.x = target.Val("x") + target.Val("width") - break - } - return point - }, - Prepos: function(event, item, p, q) { - var max = 20 - p = p || item.getBoundingClientRect() - q = q || {x: event.clientX, y: event.clientY} - - var pos = 5 - var y = (q.y - p.y) / p.height - if (y < 0.2 && q.y - p.y < max) { - pos -= 3 - } else if (y > 0.8 && q.y - p.y - p.height > -max) { - pos += 3 - } - var x = (q.x - p.x) / p.width - if (x < 0.2 && q.x - p.x < max) { - pos -= 1 - } else if (x > 0.8 && q.x - p.x - p.width > -max) { - pos += 1 - } - - var cursor = [ - "nw-resize", "n-resize", "ne-resize", - "w-resize", "move", "e-resize", - "sw-resize", "s-resize", "se-resize", - ] - item.style.cursor = cursor[pos-1] - return pos - }, - Toggle: function(can, target, show, hide) { var status = target.style.display == "none" - can.page.Modify(can, target, {style: {display: status? "": "none"}}) - status? typeof show == "function" && show(): typeof hide == "function" && hide() - return status - }, }) Volcanos("onkeypop", {help: "键盘交互", list: [], _focus: [], _init: function(can, target) { var focus = can.onkeypop._focus @@ -880,9 +658,9 @@ Volcanos("onkeypop", {help: "键盘交互", list: [], _focus: [], _init: functio var map = can.onkeypop._engine[mode]; for (var i = list.length-1; i > pre-1; i--) { var cb = map[list[i]]; switch (typeof cb) { - case "function": repeat(cb, count); return list - case "object": map = cb; continue - case "string": + case lang.FUNCION: repeat(cb, count); return list + case lang.OBJECT: map = cb; continue + case lang.STRING: default: return list } } @@ -989,13 +767,13 @@ Volcanos("onkeypop", {help: "键盘交互", list: [], _focus: [], _init: functio }, }, _engine: {}, - DelText: function(target, start, count) { - target.value = target.value.substring(0, start)+target.value.substring(start+(count||target.value.length), target.value.length) - target.setSelectionRange(start, start) - }, input: function(event, can) { var target = event.target target._keys = can.onkeypop._parse(event, can, event.ctrlKey? "insert_ctrl": mdb.INSERT, target._keys||[], target) if (target._keys.length == 0) { event.stopPropagation(), event.preventDefault() } }, + DelText: function(target, start, count) { + target.value = target.value.substring(0, start)+target.value.substring(start+(count||target.value.length), target.value.length) + target.setSelectionRange(start, start) + }, }) _can_name = "" diff --git a/lib/base.js b/lib/base.js index 7dc2848a..988e4610 100644 --- a/lib/base.js +++ b/lib/base.js @@ -201,7 +201,7 @@ Volcanos("base", {help: "数据类型", return now.getHours() < 7 || now.getHours() > 17 }, - join: function(str, sp) { return str.join(sp||" ") }, + join: function(list, sp) { return (list||[]).join(sp||" ") }, trim: function(args) { if (this.isString(args)) { return args.trim() } if (this.isArray(args)) { for (var i = args.length-1; i >= 0; i--) { if (!args[i]) { args.pop() } else { break } } } return args diff --git a/lib/page.js b/lib/page.js index a059409c..c52ec8ce 100644 --- a/lib/page.js +++ b/lib/page.js @@ -303,7 +303,7 @@ Volcanos("page", {help: "用户界面", ClassList: { var input = {type: html.INPUT, name: item.name, data: item, dataset: {}, _init: item._init, style: item.style||{}} item.value == "auto" && (item.value = "", item.action = "auto"), item.action == "auto" && (input.dataset.action = "auto") - switch (item.type = item.type||item._input||html.TEXT) { + switch (item.type = item.type||html.TEXT) { case html.TEXTAREA: input.type = html.TEXTAREA input.style.height = input.style.height||can.Conf(["feature", html.TEXTAREA, item.name, "height"].join("."))||can.Conf(["feature", html.TEXTAREA, "height"].join(".")) input.style.width = input.style.width||can.Conf(["feature", html.TEXTAREA, item.name, "width"].join("."))||can.Conf(["feature", html.TEXTAREA, "width"].join(".")) diff --git a/lib/user.js b/lib/user.js index 31eb19aa..b5ec9b0a 100644 --- a/lib/user.js +++ b/lib/user.js @@ -188,7 +188,7 @@ Volcanos("user", {help: "用户操作", agent: { } return event.stopPropagation(), event.preventDefault(), carte }, - input: function(event, can, form, cb, button) { // form [ string, array, object, {_input: "select", values: []} + input: function(event, can, form, cb, button) { // form [ string, array, object, {type: "select", values: []} var msg = can.request(event) var ui = can.page.Append(can, document.body, [{view: ["input"], style: {left: 0, top: 0}, list: [ {view: ["option", "table"], list: can.core.List(form, function(item) { diff --git a/page/index.js b/page/index.js index b1e1a3fd..d0ff8a75 100644 --- a/page/index.js +++ b/page/index.js @@ -10,8 +10,8 @@ Volcanos({name: "chat", panels: [ "/plugin/table.js", "/plugin/input/key.js", "/plugin/input/date.js", - "/plugin/story/trend.js", "/plugin/story/spide.js", + "/plugin/story/trend.js", "/plugin/local/code/inner.js", "/plugin/local/code/vimer.js", "/plugin/local/wiki/draw/path.js", diff --git a/panel/action.js b/panel/action.js index f7a82764..8714cbfe 100644 --- a/panel/action.js +++ b/panel/action.js @@ -111,18 +111,18 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg, can.onimport._share(can, can.user.Search(can, web.SHARE)) }, - onresize: function(can, msg, width, height) { can.Conf({width: width, height: height}) }, + onsize: function(can, msg, width, height) { can.Conf({width: width, height: height}) }, onsearch: function(can, msg, word) { if (word[0] == "*" || word[0] == mdb.PLUGIN) { can.onexport.plugin(can, msg, word) } }, onstorm_select: function(can, msg, river, storm) { can.onlayout._init(can) function key(name) { return can.core.Keys(can.Conf(chat.RIVER), can.Conf(chat.STORM), name) } - can.page.Cache(key(ctx.ACTION), can._action, can._output.scrollTop+1) - can.page.Cache(key(chat.OUTPUT), can._output, can._output.scrollTop+1) + can.page.Cache(key(html.ACTION), can._action, can._output.scrollTop+1) + can.page.Cache(key(html.OUTPUT), can._output, can._output.scrollTop+1) can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm) // 转场 - var position = can.page.Cache(key(ctx.ACTION), can._action) - var position = can.page.Cache(key(chat.OUTPUT), can._output) + var position = can.page.Cache(key(html.ACTION), can._action) + var position = can.page.Cache(key(html.OUTPUT), can._output) if (position) { can._output.scrollTo(0, position-1); return } can.run({}, [river, storm], function(msg) { diff --git a/panel/header.js b/panel/header.js index f9cd0cec..90f90cdd 100644 --- a/panel/header.js +++ b/panel/header.js @@ -64,7 +64,6 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, } }}] }]) can.user.isMobile && can.page.Modify(can, ui.first, {style: {float: "right"}}) - // can.onmotion.autosize(can, ui.input, 240, 120) }, _background: function(can, msg) { if (can.user.isLocalFile) { return } diff --git a/panel/river.js b/panel/river.js index 2ebdd45f..401a64ed 100644 --- a/panel/river.js +++ b/panel/river.js @@ -91,7 +91,7 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg, }, storm: function(event, can, river) { can.sublist = can.sublist||{} can.onmotion.select(can, can._output, "div.item", can.river_list[river]) - var list = can.sublist[river]; if (list) { return can.onmotion.Toggle(can, list) } + var list = can.sublist[river]; if (list) { return can.onmotion.toggle(can, list) } can.run({}, [river, chat.TOOL], function(msg) { var select = 0; list = can.page.Append(can, can._output, [{view: "list", list: msg.Table(function(item, index) { diff --git a/plugin/local/code/inner.js b/plugin/local/code/inner.js index 21acb1e2..1f591769 100644 --- a/plugin/local/code/inner.js +++ b/plugin/local/code/inner.js @@ -94,7 +94,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb, can.onimport.tabview(can, path, file, "", cb) }, _init: function(item) { can.core.Timer(10, function() { item.click() }) - can.onmotion.EnableDrop(can, can._action, "div.file", item) + can.onaction.EnableDrop(can, can._action, "div.file", item) }} ]).last }, true) @@ -321,6 +321,24 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "收藏"], }, true) }) }, + EnableDrop: function(can, parent, search, target) { + return can.page.Modify(can, target, { draggable: true, + ondragstart: function(event) { var target = event.target; can.drop = function(event, tab) { + parent.insertBefore(target, tab) + can.page.Select(can, parent, search, function(item) { + can.page.ClassList.del(can, item, "over") + }) + } }, + ondragover: function(event) { event.preventDefault() + can.page.Select(can, parent, search, function(item) { + can.page.ClassList.del(can, item, "over") + }), can.page.ClassList.add(can, event.target, "over") + }, + ondrop: function(event) { event.preventDefault() + can.drop(event, event.target) + }, + }) + }, }) Volcanos("onexport", {help: "导出数据", list: ["文件数", "解析器", "文件名", "当前行", "跳转数", "标签数"], position: function(can, index, total) { total = total || can.max diff --git a/plugin/local/wiki/draw.js b/plugin/local/wiki/draw.js index e5d25e1d..869b513d 100644 --- a/plugin/local/wiki/draw.js +++ b/plugin/local/wiki/draw.js @@ -107,7 +107,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.onimport._figure(event, can, can.point = can.point.concat(point)) }, onmousemove: function(event, can) { var point = can.onimport._point(event, can) - can.onmotion.Prepos(event, event.target) + can.onaction.Prepos(event, event.target) if (can.Action("go") == "run") { return can.page.Modify(can, event.target, {style: {cursor: ""}}) } if (can.Action("go") == "auto") { can.onaction._auto(can, event.target) } can.onimport._figure(event, can, can.point.concat(point)) @@ -215,8 +215,8 @@ Volcanos("onfigure", {help: "图形绘制", list: [], }, grid: function(event, can, point) { var target = event.target if (target == can.svg) { return } - var p = point[point.length-1], pos = can.onmotion.Prepos(event, target) - target.Val && can.onmotion.Anchor(event, target, pos, p) + var p = point[point.length-1], pos = can.onaction.Prepos(event, target) + target.Val && can.onaction.Anchor(event, target, pos, p) return p.target = target, p.anchor = pos, point }, draw: function(event, can, point) { if (point.length < 2) { return } @@ -329,7 +329,7 @@ Volcanos("onaction", {help: "组件菜单", list: [ can.user.toast(can, "保存成功") }, true) }, - "项目": function(event, can) { can.onmotion.Toggle(can, can.ui.project) }, + "项目": function(event, can) { can.onmotion.toggle(can, can.ui.project) }, "显示": function(event, can) { can.onmotion.show(can, {value: 100, length: 10}, null, can.group) }, "隐藏": function(event, can) { can.onmotion.hide(can, {value: 100, length: 10}, null, can.group) }, "添加": function(event, can) { @@ -361,7 +361,7 @@ Volcanos("onaction", {help: "组件菜单", list: [ _auto: function(can, target) { if (can.point.length > 0) { return } - var pos = can.onmotion.Prepos(event, event.target) + var pos = can.onaction.Prepos(event, event.target) if (target.tagName == "text") { } else if (target == can.svg) { @@ -408,7 +408,7 @@ Volcanos("onaction", {help: "组件菜单", list: [ return ship.pid && (ship.target = can.page.Select(can, can.svg, "."+ship.pid)[0]) && ship }) } - }), pos: can.onmotion.Prepos(event, target)} + }), pos: can.onaction.Prepos(event, target)} } return } @@ -417,12 +417,12 @@ Volcanos("onaction", {help: "组件菜单", list: [ } can.core.List(can.current.begin, function(item) { var figure = can.onfigure._get(can, item.target) - can.onmotion.Resizes(event, item.target, item, point[0], point[1], can.current.pos) + can.onaction.Resizes(event, item.target, item, point[0], point[1], can.current.pos) can.page.Select(can, can.svg, "."+item.target.Value("text"), function(text) { text.Value(figure.text(can, {}, item.target)) }) can.core.List(item.ship, function(ship) { - var p = can.onmotion.Anchor(event, item.target, ship.anchor, {}) + var p = can.onaction.Anchor(event, item.target, ship.anchor, {}) if (ship.which == 0) { ship.target.Val("x1", p.x) ship.target.Val("y1", p.y) @@ -441,6 +441,110 @@ Volcanos("onaction", {help: "组件菜单", list: [ }, true) }, }, + Resizes: function(event, item, begin, p0, p1, pos) { + switch (pos) { + case 5: + item.Value("x", begin.x + p1.x - p0.x) + item.Value("y", begin.y + p1.y - p0.y) + return + } + + switch (pos) { + case 1: + case 2: + case 3: + item.Value("y", begin.y + p1.y - p0.y) + item.Value("height", begin.height - p1.y + p0.y) + break + } + switch (pos) { + case 1: + case 4: + case 7: + item.Value("x", begin.x + p1.x - p0.x) + item.Value("width", begin.width - p1.x + p0.x) + break + } + switch (pos) { + case 3: + case 6: + case 9: + item.Value("width", begin.width + p1.x - p0.x) + break + } + switch (pos) { + case 7: + case 8: + case 9: + item.Value("height", begin.height + p1.y - p0.y) + break + } + }, + Anchor: function(event, target, pos, point) { + switch (pos) { + case 1: + case 2: + case 3: + point.y = target.Val("y") + break + case 4: + case 5: + case 6: + point.y = target.Val("y") + target.Val("height") / 2 + break + case 7: + case 8: + case 9: + point.y = target.Val("y") + target.Val("height") + break + } + + switch (pos) { + case 1: + case 4: + case 7: + point.x = target.Val("x") + break + case 2: + case 5: + case 8: + point.x = target.Val("x") + target.Val("width") / 2 + break + case 3: + case 6: + case 9: + point.x = target.Val("x") + target.Val("width") + break + } + return point + }, + Prepos: function(event, item, p, q) { + var max = 20 + p = p || item.getBoundingClientRect() + q = q || {x: event.clientX, y: event.clientY} + + var pos = 5 + var y = (q.y - p.y) / p.height + if (y < 0.2 && q.y - p.y < max) { + pos -= 3 + } else if (y > 0.8 && q.y - p.y - p.height > -max) { + pos += 3 + } + var x = (q.x - p.x) / p.width + if (x < 0.2 && q.x - p.x < max) { + pos -= 1 + } else if (x > 0.8 && q.x - p.x - p.width > -max) { + pos += 1 + } + + var cursor = [ + "nw-resize", "n-resize", "ne-resize", + "w-resize", "move", "e-resize", + "sw-resize", "s-resize", "se-resize", + ] + item.style.cursor = cursor[pos-1] + return pos + }, }) Volcanos("ondetail", {help: "组件详情", list: ["复制", "标签", "编辑", "删除"], "复制": function(event, can) { can.onfigure._copy(event, can, event.target) }, @@ -466,7 +570,7 @@ Volcanos("ondetail", {help: "组件详情", list: ["复制", "标签", "编辑", "编辑": function(event, can) { var target = event.target var figure = can.onfigure._get(can, target) can.user.input(event, can, can.core.List(["x", "y"].concat(figure.data.copy||[]), function(item) { - return {_input: "text", name: item, value: target.Value(item)} + return {type: "text", name: item, value: target.Value(item)} }), function(event, cmd, meta, list) { can.core.Item(meta, function(key, value) { target.Value(key, value) diff --git a/plugin/local/wiki/word.js b/plugin/local/wiki/word.js index e873ab1d..1fd8fe1e 100644 --- a/plugin/local/wiki/word.js +++ b/plugin/local/wiki/word.js @@ -191,12 +191,12 @@ Volcanos("onaction", {help: "控件交互", list: [], "快闪": function(event, sub) { sub.sup.onaction.flash(sub) }, "网格": function(event, sub) { sub.sup.onaction.grid(sub) }, - "大纲": function(event, sub) { sub.onmotion.Toggle(sub, sub.ui.project) }, + "大纲": function(event, sub) { sub.onmotion.toggle(sub, sub.ui.project) }, "首页": function(event, sub) { sub.sup.onaction.show(sub, 0) }, "上一页": function(event, sub) { sub.sup.onaction.prev(sub, sub.ui.content) }, "菜单": function(event, sub) { sub.sup.onaction.show(sub, event.target.selectedIndex) }, "下一页": function(event, sub) { sub.sup.onaction.next(sub, sub.ui.content) }, - "隐藏": function(event, sub) { sub.onmotion.Toggle(sub, sub._output) }, + "隐藏": function(event, sub) { sub.onmotion.toggle(sub, sub._output) }, "结束": function(event, sub) { sub.page.Remove(sub, sub._target) sub.onengine.signal(sub, "keymap.focus", sub.request(event, {cb: null})) }, diff --git a/plugin/state.js b/plugin/state.js index 8393b67c..6ed9191a 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -232,9 +232,9 @@ Volcanos("onaction", {help: "交互操作", list: [ }, openLocation: function(event, can) { can.user.agent.openLocation(can.request(event)) }, - "参数": function(event, can) { can.onmotion.Toggle(can, can._action) }, - "清空": function(event, can, name) { can.onmotion.clear(can, can._output) }, - "关闭": function(event, can) { can.page.Remove(can, can._target) }, + "参数": function(event, can) { can.onmotion.toggle(can, can._action) }, + clear: function(event, can, name) { can.onmotion.clear(can, can._output) }, + close: function(event, can) { can.page.Remove(can, can._target) }, }) Volcanos("onexport", {help: "导出数据", list: []}) var _can_name = "" diff --git a/plugin/story/spide.js b/plugin/story/spide.js index 423cf687..5b52e1eb 100644 --- a/plugin/story/spide.js +++ b/plugin/story/spide.js @@ -143,6 +143,7 @@ Volcanos("ondetail", {help: "用户交互", list: [], can.onappend.plugin(can, {type: "float", index: "web.code.inner", args: args, _action: ["关闭"]}, function(sub) { sub.run = function(event, cmds, cb) { can.run(event, can.misc.Concat([ctx.ACTION, "inner"], cmds), function(msg) { + msg.Option(ice.MSG_ACTION, "close") can.search(event, ["Action.onexport.size"], function(msg, left, top, width, height) { left = left||0 var top = 120, margin = 20; if (can.user.isMobile) { margin = 0 if (can.user.isLandscape) { diff --git a/proto.js b/proto.js index 88c149fd..ad05de5b 100644 --- a/proto.js +++ b/proto.js @@ -119,30 +119,40 @@ const chat = { INPUT: "input", FLOAT: "float", - ONMAIN: "onmain", - - RIVER: "river", - STORM: "storm", - FIELD: "field", - - PUBLIC: "public", - PROTECTED: "protected", - PRIVATE: "private", - - USER: "user", - TOOL: "tool", - NODE: "node", - LAYOUT: "layout", - OUTPUT: "output", + PROJECT: "project", + CONTENT: "content", + DISPLAY: "display", + PROFILE: "profile", + + HEAD: "head", LEFT: "left", MAIN: "main", FOOT: "foot", + SCROLL: "scroll", HEIGHT: "height", WIDTH: "width", TOP: "top", LEFT: "left", + USER: "user", + TOOL: "tool", + NODE: "node", + + PUBLIC: "public", + PROTECTED: "protected", + PRIVATE: "private", + HEADER: "header", + ONMAIN: "onmain", + ONSIZE: "onsize", + + RIVER: "river", + STORM: "storm", + FIELD: "field", + TOPIC: "topic", + BLACK: "black", + WHITE: "white", + TITLE: "title", MENUS: "menus", TRANS: "trans", @@ -174,27 +184,27 @@ const html = { DIV_OUTPUT: "div.output", DIV_STATUS: "div.status", - INPUT: "input", TEXT: "text", - TEXTAREA: "textarea", + INPUT: "input", INPUT_ARGS: ".args", + TEXT: "text", TEXTAREA: "textarea", SELECT: "select", BUTTON: "button", SPACE: "space", BR: "br", - TD: "td", - - INPUT_ARGS: ".args", + TABLE: "table", TR: "tr", TH: "th", TD: "td", DIV: "div", IMG: "img", CODE: "code", SPAN: "span", + NONE: "none", + BLOCK: "block", LABEL: "label", VIDEO: "video", - FILE: "file", - FORM: "form", - ITEM: "item", + FORM: "form", + FILE: "file", LIST: "list", + ITEM: "item", } const lang = { STRING: "string", @@ -221,14 +231,14 @@ var Volcanos = shy("火山架", {iceberg: "/chat/", volcano: "/frame.js", args: meta.libs = ["/lib/base.js", "/lib/core.js", "/lib/misc.js", "/lib/page.js", "/lib/user.js"] // 预加载 - var Preload = (Config.preload||[]).concat(Config.main.list) + var Preload = Config.preload||[] for (var i = 0; i < Config.panels.length; i++) { var panel = Config.panels[i] panel && (Preload = Preload.concat(panel.list = panel.list || ["/panel/"+panel.name+".css", "/panel/"+panel.name+".js"])) - }; Preload = Preload.concat(Config.plugin) + }; Preload = Preload.concat(Config.plugin, Config.main.list) // 根模块 name = Config.name, can = {_follow: Config.name, _target: Config.target||document.body} - libs = Preload.concat(Config.libs||meta.libs, Config.volcano||meta.volcano), cb = function(can) { + libs = Preload.concat(meta.libs, meta.volcano), cb = function(can) { can.onengine._init(can, can.Conf(Config), Config.panels, Config._init, can._target) }, _can_name = "", can._root = can } @@ -311,8 +321,8 @@ function cmd(tool) { "/plugin/table.js", "/plugin/input/key.js", "/plugin/input/date.js", - "/plugin/story/trend.js", "/plugin/story/spide.js", + "/plugin/story/trend.js", "/plugin/local/code/inner.js", "/plugin/local/code/vimer.js", "/plugin/local/wiki/draw/path.js", diff --git a/publish/client/mp/app.wxml b/publish/client/mp/app.wxml index 6872623d..ad2ce65b 100644 --- a/publish/client/mp/app.wxml +++ b/publish/client/mp/app.wxml @@ -23,23 +23,23 @@ {{field.name}}({{field.help}}) - + - - - {{item.values[item.index||0]}} - diff --git a/publish/client/mp/pages/action/action.js b/publish/client/mp/pages/action/action.js index 3a0e4d63..b0a70cfc 100644 --- a/publish/client/mp/pages/action/action.js +++ b/publish/client/mp/pages/action/action.js @@ -19,7 +19,7 @@ Page({ line.name = line.name.split(" ")[0] if (!line.inputs || line.inputs.length === 0) { - line.inputs = [{_input: "text"}, {_input: "button", value: "执行"}] + line.inputs = [{type: "text"}, {type: "button", value: "执行"}] } line.inputs.forEach(function(input) { input.action = input.action || input.value @@ -29,11 +29,11 @@ Page({ if (input.value && input.value.indexOf("@") == 0) { input.action = input.value.slice(1), input.value = "" } - if (input._input == "select") { + if (input.type == "select") { input.values = input.values || kit.Split(input.value) } - input._input == "button" && input.action == "auto" && kit.Timer(100, function() { page.run(event, index) }) + input.type == "button" && input.action == "auto" && kit.Timer(100, function() { page.run(event, index) }) }) }), page.setData({list: list}) }) @@ -65,7 +65,7 @@ Page({ }, run: function(event, order, cmd, cb) { var page = this, field = page.data.list[order] var cmds = [page.data.river, page.data.storm, field.id||field.key]; if (!cmd) { - var cmd = kit.List(field.inputs, function(input) { if (input._input != "button") { return input.value } }) + var cmd = kit.List(field.inputs, function(input) { if (input.type != "button") { return input.value } }) kit.EQ(page.data.back[page.data.back.length-1], cmd) || page.data.back[order].push(cmd) }; cmds = cmds.concat(cmd) @@ -100,7 +100,7 @@ Page({ case "back": // 恢复命令 page.data.back[data.order].pop(); var line = page.data.back[data.order].pop() kit.List(field.inputs, function(input, index) { - if (input._input != "button") { input.value = line&&line[index] || "" } + if (input.type != "button") { input.value = line&&line[index] || "" } }) case "run": // 执行命令 case "刷新": // 执行命令 @@ -108,7 +108,7 @@ Page({ default: var cb = page.plugin[input.name]; can.base.isFunc(cb)? cb(event, page, data.order, input.name): page.run(event, data.order, ["action", input.name].concat(kit.List(field.inputs, function(input) { - if (input._input != "button") { return input.value } + if (input.type != "button") { return input.value } }))) } }, @@ -116,7 +116,7 @@ Page({ var field = page.data.list[data.order]; if (!field) { return } var input = data.input; if (input && input.type == "button") { var option = {} - kit.List(field.inputs, function(input) { input._input != "button" && (option[input.name] = input.value) }) + kit.List(field.inputs, function(input) { input.type != "button" && (option[input.name] = input.value) }) if (field.msg.append[0] == "key" && field.msg.append[1] == "value") { kit.List(field.msg.key, function(key, index) { option[key] = field.msg.value[index] }) } else { diff --git a/publish/client/mp/pages/insert/insert.wxml b/publish/client/mp/pages/insert/insert.wxml index 220b769b..d36f09cd 100644 --- a/publish/client/mp/pages/insert/insert.wxml +++ b/publish/client/mp/pages/insert/insert.wxml @@ -4,21 +4,21 @@ - - - {{item.values[item.index||0]}} -