@@ -72,6 +72,39 @@ const setOperationDetails = (id: string, version: string): void => {
7272 summary .value = operation ?.summary
7373 tags .value = operation ?.tags || []
7474 console .log (' Tags ref value:' , tags .value )
75+ updateHeaderTags (tags .value )
76+ }
77+
78+ const updateHeaderTags = (tagsList : string []) => {
79+ const element = document .getElementById (' selected-endpoint-tags' )
80+ if (element ) {
81+ if (tagsList .length > 0 ) {
82+ const tagsHTML = tagsList .map (tag =>
83+ ` <a class="tag-link" data-tag="${tag }" href="#">${tag }</a> `
84+ ).join (' , ' )
85+ element .innerHTML = ` Tags: ${tagsHTML } `
86+
87+ // Add click handlers to the tags
88+ element .querySelectorAll (' .tag-link' ).forEach ((tagElement ) => {
89+ tagElement .addEventListener (' click' , (e ) => {
90+ e .preventDefault ()
91+ const tag = (e .target as HTMLElement ).getAttribute (' data-tag' )
92+ if (tag ) {
93+ filterByTag (tag )
94+ }
95+ })
96+ })
97+ } else {
98+ element .innerHTML = ' '
99+ }
100+ }
101+ }
102+
103+ const clearHeaderTags = () => {
104+ const element = document .getElementById (' selected-endpoint-tags' )
105+ if (element ) {
106+ element .innerHTML = ' '
107+ }
75108}
76109
77110const filterByTag = (tag : string ) => {
@@ -187,6 +220,7 @@ onMounted(async () => {
187220 placeholderVersion .value = version
188221 totalEndpoints .value = resourceDocs [version ]?.resource_docs ?.length || 0
189222 allTags .value = getAllTags (version )
223+ clearHeaderTags ()
190224 } else {
191225 showPlaceholder .value = false
192226 setOperationDetails (routeId , version )
@@ -204,6 +238,7 @@ onBeforeRouteUpdate(async (to) => {
204238 placeholderVersion .value = version
205239 totalEndpoints .value = resourceDocs [version ]?.resource_docs ?.length || 0
206240 allTags .value = getAllTags (version )
241+ clearHeaderTags ()
207242 } else {
208243 showPlaceholder .value = false
209244 setOperationDetails (routeId , version )
0 commit comments