]>
git.wh0rd.org - tt-rss.git/blob - lib/dijit/form/FilteringSelect.js
2 define("dijit/form/FilteringSelect",["dojo/data/util/filter","dojo/_base/declare","dojo/_base/lang","dojo/when","./MappedTextBox","./ComboBoxMixin"],function(_1
,_2
,_3
,_4
,_5
,_6
){return _2("dijit.form.FilteringSelect",[_5
,_6
],{required
:true,_lastDisplayedValue
:"",_isValidSubset:function(){return this._opened
;},isValid:function(){return !!this.item
||(!this.required
&&this.get("displayedValue")=="");},_refreshState:function(){if(!this.searchTimer
){this.inherited(arguments
);}},_callbackSetLabel:function(_7
,_8
,_9
,_a
){if((_8
&&_8
[this.searchAttr
]!==this._lastQuery
)||(!_8
&&_7
.length
&&this.store
.getIdentity(_7
[0])!=this._lastQuery
)){return;}if(!_7
.length
){this.set("value","",_a
||(_a
===undefined&&!this.focused
),this.textbox
.value
,null);}else{this.set("item",_7
[0],_a
);}},_openResultList:function(_b
,_c
,_d
){if(_c
[this.searchAttr
]!==this._lastQuery
){return;}this.inherited(arguments
);if(this.item
===undefined){this.validate(true);}},_getValueAttr:function(){return this.valueNode
.value
;},_getValueField:function(){return "value";},_setValueAttr:function(_e
,_f
,_10
,_11
){if(!this._onChangeActive
){_f
=null;}if(_11
===undefined){if(_e
===null||_e
===""){_e
="";if(!_3
.isString(_10
)){this._setDisplayedValueAttr(_10
||"",_f
);return;}}var _12
=this;this._lastQuery
=_e
;_4(this.store
.get(_e
),function(_13
){_12
._callbackSetLabel(_13
?[_13
]:[],undefined,undefined,_f
);});}else{this.valueNode
.value
=_e
;this.inherited(arguments
);}},_setItemAttr:function(_14
,_15
,_16
){this.inherited(arguments
);this._lastDisplayedValue
=this.textbox
.value
;},_getDisplayQueryString:function(_17
){return _17
.replace(/([\\\*\?])/g,"\\$1");},_setDisplayedValueAttr:function(_18
,_19
){if(_18
==null){_18
="";}if(!this._created
){if(!("displayedValue" in this.params
)){return;}_19
=false;}if(this.store
){this.closeDropDown();var _1a
=_3
.clone(this.query
);var qs
=this._getDisplayQueryString(_18
),q
;if(this.store
._oldAPI
){q
=qs
;}else{q
=_1
.patternToRegExp(qs
,this.ignoreCase
);q
.toString=function(){return qs
;};}this._lastQuery
=_1a
[this.searchAttr
]=q
;this.textbox
.value
=_18
;this._lastDisplayedValue
=_18
;this._set("displayedValue",_18
);var _1b
=this;var _1c
={ignoreCase
:this.ignoreCase
,deep
:true};_3
.mixin(_1c
,this.fetchProperties
);this._fetchHandle
=this.store
.query(_1a
,_1c
);_4(this._fetchHandle
,function(_1d
){_1b
._fetchHandle
=null;_1b
._callbackSetLabel(_1d
||[],_1a
,_1c
,_19
);},function(err
){_1b
._fetchHandle
=null;if(!_1b
._cancelingQuery
){console
.error("dijit.form.FilteringSelect: "+err
.toString());}});}},undo:function(){this.set("displayedValue",this._lastDisplayedValue
);}});});