From ed8def4ece6142c8ea0144c471b81813ca644f7b Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Wed, 1 Sep 2021 10:57:57 +0300 Subject: [PATCH] ref --- client/src/views/record/panels-container.js | 44 +++++++++++---------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/client/src/views/record/panels-container.js b/client/src/views/record/panels-container.js index 889e11ed0d..e9cf411e95 100644 --- a/client/src/views/record/panels-container.js +++ b/client/src/views/record/panels-container.js @@ -227,6 +227,8 @@ define('views/record/panels-container', 'view', function (Dep) { } } + let wasShown = !this.recordHelper.getPanelStateParam(name, 'hidden'); + this.recordHelper.setPanelStateParam(name, 'hidden', false); var isFound = false; @@ -251,7 +253,7 @@ define('views/record/panels-container', 'view', function (Dep) { view.disabled = false; view.trigger('show'); - if (view.getFieldViews) { + if (!wasShown && view.getFieldViews) { var fields = view.getFieldViews(); if (fields) { @@ -261,26 +263,27 @@ define('views/record/panels-container', 'view', function (Dep) { } } } + if (typeof callback === 'function') { callback.call(this); } + + return; } - else { - this.once('after:render', () => { - var view = this.getView(name); - if (view) { - view.$el.closest('.panel').removeClass('hidden'); - view.disabled = false; - view.trigger('show'); - } + this.once('after:render', () => { + var view = this.getView(name); - if (typeof callback === 'function') { - callback.call(this); - } - }); + if (view) { + view.$el.closest('.panel').removeClass('hidden'); + view.disabled = false; + view.trigger('show'); + } - } + if (typeof callback === 'function') { + callback.call(this); + } + }); }, hidePanel: function (name, locked, softLockedType, callback) { @@ -323,13 +326,14 @@ define('views/record/panels-container', 'view', function (Dep) { if (typeof callback === 'function') { callback.call(this); } + + return; } - else { - if (typeof callback === 'function') { - this.once('after:render', () => { - callback.call(this); - }); - } + + if (typeof callback === 'function') { + this.once('after:render', () => { + callback.call(this); + }); } },