From f142cfb697dccd425a6004b160d77576965f36d6 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 21 Jul 2021 21:05:42 +0300 Subject: [PATCH 1/2] Fix changing dataview items --- apps/common/main/lib/component/DataView.js | 14 ++++++- apps/documenteditor/main/app/view/Toolbar.js | 42 +++++++++---------- .../main/app/view/Toolbar.js | 34 +++++++-------- .../main/app/view/DocumentHolder.js | 30 ++++++------- 4 files changed, 66 insertions(+), 54 deletions(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index 59e1fbb6b..b38eae935 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -126,7 +126,7 @@ define([ me.template = me.options.template || me.template; - me.listenTo(me.model, 'change', me.render); + me.listenTo(me.model, 'change', this.model.get('skipRenderOnChange') ? me.onChange : me.render); me.listenTo(me.model, 'change:selected', me.onSelectChange); me.listenTo(me.model, 'remove', me.remove); }, @@ -185,6 +185,18 @@ define([ onSelectChange: function(model, selected) { this.trigger('select', this, model, selected); + }, + + onChange: function () { + if (_.isUndefined(this.model.id)) + return this; + var el = this.$el || $(this.el); + el.toggleClass('selected', this.model.get('selected') && this.model.get('allowSelected')); + el.toggleClass('disabled', !!this.model.get('disabled')); + + this.trigger('change', this, this.model); + + return this; } }); diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index 91a673d29..576da4114 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -1873,15 +1873,15 @@ define([ restoreHeight: 138, allowScrollbar: false, store: new Common.UI.DataViewStore([ - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: -1}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 1}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 2}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 3}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 4}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 5}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 6}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 7}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 8}} + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: -1}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 1}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 2}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 3}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 4}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 5}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 6}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 7}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 8}, skipRenderOnChange: true} ]), itemTemplate: _.template('
') }); @@ -1894,14 +1894,14 @@ define([ restoreHeight: 92, allowScrollbar: false, store: new Common.UI.DataViewStore([ - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: -1}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 4}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 5}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 6}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 1}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 2}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 3}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 7}} + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: -1}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 4}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 5}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 6}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 1}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 2}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 3}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 7}, skipRenderOnChange: true} ]), itemTemplate: _.template('
') }); @@ -1914,10 +1914,10 @@ define([ restoreHeight: 92, allowScrollbar: false, store: new Common.UI.DataViewStore([ - {id: 'id-multilevels-' + Common.UI.getId(), data: {type: 2, subtype: -1}}, - {id: 'id-multilevels-' + Common.UI.getId(), data: {type: 2, subtype: 1}}, - {id: 'id-multilevels-' + Common.UI.getId(), data: {type: 2, subtype: 2}}, - {id: 'id-multilevels-' + Common.UI.getId(), data: {type: 2, subtype: 3}} + {id: 'id-multilevels-' + Common.UI.getId(), data: {type: 2, subtype: -1}, skipRenderOnChange: true}, + {id: 'id-multilevels-' + Common.UI.getId(), data: {type: 2, subtype: 1}, skipRenderOnChange: true}, + {id: 'id-multilevels-' + Common.UI.getId(), data: {type: 2, subtype: 2}, skipRenderOnChange: true}, + {id: 'id-multilevels-' + Common.UI.getId(), data: {type: 2, subtype: 3}, skipRenderOnChange: true} ]), itemTemplate: _.template('
') }); diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js index 8fc62a9cd..6ce55b484 100644 --- a/apps/presentationeditor/main/app/view/Toolbar.js +++ b/apps/presentationeditor/main/app/view/Toolbar.js @@ -1304,15 +1304,15 @@ define([ restoreHeight: 138, allowScrollbar: false, store: new Common.UI.DataViewStore([ - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: -1}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 1}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 2}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 3}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 4}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 5}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 6}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 7}}, - {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 8}} + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: -1}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 1}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 2}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 3}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 4}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 5}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 6}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 7}, skipRenderOnChange: true}, + {id: 'id-markers-' + Common.UI.getId(), data: {type: 0, subtype: 8}, skipRenderOnChange: true} ]), itemTemplate: _.template('
') }); @@ -1325,14 +1325,14 @@ define([ restoreHeight: 92, allowScrollbar: false, store: new Common.UI.DataViewStore([ - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: -1}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 4}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 5}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 6}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 1}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 2}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 3}}, - {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 7}} + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: -1}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 4}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 5}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 6}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 1}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 2}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 3}, skipRenderOnChange: true}, + {id: 'id-numbers-' + Common.UI.getId(), data: {type: 1, subtype: 7}, skipRenderOnChange: true} ]), itemTemplate: _.template('
') }); diff --git a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js index a317f9438..d4e268cb4 100644 --- a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js @@ -946,21 +946,21 @@ define([ me.paraBulletsPicker = { conf: {rec: null}, store : new Common.UI.DataViewStore([ - {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 1}, - {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 2}, - {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 3}, - {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 4}, - {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 5}, - {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 6}, - {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 7}, - {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 8}, - {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 4}, - {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 5}, - {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 6}, - {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 1}, - {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 2}, - {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 3}, - {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 7} + {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 1, skipRenderOnChange: true}, + {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 2, skipRenderOnChange: true}, + {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 3, skipRenderOnChange: true}, + {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 4, skipRenderOnChange: true}, + {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 5, skipRenderOnChange: true}, + {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 6, skipRenderOnChange: true}, + {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 7, skipRenderOnChange: true}, + {group: 'menu-list-bullet-group', id: 'id-markers-' + Common.UI.getId(), type: 0, subtype: 8, skipRenderOnChange: true}, + {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 4, skipRenderOnChange: true}, + {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 5, skipRenderOnChange: true}, + {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 6, skipRenderOnChange: true}, + {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 1, skipRenderOnChange: true}, + {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 2, skipRenderOnChange: true}, + {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 3, skipRenderOnChange: true}, + {group: 'menu-list-number-group', id: 'id-numbers-' + Common.UI.getId(), type: 1, subtype: 7, skipRenderOnChange: true} ]), groups: new Common.UI.DataViewGroupStore([ {id: 'menu-list-bullet-group', caption: this.textBullets}, From 703fe815529095dd50e059b04de3441ac0d4f7fc Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 21 Jul 2021 22:09:10 +0300 Subject: [PATCH 2/2] Fix Bug 51435 --- apps/common/main/lib/component/DataView.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index b38eae935..cb893307e 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -318,7 +318,8 @@ define([ if (this.enableKeyEvents && this.parentMenu && this.handleSelect) { if (!me.showLast) this.parentMenu.on('show:before', function(menu) { me.deselectAll(); }); - this.parentMenu.on('show:after', function(menu) { + this.parentMenu.on('show:after', function(menu, e) { + if (e && (menu.el !== e.target)) return; if (me.showLast) me.showLastSelected(); Common.NotificationCenter.trigger('dataview:focus'); _.delay(function() {