From 0095cfd68c79989cf34c3f0d02c3ee02b23fff2f Mon Sep 17 00:00:00 2001 From: yuri Date: Mon, 10 Jun 2019 13:36:25 +0300 Subject: [PATCH] dashboard tab id --- client/src/views/dashboard.js | 16 +++++++++++++--- .../views/settings/fields/dashboard-layout.js | 13 +++++++++++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/client/src/views/dashboard.js b/client/src/views/dashboard.js index f08ac8213c..d9f5ab6db0 100644 --- a/client/src/views/dashboard.js +++ b/client/src/views/dashboard.js @@ -65,19 +65,25 @@ define('views/dashboard', ['view', 'lib!gridstack'], function (Dep, Gridstack) { (data.dashboardTabList).forEach(function (name) { var layout = []; + var id = null; this.dashboardLayout.forEach(function (d) { if (d.name == name) { layout = d.layout; + id = d.id; } }, this); if (name in data.renameMap) { name = data.renameMap[name]; } - dashboardLayout.push({ + var o = { name: name, - layout: layout - }); + layout: layout, + }; + if (id) { + o.id = id; + } + dashboardLayout.push(o); }, this); this.dashletIdList.forEach(function (item) { @@ -107,6 +113,10 @@ define('views/dashboard', ['view', 'lib!gridstack'], function (Dep, Gridstack) { }; }, + generateId: function () { + return (Math.floor(Math.random() * 10000001)).toString(); + }, + setupCurrentTabLayout: function () { if (!this.dashboardLayout) { var defaultLayout = [ diff --git a/client/src/views/settings/fields/dashboard-layout.js b/client/src/views/settings/fields/dashboard-layout.js index 193461f306..e4c3289590 100644 --- a/client/src/views/settings/fields/dashboard-layout.js +++ b/client/src/views/settings/fields/dashboard-layout.js @@ -123,13 +123,19 @@ Espo.define('views/settings/fields/dashboard-layout', ['views/fields/base', 'lib grid.addWidget($item, 0, 0, 2, 2); }, + + generateId: function () { + return (Math.floor(Math.random() * 10000001)).toString(); + }, + addDashlet: function (name) { var id = 'd' + (Math.floor(Math.random() * 1000001)).toString(); if (!~this.currentTab) { this.dashboardLayout.push({ name: 'My Espo', - layout: [] + layout: [], + id: this.generateId(), }); this.currentTab = 0; this.setupCurrentTabLayout(); @@ -181,9 +187,11 @@ Espo.define('views/settings/fields/dashboard-layout', ['views/fields/base', 'lib (data.dashboardTabList).forEach(function (name) { var layout = []; + var id = this.generateId(); this.dashboardLayout.forEach(function (d) { if (d.name == name) { layout = d.layout; + id = d.id; } }, this); if (name in data.renameMap) { @@ -191,7 +199,8 @@ Espo.define('views/settings/fields/dashboard-layout', ['views/fields/base', 'lib } dashboardLayout.push({ name: name, - layout: layout + layout: layout, + id: id, }); }, this);