Skip to content

Commit 24e2215

Browse files
committed
feat: significantChange section route
Validates mandatory fields and generates the commit message according to the convention
1 parent cb28718 commit 24e2215

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

assets/script/index.js

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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, '&lt;').replace(/>/g, '&gt;').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

Comments
 (0)