Changeset - 182a25646cf4
[Not reviewed]
default
0 1 0
Marcin Kuzminski - 12 years ago 2013-07-13 21:28:50
marcin@python-works.com
change repo sorting to raw_nam so it's UI independent
1 file changed with 2 insertions and 6 deletions:
0 comments (0 inline, 0 general)
rhodecode/public/js/rhodecode.js
Show inline comments
 
@@ -1871,198 +1871,194 @@ var quick_repo_menu = function(){
 
    YUE.on(YUQ('.quick_repo_menu'),'mouseenter',function(e){
 
            var menu = e.currentTarget.firstElementChild.firstElementChild;
 
            if(YUD.hasClass(menu,'hidden')){
 
                YUD.replaceClass(e.currentTarget,'hidden', 'active');
 
                YUD.replaceClass(menu, 'hidden', 'active');
 
            }
 
        })
 
    YUE.on(YUQ('.quick_repo_menu'),'mouseleave',function(e){
 
            var menu = e.currentTarget.firstElementChild.firstElementChild;
 
            if(YUD.hasClass(menu,'active')){
 
                YUD.replaceClass(e.currentTarget, 'active', 'hidden');
 
                YUD.replaceClass(menu, 'active', 'hidden');
 
            }
 
        })
 
};
 

	
 

	
 
/**
 
 * TABLE SORTING
 
 */
 

	
 
// returns a node from given html;
 
var fromHTML = function(html){
 
      var _html = document.createElement('element');
 
      _html.innerHTML = html;
 
      return _html;
 
}
 
var get_rev = function(node){
 
    var n = node.firstElementChild.firstElementChild;
 

	
 
    if (n===null){
 
        return -1
 
    }
 
    else{
 
        out = n.firstElementChild.innerHTML.split(':')[0].replace('r','');
 
        return parseInt(out);
 
    }
 
}
 

	
 
var get_name = function(node){
 
     var name = node.firstElementChild.children[2].innerHTML;
 
     return name
 
}
 
var get_group_name = function(node){
 
    var name = node.firstElementChild.children[1].innerHTML;
 
    return name
 
}
 
var get_date = function(node){
 
    var date_ = YUD.getAttribute(node.firstElementChild,'date');
 
    return date_
 
}
 

	
 
var get_age = function(node){
 
    return node
 
}
 

	
 
var get_link = function(node){
 
    return node.firstElementChild.text;
 
}
 

	
 
var revisionSort = function(a, b, desc, field) {
 

	
 
      var a_ = fromHTML(a.getData(field));
 
      var b_ = fromHTML(b.getData(field));
 

	
 
      // extract revisions from string nodes
 
      a_ = get_rev(a_)
 
      b_ = get_rev(b_)
 

	
 
      var comp = YAHOO.util.Sort.compare;
 
      var compState = comp(a_, b_, desc);
 
      return compState;
 
};
 
var ageSort = function(a, b, desc, field) {
 
    var a_ = fromHTML(a.getData(field));
 
    var b_ = fromHTML(b.getData(field));
 

	
 
    // extract name from table
 
    a_ = get_date(a_)
 
    b_ = get_date(b_)
 

	
 
    var comp = YAHOO.util.Sort.compare;
 
    var compState = comp(a_, b_, desc);
 
    return compState;
 
};
 

	
 
var lastLoginSort = function(a, b, desc, field) {
 
    var a_ = a.getData('last_login_raw') || 0;
 
    var b_ = b.getData('last_login_raw') || 0;
 

	
 
    var comp = YAHOO.util.Sort.compare;
 
    var compState = comp(a_, b_, desc);
 
    return compState;
 
};
 

	
 
var nameSort = function(a, b, desc, field) {
 
    var a_ = fromHTML(a.getData(field));
 
    var b_ = fromHTML(b.getData(field));
 

	
 
    // extract name from table
 
    a_ = get_name(a_)
 
    b_ = get_name(b_)
 
    var a_ = a.getData('raw_name') || 0;
 
    var b_ = b.getData('raw_name') || 0;
 

	
 
    var comp = YAHOO.util.Sort.compare;
 
    var compState = comp(a_, b_, desc);
 
    return compState;
 
};
 

	
 
var permNameSort = function(a, b, desc, field) {
 
    var a_ = fromHTML(a.getData(field));
 
    var b_ = fromHTML(b.getData(field));
 
    // extract name from table
 

	
 
    a_ = a_.children[0].innerHTML;
 
    b_ = b_.children[0].innerHTML;
 

	
 
    var comp = YAHOO.util.Sort.compare;
 
    var compState = comp(a_, b_, desc);
 
    return compState;
 
};
 

	
 
var groupNameSort = function(a, b, desc, field) {
 
    var a_ = fromHTML(a.getData(field));
 
    var b_ = fromHTML(b.getData(field));
 

	
 
    // extract name from table
 
    a_ = get_group_name(a_)
 
    b_ = get_group_name(b_)
 

	
 
    var comp = YAHOO.util.Sort.compare;
 
    var compState = comp(a_, b_, desc);
 
    return compState;
 
};
 
var dateSort = function(a, b, desc, field) {
 
    var a_ = fromHTML(a.getData(field));
 
    var b_ = fromHTML(b.getData(field));
 

	
 
    // extract name from table
 
    a_ = get_date(a_)
 
    b_ = get_date(b_)
 

	
 
    var comp = YAHOO.util.Sort.compare;
 
    var compState = comp(a_, b_, desc);
 
    return compState;
 
};
 

	
 
var usernamelinkSort = function(a, b, desc, field) {
 
      var a_ = fromHTML(a.getData(field));
 
      var b_ = fromHTML(b.getData(field));
 

	
 
      // extract url text from string nodes
 
      a_ = get_link(a_)
 
      b_ = get_link(b_)
 
      var comp = YAHOO.util.Sort.compare;
 
      var compState = comp(a_, b_, desc);
 
      return compState;
 
}
 

	
 
var addPermAction = function(_html, users_list, groups_list){
 
    var elmts = YUD.getElementsByClassName('last_new_member');
 
    var last_node = elmts[elmts.length-1];
 
    if (last_node){
 
       var next_id = (YUD.getElementsByClassName('new_members')).length;
 
       _html = _html.format(next_id);
 
       last_node.innerHTML = _html;
 
       YUD.setStyle(last_node, 'display', '');
 
       YUD.removeClass(last_node, 'last_new_member');
 
       MembersAutoComplete("perm_new_member_name_"+next_id,
 
               "perm_container_"+next_id, users_list, groups_list);
 
       //create new last NODE
 
       var el = document.createElement('tr');
 
       el.id = 'add_perm_input';
 
       YUD.addClass(el,'last_new_member');
 
       YUD.addClass(el,'new_members');
 
       YUD.insertAfter(el, last_node);
 
    }
 
}
 
function ajaxActionRevokePermission(url, obj_id, obj_type, field_id, extra_data) {
 
    var callback = {
 
        success: function (o) {
 
            var tr = YUD.get(String(field_id));
 
            tr.parentNode.removeChild(tr);
 
        },
 
        failure: function (o) {
 
            alert(_TM['Failed to remoke permission'] + ": " + o.status);
 
        },
 
    };
 
    query_params = {
 
        '_method': 'delete'
 
    }
 
    // put extra data into POST
 
    if (extra_data !== undefined && (typeof extra_data === 'object')){
 
        for(k in extra_data){
 
            query_params[k] = extra_data[k];
 
        }
 
    }
 

	
 
    if (obj_type=='user'){
0 comments (0 inline, 0 general)