ember-source 1.8.1 → 1.9.0.alpha
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +1647 -961
- data/dist/ember-template-compiler.js +9 -51
- data/dist/ember-tests.js +3005 -2994
- data/dist/ember-tests.prod.js +3005 -2972
- data/dist/ember.js +3771 -3334
- data/dist/ember.min.js +12 -12
- data/dist/ember.prod.js +3605 -3253
- metadata +4 -5
- data/dist/ember-testing.js +0 -1474
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 383caaebb75b43dd74f935c0787bf805218a1b4c
|
4
|
+
data.tar.gz: 7f6c7c2b9dce1ffc059cd819b85b78d6022eacc1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12cd4ad9624fc0518b22eae7408d52c618ee0d8463dc289e14f3d58ea99e1919cddda8526827f2855c278037252d53d593cdab71e19ed45fa1e9c54b3784f573
|
7
|
+
data.tar.gz: 9b7b8988c51a56cfd275e2c7c27437212f1dc0ca43654416e5b4578e9095c2bcdb8a8ce03782530c2fbbb87a9d8966457b9dfdc7960c36dc03336efc4d2d1b61
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.9.0-alpha
|
data/dist/ember-runtime.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.
|
8
|
+
* @version 1.9.0-alpha
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -640,11 +640,10 @@ define("backburner/deferred-action-queues",
|
|
640
640
|
function(__dependency1__, __dependency2__, __exports__) {
|
641
641
|
"use strict";
|
642
642
|
var each = __dependency1__.each;
|
643
|
-
var isString = __dependency1__.isString;
|
644
643
|
var Queue = __dependency2__["default"];
|
645
644
|
|
646
645
|
function DeferredActionQueues(queueNames, options) {
|
647
|
-
var queues = this.queues =
|
646
|
+
var queues = this.queues = Object.create(null);
|
648
647
|
this.queueNames = queueNames = queueNames || [];
|
649
648
|
|
650
649
|
this.options = options;
|
@@ -663,7 +662,9 @@ define("backburner/deferred-action-queues",
|
|
663
662
|
var queues = this.queues;
|
664
663
|
var queue = queues[name];
|
665
664
|
|
666
|
-
if (!queue) {
|
665
|
+
if (!queue) {
|
666
|
+
noSuchQueue(name);
|
667
|
+
}
|
667
668
|
|
668
669
|
if (onceFlag) {
|
669
670
|
return queue.pushUnique(target, method, args, stack);
|
@@ -672,26 +673,6 @@ define("backburner/deferred-action-queues",
|
|
672
673
|
}
|
673
674
|
},
|
674
675
|
|
675
|
-
invoke: function(target, method, args, _, _errorRecordedForStack) {
|
676
|
-
if (args && args.length > 0) {
|
677
|
-
method.apply(target, args);
|
678
|
-
} else {
|
679
|
-
method.call(target);
|
680
|
-
}
|
681
|
-
},
|
682
|
-
|
683
|
-
invokeWithOnError: function(target, method, args, onError, errorRecordedForStack) {
|
684
|
-
try {
|
685
|
-
if (args && args.length > 0) {
|
686
|
-
method.apply(target, args);
|
687
|
-
} else {
|
688
|
-
method.call(target);
|
689
|
-
}
|
690
|
-
} catch(error) {
|
691
|
-
onError(error, errorRecordedForStack);
|
692
|
-
}
|
693
|
-
},
|
694
|
-
|
695
676
|
flush: function() {
|
696
677
|
var queues = this.queues;
|
697
678
|
var queueNames = this.queueNames;
|
@@ -699,85 +680,23 @@ define("backburner/deferred-action-queues",
|
|
699
680
|
var queueNameIndex = 0;
|
700
681
|
var numberOfQueues = queueNames.length;
|
701
682
|
var options = this.options;
|
702
|
-
var onError = options.onError || (options.onErrorTarget && options.onErrorTarget[options.onErrorMethod]);
|
703
|
-
var invoke = onError ? this.invokeWithOnError : this.invoke;
|
704
683
|
|
705
684
|
while (queueNameIndex < numberOfQueues) {
|
706
685
|
queueName = queueNames[queueNameIndex];
|
707
686
|
queue = queues[queueName];
|
708
|
-
queueItems = queue._queueBeingFlushed = queue._queue.slice();
|
709
|
-
queue._queue = [];
|
710
|
-
queue.targetQueues = Object.create(null);
|
711
|
-
|
712
|
-
var queueOptions = queue.options; // TODO: write a test for this
|
713
|
-
var before = queueOptions && queueOptions.before;
|
714
|
-
var after = queueOptions && queueOptions.after;
|
715
|
-
var target, method, args, errorRecordedForStack;
|
716
|
-
var queueIndex = 0;
|
717
|
-
var numberOfQueueItems = queueItems.length;
|
718
|
-
|
719
|
-
if (numberOfQueueItems && before) {
|
720
|
-
before();
|
721
|
-
}
|
722
|
-
|
723
|
-
while (queueIndex < numberOfQueueItems) {
|
724
|
-
target = queueItems[queueIndex];
|
725
|
-
method = queueItems[queueIndex+1];
|
726
|
-
args = queueItems[queueIndex+2];
|
727
|
-
errorRecordedForStack = queueItems[queueIndex+3]; // Debugging assistance
|
728
|
-
|
729
|
-
//
|
730
|
-
|
731
|
-
if (isString(method)) {
|
732
|
-
method = target[method];
|
733
|
-
}
|
734
|
-
|
735
|
-
// method could have been nullified / canceled during flush
|
736
|
-
if (method) {
|
737
|
-
//
|
738
|
-
// ** Attention intrepid developer **
|
739
|
-
//
|
740
|
-
// To find out the stack of this task when it was scheduled onto
|
741
|
-
// the run loop, add the following to your app.js:
|
742
|
-
//
|
743
|
-
// Ember.run.backburner.DEBUG = true; // NOTE: This slows your app, don't leave it on in production.
|
744
|
-
//
|
745
|
-
// Once that is in place, when you are at a breakpoint and navigate
|
746
|
-
// here in the stack explorer, you can look at `errorRecordedForStack.stack`,
|
747
|
-
// which will be the captured stack when this job was scheduled.
|
748
|
-
//
|
749
|
-
invoke(target, method, args, onError, errorRecordedForStack);
|
750
|
-
}
|
751
687
|
|
752
|
-
|
753
|
-
}
|
754
|
-
|
755
|
-
queue._queueBeingFlushed = null;
|
756
|
-
if (numberOfQueueItems && after) {
|
757
|
-
after();
|
758
|
-
}
|
688
|
+
var numberOfQueueItems = queue._queue.length;
|
759
689
|
|
760
|
-
if (
|
761
|
-
queueNameIndex = priorQueueNameIndex;
|
762
|
-
} else {
|
690
|
+
if (numberOfQueueItems === 0) {
|
763
691
|
queueNameIndex++;
|
692
|
+
} else {
|
693
|
+
queue.flush(false /* async */);
|
694
|
+
queueNameIndex = 0;
|
764
695
|
}
|
765
696
|
}
|
766
697
|
}
|
767
698
|
};
|
768
699
|
|
769
|
-
function indexOfPriorQueueWithActions(daq, currentQueueIndex) {
|
770
|
-
var queueName, queue;
|
771
|
-
|
772
|
-
for (var i = 0, l = currentQueueIndex; i <= l; i++) {
|
773
|
-
queueName = daq.queueNames[i];
|
774
|
-
queue = daq.queues[queueName];
|
775
|
-
if (queue._queue.length) { return i; }
|
776
|
-
}
|
777
|
-
|
778
|
-
return -1;
|
779
|
-
}
|
780
|
-
|
781
700
|
__exports__["default"] = DeferredActionQueues;
|
782
701
|
});
|
783
702
|
define("backburner/platform",
|
@@ -795,9 +714,11 @@ define("backburner/platform",
|
|
795
714
|
__exports__.needsIETryCatchFix = needsIETryCatchFix;
|
796
715
|
});
|
797
716
|
define("backburner/queue",
|
798
|
-
["exports"],
|
799
|
-
function(__exports__) {
|
717
|
+
["./utils","exports"],
|
718
|
+
function(__dependency1__, __exports__) {
|
800
719
|
"use strict";
|
720
|
+
var isString = __dependency1__.isString;
|
721
|
+
|
801
722
|
function Queue(name, options, globalOptions) {
|
802
723
|
this.name = name;
|
803
724
|
this.globalOptions = globalOptions || {};
|
@@ -895,56 +816,89 @@ define("backburner/queue",
|
|
895
816
|
};
|
896
817
|
},
|
897
818
|
|
898
|
-
|
899
|
-
|
819
|
+
invoke: function(target, method, args, _, _errorRecordedForStack) {
|
820
|
+
if (args && args.length > 0) {
|
821
|
+
method.apply(target, args);
|
822
|
+
} else {
|
823
|
+
method.call(target);
|
824
|
+
}
|
825
|
+
},
|
826
|
+
|
827
|
+
invokeWithOnError: function(target, method, args, onError, errorRecordedForStack) {
|
828
|
+
try {
|
829
|
+
if (args && args.length > 0) {
|
830
|
+
method.apply(target, args);
|
831
|
+
} else {
|
832
|
+
method.call(target);
|
833
|
+
}
|
834
|
+
} catch(error) {
|
835
|
+
onError(error, errorRecordedForStack);
|
836
|
+
}
|
837
|
+
},
|
838
|
+
|
839
|
+
flush: function(sync) {
|
900
840
|
var queue = this._queue;
|
841
|
+
var length = queue.length;
|
842
|
+
|
843
|
+
if (length === 0) {
|
844
|
+
return;
|
845
|
+
}
|
846
|
+
|
901
847
|
var globalOptions = this.globalOptions;
|
902
848
|
var options = this.options;
|
903
849
|
var before = options && options.before;
|
904
850
|
var after = options && options.after;
|
905
|
-
var onError = globalOptions.onError || (globalOptions.onErrorTarget &&
|
906
|
-
|
851
|
+
var onError = globalOptions.onError || (globalOptions.onErrorTarget &&
|
852
|
+
globalOptions.onErrorTarget[globalOptions.onErrorMethod]);
|
853
|
+
var target, method, args, errorRecordedForStack;
|
854
|
+
var invoke = onError ? this.invokeWithOnError : this.invoke;
|
907
855
|
|
908
856
|
this.targetQueues = Object.create(null);
|
857
|
+
var queueItems = this._queueBeingFlushed = this._queue.slice();
|
858
|
+
this._queue = [];
|
909
859
|
|
910
|
-
if (
|
911
|
-
|
912
|
-
|
913
|
-
method = queue[i+1];
|
914
|
-
args = queue[i+2];
|
915
|
-
stack = queue[i+3]; // Debugging assistance
|
860
|
+
if (before) {
|
861
|
+
before();
|
862
|
+
}
|
916
863
|
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
864
|
+
for (var i = 0; i < length; i += 4) {
|
865
|
+
target = queueItems[i];
|
866
|
+
method = queueItems[i+1];
|
867
|
+
args = queueItems[i+2];
|
868
|
+
errorRecordedForStack = queueItems[i+3]; // Debugging assistance
|
869
|
+
|
870
|
+
if (isString(method)) {
|
871
|
+
method = target[method];
|
872
|
+
}
|
873
|
+
|
874
|
+
// method could have been nullified / canceled during flush
|
875
|
+
if (method) {
|
876
|
+
//
|
877
|
+
// ** Attention intrepid developer **
|
878
|
+
//
|
879
|
+
// To find out the stack of this task when it was scheduled onto
|
880
|
+
// the run loop, add the following to your app.js:
|
881
|
+
//
|
882
|
+
// Ember.run.backburner.DEBUG = true; // NOTE: This slows your app, don't leave it on in production.
|
883
|
+
//
|
884
|
+
// Once that is in place, when you are at a breakpoint and navigate
|
885
|
+
// here in the stack explorer, you can look at `errorRecordedForStack.stack`,
|
886
|
+
// which will be the captured stack when this job was scheduled.
|
887
|
+
//
|
888
|
+
invoke(target, method, args, onError, errorRecordedForStack);
|
938
889
|
}
|
939
890
|
}
|
940
|
-
if (l && after) { after(); }
|
941
891
|
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
892
|
+
if (after) {
|
893
|
+
after();
|
894
|
+
}
|
895
|
+
|
896
|
+
this._queueBeingFlushed = undefined;
|
897
|
+
|
898
|
+
if (sync !== false &&
|
899
|
+
this._queue.length > 0) {
|
900
|
+
// check if new items have been added
|
901
|
+
this.flush(true);
|
948
902
|
}
|
949
903
|
},
|
950
904
|
|
@@ -980,9 +934,11 @@ define("backburner/queue",
|
|
980
934
|
// if not found in current queue
|
981
935
|
// could be in the queue that is being flushed
|
982
936
|
queue = this._queueBeingFlushed;
|
937
|
+
|
983
938
|
if (!queue) {
|
984
939
|
return;
|
985
940
|
}
|
941
|
+
|
986
942
|
for (i = 0, l = queue.length; i < l; i += 4) {
|
987
943
|
currentTarget = queue[i];
|
988
944
|
currentMethod = queue[i+1];
|
@@ -1540,7 +1496,10 @@ define("container/container",
|
|
1540
1496
|
|
1541
1497
|
var fullNameType = fullName.split(':')[0];
|
1542
1498
|
if (fullNameType === type) {
|
1543
|
-
throw new Error('Cannot inject a `' + fullName +
|
1499
|
+
throw new Error('Cannot inject a `' + fullName +
|
1500
|
+
'` on other ' + type +
|
1501
|
+
'(s). Register the `' + fullName +
|
1502
|
+
'` as a different type and perform the typeInjection.');
|
1544
1503
|
}
|
1545
1504
|
|
1546
1505
|
addTypeInjection(this.typeInjections, type, property, fullName);
|
@@ -1604,9 +1563,13 @@ define("container/container",
|
|
1604
1563
|
var normalizedName = this.normalize(fullName);
|
1605
1564
|
|
1606
1565
|
if (this.cache[normalizedName]) {
|
1607
|
-
throw new Error("Attempted to register an injection for a type that has already been looked up. ('" +
|
1566
|
+
throw new Error("Attempted to register an injection for a type that has already been looked up. ('" +
|
1567
|
+
normalizedName + "', '" +
|
1568
|
+
property + "', '" +
|
1569
|
+
injectionName + "')");
|
1608
1570
|
}
|
1609
|
-
|
1571
|
+
|
1572
|
+
addInjection(initRules(this.injections, normalizedName), property, normalizedInjectionName);
|
1610
1573
|
},
|
1611
1574
|
|
1612
1575
|
|
@@ -1713,7 +1676,7 @@ define("container/container",
|
|
1713
1676
|
'been looked up. (\'' + normalizedName + '\', \'' + property + '\', \'' + injectionName + '\')');
|
1714
1677
|
}
|
1715
1678
|
|
1716
|
-
addInjection(this.factoryInjections, normalizedName, property, normalizedInjectionName);
|
1679
|
+
addInjection(initRules(this.factoryInjections, normalizedName), property, normalizedInjectionName);
|
1717
1680
|
},
|
1718
1681
|
|
1719
1682
|
/**
|
@@ -1764,7 +1727,7 @@ define("container/container",
|
|
1764
1727
|
return true;
|
1765
1728
|
}
|
1766
1729
|
|
1767
|
-
return
|
1730
|
+
return container.resolve(fullName) !== undefined;
|
1768
1731
|
}
|
1769
1732
|
|
1770
1733
|
function lookup(container, fullName, options) {
|
@@ -1800,22 +1763,32 @@ define("container/container",
|
|
1800
1763
|
|
1801
1764
|
if (!injections) { return hash; }
|
1802
1765
|
|
1803
|
-
|
1766
|
+
validateInjections(container, injections);
|
1767
|
+
|
1768
|
+
var injection;
|
1804
1769
|
|
1805
1770
|
for (var i = 0, length = injections.length; i < length; i++) {
|
1806
1771
|
injection = injections[i];
|
1807
|
-
|
1808
|
-
|
1809
|
-
if (injectable !== undefined) {
|
1810
|
-
hash[injection.property] = injectable;
|
1811
|
-
} else {
|
1812
|
-
throw new Error('Attempting to inject an unknown injection: `' + injection.fullName + '`');
|
1813
|
-
}
|
1772
|
+
hash[injection.property] = lookup(container, injection.fullName);
|
1814
1773
|
}
|
1815
1774
|
|
1816
1775
|
return hash;
|
1817
1776
|
}
|
1818
1777
|
|
1778
|
+
function validateInjections(container, injections) {
|
1779
|
+
if (!injections) { return; }
|
1780
|
+
|
1781
|
+
var fullName;
|
1782
|
+
|
1783
|
+
for (var i = 0, length = injections.length; i < length; i++) {
|
1784
|
+
fullName = injections[i].fullName;
|
1785
|
+
|
1786
|
+
if (!container.has(fullName)) {
|
1787
|
+
throw new Error('Attempting to inject an unknown injection: `' + fullName + '`');
|
1788
|
+
}
|
1789
|
+
}
|
1790
|
+
}
|
1791
|
+
|
1819
1792
|
function option(container, fullName, optionName) {
|
1820
1793
|
var options = container._options[fullName];
|
1821
1794
|
|
@@ -1889,8 +1862,25 @@ define("container/container",
|
|
1889
1862
|
return factoryInjections;
|
1890
1863
|
}
|
1891
1864
|
|
1865
|
+
if (Ember.FEATURES.isEnabled('ember-metal-injected-properties')) {
|
1866
|
+
var normalizeInjectionsHash = function(hash) {
|
1867
|
+
var injections = [];
|
1868
|
+
|
1869
|
+
for (var key in hash) {
|
1870
|
+
if (hash.hasOwnProperty(key)) {
|
1871
|
+
Ember.assert("Expected a proper full name, given '" + hash[key] + "'", validateFullName(hash[key]));
|
1872
|
+
|
1873
|
+
addInjection(injections, key, hash[key]);
|
1874
|
+
}
|
1875
|
+
}
|
1876
|
+
|
1877
|
+
return injections;
|
1878
|
+
};
|
1879
|
+
}
|
1880
|
+
|
1892
1881
|
function instantiate(container, fullName) {
|
1893
1882
|
var factory = factoryFor(container, fullName);
|
1883
|
+
var lazyInjections;
|
1894
1884
|
|
1895
1885
|
if (option(container, fullName, 'instantiate') === false) {
|
1896
1886
|
return factory;
|
@@ -1902,6 +1892,15 @@ define("container/container",
|
|
1902
1892
|
'Most likely an improperly defined class or an invalid module export.');
|
1903
1893
|
}
|
1904
1894
|
|
1895
|
+
if (Ember.FEATURES.isEnabled('ember-metal-injected-properties')) {
|
1896
|
+
// Ensure that all lazy injections are valid at instantiation time
|
1897
|
+
if (typeof factory.lazyInjections === 'function') {
|
1898
|
+
lazyInjections = factory.lazyInjections();
|
1899
|
+
|
1900
|
+
validateInjections(container, normalizeInjectionsHash(lazyInjections));
|
1901
|
+
}
|
1902
|
+
}
|
1903
|
+
|
1905
1904
|
if (typeof factory.extend === 'function') {
|
1906
1905
|
// assume the factory was extendable and is already injected
|
1907
1906
|
return factory.create();
|
@@ -1959,8 +1958,11 @@ define("container/container",
|
|
1959
1958
|
return true;
|
1960
1959
|
}
|
1961
1960
|
|
1962
|
-
function
|
1963
|
-
|
1961
|
+
function initRules(rules, factoryName) {
|
1962
|
+
return rules[factoryName] || (rules[factoryName] = []);
|
1963
|
+
}
|
1964
|
+
|
1965
|
+
function addInjection(injections, property, injectionName) {
|
1964
1966
|
injections.push({
|
1965
1967
|
property: property,
|
1966
1968
|
fullName: injectionName
|
@@ -1984,90 +1986,90 @@ define("ember-metal",
|
|
1984
1986
|
var Ember = __dependency1__["default"];
|
1985
1987
|
var merge = __dependency2__["default"];
|
1986
1988
|
var instrument = __dependency3__.instrument;
|
1989
|
+
var reset = __dependency3__.reset;
|
1987
1990
|
var subscribe = __dependency3__.subscribe;
|
1988
1991
|
var unsubscribe = __dependency3__.unsubscribe;
|
1989
|
-
var
|
1990
|
-
var generateGuid = __dependency4__.generateGuid;
|
1992
|
+
var EMPTY_META = __dependency4__.EMPTY_META;
|
1991
1993
|
var GUID_KEY = __dependency4__.GUID_KEY;
|
1992
|
-
var guidFor = __dependency4__.guidFor;
|
1993
1994
|
var META_DESC = __dependency4__.META_DESC;
|
1994
|
-
var
|
1995
|
-
var
|
1995
|
+
var apply = __dependency4__.apply;
|
1996
|
+
var applyStr = __dependency4__.applyStr;
|
1997
|
+
var canInvoke = __dependency4__.canInvoke;
|
1998
|
+
var generateGuid = __dependency4__.generateGuid;
|
1996
1999
|
var getMeta = __dependency4__.getMeta;
|
1997
|
-
var
|
1998
|
-
var metaPath = __dependency4__.metaPath;
|
2000
|
+
var guidFor = __dependency4__.guidFor;
|
1999
2001
|
var inspect = __dependency4__.inspect;
|
2000
|
-
var typeOf = __dependency4__.typeOf;
|
2001
|
-
var tryCatchFinally = __dependency4__.tryCatchFinally;
|
2002
2002
|
var isArray = __dependency4__.isArray;
|
2003
2003
|
var makeArray = __dependency4__.makeArray;
|
2004
|
-
var
|
2005
|
-
var
|
2004
|
+
var meta = __dependency4__.meta;
|
2005
|
+
var metaPath = __dependency4__.metaPath;
|
2006
|
+
var setMeta = __dependency4__.setMeta;
|
2007
|
+
var tryCatchFinally = __dependency4__.tryCatchFinally;
|
2006
2008
|
var tryFinally = __dependency4__.tryFinally;
|
2007
|
-
var
|
2008
|
-
var
|
2009
|
-
var applyStr = __dependency4__.applyStr;
|
2009
|
+
var tryInvoke = __dependency4__.tryInvoke;
|
2010
|
+
var typeOf = __dependency4__.typeOf;
|
2010
2011
|
var uuid = __dependency4__.uuid;
|
2012
|
+
var wrap = __dependency4__.wrap;
|
2011
2013
|
var EmberError = __dependency5__["default"];
|
2012
2014
|
var EnumerableUtils = __dependency6__["default"];
|
2013
2015
|
var Cache = __dependency7__["default"];
|
2014
2016
|
var create = __dependency8__.create;
|
2015
|
-
var
|
2017
|
+
var platform = __dependency8__.platform;
|
2016
2018
|
var filter = __dependency9__.filter;
|
2017
2019
|
var forEach = __dependency9__.forEach;
|
2018
2020
|
var indexOf = __dependency9__.indexOf;
|
2019
2021
|
var map = __dependency9__.map;
|
2020
2022
|
var Logger = __dependency10__["default"];
|
2021
2023
|
|
2024
|
+
var _getPath = __dependency11__._getPath;
|
2022
2025
|
var get = __dependency11__.get;
|
2023
2026
|
var getWithDefault = __dependency11__.getWithDefault;
|
2024
2027
|
var normalizeTuple = __dependency11__.normalizeTuple;
|
2025
|
-
var _getPath = __dependency11__._getPath;
|
2026
2028
|
|
2027
|
-
var on = __dependency12__.on;
|
2028
2029
|
var addListener = __dependency12__.addListener;
|
2030
|
+
var hasListeners = __dependency12__.hasListeners;
|
2031
|
+
var listenersDiff = __dependency12__.listenersDiff;
|
2032
|
+
var listenersFor = __dependency12__.listenersFor;
|
2033
|
+
var listenersUnion = __dependency12__.listenersUnion;
|
2034
|
+
var on = __dependency12__.on;
|
2029
2035
|
var removeListener = __dependency12__.removeListener;
|
2036
|
+
var sendEvent = __dependency12__.sendEvent;
|
2030
2037
|
var suspendListener = __dependency12__.suspendListener;
|
2031
2038
|
var suspendListeners = __dependency12__.suspendListeners;
|
2032
|
-
var sendEvent = __dependency12__.sendEvent;
|
2033
|
-
var hasListeners = __dependency12__.hasListeners;
|
2034
2039
|
var watchedEvents = __dependency12__.watchedEvents;
|
2035
|
-
var listenersFor = __dependency12__.listenersFor;
|
2036
|
-
var listenersDiff = __dependency12__.listenersDiff;
|
2037
|
-
var listenersUnion = __dependency12__.listenersUnion;
|
2038
2040
|
|
2039
2041
|
var ObserverSet = __dependency13__["default"];
|
2040
2042
|
|
2041
|
-
var propertyWillChange = __dependency14__.propertyWillChange;
|
2042
|
-
var propertyDidChange = __dependency14__.propertyDidChange;
|
2043
|
-
var overrideChains = __dependency14__.overrideChains;
|
2044
2043
|
var beginPropertyChanges = __dependency14__.beginPropertyChanges;
|
2045
|
-
var endPropertyChanges = __dependency14__.endPropertyChanges;
|
2046
2044
|
var changeProperties = __dependency14__.changeProperties;
|
2045
|
+
var endPropertyChanges = __dependency14__.endPropertyChanges;
|
2046
|
+
var overrideChains = __dependency14__.overrideChains;
|
2047
|
+
var propertyDidChange = __dependency14__.propertyDidChange;
|
2048
|
+
var propertyWillChange = __dependency14__.propertyWillChange;
|
2047
2049
|
|
2048
2050
|
var Descriptor = __dependency15__.Descriptor;
|
2049
2051
|
var defineProperty = __dependency15__.defineProperty;
|
2050
2052
|
var set = __dependency16__.set;
|
2051
2053
|
var trySet = __dependency16__.trySet;
|
2052
2054
|
|
2053
|
-
var OrderedSet = __dependency17__.OrderedSet;
|
2054
2055
|
var Map = __dependency17__.Map;
|
2055
2056
|
var MapWithDefault = __dependency17__.MapWithDefault;
|
2057
|
+
var OrderedSet = __dependency17__.OrderedSet;
|
2056
2058
|
var getProperties = __dependency18__["default"];
|
2057
2059
|
var setProperties = __dependency19__["default"];
|
2058
2060
|
var watchKey = __dependency20__.watchKey;
|
2059
2061
|
var unwatchKey = __dependency20__.unwatchKey;
|
2060
|
-
var flushPendingChains = __dependency21__.flushPendingChains;
|
2061
|
-
var removeChainWatcher = __dependency21__.removeChainWatcher;
|
2062
2062
|
var ChainNode = __dependency21__.ChainNode;
|
2063
2063
|
var finishChains = __dependency21__.finishChains;
|
2064
|
+
var flushPendingChains = __dependency21__.flushPendingChains;
|
2065
|
+
var removeChainWatcher = __dependency21__.removeChainWatcher;
|
2064
2066
|
var watchPath = __dependency22__.watchPath;
|
2065
2067
|
var unwatchPath = __dependency22__.unwatchPath;
|
2066
|
-
var
|
2068
|
+
var destroy = __dependency23__.destroy;
|
2067
2069
|
var isWatching = __dependency23__.isWatching;
|
2068
|
-
var unwatch = __dependency23__.unwatch;
|
2069
2070
|
var rewatch = __dependency23__.rewatch;
|
2070
|
-
var
|
2071
|
+
var unwatch = __dependency23__.unwatch;
|
2072
|
+
var watch = __dependency23__.watch;
|
2071
2073
|
var expandProperties = __dependency24__["default"];
|
2072
2074
|
var ComputedProperty = __dependency25__.ComputedProperty;
|
2073
2075
|
var computed = __dependency25__.computed;
|
@@ -2075,27 +2077,27 @@ define("ember-metal",
|
|
2075
2077
|
|
2076
2078
|
// side effect of defining the computed.* macros
|
2077
2079
|
|
2078
|
-
var addObserver = __dependency27__.addObserver;
|
2079
|
-
var observersFor = __dependency27__.observersFor;
|
2080
|
-
var removeObserver = __dependency27__.removeObserver;
|
2081
|
-
var addBeforeObserver = __dependency27__.addBeforeObserver;
|
2082
2080
|
var _suspendBeforeObserver = __dependency27__._suspendBeforeObserver;
|
2083
|
-
var _suspendObserver = __dependency27__._suspendObserver;
|
2084
2081
|
var _suspendBeforeObservers = __dependency27__._suspendBeforeObservers;
|
2082
|
+
var _suspendObserver = __dependency27__._suspendObserver;
|
2085
2083
|
var _suspendObservers = __dependency27__._suspendObservers;
|
2084
|
+
var addBeforeObserver = __dependency27__.addBeforeObserver;
|
2085
|
+
var addObserver = __dependency27__.addObserver;
|
2086
2086
|
var beforeObserversFor = __dependency27__.beforeObserversFor;
|
2087
|
+
var observersFor = __dependency27__.observersFor;
|
2087
2088
|
var removeBeforeObserver = __dependency27__.removeBeforeObserver;
|
2089
|
+
var removeObserver = __dependency27__.removeObserver;
|
2088
2090
|
var IS_BINDING = __dependency28__.IS_BINDING;
|
2089
|
-
var mixin = __dependency28__.mixin;
|
2090
2091
|
var Mixin = __dependency28__.Mixin;
|
2091
|
-
var required = __dependency28__.required;
|
2092
2092
|
var aliasMethod = __dependency28__.aliasMethod;
|
2093
|
-
var observer = __dependency28__.observer;
|
2094
|
-
var immediateObserver = __dependency28__.immediateObserver;
|
2095
2093
|
var beforeObserver = __dependency28__.beforeObserver;
|
2094
|
+
var immediateObserver = __dependency28__.immediateObserver;
|
2095
|
+
var mixin = __dependency28__.mixin;
|
2096
|
+
var observer = __dependency28__.observer;
|
2097
|
+
var required = __dependency28__.required;
|
2096
2098
|
var Binding = __dependency29__.Binding;
|
2097
|
-
var isGlobalPath = __dependency29__.isGlobalPath;
|
2098
2099
|
var bind = __dependency29__.bind;
|
2100
|
+
var isGlobalPath = __dependency29__.isGlobalPath;
|
2099
2101
|
var oneWay = __dependency29__.oneWay;
|
2100
2102
|
var run = __dependency30__["default"];
|
2101
2103
|
var libraries = __dependency31__["default"];
|
@@ -2125,10 +2127,7 @@ define("ember-metal",
|
|
2125
2127
|
Ember.GUID_KEY = GUID_KEY;
|
2126
2128
|
Ember.create = create;
|
2127
2129
|
Ember.keys = keys;
|
2128
|
-
Ember.platform =
|
2129
|
-
defineProperty: defineProperty,
|
2130
|
-
hasPropertyAccessors: hasPropertyAccessors
|
2131
|
-
};
|
2130
|
+
Ember.platform = platform;
|
2132
2131
|
|
2133
2132
|
var EmberArrayPolyfills = Ember.ArrayPolyfills = {};
|
2134
2133
|
|
@@ -2300,26 +2299,28 @@ define("ember-metal",
|
|
2300
2299
|
__exports__["default"] = Ember;
|
2301
2300
|
});
|
2302
2301
|
define("ember-metal/alias",
|
2303
|
-
["ember-metal/property_get","ember-metal/property_set","ember-metal/error","ember-metal/properties","ember-metal/computed","ember-metal/platform","ember-metal/utils","ember-metal/dependent_keys","exports"],
|
2304
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __exports__) {
|
2302
|
+
["ember-metal/property_get","ember-metal/property_set","ember-metal/core","ember-metal/error","ember-metal/properties","ember-metal/computed","ember-metal/platform","ember-metal/utils","ember-metal/dependent_keys","exports"],
|
2303
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __exports__) {
|
2305
2304
|
"use strict";
|
2306
2305
|
var get = __dependency1__.get;
|
2307
2306
|
var set = __dependency2__.set;
|
2308
|
-
var
|
2309
|
-
|
2310
|
-
var
|
2311
|
-
var
|
2312
|
-
var
|
2313
|
-
var
|
2314
|
-
var
|
2315
|
-
var
|
2316
|
-
var
|
2307
|
+
var Ember = __dependency3__["default"];
|
2308
|
+
// Ember.assert
|
2309
|
+
var EmberError = __dependency4__["default"];
|
2310
|
+
var Descriptor = __dependency5__.Descriptor;
|
2311
|
+
var defineProperty = __dependency5__.defineProperty;
|
2312
|
+
var ComputedProperty = __dependency6__.ComputedProperty;
|
2313
|
+
var create = __dependency7__.create;
|
2314
|
+
var meta = __dependency8__.meta;
|
2315
|
+
var inspect = __dependency8__.inspect;
|
2316
|
+
var addDependentKeys = __dependency9__.addDependentKeys;
|
2317
|
+
var removeDependentKeys = __dependency9__.removeDependentKeys;
|
2317
2318
|
|
2318
|
-
function alias(altKey) {
|
2319
|
+
__exports__["default"] = function alias(altKey) {
|
2319
2320
|
return new AliasedProperty(altKey);
|
2320
2321
|
}
|
2321
2322
|
|
2322
|
-
|
2323
|
+
function AliasedProperty(altKey) {
|
2323
2324
|
this.altKey = altKey;
|
2324
2325
|
this._dependentKeys = [ altKey ];
|
2325
2326
|
}
|
@@ -2343,6 +2344,7 @@ define("ember-metal/alias",
|
|
2343
2344
|
};
|
2344
2345
|
|
2345
2346
|
AliasedProperty.prototype.setup = function(obj, keyName) {
|
2347
|
+
Ember.assert("Setting alias '" + keyName + "' on self", this.altKey !== keyName);
|
2346
2348
|
var m = meta(obj);
|
2347
2349
|
if (m.watching[keyName]) {
|
2348
2350
|
addDependentKeys(this, obj, keyName, m);
|
@@ -2517,7 +2519,6 @@ define("ember-metal/binding",
|
|
2517
2519
|
var Ember = __dependency1__["default"];
|
2518
2520
|
// Ember.Logger, Ember.LOG_BINDINGS, assert
|
2519
2521
|
var get = __dependency2__.get;
|
2520
|
-
var set = __dependency3__.set;
|
2521
2522
|
var trySet = __dependency3__.trySet;
|
2522
2523
|
var guidFor = __dependency4__.guidFor;
|
2523
2524
|
var addObserver = __dependency5__.addObserver;
|
@@ -3019,10 +3020,7 @@ define("ember-metal/cache",
|
|
3019
3020
|
this.func = func;
|
3020
3021
|
}
|
3021
3022
|
|
3022
|
-
var FALSE = function() { };
|
3023
|
-
var ZERO = function() { };
|
3024
3023
|
var UNDEFINED = function() { };
|
3025
|
-
var NULL = function() { };
|
3026
3024
|
|
3027
3025
|
Cache.prototype = {
|
3028
3026
|
set: function(key, value) {
|
@@ -3071,12 +3069,11 @@ define("ember-metal/chains",
|
|
3071
3069
|
// warn, assert, etc;
|
3072
3070
|
var get = __dependency2__.get;
|
3073
3071
|
var normalizeTuple = __dependency2__.normalizeTuple;
|
3074
|
-
var
|
3072
|
+
var metaFor = __dependency3__.meta;
|
3075
3073
|
var forEach = __dependency4__.forEach;
|
3076
3074
|
var watchKey = __dependency5__.watchKey;
|
3077
3075
|
var unwatchKey = __dependency5__.unwatchKey;
|
3078
3076
|
|
3079
|
-
var metaFor = meta;
|
3080
3077
|
var warn = Ember.warn;
|
3081
3078
|
var FIRST_KEY = /^([^\.]+)/;
|
3082
3079
|
|
@@ -3097,7 +3094,8 @@ define("ember-metal/chains",
|
|
3097
3094
|
|
3098
3095
|
forEach.call(queue, function(q) { q[0].add(q[1]); });
|
3099
3096
|
|
3100
|
-
warn('Watching an undefined global, Ember expects watched globals to be
|
3097
|
+
warn('Watching an undefined global, Ember expects watched globals to be' +
|
3098
|
+
' setup by the time the run loop is flushed, check for typos', pendingQueue.length === 0);
|
3101
3099
|
}
|
3102
3100
|
|
3103
3101
|
__exports__.flushPendingChains = flushPendingChains;function addChainWatcher(obj, keyName, node) {
|
@@ -3424,29 +3422,28 @@ define("ember-metal/chains",
|
|
3424
3422
|
__exports__.ChainNode = ChainNode;
|
3425
3423
|
});
|
3426
3424
|
define("ember-metal/computed",
|
3427
|
-
["ember-metal/core","ember-metal/
|
3428
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__,
|
3425
|
+
["ember-metal/core","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/dependent_keys","exports"],
|
3426
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __exports__) {
|
3429
3427
|
"use strict";
|
3430
3428
|
var Ember = __dependency1__["default"];
|
3431
|
-
var
|
3432
|
-
var
|
3433
|
-
var
|
3434
|
-
var
|
3435
|
-
var
|
3436
|
-
var
|
3437
|
-
var
|
3438
|
-
var
|
3439
|
-
var
|
3440
|
-
var
|
3441
|
-
var
|
3442
|
-
var removeDependentKeys = __dependency9__.removeDependentKeys;
|
3429
|
+
var set = __dependency2__.set;
|
3430
|
+
var meta = __dependency3__.meta;
|
3431
|
+
var inspect = __dependency3__.inspect;
|
3432
|
+
var expandProperties = __dependency4__["default"];
|
3433
|
+
var EmberError = __dependency5__["default"];
|
3434
|
+
var Descriptor = __dependency6__.Descriptor;
|
3435
|
+
var defineProperty = __dependency6__.defineProperty;
|
3436
|
+
var propertyWillChange = __dependency7__.propertyWillChange;
|
3437
|
+
var propertyDidChange = __dependency7__.propertyDidChange;
|
3438
|
+
var addDependentKeys = __dependency8__.addDependentKeys;
|
3439
|
+
var removeDependentKeys = __dependency8__.removeDependentKeys;
|
3443
3440
|
|
3444
3441
|
/**
|
3445
3442
|
@module ember-metal
|
3446
3443
|
*/
|
3447
3444
|
|
3448
|
-
Ember.warn("The CP_DEFAULT_CACHEABLE flag has been removed and computed properties
|
3449
|
-
|
3445
|
+
Ember.warn("The CP_DEFAULT_CACHEABLE flag has been removed and computed properties" +
|
3446
|
+
"are always cached by default. Use `volatile` if you don't want caching.", Ember.ENV.CP_DEFAULT_CACHEABLE !== false);
|
3450
3447
|
|
3451
3448
|
var metaFor = meta;
|
3452
3449
|
var a_slice = [].slice;
|
@@ -3542,6 +3539,10 @@ define("ember-metal/computed",
|
|
3542
3539
|
func.__ember_arity__ = func.length;
|
3543
3540
|
this.func = func;
|
3544
3541
|
|
3542
|
+
this._dependentKeys = undefined;
|
3543
|
+
this._suspended = undefined;
|
3544
|
+
this._meta = undefined;
|
3545
|
+
|
3545
3546
|
this._cacheable = (opts && opts.cacheable !== undefined) ? opts.cacheable : true;
|
3546
3547
|
this._dependentKeys = opts && opts.dependentKeys;
|
3547
3548
|
this._readOnly = opts && (opts.readOnly !== undefined || !!opts.readOnly) || false;
|
@@ -3550,9 +3551,6 @@ define("ember-metal/computed",
|
|
3550
3551
|
ComputedProperty.prototype = new Descriptor();
|
3551
3552
|
|
3552
3553
|
var ComputedPropertyPrototype = ComputedProperty.prototype;
|
3553
|
-
ComputedPropertyPrototype._dependentKeys = undefined;
|
3554
|
-
ComputedPropertyPrototype._suspended = undefined;
|
3555
|
-
ComputedPropertyPrototype._meta = undefined;
|
3556
3554
|
|
3557
3555
|
/**
|
3558
3556
|
Properties are cacheable by default. Computed property will automatically
|
@@ -4042,7 +4040,7 @@ define("ember-metal/computed_macros",
|
|
4042
4040
|
var computed = __dependency4__.computed;
|
4043
4041
|
var isEmpty = __dependency5__["default"];
|
4044
4042
|
var isNone = __dependency6__.isNone;
|
4045
|
-
var alias = __dependency7__
|
4043
|
+
var alias = __dependency7__["default"];
|
4046
4044
|
|
4047
4045
|
/**
|
4048
4046
|
@module ember-metal
|
@@ -4546,7 +4544,7 @@ define("ember-metal/computed_macros",
|
|
4546
4544
|
values of all passed in properties to an array.
|
4547
4545
|
*/
|
4548
4546
|
registerComputedWithProperties('collect', function(properties) {
|
4549
|
-
var res =
|
4547
|
+
var res = Ember.A();
|
4550
4548
|
for (var key in properties) {
|
4551
4549
|
if (properties.hasOwnProperty(key)) {
|
4552
4550
|
if (isNone(properties[key])) {
|
@@ -4741,7 +4739,7 @@ define("ember-metal/core",
|
|
4741
4739
|
["exports"],
|
4742
4740
|
function(__exports__) {
|
4743
4741
|
"use strict";
|
4744
|
-
/*globals Ember:true,
|
4742
|
+
/*globals Ember:true,ENV,EmberENV,MetamorphENV:true */
|
4745
4743
|
|
4746
4744
|
/**
|
4747
4745
|
@module ember
|
@@ -4765,7 +4763,7 @@ define("ember-metal/core",
|
|
4765
4763
|
|
4766
4764
|
@class Ember
|
4767
4765
|
@static
|
4768
|
-
@version 1.
|
4766
|
+
@version 1.9.0-alpha
|
4769
4767
|
*/
|
4770
4768
|
|
4771
4769
|
if ('undefined' === typeof Ember) {
|
@@ -4775,9 +4773,9 @@ define("ember-metal/core",
|
|
4775
4773
|
}
|
4776
4774
|
|
4777
4775
|
// Default imports, exports and lookup to the global object;
|
4778
|
-
|
4779
|
-
|
4780
|
-
var
|
4776
|
+
Ember.imports = Ember.imports || this;
|
4777
|
+
Ember.lookup = Ember.lookup || this;
|
4778
|
+
var exports = Ember.exports = Ember.exports || this;
|
4781
4779
|
|
4782
4780
|
// aliases needed to keep minifiers from removing the global context
|
4783
4781
|
exports.Em = exports.Ember = Ember;
|
@@ -4792,10 +4790,10 @@ define("ember-metal/core",
|
|
4792
4790
|
/**
|
4793
4791
|
@property VERSION
|
4794
4792
|
@type String
|
4795
|
-
@default '1.
|
4793
|
+
@default '1.9.0-alpha'
|
4796
4794
|
@static
|
4797
4795
|
*/
|
4798
|
-
Ember.VERSION = '1.
|
4796
|
+
Ember.VERSION = '1.9.0-alpha';
|
4799
4797
|
|
4800
4798
|
/**
|
4801
4799
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -4955,11 +4953,7 @@ define("ember-metal/core",
|
|
4955
4953
|
define("ember-metal/dependent_keys",
|
4956
4954
|
["ember-metal/platform","ember-metal/watching","exports"],
|
4957
4955
|
function(__dependency1__, __dependency2__, __exports__) {
|
4958
|
-
|
4959
|
-
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
4960
|
-
//
|
4961
|
-
// REMOVE_USE_STRICT: true
|
4962
|
-
|
4956
|
+
"use strict";
|
4963
4957
|
var o_create = __dependency1__.create;
|
4964
4958
|
var watch = __dependency2__.watch;
|
4965
4959
|
var unwatch = __dependency2__.unwatch;
|
@@ -5086,18 +5080,16 @@ define("ember-metal/deprecate_property",
|
|
5086
5080
|
__exports__.deprecateProperty = deprecateProperty;
|
5087
5081
|
});
|
5088
5082
|
define("ember-metal/dictionary",
|
5089
|
-
["
|
5090
|
-
function(
|
5083
|
+
["exports"],
|
5084
|
+
function(__exports__) {
|
5091
5085
|
"use strict";
|
5092
|
-
var create = __dependency1__.create;
|
5093
|
-
|
5094
5086
|
// the delete is meant to hint at runtimes that this object should remain in
|
5095
5087
|
// dictionary mode. This is clearly a runtime specific hack, but currently it
|
5096
5088
|
// appears worthwile in some usecases. Please note, these deletes do increase
|
5097
5089
|
// the cost of creation dramatically over a plain Object.create. And as this
|
5098
5090
|
// only makes sense for long-lived dictionaries that aren't instantiated often.
|
5099
5091
|
__exports__["default"] = function makeDictionary(parent) {
|
5100
|
-
var dict = create(parent);
|
5092
|
+
var dict = Object.create(parent);
|
5101
5093
|
dict['_dict'] = null;
|
5102
5094
|
delete dict['_dict'];
|
5103
5095
|
return dict;
|
@@ -5393,23 +5385,18 @@ define("ember-metal/error",
|
|
5393
5385
|
define("ember-metal/events",
|
5394
5386
|
["ember-metal/core","ember-metal/utils","ember-metal/platform","exports"],
|
5395
5387
|
function(__dependency1__, __dependency2__, __dependency3__, __exports__) {
|
5396
|
-
|
5397
|
-
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
5398
|
-
//
|
5399
|
-
// REMOVE_USE_STRICT: true
|
5400
|
-
|
5388
|
+
"use strict";
|
5401
5389
|
/**
|
5402
5390
|
@module ember-metal
|
5403
5391
|
*/
|
5404
5392
|
var Ember = __dependency1__["default"];
|
5405
|
-
var
|
5393
|
+
var metaFor = __dependency2__.meta;
|
5406
5394
|
var tryFinally = __dependency2__.tryFinally;
|
5407
5395
|
var apply = __dependency2__.apply;
|
5408
5396
|
var applyStr = __dependency2__.applyStr;
|
5409
5397
|
var create = __dependency3__.create;
|
5410
5398
|
|
5411
5399
|
var a_slice = [].slice;
|
5412
|
-
var metaFor = meta;
|
5413
5400
|
|
5414
5401
|
/* listener flags */
|
5415
5402
|
var ONCE = 1;
|
@@ -5450,21 +5437,26 @@ define("ember-metal/events",
|
|
5450
5437
|
function actionsFor(obj, eventName) {
|
5451
5438
|
var meta = metaFor(obj, true);
|
5452
5439
|
var actions;
|
5440
|
+
var listeners = meta.listeners;
|
5453
5441
|
|
5454
|
-
if (!
|
5455
|
-
|
5456
|
-
|
5442
|
+
if (!listeners) {
|
5443
|
+
listeners = meta.listeners = create(null);
|
5444
|
+
listeners.__source__ = obj;
|
5445
|
+
} else if (listeners.__source__ !== obj) {
|
5457
5446
|
// setup inherited copy of the listeners object
|
5458
|
-
meta.listeners = create(
|
5447
|
+
listeners = meta.listeners = create(listeners);
|
5448
|
+
listeners.__source__ = obj;
|
5459
5449
|
}
|
5460
5450
|
|
5461
|
-
actions =
|
5451
|
+
actions = listeners[eventName];
|
5462
5452
|
|
5463
5453
|
// if there are actions, but the eventName doesn't exist in our listeners, then copy them from the prototype
|
5464
|
-
if (actions &&
|
5465
|
-
actions =
|
5454
|
+
if (actions && actions.__source__ !== obj) {
|
5455
|
+
actions = listeners[eventName] = listeners[eventName].slice();
|
5456
|
+
actions.__source__ = obj;
|
5466
5457
|
} else if (!actions) {
|
5467
|
-
actions =
|
5458
|
+
actions = listeners[eventName] = [];
|
5459
|
+
actions.__source__ = obj;
|
5468
5460
|
}
|
5469
5461
|
|
5470
5462
|
return actions;
|
@@ -5685,8 +5677,11 @@ define("ember-metal/events",
|
|
5685
5677
|
var listeners = obj['__ember_meta__'].listeners, ret = [];
|
5686
5678
|
|
5687
5679
|
if (listeners) {
|
5688
|
-
for(var eventName in listeners) {
|
5689
|
-
if (
|
5680
|
+
for (var eventName in listeners) {
|
5681
|
+
if (eventName !== '__source__' &&
|
5682
|
+
listeners[eventName]) {
|
5683
|
+
ret.push(eventName);
|
5684
|
+
}
|
5690
5685
|
}
|
5691
5686
|
}
|
5692
5687
|
return ret;
|
@@ -5953,6 +5948,59 @@ define("ember-metal/get_properties",
|
|
5953
5948
|
return ret;
|
5954
5949
|
}
|
5955
5950
|
});
|
5951
|
+
define("ember-metal/injected_property",
|
5952
|
+
["ember-metal/core","ember-metal/computed","ember-metal/properties","ember-metal/platform","ember-metal/utils","ember-metal/error","exports"],
|
5953
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __exports__) {
|
5954
|
+
"use strict";
|
5955
|
+
var Ember = __dependency1__["default"];
|
5956
|
+
// Ember.assert
|
5957
|
+
var ComputedProperty = __dependency2__.ComputedProperty;
|
5958
|
+
var Descriptor = __dependency3__.Descriptor;
|
5959
|
+
var create = __dependency4__.create;
|
5960
|
+
var inspect = __dependency5__.inspect;
|
5961
|
+
var EmberError = __dependency6__["default"];
|
5962
|
+
|
5963
|
+
/**
|
5964
|
+
Read-only property that returns the result of a container lookup.
|
5965
|
+
|
5966
|
+
@class InjectedProperty
|
5967
|
+
@namespace Ember
|
5968
|
+
@extends Ember.Descriptor
|
5969
|
+
@constructor
|
5970
|
+
@param {String} type The container type the property will lookup
|
5971
|
+
@param {String} name (optional) The name the property will lookup, defaults
|
5972
|
+
to the property's name
|
5973
|
+
*/
|
5974
|
+
function InjectedProperty(type, name) {
|
5975
|
+
this.type = type;
|
5976
|
+
this.name = name;
|
5977
|
+
|
5978
|
+
this._super$Constructor(function(keyName) {
|
5979
|
+
Ember.assert("Attempting to lookup an injected property on an object " +
|
5980
|
+
"without a container, ensure that the object was " +
|
5981
|
+
"instantiated via a container.", this.container);
|
5982
|
+
|
5983
|
+
return this.container.lookup(type + ':' + (name || keyName));
|
5984
|
+
}, { readOnly: true });
|
5985
|
+
}
|
5986
|
+
|
5987
|
+
InjectedProperty.prototype = create(Descriptor.prototype);
|
5988
|
+
|
5989
|
+
var InjectedPropertyPrototype = InjectedProperty.prototype;
|
5990
|
+
var ComputedPropertyPrototype = ComputedProperty.prototype;
|
5991
|
+
|
5992
|
+
InjectedPropertyPrototype._super$Constructor = ComputedProperty;
|
5993
|
+
|
5994
|
+
InjectedPropertyPrototype.get = ComputedPropertyPrototype.get;
|
5995
|
+
|
5996
|
+
InjectedPropertyPrototype.set = function(obj, keyName) {
|
5997
|
+
throw new EmberError("Cannot set injected property '" + keyName + "' on object: " + inspect(obj));
|
5998
|
+
};
|
5999
|
+
|
6000
|
+
InjectedPropertyPrototype.teardown = ComputedPropertyPrototype.teardown;
|
6001
|
+
|
6002
|
+
__exports__["default"] = InjectedProperty;
|
6003
|
+
});
|
5956
6004
|
define("ember-metal/instrumentation",
|
5957
6005
|
["ember-metal/core","ember-metal/utils","exports"],
|
5958
6006
|
function(__dependency1__, __dependency2__, __exports__) {
|
@@ -6180,12 +6228,10 @@ define("ember-metal/instrumentation",
|
|
6180
6228
|
__exports__.reset = reset;
|
6181
6229
|
});
|
6182
6230
|
define("ember-metal/is_blank",
|
6183
|
-
["ember-metal/
|
6184
|
-
function(__dependency1__,
|
6231
|
+
["ember-metal/is_empty","exports"],
|
6232
|
+
function(__dependency1__, __exports__) {
|
6185
6233
|
"use strict";
|
6186
|
-
var
|
6187
|
-
// deprecateFunc
|
6188
|
-
var isEmpty = __dependency2__["default"];
|
6234
|
+
var isEmpty = __dependency1__["default"];
|
6189
6235
|
|
6190
6236
|
/**
|
6191
6237
|
A value is blank if it is empty or a whitespace string.
|
@@ -6227,7 +6273,7 @@ define("ember-metal/is_empty",
|
|
6227
6273
|
Verifies that a value is `null` or an empty string, empty array,
|
6228
6274
|
or empty function.
|
6229
6275
|
|
6230
|
-
Constrains the rules on `Ember.isNone` by returning
|
6276
|
+
Constrains the rules on `Ember.isNone` by returning false for empty
|
6231
6277
|
string and empty arrays.
|
6232
6278
|
|
6233
6279
|
```javascript
|
@@ -6246,40 +6292,12 @@ define("ember-metal/is_empty",
|
|
6246
6292
|
@return {Boolean}
|
6247
6293
|
*/
|
6248
6294
|
function isEmpty(obj) {
|
6249
|
-
|
6250
|
-
|
6251
|
-
return none;
|
6252
|
-
}
|
6253
|
-
|
6254
|
-
if (typeof obj.size === 'number') {
|
6255
|
-
return !obj.size;
|
6256
|
-
}
|
6257
|
-
|
6258
|
-
var objectType = typeof obj;
|
6259
|
-
|
6260
|
-
if (objectType === 'object') {
|
6261
|
-
var size = get(obj, 'size');
|
6262
|
-
if (typeof size === 'number') {
|
6263
|
-
return !size;
|
6264
|
-
}
|
6265
|
-
}
|
6266
|
-
|
6267
|
-
if (typeof obj.length === 'number' && objectType !== 'function') {
|
6268
|
-
return !obj.length;
|
6269
|
-
}
|
6270
|
-
|
6271
|
-
if (objectType === 'object') {
|
6272
|
-
var length = get(obj, 'length');
|
6273
|
-
if (typeof length === 'number') {
|
6274
|
-
return !length;
|
6275
|
-
}
|
6276
|
-
}
|
6277
|
-
|
6278
|
-
return false;
|
6295
|
+
return isNone(obj) || (obj.length === 0 && typeof obj !== 'function') ||
|
6296
|
+
(typeof obj === 'object' && get(obj, 'length') === 0);
|
6279
6297
|
}
|
6280
6298
|
|
6281
6299
|
var empty = Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.", isEmpty);
|
6282
|
-
|
6300
|
+
|
6283
6301
|
__exports__["default"] = isEmpty;
|
6284
6302
|
__exports__.isEmpty = isEmpty;
|
6285
6303
|
__exports__.empty = empty;
|
@@ -6657,7 +6675,7 @@ define("ember-metal/map",
|
|
6657
6675
|
}
|
6658
6676
|
|
6659
6677
|
function copyNull(obj) {
|
6660
|
-
var output = create(null);
|
6678
|
+
var output = Object.create(null);
|
6661
6679
|
|
6662
6680
|
for (var prop in obj) {
|
6663
6681
|
// hasOwnPropery is not needed because obj is Object.create(null);
|
@@ -6715,7 +6733,7 @@ define("ember-metal/map",
|
|
6715
6733
|
@method clear
|
6716
6734
|
*/
|
6717
6735
|
clear: function() {
|
6718
|
-
this.presenceSet = create(null);
|
6736
|
+
this.presenceSet = Object.create(null);
|
6719
6737
|
this.list = [];
|
6720
6738
|
this.size = 0;
|
6721
6739
|
},
|
@@ -6879,7 +6897,7 @@ define("ember-metal/map",
|
|
6879
6897
|
if (this instanceof this.constructor) {
|
6880
6898
|
this.keys = OrderedSet.create();
|
6881
6899
|
this.keys._silenceRemoveDeprecation = true;
|
6882
|
-
this.values = create(null);
|
6900
|
+
this.values = Object.create(null);
|
6883
6901
|
this.size = 0;
|
6884
6902
|
} else {
|
6885
6903
|
missingNew("OrderedSet");
|
@@ -7041,7 +7059,7 @@ define("ember-metal/map",
|
|
7041
7059
|
*/
|
7042
7060
|
clear: function() {
|
7043
7061
|
this.keys.clear();
|
7044
|
-
this.values = create(null);
|
7062
|
+
this.values = Object.create(null);
|
7045
7063
|
this.size = 0;
|
7046
7064
|
},
|
7047
7065
|
|
@@ -7166,13 +7184,9 @@ define("ember-metal/merge",
|
|
7166
7184
|
}
|
7167
7185
|
});
|
7168
7186
|
define("ember-metal/mixin",
|
7169
|
-
["ember-metal/core","ember-metal/merge","ember-metal/array","ember-metal/platform","ember-metal/utils","ember-metal/expand_properties","ember-metal/properties","ember-metal/computed","ember-metal/binding","ember-metal/observer","ember-metal/events","exports"],
|
7170
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __exports__) {
|
7171
|
-
|
7172
|
-
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
7173
|
-
//
|
7174
|
-
// REMOVE_USE_STRICT: true
|
7175
|
-
|
7187
|
+
["ember-metal/core","ember-metal/merge","ember-metal/array","ember-metal/platform","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/properties","ember-metal/computed","ember-metal/binding","ember-metal/observer","ember-metal/events","exports"],
|
7188
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __exports__) {
|
7189
|
+
"use strict";
|
7176
7190
|
/**
|
7177
7191
|
@module ember
|
7178
7192
|
@submodule ember-metal
|
@@ -7181,35 +7195,33 @@ define("ember-metal/mixin",
|
|
7181
7195
|
var Ember = __dependency1__["default"];
|
7182
7196
|
// warn, assert, wrap, et;
|
7183
7197
|
var merge = __dependency2__["default"];
|
7184
|
-
var
|
7185
|
-
var
|
7186
|
-
var
|
7187
|
-
var
|
7188
|
-
var
|
7189
|
-
var
|
7190
|
-
var
|
7191
|
-
var
|
7192
|
-
var
|
7193
|
-
var
|
7194
|
-
var
|
7195
|
-
var
|
7196
|
-
var
|
7197
|
-
var
|
7198
|
-
var
|
7199
|
-
var
|
7200
|
-
var
|
7201
|
-
var
|
7202
|
-
var
|
7203
|
-
var
|
7204
|
-
var
|
7198
|
+
var a_map = __dependency3__.map;
|
7199
|
+
var a_indexOf = __dependency3__.indexOf;
|
7200
|
+
var a_forEach = __dependency3__.forEach;
|
7201
|
+
var o_create = __dependency4__.create;
|
7202
|
+
var get = __dependency5__.get;
|
7203
|
+
var set = __dependency6__.set;
|
7204
|
+
var trySet = __dependency6__.trySet;
|
7205
|
+
var guidFor = __dependency7__.guidFor;
|
7206
|
+
var metaFor = __dependency7__.meta;
|
7207
|
+
var wrap = __dependency7__.wrap;
|
7208
|
+
var makeArray = __dependency7__.makeArray;
|
7209
|
+
var apply = __dependency7__.apply;
|
7210
|
+
var expandProperties = __dependency8__["default"];
|
7211
|
+
var Descriptor = __dependency9__.Descriptor;
|
7212
|
+
var defineProperty = __dependency9__.defineProperty;
|
7213
|
+
var ComputedProperty = __dependency10__.ComputedProperty;
|
7214
|
+
var Binding = __dependency11__.Binding;
|
7215
|
+
var addObserver = __dependency12__.addObserver;
|
7216
|
+
var removeObserver = __dependency12__.removeObserver;
|
7217
|
+
var addBeforeObserver = __dependency12__.addBeforeObserver;
|
7218
|
+
var removeBeforeObserver = __dependency12__.removeBeforeObserver;
|
7219
|
+
var _suspendObserver = __dependency12__._suspendObserver;
|
7220
|
+
var addListener = __dependency13__.addListener;
|
7221
|
+
var removeListener = __dependency13__.removeListener;
|
7205
7222
|
|
7206
7223
|
var REQUIRED;
|
7207
|
-
var a_map = map;
|
7208
|
-
var a_indexOf = indexOf;
|
7209
|
-
var a_forEach = forEach;
|
7210
7224
|
var a_slice = [].slice;
|
7211
|
-
var o_create = create;
|
7212
|
-
var metaFor = meta;
|
7213
7225
|
|
7214
7226
|
function superFunction(){
|
7215
7227
|
var func = this.__nextSuper;
|
@@ -7256,7 +7268,12 @@ define("ember-metal/mixin",
|
|
7256
7268
|
function isMethod(obj) {
|
7257
7269
|
return 'function' === typeof obj &&
|
7258
7270
|
obj.isMethod !== false &&
|
7259
|
-
obj !== Boolean &&
|
7271
|
+
obj !== Boolean &&
|
7272
|
+
obj !== Object &&
|
7273
|
+
obj !== Number &&
|
7274
|
+
obj !== Array &&
|
7275
|
+
obj !== Date &&
|
7276
|
+
obj !== String;
|
7260
7277
|
}
|
7261
7278
|
|
7262
7279
|
var CONTINUE = {};
|
@@ -7312,6 +7329,10 @@ define("ember-metal/mixin",
|
|
7312
7329
|
return property;
|
7313
7330
|
}
|
7314
7331
|
|
7332
|
+
var sourceAvailable = (function() {
|
7333
|
+
return this;
|
7334
|
+
}).toString().indexOf('return this;') > -1;
|
7335
|
+
|
7315
7336
|
function giveMethodSuper(obj, key, method, values, descs) {
|
7316
7337
|
var superMethod;
|
7317
7338
|
|
@@ -7330,7 +7351,21 @@ define("ember-metal/mixin",
|
|
7330
7351
|
return method;
|
7331
7352
|
}
|
7332
7353
|
|
7333
|
-
|
7354
|
+
var hasSuper;
|
7355
|
+
if (sourceAvailable) {
|
7356
|
+
hasSuper = method.__hasSuper;
|
7357
|
+
|
7358
|
+
if (hasSuper === undefined) {
|
7359
|
+
hasSuper = method.toString().indexOf('_super') > -1;
|
7360
|
+
method.__hasSuper = hasSuper;
|
7361
|
+
}
|
7362
|
+
}
|
7363
|
+
|
7364
|
+
if (sourceAvailable === false || hasSuper) {
|
7365
|
+
return wrap(method, superMethod);
|
7366
|
+
} else {
|
7367
|
+
return method;
|
7368
|
+
}
|
7334
7369
|
}
|
7335
7370
|
|
7336
7371
|
function applyConcatenatedProperties(obj, key, value, values) {
|
@@ -7338,7 +7373,11 @@ define("ember-metal/mixin",
|
|
7338
7373
|
|
7339
7374
|
if (baseValue) {
|
7340
7375
|
if ('function' === typeof baseValue.concat) {
|
7341
|
-
|
7376
|
+
if (value === null || value === undefined) {
|
7377
|
+
return baseValue;
|
7378
|
+
} else {
|
7379
|
+
return baseValue.concat(value);
|
7380
|
+
}
|
7342
7381
|
} else {
|
7343
7382
|
return makeArray(baseValue).concat(value);
|
7344
7383
|
}
|
@@ -7350,9 +7389,6 @@ define("ember-metal/mixin",
|
|
7350
7389
|
function applyMergedProperties(obj, key, value, values) {
|
7351
7390
|
var baseValue = values[key] || obj[key];
|
7352
7391
|
|
7353
|
-
Ember.assert("You passed in `" + JSON.stringify(value) + "` as the value for `" + key +
|
7354
|
-
"` but `" + key + "` cannot be an Array", !isArray(value));
|
7355
|
-
|
7356
7392
|
if (!baseValue) { return value; }
|
7357
7393
|
|
7358
7394
|
var newBase = merge({}, baseValue);
|
@@ -7457,6 +7493,31 @@ define("ember-metal/mixin",
|
|
7457
7493
|
}
|
7458
7494
|
}
|
7459
7495
|
|
7496
|
+
function connectStreamBinding(obj, key, stream) {
|
7497
|
+
var onNotify = function(stream) {
|
7498
|
+
_suspendObserver(obj, key, null, didChange, function() {
|
7499
|
+
trySet(obj, key, stream.value());
|
7500
|
+
});
|
7501
|
+
};
|
7502
|
+
|
7503
|
+
var didChange = function() {
|
7504
|
+
stream.setValue(get(obj, key), onNotify);
|
7505
|
+
};
|
7506
|
+
|
7507
|
+
// Initialize value
|
7508
|
+
set(obj, key, stream.value());
|
7509
|
+
|
7510
|
+
addObserver(obj, key, null, didChange);
|
7511
|
+
|
7512
|
+
stream.subscribe(onNotify);
|
7513
|
+
|
7514
|
+
if (obj._streamBindingSubscriptions === undefined) {
|
7515
|
+
obj._streamBindingSubscriptions = Object.create(null);
|
7516
|
+
}
|
7517
|
+
|
7518
|
+
obj._streamBindingSubscriptions[key] = onNotify;
|
7519
|
+
}
|
7520
|
+
|
7460
7521
|
function connectBindings(obj, m) {
|
7461
7522
|
// TODO Mixin.apply(instance) should disconnect binding if exists
|
7462
7523
|
var bindings = m.bindings;
|
@@ -7466,7 +7527,10 @@ define("ember-metal/mixin",
|
|
7466
7527
|
binding = bindings[key];
|
7467
7528
|
if (binding) {
|
7468
7529
|
to = key.slice(0, -7); // strip Binding off end
|
7469
|
-
if (binding
|
7530
|
+
if (binding.isStream) {
|
7531
|
+
connectStreamBinding(obj, to, binding);
|
7532
|
+
continue;
|
7533
|
+
} else if (binding instanceof Binding) {
|
7470
7534
|
binding = binding.copy(); // copy prototypes' instance
|
7471
7535
|
binding.to(to);
|
7472
7536
|
} else { // binding is string path
|
@@ -7700,7 +7764,8 @@ define("ember-metal/mixin",
|
|
7700
7764
|
for(idx=0; idx < len; idx++) {
|
7701
7765
|
mixin = arguments[idx];
|
7702
7766
|
Ember.assert('Expected hash or Mixin instance, got ' + Object.prototype.toString.call(mixin),
|
7703
|
-
typeof mixin === 'object' && mixin !== null &&
|
7767
|
+
typeof mixin === 'object' && mixin !== null &&
|
7768
|
+
Object.prototype.toString.call(mixin) !== '[object Array]');
|
7704
7769
|
|
7705
7770
|
if (mixin instanceof Mixin) {
|
7706
7771
|
mixins.push(mixin);
|
@@ -7934,7 +7999,8 @@ define("ember-metal/mixin",
|
|
7934
7999
|
function immediateObserver() {
|
7935
8000
|
for (var i=0, l=arguments.length; i<l; i++) {
|
7936
8001
|
var arg = arguments[i];
|
7937
|
-
Ember.assert("Immediate observers must observe internal properties only, not properties on other objects.",
|
8002
|
+
Ember.assert("Immediate observers must observe internal properties only, not properties on other objects.",
|
8003
|
+
typeof arg !== "string" || arg.indexOf('.') === -1);
|
7938
8004
|
}
|
7939
8005
|
|
7940
8006
|
return observer.apply(this, arguments);
|
@@ -8214,16 +8280,34 @@ define("ember-metal/path_cache",
|
|
8214
8280
|
var IS_GLOBAL_PATH = /^([A-Z$]|([0-9][A-Z$])).*[\.]/;
|
8215
8281
|
var HAS_THIS = 'this.';
|
8216
8282
|
|
8217
|
-
var isGlobalCache
|
8218
|
-
var isGlobalPathCache
|
8219
|
-
var hasThisCache
|
8220
|
-
var
|
8283
|
+
var isGlobalCache = new Cache(1000, function(key) { return IS_GLOBAL.test(key); });
|
8284
|
+
var isGlobalPathCache = new Cache(1000, function(key) { return IS_GLOBAL_PATH.test(key); });
|
8285
|
+
var hasThisCache = new Cache(1000, function(key) { return key.indexOf(HAS_THIS) !== -1; });
|
8286
|
+
var firstDotIndexCache = new Cache(1000, function(key) { return key.indexOf('.'); });
|
8287
|
+
|
8288
|
+
var firstKeyCache = new Cache(1000, function(path) {
|
8289
|
+
var index = firstDotIndexCache.get(path);
|
8290
|
+
if (index === -1) {
|
8291
|
+
return path;
|
8292
|
+
} else {
|
8293
|
+
return path.slice(0, index);
|
8294
|
+
}
|
8295
|
+
});
|
8296
|
+
|
8297
|
+
var tailPathCache = new Cache(1000, function(path) {
|
8298
|
+
var index = firstDotIndexCache.get(path);
|
8299
|
+
if (index !== -1) {
|
8300
|
+
return path.slice(index + 1);
|
8301
|
+
}
|
8302
|
+
});
|
8221
8303
|
|
8222
8304
|
var caches = {
|
8223
|
-
isGlobalCache:
|
8224
|
-
isGlobalPathCache:
|
8225
|
-
hasThisCache:
|
8226
|
-
|
8305
|
+
isGlobalCache: isGlobalCache,
|
8306
|
+
isGlobalPathCache: isGlobalPathCache,
|
8307
|
+
hasThisCache: hasThisCache,
|
8308
|
+
firstDotIndexCache: firstDotIndexCache,
|
8309
|
+
firstKeyCache: firstKeyCache,
|
8310
|
+
tailPathCache: tailPathCache
|
8227
8311
|
};
|
8228
8312
|
__exports__.caches = caches;
|
8229
8313
|
function isGlobal(path) {
|
@@ -8239,54 +8323,122 @@ define("ember-metal/path_cache",
|
|
8239
8323
|
}
|
8240
8324
|
|
8241
8325
|
__exports__.hasThis = hasThis;function isPath(path) {
|
8242
|
-
return
|
8326
|
+
return firstDotIndexCache.get(path) !== -1;
|
8327
|
+
}
|
8328
|
+
|
8329
|
+
__exports__.isPath = isPath;function getFirstKey(path) {
|
8330
|
+
return firstKeyCache.get(path);
|
8243
8331
|
}
|
8244
8332
|
|
8245
|
-
__exports__.
|
8333
|
+
__exports__.getFirstKey = getFirstKey;function getTailPath(path) {
|
8334
|
+
return tailPathCache.get(path);
|
8335
|
+
}
|
8336
|
+
|
8337
|
+
__exports__.getTailPath = getTailPath;
|
8246
8338
|
});
|
8247
8339
|
define("ember-metal/platform",
|
8248
|
-
["
|
8249
|
-
function(
|
8340
|
+
["exports"],
|
8341
|
+
function(__exports__) {
|
8250
8342
|
"use strict";
|
8251
|
-
|
8252
|
-
var defineProperty = __dependency1__.defineProperty;
|
8253
|
-
var defineProperties = __dependency2__["default"];
|
8254
|
-
var create = __dependency3__["default"];
|
8343
|
+
/*globals Node */
|
8255
8344
|
|
8256
8345
|
/**
|
8257
8346
|
@module ember-metal
|
8258
8347
|
*/
|
8348
|
+
var defineProperty = (function checkCompliance(defineProperty) {
|
8349
|
+
if (!defineProperty) return;
|
8350
|
+
try {
|
8351
|
+
var a = 5;
|
8352
|
+
var obj = {};
|
8353
|
+
defineProperty(obj, 'a', {
|
8354
|
+
configurable: true,
|
8355
|
+
enumerable: true,
|
8356
|
+
get: function () {
|
8357
|
+
return a;
|
8358
|
+
},
|
8359
|
+
set: function (v) {
|
8360
|
+
a = v;
|
8361
|
+
}
|
8362
|
+
});
|
8363
|
+
if (obj.a !== 5) return;
|
8364
|
+
obj.a = 10;
|
8365
|
+
if (a !== 10) return;
|
8259
8366
|
|
8260
|
-
|
8261
|
-
|
8367
|
+
// check non-enumerability
|
8368
|
+
defineProperty(obj, 'a', {
|
8369
|
+
configurable: true,
|
8370
|
+
enumerable: false,
|
8371
|
+
writable: true,
|
8372
|
+
value: true
|
8373
|
+
});
|
8374
|
+
for (var key in obj) {
|
8375
|
+
if (key === 'a') return;
|
8376
|
+
}
|
8262
8377
|
|
8263
|
-
|
8264
|
-
|
8378
|
+
// Detects a bug in Android <3.2 where you cannot redefine a property using
|
8379
|
+
// Object.defineProperty once accessors have already been set.
|
8380
|
+
if (obj.a !== true) return;
|
8265
8381
|
|
8266
|
-
|
8267
|
-
|
8268
|
-
|
8269
|
-
|
8382
|
+
// defineProperty is compliant
|
8383
|
+
return defineProperty;
|
8384
|
+
} catch (e) {
|
8385
|
+
// IE8 defines Object.defineProperty but calling it on an Object throws
|
8386
|
+
return;
|
8387
|
+
}
|
8388
|
+
})(Object.defineProperty);
|
8270
8389
|
|
8271
|
-
|
8272
|
-
__exports__.defineProperty = defineProperty;
|
8273
|
-
__exports__.defineProperties = defineProperties;
|
8274
|
-
__exports__.hasPropertyAccessors = hasPropertyAccessors;
|
8275
|
-
__exports__.canDefineNonEnumerableProperties = canDefineNonEnumerableProperties;
|
8276
|
-
});
|
8277
|
-
define("ember-metal/platform/create",
|
8278
|
-
["exports"],
|
8279
|
-
function(__exports__) {
|
8280
|
-
// Remove "use strict"; from transpiled module until
|
8281
|
-
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
8282
|
-
//
|
8283
|
-
// REMOVE_USE_STRICT: true
|
8390
|
+
var hasES5CompliantDefineProperty = !!defineProperty;
|
8284
8391
|
|
8285
|
-
|
8286
|
-
|
8287
|
-
|
8288
|
-
|
8289
|
-
|
8392
|
+
if (hasES5CompliantDefineProperty && typeof document !== 'undefined') {
|
8393
|
+
// This is for Safari 5.0, which supports Object.defineProperty, but not
|
8394
|
+
// on DOM nodes.
|
8395
|
+
var canDefinePropertyOnDOM = (function() {
|
8396
|
+
try {
|
8397
|
+
defineProperty(document.createElement('div'), 'definePropertyOnDOM', {});
|
8398
|
+
return true;
|
8399
|
+
} catch(e) { }
|
8400
|
+
|
8401
|
+
return false;
|
8402
|
+
})();
|
8403
|
+
|
8404
|
+
if (!canDefinePropertyOnDOM) {
|
8405
|
+
defineProperty = function(obj, keyName, desc) {
|
8406
|
+
var isNode;
|
8407
|
+
|
8408
|
+
if (typeof Node === "object") {
|
8409
|
+
isNode = obj instanceof Node;
|
8410
|
+
} else {
|
8411
|
+
isNode = typeof obj === "object" && typeof obj.nodeType === "number" && typeof obj.nodeName === "string";
|
8412
|
+
}
|
8413
|
+
|
8414
|
+
if (isNode) {
|
8415
|
+
// TODO: Should we have a warning here?
|
8416
|
+
return (obj[keyName] = desc.value);
|
8417
|
+
} else {
|
8418
|
+
return Object.defineProperty(obj, keyName, desc);
|
8419
|
+
}
|
8420
|
+
};
|
8421
|
+
}
|
8422
|
+
}
|
8423
|
+
|
8424
|
+
if (!hasES5CompliantDefineProperty) {
|
8425
|
+
defineProperty = function defineProperty(obj, keyName, desc) {
|
8426
|
+
if (!desc.get) { obj[keyName] = desc.value; }
|
8427
|
+
};
|
8428
|
+
}
|
8429
|
+
|
8430
|
+
// ES5 15.2.3.7
|
8431
|
+
// http://es5.github.com/#x15.2.3.7
|
8432
|
+
if (!Object.defineProperties) {
|
8433
|
+
Object.defineProperties = function defineProperties(object, properties) {
|
8434
|
+
for (var property in properties) {
|
8435
|
+
if (properties.hasOwnProperty(property) && property !== "__proto__") {
|
8436
|
+
defineProperty(object, property, properties[property]);
|
8437
|
+
}
|
8438
|
+
}
|
8439
|
+
return object;
|
8440
|
+
};
|
8441
|
+
}
|
8290
8442
|
|
8291
8443
|
/**
|
8292
8444
|
Identical to `Object.create()`. Implements if not available natively.
|
@@ -8374,51 +8526,23 @@ define("ember-metal/platform/create",
|
|
8374
8526
|
create = Object.create;
|
8375
8527
|
}
|
8376
8528
|
|
8377
|
-
|
8378
|
-
|
8379
|
-
define("ember-metal/platform/define_properties",
|
8380
|
-
["ember-metal/platform/define_property","exports"],
|
8381
|
-
function(__dependency1__, __exports__) {
|
8382
|
-
"use strict";
|
8383
|
-
var defineProperty = __dependency1__.defineProperty;
|
8384
|
-
|
8385
|
-
var defineProperties = Object.defineProperties;
|
8386
|
-
|
8387
|
-
// ES5 15.2.3.7
|
8388
|
-
// http://es5.github.com/#x15.2.3.7
|
8389
|
-
if (!defineProperties) {
|
8390
|
-
defineProperties = function defineProperties(object, properties) {
|
8391
|
-
for (var property in properties) {
|
8392
|
-
if (properties.hasOwnProperty(property) && property !== "__proto__") {
|
8393
|
-
defineProperty(object, property, properties[property]);
|
8394
|
-
}
|
8395
|
-
}
|
8396
|
-
return object;
|
8397
|
-
};
|
8398
|
-
|
8399
|
-
Object.defineProperties = defineProperties;
|
8400
|
-
}
|
8401
|
-
|
8402
|
-
__exports__["default"] = defineProperties;
|
8403
|
-
});
|
8404
|
-
define("ember-metal/platform/define_property",
|
8405
|
-
["exports"],
|
8406
|
-
function(__exports__) {
|
8407
|
-
"use strict";
|
8408
|
-
/*globals Node */
|
8529
|
+
var hasPropertyAccessors = hasES5CompliantDefineProperty;
|
8530
|
+
var canDefineNonEnumerableProperties = hasES5CompliantDefineProperty;
|
8409
8531
|
|
8410
8532
|
/**
|
8411
8533
|
@class platform
|
8412
8534
|
@namespace Ember
|
8413
|
-
@static
|
8414
8535
|
*/
|
8415
8536
|
|
8416
8537
|
/**
|
8417
|
-
|
8538
|
+
Platform specific methods and feature detectors needed by the framework.
|
8418
8539
|
|
8419
|
-
@
|
8420
|
-
@
|
8540
|
+
@class platform
|
8541
|
+
@namespace Ember
|
8542
|
+
@static
|
8421
8543
|
*/
|
8544
|
+
// TODO remove this
|
8545
|
+
var platform = {};
|
8422
8546
|
|
8423
8547
|
/**
|
8424
8548
|
Identical to `Object.defineProperty()`. Implements as much functionality
|
@@ -8430,90 +8554,21 @@ define("ember-metal/platform/define_property",
|
|
8430
8554
|
@param {Object} desc descriptor hash
|
8431
8555
|
@return {void}
|
8432
8556
|
*/
|
8433
|
-
|
8434
|
-
if (!defineProperty) return;
|
8435
|
-
try {
|
8436
|
-
var a = 5;
|
8437
|
-
var obj = {};
|
8438
|
-
defineProperty(obj, 'a', {
|
8439
|
-
configurable: true,
|
8440
|
-
enumerable: true,
|
8441
|
-
get: function () {
|
8442
|
-
return a;
|
8443
|
-
},
|
8444
|
-
set: function (v) {
|
8445
|
-
a = v;
|
8446
|
-
}
|
8447
|
-
});
|
8448
|
-
if (obj.a !== 5) return;
|
8449
|
-
obj.a = 10;
|
8450
|
-
if (a !== 10) return;
|
8451
|
-
|
8452
|
-
// check non-enumerability
|
8453
|
-
defineProperty(obj, 'a', {
|
8454
|
-
configurable: true,
|
8455
|
-
enumerable: false,
|
8456
|
-
writable: true,
|
8457
|
-
value: true
|
8458
|
-
});
|
8459
|
-
for (var key in obj) {
|
8460
|
-
if (key === 'a') return;
|
8461
|
-
}
|
8462
|
-
|
8463
|
-
// Detects a bug in Android <3.2 where you cannot redefine a property using
|
8464
|
-
// Object.defineProperty once accessors have already been set.
|
8465
|
-
if (obj.a !== true) return;
|
8466
|
-
|
8467
|
-
// defineProperty is compliant
|
8468
|
-
return defineProperty;
|
8469
|
-
} catch (e) {
|
8470
|
-
// IE8 defines Object.defineProperty but calling it on an Object throws
|
8471
|
-
return;
|
8472
|
-
}
|
8473
|
-
})(Object.defineProperty);
|
8474
|
-
|
8475
|
-
var hasES5CompliantDefineProperty = !!defineProperty;
|
8476
|
-
|
8477
|
-
if (hasES5CompliantDefineProperty && typeof document !== 'undefined') {
|
8478
|
-
// This is for Safari 5.0, which supports Object.defineProperty, but not
|
8479
|
-
// on DOM nodes.
|
8480
|
-
var canDefinePropertyOnDOM = (function() {
|
8481
|
-
try {
|
8482
|
-
defineProperty(document.createElement('div'), 'definePropertyOnDOM', {});
|
8483
|
-
return true;
|
8484
|
-
} catch(e) { }
|
8485
|
-
|
8486
|
-
return false;
|
8487
|
-
})();
|
8488
|
-
|
8489
|
-
if (!canDefinePropertyOnDOM) {
|
8490
|
-
defineProperty = function(obj, keyName, desc) {
|
8491
|
-
var isNode;
|
8492
|
-
|
8493
|
-
if (typeof Node === "object") {
|
8494
|
-
isNode = obj instanceof Node;
|
8495
|
-
} else {
|
8496
|
-
isNode = typeof obj === "object" && typeof obj.nodeType === "number" && typeof obj.nodeName === "string";
|
8497
|
-
}
|
8557
|
+
platform.defineProperty = defineProperty;
|
8498
8558
|
|
8499
|
-
|
8500
|
-
|
8501
|
-
return (obj[keyName] = desc.value);
|
8502
|
-
} else {
|
8503
|
-
return Object.defineProperty(obj, keyName, desc);
|
8504
|
-
}
|
8505
|
-
};
|
8506
|
-
}
|
8507
|
-
}
|
8559
|
+
/**
|
8560
|
+
Set to true if the platform supports native getters and setters.
|
8508
8561
|
|
8509
|
-
|
8510
|
-
|
8511
|
-
|
8512
|
-
|
8513
|
-
}
|
8562
|
+
@property hasPropertyAccessors
|
8563
|
+
@final
|
8564
|
+
*/
|
8565
|
+
platform.hasPropertyAccessors = hasPropertyAccessors;
|
8514
8566
|
|
8515
|
-
__exports__.
|
8567
|
+
__exports__.create = create;
|
8516
8568
|
__exports__.defineProperty = defineProperty;
|
8569
|
+
__exports__.hasPropertyAccessors = hasPropertyAccessors;
|
8570
|
+
__exports__.canDefineNonEnumerableProperties = canDefineNonEnumerableProperties;
|
8571
|
+
__exports__.platform = platform;
|
8517
8572
|
});
|
8518
8573
|
define("ember-metal/properties",
|
8519
8574
|
["ember-metal/core","ember-metal/utils","ember-metal/platform","ember-metal/property_events","exports"],
|
@@ -8549,10 +8604,8 @@ define("ember-metal/properties",
|
|
8549
8604
|
// DEFINING PROPERTIES API
|
8550
8605
|
//
|
8551
8606
|
|
8552
|
-
function MANDATORY_SETTER_FUNCTION(
|
8553
|
-
|
8554
|
-
Ember.assert("You must use Ember.set() to set the `" + name + "` property (of " + this + ") to `" + value + "`.", false);
|
8555
|
-
};
|
8607
|
+
function MANDATORY_SETTER_FUNCTION(value) {
|
8608
|
+
Ember.assert("You must use Ember.set() to access this property (of " + this + ")", false);
|
8556
8609
|
}
|
8557
8610
|
|
8558
8611
|
__exports__.MANDATORY_SETTER_FUNCTION = MANDATORY_SETTER_FUNCTION;function DEFAULT_GETTER_FUNCTION(name) {
|
@@ -8648,7 +8701,7 @@ define("ember-metal/properties",
|
|
8648
8701
|
objectDefineProperty(obj, keyName, {
|
8649
8702
|
configurable: true,
|
8650
8703
|
enumerable: true,
|
8651
|
-
set: MANDATORY_SETTER_FUNCTION
|
8704
|
+
set: MANDATORY_SETTER_FUNCTION,
|
8652
8705
|
get: DEFAULT_GETTER_FUNCTION(keyName)
|
8653
8706
|
});
|
8654
8707
|
} else {
|
@@ -8672,6 +8725,7 @@ define("ember-metal/properties",
|
|
8672
8725
|
|
8673
8726
|
return this;
|
8674
8727
|
}
|
8728
|
+
|
8675
8729
|
__exports__.defineProperty = defineProperty;
|
8676
8730
|
});
|
8677
8731
|
define("ember-metal/property_events",
|
@@ -9197,10 +9251,7 @@ define("ember-metal/property_set",
|
|
9197
9251
|
propertyWillChange(obj, keyName);
|
9198
9252
|
|
9199
9253
|
if (hasPropertyAccessors) {
|
9200
|
-
if (
|
9201
|
-
(currentValue === undefined && !(keyName in obj)) ||
|
9202
|
-
!Object.prototype.propertyIsEnumerable.call(obj, keyName)
|
9203
|
-
) {
|
9254
|
+
if ((currentValue === undefined && !(keyName in obj)) || !obj.propertyIsEnumerable(keyName)) {
|
9204
9255
|
defineProperty(obj, keyName, null, value); // setup mandatory setter
|
9205
9256
|
} else {
|
9206
9257
|
meta.values[keyName] = value;
|
@@ -9305,7 +9356,6 @@ define("ember-metal/run_loop",
|
|
9305
9356
|
onErrorMethod: 'onerror'
|
9306
9357
|
});
|
9307
9358
|
var slice = [].slice;
|
9308
|
-
var concat = [].concat;
|
9309
9359
|
|
9310
9360
|
// ..........................................................
|
9311
9361
|
// run - this is ideally the only public API the dev sees
|
@@ -9604,10 +9654,14 @@ define("ember-metal/run_loop",
|
|
9604
9654
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
9605
9655
|
@return {Object} Timer information for use in cancelling, see `run.cancel`.
|
9606
9656
|
*/
|
9607
|
-
run.once = function(target, method) {
|
9657
|
+
run.once = function(/*target, method */) {
|
9608
9658
|
checkAutoRun();
|
9609
|
-
var
|
9610
|
-
args
|
9659
|
+
var length = arguments.length;
|
9660
|
+
var args = new Array(length);
|
9661
|
+
args[0] = 'actions';
|
9662
|
+
for (var i = 0; i < length; i++) {
|
9663
|
+
args[i + 1] = arguments[i];
|
9664
|
+
}
|
9611
9665
|
return apply(backburner, backburner.scheduleOnce, args);
|
9612
9666
|
};
|
9613
9667
|
|
@@ -9881,7 +9935,8 @@ define("ember-metal/run_loop",
|
|
9881
9935
|
// Make sure it's not an autorun during testing
|
9882
9936
|
function checkAutoRun() {
|
9883
9937
|
if (!run.currentRunLoop) {
|
9884
|
-
Ember.assert("You have turned on testing mode, which disabled the run-loop's autorun.
|
9938
|
+
Ember.assert("You have turned on testing mode, which disabled the run-loop's autorun." +
|
9939
|
+
" You will need to wrap any code with asynchronous side-effects in an run", !Ember.testing);
|
9885
9940
|
}
|
9886
9941
|
}
|
9887
9942
|
|
@@ -9909,54 +9964,358 @@ define("ember-metal/set_properties",
|
|
9909
9964
|
var set = __dependency2__.set;
|
9910
9965
|
var keys = __dependency3__["default"];
|
9911
9966
|
|
9912
|
-
/**
|
9913
|
-
Set a list of properties on an object. These properties are set inside
|
9914
|
-
a single `beginPropertyChanges` and `endPropertyChanges` batch, so
|
9915
|
-
observers will be buffered.
|
9967
|
+
/**
|
9968
|
+
Set a list of properties on an object. These properties are set inside
|
9969
|
+
a single `beginPropertyChanges` and `endPropertyChanges` batch, so
|
9970
|
+
observers will be buffered.
|
9971
|
+
|
9972
|
+
```javascript
|
9973
|
+
var anObject = Ember.Object.create();
|
9974
|
+
|
9975
|
+
anObject.setProperties({
|
9976
|
+
firstName: 'Stanley',
|
9977
|
+
lastName: 'Stuart',
|
9978
|
+
age: 21
|
9979
|
+
});
|
9980
|
+
```
|
9981
|
+
|
9982
|
+
@method setProperties
|
9983
|
+
@param self
|
9984
|
+
@param {Object} hash
|
9985
|
+
@return self
|
9986
|
+
*/
|
9987
|
+
__exports__["default"] = function setProperties(self, hash) {
|
9988
|
+
changeProperties(function() {
|
9989
|
+
var props = keys(hash);
|
9990
|
+
var prop;
|
9991
|
+
|
9992
|
+
for (var i = 0, l = props.length; i < l; i++) {
|
9993
|
+
prop = props[i];
|
9994
|
+
|
9995
|
+
set(self, prop, hash[prop]);
|
9996
|
+
}
|
9997
|
+
});
|
9998
|
+
return self;
|
9999
|
+
}
|
10000
|
+
});
|
10001
|
+
define("ember-metal/streams/read",
|
10002
|
+
["exports"],
|
10003
|
+
function(__exports__) {
|
10004
|
+
"use strict";
|
10005
|
+
function read(object) {
|
10006
|
+
if (object && object.isStream) {
|
10007
|
+
return object.value();
|
10008
|
+
} else {
|
10009
|
+
return object;
|
10010
|
+
}
|
10011
|
+
}
|
10012
|
+
|
10013
|
+
__exports__.read = read;function readArray(array) {
|
10014
|
+
var length = array.length;
|
10015
|
+
var ret = new Array(length);
|
10016
|
+
for (var i = 0; i < length; i++) {
|
10017
|
+
ret[i] = read(array[i]);
|
10018
|
+
}
|
10019
|
+
return ret;
|
10020
|
+
}
|
10021
|
+
|
10022
|
+
__exports__.readArray = readArray;function readHash(object) {
|
10023
|
+
var ret = {};
|
10024
|
+
for (var key in object) {
|
10025
|
+
ret[key] = read(object[key]);
|
10026
|
+
}
|
10027
|
+
return ret;
|
10028
|
+
}
|
10029
|
+
|
10030
|
+
__exports__.readHash = readHash;
|
10031
|
+
});
|
10032
|
+
define("ember-metal/streams/simple",
|
10033
|
+
["ember-metal/merge","ember-metal/streams/stream","ember-metal/platform","ember-metal/streams/read","exports"],
|
10034
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
10035
|
+
"use strict";
|
10036
|
+
var merge = __dependency1__["default"];
|
10037
|
+
var Stream = __dependency2__["default"];
|
10038
|
+
var create = __dependency3__.create;
|
10039
|
+
var read = __dependency4__.read;
|
10040
|
+
|
10041
|
+
function SimpleStream(source) {
|
10042
|
+
this.source = source;
|
10043
|
+
|
10044
|
+
if (source && source.isStream) {
|
10045
|
+
source.subscribe(this._didChange, this);
|
10046
|
+
}
|
10047
|
+
}
|
10048
|
+
|
10049
|
+
SimpleStream.prototype = create(Stream.prototype);
|
10050
|
+
|
10051
|
+
merge(SimpleStream.prototype, {
|
10052
|
+
valueFn: function() {
|
10053
|
+
return read(this.source);
|
10054
|
+
},
|
10055
|
+
|
10056
|
+
setValue: function(value) {
|
10057
|
+
var source = this.source;
|
10058
|
+
|
10059
|
+
if (source && source.isStream) {
|
10060
|
+
source.setValue(value);
|
10061
|
+
}
|
10062
|
+
},
|
10063
|
+
|
10064
|
+
setSource: function(nextSource) {
|
10065
|
+
var prevSource = this.source;
|
10066
|
+
if (nextSource !== prevSource) {
|
10067
|
+
if (prevSource && prevSource.isStream) {
|
10068
|
+
prevSource.unsubscribe(this._didChange, this);
|
10069
|
+
}
|
10070
|
+
|
10071
|
+
if (nextSource && nextSource.isStream) {
|
10072
|
+
nextSource.subscribe(this._didChange, this);
|
10073
|
+
}
|
10074
|
+
|
10075
|
+
this.source = nextSource;
|
10076
|
+
this.notify();
|
10077
|
+
}
|
10078
|
+
},
|
10079
|
+
|
10080
|
+
_didChange: function() {
|
10081
|
+
this.notify();
|
10082
|
+
},
|
10083
|
+
|
10084
|
+
destroy: function() {
|
10085
|
+
if (this.source && this.source.isStream) {
|
10086
|
+
this.source.unsubscribe(this._didChange, this);
|
10087
|
+
}
|
10088
|
+
|
10089
|
+
this.source = undefined;
|
10090
|
+
Stream.prototype.destroy.call(this);
|
10091
|
+
}
|
10092
|
+
});
|
10093
|
+
|
10094
|
+
__exports__["default"] = SimpleStream;
|
10095
|
+
});
|
10096
|
+
define("ember-metal/streams/stream",
|
10097
|
+
["ember-metal/path_cache","exports"],
|
10098
|
+
function(__dependency1__, __exports__) {
|
10099
|
+
"use strict";
|
10100
|
+
var getFirstKey = __dependency1__.getFirstKey;
|
10101
|
+
var getTailPath = __dependency1__.getTailPath;
|
10102
|
+
|
10103
|
+
var NIL = function NIL(){};
|
10104
|
+
|
10105
|
+
function Stream(fn) {
|
10106
|
+
this.valueFn = fn;
|
10107
|
+
this.cache = NIL;
|
10108
|
+
this.subscribers = undefined;
|
10109
|
+
this.children = undefined;
|
10110
|
+
this.destroyed = false;
|
10111
|
+
}
|
10112
|
+
|
10113
|
+
Stream.prototype = {
|
10114
|
+
isStream: true,
|
10115
|
+
|
10116
|
+
cache: NIL,
|
10117
|
+
|
10118
|
+
get: function(path) {
|
10119
|
+
var firstKey = getFirstKey(path);
|
10120
|
+
var tailPath = getTailPath(path);
|
10121
|
+
|
10122
|
+
if (this.children === undefined) {
|
10123
|
+
this.children = Object.create(null);
|
10124
|
+
}
|
10125
|
+
|
10126
|
+
var keyStream = this.children[firstKey];
|
10127
|
+
|
10128
|
+
if (keyStream === undefined) {
|
10129
|
+
keyStream = this._makeChildStream(firstKey, path);
|
10130
|
+
this.children[firstKey] = keyStream;
|
10131
|
+
}
|
10132
|
+
|
10133
|
+
if (tailPath === undefined) {
|
10134
|
+
return keyStream;
|
10135
|
+
} else {
|
10136
|
+
return keyStream.get(tailPath);
|
10137
|
+
}
|
10138
|
+
},
|
10139
|
+
|
10140
|
+
value: function() {
|
10141
|
+
if (this.cache !== NIL) {
|
10142
|
+
return this.cache;
|
10143
|
+
} else {
|
10144
|
+
return this.cache = this.valueFn();
|
10145
|
+
}
|
10146
|
+
},
|
10147
|
+
|
10148
|
+
setValue: function() {
|
10149
|
+
throw new Error("Stream error: setValue not implemented");
|
10150
|
+
},
|
10151
|
+
|
10152
|
+
notify: function() {
|
10153
|
+
this.notifyExcept();
|
10154
|
+
},
|
10155
|
+
|
10156
|
+
notifyExcept: function(callbackToSkip, contextToSkip) {
|
10157
|
+
if (this.cache !== NIL) {
|
10158
|
+
this.cache = NIL;
|
10159
|
+
this.notifySubscribers(callbackToSkip, contextToSkip);
|
10160
|
+
}
|
10161
|
+
},
|
10162
|
+
|
10163
|
+
subscribe: function(callback, context) {
|
10164
|
+
if (this.subscribers === undefined) {
|
10165
|
+
this.subscribers = [callback, context];
|
10166
|
+
} else {
|
10167
|
+
this.subscribers.push(callback, context);
|
10168
|
+
}
|
10169
|
+
},
|
10170
|
+
|
10171
|
+
unsubscribe: function(callback, context) {
|
10172
|
+
var subscribers = this.subscribers;
|
10173
|
+
|
10174
|
+
if (subscribers !== undefined) {
|
10175
|
+
for (var i = 0, l = subscribers.length; i < l; i += 2) {
|
10176
|
+
if (subscribers[i] === callback && subscribers[i+1] === context) {
|
10177
|
+
subscribers.splice(i, 2);
|
10178
|
+
return;
|
10179
|
+
}
|
10180
|
+
}
|
10181
|
+
}
|
10182
|
+
},
|
10183
|
+
|
10184
|
+
notifySubscribers: function(callbackToSkip, contextToSkip) {
|
10185
|
+
var subscribers = this.subscribers;
|
10186
|
+
|
10187
|
+
if (subscribers !== undefined) {
|
10188
|
+
for (var i = 0, l = subscribers.length; i < l; i += 2) {
|
10189
|
+
var callback = subscribers[i];
|
10190
|
+
var context = subscribers[i+1];
|
10191
|
+
|
10192
|
+
if (callback === callbackToSkip && context === contextToSkip) {
|
10193
|
+
continue;
|
10194
|
+
}
|
10195
|
+
|
10196
|
+
if (context === undefined) {
|
10197
|
+
callback(this);
|
10198
|
+
} else {
|
10199
|
+
callback.call(context, this);
|
10200
|
+
}
|
10201
|
+
}
|
10202
|
+
}
|
10203
|
+
},
|
10204
|
+
|
10205
|
+
destroy: function() {
|
10206
|
+
if (this.destroyed) return;
|
10207
|
+
this.destroyed = true;
|
10208
|
+
|
10209
|
+
var children = this.children;
|
10210
|
+
for (var key in children) {
|
10211
|
+
children[key].destroy();
|
10212
|
+
}
|
10213
|
+
},
|
10214
|
+
|
10215
|
+
isGlobal: function() {
|
10216
|
+
var stream = this;
|
10217
|
+
while (stream !== undefined) {
|
10218
|
+
if (stream._isRoot) {
|
10219
|
+
return stream._isGlobal;
|
10220
|
+
}
|
10221
|
+
stream = stream.source;
|
10222
|
+
}
|
10223
|
+
}
|
10224
|
+
};
|
10225
|
+
|
10226
|
+
__exports__["default"] = Stream;
|
10227
|
+
});
|
10228
|
+
define("ember-metal/streams/stream_binding",
|
10229
|
+
["ember-metal/platform","ember-metal/merge","ember-metal/run_loop","ember-metal/streams/stream","exports"],
|
10230
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
10231
|
+
"use strict";
|
10232
|
+
var create = __dependency1__.create;
|
10233
|
+
var merge = __dependency2__["default"];
|
10234
|
+
var run = __dependency3__["default"];
|
10235
|
+
var Stream = __dependency4__["default"];
|
10236
|
+
|
10237
|
+
function StreamBinding(stream) {
|
10238
|
+
Ember.assert("StreamBinding error: tried to bind to object that is not a stream", stream && stream.isStream);
|
9916
10239
|
|
9917
|
-
|
9918
|
-
|
10240
|
+
this.stream = stream;
|
10241
|
+
this.senderCallback = undefined;
|
10242
|
+
this.senderContext = undefined;
|
10243
|
+
this.senderValue = undefined;
|
10244
|
+
this.destroyed = false;
|
9919
10245
|
|
9920
|
-
|
9921
|
-
|
9922
|
-
lastName: 'Stuart',
|
9923
|
-
age: 21
|
9924
|
-
});
|
9925
|
-
```
|
10246
|
+
stream.subscribe(this._onNotify, this);
|
10247
|
+
}
|
9926
10248
|
|
9927
|
-
|
9928
|
-
@param obj
|
9929
|
-
@param {Object} properties
|
9930
|
-
@return obj
|
9931
|
-
*/
|
9932
|
-
__exports__["default"] = function setProperties(obj, properties) {
|
9933
|
-
if (!properties || typeof properties !== "object") { return obj; }
|
9934
|
-
changeProperties(function() {
|
9935
|
-
var props = keys(properties);
|
9936
|
-
var propertyName;
|
10249
|
+
StreamBinding.prototype = create(Stream.prototype);
|
9937
10250
|
|
9938
|
-
|
9939
|
-
|
10251
|
+
merge(StreamBinding.prototype, {
|
10252
|
+
valueFn: function() {
|
10253
|
+
return this.stream.value();
|
10254
|
+
},
|
10255
|
+
|
10256
|
+
_onNotify: function() {
|
10257
|
+
this._scheduleSync(undefined, undefined, this);
|
10258
|
+
},
|
10259
|
+
|
10260
|
+
setValue: function(value, callback, context) {
|
10261
|
+
this._scheduleSync(value, callback, context);
|
10262
|
+
},
|
9940
10263
|
|
9941
|
-
|
10264
|
+
_scheduleSync: function(value, callback, context) {
|
10265
|
+
if (this.senderCallback === undefined && this.senderContext === undefined) {
|
10266
|
+
this.senderCallback = callback;
|
10267
|
+
this.senderContext = context;
|
10268
|
+
this.senderValue = value;
|
10269
|
+
run.schedule('sync', this, this._sync);
|
10270
|
+
} else if (this.senderContext !== this) {
|
10271
|
+
this.senderCallback = callback;
|
10272
|
+
this.senderContext = context;
|
10273
|
+
this.senderValue = value;
|
9942
10274
|
}
|
9943
|
-
}
|
9944
|
-
|
9945
|
-
|
10275
|
+
},
|
10276
|
+
|
10277
|
+
_sync: function() {
|
10278
|
+
if (this.destroyed) {
|
10279
|
+
return;
|
10280
|
+
}
|
10281
|
+
|
10282
|
+
if (this.senderContext !== this) {
|
10283
|
+
this.stream.setValue(this.senderValue);
|
10284
|
+
}
|
10285
|
+
|
10286
|
+
var senderCallback = this.senderCallback;
|
10287
|
+
var senderContext = this.senderContext;
|
10288
|
+
this.senderCallback = undefined;
|
10289
|
+
this.senderContext = undefined;
|
10290
|
+
this.senderValue = undefined;
|
10291
|
+
|
10292
|
+
// Force StreamBindings to always notify
|
10293
|
+
this.cache = undefined;
|
10294
|
+
|
10295
|
+
this.notifyExcept(senderCallback, senderContext);
|
10296
|
+
},
|
10297
|
+
|
10298
|
+
destroy: function() {
|
10299
|
+
if (this.destroyed) {
|
10300
|
+
return;
|
10301
|
+
}
|
10302
|
+
|
10303
|
+
this.destroyed = true;
|
10304
|
+
this.stream.unsubscribe(this._onNotify, this);
|
10305
|
+
}
|
10306
|
+
});
|
10307
|
+
|
10308
|
+
__exports__["default"] = StreamBinding;
|
9946
10309
|
});
|
9947
10310
|
define("ember-metal/utils",
|
9948
10311
|
["ember-metal/core","ember-metal/platform","ember-metal/array","exports"],
|
9949
10312
|
function(__dependency1__, __dependency2__, __dependency3__, __exports__) {
|
9950
|
-
|
9951
|
-
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
9952
|
-
//
|
9953
|
-
// REMOVE_USE_STRICT: true
|
9954
|
-
|
10313
|
+
"use strict";
|
9955
10314
|
var Ember = __dependency1__["default"];
|
9956
10315
|
var o_defineProperty = __dependency2__.defineProperty;
|
9957
10316
|
var canDefineNonEnumerableProperties = __dependency2__.canDefineNonEnumerableProperties;
|
9958
10317
|
var hasPropertyAccessors = __dependency2__.hasPropertyAccessors;
|
9959
|
-
var
|
10318
|
+
var o_create = __dependency2__.create;
|
9960
10319
|
|
9961
10320
|
var forEach = __dependency3__.forEach;
|
9962
10321
|
|
@@ -9996,7 +10355,6 @@ define("ember-metal/utils",
|
|
9996
10355
|
*/
|
9997
10356
|
var GUID_PREFIX = 'ember';
|
9998
10357
|
|
9999
|
-
var o_create = create;
|
10000
10358
|
// Used for guid generation...
|
10001
10359
|
var numberCache = [];
|
10002
10360
|
var stringCache = {};
|
@@ -10232,7 +10590,6 @@ define("ember-metal/utils",
|
|
10232
10590
|
@return {Object} the meta hash for an object
|
10233
10591
|
*/
|
10234
10592
|
function meta(obj, writable) {
|
10235
|
-
|
10236
10593
|
var ret = obj['__ember_meta__'];
|
10237
10594
|
if (writable===false) return ret || EMPTY_META;
|
10238
10595
|
|
@@ -10827,16 +11184,13 @@ define("ember-metal/watch_key",
|
|
10827
11184
|
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
10828
11185
|
"use strict";
|
10829
11186
|
var Ember = __dependency1__["default"];
|
10830
|
-
var
|
11187
|
+
var metaFor = __dependency2__.meta;
|
10831
11188
|
var typeOf = __dependency2__.typeOf;
|
10832
11189
|
var o_defineProperty = __dependency3__.defineProperty;
|
10833
11190
|
var hasPropertyAccessors = __dependency3__.hasPropertyAccessors;
|
10834
11191
|
var MANDATORY_SETTER_FUNCTION = __dependency4__.MANDATORY_SETTER_FUNCTION;
|
10835
11192
|
var DEFAULT_GETTER_FUNCTION = __dependency4__.DEFAULT_GETTER_FUNCTION;
|
10836
11193
|
|
10837
|
-
var metaFor = meta; // utils.js
|
10838
|
-
|
10839
|
-
|
10840
11194
|
function watchKey(obj, keyName, meta) {
|
10841
11195
|
// can't watch length on Array - it is special...
|
10842
11196
|
if (keyName === 'length' && typeOf(obj) === 'array') { return; }
|
@@ -10872,8 +11226,8 @@ define("ember-metal/watch_key",
|
|
10872
11226
|
m.values[keyName] = obj[keyName];
|
10873
11227
|
o_defineProperty(obj, keyName, {
|
10874
11228
|
configurable: true,
|
10875
|
-
enumerable:
|
10876
|
-
set: MANDATORY_SETTER_FUNCTION
|
11229
|
+
enumerable: obj.propertyIsEnumerable(keyName),
|
11230
|
+
set: MANDATORY_SETTER_FUNCTION,
|
10877
11231
|
get: DEFAULT_GETTER_FUNCTION(keyName)
|
10878
11232
|
});
|
10879
11233
|
}
|
@@ -10897,7 +11251,7 @@ define("ember-metal/watch_key",
|
|
10897
11251
|
if (hasPropertyAccessors && keyName in obj) {
|
10898
11252
|
o_defineProperty(obj, keyName, {
|
10899
11253
|
configurable: true,
|
10900
|
-
enumerable:
|
11254
|
+
enumerable: obj.propertyIsEnumerable(keyName),
|
10901
11255
|
set: function(val) {
|
10902
11256
|
// redefine to set as enumerable
|
10903
11257
|
o_defineProperty(obj, keyName, {
|
@@ -10923,12 +11277,10 @@ define("ember-metal/watch_path",
|
|
10923
11277
|
["ember-metal/utils","ember-metal/chains","exports"],
|
10924
11278
|
function(__dependency1__, __dependency2__, __exports__) {
|
10925
11279
|
"use strict";
|
10926
|
-
var
|
11280
|
+
var metaFor = __dependency1__.meta;
|
10927
11281
|
var typeOf = __dependency1__.typeOf;
|
10928
11282
|
var ChainNode = __dependency2__.ChainNode;
|
10929
11283
|
|
10930
|
-
var metaFor = meta;
|
10931
|
-
|
10932
11284
|
// get the chains for the current object. If the current object has
|
10933
11285
|
// chains inherited from the proto they will be cloned and reconfigured for
|
10934
11286
|
// the current object.
|
@@ -10980,7 +11332,6 @@ define("ember-metal/watching",
|
|
10980
11332
|
@module ember-metal
|
10981
11333
|
*/
|
10982
11334
|
|
10983
|
-
var meta = __dependency1__.meta;
|
10984
11335
|
var GUID_KEY = __dependency1__.GUID_KEY;
|
10985
11336
|
var typeOf = __dependency1__.typeOf;
|
10986
11337
|
var generateGuid = __dependency1__.generateGuid;
|
@@ -10991,7 +11342,6 @@ define("ember-metal/watching",
|
|
10991
11342
|
var watchPath = __dependency4__.watchPath;
|
10992
11343
|
var unwatchPath = __dependency4__.unwatchPath;
|
10993
11344
|
|
10994
|
-
var metaFor = meta; // utils.js
|
10995
11345
|
var isPath = __dependency5__.isPath;
|
10996
11346
|
|
10997
11347
|
/**
|
@@ -11108,8 +11458,8 @@ define("ember-metal/watching",
|
|
11108
11458
|
__exports__.destroy = destroy;
|
11109
11459
|
});
|
11110
11460
|
define("ember-runtime",
|
11111
|
-
["ember-metal","ember-runtime/core","ember-runtime/compare","ember-runtime/copy","ember-runtime/
|
11112
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __dependency16__, __dependency17__, __dependency18__, __dependency19__, __dependency20__, __dependency21__, __dependency22__, __dependency23__, __dependency24__, __dependency25__, __dependency26__, __dependency27__, __dependency28__, __dependency29__, __dependency30__, __dependency31__, __dependency32__, __dependency33__, __dependency34__, __dependency35__, __dependency36__, __dependency37__, __dependency38__, __dependency39__, __dependency40__, __dependency41__, __dependency42__, __dependency43__, __dependency44__, __exports__) {
|
11461
|
+
["ember-metal","ember-runtime/core","ember-runtime/compare","ember-runtime/copy","ember-runtime/inject","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/tracked_array","ember-runtime/system/subarray","ember-runtime/system/container","ember-runtime/system/array_proxy","ember-runtime/system/object_proxy","ember-runtime/system/core_object","ember-runtime/system/each_proxy","ember-runtime/system/native_array","ember-runtime/system/set","ember-runtime/system/string","ember-runtime/system/deferred","ember-runtime/system/lazy_load","ember-runtime/mixins/array","ember-runtime/mixins/comparable","ember-runtime/mixins/copyable","ember-runtime/mixins/enumerable","ember-runtime/mixins/freezable","ember-runtime/mixins/-proxy","ember-runtime/mixins/observable","ember-runtime/mixins/action_handler","ember-runtime/mixins/deferred","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/mutable_array","ember-runtime/mixins/target_action_support","ember-runtime/mixins/evented","ember-runtime/mixins/promise_proxy","ember-runtime/mixins/sortable","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/computed/reduce_computed_macros","ember-runtime/controllers/array_controller","ember-runtime/controllers/object_controller","ember-runtime/controllers/controller","ember-runtime/mixins/controller","ember-runtime/system/service","ember-runtime/ext/rsvp","ember-runtime/ext/string","ember-runtime/ext/function","exports"],
|
11462
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __dependency16__, __dependency17__, __dependency18__, __dependency19__, __dependency20__, __dependency21__, __dependency22__, __dependency23__, __dependency24__, __dependency25__, __dependency26__, __dependency27__, __dependency28__, __dependency29__, __dependency30__, __dependency31__, __dependency32__, __dependency33__, __dependency34__, __dependency35__, __dependency36__, __dependency37__, __dependency38__, __dependency39__, __dependency40__, __dependency41__, __dependency42__, __dependency43__, __dependency44__, __dependency45__, __exports__) {
|
11113
11463
|
"use strict";
|
11114
11464
|
/**
|
11115
11465
|
Ember Runtime
|
@@ -11124,13 +11474,13 @@ define("ember-runtime",
|
|
11124
11474
|
var isEqual = __dependency2__.isEqual;
|
11125
11475
|
var compare = __dependency3__["default"];
|
11126
11476
|
var copy = __dependency4__["default"];
|
11477
|
+
var inject = __dependency5__["default"];
|
11127
11478
|
|
11128
|
-
var Namespace =
|
11129
|
-
var EmberObject =
|
11130
|
-
var TrackedArray =
|
11131
|
-
var SubArray =
|
11132
|
-
var Container =
|
11133
|
-
var Application = __dependency10__["default"];
|
11479
|
+
var Namespace = __dependency6__["default"];
|
11480
|
+
var EmberObject = __dependency7__["default"];
|
11481
|
+
var TrackedArray = __dependency8__["default"];
|
11482
|
+
var SubArray = __dependency9__["default"];
|
11483
|
+
var Container = __dependency10__["default"];
|
11134
11484
|
var ArrayProxy = __dependency11__["default"];
|
11135
11485
|
var ObjectProxy = __dependency12__["default"];
|
11136
11486
|
var CoreObject = __dependency13__["default"];
|
@@ -11187,7 +11537,9 @@ define("ember-runtime",
|
|
11187
11537
|
var Controller = __dependency40__["default"];
|
11188
11538
|
var ControllerMixin = __dependency41__["default"];
|
11189
11539
|
|
11190
|
-
var
|
11540
|
+
var Service = __dependency42__["default"];
|
11541
|
+
|
11542
|
+
var RSVP = __dependency43__["default"];
|
11191
11543
|
// just for side effect of extending Ember.RSVP
|
11192
11544
|
// just for side effect of extending String.prototype
|
11193
11545
|
// just for side effect of extending Function.prototype
|
@@ -11198,6 +11550,10 @@ define("ember-runtime",
|
|
11198
11550
|
Ember.copy = copy;
|
11199
11551
|
Ember.isEqual = isEqual;
|
11200
11552
|
|
11553
|
+
if (Ember.FEATURES.isEnabled('ember-metal-injected-properties')) {
|
11554
|
+
Ember.inject = inject;
|
11555
|
+
}
|
11556
|
+
|
11201
11557
|
Ember.Array = EmberArray;
|
11202
11558
|
|
11203
11559
|
Ember.Comparable = Comparable;
|
@@ -11269,6 +11625,10 @@ define("ember-runtime",
|
|
11269
11625
|
Ember.Controller = Controller;
|
11270
11626
|
Ember.ControllerMixin = ControllerMixin;
|
11271
11627
|
|
11628
|
+
if (Ember.FEATURES.isEnabled('ember-metal-injected-properties')) {
|
11629
|
+
Ember.Service = Service;
|
11630
|
+
}
|
11631
|
+
|
11272
11632
|
Ember._ProxyMixin = _ProxyMixin;
|
11273
11633
|
|
11274
11634
|
Ember.RSVP = RSVP;
|
@@ -11395,7 +11755,6 @@ define("ember-runtime/computed/array_computed",
|
|
11395
11755
|
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __exports__) {
|
11396
11756
|
"use strict";
|
11397
11757
|
var Ember = __dependency1__["default"];
|
11398
|
-
var reduceComputed = __dependency2__.reduceComputed;
|
11399
11758
|
var ReduceComputedProperty = __dependency2__.ReduceComputedProperty;
|
11400
11759
|
var forEach = __dependency3__.forEach;
|
11401
11760
|
var o_create = __dependency4__.create;
|
@@ -11584,32 +11943,30 @@ define("ember-runtime/computed/array_computed",
|
|
11584
11943
|
__exports__.ArrayComputedProperty = ArrayComputedProperty;
|
11585
11944
|
});
|
11586
11945
|
define("ember-runtime/computed/reduce_computed",
|
11587
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/
|
11588
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__,
|
11946
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/property_events","ember-metal/expand_properties","ember-metal/observer","ember-metal/computed","ember-metal/platform","ember-metal/enumerable_utils","ember-runtime/system/tracked_array","ember-runtime/mixins/array","ember-metal/run_loop","exports"],
|
11947
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __exports__) {
|
11589
11948
|
"use strict";
|
11590
11949
|
var Ember = __dependency1__["default"];
|
11591
11950
|
// Ember.assert
|
11592
11951
|
var e_get = __dependency2__.get;
|
11593
|
-
var
|
11594
|
-
var
|
11595
|
-
var
|
11596
|
-
var
|
11597
|
-
var
|
11598
|
-
var
|
11599
|
-
var
|
11600
|
-
var
|
11601
|
-
var
|
11602
|
-
var
|
11603
|
-
var
|
11604
|
-
var
|
11605
|
-
var
|
11606
|
-
var
|
11607
|
-
var
|
11608
|
-
var
|
11609
|
-
var
|
11610
|
-
var
|
11611
|
-
var run = __dependency14__["default"];
|
11612
|
-
var isArray = __dependency4__.isArray;
|
11952
|
+
var guidFor = __dependency3__.guidFor;
|
11953
|
+
var metaFor = __dependency3__.meta;
|
11954
|
+
var EmberError = __dependency4__["default"];
|
11955
|
+
var propertyWillChange = __dependency5__.propertyWillChange;
|
11956
|
+
var propertyDidChange = __dependency5__.propertyDidChange;
|
11957
|
+
var expandProperties = __dependency6__["default"];
|
11958
|
+
var addObserver = __dependency7__.addObserver;
|
11959
|
+
var removeObserver = __dependency7__.removeObserver;
|
11960
|
+
var addBeforeObserver = __dependency7__.addBeforeObserver;
|
11961
|
+
var removeBeforeObserver = __dependency7__.removeBeforeObserver;
|
11962
|
+
var ComputedProperty = __dependency8__.ComputedProperty;
|
11963
|
+
var cacheFor = __dependency8__.cacheFor;
|
11964
|
+
var o_create = __dependency9__.create;
|
11965
|
+
var forEach = __dependency10__.forEach;
|
11966
|
+
var TrackedArray = __dependency11__["default"];
|
11967
|
+
var EmberArray = __dependency12__["default"];
|
11968
|
+
var run = __dependency13__["default"];
|
11969
|
+
var isArray = __dependency3__.isArray;
|
11613
11970
|
|
11614
11971
|
var cacheSet = cacheFor.set;
|
11615
11972
|
var cacheGet = cacheFor.get;
|
@@ -11861,7 +12218,6 @@ define("ember-runtime/computed/reduce_computed",
|
|
11861
12218
|
this.setValue(removedItem.call(
|
11862
12219
|
this.instanceMeta.context, this.getValue(), item, changeMeta, this.instanceMeta.sugarMeta));
|
11863
12220
|
}
|
11864
|
-
this.callbacks.flushedChanges.call(this.instanceMeta.context, this.getValue(), this.instanceMeta.sugarMeta);
|
11865
12221
|
},
|
11866
12222
|
|
11867
12223
|
dependentArrayDidChange: function (dependentArray, index, removedCount, addedCount) {
|
@@ -11893,7 +12249,7 @@ define("ember-runtime/computed/reduce_computed",
|
|
11893
12249
|
this.setValue(addedItem.call(
|
11894
12250
|
this.instanceMeta.context, this.getValue(), item, changeMeta, this.instanceMeta.sugarMeta));
|
11895
12251
|
}, this);
|
11896
|
-
|
12252
|
+
|
11897
12253
|
this.trackAdd(dependentKey, normalizedIndex, observerContexts);
|
11898
12254
|
},
|
11899
12255
|
|
@@ -11937,7 +12293,6 @@ define("ember-runtime/computed/reduce_computed",
|
|
11937
12293
|
}
|
11938
12294
|
|
11939
12295
|
this.changedItems = {};
|
11940
|
-
this.callbacks.flushedChanges.call(this.instanceMeta.context, this.getValue(), this.instanceMeta.sugarMeta);
|
11941
12296
|
}
|
11942
12297
|
};
|
11943
12298
|
|
@@ -11974,11 +12329,9 @@ define("ember-runtime/computed/reduce_computed",
|
|
11974
12329
|
meta.setValue( callbacks.addedItem.call(
|
11975
12330
|
this, meta.getValue(), item, new ChangeMeta(dependentArray, item, index, propertyName, cp, dependentArray.length), meta.sugarMeta));
|
11976
12331
|
}, this);
|
11977
|
-
callbacks.flushedChanges.call(this, meta.getValue(), meta.sugarMeta);
|
11978
12332
|
}
|
11979
12333
|
|
11980
12334
|
function reset(cp, propertyName) {
|
11981
|
-
var callbacks = cp._callbacks();
|
11982
12335
|
var hadMeta = cp._hasInstanceMeta(this, propertyName);
|
11983
12336
|
var meta = cp._instanceMeta(this, propertyName);
|
11984
12337
|
|
@@ -12078,7 +12431,6 @@ define("ember-runtime/computed/reduce_computed",
|
|
12078
12431
|
};
|
12079
12432
|
|
12080
12433
|
var recompute = function(propertyName) {
|
12081
|
-
var dependentKeys = cp._dependentKeys;
|
12082
12434
|
var meta = cp._instanceMeta(this, propertyName);
|
12083
12435
|
var callbacks = cp._callbacks();
|
12084
12436
|
|
@@ -12152,8 +12504,7 @@ define("ember-runtime/computed/reduce_computed",
|
|
12152
12504
|
|
12153
12505
|
this.callbacks = {
|
12154
12506
|
removedItem: options.removedItem || defaultCallback,
|
12155
|
-
addedItem: options.addedItem || defaultCallback
|
12156
|
-
flushedChanges: options.flushedChanges || defaultCallback
|
12507
|
+
addedItem: options.addedItem || defaultCallback
|
12157
12508
|
};
|
12158
12509
|
}
|
12159
12510
|
|
@@ -12205,7 +12556,7 @@ define("ember-runtime/computed/reduce_computed",
|
|
12205
12556
|
var cp = this;
|
12206
12557
|
var args = a_slice.call(arguments);
|
12207
12558
|
var propertyArgs = {};
|
12208
|
-
var match, dependentArrayKey
|
12559
|
+
var match, dependentArrayKey;
|
12209
12560
|
|
12210
12561
|
forEach(args, function (dependentKey) {
|
12211
12562
|
if (doubleEachPropertyPattern.test(dependentKey)) {
|
@@ -12446,8 +12797,8 @@ define("ember-runtime/computed/reduce_computed",
|
|
12446
12797
|
__exports__.reduceComputed = reduceComputed;
|
12447
12798
|
});
|
12448
12799
|
define("ember-runtime/computed/reduce_computed_macros",
|
12449
|
-
["ember-metal/core","ember-metal/
|
12450
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __exports__) {
|
12800
|
+
["ember-metal/core","ember-metal/merge","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/run_loop","ember-metal/observer","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/system/object_proxy","ember-runtime/system/subarray","ember-metal/keys","ember-runtime/compare","exports"],
|
12801
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __exports__) {
|
12451
12802
|
"use strict";
|
12452
12803
|
/**
|
12453
12804
|
@module ember
|
@@ -12456,8 +12807,8 @@ define("ember-runtime/computed/reduce_computed_macros",
|
|
12456
12807
|
|
12457
12808
|
var Ember = __dependency1__["default"];
|
12458
12809
|
// Ember.assert
|
12459
|
-
var
|
12460
|
-
var
|
12810
|
+
var merge = __dependency2__["default"];
|
12811
|
+
var get = __dependency3__.get;
|
12461
12812
|
var isArray = __dependency4__.isArray;
|
12462
12813
|
var guidFor = __dependency4__.guidFor;
|
12463
12814
|
var EmberError = __dependency5__["default"];
|
@@ -12466,9 +12817,10 @@ define("ember-runtime/computed/reduce_computed_macros",
|
|
12466
12817
|
var addObserver = __dependency8__.addObserver;
|
12467
12818
|
var arrayComputed = __dependency9__.arrayComputed;
|
12468
12819
|
var reduceComputed = __dependency10__.reduceComputed;
|
12469
|
-
var
|
12470
|
-
var
|
12471
|
-
var
|
12820
|
+
var ObjectProxy = __dependency11__["default"];
|
12821
|
+
var SubArray = __dependency12__["default"];
|
12822
|
+
var keys = __dependency13__["default"];
|
12823
|
+
var compare = __dependency14__["default"];
|
12472
12824
|
|
12473
12825
|
var a_slice = [].slice;
|
12474
12826
|
|
@@ -12935,7 +13287,6 @@ define("ember-runtime/computed/reduce_computed_macros",
|
|
12935
13287
|
removedItem: function(array, item, changeMeta, instanceMeta) {
|
12936
13288
|
var itemGuid = guidFor(item);
|
12937
13289
|
var dependentGuid = guidFor(changeMeta.arrayChanged);
|
12938
|
-
var numberOfDependentArrays = changeMeta.property._dependentKeys.length;
|
12939
13290
|
var numberOfArraysItemAppearsIn;
|
12940
13291
|
var itemCounts = instanceMeta.itemCounts;
|
12941
13292
|
|
@@ -13048,8 +13399,8 @@ define("ember-runtime/computed/reduce_computed_macros",
|
|
13048
13399
|
mid = low + Math.floor((high - low) / 2);
|
13049
13400
|
midItem = array.objectAt(mid);
|
13050
13401
|
|
13051
|
-
guidMid =
|
13052
|
-
guidItem =
|
13402
|
+
guidMid = _guidFor(midItem);
|
13403
|
+
guidItem = _guidFor(item);
|
13053
13404
|
|
13054
13405
|
if (guidMid === guidItem) {
|
13055
13406
|
return mid;
|
@@ -13069,9 +13420,19 @@ define("ember-runtime/computed/reduce_computed_macros",
|
|
13069
13420
|
}
|
13070
13421
|
|
13071
13422
|
return mid;
|
13423
|
+
|
13424
|
+
function _guidFor(item) {
|
13425
|
+
if (SearchProxy.detectInstance(item)) {
|
13426
|
+
return guidFor(get(item, 'content'));
|
13427
|
+
}
|
13428
|
+
|
13429
|
+
return guidFor(item);
|
13430
|
+
}
|
13072
13431
|
}
|
13073
13432
|
|
13074
13433
|
|
13434
|
+
var SearchProxy = ObjectProxy.extend();
|
13435
|
+
|
13075
13436
|
/**
|
13076
13437
|
A computed property which returns a new array with all the
|
13077
13438
|
properties from the first dependent array sorted based on a property
|
@@ -13140,53 +13501,17 @@ define("ember-runtime/computed/reduce_computed_macros",
|
|
13140
13501
|
Ember.assert('Ember.computed.sort requires two arguments: an array key to sort and ' +
|
13141
13502
|
'either a sort properties key or sort function', arguments.length === 2);
|
13142
13503
|
|
13143
|
-
|
13144
|
-
return customSort(itemsKey, sortDefinition);
|
13145
|
-
} else {
|
13146
|
-
return propertySort(itemsKey, sortDefinition);
|
13147
|
-
}
|
13148
|
-
}
|
13504
|
+
var initFn, sortPropertiesKey;
|
13149
13505
|
|
13150
|
-
|
13151
|
-
|
13152
|
-
|
13153
|
-
instanceMeta.order = comparator;
|
13506
|
+
if (typeof sortDefinition === 'function') {
|
13507
|
+
initFn = function (array, changeMeta, instanceMeta) {
|
13508
|
+
instanceMeta.order = sortDefinition;
|
13154
13509
|
instanceMeta.binarySearch = binarySearch;
|
13155
|
-
|
13156
|
-
|
13157
|
-
|
13158
|
-
var waiting = instanceMeta.waitingInsertions;
|
13159
|
-
instanceMeta.waitingInsertions = [];
|
13160
|
-
for (var i=0; i<waiting.length; i++) {
|
13161
|
-
item = waiting[i];
|
13162
|
-
index = instanceMeta.binarySearch(array, item);
|
13163
|
-
array.insertAt(index, item);
|
13164
|
-
}
|
13165
|
-
};
|
13166
|
-
instanceMeta.insertLater = function(item) {
|
13167
|
-
this.waitingInsertions.push(item);
|
13168
|
-
};
|
13169
|
-
},
|
13170
|
-
|
13171
|
-
addedItem: function (array, item, changeMeta, instanceMeta) {
|
13172
|
-
instanceMeta.insertLater(item);
|
13173
|
-
return array;
|
13174
|
-
},
|
13175
|
-
|
13176
|
-
removedItem: function (array, item, changeMeta, instanceMeta) {
|
13177
|
-
array.removeObject(item);
|
13178
|
-
return array;
|
13179
|
-
},
|
13180
|
-
|
13181
|
-
flushedChanges: function(array, instanceMeta) {
|
13182
|
-
instanceMeta.insertWaiting();
|
13183
|
-
}
|
13184
|
-
});
|
13185
|
-
}
|
13510
|
+
};
|
13511
|
+
} else {
|
13512
|
+
sortPropertiesKey = sortDefinition;
|
13186
13513
|
|
13187
|
-
|
13188
|
-
return arrayComputed(itemsKey, {
|
13189
|
-
initialize: function (array, changeMeta, instanceMeta) {
|
13514
|
+
initFn = function (array, changeMeta, instanceMeta) {
|
13190
13515
|
function setupSortProperties() {
|
13191
13516
|
var sortPropertyDefinitions = get(this, sortPropertiesKey);
|
13192
13517
|
var sortProperties = instanceMeta.sortProperties = [];
|
@@ -13194,7 +13519,7 @@ define("ember-runtime/computed/reduce_computed_macros",
|
|
13194
13519
|
var sortProperty, idx, asc;
|
13195
13520
|
|
13196
13521
|
Ember.assert('Cannot sort: \'' + sortPropertiesKey + '\' is not an array.',
|
13197
|
-
|
13522
|
+
isArray(sortPropertyDefinitions));
|
13198
13523
|
|
13199
13524
|
changeMeta.property.clearItemPropertyKeys(itemsKey);
|
13200
13525
|
|
@@ -13228,14 +13553,12 @@ define("ember-runtime/computed/reduce_computed_macros",
|
|
13228
13553
|
setupSortProperties.call(this);
|
13229
13554
|
|
13230
13555
|
instanceMeta.order = function (itemA, itemB) {
|
13556
|
+
var isProxy = itemB instanceof SearchProxy;
|
13231
13557
|
var sortProperty, result, asc;
|
13232
|
-
var keyA = this.keyFor(itemA);
|
13233
|
-
var keyB = this.keyFor(itemB);
|
13234
13558
|
|
13235
13559
|
for (var i = 0; i < this.sortProperties.length; ++i) {
|
13236
13560
|
sortProperty = this.sortProperties[i];
|
13237
|
-
|
13238
|
-
result = compare(keyA[sortProperty], keyB[sortProperty]);
|
13561
|
+
result = compare(get(itemA, sortProperty), isProxy ? itemB[sortProperty] : get(itemB, sortProperty));
|
13239
13562
|
|
13240
13563
|
if (result !== 0) {
|
13241
13564
|
asc = this.sortPropertyAscending[sortProperty];
|
@@ -13247,50 +13570,43 @@ define("ember-runtime/computed/reduce_computed_macros",
|
|
13247
13570
|
};
|
13248
13571
|
|
13249
13572
|
instanceMeta.binarySearch = binarySearch;
|
13250
|
-
|
13251
|
-
|
13573
|
+
};
|
13574
|
+
}
|
13575
|
+
|
13576
|
+
return arrayComputed(itemsKey, {
|
13577
|
+
initialize: initFn,
|
13252
13578
|
|
13253
13579
|
addedItem: function (array, item, changeMeta, instanceMeta) {
|
13254
13580
|
var index = instanceMeta.binarySearch(array, item);
|
13255
13581
|
array.insertAt(index, item);
|
13582
|
+
|
13256
13583
|
return array;
|
13257
13584
|
},
|
13258
13585
|
|
13259
13586
|
removedItem: function (array, item, changeMeta, instanceMeta) {
|
13260
|
-
var index
|
13587
|
+
var proxyProperties, index, searchItem;
|
13588
|
+
|
13589
|
+
if (changeMeta.previousValues) {
|
13590
|
+
proxyProperties = merge({ content: item }, changeMeta.previousValues);
|
13591
|
+
|
13592
|
+
searchItem = SearchProxy.create(proxyProperties);
|
13593
|
+
} else {
|
13594
|
+
searchItem = item;
|
13595
|
+
}
|
13596
|
+
|
13597
|
+
index = instanceMeta.binarySearch(array, searchItem);
|
13261
13598
|
array.removeAt(index);
|
13262
|
-
|
13599
|
+
|
13263
13600
|
return array;
|
13264
13601
|
}
|
13265
13602
|
});
|
13266
13603
|
}
|
13267
13604
|
|
13268
|
-
|
13269
|
-
instanceMeta.keyFor = function(item) {
|
13270
|
-
var guid = guidFor(item);
|
13271
|
-
if (this.keyCache[guid]) {
|
13272
|
-
return this.keyCache[guid];
|
13273
|
-
}
|
13274
|
-
var sortProperty;
|
13275
|
-
var key = {};
|
13276
|
-
for (var i = 0; i < this.sortProperties.length; ++i) {
|
13277
|
-
sortProperty = this.sortProperties[i];
|
13278
|
-
key[sortProperty] = get(item, sortProperty);
|
13279
|
-
}
|
13280
|
-
return this.keyCache[guid] = key;
|
13281
|
-
};
|
13282
|
-
|
13283
|
-
instanceMeta.dropKeyFor = function(item) {
|
13284
|
-
var guid = guidFor(item);
|
13285
|
-
this.keyCache[guid] = null;
|
13286
|
-
};
|
13287
|
-
|
13288
|
-
instanceMeta.keyCache = {};
|
13289
|
-
}
|
13605
|
+
__exports__.sort = sort;
|
13290
13606
|
});
|
13291
13607
|
define("ember-runtime/controllers/array_controller",
|
13292
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/
|
13293
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__,
|
13608
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-runtime/system/array_proxy","ember-runtime/mixins/sortable","ember-runtime/mixins/controller","ember-metal/computed","ember-metal/error","exports"],
|
13609
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __exports__) {
|
13294
13610
|
"use strict";
|
13295
13611
|
/**
|
13296
13612
|
@module ember
|
@@ -13299,14 +13615,13 @@ define("ember-runtime/controllers/array_controller",
|
|
13299
13615
|
|
13300
13616
|
var Ember = __dependency1__["default"];
|
13301
13617
|
var get = __dependency2__.get;
|
13302
|
-
var
|
13303
|
-
var
|
13304
|
-
var
|
13305
|
-
var
|
13306
|
-
var
|
13307
|
-
var
|
13308
|
-
var
|
13309
|
-
var EmberError = __dependency9__["default"];
|
13618
|
+
var forEach = __dependency3__.forEach;
|
13619
|
+
var replace = __dependency3__.replace;
|
13620
|
+
var ArrayProxy = __dependency4__["default"];
|
13621
|
+
var SortableMixin = __dependency5__["default"];
|
13622
|
+
var ControllerMixin = __dependency6__["default"];
|
13623
|
+
var computed = __dependency7__.computed;
|
13624
|
+
var EmberError = __dependency8__["default"];
|
13310
13625
|
|
13311
13626
|
|
13312
13627
|
/**
|
@@ -13533,7 +13848,28 @@ define("ember-runtime/controllers/array_controller",
|
|
13533
13848
|
parentController = this;
|
13534
13849
|
}
|
13535
13850
|
|
13536
|
-
|
13851
|
+
if (Ember.FEATURES.isEnabled("ember-runtime-item-controller-inline-class")) {
|
13852
|
+
options = {
|
13853
|
+
target: parentController,
|
13854
|
+
parentController: parentController,
|
13855
|
+
model: object
|
13856
|
+
};
|
13857
|
+
|
13858
|
+
if (typeof controllerClass === 'string') {
|
13859
|
+
fullName = 'controller:' + controllerClass;
|
13860
|
+
|
13861
|
+
if (!container.has(fullName)) {
|
13862
|
+
throw new EmberError('Could not resolve itemController: "' + controllerClass + '"');
|
13863
|
+
}
|
13864
|
+
|
13865
|
+
subControllerFactory = container.lookupFactory(fullName);
|
13866
|
+
} else {
|
13867
|
+
subControllerFactory = controllerClass;
|
13868
|
+
options.container = container;
|
13869
|
+
}
|
13870
|
+
|
13871
|
+
subController = subControllerFactory.create(options);
|
13872
|
+
} else {
|
13537
13873
|
fullName = 'controller:' + controllerClass;
|
13538
13874
|
|
13539
13875
|
if (!container.has(fullName)) {
|
@@ -13545,7 +13881,7 @@ define("ember-runtime/controllers/array_controller",
|
|
13545
13881
|
parentController: parentController,
|
13546
13882
|
model: object
|
13547
13883
|
});
|
13548
|
-
|
13884
|
+
}
|
13549
13885
|
|
13550
13886
|
subControllers[idx] = subController;
|
13551
13887
|
|
@@ -13578,11 +13914,14 @@ define("ember-runtime/controllers/array_controller",
|
|
13578
13914
|
});
|
13579
13915
|
});
|
13580
13916
|
define("ember-runtime/controllers/controller",
|
13581
|
-
["ember-runtime/system/object","ember-runtime/mixins/controller","exports"],
|
13582
|
-
function(__dependency1__, __dependency2__, __exports__) {
|
13917
|
+
["ember-metal/core","ember-runtime/system/object","ember-runtime/mixins/controller","ember-runtime/inject","exports"],
|
13918
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
13583
13919
|
"use strict";
|
13584
|
-
var
|
13585
|
-
|
13920
|
+
var Ember = __dependency1__["default"];
|
13921
|
+
// Ember.assert
|
13922
|
+
var EmberObject = __dependency2__["default"];
|
13923
|
+
var Mixin = __dependency3__["default"];
|
13924
|
+
var createInjectionHelper = __dependency4__.createInjectionHelper;
|
13586
13925
|
|
13587
13926
|
/**
|
13588
13927
|
@module ember
|
@@ -13595,7 +13934,45 @@ define("ember-runtime/controllers/controller",
|
|
13595
13934
|
@extends Ember.Object
|
13596
13935
|
@uses Ember.ControllerMixin
|
13597
13936
|
*/
|
13598
|
-
|
13937
|
+
var Controller = EmberObject.extend(Mixin);
|
13938
|
+
|
13939
|
+
if (Ember.FEATURES.isEnabled('ember-metal-injected-properties')) {
|
13940
|
+
/**
|
13941
|
+
Creates a property that lazily looks up another controller in the container.
|
13942
|
+
Can only be used when defining another controller.
|
13943
|
+
|
13944
|
+
Example:
|
13945
|
+
|
13946
|
+
```javascript
|
13947
|
+
App.PostController = Ember.Controller.extend({
|
13948
|
+
posts: Ember.inject.controller()
|
13949
|
+
});
|
13950
|
+
```
|
13951
|
+
|
13952
|
+
This example will create a `posts` property on the `post` controller that
|
13953
|
+
looks up the `posts` controller in the container, making it easy to
|
13954
|
+
reference other controllers. This is functionally equivalent to:
|
13955
|
+
|
13956
|
+
```javascript
|
13957
|
+
App.PostController = Ember.Controller.extend({
|
13958
|
+
needs: 'posts',
|
13959
|
+
posts: Ember.computed.alias('controllers.posts')
|
13960
|
+
});
|
13961
|
+
```
|
13962
|
+
|
13963
|
+
@method inject.controller
|
13964
|
+
@for Ember
|
13965
|
+
@param {String} name (optional) name of the controller to inject, defaults
|
13966
|
+
to the property's name
|
13967
|
+
@return {Ember.InjectedProperty} injection descriptor instance
|
13968
|
+
*/
|
13969
|
+
createInjectionHelper('controller', function(factory) {
|
13970
|
+
Ember.assert("Defining an injected controller property on a " +
|
13971
|
+
"non-controller is not allowed.", Controller.detect(factory));
|
13972
|
+
});
|
13973
|
+
}
|
13974
|
+
|
13975
|
+
__exports__["default"] = Controller;
|
13599
13976
|
});
|
13600
13977
|
define("ember-runtime/controllers/object_controller",
|
13601
13978
|
["ember-runtime/mixins/controller","ember-runtime/system/object_proxy","exports"],
|
@@ -13981,8 +14358,8 @@ define("ember-runtime/ext/function",
|
|
13981
14358
|
}
|
13982
14359
|
});
|
13983
14360
|
define("ember-runtime/ext/rsvp",
|
13984
|
-
["ember-metal/core","ember-metal/logger","ember-metal/run_loop","exports"],
|
13985
|
-
function(__dependency1__, __dependency2__, __dependency3__, __exports__) {
|
14361
|
+
["ember-metal/core","ember-metal/logger","ember-metal/run_loop","rsvp","exports"],
|
14362
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
13986
14363
|
"use strict";
|
13987
14364
|
/* globals RSVP:true */
|
13988
14365
|
|
@@ -13990,7 +14367,12 @@ define("ember-runtime/ext/rsvp",
|
|
13990
14367
|
var Logger = __dependency2__["default"];
|
13991
14368
|
var run = __dependency3__["default"];
|
13992
14369
|
|
13993
|
-
|
14370
|
+
// this is technically incorrect (per @wycats)
|
14371
|
+
// it should be `import * as RSVP from 'rsvp';` but
|
14372
|
+
// Esprima does not support this syntax yet (and neither does
|
14373
|
+
// es6-module-transpiler 0.4.0 - 0.6.2).
|
14374
|
+
var RSVP = __dependency4__;
|
14375
|
+
|
13994
14376
|
var testModuleName = 'ember-testing/test';
|
13995
14377
|
var Test;
|
13996
14378
|
|
@@ -14164,9 +14546,93 @@ define("ember-runtime/ext/string",
|
|
14164
14546
|
};
|
14165
14547
|
}
|
14166
14548
|
});
|
14549
|
+
define("ember-runtime/inject",
|
14550
|
+
["ember-metal/core","ember-metal/enumerable_utils","ember-metal/injected_property","ember-metal/keys","exports"],
|
14551
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
14552
|
+
"use strict";
|
14553
|
+
var Ember = __dependency1__["default"];
|
14554
|
+
// Ember.assert
|
14555
|
+
var indexOf = __dependency2__.indexOf;
|
14556
|
+
var InjectedProperty = __dependency3__["default"];
|
14557
|
+
var keys = __dependency4__["default"];
|
14558
|
+
|
14559
|
+
/**
|
14560
|
+
Namespace for injection helper methods.
|
14561
|
+
|
14562
|
+
@class inject
|
14563
|
+
@namespace Ember
|
14564
|
+
*/
|
14565
|
+
function inject() {
|
14566
|
+
Ember.assert("Injected properties must be created through helpers, see `" +
|
14567
|
+
keys(inject).join("`, `") + "`");
|
14568
|
+
}
|
14569
|
+
|
14570
|
+
// Dictionary of injection validations by type, added to by `createInjectionHelper`
|
14571
|
+
var typeValidators = {};
|
14572
|
+
|
14573
|
+
/**
|
14574
|
+
This method allows other Ember modules to register injection helpers for a
|
14575
|
+
given container type. Helpers are exported to the `inject` namespace as the
|
14576
|
+
container type itself.
|
14577
|
+
|
14578
|
+
@private
|
14579
|
+
@method createInjectionHelper
|
14580
|
+
@namespace Ember
|
14581
|
+
@param {String} type The container type the helper will inject
|
14582
|
+
@param {Function} validator A validation callback that is executed at mixin-time
|
14583
|
+
*/
|
14584
|
+
function createInjectionHelper(type, validator) {
|
14585
|
+
typeValidators[type] = validator;
|
14586
|
+
|
14587
|
+
inject[type] = function(name) {
|
14588
|
+
return new InjectedProperty(type, name);
|
14589
|
+
};
|
14590
|
+
}
|
14591
|
+
|
14592
|
+
__exports__.createInjectionHelper = createInjectionHelper;/**
|
14593
|
+
Validation function intended to be invoked at when extending a factory with
|
14594
|
+
injected properties. Runs per-type validation functions once for each injected
|
14595
|
+
type encountered.
|
14596
|
+
|
14597
|
+
Note that this currently modifies the mixin themselves, which is technically
|
14598
|
+
dubious but is practically of little consequence. This may change in the
|
14599
|
+
future.
|
14600
|
+
|
14601
|
+
@private
|
14602
|
+
@method validatePropertyInjections
|
14603
|
+
@namespace Ember
|
14604
|
+
@param {Object} factory The factory object being extended
|
14605
|
+
@param {Object} props A hash of properties to be added to the factory
|
14606
|
+
*/
|
14607
|
+
function validatePropertyInjections(factory, props) {
|
14608
|
+
var types = [];
|
14609
|
+
var key, desc, validator, i, l;
|
14610
|
+
|
14611
|
+
for (key in props) {
|
14612
|
+
desc = props[key];
|
14613
|
+
if (desc instanceof InjectedProperty && indexOf(types, desc.type) === -1) {
|
14614
|
+
types.push(desc.type);
|
14615
|
+
}
|
14616
|
+
}
|
14617
|
+
|
14618
|
+
if (types.length) {
|
14619
|
+
for (i = 0, l = types.length; i < l; i++) {
|
14620
|
+
validator = typeValidators[types[i]];
|
14621
|
+
|
14622
|
+
if (typeof validator === 'function') {
|
14623
|
+
validator(factory);
|
14624
|
+
}
|
14625
|
+
}
|
14626
|
+
}
|
14627
|
+
|
14628
|
+
return true;
|
14629
|
+
}
|
14630
|
+
|
14631
|
+
__exports__.validatePropertyInjections = validatePropertyInjections;__exports__["default"] = inject;
|
14632
|
+
});
|
14167
14633
|
define("ember-runtime/mixins/-proxy",
|
14168
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/property_events","ember-metal/computed","ember-metal/properties","ember-metal/mixin","ember-runtime/system/string","
|
14169
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__,
|
14634
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/property_events","ember-metal/computed","ember-metal/properties","ember-metal/mixin","ember-runtime/system/string","exports"],
|
14635
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __exports__) {
|
14170
14636
|
"use strict";
|
14171
14637
|
/**
|
14172
14638
|
@module ember
|
@@ -14189,7 +14655,6 @@ define("ember-runtime/mixins/-proxy",
|
|
14189
14655
|
var Mixin = __dependency9__.Mixin;
|
14190
14656
|
var observer = __dependency9__.observer;
|
14191
14657
|
var fmt = __dependency10__.fmt;
|
14192
|
-
var EmberObject = __dependency11__["default"];
|
14193
14658
|
|
14194
14659
|
function contentPropertyWillChange(content, contentKey) {
|
14195
14660
|
var key = contentKey.slice(8); // remove "content."
|
@@ -14256,7 +14721,8 @@ define("ember-runtime/mixins/-proxy",
|
|
14256
14721
|
}
|
14257
14722
|
|
14258
14723
|
var content = get(this, 'content');
|
14259
|
-
Ember.assert(fmt("Cannot delegate set('%@', %@) to the 'content' property of
|
14724
|
+
Ember.assert(fmt("Cannot delegate set('%@', %@) to the 'content' property of" +
|
14725
|
+
" object proxy %@: its 'content' is undefined.", [key, value, this]), content);
|
14260
14726
|
return set(content, key, value);
|
14261
14727
|
}
|
14262
14728
|
|
@@ -14422,6 +14888,12 @@ define("ember-runtime/mixins/action_handler",
|
|
14422
14888
|
@method willMergeMixin
|
14423
14889
|
*/
|
14424
14890
|
willMergeMixin: function(props) {
|
14891
|
+
if (Ember.FEATURES.isEnabled('ember-metal-injected-properties')) {
|
14892
|
+
// Calling super is only OK here since we KNOW that there is another
|
14893
|
+
// Mixin loaded first (injection dependency verification)
|
14894
|
+
this._super.apply(this, arguments);
|
14895
|
+
}
|
14896
|
+
|
14425
14897
|
var hashName;
|
14426
14898
|
|
14427
14899
|
if (!props._actions) {
|
@@ -14430,7 +14902,8 @@ define("ember-runtime/mixins/action_handler",
|
|
14430
14902
|
if (typeOf(props.actions) === 'object') {
|
14431
14903
|
hashName = 'actions';
|
14432
14904
|
} else if (typeOf(props.events) === 'object') {
|
14433
|
-
Ember.deprecate('Action handlers contained in an `events` object are deprecated in favor
|
14905
|
+
Ember.deprecate('Action handlers contained in an `events` object are deprecated in favor' +
|
14906
|
+
' of putting them in an `actions` object', false);
|
14434
14907
|
hashName = 'events';
|
14435
14908
|
}
|
14436
14909
|
|
@@ -14484,7 +14957,8 @@ define("ember-runtime/mixins/action_handler",
|
|
14484
14957
|
}
|
14485
14958
|
|
14486
14959
|
if (target = get(this, 'target')) {
|
14487
|
-
Ember.assert("The `target` for " + this + " (" + target +
|
14960
|
+
Ember.assert("The `target` for " + this + " (" + target +
|
14961
|
+
") does not have a `send` method", typeof target.send === 'function');
|
14488
14962
|
target.send.apply(target, arguments);
|
14489
14963
|
}
|
14490
14964
|
}
|
@@ -14506,11 +14980,11 @@ define("ember-runtime/mixins/array",
|
|
14506
14980
|
//
|
14507
14981
|
var Ember = __dependency1__["default"];
|
14508
14982
|
// ES6TODO: Ember.A
|
14983
|
+
|
14509
14984
|
var get = __dependency2__.get;
|
14510
14985
|
var computed = __dependency3__.computed;
|
14511
14986
|
var cacheFor = __dependency3__.cacheFor;
|
14512
14987
|
var isNone = __dependency4__.isNone;
|
14513
|
-
var none = __dependency4__.none;
|
14514
14988
|
var Enumerable = __dependency5__["default"];
|
14515
14989
|
var map = __dependency6__.map;
|
14516
14990
|
var Mixin = __dependency7__.Mixin;
|
@@ -15056,17 +15530,13 @@ define("ember-runtime/mixins/comparable",
|
|
15056
15530
|
});
|
15057
15531
|
});
|
15058
15532
|
define("ember-runtime/mixins/controller",
|
15059
|
-
["ember-metal/
|
15060
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__,
|
15533
|
+
["ember-metal/mixin","ember-metal/computed","ember-runtime/mixins/action_handler","ember-runtime/mixins/controller_content_model_alias_deprecation","exports"],
|
15534
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
15061
15535
|
"use strict";
|
15062
|
-
var
|
15063
|
-
|
15064
|
-
var
|
15065
|
-
var
|
15066
|
-
var Mixin = __dependency4__.Mixin;
|
15067
|
-
var computed = __dependency5__.computed;
|
15068
|
-
var ActionHandler = __dependency6__["default"];
|
15069
|
-
var ControllerContentModelAliasDeprecation = __dependency7__["default"];
|
15536
|
+
var Mixin = __dependency1__.Mixin;
|
15537
|
+
var computed = __dependency2__.computed;
|
15538
|
+
var ActionHandler = __dependency3__["default"];
|
15539
|
+
var ControllerContentModelAliasDeprecation = __dependency4__["default"];
|
15070
15540
|
|
15071
15541
|
/**
|
15072
15542
|
`Ember.ControllerMixin` provides a standard interface for all classes that
|
@@ -15124,13 +15594,12 @@ define("ember-runtime/mixins/controller",
|
|
15124
15594
|
});
|
15125
15595
|
});
|
15126
15596
|
define("ember-runtime/mixins/controller_content_model_alias_deprecation",
|
15127
|
-
["ember-metal/core","ember-metal/
|
15128
|
-
function(__dependency1__, __dependency2__,
|
15597
|
+
["ember-metal/core","ember-metal/mixin","exports"],
|
15598
|
+
function(__dependency1__, __dependency2__, __exports__) {
|
15129
15599
|
"use strict";
|
15130
15600
|
var Ember = __dependency1__["default"];
|
15131
15601
|
// Ember.deprecate
|
15132
|
-
var
|
15133
|
-
var Mixin = __dependency3__.Mixin;
|
15602
|
+
var Mixin = __dependency2__.Mixin;
|
15134
15603
|
|
15135
15604
|
/**
|
15136
15605
|
The ControllerContentModelAliasDeprecation mixin is used to provide a useful
|
@@ -15183,8 +15652,8 @@ define("ember-runtime/mixins/controller_content_model_alias_deprecation",
|
|
15183
15652
|
});
|
15184
15653
|
});
|
15185
15654
|
define("ember-runtime/mixins/copyable",
|
15186
|
-
["ember-metal/property_get","ember-metal/
|
15187
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__,
|
15655
|
+
["ember-metal/property_get","ember-metal/mixin","ember-runtime/mixins/freezable","ember-runtime/system/string","ember-metal/error","exports"],
|
15656
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __exports__) {
|
15188
15657
|
"use strict";
|
15189
15658
|
/**
|
15190
15659
|
@module ember
|
@@ -15193,12 +15662,11 @@ define("ember-runtime/mixins/copyable",
|
|
15193
15662
|
|
15194
15663
|
|
15195
15664
|
var get = __dependency1__.get;
|
15196
|
-
var
|
15197
|
-
var
|
15198
|
-
var
|
15199
|
-
var
|
15200
|
-
var
|
15201
|
-
var EmberError = __dependency6__["default"];
|
15665
|
+
var required = __dependency2__.required;
|
15666
|
+
var Freezable = __dependency3__.Freezable;
|
15667
|
+
var Mixin = __dependency2__.Mixin;
|
15668
|
+
var fmt = __dependency4__.fmt;
|
15669
|
+
var EmberError = __dependency5__["default"];
|
15202
15670
|
|
15203
15671
|
|
15204
15672
|
/**
|
@@ -15366,7 +15834,7 @@ define("ember-runtime/mixins/enumerable",
|
|
15366
15834
|
var contexts = [];
|
15367
15835
|
|
15368
15836
|
function popCtx() {
|
15369
|
-
return contexts.length===0 ? {} : contexts.pop();
|
15837
|
+
return contexts.length === 0 ? {} : contexts.pop();
|
15370
15838
|
}
|
15371
15839
|
|
15372
15840
|
function pushCtx(ctx) {
|
@@ -15379,7 +15847,7 @@ define("ember-runtime/mixins/enumerable",
|
|
15379
15847
|
|
15380
15848
|
function i(item) {
|
15381
15849
|
var cur = get(item, key);
|
15382
|
-
return valueProvided ? value===cur : !!cur;
|
15850
|
+
return valueProvided ? value === cur : !!cur;
|
15383
15851
|
}
|
15384
15852
|
|
15385
15853
|
return i;
|
@@ -15470,8 +15938,8 @@ define("ember-runtime/mixins/enumerable",
|
|
15470
15938
|
If your enumerable is empty, this method should return `undefined`.
|
15471
15939
|
|
15472
15940
|
```javascript
|
15473
|
-
var arr = [
|
15474
|
-
arr.get('firstObject'); //
|
15941
|
+
var arr = ['a', 'b', 'c'];
|
15942
|
+
arr.get('firstObject'); // 'a'
|
15475
15943
|
|
15476
15944
|
var arr = [];
|
15477
15945
|
arr.get('firstObject'); // undefined
|
@@ -15481,12 +15949,16 @@ define("ember-runtime/mixins/enumerable",
|
|
15481
15949
|
@return {Object} the object or undefined
|
15482
15950
|
*/
|
15483
15951
|
firstObject: computed('[]', function() {
|
15484
|
-
if (get(this, 'length')===0)
|
15952
|
+
if (get(this, 'length') === 0) {
|
15953
|
+
return undefined;
|
15954
|
+
}
|
15955
|
+
|
15956
|
+
// handle generic enumerables
|
15957
|
+
var context = popCtx();
|
15958
|
+
var ret = this.nextObject(0, null, context);
|
15485
15959
|
|
15486
|
-
// handle generic enumerables
|
15487
|
-
var context = popCtx(), ret;
|
15488
|
-
ret = this.nextObject(0, null, context);
|
15489
15960
|
pushCtx(context);
|
15961
|
+
|
15490
15962
|
return ret;
|
15491
15963
|
}),
|
15492
15964
|
|
@@ -15496,8 +15968,8 @@ define("ember-runtime/mixins/enumerable",
|
|
15496
15968
|
If your enumerable is empty, this method should return `undefined`.
|
15497
15969
|
|
15498
15970
|
```javascript
|
15499
|
-
var arr = [
|
15500
|
-
arr.get('lastObject'); //
|
15971
|
+
var arr = ['a', 'b', 'c'];
|
15972
|
+
arr.get('lastObject'); // 'c'
|
15501
15973
|
|
15502
15974
|
var arr = [];
|
15503
15975
|
arr.get('lastObject'); // undefined
|
@@ -15508,13 +15980,23 @@ define("ember-runtime/mixins/enumerable",
|
|
15508
15980
|
*/
|
15509
15981
|
lastObject: computed('[]', function() {
|
15510
15982
|
var len = get(this, 'length');
|
15511
|
-
|
15512
|
-
|
15983
|
+
|
15984
|
+
if (len === 0) {
|
15985
|
+
return undefined;
|
15986
|
+
}
|
15987
|
+
|
15988
|
+
var context = popCtx();
|
15989
|
+
var idx = 0;
|
15990
|
+
var last = null;
|
15991
|
+
var cur;
|
15992
|
+
|
15513
15993
|
do {
|
15514
15994
|
last = cur;
|
15515
15995
|
cur = this.nextObject(idx++, last, context);
|
15516
15996
|
} while (cur !== undefined);
|
15997
|
+
|
15517
15998
|
pushCtx(context);
|
15999
|
+
|
15518
16000
|
return last;
|
15519
16001
|
}),
|
15520
16002
|
|
@@ -15524,9 +16006,10 @@ define("ember-runtime/mixins/enumerable",
|
|
15524
16006
|
is found. You may want to override this with a more efficient version.
|
15525
16007
|
|
15526
16008
|
```javascript
|
15527
|
-
var arr = [
|
15528
|
-
|
15529
|
-
arr.contains(
|
16009
|
+
var arr = ['a', 'b', 'c'];
|
16010
|
+
|
16011
|
+
arr.contains('a'); // true
|
16012
|
+
arr.contains('z'); // false
|
15530
16013
|
```
|
15531
16014
|
|
15532
16015
|
@method contains
|
@@ -15534,7 +16017,11 @@ define("ember-runtime/mixins/enumerable",
|
|
15534
16017
|
@return {Boolean} `true` if object is found in enumerable.
|
15535
16018
|
*/
|
15536
16019
|
contains: function(obj) {
|
15537
|
-
|
16020
|
+
var found = this.find(function(item) {
|
16021
|
+
return item === obj;
|
16022
|
+
});
|
16023
|
+
|
16024
|
+
return found !== undefined;
|
15538
16025
|
},
|
15539
16026
|
|
15540
16027
|
/**
|
@@ -15563,18 +16050,27 @@ define("ember-runtime/mixins/enumerable",
|
|
15563
16050
|
@return {Object} receiver
|
15564
16051
|
*/
|
15565
16052
|
forEach: function(callback, target) {
|
15566
|
-
if (typeof callback !== 'function')
|
15567
|
-
|
16053
|
+
if (typeof callback !== 'function') {
|
16054
|
+
throw new TypeError();
|
16055
|
+
}
|
15568
16056
|
|
15569
|
-
|
16057
|
+
var context = popCtx();
|
16058
|
+
var len = get(this, 'length');
|
16059
|
+
var last = null;
|
16060
|
+
|
16061
|
+
if (target === undefined) {
|
16062
|
+
target = null;
|
16063
|
+
}
|
15570
16064
|
|
15571
|
-
for(var idx=0;idx<len;idx++) {
|
16065
|
+
for(var idx = 0; idx < len; idx++) {
|
15572
16066
|
var next = this.nextObject(idx, last, context) ;
|
15573
16067
|
callback.call(target, next, idx, this);
|
15574
16068
|
last = next ;
|
15575
16069
|
}
|
16070
|
+
|
15576
16071
|
last = null ;
|
15577
16072
|
context = pushCtx(context);
|
16073
|
+
|
15578
16074
|
return this ;
|
15579
16075
|
},
|
15580
16076
|
|
@@ -15634,9 +16130,11 @@ define("ember-runtime/mixins/enumerable",
|
|
15634
16130
|
*/
|
15635
16131
|
map: function(callback, target) {
|
15636
16132
|
var ret = Ember.A();
|
16133
|
+
|
15637
16134
|
this.forEach(function(x, idx, i) {
|
15638
16135
|
ret[idx] = callback.call(target, x, idx,i);
|
15639
16136
|
});
|
16137
|
+
|
15640
16138
|
return ret ;
|
15641
16139
|
},
|
15642
16140
|
|
@@ -15696,9 +16194,13 @@ define("ember-runtime/mixins/enumerable",
|
|
15696
16194
|
*/
|
15697
16195
|
filter: function(callback, target) {
|
15698
16196
|
var ret = Ember.A();
|
16197
|
+
|
15699
16198
|
this.forEach(function(x, idx, i) {
|
15700
|
-
if (callback.call(target, x, idx, i))
|
16199
|
+
if (callback.call(target, x, idx, i)) {
|
16200
|
+
ret.push(x);
|
16201
|
+
}
|
15701
16202
|
});
|
16203
|
+
|
15702
16204
|
return ret ;
|
15703
16205
|
},
|
15704
16206
|
|
@@ -15772,8 +16274,14 @@ define("ember-runtime/mixins/enumerable",
|
|
15772
16274
|
@return {Array} rejected array
|
15773
16275
|
*/
|
15774
16276
|
rejectBy: function(key, value) {
|
15775
|
-
var exactValue = function(item) {
|
15776
|
-
|
16277
|
+
var exactValue = function(item) {
|
16278
|
+
return get(item, key) === value;
|
16279
|
+
};
|
16280
|
+
|
16281
|
+
var hasValue = function(item) {
|
16282
|
+
return !!get(item, key);
|
16283
|
+
};
|
16284
|
+
|
15777
16285
|
var use = (arguments.length === 2 ? exactValue : hasValue);
|
15778
16286
|
|
15779
16287
|
return this.reject(use);
|
@@ -15821,19 +16329,31 @@ define("ember-runtime/mixins/enumerable",
|
|
15821
16329
|
@return {Object} Found item or `undefined`.
|
15822
16330
|
*/
|
15823
16331
|
find: function(callback, target) {
|
15824
|
-
var len = get(this, 'length')
|
15825
|
-
|
16332
|
+
var len = get(this, 'length');
|
16333
|
+
|
16334
|
+
if (target === undefined) {
|
16335
|
+
target = null;
|
16336
|
+
}
|
15826
16337
|
|
15827
|
-
var last = null, next, found = false, ret ;
|
15828
16338
|
var context = popCtx();
|
15829
|
-
|
15830
|
-
|
15831
|
-
|
15832
|
-
|
16339
|
+
var found = false;
|
16340
|
+
var last = null;
|
16341
|
+
var next, ret;
|
16342
|
+
|
16343
|
+
for(var idx = 0; idx < len && !found; idx++) {
|
16344
|
+
next = this.nextObject(idx, last, context);
|
16345
|
+
|
16346
|
+
if (found = callback.call(target, next, idx, this)) {
|
16347
|
+
ret = next;
|
16348
|
+
}
|
16349
|
+
|
16350
|
+
last = next;
|
15833
16351
|
}
|
15834
|
-
|
16352
|
+
|
16353
|
+
next = last = null;
|
15835
16354
|
context = pushCtx(context);
|
15836
|
-
|
16355
|
+
|
16356
|
+
return ret;
|
15837
16357
|
},
|
15838
16358
|
|
15839
16359
|
/**
|
@@ -15891,7 +16411,9 @@ define("ember-runtime/mixins/enumerable",
|
|
15891
16411
|
Example Usage:
|
15892
16412
|
|
15893
16413
|
```javascript
|
15894
|
-
if (people.every(isEngineer)) {
|
16414
|
+
if (people.every(isEngineer)) {
|
16415
|
+
Paychecks.addBigBonus();
|
16416
|
+
}
|
15895
16417
|
```
|
15896
16418
|
|
15897
16419
|
@method every
|
@@ -15962,7 +16484,9 @@ define("ember-runtime/mixins/enumerable",
|
|
15962
16484
|
Usage Example:
|
15963
16485
|
|
15964
16486
|
```javascript
|
15965
|
-
if (people.any(isManager)) {
|
16487
|
+
if (people.any(isManager)) {
|
16488
|
+
Paychecks.addBiggerBonus();
|
16489
|
+
}
|
15966
16490
|
```
|
15967
16491
|
|
15968
16492
|
@method any
|
@@ -15971,13 +16495,15 @@ define("ember-runtime/mixins/enumerable",
|
|
15971
16495
|
@return {Boolean} `true` if the passed function returns `true` for any item
|
15972
16496
|
*/
|
15973
16497
|
any: function(callback, target) {
|
15974
|
-
var len
|
16498
|
+
var len = get(this, 'length');
|
15975
16499
|
var context = popCtx();
|
15976
|
-
var found
|
15977
|
-
var last
|
16500
|
+
var found = false;
|
16501
|
+
var last = null;
|
15978
16502
|
var next, idx;
|
15979
16503
|
|
15980
|
-
if (target === undefined) {
|
16504
|
+
if (target === undefined) {
|
16505
|
+
target = null;
|
16506
|
+
}
|
15981
16507
|
|
15982
16508
|
for (idx = 0; idx < len && !found; idx++) {
|
15983
16509
|
next = this.nextObject(idx, last, context);
|
@@ -16015,7 +16541,9 @@ define("ember-runtime/mixins/enumerable",
|
|
16015
16541
|
Usage Example:
|
16016
16542
|
|
16017
16543
|
```javascript
|
16018
|
-
if (people.some(isManager)) {
|
16544
|
+
if (people.some(isManager)) {
|
16545
|
+
Paychecks.addBiggerBonus();
|
16546
|
+
}
|
16019
16547
|
```
|
16020
16548
|
|
16021
16549
|
@method some
|
@@ -16092,7 +16620,9 @@ define("ember-runtime/mixins/enumerable",
|
|
16092
16620
|
@return {Object} The reduced value.
|
16093
16621
|
*/
|
16094
16622
|
reduce: function(callback, initialValue, reducerProperty) {
|
16095
|
-
if (typeof callback !==
|
16623
|
+
if (typeof callback !== 'function') {
|
16624
|
+
throw new TypeError();
|
16625
|
+
}
|
16096
16626
|
|
16097
16627
|
var ret = initialValue;
|
16098
16628
|
|
@@ -16114,11 +16644,16 @@ define("ember-runtime/mixins/enumerable",
|
|
16114
16644
|
@return {Array} return values from calling invoke.
|
16115
16645
|
*/
|
16116
16646
|
invoke: function(methodName) {
|
16117
|
-
var
|
16118
|
-
|
16647
|
+
var ret = Ember.A();
|
16648
|
+
var args;
|
16649
|
+
|
16650
|
+
if (arguments.length > 1) {
|
16651
|
+
args = a_slice.call(arguments, 1);
|
16652
|
+
}
|
16119
16653
|
|
16120
16654
|
this.forEach(function(x, idx) {
|
16121
16655
|
var method = x && x[methodName];
|
16656
|
+
|
16122
16657
|
if ('function' === typeof method) {
|
16123
16658
|
ret[idx] = args ? apply(x, method, args) : x[methodName]();
|
16124
16659
|
}
|
@@ -16136,23 +16671,29 @@ define("ember-runtime/mixins/enumerable",
|
|
16136
16671
|
*/
|
16137
16672
|
toArray: function() {
|
16138
16673
|
var ret = Ember.A();
|
16139
|
-
|
16674
|
+
|
16675
|
+
this.forEach(function(o, idx) {
|
16676
|
+
ret[idx] = o;
|
16677
|
+
});
|
16678
|
+
|
16140
16679
|
return ret;
|
16141
16680
|
},
|
16142
16681
|
|
16143
16682
|
/**
|
16144
|
-
Returns a copy of the array with all null and undefined elements removed.
|
16683
|
+
Returns a copy of the array with all `null` and `undefined` elements removed.
|
16145
16684
|
|
16146
16685
|
```javascript
|
16147
|
-
var arr = [
|
16148
|
-
arr.compact(); // [
|
16686
|
+
var arr = ['a', null, 'c', undefined];
|
16687
|
+
arr.compact(); // ['a', 'c']
|
16149
16688
|
```
|
16150
16689
|
|
16151
16690
|
@method compact
|
16152
16691
|
@return {Array} the array without null and undefined elements.
|
16153
16692
|
*/
|
16154
16693
|
compact: function() {
|
16155
|
-
return this.filter(function(value) {
|
16694
|
+
return this.filter(function(value) {
|
16695
|
+
return value != null;
|
16696
|
+
});
|
16156
16697
|
},
|
16157
16698
|
|
16158
16699
|
/**
|
@@ -16161,8 +16702,8 @@ define("ember-runtime/mixins/enumerable",
|
|
16161
16702
|
the receiver does not contain the value.
|
16162
16703
|
|
16163
16704
|
```javascript
|
16164
|
-
var arr = [
|
16165
|
-
arr.without(
|
16705
|
+
var arr = ['a', 'b', 'a', 'c'];
|
16706
|
+
arr.without('a'); // ['b', 'c']
|
16166
16707
|
```
|
16167
16708
|
|
16168
16709
|
@method without
|
@@ -16170,12 +16711,19 @@ define("ember-runtime/mixins/enumerable",
|
|
16170
16711
|
@return {Ember.Enumerable}
|
16171
16712
|
*/
|
16172
16713
|
without: function(value) {
|
16173
|
-
if (!this.contains(value))
|
16714
|
+
if (!this.contains(value)) {
|
16715
|
+
return this; // nothing to do
|
16716
|
+
}
|
16717
|
+
|
16174
16718
|
var ret = Ember.A();
|
16719
|
+
|
16175
16720
|
this.forEach(function(k) {
|
16176
|
-
if (k !== value)
|
16177
|
-
|
16178
|
-
|
16721
|
+
if (k !== value) {
|
16722
|
+
ret[ret.length] = k;
|
16723
|
+
}
|
16724
|
+
});
|
16725
|
+
|
16726
|
+
return ret;
|
16179
16727
|
},
|
16180
16728
|
|
16181
16729
|
/**
|
@@ -16183,18 +16731,24 @@ define("ember-runtime/mixins/enumerable",
|
|
16183
16731
|
implementation returns an array regardless of the receiver type.
|
16184
16732
|
|
16185
16733
|
```javascript
|
16186
|
-
var arr = [
|
16187
|
-
arr.uniq(); // [
|
16734
|
+
var arr = ['a', 'a', 'b', 'b'];
|
16735
|
+
arr.uniq(); // ['a', 'b']
|
16188
16736
|
```
|
16189
16737
|
|
16738
|
+
This only works on primitive data types, e.g. Strings, Numbers, etc.
|
16739
|
+
|
16190
16740
|
@method uniq
|
16191
16741
|
@return {Ember.Enumerable}
|
16192
16742
|
*/
|
16193
16743
|
uniq: function() {
|
16194
16744
|
var ret = Ember.A();
|
16745
|
+
|
16195
16746
|
this.forEach(function(k) {
|
16196
|
-
if (indexOf(ret, k)<0)
|
16747
|
+
if (indexOf(ret, k) < 0) {
|
16748
|
+
ret.push(k);
|
16749
|
+
}
|
16197
16750
|
});
|
16751
|
+
|
16198
16752
|
return ret;
|
16199
16753
|
},
|
16200
16754
|
|
@@ -16232,10 +16786,17 @@ define("ember-runtime/mixins/enumerable",
|
|
16232
16786
|
var didChange = (opts && opts.didChange) || 'enumerableDidChange';
|
16233
16787
|
var hasObservers = get(this, 'hasEnumerableObservers');
|
16234
16788
|
|
16235
|
-
if (!hasObservers)
|
16789
|
+
if (!hasObservers) {
|
16790
|
+
propertyWillChange(this, 'hasEnumerableObservers');
|
16791
|
+
}
|
16792
|
+
|
16236
16793
|
addListener(this, '@enumerable:before', target, willChange);
|
16237
16794
|
addListener(this, '@enumerable:change', target, didChange);
|
16238
|
-
|
16795
|
+
|
16796
|
+
if (!hasObservers) {
|
16797
|
+
propertyDidChange(this, 'hasEnumerableObservers');
|
16798
|
+
}
|
16799
|
+
|
16239
16800
|
return this;
|
16240
16801
|
},
|
16241
16802
|
|
@@ -16250,12 +16811,19 @@ define("ember-runtime/mixins/enumerable",
|
|
16250
16811
|
removeEnumerableObserver: function(target, opts) {
|
16251
16812
|
var willChange = (opts && opts.willChange) || 'enumerableWillChange';
|
16252
16813
|
var didChange = (opts && opts.didChange) || 'enumerableDidChange';
|
16253
|
-
|
16254
16814
|
var hasObservers = get(this, 'hasEnumerableObservers');
|
16255
|
-
|
16815
|
+
|
16816
|
+
if (hasObservers) {
|
16817
|
+
propertyWillChange(this, 'hasEnumerableObservers');
|
16818
|
+
}
|
16819
|
+
|
16256
16820
|
removeListener(this, '@enumerable:before', target, willChange);
|
16257
16821
|
removeListener(this, '@enumerable:change', target, didChange);
|
16258
|
-
|
16822
|
+
|
16823
|
+
if (hasObservers) {
|
16824
|
+
propertyDidChange(this, 'hasEnumerableObservers');
|
16825
|
+
}
|
16826
|
+
|
16259
16827
|
return this;
|
16260
16828
|
},
|
16261
16829
|
|
@@ -16284,24 +16852,40 @@ define("ember-runtime/mixins/enumerable",
|
|
16284
16852
|
@chainable
|
16285
16853
|
*/
|
16286
16854
|
enumerableContentWillChange: function(removing, adding) {
|
16287
|
-
|
16288
16855
|
var removeCnt, addCnt, hasDelta;
|
16289
16856
|
|
16290
|
-
if ('number' === typeof removing)
|
16291
|
-
|
16292
|
-
else
|
16857
|
+
if ('number' === typeof removing) {
|
16858
|
+
removeCnt = removing;
|
16859
|
+
} else if (removing) {
|
16860
|
+
removeCnt = get(removing, 'length');
|
16861
|
+
} else {
|
16862
|
+
removeCnt = removing = -1;
|
16863
|
+
}
|
16864
|
+
|
16865
|
+
if ('number' === typeof adding) {
|
16866
|
+
addCnt = adding;
|
16867
|
+
} else if (adding) {
|
16868
|
+
addCnt = get(adding,'length');
|
16869
|
+
} else {
|
16870
|
+
addCnt = adding = -1;
|
16871
|
+
}
|
16293
16872
|
|
16294
|
-
|
16295
|
-
else if (adding) addCnt = get(adding,'length');
|
16296
|
-
else addCnt = adding = -1;
|
16873
|
+
hasDelta = addCnt < 0 || removeCnt < 0 || addCnt - removeCnt !== 0;
|
16297
16874
|
|
16298
|
-
|
16875
|
+
if (removing === -1) {
|
16876
|
+
removing = null;
|
16877
|
+
}
|
16299
16878
|
|
16300
|
-
if (
|
16301
|
-
|
16879
|
+
if (adding === -1) {
|
16880
|
+
adding = null;
|
16881
|
+
}
|
16302
16882
|
|
16303
16883
|
propertyWillChange(this, '[]');
|
16304
|
-
|
16884
|
+
|
16885
|
+
if (hasDelta) {
|
16886
|
+
propertyWillChange(this, 'length');
|
16887
|
+
}
|
16888
|
+
|
16305
16889
|
sendEvent(this, '@enumerable:before', [this, removing, adding]);
|
16306
16890
|
|
16307
16891
|
return this;
|
@@ -16324,21 +16908,38 @@ define("ember-runtime/mixins/enumerable",
|
|
16324
16908
|
enumerableContentDidChange: function(removing, adding) {
|
16325
16909
|
var removeCnt, addCnt, hasDelta;
|
16326
16910
|
|
16327
|
-
if ('number' === typeof removing)
|
16328
|
-
|
16329
|
-
else
|
16911
|
+
if ('number' === typeof removing) {
|
16912
|
+
removeCnt = removing;
|
16913
|
+
} else if (removing) {
|
16914
|
+
removeCnt = get(removing, 'length');
|
16915
|
+
} else {
|
16916
|
+
removeCnt = removing = -1;
|
16917
|
+
}
|
16918
|
+
|
16919
|
+
if ('number' === typeof adding) {
|
16920
|
+
addCnt = adding;
|
16921
|
+
} else if (adding) {
|
16922
|
+
addCnt = get(adding, 'length');
|
16923
|
+
} else {
|
16924
|
+
addCnt = adding = -1;
|
16925
|
+
}
|
16330
16926
|
|
16331
|
-
|
16332
|
-
else if (adding) addCnt = get(adding, 'length');
|
16333
|
-
else addCnt = adding = -1;
|
16927
|
+
hasDelta = addCnt < 0 || removeCnt < 0 || addCnt - removeCnt !== 0;
|
16334
16928
|
|
16335
|
-
|
16929
|
+
if (removing === -1) {
|
16930
|
+
removing = null;
|
16931
|
+
}
|
16336
16932
|
|
16337
|
-
if (
|
16338
|
-
|
16933
|
+
if (adding === -1) {
|
16934
|
+
adding = null;
|
16935
|
+
}
|
16339
16936
|
|
16340
16937
|
sendEvent(this, '@enumerable:change', [this, removing, adding]);
|
16341
|
-
|
16938
|
+
|
16939
|
+
if (hasDelta) {
|
16940
|
+
propertyDidChange(this, 'length');
|
16941
|
+
}
|
16942
|
+
|
16342
16943
|
propertyDidChange(this, '[]');
|
16343
16944
|
|
16344
16945
|
return this ;
|
@@ -16357,6 +16958,7 @@ define("ember-runtime/mixins/enumerable",
|
|
16357
16958
|
*/
|
16358
16959
|
sortBy: function() {
|
16359
16960
|
var sortKeys = arguments;
|
16961
|
+
|
16360
16962
|
return this.toArray().sort(function(a, b){
|
16361
16963
|
for(var i = 0; i < sortKeys.length; i++) {
|
16362
16964
|
var key = sortKeys[i];
|
@@ -16364,7 +16966,10 @@ define("ember-runtime/mixins/enumerable",
|
|
16364
16966
|
var propB = get(b, key);
|
16365
16967
|
// return 1 or -1 else continue to the next sortKey
|
16366
16968
|
var compareValue = compare(propA, propB);
|
16367
|
-
|
16969
|
+
|
16970
|
+
if (compareValue) {
|
16971
|
+
return compareValue;
|
16972
|
+
}
|
16368
16973
|
}
|
16369
16974
|
return 0;
|
16370
16975
|
});
|
@@ -16627,8 +17232,8 @@ define("ember-runtime/mixins/freezable",
|
|
16627
17232
|
__exports__.FROZEN_ERROR = FROZEN_ERROR;
|
16628
17233
|
});
|
16629
17234
|
define("ember-runtime/mixins/mutable_array",
|
16630
|
-
["ember-metal/property_get","ember-metal/
|
16631
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__,
|
17235
|
+
["ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/mixin","ember-runtime/mixins/array","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","exports"],
|
17236
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __exports__) {
|
16632
17237
|
"use strict";
|
16633
17238
|
/**
|
16634
17239
|
@module ember
|
@@ -16651,14 +17256,13 @@ define("ember-runtime/mixins/mutable_array",
|
|
16651
17256
|
//
|
16652
17257
|
|
16653
17258
|
var get = __dependency1__.get;
|
16654
|
-
var
|
16655
|
-
var
|
16656
|
-
var
|
16657
|
-
var
|
16658
|
-
var
|
16659
|
-
var
|
16660
|
-
var
|
16661
|
-
var Enumerable = __dependency8__["default"];
|
17259
|
+
var isArray = __dependency2__.isArray;
|
17260
|
+
var EmberError = __dependency3__["default"];
|
17261
|
+
var Mixin = __dependency4__.Mixin;
|
17262
|
+
var required = __dependency4__.required;
|
17263
|
+
var EmberArray = __dependency5__["default"];
|
17264
|
+
var MutableEnumerable = __dependency6__["default"];
|
17265
|
+
var Enumerable = __dependency7__["default"];
|
16662
17266
|
/**
|
16663
17267
|
This mixin defines the API for modifying array-like objects. These methods
|
16664
17268
|
can be applied only to a collection that keeps its items in an ordered set.
|
@@ -17826,8 +18430,8 @@ define("ember-runtime/mixins/promise_proxy",
|
|
17826
18430
|
}
|
17827
18431
|
});
|
17828
18432
|
define("ember-runtime/mixins/sortable",
|
17829
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/
|
17830
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__,
|
18433
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-metal/mixin","ember-runtime/mixins/mutable_enumerable","ember-runtime/compare","ember-metal/observer","ember-metal/computed","exports"],
|
18434
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __exports__) {
|
17831
18435
|
"use strict";
|
17832
18436
|
/**
|
17833
18437
|
@module ember
|
@@ -17838,16 +18442,15 @@ define("ember-runtime/mixins/sortable",
|
|
17838
18442
|
// Ember.assert, Ember.A
|
17839
18443
|
|
17840
18444
|
var get = __dependency2__.get;
|
17841
|
-
var
|
17842
|
-
var
|
17843
|
-
var
|
17844
|
-
var
|
17845
|
-
var
|
17846
|
-
var
|
17847
|
-
var
|
17848
|
-
var
|
17849
|
-
var
|
17850
|
-
var observer = __dependency5__.observer;
|
18445
|
+
var forEach = __dependency3__.forEach;
|
18446
|
+
var Mixin = __dependency4__.Mixin;
|
18447
|
+
var MutableEnumerable = __dependency5__["default"];
|
18448
|
+
var compare = __dependency6__["default"];
|
18449
|
+
var addObserver = __dependency7__.addObserver;
|
18450
|
+
var removeObserver = __dependency7__.removeObserver;
|
18451
|
+
var computed = __dependency8__.computed;
|
18452
|
+
var beforeObserver = __dependency4__.beforeObserver;
|
18453
|
+
var observer = __dependency4__.observer;
|
17851
18454
|
//ES6TODO: should we access these directly from their package or from how thier exposed in ember-metal?
|
17852
18455
|
|
17853
18456
|
/**
|
@@ -18132,8 +18735,8 @@ define("ember-runtime/mixins/sortable",
|
|
18132
18735
|
});
|
18133
18736
|
});
|
18134
18737
|
define("ember-runtime/mixins/target_action_support",
|
18135
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/
|
18136
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__,
|
18738
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/mixin","ember-metal/computed","exports"],
|
18739
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __exports__) {
|
18137
18740
|
"use strict";
|
18138
18741
|
/**
|
18139
18742
|
@module ember
|
@@ -18143,10 +18746,9 @@ define("ember-runtime/mixins/target_action_support",
|
|
18143
18746
|
// Ember.lookup, Ember.assert
|
18144
18747
|
|
18145
18748
|
var get = __dependency2__.get;
|
18146
|
-
var
|
18147
|
-
var
|
18148
|
-
var
|
18149
|
-
var computed = __dependency6__.computed;
|
18749
|
+
var typeOf = __dependency3__.typeOf;
|
18750
|
+
var Mixin = __dependency4__.Mixin;
|
18751
|
+
var computed = __dependency5__.computed;
|
18150
18752
|
|
18151
18753
|
/**
|
18152
18754
|
`Ember.TargetActionSupport` is a mixin that can be included in a class
|
@@ -18290,25 +18892,25 @@ define("ember-runtime/system/application",
|
|
18290
18892
|
__exports__["default"] = Namespace.extend();
|
18291
18893
|
});
|
18292
18894
|
define("ember-runtime/system/array_proxy",
|
18293
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/
|
18895
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/property_events","ember-metal/error","ember-runtime/system/object","ember-runtime/mixins/mutable_array","ember-runtime/mixins/enumerable","ember-runtime/system/string","ember-metal/alias","exports"],
|
18294
18896
|
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __exports__) {
|
18295
18897
|
"use strict";
|
18296
18898
|
var Ember = __dependency1__["default"];
|
18297
18899
|
// Ember.K, Ember.assert
|
18298
18900
|
var get = __dependency2__.get;
|
18299
|
-
var
|
18300
|
-
var
|
18301
|
-
var
|
18302
|
-
var
|
18303
|
-
var
|
18304
|
-
var
|
18305
|
-
var
|
18306
|
-
var
|
18307
|
-
var
|
18308
|
-
var
|
18309
|
-
var
|
18310
|
-
var
|
18311
|
-
var
|
18901
|
+
var isArray = __dependency3__.isArray;
|
18902
|
+
var apply = __dependency3__.apply;
|
18903
|
+
var computed = __dependency4__.computed;
|
18904
|
+
var beforeObserver = __dependency5__.beforeObserver;
|
18905
|
+
var observer = __dependency5__.observer;
|
18906
|
+
var beginPropertyChanges = __dependency6__.beginPropertyChanges;
|
18907
|
+
var endPropertyChanges = __dependency6__.endPropertyChanges;
|
18908
|
+
var EmberError = __dependency7__["default"];
|
18909
|
+
var EmberObject = __dependency8__["default"];
|
18910
|
+
var MutableArray = __dependency9__["default"];
|
18911
|
+
var Enumerable = __dependency10__["default"];
|
18912
|
+
var fmt = __dependency11__.fmt;
|
18913
|
+
var alias = __dependency12__["default"];
|
18312
18914
|
|
18313
18915
|
/**
|
18314
18916
|
@module ember
|
@@ -18317,7 +18919,6 @@ define("ember-runtime/system/array_proxy",
|
|
18317
18919
|
|
18318
18920
|
var OUT_OF_RANGE_EXCEPTION = "Index out of range";
|
18319
18921
|
var EMPTY = [];
|
18320
|
-
var alias = computed.alias;
|
18321
18922
|
var K = Ember.K;
|
18322
18923
|
|
18323
18924
|
/**
|
@@ -18668,24 +19269,20 @@ define("ember-runtime/system/array_proxy",
|
|
18668
19269
|
__exports__["default"] = ArrayProxy;
|
18669
19270
|
});
|
18670
19271
|
define("ember-runtime/system/container",
|
18671
|
-
["ember-metal/property_set","exports"],
|
18672
|
-
function(__dependency1__, __exports__) {
|
19272
|
+
["ember-metal/property_set","container","exports"],
|
19273
|
+
function(__dependency1__, __dependency2__, __exports__) {
|
18673
19274
|
"use strict";
|
18674
|
-
var set = __dependency1__
|
19275
|
+
var set = __dependency1__.set;
|
19276
|
+
var Container = __dependency2__["default"];
|
18675
19277
|
|
18676
|
-
var Container = requireModule('container')["default"];
|
18677
19278
|
Container.set = set;
|
18678
19279
|
|
18679
19280
|
__exports__["default"] = Container;
|
18680
19281
|
});
|
18681
19282
|
define("ember-runtime/system/core_object",
|
18682
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/
|
19283
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/platform","ember-metal/watching","ember-metal/chains","ember-metal/events","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/error","ember-metal/keys","ember-runtime/mixins/action_handler","ember-metal/properties","ember-metal/binding","ember-metal/computed","ember-metal/injected_property","ember-metal/run_loop","exports"],
|
18683
19284
|
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __dependency16__, __dependency17__, __exports__) {
|
18684
|
-
|
18685
|
-
// https://bugs.webkit.org/show_bug.cgi?id=138038 is fixed
|
18686
|
-
//
|
18687
|
-
// REMOVE_USE_STRICT: true
|
18688
|
-
|
19285
|
+
"use strict";
|
18689
19286
|
/**
|
18690
19287
|
@module ember
|
18691
19288
|
@submodule ember-runtime
|
@@ -18697,32 +19294,32 @@ define("ember-runtime/system/core_object",
|
|
18697
19294
|
// NOTE: this object should never be included directly. Instead use `Ember.Object`.
|
18698
19295
|
// We only define this separately so that `Ember.Set` can depend on it.
|
18699
19296
|
var get = __dependency2__.get;
|
18700
|
-
var
|
18701
|
-
var
|
18702
|
-
var
|
18703
|
-
var
|
18704
|
-
var
|
18705
|
-
var
|
18706
|
-
var
|
18707
|
-
var
|
18708
|
-
var
|
18709
|
-
var
|
18710
|
-
var
|
18711
|
-
var
|
18712
|
-
var
|
18713
|
-
var
|
18714
|
-
var
|
18715
|
-
var
|
18716
|
-
var
|
18717
|
-
var
|
18718
|
-
var
|
18719
|
-
var
|
18720
|
-
var
|
18721
|
-
var
|
19297
|
+
var guidFor = __dependency3__.guidFor;
|
19298
|
+
var apply = __dependency3__.apply;
|
19299
|
+
var o_create = __dependency4__.create;
|
19300
|
+
var generateGuid = __dependency3__.generateGuid;
|
19301
|
+
var GUID_KEY = __dependency3__.GUID_KEY;
|
19302
|
+
var meta = __dependency3__.meta;
|
19303
|
+
var makeArray = __dependency3__.makeArray;
|
19304
|
+
var rewatch = __dependency5__.rewatch;
|
19305
|
+
var finishChains = __dependency6__.finishChains;
|
19306
|
+
var sendEvent = __dependency7__.sendEvent;
|
19307
|
+
var IS_BINDING = __dependency8__.IS_BINDING;
|
19308
|
+
var Mixin = __dependency8__.Mixin;
|
19309
|
+
var required = __dependency8__.required;
|
19310
|
+
var indexOf = __dependency9__.indexOf;
|
19311
|
+
var EmberError = __dependency10__["default"];
|
19312
|
+
var o_defineProperty = __dependency4__.defineProperty;
|
19313
|
+
var keys = __dependency11__["default"];
|
19314
|
+
var ActionHandler = __dependency12__["default"];
|
19315
|
+
var defineProperty = __dependency13__.defineProperty;
|
19316
|
+
var Binding = __dependency14__.Binding;
|
19317
|
+
var ComputedProperty = __dependency15__.ComputedProperty;
|
19318
|
+
var InjectedProperty = __dependency16__["default"];
|
18722
19319
|
var run = __dependency17__["default"];
|
18723
|
-
var destroy =
|
19320
|
+
var destroy = __dependency5__.destroy;
|
18724
19321
|
var K = __dependency1__.K;
|
18725
|
-
var hasPropertyAccessors =
|
19322
|
+
var hasPropertyAccessors = __dependency4__.hasPropertyAccessors;
|
18726
19323
|
|
18727
19324
|
var schedule = run.schedule;
|
18728
19325
|
var applyMixin = Mixin._apply;
|
@@ -18790,8 +19387,6 @@ define("ember-runtime/system/core_object",
|
|
18790
19387
|
|
18791
19388
|
for (var j = 0, ll = keyNames.length; j < ll; j++) {
|
18792
19389
|
var keyName = keyNames[j];
|
18793
|
-
if (!properties.hasOwnProperty(keyName)) { continue; }
|
18794
|
-
|
18795
19390
|
var value = properties[keyName];
|
18796
19391
|
|
18797
19392
|
if (IS_BINDING.test(keyName)) {
|
@@ -18812,7 +19407,9 @@ define("ember-runtime/system/core_object",
|
|
18812
19407
|
"time, when Ember.ActionHandler is used (i.e. views, " +
|
18813
19408
|
"controllers & routes).", !((keyName === 'actions') && ActionHandler.detect(this)));
|
18814
19409
|
|
18815
|
-
if (concatenatedProperties &&
|
19410
|
+
if (concatenatedProperties &&
|
19411
|
+
concatenatedProperties.length > 0 &&
|
19412
|
+
indexOf(concatenatedProperties, keyName) >= 0) {
|
18816
19413
|
var baseValue = this[keyName];
|
18817
19414
|
|
18818
19415
|
if (baseValue) {
|
@@ -19126,7 +19723,7 @@ define("ember-runtime/system/core_object",
|
|
19126
19723
|
|
19127
19724
|
CoreObject.__super__ = null;
|
19128
19725
|
|
19129
|
-
var
|
19726
|
+
var ClassMixinProps = {
|
19130
19727
|
|
19131
19728
|
ClassMixin: required(),
|
19132
19729
|
|
@@ -19511,7 +20108,34 @@ define("ember-runtime/system/core_object",
|
|
19511
20108
|
callback.call(binding || this, property.name, property.meta || empty);
|
19512
20109
|
}
|
19513
20110
|
}
|
19514
|
-
}
|
20111
|
+
};
|
20112
|
+
|
20113
|
+
if (Ember.FEATURES.isEnabled('ember-metal-injected-properties')) {
|
20114
|
+
/**
|
20115
|
+
Returns a hash of property names and container names that injected
|
20116
|
+
properties will lookup on the container lazily.
|
20117
|
+
|
20118
|
+
@method lazyInjections
|
20119
|
+
@return {Object} Hash of all lazy injected property keys to container names
|
20120
|
+
*/
|
20121
|
+
ClassMixinProps.lazyInjections = function() {
|
20122
|
+
var injections = {};
|
20123
|
+
var proto = this.proto();
|
20124
|
+
var descs = meta(proto).descs;
|
20125
|
+
var key, desc;
|
20126
|
+
|
20127
|
+
for (key in descs) {
|
20128
|
+
desc = descs[key];
|
20129
|
+
if (desc instanceof InjectedProperty) {
|
20130
|
+
injections[key] = desc.type + ':' + (desc.name || key);
|
20131
|
+
}
|
20132
|
+
}
|
20133
|
+
|
20134
|
+
return injections;
|
20135
|
+
};
|
20136
|
+
}
|
20137
|
+
|
20138
|
+
var ClassMixin = Mixin.create(ClassMixinProps);
|
19515
20139
|
|
19516
20140
|
ClassMixin.ownerConstructor = CoreObject;
|
19517
20141
|
|
@@ -19539,13 +20163,12 @@ define("ember-runtime/system/core_object",
|
|
19539
20163
|
__exports__["default"] = CoreObject;
|
19540
20164
|
});
|
19541
20165
|
define("ember-runtime/system/deferred",
|
19542
|
-
["ember-metal/core","ember-runtime/mixins/deferred","ember-
|
19543
|
-
function(__dependency1__, __dependency2__, __dependency3__,
|
20166
|
+
["ember-metal/core","ember-runtime/mixins/deferred","ember-runtime/system/object","exports"],
|
20167
|
+
function(__dependency1__, __dependency2__, __dependency3__, __exports__) {
|
19544
20168
|
"use strict";
|
19545
20169
|
var Ember = __dependency1__["default"];
|
19546
20170
|
var DeferredMixin = __dependency2__["default"];
|
19547
|
-
var
|
19548
|
-
var EmberObject = __dependency4__["default"];
|
20171
|
+
var EmberObject = __dependency3__["default"];
|
19549
20172
|
|
19550
20173
|
var Deferred = EmberObject.extend(DeferredMixin, {
|
19551
20174
|
init: function() {
|
@@ -19565,8 +20188,8 @@ define("ember-runtime/system/deferred",
|
|
19565
20188
|
__exports__["default"] = Deferred;
|
19566
20189
|
});
|
19567
20190
|
define("ember-runtime/system/each_proxy",
|
19568
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/
|
19569
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__,
|
20191
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/enumerable_utils","ember-metal/array","ember-runtime/mixins/array","ember-runtime/system/object","ember-metal/computed","ember-metal/observer","ember-metal/events","ember-metal/properties","ember-metal/property_events","exports"],
|
20192
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __exports__) {
|
19570
20193
|
"use strict";
|
19571
20194
|
/**
|
19572
20195
|
@module ember
|
@@ -19577,26 +20200,25 @@ define("ember-runtime/system/each_proxy",
|
|
19577
20200
|
// Ember.assert
|
19578
20201
|
|
19579
20202
|
var get = __dependency2__.get;
|
19580
|
-
var
|
19581
|
-
var
|
19582
|
-
var
|
19583
|
-
var
|
19584
|
-
var EmberArray = __dependency7__["default"];
|
20203
|
+
var guidFor = __dependency3__.guidFor;
|
20204
|
+
var forEach = __dependency4__.forEach;
|
20205
|
+
var indexOf = __dependency5__.indexOf;
|
20206
|
+
var EmberArray = __dependency6__["default"];
|
19585
20207
|
// ES6TODO: WAT? Circular dep?
|
19586
|
-
var EmberObject =
|
19587
|
-
var computed =
|
19588
|
-
var addObserver =
|
19589
|
-
var addBeforeObserver =
|
19590
|
-
var removeBeforeObserver =
|
19591
|
-
var removeObserver =
|
19592
|
-
var typeOf =
|
19593
|
-
var watchedEvents =
|
19594
|
-
var defineProperty =
|
19595
|
-
var beginPropertyChanges =
|
19596
|
-
var propertyDidChange =
|
19597
|
-
var propertyWillChange =
|
19598
|
-
var endPropertyChanges =
|
19599
|
-
var changeProperties =
|
20208
|
+
var EmberObject = __dependency7__["default"];
|
20209
|
+
var computed = __dependency8__.computed;
|
20210
|
+
var addObserver = __dependency9__.addObserver;
|
20211
|
+
var addBeforeObserver = __dependency9__.addBeforeObserver;
|
20212
|
+
var removeBeforeObserver = __dependency9__.removeBeforeObserver;
|
20213
|
+
var removeObserver = __dependency9__.removeObserver;
|
20214
|
+
var typeOf = __dependency3__.typeOf;
|
20215
|
+
var watchedEvents = __dependency10__.watchedEvents;
|
20216
|
+
var defineProperty = __dependency11__.defineProperty;
|
20217
|
+
var beginPropertyChanges = __dependency12__.beginPropertyChanges;
|
20218
|
+
var propertyDidChange = __dependency12__.propertyDidChange;
|
20219
|
+
var propertyWillChange = __dependency12__.propertyWillChange;
|
20220
|
+
var endPropertyChanges = __dependency12__.endPropertyChanges;
|
20221
|
+
var changeProperties = __dependency12__.changeProperties;
|
19600
20222
|
|
19601
20223
|
var EachArray = EmberObject.extend(EmberArray, {
|
19602
20224
|
|
@@ -20009,7 +20631,7 @@ define("ember-runtime/system/namespace",
|
|
20009
20631
|
|
20010
20632
|
function findNamespaces() {
|
20011
20633
|
var lookup = Ember.lookup;
|
20012
|
-
var obj
|
20634
|
+
var obj;
|
20013
20635
|
|
20014
20636
|
if (Namespace.PROCESSED) { return; }
|
20015
20637
|
|
@@ -20096,8 +20718,8 @@ define("ember-runtime/system/namespace",
|
|
20096
20718
|
__exports__["default"] = Namespace;
|
20097
20719
|
});
|
20098
20720
|
define("ember-runtime/system/native_array",
|
20099
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/
|
20100
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__,
|
20721
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/array","ember-runtime/mixins/array","ember-runtime/mixins/mutable_array","ember-runtime/mixins/observable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-runtime/copy","exports"],
|
20722
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __exports__) {
|
20101
20723
|
"use strict";
|
20102
20724
|
/**
|
20103
20725
|
@module ember
|
@@ -20108,18 +20730,17 @@ define("ember-runtime/system/native_array",
|
|
20108
20730
|
// Ember.EXTEND_PROTOTYPES
|
20109
20731
|
|
20110
20732
|
var get = __dependency2__.get;
|
20111
|
-
var
|
20112
|
-
var
|
20113
|
-
var
|
20114
|
-
var
|
20115
|
-
var
|
20116
|
-
var
|
20117
|
-
var
|
20118
|
-
var
|
20119
|
-
var
|
20120
|
-
var
|
20121
|
-
var
|
20122
|
-
var copy = __dependency12__["default"];
|
20733
|
+
var replace = __dependency3__._replace;
|
20734
|
+
var forEach = __dependency3__.forEach;
|
20735
|
+
var Mixin = __dependency4__.Mixin;
|
20736
|
+
var indexOf = __dependency5__.indexOf;
|
20737
|
+
var lastIndexOf = __dependency5__.lastIndexOf;
|
20738
|
+
var EmberArray = __dependency6__["default"];
|
20739
|
+
var MutableArray = __dependency7__["default"];
|
20740
|
+
var Observable = __dependency8__["default"];
|
20741
|
+
var Copyable = __dependency9__["default"];
|
20742
|
+
var FROZEN_ERROR = __dependency10__.FROZEN_ERROR;
|
20743
|
+
var copy = __dependency11__["default"];
|
20123
20744
|
|
20124
20745
|
// Add Ember.Array to Array.prototype. Remove methods with native
|
20125
20746
|
// implementations and supply some more optimized versions of generic methods
|
@@ -20274,16 +20895,19 @@ define("ember-runtime/system/native_array",
|
|
20274
20895
|
__exports__["default"] = NativeArray;
|
20275
20896
|
});
|
20276
20897
|
define("ember-runtime/system/object",
|
20277
|
-
["ember-runtime/system/core_object","ember-runtime/mixins/observable","exports"],
|
20278
|
-
function(__dependency1__, __dependency2__, __exports__) {
|
20898
|
+
["ember-metal/core","ember-runtime/system/core_object","ember-runtime/mixins/observable","ember-runtime/inject","exports"],
|
20899
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
|
20279
20900
|
"use strict";
|
20280
20901
|
/**
|
20281
20902
|
@module ember
|
20282
20903
|
@submodule ember-runtime
|
20283
20904
|
*/
|
20284
20905
|
|
20285
|
-
var
|
20286
|
-
|
20906
|
+
var Ember = __dependency1__["default"];
|
20907
|
+
// Ember.assert
|
20908
|
+
var CoreObject = __dependency2__["default"];
|
20909
|
+
var Observable = __dependency3__["default"];
|
20910
|
+
var validatePropertyInjections = __dependency4__.validatePropertyInjections;
|
20287
20911
|
|
20288
20912
|
/**
|
20289
20913
|
`Ember.Object` is the main base class for all Ember objects. It is a subclass
|
@@ -20300,6 +20924,22 @@ define("ember-runtime/system/object",
|
|
20300
20924
|
return "Ember.Object";
|
20301
20925
|
};
|
20302
20926
|
|
20927
|
+
if (Ember.FEATURES.isEnabled('ember-metal-injected-properties')) {
|
20928
|
+
EmberObject.reopen({
|
20929
|
+
/**
|
20930
|
+
Provides mixin-time validation for injected properties.
|
20931
|
+
|
20932
|
+
@private
|
20933
|
+
@method willMergeMixin
|
20934
|
+
*/
|
20935
|
+
willMergeMixin: function(props) {
|
20936
|
+
// Injection validations are a debugging aid only, so ensure that they are
|
20937
|
+
// not performed in production builds by invoking from an assertion
|
20938
|
+
Ember.assert("Injected properties are invalid", validatePropertyInjections(this.constructor, props));
|
20939
|
+
}
|
20940
|
+
});
|
20941
|
+
}
|
20942
|
+
|
20303
20943
|
__exports__["default"] = EmberObject;
|
20304
20944
|
});
|
20305
20945
|
define("ember-runtime/system/object_proxy",
|
@@ -20380,6 +21020,54 @@ define("ember-runtime/system/object_proxy",
|
|
20380
21020
|
|
20381
21021
|
__exports__["default"] = EmberObject.extend(_ProxyMixin);
|
20382
21022
|
});
|
21023
|
+
define("ember-runtime/system/service",
|
21024
|
+
["ember-runtime/system/object","ember-runtime/inject","exports"],
|
21025
|
+
function(__dependency1__, __dependency2__, __exports__) {
|
21026
|
+
"use strict";
|
21027
|
+
var Object = __dependency1__["default"];
|
21028
|
+
var createInjectionHelper = __dependency2__.createInjectionHelper;
|
21029
|
+
|
21030
|
+
var Service;
|
21031
|
+
|
21032
|
+
if (Ember.FEATURES.isEnabled('ember-metal-injected-properties')) {
|
21033
|
+
/**
|
21034
|
+
@class Service
|
21035
|
+
@namespace Ember
|
21036
|
+
@extends Ember.Object
|
21037
|
+
*/
|
21038
|
+
Service = Object.extend();
|
21039
|
+
|
21040
|
+
/**
|
21041
|
+
Creates a property that lazily looks up a service in the container. There
|
21042
|
+
are no restrictions as to what objects a service can be injected into.
|
21043
|
+
|
21044
|
+
Example:
|
21045
|
+
|
21046
|
+
```javascript
|
21047
|
+
App.ApplicationRoute = Ember.Route.extend({
|
21048
|
+
authManager: Ember.inject.service('auth'),
|
21049
|
+
|
21050
|
+
model: function() {
|
21051
|
+
return this.get('authManager').findCurrentUser();
|
21052
|
+
}
|
21053
|
+
});
|
21054
|
+
```
|
21055
|
+
|
21056
|
+
This example will create an `authManager` property on the application route
|
21057
|
+
that looks up the `auth` service in the container, making it easily
|
21058
|
+
accessible in the `model` hook.
|
21059
|
+
|
21060
|
+
@method inject.service
|
21061
|
+
@for Ember
|
21062
|
+
@param {String} name (optional) name of the service to inject, defaults to
|
21063
|
+
the property's name
|
21064
|
+
@return {Ember.InjectedProperty} injection descriptor instance
|
21065
|
+
*/
|
21066
|
+
createInjectionHelper('service');
|
21067
|
+
}
|
21068
|
+
|
21069
|
+
__exports__["default"] = Service;
|
21070
|
+
});
|
20383
21071
|
define("ember-runtime/system/set",
|
20384
21072
|
["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/is_none","ember-runtime/system/string","ember-runtime/system/core_object","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-metal/error","ember-metal/property_events","ember-metal/mixin","ember-metal/computed","exports"],
|
20385
21073
|
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __exports__) {
|
@@ -21168,12 +21856,11 @@ define("ember-runtime/system/string",
|
|
21168
21856
|
__exports__.capitalize = capitalize;
|
21169
21857
|
});
|
21170
21858
|
define("ember-runtime/system/subarray",
|
21171
|
-
["ember-metal/
|
21172
|
-
function(__dependency1__, __dependency2__,
|
21859
|
+
["ember-metal/error","ember-metal/enumerable_utils","exports"],
|
21860
|
+
function(__dependency1__, __dependency2__, __exports__) {
|
21173
21861
|
"use strict";
|
21174
|
-
var
|
21175
|
-
var
|
21176
|
-
var EnumerableUtils = __dependency3__["default"];
|
21862
|
+
var EmberError = __dependency1__["default"];
|
21863
|
+
var EnumerableUtils = __dependency2__["default"];
|
21177
21864
|
|
21178
21865
|
var RETAIN = 'r';
|
21179
21866
|
var FILTER = 'f';
|
@@ -21405,7 +22092,7 @@ define("ember-runtime/system/tracked_array",
|
|
21405
22092
|
var arrayOperation = match.operation;
|
21406
22093
|
var arrayOperationIndex = match.index;
|
21407
22094
|
var arrayOperationRangeStart = match.rangeStart;
|
21408
|
-
var composeIndex,
|
22095
|
+
var composeIndex, newArrayOperation;
|
21409
22096
|
|
21410
22097
|
newArrayOperation = new ArrayOperation(INSERT, count, newItems);
|
21411
22098
|
|
@@ -21438,7 +22125,6 @@ define("ember-runtime/system/tracked_array",
|
|
21438
22125
|
if (count < 1) { return; }
|
21439
22126
|
|
21440
22127
|
var match = this._findArrayOperation(index);
|
21441
|
-
var arrayOperation = match.operation;
|
21442
22128
|
var arrayOperationIndex = match.index;
|
21443
22129
|
var arrayOperationRangeStart = match.rangeStart;
|
21444
22130
|
var newArrayOperation, composeIndex;
|