@@ -281,4 +281,81 @@ footer.querySelector('form').onreset = function() {
281281 behavior : 'smooth'
282282 } ) ;
283283
284+ } ;
285+
286+
287+ significantChange . querySelector ( 'form' ) . onsubmit = function ( e ) { e . preventDefault ( ) ;
288+
289+ if ( type . querySelector ( 'form' ) . type . value == 'other' && type . querySelector ( 'form > div > label[for="other"] > span > input' ) . value . trim ( ) == '' ) {
290+
291+ currentTarget = type ;
292+ type . scrollIntoView ( {
293+ behavior : 'smooth'
294+ } ) ;
295+
296+ setTimeout ( ( ) => type . querySelector ( 'form button[type="submit"]' ) . click ( ) , 1000 ) ;
297+
298+ } else if ( summary . querySelector ( 'form' ) . summary . value . trim ( ) == '' ) {
299+
300+ currentTarget = summary ;
301+ summary . scrollIntoView ( {
302+ behavior : 'smooth'
303+ } ) ;
304+
305+ setTimeout ( ( ) => summary . querySelector ( 'form button[type="submit"]' ) . click ( ) , 1000 ) ;
306+
307+ } if ( type . querySelector ( 'form' ) . type . value == 'revert' && footer . querySelector ( 'form' ) . refs . value . trim ( ) == '' ) {
308+
309+ currentTarget = footer ;
310+ footer . scrollIntoView ( {
311+ behavior : 'smooth'
312+ } ) ;
313+
314+ setTimeout ( ( ) => footer . querySelector ( 'form button[type="submit"]' ) . click ( ) , 1000 ) ;
315+
316+ } else {
317+
318+ let footerContent = [ ] ;
319+
320+ if ( footer . querySelector ( 'form' ) . closes . value . trim ( ) )
321+ footerContent . push ( `Closes: ${ footer . querySelector ( 'form' ) . closes . value . trim ( ) . replace ( / , / g, ', closes:' ) } ` ) ;
322+
323+ if ( footer . querySelector ( 'form' ) . fixes . value . trim ( ) )
324+ footerContent . push ( `Fixes: ${ footer . querySelector ( 'form' ) . fixes . value . trim ( ) . replace ( / , / g, ', fixes:' ) } ` ) ;
325+
326+ if ( footer . querySelector ( 'form' ) . resolves . value . trim ( ) )
327+ footerContent . push ( `Resolves: ${ footer . querySelector ( 'form' ) . resolves . value . trim ( ) . replace ( / , / g, ', resolves:' ) } ` ) ;
328+
329+ if ( footer . querySelector ( 'form' ) . refs . value . trim ( ) )
330+ footerContent . push ( `Refs: ${ footer . querySelector ( 'form' ) . refs . value . trim ( ) } ` ) ;
331+
332+ if ( footer . querySelector ( 'form' ) . coAuthoredBy . value . trim ( ) )
333+ footer . querySelector ( 'form' ) . coAuthoredBy . value . trim ( ) . split ( ', ' ) . forEach ( e => footerContent . push ( 'Co-authored-by: ' + e ) )
334+
335+ if ( footer . querySelector ( 'form' ) . onBehalfOf . value . trim ( ) )
336+ footerContent . push ( 'on-behalf-of: ' + footer . querySelector ( 'form' ) . onBehalfOf . value . trim ( ) ) ;
337+
338+ if ( footer . querySelector ( 'form' ) . breakingChange . value . trim ( ) )
339+ footerContent . push ( 'BREAKING CHANGE: ' + footer . querySelector ( 'form' ) . breakingChange . value . trim ( ) ) ;
340+
341+ result . querySelector ( 'form' ) . header . value = `${ type . querySelector ( 'form' ) . type . value != 'other' ? type . querySelector ( 'form' ) . type . value : type . querySelector ( 'form > div > label[for="other"] > span > input[name="otherType"]' ) . value . trim ( ) } ${ scope . querySelector ( 'form' ) . scope . value . trim ( ) ? ' (' + scope . querySelector ( 'form' ) . scope . value . trim ( ) + ')' : '' } ${ this . significantChange . checked ? '!' : '' } : ${ summary . querySelector ( 'form' ) . summary . value . trim ( ) } ` ;
342+ result . querySelector ( 'form' ) . description . innerHTML = `${ body . querySelector ( 'form' ) . body . value . trim ( ) ? body . querySelector ( 'form' ) . body . value . trim ( ) : '' } ${ body . querySelector ( 'form' ) . body . value . trim ( ) && footerContent . length ? '\n\n' : '' } ${ footerContent . length ? footerContent . join ( '\n' ) : '' } ` ;
343+
344+ result . querySelector ( 'form > div > fieldset > code > span.value' ) . innerHTML = `${ result . querySelector ( 'form' ) . header . value } ${ result . querySelector ( 'form' ) . description . value . trim ( ) ? ( ! body . querySelector ( 'form' ) . body . value . trim ( ) && ( footer . querySelector ( 'form' ) . coAuthoredBy . value . trim ( ) || footer . querySelector ( 'form' ) . onBehalfOf . value . trim ( ) ) ? '<br><br><br>' : '<br><br>' ) + result . querySelector ( 'form' ) . description . value . trim ( ) . replace ( / < / g, '<' ) . replace ( / > / g, '>' ) . split ( '\n' ) . join ( '<br>' ) : '' } ` ;
345+
346+ currentTarget = result ;
347+ result . scrollIntoView ( {
348+ behavior : 'smooth'
349+ } ) ;
350+
351+ }
352+
353+ } ;
354+ significantChange . querySelector ( 'form' ) . onreset = function ( ) {
355+
356+ currentTarget = footer ;
357+ footer . scrollIntoView ( {
358+ behavior : 'smooth'
359+ } ) ;
360+
284361} ;
0 commit comments