Commit Graph

12887 Commits

Author SHA1 Message Date
George Stephanis 2a0951e4e5 Add more data attributes to the rows and fields. 2015-08-12 12:59:11 -04:00
George Stephanis d52c4d1fde Don't base size of news off the dom. 2015-08-12 12:59:11 -04:00
George Stephanis 1a066ebbe0 Swap to associative array for model. 2015-08-12 12:59:11 -04:00
George Stephanis 388a584914 Not actually used, comment it out. 2015-08-12 12:59:11 -04:00
George Stephanis 9887fbaf50 Probably tidier to use `event` and not `e` 2015-08-12 12:59:11 -04:00
George Stephanis 0996778567 Figured out how to avoid hardcoding the instance. 2015-08-12 12:59:11 -04:00
George Stephanis 5783a20794 Don't use `this` in a callback with the wrong context.
@todo: Find a way to stop needing to refer to the specific instance
from the abstract class.
2015-08-12 12:59:11 -04:00
George Stephanis 0fb85f4656 Use $(window).on() instead of window.addEventListener. Because ¯\_(ツ)_/¯ 2015-08-12 12:59:10 -04:00
George Stephanis dc649e2964 JS objects + trailing commas = sad IE 2015-08-12 12:59:10 -04:00
George Stephanis 187e253177 Remove some debugging 2015-08-12 12:59:10 -04:00
George Stephanis ce7cb1f65d Add a `beforeunload` event to prompt before leaving with unsaved changes. 2015-08-12 12:59:10 -04:00
George Stephanis b4682d7f2d Change how things are called to the new bb render. 2015-08-12 12:59:10 -04:00
George Stephanis f7c2223a23 Change the structure to Backbone models/views. 2015-08-12 12:59:10 -04:00
George Stephanis 9e5abc22ad Whoops! Comma, not semicolon. 2015-08-12 12:59:10 -04:00
George Stephanis c6e3a577c0 Set backbone and underscore as script dependencies. 2015-08-12 12:59:10 -04:00
George Stephanis 8a416f105b Should be comparing to `'1'` not `1`. 2015-08-12 12:59:10 -04:00
George Stephanis b75093b640 Optimization, save the $table selector to avoid some dom lookups. 2015-08-12 12:59:09 -04:00
George Stephanis 386ec26fb9 Whitespace tweaks. 2015-08-12 12:59:09 -04:00
George Stephanis e197bc242f Retool the export to use the global object, not parsing out of the dom. 2015-08-12 12:59:09 -04:00
George Stephanis ddba588987 Migrate the logic and queries out of the template file.
Move them where they belong, in the class that calls it.
2015-08-12 12:59:09 -04:00
George Stephanis 5f4cbf78d0 Remove the legacy pagination. 2015-08-12 12:59:09 -04:00
George Stephanis a1d7121c99 Update the current page when the number is changed. 2015-08-12 12:59:09 -04:00
George Stephanis 4df13e6ffb Don't set them for unexistent rates. 2015-08-12 12:59:09 -04:00
George Stephanis 7bebbaff9e Pagination now works by first, prev, next, last.
Still need to get number based pagination working.
2015-08-12 12:59:09 -04:00
George Stephanis cf59aec17d Add in and populate pagination template.
The buttons don’t actually do anything yet, but it outputs accurately
and inherits core styles.
2015-08-12 12:59:09 -04:00
George Stephanis d9b2907ae2 Begin to handle pagination.
This lets the initial view display only a single page, future commits
will add in the paginater.
2015-08-12 12:59:08 -04:00
George Stephanis be4c7db8bd Pass rates in as an array, not an associative array, so it's an Array in js. 2015-08-12 12:59:08 -04:00
George Stephanis 0608bcce19 The name resetter should also be run after each render. 2015-08-12 12:59:08 -04:00
George Stephanis c9a1ba2f39 A default placeholder to show until the rendering code replaces it. 2015-08-12 12:59:08 -04:00
George Stephanis f9fd4ada58 Wrap the rendering code inside a function that the data can be passed to. 2015-08-12 12:59:08 -04:00
George Stephanis 7985aec296 Ernest the JS so none of it evaluates before dom ready. 2015-08-12 12:59:08 -04:00
George Stephanis 26b95a4d80 Inline documentation explaining some functionality. 2015-08-12 12:59:08 -04:00
George Stephanis 7c60e48b0c Add some code comments. 2015-08-12 12:59:08 -04:00
George Stephanis 37f10c18cd Reposition when autocomplete is triggered.
Also, instead of searching through the whole dom, only search in the
tbody.
2015-08-12 12:59:07 -04:00
George Stephanis 536402c183 Insert placeholder divs for search and pagination. 2015-08-12 12:59:07 -04:00
George Stephanis 308c7f8676 Whitespace tweaks 2015-08-12 12:59:07 -04:00
George Stephanis ea0b9b96b9 Optimization: Don't use $.size(), use native Object.length instead. 2015-08-12 12:59:07 -04:00
George Stephanis 676af1f308 JSHint fixes.
The other advantage of splitting js out of php files — jshint can run
on it! :) :) :)
2015-08-12 12:59:07 -04:00
George Stephanis d3922a96cd Don't constantly rescan the dom for tbody
We have a cached version of $tbody a level up.
2015-08-12 12:59:07 -04:00
George Stephanis 1b035b43a3 Swap `jQuery` to `$`
It’s more readable, and safe to do as we’ve aliased it back in the
enclosure.
2015-08-12 12:59:07 -04:00
George Stephanis 8c47c0df1d Migrate current_class from php to js 2015-08-12 12:59:07 -04:00
George Stephanis 52d4ea822c Extract 'No Rows Selected' string 2015-08-12 12:59:07 -04:00
George Stephanis 973348d6ad Whitespace tidy! 2015-08-12 12:59:06 -04:00
George Stephanis 18293cf365 Extract the autocomplete for states and countries data.
Localize it!
2015-08-12 12:59:06 -04:00
George Stephanis 5d5a64753d Migrate csv columns to localize script. 2015-08-12 12:59:06 -04:00
George Stephanis 39749c4563 Move js in from php template file. 2015-08-12 12:59:06 -04:00
George Stephanis c128e4f826 Change variable name to consistent `$tbody` 2015-08-12 12:59:06 -04:00
George Stephanis a63ef876d7 Rename and tweak how js is registered.
Thanks @claudiosmweb for the suggestion to match existing conventions.
2015-08-12 12:59:06 -04:00
George Stephanis 0ed5f40fa2 Prefix template name with `wc-`
Good call, @mikejolley
2015-08-12 12:59:06 -04:00
George Stephanis a59ed70774 Big changeover to JS templating for the table.
Switching over to building the table with JS — wp.template.

We are now using the same JS template for existing rows and newly
generated rows on the fly — this should simplify things moving forward.

I’ve also started building stuff in an external JS file rather than
straight on the page.  Will continue migrating things to it and
localizing as needed.

Saved ( 2 * displayed tax rates - 1 ) db queries per page load by doing
the locations all in one query and then parceling them out in php.

More coming.
2015-08-12 12:59:06 -04:00