@trops/dash-core 0.1.21 → 0.1.22
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 +259 -78
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +259 -78
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -10573,6 +10573,18 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
10573
10573
|
} catch (e) {
|
|
10574
10574
|
}
|
|
10575
10575
|
}
|
|
10576
|
+
function handleChangeRowMode(gridContainerId, rowNumber, mode) {
|
|
10577
|
+
try {
|
|
10578
|
+
var dashboard = new DashboardModel(currentWorkspace);
|
|
10579
|
+
var result = dashboard.changeRowMode(gridContainerId, rowNumber, mode);
|
|
10580
|
+
if (result) {
|
|
10581
|
+
var newWorkspace = dashboard.workspace();
|
|
10582
|
+
setCurrentWorkspace(newWorkspace);
|
|
10583
|
+
} else {
|
|
10584
|
+
}
|
|
10585
|
+
} catch (e) {
|
|
10586
|
+
}
|
|
10587
|
+
}
|
|
10576
10588
|
|
|
10577
10589
|
/**
|
|
10578
10590
|
* handle the click of a cell in a grid that does not contain a widget yet
|
|
@@ -10658,6 +10670,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
10658
10670
|
onAddGridColumn: handleAddGridColumn,
|
|
10659
10671
|
onDeleteGridColumn: handleDeleteGridColumn,
|
|
10660
10672
|
onChangeRowHeight: handleChangeRowHeight,
|
|
10673
|
+
onChangeRowMode: handleChangeRowMode,
|
|
10661
10674
|
onMoveWidgetToCell: handleMoveWidgetToCell
|
|
10662
10675
|
}, "layout-drag-".concat(dashboardId)), preview === false && editMode === "all" && /*#__PURE__*/jsx(LayoutDragBuilderEdit, {
|
|
10663
10676
|
dashboardId: dashboardId,
|
|
@@ -10702,6 +10715,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
10702
10715
|
onAddGridColumn: handleAddGridColumn,
|
|
10703
10716
|
onDeleteGridColumn: handleDeleteGridColumn,
|
|
10704
10717
|
onChangeRowHeight: handleChangeRowHeight,
|
|
10718
|
+
onChangeRowMode: handleChangeRowMode,
|
|
10705
10719
|
onMoveWidgetToCell: handleMoveWidgetToCell,
|
|
10706
10720
|
onDropWidgetFromSidebar: handleDropWidgetFromSidebar
|
|
10707
10721
|
}, "layout-drag-edit-".concat(dashboardId))]
|
|
@@ -10791,7 +10805,9 @@ var LayoutDragBuilder = function LayoutDragBuilder(_ref) {
|
|
|
10791
10805
|
_ref$onDeleteGridColu = _ref.onDeleteGridColumn,
|
|
10792
10806
|
onDeleteGridColumn = _ref$onDeleteGridColu === void 0 ? null : _ref$onDeleteGridColu,
|
|
10793
10807
|
_ref$onChangeRowHeigh = _ref.onChangeRowHeight,
|
|
10794
|
-
onChangeRowHeight = _ref$onChangeRowHeigh === void 0 ? null : _ref$onChangeRowHeigh
|
|
10808
|
+
onChangeRowHeight = _ref$onChangeRowHeigh === void 0 ? null : _ref$onChangeRowHeigh,
|
|
10809
|
+
_ref$onChangeRowMode = _ref.onChangeRowMode,
|
|
10810
|
+
onChangeRowMode = _ref$onChangeRowMode === void 0 ? null : _ref$onChangeRowMode;
|
|
10795
10811
|
return isDraggable === true ? /*#__PURE__*/jsx(DndProvider, {
|
|
10796
10812
|
backend: HTML5Backend,
|
|
10797
10813
|
children: _renderLayout({
|
|
@@ -10821,7 +10837,8 @@ var LayoutDragBuilder = function LayoutDragBuilder(_ref) {
|
|
|
10821
10837
|
onDeleteGridRow: onDeleteGridRow,
|
|
10822
10838
|
onAddGridColumn: onAddGridColumn,
|
|
10823
10839
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
10824
|
-
onChangeRowHeight: onChangeRowHeight
|
|
10840
|
+
onChangeRowHeight: onChangeRowHeight,
|
|
10841
|
+
onChangeRowMode: onChangeRowMode
|
|
10825
10842
|
})
|
|
10826
10843
|
}, "dnd-provider") : _renderLayout({
|
|
10827
10844
|
dashboardId: dashboardId,
|
|
@@ -10850,7 +10867,8 @@ var LayoutDragBuilder = function LayoutDragBuilder(_ref) {
|
|
|
10850
10867
|
onDeleteGridRow: onDeleteGridRow,
|
|
10851
10868
|
onAddGridColumn: onAddGridColumn,
|
|
10852
10869
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
10853
|
-
onChangeRowHeight: onChangeRowHeight
|
|
10870
|
+
onChangeRowHeight: onChangeRowHeight,
|
|
10871
|
+
onChangeRowMode: onChangeRowMode
|
|
10854
10872
|
});
|
|
10855
10873
|
};
|
|
10856
10874
|
|
|
@@ -10898,6 +10916,8 @@ var LayoutDragBuilderEdit = function LayoutDragBuilderEdit(_ref) {
|
|
|
10898
10916
|
onDeleteGridColumn = _ref$onDeleteGridColu === void 0 ? null : _ref$onDeleteGridColu,
|
|
10899
10917
|
_ref$onChangeRowHeigh = _ref.onChangeRowHeight,
|
|
10900
10918
|
onChangeRowHeight = _ref$onChangeRowHeigh === void 0 ? null : _ref$onChangeRowHeigh,
|
|
10919
|
+
_ref$onChangeRowMode = _ref.onChangeRowMode,
|
|
10920
|
+
onChangeRowMode = _ref$onChangeRowMode === void 0 ? null : _ref$onChangeRowMode,
|
|
10901
10921
|
_ref$onMoveWidgetToCe = _ref.onMoveWidgetToCell,
|
|
10902
10922
|
onMoveWidgetToCell = _ref$onMoveWidgetToCe === void 0 ? null : _ref$onMoveWidgetToCe,
|
|
10903
10923
|
_ref$onDropWidgetFrom = _ref.onDropWidgetFromSidebar,
|
|
@@ -10936,6 +10956,7 @@ var LayoutDragBuilderEdit = function LayoutDragBuilderEdit(_ref) {
|
|
|
10936
10956
|
onAddGridColumn: onAddGridColumn,
|
|
10937
10957
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
10938
10958
|
onChangeRowHeight: onChangeRowHeight,
|
|
10959
|
+
onChangeRowMode: onChangeRowMode,
|
|
10939
10960
|
onMoveWidgetToCell: onMoveWidgetToCell,
|
|
10940
10961
|
onDropWidgetFromSidebar: onDropWidgetFromSidebar
|
|
10941
10962
|
});
|
|
@@ -13166,6 +13187,8 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
13166
13187
|
onDeleteGridColumn = _ref3$onDeleteGridCol === void 0 ? null : _ref3$onDeleteGridCol,
|
|
13167
13188
|
_ref3$onChangeRowHeig = _ref3.onChangeRowHeight,
|
|
13168
13189
|
onChangeRowHeight = _ref3$onChangeRowHeig === void 0 ? null : _ref3$onChangeRowHeig,
|
|
13190
|
+
_ref3$onChangeRowMode = _ref3.onChangeRowMode,
|
|
13191
|
+
onChangeRowMode = _ref3$onChangeRowMode === void 0 ? null : _ref3$onChangeRowMode,
|
|
13169
13192
|
_ref3$onMoveWidgetToC = _ref3.onMoveWidgetToCell,
|
|
13170
13193
|
onMoveWidgetToCell = _ref3$onMoveWidgetToC === void 0 ? null : _ref3$onMoveWidgetToC,
|
|
13171
13194
|
_ref3$onDropWidgetFro = _ref3.onDropWidgetFromSidebar,
|
|
@@ -13196,18 +13219,39 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
13196
13219
|
var GRID_PAD = 16; // px — matches p-4 (1rem)
|
|
13197
13220
|
var GRID_GAP = 20; // px — matches gap-5 (1.25rem)
|
|
13198
13221
|
|
|
13199
|
-
// Compute
|
|
13222
|
+
// Compute row template tracks respecting rowModes and rowHeights
|
|
13200
13223
|
function getRowTemplate(grid) {
|
|
13201
13224
|
var unit = grid.rowUnit || 300;
|
|
13202
13225
|
var heights = grid.rowHeights || {};
|
|
13226
|
+
var modes = grid.rowModes || {};
|
|
13203
13227
|
var tracks = [];
|
|
13204
13228
|
for (var r = 1; r <= grid.rows; r++) {
|
|
13205
|
-
var
|
|
13206
|
-
|
|
13229
|
+
var mode = modes[String(r)] || "fixed";
|
|
13230
|
+
switch (mode) {
|
|
13231
|
+
case "shrink":
|
|
13232
|
+
tracks.push("auto");
|
|
13233
|
+
break;
|
|
13234
|
+
case "grow":
|
|
13235
|
+
tracks.push("minmax(0, 1fr)");
|
|
13236
|
+
break;
|
|
13237
|
+
default:
|
|
13238
|
+
{
|
|
13239
|
+
var mult = heights[String(r)] || 1;
|
|
13240
|
+
tracks.push("".concat(unit * mult, "px"));
|
|
13241
|
+
break;
|
|
13242
|
+
}
|
|
13243
|
+
}
|
|
13207
13244
|
}
|
|
13208
13245
|
return tracks.join(" ");
|
|
13209
13246
|
}
|
|
13210
13247
|
|
|
13248
|
+
// Check if any row has an explicit mode set
|
|
13249
|
+
function hasExplicitRowModes() {
|
|
13250
|
+
if (!hasGrid) return false;
|
|
13251
|
+
var modes = item.grid.rowModes;
|
|
13252
|
+
return modes && Object.keys(modes).length > 0;
|
|
13253
|
+
}
|
|
13254
|
+
|
|
13211
13255
|
// Get the current multiplier for a row
|
|
13212
13256
|
function getRowMultiplier(row) {
|
|
13213
13257
|
var _item$grid$rowHeights;
|
|
@@ -13215,15 +13259,54 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
13215
13259
|
return ((_item$grid$rowHeights = item.grid.rowHeights) === null || _item$grid$rowHeights === void 0 ? void 0 : _item$grid$rowHeights[String(row)]) || 1;
|
|
13216
13260
|
}
|
|
13217
13261
|
|
|
13218
|
-
//
|
|
13219
|
-
function
|
|
13220
|
-
var
|
|
13221
|
-
|
|
13222
|
-
|
|
13223
|
-
|
|
13262
|
+
// Get the current mode for a row
|
|
13263
|
+
function getRowMode(row) {
|
|
13264
|
+
var _item$grid$rowModes;
|
|
13265
|
+
if (!hasGrid) return "fixed";
|
|
13266
|
+
return ((_item$grid$rowModes = item.grid.rowModes) === null || _item$grid$rowModes === void 0 ? void 0 : _item$grid$rowModes[String(row)]) || "fixed";
|
|
13267
|
+
}
|
|
13268
|
+
|
|
13269
|
+
// Unified cycle: shrink → grow → fixed 1x → fixed 2x → fixed 3x → shrink
|
|
13270
|
+
function handleCycleRowSizing(row) {
|
|
13271
|
+
var mode = getRowMode(row);
|
|
13272
|
+
var mult = getRowMultiplier(row);
|
|
13273
|
+
if (mode === "shrink") {
|
|
13274
|
+
// shrink → grow
|
|
13275
|
+
if (onChangeRowMode) onChangeRowMode(id, row, "grow");
|
|
13276
|
+
} else if (mode === "grow") {
|
|
13277
|
+
// grow → fixed 1x
|
|
13278
|
+
if (onChangeRowMode) onChangeRowMode(id, row, "fixed");
|
|
13279
|
+
} else {
|
|
13280
|
+
// fixed: cycle 1x → 2x → 3x → shrink
|
|
13281
|
+
if (mult >= 3) {
|
|
13282
|
+
if (onChangeRowMode) onChangeRowMode(id, row, "shrink");
|
|
13283
|
+
} else {
|
|
13284
|
+
if (onChangeRowHeight) onChangeRowHeight(id, row, mult + 1);
|
|
13285
|
+
}
|
|
13224
13286
|
}
|
|
13225
13287
|
}
|
|
13226
13288
|
|
|
13289
|
+
// Get display label and color for current row sizing
|
|
13290
|
+
function getRowSizingDisplay(row) {
|
|
13291
|
+
var mode = getRowMode(row);
|
|
13292
|
+
if (mode === "shrink") return {
|
|
13293
|
+
label: "S",
|
|
13294
|
+
color: "text-amber-400",
|
|
13295
|
+
hoverBg: "hover:bg-amber-400/10"
|
|
13296
|
+
};
|
|
13297
|
+
if (mode === "grow") return {
|
|
13298
|
+
label: "G",
|
|
13299
|
+
color: "text-green-400",
|
|
13300
|
+
hoverBg: "hover:bg-green-400/10"
|
|
13301
|
+
};
|
|
13302
|
+
var mult = getRowMultiplier(row);
|
|
13303
|
+
return {
|
|
13304
|
+
label: "".concat(mult, "x"),
|
|
13305
|
+
color: mult > 1 ? "text-blue-400" : "text-gray-500",
|
|
13306
|
+
hoverBg: mult > 1 ? "hover:bg-blue-400/10" : "hover:bg-gray-400/10"
|
|
13307
|
+
};
|
|
13308
|
+
}
|
|
13309
|
+
|
|
13227
13310
|
// Modal state for grid operations
|
|
13228
13311
|
var _useState = useState(false),
|
|
13229
13312
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -13524,14 +13607,23 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
13524
13607
|
}), /*#__PURE__*/jsxs("span", {
|
|
13525
13608
|
className: "text-[11px] text-gray-400 group-hover:text-gray-200 select-none font-mono font-medium",
|
|
13526
13609
|
children: ["R", row]
|
|
13527
|
-
}),
|
|
13528
|
-
|
|
13529
|
-
|
|
13530
|
-
|
|
13531
|
-
|
|
13532
|
-
|
|
13533
|
-
|
|
13534
|
-
|
|
13610
|
+
}), function () {
|
|
13611
|
+
var _getRowSizingDisplay = getRowSizingDisplay(row),
|
|
13612
|
+
label = _getRowSizingDisplay.label,
|
|
13613
|
+
color = _getRowSizingDisplay.color,
|
|
13614
|
+
hoverBg = _getRowSizingDisplay.hoverBg;
|
|
13615
|
+
var mode = getRowMode(row);
|
|
13616
|
+
var mult = getRowMultiplier(row);
|
|
13617
|
+
var titleParts = mode === "shrink" ? "Shrink (auto)" : mode === "grow" ? "Grow (1fr)" : "Fixed ".concat(mult, "x");
|
|
13618
|
+
return /*#__PURE__*/jsx("button", {
|
|
13619
|
+
className: "w-5 h-5 flex items-center justify-center rounded text-[10px] ".concat(color, " opacity-40 hover:opacity-100 ").concat(hoverBg, " transition-all font-mono font-bold select-none"),
|
|
13620
|
+
onClick: function onClick() {
|
|
13621
|
+
return handleCycleRowSizing(row);
|
|
13622
|
+
},
|
|
13623
|
+
title: "Row sizing: ".concat(titleParts, " (click to cycle)"),
|
|
13624
|
+
children: label
|
|
13625
|
+
});
|
|
13626
|
+
}(), /*#__PURE__*/jsx("button", {
|
|
13535
13627
|
className: "w-5 h-5 flex items-center justify-center rounded text-[10px] text-gray-600 opacity-40 hover:opacity-100 hover:text-green-400 hover:bg-green-400/10 transition-all",
|
|
13536
13628
|
onClick: function onClick() {
|
|
13537
13629
|
return handleAddRow(row);
|
|
@@ -13568,7 +13660,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
13568
13660
|
}), /*#__PURE__*/jsx("div", {
|
|
13569
13661
|
className: "grid ".concat(scrollable ? "" : "flex-1"),
|
|
13570
13662
|
style: {
|
|
13571
|
-
gridTemplateRows: scrollable ? getRowTemplate(item.grid) : "repeat(".concat(rows, ", minmax(0, 1fr))"),
|
|
13663
|
+
gridTemplateRows: scrollable ? getRowTemplate(item.grid) : hasExplicitRowModes() ? getRowTemplate(item.grid) : "repeat(".concat(rows, ", minmax(0, 1fr))"),
|
|
13572
13664
|
gap: GRID_GAP
|
|
13573
13665
|
},
|
|
13574
13666
|
children: rowItems
|
|
@@ -13963,7 +14055,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
13963
14055
|
id: "grid-container-".concat(id),
|
|
13964
14056
|
className: "grid flex-1 p-4 gap-5",
|
|
13965
14057
|
style: {
|
|
13966
|
-
gridTemplateRows: "repeat(".concat(item.grid.rows, ", minmax(0, 1fr))"),
|
|
14058
|
+
gridTemplateRows: hasExplicitRowModes() ? getRowTemplate(item.grid) : "repeat(".concat(item.grid.rows, ", minmax(0, 1fr))"),
|
|
13967
14059
|
gridTemplateColumns: "repeat(".concat(item.grid.cols, ", 1fr)"),
|
|
13968
14060
|
overflow: "hidden"
|
|
13969
14061
|
},
|
|
@@ -14074,7 +14166,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
14074
14166
|
id: "grid-container-".concat(id),
|
|
14075
14167
|
className: "absolute inset-0 grid p-3 ".concat(item.grid.gap || "gap-2"),
|
|
14076
14168
|
style: {
|
|
14077
|
-
gridTemplateRows: "repeat(".concat(item.grid.rows, ", minmax(0, 1fr))"),
|
|
14169
|
+
gridTemplateRows: hasExplicitRowModes() ? getRowTemplate(item.grid) : "repeat(".concat(item.grid.rows, ", minmax(0, 1fr))"),
|
|
14078
14170
|
gridTemplateColumns: "repeat(".concat(item.grid.cols, ", 1fr)"),
|
|
14079
14171
|
overflow: "hidden"
|
|
14080
14172
|
},
|
|
@@ -14167,6 +14259,8 @@ var _renderLayout = function renderLayout(_ref) {
|
|
|
14167
14259
|
onDeleteGridColumn = _ref$onDeleteGridColu === void 0 ? null : _ref$onDeleteGridColu,
|
|
14168
14260
|
_ref$onChangeRowHeigh = _ref.onChangeRowHeight,
|
|
14169
14261
|
onChangeRowHeight = _ref$onChangeRowHeigh === void 0 ? null : _ref$onChangeRowHeigh,
|
|
14262
|
+
_ref$onChangeRowMode = _ref.onChangeRowMode,
|
|
14263
|
+
onChangeRowMode = _ref$onChangeRowMode === void 0 ? null : _ref$onChangeRowMode,
|
|
14170
14264
|
_ref$onMoveWidgetToCe = _ref.onMoveWidgetToCell,
|
|
14171
14265
|
onMoveWidgetToCell = _ref$onMoveWidgetToCe === void 0 ? null : _ref$onMoveWidgetToCe,
|
|
14172
14266
|
_ref$onDropWidgetFrom = _ref.onDropWidgetFromSidebar,
|
|
@@ -14234,6 +14328,7 @@ var _renderLayout = function renderLayout(_ref) {
|
|
|
14234
14328
|
onAddGridColumn: onAddGridColumn,
|
|
14235
14329
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
14236
14330
|
onChangeRowHeight: onChangeRowHeight,
|
|
14331
|
+
onChangeRowMode: onChangeRowMode,
|
|
14237
14332
|
onMoveWidgetToCell: onMoveWidgetToCell,
|
|
14238
14333
|
onDropWidgetFromSidebar: onDropWidgetFromSidebar,
|
|
14239
14334
|
children: id > 0 && _renderLayout({
|
|
@@ -14270,6 +14365,7 @@ var _renderLayout = function renderLayout(_ref) {
|
|
|
14270
14365
|
onAddGridColumn: onAddGridColumn,
|
|
14271
14366
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
14272
14367
|
onChangeRowHeight: onChangeRowHeight,
|
|
14368
|
+
onChangeRowMode: onChangeRowMode,
|
|
14273
14369
|
onMoveWidgetToCell: onMoveWidgetToCell,
|
|
14274
14370
|
onDropWidgetFromSidebar: onDropWidgetFromSidebar
|
|
14275
14371
|
})
|
|
@@ -17049,6 +17145,20 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17049
17145
|
delete grid["".concat(grid.rows, ".").concat(_c7)];
|
|
17050
17146
|
}
|
|
17051
17147
|
grid.rows--;
|
|
17148
|
+
|
|
17149
|
+
// Shift rowModes keys up and remove the compacted row's entry
|
|
17150
|
+
if (grid.rowModes) {
|
|
17151
|
+
var shifted = {};
|
|
17152
|
+
for (var _i2 = 0, _Object$entries = Object.entries(grid.rowModes); _i2 < _Object$entries.length; _i2++) {
|
|
17153
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),
|
|
17154
|
+
_key2 = _Object$entries$_i[0],
|
|
17155
|
+
mode = _Object$entries$_i[1];
|
|
17156
|
+
var rowNum = Number(_key2);
|
|
17157
|
+
if (rowNum === _r6) continue;
|
|
17158
|
+
shifted[String(rowNum > _r6 ? rowNum - 1 : rowNum)] = mode;
|
|
17159
|
+
}
|
|
17160
|
+
grid.rowModes = Object.keys(shifted).length > 0 ? shifted : undefined;
|
|
17161
|
+
}
|
|
17052
17162
|
}
|
|
17053
17163
|
|
|
17054
17164
|
// --- Phase 3: Full normalization (steps 1-5) on the compacted grid ---
|
|
@@ -17082,14 +17192,14 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17082
17192
|
|
|
17083
17193
|
// 2. Remove out-of-bounds cell keys
|
|
17084
17194
|
var cellKeyPattern = /^(\d+)\.(\d+)$/;
|
|
17085
|
-
for (var
|
|
17086
|
-
var
|
|
17087
|
-
var match =
|
|
17195
|
+
for (var _i3 = 0, _Object$keys2 = Object.keys(grid); _i3 < _Object$keys2.length; _i3++) {
|
|
17196
|
+
var _key3 = _Object$keys2[_i3];
|
|
17197
|
+
var match = _key3.match(cellKeyPattern);
|
|
17088
17198
|
if (match) {
|
|
17089
17199
|
var _r7 = Number(match[1]);
|
|
17090
17200
|
var _c8 = Number(match[2]);
|
|
17091
17201
|
if (_r7 < 1 || _r7 > rows || _c8 < 1 || _c8 > cols) {
|
|
17092
|
-
delete grid[
|
|
17202
|
+
delete grid[_key3];
|
|
17093
17203
|
}
|
|
17094
17204
|
}
|
|
17095
17205
|
}
|
|
@@ -17120,13 +17230,13 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17120
17230
|
var covered = new Set();
|
|
17121
17231
|
for (var _r0 = 1; _r0 <= rows; _r0++) {
|
|
17122
17232
|
for (var _c1 = 1; _c1 <= cols; _c1++) {
|
|
17123
|
-
var
|
|
17124
|
-
var _cell5 = grid[
|
|
17233
|
+
var _key4 = "".concat(_r0, ".").concat(_c1);
|
|
17234
|
+
var _cell5 = grid[_key4];
|
|
17125
17235
|
if (!_cell5.span) continue;
|
|
17126
17236
|
|
|
17127
17237
|
// If this cell is already covered by an earlier span,
|
|
17128
17238
|
// remove its span to resolve the conflict
|
|
17129
|
-
if (covered.has(
|
|
17239
|
+
if (covered.has(_key4)) {
|
|
17130
17240
|
delete _cell5.span;
|
|
17131
17241
|
continue;
|
|
17132
17242
|
}
|
|
@@ -17146,7 +17256,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17146
17256
|
covered.add(coveredKey);
|
|
17147
17257
|
}
|
|
17148
17258
|
}
|
|
17149
|
-
covered.add(
|
|
17259
|
+
covered.add(_key4);
|
|
17150
17260
|
}
|
|
17151
17261
|
}
|
|
17152
17262
|
}
|
|
@@ -17232,8 +17342,8 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17232
17342
|
var visibleCells = [];
|
|
17233
17343
|
for (var r = 1; r <= grid.rows; r++) {
|
|
17234
17344
|
for (var c = 1; c <= oldCols; c++) {
|
|
17235
|
-
var
|
|
17236
|
-
var cell = grid[
|
|
17345
|
+
var _key5 = "".concat(r, ".").concat(c);
|
|
17346
|
+
var cell = grid[_key5];
|
|
17237
17347
|
if (cell && !cell.hide) {
|
|
17238
17348
|
var _cell$span, _cell$span2;
|
|
17239
17349
|
visibleCells.push({
|
|
@@ -17248,20 +17358,20 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17248
17358
|
}
|
|
17249
17359
|
|
|
17250
17360
|
// 2. Clear all cell keys
|
|
17251
|
-
for (var
|
|
17252
|
-
var
|
|
17253
|
-
if (/^\d+\.\d+$/.test(
|
|
17361
|
+
for (var _i4 = 0, _Object$keys3 = Object.keys(grid); _i4 < _Object$keys3.length; _i4++) {
|
|
17362
|
+
var _key6 = _Object$keys3[_i4];
|
|
17363
|
+
if (/^\d+\.\d+$/.test(_key6)) delete grid[_key6];
|
|
17254
17364
|
}
|
|
17255
17365
|
|
|
17256
17366
|
// 3. Update grid dimensions
|
|
17257
17367
|
grid.cols = oldCols * count;
|
|
17258
17368
|
|
|
17259
17369
|
// 4. Reposition all cells with scaled positions and spans
|
|
17260
|
-
for (var
|
|
17261
|
-
var vc = _visibleCells[
|
|
17370
|
+
for (var _i5 = 0, _visibleCells = visibleCells; _i5 < _visibleCells.length; _i5++) {
|
|
17371
|
+
var vc = _visibleCells[_i5];
|
|
17262
17372
|
var newCol = (vc.col - 1) * count + 1;
|
|
17263
|
-
var
|
|
17264
|
-
grid[
|
|
17373
|
+
var _key7 = "".concat(vc.row, ".").concat(newCol);
|
|
17374
|
+
grid[_key7] = _objectSpread$f(_objectSpread$f({}, vc.data), {}, {
|
|
17265
17375
|
hide: false,
|
|
17266
17376
|
span: {
|
|
17267
17377
|
row: vc.spanRow,
|
|
@@ -17276,16 +17386,16 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17276
17386
|
var _subSpan = newTargetSpan / count;
|
|
17277
17387
|
var _component = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
|
|
17278
17388
|
var rowSpan = (targetCell === null || targetCell === void 0 || (_targetCell$span4 = targetCell.span) === null || _targetCell$span4 === void 0 ? void 0 : _targetCell$span4.row) || 1;
|
|
17279
|
-
for (var
|
|
17280
|
-
var
|
|
17281
|
-
grid[
|
|
17282
|
-
component:
|
|
17389
|
+
for (var _i6 = 0; _i6 < count; _i6++) {
|
|
17390
|
+
var _key8 = "".concat(row, ".").concat(newTargetCol + _i6 * _subSpan);
|
|
17391
|
+
grid[_key8] = {
|
|
17392
|
+
component: _i6 === 0 ? _component : null,
|
|
17283
17393
|
hide: false
|
|
17284
17394
|
};
|
|
17285
17395
|
if (_subSpan > 1 || rowSpan > 1) {
|
|
17286
|
-
grid[
|
|
17287
|
-
if (_subSpan > 1) grid[
|
|
17288
|
-
if (rowSpan > 1) grid[
|
|
17396
|
+
grid[_key8].span = {};
|
|
17397
|
+
if (_subSpan > 1) grid[_key8].span.col = _subSpan;
|
|
17398
|
+
if (rowSpan > 1) grid[_key8].span.row = rowSpan;
|
|
17289
17399
|
}
|
|
17290
17400
|
}
|
|
17291
17401
|
}
|
|
@@ -17308,16 +17418,16 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17308
17418
|
delete targetCell.span;
|
|
17309
17419
|
|
|
17310
17420
|
// Create subdivided cells
|
|
17311
|
-
for (var
|
|
17312
|
-
var
|
|
17313
|
-
grid[
|
|
17314
|
-
component:
|
|
17421
|
+
for (var _i7 = 0; _i7 < count; _i7++) {
|
|
17422
|
+
var _key9 = "".concat(row + _i7 * _subSpan2, ".").concat(col);
|
|
17423
|
+
grid[_key9] = {
|
|
17424
|
+
component: _i7 === 0 ? _component2 : null,
|
|
17315
17425
|
hide: false
|
|
17316
17426
|
};
|
|
17317
17427
|
if (_subSpan2 > 1 || _targetSpanCol > 1) {
|
|
17318
|
-
grid[
|
|
17319
|
-
if (_subSpan2 > 1) grid[
|
|
17320
|
-
if (_targetSpanCol > 1) grid[
|
|
17428
|
+
grid[_key9].span = {};
|
|
17429
|
+
if (_subSpan2 > 1) grid[_key9].span.row = _subSpan2;
|
|
17430
|
+
if (_targetSpanCol > 1) grid[_key9].span.col = _targetSpanCol;
|
|
17321
17431
|
}
|
|
17322
17432
|
}
|
|
17323
17433
|
} else {
|
|
@@ -17329,8 +17439,8 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17329
17439
|
var _visibleCells2 = [];
|
|
17330
17440
|
for (var _r1 = 1; _r1 <= oldRows; _r1++) {
|
|
17331
17441
|
for (var _c10 = 1; _c10 <= grid.cols; _c10++) {
|
|
17332
|
-
var
|
|
17333
|
-
var _cell6 = grid[
|
|
17442
|
+
var _key0 = "".concat(_r1, ".").concat(_c10);
|
|
17443
|
+
var _cell6 = grid[_key0];
|
|
17334
17444
|
if (_cell6 && !_cell6.hide) {
|
|
17335
17445
|
var _cell6$span, _cell6$span2;
|
|
17336
17446
|
_visibleCells2.push({
|
|
@@ -17345,20 +17455,20 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17345
17455
|
}
|
|
17346
17456
|
|
|
17347
17457
|
// 2. Clear all cell keys
|
|
17348
|
-
for (var
|
|
17349
|
-
var
|
|
17350
|
-
if (/^\d+\.\d+$/.test(
|
|
17458
|
+
for (var _i8 = 0, _Object$keys4 = Object.keys(grid); _i8 < _Object$keys4.length; _i8++) {
|
|
17459
|
+
var _key1 = _Object$keys4[_i8];
|
|
17460
|
+
if (/^\d+\.\d+$/.test(_key1)) delete grid[_key1];
|
|
17351
17461
|
}
|
|
17352
17462
|
|
|
17353
17463
|
// 3. Update grid dimensions
|
|
17354
17464
|
grid.rows = oldRows * count;
|
|
17355
17465
|
|
|
17356
17466
|
// 4. Reposition all cells with scaled positions and spans
|
|
17357
|
-
for (var
|
|
17358
|
-
var _vc = _visibleCells3[
|
|
17467
|
+
for (var _i9 = 0, _visibleCells3 = _visibleCells2; _i9 < _visibleCells3.length; _i9++) {
|
|
17468
|
+
var _vc = _visibleCells3[_i9];
|
|
17359
17469
|
var newRow = (_vc.row - 1) * count + 1;
|
|
17360
|
-
var
|
|
17361
|
-
grid[
|
|
17470
|
+
var _key10 = "".concat(newRow, ".").concat(_vc.col);
|
|
17471
|
+
grid[_key10] = _objectSpread$f(_objectSpread$f({}, _vc.data), {}, {
|
|
17362
17472
|
hide: false,
|
|
17363
17473
|
span: {
|
|
17364
17474
|
row: _vc.spanRow * count,
|
|
@@ -17373,16 +17483,16 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17373
17483
|
var _subSpan3 = _newTargetSpan / count;
|
|
17374
17484
|
var _component3 = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
|
|
17375
17485
|
var colSpan = (targetCell === null || targetCell === void 0 || (_targetCell$span8 = targetCell.span) === null || _targetCell$span8 === void 0 ? void 0 : _targetCell$span8.col) || 1;
|
|
17376
|
-
for (var
|
|
17377
|
-
var
|
|
17378
|
-
grid[
|
|
17379
|
-
component:
|
|
17486
|
+
for (var _i0 = 0; _i0 < count; _i0++) {
|
|
17487
|
+
var _key11 = "".concat(newTargetRow + _i0 * _subSpan3, ".").concat(col);
|
|
17488
|
+
grid[_key11] = {
|
|
17489
|
+
component: _i0 === 0 ? _component3 : null,
|
|
17380
17490
|
hide: false
|
|
17381
17491
|
};
|
|
17382
17492
|
if (_subSpan3 > 1 || colSpan > 1) {
|
|
17383
|
-
grid[
|
|
17384
|
-
if (_subSpan3 > 1) grid[
|
|
17385
|
-
if (colSpan > 1) grid[
|
|
17493
|
+
grid[_key11].span = {};
|
|
17494
|
+
if (_subSpan3 > 1) grid[_key11].span.row = _subSpan3;
|
|
17495
|
+
if (colSpan > 1) grid[_key11].span.col = colSpan;
|
|
17386
17496
|
}
|
|
17387
17497
|
}
|
|
17388
17498
|
}
|
|
@@ -17534,6 +17644,50 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17534
17644
|
}
|
|
17535
17645
|
}
|
|
17536
17646
|
|
|
17647
|
+
/**
|
|
17648
|
+
* Change the sizing mode for a grid row
|
|
17649
|
+
* @param {Number} itemId The id of the grid container
|
|
17650
|
+
* @param {Number} rowNumber The row number (1-indexed)
|
|
17651
|
+
* @param {String} mode The sizing mode: "shrink", "grow", or "fixed"
|
|
17652
|
+
* @returns {Object} Updated grid or null on error
|
|
17653
|
+
*/
|
|
17654
|
+
}, {
|
|
17655
|
+
key: "changeRowMode",
|
|
17656
|
+
value: function changeRowMode(itemId, rowNumber, mode) {
|
|
17657
|
+
try {
|
|
17658
|
+
var gridContainer = this.getComponentById(itemId);
|
|
17659
|
+
if (!gridContainer || !gridContainer.grid) {
|
|
17660
|
+
return null;
|
|
17661
|
+
}
|
|
17662
|
+
var grid = gridContainer.grid;
|
|
17663
|
+
grid.rowModes = grid.rowModes || {};
|
|
17664
|
+
if (mode === "fixed" || !mode) {
|
|
17665
|
+
delete grid.rowModes[String(rowNumber)];
|
|
17666
|
+
} else {
|
|
17667
|
+
grid.rowModes[String(rowNumber)] = mode;
|
|
17668
|
+
}
|
|
17669
|
+
|
|
17670
|
+
// When switching away from fixed, clear the rowHeights entry for that row
|
|
17671
|
+
if (mode === "shrink" || mode === "grow") {
|
|
17672
|
+
if (grid.rowHeights) {
|
|
17673
|
+
delete grid.rowHeights[String(rowNumber)];
|
|
17674
|
+
if (Object.keys(grid.rowHeights).length === 0) {
|
|
17675
|
+
delete grid.rowHeights;
|
|
17676
|
+
}
|
|
17677
|
+
}
|
|
17678
|
+
}
|
|
17679
|
+
|
|
17680
|
+
// Clean up empty object
|
|
17681
|
+
if (Object.keys(grid.rowModes).length === 0) {
|
|
17682
|
+
delete grid.rowModes;
|
|
17683
|
+
}
|
|
17684
|
+
this.updateLayoutItem(gridContainer);
|
|
17685
|
+
return grid;
|
|
17686
|
+
} catch (e) {
|
|
17687
|
+
return null;
|
|
17688
|
+
}
|
|
17689
|
+
}
|
|
17690
|
+
|
|
17537
17691
|
/**
|
|
17538
17692
|
* Add a new row to the grid
|
|
17539
17693
|
* @param {Number} itemId The id of the grid container
|
|
@@ -17576,15 +17730,28 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17576
17730
|
// Shift rowHeights keys down (rows after insertion point move +1)
|
|
17577
17731
|
if (gridContainer.grid.rowHeights) {
|
|
17578
17732
|
var shifted = {};
|
|
17579
|
-
for (var
|
|
17580
|
-
var _Object$
|
|
17581
|
-
key = _Object$
|
|
17582
|
-
mult = _Object$
|
|
17733
|
+
for (var _i1 = 0, _Object$entries2 = Object.entries(gridContainer.grid.rowHeights); _i1 < _Object$entries2.length; _i1++) {
|
|
17734
|
+
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i1], 2),
|
|
17735
|
+
key = _Object$entries2$_i[0],
|
|
17736
|
+
mult = _Object$entries2$_i[1];
|
|
17583
17737
|
var rowNum = Number(key);
|
|
17584
17738
|
shifted[String(rowNum >= newRowNumber ? rowNum + 1 : rowNum)] = mult;
|
|
17585
17739
|
}
|
|
17586
17740
|
gridContainer.grid.rowHeights = Object.keys(shifted).length > 0 ? shifted : undefined;
|
|
17587
17741
|
}
|
|
17742
|
+
|
|
17743
|
+
// Shift rowModes keys down (rows after insertion point move +1)
|
|
17744
|
+
if (gridContainer.grid.rowModes) {
|
|
17745
|
+
var _shifted = {};
|
|
17746
|
+
for (var _i10 = 0, _Object$entries3 = Object.entries(gridContainer.grid.rowModes); _i10 < _Object$entries3.length; _i10++) {
|
|
17747
|
+
var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i10], 2),
|
|
17748
|
+
_key12 = _Object$entries3$_i[0],
|
|
17749
|
+
mode = _Object$entries3$_i[1];
|
|
17750
|
+
var _rowNum = Number(_key12);
|
|
17751
|
+
_shifted[String(_rowNum >= newRowNumber ? _rowNum + 1 : _rowNum)] = mode;
|
|
17752
|
+
}
|
|
17753
|
+
gridContainer.grid.rowModes = Object.keys(_shifted).length > 0 ? _shifted : undefined;
|
|
17754
|
+
}
|
|
17588
17755
|
this._normalizeGrid(gridContainer.grid);
|
|
17589
17756
|
this.updateLayoutItem(gridContainer);
|
|
17590
17757
|
return gridContainer.grid;
|
|
@@ -17636,16 +17803,30 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17636
17803
|
// Shift rowHeights keys up and remove the deleted row's entry
|
|
17637
17804
|
if (gridContainer.grid.rowHeights) {
|
|
17638
17805
|
var shifted = {};
|
|
17639
|
-
for (var
|
|
17640
|
-
var _Object$
|
|
17641
|
-
key = _Object$
|
|
17642
|
-
mult = _Object$
|
|
17806
|
+
for (var _i11 = 0, _Object$entries4 = Object.entries(gridContainer.grid.rowHeights); _i11 < _Object$entries4.length; _i11++) {
|
|
17807
|
+
var _Object$entries4$_i = _slicedToArray(_Object$entries4[_i11], 2),
|
|
17808
|
+
key = _Object$entries4$_i[0],
|
|
17809
|
+
mult = _Object$entries4$_i[1];
|
|
17643
17810
|
var rowNum = Number(key);
|
|
17644
17811
|
if (rowNum === rowNumber) continue;
|
|
17645
17812
|
shifted[String(rowNum > rowNumber ? rowNum - 1 : rowNum)] = mult;
|
|
17646
17813
|
}
|
|
17647
17814
|
gridContainer.grid.rowHeights = Object.keys(shifted).length > 0 ? shifted : undefined;
|
|
17648
17815
|
}
|
|
17816
|
+
|
|
17817
|
+
// Shift rowModes keys up and remove the deleted row's entry
|
|
17818
|
+
if (gridContainer.grid.rowModes) {
|
|
17819
|
+
var _shifted2 = {};
|
|
17820
|
+
for (var _i12 = 0, _Object$entries5 = Object.entries(gridContainer.grid.rowModes); _i12 < _Object$entries5.length; _i12++) {
|
|
17821
|
+
var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i12], 2),
|
|
17822
|
+
_key13 = _Object$entries5$_i[0],
|
|
17823
|
+
mode = _Object$entries5$_i[1];
|
|
17824
|
+
var _rowNum2 = Number(_key13);
|
|
17825
|
+
if (_rowNum2 === rowNumber) continue;
|
|
17826
|
+
_shifted2[String(_rowNum2 > rowNumber ? _rowNum2 - 1 : _rowNum2)] = mode;
|
|
17827
|
+
}
|
|
17828
|
+
gridContainer.grid.rowModes = Object.keys(_shifted2).length > 0 ? _shifted2 : undefined;
|
|
17829
|
+
}
|
|
17649
17830
|
this._normalizeGrid(gridContainer.grid);
|
|
17650
17831
|
this.updateLayoutItem(gridContainer);
|
|
17651
17832
|
return gridContainer.grid;
|