Commit Graph

191 Commits

Author SHA1 Message Date
Robin North
a5b51f34df Fix GET form submission 2018-02-21 18:27:26 +00:00
Robin North
b7fc3457de Fix check for radio and checkbox inputs 2018-02-21 18:26:50 +00:00
Maxime Thirouin
0c7af354fd Update README.md 2018-02-09 14:12:12 +01:00
BehindTheMath
2d210c3305 0.2.5 (#121)
* Bump version to 0.2.5

* Update CHANGELOG
0.2.5
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
Robin North
63bc2af226 Remove redundant comment 2018-01-29 20:06:33 +00:00
Robin North
20e987929e Merge pull request #116 from MoOx/fix/blur
Fix element blurring (removing focus). Closes #4.
2018-01-29 20:03:24 +00:00
Behind The Math
90d26d641c Remove focus from form elements as well. 2018-01-29 13:51:00 -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
Robin North
8718da35c6 Opt in to manual scroll restoration in browsers that support it 2018-01-28 14:35:25 +00:00
Robin North
31e1e7e405 Enable test for document.write in eval'd scripts 2018-01-26 15:54:07 +00:00
Robin North
05163d9fb5 Stop dispatching extraneous pjax:complete events, correct typo 2018-01-26 15:53:07 +00:00
Robin North
a15c94c55a Merge pull request #113 from MoOx/cleanup/analytics
Cleanup default analytics function
2018-01-25 07:50:59 +00:00
Behind The Math
2d4df39f72 Remove a redundant call to .blur() 2018-01-24 20:19:02 -05:00
Behind The Math
fa05e94f07 Only blur element if it's contained by one of the selectors
Previously, Pjax would blur (remove focus) from the active element
regardless of where it was on the page. This restricts that to
happen only if the active element is contained by one of the
elements represented by options.selectors, because only those are
affected by Pjax.

Fixes #4
2018-01-24 20:18:41 -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
Robin North
01fb72ceeb Simplify options assignment 2018-01-24 23:40:05 +00:00
Robin North
f642eec047 Preserve ability to disable analytics behavior, explicitly document this option 2018-01-24 23:38:34 +00:00
Robin North
cc384b9b16 Improve check for analytics function option 2018-01-24 23:35:45 +00:00
Robin North
f559ca2914 Cleanup default analytics function 2018-01-24 23:35:45 +00:00
Robin North
137322543c Explicitly flag if aborting a request fails due to request completing 2018-01-24 23:20:36 +00:00
Robin North
f7f68b2e50 Fix module filename 2018-01-24 23:15:40 +00:00
Robin North
ff62289683 Make use of new noop module 2018-01-24 14:51:16 +00: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
Behind The Math
3c8cd087c5 Use double quotes in CLI arguments
Single quotes don't work in all environments.
2018-01-23 19:40:13 -05:00
Behind The Math
12f3be21fb Exclude pjax.min.js fom JSCS 2018-01-23 19:35:18 -05:00
Behind The Math
b74fbc4178 Add a minified version of Pjax to NPM
Fixes #108.
2018-01-23 17:53:10 -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
Tim Trinidad
feb85382f2 Revert back to using '**' glob for tests, wrap in quotes to force node to parse the args 2018-01-23 15:05:31 -05:00
Tim Trinidad
f196604d73 Add tests to ensure options are not accidentally modified 2018-01-23 13:22:48 -05:00
Tim Trinidad
526a0883a2 Clone options in attach-link to prevent requestOptions changes from persisting 2018-01-23 13:22:31 -05:00
Robin North
486ef0e0ba Abort previous pending XHR when navigating 2018-01-23 15:25:56 +00:00
Behind The Math
6000ad5620 Restore the trigger for the resize and scroll events to onSwitch 2018-01-22 20:42:57 -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
Behind The Math
e7935d9c74 Add scrollRestoration option 2018-01-22 18:56:22 -05:00
Tim Trinidad
e4b3952589 Clone options before modifying it for form submissions 2018-01-22 18:32:28 -05:00
Behind The Math
546b9abba3 Small bug fix 2018-01-22 17:32:59 -05:00
Behind The Math
bc2432b18c Scroll to element position when URL contains a hash
When the URL contains a hash, try to find the corresponding
element, and if found, scroll to its position.

Based on darylteo/pjax@4893a2a657

Fixes #22.
2018-01-22 11:45:42 -05:00
Behind The Math
37d303ed66 Save scroll position with history
Save scroll position when navigating away from a page, and restore
it when navigating back to that page.

Fixes #30.
2018-01-22 11:27:13 -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
Robin North
ca61c4a840 Fix incorrect main field in npm package (#105)
Point npm package `main` field at module source
2018-01-18 20:55:27 -05:00
Robin North
cd09cc88d1 Replace instances of ES6 const keyword with var 2018-01-18 16:00:24 -05:00
Robin North
b98e3ef914 Fix DOMException in switchElementsAlt()
Clone attribute nodes before setting on `oldEl` to prevent the following error:

```
DOMException: Failed to execute 'setNamedItem' on 'NamedNodeMap': The node provided is an attribute node that is already an attribute of another Element; attribute nodes must be explicitly cloned.
```
2018-01-17 17:07:02 -05:00
Behind The Math
36ed7079b1 Fix tooling for the example
Apparently we do need opn-cli.
2018-01-15 16:36: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
Maxime Thirouin
cb9c37fcb3 Use npmpub like it should since testling is gone 2018-01-09 16:02:09 -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
Behind The Math
3bd101bb1d Update JSCS to the latest version 2018-01-09 14:09:40 -05:00
Behind The Math
c0d64e41b8 Fix linting errors 2018-01-09 14:09:40 -05:00