Add button to suggest a new mod
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user