2023-03-10 19:42:38 +03:00
import { hideElem , showElem } from '../utils/dom.js' ;
2023-04-03 13:06:57 +03:00
import { initComboMarkdownEditor } from './comp/ComboMarkdownEditor.js' ;
2021-10-16 20:28:04 +03:00
export function initRepoRelease ( ) {
2024-02-26 01:39:07 +03:00
for ( const el of document . querySelectorAll ( '.remove-rel-attach' ) ) {
2024-02-18 04:22:09 +03:00
el . addEventListener ( 'click' , ( e ) => {
const uuid = e . target . getAttribute ( 'data-uuid' ) ;
const id = e . target . getAttribute ( 'data-id' ) ;
document . querySelector ( ` input[name='attachment-del- ${ uuid } '] ` ) . value = 'true' ;
hideElem ( ` #attachment- ${ id } ` ) ;
} ) ;
2024-02-26 01:39:07 +03:00
}
2021-10-16 20:28:04 +03:00
}
2023-03-10 19:42:38 +03:00
export function initRepoReleaseNew ( ) {
2024-02-18 04:22:09 +03:00
if ( ! document . querySelector ( '.repository.new.release' ) ) return ;
2021-10-16 20:28:04 +03:00
2023-03-10 19:42:38 +03:00
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 ;
2023-05-09 05:35:49 +03:00
const tagHelper = document . getElementById ( 'tag-helper' ) ;
2023-03-10 19:42:38 +03:00
if ( existingTags . includes ( value ) ) {
// If the tag already exists, hide the target branch selector.
hideElem ( '#tag-target-selector' ) ;
2023-05-09 05:35:49 +03:00
tagHelper . textContent = existingTagHelperText ;
2023-03-10 19:42:38 +03:00
} else {
showElem ( '#tag-target-selector' ) ;
2023-05-09 05:35:49 +03:00
tagHelper . textContent = value ? newTagHelperText : defaultTagHelperText ;
2023-03-10 19:42:38 +03:00
}
} ) ;
}
function initRepoReleaseEditor ( ) {
2024-02-18 04:22:09 +03:00
const editor = document . querySelector ( '.repository.new.release .combo-markdown-editor' ) ;
if ( ! editor ) {
2023-02-01 22:14:40 +03:00
return ;
2021-10-16 20:28:04 +03:00
}
2024-02-18 04:22:09 +03:00
initComboMarkdownEditor ( editor ) ;
2021-10-16 20:28:04 +03:00
}