Merge branch 'dev/error_message_for_editor' of git://github.com/gintau/codecombat into gintau-dev/error_message_for_editor

This commit is contained in:
Nick Winter 2014-03-29 17:38:14 -07:00
commit 54f4e8d1e9
8 changed files with 53 additions and 5 deletions

View file

@ -18,10 +18,12 @@ block content
h3(data-i18n="article.edit_article_title") Edit Article
span
|: "#{article.attributes.name}"
#article-treema
#article-view
hr
div#error-view

View file

@ -75,4 +75,6 @@ block outer_content
div.tab-pane#editor-level-systems-tab-view
div#error-view
block footer

View file

@ -84,4 +84,6 @@ block content
div#spritesheets
div#error-view
.clearfix

3
app/templates/error.jade Normal file
View file

@ -0,0 +1,3 @@
div.alert.alert-warning
h2
span(data-i18n="common.error") Error: Failed to process request.

View file

@ -1,5 +1,6 @@
View = require 'views/kinds/RootView'
VersionHistoryView = require './versions_view'
ErrorView = require '../../error_view'
template = require 'templates/editor/article/edit'
Article = require 'models/Article'
@ -19,6 +20,18 @@ module.exports = class ArticleEditView extends View
super options
@article = new Article(_id: @articleID)
@article.saveBackups = true
@listenToOnce(@article, 'error',
() =>
@hideLoading()
# Hack: editor components appear after calling insertSubView.
# So we need to hide them first.
$(@$el).find('.main-content-area').children('*').not('#error-view').remove()
@insertSubView(new ErrorView())
)
@article.fetch()
@listenToOnce(@article, 'sync', @onArticleSync)
@listenTo(@article, 'schema-loaded', @buildTreema)

View file

@ -13,6 +13,7 @@ SystemsTabView = require './systems_tab_view'
LevelSaveView = require './save_view'
LevelForkView = require './fork_view'
VersionHistoryView = require './versions_view'
ErrorView = require '../../error_view'
module.exports = class EditorLevelView extends View
id: "editor-level-view"
@ -43,6 +44,12 @@ module.exports = class EditorLevelView extends View
@level = new Level _id: @levelID
@listenToOnce(@level, 'sync', @onLevelLoaded)
@listenToOnce(@supermodel, 'error',
() =>
@hideLoading()
@insertSubView(new ErrorView())
)
@supermodel.populateModel @level
showLoading: ($el) ->

View file

@ -1,15 +1,16 @@
View = require 'views/kinds/RootView'
template = require 'templates/editor/thang/edit'
ThangType = require 'models/ThangType'
SpriteParser = require 'lib/sprites/SpriteParser'
SpriteBuilder = require 'lib/sprites/SpriteBuilder'
CocoSprite = require 'lib/surface/CocoSprite'
Camera = require 'lib/surface/Camera'
ThangComponentEditView = require 'views/editor/components/main'
VersionHistoryView = require './versions_view'
DocumentFiles = require 'collections/DocumentFiles'
View = require 'views/kinds/RootView'
ThangComponentEditView = require 'views/editor/components/main'
VersionHistoryView = require './versions_view'
ColorsTabView = require './colors_tab_view'
ErrorView = require '../../error_view'
template = require 'templates/editor/thang/edit'
CENTER = {x:200, y:300}
@ -43,6 +44,18 @@ module.exports = class ThangTypeEditView extends View
@mockThang = $.extend(true, {}, @mockThang)
@thangType = new ThangType(_id: @thangTypeID)
@thangType.saveBackups = true
@listenToOnce(@thangType, 'error',
() =>
@hideLoading()
# Hack: editor components appear after calling insertSubView.
# So we need to hide them first.
$(@$el).find('.main-content-area').children('*').not('#error-view').remove()
@insertSubView(new ErrorView())
)
@thangType.fetch()
@thangType.loadSchema()
@listenToOnce(@thangType.schema(), 'sync', @onThangTypeSync)

View file

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