Update the crafting page so that the check mark for each step only
appears when hovering over that step, and so that the check also has
some descriptive text helping the user understand what it does.
When rapidly transitioning between various states, the markdown
editor could wind up with a weird mixture of UI elements showing as
some of transitions were dropped because they followed too quickly
on the heels of another transition.
This change fixes the problem by changing how the BaseController's
`hide` and `show` functions work. They now set a "target" state on
the element and, during each step of the animation, check whether
the target has changed. If so, the transition begins to work in
reverse to return to the prior state.
* Convert build to use a single JavaScript file on the site (instead
of downloading each library separately). This also means that all
global variables (e.g., `$` for JQuery, `_` for Underscore.js) can
be removed.
* Remove unused scripts and/or move them to a more appropriate repo
* Update the `deploy` script to work with CircleCI's automation
* Update markdown display code to allow images to be located with the
markdown data files instead of the pre-rendered index pages
* Fix AddThis component not showing up by altering the URL they
provide to use GET parameters instead of the hash component
* Fix a bug with saving the "have" items on the crafting page
The `InventoryTableController` had been split off from the existing
`InventoryController` some time ago, but was never properly factored
not to share common code. This change elimiates it altogether in
favor of the newly re-vamped `InventoryController` which is now
flexible enough to be used in both places.
When unparsing an inventory which contains an item whose unqualified
slug appears in multiple mods (e.g., "steel_ingot" appears in both
Railcraft and Mekanism), the `unparse` method would choose the wrong
fully-qualified slug to use in the resulting string.
This introduces the new crafting page design featuring a new vertical
layout and list display of all crafting steps. It also makes it easy
to move items between the have/need sections and even from each step
into your inventory (causing a new crafting plan to be created which
doesn't plan on making that item).
* Convert the `BaseController.hide` and `show` methods to be much
more robust in the use of CSS transitions (using a timer in case a
transition doesn't actually fire).
* Change `hide`/`show` to use events for communicating animation
state instead of callbacks
* Convert several controllers to fire events for communication with
parent controllers instead of accepting functions.
* Rewrite the `CraftPageController`, `CraftPage` model and related
Jade/SCSS files to implement the new design.
* Alter the `InventoryController` and `StackController` to allow a
variety of action buttons, and for the events from those action
buttons to bubble up to parent controllers
* Add the `StepController` and its related model, template, and style
sheet as part of the new craft page.
* Tweak the `ItemSelectorController` and related files to allow for
a variety of styles for the launcher button
When displaying an inventory list in read-only mode, it was possible
to reset the quantity to 9999 if the value was higher than that by
clicking the field. This accidentally triggered the validations
applied when editing the field even though editing wasn't possible.
Fix a bug in the crafting plan where it would determine the number of
repetitions of the recipe only based upon the primary output even
when the recipe was needed only for a secondary output (e.g., when a
recipe calls for Creosote Oil, which is only produced as a secondary
output).