@@ -48,7 +48,7 @@ function createFilterTags(dropdown, elementType, filterTags) {
4848 var classFilterRE = Object . keys ( filterTags ) ;
4949 var index = classFilterRE . indexOf ( "versions" ) ;
5050 if ( index !== - 1 ) {
51- classFilterRE [ index ] = "v\\d+-\\d+-\\d+" ;
51+ classFilterRE [ index ] = "v\\d+-\\d+-\\d+(-.*)? " ;
5252 }
5353 var parentElements = elementType . split ( "/" ) ;
5454 document . querySelectorAll ( parentElements . shift ( ) ) . forEach ( ( element ) => {
@@ -91,14 +91,17 @@ function createFilterTags(dropdown, elementType, filterTags) {
9191 spanTag . classList . add ( "filtertag" ) ;
9292 filterName = filterTags [ className ] ;
9393 }
94- else if ( RegExp ( 'v\\d+-\\d+-\\d+' ) . test ( className ) ) {
94+ else if ( RegExp ( 'v\\d+-\\d+-\\d+(-.*)? ' ) . test ( className ) ) {
9595 aTag . setAttribute ( "href" , URL + "?v=" + className ) ;
9696 spanTag . setAttribute ( "version" , className ) ;
9797 spanTag . classList . add ( "versiontag" ) ;
98- filterName = className . replace ( / v ( \d + ) - ( \d + ) - ( \d + ) / i, 'v$1.$2.$3' ) ;
98+ /** Updated replace method to handle additional segments after vX-X-X **/
99+ filterName = className . replace ( / v ( \d + ) - ( \d + ) - ( \d + ) ( - .* ) ? / , ( match , p1 , p2 , p3 , p4 ) => {
100+ return `v${ p1 } .${ p2 } .${ p3 } ${ p4 || '' } ` ;
101+ } ) ;
99102 /** When clicking a version tag, filter by the corresponding version **/
100103 spanTag . addEventListener ( "click" , ( ) => displayOption ( className , dropdown ) ) ;
101- }
104+ }
102105 var textNode = document . createTextNode ( filterName ) ;
103106
104107 spanTag . appendChild ( textNode ) ;
@@ -158,7 +161,7 @@ function setupFiltering(name, filterTagContainer=undefined, filterTags={}) {
158161 /** Retrieve the 'v' parameter and switch to that version, if applicable.
159162 Otherwise, switch to the version that is selected in the dropdown. **/
160163 var v = getUrlParameter ( 'v' ) ;
161- if ( "versions" in filterTags && ( RegExp ( 'v\\d+-\\d+-\\d+' ) . test ( v ) ) ) {
164+ if ( "versions" in filterTags && ( RegExp ( 'v\\d+-\\d+-\\d+(-.*)? ' ) . test ( v ) ) ) {
162165 displayOption ( v , dropdown ) ;
163166 }
164167 else {
0 commit comments