marionette-rails 1.2.3 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 095407705e706cb781ed2cf210fa1ffa7f332444
|
4
|
+
data.tar.gz: b1e35e47d65c7950ce69a1af26efdf1e9f55415a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78771090393b080fe7889e8083d01c0b672991fa320314fe4e9c91db24fc0ac7aa27fd91731bc57faf5fdcda33132338bdc0a6a57b1cf33e546292290ec59eb9
|
7
|
+
data.tar.gz: d42e1bc887a1e13c66f1699b302cdf573fef354d9f35aba76b0562d2bf420058df3893d0199e863b0e1a253b38b852ee20c0b92683a696ec0d4f18000100454b
|
@@ -1,6 +1,6 @@
|
|
1
1
|
// MarionetteJS (Backbone.Marionette)
|
2
2
|
// ----------------------------------
|
3
|
-
// v1.
|
3
|
+
// v1.3.0
|
4
4
|
//
|
5
5
|
// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC.
|
6
6
|
// Distributed under MIT license
|
@@ -576,8 +576,8 @@ Marionette.MonitorDOMRefresh = (function(){
|
|
576
576
|
// Marionette.bindEntityEvents & unbindEntityEvents
|
577
577
|
// ---------------------------
|
578
578
|
//
|
579
|
-
// These methods are used to bind/unbind a backbone "entity" (collection/model)
|
580
|
-
// to methods on a target object.
|
579
|
+
// These methods are used to bind/unbind a backbone "entity" (collection/model)
|
580
|
+
// to methods on a target object.
|
581
581
|
//
|
582
582
|
// The first parameter, `target`, must have a `listenTo` method from the
|
583
583
|
// EventBinder object.
|
@@ -587,7 +587,7 @@ Marionette.MonitorDOMRefresh = (function(){
|
|
587
587
|
//
|
588
588
|
// The third parameter is a hash of { "event:name": "eventHandler" }
|
589
589
|
// configuration. Multiple handlers can be separated by a space. A
|
590
|
-
// function can be supplied instead of a string handler name.
|
590
|
+
// function can be supplied instead of a string handler name.
|
591
591
|
|
592
592
|
(function(Marionette){
|
593
593
|
"use strict";
|
@@ -629,7 +629,7 @@ Marionette.MonitorDOMRefresh = (function(){
|
|
629
629
|
target.stopListening(entity, evt, method, target);
|
630
630
|
}
|
631
631
|
|
632
|
-
|
632
|
+
|
633
633
|
// generic looping function
|
634
634
|
function iterateEvents(target, entity, bindings, functionCallback, stringCallback){
|
635
635
|
if (!entity || !bindings) { return; }
|
@@ -642,7 +642,7 @@ Marionette.MonitorDOMRefresh = (function(){
|
|
642
642
|
// iterate the bindings and bind them
|
643
643
|
_.each(bindings, function(methods, evt){
|
644
644
|
|
645
|
-
// allow for a function as the handler,
|
645
|
+
// allow for a function as the handler,
|
646
646
|
// or a list of event names as a string
|
647
647
|
if (_.isFunction(methods)){
|
648
648
|
functionCallback(target, entity, evt, methods);
|
@@ -652,7 +652,7 @@ Marionette.MonitorDOMRefresh = (function(){
|
|
652
652
|
|
653
653
|
});
|
654
654
|
}
|
655
|
-
|
655
|
+
|
656
656
|
// Export Public API
|
657
657
|
Marionette.bindEntityEvents = function(target, entity, bindings){
|
658
658
|
iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings);
|
@@ -679,7 +679,7 @@ Marionette.Callbacks = function(){
|
|
679
679
|
_.extend(Marionette.Callbacks.prototype, {
|
680
680
|
|
681
681
|
// Add a callback to be executed. Callbacks added here are
|
682
|
-
// guaranteed to execute, even if they are added after the
|
682
|
+
// guaranteed to execute, even if they are added after the
|
683
683
|
// `run` method is called.
|
684
684
|
add: function(callback, contextOverride){
|
685
685
|
this._callbacks.push({cb: callback, ctx: contextOverride});
|
@@ -690,8 +690,8 @@ _.extend(Marionette.Callbacks.prototype, {
|
|
690
690
|
});
|
691
691
|
},
|
692
692
|
|
693
|
-
// Run all registered callbacks with the context specified.
|
694
|
-
// Additional callbacks can be added after this has been run
|
693
|
+
// Run all registered callbacks with the context specified.
|
694
|
+
// Additional callbacks can be added after this has been run
|
695
695
|
// and they will still be executed.
|
696
696
|
run: function(options, context){
|
697
697
|
this._deferred.resolve(context, options);
|
@@ -703,7 +703,7 @@ _.extend(Marionette.Callbacks.prototype, {
|
|
703
703
|
var callbacks = this._callbacks;
|
704
704
|
this._deferred = Marionette.$.Deferred();
|
705
705
|
this._callbacks = [];
|
706
|
-
|
706
|
+
|
707
707
|
_.each(callbacks, function(cb){
|
708
708
|
this.add(cb.cb, cb.ctx);
|
709
709
|
}, this);
|
@@ -740,7 +740,7 @@ _.extend(Marionette.Controller.prototype, Backbone.Events, {
|
|
740
740
|
}
|
741
741
|
});
|
742
742
|
|
743
|
-
// Region
|
743
|
+
// Region
|
744
744
|
// ------
|
745
745
|
//
|
746
746
|
// Manage the visual regions of your composite application. See
|
@@ -795,19 +795,19 @@ _.extend(Marionette.Region, {
|
|
795
795
|
}
|
796
796
|
|
797
797
|
var selector, RegionType;
|
798
|
-
|
798
|
+
|
799
799
|
// get the selector for the region
|
800
|
-
|
800
|
+
|
801
801
|
if (regionIsString) {
|
802
802
|
selector = regionConfig;
|
803
|
-
}
|
803
|
+
}
|
804
804
|
|
805
805
|
if (regionConfig.selector) {
|
806
806
|
selector = regionConfig.selector;
|
807
807
|
}
|
808
808
|
|
809
809
|
// get the type for the region
|
810
|
-
|
810
|
+
|
811
811
|
if (regionIsType){
|
812
812
|
RegionType = regionConfig;
|
813
813
|
}
|
@@ -819,7 +819,7 @@ _.extend(Marionette.Region, {
|
|
819
819
|
if (regionConfig.regionType) {
|
820
820
|
RegionType = regionConfig.regionType;
|
821
821
|
}
|
822
|
-
|
822
|
+
|
823
823
|
// build the region instance
|
824
824
|
var region = new RegionType({
|
825
825
|
el: selector
|
@@ -874,7 +874,7 @@ _.extend(Marionette.Region.prototype, Backbone.Events, {
|
|
874
874
|
if (isDifferentView || isViewClosed) {
|
875
875
|
this.open(view);
|
876
876
|
}
|
877
|
-
|
877
|
+
|
878
878
|
this.currentView = view;
|
879
879
|
|
880
880
|
Marionette.triggerMethod.call(this, "show", view);
|
@@ -914,8 +914,8 @@ _.extend(Marionette.Region.prototype, Backbone.Events, {
|
|
914
914
|
delete this.currentView;
|
915
915
|
},
|
916
916
|
|
917
|
-
// Attach an existing view to the region. This
|
918
|
-
// will not call `render` or `onShow` for the new view,
|
917
|
+
// Attach an existing view to the region. This
|
918
|
+
// will not call `render` or `onShow` for the new view,
|
919
919
|
// and will not replace the current HTML for the `el`
|
920
920
|
// of the region.
|
921
921
|
attachView: function(view){
|
@@ -1398,8 +1398,8 @@ Marionette.View = Backbone.View.extend({
|
|
1398
1398
|
// with underscore.js templates, serializing the view's model or collection,
|
1399
1399
|
// and calling several methods on extended views, such as `onRender`.
|
1400
1400
|
Marionette.ItemView = Marionette.View.extend({
|
1401
|
-
|
1402
|
-
// Setting up the inheritance chain which allows changes to
|
1401
|
+
|
1402
|
+
// Setting up the inheritance chain which allows changes to
|
1403
1403
|
// Marionette.View.prototype.constructor which allows overriding
|
1404
1404
|
constructor: function(){
|
1405
1405
|
Marionette.View.prototype.constructor.apply(this, slice(arguments));
|
@@ -1480,6 +1480,25 @@ Marionette.CollectionView = Marionette.View.extend({
|
|
1480
1480
|
Marionette.View.prototype.constructor.apply(this, slice(arguments));
|
1481
1481
|
|
1482
1482
|
this._initialEvents();
|
1483
|
+
this.initRenderBuffer();
|
1484
|
+
},
|
1485
|
+
|
1486
|
+
// Instead of inserting elements one by one into the page,
|
1487
|
+
// it's much more performant to insert elements into a document
|
1488
|
+
// fragment and then insert that document fragment into the page
|
1489
|
+
initRenderBuffer: function() {
|
1490
|
+
this.elBuffer = document.createDocumentFragment();
|
1491
|
+
},
|
1492
|
+
|
1493
|
+
startBuffering: function() {
|
1494
|
+
this.initRenderBuffer();
|
1495
|
+
this.isBuffering = true;
|
1496
|
+
},
|
1497
|
+
|
1498
|
+
endBuffering: function() {
|
1499
|
+
this.appendBuffer(this, this.elBuffer);
|
1500
|
+
this.initRenderBuffer();
|
1501
|
+
this.isBuffering = false;
|
1483
1502
|
},
|
1484
1503
|
|
1485
1504
|
// Configured the initial events that the collection view
|
@@ -1538,6 +1557,8 @@ Marionette.CollectionView = Marionette.View.extend({
|
|
1538
1557
|
// more control over events being triggered, around the rendering
|
1539
1558
|
// process
|
1540
1559
|
_renderChildren: function(){
|
1560
|
+
this.startBuffering();
|
1561
|
+
|
1541
1562
|
this.closeEmptyView();
|
1542
1563
|
this.closeChildren();
|
1543
1564
|
|
@@ -1546,6 +1567,8 @@ Marionette.CollectionView = Marionette.View.extend({
|
|
1546
1567
|
} else {
|
1547
1568
|
this.showEmptyView();
|
1548
1569
|
}
|
1570
|
+
|
1571
|
+
this.endBuffering();
|
1549
1572
|
},
|
1550
1573
|
|
1551
1574
|
// Internal method to loop through each item in the
|
@@ -1608,9 +1631,9 @@ Marionette.CollectionView = Marionette.View.extend({
|
|
1608
1631
|
itemViewOptions = itemViewOptions.call(this, item, index);
|
1609
1632
|
}
|
1610
1633
|
|
1611
|
-
// build the view
|
1634
|
+
// build the view
|
1612
1635
|
var view = this.buildItemView(item, ItemView, itemViewOptions);
|
1613
|
-
|
1636
|
+
|
1614
1637
|
// set up the child view event forwarding
|
1615
1638
|
this.addChildViewEventForwarding(view);
|
1616
1639
|
|
@@ -1696,11 +1719,26 @@ Marionette.CollectionView = Marionette.View.extend({
|
|
1696
1719
|
}
|
1697
1720
|
},
|
1698
1721
|
|
1722
|
+
// You might need to override this if you've overridden appendHtml
|
1723
|
+
appendBuffer: function(collectionView, buffer) {
|
1724
|
+
collectionView.$el.append(buffer);
|
1725
|
+
},
|
1726
|
+
|
1699
1727
|
// Append the HTML to the collection's `el`.
|
1700
1728
|
// Override this method to do something other
|
1701
1729
|
// then `.append`.
|
1702
1730
|
appendHtml: function(collectionView, itemView, index){
|
1703
|
-
collectionView
|
1731
|
+
if (collectionView.isBuffering) {
|
1732
|
+
// buffering happens on reset events and initial renders
|
1733
|
+
// in order to reduce the number of inserts into the
|
1734
|
+
// document, which are expensive.
|
1735
|
+
collectionView.elBuffer.appendChild(itemView.el);
|
1736
|
+
}
|
1737
|
+
else {
|
1738
|
+
// If we've already rendered the main collection, just
|
1739
|
+
// append the new items directly into the element.
|
1740
|
+
collectionView.$el.append(itemView.el);
|
1741
|
+
}
|
1704
1742
|
},
|
1705
1743
|
|
1706
1744
|
// Internal method to set up the `children` object for
|
@@ -1833,15 +1871,30 @@ Marionette.CompositeView = Marionette.CollectionView.extend({
|
|
1833
1871
|
return Marionette.Renderer.render(template, data);
|
1834
1872
|
},
|
1835
1873
|
|
1874
|
+
|
1875
|
+
// You might need to override this if you've overridden appendHtml
|
1876
|
+
appendBuffer: function(compositeView, buffer) {
|
1877
|
+
var $container = this.getItemViewContainer(compositeView);
|
1878
|
+
$container.append(buffer);
|
1879
|
+
},
|
1880
|
+
|
1836
1881
|
// Appends the `el` of itemView instances to the specified
|
1837
1882
|
// `itemViewContainer` (a jQuery selector). Override this method to
|
1838
1883
|
// provide custom logic of how the child item view instances have their
|
1839
1884
|
// HTML appended to the composite view instance.
|
1840
|
-
appendHtml: function(
|
1841
|
-
|
1842
|
-
|
1885
|
+
appendHtml: function(compositeView, itemView, index){
|
1886
|
+
if (compositeView.isBuffering) {
|
1887
|
+
compositeView.elBuffer.appendChild(itemView.el);
|
1888
|
+
}
|
1889
|
+
else {
|
1890
|
+
// If we've already rendered the main collection, just
|
1891
|
+
// append the new items directly into the element.
|
1892
|
+
var $container = this.getItemViewContainer(compositeView);
|
1893
|
+
$container.append(itemView.el);
|
1894
|
+
}
|
1843
1895
|
},
|
1844
1896
|
|
1897
|
+
|
1845
1898
|
// Internal method to ensure an `$itemViewContainer` exists, for the
|
1846
1899
|
// `appendHtml` method to use.
|
1847
1900
|
getItemViewContainer: function(containerView){
|
@@ -1887,7 +1940,7 @@ Marionette.CompositeView = Marionette.CollectionView.extend({
|
|
1887
1940
|
// Used for composite view management and sub-application areas.
|
1888
1941
|
Marionette.Layout = Marionette.ItemView.extend({
|
1889
1942
|
regionType: Marionette.Region,
|
1890
|
-
|
1943
|
+
|
1891
1944
|
// Ensure the regions are available when the `initialize` method
|
1892
1945
|
// is called.
|
1893
1946
|
constructor: function (options) {
|
@@ -1895,7 +1948,7 @@ Marionette.Layout = Marionette.ItemView.extend({
|
|
1895
1948
|
|
1896
1949
|
this._firstRender = true;
|
1897
1950
|
this._initializeRegions(options);
|
1898
|
-
|
1951
|
+
|
1899
1952
|
Marionette.ItemView.prototype.constructor.call(this, options);
|
1900
1953
|
},
|
1901
1954
|
|
@@ -1906,7 +1959,7 @@ Marionette.Layout = Marionette.ItemView.extend({
|
|
1906
1959
|
render: function(){
|
1907
1960
|
|
1908
1961
|
if (this.isClosed){
|
1909
|
-
// a previously closed layout means we need to
|
1962
|
+
// a previously closed layout means we need to
|
1910
1963
|
// completely re-initialize the regions
|
1911
1964
|
this._initializeRegions();
|
1912
1965
|
}
|
@@ -1915,7 +1968,7 @@ Marionette.Layout = Marionette.ItemView.extend({
|
|
1915
1968
|
// reset the regions
|
1916
1969
|
this._firstRender = false;
|
1917
1970
|
} else if (!this.isClosed){
|
1918
|
-
// If this is not the first render call, then we need to
|
1971
|
+
// If this is not the first render call, then we need to
|
1919
1972
|
// re-initializing the `el` for each region
|
1920
1973
|
this._reInitializeRegions();
|
1921
1974
|
}
|
@@ -1966,7 +2019,7 @@ Marionette.Layout = Marionette.ItemView.extend({
|
|
1966
2019
|
},
|
1967
2020
|
|
1968
2021
|
// Internal method to initialize the regions that have been defined in a
|
1969
|
-
// `regions` attribute on this layout.
|
2022
|
+
// `regions` attribute on this layout.
|
1970
2023
|
_initializeRegions: function (options) {
|
1971
2024
|
var regions;
|
1972
2025
|
this._initRegionManager();
|
@@ -2123,7 +2176,7 @@ _.extend(Marionette.Application.prototype, Backbone.Events, {
|
|
2123
2176
|
this.triggerMethod("start", options);
|
2124
2177
|
},
|
2125
2178
|
|
2126
|
-
// Add regions to your app.
|
2179
|
+
// Add regions to your app.
|
2127
2180
|
// Accepts a hash of named strings or Region objects
|
2128
2181
|
// addRegions({something: "#someRegion"})
|
2129
2182
|
// addRegions({something: Region.extend({el: "#someRegion"}) });
|
@@ -2142,7 +2195,7 @@ _.extend(Marionette.Application.prototype, Backbone.Events, {
|
|
2142
2195
|
removeRegion: function(region) {
|
2143
2196
|
this._regionManager.removeRegion(region);
|
2144
2197
|
},
|
2145
|
-
|
2198
|
+
|
2146
2199
|
// Provides alternative access to regions
|
2147
2200
|
// Accepts the region name
|
2148
2201
|
// getRegion('main')
|
@@ -2340,7 +2393,7 @@ _.extend(Marionette.Module, {
|
|
2340
2393
|
},
|
2341
2394
|
|
2342
2395
|
_addModuleDefinition: function(parentModule, module, def, args){
|
2343
|
-
var fn;
|
2396
|
+
var fn;
|
2344
2397
|
var startWithParent;
|
2345
2398
|
|
2346
2399
|
if (_.isFunction(def)){
|
@@ -2352,7 +2405,7 @@ _.extend(Marionette.Module, {
|
|
2352
2405
|
// if an object is supplied
|
2353
2406
|
fn = def.define;
|
2354
2407
|
startWithParent = def.startWithParent;
|
2355
|
-
|
2408
|
+
|
2356
2409
|
} else {
|
2357
2410
|
// if nothing is supplied
|
2358
2411
|
startWithParent = true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lib/backbone.marionette.min.js","sources":["backbone.marionette.js"],"names":["Backbone","ChildViewContainer","_","Container","views","this","_views","_indexByModel","_indexByCustom","_updateLength","each","add","extend","prototype","view","customIndex","viewCid","cid","model","findByModel","findByModelCid","modelCid","findByCid","findByCustom","index","findByIndex","values","remove","any","key","call","method","apply","tail","arguments","args","isFunction","length","size","methods","concat","toArray","Wreqr","Marionette","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","name","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","Error","Array","slice","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","storage","StorageType","RequestResponse","request","EventAggregator","EA","global","protoSlice","throwError","message","error","$","getOption","target","optionName","value","undefined","triggerMethod","getEventName","match","prefix","eventName","toUpperCase","splitter","event","methodName","replace","MonitorDOMRefresh","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","listenTo","bindFromStrings","entity","evt","methodNames","split","bindToFunction","unbindFromStrings","stopListening","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","Callbacks","_deferred","Deferred","_callbacks","contextOverride","cb","ctx","done","run","resolve","reset","callbacks","Controller","close","unbind","Region","el","err","buildRegion","regionConfig","defaultRegionType","regionIsString","regionSelectorIsString","selector","regionTypeIsUndefined","regionType","regionIsType","RegionType","region","parentEl","getEl","find","show","ensureEl","isViewClosed","isClosed","isUndefined","$el","isDifferentView","currentView","render","open","empty","append","attachView","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","isString","hasSelector","_store","get","removeRegion","_remove","removeRegions","closeRegions","_setLength","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","i","compiledTemplate","template","loadTemplate","compileTemplate","html","rawTemplate","Renderer","data","templateFunc","View","bindAll","onShowCalled","getTemplate","mixinTemplateHelpers","templateHelpers","configureTriggers","triggers","triggerEvents","result","hasOptions","e","prevent","preventDefault","stop","stopPropagation","shouldPrevent","shouldStop","collection","delegateEvents","events","_delegateDOMEvents","combinedEvents","undelegateEvents","shouldClose","unbindUIElements","bindUIElements","ui","_uiBindings","keys","ItemView","serializeData","toJSON","items","CollectionView","itemViewEventPrefix","_initChildViewStorage","_initialEvents","addChildView","removeItemView","item","closeEmptyView","getItemView","indexOf","addItemView","children","child","triggerBeforeRender","triggerRendered","_renderChildren","closeChildren","showCollection","showEmptyView","EmptyView","getEmptyView","_showingEmptyView","itemView","itemViewOptions","buildItemView","addChildViewEventForwarding","renderItemView","splice","appendHtml","ItemViewType","removeChildView","checkEmpty","collectionView","CompositeView","once","isRendered","resetItemViewContainer","renderModel","cv","iv","$container","getItemViewContainer","containerView","$itemViewContainer","container","itemViewContainer","Layout","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","_buildRegions","that","_initRegionManager","AppRouter","Router","appRoutes","controller","_getController","processAppRoutes","appRoute","route","_addAppRoute","routeNames","reverse","bind","Application","_initCallbacks","vent","reqres","submodules","addInitializer","initializer","start","_regionManager","getRegion","module","unshift","Module","create","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","addDefinition","moduleDefinition","customArgs","_runModuleDefinition","flatten","moduleNames","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","fn","define","startWithParentIsConfigured"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"lib/backbone.marionette.min.js","sources":["backbone.marionette.js"],"names":["Backbone","ChildViewContainer","_","Container","views","this","_views","_indexByModel","_indexByCustom","_updateLength","each","add","extend","prototype","view","customIndex","viewCid","cid","model","findByModel","findByModelCid","modelCid","findByCid","findByCustom","index","findByIndex","values","remove","any","key","call","method","apply","tail","arguments","args","isFunction","length","size","methods","concat","toArray","Wreqr","Marionette","Handlers","options","_wreqrHandlers","initialize","Model","Events","setHandlers","handlers","handler","name","context","isObject","callback","setHandler","config","trigger","hasHandler","getHandler","Error","Array","slice","removeHandler","removeAllHandlers","CommandStorage","_commands","getCommands","commandName","commands","command","instances","addCommand","push","clearCommands","Commands","storageType","constructor","_initializeStorage","on","_executeCommands","execute","storage","StorageType","RequestResponse","request","EventAggregator","EA","global","protoSlice","throwError","message","error","$","getOption","target","optionName","value","undefined","triggerMethod","getEventName","match","prefix","eventName","toUpperCase","splitter","event","methodName","replace","MonitorDOMRefresh","handleShow","_isShown","triggerDOMRefresh","handleRender","_isRendered","listenTo","bindFromStrings","entity","evt","methodNames","split","bindToFunction","unbindFromStrings","stopListening","unbindToFunction","iterateEvents","bindings","functionCallback","stringCallback","bindEntityEvents","unbindEntityEvents","Callbacks","_deferred","Deferred","_callbacks","contextOverride","cb","ctx","done","run","resolve","reset","callbacks","Controller","close","unbind","Region","el","err","buildRegion","regionConfig","defaultRegionType","regionIsString","regionSelectorIsString","selector","regionTypeIsUndefined","regionType","regionIsType","RegionType","region","parentEl","getEl","find","show","ensureEl","isViewClosed","isClosed","isUndefined","$el","isDifferentView","currentView","render","open","empty","append","attachView","RegionManager","_regions","addRegions","regionDefinitions","defaults","regions","definition","addRegion","isString","hasSelector","_store","get","removeRegion","_remove","removeRegions","closeRegions","_setLength","TemplateCache","templateId","templateCaches","cachedTemplate","load","clear","i","compiledTemplate","template","loadTemplate","compileTemplate","html","rawTemplate","Renderer","data","templateFunc","View","bindAll","onShowCalled","getTemplate","mixinTemplateHelpers","templateHelpers","configureTriggers","triggers","triggerEvents","result","hasOptions","e","prevent","preventDefault","stop","stopPropagation","shouldPrevent","shouldStop","collection","delegateEvents","events","_delegateDOMEvents","combinedEvents","undelegateEvents","shouldClose","unbindUIElements","bindUIElements","ui","_uiBindings","keys","ItemView","serializeData","toJSON","items","CollectionView","itemViewEventPrefix","_initChildViewStorage","_initialEvents","initRenderBuffer","elBuffer","document","createDocumentFragment","startBuffering","isBuffering","endBuffering","appendBuffer","addChildView","removeItemView","item","closeEmptyView","getItemView","indexOf","addItemView","children","child","triggerBeforeRender","triggerRendered","_renderChildren","closeChildren","showCollection","showEmptyView","EmptyView","getEmptyView","_showingEmptyView","itemView","itemViewOptions","buildItemView","addChildViewEventForwarding","renderItemView","splice","appendHtml","ItemViewType","removeChildView","checkEmpty","collectionView","buffer","appendChild","CompositeView","once","isRendered","resetItemViewContainer","renderModel","compositeView","$container","getItemViewContainer","containerView","$itemViewContainer","container","itemViewContainer","Layout","_firstRender","_initializeRegions","_reInitializeRegions","regionManager","_buildRegions","that","_initRegionManager","AppRouter","Router","appRoutes","controller","_getController","processAppRoutes","appRoute","route","_addAppRoute","routeNames","reverse","bind","Application","_initCallbacks","vent","reqres","submodules","addInitializer","initializer","start","_regionManager","getRegion","module","unshift","Module","create","moduleName","app","_setupInitializersAndFinalizers","startWithParent","_initializerCallbacks","addFinalizer","_finalizerCallbacks","_isInitialized","mod","addDefinition","moduleDefinition","customArgs","_runModuleDefinition","flatten","moduleNames","moduleDefinitions","parentModule","_getModule","_addModuleDefinition","def","fn","define","startWithParentIsConfigured"],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
// MarionetteJS (Backbone.Marionette)
|
2
2
|
// ----------------------------------
|
3
|
-
// v1.
|
3
|
+
// v1.3.0
|
4
4
|
//
|
5
5
|
// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC.
|
6
6
|
// Distributed under MIT license
|
@@ -17,5 +17,5 @@
|
|
17
17
|
* https://github.com/marionettejs/backbone.wreqr/
|
18
18
|
*/
|
19
19
|
|
20
|
-
Backbone.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength()},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength()},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(Backbone,_),Backbone.Wreqr=function(a,b,c){"use strict";var d={};return d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(!b)throw new Error("Handler not found for '"+a+"'");return function(){var a=Array.prototype.slice.apply(arguments);return b.callback.apply(b.context,a)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,c),d.CommandStorage=function(){var b=function(a){this.options=a,this._commands={},c.isFunction(this.initialize)&&this.initialize(a)};return c.extend(b.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),b}(),d.Commands=function(a){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var c=Array.prototype.slice.call(arguments);a.Handlers.prototype.constructor.apply(this,c)},execute:function(a,b){a=arguments[0],b=Array.prototype.slice.call(arguments,1),this.hasHandler(a)?this.getHandler(a).apply(this,b):this.storage.addCommand(a,b)},_executeCommands:function(a,b,d){var e=this.storage.getCommands(a);c.each(e.instances,function(a){b.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var b,d=a.storageType||this.storageType;b=c.isFunction(d)?new d:d,this.storage=b}})}(d),d.RequestResponse=function(a){return a.Handlers.extend({request:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return this.getHandler(a).apply(this,b)}})}(d),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,c),d}(Backbone,Backbone.Marionette,_);var Marionette=function(a,b,c){"use strict";function d(a){return g.call(a)}function e(a,b){var c=new Error(a);throw c.name=b||"Error",c}var f={};b.Marionette=f,f.$=b.$;var g=Array.prototype.slice;return f.extend=b.Model.extend,f.getOption=function(a,b){if(a&&b){var c;return c=a.options&&b in a.options&&void 0!==a.options[b]?a.options[b]:a[b]}},f.triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi,d=function(d){var e="on"+d.replace(b,a),f=this[e];return c.isFunction(this.trigger)&&this.trigger.apply(this,arguments),c.isFunction(f)?f.apply(this,c.tail(arguments)):void 0};return d}(),f.MonitorDOMRefresh=function(){function a(a){a._isShown=!0,d(a)}function b(a){a._isRendered=!0,d(a)}function d(a){a._isShown&&a._isRendered&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}return function(c){c.listenTo(c,"show",function(){a(c)}),c.listenTo(c,"render",function(){b(c)})}}(),function(a){function b(a,b,d,f){var g=f.split(/\s+/);c.each(g,function(c){var f=a[c];f||e("Method '"+c+"' was configured as an event handler, but does not exist."),a.listenTo(b,d,f,a)})}function d(a,b,c,d){a.listenTo(b,c,d,a)}function f(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e,a)})}function g(a,b,c,d){a.stopListening(b,c,d,a)}function h(a,b,d,e,f){b&&d&&(c.isFunction(d)&&(d=d.call(a)),c.each(d,function(d,g){c.isFunction(d)?e(a,b,g,d):f(a,b,g,d)}))}a.bindEntityEvents=function(a,c,e){h(a,c,e,d,b)},a.unbindEntityEvents=function(a,b,c){h(a,b,c,g,f)}}(f),f.Callbacks=function(){this._deferred=f.$.Deferred(),this._callbacks=[]},c.extend(f.Callbacks.prototype,{add:function(a,b){this._callbacks.push({cb:a,ctx:b}),this._deferred.done(function(c,d){b&&(c=b),a.call(c,d)})},run:function(a,b){this._deferred.resolve(b,a)},reset:function(){var a=this._callbacks;this._deferred=f.$.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),f.Controller=function(a){this.triggerMethod=f.triggerMethod,this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},f.Controller.extend=f.extend,c.extend(f.Controller.prototype,b.Events,{close:function(){this.stopListening(),this.triggerMethod("close"),this.unbind()}}),f.Region=function(a){if(this.options=a||{},this.el=f.getOption(this,"el"),!this.el){var b=new Error("An 'el' must be specified for a region.");throw b.name="NoElError",b}if(this.initialize){var c=Array.prototype.slice.apply(arguments);this.initialize.apply(this,c)}},c.extend(f.Region,{buildRegion:function(a,b){var d="string"==typeof a,e="string"==typeof a.selector,f="undefined"==typeof a.regionType,g="function"==typeof a;if(!g&&!d&&!e)throw new Error("Region must be specified as a Region type, a selector string or an object with selector property");var h,i;d&&(h=a),a.selector&&(h=a.selector),g&&(i=a),!g&&f&&(i=b),a.regionType&&(i=a.regionType);var j=new i({el:h});return a.parentEl&&(j.getEl=function(b){var d=a.parentEl;return c.isFunction(d)&&(d=d()),d.find(b)}),j}}),c.extend(f.Region.prototype,b.Events,{show:function(a){this.ensureEl();var b=a.isClosed||c.isUndefined(a.$el),d=a!==this.currentView;d&&this.close(),a.render(),(d||b)&&this.open(a),this.currentView=a,f.triggerMethod.call(this,"show",a),f.triggerMethod.call(a,"show")},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(a){return f.$(a)},open:function(a){this.$el.empty().append(a.el)},close:function(){var a=this.currentView;a&&!a.isClosed&&(a.close?a.close():a.remove&&a.remove(),f.triggerMethod.call(this,"close"),delete this.currentView)},attachView:function(a){this.currentView=a},reset:function(){this.close(),delete this.$el}}),f.Region.extend=f.extend,f.RegionManager=function(a){var b=a.Controller.extend({constructor:function(b){this._regions={},a.Controller.prototype.constructor.call(this,b)},addRegions:function(a,b){var d={};return c.each(a,function(a,e){"string"==typeof a&&(a={selector:a}),a.selector&&(a=c.defaults({},a,b));var f=this.addRegion(e,a);d[e]=f},this),d},addRegion:function(b,d){var e,f=c.isObject(d),g=c.isString(d),h=!!d.selector;return e=g||f&&h?a.Region.buildRegion(d,a.Region):c.isFunction(d)?a.Region.buildRegion(d,a.Region):d,this._store(b,e),this.triggerMethod("region:add",b,e),e},get:function(a){return this._regions[a]},removeRegion:function(a){var b=this._regions[a];this._remove(a,b)},removeRegions:function(){c.each(this._regions,function(a,b){this._remove(b,a)},this)},closeRegions:function(){c.each(this._regions,function(a){a.close()},this)},close:function(){this.removeRegions();var b=Array.prototype.slice.call(arguments);a.Controller.prototype.close.apply(this,b)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){b.close(),delete this._regions[a],this._setLength(),this.triggerMethod("region:remove",a,b)},_setLength:function(){this.length=c.size(this._regions)}}),d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return c.each(d,function(a){b.prototype[a]=function(){var b=c.values(this._regions),d=[b].concat(c.toArray(arguments));return c[a].apply(c,d)}}),b}(f),f.TemplateCache=function(a){this.templateId=a},c.extend(f.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new f.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=d(arguments),c=b.length;if(c>0)for(a=0;c>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(f.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var b=f.$(a).html();return b&&0!==b.length||e("Could not find template: '"+a+"'","NoTemplateError"),b},compileTemplate:function(a){return c.template(a)}}),f.Renderer={render:function(a,b){if(!a){var c=new Error("Cannot render the template since it's false, null or undefined.");throw c.name="TemplateNotFoundError",c}var d;return d="function"==typeof a?a:f.TemplateCache.get(a),d(b)}},f.View=b.View.extend({constructor:function(a){c.bindAll(this,"render");var d=Array.prototype.slice.apply(arguments);this.options=a||{},b.View.prototype.constructor.apply(this,d),f.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled,this)},triggerMethod:f.triggerMethod,getTemplate:function(){return f.getOption(this,"template")},mixinTemplateHelpers:function(a){a=a||{};var b=f.getOption(this,"templateHelpers");return c.isFunction(b)&&(b=b.call(this)),c.extend(a,b)},configureTriggers:function(){if(this.triggers){var a={},b=c.result(this,"triggers");return c.each(b,function(b,d){var e=c.isObject(b),f=e?b.event:b;a[d]=function(a){if(a){var c=a.preventDefault,d=a.stopPropagation,g=e?b.preventDefault:c,h=e?b.stopPropagation:d;g&&c&&c.apply(a),h&&d&&d.apply(a)}var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(f,i)}},this),a}},delegateEvents:function(a){this._delegateDOMEvents(a),f.bindEntityEvents(this,this.model,f.getOption(this,"modelEvents")),f.bindEntityEvents(this,this.collection,f.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(a){a=a||this.events,c.isFunction(a)&&(a=a.call(this));var d={},e=this.configureTriggers();c.extend(d,a,e),b.View.prototype.delegateEvents.call(this,d)},undelegateEvents:function(){var a=Array.prototype.slice.call(arguments);b.View.prototype.undelegateEvents.apply(this,a),f.unbindEntityEvents(this,this.model,f.getOption(this,"modelEvents")),f.unbindEntityEvents(this,this.collection,f.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var a=this.triggerMethod("before:close");a!==!1&&(this.isClosed=!0,this.triggerMethod("close"),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(c.keys(a),function(b){var c=a[b];this.ui[b]=this.$(c)},this)}},unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),f.ItemView=f.View.extend({constructor:function(){f.View.prototype.constructor.apply(this,d(arguments))},serializeData:function(){var a={};return this.model?a=this.model.toJSON():this.collection&&(a={items:this.collection.toJSON()}),a},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var a=this.serializeData();a=this.mixinTemplateHelpers(a);var b=this.getTemplate(),c=f.Renderer.render(b,a);return this.$el.html(c),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),f.View.prototype.close.apply(this,d(arguments)),this.triggerMethod("item:closed"))}}),f.CollectionView=f.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),f.View.prototype.constructor.apply(this,d(arguments)),this._initialEvents()},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this.render,this))},addChildView:function(a){this.closeEmptyView();var b=this.getItemView(a),c=this.collection.indexOf(a);this.addItemView(a,b,c)},onShowCalled:function(){this.children.each(function(a){f.triggerMethod.call(a,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.closeEmptyView(),this.closeChildren(),this.collection&&this.collection.length>0?this.showCollection():this.showEmptyView()},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getItemView(b),this.addItemView(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this._showingEmptyView=!0;var c=new b.Model;this.addItemView(c,a,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getEmptyView:function(){return f.getOption(this,"emptyView")},getItemView:function(){var a=f.getOption(this,"itemView");return a||e("An `itemView` must be specified","NoItemViewError"),a},addItemView:function(a,b,d){var e=f.getOption(this,"itemViewOptions");c.isFunction(e)&&(e=e.call(this,a,d));var g=this.buildItemView(a,b,e);this.addChildViewEventForwarding(g),this.triggerMethod("before:item:added",g),this.children.add(g),this.renderItemView(g,d),this._isShown&&f.triggerMethod.call(g,"show"),this.triggerMethod("after:item:added",g)},addChildViewEventForwarding:function(a){var b=f.getOption(this,"itemViewEventPrefix");this.listenTo(a,"all",function(){var c=d(arguments);c[0]=b+":"+c[0],c.splice(1,0,a),f.triggerMethod.apply(this,c)},this)},renderItemView:function(a,b){a.render(),this.appendHtml(this,a,b)},buildItemView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeItemView:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},removeChildView:function(a){a&&(this.stopListening(a),a.close?a.close():a.remove&&a.remove(),this.children.remove(a)),this.triggerMethod("item:removed",a)},checkEmpty:function(){this.collection&&0!==this.collection.length||this.showEmptyView()},appendHtml:function(a,b){a.$el.append(b.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),f.View.prototype.close.apply(this,d(arguments)))},closeChildren:function(){this.children.each(function(a){this.removeChildView(a)},this),this.checkEmpty()}}),f.CompositeView=f.CollectionView.extend({constructor:function(){f.CollectionView.prototype.constructor.apply(this,d(arguments))},_initialEvents:function(){this.once("render",function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this._renderChildren,this))})},getItemView:function(){var a=f.getOption(this,"itemView")||this.constructor;return a||e("An `itemView` must be specified","NoItemViewError"),a},serializeData:function(){var a={};return this.model&&(a=this.model.toJSON()),a},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var a=this.renderModel();return this.$el.html(a),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(f.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a);var b=this.getTemplate();return f.Renderer.render(b,a)},appendHtml:function(a,b){var c=this.getItemViewContainer(a);c.append(b.el)},getItemViewContainer:function(a){if("$itemViewContainer"in a)return a.$itemViewContainer;var b,d=f.getOption(a,"itemViewContainer");if(d){var g=c.isFunction(d)?d():d;b=a.$(g),b.length<=0&&e("The specified `itemViewContainer` was not found: "+a.itemViewContainer,"ItemViewContainerMissingError")}else b=a.$el;return a.$itemViewContainer=b,b},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),f.Layout=f.ItemView.extend({regionType:f.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),f.ItemView.prototype.constructor.call(this,a)},render:function(){this.isClosed&&this._initializeRegions(),this._firstRender?this._firstRender=!1:this.isClosed||this._reInitializeRegions();var a=Array.prototype.slice.apply(arguments),b=f.ItemView.prototype.render.apply(this,a);return b},close:function(){if(!this.isClosed){this.regionManager.close();var a=Array.prototype.slice.apply(arguments);f.ItemView.prototype.close.apply(this,a)}},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},_buildRegions:function(a){var b=this,c={regionType:f.getOption(this,"regionType"),parentEl:function(){return b.$el}};return this.regionManager.addRegions(a,c)},_initializeRegions:function(a){var b;this._initRegionManager(),b=c.isFunction(this.regions)?this.regions(a):this.regions||{},this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(a){a.reset()})},_initRegionManager:function(){this.regionManager=new f.RegionManager,this.listenTo(this.regionManager,"region:add",function(a,b){this[a]=b,this.trigger("region:add",a,b)}),this.listenTo(this.regionManager,"region:remove",function(a,b){delete this[a],this.trigger("region:remove",a,b)})}}),f.AppRouter=b.Router.extend({constructor:function(a){b.Router.prototype.constructor.apply(this,d(arguments)),this.options=a||{};var c=f.getOption(this,"appRoutes"),e=this._getController();this.processAppRoutes(e,c)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return f.getOption(this,"controller")},_addAppRoute:function(a,b,d){var e=a[d];if(!e)throw new Error("Method '"+d+"' was not found on the controller");this.route(b,d,c.bind(e,a))}}),f.Application=function(a){this._initRegionManager(),this._initCallbacks=new f.Callbacks,this.vent=new b.Wreqr.EventAggregator,this.commands=new b.Wreqr.Commands,this.reqres=new b.Wreqr.RequestResponse,this.submodules={},c.extend(this,a),this.triggerMethod=f.triggerMethod},c.extend(f.Application.prototype,b.Events,{execute:function(){var a=Array.prototype.slice.apply(arguments);this.commands.execute.apply(this.commands,a)},request:function(){var a=Array.prototype.slice.apply(arguments);return this.reqres.request.apply(this.reqres,a)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("initialize:before",a),this._initCallbacks.run(a,this),this.triggerMethod("initialize:after",a),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},closeRegions:function(){this._regionManager.closeRegions()},removeRegion:function(a){this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},module:function(){var a=d(arguments);return a.unshift(this),f.Module.create.apply(f.Module,a)},_initRegionManager:function(){this._regionManager=new f.RegionManager,this.listenTo(this._regionManager,"region:add",function(a,b){this[a]=b}),this.listenTo(this._regionManager,"region:remove",function(a){delete this[a]})}}),f.Application.extend=f.extend,f.Module=function(a,b){this.moduleName=a,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,this.startWithParent=!0,this.triggerMethod=f.triggerMethod},c.extend(f.Module.prototype,b.Events,{addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,f.triggerMethod.call(this,"before:stop"),c.each(this.submodules,function(a){a.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),f.triggerMethod.call(this,"stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var e=c.flatten([this,this.app,b,f,f.$,c,d]);a.apply(this,e)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new f.Callbacks,this._finalizerCallbacks=new f.Callbacks}}),c.extend(f.Module,{create:function(a,b,e){var f=a,g=d(arguments);g.splice(0,3),b=b.split(".");var h=b.length,i=[];return i[h-1]=e,c.each(b,function(b,c){var d=f;f=this._getModule(d,b,a),this._addModuleDefinition(d,f,i[c],g)},this),f},_getModule:function(a,b,c){var d=a[b];return d||(d=new f.Module(b,c),a[b]=d,a.submodules[b]=d),d},_addModuleDefinition:function(a,b,d,e){var f,g;c.isFunction(d)?(f=d,g=!0):c.isObject(d)?(f=d.define,g=d.startWithParent):g=!0,f&&b.addDefinition(f,e),b.startWithParent=b.startWithParent&&g,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),f}(this,Backbone,_);
|
20
|
+
Backbone.ChildViewContainer=function(a,b){var c=function(a){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),b.each(a,this.add,this)};b.extend(c.prototype,{add:function(a,b){var c=a.cid;this._views[c]=a,a.model&&(this._indexByModel[a.model.cid]=c),b&&(this._indexByCustom[b]=c),this._updateLength()},findByModel:function(a){return this.findByModelCid(a.cid)},findByModelCid:function(a){var b=this._indexByModel[a];return this.findByCid(b)},findByCustom:function(a){var b=this._indexByCustom[a];return this.findByCid(b)},findByIndex:function(a){return b.values(this._views)[a]},findByCid:function(a){return this._views[a]},remove:function(a){var c=a.cid;a.model&&delete this._indexByModel[a.model.cid],b.any(this._indexByCustom,function(a,b){return a===c?(delete this._indexByCustom[b],!0):void 0},this),delete this._views[c],this._updateLength()},call:function(a){this.apply(a,b.tail(arguments))},apply:function(a,c){b.each(this._views,function(d){b.isFunction(d[a])&&d[a].apply(d,c||[])})},_updateLength:function(){this.length=b.size(this._views)}});var d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return b.each(d,function(a){c.prototype[a]=function(){var c=b.values(this._views),d=[c].concat(b.toArray(arguments));return b[a].apply(b,d)}}),c}(Backbone,_),Backbone.Wreqr=function(a,b,c){"use strict";var d={};return d.Handlers=function(a,b){var c=function(a){this.options=a,this._wreqrHandlers={},b.isFunction(this.initialize)&&this.initialize(a)};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events,{setHandlers:function(a){b.each(a,function(a,c){var d=null;b.isObject(a)&&!b.isFunction(a)&&(d=a.context,a=a.callback),this.setHandler(c,a,d)},this)},setHandler:function(a,b,c){var d={callback:b,context:c};this._wreqrHandlers[a]=d,this.trigger("handler:add",a,b,c)},hasHandler:function(a){return!!this._wreqrHandlers[a]},getHandler:function(a){var b=this._wreqrHandlers[a];if(!b)throw new Error("Handler not found for '"+a+"'");return function(){var a=Array.prototype.slice.apply(arguments);return b.callback.apply(b.context,a)}},removeHandler:function(a){delete this._wreqrHandlers[a]},removeAllHandlers:function(){this._wreqrHandlers={}}}),c}(a,c),d.CommandStorage=function(){var b=function(a){this.options=a,this._commands={},c.isFunction(this.initialize)&&this.initialize(a)};return c.extend(b.prototype,a.Events,{getCommands:function(a){var b=this._commands[a];return b||(b={command:a,instances:[]},this._commands[a]=b),b},addCommand:function(a,b){var c=this.getCommands(a);c.instances.push(b)},clearCommands:function(a){var b=this.getCommands(a);b.instances=[]}}),b}(),d.Commands=function(a){return a.Handlers.extend({storageType:a.CommandStorage,constructor:function(b){this.options=b||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this);var c=Array.prototype.slice.call(arguments);a.Handlers.prototype.constructor.apply(this,c)},execute:function(a,b){a=arguments[0],b=Array.prototype.slice.call(arguments,1),this.hasHandler(a)?this.getHandler(a).apply(this,b):this.storage.addCommand(a,b)},_executeCommands:function(a,b,d){var e=this.storage.getCommands(a);c.each(e.instances,function(a){b.apply(d,a)}),this.storage.clearCommands(a)},_initializeStorage:function(a){var b,d=a.storageType||this.storageType;b=c.isFunction(d)?new d:d,this.storage=b}})}(d),d.RequestResponse=function(a){return a.Handlers.extend({request:function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return this.getHandler(a).apply(this,b)}})}(d),d.EventAggregator=function(a,b){var c=function(){};return c.extend=a.Model.extend,b.extend(c.prototype,a.Events),c}(a,c),d}(Backbone,Backbone.Marionette,_);var Marionette=function(a,b,c){"use strict";function d(a){return g.call(a)}function e(a,b){var c=new Error(a);throw c.name=b||"Error",c}var f={};b.Marionette=f,f.$=b.$;var g=Array.prototype.slice;return f.extend=b.Model.extend,f.getOption=function(a,b){if(a&&b){var c;return c=a.options&&b in a.options&&void 0!==a.options[b]?a.options[b]:a[b]}},f.triggerMethod=function(){function a(a,b,c){return c.toUpperCase()}var b=/(^|:)(\w)/gi,d=function(d){var e="on"+d.replace(b,a),f=this[e];return c.isFunction(this.trigger)&&this.trigger.apply(this,arguments),c.isFunction(f)?f.apply(this,c.tail(arguments)):void 0};return d}(),f.MonitorDOMRefresh=function(){function a(a){a._isShown=!0,d(a)}function b(a){a._isRendered=!0,d(a)}function d(a){a._isShown&&a._isRendered&&c.isFunction(a.triggerMethod)&&a.triggerMethod("dom:refresh")}return function(c){c.listenTo(c,"show",function(){a(c)}),c.listenTo(c,"render",function(){b(c)})}}(),function(a){function b(a,b,d,f){var g=f.split(/\s+/);c.each(g,function(c){var f=a[c];f||e("Method '"+c+"' was configured as an event handler, but does not exist."),a.listenTo(b,d,f,a)})}function d(a,b,c,d){a.listenTo(b,c,d,a)}function f(a,b,d,e){var f=e.split(/\s+/);c.each(f,function(c){var e=a[c];a.stopListening(b,d,e,a)})}function g(a,b,c,d){a.stopListening(b,c,d,a)}function h(a,b,d,e,f){b&&d&&(c.isFunction(d)&&(d=d.call(a)),c.each(d,function(d,g){c.isFunction(d)?e(a,b,g,d):f(a,b,g,d)}))}a.bindEntityEvents=function(a,c,e){h(a,c,e,d,b)},a.unbindEntityEvents=function(a,b,c){h(a,b,c,g,f)}}(f),f.Callbacks=function(){this._deferred=f.$.Deferred(),this._callbacks=[]},c.extend(f.Callbacks.prototype,{add:function(a,b){this._callbacks.push({cb:a,ctx:b}),this._deferred.done(function(c,d){b&&(c=b),a.call(c,d)})},run:function(a,b){this._deferred.resolve(b,a)},reset:function(){var a=this._callbacks;this._deferred=f.$.Deferred(),this._callbacks=[],c.each(a,function(a){this.add(a.cb,a.ctx)},this)}}),f.Controller=function(a){this.triggerMethod=f.triggerMethod,this.options=a||{},c.isFunction(this.initialize)&&this.initialize(this.options)},f.Controller.extend=f.extend,c.extend(f.Controller.prototype,b.Events,{close:function(){this.stopListening(),this.triggerMethod("close"),this.unbind()}}),f.Region=function(a){if(this.options=a||{},this.el=f.getOption(this,"el"),!this.el){var b=new Error("An 'el' must be specified for a region.");throw b.name="NoElError",b}if(this.initialize){var c=Array.prototype.slice.apply(arguments);this.initialize.apply(this,c)}},c.extend(f.Region,{buildRegion:function(a,b){var d="string"==typeof a,e="string"==typeof a.selector,f="undefined"==typeof a.regionType,g="function"==typeof a;if(!g&&!d&&!e)throw new Error("Region must be specified as a Region type, a selector string or an object with selector property");var h,i;d&&(h=a),a.selector&&(h=a.selector),g&&(i=a),!g&&f&&(i=b),a.regionType&&(i=a.regionType);var j=new i({el:h});return a.parentEl&&(j.getEl=function(b){var d=a.parentEl;return c.isFunction(d)&&(d=d()),d.find(b)}),j}}),c.extend(f.Region.prototype,b.Events,{show:function(a){this.ensureEl();var b=a.isClosed||c.isUndefined(a.$el),d=a!==this.currentView;d&&this.close(),a.render(),(d||b)&&this.open(a),this.currentView=a,f.triggerMethod.call(this,"show",a),f.triggerMethod.call(a,"show")},ensureEl:function(){this.$el&&0!==this.$el.length||(this.$el=this.getEl(this.el))},getEl:function(a){return f.$(a)},open:function(a){this.$el.empty().append(a.el)},close:function(){var a=this.currentView;a&&!a.isClosed&&(a.close?a.close():a.remove&&a.remove(),f.triggerMethod.call(this,"close"),delete this.currentView)},attachView:function(a){this.currentView=a},reset:function(){this.close(),delete this.$el}}),f.Region.extend=f.extend,f.RegionManager=function(a){var b=a.Controller.extend({constructor:function(b){this._regions={},a.Controller.prototype.constructor.call(this,b)},addRegions:function(a,b){var d={};return c.each(a,function(a,e){"string"==typeof a&&(a={selector:a}),a.selector&&(a=c.defaults({},a,b));var f=this.addRegion(e,a);d[e]=f},this),d},addRegion:function(b,d){var e,f=c.isObject(d),g=c.isString(d),h=!!d.selector;return e=g||f&&h?a.Region.buildRegion(d,a.Region):c.isFunction(d)?a.Region.buildRegion(d,a.Region):d,this._store(b,e),this.triggerMethod("region:add",b,e),e},get:function(a){return this._regions[a]},removeRegion:function(a){var b=this._regions[a];this._remove(a,b)},removeRegions:function(){c.each(this._regions,function(a,b){this._remove(b,a)},this)},closeRegions:function(){c.each(this._regions,function(a){a.close()},this)},close:function(){this.removeRegions();var b=Array.prototype.slice.call(arguments);a.Controller.prototype.close.apply(this,b)},_store:function(a,b){this._regions[a]=b,this._setLength()},_remove:function(a,b){b.close(),delete this._regions[a],this._setLength(),this.triggerMethod("region:remove",a,b)},_setLength:function(){this.length=c.size(this._regions)}}),d=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];return c.each(d,function(a){b.prototype[a]=function(){var b=c.values(this._regions),d=[b].concat(c.toArray(arguments));return c[a].apply(c,d)}}),b}(f),f.TemplateCache=function(a){this.templateId=a},c.extend(f.TemplateCache,{templateCaches:{},get:function(a){var b=this.templateCaches[a];return b||(b=new f.TemplateCache(a),this.templateCaches[a]=b),b.load()},clear:function(){var a,b=d(arguments),c=b.length;if(c>0)for(a=0;c>a;a++)delete this.templateCaches[b[a]];else this.templateCaches={}}}),c.extend(f.TemplateCache.prototype,{load:function(){if(this.compiledTemplate)return this.compiledTemplate;var a=this.loadTemplate(this.templateId);return this.compiledTemplate=this.compileTemplate(a),this.compiledTemplate},loadTemplate:function(a){var b=f.$(a).html();return b&&0!==b.length||e("Could not find template: '"+a+"'","NoTemplateError"),b},compileTemplate:function(a){return c.template(a)}}),f.Renderer={render:function(a,b){if(!a){var c=new Error("Cannot render the template since it's false, null or undefined.");throw c.name="TemplateNotFoundError",c}var d;return d="function"==typeof a?a:f.TemplateCache.get(a),d(b)}},f.View=b.View.extend({constructor:function(a){c.bindAll(this,"render");var d=Array.prototype.slice.apply(arguments);this.options=a||{},b.View.prototype.constructor.apply(this,d),f.MonitorDOMRefresh(this),this.listenTo(this,"show",this.onShowCalled,this)},triggerMethod:f.triggerMethod,getTemplate:function(){return f.getOption(this,"template")},mixinTemplateHelpers:function(a){a=a||{};var b=f.getOption(this,"templateHelpers");return c.isFunction(b)&&(b=b.call(this)),c.extend(a,b)},configureTriggers:function(){if(this.triggers){var a={},b=c.result(this,"triggers");return c.each(b,function(b,d){var e=c.isObject(b),f=e?b.event:b;a[d]=function(a){if(a){var c=a.preventDefault,d=a.stopPropagation,g=e?b.preventDefault:c,h=e?b.stopPropagation:d;g&&c&&c.apply(a),h&&d&&d.apply(a)}var i={view:this,model:this.model,collection:this.collection};this.triggerMethod(f,i)}},this),a}},delegateEvents:function(a){this._delegateDOMEvents(a),f.bindEntityEvents(this,this.model,f.getOption(this,"modelEvents")),f.bindEntityEvents(this,this.collection,f.getOption(this,"collectionEvents"))},_delegateDOMEvents:function(a){a=a||this.events,c.isFunction(a)&&(a=a.call(this));var d={},e=this.configureTriggers();c.extend(d,a,e),b.View.prototype.delegateEvents.call(this,d)},undelegateEvents:function(){var a=Array.prototype.slice.call(arguments);b.View.prototype.undelegateEvents.apply(this,a),f.unbindEntityEvents(this,this.model,f.getOption(this,"modelEvents")),f.unbindEntityEvents(this,this.collection,f.getOption(this,"collectionEvents"))},onShowCalled:function(){},close:function(){if(!this.isClosed){var a=this.triggerMethod("before:close");a!==!1&&(this.isClosed=!0,this.triggerMethod("close"),this.unbindUIElements(),this.remove())}},bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var a=c.result(this,"_uiBindings");this.ui={},c.each(c.keys(a),function(b){var c=a[b];this.ui[b]=this.$(c)},this)}},unbindUIElements:function(){this.ui&&this._uiBindings&&(c.each(this.ui,function(a,b){delete this.ui[b]},this),this.ui=this._uiBindings,delete this._uiBindings)}}),f.ItemView=f.View.extend({constructor:function(){f.View.prototype.constructor.apply(this,d(arguments))},serializeData:function(){var a={};return this.model?a=this.model.toJSON():this.collection&&(a={items:this.collection.toJSON()}),a},render:function(){this.isClosed=!1,this.triggerMethod("before:render",this),this.triggerMethod("item:before:render",this);var a=this.serializeData();a=this.mixinTemplateHelpers(a);var b=this.getTemplate(),c=f.Renderer.render(b,a);return this.$el.html(c),this.bindUIElements(),this.triggerMethod("render",this),this.triggerMethod("item:rendered",this),this},close:function(){this.isClosed||(this.triggerMethod("item:before:close"),f.View.prototype.close.apply(this,d(arguments)),this.triggerMethod("item:closed"))}}),f.CollectionView=f.View.extend({itemViewEventPrefix:"itemview",constructor:function(){this._initChildViewStorage(),f.View.prototype.constructor.apply(this,d(arguments)),this._initialEvents(),this.initRenderBuffer()},initRenderBuffer:function(){this.elBuffer=document.createDocumentFragment()},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){this.appendBuffer(this,this.elBuffer),this.initRenderBuffer(),this.isBuffering=!1},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this.render,this))},addChildView:function(a){this.closeEmptyView();var b=this.getItemView(a),c=this.collection.indexOf(a);this.addItemView(a,b,c)},onShowCalled:function(){this.children.each(function(a){f.triggerMethod.call(a,"show")})},triggerBeforeRender:function(){this.triggerMethod("before:render",this),this.triggerMethod("collection:before:render",this)},triggerRendered:function(){this.triggerMethod("render",this),this.triggerMethod("collection:rendered",this)},render:function(){return this.isClosed=!1,this.triggerBeforeRender(),this._renderChildren(),this.triggerRendered(),this},_renderChildren:function(){this.startBuffering(),this.closeEmptyView(),this.closeChildren(),this.collection&&this.collection.length>0?this.showCollection():this.showEmptyView(),this.endBuffering()},showCollection:function(){var a;this.collection.each(function(b,c){a=this.getItemView(b),this.addItemView(b,a,c)},this)},showEmptyView:function(){var a=this.getEmptyView();if(a&&!this._showingEmptyView){this._showingEmptyView=!0;var c=new b.Model;this.addItemView(c,a,0)}},closeEmptyView:function(){this._showingEmptyView&&(this.closeChildren(),delete this._showingEmptyView)},getEmptyView:function(){return f.getOption(this,"emptyView")},getItemView:function(){var a=f.getOption(this,"itemView");return a||e("An `itemView` must be specified","NoItemViewError"),a},addItemView:function(a,b,d){var e=f.getOption(this,"itemViewOptions");c.isFunction(e)&&(e=e.call(this,a,d));var g=this.buildItemView(a,b,e);this.addChildViewEventForwarding(g),this.triggerMethod("before:item:added",g),this.children.add(g),this.renderItemView(g,d),this._isShown&&f.triggerMethod.call(g,"show"),this.triggerMethod("after:item:added",g)},addChildViewEventForwarding:function(a){var b=f.getOption(this,"itemViewEventPrefix");this.listenTo(a,"all",function(){var c=d(arguments);c[0]=b+":"+c[0],c.splice(1,0,a),f.triggerMethod.apply(this,c)},this)},renderItemView:function(a,b){a.render(),this.appendHtml(this,a,b)},buildItemView:function(a,b,d){var e=c.extend({model:a},d);return new b(e)},removeItemView:function(a){var b=this.children.findByModel(a);this.removeChildView(b),this.checkEmpty()},removeChildView:function(a){a&&(this.stopListening(a),a.close?a.close():a.remove&&a.remove(),this.children.remove(a)),this.triggerMethod("item:removed",a)},checkEmpty:function(){this.collection&&0!==this.collection.length||this.showEmptyView()},appendBuffer:function(a,b){a.$el.append(b)},appendHtml:function(a,b){a.isBuffering?a.elBuffer.appendChild(b.el):a.$el.append(b.el)},_initChildViewStorage:function(){this.children=new b.ChildViewContainer},close:function(){this.isClosed||(this.triggerMethod("collection:before:close"),this.closeChildren(),this.triggerMethod("collection:closed"),f.View.prototype.close.apply(this,d(arguments)))},closeChildren:function(){this.children.each(function(a){this.removeChildView(a)},this),this.checkEmpty()}}),f.CompositeView=f.CollectionView.extend({constructor:function(){f.CollectionView.prototype.constructor.apply(this,d(arguments))},_initialEvents:function(){this.once("render",function(){this.collection&&(this.listenTo(this.collection,"add",this.addChildView,this),this.listenTo(this.collection,"remove",this.removeItemView,this),this.listenTo(this.collection,"reset",this._renderChildren,this))})},getItemView:function(){var a=f.getOption(this,"itemView")||this.constructor;return a||e("An `itemView` must be specified","NoItemViewError"),a},serializeData:function(){var a={};return this.model&&(a=this.model.toJSON()),a},render:function(){this.isRendered=!0,this.isClosed=!1,this.resetItemViewContainer(),this.triggerBeforeRender();var a=this.renderModel();return this.$el.html(a),this.bindUIElements(),this.triggerMethod("composite:model:rendered"),this._renderChildren(),this.triggerMethod("composite:rendered"),this.triggerRendered(),this},_renderChildren:function(){this.isRendered&&(f.CollectionView.prototype._renderChildren.call(this),this.triggerMethod("composite:collection:rendered"))},renderModel:function(){var a={};a=this.serializeData(),a=this.mixinTemplateHelpers(a);var b=this.getTemplate();return f.Renderer.render(b,a)},appendBuffer:function(a,b){var c=this.getItemViewContainer(a);c.append(b)},appendHtml:function(a,b){if(a.isBuffering)a.elBuffer.appendChild(b.el);else{var c=this.getItemViewContainer(a);c.append(b.el)}},getItemViewContainer:function(a){if("$itemViewContainer"in a)return a.$itemViewContainer;var b,d=f.getOption(a,"itemViewContainer");if(d){var g=c.isFunction(d)?d():d;b=a.$(g),b.length<=0&&e("The specified `itemViewContainer` was not found: "+a.itemViewContainer,"ItemViewContainerMissingError")}else b=a.$el;return a.$itemViewContainer=b,b},resetItemViewContainer:function(){this.$itemViewContainer&&delete this.$itemViewContainer}}),f.Layout=f.ItemView.extend({regionType:f.Region,constructor:function(a){a=a||{},this._firstRender=!0,this._initializeRegions(a),f.ItemView.prototype.constructor.call(this,a)},render:function(){this.isClosed&&this._initializeRegions(),this._firstRender?this._firstRender=!1:this.isClosed||this._reInitializeRegions();var a=Array.prototype.slice.apply(arguments),b=f.ItemView.prototype.render.apply(this,a);return b},close:function(){if(!this.isClosed){this.regionManager.close();var a=Array.prototype.slice.apply(arguments);f.ItemView.prototype.close.apply(this,a)}},addRegion:function(a,b){var c={};return c[a]=b,this._buildRegions(c)[a]},addRegions:function(a){return this.regions=c.extend({},this.regions,a),this._buildRegions(a)},removeRegion:function(a){return delete this.regions[a],this.regionManager.removeRegion(a)},_buildRegions:function(a){var b=this,c={regionType:f.getOption(this,"regionType"),parentEl:function(){return b.$el}};return this.regionManager.addRegions(a,c)},_initializeRegions:function(a){var b;this._initRegionManager(),b=c.isFunction(this.regions)?this.regions(a):this.regions||{},this.addRegions(b)},_reInitializeRegions:function(){this.regionManager.closeRegions(),this.regionManager.each(function(a){a.reset()})},_initRegionManager:function(){this.regionManager=new f.RegionManager,this.listenTo(this.regionManager,"region:add",function(a,b){this[a]=b,this.trigger("region:add",a,b)}),this.listenTo(this.regionManager,"region:remove",function(a,b){delete this[a],this.trigger("region:remove",a,b)})}}),f.AppRouter=b.Router.extend({constructor:function(a){b.Router.prototype.constructor.apply(this,d(arguments)),this.options=a||{};var c=f.getOption(this,"appRoutes"),e=this._getController();this.processAppRoutes(e,c)},appRoute:function(a,b){var c=this._getController();this._addAppRoute(c,a,b)},processAppRoutes:function(a,b){if(b){var d=c.keys(b).reverse();c.each(d,function(c){this._addAppRoute(a,c,b[c])},this)}},_getController:function(){return f.getOption(this,"controller")},_addAppRoute:function(a,b,d){var e=a[d];if(!e)throw new Error("Method '"+d+"' was not found on the controller");this.route(b,d,c.bind(e,a))}}),f.Application=function(a){this._initRegionManager(),this._initCallbacks=new f.Callbacks,this.vent=new b.Wreqr.EventAggregator,this.commands=new b.Wreqr.Commands,this.reqres=new b.Wreqr.RequestResponse,this.submodules={},c.extend(this,a),this.triggerMethod=f.triggerMethod},c.extend(f.Application.prototype,b.Events,{execute:function(){var a=Array.prototype.slice.apply(arguments);this.commands.execute.apply(this.commands,a)},request:function(){var a=Array.prototype.slice.apply(arguments);return this.reqres.request.apply(this.reqres,a)},addInitializer:function(a){this._initCallbacks.add(a)},start:function(a){this.triggerMethod("initialize:before",a),this._initCallbacks.run(a,this),this.triggerMethod("initialize:after",a),this.triggerMethod("start",a)},addRegions:function(a){return this._regionManager.addRegions(a)},closeRegions:function(){this._regionManager.closeRegions()},removeRegion:function(a){this._regionManager.removeRegion(a)},getRegion:function(a){return this._regionManager.get(a)},module:function(){var a=d(arguments);return a.unshift(this),f.Module.create.apply(f.Module,a)},_initRegionManager:function(){this._regionManager=new f.RegionManager,this.listenTo(this._regionManager,"region:add",function(a,b){this[a]=b}),this.listenTo(this._regionManager,"region:remove",function(a){delete this[a]})}}),f.Application.extend=f.extend,f.Module=function(a,b){this.moduleName=a,this.submodules={},this._setupInitializersAndFinalizers(),this.app=b,this.startWithParent=!0,this.triggerMethod=f.triggerMethod},c.extend(f.Module.prototype,b.Events,{addInitializer:function(a){this._initializerCallbacks.add(a)},addFinalizer:function(a){this._finalizerCallbacks.add(a)},start:function(a){this._isInitialized||(c.each(this.submodules,function(b){b.startWithParent&&b.start(a)}),this.triggerMethod("before:start",a),this._initializerCallbacks.run(a,this),this._isInitialized=!0,this.triggerMethod("start",a))},stop:function(){this._isInitialized&&(this._isInitialized=!1,f.triggerMethod.call(this,"before:stop"),c.each(this.submodules,function(a){a.stop()}),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),f.triggerMethod.call(this,"stop"))},addDefinition:function(a,b){this._runModuleDefinition(a,b)},_runModuleDefinition:function(a,d){if(a){var e=c.flatten([this,this.app,b,f,f.$,c,d]);a.apply(this,e)}},_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new f.Callbacks,this._finalizerCallbacks=new f.Callbacks}}),c.extend(f.Module,{create:function(a,b,e){var f=a,g=d(arguments);g.splice(0,3),b=b.split(".");var h=b.length,i=[];return i[h-1]=e,c.each(b,function(b,c){var d=f;f=this._getModule(d,b,a),this._addModuleDefinition(d,f,i[c],g)},this),f},_getModule:function(a,b,c){var d=a[b];return d||(d=new f.Module(b,c),a[b]=d,a.submodules[b]=d),d},_addModuleDefinition:function(a,b,d,e){var f,g;c.isFunction(d)?(f=d,g=!0):c.isObject(d)?(f=d.define,g=d.startWithParent):g=!0,f&&b.addDefinition(f,e),b.startWithParent=b.startWithParent&&g,b.startWithParent&&!b.startWithParentIsConfigured&&(b.startWithParentIsConfigured=!0,a.addInitializer(function(a){b.startWithParent&&b.start(a)}))}}),f}(this,Backbone,_);
|
21
21
|
//# sourceMappingURL=backbone.marionette.map
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marionette-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Godfrey Chan
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -41,7 +41,8 @@ files:
|
|
41
41
|
- LICENSE
|
42
42
|
- README.md
|
43
43
|
homepage: https://github.com/chancancode/marionette-rails
|
44
|
-
licenses:
|
44
|
+
licenses:
|
45
|
+
- MIT
|
45
46
|
metadata: {}
|
46
47
|
post_install_message:
|
47
48
|
rdoc_options: []
|
@@ -59,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
59
60
|
version: 1.3.6
|
60
61
|
requirements: []
|
61
62
|
rubyforge_project:
|
62
|
-
rubygems_version: 2.
|
63
|
+
rubygems_version: 2.0.3
|
63
64
|
signing_key:
|
64
65
|
specification_version: 4
|
65
66
|
summary: Backbone.Marionette for Rails
|