Add local storage for certain UI state

This commit is contained in:
Andrew Miner
2015-01-16 09:01:06 -08:00
parent 33b9214386
commit 03b46f3958
4 changed files with 66 additions and 0 deletions
@@ -7,11 +7,13 @@ All rights reserved.
BaseController = require './base_controller'
CraftingTableController = require './crafting_table_controller'
{Event} = require '../constants'
ImageLoader = require './image_loader'
InventoryController = require './inventory_controller'
ItemPage = require '../models/item_page'
ModPackController = require './mod_pack_controller'
NameFinder = require '../models/name_finder'
Storage = require '../models/storage'
########################################################################################################################
@@ -20,10 +22,12 @@ module.exports = class ItemPageController extends BaseController
constructor: (options={})->
options.model ?= new ItemPage
options.imageLoader ?= new ImageLoader defaultUrl:'/images/unknown.png'
options.storage ?= new Storage storage:window.localStorage
options.templateName = 'item_page'
super options
@imageLoader = options.imageLoader
@storage = options.storage
# Event Methods ################################################################################
@@ -32,6 +36,12 @@ module.exports = class ItemPageController extends BaseController
# BaseController Overrides #####################################################################
onWillRender: ->
@storage.register 'crafting-plan', @model.plan, 'includingTools'
@model.modPack.on Event.add, (modVersion)=>
@storage.register "mod-version:#{modVersion.slug}", modVersion, 'enabled'
super
onDidRender: ->
@wantController = @addChild InventoryController, '.want',
editable: true