Skip to content

Commit

Permalink
release: v1.0.22
Browse files Browse the repository at this point in the history
  • Loading branch information
sueda_masaki committed May 8, 2014
1 parent 61a4261 commit fc5f3ed
Show file tree
Hide file tree
Showing 11 changed files with 76 additions and 100 deletions.
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "beez",
"version": "1.0.21",
"version": "1.0.22",
"description": "The framework for mobile browser faster development.",
"keywords": [
"beez",
Expand Down
2 changes: 1 addition & 1 deletion libs/beez-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "beez-core",
"version": "1.0.21",
"version": "1.0.22",
"description": "The core modules for beez",
"keywords": [
"beez",
Expand Down
2 changes: 1 addition & 1 deletion libs/beez-i18n/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "beez-18n",
"version": "1.0.21",
"version": "1.0.22",
"description": "The i18n translation library for beez",
"keywords": [
"beez",
Expand Down
2 changes: 1 addition & 1 deletion libs/beez-mvcr/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "beez-mvcr",
"version": "1.0.21",
"version": "1.0.22",
"description": "It is the MVCR libraries that depend on Beez Project.",
"keywords": [
"beez",
Expand Down
76 changes: 32 additions & 44 deletions libs/beez-mvcr/release/beez.mvcr.js
Original file line number Diff line number Diff line change
Expand Up @@ -1134,49 +1134,29 @@
},

/**
* _decideBindedModel
* _decideDeleteModel
*
* @memberof ModelManager
* @instance
* @private
* @param {Object} obj
* @param {Boolean} isCollection
* @return object
* @return Array
*/
_decideBindedModel: function _decideBindedModel(obj, isCollection) {
var model;
var returnedModel;
var children;
_decideDeleteModel: function _decideDeleteModel(obj) {
var deletes = [];

if (!isCollection) {
model = obj;
children = [];

_.each(model, function (v) {
var c = this.getChildrenAll(v);
children = children.concat(c);
}, this);

var candidates = children.concat(model);

// remove still binded models
var deletes = _.reject(candidates, function (d) {
return d.isBinded();
});

// models in diff still have some bindings
var diff = _.difference(candidates, deletes);
_.each(diff, function (model) {
throw new beez.Error('a disposing model have some bindings. models cid: ' + model.cid);
});

returnedModel = deletes;
} else {
returnedModel = obj;
if (!_.isArray(obj)) {
obj = [obj];
}

return returnedModel;
_.each(obj, function (m) {
deletes = deletes.concat(m.getChildrenAll());
}, this);
deletes = deletes.concat(obj);

return deletes;
},

/**
* model or collection specified by path is canceled and it removes from management. delete the descendants.
* If the binding is not removed. If the reference may be state without properly.
Expand All @@ -1196,28 +1176,36 @@
logger.debug(this.constructor.name, 'remove. path:', path);

if (objs.isCollection()) {
this._decideBindedModel(objs, true).removeAll &&
this._decideBindedModel(objs, true).removeAll(options);

objs.removeAll && objs.removeAll(options);
this.deleteFromParent(objs);
objs.dispose();

return this;
}

if (objs && !_.isArray(objs)) {
objs = [objs];
}
var deletes = this._decideDeleteModel(objs),
binding;

var deletes = this._decideBindedModel(objs);
// remove refference
_.each(deletes, function (d) {
this.deleteFromParent(d);
}, this);
d.beforeDispose && d.beforeDispose();
});

binding = _.reduce(deletes, function (list, d) {
if (d.isBinded()) {
list.push(d.cid);
}
return list;
}, []);

if (!_.isEmpty(binding)) {
throw new beez.Error('a disposing model have some bindings. models cid: [' + binding.join(', ') + ']');
}

// dispose
_.each(deletes, function (d) {
this.deleteFromParent(d);
d.dispose && d.dispose();
});
}, this);

return this;
},
Expand Down
4 changes: 2 additions & 2 deletions libs/beez-mvcr/release/beez.mvcr.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion libs/beez-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "beez-utils",
"version": "1.0.21",
"version": "1.0.22",
"description": "The utility library in mobile browser for beez",
"keywords": [
"beez",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "beez",
"version": "1.0.21",
"version": "1.0.22",
"description": "The framework for mobile browser faster development.",
"keywords": [
"beez",
Expand Down
78 changes: 33 additions & 45 deletions release/beez.js
Original file line number Diff line number Diff line change
Expand Up @@ -4008,49 +4008,29 @@
},

/**
* _decideBindedModel
* _decideDeleteModel
*
* @memberof ModelManager
* @instance
* @private
* @param {Object} obj
* @param {Boolean} isCollection
* @return object
* @return Array
*/
_decideBindedModel: function _decideBindedModel(obj, isCollection) {
var model;
var returnedModel;
var children;
_decideDeleteModel: function _decideDeleteModel(obj) {
var deletes = [];

if (!isCollection) {
model = obj;
children = [];

_.each(model, function (v) {
var c = this.getChildrenAll(v);
children = children.concat(c);
}, this);

var candidates = children.concat(model);

// remove still binded models
var deletes = _.reject(candidates, function (d) {
return d.isBinded();
});

// models in diff still have some bindings
var diff = _.difference(candidates, deletes);
_.each(diff, function (model) {
throw new beez.Error('a disposing model have some bindings. models cid: ' + model.cid);
});

returnedModel = deletes;
} else {
returnedModel = obj;
if (!_.isArray(obj)) {
obj = [obj];
}

return returnedModel;
_.each(obj, function (m) {
deletes = deletes.concat(m.getChildrenAll());
}, this);
deletes = deletes.concat(obj);

return deletes;
},

/**
* model or collection specified by path is canceled and it removes from management. delete the descendants.
* If the binding is not removed. If the reference may be state without properly.
Expand All @@ -4070,28 +4050,36 @@
logger.debug(this.constructor.name, 'remove. path:', path);

if (objs.isCollection()) {
this._decideBindedModel(objs, true).removeAll &&
this._decideBindedModel(objs, true).removeAll(options);

objs.removeAll && objs.removeAll(options);
this.deleteFromParent(objs);
objs.dispose();

return this;
}

if (objs && !_.isArray(objs)) {
objs = [objs];
}
var deletes = this._decideDeleteModel(objs),
binding;

var deletes = this._decideBindedModel(objs);
// remove refference
_.each(deletes, function (d) {
this.deleteFromParent(d);
}, this);
d.beforeDispose && d.beforeDispose();
});

binding = _.reduce(deletes, function (list, d) {
if (d.isBinded()) {
list.push(d.cid);
}
return list;
}, []);

if (!_.isEmpty(binding)) {
throw new beez.Error('a disposing model have some bindings. models cid: [' + binding.join(', ') + ']');
}

// dispose
_.each(deletes, function (d) {
this.deleteFromParent(d);
d.dispose && d.dispose();
});
}, this);

return this;
},
Expand Down Expand Up @@ -8158,7 +8146,7 @@ v *
* @overview beez entrypoint
*/

var VERSION = '1.0.21';
var VERSION = '1.0.22';

if (typeof module !== 'undefined' && module.exports) { // node.js: main
exports.VERSION = VERSION;
Expand Down
4 changes: 2 additions & 2 deletions release/beez.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion s/beez/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* @overview beez entrypoint
*/

var VERSION = '1.0.21';
var VERSION = '1.0.22';

if (typeof module !== 'undefined' && module.exports) { // node.js: main
exports.VERSION = VERSION;
Expand Down

0 comments on commit fc5f3ed

Please sign in to comment.