Hide target selector if tag exists when creating new release (#23171)

Close #22649.

|status|screenshot|
|-|-|
|empty tag name|<img
src="https://user-images.githubusercontent.com/15528715/221490165-fd3abd2e-6dc5-4562-bece-d1d6a305479e.png"
width="300px"/>|
|new tag|<img
src="https://user-images.githubusercontent.com/15528715/221490450-49b2a48e-b206-49f4-bd79-34b1ea64156f.png"
width="300px"/>|
|existing tag|<img
src="https://user-images.githubusercontent.com/15528715/221490301-4d1879dd-4947-4abc-9b9a-e77be1806981.png"
width="300px"/>|
This commit is contained in:
Zettat123 2023-03-11 00:42:38 +08:00 committed by GitHub
parent 5155ec35c5
commit 3de9e63fd0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 60 additions and 18 deletions

View file

@ -3,7 +3,7 @@ import {attachTribute} from './tribute.js';
import {initCompMarkupContentPreviewTab} from './comp/MarkupContentPreview.js';
import {initEasyMDEImagePaste} from './comp/ImagePaste.js';
import {createCommentEasyMDE} from './comp/EasyMDE.js';
import {hideElem} from '../utils/dom.js';
import {hideElem, showElem} from '../utils/dom.js';
export function initRepoRelease() {
$(document).on('click', '.remove-rel-attach', function() {
@ -14,8 +14,43 @@ export function initRepoRelease() {
});
}
export function initRepoReleaseNew() {
const $repoReleaseNew = $('.repository.new.release');
if (!$repoReleaseNew.length) return;
export function initRepoReleaseEditor() {
initTagNameEditor();
initRepoReleaseEditor();
}
function initTagNameEditor() {
const el = document.getElementById('tag-name-editor');
if (!el) return;
const existingTags = JSON.parse(el.getAttribute('data-existing-tags'));
if (!Array.isArray(existingTags)) return;
const defaultTagHelperText = el.getAttribute('data-tag-helper');
const newTagHelperText = el.getAttribute('data-tag-helper-new');
const existingTagHelperText = el.getAttribute('data-tag-helper-existing');
document.getElementById('tag-name').addEventListener('keyup', (e) => {
const value = e.target.value;
if (existingTags.includes(value)) {
// If the tag already exists, hide the target branch selector.
hideElem('#tag-target-selector');
document.getElementById('tag-helper').innerText = existingTagHelperText;
} else {
showElem('#tag-target-selector');
if (value) {
document.getElementById('tag-helper').innerText = newTagHelperText;
} else {
document.getElementById('tag-helper').innerText = defaultTagHelperText;
}
}
});
}
function initRepoReleaseEditor() {
const $editor = $('.repository.new.release .content-editor');
if ($editor.length === 0) {
return;