merged changes

This commit is contained in:
Dominik Kundel 2014-08-04 22:37:15 +02:00
commit 86eea93e2f
141 changed files with 450 additions and 485 deletions
app
Router.coffeeapplication.coffeeinitialize.coffee
lib/surface
templates
views
EmployersView.coffeeHomeView.coffee
account
admin
contribute
docs
editor
kinds
modal
play

View file

@ -6,7 +6,10 @@ NotFoundView = require('views/NotFoundView')
go = (path) -> -> @routeDirectly path, arguments go = (path) -> -> @routeDirectly path, arguments
module.exports = class CocoRouter extends Backbone.Router module.exports = class CocoRouter extends Backbone.Router
subscribe: ->
initialize: ->
# http://nerds.airbnb.com/how-to-add-google-analytics-page-tracking-to-57536
@bind 'route', @_trackPageView
Backbone.Mediator.subscribe 'gapi-loaded', @onGPlusAPILoaded, @ Backbone.Mediator.subscribe 'gapi-loaded', @onGPlusAPILoaded, @
Backbone.Mediator.subscribe 'router:navigate', @onNavigate, @ Backbone.Mediator.subscribe 'router:navigate', @onNavigate, @
@ -14,12 +17,24 @@ module.exports = class CocoRouter extends Backbone.Router
'': go('HomeView') '': go('HomeView')
'about': go('AboutView') 'about': go('AboutView')
'admin': go('AdminView')
'account/profile(/:userID)': go('account/JobProfileView')
'account/settings': go('account/AccountSettingsView')
'account/unsubscribe': go('account/UnsubscribeView')
'admin': go('admin/MainAdminView')
'admin/candidates': go('admin/CandidatesView')
'admin/clas': go('admin/CLAsView')
'admin/employers': go('admin/EmployersListView')
'admin/files': go('admin/FilesView')
'admin/level-sessions': go('admin/LevelSessionsView')
'admin/users': go('admin/UsersView')
'beta': go('HomeView') 'beta': go('HomeView')
'cla': go('CLAView') 'cla': go('CLAView')
'community': go('CommunityView') 'community': go('CommunityView')
'contribute': go('contribute/MainContributeView') 'contribute': go('contribute/MainContributeView')
'contribute/adventurer': go('contribute/AdventurerView') 'contribute/adventurer': go('contribute/AdventurerView')
'contribute/ambassador': go('contribute/AmbassadorView') 'contribute/ambassador': go('contribute/AmbassadorView')
@ -28,71 +43,84 @@ module.exports = class CocoRouter extends Backbone.Router
'contribute/diplomat': go('contribute/DiplomatView') 'contribute/diplomat': go('contribute/DiplomatView')
'contribute/scribe': go('contribute/ScribeView') 'contribute/scribe': go('contribute/ScribeView')
'db/*path': 'routeToServer'
'demo(/*subpath)': go('DemoView') 'demo(/*subpath)': go('DemoView')
'docs/components': go('docs/ComponentDocumentationView')
'editor': go('editor/MainEditorView') 'editor': go('editor/MainEditorView')
'employers': go('EmployersView')
'editor/achievement': go('editor/achievement/AchievementSearchView')
'editor/achievement': go('editor/achievement/AchievementEditView')
'editor/article': go('editor/article/ArticleSearchView')
'editor/article/preview': go('editor/article/ArticlePreviewView')
'editor/article/:articleID': go('editor/article/ArticleEditView')
'editor/level': go('editor/level/LevelSearchView')
'editor/level/:levelID': go('editor/level/LevelEditView')
'editor/thang': go('editor/thang/ThangTypeSearchView')
'editor/thang/:thangID': go('editor/thang/ThangTypeEditView')
'employers': go('EmployersView')
'file/*path': 'routeToServer'
'legal': go('LegalView') 'legal': go('LegalView')
'multiplayer': go('MultiplayerView') 'multiplayer': go('MultiplayerView')
'play': go('play/MainPlayView') 'play': go('play/MainPlayView')
'play/ladder/:levelID': go('play/ladder/LadderView')
'play/ladder': go('play/ladder/MainLadderView')
'play/level/:levelID': go('play/level/PlayLevelView')
'play/spectate/:levelID': go('play/SpectateView')
'preview': go('HomeView') 'preview': go('HomeView')
'teachers': go('TeachersView') 'teachers': go('TeachersView')
'test(/*subpath)': go('TestView') 'test(/*subpath)': go('TestView')
'*name': 'showNotFoundView'
# editor views tend to have the same general structure routeToServer: (e) ->
'editor/:model(/:slug_or_id)(/:subview)': 'editorModelView' window.location.href = window.location.href
# Direct links routeDirectly: (path, args) ->
path = "views/#{path}"
ViewClass = @tryToLoadModule path
'play/ladder/:levelID': go('play/ladder/ladder_view') return @openView @notFoundView() if not ViewClass
'play/ladder': go('play/ladder_home') view = new ViewClass({}, args...) # options, then any path fragment args
# db and file urls call the server directly
'db/*path': 'routeToServer'
'file/*path': 'routeToServer'
# most go through here
'*name': 'general'
home: -> @openRoute('home')
general: (name) ->
@openRoute(name)
editorModelView: (modelName, slugOrId, subview) ->
modulePrefix = "views/editor/#{modelName}/"
suffix = subview or (if slugOrId then 'edit' else 'home')
ViewClass = @tryToLoadModule(modulePrefix + suffix)
unless ViewClass
#console.log('could not hack it', modulePrefix + suffix)
args = (a for a in arguments when a)
args.splice(0, 0, 'editor')
return @openRoute(args.join('/'))
view = new ViewClass({}, slugOrId)
view.render() view.render()
@openView if view then view else @notFoundView()
cache: {}
openRoute: (route) ->
route = route.split('?')[0]
route = route.split('#')[0]
view = @getViewFromCache(route)
@openView(view) @openView(view)
tryToLoadModule: (path) ->
try
return require(path)
catch error
if error.toString().search('Cannot find module "' + path + '" from') is -1
throw error
showNotFoundView: ->
@openView @notFoundView()
notFoundView: ->
view = new NotFoundView()
view.render()
openView: (view) -> openView: (view) ->
@closeCurrentView() @closeCurrentView()
$('#page-container').empty().append view.el $('#page-container').empty().append view.el
window.currentView = view window.currentView = view
@activateTab() @activateTab()
@renderLoginButtons() @renderLoginButtons()
window.scrollTo(0, view.scrollY) if view.scrollY?
view.afterInsert() view.afterInsert()
view.didReappear() if view.fromCache view.didReappear()
closeCurrentView: ->
if window.currentView?.reloadOnClose
return document.location.reload()
window.currentModal?.hide?()
return unless window.currentView?
window.currentView.destroy()
onGPlusAPILoaded: => onGPlusAPILoaded: =>
@renderLoginButtons() @renderLoginButtons()
@ -117,71 +145,10 @@ module.exports = class CocoRouter extends Backbone.Router
else else
console.warn 'Didn\'t have gapi.signin to render G+ login button. (DoNotTrackMe extension?)' console.warn 'Didn\'t have gapi.signin to render G+ login button. (DoNotTrackMe extension?)'
getViewFromCache: (route) ->
if route of @cache
@cache[route].fromCache = true
return @cache[route]
view = @getView(route)
@cache[route] = view if view?.cache
return view
routeDirectly: (path, args) ->
if window.currentView?.reloadOnClose
return document.location.reload()
path = "views/#{path}"
ViewClass = @tryToLoadModule path
return @openView @notFoundView() if not ViewClass
view = new ViewClass({}, args...) # options, then any path fragment args
view.render()
@openView(view)
getView: (route, suffix='_view') ->
# iteratively breaks down the url pieces looking for the view
# passing the broken off pieces as args. This way views like 'resource/14394893'
# will get passed to the resource view with arg '14394893'
pieces = _.string.words(route, '/')
split = Math.max(1, pieces.length-1)
while split > -1
sub_route = _.string.join('/', pieces[0..split]...)
path = "views/#{sub_route}#{suffix}"
ViewClass = @tryToLoadModule(path)
break if ViewClass
split -= 1
return @notFoundView() if not ViewClass
args = pieces[split+1..]
view = new ViewClass({}, args...) # options, then any path fragment args
view.render()
tryToLoadModule: (path) ->
try
return require(path)
catch error
if error.toString().search('Cannot find module "' + path + '" from') is -1
throw error
notFoundView: ->
view = new NotFoundView()
view.render()
closeCurrentView: ->
window.currentModal?.hide?()
return unless window.currentView?
if window.currentView.cache
window.currentView.scrollY = window.scrollY
window.currentView.willDisappear()
else
window.currentView.destroy()
activateTab: -> activateTab: ->
base = _.string.words(document.location.pathname[1..], '/')[0] base = _.string.words(document.location.pathname[1..], '/')[0]
$("ul.nav li.#{base}").addClass('active') $("ul.nav li.#{base}").addClass('active')
initialize: ->
@cache = {}
# http://nerds.airbnb.com/how-to-add-google-analytics-page-tracking-to-57536
@bind 'route', @_trackPageView
_trackPageView: -> _trackPageView: ->
window.tracker?.trackPageView() window.tracker?.trackPageView()
@ -196,6 +163,3 @@ module.exports = class CocoRouter extends Backbone.Router
@openView view @openView view
else else
@openView e.view @openView e.view
routeToServer: (e) ->
window.location.href = window.location.href

View file

@ -35,7 +35,7 @@ preload = (arrayOfImages) ->
$('<img/>')[0].src = @ $('<img/>')[0].src = @
Application = initialize: -> Application = initialize: ->
Router = require('lib/Router') Router = require('Router')
@tracker = new Tracker() @tracker = new Tracker()
@facebookHandler = new FacebookHandler() @facebookHandler = new FacebookHandler()
@gplusHandler = new GPlusHandler() @gplusHandler = new GPlusHandler()
@ -53,7 +53,6 @@ Application = initialize: ->
#resPostPath: '/languages/add/__lng__/__ns__' #resPostPath: '/languages/add/__lng__/__ns__'
}, (t) => }, (t) =>
@router = new Router() @router = new Router()
@router.subscribe()
onIdleChanged = (to) => => Backbone.Mediator.publish 'application:idle-changed', idle: @userIsIdle = to onIdleChanged = (to) => => Backbone.Mediator.publish 'application:idle-changed', idle: @userIsIdle = to
@idleTracker = new Idle @idleTracker = new Idle
onAway: onIdleChanged true onAway: onIdleChanged true

View file

@ -35,8 +35,6 @@ init = ->
treemaExt = require 'treema-ext' treemaExt = require 'treema-ext'
treemaExt.setup() treemaExt.setup()
$ -> init()
handleNormalUrls = -> handleNormalUrls = ->
# http://artsy.github.com/blog/2012/06/25/replacing-hashbang-routes-with-pushstate/ # http://artsy.github.com/blog/2012/06/25/replacing-hashbang-routes-with-pushstate/
$(document).on 'click', "a[href^='/']", (event) -> $(document).on 'click', "a[href^='/']", (event) ->
@ -93,3 +91,5 @@ watchForErrors = ->
#msg += "\nError: #{error}" if error? #msg += "\nError: #{error}" if error?
#msg += "\nStack: #{stack}" if stack = error?.stack #msg += "\nStack: #{stack}" if stack = error?.stack
noty text: msg, layout: 'topCenter', type: 'error', killer: false, timeout: 5000, dismissQueue: true, maxVisible: 3, callback: {onClose: -> --currentErrors} noty text: msg, layout: 'topCenter', type: 'error', killer: false, timeout: 5000, dismissQueue: true, maxVisible: 3, callback: {onClose: -> --currentErrors}
$ -> init()

View file

@ -597,7 +597,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
if @thangType.get('name') in ['Arrow', 'Spear'] and @thang.action is 'die' if @thangType.get('name') in ['Arrow', 'Spear'] and @thang.action is 'die'
@marks.shadow?.hide() @marks.shadow?.hide()
mark.update() for name, mark of @marks mark.update() for name, mark of @marks
#@thang.effectNames = ['berserk', 'confuse', 'control', 'curse', 'fear', 'poison', 'paralyze', 'regen', 'sleep', 'slow', 'haste'] #@thang.effectNames = ['warcry', 'confuse', 'control', 'curse', 'fear', 'poison', 'paralyze', 'regen', 'sleep', 'slow', 'haste']
@updateEffectMarks() if @thang?.effectNames?.length or @previousEffectNames?.length @updateEffectMarks() if @thang?.effectNames?.length or @previousEffectNames?.length
updateEffectMarks: -> updateEffectMarks: ->

View file

@ -22,9 +22,9 @@ block content
li li
a(href="/admin/users", data-i18n="admin.av_entities_users_url") Users a(href="/admin/users", data-i18n="admin.av_entities_users_url") Users
li li
a(href="/admin/level_sessions", data-i18n="admin.av_entities_active_instances_url") Active Instances a(href="/admin/level-sessions", data-i18n="admin.av_entities_active_instances_url") Active Instances
li li
a(href="/admin/employer_list", data-i18n="admin.av_entities_employer_list_url") Employer List a(href="/admin/employers", data-i18n="admin.av_entities_employer_list_url") Employer List
li li
a(href="/admin/candidates") Candidate List a(href="/admin/candidates") Candidate List

View file

@ -67,7 +67,7 @@ body
a(href='/contribute', title='Contribute', tabindex=-1, data-i18n="nav.contribute") Contribute a(href='/contribute', title='Contribute', tabindex=-1, data-i18n="nav.contribute") Contribute
a(href='/legal', title='Legal', tabindex=-1, data-i18n="nav.legal") Legal a(href='/legal', title='Legal', tabindex=-1, data-i18n="nav.legal") Legal
a(href='/about', title='About', tabindex=-1, data-i18n="nav.about") About a(href='/about', title='About', tabindex=-1, data-i18n="nav.about") About
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="nav.contact") Contact a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact
a(href='/editor', data-i18n="nav.editor") Editor a(href='/editor', data-i18n="nav.editor") Editor
a(href='http://blog.codecombat.com/', data-i18n="nav.blog") Blog a(href='http://blog.codecombat.com/', data-i18n="nav.blog") Blog
a(href='http://discourse.codecombat.com/', data-i18n="nav.forum") Forum a(href='http://discourse.codecombat.com/', data-i18n="nav.forum") Forum

View file

@ -31,7 +31,7 @@ block content
h4(data-i18n="contribute.how_to_join") How to Join h4(data-i18n="contribute.how_to_join") How to Join
p p
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="contribute.contact_us_url") a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="contribute.contact_us_url")
| Contact us | Contact us
span , span ,
span(data-i18n="contribute.ambassador_join_desc") span(data-i18n="contribute.ambassador_join_desc")

View file

@ -48,7 +48,7 @@ block content
span(data-i18n="contribute.join_desc_2") span(data-i18n="contribute.join_desc_2")
| to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. | to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email.
| Want to chat about what to do or how to get more deeply involved? | Want to chat about what to do or how to get more deeply involved?
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="contribute.join_url_email") a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="contribute.join_url_email")
| Email us | Email us
span(data-i18n="contribute.join_desc_3") span(data-i18n="contribute.join_desc_3")
| , or find us in our | , or find us in our

View file

@ -37,7 +37,7 @@ block content
h4(data-i18n="contribute.how_to_join") How To Join h4(data-i18n="contribute.how_to_join") How To Join
p p
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="contribute.contact_us_url") a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="contribute.contact_us_url")
| Contact us | Contact us
span , span ,
span(data-i18n="contribute.scribe_join_description") span(data-i18n="contribute.scribe_join_description")

View file

@ -36,7 +36,7 @@ block content
p p
span(data-i18n="editor.got_questions") Questions about using the CodeCombat editors? span(data-i18n="editor.got_questions") Questions about using the CodeCombat editors?
| |
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="editor.contact_us") Contact us! a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="editor.contact_us") Contact us!
| |
span(data-i18n="editor.hipchat_prefix") You can also find us in our span(data-i18n="editor.hipchat_prefix") You can also find us in our
| |

View file

@ -11,7 +11,7 @@ block content
| #{article.attributes.name} | #{article.attributes.name}
button(data-i18n="general.version_history").btn.btn-primary#history-button Version History button(data-i18n="general.version_history").btn.btn-primary#history-button Version History
button(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true").btn.btn-primary#revert-button Revert button(data-toggle="coco-modal", data-target="modal/RevertModal", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true").btn.btn-primary#revert-button Revert
button(data-i18n="article.edit_btn_preview", disabled=authorized === true ? undefined : "true").btn.btn-primary#preview-button Preview button(data-i18n="article.edit_btn_preview", disabled=authorized === true ? undefined : "true").btn.btn-primary#preview-button Preview
button(data-i18n="common.save", disabled=authorized === true ? undefined : "true").btn.btn-primary#save-button Save button(data-i18n="common.save", disabled=authorized === true ? undefined : "true").btn.btn-primary#save-button Save

View file

@ -78,9 +78,9 @@ block header
li(class=anonymous ? "disabled": "") li(class=anonymous ? "disabled": "")
a(data-i18n="common.fork")#fork-level-start-button Fork a(data-i18n="common.fork")#fork-level-start-button Fork
li(class=anonymous ? "disabled": "") li(class=anonymous ? "disabled": "")
a(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert")#revert-button Revert a(data-toggle="coco-modal", data-target="modal/RevertModal", data-i18n="editor.revert")#revert-button Revert
li(class=anonymous ? "disabled": "") li(class=anonymous ? "disabled": "")
a(data-toggle="coco-modal", data-target="editor/level/modal/terrain_randomize", data-i18n="editor.randomize")#randomize-button Randomize a(data-toggle="coco-modal", data-target="editor/level/modals/TerrainRandomizeModal", data-i18n="editor.randomize")#randomize-button Randomize
li(class=anonymous ? "disabled": "") li(class=anonymous ? "disabled": "")
a(data-i18n="editor.pop_i18n")#pop-level-i18n-button Populate i18n a(data-i18n="editor.pop_i18n")#pop-level-i18n-button Populate i18n
li.divider li.divider
@ -96,7 +96,7 @@ block header
li li
a(href='http://discourse.codecombat.com/category/artisan', data-i18n="nav.forum", target="_blank") Forum a(href='http://discourse.codecombat.com/category/artisan', data-i18n="nav.forum", target="_blank") Forum
li li
a(data-toggle="coco-modal", data-target="modal/contact", data-i18n="nav.contact") Email a(data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Email
block outer_content block outer_content
.outer-content .outer-content

View file

@ -14,7 +14,7 @@ block content
button.btn.btn-secondary#history-button(data-i18n="general.version_history") Version History button.btn.btn-secondary#history-button(data-i18n="general.version_history") Version History
button.btn.btn-primary#save-button(data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save button.btn.btn-primary#save-button(data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save
button.btn.btn-primary#revert-button(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true") Revert button.btn.btn-primary#revert-button(data-toggle="coco-modal", data-target="modal/RevertModal", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true") Revert
h3 Edit Thang Type: "#{thangType.attributes.name}" h3 Edit Thang Type: "#{thangType.attributes.name}"

View file

@ -10,7 +10,7 @@ block content
| #{currentEditor} | #{currentEditor}
if me.get('anonymous') if me.get('anonymous')
a.btn.btn-primary.open-modal-button(data-toggle="coco-modal", data-target="modal/auth", role="button", data-i18n="#{currentNewSignup}") Log in to Create a New Content a.btn.btn-primary.open-modal-button(data-toggle="coco-modal", data-target="modal/AuthModal", role="button", data-i18n="#{currentNewSignup}") Log in to Create a New Content
else else
a.btn.btn-primary.open-modal-button(href='#new-model-modal', role="button", data-toggle="modal", data-i18n="#{currentNew}") Create a New Something a.btn.btn-primary.open-modal-button(href='#new-model-modal', role="button", data-toggle="modal", data-i18n="#{currentNew}") Create a New Something
input#search(data-i18n="[placeholder]#{currentSearch}") input#search(data-i18n="[placeholder]#{currentSearch}")

View file

@ -74,4 +74,4 @@ block modal-footer
div.network-login div.network-login
.gplus-login-button#gplus-login-button .gplus-login-button#gplus-login-button
div#recover-account-wrapper div#recover-account-wrapper
a(data-toggle="coco-modal", data-target="modal/recover", data-i18n="login.recover")#link-to-recover recover account a(data-toggle="coco-modal", data-target="modal/RecoverModal", data-i18n="login.recover")#link-to-recover recover account

View file

@ -23,7 +23,7 @@ block modal-body-content
br br
br br
| Already have a CodeCombat account? | Already have a CodeCombat account?
a.login-link(data-toggle="coco-modal", data-target="modal/auth") Log in to continue! a.login-link(data-toggle="coco-modal", data-target="modal/AuthModal") Log in to continue!
else if !userIsAuthorized else if !userIsAuthorized
.modal-footer.linkedin .modal-footer.linkedin
p Please sign into your LinkedIn account to verify your identity. p Please sign into your LinkedIn account to verify your identity.
@ -50,7 +50,7 @@ block modal-footer
if userIsAnonymous if userIsAnonymous
if userIsAuthorized if userIsAuthorized
.modal-footer.linkedin .modal-footer.linkedin
a.login-link(data-toggle="coco-modal", data-target="modal/auth") Please log in to continue. a.login-link(data-toggle="coco-modal", data-target="modal/AuthModal") Please log in to continue.
else if !userIsAnonymous && !userIsAuthorized else if !userIsAnonymous && !userIsAuthorized
.modal-footer.linkedin .modal-footer.linkedin
else if userIsAuthorized && !userHasSignedContract else if userIsAuthorized && !userHasSignedContract

View file

@ -26,7 +26,7 @@ div#columns.row
td.score-cell= Math.round(session.get('totalScore') * 100) td.score-cell= Math.round(session.get('totalScore') * 100)
td.name-col-cell= session.get('creatorName') || "Anonymous" td.name-col-cell= session.get('creatorName') || "Anonymous"
td.fight-cell td.fight-cell
a(href="/play/level/#{level.get('slug') || level.id}/?team=#{team.otherTeam}&opponent=#{session.id}") a(href="/play/level/#{level.get('slug') || level.id}?team=#{team.otherTeam}&opponent=#{session.id}")
span(data-i18n="ladder.fight") Fight! span(data-i18n="ladder.fight") Fight!
if !showJustTop && team.leaderboard.nearbySessions().length if !showJustTop && team.leaderboard.nearbySessions().length
@ -40,7 +40,7 @@ div#columns.row
td.score-cell= Math.round(session.get('totalScore') * 100) td.score-cell= Math.round(session.get('totalScore') * 100)
td.name-col-cell= session.get('creatorName') || "Anonymous" td.name-col-cell= session.get('creatorName') || "Anonymous"
td.fight-cell td.fight-cell
a(href="/play/level/#{level.get('slug') || level.id}/?team=#{team.otherTeam}&opponent=#{session.id}") a(href="/play/level/#{level.get('slug') || level.id}?team=#{team.otherTeam}&opponent=#{session.id}")
span(data-i18n="ladder.fight") Fight! span(data-i18n="ladder.fight") Fight!
if teamIndex == 1 if teamIndex == 1
.btn.btn-sm.load-more-ladder-entries More .btn.btn-sm.load-more-ladder-entries More
@ -49,7 +49,7 @@ div#columns.row
h4.friends-header(data-i18n="ladder.friends_playing") Friends Playing h4.friends-header(data-i18n="ladder.friends_playing") Friends Playing
if me.get('anonymous') if me.get('anonymous')
div.alert.alert-info div.alert.alert-info
a(data-toggle="coco-modal", data-target="modal/auth", data-i18n="ladder.log_in_for_friends") Log in to play with your friends! a(data-toggle="coco-modal", data-target="modal/AuthModal", data-i18n="ladder.log_in_for_friends") Log in to play with your friends!
else else
if !onFacebook || !onGPlus if !onFacebook || !onGPlus

View file

@ -24,7 +24,7 @@
.footer .footer
.content .content
p(class='footer-link-text') p(class='footer-link-text')
a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="nav.contact") Contact a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact
if explainHourOfCode if explainHourOfCode
// Does not show up unless lang is en-US. // Does not show up unless lang is en-US.
div.hour-of-code-explanation div.hour-of-code-explanation

View file

@ -21,7 +21,7 @@ block modal-footer-content
a.btn.btn-primary(href="/", data-dismiss="modal", data-i18n="play_level.victory_go_home") Go Home a.btn.btn-primary(href="/", data-dismiss="modal", data-i18n="play_level.victory_go_home") Go Home
if me.get('anonymous') if me.get('anonymous')
p.sign-up-poke p.sign-up-poke
button.btn.btn-success.sign-up-button.btn-large(data-toggle="coco-modal", data-target="modal/signup", data-i18n="play_level.victory_sign_up") Sign Up to Save Progress button.btn.btn-success.sign-up-button.btn-large(data-toggle="coco-modal", data-target="modal/SignupModal", data-i18n="play_level.victory_sign_up") Sign Up to Save Progress
span(data-i18n="play_level.victory_sign_up_poke") Want to save your code? Create a free account! span(data-i18n="play_level.victory_sign_up_poke") Want to save your code? Create a free account!
p.clearfix p.clearfix
else else

View file

@ -13,4 +13,4 @@
.footer .footer
.content .content
p(class='footer-link-text') p(class='footer-link-text')
a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="nav.contact") Contact a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact

View file

@ -24,7 +24,7 @@ block content
p More questions? Get in touch! Feature requests? We'd love to hear them! CodeCombat is new and needs to hear from you to learn what teachers would love to have in their classrooms of programming wizards-to-be. p More questions? Get in touch! Feature requests? We'd love to hear them! CodeCombat is new and needs to hear from you to learn what teachers would love to have in their classrooms of programming wizards-to-be.
h3 h3
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact Us a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal") Contact Us
.span5 .span5

View file

@ -1,11 +1,10 @@
RootView = require 'views/kinds/RootView' RootView = require 'views/kinds/RootView'
template = require 'templates/employers' template = require 'templates/employers'
app = require 'application'
User = require 'models/User' User = require 'models/User'
UserRemark = require 'models/UserRemark' UserRemark = require 'models/UserRemark'
{me} = require 'lib/auth' {me} = require 'lib/auth'
CocoCollection = require 'collections/CocoCollection' CocoCollection = require 'collections/CocoCollection'
EmployerSignupView = require 'views/modal/employer_signup_modal' EmployerSignupModal = require 'views/modal/EmployerSignupModal'
class CandidatesCollection extends CocoCollection class CandidatesCollection extends CocoCollection
url: '/db/user/x/candidates' url: '/db/user/x/candidates'
@ -75,7 +74,7 @@ module.exports = class EmployersView extends RootView
@applyFilters() @applyFilters()
openSignupModal: -> openSignupModal: ->
@openModalView new EmployerSignupView @openModalView new EmployerSignupModal
handleSelectAllChange: (e) -> handleSelectAllChange: (e) ->
checkedState = e.currentTarget.checked checkedState = e.currentTarget.checked
$('#filters :input').each -> $('#filters :input').each ->
@ -222,7 +221,7 @@ module.exports = class EmployersView extends RootView
checkForEmployerSignupHash: => checkForEmployerSignupHash: =>
if window.location.hash is '#employerSignupLoggingIn' and not ('employer' in me.get('permissions')) and not me.isAdmin() if window.location.hash is '#employerSignupLoggingIn' and not ('employer' in me.get('permissions')) and not me.isAdmin()
@openModalView application.router.getView('modal/employer_signup', '_modal') @openModalView new EmployerSignupModal
window.location.hash = '' window.location.hash = ''
sortTable: -> sortTable: ->
@ -356,4 +355,4 @@ module.exports = class EmployersView extends RootView
url = "/account/profile/#{id}" url = "/account/profile/#{id}"
window.open url, '_blank' window.open url, '_blank'
else else
@openModalView new EmployerSignupView @openModalView new EmployerSignupModal

View file

@ -4,7 +4,6 @@ WizardSprite = require 'lib/surface/WizardSprite'
ThangType = require 'models/ThangType' ThangType = require 'models/ThangType'
Simulator = require 'lib/simulator/Simulator' Simulator = require 'lib/simulator/Simulator'
{me} = require '/lib/auth' {me} = require '/lib/auth'
application = require 'application'
module.exports = class HomeView extends RootView module.exports = class HomeView extends RootView
id: 'home-view' id: 'home-view'

View file

@ -3,12 +3,12 @@ template = require 'templates/account/settings'
{me} = require 'lib/auth' {me} = require 'lib/auth'
forms = require 'lib/forms' forms = require 'lib/forms'
User = require 'models/User' User = require 'models/User'
AuthModalView = require 'views/modal/auth_modal' AuthModal = require 'views/modal/AuthModal'
WizardSettingsView = require './wizard_settings_view' WizardSettingsView = require './WizardSettingsView'
JobProfileView = require './job_profile_view' JobProfileTreemaView = require './JobProfileTreemaView'
module.exports = class SettingsView extends RootView module.exports = class AccountSettingsView extends RootView
id: 'account-settings-view' id: 'account-settings-view'
template: template template: template
changedFields: [] # DOM input fields changedFields: [] # DOM input fields
@ -97,9 +97,9 @@ module.exports = class SettingsView extends RootView
@listenTo wizardSettingsView, 'change', @enableSaveButton @listenTo wizardSettingsView, 'change', @enableSaveButton
@insertSubView wizardSettingsView @insertSubView wizardSettingsView
@jobProfileView = new JobProfileView() @jobProfileTreemaView = new JobProfileTreemaView()
@listenTo @jobProfileView, 'change', @enableSaveButton @listenTo @jobProfileTreemaView, 'change', @enableSaveButton
@insertSubView @jobProfileView @insertSubView @jobProfileTreemaView
_.defer => @buildPictureTreema() # Not sure why, but the Treemas don't fully build without this if you reload the page. _.defer => @buildPictureTreema() # Not sure why, but the Treemas don't fully build without this if you reload the page.
afterInsert: -> afterInsert: ->
@ -107,7 +107,7 @@ module.exports = class SettingsView extends RootView
$('#email-pane input[type="checkbox"]').on 'change', -> $('#email-pane input[type="checkbox"]').on 'change', ->
$(@).addClass 'changed' $(@).addClass 'changed'
if me.get('anonymous') if me.get('anonymous')
@openModalView new AuthModalView() @openModalView new AuthModal()
@updateSavedValues() @updateSavedValues()
chooseTab: (category) -> chooseTab: (category) ->
@ -222,7 +222,7 @@ module.exports = class SettingsView extends RootView
jobProfile = me.get('jobProfile') ? {} jobProfile = me.get('jobProfile') ? {}
updated = false updated = false
for key, val of @jobProfileView.getData() for key, val of @jobProfileTreemaView.getData()
updated = updated or not _.isEqual jobProfile[key], val updated = updated or not _.isEqual jobProfile[key], val
jobProfile[key] = val jobProfile[key] = val
if updated if updated

View file

@ -1,7 +1,6 @@
ModalView = require 'views/kinds/ModalView' ModalView = require 'views/kinds/ModalView'
template = require 'templates/account/job_profile_code_modal' template = require 'templates/account/job_profile_code_modal'
LevelSessionCodeView = require 'views/common/LevelSessionCodeView' LevelSessionCodeView = require 'views/common/LevelSessionCodeView'
console.log 'template', template
module.exports = class JobProfileCodeModal extends ModalView module.exports = class JobProfileCodeModal extends ModalView
id: 'job_profile_code_modal' id: 'job_profile_code_modal'

File diff suppressed because one or more lines are too long

View file

@ -4,11 +4,11 @@ User = require 'models/User'
LevelSession = require 'models/LevelSession' LevelSession = require 'models/LevelSession'
CocoCollection = require 'collections/CocoCollection' CocoCollection = require 'collections/CocoCollection'
{me} = require 'lib/auth' {me} = require 'lib/auth'
JobProfileContactView = require 'views/modal/job_profile_contact_modal' JobProfileContactModal = require 'views/modal/JobProfileContactModal'
JobProfileView = require 'views/account/job_profile_view' JobProfileTreemaView = require 'views/account/JobProfileTreemaView'
UserRemark = require 'models/UserRemark' UserRemark = require 'models/UserRemark'
forms = require 'lib/forms' forms = require 'lib/forms'
ModelModal = require 'views/modal/model_modal' ModelModal = require 'views/modal/ModelModal'
JobProfileCodeModal = require './JobProfileCodeModal' JobProfileCodeModal = require './JobProfileCodeModal'
class LevelSessionsCollection extends CocoCollection class LevelSessionsCollection extends CocoCollection
@ -26,7 +26,7 @@ adminContacts = [
{id: '52a57252a89409700d0000d9', name: 'Ignore'} {id: '52a57252a89409700d0000d9', name: 'Ignore'}
] ]
module.exports = class ProfileView extends RootView module.exports = class JobProfileView extends RootView
id: 'profile-view' id: 'profile-view'
template: template template: template
showBackground: false showBackground: false
@ -317,7 +317,7 @@ module.exports = class ProfileView extends RootView
initializeAutocomplete: (container) -> initializeAutocomplete: (container) ->
(container ? @$el).find('input[data-autocomplete]').each -> (container ? @$el).find('input[data-autocomplete]').each ->
$(@).autocomplete(source: JobProfileView[$(@).data('autocomplete')], minLength: parseInt($(@).data('autocomplete-min-length')), delay: 0, autoFocus: true) $(@).autocomplete(source: JobProfileTreemaView[$(@).data('autocomplete')], minLength: parseInt($(@).data('autocomplete-min-length')), delay: 0, autoFocus: true)
toggleEditing: -> toggleEditing: ->
@editing = not @editing @editing = not @editing
@ -374,7 +374,7 @@ module.exports = class ProfileView extends RootView
null null
onContactCandidate: (e) -> onContactCandidate: (e) ->
@openModalView new JobProfileContactView recipientID: @user.id, recipientUserName: @user.get('name') @openModalView new JobProfileContactModal recipientID: @user.id, recipientUserName: @user.get('name')
showErrors: (errors) -> showErrors: (errors) ->
section = @$el.find '.saving' section = @$el.find '.saving'

File diff suppressed because one or more lines are too long

View file

@ -1,11 +1,10 @@
RootView = require 'views/kinds/RootView' RootView = require 'views/kinds/RootView'
template = require 'templates/admin/candidates' template = require 'templates/admin/candidates'
app = require 'application'
User = require 'models/User' User = require 'models/User'
UserRemark = require 'models/UserRemark' UserRemark = require 'models/UserRemark'
{me} = require 'lib/auth' {me} = require 'lib/auth'
CocoCollection = require 'collections/CocoCollection' CocoCollection = require 'collections/CocoCollection'
EmployerSignupView = require 'views/modal/employer_signup_modal' EmployerSignupModal = require 'views/modal/EmployerSignupModal'
class CandidatesCollection extends CocoCollection class CandidatesCollection extends CocoCollection
url: '/db/user/x/candidates' url: '/db/user/x/candidates'
@ -15,7 +14,7 @@ class UserRemarksCollection extends CocoCollection
url: '/db/user.remark?project=contact,contactName,user' url: '/db/user.remark?project=contact,contactName,user'
model: UserRemark model: UserRemark
module.exports = class EmployersView extends RootView module.exports = class CandidatesView extends RootView
id: "admin-candidates-view" id: "admin-candidates-view"
template: template template: template
@ -71,7 +70,7 @@ module.exports = class EmployersView extends RootView
checkForEmployerSignupHash: => checkForEmployerSignupHash: =>
if window.location.hash is "#employerSignupLoggingIn" and not ("employer" in me.get("permissions")) if window.location.hash is "#employerSignupLoggingIn" and not ("employer" in me.get("permissions"))
@openModalView application.router.getView("modal/employer_signup","_modal") @openModalView new EmployerSignupModal
window.location.hash = "" window.location.hash = ""
sortTable: -> sortTable: ->
@ -204,4 +203,4 @@ module.exports = class EmployersView extends RootView
url = "/account/profile/#{id}" url = "/account/profile/#{id}"
window.open url,"_blank" window.open url,"_blank"
else else
@openModalView new EmployerSignupView @openModalView new EmployerSignupModal

View file

@ -1,16 +1,15 @@
RootView = require 'views/kinds/RootView' RootView = require 'views/kinds/RootView'
template = require 'templates/admin/employer_list' template = require 'templates/admin/employer_list'
app = require 'application'
User = require 'models/User' User = require 'models/User'
{me} = require 'lib/auth' {me} = require 'lib/auth'
CocoCollection = require 'collections/CocoCollection' CocoCollection = require 'collections/CocoCollection'
ModelModal = require 'views/modal/model_modal' ModelModal = require 'views/modal/ModelModal'
class EmployersCollection extends CocoCollection class EmployersCollection extends CocoCollection
url: '/db/user/x/employers' url: '/db/user/x/employers'
model: User model: User
module.exports = class EmployersView extends RootView module.exports = class EmployersListView extends RootView
id: 'employers-view' id: 'employers-view'
template: template template: template

View file

@ -2,7 +2,7 @@
RootView = require 'views/kinds/RootView' RootView = require 'views/kinds/RootView'
template = require 'templates/admin' template = require 'templates/admin'
module.exports = class AdminView extends RootView module.exports = class MainAdminView extends RootView
id: 'admin-view' id: 'admin-view'
template: template template: template

View file

@ -1,6 +0,0 @@
RootView = require 'views/kinds/RootView'
template = require 'templates/base'
module.exports = class BaseView extends RootView
id: 'base-view'
template: template

View file

@ -1,4 +1,4 @@
SignupModalView = require 'views/modal/signup_modal' SignupModalView = require 'views/modal/SignupModal'
RootView = require 'views/kinds/RootView' RootView = require 'views/kinds/RootView'
{me} = require 'lib/auth' {me} = require 'lib/auth'
contributorSignupAnonymousTemplate = require 'templates/contribute/contributor_signup_anonymous' contributorSignupAnonymousTemplate = require 'templates/contribute/contributor_signup_anonymous'

View file

@ -7,7 +7,7 @@ class ComponentDocsCollection extends CocoCollection
url: '/db/level.component?project=name,description,dependencies,propertyDocumentation,code' url: '/db/level.component?project=name,description,dependencies,propertyDocumentation,code'
model: LevelComponent model: LevelComponent
module.exports = class UnnamedView extends RootView module.exports = class ComponentDocumentationView extends RootView
id: 'docs-components-view' id: 'docs-components-view'
template: template template: template

View file

@ -1,6 +1,6 @@
ModalView = require 'views/kinds/ModalView' ModalView = require 'views/kinds/ModalView'
template = require 'templates/editor/patch_modal' template = require 'templates/editor/patch_modal'
DeltaView = require 'views/editor/delta' DeltaView = require 'views/editor/DeltaView'
auth = require 'lib/auth' auth = require 'lib/auth'
module.exports = class PatchModal extends ModalView module.exports = class PatchModal extends ModalView

View file

@ -2,7 +2,7 @@ CocoView = require 'views/kinds/CocoView'
template = require 'templates/editor/patches' template = require 'templates/editor/patches'
PatchesCollection = require 'collections/PatchesCollection' PatchesCollection = require 'collections/PatchesCollection'
nameLoader = require 'lib/NameLoader' nameLoader = require 'lib/NameLoader'
PatchModal = require './patch_modal' PatchModal = require './PatchModal'
module.exports = class PatchesView extends CocoView module.exports = class PatchesView extends CocoView
template: template template: template

View file

@ -1,7 +1,7 @@
RootView = require 'views/kinds/RootView' RootView = require 'views/kinds/RootView'
template = require 'templates/editor/achievement/edit' template = require 'templates/editor/achievement/edit'
Achievement = require 'models/Achievement' Achievement = require 'models/Achievement'
ConfirmModal = require 'views/modal/confirm' ConfirmModal = require 'views/modal/ConfirmModal'
module.exports = class AchievementEditView extends RootView module.exports = class AchievementEditView extends RootView
id: 'editor-achievement-edit-view' id: 'editor-achievement-edit-view'

View file

@ -1,9 +1,9 @@
RootView = require 'views/kinds/RootView' RootView = require 'views/kinds/RootView'
VersionHistoryView = require './versions_view' VersionHistoryView = require './ArticleVersionsModal'
template = require 'templates/editor/article/edit' template = require 'templates/editor/article/edit'
Article = require 'models/Article' Article = require 'models/Article'
SaveVersionModal = require 'views/modal/save_version_modal' SaveVersionModal = require 'views/modal/SaveVersionModal'
PatchesView = require 'views/editor/patches_view' PatchesView = require 'views/editor/PatchesView'
module.exports = class ArticleEditView extends RootView module.exports = class ArticleEditView extends RootView
id: 'editor-article-edit-view' id: 'editor-article-edit-view'
@ -79,7 +79,7 @@ module.exports = class ArticleEditView extends RootView
@patchesView.load() @patchesView.load()
openPreview: -> openPreview: ->
@preview = window.open('/editor/article/x/preview', 'preview', 'height=800,width=600') @preview = window.open('/editor/article/preview', 'preview', 'height=800,width=600')
@preview.focus() if window.focus @preview.focus() if window.focus
@preview.onload = => @pushChangesToPreview() @preview.onload = => @pushChangesToPreview()
return false return false

View file

@ -1,6 +1,6 @@
RootView = require 'views/kinds/RootView' RootView = require 'views/kinds/RootView'
template = require 'templates/editor/article/preview' template = require 'templates/editor/article/preview'
module.exports = class PreviewView extends RootView module.exports = class ArticlePreviewView extends RootView
id: 'editor-article-preview-view' id: 'editor-article-preview-view'
template: template template: template

View file

@ -1,6 +1,6 @@
SearchView = require 'views/kinds/SearchView' SearchView = require 'views/kinds/SearchView'
module.exports = class ThangTypeHomeView extends SearchView module.exports = class ArticleSearchView extends SearchView
id: 'editor-article-home-view' id: 'editor-article-home-view'
modelLabel: 'Article' modelLabel: 'Article'
model: require 'models/Article' model: require 'models/Article'

View file

@ -1,6 +1,6 @@
VersionsModalView = require 'views/modal/versions_modal' VersionsModal = require 'views/modal/VersionsModal'
module.exports = class ArticleVersionsView extends VersionsModalView module.exports = class ArticleVersionsModal extends VersionsModal
id: 'editor-article-versions-view' id: 'editor-article-versions-view'
url: '/db/article/' url: '/db/article/'
page: 'article' page: 'article'

View file

@ -1,6 +1,6 @@
VersionsModalView = require 'views/modal/versions_modal' VersionsModal = require 'views/modal/VersionsModal'
module.exports = class ComponentVersionsView extends VersionsModalView module.exports = class ComponentVersionsModal extends VersionsModal
id: 'editor-component-versions-view' id: 'editor-component-versions-view'
url: '/db/level.component/' url: '/db/level.component/'
page: 'component' page: 'component'

View file

@ -5,7 +5,7 @@ Level = require 'models/Level'
LevelComponent = require 'models/LevelComponent' LevelComponent = require 'models/LevelComponent'
nodes = require '../level/treema_nodes' nodes = require '../level/treema_nodes'
module.exports = class ComponentConfigView extends CocoView module.exports = class ThangComponentConfigView extends CocoView
id: 'component-config-column-view' id: 'component-config-column-view'
template: template template: template
className: 'column' className: 'column'

View file

@ -5,7 +5,7 @@ Level = require 'models/Level'
LevelComponent = require 'models/LevelComponent' LevelComponent = require 'models/LevelComponent'
LevelSystem = require 'models/LevelSystem' LevelSystem = require 'models/LevelSystem'
ComponentsCollection = require 'collections/ComponentsCollection' ComponentsCollection = require 'collections/ComponentsCollection'
ComponentConfigView = require './config' ComponentConfigView = require './ThangComponentConfigView'
module.exports = class ThangComponentEditView extends CocoView module.exports = class ThangComponentEditView extends CocoView
id: 'thang-components-edit-view' id: 'thang-components-edit-view'

View file

@ -6,18 +6,18 @@ World = require 'lib/world/world'
DocumentFiles = require 'collections/DocumentFiles' DocumentFiles = require 'collections/DocumentFiles'
LevelLoader = require 'lib/LevelLoader' LevelLoader = require 'lib/LevelLoader'
ThangsTabView = require './thangs_tab_view' ThangsTabView = require './thangs/ThangsTabView'
SettingsTabView = require './settings_tab_view' SettingsTabView = require './settings/SettingsTabView'
ScriptsTabView = require './scripts_tab_view' ScriptsTabView = require './scripts/ScriptsTabView'
ComponentsTabView = require './components_tab_view' ComponentsTabView = require './components/ComponentsTabView'
SystemsTabView = require './systems_tab_view' SystemsTabView = require './systems/SystemsTabView'
LevelSaveView = require './save_view' SaveLevelModal = require './modals/SaveLevelModal'
LevelForkView = require './fork_view' LevelForkView = require './modals/ForkLevelModal'
SaveVersionModal = require 'views/modal/save_version_modal' SaveVersionModal = require 'views/modal/SaveVersionModal'
PatchesView = require 'views/editor/patches_view' PatchesView = require 'views/editor/PatchesView'
VersionHistoryView = require './versions_view' VersionHistoryView = require './modals/LevelVersionsModal'
module.exports = class EditorLevelView extends RootView module.exports = class LevelEditView extends RootView
id: 'editor-level-view' id: 'editor-level-view'
template: template template: template
cache: false cache: false
@ -106,7 +106,7 @@ module.exports = class EditorLevelView extends RootView
Backbone.Mediator.publish 'level:view-switched', e Backbone.Mediator.publish 'level:view-switched', e
startCommittingLevel: (e) -> startCommittingLevel: (e) ->
@openModalView new LevelSaveView level: @level, supermodel: @supermodel @openModalView new SaveLevelModal level: @level, supermodel: @supermodel
Backbone.Mediator.publish 'level:view-switched', e Backbone.Mediator.publish 'level:view-switched', e
startForkingLevel: (e) -> startForkingLevel: (e) ->

View file

@ -1,6 +1,6 @@
SearchView = require 'views/kinds/SearchView' SearchView = require 'views/kinds/SearchView'
module.exports = class EditorSearchView extends SearchView module.exports = class LevelSearchView extends SearchView
id: 'editor-level-home-view' id: 'editor-level-home-view'
modelLabel: 'Level' modelLabel: 'Level'
model: require 'models/Level' model: require 'models/Level'

View file

@ -1,8 +1,8 @@
CocoView = require 'views/kinds/CocoView' CocoView = require 'views/kinds/CocoView'
template = require 'templates/editor/level/components_tab' template = require 'templates/editor/level/components_tab'
LevelComponent = require 'models/LevelComponent' LevelComponent = require 'models/LevelComponent'
LevelComponentEditView = require './component/edit' LevelComponentEditView = require './LevelComponentEditView'
LevelComponentNewView = require './component/new' LevelComponentNewView = require './NewLevelComponentModal'
class LevelComponentCollection extends Backbone.Collection class LevelComponentCollection extends Backbone.Collection
url: '/db/level.component' url: '/db/level.component'

View file

@ -1,9 +1,9 @@
CocoView = require 'views/kinds/CocoView' CocoView = require 'views/kinds/CocoView'
template = require 'templates/editor/level/component/edit' template = require 'templates/editor/level/component/edit'
LevelComponent = require 'models/LevelComponent' LevelComponent = require 'models/LevelComponent'
VersionHistoryView = require 'views/editor/component/versions_view' ComponentVersionsModal = require 'views/editor/component/ComponentVersionsModal'
PatchesView = require 'views/editor/patches_view' PatchesView = require 'views/editor/PatchesView'
SaveVersionModal = require 'views/modal/save_version_modal' SaveVersionModal = require 'views/modal/SaveVersionModal'
module.exports = class LevelComponentEditView extends CocoView module.exports = class LevelComponentEditView extends CocoView
id: 'editor-level-component-edit-view' id: 'editor-level-component-edit-view'
@ -108,8 +108,8 @@ module.exports = class LevelComponentEditView extends CocoView
null null
showVersionHistory: (e) -> showVersionHistory: (e) ->
versionHistoryView = new VersionHistoryView {}, @levelComponent.id componentVersionsModal = new ComponentVersionsModal {}, @levelComponent.id
@openModalView versionHistoryView @openModalView componentVersionsModal
Backbone.Mediator.publish 'level:view-switched', e Backbone.Mediator.publish 'level:view-switched', e
startPatchingComponent: (e) -> startPatchingComponent: (e) ->

View file

@ -4,7 +4,7 @@ LevelComponent = require 'models/LevelComponent'
forms = require 'lib/forms' forms = require 'lib/forms'
{me} = require 'lib/auth' {me} = require 'lib/auth'
module.exports = class LevelComponentNewView extends ModalView module.exports = class NewLevelComponentModal extends ModalView
id: 'editor-level-component-new-modal' id: 'editor-level-component-new-modal'
template: template template: template
instant: false instant: false

View file

@ -3,7 +3,7 @@ template = require 'templates/editor/level/fork'
forms = require 'lib/forms' forms = require 'lib/forms'
Level = require 'models/Level' Level = require 'models/Level'
module.exports = class LevelForkView extends ModalView module.exports = class ForkLevelModal extends ModalView
id: 'editor-level-fork-modal' id: 'editor-level-fork-modal'
template: template template: template
instant: false instant: false

View file

@ -1,6 +1,6 @@
VersionsModalView = require 'views/modal/versions_modal' VersionsModal = require 'views/modal/VersionsModal'
module.exports = class LevelVersionsView extends VersionsModalView module.exports = class LevelVersionsModal extends VersionsModal
id: 'editor-level-versions-view' id: 'editor-level-versions-view'
url: '/db/level/' url: '/db/level/'
page: 'level' page: 'level'

View file

@ -1,12 +1,12 @@
SaveVersionModal = require 'views/modal/save_version_modal' SaveVersionModal = require 'views/modal/SaveVersionModal'
template = require 'templates/editor/level/save' template = require 'templates/editor/level/save'
forms = require 'lib/forms' forms = require 'lib/forms'
LevelComponent = require 'models/LevelComponent' LevelComponent = require 'models/LevelComponent'
LevelSystem = require 'models/LevelSystem' LevelSystem = require 'models/LevelSystem'
DeltaView = require 'views/editor/delta' DeltaView = require 'views/editor/DeltaView'
PatchModal = require 'views/editor/patch_modal' PatchModal = require 'views/editor/PatchModal'
module.exports = class LevelSaveView extends SaveVersionModal module.exports = class SaveLevelModal extends SaveVersionModal
template: template template: template
instant: false instant: false
modalWidthPercent: 60 modalWidthPercent: 60

View file

@ -2,7 +2,7 @@ CocoView = require 'views/kinds/CocoView'
template = require 'templates/editor/level/scripts_tab' template = require 'templates/editor/level/scripts_tab'
Level = require 'models/Level' Level = require 'models/Level'
Surface = require 'lib/surface/Surface' Surface = require 'lib/surface/Surface'
nodes = require './treema_nodes' nodes = require './../treema_nodes'
module.exports = class ScriptsTabView extends CocoView module.exports = class ScriptsTabView extends CocoView
id: 'editor-level-scripts-tab-view' id: 'editor-level-scripts-tab-view'

View file

@ -2,7 +2,7 @@ CocoView = require 'views/kinds/CocoView'
template = require 'templates/editor/level/settings_tab' template = require 'templates/editor/level/settings_tab'
Level = require 'models/Level' Level = require 'models/Level'
Surface = require 'lib/surface/Surface' Surface = require 'lib/surface/Surface'
nodes = require './treema_nodes' nodes = require './../treema_nodes'
{me} = require 'lib/auth' {me} = require 'lib/auth'
module.exports = class SettingsTabView extends CocoView module.exports = class SettingsTabView extends CocoView

View file

@ -8,7 +8,7 @@ class LevelSystemSearchCollection extends CocoCollection
url: '/db/level_system' url: '/db/level_system'
model: LevelSystem model: LevelSystem
module.exports = class LevelSystemAddView extends ModalView module.exports = class AddLevelSystemModal extends ModalView
id: 'editor-level-system-add-modal' id: 'editor-level-system-add-modal'
template: template template: template
instant: true instant: true

View file

@ -1,9 +1,9 @@
CocoView = require 'views/kinds/CocoView' CocoView = require 'views/kinds/CocoView'
template = require 'templates/editor/level/system/edit' template = require 'templates/editor/level/system/edit'
LevelSystem = require 'models/LevelSystem' LevelSystem = require 'models/LevelSystem'
VersionHistoryView = require 'views/editor/system/versions_view' SystemVersionsModal = require 'views/editor/level/systems/SystemVersionsModal'
PatchesView = require 'views/editor/patches_view' PatchesView = require 'views/editor/PatchesView'
SaveVersionModal = require 'views/modal/save_version_modal' SaveVersionModal = require 'views/modal/SaveVersionModal'
module.exports = class LevelSystemEditView extends CocoView module.exports = class LevelSystemEditView extends CocoView
id: 'editor-level-system-edit-view' id: 'editor-level-system-edit-view'
@ -101,8 +101,8 @@ module.exports = class LevelSystemEditView extends CocoView
null null
showVersionHistory: (e) -> showVersionHistory: (e) ->
versionHistoryView = new VersionHistoryView {}, @levelSystem.id systemVersionsModal = new SystemVersionsModal {}, @levelSystem.id
@openModalView versionHistoryView @openModalView systemVersionsModal
Backbone.Mediator.publish 'level:view-switched', e Backbone.Mediator.publish 'level:view-switched', e
startPatchingSystem: (e) -> startPatchingSystem: (e) ->

View file

@ -4,7 +4,7 @@ LevelSystem = require 'models/LevelSystem'
forms = require 'lib/forms' forms = require 'lib/forms'
{me} = require 'lib/auth' {me} = require 'lib/auth'
module.exports = class LevelSystemNewView extends ModalView module.exports = class NewLevelSystemModal extends ModalView
id: 'editor-level-system-new-modal' id: 'editor-level-system-new-modal'
template: template template: template
instant: false instant: false

View file

@ -1,6 +1,6 @@
VersionsModalView = require 'views/modal/versions_modal' VersionsModal = require 'views/modal/VersionsModal'
module.exports = class SystemVersionsView extends VersionsModalView module.exports = class SystemVersionsModal extends VersionsModal
id: 'editor-system-versions-view' id: 'editor-system-versions-view'
url: '/db/level.system/' url: '/db/level.system/'
page: 'system' page: 'system'

View file

@ -2,10 +2,10 @@ CocoView = require 'views/kinds/CocoView'
template = require 'templates/editor/level/systems_tab' template = require 'templates/editor/level/systems_tab'
Level = require 'models/Level' Level = require 'models/Level'
LevelSystem = require 'models/LevelSystem' LevelSystem = require 'models/LevelSystem'
LevelSystemEditView = require './system/edit' LevelSystemEditView = require './LevelSystemEditView'
LevelSystemNewView = require './system/new' NewLevelSystemModal = require './NewLevelSystemModal'
LevelSystemAddView = require './system/add' AddLevelSystemModal = require './AddLevelSystemModal'
{ThangTypeNode} = require './treema_nodes' {ThangTypeNode} = require './../treema_nodes'
module.exports = class SystemsTabView extends CocoView module.exports = class SystemsTabView extends CocoView
id: 'editor-level-systems-tab-view' id: 'editor-level-systems-tab-view'
@ -49,7 +49,7 @@ module.exports = class SystemsTabView extends CocoView
insertedDefaults = true insertedDefaults = true
systems = @getSortedByName systems systems = @getSortedByName systems
treemaOptions = treemaOptions =
# TODO: somehow get rid of the + button, or repurpose it to open the LevelSystemAddView instead # TODO: somehow get rid of the + button, or repurpose it to open the AddLevelSystemModal instead
supermodel: @supermodel supermodel: @supermodel
schema: Level.schema.properties.systems schema: Level.schema.properties.systems
data: systems data: systems
@ -90,11 +90,11 @@ module.exports = class SystemsTabView extends CocoView
@systemsTreema.insert '/', e.system @systemsTreema.insert '/', e.system
addLevelSystem: (e) -> addLevelSystem: (e) ->
@openModalView new LevelSystemAddView supermodel: @supermodel, extantSystems: _.cloneDeep @systemsTreema.data @openModalView new AddLevelSystemModal supermodel: @supermodel, extantSystems: _.cloneDeep @systemsTreema.data
Backbone.Mediator.publish 'level:view-switched', e Backbone.Mediator.publish 'level:view-switched', e
createNewLevelSystem: (e) -> createNewLevelSystem: (e) ->
@openModalView new LevelSystemNewView supermodel: @supermodel @openModalView new NewLevelSystemModal supermodel: @supermodel
Backbone.Mediator.publish 'level:view-switched', e Backbone.Mediator.publish 'level:view-switched', e
editLevelSystem: (e) -> editLevelSystem: (e) ->

View file

@ -1,6 +1,6 @@
CocoView = require 'views/kinds/CocoView' CocoView = require 'views/kinds/CocoView'
template = require 'templates/editor/level/thang/edit' template = require 'templates/editor/level/thang/edit'
ThangComponentEditView = require 'views/editor/components/main' ThangComponentEditView = require 'views/editor/component/ThangComponentEditView'
ThangType = require 'models/ThangType' ThangType = require 'models/ThangType'
module.exports = class LevelThangEditView extends CocoView module.exports = class LevelThangEditView extends CocoView

View file

@ -1,5 +1,5 @@
CocoView = require 'views/kinds/CocoView' CocoView = require 'views/kinds/CocoView'
AddThangsView = require './add_thangs_view' AddThangsView = require './AddThangsView'
thangs_template = require 'templates/editor/level/thangs_tab' thangs_template = require 'templates/editor/level/thangs_tab'
Level = require 'models/Level' Level = require 'models/Level'
ThangType = require 'models/ThangType' ThangType = require 'models/ThangType'
@ -8,7 +8,7 @@ CocoCollection = require 'collections/CocoCollection'
{isObjectID} = require 'models/CocoModel' {isObjectID} = require 'models/CocoModel'
Surface = require 'lib/surface/Surface' Surface = require 'lib/surface/Surface'
Thang = require 'lib/world/thang' Thang = require 'lib/world/thang'
LevelThangEditView = require './thang/edit' LevelThangEditView = require './LevelThangEditView'
ComponentsCollection = require 'collections/ComponentsCollection' ComponentsCollection = require 'collections/ComponentsCollection'
# Moving the screen while dragging thangs constants # Moving the screen while dragging thangs constants

View file

@ -1,4 +1,4 @@
WorldSelectModal = require './modal/world_select' WorldSelectModal = require './modals/WorldSelectModal'
ThangType = require '/models/ThangType' ThangType = require '/models/ThangType'
makeButton = -> $('<a class="btn btn-primary btn-xs treema-map-button"><span class="glyphicon glyphicon-screenshot"></span></a>') makeButton = -> $('<a class="btn btn-primary btn-xs treema-map-button"><span class="glyphicon glyphicon-screenshot"></span></a>')

View file

@ -3,7 +3,7 @@ template = require 'templates/editor/thang/colors_tab'
SpriteBuilder = require 'lib/sprites/SpriteBuilder' SpriteBuilder = require 'lib/sprites/SpriteBuilder'
{hexToHSL} = require 'lib/utils' {hexToHSL} = require 'lib/utils'
module.exports = class ColorsTabView extends CocoView module.exports = class ThangTypeColorsTabView extends CocoView
id: 'editor-thang-colors-tab-view' id: 'editor-thang-colors-tab-view'
template: template template: template
className: 'tab-pane' className: 'tab-pane'

View file

@ -6,11 +6,11 @@ Camera = require 'lib/surface/Camera'
DocumentFiles = require 'collections/DocumentFiles' DocumentFiles = require 'collections/DocumentFiles'
RootView = require 'views/kinds/RootView' RootView = require 'views/kinds/RootView'
ThangComponentEditView = require 'views/editor/components/main' ThangComponentEditView = require 'views/editor/component/ThangComponentEditView'
VersionHistoryView = require './versions_view' ThangTypeVersionsModal = require './ThangTypeVersionsModal'
ColorsTabView = require './colors_tab_view' ThangTypeColorsTabView = require './ThangTypeColorsTabView'
PatchesView = require 'views/editor/patches_view' PatchesView = require 'views/editor/PatchesView'
SaveVersionModal = require 'views/modal/save_version_modal' SaveVersionModal = require 'views/modal/SaveVersionModal'
template = require 'templates/editor/thang/edit' template = require 'templates/editor/thang/edit'
CENTER = {x: 200, y: 300} CENTER = {x: 200, y: 300}
@ -73,7 +73,7 @@ module.exports = class ThangTypeEditView extends RootView
@buildTreema() @buildTreema()
@initSliders() @initSliders()
@initComponents() @initComponents()
@insertSubView(new ColorsTabView(@thangType)) @insertSubView(new ThangTypeColorsTabView(@thangType))
@patchesView = @insertSubView(new PatchesView(@thangType), @$el.find('.patches-view')) @patchesView = @insertSubView(new PatchesView(@thangType), @$el.find('.patches-view'))
@showReadOnly() if me.get('anonymous') @showReadOnly() if me.get('anonymous')
@ -400,8 +400,8 @@ module.exports = class ThangTypeEditView extends RootView
@showingSelectedNode = false @showingSelectedNode = false
showVersionHistory: (e) -> showVersionHistory: (e) ->
versionHistoryView = new VersionHistoryView thangType: @thangType, @thangTypeID versionHistoryModal = new ThangTypeVersionsModal thangType: @thangType, @thangTypeID
@openModalView versionHistoryView @openModalView versionHistoryModal
Backbone.Mediator.publish 'level:view-switched', e Backbone.Mediator.publish 'level:view-switched', e
openSaveModal: -> openSaveModal: ->

View file

@ -1,6 +1,6 @@
SearchView = require 'views/kinds/SearchView' SearchView = require 'views/kinds/SearchView'
module.exports = class ThangTypeHomeView extends SearchView module.exports = class ThangTypeSearchView extends SearchView
id: 'thang-type-home-view' id: 'thang-type-home-view'
modelLabel: 'Thang Type' modelLabel: 'Thang Type'
model: require 'models/ThangType' model: require 'models/ThangType'

View file

@ -1,6 +1,6 @@
VersionsModalView = require 'views/modal/versions_modal' VersionsModal = require 'views/modal/VersionsModal'
module.exports = class ComponentVersionsView extends VersionsModalView module.exports = class ThangTypeVersionsModal extends VersionsModal
id: 'editor-thang-versions-view' id: 'editor-thang-versions-view'
url: '/db/thang.type/' url: '/db/thang.type/'
page: 'thang' page: 'thang'

View file

@ -158,9 +158,9 @@ module.exports = class CocoView extends Backbone.View
elem = $(e.target) elem = $(e.target)
return unless elem.data('toggle') is 'coco-modal' return unless elem.data('toggle') is 'coco-modal'
target = elem.data('target') target = elem.data('target')
view = application.router.getView(target, '_modal') # could set up a system for loading cached modals, if told to Modal = require 'views/'+target
e.stopPropagation() e.stopPropagation()
@openModalView(view) @openModalView new Modal
openModalView: (modalView, softly=false) -> openModalView: (modalView, softly=false) ->
return if waitingModal # can only have one waiting at once return if waitingModal # can only have one waiting at once

View file

@ -92,12 +92,12 @@ module.exports = class RootView extends CocoView
logoutUser($('#login-email').val()) logoutUser($('#login-email').val())
showWizardSettingsModal: -> showWizardSettingsModal: ->
WizardSettingsModal = require('views/modal/wizard_settings_modal') WizardSettingsModal = require('views/modal/WizardSettingsModal')
subview = new WizardSettingsModal {} subview = new WizardSettingsModal {}
@openModalView subview @openModalView subview
onClickAuthbutton: -> onClickAuthbutton: ->
AuthModal = require 'views/modal/auth_modal' AuthModal = require 'views/modal/AuthModal'
@openModalView new AuthModal {} @openModalView new AuthModal {}
showLoading: ($el) -> showLoading: ($el) ->
@ -152,7 +152,8 @@ module.exports = class RootView extends CocoView
@saveLanguage(newLang) @saveLanguage(newLang)
@render() @render()
unless newLang.split('-')[0] is 'en' unless newLang.split('-')[0] is 'en'
@openModalView(application.router.getView('modal/diplomat_suggestion', '_modal')) DiplomatModal = require 'views/modal/DiplomatSuggestionModal'
@openModalView(new DiplomatModal())
saveLanguage: (newLang) -> saveLanguage: (newLang) ->
me.set('preferredLanguage', newLang) me.set('preferredLanguage', newLang)

View file

@ -5,7 +5,7 @@ forms = require 'lib/forms'
User = require 'models/User' User = require 'models/User'
application = require 'application' application = require 'application'
module.exports = class AuthModalView extends ModalView module.exports = class AuthModal extends ModalView
id: 'auth-modal' id: 'auth-modal'
template: template template: template
mode: 'login' # or 'signup' mode: 'login' # or 'signup'

View file

@ -18,7 +18,7 @@ contactSchema =
type: 'string' type: 'string'
minLength: 1 minLength: 1
module.exports = class ContactView extends ModalView module.exports = class ContactModal extends ModalView
id: 'contact-modal' id: 'contact-modal'
template: template template: template
closeButton: true closeButton: true

View file

@ -3,7 +3,7 @@ template = require 'templates/modal/diplomat_suggestion'
{me} = require 'lib/auth' {me} = require 'lib/auth'
forms = require 'lib/forms' forms = require 'lib/forms'
module.exports = class DiplomatSuggestionView extends ModalView module.exports = class DiplomatSuggestionModal extends ModalView
id: 'diplomat-suggestion-modal' id: 'diplomat-suggestion-modal'
template: template template: template

View file

@ -5,7 +5,7 @@ User = require 'models/User'
auth = require 'lib/auth' auth = require 'lib/auth'
me = auth.me me = auth.me
module.exports = class EmployerSignupView extends ModalView module.exports = class EmployerSignupModal extends ModalView
id: 'employer-signup' id: 'employer-signup'
template: template template: template
closeButton: true closeButton: true

View file

@ -1,4 +1,4 @@
ContactView = require 'views/modal/contact_modal' ContactModal = require 'views/modal/ContactModal'
template = require 'templates/modal/job_profile_contact' template = require 'templates/modal/job_profile_contact'
forms = require 'lib/forms' forms = require 'lib/forms'
@ -26,7 +26,7 @@ contactSchema =
type: 'string' type: 'string'
minLength: 1 minLength: 1
module.exports = class JobProfileContactView extends ContactView module.exports = class JobProfileContactModal extends ContactModal
id: 'job-profile-contact-modal' id: 'job-profile-contact-modal'
template: template template: template

View file

@ -9,7 +9,7 @@ filterKeyboardEvents = (allowedEvents, func) ->
return unless e.keyCode in allowedEvents or not e.keyCode return unless e.keyCode in allowedEvents or not e.keyCode
return func(splat...) return func(splat...)
module.exports = class RecoverModalView extends ModalView module.exports = class RecoverModal extends ModalView
id: 'recover-modal' id: 'recover-modal'
template: template template: template

View file

@ -1,6 +1,6 @@
ModalView = require 'views/kinds/ModalView' ModalView = require 'views/kinds/ModalView'
template = require 'templates/modal/save_version' template = require 'templates/modal/save_version'
DeltaView = require 'views/editor/delta' DeltaView = require 'views/editor/DeltaView'
Patch = require 'models/Patch' Patch = require 'models/Patch'
forms = require 'lib/forms' forms = require 'lib/forms'

View file

@ -1,4 +1,4 @@
AuthModal = require 'views/modal/auth_modal' AuthModal = require 'views/modal/AuthModal'
module.exports = class SignupModalView extends AuthModal module.exports = class SignupModalView extends AuthModal
mode: 'signup' mode: 'signup'

View file

@ -1,8 +1,8 @@
ModalView = require 'views/kinds/ModalView' ModalView = require 'views/kinds/ModalView'
template = require 'templates/modal/versions' template = require 'templates/modal/versions'
tableTemplate = require 'templates/kinds/table' tableTemplate = require 'templates/kinds/table'
DeltaView = require 'views/editor/delta' DeltaView = require 'views/editor/DeltaView'
PatchModal = require 'views/editor/patch_modal' PatchModal = require 'views/editor/PatchModal'
nameLoader = require 'lib/NameLoader' nameLoader = require 'lib/NameLoader'
CocoCollection = require 'collections/CocoCollection' CocoCollection = require 'collections/CocoCollection'
@ -15,7 +15,7 @@ class VersionsViewCollection extends CocoCollection
@url = url + levelID + '/versions' @url = url + levelID + '/versions'
@model = model @model = model
module.exports = class VersionsModalView extends ModalView module.exports = class VersionsModal extends ModalView
template: template template: template
startsLoading: true startsLoading: true
plain: true plain: true

View file

@ -21,7 +21,7 @@ module.exports = class WizardSettingsModal extends ModalView
super options super options
afterRender: -> afterRender: ->
WizardSettingsView = require 'views/account/wizard_settings_view' WizardSettingsView = require 'views/account/WizardSettingsView'
view = new WizardSettingsView() view = new WizardSettingsView()
@insertSubView view @insertSubView view
super() super()

View file

@ -20,16 +20,16 @@ Camera = require 'lib/surface/Camera'
AudioPlayer = require 'lib/AudioPlayer' AudioPlayer = require 'lib/AudioPlayer'
# subviews # subviews
LoadingView = require './level/level_loading_view' LoadingView = require './level/LevelLoadingView'
TomeView = require './level/tome/tome_view' TomeView = require './level/tome/TomeView'
ChatView = require './level/level_chat_view' ChatView = require './level/LevelChatView'
HUDView = require './level/hud_view' HUDView = require './level/LevelHUDView'
ControlBarView = require './level/control_bar_view' ControlBarView = require './level/ControlBarView'
PlaybackView = require './level/playback_view' PlaybackView = require './level/LevelPlaybackView'
GoalsView = require './level/goals_view' GoalsView = require './level/LevelGoalsView'
GoldView = require './level/gold_view' GoldView = require './level/LevelGoldView'
VictoryModal = require './level/modal/victory_modal' VictoryModal = require './level/modal/VictoryModal'
InfiniteLoopModal = require './level/modal/infinite_loop_modal' InfiniteLoopModal = require './level/modal/InfiniteLoopModal'
PROFILE_ME = false PROFILE_ME = false

View file

@ -6,7 +6,7 @@ CocoCollection = require 'collections/CocoCollection'
User = require 'models/User' User = require 'models/User'
LeaderboardCollection = require 'collections/LeaderboardCollection' LeaderboardCollection = require 'collections/LeaderboardCollection'
{teamDataFromLevel} = require './utils' {teamDataFromLevel} = require './utils'
ModelModal = require 'views/modal/model_modal' ModelModal = require 'views/modal/ModelModal'
HIGHEST_SCORE = 1000000 HIGHEST_SCORE = 1000000

View file

@ -6,10 +6,10 @@ CocoCollection = require 'collections/CocoCollection'
{me} = require 'lib/auth' {me} = require 'lib/auth'
application = require 'application' application = require 'application'
LadderTabView = require './ladder_tab' LadderTabView = require './LadderTabView'
MyMatchesTabView = require './my_matches_tab' MyMatchesTabView = require './MyMatchesTabView'
SimulateTabView = require './simulate_tab' SimulateTabView = require './SimulateTabView'
LadderPlayModal = require './play_modal' LadderPlayModal = require './LadderPlayModal'
CocoClass = require 'lib/CocoClass' CocoClass = require 'lib/CocoClass'
HIGHEST_SCORE = 1000000 HIGHEST_SCORE = 1000000
@ -92,8 +92,8 @@ module.exports = class LadderView extends RootView
@openModalView modal @openModalView modal
showApologeticSignupModal: -> showApologeticSignupModal: ->
SignupModal = require 'views/modal/auth_modal' AuthModal = require 'views/modal/AuthModal'
@openModalView(new SignupModal({showRequiredError: true})) @openModalView(new AuthModal({showRequiredError: true}))
onClickedLink: (e) -> onClickedLink: (e) ->
link = $(e.target).closest('a').attr('href') link = $(e.target).closest('a').attr('href')

View file

@ -2,7 +2,7 @@ CocoView = require 'views/kinds/CocoView'
Level = require 'models/Level' Level = require 'models/Level'
LevelSession = require 'models/LevelSession' LevelSession = require 'models/LevelSession'
LeaderboardCollection = require 'collections/LeaderboardCollection' LeaderboardCollection = require 'collections/LeaderboardCollection'
LadderSubmissionView = require 'views/play/common/ladder_submission_view' LadderSubmissionView = require 'views/play/common/LadderSubmissionView'
{teamDataFromLevel} = require './utils' {teamDataFromLevel} = require './utils'
module.exports = class MyMatchesTabView extends CocoView module.exports = class MyMatchesTabView extends CocoView

Some files were not shown because too many files have changed in this diff Show more