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

Method onClickCourseVersion

app/views/play/CampaignView.js:1949–1969  ·  view source on GitHub ↗
(e)

Source from the content-addressed store, hash-verified

1947 }
1948
1949 onClickCourseVersion (e) {
1950 const courseVersionElement = $(e.target).closest('.course-version')
1951 const levelSlug = courseVersionElement.data('level-slug')
1952 const levelOriginal = courseVersionElement.data('level-original')
1953 const courseID = courseVersionElement.data('course-id')
1954 const courseInstanceID = courseVersionElement.data('course-instance-id')
1955 const levelPath = courseVersionElement.data('level-path')
1956 const levelName = courseVersionElement.data('level-name')
1957
1958 const classroomLevel = this.classroomLevelMap?.[levelOriginal]
1959
1960 // If classroomItems is on, don't go to PlayLevelView directly.
1961 // Go through LevelSetupManager which will load required modals before going to PlayLevelView.
1962 if (me.showHeroAndInventoryModalsToStudents() && (!classroomLevel || classroomLevel.usesSessionHeroInventory())) {
1963 this.startLevel({ levelSlug, levelOriginal, courseID, courseInstanceID, levelPath, levelName })
1964 window.tracker?.trackEvent('Clicked Start Level', { category: 'World Map', levelID: levelSlug })
1965 } else {
1966 const url = `/play/level/${levelSlug}?course=${courseID}&course-instance=${courseInstanceID}`
1967 Backbone.Mediator.publish('router:navigate', { route: url })
1968 }
1969 }
1970
1971 startLevel ({ levelOriginal, levelSlug, courseID, courseInstanceID, levelPath, levelName }) {
1972 this.setupManager?.destroy()

Callers

nothing calls this directly

Calls 6

startLevelMethod · 0.95
dataMethod · 0.80
publishMethod · 0.80
trackEventMethod · 0.45

Tested by

no test coverage detected