Commit Graph
36 Commits
Author SHA1 Message Date
Andrew Miner d530ff73a3 Ensure page titles are always correct 2015-03-01 11:18:30 -08:00
Andrew Miner 2aa65d5e34 Add "Used as Tool to Make" section on item detail 2015-02-26 20:04:41 -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 aab3baec1a Fix misc. bugs caused by refactoring 2015-02-18 16:11:17 -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 0cea767f47 Fine tune animation timings 2015-02-09 21:15:10 -08:00
Andrew Miner 97659af22f Fix new links to route internally 2015-02-09 21:15:10 -08:00
Andrew Miner cf6d6fdbed Add link to crafting plan from item detail #83 2015-02-09 21:15:10 -08:00
Andrew Miner 618cbd7aea Set page title for item detail pages 2015-02-09 21:15:09 -08:00
Andrew Miner 4a3fd65848 Show all recipes for an item on its detail page 2015-02-09 21:15:09 -08:00
Andrew Miner 46427a70f6 First real version of item detail page
* Split the InventoryTable view/controller out from the existing
  inventory view/controller. This is a simpler component which only
  includes the table itself, and not the scrollbox, panel or header
  used on the crafting page.
* Create the FullRecipe view/controller to represent the expanded
  version of a recipe shown on the item page (as compared to the
  terser version on the crafting page).
* Rename the existing Recipe view/controller to MinimalRecipe to
  avoid confusing the two.
* Refactor the CSS for the Stack view/controller so that it can be
  shared between the Inventory and InventoryTable views.
* Incorporate all these new controllers into the item page and hook
  up the necessary model logic to drive them.
2015-02-09 21:15:09 -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 bd9bb2894f Add better page names for SEO 2015-02-02 09:59:01 -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 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 d1621bb9f6 Refactor ModVersion into Mod and ModVersion
* Remove V1 of the mod version parser and shift V2 up to be V1
* Add a parser for mod.cg files, and refactor the the mod-version.cg
  files to push the appropriate content up to the mod.cg
* Remove the concept of "silent" from BaseModel along with logging
  each event as they are fired (which is what really prompted the
  need for it in the first place)
* Move use of the Storage class to be completely the province of the
  controllers most closely related to models affected
* Convert the ModVersionController to the ModController and have it
  take on responsibility for choosing the mod version
* Update BaseModel to support simple accessors for the current state
* Update CraftingPlan to be able to remove uncraftable items
* Implement the Mod model
2015-01-18 10:48:12 -08:00
Andrew Miner 03b46f3958 Add local storage for certain UI state 2015-01-16 09:01:06 -08:00
Andrew Miner d94bd39e52 Refactor the SAYT code to return better results 2015-01-15 17:12:12 -08:00
Andrew Miner 355e98b032 Fix image loader bug which caused broken links 2015-01-15 09:35:00 -08:00
Andrew Miner a784f275ff Add back the "include tools" option
* Rewrite the crafting algorithm to recursively find all the steps
  involved and then resolve how many times each needs to be run.
* Update the base controller to debounce calls to refresh
* Fix a few erroneous recipes for IC2-Classic
2015-01-11 16:01:51 -08:00
Andrew Miner 9756f1f045 Allow "have" inventory to include non-craftables 2015-01-10 11:55:07 -08:00
Andrew Miner fa29b77746 Update URL param handling for new site 2015-01-10 09:40:50 -08:00
Andrew Miner b8a0918541 Complete the Crafting Table view/controller
* Add output box to the crafting table view
* Add remaining crafting patterns to all MC 1.7.10 recipes
* Add all crafting patterns to Buildcraft 6.2.6
* Disable mods which don't have patterns yet
* Add the Url constants for computing urls from templates
* Add the `findItemDisplay` to ModPack (along with tests) and remove
  all replace all uses of `getPathSlugs` with it
2015-01-09 10:08:02 -08:00
Andrew Miner 9424af9d84 Initial version of the new crafting table 2015-01-08 11:03:43 -08:00
Andrew Miner 9f79722378 Refactor image loading code into ImageLoader class 2015-01-07 11:20:49 -08:00
Andrew Miner f51082a1cb Add ability to craft multipl items at once
* Remove the old crafting table view
* Complete UI/UX of the inventory view
2015-01-07 08:31:53 -08:00
Andrew Miner a1a7ee5dc9 Initial implementation of the InventoryController 2015-01-06 10:25:05 -08:00
Andrew Miner 206973e304 Update header comments 2015-01-05 06:42:05 -08:00
Andrew Miner f16c01ca3d Clear recipeName field on focus 2015-01-01 21:38:58 -08:00
Andrew Miner 3493c41b39 Fix bug where deep links don't compute 2015-01-01 20:54:16 -08:00
Andrew Miner e14a4d0810 Rename RecipeCatalog to ModPack 2015-01-01 20:16:38 -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