aboutsummaryrefslogtreecommitdiff
path: root/web_src/js/features/repo-release.js
diff options
context:
space:
mode:
Diffstat (limited to 'web_src/js/features/repo-release.js')
-rw-r--r--web_src/js/features/repo-release.js39
1 files changed, 37 insertions, 2 deletions
diff --git a/web_src/js/features/repo-release.js b/web_src/js/features/repo-release.js
index a061c6b23..a230d7765 100644
--- a/web_src/js/features/repo-release.js
+++ b/web_src/js/features/repo-release.js
@@ -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;