@trops/dash-core 0.1.405 → 0.1.406
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +50 -9
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +50 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -55708,12 +55708,53 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
55708
55708
|
useEffect(function () {
|
|
55709
55709
|
if (popout) return;
|
|
55710
55710
|
var handler = function handler(e) {
|
|
55711
|
+
var _sidebarWorkspaceRef$;
|
|
55711
55712
|
var detail = (e === null || e === void 0 ? void 0 : e.detail) || {};
|
|
55712
55713
|
if (!workspaceSelected) return;
|
|
55713
|
-
|
|
55714
|
+
|
|
55715
|
+
// CRITICAL: LayoutBuilder edits (deletes, same-container moves,
|
|
55716
|
+
// new widget drops) live in each LayoutBuilder's internal state
|
|
55717
|
+
// and propagate upward only via refs — they never write back
|
|
55718
|
+
// into `workspaceSelected`. So we must overlay the LIVE refs
|
|
55719
|
+
// before applying the cross-container move, otherwise we'd base
|
|
55720
|
+
// the move on stale state and clobber the user's unsaved edits
|
|
55721
|
+
// (they'd see deleted widgets reappear after a cross-container
|
|
55722
|
+
// drop). This mirrors `handleClickSaveWorkspace`'s own logic.
|
|
55723
|
+
var liveWorkspace = JSON.parse(JSON.stringify(workspaceSelected));
|
|
55724
|
+
liveWorkspace.pages = (liveWorkspace.pages || []).map(function (page) {
|
|
55725
|
+
var _pageRef$current;
|
|
55726
|
+
var pageRef = pageRefsMap.current[page.id];
|
|
55727
|
+
var liveLayout = pageRef === null || pageRef === void 0 || (_pageRef$current = pageRef.current) === null || _pageRef$current === void 0 ? void 0 : _pageRef$current.layout;
|
|
55728
|
+
return liveLayout ? _objectSpread$6(_objectSpread$6({}, page), {}, {
|
|
55729
|
+
layout: liveLayout
|
|
55730
|
+
}) : page;
|
|
55731
|
+
});
|
|
55732
|
+
if ((_sidebarWorkspaceRef$ = sidebarWorkspaceRef.current) !== null && _sidebarWorkspaceRef$ !== void 0 && _sidebarWorkspaceRef$.layout && Array.isArray(sidebarWorkspaceRef.current.layout)) {
|
|
55733
|
+
liveWorkspace.sidebarLayout = sidebarWorkspaceRef.current.layout;
|
|
55734
|
+
}
|
|
55735
|
+
var updated = moveWidgetAcrossContainers(liveWorkspace, detail.sourceGridContainerId, detail.sourceCellNumber, detail.targetGridContainerId, detail.targetCellNumber);
|
|
55714
55736
|
if (!updated) {
|
|
55715
55737
|
return;
|
|
55716
55738
|
}
|
|
55739
|
+
|
|
55740
|
+
// Sync the refs so when LayoutBuilder's useEffect re-seeds
|
|
55741
|
+
// currentWorkspace from the new workspace prop below, and the
|
|
55742
|
+
// refs are also updated for the next save/cross-move.
|
|
55743
|
+
(updated.pages || []).forEach(function (page) {
|
|
55744
|
+
if (!pageRefsMap.current[page.id]) {
|
|
55745
|
+
pageRefsMap.current[page.id] = {
|
|
55746
|
+
current: null
|
|
55747
|
+
};
|
|
55748
|
+
}
|
|
55749
|
+
pageRefsMap.current[page.id].current = {
|
|
55750
|
+
layout: page.layout
|
|
55751
|
+
};
|
|
55752
|
+
});
|
|
55753
|
+
if (sidebarWorkspaceRef.current) {
|
|
55754
|
+
sidebarWorkspaceRef.current = _objectSpread$6(_objectSpread$6({}, sidebarWorkspaceRef.current || {}), {}, {
|
|
55755
|
+
layout: updated.sidebarLayout || []
|
|
55756
|
+
});
|
|
55757
|
+
}
|
|
55717
55758
|
updateTabWorkspace(updated);
|
|
55718
55759
|
if (dashApi && credentials !== null && credentials !== void 0 && credentials.appId) {
|
|
55719
55760
|
try {
|
|
@@ -56245,9 +56286,9 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56245
56286
|
// adding a new page (especially relevant when going from 1 → 2
|
|
56246
56287
|
// pages where the lone page's tab is hidden but its grid is live).
|
|
56247
56288
|
var existingPages = workspacePages.map(function (p) {
|
|
56248
|
-
var _pageRef$
|
|
56289
|
+
var _pageRef$current2;
|
|
56249
56290
|
var pageRef = pageRefsMap.current[p.id];
|
|
56250
|
-
var liveLayout = pageRef === null || pageRef === void 0 || (_pageRef$
|
|
56291
|
+
var liveLayout = pageRef === null || pageRef === void 0 || (_pageRef$current2 = pageRef.current) === null || _pageRef$current2 === void 0 ? void 0 : _pageRef$current2.layout;
|
|
56251
56292
|
return liveLayout ? _objectSpread$6(_objectSpread$6({}, p), {}, {
|
|
56252
56293
|
layout: liveLayout
|
|
56253
56294
|
}) : p;
|
|
@@ -56484,11 +56525,11 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56484
56525
|
|
|
56485
56526
|
// Derive scrollable state from the active page's root layout item
|
|
56486
56527
|
function getRootScrollable() {
|
|
56487
|
-
var _pageRef$
|
|
56528
|
+
var _pageRef$current3, _ws$pages;
|
|
56488
56529
|
var ws = currentWorkspaceRef.current || workspaceSelected;
|
|
56489
56530
|
if (!ws) return false;
|
|
56490
56531
|
var pageRef = pageRefsMap.current[currentActivePageId];
|
|
56491
|
-
var layout = (pageRef === null || pageRef === void 0 || (_pageRef$
|
|
56532
|
+
var layout = (pageRef === null || pageRef === void 0 || (_pageRef$current3 = pageRef.current) === null || _pageRef$current3 === void 0 ? void 0 : _pageRef$current3.layout) || ((_ws$pages = ws.pages) === null || _ws$pages === void 0 || (_ws$pages = _ws$pages.find(function (p) {
|
|
56492
56533
|
return p.id === currentActivePageId;
|
|
56493
56534
|
})) === null || _ws$pages === void 0 ? void 0 : _ws$pages.layout);
|
|
56494
56535
|
if (!layout) return false;
|
|
@@ -56499,15 +56540,15 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56499
56540
|
}
|
|
56500
56541
|
function handleClickSaveWorkspace() {
|
|
56501
56542
|
try {
|
|
56502
|
-
var _sidebarWorkspaceRef
|
|
56543
|
+
var _sidebarWorkspaceRef$2;
|
|
56503
56544
|
// we have to remove the widgetConfig which contains the component
|
|
56504
56545
|
// sanitize the workspace layout remove widgetConfig items
|
|
56505
56546
|
// Gather latest layout from each page's LayoutBuilder ref
|
|
56506
56547
|
var workspaceToSave = deepCopy(workspaceSelected);
|
|
56507
56548
|
workspaceToSave.pages = (workspaceToSave.pages || []).map(function (page) {
|
|
56508
|
-
var _pageRef$
|
|
56549
|
+
var _pageRef$current4;
|
|
56509
56550
|
var pageRef = pageRefsMap.current[page.id];
|
|
56510
|
-
var latestLayout = (pageRef === null || pageRef === void 0 || (_pageRef$
|
|
56551
|
+
var latestLayout = (pageRef === null || pageRef === void 0 || (_pageRef$current4 = pageRef.current) === null || _pageRef$current4 === void 0 ? void 0 : _pageRef$current4.layout) || page.layout || [];
|
|
56511
56552
|
return _objectSpread$6(_objectSpread$6({}, page), {}, {
|
|
56512
56553
|
layout: latestLayout.map(function (item) {
|
|
56513
56554
|
var copy = _objectSpread$6({}, item);
|
|
@@ -56526,7 +56567,7 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56526
56567
|
}
|
|
56527
56568
|
|
|
56528
56569
|
// Gather sidebar layout from its LayoutBuilder ref
|
|
56529
|
-
if ((_sidebarWorkspaceRef$ = sidebarWorkspaceRef.current) !== null && _sidebarWorkspaceRef$ !== void 0 && _sidebarWorkspaceRef
|
|
56570
|
+
if ((_sidebarWorkspaceRef$2 = sidebarWorkspaceRef.current) !== null && _sidebarWorkspaceRef$2 !== void 0 && _sidebarWorkspaceRef$2.layout) {
|
|
56530
56571
|
workspaceToSave.sidebarLayout = sidebarWorkspaceRef.current.layout.map(function (item) {
|
|
56531
56572
|
var copy = _objectSpread$6({}, item);
|
|
56532
56573
|
delete copy.widgetConfig;
|