@@ -71,6 +71,37 @@ html.dark .http-ver[data-ver="ws"].active { color: #22d3ee; background: rgba(8,1
7171 document .getElementById (' lb-composite-wrapper' ).style .display = ver === ' composite' ? ' ' : ' none' ;
7272 document .getElementById (' lb-grpc-wrapper' ).style .display = ver === ' grpc' ? ' ' : ' none' ;
7373 document .getElementById (' lb-ws-wrapper' ).style .display = ver === ' ws' ? ' ' : ' none' ;
74+ /* Reset all type filters to Framework */
75+ document .querySelectorAll (' .lb-type-filter' ).forEach (function (f ) {
76+ f .classList .toggle (' active' , f .dataset .type === ' framework' );
77+ });
78+ /* Reset composite type filter too */
79+ document .querySelectorAll (' .composite-type-filter' ).forEach (function (f ) {
80+ f .classList .toggle (' active' , f .dataset .type === ' framework' );
81+ });
82+ /* Sync language filters — capture active langs, apply to all, then trigger re-filter */
83+ var activeLangs = new Set ();
84+ var allActive = false ;
85+ document .querySelectorAll (' .lb-lang-filter' ).forEach (function (f ) {
86+ if (f .classList .contains (' active' )) {
87+ if (f .dataset .lang === ' all' ) allActive = true ;
88+ else activeLangs .add (f .dataset .lang );
89+ }
90+ });
91+ document .querySelectorAll (' .lb-lang-filter' ).forEach (function (f ) {
92+ if (f .dataset .lang === ' all' ) f .classList .toggle (' active' , allActive);
93+ else f .classList .toggle (' active' , allActive || activeLangs .has (f .dataset .lang ));
94+ });
95+ /* Trigger re-filter on the newly visible wrapper by clicking its type filter */
96+ var wrapperIds = { h1: ' lb-wrapper' , h2: ' lb-h2-wrapper' , h3: ' lb-h3-wrapper' , grpc: ' lb-grpc-wrapper' , ws: ' lb-ws-wrapper' };
97+ var wrapperId = wrapperIds[ver];
98+ if (wrapperId) {
99+ var w = document .getElementById (wrapperId);
100+ if (w) {
101+ var typeBtn = w .querySelector (' .lb-type-filter[data-type="framework"]' );
102+ if (typeBtn) typeBtn .click ();
103+ }
104+ }
74105 });
75106 });
76107})();
0 commit comments