Initial stages of an analytics view

This commit is contained in:
Josh Callebaut 2016-04-07 14:48:40 -07:00
parent 0436f18279
commit 62a027e76e

View file

@ -2,21 +2,64 @@ RootView = require 'views/core/RootView'
template = require 'templates/artisans/levelAnalyticsView'
Level = require 'models/Level'
Campaign = require 'models/Campaign'
Level = require 'models/Level'
CocoCollection = require 'collections/CocoCollection'
module.exports = class LevelAnalyticsView extends RootView
template: template
id: 'level-analytics-view'
excludedCampaigns = [
"picoctf"
"auditions"
]
constructor: (options) ->
super options
@campaigns = new CocoCollection([],
url: '/db/campaign?project=name,slug,tasks'
model: Campaign
)
@levels = new CocoCollection([],
url: '/db/level?project=slug,thangs&limit=100'
model: Level
)
@campaigns.fetch()
@listenTo(@campaigns, 'sync', @onCampaignsLoaded)
@supermodel.loadCollection(@campaigns, 'campaigns')
@levels.fetch()
@listenTo(@levels, 'sync', @onLevelsLoaded)
@supermodel.loadCollection(@levels, 'levels')
onCampaignsLoaded: ->
@levelSlugs = []
for campaign in @campaigns.models
continue unless excludedCampaigns.indexOf(campaign.get 'slug') is -1
levels = campaign.get('levels')
for key, level of levels
@levelSlugs.push level.slug
if @levels.models.length isnt 0
@readyUp()
onLevelsLoaded: ->
console.log @levels
if @campaigns.models.length isnt 0
@readyUp()
readyUp: ->
for levelSlug in @levelSlugs
level = @levels.findWhere({slug:levelSlug})
unless level?
continue
console.warn('Warning: ' + levelSlug) unless level?
console.log levelSlug
thangs = level.get('thangs')
for thang in thangs
for component in thang.components
if component.config?.programmableMethods?
console.log "HI!"
break
console.log thang
break
###
@levels = []
for campaign in @campaigns.models
continue unless campaign.get('slug') is 'dungeon'
@ -32,4 +75,5 @@ module.exports = class LevelAnalyticsView extends RootView
@supermodel.loadCollection(@stats, 'stats')
@renderSelectors '#levelTable'
onStatsLoaded: ->
console.log @stats
console.log @stats
###