Commit Graph
31 Commits
Author SHA1 Message Date
Andrew Miner 570242ec48 Update /craft URL on quantity changes 2015-03-01 17:18:28 -08:00
Andrew Miner c31e511080 Fix a bunch of internal links to avoid reloading 2015-03-01 16:38:12 -08:00
Andrew Miner 43dfec7e04 Add initial version of the home page 2015-02-28 18:52:34 -08:00
Andrew Miner 7210245cc6 Initial version of header nav bar 2015-02-28 13:47:51 -08:00
Andrew Miner 9f0d19d9e4 Adjust animations, fix bugs, and tweak a few algos
* Adjust page change animations to slide the page closed and then
  open again.
* Add Railcraft to the standard set of mods
* Change every controller which uses an `ImageLoader` to only accept
  it from a parent controller (with the router creating the one
  shared instance).
* Fix several places where controllers need to refresh when the mod
  pack changes
* Fix a few places which should be using the `ImageLoader` but were
  not.
* Remove a number of animations which caused performance issues (esp.
  animating individual items in item group views).
* Fix a bug where changing the current version of a mod didn't cause
  the current crafting plan to be re-evaluated
* Simplify the name finder to allow regular expressions instead of
  the current algorithm
2015-02-22 21:31:48 -08:00
Andrew Miner e88821d449 Convert codebase to using ItemSlug
* Flesh out the formerly incomplete ItemSlug class
* Convert all uses of text item slugs to use ItemSlug
* Move the ItemSlug class under models where it properly belongs
* Avoid the use of `slug` as a local variable or item attribute
  wherever possible to avoid confusion between various kinds of slugs
* Merge the InventoryParser class into the Inventory class as it is
  unlikely to need to support multiple versions
* Simplify the ModPack/Mod/ModVersion interfaces by replacing the use
  of various "helper" methods with equivalent use of more generic
  methods
* Update the various methods of ModPack/Mod/ModVersion to be able to
  work with qualified or unqualified ItemSlugs
* Remove the unused BaseCollection class
* Add tests for ItemSlug and update all other tests to reflect
  all the other changes
2015-02-18 10:30:53 -08:00
Andrew Miner 380a78ef61 Qualify all item slugs to the mod which adds them #53
* Change default item URL to fall under /mod/<mod slug>/<item slug>
  but kept the old URL pattern around with the old behavior (i.e.,
  find the first item with that slug)
* Update Item to have a `qualifiedSlug` property which combines the
  item's own slug with its Mod's slug.  Updated a lot of code all
  over to use this in preference to the plain slug.
* Add a `localizeTo` method to Inventory to allow non-qualified slugs
  to be converted into qualified slugs within the inventory's stacks
* Update ModPack to work with either qualified or unqualified slugs
  for relevant methods
* Fix model state changes to happen before related events are
  triggered
* Add a debounce to the CraftingPlan object when triggering a recraft
  due to changes in related objects (esp. its inventories)
* Update the Inventory's sort to keep items sorted by mod before name
  with the Minecraft items sorted to the top
* Fix `ModPack.findItemByName` to actually recursively use the Mod's
  method instead of slugifying the given name and looking for the
  slug (since this won't necessarily work anymore).
* Ensure each Mod is assigned a reference to its containing ModPack
* Fix NameFinder to only consider an item non-gatherable if it is
  also craftable
* Update ModVersionParserV1 to assign qualified slugs to recipes
  for any items which are in the same mod (leaving any other slugs
  unqualified)
* Add Underscore mixins for composing and decomposing slugs
* Update old tests for the use of qualified slugs, and some new tests
  for the new methods added
2015-02-10 17:56:02 -08:00
Andrew Miner 7da757bec8 Remove temp. redirect avoiding item detail page 2015-02-09 21:21:41 -08:00
Andrew Miner 0a52d16eb1 Improve logging performance by using functions
Improve logging performance by using functions to delay when complex
strings are created until after the current logging level has been
checked to ensure that log statement is actually going to be printed.
There are many places where very complex objects are printed at lower
logging levels which this avoids.
2015-02-09 21:15:10 -08:00
Andrew Miner 996c8823a3 Avoid exposing incomplete item detail page 2015-02-08 23:23:31 -08:00
Andrew Miner 6d98daa0bb Bug: Use right delimiter for URLs with quantity 2015-02-08 23:18:19 -08:00
Andrew Miner e23b6154ae Rename RecipeController to MinimalRecipeController 2015-02-08 15:16:58 -08:00
Andrew Miner 97a27f138f Initial implementation of item page (disabled) 2015-02-08 15:02:39 -08:00
Andrew Miner 0f73fc18a0 Move all /item URLs to /crafting 2015-02-07 12:37:44 -08:00
Andrew Miner e0c642e787 Store want/have in URL/local storage 2015-01-31 15:48:24 -08:00
Andrew Miner 841af15d5e Fix bugs in intra-site linking
* Refactor event handling in controllers to use a method to define
  the hash (and thereby allow inheritance)
* Refactor link handling so that links which should be handled by the
  router can be handled by the base class
* Change the router to throw out controllers for pages which aren't
  on-screen (and thereby avoid a lot of weirdness)
2015-01-29 13:59:12 -08:00
Andrew Miner d0fdbdf2c6 Moke internal links use router 2015-01-29 12:13:31 -08:00
Andrew Miner c07b271d1a Remove debug logging 2015-01-24 16:37:30 -08:00
Andrew Miner 641f3f522b Fix bug where deep links didn't connect 2015-01-21 15:32:35 -08:00
Andrew Miner 164c0d4892 Add nascent version of the mod detail page
* Create a nascent version of the mod detail page
* Make the slug mandatory for Mod instead of name, and load the name
  from the data file
* Make the Feedback view universal on all pages
* Refactor the use of mod pack to have a single global object at the
  router level which is shared between pages. Further, make this one
  object load itself immediately and have it automatically load any
  activated mod version
* Refactor the use of Storage related to mod pack versions into the
  router as well.
* Add trace logging back in for events, but allow individual classes
  to suppress it (as opposed to actually supressing the events)
* Fix a bug in ModVersion.eachItem where it would suggest so-called
  items which are merely registered slugs without associated items
2015-01-20 10:55:38 -08:00
Andrew Miner 3efdff6ca4 Fix bug where GA being slow to load caused crash 2015-01-16 21:03:25 -08:00
Andrew Miner 6562c5a4b8 Only report path to GA 2015-01-15 11:43:41 -08:00
Andrew Miner f7fb6cd10e Ensure the current URL is recorded for GA 2015-01-15 11:38:42 -08:00
Andrew Miner 03eacc243c Don't duplicate reports of page visits 2015-01-15 11:30:47 -08:00
Andrew Miner f0c6c055ff Ensure GA is recorded for each page change 2015-01-15 11:14:04 -08:00
Andrew Miner fa29b77746 Update URL param handling for new site 2015-01-10 09:40:50 -08:00
Andrew Miner 206973e304 Update header comments 2015-01-05 06:42:05 -08:00
Andrew Miner bf113d26ab Update URL scheme to include /item/*
* Update the router to understand /item/:name routes in addition to
  v1.0-style parameterized routes
* Add support for updating the current URL based upon the item being
  viewed
* Change LandingPage* to ItemPage*
2014-12-28 12:59:29 -08:00
Andrew Miner 95c15abe10 Added CraftingTable* components and UI 2014-12-23 20:26:36 -08:00
Andrew Miner b05fc4c5c9 Complete the RecipeBook controller 2014-12-23 09:12:02 -08:00
Andrew Miner 16832e02dd Step 1 in converting to a Backbone-based website 2014-12-22 16:36:04 -08:00