Project

General

Profile

Defect #42532 » perository_expander_patch.diff

Anton Nekrasov, 2025-04-07 11:45

View differences:

app/assets/javascripts/application.js
586 586

  
587 587
function scmEntryClick(id, url) {
588 588
    var el = $('#'+id);
589
    var expander = el.find('.expander');
590
    var folderIcon = el.find('.icon-folder, .icon-folder-open')[0];
589 591

  
590 592
    if (el.hasClass('open')) {
591 593
        collapseScmEntry(id);
592
        el.find('.expander').switchClass('icon-expanded', 'icon-collapsed');
594
        expander.switchClass('icon-expanded', 'icon-collapsed');
593 595
        el.addClass('collapsed');
594
        updateSVGIcon(el.find('.icon-folder')[0], 'folder')
596
        updateSVGIcon(expander[0], 'angle-right');
597
        updateSVGIcon(folderIcon, 'folder');
595 598

  
596 599
        return false;
597 600
    } else if (el.hasClass('loaded')) {
598 601
        expandScmEntry(id);
599
        el.find('.expander').switchClass('icon-collapsed', 'icon-expanded');
602
        expander.switchClass('icon-collapsed', 'icon-expanded');
600 603
        el.removeClass('collapsed');
601
        updateSVGIcon(el.find('.icon-folder-open')[0], 'folder-open')
604
        updateSVGIcon(expander[0], 'angle-down');
605
        updateSVGIcon(folderIcon, 'folder-open');
602 606

  
603 607
        return false;
604 608
    }
......
611 615
      success: function(data) {
612 616
        el.after(data);
613 617
        el.addClass('open').addClass('loaded').removeClass('loading');
614
        updateSVGIcon(el.find('.icon-folder')[0], 'folder-open')
615
        el.find('.expander').switchClass('icon-collapsed', 'icon-expanded');
618
        updateSVGIcon(expander[0], 'angle-down');
619
        updateSVGIcon(folderIcon, 'folder-open');
620
        expander.switchClass('icon-collapsed', 'icon-expanded');
616 621
      }
617 622
    });
618 623
    return true;
(3-3/3)