@trops/dash-core 0.1.319 → 0.1.321
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 +4 -0
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +114 -44
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +73 -12
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -20436,6 +20436,58 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20436
20436
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20437
20437
|
}, [currentWorkspace]);
|
|
20438
20438
|
|
|
20439
|
+
// Ref for current workspace state (avoids stale closure in event listener)
|
|
20440
|
+
var wsRef = React.useRef(currentWorkspace);
|
|
20441
|
+
React.useEffect(function () {
|
|
20442
|
+
wsRef.current = currentWorkspace;
|
|
20443
|
+
}, [currentWorkspace]);
|
|
20444
|
+
|
|
20445
|
+
// Listen for AI widget builder placement — modifies layout state directly
|
|
20446
|
+
React.useEffect(function () {
|
|
20447
|
+
var handler = function handler(e) {
|
|
20448
|
+
var _ref4 = e.detail || {},
|
|
20449
|
+
widgetComponentName = _ref4.widgetComponentName,
|
|
20450
|
+
cellNumber = _ref4.cellNumber,
|
|
20451
|
+
gridItemId = _ref4.gridItemId;
|
|
20452
|
+
if (!widgetComponentName || !cellNumber || !gridItemId) return;
|
|
20453
|
+
var ws = wsRef.current;
|
|
20454
|
+
if (!(ws !== null && ws !== void 0 && ws.layout)) return;
|
|
20455
|
+
var gridItem = ws.layout.find(function (item) {
|
|
20456
|
+
return item.id === gridItemId;
|
|
20457
|
+
});
|
|
20458
|
+
if (!(gridItem !== null && gridItem !== void 0 && gridItem.grid)) return;
|
|
20459
|
+
var config = ComponentManager.config(widgetComponentName);
|
|
20460
|
+
if (!config) {
|
|
20461
|
+
return;
|
|
20462
|
+
}
|
|
20463
|
+
try {
|
|
20464
|
+
var hasChildren = config.type === "workspace";
|
|
20465
|
+
var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$z(_objectSpread$z({}, config), {}, {
|
|
20466
|
+
component: widgetComponentName
|
|
20467
|
+
}), hasChildren);
|
|
20468
|
+
var newWidgetId = newLayout[newLayout.length - 1].id;
|
|
20469
|
+
var updatedGrid = newLayout.find(function (item) {
|
|
20470
|
+
return item.id === gridItem.id;
|
|
20471
|
+
});
|
|
20472
|
+
if (updatedGrid !== null && updatedGrid !== void 0 && updatedGrid.grid) {
|
|
20473
|
+
updatedGrid.grid[cellNumber] = {
|
|
20474
|
+
component: newWidgetId,
|
|
20475
|
+
hide: false
|
|
20476
|
+
};
|
|
20477
|
+
}
|
|
20478
|
+
var newWorkspace = JSON.parse(JSON.stringify(ws));
|
|
20479
|
+
newWorkspace.layout = newLayout;
|
|
20480
|
+
setCurrentWorkspace(newWorkspace);
|
|
20481
|
+
} catch (err) {
|
|
20482
|
+
}
|
|
20483
|
+
};
|
|
20484
|
+
window.addEventListener("dash:place-widget-in-cell", handler);
|
|
20485
|
+
return function () {
|
|
20486
|
+
return window.removeEventListener("dash:place-widget-in-cell", handler);
|
|
20487
|
+
};
|
|
20488
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20489
|
+
}, []);
|
|
20490
|
+
|
|
20439
20491
|
/**
|
|
20440
20492
|
* onClickAdd
|
|
20441
20493
|
* From the Widget or Container, clicked plus button to add a widget
|
|
@@ -20847,11 +20899,11 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20847
20899
|
|
|
20848
20900
|
// Grid Operation Handlers
|
|
20849
20901
|
|
|
20850
|
-
function handleSplitCell(
|
|
20851
|
-
var cellNumber =
|
|
20852
|
-
direction =
|
|
20853
|
-
count =
|
|
20854
|
-
gridContainer =
|
|
20902
|
+
function handleSplitCell(_ref5) {
|
|
20903
|
+
var cellNumber = _ref5.cellNumber,
|
|
20904
|
+
direction = _ref5.direction,
|
|
20905
|
+
count = _ref5.count,
|
|
20906
|
+
gridContainer = _ref5.gridContainer;
|
|
20855
20907
|
try {
|
|
20856
20908
|
var dashboard = new DashboardModel(currentWorkspace);
|
|
20857
20909
|
var result = dashboard.splitGridCell(gridContainer.id, cellNumber, direction, count);
|
|
@@ -20863,10 +20915,10 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20863
20915
|
} catch (e) {
|
|
20864
20916
|
}
|
|
20865
20917
|
}
|
|
20866
|
-
function handleMergeCells(
|
|
20867
|
-
var cellNumbers =
|
|
20868
|
-
gridContainer =
|
|
20869
|
-
keepComponent =
|
|
20918
|
+
function handleMergeCells(_ref6) {
|
|
20919
|
+
var cellNumbers = _ref6.cellNumbers,
|
|
20920
|
+
gridContainer = _ref6.gridContainer,
|
|
20921
|
+
keepComponent = _ref6.keepComponent;
|
|
20870
20922
|
try {
|
|
20871
20923
|
var dashboard = new DashboardModel(currentWorkspace);
|
|
20872
20924
|
var result = dashboard.mergeGridCells(gridContainer.id, cellNumbers);
|
|
@@ -25119,7 +25171,13 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
25119
25171
|
})]
|
|
25120
25172
|
}), /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
25121
25173
|
onClick: function onClick() {
|
|
25122
|
-
return window.dispatchEvent(new
|
|
25174
|
+
return window.dispatchEvent(new CustomEvent("dash:open-widget-builder", {
|
|
25175
|
+
detail: {
|
|
25176
|
+
cellNumber: cellNumber,
|
|
25177
|
+
gridItemId: item.id,
|
|
25178
|
+
workspaceId: workspace === null || workspace === void 0 ? void 0 : workspace.id
|
|
25179
|
+
}
|
|
25180
|
+
}));
|
|
25123
25181
|
},
|
|
25124
25182
|
className: "flex items-center gap-1.5 px-3 py-1 rounded-md text-xs text-indigo-400/70 hover:text-indigo-300 hover:bg-indigo-900/20 transition-colors",
|
|
25125
25183
|
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
@@ -54203,7 +54261,9 @@ function ChatCore(_ref) {
|
|
|
54203
54261
|
_ref$onPublishEvent = _ref.onPublishEvent,
|
|
54204
54262
|
onPublishEvent = _ref$onPublishEvent === void 0 ? null : _ref$onPublishEvent,
|
|
54205
54263
|
_ref$hideToolsBanner = _ref.hideToolsBanner,
|
|
54206
|
-
hideToolsBanner = _ref$hideToolsBanner === void 0 ? false : _ref$hideToolsBanner
|
|
54264
|
+
hideToolsBanner = _ref$hideToolsBanner === void 0 ? false : _ref$hideToolsBanner,
|
|
54265
|
+
_ref$cwd = _ref.cwd,
|
|
54266
|
+
cwd = _ref$cwd === void 0 ? null : _ref$cwd;
|
|
54207
54267
|
var mainApi = window.mainApi;
|
|
54208
54268
|
|
|
54209
54269
|
// Conversation state
|
|
@@ -54512,7 +54572,8 @@ function ChatCore(_ref) {
|
|
|
54512
54572
|
toolServerMap: toolServerMap,
|
|
54513
54573
|
systemPrompt: systemPrompt,
|
|
54514
54574
|
maxToolRounds: parseInt(maxToolRounds, 10) || 10,
|
|
54515
|
-
widgetUuid: uuid || persistKey
|
|
54575
|
+
widgetUuid: uuid || persistKey,
|
|
54576
|
+
cwd: cwd || undefined
|
|
54516
54577
|
});
|
|
54517
54578
|
}, [mainApi, isLoading, messages, servers, enabledTools, apiKey, model, systemPrompt, maxToolRounds, uuid, persistKey, onPublishEvent, backend, isAnthropicBackend]);
|
|
54518
54579
|
|