From 0133372233a71608d2e2126a96dcfbc565f79a22 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 1 Mar 2023 20:16:59 +0300 Subject: [PATCH] [DE] Fix document lists --- apps/common/main/lib/component/DataView.js | 14 +++++++++++++- apps/documenteditor/main/app/controller/Toolbar.js | 8 ++++++-- apps/documenteditor/main/app/view/Toolbar.js | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index f25a13131e..62d4585a3c 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -328,7 +328,10 @@ define([ if (this.listenStoreEvents) { this.listenTo(this.store, 'add', this.onAddItem); this.listenTo(this.store, 'reset', this.onResetItems); - this.groups && this.listenTo(this.groups, 'add', this.onAddGroup); + if (this.groups) { + this.listenTo(this.groups, 'add', this.onAddGroup); + this.listenTo(this.groups, 'remove', this.onRemoveGroup); + } } this.onResetItems(); @@ -559,6 +562,15 @@ define([ } }, + onRemoveGroup: function(group) { + var innerEl = $(this.el).find('.inner').addBack().filter('.inner'); + if (innerEl) { + var div = innerEl.find('#' + group.get('id') + '.grouped-data'); + div && div.remove(); + } + this._layoutParams = undefined; + }, + onResetItems: function() { _.each(this.dataViewItems, function(item) { var tip = item.$el.data('bs.tooltip'); diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index dbbb1d29e6..02c8151841 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -1390,12 +1390,13 @@ define([ var patterns = this._listPatterns[type]; if (!patterns) return; + picker.store.remove(picker.store.where({type: 2})); + var rec = picker.groups.findWhere({type: 2}); if (!rec && patterns.length>0) picker.groups.add({id: picker.options.listSettings.docGroup, caption: picker.options.listSettings.docName, type: 2}); else if (rec && patterns.length===0) picker.groups.remove(rec); - picker.store.remove(picker.store.where({type: 2})); for (var i=0; i