mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-30 19:06:59 -05:00
d77625bc77
* Tweak API doc behavior and styling * Instead of moving to the left during active dialogues, just move to the top * Allow pointer events * Adjust close button * Re-enable pinning API docs for game-dev and web-dev levels * Make sidebar in PlayGameDevLevelView stretch, better layout columns * Set up content of PlayGameDevLevelView sidebar to scroll * Add rest of PlayGameDevLevelView sidebar content, rework what loading looks like * Finish PlayGameDevLevelView * Add share area below * Cover the brown background, paint it gray * Tweak PlayGameDevLevelView * Have progress bar show everything * Fix Surface resize handling * Fix PlayGameDevLevelView resizing incorrectly when playing * Add GameDevVictoryModal to PlayGameDevLevelView * Don't show missing-doctype annotation in Ace * Hook up GameDevVictoryModal copy button * Fix onChangeAnnotation runtime error * Fix onLevelLoaded runtime error * Have CourseVictoryModal link to /courses when course is done * Trim, update CourseDetailsView * Remove last vestiges of teacherMode * Remove giant navigation buttons at top * Quick switch to flat style * Add analytics for game-dev * Update Analytics events for gamedev * Prefix event names with context * Send to Mixpanel * Include more properties * Mostly set up indefinite play and autocast for game-dev levels * Set up cast buttons and shortcut for game-dev * Add rudimentary instructions when students play game-dev levels * Couple tweaks * fix a bit of code that expects frames to always stick around * have PlayGameDevLevelView render a couple frames on load * API Docs use 'game' instead of 'hero' * Move tags to head without combining * Add HTML comment-start string Fixes missing entry point arrows * Fix some whitespace
56 lines
1.8 KiB
CoffeeScript
56 lines
1.8 KiB
CoffeeScript
CocoView = require 'views/core/CocoView'
|
|
utils = require 'core/utils'
|
|
urls = require 'core/urls'
|
|
|
|
module.exports = class ProgressView extends CocoView
|
|
|
|
id: 'progress-view'
|
|
className: 'modal-content'
|
|
template: require 'templates/play/level/modal/progress-view'
|
|
|
|
events:
|
|
'click #done-btn': 'onClickDoneButton'
|
|
'click #next-level-btn': 'onClickNextLevelButton'
|
|
'click #ladder-btn': 'onClickLadderButton'
|
|
'click #share-level-btn': 'onClickShareLevelButton'
|
|
|
|
initialize: (options) ->
|
|
@level = options.level
|
|
@course = options.course
|
|
@classroom = options.classroom
|
|
@nextLevel = options.nextLevel
|
|
@levelSessions = options.levelSessions
|
|
@session = options.session
|
|
# Translate and Markdownify level description, but take out any images (we don't have room for arena banners, etc.).
|
|
# Images in Markdown are like ![description](url)
|
|
@nextLevel.get('description', true) # Make sure the defaults are available
|
|
@nextLevelDescription = marked(utils.i18n(@nextLevel.attributesWithDefaults, 'description').replace(/!\[.*?\]\(.*?\)\n*/g, ''))
|
|
if @level.get('shareable') is 'project'
|
|
@shareURL = urls.playDevLevel({@level, @session, @course})
|
|
|
|
onClickDoneButton: ->
|
|
@trigger 'done'
|
|
|
|
onClickNextLevelButton: ->
|
|
@trigger 'next-level'
|
|
|
|
onClickLadderButton: ->
|
|
@trigger 'ladder'
|
|
|
|
onClickShareLevelButton: ->
|
|
if _.string.startsWith(@course.get('slug'), 'game-dev')
|
|
name = 'Student Game Dev - Copy URL'
|
|
category = 'GameDev'
|
|
else
|
|
name = 'Student Web Dev - Copy URL'
|
|
category = 'WebDev'
|
|
eventProperties = {
|
|
levelID: @level.id
|
|
levelSlug: @level.get('slug')
|
|
classroomID: @classroom.id
|
|
courseID: @course.id
|
|
category
|
|
}
|
|
window.tracker?.trackEvent name, eventProperties, ['MixPanel']
|
|
@$('#share-level-input').val(@shareURL).select()
|
|
@tryCopy()
|