@@ -18,26 +18,52 @@ <h1 style="margin-left: auto;margin-right: auto;">Available Dev Container Featur
18
18
Please note that if you need to report a Feature, you should do so through the registry hosting the Feature.
19
19
</ p >
20
20
21
- < p >
22
- </ p >
23
- < tr >
24
- < td class ="tg-0lax "> < b > Feature Name</ b > </ b > </ td >
25
- < td class ="tg-0lax "> < b > Maintainer</ b > </ td >
26
- < td class ="tg-0lax "> < b > Reference</ b > </ td >
27
- < td class ="tg-0lax "> < b > Latest Version</ b > </ td >
28
- </ tr >
21
+ < input type ="text " id ="searchInput " placeholder ="Search ">
22
+ < br >
23
+ < br >
24
+
25
+ < table id ="collectionTable " class ="tg ">
26
+ < tr >
27
+ < td class ="tg-0lax "> < b > Feature Name</ b > </ b > </ td >
28
+ < td class ="tg-0lax "> < b > Maintainer</ b > </ td >
29
+ < td class ="tg-0lax "> < b > Reference</ b > </ td >
30
+ < td class ="tg-0lax "> < b > Latest Version</ b > </ td >
31
+ </ tr >
32
+
33
+ {% for c in site.data.devcontainer-index.collections %}
34
+ {% for f in c.features %}
35
+ {% if f.deprecated != true %}
36
+ < tr >
37
+ < td class ="tg-0lax "> < a rel ="nofollow " href ="{{ f.documentationURL | strip_html }} "> {{ f.name | strip_html }}</ a >
38
+ </ td >
39
+ < td class ="tg-0lax "> {{ c.sourceInformation.maintainer | strip_html }}</ td >
40
+ < td class ="tg-0lax "> < code > {{ f.id | strip_html }}:{{ f.majorVersion | strip_html }}</ code > </ td >
41
+ < td class ="tg-0lax "> < code > {{ f.version | strip_html }}</ code > </ td >
42
+ </ tr >
43
+ {% endif %}
44
+ {% endfor %}
45
+
46
+ {% endfor %}
47
+ </ table >
48
+
49
+ < script >
50
+ const searchInput = document . getElementById ( 'searchInput' ) ;
51
+ const collectionTable = document . getElementById ( 'collectionTable' ) ;
52
+ const rows = collectionTable . getElementsByTagName ( 'tr' ) ;
53
+
54
+ searchInput . addEventListener ( 'input' , function ( ) {
55
+ const searchValue = searchInput . value . toLowerCase ( ) ;
29
56
30
- {% for c in site.data.devcontainer-index.collections %}
31
- {% for f in c.features %}
32
- {% if f.deprecated != true %}
33
- < tr >
34
- < td class ="tg-0lax "> < a rel ="nofollow " href ="{{ f.documentationURL | strip_html }} "> {{ f.name | strip_html }}</ a >
35
- </ td >
36
- < td class ="tg-0lax "> {{ c.sourceInformation.maintainer | strip_html }}</ td >
37
- < td class ="tg-0lax "> < code > {{ f.id | strip_html }}:{{ f.majorVersion | strip_html }}</ code > </ td >
38
- < td class ="tg-0lax "> < code > {{ f.version | strip_html }}</ code > </ td >
39
- </ tr >
40
- {% endif %}
41
- {% endfor %}
57
+ for ( let i = 1 ; i < rows . length ; i ++ ) {
58
+ const name = rows [ i ] . getElementsByTagName ( 'td' ) [ 0 ] . textContent . toLowerCase ( ) ;
59
+ const maintainer = rows [ i ] . getElementsByTagName ( 'td' ) [ 1 ] . textContent . toLowerCase ( ) ;
60
+ const repository = rows [ i ] . getElementsByTagName ( 'td' ) [ 2 ] . textContent . toLowerCase ( ) ;
42
61
43
- {% endfor %}
62
+ if ( name . includes ( searchValue ) || maintainer . includes ( searchValue ) || repository . includes ( searchValue ) ) {
63
+ rows [ i ] . style . display = '' ;
64
+ } else {
65
+ rows [ i ] . style . display = 'none' ;
66
+ }
67
+ }
68
+ } ) ;
69
+ </ script >
0 commit comments