Commit Graph
79 Commits
Author SHA1 Message Date
Andrew Miner 96617a755e 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-08 22:54:12 -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 6928d93abb Interate over the "other" group first 2015-02-02 20:29:27 -08:00
Andrew Miner 8d7fd5d25c Add "remove" button to inventory view 2015-01-31 20:53:09 -08:00
Andrew Miner e0c642e787 Store want/have in URL/local storage 2015-01-31 15:48:24 -08:00
Andrew Miner 6e3843731b Allow items to be grouped on mod detail pages 2015-01-30 13:03:10 -08:00
Andrew Miner a365217890 Add documentation & download links to mod page 2015-01-30 10:19:41 -08:00
Andrew Miner d0c3d4de5e Enabled mods if needed to match requested URL 2015-01-30 09:48:57 -08:00
Andrew Miner 11adb30610 Bug: Always fetch effective mod version 2015-01-29 14:11:01 -08:00
Andrew Miner d5140f963d Fix various small bugs related to new mod page 2015-01-29 13:24:30 -08:00
Andrew Miner d0fdbdf2c6 Moke internal links use router 2015-01-29 12:13:31 -08:00
Andrew Miner 332f64abea Initial version of mod detail pages 2015-01-29 10:04:11 -08:00
Andrew Miner 705b3b05e1 Add getSlugs method 2015-01-28 10:28:38 -08:00
Andrew Miner ae66f52678 Add the findRecipes method to Mod/Pack/Version 2015-01-28 10:26:19 -08:00
Andrew Miner 7ee0b55411 Add tests for the Recipe model 2015-01-28 09:59:35 -08:00
Andrew Miner 64b6b97807 Allow user to select actual version of a mod 2015-01-22 12:06:47 -08:00
Andrew Miner 641f3f522b Fix bug where deep links didn't connect 2015-01-21 15:32:35 -08:00
Andrew Miner e612cedf8d Fix scripts and tests
* Fix the reformat script to work with recent changes
* Fix the convert-nei-dump script to remove leading and trailing '_'
* Fix various broken tests
2015-01-21 15:05:19 -08:00
Andrew Miner 650ef1b581 Fix ModPageController to load progressively 2015-01-20 16:14:19 -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 ecc839cca8 Factor out the ReceipeController 2015-01-18 16:37:23 -08:00
Andrew Miner 28f762abe9 Make fetch a no-up if already loaded 2015-01-18 11:15:52 -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 83868e2760 Massive refactoring to clean up models
* Tweak style of quantity label in output box to be more visible
* Move data files for all mods under a directory for the specific
  version of the mod
* Add a `silent` property to the base model to prevent models which
  shouldn't be observed from emitting events
* Change the term "itemSlug" to just "slug" across the board
* Change all models so that they don't require their parent in their
  constructors and so that they don't automatically add themselves to
  their parents lists
* Remove a bunch of unnecessary event triggering
* Tighten up access to various lists of children across all models
* Refactor the guts of the V2 parser into an abstract base class so
  it can be used for other parsers in the future
* Remove a number of unused methods
2015-01-17 11:49:07 -08:00
Andrew Miner c3aac86e3a Fix bug which made deep links fail 2015-01-16 20:49:41 -08:00
Andrew Miner 5f57622cf3 Several large refactorings
* Refactor location of all data files to include a subdirectory
  for the mod version
* Update the BaseModel class to allow models to load themselves from
  any text file (whether JSON or CG)
* Refactor ModPack & ModVersion to move the laoding functionality in
  one into the other (and use the new stuff in BaseModel)
* Move the parser versions into a new subdirectory which allows for
  future additional parsers
2015-01-16 20:26:54 -08:00
Andrew Miner 03b46f3958 Add local storage for certain UI state 2015-01-16 09:01:06 -08:00
Andrew Miner 33b9214386 Add a "report a problem" link in crafting plan 2015-01-15 21:59:03 -08:00
Andrew Miner d94bd39e52 Refactor the SAYT code to return better results 2015-01-15 17:12:12 -08:00
Andrew Miner 2e163600fa Fix missing line number bug in parser 2015-01-15 09:34:16 -08:00
Andrew Miner fd2bf159ad Fix bug where including tools doesn't re-craft 2015-01-14 16:00:42 -08:00
Andrew Miner 291f94da57 Add the "verify" script
In addition to the new script, this changes the V2 parser to be able
to continue past the first error found so that as many errors as
possible may be displayed.
2015-01-14 15:57:27 -08:00
Andrew Miner 89a8e2b539 Add V2 file format 2015-01-14 15:19:02 -08:00
Andrew Miner 823df84924 Revert local storage change & refactor parser V1
* Revert the local storage change as it ties model objects to global
  state and makes testing impossible. It will be necessary to redo
  that feature differently
* Refactor the parser versions to move V1 into its own set of files
2015-01-13 09:44:13 -08:00
Andrew Miner 47c7cf693a Fix bug where "include tools" would always stay on 2015-01-12 14:21:34 -08:00
Andrew Miner fef9d155d8 Store tool and modVersion enabled states 2015-01-12 14:18:07 -08:00
Andrew Miner c510c5a1da Add feedback widget 2015-01-12 12:35:36 -08:00
Andrew Miner 1b328a8542 Add missing recipes for BC 6.2.6 2015-01-12 03:59:41 -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 16f17f62a1 Update URL to reflect single item crafting 2015-01-11 09:09:58 -08:00
Andrew Miner 9970b92157 Fix broken tests for gatherNames 2015-01-10 12:13:43 -08:00
Andrew Miner 9756f1f045 Allow "have" inventory to include non-craftables 2015-01-10 11:55:07 -08:00
Andrew Miner cbe836086a Change crafting table name to show step count 2015-01-10 10:52:23 -08:00
Andrew Miner fa29b77746 Update URL param handling for new site 2015-01-10 09:40:50 -08:00
Andrew Miner f5681a84aa Fix default patterns to not be recorded 2015-01-10 02:16:38 -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 b8d60ac245 Add shaped crafing and recipes for MC 1.7.10 2015-01-08 22:01:02 -08:00
Andrew Miner cf9a76df21 Fix algo. for compacting steps in a crafting plan 2015-01-08 15:11:11 -08:00
Andrew Miner 7954b86140 Add label showing tool names 2015-01-08 14:57:43 -08:00