/** * @provides javelin-behavior-diffusion-locate-file * @requires javelin-behavior * javelin-diffusion-locate-file-source * javelin-dom * javelin-typeahead * javelin-uri */ JX.behavior('diffusion-locate-file', function(config) { var control = JX.$(config.controlID); var input = JX.$(config.inputID); var datasource = new JX.DiffusionLocateFileSource(config.uri); var typeahead = new JX.Typeahead(control, input); typeahead.setDatasource(datasource); typeahead.listen('choose', function(r) { JX.$U(config.browseBaseURI + r.ref).go(); }); var started = false; JX.DOM.listen(input, 'click', null, function() { if (!started) { started = true; typeahead.start(); } }); });