pagesjs 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +7 -0
- data/{vendor → lib}/assets/javascripts/pages.js +28 -8
- data/lib/pagesjs.rb +1 -1
- metadata +11 -6
data/ChangeLog
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
== 0.0.5 (Pyotr Kakhovsky)
|
2
|
+
* Add data.from with URL changing source.
|
3
|
+
* Pages.open() will change URL if it necessary.
|
4
|
+
* Don’t track location hash changes.
|
5
|
+
* Don’t run animation, when page wasn’t be changed.
|
6
|
+
* Use lib/assets path in gem instead of vendor/assets.
|
7
|
+
|
1
8
|
== 0.0.4 (Mikhail Bestuzhev-Ryumin)
|
2
9
|
* Allow to set several page options for one page.
|
3
10
|
* Set empty jQuery object to Pages.current on load.
|
@@ -162,8 +162,8 @@
|
|
162
162
|
this._events = true;
|
163
163
|
|
164
164
|
$(window).on('popstate.pages', function() {
|
165
|
-
if ( Pages._lastUrl != location.
|
166
|
-
Pages.open(location.pathname);
|
165
|
+
if ( Pages._lastUrl != location.pathname ) {
|
166
|
+
Pages.open(location.pathname, { from: 'popstate' });
|
167
167
|
}
|
168
168
|
});
|
169
169
|
|
@@ -174,7 +174,7 @@
|
|
174
174
|
return true;
|
175
175
|
},
|
176
176
|
|
177
|
-
// Disable session history management. Pages will load by default browser
|
177
|
+
// Disable session history management. Pages.js will load by default browser
|
178
178
|
// way without AJAX and animations.
|
179
179
|
disable: function() {
|
180
180
|
$(this._document).off('click.pages', 'a');
|
@@ -184,15 +184,22 @@
|
|
184
184
|
},
|
185
185
|
|
186
186
|
// Show page by `url` with overrided page `data`. Return true if page is
|
187
|
-
// already loaded and false if Pages request it from server.
|
187
|
+
// already loaded and false if Pages.js request it from server.
|
188
188
|
//
|
189
189
|
// setTimeout(function() {
|
190
190
|
// Pages.open('/gameover');
|
191
191
|
// }, 5000);
|
192
192
|
open: function(url, data) {
|
193
|
+
if ( location.pathname != url ) {
|
194
|
+
history.pushState({ }, '', url);
|
195
|
+
}
|
196
|
+
|
193
197
|
if ( typeof(data) == 'undefined' ) {
|
194
198
|
data = { };
|
195
199
|
}
|
200
|
+
if ( typeof(data.from) == 'undefined' ) {
|
201
|
+
data.from = 'js';
|
202
|
+
}
|
196
203
|
data.url = url;
|
197
204
|
Pages._lastUrl = url;
|
198
205
|
|
@@ -400,15 +407,28 @@
|
|
400
407
|
return true;
|
401
408
|
}
|
402
409
|
|
403
|
-
|
404
|
-
var data = link.data();
|
410
|
+
var data = link.data();
|
405
411
|
data.link = link;
|
406
|
-
|
412
|
+
data.from = 'link';
|
413
|
+
|
414
|
+
href = href.split('#', 2);
|
415
|
+
var path = href[0];
|
416
|
+
var hash = href[1];
|
417
|
+
|
418
|
+
this.open(path, data);
|
419
|
+
if ( hash && location.hash != hash ) {
|
420
|
+
location.hash = hash;
|
421
|
+
}
|
407
422
|
return false;
|
408
423
|
},
|
409
424
|
|
410
425
|
// Open loaded page.
|
411
426
|
_openPage: function(page, data) {
|
427
|
+
if ( page[0] == Pages.current[0] ) {
|
428
|
+
Pages._setCurrent(page);
|
429
|
+
return;
|
430
|
+
}
|
431
|
+
|
412
432
|
var anim, pageData = page.data();
|
413
433
|
data = $.extend(pageData, data);
|
414
434
|
|
@@ -494,7 +514,7 @@
|
|
494
514
|
};
|
495
515
|
|
496
516
|
$(document).ready(function() {
|
497
|
-
Pages._lastUrl = location.
|
517
|
+
Pages._lastUrl = location.pathname;
|
498
518
|
Pages.init();
|
499
519
|
if ( !Pages.disabled ) {
|
500
520
|
Pages.enable();
|
data/lib/pagesjs.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pagesjs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sprockets
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,12 @@ dependencies:
|
|
21
21
|
version: '2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2'
|
25
30
|
description: Pages.js allow you to manage pages JS code and forget about low-level
|
26
31
|
History API.
|
27
32
|
email:
|
@@ -33,7 +38,7 @@ extra_rdoc_files:
|
|
33
38
|
- README.md
|
34
39
|
- ChangeLog
|
35
40
|
files:
|
36
|
-
-
|
41
|
+
- lib/assets/javascripts/pages.js
|
37
42
|
- lib/pagesjs.rb
|
38
43
|
- LICENSE
|
39
44
|
- README.md
|
@@ -58,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
58
63
|
version: '0'
|
59
64
|
requirements: []
|
60
65
|
rubyforge_project:
|
61
|
-
rubygems_version: 1.8.
|
66
|
+
rubygems_version: 1.8.23
|
62
67
|
signing_key:
|
63
68
|
specification_version: 3
|
64
69
|
summary: Pages.js - is a framework for History pushState.
|