ember-source 1.8.1 → 1.9.0.alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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;
|