mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-10-31 22:24:30 +01:00 
			
		
		
		
	Fill channel selector using JavaScript
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
		| @@ -60,11 +60,27 @@ function sendMessage() { | ||||
|  | ||||
| function setChannels(new_channels) { | ||||
|     channels = {} | ||||
|     let navTab = document.getElementById('nav-channels-tab') | ||||
|     navTab.innerHTML = '' | ||||
|  | ||||
|     for (let channel of new_channels) { | ||||
|         channels[channel['id']] = channel | ||||
|         if (!messages[channel['id']]) | ||||
|             messages[channel['id']] = new Map() | ||||
|  | ||||
|         let navItem = document.createElement('li') | ||||
|         navItem.classList.add('list-group-item') | ||||
|         navItem.id = `tab-channel-${channel['id']}` | ||||
|         navItem.setAttribute('data-bs-dismiss', 'offcanvas') | ||||
|         navItem.onclick = () => selectChannel(channel['id']) | ||||
|         navTab.appendChild(navItem) | ||||
|  | ||||
|         let channelButton = document.createElement('button') | ||||
|         channelButton.classList.add('nav-link') | ||||
|         channelButton.type = 'button' | ||||
|         channelButton.innerText = channel['name'] | ||||
|         navItem.appendChild(channelButton) | ||||
|  | ||||
|         fetchMessages(channel['id']) | ||||
|     } | ||||
|  | ||||
| @@ -73,7 +89,7 @@ function setChannels(new_channels) { | ||||
| } | ||||
|  | ||||
| function receiveMessage(message) { | ||||
|     messages[message['channel_id']].push(message) | ||||
|     messages[message['channel_id']].set(message['id'], message) | ||||
|     redrawMessages() | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -13,14 +13,7 @@ | ||||
|             <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button> | ||||
|         </div> | ||||
|         <div class="offcanvas-body"> | ||||
|             <ul class="list-group list-group-flush" id="nav-channels-tab"> | ||||
|                 {% for channel in channels %} | ||||
|                     <li class="list-group-item" id="tab-channel-{{ channel.id }}" data-bs-dismiss="offcanvas" | ||||
|                         onclick="selectChannel({{ channel.id }})"> | ||||
|                         <button class="nav-link">{{ channel.name }}</button> | ||||
|                     </li> | ||||
|                 {% endfor %} | ||||
|             </ul> | ||||
|             <ul class="list-group list-group-flush" id="nav-channels-tab"></ul> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user