@ -48,6 +48,10 @@ export default Model.extend({
!props.height && this.set(keyAutoH, 1);
},
onRemove() {
this.getComponent().remove({ root: 1 });
changesUp: debounce(function(opt = {}) {
if (opt.temporary || opt.noCount || opt.avoidStore) {
return;
@ -8,6 +8,17 @@ export default Collection.extend({
initialize(models, config = {}) {
bindAll(this, 'itemLoaded');
this.config = config;
this.on('reset', this.onReset);
this.on('remove', this.onRemove);
onReset(m, opts = {}) {
const prev = opts.previousModels || [];
prev.map(p => this.onRemove(p));
onRemove(removed) {
removed && removed.onRemove();
itemLoaded() {
@ -1576,7 +1576,10 @@ const Component = Backbone.Model.extend(Styleable).extend(
remove(opts = {}) {
const { em } = this;
const coll = this.collection;
const remove = () => coll && coll.remove(this, opts);
const remove = () => {
coll && coll.remove(this, opts);
opts.root && this.components('');
};
const rmOpts = { ...opts };
[this, em].map(i =>
i.trigger('component:remove:before', this, remove, rmOpts)
@ -17,6 +17,10 @@ export default Model.extend({
um && um.add(frames);
this.get('frames').reset();
getFrames() {
return this.get('frames');
@ -6,6 +6,17 @@ export default Collection.extend({
add(m, o = {}) {