@trops/dash-core 0.1.402 → 0.1.404
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 +226 -208
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +226 -207
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -12773,15 +12773,12 @@ var deepEqual = function deepEqual(a, b, opts) {
|
|
|
12773
12773
|
|
|
12774
12774
|
var deepEqual$1 = /*@__PURE__*/getDefaultExportFromCjs(deepEqual);
|
|
12775
12775
|
|
|
12776
|
-
function ownKeys$O(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12777
|
-
function _objectSpread$O(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$O(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12778
12776
|
var PanelEditItem = function PanelEditItem(_ref) {
|
|
12779
12777
|
var _ComponentManager$get;
|
|
12780
12778
|
var workspace = _ref.workspace,
|
|
12781
12779
|
onUpdate = _ref.onUpdate,
|
|
12782
12780
|
_ref$item = _ref.item,
|
|
12783
12781
|
item = _ref$item === void 0 ? null : _ref$item;
|
|
12784
|
-
var appContext = useContext(AppContext);
|
|
12785
12782
|
var _useState = useState(item),
|
|
12786
12783
|
_useState2 = _slicedToArray(_useState, 2),
|
|
12787
12784
|
itemSelected = _useState2[0],
|
|
@@ -12796,10 +12793,6 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12796
12793
|
var forceUpdate = useCallback(function () {
|
|
12797
12794
|
return updateState({});
|
|
12798
12795
|
}, []);
|
|
12799
|
-
var allProviders = (appContext === null || appContext === void 0 ? void 0 : appContext.providers) || {};
|
|
12800
|
-
var widgetConfig = itemSelected ? ComponentManager.config(itemSelected.component, itemSelected) : null;
|
|
12801
|
-
var providerRequirements = (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.providers) || [];
|
|
12802
|
-
var selectedProviders = (itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.selectedProviders) || {};
|
|
12803
12796
|
useEffect(function () {
|
|
12804
12797
|
if (deepEqual$1(item, itemSelected) === false) {
|
|
12805
12798
|
setItemSelected(function () {
|
|
@@ -12822,23 +12815,6 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12822
12815
|
onUpdate(data, workspaceTemp);
|
|
12823
12816
|
forceUpdate();
|
|
12824
12817
|
}
|
|
12825
|
-
function handleProviderChange(providerType, providerId) {
|
|
12826
|
-
var newItem = JSON.parse(JSON.stringify(itemSelected));
|
|
12827
|
-
newItem.selectedProviders = newItem.selectedProviders || {};
|
|
12828
|
-
newItem.selectedProviders[providerType] = providerId;
|
|
12829
|
-
var workspaceTemp = WorkspaceModel(workspaceSelected);
|
|
12830
|
-
var newLayout = replaceItemInLayout(workspaceTemp.layout, newItem["id"], newItem);
|
|
12831
|
-
workspaceTemp.layout = newLayout;
|
|
12832
|
-
|
|
12833
|
-
// Also update workspace-level selectedProviders
|
|
12834
|
-
var uuid = newItem.uuid || newItem.uuidString;
|
|
12835
|
-
if (uuid) {
|
|
12836
|
-
workspaceTemp.selectedProviders = workspaceTemp.selectedProviders || {};
|
|
12837
|
-
workspaceTemp.selectedProviders[uuid] = _objectSpread$O(_objectSpread$O({}, workspaceTemp.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
|
|
12838
|
-
}
|
|
12839
|
-
onUpdate(newItem, workspaceTemp);
|
|
12840
|
-
forceUpdate();
|
|
12841
|
-
}
|
|
12842
12818
|
function renderCustomSettings() {
|
|
12843
12819
|
if (itemSelected) {
|
|
12844
12820
|
var componentConfig = ComponentManager.getComponent(itemSelected.component);
|
|
@@ -12939,68 +12915,15 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12939
12915
|
}, "config-item-".concat(key));
|
|
12940
12916
|
}
|
|
12941
12917
|
var hasCustomSettings = itemSelected && ((_ComponentManager$get = ComponentManager.getComponent(itemSelected.component)) === null || _ComponentManager$get === void 0 ? void 0 : _ComponentManager$get.userConfig);
|
|
12942
|
-
return itemSelected && workspaceSelected && /*#__PURE__*/
|
|
12918
|
+
return itemSelected && workspaceSelected && /*#__PURE__*/jsx("div", {
|
|
12943
12919
|
className: "flex flex-col flex-1 min-h-0 overflow-y-auto p-6 space-y-6",
|
|
12944
|
-
children:
|
|
12920
|
+
children: hasCustomSettings && /*#__PURE__*/jsxs("div", {
|
|
12945
12921
|
className: "flex flex-col space-y-3",
|
|
12946
12922
|
children: [/*#__PURE__*/jsx(SubHeading3, {
|
|
12947
12923
|
title: "Configuration",
|
|
12948
12924
|
padding: false
|
|
12949
12925
|
}), renderCustomSettings()]
|
|
12950
|
-
})
|
|
12951
|
-
className: "flex flex-col space-y-3",
|
|
12952
|
-
children: [/*#__PURE__*/jsx(SubHeading3, {
|
|
12953
|
-
title: "Providers",
|
|
12954
|
-
padding: false
|
|
12955
|
-
}), providerRequirements.map(function (req) {
|
|
12956
|
-
var providerType = req.type;
|
|
12957
|
-
var currentSelection = selectedProviders[providerType] || "";
|
|
12958
|
-
var availableProviders = Object.entries(allProviders).filter(function (_ref2) {
|
|
12959
|
-
var _ref3 = _slicedToArray(_ref2, 2),
|
|
12960
|
-
p = _ref3[1];
|
|
12961
|
-
return p.type === providerType;
|
|
12962
|
-
}).map(function (_ref4) {
|
|
12963
|
-
var _ref5 = _slicedToArray(_ref4, 2),
|
|
12964
|
-
name = _ref5[0],
|
|
12965
|
-
p = _ref5[1];
|
|
12966
|
-
return _objectSpread$O({
|
|
12967
|
-
name: name
|
|
12968
|
-
}, p);
|
|
12969
|
-
});
|
|
12970
|
-
return /*#__PURE__*/jsxs("div", {
|
|
12971
|
-
className: "flex flex-col space-y-1",
|
|
12972
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
12973
|
-
className: "flex items-center gap-1",
|
|
12974
|
-
children: [/*#__PURE__*/jsx(FormLabel, {
|
|
12975
|
-
title: providerType,
|
|
12976
|
-
textSize: "text-sm"
|
|
12977
|
-
}), req.required && /*#__PURE__*/jsx("span", {
|
|
12978
|
-
className: "text-red-500 text-sm",
|
|
12979
|
-
children: "*"
|
|
12980
|
-
})]
|
|
12981
|
-
}), /*#__PURE__*/jsxs(SelectMenu, {
|
|
12982
|
-
name: "provider-".concat(providerType),
|
|
12983
|
-
textSize: "text-sm",
|
|
12984
|
-
selectedValue: currentSelection,
|
|
12985
|
-
onChange: function onChange(e) {
|
|
12986
|
-
return handleProviderChange(providerType, e.target.value);
|
|
12987
|
-
},
|
|
12988
|
-
children: [/*#__PURE__*/jsx("option", {
|
|
12989
|
-
value: "",
|
|
12990
|
-
children: "-- Select Provider --"
|
|
12991
|
-
}), availableProviders.map(function (provider) {
|
|
12992
|
-
return /*#__PURE__*/jsx("option", {
|
|
12993
|
-
value: provider.name,
|
|
12994
|
-
children: provider.name
|
|
12995
|
-
}, provider.name);
|
|
12996
|
-
})]
|
|
12997
|
-
}), availableProviders.length === 0 && /*#__PURE__*/jsxs("span", {
|
|
12998
|
-
className: "text-xs opacity-40",
|
|
12999
|
-
children: ["No ", providerType, " providers configured"]
|
|
13000
|
-
})]
|
|
13001
|
-
}, providerType);
|
|
13002
|
-
})]
|
|
13003
|
-
})]
|
|
12926
|
+
})
|
|
13004
12927
|
});
|
|
13005
12928
|
};
|
|
13006
12929
|
|
|
@@ -13008,8 +12931,8 @@ var _excluded$6 = ["rows", "cols"];
|
|
|
13008
12931
|
function _createForOfIteratorHelper$o(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$o(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
13009
12932
|
function _unsupportedIterableToArray$o(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$o(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$o(r, a) : void 0; } }
|
|
13010
12933
|
function _arrayLikeToArray$o(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
13011
|
-
function ownKeys$
|
|
13012
|
-
function _objectSpread$
|
|
12934
|
+
function ownKeys$O(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12935
|
+
function _objectSpread$O(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$O(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13013
12936
|
var defaultGrid = {
|
|
13014
12937
|
rows: 1,
|
|
13015
12938
|
cols: 1,
|
|
@@ -13030,7 +12953,7 @@ function GridEditor(_ref) {
|
|
|
13030
12953
|
setGrid = _useState2[1];
|
|
13031
12954
|
var addRow = function addRow() {
|
|
13032
12955
|
var newRow = grid.rows;
|
|
13033
|
-
var newGrid = _objectSpread$
|
|
12956
|
+
var newGrid = _objectSpread$O(_objectSpread$O({}, grid), {}, {
|
|
13034
12957
|
rows: grid.rows + 1
|
|
13035
12958
|
});
|
|
13036
12959
|
for (var col = 0; col < grid.cols; col++) {
|
|
@@ -13045,7 +12968,7 @@ function GridEditor(_ref) {
|
|
|
13045
12968
|
};
|
|
13046
12969
|
var addColumn = function addColumn() {
|
|
13047
12970
|
var newCol = grid.cols;
|
|
13048
|
-
var newGrid = _objectSpread$
|
|
12971
|
+
var newGrid = _objectSpread$O(_objectSpread$O({}, grid), {}, {
|
|
13049
12972
|
cols: grid.cols + 1
|
|
13050
12973
|
});
|
|
13051
12974
|
for (var row = 0; row < grid.rows; row++) {
|
|
@@ -13078,8 +13001,8 @@ function GridEditor(_ref) {
|
|
|
13078
13001
|
});
|
|
13079
13002
|
}
|
|
13080
13003
|
if (grid[nextKey]) {
|
|
13081
|
-
var newGrid = _objectSpread$
|
|
13082
|
-
newGrid[currentKey] = _objectSpread$
|
|
13004
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13005
|
+
newGrid[currentKey] = _objectSpread$O(_objectSpread$O({}, newGrid[currentKey]), {}, {
|
|
13083
13006
|
colSpan: newGrid[currentKey].colSpan + 1
|
|
13084
13007
|
});
|
|
13085
13008
|
delete newGrid[nextKey];
|
|
@@ -13092,8 +13015,8 @@ function GridEditor(_ref) {
|
|
|
13092
13015
|
var currentKey = "".concat(row, ".").concat(col);
|
|
13093
13016
|
var belowKey = "".concat(row + 1, ".").concat(col);
|
|
13094
13017
|
if (grid[belowKey]) {
|
|
13095
|
-
var newGrid = _objectSpread$
|
|
13096
|
-
newGrid[currentKey] = _objectSpread$
|
|
13018
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13019
|
+
newGrid[currentKey] = _objectSpread$O(_objectSpread$O({}, newGrid[currentKey]), {}, {
|
|
13097
13020
|
rowSpan: newGrid[currentKey].rowSpan + 1
|
|
13098
13021
|
});
|
|
13099
13022
|
delete newGrid[belowKey];
|
|
@@ -13110,7 +13033,7 @@ function GridEditor(_ref) {
|
|
|
13110
13033
|
var splitCell = function splitCell(row, col) {
|
|
13111
13034
|
var key = "".concat(row, ".").concat(col);
|
|
13112
13035
|
var cell = grid[key];
|
|
13113
|
-
var newGrid = _objectSpread$
|
|
13036
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13114
13037
|
|
|
13115
13038
|
// we have to check the colspan, and since the colspan is greater than 1
|
|
13116
13039
|
// Only handle horizontal split if colSpan > 1
|
|
@@ -13126,13 +13049,13 @@ function GridEditor(_ref) {
|
|
|
13126
13049
|
var oldKey = "".concat(row, ".").concat(c);
|
|
13127
13050
|
var newKey = "".concat(row, ".").concat(c + 1);
|
|
13128
13051
|
if (newGrid[oldKey]) {
|
|
13129
|
-
newGrid[newKey] = _objectSpread$
|
|
13052
|
+
newGrid[newKey] = _objectSpread$O({}, newGrid[oldKey]);
|
|
13130
13053
|
delete newGrid[oldKey];
|
|
13131
13054
|
}
|
|
13132
13055
|
}
|
|
13133
13056
|
|
|
13134
13057
|
// Update the original cell's colSpan
|
|
13135
|
-
newGrid[key] = _objectSpread$
|
|
13058
|
+
newGrid[key] = _objectSpread$O(_objectSpread$O({}, cell), {}, {
|
|
13136
13059
|
colSpan: cell.colSpan - 1
|
|
13137
13060
|
});
|
|
13138
13061
|
|
|
@@ -13144,7 +13067,7 @@ function GridEditor(_ref) {
|
|
|
13144
13067
|
};
|
|
13145
13068
|
}
|
|
13146
13069
|
if (cell.rowSpan > 1) {
|
|
13147
|
-
newGrid[key] = _objectSpread$
|
|
13070
|
+
newGrid[key] = _objectSpread$O(_objectSpread$O({}, newGrid[key]), {}, {
|
|
13148
13071
|
rowSpan: cell.rowSpan - 1
|
|
13149
13072
|
});
|
|
13150
13073
|
newGrid["".concat(row + 1, ".").concat(col)] = {
|
|
@@ -13263,7 +13186,7 @@ function GridEditor(_ref) {
|
|
|
13263
13186
|
var fromKey = "".concat(from.row, ".").concat(from.col);
|
|
13264
13187
|
var toKey = "".concat(to.row, ".").concat(to.col);
|
|
13265
13188
|
if (fromKey === toKey) return;
|
|
13266
|
-
var newGrid = _objectSpread$
|
|
13189
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13267
13190
|
|
|
13268
13191
|
// Swap the cells
|
|
13269
13192
|
var temp = newGrid[fromKey];
|
|
@@ -13289,7 +13212,7 @@ function GridEditor(_ref) {
|
|
|
13289
13212
|
// console.log("Grid updated:", sequencedGrid);
|
|
13290
13213
|
}
|
|
13291
13214
|
function resetGridLayout() {
|
|
13292
|
-
var newGrid = _objectSpread$
|
|
13215
|
+
var newGrid = _objectSpread$O({}, defaultGrid);
|
|
13293
13216
|
setGrid(newGrid);
|
|
13294
13217
|
onUpdate(newGrid);
|
|
13295
13218
|
}
|
|
@@ -13567,8 +13490,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
|
|
|
13567
13490
|
});
|
|
13568
13491
|
};
|
|
13569
13492
|
|
|
13570
|
-
function ownKeys$
|
|
13571
|
-
function _objectSpread$
|
|
13493
|
+
function ownKeys$N(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13494
|
+
function _objectSpread$N(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$N(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$N(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13572
13495
|
var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
13573
13496
|
var item = _ref.item;
|
|
13574
13497
|
_ref.workspace;
|
|
@@ -13591,7 +13514,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13591
13514
|
}, [widgetUuid, notificationDefs.length]);
|
|
13592
13515
|
function handleNotifToggle(typeKey, value) {
|
|
13593
13516
|
var _window$mainApi2;
|
|
13594
|
-
var updated = _objectSpread$
|
|
13517
|
+
var updated = _objectSpread$N(_objectSpread$N({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
|
|
13595
13518
|
setNotifPrefs(updated);
|
|
13596
13519
|
if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
|
|
13597
13520
|
window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
|
|
@@ -13636,8 +13559,8 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13636
13559
|
function _createForOfIteratorHelper$n(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$n(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
13637
13560
|
function _unsupportedIterableToArray$n(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$n(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$n(r, a) : void 0; } }
|
|
13638
13561
|
function _arrayLikeToArray$n(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
13639
|
-
function ownKeys$
|
|
13640
|
-
function _objectSpread$
|
|
13562
|
+
function ownKeys$M(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13563
|
+
function _objectSpread$M(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$M(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13641
13564
|
var DAYS = [{
|
|
13642
13565
|
key: "mon",
|
|
13643
13566
|
label: "Mon"
|
|
@@ -13738,7 +13661,7 @@ function TaskScheduleEditor(_ref) {
|
|
|
13738
13661
|
var _window$mainApi;
|
|
13739
13662
|
var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13740
13663
|
if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
|
|
13741
|
-
var payload = _objectSpread$
|
|
13664
|
+
var payload = _objectSpread$M({
|
|
13742
13665
|
widgetId: widgetId,
|
|
13743
13666
|
widgetName: widgetName,
|
|
13744
13667
|
workspaceId: workspaceId || "",
|
|
@@ -14359,11 +14282,147 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
|
|
|
14359
14282
|
});
|
|
14360
14283
|
};
|
|
14361
14284
|
|
|
14285
|
+
var getUserConfigurableProviders = function getUserConfigurableProviders(providers) {
|
|
14286
|
+
if (!providers) return [];
|
|
14287
|
+
return providers.filter(function (p) {
|
|
14288
|
+
return p.providerClass !== "api";
|
|
14289
|
+
});
|
|
14290
|
+
};
|
|
14291
|
+
|
|
14292
|
+
function ownKeys$L(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14293
|
+
function _objectSpread$L(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$L(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14294
|
+
var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
|
|
14295
|
+
var workspace = _ref.workspace,
|
|
14296
|
+
onUpdate = _ref.onUpdate,
|
|
14297
|
+
_ref$item = _ref.item,
|
|
14298
|
+
item = _ref$item === void 0 ? null : _ref$item;
|
|
14299
|
+
var appCtx = useContext(AppContext);
|
|
14300
|
+
var appProviders = (appCtx === null || appCtx === void 0 ? void 0 : appCtx.providers) || {};
|
|
14301
|
+
var _useState = useState(item),
|
|
14302
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
14303
|
+
itemSelected = _useState2[0],
|
|
14304
|
+
setItemSelected = _useState2[1];
|
|
14305
|
+
var _useState3 = useState(workspace),
|
|
14306
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
14307
|
+
workspaceSelected = _useState4[0],
|
|
14308
|
+
setWorkspaceSelected = _useState4[1];
|
|
14309
|
+
useEffect(function () {
|
|
14310
|
+
if (!deepEqual$1(item, itemSelected)) setItemSelected(function () {
|
|
14311
|
+
return item;
|
|
14312
|
+
});
|
|
14313
|
+
if (!deepEqual$1(workspace, workspaceSelected)) setWorkspaceSelected(function () {
|
|
14314
|
+
return workspace;
|
|
14315
|
+
});
|
|
14316
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14317
|
+
}, [workspace, item]);
|
|
14318
|
+
if (!itemSelected || !workspaceSelected) return null;
|
|
14319
|
+
var widgetConfig = ComponentManager.config(itemSelected.component, itemSelected);
|
|
14320
|
+
var declaredProviders = Array.isArray(widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.providers) ? widgetConfig.providers : Array.isArray(itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.providers) ? itemSelected.providers : [];
|
|
14321
|
+
var providerRequirements = getUserConfigurableProviders(declaredProviders);
|
|
14322
|
+
var selectedProviders = itemSelected.selectedProviders || {};
|
|
14323
|
+
function handleProviderChange(providerType, providerName) {
|
|
14324
|
+
var updatedItem = deepCopy(itemSelected);
|
|
14325
|
+
var nextProviders = _objectSpread$L({}, updatedItem.selectedProviders || {});
|
|
14326
|
+
if (providerName) {
|
|
14327
|
+
nextProviders[providerType] = providerName;
|
|
14328
|
+
} else {
|
|
14329
|
+
delete nextProviders[providerType];
|
|
14330
|
+
}
|
|
14331
|
+
updatedItem.selectedProviders = nextProviders;
|
|
14332
|
+
var updatedWorkspace = deepCopy(workspaceSelected);
|
|
14333
|
+
updatedWorkspace.layout = replaceItemInLayout(updatedWorkspace.layout, updatedItem.id, updatedItem);
|
|
14334
|
+
setItemSelected(function () {
|
|
14335
|
+
return updatedItem;
|
|
14336
|
+
});
|
|
14337
|
+
setWorkspaceSelected(function () {
|
|
14338
|
+
return updatedWorkspace;
|
|
14339
|
+
});
|
|
14340
|
+
onUpdate(updatedItem, updatedWorkspace);
|
|
14341
|
+
}
|
|
14342
|
+
if (providerRequirements.length === 0) {
|
|
14343
|
+
return /*#__PURE__*/jsx("div", {
|
|
14344
|
+
className: "flex items-center justify-center h-full text-sm opacity-60 text-center px-6",
|
|
14345
|
+
children: "This widget doesn't declare any providers."
|
|
14346
|
+
});
|
|
14347
|
+
}
|
|
14348
|
+
return /*#__PURE__*/jsxs("div", {
|
|
14349
|
+
className: "flex flex-col flex-1 min-h-0 overflow-y-auto p-6 space-y-4",
|
|
14350
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
14351
|
+
className: "text-sm opacity-70",
|
|
14352
|
+
children: "Bind each required provider so the widget can connect to its data source. Changes save immediately."
|
|
14353
|
+
}), /*#__PURE__*/jsx("div", {
|
|
14354
|
+
className: "space-y-3",
|
|
14355
|
+
children: providerRequirements.map(function (req) {
|
|
14356
|
+
var type = req.type;
|
|
14357
|
+
var current = selectedProviders[type] || "";
|
|
14358
|
+
var options = Object.entries(appProviders).filter(function (_ref2) {
|
|
14359
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
14360
|
+
p = _ref3[1];
|
|
14361
|
+
return p && p.type === type;
|
|
14362
|
+
}).map(function (_ref4) {
|
|
14363
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
14364
|
+
name = _ref5[0],
|
|
14365
|
+
p = _ref5[1];
|
|
14366
|
+
return _objectSpread$L({
|
|
14367
|
+
name: name
|
|
14368
|
+
}, p);
|
|
14369
|
+
});
|
|
14370
|
+
var isConfigured = !!current;
|
|
14371
|
+
var isMissing = req.required && !isConfigured;
|
|
14372
|
+
return /*#__PURE__*/jsxs("div", {
|
|
14373
|
+
className: "rounded border px-3 py-2 ".concat(isMissing ? "bg-red-900 border-red-500" : "bg-gray-800 border-gray-700"),
|
|
14374
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
14375
|
+
className: "flex items-center gap-2",
|
|
14376
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
14377
|
+
className: "text-sm font-medium ".concat(isMissing ? "text-red-100" : "text-gray-100"),
|
|
14378
|
+
children: type
|
|
14379
|
+
}), /*#__PURE__*/jsx("span", {
|
|
14380
|
+
className: "text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded font-semibold ".concat(isMissing ? "bg-red-600 text-white" : req.required ? "bg-indigo-800 text-indigo-100" : "bg-gray-700 text-gray-300"),
|
|
14381
|
+
children: req.required ? "required" : "optional"
|
|
14382
|
+
})]
|
|
14383
|
+
}), req.description && /*#__PURE__*/jsx("div", {
|
|
14384
|
+
className: "text-xs opacity-60 mt-1",
|
|
14385
|
+
children: req.description
|
|
14386
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
14387
|
+
className: "mt-2",
|
|
14388
|
+
children: [/*#__PURE__*/jsxs("select", {
|
|
14389
|
+
value: current,
|
|
14390
|
+
onChange: function onChange(e) {
|
|
14391
|
+
return handleProviderChange(type, e.target.value);
|
|
14392
|
+
},
|
|
14393
|
+
className: "w-full bg-gray-900 border rounded px-2 py-1.5 text-sm ".concat(isMissing ? "border-red-500" : "border-gray-700"),
|
|
14394
|
+
children: [/*#__PURE__*/jsx("option", {
|
|
14395
|
+
value: "",
|
|
14396
|
+
children: req.required ? "— select a provider —" : "— none —"
|
|
14397
|
+
}), options.map(function (opt) {
|
|
14398
|
+
return /*#__PURE__*/jsx("option", {
|
|
14399
|
+
value: opt.name,
|
|
14400
|
+
children: opt.name
|
|
14401
|
+
}, opt.name);
|
|
14402
|
+
})]
|
|
14403
|
+
}), options.length === 0 && /*#__PURE__*/jsxs("div", {
|
|
14404
|
+
className: "mt-1 text-[11px] text-amber-300",
|
|
14405
|
+
children: ["No ", type, " providers configured. Add one in Settings > Providers."]
|
|
14406
|
+
})]
|
|
14407
|
+
})]
|
|
14408
|
+
}, type);
|
|
14409
|
+
})
|
|
14410
|
+
})]
|
|
14411
|
+
});
|
|
14412
|
+
};
|
|
14413
|
+
|
|
14362
14414
|
var getSections = function getSections(item) {
|
|
14363
14415
|
var _widgetConfig$notific, _widgetConfig$schedul;
|
|
14364
14416
|
var widgetConfig = item ? ComponentManager.config(item.component, item) : null;
|
|
14365
14417
|
var hasNotifications = (widgetConfig === null || widgetConfig === void 0 || (_widgetConfig$notific = widgetConfig.notifications) === null || _widgetConfig$notific === void 0 ? void 0 : _widgetConfig$notific.length) > 0;
|
|
14366
14418
|
var hasScheduledTasks = (widgetConfig === null || widgetConfig === void 0 || (_widgetConfig$schedul = widgetConfig.scheduledTasks) === null || _widgetConfig$schedul === void 0 ? void 0 : _widgetConfig$schedul.length) > 0;
|
|
14419
|
+
// Show the Providers section whenever the widget declares any
|
|
14420
|
+
// user-configurable providers. Previously provider selection lived
|
|
14421
|
+
// inline in the card header dropdown; this moves it into the
|
|
14422
|
+
// widget config modal so the header stays uncluttered and there's
|
|
14423
|
+
// room for richer per-provider UX.
|
|
14424
|
+
var declaredProviders = Array.isArray(widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.providers) ? widgetConfig.providers : Array.isArray(item === null || item === void 0 ? void 0 : item.providers) ? item.providers : [];
|
|
14425
|
+
var userConfigurableProviders = getUserConfigurableProviders(declaredProviders);
|
|
14367
14426
|
return [{
|
|
14368
14427
|
key: "edit",
|
|
14369
14428
|
label: "Settings",
|
|
@@ -14384,6 +14443,10 @@ var getSections = function getSections(item) {
|
|
|
14384
14443
|
key: "handlers",
|
|
14385
14444
|
label: "Listeners",
|
|
14386
14445
|
icon: "phone"
|
|
14446
|
+
}] : []), _toConsumableArray(userConfigurableProviders.length > 0 ? [{
|
|
14447
|
+
key: "providers",
|
|
14448
|
+
label: "Providers",
|
|
14449
|
+
icon: "plug"
|
|
14387
14450
|
}] : []), [{
|
|
14388
14451
|
key: "code",
|
|
14389
14452
|
label: "Code",
|
|
@@ -14506,6 +14569,10 @@ var LayoutBuilderConfigModal = function LayoutBuilderConfigModal(_ref) {
|
|
|
14506
14569
|
item: itemSelected,
|
|
14507
14570
|
onUpdate: handleEditChange,
|
|
14508
14571
|
workspace: workspaceSelected
|
|
14572
|
+
}), activeSection === "providers" && /*#__PURE__*/jsx(PanelEditItemProviders, {
|
|
14573
|
+
item: itemSelected,
|
|
14574
|
+
onUpdate: handleEditChange,
|
|
14575
|
+
workspace: workspaceSelected
|
|
14509
14576
|
}), activeSection === "code" && /*#__PURE__*/jsx(PanelCode, {
|
|
14510
14577
|
item: itemSelected,
|
|
14511
14578
|
onUpdate: handleEditChange,
|
|
@@ -16821,13 +16888,6 @@ function mcpJsonToFormState(jsonString, nextRowId) {
|
|
|
16821
16888
|
return result;
|
|
16822
16889
|
}
|
|
16823
16890
|
|
|
16824
|
-
var getUserConfigurableProviders = function getUserConfigurableProviders(providers) {
|
|
16825
|
-
if (!providers) return [];
|
|
16826
|
-
return providers.filter(function (p) {
|
|
16827
|
-
return p.providerClass !== "api";
|
|
16828
|
-
});
|
|
16829
|
-
};
|
|
16830
|
-
|
|
16831
16891
|
function _createForOfIteratorHelper$m(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$m(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
16832
16892
|
function _unsupportedIterableToArray$m(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$m(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$m(r, a) : void 0; } }
|
|
16833
16893
|
function _arrayLikeToArray$m(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -18701,13 +18761,12 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18701
18761
|
var item = _ref.item,
|
|
18702
18762
|
widget = _ref.widget,
|
|
18703
18763
|
_ref$cellNumber = _ref.cellNumber,
|
|
18704
|
-
cellNumber = _ref$cellNumber === void 0 ? null : _ref$cellNumber
|
|
18705
|
-
_ref
|
|
18706
|
-
|
|
18707
|
-
_ref$selectedProvider
|
|
18708
|
-
|
|
18709
|
-
|
|
18710
|
-
onConfigure = _ref.onConfigure,
|
|
18764
|
+
cellNumber = _ref$cellNumber === void 0 ? null : _ref$cellNumber;
|
|
18765
|
+
_ref.providers;
|
|
18766
|
+
var _ref$selectedProvider = _ref.selectedProviders,
|
|
18767
|
+
selectedProviders = _ref$selectedProvider === void 0 ? {} : _ref$selectedProvider;
|
|
18768
|
+
_ref.onProviderChange;
|
|
18769
|
+
var onConfigure = _ref.onConfigure,
|
|
18711
18770
|
onDelete = _ref.onDelete,
|
|
18712
18771
|
onRemove = _ref.onRemove,
|
|
18713
18772
|
_ref$onSplitHorizonta = _ref.onSplitHorizontal,
|
|
@@ -18761,29 +18820,13 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18761
18820
|
};
|
|
18762
18821
|
var providerRequirements = getProviderRequirements();
|
|
18763
18822
|
|
|
18764
|
-
//
|
|
18765
|
-
|
|
18766
|
-
|
|
18767
|
-
return p.type === type;
|
|
18768
|
-
});
|
|
18769
|
-
};
|
|
18770
|
-
|
|
18771
|
-
// Check if provider is configured
|
|
18823
|
+
// Check if provider is configured — used only for the amber-dot
|
|
18824
|
+
// indicator now. Actual provider editing lives in the config
|
|
18825
|
+
// modal's Providers section (opened via the "Providers" menu item).
|
|
18772
18826
|
var isProviderConfigured = function isProviderConfigured(providerType) {
|
|
18773
18827
|
return selectedProviders[providerType] != null;
|
|
18774
18828
|
};
|
|
18775
18829
|
|
|
18776
|
-
// Handle provider selection
|
|
18777
|
-
var handleProviderSelect = function handleProviderSelect(providerType, providerId) {
|
|
18778
|
-
if (providerId === "_new") {
|
|
18779
|
-
onProviderChange(providerType, null, true); // true = create new
|
|
18780
|
-
} else if (providerId === "_unset") {
|
|
18781
|
-
onProviderChange(providerType, null, false); // unset — no provider
|
|
18782
|
-
} else {
|
|
18783
|
-
onProviderChange(providerType, providerId);
|
|
18784
|
-
}
|
|
18785
|
-
};
|
|
18786
|
-
|
|
18787
18830
|
// True when any required provider lacks a selection — drives the
|
|
18788
18831
|
// amber dot on the overflow button so the user can see unresolved
|
|
18789
18832
|
// state at a glance without opening the menu.
|
|
@@ -18791,8 +18834,12 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18791
18834
|
return req.required && !isProviderConfigured(req.type);
|
|
18792
18835
|
});
|
|
18793
18836
|
|
|
18794
|
-
// Build overflow actions list — single source of truth for
|
|
18795
|
-
//
|
|
18837
|
+
// Build overflow actions list — single source of truth for the
|
|
18838
|
+
// dropdown items. Provider editing used to live inline in this
|
|
18839
|
+
// menu as dropdowns per provider; that's moved to the widget
|
|
18840
|
+
// config modal under a "Providers" section, so here we just show
|
|
18841
|
+
// a "Providers" entry (when the widget declares any) that opens
|
|
18842
|
+
// the modal pre-selected on that section.
|
|
18796
18843
|
var overflowActions = [];
|
|
18797
18844
|
if (onConfigure) {
|
|
18798
18845
|
overflowActions.push({
|
|
@@ -18804,6 +18851,27 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18804
18851
|
}
|
|
18805
18852
|
});
|
|
18806
18853
|
}
|
|
18854
|
+
if (onConfigure && providerRequirements.length > 0) {
|
|
18855
|
+
overflowActions.push({
|
|
18856
|
+
icon: "plug",
|
|
18857
|
+
label: "Providers",
|
|
18858
|
+
badge: hasUnresolvedRequiredProvider ? "!" : null,
|
|
18859
|
+
onClick: function onClick() {
|
|
18860
|
+
onConfigure(widgetItem, "providers");
|
|
18861
|
+
setShowOverflowMenu(false);
|
|
18862
|
+
}
|
|
18863
|
+
});
|
|
18864
|
+
}
|
|
18865
|
+
if (onConfigure) {
|
|
18866
|
+
overflowActions.push({
|
|
18867
|
+
icon: "phone",
|
|
18868
|
+
label: "Listeners",
|
|
18869
|
+
onClick: function onClick() {
|
|
18870
|
+
onConfigure(widgetItem, "handlers");
|
|
18871
|
+
setShowOverflowMenu(false);
|
|
18872
|
+
}
|
|
18873
|
+
});
|
|
18874
|
+
}
|
|
18807
18875
|
if (onEditWithAI && widgetItem) {
|
|
18808
18876
|
overflowActions.push({
|
|
18809
18877
|
icon: "wand-magic-sparkles",
|
|
@@ -18898,7 +18966,7 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18898
18966
|
className: "absolute top-1 right-1 h-2 w-2 rounded-full bg-amber-400 border border-black pointer-events-none",
|
|
18899
18967
|
title: "Required provider not set"
|
|
18900
18968
|
})]
|
|
18901
|
-
}), /*#__PURE__*/
|
|
18969
|
+
}), /*#__PURE__*/jsx(DropdownPanel, {
|
|
18902
18970
|
isOpen: showOverflowMenu,
|
|
18903
18971
|
onClose: function onClose() {
|
|
18904
18972
|
return setShowOverflowMenu(false);
|
|
@@ -18906,71 +18974,21 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18906
18974
|
position: "absolute top-full right-0 mt-1",
|
|
18907
18975
|
portal: true,
|
|
18908
18976
|
align: "right",
|
|
18909
|
-
children:
|
|
18910
|
-
|
|
18911
|
-
|
|
18912
|
-
|
|
18913
|
-
|
|
18914
|
-
|
|
18915
|
-
|
|
18916
|
-
|
|
18917
|
-
|
|
18918
|
-
|
|
18919
|
-
|
|
18920
|
-
|
|
18921
|
-
|
|
18922
|
-
|
|
18923
|
-
|
|
18924
|
-
children: [/*#__PURE__*/jsx("span", {
|
|
18925
|
-
className: "font-medium text-gray-200",
|
|
18926
|
-
children: providerType
|
|
18927
|
-
}), providerReq.required && !isConfigured && /*#__PURE__*/jsx("span", {
|
|
18928
|
-
className: "text-[10px] text-amber-300 uppercase tracking-wide",
|
|
18929
|
-
children: "required"
|
|
18930
|
-
})]
|
|
18931
|
-
}), /*#__PURE__*/jsxs("select", {
|
|
18932
|
-
value: selectedProviderId,
|
|
18933
|
-
onChange: function onChange(e) {
|
|
18934
|
-
var v = e.target.value;
|
|
18935
|
-
if (v === "_new") {
|
|
18936
|
-
handleProviderSelect(providerType, "_new");
|
|
18937
|
-
} else if (v === "") {
|
|
18938
|
-
handleProviderSelect(providerType, "_unset");
|
|
18939
|
-
} else {
|
|
18940
|
-
handleProviderSelect(providerType, v);
|
|
18941
|
-
}
|
|
18942
|
-
},
|
|
18943
|
-
className: "w-full bg-gray-800 border border-gray-700 text-gray-100 text-xs rounded px-2 py-1",
|
|
18944
|
-
children: [/*#__PURE__*/jsx("option", {
|
|
18945
|
-
value: "",
|
|
18946
|
-
children: providerReq.required ? "— select provider —" : "— none —"
|
|
18947
|
-
}), availableProviders.map(function (provider) {
|
|
18948
|
-
return /*#__PURE__*/jsx("option", {
|
|
18949
|
-
value: provider.id,
|
|
18950
|
-
children: provider.name
|
|
18951
|
-
}, provider.id);
|
|
18952
|
-
}), /*#__PURE__*/jsx("option", {
|
|
18953
|
-
value: "_new",
|
|
18954
|
-
children: "+ Create new\u2026"
|
|
18955
|
-
})]
|
|
18956
|
-
})]
|
|
18957
|
-
}, providerType);
|
|
18958
|
-
}), overflowActions.length > 0 && /*#__PURE__*/jsx(DropdownPanel.Divider, {})]
|
|
18959
|
-
}), overflowActions.length > 0 && /*#__PURE__*/jsxs(Fragment, {
|
|
18960
|
-
children: [/*#__PURE__*/jsx(DropdownPanel.Header, {
|
|
18961
|
-
children: "Actions"
|
|
18962
|
-
}), overflowActions.map(function (action) {
|
|
18963
|
-
return /*#__PURE__*/jsxs(MenuItem2, {
|
|
18964
|
-
onClick: action.onClick,
|
|
18965
|
-
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
18966
|
-
icon: action.icon,
|
|
18967
|
-
className: "w-4 text-center opacity-60"
|
|
18968
|
-
}), /*#__PURE__*/jsx("span", {
|
|
18969
|
-
children: action.label
|
|
18970
|
-
})]
|
|
18971
|
-
}, action.label);
|
|
18972
|
-
})]
|
|
18973
|
-
})]
|
|
18977
|
+
children: overflowActions.map(function (action) {
|
|
18978
|
+
return /*#__PURE__*/jsxs(MenuItem2, {
|
|
18979
|
+
onClick: action.onClick,
|
|
18980
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
18981
|
+
icon: action.icon,
|
|
18982
|
+
className: "w-4 text-center opacity-60"
|
|
18983
|
+
}), /*#__PURE__*/jsx("span", {
|
|
18984
|
+
className: "flex-1",
|
|
18985
|
+
children: action.label
|
|
18986
|
+
}), action.badge && /*#__PURE__*/jsx("span", {
|
|
18987
|
+
className: "ml-auto text-[10px] font-bold text-amber-300",
|
|
18988
|
+
children: action.badge
|
|
18989
|
+
})]
|
|
18990
|
+
}, action.label);
|
|
18991
|
+
})
|
|
18974
18992
|
})]
|
|
18975
18993
|
})]
|
|
18976
18994
|
});
|
|
@@ -22300,8 +22318,8 @@ var WidgetContainerGridItem = function WidgetContainerGridItem(_ref) {
|
|
|
22300
22318
|
function handleChangeOrder(direction) {
|
|
22301
22319
|
onChangeOrder(item, direction);
|
|
22302
22320
|
}
|
|
22303
|
-
function handleOpenConfig() {
|
|
22304
|
-
onOpenConfig(item);
|
|
22321
|
+
function handleOpenConfig(widgetItem, section) {
|
|
22322
|
+
onOpenConfig(item, section);
|
|
22305
22323
|
}
|
|
22306
22324
|
function handleProviderChange(providerType, providerId) {
|
|
22307
22325
|
var createNew = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
@@ -22608,8 +22626,8 @@ var LayoutBuilderGridItem = function LayoutBuilderGridItem(_ref) {
|
|
|
22608
22626
|
function handleChangeOrder(direction) {
|
|
22609
22627
|
onChangeOrder(item, direction);
|
|
22610
22628
|
}
|
|
22611
|
-
function handleOpenConfig() {
|
|
22612
|
-
onOpenConfig(item);
|
|
22629
|
+
function handleOpenConfig(widgetItem, section) {
|
|
22630
|
+
onOpenConfig(item, section);
|
|
22613
22631
|
}
|
|
22614
22632
|
function renderArrows() {
|
|
22615
22633
|
return preview === false && /*#__PURE__*/jsx("div", {
|
|
@@ -25546,8 +25564,8 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
25546
25564
|
}
|
|
25547
25565
|
}
|
|
25548
25566
|
} : undefined,
|
|
25549
|
-
onConfigure: cellComponent ? function () {
|
|
25550
|
-
if (onOpenConfig) onOpenConfig(cellComponent);
|
|
25567
|
+
onConfigure: cellComponent ? function (widgetItem, section) {
|
|
25568
|
+
if (onOpenConfig) onOpenConfig(cellComponent, section);
|
|
25551
25569
|
} : undefined,
|
|
25552
25570
|
onDelete: cellComponent ? function () {
|
|
25553
25571
|
if (onClickRemove) onClickRemove(cellComponent.id);
|
|
@@ -60144,5 +60162,5 @@ function MarkdownFormEditor(_ref8) {
|
|
|
60144
60162
|
|
|
60145
60163
|
ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
|
|
60146
60164
|
|
|
60147
|
-
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, parse, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
60165
|
+
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, parse, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
60148
60166
|
//# sourceMappingURL=index.esm.js.map
|