Commit Graph

101 Commits

Author SHA1 Message Date
George Stephanis 4e1922e9be new updateUrl function to store search queries and pagination changes in the url.
This makes it easier for folks to bookmark a page, share a url, etc.
2015-08-12 14:19:45 -04:00
George Stephanis 10255fcdd4 Globally cache the search field from the dom. 2015-08-12 14:19:01 -04:00
George Stephanis e9f0325ac1 Sanitize the pagination for scope on load. 2015-08-12 14:17:50 -04:00
George Stephanis c4f3d90588 Add in tracking for changes. 2015-08-12 12:59:13 -04:00
George Stephanis 56218b0824 Add in a notification for unsaved changes. 2015-08-12 12:59:13 -04:00
George Stephanis 843fef6e26 Remove debugging per_page override. 2015-08-12 12:59:12 -04:00
George Stephanis a7a12f977e Kinda silly to have min length 3 on a field that holds max 2. 2015-08-12 12:59:12 -04:00
George Stephanis 5ff9e2e52e Reorder where we're running the before unload 2015-08-12 12:59:12 -04:00
George Stephanis d8fdfe4c87 Manually trigger change event. Why?
Unsure why this needs to be manually triggered, but its seems to.
2015-08-12 12:59:12 -04:00
George Stephanis a8b1cabc0b Be more specific as to what we're listening for. 2015-08-12 12:59:12 -04:00
George Stephanis ca13f5785b Listen for changes in form inputs.
When one is found, update the model to reflect the data in the dom.
2015-08-12 12:59:12 -04:00
George Stephanis efcb9f5048 Give the Model a setRateAttribute method.
This should simplify updating when listening for changes in the form.
2015-08-12 12:59:12 -04:00
George Stephanis 1332ef4a71 String.trim() polyfill. 2015-08-12 12:59:12 -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 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 a1d7121c99 Update the current page when the number is changed. 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 0608bcce19 The name resetter should also be run after each render. 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 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 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