@trops/dash-core 0.1.80 → 0.1.82
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/electron/index.js +26 -12
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +370 -56
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +370 -56
- package/dist/index.js.map +1 -1
- package/dist/mcp/servers/{servers/google-drive.js → google-drive.js} +26 -25
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -9400,7 +9400,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
9400
9400
|
className: "flex-1 text-center",
|
|
9401
9401
|
children: /*#__PURE__*/jsxs("span", {
|
|
9402
9402
|
className: "text-xs opacity-40",
|
|
9403
|
-
children: ["Step ", inlineWizardStep + 1, " of ", inlineTotalSteps]
|
|
9403
|
+
children: ["Step", " ", inlineWizardStep + 1, " ", "of ", inlineTotalSteps]
|
|
9404
9404
|
})
|
|
9405
9405
|
}), /*#__PURE__*/jsxs("div", {
|
|
9406
9406
|
className: "flex flex-row gap-2",
|
|
@@ -11928,6 +11928,30 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
11928
11928
|
} catch (e) {
|
|
11929
11929
|
}
|
|
11930
11930
|
}
|
|
11931
|
+
function handleChangeRowSizing(gridContainerId, rowNumber, mode, multiplier) {
|
|
11932
|
+
try {
|
|
11933
|
+
var dashboard = new DashboardModel(currentWorkspace);
|
|
11934
|
+
dashboard.changeRowMode(gridContainerId, rowNumber, mode);
|
|
11935
|
+
if (multiplier !== undefined) {
|
|
11936
|
+
dashboard.changeRowHeight(gridContainerId, rowNumber, multiplier);
|
|
11937
|
+
}
|
|
11938
|
+
var newWorkspace = dashboard.workspace();
|
|
11939
|
+
setCurrentWorkspace(newWorkspace);
|
|
11940
|
+
} catch (e) {
|
|
11941
|
+
}
|
|
11942
|
+
}
|
|
11943
|
+
function handleChangeColMode(gridContainerId, colNumber, mode) {
|
|
11944
|
+
try {
|
|
11945
|
+
var dashboard = new DashboardModel(currentWorkspace);
|
|
11946
|
+
var result = dashboard.changeColMode(gridContainerId, colNumber, mode);
|
|
11947
|
+
if (result) {
|
|
11948
|
+
var newWorkspace = dashboard.workspace();
|
|
11949
|
+
setCurrentWorkspace(newWorkspace);
|
|
11950
|
+
} else {
|
|
11951
|
+
}
|
|
11952
|
+
} catch (e) {
|
|
11953
|
+
}
|
|
11954
|
+
}
|
|
11931
11955
|
|
|
11932
11956
|
/**
|
|
11933
11957
|
* handle the click of a cell in a grid that does not contain a widget yet
|
|
@@ -12014,6 +12038,8 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
12014
12038
|
onDeleteGridColumn: handleDeleteGridColumn,
|
|
12015
12039
|
onChangeRowHeight: handleChangeRowHeight,
|
|
12016
12040
|
onChangeRowMode: handleChangeRowMode,
|
|
12041
|
+
onChangeRowSizing: handleChangeRowSizing,
|
|
12042
|
+
onChangeColMode: handleChangeColMode,
|
|
12017
12043
|
onMoveWidgetToCell: handleMoveWidgetToCell,
|
|
12018
12044
|
onWidgetPopout: onWidgetPopout
|
|
12019
12045
|
}, "layout-drag-".concat(dashboardId)), preview === false && editMode === "all" && /*#__PURE__*/jsx(LayoutDragBuilderEdit, {
|
|
@@ -12060,6 +12086,8 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
12060
12086
|
onDeleteGridColumn: handleDeleteGridColumn,
|
|
12061
12087
|
onChangeRowHeight: handleChangeRowHeight,
|
|
12062
12088
|
onChangeRowMode: handleChangeRowMode,
|
|
12089
|
+
onChangeRowSizing: handleChangeRowSizing,
|
|
12090
|
+
onChangeColMode: handleChangeColMode,
|
|
12063
12091
|
onMoveWidgetToCell: handleMoveWidgetToCell,
|
|
12064
12092
|
onDropWidgetFromSidebar: handleDropWidgetFromSidebar
|
|
12065
12093
|
}, "layout-drag-edit-".concat(dashboardId))]
|
|
@@ -12153,6 +12181,10 @@ var LayoutDragBuilder = function LayoutDragBuilder(_ref) {
|
|
|
12153
12181
|
onChangeRowHeight = _ref$onChangeRowHeigh === void 0 ? null : _ref$onChangeRowHeigh,
|
|
12154
12182
|
_ref$onChangeRowMode = _ref.onChangeRowMode,
|
|
12155
12183
|
onChangeRowMode = _ref$onChangeRowMode === void 0 ? null : _ref$onChangeRowMode,
|
|
12184
|
+
_ref$onChangeRowSizin = _ref.onChangeRowSizing,
|
|
12185
|
+
onChangeRowSizing = _ref$onChangeRowSizin === void 0 ? null : _ref$onChangeRowSizin,
|
|
12186
|
+
_ref$onChangeColMode = _ref.onChangeColMode,
|
|
12187
|
+
onChangeColMode = _ref$onChangeColMode === void 0 ? null : _ref$onChangeColMode,
|
|
12156
12188
|
_ref$onWidgetPopout = _ref.onWidgetPopout,
|
|
12157
12189
|
onWidgetPopout = _ref$onWidgetPopout === void 0 ? null : _ref$onWidgetPopout;
|
|
12158
12190
|
return isDraggable === true ? /*#__PURE__*/jsx(DndProvider, {
|
|
@@ -12186,6 +12218,8 @@ var LayoutDragBuilder = function LayoutDragBuilder(_ref) {
|
|
|
12186
12218
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
12187
12219
|
onChangeRowHeight: onChangeRowHeight,
|
|
12188
12220
|
onChangeRowMode: onChangeRowMode,
|
|
12221
|
+
onChangeRowSizing: onChangeRowSizing,
|
|
12222
|
+
onChangeColMode: onChangeColMode,
|
|
12189
12223
|
onWidgetPopout: onWidgetPopout
|
|
12190
12224
|
})
|
|
12191
12225
|
}, "dnd-provider") : _renderLayout({
|
|
@@ -12217,6 +12251,7 @@ var LayoutDragBuilder = function LayoutDragBuilder(_ref) {
|
|
|
12217
12251
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
12218
12252
|
onChangeRowHeight: onChangeRowHeight,
|
|
12219
12253
|
onChangeRowMode: onChangeRowMode,
|
|
12254
|
+
onChangeColMode: onChangeColMode,
|
|
12220
12255
|
onWidgetPopout: onWidgetPopout
|
|
12221
12256
|
});
|
|
12222
12257
|
};
|
|
@@ -12267,6 +12302,10 @@ var LayoutDragBuilderEdit = function LayoutDragBuilderEdit(_ref) {
|
|
|
12267
12302
|
onChangeRowHeight = _ref$onChangeRowHeigh === void 0 ? null : _ref$onChangeRowHeigh,
|
|
12268
12303
|
_ref$onChangeRowMode = _ref.onChangeRowMode,
|
|
12269
12304
|
onChangeRowMode = _ref$onChangeRowMode === void 0 ? null : _ref$onChangeRowMode,
|
|
12305
|
+
_ref$onChangeRowSizin = _ref.onChangeRowSizing,
|
|
12306
|
+
onChangeRowSizing = _ref$onChangeRowSizin === void 0 ? null : _ref$onChangeRowSizin,
|
|
12307
|
+
_ref$onChangeColMode = _ref.onChangeColMode,
|
|
12308
|
+
onChangeColMode = _ref$onChangeColMode === void 0 ? null : _ref$onChangeColMode,
|
|
12270
12309
|
_ref$onMoveWidgetToCe = _ref.onMoveWidgetToCell,
|
|
12271
12310
|
onMoveWidgetToCell = _ref$onMoveWidgetToCe === void 0 ? null : _ref$onMoveWidgetToCe,
|
|
12272
12311
|
_ref$onDropWidgetFrom = _ref.onDropWidgetFromSidebar,
|
|
@@ -12306,6 +12345,8 @@ var LayoutDragBuilderEdit = function LayoutDragBuilderEdit(_ref) {
|
|
|
12306
12345
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
12307
12346
|
onChangeRowHeight: onChangeRowHeight,
|
|
12308
12347
|
onChangeRowMode: onChangeRowMode,
|
|
12348
|
+
onChangeRowSizing: onChangeRowSizing,
|
|
12349
|
+
onChangeColMode: onChangeColMode,
|
|
12309
12350
|
onMoveWidgetToCell: onMoveWidgetToCell,
|
|
12310
12351
|
onDropWidgetFromSidebar: onDropWidgetFromSidebar
|
|
12311
12352
|
});
|
|
@@ -14533,11 +14574,13 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
14533
14574
|
_ref3$onAddGridColumn = _ref3.onAddGridColumn,
|
|
14534
14575
|
onAddGridColumn = _ref3$onAddGridColumn === void 0 ? null : _ref3$onAddGridColumn,
|
|
14535
14576
|
_ref3$onDeleteGridCol = _ref3.onDeleteGridColumn,
|
|
14536
|
-
onDeleteGridColumn = _ref3$onDeleteGridCol === void 0 ? null : _ref3$onDeleteGridCol
|
|
14537
|
-
_ref3
|
|
14538
|
-
|
|
14539
|
-
_ref3$
|
|
14540
|
-
|
|
14577
|
+
onDeleteGridColumn = _ref3$onDeleteGridCol === void 0 ? null : _ref3$onDeleteGridCol;
|
|
14578
|
+
_ref3.onChangeRowHeight;
|
|
14579
|
+
_ref3.onChangeRowMode;
|
|
14580
|
+
var _ref3$onChangeRowSizi = _ref3.onChangeRowSizing,
|
|
14581
|
+
onChangeRowSizing = _ref3$onChangeRowSizi === void 0 ? null : _ref3$onChangeRowSizi,
|
|
14582
|
+
_ref3$onChangeColMode = _ref3.onChangeColMode,
|
|
14583
|
+
onChangeColMode = _ref3$onChangeColMode === void 0 ? null : _ref3$onChangeColMode,
|
|
14541
14584
|
_ref3$onMoveWidgetToC = _ref3.onMoveWidgetToCell,
|
|
14542
14585
|
onMoveWidgetToCell = _ref3$onMoveWidgetToC === void 0 ? null : _ref3$onMoveWidgetToC,
|
|
14543
14586
|
_ref3$onDropWidgetFro = _ref3.onDropWidgetFromSidebar,
|
|
@@ -14617,26 +14660,6 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
14617
14660
|
return ((_item$grid$rowModes = item.grid.rowModes) === null || _item$grid$rowModes === void 0 ? void 0 : _item$grid$rowModes[String(row)]) || "fixed";
|
|
14618
14661
|
}
|
|
14619
14662
|
|
|
14620
|
-
// Unified cycle: shrink → grow → fixed 1x → fixed 2x → fixed 3x → shrink
|
|
14621
|
-
function handleCycleRowSizing(row) {
|
|
14622
|
-
var mode = getRowMode(row);
|
|
14623
|
-
var mult = getRowMultiplier(row);
|
|
14624
|
-
if (mode === "shrink") {
|
|
14625
|
-
// shrink → grow
|
|
14626
|
-
if (onChangeRowMode) onChangeRowMode(id, row, "grow");
|
|
14627
|
-
} else if (mode === "grow") {
|
|
14628
|
-
// grow → fixed 1x
|
|
14629
|
-
if (onChangeRowMode) onChangeRowMode(id, row, "fixed");
|
|
14630
|
-
} else {
|
|
14631
|
-
// fixed: cycle 1x → 2x → 3x → shrink
|
|
14632
|
-
if (mult >= 3) {
|
|
14633
|
-
if (onChangeRowMode) onChangeRowMode(id, row, "shrink");
|
|
14634
|
-
} else {
|
|
14635
|
-
if (onChangeRowHeight) onChangeRowHeight(id, row, mult + 1);
|
|
14636
|
-
}
|
|
14637
|
-
}
|
|
14638
|
-
}
|
|
14639
|
-
|
|
14640
14663
|
// Get display label and color for current row sizing
|
|
14641
14664
|
function getRowSizingDisplay(row) {
|
|
14642
14665
|
var mode = getRowMode(row);
|
|
@@ -14658,26 +14681,224 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
14658
14681
|
};
|
|
14659
14682
|
}
|
|
14660
14683
|
|
|
14661
|
-
//
|
|
14662
|
-
|
|
14684
|
+
// Compute column template tracks respecting colModes
|
|
14685
|
+
function getColTemplate(grid) {
|
|
14686
|
+
var modes = grid.colModes || {};
|
|
14687
|
+
var tracks = [];
|
|
14688
|
+
for (var c = 1; c <= grid.cols; c++) {
|
|
14689
|
+
var mode = modes[String(c)] || "grow";
|
|
14690
|
+
switch (mode) {
|
|
14691
|
+
case "shrink":
|
|
14692
|
+
tracks.push("auto");
|
|
14693
|
+
break;
|
|
14694
|
+
case "1/4":
|
|
14695
|
+
tracks.push("25%");
|
|
14696
|
+
break;
|
|
14697
|
+
case "1/3":
|
|
14698
|
+
tracks.push("33.333%");
|
|
14699
|
+
break;
|
|
14700
|
+
case "1/2":
|
|
14701
|
+
tracks.push("50%");
|
|
14702
|
+
break;
|
|
14703
|
+
case "2/3":
|
|
14704
|
+
tracks.push("66.667%");
|
|
14705
|
+
break;
|
|
14706
|
+
default:
|
|
14707
|
+
tracks.push("minmax(0, 1fr)");
|
|
14708
|
+
break;
|
|
14709
|
+
}
|
|
14710
|
+
}
|
|
14711
|
+
return tracks.join(" ");
|
|
14712
|
+
}
|
|
14713
|
+
function hasExplicitColModes() {
|
|
14714
|
+
if (!hasGrid) return false;
|
|
14715
|
+
var modes = item.grid.colModes;
|
|
14716
|
+
return modes && Object.keys(modes).length > 0;
|
|
14717
|
+
}
|
|
14718
|
+
function getColMode(col) {
|
|
14719
|
+
var _item$grid$colModes;
|
|
14720
|
+
if (!hasGrid) return "grow";
|
|
14721
|
+
return ((_item$grid$colModes = item.grid.colModes) === null || _item$grid$colModes === void 0 ? void 0 : _item$grid$colModes[String(col)]) || "grow";
|
|
14722
|
+
}
|
|
14723
|
+
function getColSizingDisplay(col) {
|
|
14724
|
+
var mode = getColMode(col);
|
|
14725
|
+
if (mode === "shrink") return {
|
|
14726
|
+
label: "S",
|
|
14727
|
+
color: "text-amber-400",
|
|
14728
|
+
hoverBg: "hover:bg-amber-400/10"
|
|
14729
|
+
};
|
|
14730
|
+
if (mode === "1/4") return {
|
|
14731
|
+
label: "1/4",
|
|
14732
|
+
color: "text-blue-400",
|
|
14733
|
+
hoverBg: "hover:bg-blue-400/10"
|
|
14734
|
+
};
|
|
14735
|
+
if (mode === "1/3") return {
|
|
14736
|
+
label: "1/3",
|
|
14737
|
+
color: "text-blue-400",
|
|
14738
|
+
hoverBg: "hover:bg-blue-400/10"
|
|
14739
|
+
};
|
|
14740
|
+
if (mode === "1/2") return {
|
|
14741
|
+
label: "1/2",
|
|
14742
|
+
color: "text-blue-400",
|
|
14743
|
+
hoverBg: "hover:bg-blue-400/10"
|
|
14744
|
+
};
|
|
14745
|
+
if (mode === "2/3") return {
|
|
14746
|
+
label: "2/3",
|
|
14747
|
+
color: "text-blue-400",
|
|
14748
|
+
hoverBg: "hover:bg-blue-400/10"
|
|
14749
|
+
};
|
|
14750
|
+
// default: grow
|
|
14751
|
+
return {
|
|
14752
|
+
label: "G",
|
|
14753
|
+
color: "text-green-400",
|
|
14754
|
+
hoverBg: "hover:bg-green-400/10"
|
|
14755
|
+
};
|
|
14756
|
+
}
|
|
14757
|
+
|
|
14758
|
+
// Sizing popover state
|
|
14759
|
+
var _useState = useState(null),
|
|
14663
14760
|
_useState2 = _slicedToArray(_useState, 2),
|
|
14664
|
-
|
|
14665
|
-
|
|
14666
|
-
var
|
|
14761
|
+
sizingPopover = _useState2[0],
|
|
14762
|
+
setSizingPopover = _useState2[1]; // { type: "row"|"col", index: number }
|
|
14763
|
+
var popoverRef = useRef(null);
|
|
14764
|
+
var popoverTriggerRef = useRef(null);
|
|
14765
|
+
useEffect(function () {
|
|
14766
|
+
if (!sizingPopover) return;
|
|
14767
|
+
function handleClickOutside(e) {
|
|
14768
|
+
if (popoverRef.current && !popoverRef.current.contains(e.target) && popoverTriggerRef.current && !popoverTriggerRef.current.contains(e.target)) {
|
|
14769
|
+
setSizingPopover(null);
|
|
14770
|
+
}
|
|
14771
|
+
}
|
|
14772
|
+
function handleEscape(e) {
|
|
14773
|
+
if (e.key === "Escape") setSizingPopover(null);
|
|
14774
|
+
}
|
|
14775
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
14776
|
+
document.addEventListener("keydown", handleEscape);
|
|
14777
|
+
return function () {
|
|
14778
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
14779
|
+
document.removeEventListener("keydown", handleEscape);
|
|
14780
|
+
};
|
|
14781
|
+
}, [sizingPopover]);
|
|
14782
|
+
var ROW_OPTIONS = [{
|
|
14783
|
+
mode: "shrink",
|
|
14784
|
+
label: "S"
|
|
14785
|
+
}, {
|
|
14786
|
+
mode: "grow",
|
|
14787
|
+
label: "G"
|
|
14788
|
+
}, {
|
|
14789
|
+
mode: "fixed-1",
|
|
14790
|
+
label: "1x"
|
|
14791
|
+
}, {
|
|
14792
|
+
mode: "fixed-2",
|
|
14793
|
+
label: "2x"
|
|
14794
|
+
}, {
|
|
14795
|
+
mode: "fixed-3",
|
|
14796
|
+
label: "3x"
|
|
14797
|
+
}];
|
|
14798
|
+
var COL_OPTIONS = [{
|
|
14799
|
+
mode: "grow",
|
|
14800
|
+
label: "G"
|
|
14801
|
+
}, {
|
|
14802
|
+
mode: "shrink",
|
|
14803
|
+
label: "S"
|
|
14804
|
+
}, {
|
|
14805
|
+
mode: "1/4",
|
|
14806
|
+
label: "1/4"
|
|
14807
|
+
}, {
|
|
14808
|
+
mode: "1/3",
|
|
14809
|
+
label: "1/3"
|
|
14810
|
+
}, {
|
|
14811
|
+
mode: "1/2",
|
|
14812
|
+
label: "1/2"
|
|
14813
|
+
}, {
|
|
14814
|
+
mode: "2/3",
|
|
14815
|
+
label: "2/3"
|
|
14816
|
+
}];
|
|
14817
|
+
function getActiveRowOption(row) {
|
|
14818
|
+
var mode = getRowMode(row);
|
|
14819
|
+
var mult = getRowMultiplier(row);
|
|
14820
|
+
if (mode === "shrink") return "shrink";
|
|
14821
|
+
if (mode === "grow") return "grow";
|
|
14822
|
+
return "fixed-".concat(mult);
|
|
14823
|
+
}
|
|
14824
|
+
function handleRowOptionSelect(row, optionMode) {
|
|
14825
|
+
if (onChangeRowSizing) {
|
|
14826
|
+
if (optionMode === "shrink" || optionMode === "grow") {
|
|
14827
|
+
onChangeRowSizing(id, row, optionMode);
|
|
14828
|
+
} else if (optionMode.startsWith("fixed-")) {
|
|
14829
|
+
var mult = Number(optionMode.split("-")[1]);
|
|
14830
|
+
onChangeRowSizing(id, row, "fixed", mult);
|
|
14831
|
+
}
|
|
14832
|
+
}
|
|
14833
|
+
}
|
|
14834
|
+
function handleColOptionSelect(col, optionMode) {
|
|
14835
|
+
if (onChangeColMode) onChangeColMode(id, col, optionMode);
|
|
14836
|
+
}
|
|
14837
|
+
function getOptionColor(optionMode, type) {
|
|
14838
|
+
if (type === "row") {
|
|
14839
|
+
if (optionMode === "shrink") return "text-amber-400";
|
|
14840
|
+
if (optionMode === "grow") return "text-green-400";
|
|
14841
|
+
return "text-blue-400";
|
|
14842
|
+
}
|
|
14843
|
+
// col
|
|
14844
|
+
if (optionMode === "grow") return "text-green-400";
|
|
14845
|
+
if (optionMode === "shrink") return "text-amber-400";
|
|
14846
|
+
return "text-blue-400";
|
|
14847
|
+
}
|
|
14848
|
+
function renderSizingPopover(type, index, triggerEl) {
|
|
14849
|
+
if (!sizingPopover || sizingPopover.type !== type || sizingPopover.index !== index) return null;
|
|
14850
|
+
var options = type === "row" ? ROW_OPTIONS : COL_OPTIONS;
|
|
14851
|
+
var activeMode = type === "row" ? getActiveRowOption(index) : getColMode(index);
|
|
14852
|
+
var isRow = type === "row";
|
|
14853
|
+
return /*#__PURE__*/jsx("div", {
|
|
14854
|
+
ref: popoverRef,
|
|
14855
|
+
className: "absolute z-50 bg-gray-800 border border-gray-600 rounded-lg shadow-xl p-1 flex flex-row gap-0.5",
|
|
14856
|
+
style: isRow ? {
|
|
14857
|
+
left: "100%",
|
|
14858
|
+
top: "50%",
|
|
14859
|
+
transform: "translateY(-50%)",
|
|
14860
|
+
marginLeft: 4
|
|
14861
|
+
} : {
|
|
14862
|
+
top: "100%",
|
|
14863
|
+
left: "50%",
|
|
14864
|
+
transform: "translateX(-50%)",
|
|
14865
|
+
marginTop: 4
|
|
14866
|
+
},
|
|
14867
|
+
children: options.map(function (opt) {
|
|
14868
|
+
var isActive = opt.mode === activeMode;
|
|
14869
|
+
var color = getOptionColor(opt.mode, type);
|
|
14870
|
+
return /*#__PURE__*/jsx("button", {
|
|
14871
|
+
className: "px-1.5 py-0.5 rounded text-[10px] font-mono font-bold transition-all whitespace-nowrap ".concat(isActive ? "".concat(color, " bg-white/20") : "text-gray-400 hover:text-gray-200 hover:bg-white/10"),
|
|
14872
|
+
onClick: function onClick() {
|
|
14873
|
+
if (type === "row") handleRowOptionSelect(index, opt.mode);else handleColOptionSelect(index, opt.mode);
|
|
14874
|
+
},
|
|
14875
|
+
title: opt.label,
|
|
14876
|
+
children: opt.label
|
|
14877
|
+
}, opt.mode);
|
|
14878
|
+
})
|
|
14879
|
+
});
|
|
14880
|
+
}
|
|
14881
|
+
|
|
14882
|
+
// Modal state for grid operations
|
|
14883
|
+
var _useState3 = useState(false),
|
|
14667
14884
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
14668
|
-
|
|
14669
|
-
|
|
14670
|
-
var _useState5 = useState(
|
|
14885
|
+
mergeModalOpen = _useState4[0],
|
|
14886
|
+
setMergeModalOpen = _useState4[1];
|
|
14887
|
+
var _useState5 = useState([]),
|
|
14671
14888
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
14672
|
-
|
|
14673
|
-
|
|
14674
|
-
var _useState7 = useState(
|
|
14889
|
+
selectedCellsForMerge = _useState6[0],
|
|
14890
|
+
setSelectedCellsForMerge = _useState6[1];
|
|
14891
|
+
var _useState7 = useState(null),
|
|
14892
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
14893
|
+
contextMenuCell = _useState8[0],
|
|
14894
|
+
setContextMenuCell = _useState8[1];
|
|
14895
|
+
var _useState9 = useState({
|
|
14675
14896
|
x: 0,
|
|
14676
14897
|
y: 0
|
|
14677
14898
|
}),
|
|
14678
|
-
|
|
14679
|
-
contextMenuPosition =
|
|
14680
|
-
setContextMenuPosition =
|
|
14899
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
14900
|
+
contextMenuPosition = _useState0[0],
|
|
14901
|
+
setContextMenuPosition = _useState0[1];
|
|
14681
14902
|
|
|
14682
14903
|
// Grid operation handlers
|
|
14683
14904
|
function handleInstantSplit(cellNumber, direction) {
|
|
@@ -14963,16 +15184,20 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
14963
15184
|
label = _getRowSizingDisplay.label,
|
|
14964
15185
|
color = _getRowSizingDisplay.color,
|
|
14965
15186
|
hoverBg = _getRowSizingDisplay.hoverBg;
|
|
14966
|
-
|
|
14967
|
-
|
|
14968
|
-
|
|
14969
|
-
|
|
14970
|
-
|
|
14971
|
-
|
|
14972
|
-
|
|
14973
|
-
|
|
14974
|
-
|
|
14975
|
-
|
|
15187
|
+
return /*#__PURE__*/jsxs("div", {
|
|
15188
|
+
className: "relative",
|
|
15189
|
+
children: [/*#__PURE__*/jsx("button", {
|
|
15190
|
+
ref: (sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.type) === "row" && (sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.index) === row ? popoverTriggerRef : undefined,
|
|
15191
|
+
className: "w-5 h-5 flex items-center justify-center rounded text-[10px] ".concat(color, " ").concat((sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.type) === "row" && (sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.index) === row ? "opacity-100" : "opacity-40", " hover:opacity-100 ").concat(hoverBg, " transition-all font-mono font-bold select-none"),
|
|
15192
|
+
onClick: function onClick() {
|
|
15193
|
+
return setSizingPopover((sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.type) === "row" && (sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.index) === row ? null : {
|
|
15194
|
+
type: "row",
|
|
15195
|
+
index: row
|
|
15196
|
+
});
|
|
15197
|
+
},
|
|
15198
|
+
title: "Row sizing (click to change)",
|
|
15199
|
+
children: label
|
|
15200
|
+
}), renderSizingPopover("row", row)]
|
|
14976
15201
|
});
|
|
14977
15202
|
}(), /*#__PURE__*/jsx("button", {
|
|
14978
15203
|
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",
|
|
@@ -15055,7 +15280,27 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
15055
15280
|
}), /*#__PURE__*/jsxs("span", {
|
|
15056
15281
|
className: "text-[11px] text-gray-400 group-hover:text-gray-200 select-none font-mono font-medium",
|
|
15057
15282
|
children: ["C", col]
|
|
15058
|
-
}),
|
|
15283
|
+
}), function () {
|
|
15284
|
+
var _getColSizingDisplay = getColSizingDisplay(col),
|
|
15285
|
+
label = _getColSizingDisplay.label,
|
|
15286
|
+
color = _getColSizingDisplay.color,
|
|
15287
|
+
hoverBg = _getColSizingDisplay.hoverBg;
|
|
15288
|
+
return /*#__PURE__*/jsxs("div", {
|
|
15289
|
+
className: "relative",
|
|
15290
|
+
children: [/*#__PURE__*/jsx("button", {
|
|
15291
|
+
ref: (sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.type) === "col" && (sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.index) === col ? popoverTriggerRef : undefined,
|
|
15292
|
+
className: "w-5 h-5 flex items-center justify-center rounded text-[10px] ".concat(color, " ").concat((sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.type) === "col" && (sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.index) === col ? "opacity-100" : "opacity-40", " hover:opacity-100 ").concat(hoverBg, " transition-all font-mono font-bold select-none"),
|
|
15293
|
+
onClick: function onClick() {
|
|
15294
|
+
return setSizingPopover((sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.type) === "col" && (sizingPopover === null || sizingPopover === void 0 ? void 0 : sizingPopover.index) === col ? null : {
|
|
15295
|
+
type: "col",
|
|
15296
|
+
index: col
|
|
15297
|
+
});
|
|
15298
|
+
},
|
|
15299
|
+
title: "Column sizing (click to change)",
|
|
15300
|
+
children: label
|
|
15301
|
+
}), renderSizingPopover("col", col)]
|
|
15302
|
+
});
|
|
15303
|
+
}(), /*#__PURE__*/jsx("button", {
|
|
15059
15304
|
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",
|
|
15060
15305
|
onClick: function onClick() {
|
|
15061
15306
|
return handleAddColumn(col);
|
|
@@ -15093,7 +15338,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
15093
15338
|
}), /*#__PURE__*/jsx("div", {
|
|
15094
15339
|
className: "grid flex-1",
|
|
15095
15340
|
style: {
|
|
15096
|
-
gridTemplateColumns: "repeat(".concat(cols, ", 1fr)"),
|
|
15341
|
+
gridTemplateColumns: hasExplicitColModes() ? getColTemplate(item.grid) : "repeat(".concat(cols, ", 1fr)"),
|
|
15097
15342
|
gap: GRID_GAP
|
|
15098
15343
|
},
|
|
15099
15344
|
children: colItems
|
|
@@ -15436,7 +15681,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
15436
15681
|
className: "grid flex-1 min-h-24 p-4 gap-5",
|
|
15437
15682
|
style: {
|
|
15438
15683
|
gridTemplateRows: getRowTemplate(item.grid),
|
|
15439
|
-
gridTemplateColumns: "repeat(".concat(item.grid.cols, ", 1fr)")
|
|
15684
|
+
gridTemplateColumns: hasExplicitColModes() ? getColTemplate(item.grid) : "repeat(".concat(item.grid.cols, ", 1fr)")
|
|
15440
15685
|
},
|
|
15441
15686
|
children: renderGridCells()
|
|
15442
15687
|
})]
|
|
@@ -15450,7 +15695,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
15450
15695
|
className: "grid flex-1 p-4 gap-5",
|
|
15451
15696
|
style: {
|
|
15452
15697
|
gridTemplateRows: hasExplicitRowModes() ? getRowTemplate(item.grid) : "repeat(".concat(item.grid.rows, ", minmax(0, 1fr))"),
|
|
15453
|
-
gridTemplateColumns: "repeat(".concat(item.grid.cols, ", 1fr)"),
|
|
15698
|
+
gridTemplateColumns: hasExplicitColModes() ? getColTemplate(item.grid) : "repeat(".concat(item.grid.cols, ", 1fr)"),
|
|
15454
15699
|
overflow: "hidden"
|
|
15455
15700
|
},
|
|
15456
15701
|
children: renderGridCells()
|
|
@@ -15550,7 +15795,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
15550
15795
|
className: "grid w-full min-h-24 p-3 ".concat(item.grid.gap || "gap-2"),
|
|
15551
15796
|
style: {
|
|
15552
15797
|
gridTemplateRows: getRowTemplate(item.grid),
|
|
15553
|
-
gridTemplateColumns: "repeat(".concat(item.grid.cols, ", 1fr)"),
|
|
15798
|
+
gridTemplateColumns: hasExplicitColModes() ? getColTemplate(item.grid) : "repeat(".concat(item.grid.cols, ", 1fr)"),
|
|
15554
15799
|
overflow: "auto"
|
|
15555
15800
|
},
|
|
15556
15801
|
children: renderGridCells()
|
|
@@ -15561,7 +15806,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
15561
15806
|
className: "absolute inset-0 grid p-3 ".concat(item.grid.gap || "gap-2"),
|
|
15562
15807
|
style: {
|
|
15563
15808
|
gridTemplateRows: hasExplicitRowModes() ? getRowTemplate(item.grid) : "repeat(".concat(item.grid.rows, ", minmax(0, 1fr))"),
|
|
15564
|
-
gridTemplateColumns: "repeat(".concat(item.grid.cols, ", 1fr)"),
|
|
15809
|
+
gridTemplateColumns: hasExplicitColModes() ? getColTemplate(item.grid) : "repeat(".concat(item.grid.cols, ", 1fr)"),
|
|
15565
15810
|
overflow: "hidden"
|
|
15566
15811
|
},
|
|
15567
15812
|
children: renderGridCells()
|
|
@@ -15655,6 +15900,10 @@ var _renderLayout = function renderLayout(_ref) {
|
|
|
15655
15900
|
onChangeRowHeight = _ref$onChangeRowHeigh === void 0 ? null : _ref$onChangeRowHeigh,
|
|
15656
15901
|
_ref$onChangeRowMode = _ref.onChangeRowMode,
|
|
15657
15902
|
onChangeRowMode = _ref$onChangeRowMode === void 0 ? null : _ref$onChangeRowMode,
|
|
15903
|
+
_ref$onChangeRowSizin = _ref.onChangeRowSizing,
|
|
15904
|
+
onChangeRowSizing = _ref$onChangeRowSizin === void 0 ? null : _ref$onChangeRowSizin,
|
|
15905
|
+
_ref$onChangeColMode = _ref.onChangeColMode,
|
|
15906
|
+
onChangeColMode = _ref$onChangeColMode === void 0 ? null : _ref$onChangeColMode,
|
|
15658
15907
|
_ref$onMoveWidgetToCe = _ref.onMoveWidgetToCell,
|
|
15659
15908
|
onMoveWidgetToCell = _ref$onMoveWidgetToCe === void 0 ? null : _ref$onMoveWidgetToCe,
|
|
15660
15909
|
_ref$onDropWidgetFrom = _ref.onDropWidgetFromSidebar,
|
|
@@ -15725,6 +15974,8 @@ var _renderLayout = function renderLayout(_ref) {
|
|
|
15725
15974
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
15726
15975
|
onChangeRowHeight: onChangeRowHeight,
|
|
15727
15976
|
onChangeRowMode: onChangeRowMode,
|
|
15977
|
+
onChangeRowSizing: onChangeRowSizing,
|
|
15978
|
+
onChangeColMode: onChangeColMode,
|
|
15728
15979
|
onMoveWidgetToCell: onMoveWidgetToCell,
|
|
15729
15980
|
onDropWidgetFromSidebar: onDropWidgetFromSidebar,
|
|
15730
15981
|
onWidgetPopout: onWidgetPopout,
|
|
@@ -15763,6 +16014,8 @@ var _renderLayout = function renderLayout(_ref) {
|
|
|
15763
16014
|
onDeleteGridColumn: onDeleteGridColumn,
|
|
15764
16015
|
onChangeRowHeight: onChangeRowHeight,
|
|
15765
16016
|
onChangeRowMode: onChangeRowMode,
|
|
16017
|
+
onChangeRowSizing: onChangeRowSizing,
|
|
16018
|
+
onChangeColMode: onChangeColMode,
|
|
15766
16019
|
onMoveWidgetToCell: onMoveWidgetToCell,
|
|
15767
16020
|
onDropWidgetFromSidebar: onDropWidgetFromSidebar,
|
|
15768
16021
|
onWidgetPopout: onWidgetPopout
|
|
@@ -19264,6 +19517,40 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
19264
19517
|
}
|
|
19265
19518
|
}
|
|
19266
19519
|
|
|
19520
|
+
/**
|
|
19521
|
+
* Change the sizing mode for a column
|
|
19522
|
+
* @param {String} itemId The id of the grid container
|
|
19523
|
+
* @param {Number} colNumber The column number (1-indexed)
|
|
19524
|
+
* @param {String} mode The sizing mode: "grow" (default), "shrink", "1/4", "1/3", "1/2", "2/3"
|
|
19525
|
+
* @returns {Object} Updated grid or null on error
|
|
19526
|
+
*/
|
|
19527
|
+
}, {
|
|
19528
|
+
key: "changeColMode",
|
|
19529
|
+
value: function changeColMode(itemId, colNumber, mode) {
|
|
19530
|
+
try {
|
|
19531
|
+
var gridContainer = this.getComponentById(itemId);
|
|
19532
|
+
if (!gridContainer || !gridContainer.grid) {
|
|
19533
|
+
return null;
|
|
19534
|
+
}
|
|
19535
|
+
var grid = gridContainer.grid;
|
|
19536
|
+
grid.colModes = grid.colModes || {};
|
|
19537
|
+
if (mode === "grow" || !mode) {
|
|
19538
|
+
delete grid.colModes[String(colNumber)];
|
|
19539
|
+
} else {
|
|
19540
|
+
grid.colModes[String(colNumber)] = mode;
|
|
19541
|
+
}
|
|
19542
|
+
|
|
19543
|
+
// Clean up empty object
|
|
19544
|
+
if (Object.keys(grid.colModes).length === 0) {
|
|
19545
|
+
delete grid.colModes;
|
|
19546
|
+
}
|
|
19547
|
+
this.updateLayoutItem(gridContainer);
|
|
19548
|
+
return grid;
|
|
19549
|
+
} catch (e) {
|
|
19550
|
+
return null;
|
|
19551
|
+
}
|
|
19552
|
+
}
|
|
19553
|
+
|
|
19267
19554
|
/**
|
|
19268
19555
|
* Add a new column to the grid
|
|
19269
19556
|
* @param {Number} itemId The id of the grid container
|
|
@@ -19302,6 +19589,19 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
19302
19589
|
hide: false
|
|
19303
19590
|
};
|
|
19304
19591
|
}
|
|
19592
|
+
|
|
19593
|
+
// Shift colModes keys right (columns after insertion point move +1)
|
|
19594
|
+
if (gridContainer.grid.colModes) {
|
|
19595
|
+
var shifted = {};
|
|
19596
|
+
for (var _i13 = 0, _Object$entries6 = Object.entries(gridContainer.grid.colModes); _i13 < _Object$entries6.length; _i13++) {
|
|
19597
|
+
var _Object$entries6$_i = _slicedToArray(_Object$entries6[_i13], 2),
|
|
19598
|
+
key = _Object$entries6$_i[0],
|
|
19599
|
+
mode = _Object$entries6$_i[1];
|
|
19600
|
+
var colNum = Number(key);
|
|
19601
|
+
shifted[String(colNum >= newColNumber ? colNum + 1 : colNum)] = mode;
|
|
19602
|
+
}
|
|
19603
|
+
gridContainer.grid.colModes = Object.keys(shifted).length > 0 ? shifted : undefined;
|
|
19604
|
+
}
|
|
19305
19605
|
this._normalizeGrid(gridContainer.grid);
|
|
19306
19606
|
this.updateLayoutItem(gridContainer);
|
|
19307
19607
|
return gridContainer.grid;
|
|
@@ -19349,6 +19649,20 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
19349
19649
|
}
|
|
19350
19650
|
}
|
|
19351
19651
|
gridContainer.grid.cols -= 1;
|
|
19652
|
+
|
|
19653
|
+
// Shift colModes keys left and remove the deleted column's entry
|
|
19654
|
+
if (gridContainer.grid.colModes) {
|
|
19655
|
+
var shifted = {};
|
|
19656
|
+
for (var _i14 = 0, _Object$entries7 = Object.entries(gridContainer.grid.colModes); _i14 < _Object$entries7.length; _i14++) {
|
|
19657
|
+
var _Object$entries7$_i = _slicedToArray(_Object$entries7[_i14], 2),
|
|
19658
|
+
key = _Object$entries7$_i[0],
|
|
19659
|
+
mode = _Object$entries7$_i[1];
|
|
19660
|
+
var colNum = Number(key);
|
|
19661
|
+
if (colNum === colNumber) continue;
|
|
19662
|
+
shifted[String(colNum > colNumber ? colNum - 1 : colNum)] = mode;
|
|
19663
|
+
}
|
|
19664
|
+
gridContainer.grid.colModes = Object.keys(shifted).length > 0 ? shifted : undefined;
|
|
19665
|
+
}
|
|
19352
19666
|
this._normalizeGrid(gridContainer.grid);
|
|
19353
19667
|
this.updateLayoutItem(gridContainer);
|
|
19354
19668
|
return gridContainer.grid;
|