diff options
Diffstat (limited to 'jarmonbuild/yuidoc_template/assets/ac-js')
-rw-r--r-- | jarmonbuild/yuidoc_template/assets/ac-js | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/jarmonbuild/yuidoc_template/assets/ac-js b/jarmonbuild/yuidoc_template/assets/ac-js new file mode 100644 index 0000000..15a6dff --- /dev/null +++ b/jarmonbuild/yuidoc_template/assets/ac-js @@ -0,0 +1,162 @@ +(function() { + var Event=YAHOO.util.Event, + Dom=YAHOO.util.Dom, + oACDS, oAutoComp, + show = { + 'private': false, + 'protected': false, + 'deprecated': false + }; + +Event.onAvailable('yui-classopts-form', function() { + //Checkboxes are available.. + var handleClick = function(e) { + var id, checked = false; + if (YAHOO.lang.isString(e)) { + id = e; + } else { + var tar = Event.getTarget(e); + id = tar.id; + } + var el = Dom.get(id); + checked = el.checked; + + var className = id; + if (checked) { + show[id.replace('show_', '')] = true; + Dom.addClass(document.body, className); + YAHOO.util.Cookie.setSub('yuidoc', id, 'checked'); + } else { + show[id.replace('show_', '')] = false; + Dom.removeClass(document.body, className); + YAHOO.util.Cookie.setSub('yuidoc', id, ''); + } + }; + + var checkCookie = function(id) { + var value = YAHOO.util.Cookie.getSub('yuidoc', id), + el = Dom.get(id), checked = (value === 'checked');; + + /* + if (value === 'checked') { + el.checked = true; + } else { + el.checked = false; + } + */ + + el.checked = checked; + return checked; + }; + + var els = ['show_deprecated', 'show_protected', 'show_private'], + reapplyHash = false; + + for (var i = 0; i < els.length; i++) { + Event.on(els[i], 'click', handleClick); + reapplyHash = checkCookie(els[i]) || reapplyHash; + handleClick(els[i]); + } + + // If we dynamically show private/protected/etc items during + // load, we need to reapply anchors so that the search feature + // works correctly for items that are initially hidden. + if (reapplyHash) { + var dl = document.location, hash = dl.hash; + if (hash) { + dl.hash = hash; + } + } + +}); + +//Starting the AutoComplete code + var getResults = function(query) { + var results = []; + if(query && query.length > 0) { + + var q = query.toLowerCase(); + + for (var i=0, len=ALL_YUI_PROPS.length; i<len; ++i) { + + var prop = ALL_YUI_PROPS[i]; + + if (!show['protected'] && prop.access == "protected") { + // skip + } else if (!show['private'] && prop.access == "private") { + // skip + } else if (!show['deprecated'] && prop.deprecated) { + // skip + } else { + var s = (prop.host + "." + prop.name).toLowerCase(); + if (s.indexOf(q) > -1 ) { + results.push([query, prop]); + } + } + } + } + + return results; + }; + + // Define Custom Event handlers + var myOnDataReturn = function(sType, aArgs) { + var oAutoComp = aArgs[0]; + var query = aArgs[1]; + var aResults = aArgs[2]; + + if(aResults.length == 0) { + if (query.length > 0) { + oAutoComp.setBody("<div id=\"resultsdefault\">Not found</div>"); + } + } + }; + + var myOnItemSelect = function(sType, aArgs) { + var ac = aArgs[0]; + var item = aArgs[2]; + location.href = item[1].url; + }; + + + Event.onAvailable("searchresults", function() { + + // Instantiate JS Function DataSource + oACDS = new YAHOO.widget.DS_JSFunction(getResults); + oACDS.maxCacheEntries = 30; + + // Instantiate AutoComplete + oAutoComp = new YAHOO.widget.AutoComplete('searchinput','searchresults', oACDS); + //oAutoComp.alwaysShowContainer = true; + oAutoComp.queryDelay = 0.2; + oAutoComp.maxResultsDisplayed = 200; + oAutoComp.minQueryLength = 0; + oAutoComp.formatResult = function(oResultItem, query) { + var sMarkup = "<em>" + oResultItem[1].host + '</em> <span>' + oResultItem[1].name + '</span>'; + return sMarkup; + }; + + // Subscribe to Custom Events + oAutoComp.dataReturnEvent.subscribe(myOnDataReturn); + oAutoComp.itemSelectEvent.subscribe(myOnItemSelect); + + // Set initial content in the container + oAutoComp.sendQuery(Dom.get("searchinput").value); + + }); + + var validateForm = function() { + return false; + }; + + YAHOO.util.Event.onAvailable('classTab', function() { + var tabs = new YAHOO.widget.TabView('classTab'); + }); + /* + YAHOO.util.Event.onAvailable('codeTree', function() { + var tree1 = new YAHOO.widget.TreeView('codeTree'); + tree1.render(); + }); + */ + +})(); |