Commit Graph
21 Commits
Author SHA1 Message Date
BehindTheMath e49d8947f7 Add the option to use FormData to encode the form elements (#153)
* Add the option to use FormData to encode the form elements

If the form's enctype attribute is set to "multipart/form-data",
use FormData to encode the form's elements.
2018-04-29 15:05:22 -04:00
BehindTheMath 7d26a75fdf Use the same options object in handle-response as in send-request (#148)
Instead of cloning this.options again in handle-response.js, pass the options object from send-request.js. This way, pjax.state.options will also have the request options.
2018-04-26 09:27:50 -04:00
BehindTheMath d6bf21ed22 Fix bugs and add tests (#145)
* Fix bug when checking if elements were parsed already

parse-element.js checks if the element was already parsed by
checking for the `data-pjax-click-state` attribute. However, this
attribute was not added until the link is clicked.

Originally, there was a separate attribute, `data-pjax-enabled`,
which tracked if the element was parsed already, but that was
changed in 9a86044.

This commit merges the attributes for mouse clicks and key presses
into one and adds that attribute when the element is initially
parsed.

* More bug fixes

* Fix documentation for currentUrlFullReload

* Ignore lines from coverage if they can't be tested

* Refactor attach-link and attach-form

* Fix and refactors tests

* Add tests

* Add TS definitions for options.requestOptions

* Code cleanup
2018-04-09 23:36:32 -04:00
BehindTheMath 75eb83dbc2 Add replaceNode switch (#141)
* Add replaceNode switch

* Add test for replaceNode()

* Update TS definitions
2018-03-20 10:52:55 -04:00
BehindTheMath 5e41a32cf4 Add Typescript definitions (#138)
* Add Typescript definitions
* Add test file for TS
2018-03-15 21:16:11 -04:00
BehindTheMath 2166866967 Handle XHR response error (#137)
* Move the XHR callback to a separate file
* Trigger an error event if the response cannot be parsed.
* Add tests for handle-response.js
2018-03-15 16:12:32 -04:00
BehindTheMath 2d210c3305 0.2.5 (#121)
* Bump version to 0.2.5

* Update CHANGELOG
2018-02-02 11:12:27 -05:00
BehindTheMath a72880d205 Code cleanup (#120)
* Lots of code cleanup

* Cleanup parse-options tests
  - Rename objects for clarity and inline unneeded objects
  - Remove unneeded tests
  - Use Object.keys().length instead of a custom function
  - Use typeof === "object" instead of a custom function that checks the prototype tree as well, since we don't expect anything but an object literal.

* Remove old switchFallback code

* Remove polyfill for Function.prototype.bind

* Inline small functions

* Add more documentation and tests for options.currentUrlFullReload
  Closes #17

* Update package.json
2018-02-02 09:52:44 -05:00
BehindTheMath 57aed828ac Merge pull request #118 from MoOx/fix/external-scripts-events
Fix external scripts events
2018-01-31 16:46:28 -05:00
BehindTheMath 93c0a5bb9b Merge pull request #119 from MoOx/feature/scroll-restoration
Opt in to manual scroll restoration in browsers that support it
2018-01-29 09:27:50 -05:00
BehindTheMath e3df2b1c3d Merge pull request #114 from MoOx/fix/abort-pending-xhr
Abort previous pending XHR when navigating
2018-01-24 18:54:33 -05:00
BehindTheMath 3205596f3e Merge pull request #115 from MoOx/feature/minify
Add a minified version of Pjax to NPM
2018-01-24 08:48:23 -05:00
BehindTheMath 8fcef04c9e Merge pull request #112 from timtrinidad/master
Use a local clone of options when initiating requests, so requestOptions don't persist
2018-01-23 15:44:26 -05:00
BehindTheMath 9845244948 Merge pull request #111 from MoOx/fix/scroll
Enhance scrolling behavior

- Save scroll position with history
- Scroll to element position when URL contains a hash
- Add scrollRestoration option
2018-01-22 20:32:57 -05:00
BehindTheMath b5c2120d08 Fix async switches (#110)
If any switches are async, the subsequent code will execute before the switches are finished. This PR moves all that code to a new function, and debounces the calls to onSwitch() so it only executes
once, after all the switches finish.

Fizes #72.
2018-01-22 10:55:29 -05:00
BehindTheMath 6fa51e58f8 Add checks for XHR redirects (#101)
Fixes #7

This checks for redirects by looking for the following, in sequence:
- XMLHttpRequest.responseURL
- the X-PJAX-URL header (like jquery-pjax)
- the X-XHR-Redirected-To header (like Turbolinks)
2018-01-10 15:45:55 -05:00
BehindTheMath 92d5e09494 Update tooling (#99)
- Update browserify, serve, and tape to the latest versions
- update the example script to reflect serve's new CLI options
- Remove the uneeded dependency on opn-cli
- Force Travis to use NPM 5.x
- Remove bower.json
2018-01-09 15:59:15 -05:00
BehindTheMath a2e6cfc0af Fix tests (#96)
Closes #63

- Switch from testling to jsdom for browser APIs
- Switch from coverify to nyc for coverage reports
- Clean up related dead code and tooling
- Update Travis to use Node v6 and v8, since we need ES6 features for jsdom.
2018-01-08 17:21:18 -05:00
BehindTheMath 6491e32437 Add an option to set a timeout for XHR requests (#95)
Closes #24.
2018-01-07 23:56:11 -05:00
BehindTheMath 0916c74171 Merge pull request #93 from BehindTheMath/bugfix/add-switchElementsAlt
Add switchElementsAlt() to the default switches

Fixes #83.
2017-12-20 15:58:29 -05:00
BehindTheMath 75eddfcab6 Add default switches to Pjax.switches (#92)
Fixes #68 and reverts #74
2017-12-19 13:49:26 +01:00