(levelSessions)
| 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') |
no test coverage detected