Add button to suggest a new mod

This commit is contained in:
Andrew Miner
2015-01-15 14:43:17 -08:00
parent 6562c5a4b8
commit a50e3d9621
9 changed files with 125 additions and 50 deletions
@@ -21,6 +21,13 @@ module.exports = class FeedbackController extends BaseController
Object.defineProperty this, 'isOpen', get:-> @$el.offset().left is 0
# Public Methods ###############################################################################
enterFeedback: (message)->
promise = w(true)
if not @isOpen then promise = @onToggle()
promise.then => @$commentField.val message
# Event Methods ################################################################################
onSendClicked: ->
@@ -55,24 +62,28 @@ module.exports = class FeedbackController extends BaseController
@$sendButton.attr 'disabled', 'disabled'
onToggle: ->
@$screen.off 'click'
w.promise (resolve)=>
@$screen.off 'click'
if @isOpen
@$screen.css display:'none'
@$el.animate {left:-@$el.outerWidth()}, duration:Duration.normal, complete:=>
@$commentField.val ''
@$('input, textarea').blur()
else
@$screen.on 'click', => @onToggle()
@$screen.css display:'block'
if @isOpen
@$screen.css display:'none'
@$el.animate {left:-@$el.outerWidth()}, duration:Duration.normal, complete:=>
@$commentField.val ''
@$('input, textarea').blur()
resolve()
else
@$screen.on 'click', => @onToggle()
@$screen.css display:'block'
@$el.animate {left:0}, duration:Duration.normal, complete:=>
if @$nameField.val().length is 0
@$nameField.focus()
else if @$emailField.val().length is 0
@$emailField.focus()
else
@$commentField.focus()
@$el.animate {left:0}, duration:Duration.normal, complete:=>
if @$nameField.val().length is 0
@$nameField.focus()
else if @$emailField.val().length is 0
@$emailField.focus()
else
@$commentField.focus()
resolve()
# BaseController Overrides #####################################################################
@@ -20,6 +20,12 @@ module.exports = class ModPackController extends BaseController
options.templateName = 'mod_pack'
super options
# Event Methods ################################################################################
onSuggestModClicked: ->
return unless global.feedbackController?
global.feedbackController.enterFeedback 'Please add mod:\n\n'
# BaseController Overrides #####################################################################
onWillRender: ->
@@ -28,6 +34,7 @@ module.exports = class ModPackController extends BaseController
onDidRender: ->
@$table = @$('table')
@$toolbar = @$('.toolbar')
super
refresh: ->
@@ -42,4 +49,14 @@ module.exports = class ModPackController extends BaseController
@_modVersionControllers.push controller
@$table.prepend controller.$el
if global.feedbackController?
@$toolbar.show duration:0
else
@$toolbar.hide duration:0
super
# Backbone.View Overrides ######################################################################
events:
'click button[name="suggestMod"]': 'onSuggestModClicked'
+2 -1
View File
@@ -14,6 +14,7 @@ CraftingGuideRouter = require './crafting_guide_router'
if typeof(global) is 'undefined'
window.global = window
global = window.global
global.logger = new Logger
global.router = new CraftingGuideRouter
@@ -31,7 +32,7 @@ switch window.location.hostname
global.env = 'production'
logger.level = Logger.INFO
feedbackController = new FeedbackController el:'.view__feedback'
global.feedbackController = new FeedbackController el:'.view__feedback'
feedbackController.render()
logger.info "CraftingGuide is ready"