embient 0.0.6 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
embient (0.0.
|
4
|
+
embient (0.0.8)
|
5
5
|
emberjs-rails
|
6
6
|
rails (>= 3.1.0)
|
7
7
|
|
@@ -41,8 +41,11 @@ GEM
|
|
41
41
|
hamlbars
|
42
42
|
rails (~> 3.1)
|
43
43
|
erubis (2.7.0)
|
44
|
+
execjs (1.3.0)
|
45
|
+
multi_json (~> 1.0)
|
44
46
|
haml (3.1.4)
|
45
|
-
hamlbars (2012.
|
47
|
+
hamlbars (2012.3.21)
|
48
|
+
execjs (>= 1.2)
|
46
49
|
haml
|
47
50
|
sprockets
|
48
51
|
tilt
|
@@ -50,11 +53,11 @@ GEM
|
|
50
53
|
i18n (0.6.0)
|
51
54
|
journey (1.0.3)
|
52
55
|
json (1.6.5)
|
53
|
-
mail (2.4.
|
56
|
+
mail (2.4.4)
|
54
57
|
i18n (>= 0.4.0)
|
55
58
|
mime-types (~> 1.16)
|
56
59
|
treetop (~> 1.4.8)
|
57
|
-
mime-types (1.
|
60
|
+
mime-types (1.18)
|
58
61
|
multi_json (1.1.0)
|
59
62
|
polyglot (0.3.3)
|
60
63
|
rack (1.4.1)
|
data/lib/embient/version.rb
CHANGED
@@ -123,7 +123,7 @@ Ember.LayoutState = Ember.State.extend({
|
|
123
123
|
// the layoutStates property.
|
124
124
|
var viewClass = get(this, 'viewClass');
|
125
125
|
if(viewClass) {
|
126
|
-
var layoutStates =
|
126
|
+
var layoutStates = viewClass.proto().layoutStates;
|
127
127
|
set(this, 'states', layoutStates);
|
128
128
|
}
|
129
129
|
|
@@ -143,7 +143,6 @@ Ember.LayoutState = Ember.State.extend({
|
|
143
143
|
if (view) {
|
144
144
|
ember_assert('view must be an Ember.View', view instanceof Ember.View);
|
145
145
|
|
146
|
-
|
147
146
|
// if there is another view in the hierarchy then
|
148
147
|
// set its content
|
149
148
|
var parentView = get(this, 'parentView') || get(stateManager, 'rootView');
|
@@ -240,9 +240,9 @@ Ember.RouteManager = Ember.StateManager.extend({
|
|
240
240
|
} else {
|
241
241
|
// we don't use a Ember.Timer because we don't want
|
242
242
|
// a run loop to be triggered at each ping
|
243
|
-
var invokeHashChange = function() {
|
244
|
-
|
245
|
-
|
243
|
+
var _this = this, invokeHashChange = function() {
|
244
|
+
_this.hashChange();
|
245
|
+
_this._timerId = setTimeout(invokeHashChange, 100);
|
246
246
|
};
|
247
247
|
|
248
248
|
invokeHashChange();
|
@@ -316,10 +316,15 @@ Ember.RouteManager = Ember.StateManager.extend({
|
|
316
316
|
var cleanState = result.cleanStates.join('.');
|
317
317
|
this.goToState(cleanState);
|
318
318
|
}
|
319
|
+
|
319
320
|
// 2. We transition to the dirty state. This forces dirty
|
320
321
|
// states to be transitioned.
|
321
322
|
if(result.dirtyStates.length > 0) {
|
322
323
|
var dirtyState = result.cleanStates.concat(result.dirtyStates).join('.');
|
324
|
+
// Special case for re-entering the root state on a parameter change
|
325
|
+
if(this.currentState && dirtyState === this.currentState.get('path')) {
|
326
|
+
this.goToState('__nullState');
|
327
|
+
}
|
323
328
|
this.goToState(dirtyState);
|
324
329
|
}
|
325
330
|
} else {
|
@@ -437,7 +442,7 @@ Ember.RouteManager = Ember.StateManager.extend({
|
|
437
442
|
}
|
438
443
|
var part = parts.shift();
|
439
444
|
var partDefinition = partDefinitions[i];
|
440
|
-
var partParams = this._matchPart(partDefinition, part);
|
445
|
+
var partParams = this._matchPart(partDefinition, part, state);
|
441
446
|
if(!partParams) {
|
442
447
|
return false;
|
443
448
|
}
|
@@ -451,10 +456,9 @@ Ember.RouteManager = Ember.StateManager.extend({
|
|
451
456
|
}
|
452
457
|
}
|
453
458
|
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
}
|
459
|
+
var enabled = get(state, 'enabled');
|
460
|
+
if(enabled !== undefined && !enabled) {
|
461
|
+
return false;
|
458
462
|
}
|
459
463
|
|
460
464
|
return {
|
@@ -467,7 +471,9 @@ Ember.RouteManager = Ember.StateManager.extend({
|
|
467
471
|
/** @private
|
468
472
|
Returns params if the part matches the partDefinition
|
469
473
|
*/
|
470
|
-
_matchPart: function(partDefinition, part) {
|
474
|
+
_matchPart: function(partDefinition, part, state) {
|
475
|
+
var params = {};
|
476
|
+
|
471
477
|
// Handle string parts
|
472
478
|
if( typeof partDefinition == "string") {
|
473
479
|
|
@@ -475,7 +481,6 @@ Ember.RouteManager = Ember.StateManager.extend({
|
|
475
481
|
// 1. dynamic routes
|
476
482
|
case ':':
|
477
483
|
var name = partDefinition.slice(1, partDefinition.length);
|
478
|
-
var params = {};
|
479
484
|
params[name] = part;
|
480
485
|
return params;
|
481
486
|
|
@@ -493,8 +498,26 @@ Ember.RouteManager = Ember.StateManager.extend({
|
|
493
498
|
return false;
|
494
499
|
}
|
495
500
|
|
496
|
-
|
497
|
-
|
501
|
+
if (partDefinition instanceof RegExp) {
|
502
|
+
// JS doesn't support named capture groups in Regexes so instead
|
503
|
+
// we can define a list of 'captures' which maps to the matched groups
|
504
|
+
var captures = get(state, 'captures');
|
505
|
+
var matches = partDefinition.exec(part);
|
506
|
+
|
507
|
+
if (matches) {
|
508
|
+
if (captures) {
|
509
|
+
var len = captures.length, i;
|
510
|
+
for(i = 0; i < len; ++i) {
|
511
|
+
params[captures[i]] = matches[i+1];
|
512
|
+
}
|
513
|
+
}
|
514
|
+
return params;
|
515
|
+
} else {
|
516
|
+
return false;
|
517
|
+
}
|
518
|
+
}
|
519
|
+
|
520
|
+
return false;
|
498
521
|
},
|
499
522
|
|
500
523
|
/**
|
@@ -542,7 +565,10 @@ Ember.RouteManager = Ember.StateManager.extend({
|
|
542
565
|
}
|
543
566
|
}
|
544
567
|
routes._skipRoute = false;
|
545
|
-
}
|
568
|
+
},
|
569
|
+
|
570
|
+
// This is used to re-enter a dirty root state
|
571
|
+
__nullState: Ember.State.create({enabled: false})
|
546
572
|
|
547
573
|
});
|
548
574
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embient
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
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-03-
|
12
|
+
date: 2012-03-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &2152345520 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2152345520
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: emberjs-rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &2152356700 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2152356700
|
36
36
|
description: Pulls together various existing ember/sproutcore addons and provides
|
37
37
|
structure for future extensions.
|
38
38
|
email:
|
@@ -71,7 +71,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
71
71
|
version: '0'
|
72
72
|
segments:
|
73
73
|
- 0
|
74
|
-
hash: -
|
74
|
+
hash: -3816048520545035377
|
75
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
76
|
none: false
|
77
77
|
requirements:
|
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
80
80
|
version: '0'
|
81
81
|
segments:
|
82
82
|
- 0
|
83
|
-
hash: -
|
83
|
+
hash: -3816048520545035377
|
84
84
|
requirements: []
|
85
85
|
rubyforge_project:
|
86
86
|
rubygems_version: 1.8.10
|