summaryrefslogtreecommitdiff
path: root/src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-01-08 23:20:04 +0100
committerFelix Mulder <felix.mulder@gmail.com>2016-02-17 08:25:29 +0100
commit7b07a78cc0831a08f2d39a259dec2454c7d4cc1e (patch)
treeb90dd022688b5fec4a0a39fce2e4db9fb1aed5a7 /src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala
parentc524f18ee4959f6fe8297971fc882e63468c4317 (diff)
downloadscala-7b07a78cc0831a08f2d39a259dec2454c7d4cc1e.tar.gz
scala-7b07a78cc0831a08f2d39a259dec2454c7d4cc1e.tar.bz2
scala-7b07a78cc0831a08f2d39a259dec2454c7d4cc1e.zip
Scaladoc: Add new search, featuring entity and member search
This commit adds a revamped search function for the scaladoc tool. It also contains a number of small fixes for HTML-layout and JavaScript issues. The search is implemented by enhancing the scheduler and using JavaScript promises. List of changes/additions: * Revamped search functionality - Search members as well as entities - Preserve keyboard navigation - Scroll to selected entity if outside of viewport - Non-blocking, cancelable * Display of library name (top left) * Refactored scheduler * Cleanup of HTML layout - Remove left pane - Better mobile layout, no need for dynamic offsets - Remove unused element classes - Remove iframe structure - Better layout for kinds
Diffstat (limited to 'src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala')
-rw-r--r--src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala b/src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala
index 6076b1708c..65c540d4c5 100644
--- a/src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala
+++ b/src/scaladoc/scala/tools/nsc/doc/html/HtmlFactory.scala
@@ -16,7 +16,8 @@ import page.diagram._
/** A class that can generate Scaladoc sites to some fixed root folder.
* @author David Bernard
* @author Gilles Dubochet */
-class HtmlFactory(val universe: doc.Universe, index: doc.Index) {
+class HtmlFactory(val universe: doc.Universe, index: doc.Index, val reporter: ScalaDocReporter) {
+ import page.{IndexScript, EntityPage}
/** The character encoding to be used for generated Scaladoc sites.
* This value is currently always UTF-8. */
@@ -34,6 +35,9 @@ class HtmlFactory(val universe: doc.Universe, index: doc.Index) {
"trait_comp.svg",
"permalink.svg",
"abstract_type.svg",
+ "lato-v11-latin-100.eot",
+ "lato-v11-latin-100.ttf",
+ "lato-v11-latin-100.woff",
"lato-v11-latin-regular.eot",
"lato-v11-latin-regular.ttf",
"lato-v11-latin-regular.woff",
@@ -96,14 +100,15 @@ class HtmlFactory(val universe: doc.Universe, index: doc.Index) {
libResources foreach (s => copyResource("lib/" + s))
- new page.Index(universe, index) writeFor this
- new page.IndexScript(universe, index) writeFor this
+ IndexScript(universe, index) writeFor this
+
if (index.hasDeprecatedMembers)
- new page.DeprecatedIndex(universe, index) writeFor this
+ new page.DeprecatedIndex(universe, index, reporter) writeFor this
try {
writeTemplates(_ writeFor this)
+
for (letter <- index.firstLetterIndex) {
- new html.page.ReferenceIndex(letter._1, index, universe) writeFor this
+ new html.page.ReferenceIndex(letter._1, index, universe, reporter) writeFor this
}
} finally {
DiagramStats.printStats(universe.settings)
@@ -117,7 +122,7 @@ class HtmlFactory(val universe: doc.Universe, index: doc.Index) {
def writeTemplate(tpl: DocTemplateEntity) {
if (!(written contains tpl)) {
val diagramGenerator: DiagramGenerator = new DotDiagramGenerator(universe.settings, universe.dotRunner)
- writeForThis(new page.Template(universe, diagramGenerator, tpl))
+ writeForThis(page.EntityPage(universe, diagramGenerator, tpl, reporter))
written += tpl
tpl.templates collect { case d: DocTemplateEntity => d } map writeTemplate
}