Mercurial
comparison .cms/js/rss.js @ 0:78edf6b517a0 draft
24.10
author | Coffee CMS <info@coffee-cms.ru> |
---|---|
date | Fri, 11 Oct 2024 22:40:23 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:78edf6b517a0 |
---|---|
1 document.addEventListener( "DOMContentLoaded", function( event ) { | |
2 | |
3 let select = document.querySelector( "#rss .xml-wrapper-hidden .select-dropdown" ); | |
4 let page_input = select.querySelector( "input" ); | |
5 | |
6 // Поиск при каждом нажатии кнопки | |
7 page_input.addEventListener( "keyup", function( e ) { | |
8 api( { fn: "get_search_pages_list", search: this.value }, function( r ) { | |
9 select.classList.add( "open" ); | |
10 if ( r.html ) { | |
11 select.querySelector( ".list-search" ).innerHTML = r.html; | |
12 select.querySelector( ".list-search li[data-id='0']" ).remove(); | |
13 select.querySelectorAll( ".list-search li" ).forEach( function( li ) { | |
14 li.addEventListener( "click", li_click ); | |
15 } ); | |
16 } | |
17 } ); | |
18 } ); | |
19 | |
20 // Щелчок по выбранной странице | |
21 function li_click() { | |
22 let url = this.getAttribute( "data-url" ); | |
23 | |
24 let textarea = document.querySelector( "#rss textarea[name='exclude']" ); | |
25 let val = textarea.value.trim(); | |
26 let n = val ? "\n" : ""; | |
27 textarea.value = val + n + url; | |
28 | |
29 select.classList.remove( "open" ); | |
30 } | |
31 | |
32 page_input.addEventListener( "click", function( e ) { | |
33 e.stopPropagation(); | |
34 page_input.dispatchEvent( new Event( "keyup" ) ); | |
35 select.classList.add( "open" ); | |
36 } ); | |
37 | |
38 // collapse select dropdown | |
39 document.body.addEventListener( "click", function( e ) { | |
40 select.classList.remove( "open" ); | |
41 } ); | |
42 | |
43 } ); |