Only load Adsense in prod. and reset on each page
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
###
|
||||
Crafting Guide - adsense_controller.coffee
|
||||
|
||||
Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
{AdsenseEnvs} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
module.exports = class AdsenseController extends BaseController
|
||||
|
||||
constructor: (options={})->
|
||||
options.model ?= 'skyscraper_sidebar'
|
||||
options.templateName = "adsense_#{options.model}"
|
||||
super options
|
||||
|
||||
@_adsEnabled = global.env in AdsenseEnvs
|
||||
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
render: ->
|
||||
if @_adsEnabled
|
||||
super
|
||||
else
|
||||
@$el.addClass 'placeholder'
|
||||
@_rendered = true
|
||||
|
||||
@$el.addClass @model
|
||||
|
||||
refresh: ->
|
||||
return unless @_adsEnabled
|
||||
|
||||
try
|
||||
global.adsbygoogle ||= []
|
||||
global.adsbygoogle.push {}
|
||||
catch e
|
||||
logger.warning "Could not load Adsense ad: #{e}"
|
||||
@@ -5,10 +5,11 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
PageController = require './page_controller'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
ModController = require './mod_controller'
|
||||
AdsenseController = require './adsense_controller'
|
||||
ModController = require './mod_controller'
|
||||
PageController = require './page_controller'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -30,7 +31,8 @@ module.exports = class BrowsePageController extends PageController
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@$modContainer = @$('.mods')
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
@$modContainer = @$('.mods')
|
||||
super
|
||||
|
||||
refresh: ->
|
||||
|
||||
@@ -5,6 +5,7 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
AdsenseController = require './adsense_controller'
|
||||
PageController = require './page_controller'
|
||||
ModPackController = require './mod_pack_controller'
|
||||
|
||||
@@ -29,5 +30,6 @@ module.exports = class ConfigurePageController extends PageController
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
@modPackController = @addChild ModPackController, '.view__mod_pack', model:@modPack, storage:@storage
|
||||
super
|
||||
|
||||
@@ -5,7 +5,8 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
PageController = require './page_controller'
|
||||
AdsenseController = require './adsense_controller'
|
||||
PageController = require './page_controller'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
@@ -15,6 +16,12 @@ module.exports = class HomeController extends PageController
|
||||
options.templateName = 'home_page'
|
||||
super options
|
||||
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
super
|
||||
|
||||
# Backbone.View Overrides ######################################################################
|
||||
|
||||
events: ->
|
||||
|
||||
@@ -5,8 +5,7 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
AdsenseController = require './adsense_controller'
|
||||
FullRecipeController = require './full_recipe_controller'
|
||||
ImageLoader = require './image_loader'
|
||||
Item = require '../models/item'
|
||||
@@ -14,6 +13,8 @@ ItemGroupController = require './item_group_controller'
|
||||
ItemPage = require '../models/item_page'
|
||||
ItemSlug = require '../models/item_slug'
|
||||
PageController = require './page_controller'
|
||||
{Duration} = require '../constants'
|
||||
{Event} = require '../constants'
|
||||
{Text} = require '../constants'
|
||||
{Url} = require '../constants'
|
||||
|
||||
@@ -45,11 +46,13 @@ module.exports = class ItemPageController extends PageController
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@_usedAsToolToMakeController = @addChild ItemGroupController, '.usedAsToolToMake .view__item_group',
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
|
||||
@_similarItemsController = @addChild ItemGroupController, '.similar .view__item_group',
|
||||
imageLoader: @imageLoader
|
||||
modPack: @modPack
|
||||
|
||||
@_similarItemsController = @addChild ItemGroupController, '.similar .view__item_group',
|
||||
@_usedAsToolToMakeController = @addChild ItemGroupController, '.usedAsToolToMake .view__item_group',
|
||||
imageLoader: @imageLoader
|
||||
modPack: @modPack
|
||||
|
||||
|
||||
@@ -5,12 +5,13 @@ Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
{Duration} = require '../constants'
|
||||
AdsenseController = require './adsense_controller'
|
||||
Item = require '../models/item'
|
||||
ItemGroupController = require './item_group_controller'
|
||||
Mod = require '../models/mod'
|
||||
ModPack = require '../models/mod_pack'
|
||||
PageController = require './page_controller'
|
||||
{Duration} = require '../constants'
|
||||
{Text} = require '../constants'
|
||||
{Url} = require '../constants'
|
||||
|
||||
@@ -52,6 +53,8 @@ module.exports = class ModPageController extends PageController
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
onDidRender: ->
|
||||
@adsenseController = @addChild AdsenseController, '.view__adsense', model:'sidebar_skyscraper'
|
||||
|
||||
@$name = @$('.name')
|
||||
@$byline = @$('.byline p')
|
||||
@$description = @$('.description p')
|
||||
|
||||
Reference in New Issue
Block a user