@trops/dash-core 0.1.401 → 0.1.403
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 +338 -407
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +337 -405
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -50,8 +50,8 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
|
50
50
|
var jsxRuntime__namespace = /*#__PURE__*/_interopNamespaceDefault(jsxRuntime);
|
|
51
51
|
var ReactDOM__namespace = /*#__PURE__*/_interopNamespaceDefault(ReactDOM);
|
|
52
52
|
|
|
53
|
-
function ownKeys$
|
|
54
|
-
function _objectSpread$
|
|
53
|
+
function ownKeys$X(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; }
|
|
54
|
+
function _objectSpread$X(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$X(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$X(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
55
55
|
var event = {
|
|
56
56
|
list: new Map(),
|
|
57
57
|
// Map(1) { '<widget-UUID>' => { 'CustomSearchbar[10].searchQueryChanged': [] } }
|
|
@@ -113,7 +113,7 @@ var event = {
|
|
|
113
113
|
uuid: subscriber["uuid"]
|
|
114
114
|
};
|
|
115
115
|
if ("action" in subscriber && subscriber.action !== undefined) {
|
|
116
|
-
subscriber["action"](_objectSpread$
|
|
116
|
+
subscriber["action"](_objectSpread$X({}, objectToSend));
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
119
|
}
|
|
@@ -2891,8 +2891,8 @@ var DashboardWrapper = function DashboardWrapper(_ref) {
|
|
|
2891
2891
|
});
|
|
2892
2892
|
};
|
|
2893
2893
|
|
|
2894
|
-
function ownKeys$
|
|
2895
|
-
function _objectSpread$
|
|
2894
|
+
function ownKeys$W(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; }
|
|
2895
|
+
function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2896
2896
|
function ThemeBroadcast(_ref) {
|
|
2897
2897
|
var ctx = _ref.ctx;
|
|
2898
2898
|
React.useEffect(function () {
|
|
@@ -2925,7 +2925,7 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
|
|
|
2925
2925
|
var dashboardTheme = themes[themeKey];
|
|
2926
2926
|
var themeValue = dashboardTheme ? dashboardTheme[themeVariant] || null : null;
|
|
2927
2927
|
if (!themeValue) return null;
|
|
2928
|
-
return _objectSpread$
|
|
2928
|
+
return _objectSpread$W(_objectSpread$W({}, parentContext), {}, {
|
|
2929
2929
|
currentTheme: themeValue,
|
|
2930
2930
|
currentThemeKey: themeKey,
|
|
2931
2931
|
theme: themeValue,
|
|
@@ -2952,8 +2952,8 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
|
|
|
2952
2952
|
});
|
|
2953
2953
|
};
|
|
2954
2954
|
|
|
2955
|
-
function ownKeys$
|
|
2956
|
-
function _objectSpread$
|
|
2955
|
+
function ownKeys$V(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; }
|
|
2956
|
+
function _objectSpread$V(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$V(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2957
2957
|
var AppThemeScope = function AppThemeScope(_ref) {
|
|
2958
2958
|
var children = _ref.children;
|
|
2959
2959
|
var ctx = React.useContext(DashReact.ThemeContext);
|
|
@@ -2961,7 +2961,7 @@ var AppThemeScope = function AppThemeScope(_ref) {
|
|
|
2961
2961
|
children: children
|
|
2962
2962
|
});
|
|
2963
2963
|
return /*#__PURE__*/jsxRuntime.jsx(DashReact.ThemeContext.Provider, {
|
|
2964
|
-
value: _objectSpread$
|
|
2964
|
+
value: _objectSpread$V(_objectSpread$V({}, ctx), {}, {
|
|
2965
2965
|
currentTheme: ctx.appTheme,
|
|
2966
2966
|
currentThemeKey: ctx.appThemeKey,
|
|
2967
2967
|
theme: ctx.appTheme,
|
|
@@ -3073,11 +3073,11 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
3073
3073
|
});
|
|
3074
3074
|
};
|
|
3075
3075
|
|
|
3076
|
-
function ownKeys$
|
|
3077
|
-
function _objectSpread$
|
|
3078
|
-
function _createForOfIteratorHelper$
|
|
3079
|
-
function _unsupportedIterableToArray$
|
|
3080
|
-
function _arrayLikeToArray$
|
|
3076
|
+
function ownKeys$U(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; }
|
|
3077
|
+
function _objectSpread$U(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$U(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3078
|
+
function _createForOfIteratorHelper$s(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$s(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; } } }; }
|
|
3079
|
+
function _unsupportedIterableToArray$s(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$s(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$s(r, a) : void 0; } }
|
|
3080
|
+
function _arrayLikeToArray$s(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; }
|
|
3081
3081
|
/**
|
|
3082
3082
|
* Layout template definitions for the dashboard template picker.
|
|
3083
3083
|
*
|
|
@@ -3351,12 +3351,12 @@ function createLayoutFromTemplate(template) {
|
|
|
3351
3351
|
cols: template.cols,
|
|
3352
3352
|
gap: "gap-2"
|
|
3353
3353
|
};
|
|
3354
|
-
var _iterator = _createForOfIteratorHelper$
|
|
3354
|
+
var _iterator = _createForOfIteratorHelper$s(template.cells),
|
|
3355
3355
|
_step;
|
|
3356
3356
|
try {
|
|
3357
3357
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3358
3358
|
var cell = _step.value;
|
|
3359
|
-
grid[cell.key] = _objectSpread$
|
|
3359
|
+
grid[cell.key] = _objectSpread$U({
|
|
3360
3360
|
component: null,
|
|
3361
3361
|
hide: cell.hide || false
|
|
3362
3362
|
}, cell.span ? {
|
|
@@ -4282,11 +4282,11 @@ var RegistryAuthModal = function RegistryAuthModal(_ref) {
|
|
|
4282
4282
|
});
|
|
4283
4283
|
};
|
|
4284
4284
|
|
|
4285
|
-
function _createForOfIteratorHelper$
|
|
4286
|
-
function _unsupportedIterableToArray$
|
|
4287
|
-
function _arrayLikeToArray$
|
|
4288
|
-
function ownKeys$
|
|
4289
|
-
function _objectSpread$
|
|
4285
|
+
function _createForOfIteratorHelper$r(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$r(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; } } }; }
|
|
4286
|
+
function _unsupportedIterableToArray$r(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$r(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$r(r, a) : void 0; } }
|
|
4287
|
+
function _arrayLikeToArray$r(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; }
|
|
4288
|
+
function ownKeys$T(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; }
|
|
4289
|
+
function _objectSpread$T(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$T(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4290
4290
|
var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
4291
4291
|
var dashboardPackage = _ref.dashboardPackage,
|
|
4292
4292
|
appId = _ref.appId,
|
|
@@ -4402,7 +4402,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4402
4402
|
setProgressWidgets(function (prev) {
|
|
4403
4403
|
var next = _toConsumableArray(prev);
|
|
4404
4404
|
if (data.index >= 0 && data.index < next.length) {
|
|
4405
|
-
next[data.index] = _objectSpread$
|
|
4405
|
+
next[data.index] = _objectSpread$T(_objectSpread$T({}, next[data.index]), {}, {
|
|
4406
4406
|
status: data.status,
|
|
4407
4407
|
error: data.error || null
|
|
4408
4408
|
});
|
|
@@ -4498,7 +4498,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4498
4498
|
var raw = preview === null || preview === void 0 ? void 0 : preview.compatibility;
|
|
4499
4499
|
if (!raw) return raw;
|
|
4500
4500
|
var cMap = ComponentManager.componentMap();
|
|
4501
|
-
var augWidgets = _objectSpread$
|
|
4501
|
+
var augWidgets = _objectSpread$T({}, raw.widgets);
|
|
4502
4502
|
var fixedCount = 0;
|
|
4503
4503
|
var _loop = function _loop() {
|
|
4504
4504
|
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
@@ -4525,7 +4525,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4525
4525
|
toInstall = 0,
|
|
4526
4526
|
unavailable = 0,
|
|
4527
4527
|
hasUnavailableRequired = false;
|
|
4528
|
-
var _iterator = _createForOfIteratorHelper$
|
|
4528
|
+
var _iterator = _createForOfIteratorHelper$r(widgetDeps),
|
|
4529
4529
|
_step;
|
|
4530
4530
|
try {
|
|
4531
4531
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -5081,8 +5081,8 @@ var DiscoverDashboardsDetail = function DiscoverDashboardsDetail(_ref) {
|
|
|
5081
5081
|
});
|
|
5082
5082
|
};
|
|
5083
5083
|
|
|
5084
|
-
function ownKeys$
|
|
5085
|
-
function _objectSpread$
|
|
5084
|
+
function ownKeys$S(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; }
|
|
5085
|
+
function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5086
5086
|
var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
5087
5087
|
var open = _ref.open,
|
|
5088
5088
|
setIsOpen = _ref.setIsOpen,
|
|
@@ -5327,7 +5327,7 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
|
5327
5327
|
}
|
|
5328
5328
|
return _context2.abrupt("return");
|
|
5329
5329
|
case 6:
|
|
5330
|
-
updatedWorkspace = _objectSpread$
|
|
5330
|
+
updatedWorkspace = _objectSpread$S(_objectSpread$S({}, importedWorkspace), {}, {
|
|
5331
5331
|
name: dashboardName.trim(),
|
|
5332
5332
|
menuId: menuId,
|
|
5333
5333
|
themeKey: selectedThemeKey
|
|
@@ -6300,9 +6300,9 @@ function cleanIpcError(message) {
|
|
|
6300
6300
|
return match ? match[1] : message;
|
|
6301
6301
|
}
|
|
6302
6302
|
|
|
6303
|
-
function _createForOfIteratorHelper$
|
|
6304
|
-
function _unsupportedIterableToArray$
|
|
6305
|
-
function _arrayLikeToArray$
|
|
6303
|
+
function _createForOfIteratorHelper$q(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$q(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; } } }; }
|
|
6304
|
+
function _unsupportedIterableToArray$q(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$q(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$q(r, a) : void 0; } }
|
|
6305
|
+
function _arrayLikeToArray$q(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; }
|
|
6306
6306
|
|
|
6307
6307
|
/**
|
|
6308
6308
|
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
@@ -6416,13 +6416,13 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6416
6416
|
return c.toLowerCase();
|
|
6417
6417
|
}));
|
|
6418
6418
|
widgets = [];
|
|
6419
|
-
_iterator = _createForOfIteratorHelper$
|
|
6419
|
+
_iterator = _createForOfIteratorHelper$q(pkgs);
|
|
6420
6420
|
try {
|
|
6421
6421
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6422
6422
|
pkg = _step.value;
|
|
6423
6423
|
// Compute missing APIs for the entire package
|
|
6424
6424
|
allApiProviders = [];
|
|
6425
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
6425
|
+
_iterator2 = _createForOfIteratorHelper$q(pkg.providers || []);
|
|
6426
6426
|
try {
|
|
6427
6427
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
6428
6428
|
p = _step2.value;
|
|
@@ -6435,11 +6435,11 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6435
6435
|
} finally {
|
|
6436
6436
|
_iterator2.f();
|
|
6437
6437
|
}
|
|
6438
|
-
_iterator3 = _createForOfIteratorHelper$
|
|
6438
|
+
_iterator3 = _createForOfIteratorHelper$q(pkg.widgets || []);
|
|
6439
6439
|
try {
|
|
6440
6440
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
6441
6441
|
w = _step3.value;
|
|
6442
|
-
_iterator5 = _createForOfIteratorHelper$
|
|
6442
|
+
_iterator5 = _createForOfIteratorHelper$q(w.providers || []);
|
|
6443
6443
|
try {
|
|
6444
6444
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
6445
6445
|
_p = _step5.value;
|
|
@@ -6461,7 +6461,7 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6461
6461
|
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
6462
6462
|
return !capSet.has(api.toLowerCase());
|
|
6463
6463
|
});
|
|
6464
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
6464
|
+
_iterator4 = _createForOfIteratorHelper$q(pkg.widgets || []);
|
|
6465
6465
|
try {
|
|
6466
6466
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
6467
6467
|
widget = _step4.value;
|
|
@@ -7082,11 +7082,11 @@ function applyFilters(items, filters, mode) {
|
|
|
7082
7082
|
});
|
|
7083
7083
|
}
|
|
7084
7084
|
|
|
7085
|
-
function _createForOfIteratorHelper$
|
|
7086
|
-
function _unsupportedIterableToArray$
|
|
7087
|
-
function _arrayLikeToArray$
|
|
7088
|
-
function ownKeys$
|
|
7089
|
-
function _objectSpread$
|
|
7085
|
+
function _createForOfIteratorHelper$p(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$p(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; } } }; }
|
|
7086
|
+
function _unsupportedIterableToArray$p(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$p(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$p(r, a) : void 0; } }
|
|
7087
|
+
function _arrayLikeToArray$p(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; }
|
|
7088
|
+
function ownKeys$R(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; }
|
|
7089
|
+
function _objectSpread$R(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$R(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7090
7090
|
var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
7091
7091
|
var _state$selectedDashbo, _state$selectedDashbo2;
|
|
7092
7092
|
var state = _ref.state,
|
|
@@ -7256,7 +7256,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7256
7256
|
_context2.next = 7;
|
|
7257
7257
|
break;
|
|
7258
7258
|
}
|
|
7259
|
-
updatedWorkspace = _objectSpread$
|
|
7259
|
+
updatedWorkspace = _objectSpread$R(_objectSpread$R({}, installResult.workspace), {}, {
|
|
7260
7260
|
name: name.trim(),
|
|
7261
7261
|
menuId: menuId || 1,
|
|
7262
7262
|
themeKey: theme
|
|
@@ -7308,7 +7308,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7308
7308
|
installedNames = new Set(installedList.map(function (w) {
|
|
7309
7309
|
return w.name;
|
|
7310
7310
|
}));
|
|
7311
|
-
_iterator = _createForOfIteratorHelper$
|
|
7311
|
+
_iterator = _createForOfIteratorHelper$p(state.selectedWidgets);
|
|
7312
7312
|
_context2.prev = 13;
|
|
7313
7313
|
_iterator.s();
|
|
7314
7314
|
case 14:
|
|
@@ -8011,8 +8011,8 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
8011
8011
|
});
|
|
8012
8012
|
};
|
|
8013
8013
|
|
|
8014
|
-
function ownKeys$
|
|
8015
|
-
function _objectSpread$
|
|
8014
|
+
function ownKeys$Q(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; }
|
|
8015
|
+
function _objectSpread$Q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Q(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8016
8016
|
var TOTAL_STEPS = 2; // Steps 0-1: Discover, Customize
|
|
8017
8017
|
|
|
8018
8018
|
var initialState = {
|
|
@@ -8038,20 +8038,20 @@ var initialState = {
|
|
|
8038
8038
|
function wizardReducer(state, action) {
|
|
8039
8039
|
switch (action.type) {
|
|
8040
8040
|
case "SET_STEP":
|
|
8041
|
-
return _objectSpread$
|
|
8041
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8042
8042
|
step: action.payload
|
|
8043
8043
|
});
|
|
8044
8044
|
case "SET_FILTERS":
|
|
8045
|
-
return _objectSpread$
|
|
8046
|
-
filters: _objectSpread$
|
|
8045
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8046
|
+
filters: _objectSpread$Q(_objectSpread$Q({}, state.filters), action.payload)
|
|
8047
8047
|
});
|
|
8048
8048
|
case "TOGGLE_FILTER_CATEGORY":
|
|
8049
8049
|
{
|
|
8050
8050
|
var categories = state.filters.categories.includes(action.payload) ? state.filters.categories.filter(function (c) {
|
|
8051
8051
|
return c !== action.payload;
|
|
8052
8052
|
}) : [].concat(_toConsumableArray(state.filters.categories), [action.payload]);
|
|
8053
|
-
return _objectSpread$
|
|
8054
|
-
filters: _objectSpread$
|
|
8053
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8054
|
+
filters: _objectSpread$Q(_objectSpread$Q({}, state.filters), {}, {
|
|
8055
8055
|
categories: categories
|
|
8056
8056
|
})
|
|
8057
8057
|
});
|
|
@@ -8061,15 +8061,15 @@ function wizardReducer(state, action) {
|
|
|
8061
8061
|
var providers = state.filters.providers.includes(action.payload) ? state.filters.providers.filter(function (p) {
|
|
8062
8062
|
return p !== action.payload;
|
|
8063
8063
|
}) : [].concat(_toConsumableArray(state.filters.providers), [action.payload]);
|
|
8064
|
-
return _objectSpread$
|
|
8065
|
-
filters: _objectSpread$
|
|
8064
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8065
|
+
filters: _objectSpread$Q(_objectSpread$Q({}, state.filters), {}, {
|
|
8066
8066
|
providers: providers
|
|
8067
8067
|
})
|
|
8068
8068
|
});
|
|
8069
8069
|
}
|
|
8070
8070
|
case "SET_SEARCH_QUERY":
|
|
8071
|
-
return _objectSpread$
|
|
8072
|
-
filters: _objectSpread$
|
|
8071
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8072
|
+
filters: _objectSpread$Q(_objectSpread$Q({}, state.filters), {}, {
|
|
8073
8073
|
query: action.payload
|
|
8074
8074
|
})
|
|
8075
8075
|
});
|
|
@@ -8079,7 +8079,7 @@ function wizardReducer(state, action) {
|
|
|
8079
8079
|
var widgetOrder = action.payload.map(function (w) {
|
|
8080
8080
|
return w.name || w.key;
|
|
8081
8081
|
});
|
|
8082
|
-
return _objectSpread$
|
|
8082
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8083
8083
|
selectedWidgets: action.payload,
|
|
8084
8084
|
layout: {
|
|
8085
8085
|
templateKey: templateKey,
|
|
@@ -8099,7 +8099,7 @@ function wizardReducer(state, action) {
|
|
|
8099
8099
|
var toggleWidgetOrder = selectedWidgets.map(function (w) {
|
|
8100
8100
|
return w.name || w.key;
|
|
8101
8101
|
});
|
|
8102
|
-
return _objectSpread$
|
|
8102
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8103
8103
|
selectedWidgets: selectedWidgets,
|
|
8104
8104
|
layout: {
|
|
8105
8105
|
templateKey: toggleTemplateKey,
|
|
@@ -8108,29 +8108,29 @@ function wizardReducer(state, action) {
|
|
|
8108
8108
|
});
|
|
8109
8109
|
}
|
|
8110
8110
|
case "SET_SELECTED_DASHBOARD":
|
|
8111
|
-
return _objectSpread$
|
|
8111
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8112
8112
|
selectedDashboard: action.payload
|
|
8113
8113
|
});
|
|
8114
8114
|
case "SET_PATH":
|
|
8115
|
-
return _objectSpread$
|
|
8115
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8116
8116
|
path: action.payload
|
|
8117
8117
|
});
|
|
8118
8118
|
case "SET_LAYOUT":
|
|
8119
|
-
return _objectSpread$
|
|
8119
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8120
8120
|
layout: action.payload
|
|
8121
8121
|
});
|
|
8122
8122
|
case "REORDER_WIDGETS":
|
|
8123
|
-
return _objectSpread$
|
|
8124
|
-
layout: _objectSpread$
|
|
8123
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8124
|
+
layout: _objectSpread$Q(_objectSpread$Q({}, state.layout), {}, {
|
|
8125
8125
|
widgetOrder: action.payload
|
|
8126
8126
|
})
|
|
8127
8127
|
});
|
|
8128
8128
|
case "SET_CUSTOMIZATION":
|
|
8129
|
-
return _objectSpread$
|
|
8130
|
-
customization: _objectSpread$
|
|
8129
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8130
|
+
customization: _objectSpread$Q(_objectSpread$Q({}, state.customization), action.payload)
|
|
8131
8131
|
});
|
|
8132
8132
|
case "RESET":
|
|
8133
|
-
return _objectSpread$
|
|
8133
|
+
return _objectSpread$Q({}, initialState);
|
|
8134
8134
|
default:
|
|
8135
8135
|
return state;
|
|
8136
8136
|
}
|
|
@@ -12782,8 +12782,8 @@ var deepEqual = function deepEqual(a, b, opts) {
|
|
|
12782
12782
|
|
|
12783
12783
|
var deepEqual$1 = /*@__PURE__*/getDefaultExportFromCjs(deepEqual);
|
|
12784
12784
|
|
|
12785
|
-
function ownKeys$
|
|
12786
|
-
function _objectSpread$
|
|
12785
|
+
function ownKeys$P(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; }
|
|
12786
|
+
function _objectSpread$P(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$P(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$P(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12787
12787
|
var PanelEditItem = function PanelEditItem(_ref) {
|
|
12788
12788
|
var _ComponentManager$get;
|
|
12789
12789
|
var workspace = _ref.workspace,
|
|
@@ -12843,7 +12843,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12843
12843
|
var uuid = newItem.uuid || newItem.uuidString;
|
|
12844
12844
|
if (uuid) {
|
|
12845
12845
|
workspaceTemp.selectedProviders = workspaceTemp.selectedProviders || {};
|
|
12846
|
-
workspaceTemp.selectedProviders[uuid] = _objectSpread$
|
|
12846
|
+
workspaceTemp.selectedProviders[uuid] = _objectSpread$P(_objectSpread$P({}, workspaceTemp.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
|
|
12847
12847
|
}
|
|
12848
12848
|
onUpdate(newItem, workspaceTemp);
|
|
12849
12849
|
forceUpdate();
|
|
@@ -12972,7 +12972,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12972
12972
|
var _ref5 = _slicedToArray(_ref4, 2),
|
|
12973
12973
|
name = _ref5[0],
|
|
12974
12974
|
p = _ref5[1];
|
|
12975
|
-
return _objectSpread$
|
|
12975
|
+
return _objectSpread$P({
|
|
12976
12976
|
name: name
|
|
12977
12977
|
}, p);
|
|
12978
12978
|
});
|
|
@@ -13014,11 +13014,11 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
13014
13014
|
};
|
|
13015
13015
|
|
|
13016
13016
|
var _excluded$6 = ["rows", "cols"];
|
|
13017
|
-
function _createForOfIteratorHelper$
|
|
13018
|
-
function _unsupportedIterableToArray$
|
|
13019
|
-
function _arrayLikeToArray$
|
|
13020
|
-
function ownKeys$
|
|
13021
|
-
function _objectSpread$
|
|
13017
|
+
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; } } }; }
|
|
13018
|
+
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; } }
|
|
13019
|
+
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; }
|
|
13020
|
+
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; }
|
|
13021
|
+
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; }
|
|
13022
13022
|
var defaultGrid = {
|
|
13023
13023
|
rows: 1,
|
|
13024
13024
|
cols: 1,
|
|
@@ -13039,7 +13039,7 @@ function GridEditor(_ref) {
|
|
|
13039
13039
|
setGrid = _useState2[1];
|
|
13040
13040
|
var addRow = function addRow() {
|
|
13041
13041
|
var newRow = grid.rows;
|
|
13042
|
-
var newGrid = _objectSpread$
|
|
13042
|
+
var newGrid = _objectSpread$O(_objectSpread$O({}, grid), {}, {
|
|
13043
13043
|
rows: grid.rows + 1
|
|
13044
13044
|
});
|
|
13045
13045
|
for (var col = 0; col < grid.cols; col++) {
|
|
@@ -13054,7 +13054,7 @@ function GridEditor(_ref) {
|
|
|
13054
13054
|
};
|
|
13055
13055
|
var addColumn = function addColumn() {
|
|
13056
13056
|
var newCol = grid.cols;
|
|
13057
|
-
var newGrid = _objectSpread$
|
|
13057
|
+
var newGrid = _objectSpread$O(_objectSpread$O({}, grid), {}, {
|
|
13058
13058
|
cols: grid.cols + 1
|
|
13059
13059
|
});
|
|
13060
13060
|
for (var row = 0; row < grid.rows; row++) {
|
|
@@ -13087,8 +13087,8 @@ function GridEditor(_ref) {
|
|
|
13087
13087
|
});
|
|
13088
13088
|
}
|
|
13089
13089
|
if (grid[nextKey]) {
|
|
13090
|
-
var newGrid = _objectSpread$
|
|
13091
|
-
newGrid[currentKey] = _objectSpread$
|
|
13090
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13091
|
+
newGrid[currentKey] = _objectSpread$O(_objectSpread$O({}, newGrid[currentKey]), {}, {
|
|
13092
13092
|
colSpan: newGrid[currentKey].colSpan + 1
|
|
13093
13093
|
});
|
|
13094
13094
|
delete newGrid[nextKey];
|
|
@@ -13101,8 +13101,8 @@ function GridEditor(_ref) {
|
|
|
13101
13101
|
var currentKey = "".concat(row, ".").concat(col);
|
|
13102
13102
|
var belowKey = "".concat(row + 1, ".").concat(col);
|
|
13103
13103
|
if (grid[belowKey]) {
|
|
13104
|
-
var newGrid = _objectSpread$
|
|
13105
|
-
newGrid[currentKey] = _objectSpread$
|
|
13104
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13105
|
+
newGrid[currentKey] = _objectSpread$O(_objectSpread$O({}, newGrid[currentKey]), {}, {
|
|
13106
13106
|
rowSpan: newGrid[currentKey].rowSpan + 1
|
|
13107
13107
|
});
|
|
13108
13108
|
delete newGrid[belowKey];
|
|
@@ -13119,7 +13119,7 @@ function GridEditor(_ref) {
|
|
|
13119
13119
|
var splitCell = function splitCell(row, col) {
|
|
13120
13120
|
var key = "".concat(row, ".").concat(col);
|
|
13121
13121
|
var cell = grid[key];
|
|
13122
|
-
var newGrid = _objectSpread$
|
|
13122
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13123
13123
|
|
|
13124
13124
|
// we have to check the colspan, and since the colspan is greater than 1
|
|
13125
13125
|
// Only handle horizontal split if colSpan > 1
|
|
@@ -13135,13 +13135,13 @@ function GridEditor(_ref) {
|
|
|
13135
13135
|
var oldKey = "".concat(row, ".").concat(c);
|
|
13136
13136
|
var newKey = "".concat(row, ".").concat(c + 1);
|
|
13137
13137
|
if (newGrid[oldKey]) {
|
|
13138
|
-
newGrid[newKey] = _objectSpread$
|
|
13138
|
+
newGrid[newKey] = _objectSpread$O({}, newGrid[oldKey]);
|
|
13139
13139
|
delete newGrid[oldKey];
|
|
13140
13140
|
}
|
|
13141
13141
|
}
|
|
13142
13142
|
|
|
13143
13143
|
// Update the original cell's colSpan
|
|
13144
|
-
newGrid[key] = _objectSpread$
|
|
13144
|
+
newGrid[key] = _objectSpread$O(_objectSpread$O({}, cell), {}, {
|
|
13145
13145
|
colSpan: cell.colSpan - 1
|
|
13146
13146
|
});
|
|
13147
13147
|
|
|
@@ -13153,7 +13153,7 @@ function GridEditor(_ref) {
|
|
|
13153
13153
|
};
|
|
13154
13154
|
}
|
|
13155
13155
|
if (cell.rowSpan > 1) {
|
|
13156
|
-
newGrid[key] = _objectSpread$
|
|
13156
|
+
newGrid[key] = _objectSpread$O(_objectSpread$O({}, newGrid[key]), {}, {
|
|
13157
13157
|
rowSpan: cell.rowSpan - 1
|
|
13158
13158
|
});
|
|
13159
13159
|
newGrid["".concat(row + 1, ".").concat(col)] = {
|
|
@@ -13169,7 +13169,7 @@ function GridEditor(_ref) {
|
|
|
13169
13169
|
function sortObjectByKeys(obj) {
|
|
13170
13170
|
var sortedKeys = Object.keys(obj).sort();
|
|
13171
13171
|
var sortedObj = {};
|
|
13172
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13172
|
+
var _iterator = _createForOfIteratorHelper$o(sortedKeys),
|
|
13173
13173
|
_step;
|
|
13174
13174
|
try {
|
|
13175
13175
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13272,7 +13272,7 @@ function GridEditor(_ref) {
|
|
|
13272
13272
|
var fromKey = "".concat(from.row, ".").concat(from.col);
|
|
13273
13273
|
var toKey = "".concat(to.row, ".").concat(to.col);
|
|
13274
13274
|
if (fromKey === toKey) return;
|
|
13275
|
-
var newGrid = _objectSpread$
|
|
13275
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13276
13276
|
|
|
13277
13277
|
// Swap the cells
|
|
13278
13278
|
var temp = newGrid[fromKey];
|
|
@@ -13298,7 +13298,7 @@ function GridEditor(_ref) {
|
|
|
13298
13298
|
// console.log("Grid updated:", sequencedGrid);
|
|
13299
13299
|
}
|
|
13300
13300
|
function resetGridLayout() {
|
|
13301
|
-
var newGrid = _objectSpread$
|
|
13301
|
+
var newGrid = _objectSpread$O({}, defaultGrid);
|
|
13302
13302
|
setGrid(newGrid);
|
|
13303
13303
|
onUpdate(newGrid);
|
|
13304
13304
|
}
|
|
@@ -13576,8 +13576,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
|
|
|
13576
13576
|
});
|
|
13577
13577
|
};
|
|
13578
13578
|
|
|
13579
|
-
function ownKeys$
|
|
13580
|
-
function _objectSpread$
|
|
13579
|
+
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; }
|
|
13580
|
+
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; }
|
|
13581
13581
|
var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
13582
13582
|
var item = _ref.item;
|
|
13583
13583
|
_ref.workspace;
|
|
@@ -13600,7 +13600,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13600
13600
|
}, [widgetUuid, notificationDefs.length]);
|
|
13601
13601
|
function handleNotifToggle(typeKey, value) {
|
|
13602
13602
|
var _window$mainApi2;
|
|
13603
|
-
var updated = _objectSpread$
|
|
13603
|
+
var updated = _objectSpread$N(_objectSpread$N({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
|
|
13604
13604
|
setNotifPrefs(updated);
|
|
13605
13605
|
if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
|
|
13606
13606
|
window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
|
|
@@ -13642,11 +13642,11 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13642
13642
|
});
|
|
13643
13643
|
};
|
|
13644
13644
|
|
|
13645
|
-
function _createForOfIteratorHelper$
|
|
13646
|
-
function _unsupportedIterableToArray$
|
|
13647
|
-
function _arrayLikeToArray$
|
|
13648
|
-
function ownKeys$
|
|
13649
|
-
function _objectSpread$
|
|
13645
|
+
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; } } }; }
|
|
13646
|
+
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; } }
|
|
13647
|
+
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; }
|
|
13648
|
+
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; }
|
|
13649
|
+
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; }
|
|
13650
13650
|
var DAYS = [{
|
|
13651
13651
|
key: "mon",
|
|
13652
13652
|
label: "Mon"
|
|
@@ -13747,7 +13747,7 @@ function TaskScheduleEditor(_ref) {
|
|
|
13747
13747
|
var _window$mainApi;
|
|
13748
13748
|
var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13749
13749
|
if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
|
|
13750
|
-
var payload = _objectSpread$
|
|
13750
|
+
var payload = _objectSpread$M({
|
|
13751
13751
|
widgetId: widgetId,
|
|
13752
13752
|
widgetName: widgetName,
|
|
13753
13753
|
workspaceId: workspaceId || "",
|
|
@@ -13973,7 +13973,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
13973
13973
|
setIsLoading(true);
|
|
13974
13974
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
13975
13975
|
var stateMap = {};
|
|
13976
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13976
|
+
var _iterator = _createForOfIteratorHelper$n(tasks || []),
|
|
13977
13977
|
_step;
|
|
13978
13978
|
try {
|
|
13979
13979
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -14368,11 +14368,147 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
|
|
|
14368
14368
|
});
|
|
14369
14369
|
};
|
|
14370
14370
|
|
|
14371
|
+
var getUserConfigurableProviders = function getUserConfigurableProviders(providers) {
|
|
14372
|
+
if (!providers) return [];
|
|
14373
|
+
return providers.filter(function (p) {
|
|
14374
|
+
return p.providerClass !== "api";
|
|
14375
|
+
});
|
|
14376
|
+
};
|
|
14377
|
+
|
|
14378
|
+
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; }
|
|
14379
|
+
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; }
|
|
14380
|
+
var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
|
|
14381
|
+
var workspace = _ref.workspace,
|
|
14382
|
+
onUpdate = _ref.onUpdate,
|
|
14383
|
+
_ref$item = _ref.item,
|
|
14384
|
+
item = _ref$item === void 0 ? null : _ref$item;
|
|
14385
|
+
var appCtx = React.useContext(AppContext);
|
|
14386
|
+
var appProviders = (appCtx === null || appCtx === void 0 ? void 0 : appCtx.providers) || {};
|
|
14387
|
+
var _useState = React.useState(item),
|
|
14388
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
14389
|
+
itemSelected = _useState2[0],
|
|
14390
|
+
setItemSelected = _useState2[1];
|
|
14391
|
+
var _useState3 = React.useState(workspace),
|
|
14392
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
14393
|
+
workspaceSelected = _useState4[0],
|
|
14394
|
+
setWorkspaceSelected = _useState4[1];
|
|
14395
|
+
React.useEffect(function () {
|
|
14396
|
+
if (!deepEqual$1(item, itemSelected)) setItemSelected(function () {
|
|
14397
|
+
return item;
|
|
14398
|
+
});
|
|
14399
|
+
if (!deepEqual$1(workspace, workspaceSelected)) setWorkspaceSelected(function () {
|
|
14400
|
+
return workspace;
|
|
14401
|
+
});
|
|
14402
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14403
|
+
}, [workspace, item]);
|
|
14404
|
+
if (!itemSelected || !workspaceSelected) return null;
|
|
14405
|
+
var widgetConfig = ComponentManager.config(itemSelected.component, itemSelected);
|
|
14406
|
+
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 : [];
|
|
14407
|
+
var providerRequirements = getUserConfigurableProviders(declaredProviders);
|
|
14408
|
+
var selectedProviders = itemSelected.selectedProviders || {};
|
|
14409
|
+
function handleProviderChange(providerType, providerName) {
|
|
14410
|
+
var updatedItem = DashReact.deepCopy(itemSelected);
|
|
14411
|
+
var nextProviders = _objectSpread$L({}, updatedItem.selectedProviders || {});
|
|
14412
|
+
if (providerName) {
|
|
14413
|
+
nextProviders[providerType] = providerName;
|
|
14414
|
+
} else {
|
|
14415
|
+
delete nextProviders[providerType];
|
|
14416
|
+
}
|
|
14417
|
+
updatedItem.selectedProviders = nextProviders;
|
|
14418
|
+
var updatedWorkspace = DashReact.deepCopy(workspaceSelected);
|
|
14419
|
+
updatedWorkspace.layout = replaceItemInLayout(updatedWorkspace.layout, updatedItem.id, updatedItem);
|
|
14420
|
+
setItemSelected(function () {
|
|
14421
|
+
return updatedItem;
|
|
14422
|
+
});
|
|
14423
|
+
setWorkspaceSelected(function () {
|
|
14424
|
+
return updatedWorkspace;
|
|
14425
|
+
});
|
|
14426
|
+
onUpdate(updatedItem, updatedWorkspace);
|
|
14427
|
+
}
|
|
14428
|
+
if (providerRequirements.length === 0) {
|
|
14429
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
14430
|
+
className: "flex items-center justify-center h-full text-sm opacity-60 text-center px-6",
|
|
14431
|
+
children: "This widget doesn't declare any providers."
|
|
14432
|
+
});
|
|
14433
|
+
}
|
|
14434
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
14435
|
+
className: "flex flex-col flex-1 min-h-0 overflow-y-auto p-6 space-y-4",
|
|
14436
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
14437
|
+
className: "text-sm opacity-70",
|
|
14438
|
+
children: "Bind each required provider so the widget can connect to its data source. Changes save immediately."
|
|
14439
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
14440
|
+
className: "space-y-3",
|
|
14441
|
+
children: providerRequirements.map(function (req) {
|
|
14442
|
+
var type = req.type;
|
|
14443
|
+
var current = selectedProviders[type] || "";
|
|
14444
|
+
var options = Object.entries(appProviders).filter(function (_ref2) {
|
|
14445
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
14446
|
+
p = _ref3[1];
|
|
14447
|
+
return p && p.type === type;
|
|
14448
|
+
}).map(function (_ref4) {
|
|
14449
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
14450
|
+
name = _ref5[0],
|
|
14451
|
+
p = _ref5[1];
|
|
14452
|
+
return _objectSpread$L({
|
|
14453
|
+
name: name
|
|
14454
|
+
}, p);
|
|
14455
|
+
});
|
|
14456
|
+
var isConfigured = !!current;
|
|
14457
|
+
var isMissing = req.required && !isConfigured;
|
|
14458
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
14459
|
+
className: "rounded border px-3 py-2 ".concat(isMissing ? "bg-red-900 border-red-500" : "bg-gray-800 border-gray-700"),
|
|
14460
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
14461
|
+
className: "flex items-center gap-2",
|
|
14462
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
14463
|
+
className: "text-sm font-medium ".concat(isMissing ? "text-red-100" : "text-gray-100"),
|
|
14464
|
+
children: type
|
|
14465
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
14466
|
+
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"),
|
|
14467
|
+
children: req.required ? "required" : "optional"
|
|
14468
|
+
})]
|
|
14469
|
+
}), req.description && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
14470
|
+
className: "text-xs opacity-60 mt-1",
|
|
14471
|
+
children: req.description
|
|
14472
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
14473
|
+
className: "mt-2",
|
|
14474
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("select", {
|
|
14475
|
+
value: current,
|
|
14476
|
+
onChange: function onChange(e) {
|
|
14477
|
+
return handleProviderChange(type, e.target.value);
|
|
14478
|
+
},
|
|
14479
|
+
className: "w-full bg-gray-900 border rounded px-2 py-1.5 text-sm ".concat(isMissing ? "border-red-500" : "border-gray-700"),
|
|
14480
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("option", {
|
|
14481
|
+
value: "",
|
|
14482
|
+
children: req.required ? "— select a provider —" : "— none —"
|
|
14483
|
+
}), options.map(function (opt) {
|
|
14484
|
+
return /*#__PURE__*/jsxRuntime.jsx("option", {
|
|
14485
|
+
value: opt.name,
|
|
14486
|
+
children: opt.name
|
|
14487
|
+
}, opt.name);
|
|
14488
|
+
})]
|
|
14489
|
+
}), options.length === 0 && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
14490
|
+
className: "mt-1 text-[11px] text-amber-300",
|
|
14491
|
+
children: ["No ", type, " providers configured. Add one in Settings > Providers."]
|
|
14492
|
+
})]
|
|
14493
|
+
})]
|
|
14494
|
+
}, type);
|
|
14495
|
+
})
|
|
14496
|
+
})]
|
|
14497
|
+
});
|
|
14498
|
+
};
|
|
14499
|
+
|
|
14371
14500
|
var getSections = function getSections(item) {
|
|
14372
14501
|
var _widgetConfig$notific, _widgetConfig$schedul;
|
|
14373
14502
|
var widgetConfig = item ? ComponentManager.config(item.component, item) : null;
|
|
14374
14503
|
var hasNotifications = (widgetConfig === null || widgetConfig === void 0 || (_widgetConfig$notific = widgetConfig.notifications) === null || _widgetConfig$notific === void 0 ? void 0 : _widgetConfig$notific.length) > 0;
|
|
14375
14504
|
var hasScheduledTasks = (widgetConfig === null || widgetConfig === void 0 || (_widgetConfig$schedul = widgetConfig.scheduledTasks) === null || _widgetConfig$schedul === void 0 ? void 0 : _widgetConfig$schedul.length) > 0;
|
|
14505
|
+
// Show the Providers section whenever the widget declares any
|
|
14506
|
+
// user-configurable providers. Previously provider selection lived
|
|
14507
|
+
// inline in the card header dropdown; this moves it into the
|
|
14508
|
+
// widget config modal so the header stays uncluttered and there's
|
|
14509
|
+
// room for richer per-provider UX.
|
|
14510
|
+
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 : [];
|
|
14511
|
+
var userConfigurableProviders = getUserConfigurableProviders(declaredProviders);
|
|
14376
14512
|
return [{
|
|
14377
14513
|
key: "edit",
|
|
14378
14514
|
label: "Settings",
|
|
@@ -14393,6 +14529,10 @@ var getSections = function getSections(item) {
|
|
|
14393
14529
|
key: "handlers",
|
|
14394
14530
|
label: "Listeners",
|
|
14395
14531
|
icon: "phone"
|
|
14532
|
+
}] : []), _toConsumableArray(userConfigurableProviders.length > 0 ? [{
|
|
14533
|
+
key: "providers",
|
|
14534
|
+
label: "Providers",
|
|
14535
|
+
icon: "plug"
|
|
14396
14536
|
}] : []), [{
|
|
14397
14537
|
key: "code",
|
|
14398
14538
|
label: "Code",
|
|
@@ -14515,6 +14655,10 @@ var LayoutBuilderConfigModal = function LayoutBuilderConfigModal(_ref) {
|
|
|
14515
14655
|
item: itemSelected,
|
|
14516
14656
|
onUpdate: handleEditChange,
|
|
14517
14657
|
workspace: workspaceSelected
|
|
14658
|
+
}), activeSection === "providers" && /*#__PURE__*/jsxRuntime.jsx(PanelEditItemProviders, {
|
|
14659
|
+
item: itemSelected,
|
|
14660
|
+
onUpdate: handleEditChange,
|
|
14661
|
+
workspace: workspaceSelected
|
|
14518
14662
|
}), activeSection === "code" && /*#__PURE__*/jsxRuntime.jsx(PanelCode, {
|
|
14519
14663
|
item: itemSelected,
|
|
14520
14664
|
onUpdate: handleEditChange,
|
|
@@ -16830,16 +16974,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
|
|
|
16830
16974
|
return result;
|
|
16831
16975
|
}
|
|
16832
16976
|
|
|
16833
|
-
var
|
|
16834
|
-
|
|
16835
|
-
|
|
16836
|
-
return p.providerClass !== "api";
|
|
16837
|
-
});
|
|
16838
|
-
};
|
|
16839
|
-
|
|
16840
|
-
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; } } }; }
|
|
16841
|
-
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; } }
|
|
16842
|
-
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; }
|
|
16977
|
+
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; } } }; }
|
|
16978
|
+
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; } }
|
|
16979
|
+
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; }
|
|
16843
16980
|
function ownKeys$I(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; }
|
|
16844
16981
|
function _objectSpread$I(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$I(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$I(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16845
16982
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -17124,11 +17261,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
17124
17261
|
|
|
17125
17262
|
// Flatten all widgets from all packages for the widget list
|
|
17126
17263
|
flatWidgets = [];
|
|
17127
|
-
_iterator = _createForOfIteratorHelper$
|
|
17264
|
+
_iterator = _createForOfIteratorHelper$m(result.packages || []);
|
|
17128
17265
|
try {
|
|
17129
17266
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
17130
17267
|
pkg = _step.value;
|
|
17131
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
17268
|
+
_iterator2 = _createForOfIteratorHelper$m(pkg.widgets || []);
|
|
17132
17269
|
try {
|
|
17133
17270
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
17134
17271
|
widget = _step2.value;
|
|
@@ -18706,80 +18843,16 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
18706
18843
|
});
|
|
18707
18844
|
};
|
|
18708
18845
|
|
|
18709
|
-
/**
|
|
18710
|
-
* ProviderBadge
|
|
18711
|
-
*
|
|
18712
|
-
* Visual indicator of provider status for widgets.
|
|
18713
|
-
* Shows connection status and allows quick access to provider configuration.
|
|
18714
|
-
*/
|
|
18715
|
-
|
|
18716
|
-
var ProviderBadge = function ProviderBadge(_ref) {
|
|
18717
|
-
var providerType = _ref.providerType;
|
|
18718
|
-
_ref.providerId;
|
|
18719
|
-
var providerName = _ref.providerName,
|
|
18720
|
-
_ref$isConfigured = _ref.isConfigured,
|
|
18721
|
-
isConfigured = _ref$isConfigured === void 0 ? false : _ref$isConfigured,
|
|
18722
|
-
_ref$isRequired = _ref.isRequired,
|
|
18723
|
-
isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
|
|
18724
|
-
onClick = _ref.onClick,
|
|
18725
|
-
_ref$className = _ref.className,
|
|
18726
|
-
className = _ref$className === void 0 ? "" : _ref$className;
|
|
18727
|
-
// Status variants
|
|
18728
|
-
var getStatusStyle = function getStatusStyle() {
|
|
18729
|
-
if (isConfigured) {
|
|
18730
|
-
return {
|
|
18731
|
-
bg: "bg-green-50 dark:bg-green-900/20",
|
|
18732
|
-
border: "border-green-300 dark:border-green-700",
|
|
18733
|
-
text: "text-green-700 dark:text-green-400",
|
|
18734
|
-
icon: "✓",
|
|
18735
|
-
label: providerName || "Connected"
|
|
18736
|
-
};
|
|
18737
|
-
}
|
|
18738
|
-
if (isRequired) {
|
|
18739
|
-
return {
|
|
18740
|
-
bg: "bg-yellow-50 dark:bg-yellow-900/20",
|
|
18741
|
-
border: "border-yellow-300 dark:border-yellow-700",
|
|
18742
|
-
text: "text-yellow-700 dark:text-yellow-400",
|
|
18743
|
-
icon: "⚠️",
|
|
18744
|
-
label: "Required"
|
|
18745
|
-
};
|
|
18746
|
-
}
|
|
18747
|
-
return {
|
|
18748
|
-
bg: "bg-gray-50 dark:bg-gray-900/20",
|
|
18749
|
-
border: "border-gray-300 dark:border-gray-700",
|
|
18750
|
-
text: "text-gray-600 dark:text-gray-400",
|
|
18751
|
-
icon: "○",
|
|
18752
|
-
label: "Optional"
|
|
18753
|
-
};
|
|
18754
|
-
};
|
|
18755
|
-
var status = getStatusStyle();
|
|
18756
|
-
return /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
18757
|
-
onClick: onClick,
|
|
18758
|
-
className: "\n inline-flex items-center gap-1.5 px-2 py-1 rounded text-xs font-medium border\n ".concat(status.bg, " ").concat(status.border, " ").concat(status.text, "\n hover:opacity-80 transition-opacity\n ").concat(className, "\n "),
|
|
18759
|
-
title: "".concat(providerType, ": ").concat(status.label),
|
|
18760
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
18761
|
-
children: status.icon
|
|
18762
|
-
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
18763
|
-
className: "capitalize",
|
|
18764
|
-
children: providerType
|
|
18765
|
-
})]
|
|
18766
|
-
});
|
|
18767
|
-
};
|
|
18768
|
-
|
|
18769
|
-
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; } } }; }
|
|
18770
|
-
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; } }
|
|
18771
|
-
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; }
|
|
18772
18846
|
var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
18773
18847
|
var item = _ref.item,
|
|
18774
18848
|
widget = _ref.widget,
|
|
18775
18849
|
_ref$cellNumber = _ref.cellNumber,
|
|
18776
|
-
cellNumber = _ref$cellNumber === void 0 ? null : _ref$cellNumber
|
|
18777
|
-
_ref
|
|
18778
|
-
|
|
18779
|
-
_ref$selectedProvider
|
|
18780
|
-
|
|
18781
|
-
|
|
18782
|
-
onConfigure = _ref.onConfigure,
|
|
18850
|
+
cellNumber = _ref$cellNumber === void 0 ? null : _ref$cellNumber;
|
|
18851
|
+
_ref.providers;
|
|
18852
|
+
var _ref$selectedProvider = _ref.selectedProviders,
|
|
18853
|
+
selectedProviders = _ref$selectedProvider === void 0 ? {} : _ref$selectedProvider;
|
|
18854
|
+
_ref.onProviderChange;
|
|
18855
|
+
var onConfigure = _ref.onConfigure,
|
|
18783
18856
|
onDelete = _ref.onDelete,
|
|
18784
18857
|
onRemove = _ref.onRemove,
|
|
18785
18858
|
_ref$onSplitHorizonta = _ref.onSplitHorizontal,
|
|
@@ -18794,43 +18867,15 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18794
18867
|
isSelectable = _ref$isSelectable === void 0 ? true : _ref$isSelectable,
|
|
18795
18868
|
_ref$onToggleSelect = _ref.onToggleSelect,
|
|
18796
18869
|
onToggleSelect = _ref$onToggleSelect === void 0 ? null : _ref$onToggleSelect;
|
|
18797
|
-
|
|
18870
|
+
// One overflow menu holds both provider pickers AND action items,
|
|
18871
|
+
// so the widget title always gets the full header width regardless
|
|
18872
|
+
// of cell size. Previous design kept provider badges + action
|
|
18873
|
+
// buttons inline (both flex-shrink-0) which cropped the title on
|
|
18874
|
+
// narrow cells and made the config button unreachable.
|
|
18875
|
+
var _useState = React.useState(false),
|
|
18798
18876
|
_useState2 = _slicedToArray(_useState, 2),
|
|
18799
|
-
|
|
18800
|
-
|
|
18801
|
-
var _useState3 = React.useState(false),
|
|
18802
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
18803
|
-
isCompact = _useState4[0],
|
|
18804
|
-
setIsCompact = _useState4[1];
|
|
18805
|
-
var _useState5 = React.useState(false),
|
|
18806
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
18807
|
-
showOverflowMenu = _useState6[0],
|
|
18808
|
-
setShowOverflowMenu = _useState6[1];
|
|
18809
|
-
var headerRef = React.useRef(null);
|
|
18810
|
-
|
|
18811
|
-
// ResizeObserver to detect compact mode
|
|
18812
|
-
React.useEffect(function () {
|
|
18813
|
-
var el = headerRef.current;
|
|
18814
|
-
if (!el) return;
|
|
18815
|
-
var observer = new ResizeObserver(function (entries) {
|
|
18816
|
-
var _iterator = _createForOfIteratorHelper$m(entries),
|
|
18817
|
-
_step;
|
|
18818
|
-
try {
|
|
18819
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
18820
|
-
var entry = _step.value;
|
|
18821
|
-
setIsCompact(entry.contentRect.width < 320);
|
|
18822
|
-
}
|
|
18823
|
-
} catch (err) {
|
|
18824
|
-
_iterator.e(err);
|
|
18825
|
-
} finally {
|
|
18826
|
-
_iterator.f();
|
|
18827
|
-
}
|
|
18828
|
-
});
|
|
18829
|
-
observer.observe(el);
|
|
18830
|
-
return function () {
|
|
18831
|
-
return observer.disconnect();
|
|
18832
|
-
};
|
|
18833
|
-
}, []);
|
|
18877
|
+
showOverflowMenu = _useState2[0],
|
|
18878
|
+
setShowOverflowMenu = _useState2[1];
|
|
18834
18879
|
|
|
18835
18880
|
// Support both 'item' and 'widget' props
|
|
18836
18881
|
var widgetItem = item || widget;
|
|
@@ -18861,41 +18906,26 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18861
18906
|
};
|
|
18862
18907
|
var providerRequirements = getProviderRequirements();
|
|
18863
18908
|
|
|
18864
|
-
//
|
|
18865
|
-
|
|
18866
|
-
|
|
18867
|
-
return p.type === type;
|
|
18868
|
-
});
|
|
18869
|
-
};
|
|
18870
|
-
|
|
18871
|
-
// Check if provider is configured
|
|
18909
|
+
// Check if provider is configured — used only for the amber-dot
|
|
18910
|
+
// indicator now. Actual provider editing lives in the config
|
|
18911
|
+
// modal's Providers section (opened via the "Providers" menu item).
|
|
18872
18912
|
var isProviderConfigured = function isProviderConfigured(providerType) {
|
|
18873
18913
|
return selectedProviders[providerType] != null;
|
|
18874
18914
|
};
|
|
18875
18915
|
|
|
18876
|
-
//
|
|
18877
|
-
|
|
18878
|
-
|
|
18879
|
-
|
|
18880
|
-
|
|
18881
|
-
|
|
18882
|
-
});
|
|
18883
|
-
return provider === null || provider === void 0 ? void 0 : provider.name;
|
|
18884
|
-
};
|
|
18885
|
-
|
|
18886
|
-
// Handle provider selection
|
|
18887
|
-
var handleProviderSelect = function handleProviderSelect(providerType, providerId) {
|
|
18888
|
-
if (providerId === "_new") {
|
|
18889
|
-
onProviderChange(providerType, null, true); // true = create new
|
|
18890
|
-
} else if (providerId === "_unset") {
|
|
18891
|
-
onProviderChange(providerType, null, false); // unset — no provider
|
|
18892
|
-
} else {
|
|
18893
|
-
onProviderChange(providerType, providerId);
|
|
18894
|
-
}
|
|
18895
|
-
setShowProviderDropdown(null);
|
|
18896
|
-
};
|
|
18916
|
+
// True when any required provider lacks a selection — drives the
|
|
18917
|
+
// amber dot on the overflow button so the user can see unresolved
|
|
18918
|
+
// state at a glance without opening the menu.
|
|
18919
|
+
var hasUnresolvedRequiredProvider = providerRequirements.some(function (req) {
|
|
18920
|
+
return req.required && !isProviderConfigured(req.type);
|
|
18921
|
+
});
|
|
18897
18922
|
|
|
18898
|
-
// Build overflow actions for
|
|
18923
|
+
// Build overflow actions list — single source of truth for the
|
|
18924
|
+
// dropdown items. Provider editing used to live inline in this
|
|
18925
|
+
// menu as dropdowns per provider; that's moved to the widget
|
|
18926
|
+
// config modal under a "Providers" section, so here we just show
|
|
18927
|
+
// a "Providers" entry (when the widget declares any) that opens
|
|
18928
|
+
// the modal pre-selected on that section.
|
|
18899
18929
|
var overflowActions = [];
|
|
18900
18930
|
if (onConfigure) {
|
|
18901
18931
|
overflowActions.push({
|
|
@@ -18907,6 +18937,27 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18907
18937
|
}
|
|
18908
18938
|
});
|
|
18909
18939
|
}
|
|
18940
|
+
if (onConfigure && providerRequirements.length > 0) {
|
|
18941
|
+
overflowActions.push({
|
|
18942
|
+
icon: "plug",
|
|
18943
|
+
label: "Providers",
|
|
18944
|
+
badge: hasUnresolvedRequiredProvider ? "!" : null,
|
|
18945
|
+
onClick: function onClick() {
|
|
18946
|
+
onConfigure(widgetItem, "providers");
|
|
18947
|
+
setShowOverflowMenu(false);
|
|
18948
|
+
}
|
|
18949
|
+
});
|
|
18950
|
+
}
|
|
18951
|
+
if (onConfigure) {
|
|
18952
|
+
overflowActions.push({
|
|
18953
|
+
icon: "phone",
|
|
18954
|
+
label: "Listeners",
|
|
18955
|
+
onClick: function onClick() {
|
|
18956
|
+
onConfigure(widgetItem, "handlers");
|
|
18957
|
+
setShowOverflowMenu(false);
|
|
18958
|
+
}
|
|
18959
|
+
});
|
|
18960
|
+
}
|
|
18910
18961
|
if (onEditWithAI && widgetItem) {
|
|
18911
18962
|
overflowActions.push({
|
|
18912
18963
|
icon: "wand-magic-sparkles",
|
|
@@ -18958,7 +19009,6 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18958
19009
|
});
|
|
18959
19010
|
}
|
|
18960
19011
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
18961
|
-
ref: headerRef,
|
|
18962
19012
|
className: "flex items-center gap-3 px-3 py-2.5 bg-transparent border-b border-gray-700 ".concat(isSelected ? "ring-2 ring-blue-500 ring-inset" : ""),
|
|
18963
19013
|
children: [onToggleSelect && /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
18964
19014
|
className: "w-5 h-5 rounded-full border-2 flex items-center justify-center transition-colors flex-shrink-0 ".concat(isSelected ? "bg-blue-500 border-blue-500 text-white" : isSelectable ? "bg-gray-800/80 border-blue-400 animate-pulse" : "bg-gray-800/80 border-gray-500 opacity-30 cursor-not-allowed"),
|
|
@@ -18985,166 +19035,47 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18985
19035
|
children: "(not found)"
|
|
18986
19036
|
})]
|
|
18987
19037
|
})]
|
|
18988
|
-
}), providerRequirements.length > 0 && /*#__PURE__*/jsxRuntime.
|
|
18989
|
-
className: "
|
|
18990
|
-
children:
|
|
18991
|
-
|
|
18992
|
-
var isConfigured = isProviderConfigured(providerType);
|
|
18993
|
-
var providerName = getProviderName(providerType);
|
|
18994
|
-
var availableProviders = getProvidersForType(providerType);
|
|
18995
|
-
var selectedProviderId = selectedProviders[providerType];
|
|
18996
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
18997
|
-
className: "relative",
|
|
18998
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(ProviderBadge, {
|
|
18999
|
-
providerType: providerType,
|
|
19000
|
-
providerId: selectedProviderId,
|
|
19001
|
-
providerName: providerName,
|
|
19002
|
-
isConfigured: isConfigured,
|
|
19003
|
-
isRequired: providerReq.required,
|
|
19004
|
-
onClick: function onClick() {
|
|
19005
|
-
setShowOverflowMenu(false);
|
|
19006
|
-
setShowProviderDropdown(showProviderDropdown === providerType ? null : providerType);
|
|
19007
|
-
}
|
|
19008
|
-
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.DropdownPanel, {
|
|
19009
|
-
isOpen: showProviderDropdown === providerType,
|
|
19010
|
-
onClose: function onClose() {
|
|
19011
|
-
return setShowProviderDropdown(null);
|
|
19012
|
-
},
|
|
19013
|
-
position: "absolute top-full right-0 mt-1",
|
|
19014
|
-
portal: true,
|
|
19015
|
-
direction: "right",
|
|
19016
|
-
children: [availableProviders.length > 0 ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
19017
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs(DashReact.DropdownPanel.Header, {
|
|
19018
|
-
children: ["Select ", providerType]
|
|
19019
|
-
}), availableProviders.map(function (provider) {
|
|
19020
|
-
var isSelected = provider.id === selectedProviderId;
|
|
19021
|
-
return /*#__PURE__*/jsxRuntime.jsx(DashReact.MenuItem2, {
|
|
19022
|
-
onClick: function onClick() {
|
|
19023
|
-
return handleProviderSelect(providerType, provider.id);
|
|
19024
|
-
},
|
|
19025
|
-
selected: isSelected,
|
|
19026
|
-
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19027
|
-
className: "flex items-center gap-2 w-full",
|
|
19028
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
19029
|
-
className: "w-4 text-center text-xs flex-shrink-0 ".concat(isSelected ? "text-green-400" : "opacity-0"),
|
|
19030
|
-
children: "\u2713"
|
|
19031
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19032
|
-
className: "flex-1 min-w-0",
|
|
19033
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
19034
|
-
className: "font-medium",
|
|
19035
|
-
children: provider.name
|
|
19036
|
-
}), provider.description && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
19037
|
-
className: "text-xs opacity-60 mt-0.5",
|
|
19038
|
-
children: provider.description
|
|
19039
|
-
})]
|
|
19040
|
-
})]
|
|
19041
|
-
})
|
|
19042
|
-
}, provider.id);
|
|
19043
|
-
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.DropdownPanel.Divider, {})]
|
|
19044
|
-
}) : /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19045
|
-
className: "px-3 py-2 text-xs opacity-50 italic",
|
|
19046
|
-
children: ["No ", providerType, " providers configured"]
|
|
19047
|
-
}), !providerReq.required && /*#__PURE__*/jsxRuntime.jsx(DashReact.MenuItem2, {
|
|
19048
|
-
onClick: function onClick() {
|
|
19049
|
-
handleProviderSelect(providerType, "_unset");
|
|
19050
|
-
},
|
|
19051
|
-
children: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
19052
|
-
className: "text-gray-400",
|
|
19053
|
-
children: ["\xD7 Unset ", providerType]
|
|
19054
|
-
})
|
|
19055
|
-
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.MenuItem2, {
|
|
19056
|
-
onClick: function onClick() {
|
|
19057
|
-
handleProviderSelect(providerType, "_new");
|
|
19058
|
-
},
|
|
19059
|
-
children: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
19060
|
-
className: "text-blue-400",
|
|
19061
|
-
children: ["+ Create New ", providerType]
|
|
19062
|
-
})
|
|
19063
|
-
})]
|
|
19064
|
-
})]
|
|
19065
|
-
}, providerType);
|
|
19066
|
-
})
|
|
19067
|
-
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
19068
|
-
className: "flex items-center gap-0.5 flex-shrink-0",
|
|
19069
|
-
children: !isCompact ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
19070
|
-
children: [onConfigure && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19071
|
-
icon: "cog",
|
|
19072
|
-
onClick: function onClick() {
|
|
19073
|
-
return onConfigure(widgetItem);
|
|
19074
|
-
},
|
|
19075
|
-
title: "Configure widget",
|
|
19076
|
-
theme: false
|
|
19077
|
-
}), onEditWithAI && widgetItem && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19078
|
-
icon: "wand-magic-sparkles",
|
|
19079
|
-
onClick: function onClick() {
|
|
19080
|
-
return onEditWithAI(widgetItem);
|
|
19081
|
-
},
|
|
19082
|
-
title: "Edit with AI",
|
|
19083
|
-
theme: false
|
|
19084
|
-
}), onSplitHorizontal && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19085
|
-
icon: "arrows-left-right",
|
|
19086
|
-
onClick: function onClick(e) {
|
|
19087
|
-
e.stopPropagation();
|
|
19088
|
-
onSplitHorizontal();
|
|
19089
|
-
},
|
|
19090
|
-
title: "Split horizontally (left/right)",
|
|
19091
|
-
theme: false
|
|
19092
|
-
}), onSplitVertical && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19093
|
-
icon: "arrows-up-down",
|
|
19094
|
-
onClick: function onClick(e) {
|
|
19095
|
-
e.stopPropagation();
|
|
19096
|
-
onSplitVertical();
|
|
19097
|
-
},
|
|
19098
|
-
title: "Split vertically (top/bottom)",
|
|
19099
|
-
theme: false
|
|
19100
|
-
}), handleDelete && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19101
|
-
icon: "trash",
|
|
19102
|
-
onClick: function onClick() {
|
|
19103
|
-
return handleDelete(widgetItem);
|
|
19104
|
-
},
|
|
19105
|
-
title: "Remove widget",
|
|
19106
|
-
theme: false
|
|
19107
|
-
}), onMoreOptions && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19108
|
-
icon: "ellipsis-vertical",
|
|
19109
|
-
onClick: function onClick() {
|
|
19110
|
-
return onMoreOptions(widget);
|
|
19111
|
-
},
|
|
19112
|
-
title: "More options",
|
|
19113
|
-
theme: false
|
|
19114
|
-
})]
|
|
19115
|
-
}) : overflowActions.length > 0 ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19116
|
-
className: "relative",
|
|
19038
|
+
}), (providerRequirements.length > 0 || overflowActions.length > 0 || onMoreOptions) && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19039
|
+
className: "relative flex-shrink-0",
|
|
19040
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19041
|
+
className: "relative inline-flex",
|
|
19117
19042
|
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19118
|
-
icon: "
|
|
19043
|
+
icon: "ellipsis-vertical",
|
|
19119
19044
|
onClick: function onClick() {
|
|
19120
|
-
|
|
19121
|
-
|
|
19045
|
+
return setShowOverflowMenu(function (v) {
|
|
19046
|
+
return !v;
|
|
19047
|
+
});
|
|
19122
19048
|
},
|
|
19123
|
-
title: "
|
|
19049
|
+
title: "Providers & actions",
|
|
19124
19050
|
theme: false
|
|
19125
|
-
}), /*#__PURE__*/jsxRuntime.
|
|
19126
|
-
|
|
19127
|
-
|
|
19128
|
-
return setShowOverflowMenu(false);
|
|
19129
|
-
},
|
|
19130
|
-
position: "absolute top-full right-0 mt-1",
|
|
19131
|
-
portal: true,
|
|
19132
|
-
align: "right",
|
|
19133
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.DropdownPanel.Header, {
|
|
19134
|
-
children: "Actions"
|
|
19135
|
-
}), overflowActions.map(function (action) {
|
|
19136
|
-
return /*#__PURE__*/jsxRuntime.jsxs(DashReact.MenuItem2, {
|
|
19137
|
-
onClick: action.onClick,
|
|
19138
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
19139
|
-
icon: action.icon,
|
|
19140
|
-
className: "w-4 text-center opacity-60"
|
|
19141
|
-
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
19142
|
-
children: action.label
|
|
19143
|
-
})]
|
|
19144
|
-
}, action.label);
|
|
19145
|
-
})]
|
|
19051
|
+
}), hasUnresolvedRequiredProvider && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
19052
|
+
className: "absolute top-1 right-1 h-2 w-2 rounded-full bg-amber-400 border border-black pointer-events-none",
|
|
19053
|
+
title: "Required provider not set"
|
|
19146
19054
|
})]
|
|
19147
|
-
})
|
|
19055
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.DropdownPanel, {
|
|
19056
|
+
isOpen: showOverflowMenu,
|
|
19057
|
+
onClose: function onClose() {
|
|
19058
|
+
return setShowOverflowMenu(false);
|
|
19059
|
+
},
|
|
19060
|
+
position: "absolute top-full right-0 mt-1",
|
|
19061
|
+
portal: true,
|
|
19062
|
+
align: "right",
|
|
19063
|
+
children: overflowActions.map(function (action) {
|
|
19064
|
+
return /*#__PURE__*/jsxRuntime.jsxs(DashReact.MenuItem2, {
|
|
19065
|
+
onClick: action.onClick,
|
|
19066
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
19067
|
+
icon: action.icon,
|
|
19068
|
+
className: "w-4 text-center opacity-60"
|
|
19069
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
19070
|
+
className: "flex-1",
|
|
19071
|
+
children: action.label
|
|
19072
|
+
}), action.badge && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
19073
|
+
className: "ml-auto text-[10px] font-bold text-amber-300",
|
|
19074
|
+
children: action.badge
|
|
19075
|
+
})]
|
|
19076
|
+
}, action.label);
|
|
19077
|
+
})
|
|
19078
|
+
})]
|
|
19148
19079
|
})]
|
|
19149
19080
|
});
|
|
19150
19081
|
};
|
|
@@ -22473,8 +22404,8 @@ var WidgetContainerGridItem = function WidgetContainerGridItem(_ref) {
|
|
|
22473
22404
|
function handleChangeOrder(direction) {
|
|
22474
22405
|
onChangeOrder(item, direction);
|
|
22475
22406
|
}
|
|
22476
|
-
function handleOpenConfig() {
|
|
22477
|
-
onOpenConfig(item);
|
|
22407
|
+
function handleOpenConfig(widgetItem, section) {
|
|
22408
|
+
onOpenConfig(item, section);
|
|
22478
22409
|
}
|
|
22479
22410
|
function handleProviderChange(providerType, providerId) {
|
|
22480
22411
|
var createNew = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
@@ -22781,8 +22712,8 @@ var LayoutBuilderGridItem = function LayoutBuilderGridItem(_ref) {
|
|
|
22781
22712
|
function handleChangeOrder(direction) {
|
|
22782
22713
|
onChangeOrder(item, direction);
|
|
22783
22714
|
}
|
|
22784
|
-
function handleOpenConfig() {
|
|
22785
|
-
onOpenConfig(item);
|
|
22715
|
+
function handleOpenConfig(widgetItem, section) {
|
|
22716
|
+
onOpenConfig(item, section);
|
|
22786
22717
|
}
|
|
22787
22718
|
function renderArrows() {
|
|
22788
22719
|
return preview === false && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -25719,8 +25650,8 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
25719
25650
|
}
|
|
25720
25651
|
}
|
|
25721
25652
|
} : undefined,
|
|
25722
|
-
onConfigure: cellComponent ? function () {
|
|
25723
|
-
if (onOpenConfig) onOpenConfig(cellComponent);
|
|
25653
|
+
onConfigure: cellComponent ? function (widgetItem, section) {
|
|
25654
|
+
if (onOpenConfig) onOpenConfig(cellComponent, section);
|
|
25724
25655
|
} : undefined,
|
|
25725
25656
|
onDelete: cellComponent ? function () {
|
|
25726
25657
|
if (onClickRemove) onClickRemove(cellComponent.id);
|
|
@@ -60452,6 +60383,7 @@ exports.PanelCode = PanelCode;
|
|
|
60452
60383
|
exports.PanelEditItem = PanelEditItem;
|
|
60453
60384
|
exports.PanelEditItemHandlers = PanelEditItemHandlers;
|
|
60454
60385
|
exports.PanelEditItemNotifications = PanelEditItemNotifications;
|
|
60386
|
+
exports.PanelEditItemProviders = PanelEditItemProviders;
|
|
60455
60387
|
exports.PinnedSidebar = PinnedSidebar;
|
|
60456
60388
|
exports.ProviderContext = ProviderContext;
|
|
60457
60389
|
exports.ProviderErrorBoundary = ProviderErrorBoundary;
|