]>
git.wh0rd.org - tt-rss.git/blob - lib/dijit/form/DataList.js.uncompressed.js
2b2e062cf4d73d9a852cf157f13c6b09e694319b
1 define("dijit/form/DataList", [
2 "dojo/_base/declare", // declare
3 "dojo/dom", // dom.byId
4 "dojo/_base/lang", // lang.trim
7 "../registry" // registry.add registry.remove
8 ], function(declare
, dom
, lang
, query
, MemoryStore
, registry
){
11 // dijit/form/DataList
13 function toItem(/*DOMNode*/ option
){
15 // Convert `<option>` node to hash
19 name
: lang
.trim(option
.innerText
|| option
.textContent
|| '')
23 return declare("dijit.form.DataList", MemoryStore
, {
25 // Inefficient but small data store specialized for inlined data via OPTION tags
28 // Provides a store for inlined data like:
31 // | <option value="AL">Alabama</option>
34 constructor: function(params
, srcNodeRef
){
37 // params: Object|null
38 // Hash of initialization parameters for widget, including scalar values (like title, duration etc.)
39 // and functions, typically callbacks like onClick.
40 // The hash can contain any of the widget's properties, excluding read-only properties.
41 // srcNodeRef: DOMNode|String
42 // Attach widget to this DOM node.
44 // store pointer to original DOM tree
45 this.domNode
= dom
.byId(srcNodeRef
);
47 lang
.mixin(this, params
);
49 registry
.add(this); // add to registry so it can be easily found by id
51 this.domNode
.style
.display
= "none";
53 this.inherited(arguments
, [{
54 data
: query("option", this.domNode
).map(toItem
)
59 registry
.remove(this.id
);
62 fetchSelectedItem: function(){
64 // Get the option marked as selected, like `<option selected>`.
65 // Not part of dojo.data API.
66 var option
= query("> option[selected]", this.domNode
)[0] || query("> option", this.domNode
)[0];
67 return option
&& toItem(option
);