1- /**
2- * @typedef {{
3- * id: number | string
4- * text: string
5- * desc: string
6- * synonyms?: string | QPixelTagSynonym[]
7- * }} ProcessedTag
8- */
9-
10- $ ( ( ) => {
1+ document . addEventListener ( 'DOMContentLoaded' , ( ) => {
112 const sum = ( /** @type {number[] } */ ary ) => ary . reduce ( ( a , b ) => a + b , 0 ) ;
123
134 /**
@@ -35,11 +26,11 @@ $(() => {
3526 const tagSynonyms = ! ! tag . synonyms ? ` <i>(${ tag . synonyms } )</i>` : '' ;
3627 const tagSpan = `<span>${ tag . text } ${ tagSynonyms } </span>` ;
3728 let desc = ! ! tag . desc ? splitWordsMaxLength ( tag . desc , 120 ) : '' ;
38- const descSpan = ! ! tag . desc ?
39- `<br/><span class="has-color-tertiary-900 has-font-size-caption">${ desc [ 0 ] } ${ desc . length > 1 ? '...' : '' } </span>` :
40- '' ;
29+ const descSpan = ! ! tag . desc
30+ ? `<br/><span class="has-color-tertiary-900 has-font-size-caption">${ desc [ 0 ] } ${ desc . length > 1 ? '...' : '' } </span>`
31+ : '' ;
4132 return $ ( tagSpan + descSpan ) ;
42- }
33+ } ;
4334
4435 $ ( '.js-tag-select' ) . each ( ( _i , el ) => {
4536 const $tgt = $ ( el ) ;
@@ -49,10 +40,10 @@ $(() => {
4940 tags : $tgt . attr ( 'data-create' ) !== 'false' ,
5041 /**
5142 * @param {Select2.IdTextPair[] } data
52- * @param {Select2.IdTextPair & { desc?: string } } tag
43+ * @param {Select2.IdTextPair & { desc?: string } } tag
5344 */
5445 insertTag : function ( data , tag ) {
55- tag . desc = " (Create new tag)"
46+ tag . desc = ' (Create new tag)' ;
5647 // Insert the tag at the end of the results
5748 data . push ( tag ) ;
5849 } ,
@@ -66,7 +57,7 @@ $(() => {
6657 }
6758 return Object . assign ( params , { tag_set : $this . data ( 'tag-set' ) } ) ;
6859 } ,
69- headers : { ' Accept' : 'application/json' } ,
60+ headers : { Accept : 'application/json' } ,
7061 delay : 100 ,
7162 /**
7263 * @param {QPixelTag[] } data
@@ -80,23 +71,23 @@ $(() => {
8071 { id : 1 , text : 'hot-red-firebreather' , desc : 'Very cute dragon' } ,
8172 { id : 2 , text : 'training' , desc : 'How to train a dragon' } ,
8273 { id : 3 , text : 'behavior' , desc : 'How a dragon behaves' } ,
83- { id : 4 , text : 'sapphire-blue-waterspouter' , desc : 'Other cute dragon' }
84- ]
85- }
74+ { id : 4 , text : 'sapphire-blue-waterspouter' , desc : 'Other cute dragon' } ,
75+ ] ,
76+ } ;
8677 }
8778 return {
8879 results : data . map ( ( t ) => ( {
8980 id : useIds ? t . id : t . name ,
9081 text : t . name . replace ( / < / g, '<' ) . replace ( / > / g, '>' ) ,
9182 synonyms : processSynonyms ( $this , t . tag_synonyms ) ,
92- desc : t . excerpt
93- } ) )
83+ desc : t . excerpt ,
84+ } ) ) ,
9485 } ;
9586 } ,
9687 } ,
9788 placeholder : '' ,
9889 templateResult : template ,
99- allowClear : true
90+ allowClear : true ,
10091 } ) ;
10192 } ) ;
10293
@@ -112,10 +103,13 @@ $(() => {
112103 if ( synonyms . length > 3 ) {
113104 const searchValue = $search . data ( 'select2' ) . selection . $search . val ( ) . toLowerCase ( ) ;
114105 displayedSynonyms = synonyms . filter ( ( ts ) => ts . name . includes ( searchValue ) ) . slice ( 0 , 3 ) ;
115- } else {
106+ }
107+ else {
116108 displayedSynonyms = synonyms ;
117109 }
118- let synonymsString = displayedSynonyms . map ( ( ts ) => `${ ts . name . replace ( / < / g, '<' ) . replace ( / > / g, '>' ) } ` ) . join ( ', ' ) ;
110+ let synonymsString = displayedSynonyms
111+ . map ( ( ts ) => `${ ts . name . replace ( / < / g, '<' ) . replace ( / > / g, '>' ) } ` )
112+ . join ( ', ' ) ;
119113 if ( synonyms . length > displayedSynonyms . length ) {
120114 synonymsString += `, ${ synonyms . length - displayedSynonyms . length } more synonyms` ;
121115 }
@@ -128,10 +122,10 @@ $(() => {
128122 const newId = parseInt ( lastId , 10 ) + 1 ;
129123
130124 //Duplicate the first element at the end of the wrapper
131- const newField = $wrapper . find ( '.tag-synonym[data-id="0"]' ) [ 0 ]
132- . outerHTML
133- . replace ( / d a t a - i d = " 0 " / g, 'data-id="' + newId + '"' )
134- . replace ( / (?< connector > a t t r i b u t e s ( \] \[ ) | ( _ ) ) 0 / g, '$<connector>' + newId )
125+ const newField = $wrapper
126+ . find ( '.tag-synonym[data-id="0"]' ) [ 0 ]
127+ . outerHTML . replace ( / d a t a - i d = " 0 " / g, 'data-id="' + newId + '"' )
128+ . replace ( / (?< connector > a t t r i b u t e s ( \] \[ ) | ( _ ) ) 0 / g, '$<connector>' + newId ) ;
135129 $wrapper . append ( newField ) ;
136130
137131 //Alter the newly added tag synonym
@@ -141,10 +135,10 @@ $(() => {
141135 $newTagSynonym . show ( ) ;
142136
143137 //Add handler for removing an element
144- $newTagSynonym . find ( `.remove-tag-synonym` ) . click ( removeTagSynonym ) ;
138+ $newTagSynonym . find ( `.remove-tag-synonym` ) . on ( 'click' , removeTagSynonym ) ;
145139 } ) ;
146140
147- $ ( '.remove-tag-synonym' ) . click ( removeTagSynonym ) ;
141+ $ ( '.remove-tag-synonym' ) . on ( 'click' , removeTagSynonym ) ;
148142
149143 function removeTagSynonym ( ) {
150144 const synonym = $ ( this ) . closest ( '.tag-synonym' ) ;
@@ -174,7 +168,7 @@ $(() => {
174168 const tagId = $tgt . attr ( 'data-tag' ) ;
175169 const tagName = $tgt . attr ( 'data-name' ) ;
176170
177- const renameTo = prompt ( `Rename tag ${ tagName } to:` ) ;
171+ const renameTo = prompt ( `Rename tag " ${ tagName } " to:` ) ;
178172
179173 if ( ! renameTo ) {
180174 return ;
0 commit comments