rowy - nam odpadają bo SetContainer może je dodawać w nieskończoność.
cols - to jest struktura wewnętrza SetContainera.
to co chcesz żeby robił odzielny komponent wykonuje ten kod
for(let i=0;i<this.windows.length;i++){
for(let i2=0;i2<this.rows;i2++){
for(let i3=0;i3<this.cols;i3++){
if((i*(this.rows*this.cols)+(i2*this.rows)+i3)<this.pictures_length){
tmp=`<img onClick=ElementBuilder.MIBox('','','99%','99%').show_picture('${this.pictures[k]}');
src='${this.pictures[k]}' style='display:flex;cursor:pointer;margin:0.1%;width:${this.width}%;height:99%;'/>`; window.top.zzz+=tmp;k++;};};
if(window.top.zzz!=`<div>`){this.containers[i].add_item(window.top.zzz+`</div>`,this.style_list);}
tmp=``;window.top.zzz=`<div>`;}}
Tu nie ma potrzeby dodawać dodatkowych komponentów - tylko nabrać wprawy w użyciu SetContainera.
generowani kontrolki do obsługi wielu elementów + możliwość kontrolowania jej wyglądu jest w sRWD - to podstawa
druga rzecz to klasa do generowania elementów pobieranych z bazy danych - i to jest właśnie SetContainer
for(let i=0;i<this.windows_length;i++){
this.windows.push(ElementBuilder.createElement("DIV","display:none;overflow:auto;position:relative;flex-direction:column;padding:0%;margin:0%;height:98%;width:98%;padding:0%;border:0px solid white;background: linear-gradient(to right, blue, #AA0000);color:white;font:italic bold 16px arial,serif;","picture_window_class",this,this.lower_window,false).element);
this.windows[i].style.display = "none";
this.containers.push(new SetContainer(this, this.windows[i] ,0,"display:flex;flex-direction:row;justify-content:center;align-items:center;","1%","1%"));}
To jest tworzenie tych okien i wypełnianie pustym SetContainerem.
HTML - to jest tekst z wstawkami kodu, sRWD to jest kod z wstawkami tekstu - to jest obrót spraw o 180 stopni.
Właśnie tego nie rozumiał chłopak co mi zadał dzisiaj to pytanie - czemu to nie działa?
document.head.childNodes[0].innerHTML+=img{display: block;width: 100%;aspect-ratio: 1;object-fit: cover;object-position: center;