src/cm/media/js/lib/yui/yui3.0.0/api/assets/ac-js
author raph
Mon, 23 Nov 2009 15:14:29 +0100
changeset 0 40c8f766c9b8
permissions -rw-r--r--
import from internal svn r 4007
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
(function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
    var Event=YAHOO.util.Event,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
        Dom=YAHOO.util.Dom,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
        oACDS, oAutoComp,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
        show = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
            'private': false,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
            'protected': false,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
            'deprecated': false
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
        };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
Event.onAvailable('yui-classopts-form', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
    //Checkboxes are available..
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
    var handleClick = function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
        var id, checked = false;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
        if (YAHOO.lang.isString(e)) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
            id = e;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
        } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
            var tar = Event.getTarget(e);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
            id = tar.id;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
        var el = Dom.get(id);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
        checked = el.checked;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
        var className = id;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
        if (checked) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
            show[id.replace('show_', '')] = true;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
            Dom.addClass(document.body, className);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
            YAHOO.util.Cookie.setSub('yuidoc', id, 'checked');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
        } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
            show[id.replace('show_', '')] = false;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
            Dom.removeClass(document.body, className);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
            YAHOO.util.Cookie.setSub('yuidoc', id, '');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
    var checkCookie = function(id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
        var value = YAHOO.util.Cookie.getSub('yuidoc', id),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
            el = Dom.get(id), checked = (value === 'checked');;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
        if (value === 'checked') {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
            el.checked = true;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
        } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
            el.checked = false;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
        */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
        el.checked = checked;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
        return checked;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
    var els = ['show_deprecated', 'show_protected', 'show_private'],
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
        reapplyHash = false;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
    for (var i = 0; i < els.length; i++) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
        Event.on(els[i], 'click', handleClick);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
        reapplyHash = checkCookie(els[i]) || reapplyHash;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
        handleClick(els[i]);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
    // If we dynamically show private/protected/etc items during
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
    // load, we need to reapply anchors so that the search feature
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
    // works correctly for items that are initially hidden.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
    if (reapplyHash) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
        var dl = document.location, hash = dl.hash;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
        if (hash) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
            dl.hash = hash;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
//Starting the AutoComplete code
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
    var getResults = function(query) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
        var results = [];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
        if(query && query.length > 0) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
            var q = query.toLowerCase();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
            for (var i=0, len=ALL_YUI_PROPS.length; i<len; ++i) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
                var prop = ALL_YUI_PROPS[i];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
                if (!show['protected'] && prop.access == "protected") {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
                    // skip
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
                } else if (!show['private'] && prop.access == "private") {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
                    // skip
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
                } else if (!show['deprecated'] && prop.deprecated) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
                    // skip
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
                } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
                    var s = (prop.host + "." + prop.name).toLowerCase();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
                    if (s.indexOf(q) > -1 ) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
                        results.push([query, prop]);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
                    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
                }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
        return results;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
    // Define Custom Event handlers
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
    var myOnDataReturn = function(sType, aArgs) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
        var oAutoComp = aArgs[0];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
        var query = aArgs[1];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
        var aResults = aArgs[2];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
        if(aResults.length == 0) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
            if (query.length > 0) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
                oAutoComp.setBody("<div id=\"resultsdefault\">Not found</div>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
    var myOnItemSelect = function(sType, aArgs) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
        var ac = aArgs[0];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
        var item = aArgs[2];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
        location.href = item[1].url;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
    Event.onAvailable("searchresults", function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
        // Instantiate JS Function DataSource
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
        oACDS = new YAHOO.widget.DS_JSFunction(getResults);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
        oACDS.maxCacheEntries = 30;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
        // Instantiate AutoComplete
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
        oAutoComp = new YAHOO.widget.AutoComplete('searchinput','searchresults', oACDS);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
        //oAutoComp.alwaysShowContainer = true;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
        oAutoComp.queryDelay = 0.2;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
        oAutoComp.maxResultsDisplayed = 200;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
        oAutoComp.minQueryLength = 0;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
        oAutoComp.formatResult = function(oResultItem, query) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
            var sMarkup = "<em>" + oResultItem[1].host + '</em> <span>' + oResultItem[1].name + '</span>';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
            return sMarkup;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
        };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
        // Subscribe to Custom Events
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
        oAutoComp.dataReturnEvent.subscribe(myOnDataReturn);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
        oAutoComp.itemSelectEvent.subscribe(myOnItemSelect);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
        // Set initial content in the container
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
        oAutoComp.sendQuery(Dom.get("searchinput").value);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
    var validateForm = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
        return false;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
    YAHOO.util.Event.onAvailable('classTab', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
        var tabs = new YAHOO.widget.TabView('classTab');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
    /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
    YAHOO.util.Event.onAvailable('codeTree', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
        var tree1 = new YAHOO.widget.TreeView('codeTree');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
        tree1.render();    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
    */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
})();