nit: Added link to `CONTRIBUTING.md` from the README
[nit.git] / src / web / web_views.nit
index 0400bc7..58016e2 100644 (file)
@@ -25,15 +25,12 @@ class HtmlHomePage
        super NitView
 
        # Loaded model to display.
-       var model: Model
+       var tree: MEntityTree
 
-       redef fun render(srv) do
+       redef fun render do
                var tpl = new Template
                tpl.add new Header(1, "Loaded model")
-               for mpackage in model.mpackages do
-                       tpl.add new Header(3, "Packages")
-                       tpl.add mpackage.html_tree
-               end
+               tpl.add tree.html_list
                return tpl
        end
 end
@@ -48,7 +45,7 @@ class HtmlResultPage
        # Result set
        var results: Array[MEntity]
 
-       redef fun render(srv) do
+       redef fun render do
                var tpl = new Template
                tpl.add new Header(1, "Results for {query}")
                if results.is_empty then
@@ -58,7 +55,7 @@ class HtmlResultPage
                var list = new UnorderedList
                for mentity in results do
                        var link = mentity.html_link
-                       link.text = mentity.html_raw_namespace
+                       link.text = mentity.html_full_name
                        list.add_li new ListItem(link)
                end
                tpl.add list
@@ -79,7 +76,7 @@ class HtmlSourcePage
        # HiglightVisitor used to hilight the source code
        var hl = new HighlightVisitor
 
-       redef fun render(srv) do
+       redef fun render do
                var tpl = new Template
                tpl.add new Header(1, "Source Code")
                tpl.add render_source
@@ -106,7 +103,7 @@ end
 class HtmlDocPage
        super HtmlSourcePage
 
-       redef fun render(srv) do
+       redef fun render do
                var tpl = new Template
                tpl.add new Header(1, mentity.html_name)
                tpl.add "<p>"
@@ -122,3 +119,29 @@ class HtmlDocPage
                return tpl
        end
 end
+
+# Display the source for each mentities
+class HtmlDotPage
+       super NitView
+
+       # Dot to process.
+       var dot: Text
+
+       # Page title.
+       var title: String
+
+       redef fun render do
+               var tpl = new Template
+               tpl.add new Header(1, title)
+               tpl.add render_dot
+               return tpl
+       end
+
+       private fun render_dot: String do
+               var proc = new ProcessDuplex("dot", "-Tsvg", "-Tcmapx")
+               var svg = proc.write_and_read(dot)
+               proc.close
+               proc.wait
+               return svg
+       end
+end