Private Sub WebSocket_Connected (WebSocket1 As WebSocket)
ws = WebSocket1
ws.Eval($"$('#sidebar').on('click', 'li', function () {
b4j_raiseEvent("sidebar_Click", {index: $(this).index()});
});"$, Null)
If ws.Session.HasAttribute($"access_token"$) = False Then
WebUtils.RedirectTo(ws, "/users/login/index.html")
Return
Else
myaccesstoken = ws.Session.GetAttribute($"access_token"$)
ws.Session.SetAttribute("selected_sidebar", "0")
End If
Wait For (getUserProfile) Complete (Success As Boolean)
If Success Then
menuitem.SetHtml(Controls.createMenuItem(ws))
sidebar.SetHtml(Controls.createSidebarItem)
Sleep(0)
lidashboard.SetProp("class", "nav-active")
End If
ws.Flush
End Sub
Sub sidebar_Click (Params As Map)
Dim target As String = Params.Get("index")
Log($"Clicked on item ${Params.Get("index")}"$)
If target = "null" Then
Return
End If
selected_item = target
Select Case selected_item
Case 1
If isExpanded Then
libuyload.SetProp("class", "nav-parent")
isExpanded = False
Else
libuyload.SetProp("class", "nav-parent nav-expanded")
isExpanded = True
End If
Case Else
If selected_item = ws.Session.GetAttribute("selected_sidebar") Then
Return
Else
WebUtils.RedirectTo(ws, Controls.side_bar(target))
End If
End Select
ws.Flush
End Sub