(e)
| 1921 | } |
| 1922 | |
| 1923 | onClickStartLevel (e) { |
| 1924 | const levelElement = $(e.target).closest('.btn') |
| 1925 | const levelSlug = levelElement.data('level-slug') |
| 1926 | const levelOriginal = levelElement.data('level-original') |
| 1927 | const levelPath = levelElement.data('level-path') |
| 1928 | const levelName = levelElement.data('level-name') |
| 1929 | const level = _.find(_.values(this.getLevels()), { slug: levelSlug }) |
| 1930 | |
| 1931 | if (level.requiresSignUp && me.isAnonymous()) { |
| 1932 | return this.promptForSignup({ accountRequiredMessage: $.i18n.t('account.unlock_next_level_with_sign_up') }) |
| 1933 | } |
| 1934 | |
| 1935 | const canPlayAnyway = [ |
| 1936 | !this.requiresSubscription, |
| 1937 | this.levelStatusMap[level.slug], |
| 1938 | this.campaign.get('type') === 'hoc', |
| 1939 | ].some(Boolean) |
| 1940 | |
| 1941 | if (level.requiresSubscription && !canPlayAnyway) { |
| 1942 | return this.promptForSubscription(levelSlug, 'map level clicked') |
| 1943 | } else { |
| 1944 | this.startLevel({ levelSlug, levelOriginal, levelPath, levelName }) |
| 1945 | window.tracker?.trackEvent('Clicked Start Level', { category: 'World Map', levelID: levelSlug }) |
| 1946 | } |
| 1947 | } |
| 1948 | |
| 1949 | onClickCourseVersion (e) { |
| 1950 | const courseVersionElement = $(e.target).closest('.course-version') |
nothing calls this directly
no test coverage detected