@@ -669,18 +669,15 @@ function parseInfo(i) {
669669 //syncTglRecv = i.str;
670670 maxSeg = i . leds . maxseg ;
671671 pmt = i . fs . pmt ;
672+ if ( pcMode && ! i . wifi . ap ) gId ( 'edit' ) . classList . remove ( "hide" ) ; else gId ( 'edit' ) . classList . add ( "hide" ) ;
672673 gId ( 'buttonNodes' ) . style . display = lastinfo . ndc > 0 ? null :"none" ;
673674 // do we have a matrix set-up
674675 mw = i . leds . matrix ? i . leds . matrix . w : 0 ;
675676 mh = i . leds . matrix ? i . leds . matrix . h : 0 ;
676677 isM = mw > 0 && mh > 0 ;
677678 if ( ! isM ) {
678- //gId("filter0D").classList.remove('hide');
679- //gId("filter1D").classList.add('hide');
680679 gId ( "filter2D" ) . classList . add ( 'hide' ) ;
681680 } else {
682- //gId("filter0D").classList.add('hide');
683- //gId("filter1D").classList.remove('hide');
684681 gId ( "filter2D" ) . classList . remove ( 'hide' ) ;
685682 }
686683// if (i.noaudio) {
@@ -745,10 +742,10 @@ ${inforow("Environment",i.arch + " " + i.core + " (" + i.lwip + ")")}
745742</table>` ;
746743 gId ( 'kv' ) . innerHTML = cn ;
747744 // update all sliders in Info
748- for ( let sd of ( d . querySelectorAll ( '#kv .sliderdisplay' ) || [ ] ) ) {
745+ d . querySelectorAll ( '#kv .sliderdisplay' ) . forEach ( ( sd , i ) => {
749746 let s = sd . previousElementSibling ;
750747 if ( s ) updateTrail ( s ) ;
751- }
748+ } ) ;
752749}
753750
754751function populateSegments ( s )
@@ -895,8 +892,8 @@ function populateSegments(s)
895892 gId ( 'segutil2' ) . style . display = ( segCount > 1 ) ? "block" :"none" ; // rsbtn parent
896893
897894 if ( Array . isArray ( li . maps ) && li . maps . length > 1 ) {
898- let cont = `Ledmap: <select class="sel-sg" onchange="requestJson({'ledmap':parseInt(this.value)})"><option value="" selected>Unchanged</option> ` ;
899- for ( const k of ( li . maps || [ ] ) ) cont += `<option value="${ k . id } ">${ k . id == 0 ?'Default' :( k . n ?k . n :'ledmap' + k . id + '.json' ) } </option>` ;
895+ let cont = `Ledmap: <select class="sel-sg" onchange="requestJson({'ledmap':parseInt(this.value)})">` ;
896+ for ( const k of li . maps ) cont += `<option ${ s . ledmap === k . id ? "selected" : "" } value="${ k . id } ">${ k . id == 0 ?'Default' :( k . n ?k . n :'ledmap' + k . id + '.json' ) } </option>` ;
900897 cont += "</select></div>" ;
901898 gId ( "ledmap" ) . innerHTML = cont ;
902899 gId ( "ledmap" ) . classList . remove ( 'hide' ) ;
@@ -991,13 +988,12 @@ function populatePalettes()
991988
992989function redrawPalPrev ( )
993990{
994- let palettes = d . querySelectorAll ( '#pallist .lstI' ) ;
995- for ( var pal of ( palettes || [ ] ) ) {
991+ d . querySelectorAll ( '#pallist .lstI' ) . forEach ( ( pal , i ) => {
996992 let lP = pal . querySelector ( '.lstIprev' ) ;
997993 if ( lP ) {
998994 lP . style = genPalPrevCss ( pal . dataset . id ) ;
999995 }
1000- }
996+ } ) ;
1001997}
1002998
1003999function genPalPrevCss ( id )
@@ -1358,10 +1354,12 @@ function updateSelectedFx()
13581354 }
13591355
13601356 // hide 2D mapping and/or sound simulation options
1361- var segs = gId ( "segcont" ) . querySelectorAll ( `div[data-map="map2D"]` ) ;
1362- for ( const seg of segs ) if ( selectedName . indexOf ( "\u25A6" ) < 0 ) seg . classList . remove ( 'hide' ) ; else seg . classList . add ( 'hide' ) ;
1363- var segs = gId ( "segcont" ) . querySelectorAll ( `div[data-snd="si"]` ) ;
1364- for ( const seg of segs ) if ( selectedName . indexOf ( "\u266A" ) < 0 && selectedName . indexOf ( "\u266B" ) < 0 ) seg . classList . add ( 'hide' ) ; else seg . classList . remove ( 'hide' ) ; // also "♫ "?
1357+ gId ( "segcont" ) . querySelectorAll ( `div[data-map="map2D"]` ) . forEach ( ( seg ) => {
1358+ if ( selectedName . indexOf ( "\u25A6" ) < 0 ) seg . classList . remove ( 'hide' ) ; else seg . classList . add ( 'hide' ) ;
1359+ } ) ;
1360+ gId ( "segcont" ) . querySelectorAll ( `div[data-snd="si"]` ) . forEach ( ( seg ) => {
1361+ if ( selectedName . indexOf ( "\u266A" ) < 0 && selectedName . indexOf ( "\u266B" ) < 0 ) seg . classList . add ( 'hide' ) ; else seg . classList . remove ( 'hide' ) ; // also "♫ "?
1362+ } ) ;
13651363 }
13661364}
13671365
@@ -1568,8 +1566,7 @@ function setEffectParameters(idx)
15681566 var paOnOff = ( effectPars . length < 3 || effectPars [ 2 ] == '' ) ?[ ] :effectPars [ 2 ] . split ( "," ) ;
15691567
15701568 // set html slider items on/off
1571- let sliders = d . querySelectorAll ( "#sliders .sliderwrap" ) ;
1572- sliders . forEach ( ( slider , i ) => {
1569+ d . querySelectorAll ( "#sliders .sliderwrap" ) . forEach ( ( slider , i ) => {
15731570 let text = slider . getAttribute ( "title" ) ;
15741571 if ( ( ! controlDefined && i < ( ( idx < 128 ) ?2 :nSliders ) ) || ( slOnOff . length > i && slOnOff [ i ] != "" ) ) {
15751572 if ( slOnOff . length > i && slOnOff [ i ] != "!" ) text = slOnOff [ i ] ;
@@ -1583,8 +1580,7 @@ function setEffectParameters(idx)
15831580
15841581 if ( slOnOff . length > 5 ) { // up to 3 checkboxes
15851582 gId ( 'fxopt' ) . classList . remove ( 'fade' ) ;
1586- let checks = d . querySelectorAll ( "#sliders .ochkl" ) ;
1587- checks . forEach ( ( check , i ) => {
1583+ d . querySelectorAll ( "#sliders .ochkl" ) . forEach ( ( check , i ) => {
15881584 let text = check . getAttribute ( "title" ) ;
15891585 if ( 5 + i < slOnOff . length && slOnOff [ 5 + i ] !== '' ) {
15901586 if ( slOnOff . length > 5 + i && slOnOff [ 5 + i ] != "!" ) text = slOnOff [ 5 + i ] ;
@@ -2031,7 +2027,7 @@ ${makePlSel(plJson[i].end?plJson[i].end:0, true)}
20312027</label>` ;
20322028 if ( Array . isArray ( lastinfo . maps ) && lastinfo . maps . length > 1 ) {
20332029 content += `<div class="lbl-l">Ledmap: <div class="sel-p"><select class="sel-p" id="p${ i } lmp"><option value="">Unchanged</option>` ;
2034- for ( const k of ( lastinfo . maps || [ ] ) ) content += `<option value="${ k . id } "${ ( i > 0 && pJson [ i ] . ledmap == k . id ) ?" selected" :"" } >${ k . id == 0 ?'Default' :( k . n ?k . n :'ledmap' + k . id + '.json' ) } </option>` ;
2030+ for ( const k of lastinfo . maps ) content += `<option value="${ k . id } "${ ( i > 0 && pJson [ i ] . ledmap == k . id ) ?" selected" :"" } >${ k . id == 0 ?'Default' :( k . n ?k . n :'ledmap' + k . id + '.json' ) } </option>` ;
20352031 content += "</select></div></div>" ;
20362032 }
20372033 }
@@ -2179,13 +2175,12 @@ function selGrp(g)
21792175{
21802176 event . preventDefault ( ) ;
21812177 event . stopPropagation ( ) ;
2182- var sel = gId ( `segcont` ) . querySelectorAll ( `div[data-set="${ g } "]` ) ;
21832178 var obj = { "seg" :[ ] } ;
21842179 for ( let i = 0 ; i <= lSeg ; i ++ ) if ( gId ( `seg${ i } ` ) ) obj . seg . push ( { "id" :i , "sel" :false } ) ;
2185- for ( let s of ( sel || [ ] ) ) {
2180+ gId ( `segcont` ) . querySelectorAll ( `div[data-set=" ${ g } "]` ) . forEach ( ( s ) => {
21862181 let i = parseInt ( s . id . substring ( 3 ) ) ;
21872182 obj . seg [ i ] = { "id" :i , "sel" :true } ;
2188- }
2183+ } ) ;
21892184 if ( obj . seg . length ) requestJson ( obj ) ;
21902185}
21912186
@@ -2839,15 +2834,14 @@ function search(field, listId = null) {
28392834 // do not search if filter is active
28402835 if ( gId ( "filters" ) . querySelectorAll ( "input[type=checkbox]:checked" ) . length ) return ;
28412836
2842- const listItems = gId ( listId ) . querySelectorAll ( '.lstI' ) ;
28432837 // filter list items but leave (Default & Solid) always visible
2844- for ( i = ( listId === 'pcont' ? 0 : 1 ) ; i < listItems . length ; i ++ ) {
2845- const listItem = listItems [ i ] ;
2838+ gId ( listId ) . querySelectorAll ( '.lstI' ) . forEach ( ( listItem , i ) => {
2839+ if ( listId !== 'pcont' && i === 0 ) return ;
28462840 const listItemName = listItem . querySelector ( '.lstIname' ) . innerText . toUpperCase ( ) ;
28472841 const searchIndex = listItemName . indexOf ( field . value . toUpperCase ( ) ) ;
28482842 listItem . style . display = ( searchIndex < 0 ) ? 'none' : '' ;
28492843 listItem . dataset . searchIndex = searchIndex ;
2850- }
2844+ } ) ;
28512845
28522846 // sort list items by search index and name
28532847 const sortedListItems = Array . from ( listItems ) . sort ( ( a , b ) => {
@@ -2908,14 +2902,12 @@ function filterFx() {
29082902 inputField . value = '' ;
29092903 inputField . focus ( ) ;
29102904 clean ( inputField . nextElementSibling ) ;
2911- const listItems = gId ( "fxlist" ) . querySelectorAll ( '.lstI' ) ;
2912- for ( let i = 1 ; i < listItems . length ; i ++ ) {
2913- const listItem = listItems [ i ] ;
2905+ gId ( "fxlist" ) . querySelectorAll ( '.lstI' ) . forEach ( ( listItem , i ) => {
29142906 const listItemName = listItem . querySelector ( '.lstIname' ) . innerText ;
29152907 let hide = false ;
29162908 gId ( "filters" ) . querySelectorAll ( "input[type=checkbox]" ) . forEach ( ( e ) => { if ( e . checked && ! listItemName . includes ( e . dataset . flt ) ) hide = true ; } ) ;
29172909 listItem . style . display = hide ? 'none' : '' ;
2918- }
2910+ } ) ;
29192911}
29202912
29212913function preventBlur ( e ) {
@@ -3066,6 +3058,7 @@ function size()
30663058
30673059function togglePcMode ( fromB = false )
30683060{
3061+ let ap = ( fromB && ! lastinfo ) || ( lastinfo && lastinfo . wifi && lastinfo . witi . ap ) ;
30693062 if ( fromB ) {
30703063 pcModeA = ! pcModeA ;
30713064 localStorage . setItem ( 'pcm' , pcModeA ) ;
@@ -3075,6 +3068,7 @@ function togglePcMode(fromB = false)
30753068 if ( ! fromB && ( ( wW < 1024 && lastw < 1024 ) || ( wW >= 1024 && lastw >= 1024 ) ) ) return ; // no change in size and called from size()
30763069 if ( pcMode ) openTab ( 0 , true ) ;
30773070 gId ( 'buttonPcm' ) . className = ( pcMode ) ? "active" :"" ;
3071+ if ( pcMode && ! ap ) gId ( 'edit' ) . classList . remove ( "hide" ) ; else gId ( 'edit' ) . classList . add ( "hide" ) ;
30783072 gId ( 'bot' ) . style . height = ( pcMode && ! cfg . comp . pcmbot ) ? "0" :"auto" ;
30793073 sCol ( '--bh' , gId ( 'bot' ) . clientHeight + "px" ) ;
30803074 _C . style . width = ( pcMode || simplifiedUI ) ?'100%' :'400%' ;
@@ -3100,8 +3094,7 @@ function mergeDeep(target, ...sources)
31003094
31013095function tooltip ( cont = null )
31023096{
3103- const elements = d . querySelectorAll ( ( cont ?cont + " " :"" ) + "[title]" ) ;
3104- elements . forEach ( ( element ) => {
3097+ d . querySelectorAll ( ( cont ?cont + " " :"" ) + "[title]" ) . forEach ( ( element ) => {
31053098 element . addEventListener ( "mouseover" , ( ) => {
31063099 // save title
31073100 element . setAttribute ( "data-title" , element . getAttribute ( "title" ) ) ;
@@ -3128,8 +3121,7 @@ function tooltip(cont=null)
31283121 } ) ;
31293122
31303123 element . addEventListener ( "mouseout" , ( ) => {
3131- const tooltips = d . querySelectorAll ( '.tooltip' ) ;
3132- tooltips . forEach ( ( tooltip ) => {
3124+ d . querySelectorAll ( '.tooltip' ) . forEach ( ( tooltip ) => {
31333125 tooltip . classList . remove ( "visible" ) ;
31343126 d . body . removeChild ( tooltip ) ;
31353127 } ) ;
0 commit comments