aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-10-10 17:53:10 +0000
committers-ol <s-ol@users.noreply.github.com>2019-10-10 17:53:10 +0000
commit9436588d01db772366ee69a106a6de874bbb844e (patch)
tree5e465b60e0ae0071460d5569c4c404196098c036
parentadd WebStore, fix Browser (diff)
downloadmmm-9436588d01db772366ee69a106a6de874bbb844e.tar.gz
mmm-9436588d01db772366ee69a106a6de874bbb844e.zip
add table to mmm/dom convert
-rw-r--r--build/server.moon2
-rw-r--r--mmm/mmmfs/converts.moon19
2 files changed, 19 insertions, 2 deletions
diff --git a/build/server.moon b/build/server.moon
index 17c26aa..706e4e0 100644
--- a/build/server.moon
+++ b/build/server.moon
@@ -71,7 +71,7 @@ class Server
-- '?index': one level deep
-- '?tree': recursively
index = fileder\get_index facet.name == '?tree'
- convert 'table', facet.type, index
+ convert 'table', facet.type, index, fileder, facet.name
else
-- fileder and facet given
if not fileder\has_facet facet.name
diff --git a/mmm/mmmfs/converts.moon b/mmm/mmmfs/converts.moon
index 823033e..5fddc60 100644
--- a/mmm/mmmfs/converts.moon
+++ b/mmm/mmmfs/converts.moon
@@ -1,5 +1,5 @@
require = relative ..., 1
-import div, code, img, video, blockquote, a, span, source, iframe from require 'mmm.dom'
+import div, pre, code, img, video, blockquote, a, span, source, iframe from require 'mmm.dom'
import find_fileder, link_to, embed from (require 'mmm.mmmfs.util') require 'mmm.dom'
import render from require '.layout'
import tohtml from require 'mmm.component'
@@ -234,6 +234,23 @@ converts = {
error "unknown type '#{type obj}'"
(val) => tojson val
+ },
+ {
+ inp: 'table',
+ out: 'mmm/dom',
+ transform: do
+ deep_tostring = (tbl, space='') ->
+ buf = space .. tostring tbl
+
+ return buf unless 'table' == type tbl
+
+ buf = buf .. ' {\n'
+ for k,v in pairs tbl
+ buf = buf .. "#{space} [#{k}]: #{deep_tostring v, space .. ' '}\n"
+ buf = buf .. "#{space}}"
+ buf
+
+ (tbl) => pre code deep_tostring tbl
}
}