Fossil

Diff
Login

Differences From Artifact [c2360498d9]:

To Artifact [77f4e2875f]:


1
2
3
4
5
6
7
8
9

10
11
12
13
14
15
16
17
18










19
20

21
22
23
24
25
26
27
28

29
30
31
32
33
34
35
/*
 * This script adds multiselect facility for the list of branches.
*/
window.addEventListener( 'load', function() {

var anchor = document.querySelector("div.submenu > a.label" );
if( !anchor || anchor.innerText != "Timeline" ) return;
var prefix = anchor.href.toString() + "?ms=regexp&rel&t=";


var onChange = function( event ){
  var cbx = event.target;
  var tag = cbx.parentElement.children[0].innerText;
  var re = anchor.href.substr(prefix.length);
  if( cbx.checked ){
    if( re != "" ){
      re += "|";
    }
    re += tag;










  }else if( re == tag ){
    re = ""

  }else {
      var a = re.split("|");
      var i = a.length;
      while( --i >= 0 ){
        if( a[i] == tag )
          a.splice(i,1);
      }
      re = a.join("|");

  }
  anchor.href = prefix + re;
}

var selected = [];
document.querySelectorAll("div.brlist > table td:first-child > input")
  .forEach( function( cbx ){








|
>

|
|






>
>
>
>
>
>
>
>
>
>
|
|
>
|







>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
 * This script adds multiselect facility for the list of branches.
*/
window.addEventListener( 'load', function() {

var anchor = document.querySelector("div.submenu > a.label" );
if( !anchor || anchor.innerText != "Timeline" ) return;
var prefix = anchor.href.toString() + "?ms=regexp&rel&t=";
anchor.classList.add('timeline-link');
const selectedCheckboxes = []/*currently-selected checkboxes*/;
var onChange = function( event ){
  const cbx = event.target;
  const tag = cbx.parentElement.children[0].innerText;
  var re = anchor.href.substr(prefix.length);
  if( cbx.checked ){
    if( re != "" ){
      re += "|";
    }
    re += tag;
    selectedCheckboxes.push(cbx);
    anchor.classList.add('selected'); 
  }else{
    const ndx = selectedCheckboxes.indexOf(cbx);
    if(ndx>=0){
      selectedCheckboxes.splice(ndx,1);
      if(!selectedCheckboxes.length){
        anchor.classList.remove('selected');
      }
    }
    if( re == tag ){
      re = "";
      removeSelected(cbx);
    }else {
      var a = re.split("|");
      var i = a.length;
      while( --i >= 0 ){
        if( a[i] == tag )
          a.splice(i,1);
      }
      re = a.join("|");
    }
  }
  anchor.href = prefix + re;
}

var selected = [];
document.querySelectorAll("div.brlist > table td:first-child > input")
  .forEach( function( cbx ){