Refactor website with new design & structure

This commit is contained in:
Andrew Miner
2016-04-03 19:30:15 -07:00
parent ec7e8c883d
commit d69585facd
406 changed files with 7411 additions and 37859 deletions
@@ -0,0 +1,10 @@
//-
//- Crafting Guide - item_group.jade
//-
//- Copyright (c) 2015 by Redwood Labs
//- All rights reserved.
//-
section.view__item_group
h2
.panel
@@ -0,0 +1,19 @@
//
// Crafting Guide - item_group.scss
//
// Copyright © 2014-2016 by Redwood Labs
// All rights reserved.
//
.view__item_group {
.panel {
display : flex;
flex-wrap : wrap;
justify-content : space-between;
.view__item_tile {
margin-bottom: $size-margin-medium;
width: calc(33% - 8px); // $size-margin-xsmall * 2
}
}
}
@@ -0,0 +1,84 @@
#
# Crafting Guide - item_group_controller.coffee
#
# Copyright © 2014-2016 by Redwood Labs
# All rights reserved.
#
BaseController = require '../../base_controller'
ItemController = require './item_tile/item_tile_controller'
########################################################################################################################
module.exports = class ItemGroupController extends BaseController
constructor: (options={})->
if not options.imageLoader? then throw new Error 'options.imageLoader is required'
if not options.modPack? then throw new Error 'options.modPack is required'
if not options.router? then throw new Error 'options.router is required'
options.model ?= []
options.templateName = 'common/item_group'
options.title ?= ''
options.tagName = 'section'
super options
@_imageLoader = options.imageLoader
@_modPack = options.modPack
@_router = options.router
@_title = options.title
# Property Methods #############################################################################
Object.defineProperties @prototype,
title:
get: -> @_title
set: (newTitle)->
@_title = newTitle
@tryRefresh()
# BaseController Overrides #####################################################################
onDidRender: ->
@$title = @$('h2')
@$items = @$('.panel')
super
onWillChangeModel: (oldModel, newModel)->
newModel ?= []
return super oldModel, newModel
refresh: ->
if @model.length > 0
@$title.html @_title
@_refreshItems()
@show()
else
@hide()
super
# Private Methods ##############################################################################
_refreshItems: ->
@_itemControllers ?= []
controllerIndex = 0
for item in @model
controller = @_itemControllers[controllerIndex]
if not controller?
controller = new ItemController
imageLoader: @_imageLoader
model: item
modPack: @_modPack
router: @_router
@_itemControllers.push controller
@$items.append controller.$el
controller.render()
else
controller.model = item
controllerIndex += 1
while @_itemControllers.length > controllerIndex
@_itemControllers.pop().remove()
@@ -0,0 +1,11 @@
//-
//- Crafting Guide - item_tile.jade
//-
//- Copyright (c) 2015 by Redwood Labs
//- All rights reserved.
//-
.view__item_tile
a
img
p.itemName
@@ -0,0 +1,30 @@
//
// Crafting Guide - item_tile.scss
//
// Copyright © 2014-2016 by Redwood Labs
// All rights reserved.
//
.view__item_tile {
a {
overflow: visible;
display: flex;
align-items: center;
img {
height: $size-minecraft-block;
width: $size-minecraft-block;
margin-right: $size-margin-small;
}
p {
font-family: $font-family-text;
font-size: $font-size-medium;
line-height: $size-minecraft-block;
overflow-x: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
@@ -0,0 +1,43 @@
#
# Crafting Guide - item_group_controller.coffee
#
# Copyright © 2014-2016 by Redwood Labs
# All rights reserved.
#
BaseController = require '../../../base_controller'
########################################################################################################################
module.exports = class ItemTileController extends BaseController
constructor: (options={})->
if not options.imageLoader? then throw new Error 'options.imageLoader is required'
if not options.model? then throw new Error 'options.model is required'
if not options.modPack? then throw new Error 'options.modPack is required'
options.templateName = 'common/item_group/item_tile'
super options
@_imageLoader = options.imageLoader
@_modPack = options.modPack
# BaseController Overrides #####################################################################
onDidRender: ->
@$icon = @$('img')
@$name = @$('.itemName')
@$nameLink = @$('a')
super
refresh: ->
display = @_modPack.findItemDisplay @model.slug
@_imageLoader.load display.iconUrl, @$icon
@$name.html display.itemName
@$nameLink.attr 'href', display.itemUrl
# Backbone.View Overrides ######################################################################
events: ->
return _.extend super,
'click a': 'routeLinkClick'