pageflow 17.0.0 → 17.0.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/entry_types/scrolled/package/editor.js +1 -1
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/lib/pageflow/engine.rb +1 -0
- data/lib/pageflow/version.rb +1 -1
- data/package/config/jest/index.js +9 -9
- data/package/vendor/backbone.babysitter.js +168 -0
- data/package/vendor/backbone.js +1574 -0
- data/package/vendor/backbone.marionette.js +2369 -0
- data/package/vendor/cocktail.js +81 -0
- data/package/vendor/i18n.js +453 -0
- data/package/vendor/iscroll.js +1834 -0
- data/package/vendor/jquery-ui/core.js +305 -0
- data/package/vendor/jquery-ui/datepicker.js +2084 -0
- data/package/vendor/jquery-ui/index.js +8 -0
- data/package/vendor/jquery-ui/menu.js +651 -0
- data/package/vendor/jquery-ui/mouse.js +199 -0
- data/package/vendor/jquery-ui/selectmenu.js +621 -0
- data/package/vendor/jquery-ui/slider.js +717 -0
- data/package/vendor/jquery-ui/sortable.js +1315 -0
- data/package/vendor/jquery-ui/widget.js +559 -0
- data/package/vendor/jquery.js +11009 -0
- data/package/vendor/jquery.minicolors.js +1108 -0
- data/package/vendor/underscore.js +1246 -0
- metadata +19 -1
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
const Backbone = require('backbone');
|
|
2
|
+
const _ = require('underscore');
|
|
3
|
+
|
|
4
|
+
/*!
|
|
5
|
+
* Includes BabySitter
|
|
6
|
+
* https://github.com/marionettejs/backbone.babysitter/
|
|
7
|
+
*
|
|
8
|
+
* Includes Wreqr
|
|
9
|
+
* https://github.com/marionettejs/backbone.wreqr/
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// Backbone.BabySitter
|
|
13
|
+
// -------------------
|
|
14
|
+
// v0.0.6
|
|
15
|
+
//
|
|
16
|
+
// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC.
|
|
17
|
+
// Distributed under MIT license
|
|
18
|
+
//
|
|
19
|
+
// http://github.com/babysitterjs/backbone.babysitter
|
|
20
|
+
|
|
21
|
+
// ChildViewContainer
|
|
22
|
+
// ---------------------------
|
|
23
|
+
//
|
|
24
|
+
// Provide a container to store, retrieve and
|
|
25
|
+
// shut down child views.
|
|
26
|
+
|
|
27
|
+
module.exports = (function(Backbone, _){
|
|
28
|
+
|
|
29
|
+
// Container Constructor
|
|
30
|
+
// ---------------------
|
|
31
|
+
|
|
32
|
+
var Container = function(views){
|
|
33
|
+
this._views = {};
|
|
34
|
+
this._indexByModel = {};
|
|
35
|
+
this._indexByCustom = {};
|
|
36
|
+
this._updateLength();
|
|
37
|
+
|
|
38
|
+
_.each(views, this.add, this);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// Container Methods
|
|
42
|
+
// -----------------
|
|
43
|
+
|
|
44
|
+
_.extend(Container.prototype, {
|
|
45
|
+
|
|
46
|
+
// Add a view to this container. Stores the view
|
|
47
|
+
// by `cid` and makes it searchable by the model
|
|
48
|
+
// cid (and model itself). Optionally specify
|
|
49
|
+
// a custom key to store an retrieve the view.
|
|
50
|
+
add: function(view, customIndex){
|
|
51
|
+
var viewCid = view.cid;
|
|
52
|
+
|
|
53
|
+
// store the view
|
|
54
|
+
this._views[viewCid] = view;
|
|
55
|
+
|
|
56
|
+
// index it by model
|
|
57
|
+
if (view.model){
|
|
58
|
+
this._indexByModel[view.model.cid] = viewCid;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// index by custom
|
|
62
|
+
if (customIndex){
|
|
63
|
+
this._indexByCustom[customIndex] = viewCid;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
this._updateLength();
|
|
67
|
+
},
|
|
68
|
+
|
|
69
|
+
// Find a view by the model that was attached to
|
|
70
|
+
// it. Uses the model's `cid` to find it.
|
|
71
|
+
findByModel: function(model){
|
|
72
|
+
return this.findByModelCid(model.cid);
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
// Find a view by the `cid` of the model that was attached to
|
|
76
|
+
// it. Uses the model's `cid` to find the view `cid` and
|
|
77
|
+
// retrieve the view using it.
|
|
78
|
+
findByModelCid: function(modelCid){
|
|
79
|
+
var viewCid = this._indexByModel[modelCid];
|
|
80
|
+
return this.findByCid(viewCid);
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
// Find a view by a custom indexer.
|
|
84
|
+
findByCustom: function(index){
|
|
85
|
+
var viewCid = this._indexByCustom[index];
|
|
86
|
+
return this.findByCid(viewCid);
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
// Find by index. This is not guaranteed to be a
|
|
90
|
+
// stable index.
|
|
91
|
+
findByIndex: function(index){
|
|
92
|
+
return _.values(this._views)[index];
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
// retrieve a view by it's `cid` directly
|
|
96
|
+
findByCid: function(cid){
|
|
97
|
+
return this._views[cid];
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
// Remove a view
|
|
101
|
+
remove: function(view){
|
|
102
|
+
var viewCid = view.cid;
|
|
103
|
+
|
|
104
|
+
// delete model index
|
|
105
|
+
if (view.model){
|
|
106
|
+
delete this._indexByModel[view.model.cid];
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// delete custom index
|
|
110
|
+
_.any(this._indexByCustom, function(cid, key) {
|
|
111
|
+
if (cid === viewCid) {
|
|
112
|
+
delete this._indexByCustom[key];
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
}, this);
|
|
116
|
+
|
|
117
|
+
// remove the view from the container
|
|
118
|
+
delete this._views[viewCid];
|
|
119
|
+
|
|
120
|
+
// update the length
|
|
121
|
+
this._updateLength();
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
// Call a method on every view in the container,
|
|
125
|
+
// passing parameters to the call method one at a
|
|
126
|
+
// time, like `function.call`.
|
|
127
|
+
call: function(method){
|
|
128
|
+
this.apply(method, _.tail(arguments));
|
|
129
|
+
},
|
|
130
|
+
|
|
131
|
+
// Apply a method on every view in the container,
|
|
132
|
+
// passing parameters to the call method one at a
|
|
133
|
+
// time, like `function.apply`.
|
|
134
|
+
apply: function(method, args){
|
|
135
|
+
_.each(this._views, function(view){
|
|
136
|
+
if (_.isFunction(view[method])){
|
|
137
|
+
view[method].apply(view, args || []);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
},
|
|
141
|
+
|
|
142
|
+
// Update the `.length` attribute on this container
|
|
143
|
+
_updateLength: function(){
|
|
144
|
+
this.length = _.size(this._views);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
// Borrowing this code from Backbone.Collection:
|
|
149
|
+
// http://backbonejs.org/docs/backbone.html#section-106
|
|
150
|
+
//
|
|
151
|
+
// Mix in methods from Underscore, for iteration, and other
|
|
152
|
+
// collection related features.
|
|
153
|
+
var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter',
|
|
154
|
+
'select', 'reject', 'every', 'all', 'some', 'any', 'include',
|
|
155
|
+
'contains', 'invoke', 'toArray', 'first', 'initial', 'rest',
|
|
156
|
+
'last', 'without', 'isEmpty', 'pluck'];
|
|
157
|
+
|
|
158
|
+
_.each(methods, function(method) {
|
|
159
|
+
Container.prototype[method] = function() {
|
|
160
|
+
var views = _.values(this._views);
|
|
161
|
+
var args = [views].concat(_.toArray(arguments));
|
|
162
|
+
return _[method].apply(_, args);
|
|
163
|
+
};
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
// return the public API
|
|
167
|
+
return Container;
|
|
168
|
+
})(Backbone, _);
|