SYMBOL INDEX (134 symbols across 19 files) FILE: app/src/components/app.js class App (line 5) | class App extends Component{ method constructor (line 7) | constructor(props){ method render (line 16) | render(){ FILE: app/src/components/messenger.js class Messenger (line 11) | class Messenger extends Component { method constructor (line 13) | constructor(props) { method renderChannelAvatars (line 33) | renderChannelAvatars(channel){ method renderChannelTitle (line 52) | renderChannelTitle(channel = null) { method _onCreateChannel (line 79) | _onCreateChannel() { method scrollMessagesToBottom (line 106) | scrollMessagesToBottom() { method renderMessage (line 114) | renderMessage(message) { method handleSend (line 127) | handleSend() { method _onResize (line 162) | _onResize() { method componentDidUpdate (line 169) | componentDidUpdate() { method componentDidMount (line 175) | componentDidMount() { method componentWillUnmount (line 184) | componentWillUnmount() { method render (line 190) | render() { FILE: app/src/components/search-user.js class SearchUser (line 4) | class SearchUser extends Component{ method constructor (line 7) | constructor(props){ method handleOnClick (line 17) | handleOnClick(user){ method render (line 24) | render(){ FILE: app/src/components/user-bar.js class UserBar (line 8) | class UserBar extends Component { method constructor (line 10) | constructor(props) { method render (line 21) | render() { FILE: app/src/components/user-form.js class UserForm (line 6) | class UserForm extends Component { method constructor (line 8) | constructor(props) { method onClickOutside (line 29) | onClickOutside(event) { method componentDidMount (line 41) | componentDidMount() { method componentWillUnmount (line 47) | componentWillUnmount() { method onSubmit (line 53) | onSubmit(event) { method onTextFieldChange (line 113) | onTextFieldChange(event) { method render (line 129) | render() { FILE: app/src/components/user-menu.js class UserMenu (line 4) | class UserMenu extends Component{ method constructor (line 6) | constructor(props){ method onClickOutside (line 18) | onClickOutside(event){ method componentDidMount (line 30) | componentDidMount(){ method componentWillUnmount (line 35) | componentWillUnmount(){ method render (line 43) | render(){ FILE: app/src/realtime.js class Realtime (line 5) | class Realtime { method constructor (line 8) | constructor(store) { method reconnect (line 19) | reconnect(){ method decodeMessage (line 36) | decodeMessage(msg) { method readMessage (line 53) | readMessage(msg) { method onUpdateUserStatus (line 100) | onUpdateUserStatus(userId, isOnline = false){ method onAddMessage (line 120) | onAddMessage(payload, notify = false){ method onAddChannel (line 151) | onAddChannel(payload) { method send (line 203) | send(msg = {}) { method authentication (line 216) | authentication() { method connect (line 234) | connect() { FILE: app/src/registerServiceWorker.js function register (line 21) | function register() { function registerValidSW (line 46) | function registerValidSW(swUrl) { function checkValidServiceWorker (line 75) | function checkValidServiceWorker(swUrl) { function unregister (line 102) | function unregister() { FILE: app/src/service.js class Service (line 6) | class Service{ method get (line 8) | get(endpoint, options = null){ method post (line 15) | post(endpoint = "", data = {}, options = {headers: {'Content-Type': 'a... FILE: app/src/store.js class Store (line 6) | class Store { method constructor (line 7) | constructor(appComponent) { method isConnected (line 33) | isConnected(){ method fetchUserChannels (line 37) | fetchUserChannels(){ method addUserToCache (line 72) | addUserToCache(user) { method getUserTokenId (line 84) | getUserTokenId() { method loadUserAvatar (line 88) | loadUserAvatar(user) { method startSearchUsers (line 93) | startSearchUsers(q = "") { method setUserToken (line 132) | setUserToken(accessToken) { method getTokenFromLocalStore (line 147) | getTokenFromLocalStore() { method getUserFromLocalStorage (line 172) | getUserFromLocalStorage() { method setCurrentUser (line 217) | setCurrentUser(user) { method clearCacheData (line 237) | clearCacheData(){ method signOut (line 243) | signOut() { method register (line 270) | register(user){ method login (line 287) | login(email = null, password = null) { method removeMemberFromChannel (line 340) | removeMemberFromChannel(channel = null, user = null) { method addUserToChannel (line 357) | addUserToChannel(channelId, userId) { method getSearchUsers (line 372) | getSearchUsers() { method onCreateNewChannel (line 377) | onCreateNewChannel(channel = {}) { method getCurrentUser (line 387) | getCurrentUser() { method fetchChannelMessages (line 393) | fetchChannelMessages(channelId){ method setActiveChannelId (line 436) | setActiveChannelId(id) { method getActiveChannel (line 447) | getActiveChannel() { method setMessage (line 454) | setMessage(message, notify = false) { method addMessage (line 489) | addMessage(id, message = {}) { method getMessages (line 543) | getMessages() { method getMessagesFromChannel (line 548) | getMessagesFromChannel(channel) { method getMembersFromChannel (line 570) | getMembersFromChannel(channel) { method addChannel (line 596) | addChannel(index, channel = {}) { method getChannels (line 602) | getChannels() { method update (line 614) | update() { FILE: server/src/app-router.js constant START_TIME (line 5) | const START_TIME = new Date(); class AppRouter (line 7) | class AppRouter { method constructor (line 10) | constructor(app) { method setupRouter (line 21) | setupRouter() { FILE: server/src/database.js constant URL (line 3) | const URL = 'mongodb://mongo:27017'; class Database (line 6) | class Database{ method connect (line 8) | connect(){ FILE: server/src/index.js constant PORT (line 12) | const PORT = 3001; FILE: server/src/models/channel.js class Channel (line 6) | class Channel { method constructor (line 8) | constructor(app) { method aggregate (line 16) | aggregate(q){ method find (line 32) | find(q, options = {}){ method load (line 48) | load(id) { method findById (line 85) | findById(id){ method create (line 104) | create(obj) { FILE: server/src/models/connection.js class Connection (line 5) | class Connection { method constructor (line 7) | constructor(app) { method decodeMesasge (line 17) | decodeMesasge(msg) { method sendToMembers (line 37) | sendToMembers(userId, obj) { method sendAll (line 111) | sendAll(obj) { method send (line 123) | send(ws, obj) { method doTheJob (line 130) | doTheJob(socketId, msg) { method modelDidLoad (line 338) | modelDidLoad() { FILE: server/src/models/index.js class Model (line 7) | class Model{ method constructor (line 9) | constructor(app){ FILE: server/src/models/message.js class Message (line 5) | class Message { method constructor (line 7) | constructor(app) { method getChannelMessages (line 12) | getChannelMessages(channelId, limit = 50, offset = 0){ method create (line 78) | create(obj) { FILE: server/src/models/token.js class Token (line 5) | class Token{ method constructor (line 7) | constructor(app){ method logout (line 16) | logout(token){ method loadTokenAndUser (line 33) | loadTokenAndUser(id){ method load (line 62) | load(id = null){ method findTokenById (line 96) | findTokenById(id, cb = () => {}){ method create (line 118) | create(userId){ FILE: server/src/models/user.js class User (line 9) | class User { method constructor (line 11) | constructor(app) { method updateUserStatus (line 19) | updateUserStatus(userId, isOnline = false) { method find (line 45) | find(query = {}, options = {}) { method search (line 58) | search(q = "") { method login (line 91) | login(user) { method findUserByEmail (line 153) | findUserByEmail(email, callback = () => { method load (line 171) | load(id) { method findUserById (line 204) | findUserById(id, callback = () => { method beforeSave (line 228) | beforeSave(user, callback = () => { method create (line 336) | create(user) {