Skip to content

Commit

Permalink
Update to Knockback.js 0.16.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Kevin Malakoff committed Sep 11, 2012
1 parent 5f1e712 commit 1aece63
Show file tree
Hide file tree
Showing 15 changed files with 4,568 additions and 40 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"knockout-client": ">=2.1.0",
"backbone-relational": ">=0.6.0",
"backbone-modelref": ">=0.1.4",
"knockback": "=0.16.2beta1",
"knockback": "=0.16.2",
"lodash": ">=0.6.1"
},

Expand Down
2 changes: 1 addition & 1 deletion packages/npm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
},

"dependencies": {
"knockback": "=0.16.2beta1",
"knockback": "=0.16.2",
"backbone-relational": ">=0.5.0",
"backbone-modelref": ">=0.1.4"
},
Expand Down
2 changes: 1 addition & 1 deletion test/core/test.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>Knockback-Inspector Test Suite</title>
<!-- LIBRARY DEPENDENCIES -->
<script type="text/javascript" src="../../vendor/knockback-core-stack-0.16.2beta1.js"></script>
<script type="text/javascript" src="../../vendor/knockback-core-stack-0.16.2.js"></script>
<script type="text/javascript" src="../../vendor/backbone-relational-0.6.0.js"></script>

<!-- LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion test/core/test.min.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<title>Knockback-Inspector Test Suite (Production)</title>
<!-- LIBRARY DEPENDENCIES -->
<script type="text/javascript" src='../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../vendor/backbone-relational-0.6.0.js"></script>

<!-- LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion test/interactive/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<!-- DEPENDENCIES -->
<script type="text/javascript" src='../../vendor/jquery-1.8.0.js'></script>
<script type="text/javascript" src='../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../vendor/backbone-relational-0.6.0.js"></script>

<!-- KNOCKBACK-INSPECTOR LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion tutorials/coffeescript/step1/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<!-- DEPENDENCIES -->
<script type="text/javascript" src='../../../vendor/jquery-1.8.0.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../../vendor/backbone-relational-0.6.0.js"></script>

<!-- KNOCKBACK-INSPECTOR LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion tutorials/coffeescript/step2/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<!-- DEPENDENCIES -->
<script type="text/javascript" src='../../../vendor/jquery-1.8.0.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../../vendor/backbone-relational-0.6.0.js"></script>

<!-- KNOCKBACK-INSPECTOR LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion tutorials/coffeescript/step3/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<!-- DEPENDENCIES -->
<script type="text/javascript" src='../../../vendor/jquery-1.8.0.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../../vendor/backbone-relational-0.6.0.js"></script>

<!-- KNOCKBACK-INSPECTOR LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion tutorials/coffeescript/step4/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<!-- DEPENDENCIES -->
<script type="text/javascript" src='../../../vendor/jquery-1.8.0.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../../vendor/backbone-relational-0.6.0.js"></script>

<!-- KNOCKBACK-INSPECTOR LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion tutorials/javascript/step1/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<!-- DEPENDENCIES -->
<script type="text/javascript" src='../../../vendor/jquery-1.8.0.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../../vendor/backbone-relational-0.6.0.js"></script>

<!-- KNOCKBACK-INSPECTOR LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion tutorials/javascript/step2/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<!-- DEPENDENCIES -->
<script type="text/javascript" src='../../../vendor/jquery-1.8.0.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../../vendor/backbone-relational-0.6.0.js"></script>

<!-- KNOCKBACK-INSPECTOR LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion tutorials/javascript/step3/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<!-- DEPENDENCIES -->
<script type="text/javascript" src='../../../vendor/jquery-1.8.0.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../../vendor/backbone-relational-0.6.0.js"></script>

<!-- KNOCKBACK-INSPECTOR LIBRARY -->
Expand Down
2 changes: 1 addition & 1 deletion tutorials/javascript/step4/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<!-- DEPENDENCIES -->
<script type="text/javascript" src='../../../vendor/jquery-1.8.0.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2beta1.js'></script>
<script type="text/javascript" src='../../../vendor/knockback-core-stack-0.16.2.js'></script>
<script type="text/javascript" src="../../../vendor/backbone-relational-0.6.0.js"></script>

<!-- KNOCKBACK-INSPECTOR LIBRARY -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5960,7 +5960,7 @@ ko.exportSymbol('nativeTemplateEngine', ko.nativeTemplateEngine);
Dependencies: Knockout.js, Backbone.js, and Underscore.js.
*/

var Backbone, KB_TYPE_ARRAY, KB_TYPE_COLLECTION, KB_TYPE_MODEL, KB_TYPE_SIMPLE, KB_TYPE_UNKNOWN, addStatisticsEvent, arraySplice, collapseOptions, kb, ko, legacyWarning, throwMissing, throwUnexpected, _, _argumentsAddKey, _unwrapModels, _wrappedKey,
var Backbone, KB_TYPE_ARRAY, KB_TYPE_COLLECTION, KB_TYPE_MODEL, KB_TYPE_SIMPLE, KB_TYPE_UNKNOWN, addStatisticsEvent, arraySplice, collapseOptions, kb, ko, legacyWarning, onReady, throwMissing, throwUnexpected, _, _argumentsAddKey, _unwrapModels, _wrappedKey,
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };

kb = (function() {
Expand Down Expand Up @@ -6042,7 +6042,7 @@ kb = (function() {
});
};

kb.renderAutoReleasedTemplate = function(template, view_model, options) {
kb.renderTemplate = function(template, view_model, options) {
var el, observable;
if (options == null) {
options = {};
Expand All @@ -6057,6 +6057,14 @@ kb = (function() {
return el;
};

kb.renderAutoReleasedTemplate = function(template, view_model, options) {
if (options == null) {
options = {};
}
legacyWarning('kb.renderAutoReleasedTemplate', '0.16.2', 'Please use kb.renderTemplate instead');
return this.renderTemplate(template, view_model, options = {});
};

kb.applyBindings = function(view_model, node) {
ko.applyBindings(view_model, node);
return kb.releaseOnNodeRemove(view_model, node);
Expand Down Expand Up @@ -7324,7 +7332,7 @@ kb.CollectionObservable = (function() {
this._col = ko.observable();
this.collection(collection);
this._mapper = ko.dependentObservable(function() {
var add_index, filters, model, models, sorted_index_fn, view_model, view_models, _i, _len;
var filters, model, models, sorted_index_fn, view_model, view_models, _i, _len;
if (_this.in_edit) {
return;
}
Expand All @@ -7348,12 +7356,11 @@ kb.CollectionObservable = (function() {
for (_i = 0, _len = models.length; _i < _len; _i++) {
model = models[_i];
view_model = _this._createViewModel(model);
add_index = sorted_index_fn(view_models, view_model);
view_models.splice(add_index, 0, view_model);
view_models.splice(sorted_index_fn(view_models, view_model), 0, view_model);
}
} else {
if (_this.models_only) {
view_models = filters.length ? models : _.clone(models);
view_models = filters.length ? models : models.slice();
} else {
view_models = _.map(models, function(model) {
return _this._createViewModel(model);
Expand All @@ -7371,16 +7378,16 @@ kb.CollectionObservable = (function() {
}

CollectionObservable.prototype.destroy = function() {
var collection, observable;
var array, collection, observable;
observable = kb.utils.wrappedObservable(this);
collection = this._col();
if (collection) {
collection.unbind('all', this.__kb._onCollectionChange);
this._clear(true);
array = observable();
array.splice(0, array.length);
}
kb.release(this.filters);
this.filters = null;
this.create_options = null;
this.filters = this._col = this.sorted_index_fn = this._mapper = this.create_options = null;
kb.utils.wrappedDestroy(this);
return !kb.statistics || kb.statistics.unregister('CollectionObservable', this);
};
Expand Down Expand Up @@ -7496,14 +7503,14 @@ kb.CollectionObservable = (function() {
};

CollectionObservable.prototype._onModelResort = function(model) {
var new_index, observable, previous_index, sorted_view_models, view_model;
var new_index, observable, previous_index, sorted_index_fn, sorted_view_models, view_model;
observable = kb.utils.wrappedObservable(this);
view_model = this.models_only ? model : this.viewModelByModel(model);
previous_index = observable.indexOf(view_model);
if (this.sorted_index_fn) {
if ((sorted_index_fn = this.sorted_index_fn())) {
sorted_view_models = _.clone(observable());
sorted_view_models.splice(previous_index, 1);
new_index = this.sorted_index_fn(sorted_view_models, view_model);
new_index = sorted_index_fn(sorted_view_models, view_model);
} else {
new_index = this._col().indexOf(model);
}
Expand Down Expand Up @@ -7556,20 +7563,6 @@ kb.CollectionObservable = (function() {
return this;
};

CollectionObservable.prototype._clear = function(silent) {
var array, observable;
observable = kb.utils.wrappedObservable(this);
if (silent) {
array = observable();
array.splice(0, array.length);
} else {
this.in_edit++;
observable.removeAll();
this.in_edit--;
}
return this;
};

CollectionObservable.prototype._sortAttributeFn = function(sort_attribute) {
if (this.models_only) {
return function(models, model) {
Expand Down Expand Up @@ -7626,5 +7619,80 @@ kb.sortedIndexWrapAttr = kb.siwa = function(attribute_name, wrapper_constructor)
});
};
};

/*
knockback-inject.js
(c) 2011, 2012 Kevin Malakoff.
Knockback.Inject is freely distributable under the MIT license.
See the following for full license details:
https://github.com/kmalakoff/knockback/blob/master/LICENSE
*/


ko.bindingHandlers['inject'] = {
'init': function(element, value_accessor, all_bindings_accessor, view_model) {
var data, wrapper;
data = ko.utils.unwrapObservable(value_accessor());
wrapper = ko.dependentObservable(function() {
var key, value, _results;
if (_.isFunction(data)) {
return data(view_model, element, value_accessor, all_bindings_accessor);
} else if (_.isObject(data)) {
_results = [];
for (key in data) {
value = data[key];
if (_.isObject(value) && value.resolve && _.isFunction(value.resolve)) {
_results.push(view_model[key] = value.resolve(view_model, element, value_accessor, all_bindings_accessor));
} else {
_results.push(view_model[key] = value);
}
}
return _results;
}
});
return wrapper.dispose();
}
};

kb.injectApps = function(root) {
var app, apps, getAppElements, options, _i, _len;
apps = [];
getAppElements = function(el) {
var attr, child_el, _i, _len, _ref;
if (el.attributes && (attr = _.find(el.attributes, function(attr) {
return attr.name === 'kb-app';
}))) {
apps.push([el, attr]);
}
_ref = el.childNodes;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
child_el = _ref[_i];
getAppElements(child_el);
}
};
getAppElements(root || document);
for (_i = 0, _len = apps.length; _i < _len; _i++) {
app = apps[_i];
if (app[1].value) {
options = ko.utils.buildEvalWithinScopeFunction("{" + app[1].value + "}", 0)();
}
options || (options = {});
options.view_model || (options.view_model = {});
if (options.beforeBinding) {
options.beforeBinding(options.view_model, app[0], options);
}
kb.applyBindings(options.view_model, app[0], {});
if (options.afterBinding) {
options.afterBinding(options.view_model, app[0], options);
}
}
};

(onReady = function() {
if (!document.body) {
return setTimeout(onReady, 1);
}
kb.injectApps();
})();
; return kb;});
}).call(this);
Loading

0 comments on commit 1aece63

Please sign in to comment.