Use the LGPL instead of the GPL.
[mkws-moved-to-github.git] / doc / mkws-developer.markdown
index 367611b..00a5b59 100644 (file)
@@ -148,9 +148,24 @@ be used by the derived widget.
        `responsive_design_width`. Should be used for "unimportant"
        widgets that can be omitted from the mobile version of a site.
 
-* TODO subwidget()
-
-* TODO expandValue()
+* `expandValue()` --
+       TODO: either document this or remove it from the API.
+
+* `subwidget(type, overrides, defaults)` --
+       Returns the HTML of a subwidget of the specified type, which
+       can then be inserted into the widget using the
+       `this.node.html` function. The subwidget is given the same
+       attributes at the parent widget that invokes this function,
+       except where overrides are passed in. If defaults are also
+       provided, then these are used when the parent widget provides
+       no values. Both the `overrides` and `defaults` arguments are
+       hashes: the latter is optional.
+  
+       See for example the `Credo` widget defined in the example
+       area's `mkws-widget-credo.js` file. This uses several
+       invocations of `subwidget` to create a complex compound widget
+       with numerous text, facet and image panes. TODO: rename this
+       widget and everything related to it.
 
 In addition to these properties and methods of the bare widget object,
 some kinds of specific widget add other properties of their own. For
@@ -234,6 +249,13 @@ infelicities reflect the fact that some code that rightly belongs in
 widgets is still in the team. When we finish migrating it, the widget
 API should get simpler.
 
+
+Events
+------
+
+TODO: list of events that can be usefully subscribed to.
+
+
 - - -
 
 Copyright (C) 2013-2014 by IndexData ApS, <http://www.indexdata.com>