MCPcopy Create free account
hub / github.com/codecombat/codecombat / onSyncLevelSessions

Method onSyncLevelSessions

app/views/user/MainUserView.js:122–153  ·  view source on GitHub ↗
(levelSessions)

Source from the content-addressed store, hash-verified

120 }
121
122 onSyncLevelSessions (levelSessions) {
123 let language
124 if (levelSessions == null) { return }
125 this.multiPlayerSessions = []
126 this.singlePlayerSessions = []
127 const languageCounts = []
128 let mostUsedCount = 0
129 for (const levelSession of Array.from(levelSessions)) {
130 if (levelSession.isMultiplayer()) {
131 this.multiPlayerSessions.push(levelSession)
132 } else {
133 this.singlePlayerSessions.push(levelSession)
134 }
135 language = levelSession.get('codeLanguage') || levelSession.get('submittedCodeLanguage')
136 if (language) {
137 languageCounts[language] = (languageCounts[language] || 0) + 1
138 }
139 }
140 return (() => {
141 const result = []
142 for (language in languageCounts) {
143 const count = languageCounts[language]
144 if (count > mostUsedCount) {
145 mostUsedCount = count
146 result.push(this.favoriteLanguage = language)
147 } else {
148 result.push(undefined)
149 }
150 }
151 return result
152 })()
153 }
154
155 onClickMoreButton (e) {
156 const panel = $(e.target).closest('.panel')

Callers 1

onLoadedMethod · 0.95

Calls 2

isMultiplayerMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected