@trops/dash-core 0.1.422 → 0.1.426
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/electron/index.js +188 -28
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +539 -179
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +538 -178
- 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$_(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$_(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$_(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$_(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$_({}, 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$Z(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$Z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Z(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$Z(_objectSpread$Z({}, 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$Y(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$Y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Y(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Y(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$Y(_objectSpread$Y({}, ctx), {}, {
|
|
2965
2965
|
currentTheme: ctx.appTheme,
|
|
2966
2966
|
currentThemeKey: ctx.appThemeKey,
|
|
2967
2967
|
theme: ctx.appTheme,
|
|
@@ -3073,8 +3073,8 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
3073
3073
|
});
|
|
3074
3074
|
};
|
|
3075
3075
|
|
|
3076
|
-
function ownKeys$
|
|
3077
|
-
function _objectSpread$
|
|
3076
|
+
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; }
|
|
3077
|
+
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; }
|
|
3078
3078
|
function _createForOfIteratorHelper$t(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$t(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
3079
|
function _unsupportedIterableToArray$t(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$t(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$t(r, a) : void 0; } }
|
|
3080
3080
|
function _arrayLikeToArray$t(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; }
|
|
@@ -3356,7 +3356,7 @@ function createLayoutFromTemplate(template) {
|
|
|
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$X({
|
|
3360
3360
|
component: null,
|
|
3361
3361
|
hide: cell.hide || false
|
|
3362
3362
|
}, cell.span ? {
|
|
@@ -4285,8 +4285,8 @@ var RegistryAuthModal = function RegistryAuthModal(_ref) {
|
|
|
4285
4285
|
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; } } }; }
|
|
4286
4286
|
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; } }
|
|
4287
4287
|
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; }
|
|
4288
|
-
function ownKeys$
|
|
4289
|
-
function _objectSpread$
|
|
4288
|
+
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; }
|
|
4289
|
+
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; }
|
|
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$W(_objectSpread$W({}, 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$W({}, raw.widgets);
|
|
4502
4502
|
var fixedCount = 0;
|
|
4503
4503
|
var _loop = function _loop() {
|
|
4504
4504
|
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
@@ -5081,8 +5081,8 @@ var DiscoverDashboardsDetail = function DiscoverDashboardsDetail(_ref) {
|
|
|
5081
5081
|
});
|
|
5082
5082
|
};
|
|
5083
5083
|
|
|
5084
|
-
function ownKeys$
|
|
5085
|
-
function _objectSpread$
|
|
5084
|
+
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; }
|
|
5085
|
+
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; }
|
|
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$V(_objectSpread$V({}, importedWorkspace), {}, {
|
|
5331
5331
|
name: dashboardName.trim(),
|
|
5332
5332
|
menuId: menuId,
|
|
5333
5333
|
themeKey: selectedThemeKey
|
|
@@ -7085,8 +7085,8 @@ function applyFilters(items, filters, mode) {
|
|
|
7085
7085
|
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; } } }; }
|
|
7086
7086
|
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; } }
|
|
7087
7087
|
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; }
|
|
7088
|
-
function ownKeys$
|
|
7089
|
-
function _objectSpread$
|
|
7088
|
+
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; }
|
|
7089
|
+
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; }
|
|
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$U(_objectSpread$U({}, installResult.workspace), {}, {
|
|
7260
7260
|
name: name.trim(),
|
|
7261
7261
|
menuId: menuId || 1,
|
|
7262
7262
|
themeKey: theme
|
|
@@ -8011,8 +8011,8 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
8011
8011
|
});
|
|
8012
8012
|
};
|
|
8013
8013
|
|
|
8014
|
-
function ownKeys$
|
|
8015
|
-
function _objectSpread$
|
|
8014
|
+
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; }
|
|
8015
|
+
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; }
|
|
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$T(_objectSpread$T({}, state), {}, {
|
|
8042
8042
|
step: action.payload
|
|
8043
8043
|
});
|
|
8044
8044
|
case "SET_FILTERS":
|
|
8045
|
-
return _objectSpread$
|
|
8046
|
-
filters: _objectSpread$
|
|
8045
|
+
return _objectSpread$T(_objectSpread$T({}, state), {}, {
|
|
8046
|
+
filters: _objectSpread$T(_objectSpread$T({}, 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$T(_objectSpread$T({}, state), {}, {
|
|
8054
|
+
filters: _objectSpread$T(_objectSpread$T({}, 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$T(_objectSpread$T({}, state), {}, {
|
|
8065
|
+
filters: _objectSpread$T(_objectSpread$T({}, 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$T(_objectSpread$T({}, state), {}, {
|
|
8072
|
+
filters: _objectSpread$T(_objectSpread$T({}, 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$T(_objectSpread$T({}, 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$T(_objectSpread$T({}, 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$T(_objectSpread$T({}, state), {}, {
|
|
8112
8112
|
selectedDashboard: action.payload
|
|
8113
8113
|
});
|
|
8114
8114
|
case "SET_PATH":
|
|
8115
|
-
return _objectSpread$
|
|
8115
|
+
return _objectSpread$T(_objectSpread$T({}, state), {}, {
|
|
8116
8116
|
path: action.payload
|
|
8117
8117
|
});
|
|
8118
8118
|
case "SET_LAYOUT":
|
|
8119
|
-
return _objectSpread$
|
|
8119
|
+
return _objectSpread$T(_objectSpread$T({}, state), {}, {
|
|
8120
8120
|
layout: action.payload
|
|
8121
8121
|
});
|
|
8122
8122
|
case "REORDER_WIDGETS":
|
|
8123
|
-
return _objectSpread$
|
|
8124
|
-
layout: _objectSpread$
|
|
8123
|
+
return _objectSpread$T(_objectSpread$T({}, state), {}, {
|
|
8124
|
+
layout: _objectSpread$T(_objectSpread$T({}, 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$T(_objectSpread$T({}, state), {}, {
|
|
8130
|
+
customization: _objectSpread$T(_objectSpread$T({}, state.customization), action.payload)
|
|
8131
8131
|
});
|
|
8132
8132
|
case "RESET":
|
|
8133
|
-
return _objectSpread$
|
|
8133
|
+
return _objectSpread$T({}, initialState);
|
|
8134
8134
|
default:
|
|
8135
8135
|
return state;
|
|
8136
8136
|
}
|
|
@@ -12940,8 +12940,8 @@ var _excluded$6 = ["rows", "cols"];
|
|
|
12940
12940
|
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; } } }; }
|
|
12941
12941
|
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; } }
|
|
12942
12942
|
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; }
|
|
12943
|
-
function ownKeys$
|
|
12944
|
-
function _objectSpread$
|
|
12943
|
+
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; }
|
|
12944
|
+
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; }
|
|
12945
12945
|
var defaultGrid = {
|
|
12946
12946
|
rows: 1,
|
|
12947
12947
|
cols: 1,
|
|
@@ -12962,7 +12962,7 @@ function GridEditor(_ref) {
|
|
|
12962
12962
|
setGrid = _useState2[1];
|
|
12963
12963
|
var addRow = function addRow() {
|
|
12964
12964
|
var newRow = grid.rows;
|
|
12965
|
-
var newGrid = _objectSpread$
|
|
12965
|
+
var newGrid = _objectSpread$S(_objectSpread$S({}, grid), {}, {
|
|
12966
12966
|
rows: grid.rows + 1
|
|
12967
12967
|
});
|
|
12968
12968
|
for (var col = 0; col < grid.cols; col++) {
|
|
@@ -12977,7 +12977,7 @@ function GridEditor(_ref) {
|
|
|
12977
12977
|
};
|
|
12978
12978
|
var addColumn = function addColumn() {
|
|
12979
12979
|
var newCol = grid.cols;
|
|
12980
|
-
var newGrid = _objectSpread$
|
|
12980
|
+
var newGrid = _objectSpread$S(_objectSpread$S({}, grid), {}, {
|
|
12981
12981
|
cols: grid.cols + 1
|
|
12982
12982
|
});
|
|
12983
12983
|
for (var row = 0; row < grid.rows; row++) {
|
|
@@ -13010,8 +13010,8 @@ function GridEditor(_ref) {
|
|
|
13010
13010
|
});
|
|
13011
13011
|
}
|
|
13012
13012
|
if (grid[nextKey]) {
|
|
13013
|
-
var newGrid = _objectSpread$
|
|
13014
|
-
newGrid[currentKey] = _objectSpread$
|
|
13013
|
+
var newGrid = _objectSpread$S({}, grid);
|
|
13014
|
+
newGrid[currentKey] = _objectSpread$S(_objectSpread$S({}, newGrid[currentKey]), {}, {
|
|
13015
13015
|
colSpan: newGrid[currentKey].colSpan + 1
|
|
13016
13016
|
});
|
|
13017
13017
|
delete newGrid[nextKey];
|
|
@@ -13024,8 +13024,8 @@ function GridEditor(_ref) {
|
|
|
13024
13024
|
var currentKey = "".concat(row, ".").concat(col);
|
|
13025
13025
|
var belowKey = "".concat(row + 1, ".").concat(col);
|
|
13026
13026
|
if (grid[belowKey]) {
|
|
13027
|
-
var newGrid = _objectSpread$
|
|
13028
|
-
newGrid[currentKey] = _objectSpread$
|
|
13027
|
+
var newGrid = _objectSpread$S({}, grid);
|
|
13028
|
+
newGrid[currentKey] = _objectSpread$S(_objectSpread$S({}, newGrid[currentKey]), {}, {
|
|
13029
13029
|
rowSpan: newGrid[currentKey].rowSpan + 1
|
|
13030
13030
|
});
|
|
13031
13031
|
delete newGrid[belowKey];
|
|
@@ -13042,7 +13042,7 @@ function GridEditor(_ref) {
|
|
|
13042
13042
|
var splitCell = function splitCell(row, col) {
|
|
13043
13043
|
var key = "".concat(row, ".").concat(col);
|
|
13044
13044
|
var cell = grid[key];
|
|
13045
|
-
var newGrid = _objectSpread$
|
|
13045
|
+
var newGrid = _objectSpread$S({}, grid);
|
|
13046
13046
|
|
|
13047
13047
|
// we have to check the colspan, and since the colspan is greater than 1
|
|
13048
13048
|
// Only handle horizontal split if colSpan > 1
|
|
@@ -13058,13 +13058,13 @@ function GridEditor(_ref) {
|
|
|
13058
13058
|
var oldKey = "".concat(row, ".").concat(c);
|
|
13059
13059
|
var newKey = "".concat(row, ".").concat(c + 1);
|
|
13060
13060
|
if (newGrid[oldKey]) {
|
|
13061
|
-
newGrid[newKey] = _objectSpread$
|
|
13061
|
+
newGrid[newKey] = _objectSpread$S({}, newGrid[oldKey]);
|
|
13062
13062
|
delete newGrid[oldKey];
|
|
13063
13063
|
}
|
|
13064
13064
|
}
|
|
13065
13065
|
|
|
13066
13066
|
// Update the original cell's colSpan
|
|
13067
|
-
newGrid[key] = _objectSpread$
|
|
13067
|
+
newGrid[key] = _objectSpread$S(_objectSpread$S({}, cell), {}, {
|
|
13068
13068
|
colSpan: cell.colSpan - 1
|
|
13069
13069
|
});
|
|
13070
13070
|
|
|
@@ -13076,7 +13076,7 @@ function GridEditor(_ref) {
|
|
|
13076
13076
|
};
|
|
13077
13077
|
}
|
|
13078
13078
|
if (cell.rowSpan > 1) {
|
|
13079
|
-
newGrid[key] = _objectSpread$
|
|
13079
|
+
newGrid[key] = _objectSpread$S(_objectSpread$S({}, newGrid[key]), {}, {
|
|
13080
13080
|
rowSpan: cell.rowSpan - 1
|
|
13081
13081
|
});
|
|
13082
13082
|
newGrid["".concat(row + 1, ".").concat(col)] = {
|
|
@@ -13195,7 +13195,7 @@ function GridEditor(_ref) {
|
|
|
13195
13195
|
var fromKey = "".concat(from.row, ".").concat(from.col);
|
|
13196
13196
|
var toKey = "".concat(to.row, ".").concat(to.col);
|
|
13197
13197
|
if (fromKey === toKey) return;
|
|
13198
|
-
var newGrid = _objectSpread$
|
|
13198
|
+
var newGrid = _objectSpread$S({}, grid);
|
|
13199
13199
|
|
|
13200
13200
|
// Swap the cells
|
|
13201
13201
|
var temp = newGrid[fromKey];
|
|
@@ -13221,7 +13221,7 @@ function GridEditor(_ref) {
|
|
|
13221
13221
|
// console.log("Grid updated:", sequencedGrid);
|
|
13222
13222
|
}
|
|
13223
13223
|
function resetGridLayout() {
|
|
13224
|
-
var newGrid = _objectSpread$
|
|
13224
|
+
var newGrid = _objectSpread$S({}, defaultGrid);
|
|
13225
13225
|
setGrid(newGrid);
|
|
13226
13226
|
onUpdate(newGrid);
|
|
13227
13227
|
}
|
|
@@ -13499,8 +13499,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
|
|
|
13499
13499
|
});
|
|
13500
13500
|
};
|
|
13501
13501
|
|
|
13502
|
-
function ownKeys$
|
|
13503
|
-
function _objectSpread$
|
|
13502
|
+
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; }
|
|
13503
|
+
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; }
|
|
13504
13504
|
var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
13505
13505
|
var item = _ref.item;
|
|
13506
13506
|
_ref.workspace;
|
|
@@ -13523,7 +13523,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13523
13523
|
}, [widgetUuid, notificationDefs.length]);
|
|
13524
13524
|
function handleNotifToggle(typeKey, value) {
|
|
13525
13525
|
var _window$mainApi2;
|
|
13526
|
-
var updated = _objectSpread$
|
|
13526
|
+
var updated = _objectSpread$R(_objectSpread$R({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
|
|
13527
13527
|
setNotifPrefs(updated);
|
|
13528
13528
|
if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
|
|
13529
13529
|
window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
|
|
@@ -13568,8 +13568,8 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13568
13568
|
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; } } }; }
|
|
13569
13569
|
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; } }
|
|
13570
13570
|
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; }
|
|
13571
|
-
function ownKeys$
|
|
13572
|
-
function _objectSpread$
|
|
13571
|
+
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; }
|
|
13572
|
+
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; }
|
|
13573
13573
|
var DAYS = [{
|
|
13574
13574
|
key: "mon",
|
|
13575
13575
|
label: "Mon"
|
|
@@ -13670,7 +13670,7 @@ function TaskScheduleEditor(_ref) {
|
|
|
13670
13670
|
var _window$mainApi;
|
|
13671
13671
|
var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13672
13672
|
if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
|
|
13673
|
-
var payload = _objectSpread$
|
|
13673
|
+
var payload = _objectSpread$Q({
|
|
13674
13674
|
widgetId: widgetId,
|
|
13675
13675
|
widgetName: widgetName,
|
|
13676
13676
|
workspaceId: workspaceId || "",
|
|
@@ -13945,6 +13945,25 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
13945
13945
|
});
|
|
13946
13946
|
};
|
|
13947
13947
|
|
|
13948
|
+
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; }
|
|
13949
|
+
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; }
|
|
13950
|
+
var DERIVED_FIELDS = ["widgetConfig",
|
|
13951
|
+
// biggest offender — full component definition blob
|
|
13952
|
+
"uuid", "dashboardId", "parentWorkspaceName", "componentName", "siblingCount", "hasChildren", "canHaveChildren", "events",
|
|
13953
|
+
// declared by the widget's .dash.js, not editable per-item
|
|
13954
|
+
"eventHandlers"];
|
|
13955
|
+
function stripDerivedFields(item) {
|
|
13956
|
+
if (!item || _typeof(item) !== "object") return item;
|
|
13957
|
+
var out = {};
|
|
13958
|
+
for (var _i = 0, _Object$entries = Object.entries(item); _i < _Object$entries.length; _i++) {
|
|
13959
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
13960
|
+
k = _Object$entries$_i[0],
|
|
13961
|
+
v = _Object$entries$_i[1];
|
|
13962
|
+
if (DERIVED_FIELDS.includes(k)) continue;
|
|
13963
|
+
out[k] = v;
|
|
13964
|
+
}
|
|
13965
|
+
return out;
|
|
13966
|
+
}
|
|
13948
13967
|
var PanelCode = function PanelCode(_ref) {
|
|
13949
13968
|
var workspace = _ref.workspace,
|
|
13950
13969
|
onUpdate = _ref.onUpdate,
|
|
@@ -13979,18 +13998,43 @@ var PanelCode = function PanelCode(_ref) {
|
|
|
13979
13998
|
}
|
|
13980
13999
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13981
14000
|
}, [workspace, item]);
|
|
14001
|
+
var displayJson = React.useMemo(function () {
|
|
14002
|
+
if (!itemSelected) return "";
|
|
14003
|
+
return JSON.stringify(stripDerivedFields(itemSelected), null, 2);
|
|
14004
|
+
}, [itemSelected]);
|
|
13982
14005
|
function handleCodeChange(code) {
|
|
13983
|
-
|
|
13984
|
-
|
|
14006
|
+
try {
|
|
14007
|
+
var edited = JSON.parse(code);
|
|
14008
|
+
// Preserve the derived fields from the live item so save +
|
|
14009
|
+
// re-render stays in sync with what the rest of the layout
|
|
14010
|
+
// expects. LayoutModel re-derives these on reload, but losing
|
|
14011
|
+
// them between render cycles can cause flashes of "unknown
|
|
14012
|
+
// widget" state.
|
|
14013
|
+
var merged = _objectSpread$P({}, itemSelected);
|
|
14014
|
+
for (var _i2 = 0, _Object$keys = Object.keys(edited); _i2 < _Object$keys.length; _i2++) {
|
|
14015
|
+
var k = _Object$keys[_i2];
|
|
14016
|
+
merged[k] = edited[k];
|
|
14017
|
+
}
|
|
14018
|
+
onUpdate(merged, workspaceSelected);
|
|
14019
|
+
} catch (_unused) {
|
|
14020
|
+
// Malformed JSON — leave state alone; the editor keeps the
|
|
14021
|
+
// user's text so they can fix it.
|
|
14022
|
+
}
|
|
13985
14023
|
}
|
|
13986
14024
|
return itemSelected && workspaceSelected && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
13987
14025
|
className: "flex flex-col flex-1 min-h-0",
|
|
13988
14026
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
13989
|
-
className: "flex-1 min-h-0 overflow-hidden",
|
|
13990
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
13991
|
-
|
|
13992
|
-
|
|
13993
|
-
|
|
14027
|
+
className: "flex-1 min-h-0 overflow-hidden relative",
|
|
14028
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
14029
|
+
className: "absolute inset-0",
|
|
14030
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.CodeEditorVS, {
|
|
14031
|
+
code: displayJson,
|
|
14032
|
+
language: "json",
|
|
14033
|
+
onChange: handleCodeChange,
|
|
14034
|
+
readOnly: false,
|
|
14035
|
+
minimapEnabled: false,
|
|
14036
|
+
padding: "p-0"
|
|
14037
|
+
})
|
|
13994
14038
|
})
|
|
13995
14039
|
})
|
|
13996
14040
|
});
|
|
@@ -14291,10 +14335,22 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
|
|
|
14291
14335
|
});
|
|
14292
14336
|
};
|
|
14293
14337
|
|
|
14338
|
+
/**
|
|
14339
|
+
* Return the subset of provider declarations that are user-configurable
|
|
14340
|
+
* (anything except `providerClass: "api"`, which is satisfied by the
|
|
14341
|
+
* app itself and not picked per widget).
|
|
14342
|
+
*
|
|
14343
|
+
* Tolerates malformed input: if the array contains `null`/`undefined`
|
|
14344
|
+
* slots (occasionally seen after a widget install where the registry
|
|
14345
|
+
* ships a sparse `providers` array), those entries are dropped instead
|
|
14346
|
+
* of crashing the whole renderer. Without the null-guard, any caller
|
|
14347
|
+
* inside a React `useMemo` (e.g. WidgetsSection's `uniqueProviders`)
|
|
14348
|
+
* throws at mount and takes the Settings → Widgets pane down with it.
|
|
14349
|
+
*/
|
|
14294
14350
|
var getUserConfigurableProviders = function getUserConfigurableProviders(providers) {
|
|
14295
|
-
if (!providers) return [];
|
|
14351
|
+
if (!Array.isArray(providers)) return [];
|
|
14296
14352
|
return providers.filter(function (p) {
|
|
14297
|
-
return p.providerClass !== "api";
|
|
14353
|
+
return p && p.providerClass !== "api";
|
|
14298
14354
|
});
|
|
14299
14355
|
};
|
|
14300
14356
|
|
|
@@ -14526,6 +14582,39 @@ var LayoutBuilderConfigModal = function LayoutBuilderConfigModal(_ref) {
|
|
|
14526
14582
|
var activeDef = sections.find(function (s) {
|
|
14527
14583
|
return s.key === activeSection;
|
|
14528
14584
|
}) || sections[0];
|
|
14585
|
+
|
|
14586
|
+
// Scope/package label for the footer so the user can tell which
|
|
14587
|
+
// package a widget comes from (ambiguous component names like
|
|
14588
|
+
// `ProspectListColumn` can live under either `@ai-built/…` or
|
|
14589
|
+
// `@trops/pipeline`). Same derivation order as WidgetCardHeader:
|
|
14590
|
+
// widget config id → widget config package → layout item workspace.
|
|
14591
|
+
var footerPackageLabel = function () {
|
|
14592
|
+
if (!itemSelected) return "";
|
|
14593
|
+
var cfg = ComponentManager.config(itemSelected.component, itemSelected);
|
|
14594
|
+
var dropTrailingComponent = function dropTrailingComponent(s) {
|
|
14595
|
+
if (typeof s !== "string") return "";
|
|
14596
|
+
var lastDot = s.lastIndexOf(".");
|
|
14597
|
+
return lastDot > 0 ? s.slice(0, lastDot) : s;
|
|
14598
|
+
};
|
|
14599
|
+
var fromId = dropTrailingComponent((cfg === null || cfg === void 0 ? void 0 : cfg.id) || "");
|
|
14600
|
+
if (fromId) return fromId;
|
|
14601
|
+
if (cfg !== null && cfg !== void 0 && cfg["package"]) return String(cfg["package"]);
|
|
14602
|
+
var ws = itemSelected.workspace;
|
|
14603
|
+
if (typeof ws === "string" && ws && ws !== "layout") {
|
|
14604
|
+
return ws.startsWith("@") ? ws : "@".concat(ws);
|
|
14605
|
+
}
|
|
14606
|
+
return "";
|
|
14607
|
+
}();
|
|
14608
|
+
var componentName = itemSelected ? itemSelected["component"] : "";
|
|
14609
|
+
var footerLeftContent = footerPackageLabel ? /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
14610
|
+
className: "flex flex-col leading-tight",
|
|
14611
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
14612
|
+
children: componentName
|
|
14613
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
14614
|
+
className: "text-[10px] opacity-50",
|
|
14615
|
+
children: footerPackageLabel
|
|
14616
|
+
})]
|
|
14617
|
+
}) : componentName;
|
|
14529
14618
|
return itemSelected !== null && /*#__PURE__*/jsxRuntime.jsxs(DashReact.SettingsModal, {
|
|
14530
14619
|
isOpen: open,
|
|
14531
14620
|
setIsOpen: setIsOpen,
|
|
@@ -14588,7 +14677,7 @@ var LayoutBuilderConfigModal = function LayoutBuilderConfigModal(_ref) {
|
|
|
14588
14677
|
workspace: workspaceSelected
|
|
14589
14678
|
})]
|
|
14590
14679
|
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.SettingsModal.Footer, {
|
|
14591
|
-
leftContent:
|
|
14680
|
+
leftContent: footerLeftContent,
|
|
14592
14681
|
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
14593
14682
|
title: "Cancel",
|
|
14594
14683
|
onClick: function onClick() {
|
|
@@ -20774,7 +20863,8 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20774
20863
|
try {
|
|
20775
20864
|
var hasChildren = config.type === "workspace";
|
|
20776
20865
|
var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$I(_objectSpread$I({}, config), {}, {
|
|
20777
|
-
component: widgetComponentName
|
|
20866
|
+
component: widgetComponentName,
|
|
20867
|
+
packageId: config._sourcePackage || config.packageId || null
|
|
20778
20868
|
}), hasChildren);
|
|
20779
20869
|
var newWidgetId = newLayout[newLayout.length - 1].id;
|
|
20780
20870
|
var updatedGrid = newLayout.find(function (item) {
|
|
@@ -20818,7 +20908,11 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20818
20908
|
try {
|
|
20819
20909
|
var newLayout = updateLayoutItem(ws.layout, {
|
|
20820
20910
|
id: widgetId,
|
|
20821
|
-
component: widgetComponentName
|
|
20911
|
+
component: widgetComponentName,
|
|
20912
|
+
// Stamp the replacement's source package onto the item so
|
|
20913
|
+
// publish-time attribution routes to the new package, not
|
|
20914
|
+
// whatever the item was previously carrying.
|
|
20915
|
+
packageId: config._sourcePackage || config.packageId || null
|
|
20822
20916
|
});
|
|
20823
20917
|
if (!newLayout) {
|
|
20824
20918
|
return;
|
|
@@ -20927,13 +21021,11 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20927
21021
|
try {
|
|
20928
21022
|
var dashboard = new DashboardModel(currentWorkspace);
|
|
20929
21023
|
dashboard.removeItemFromLayout(id);
|
|
20930
|
-
|
|
20931
|
-
|
|
20932
|
-
|
|
20933
|
-
|
|
20934
|
-
|
|
20935
|
-
// newWorkspace["layout"] = newLayout;
|
|
20936
|
-
// setCurrentWorkspace(newWorkspace);
|
|
21024
|
+
var nextWorkspace = dashboard.workspace();
|
|
21025
|
+
setCurrentWorkspace(nextWorkspace);
|
|
21026
|
+
if (typeof onWorkspaceChangeRef.current === "function") {
|
|
21027
|
+
onWorkspaceChangeRef.current(nextWorkspace);
|
|
21028
|
+
}
|
|
20937
21029
|
} catch (e) {
|
|
20938
21030
|
}
|
|
20939
21031
|
}
|
|
@@ -21345,7 +21437,8 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
21345
21437
|
if (!config) return;
|
|
21346
21438
|
var widgetItem = _objectSpread$I(_objectSpread$I({}, config), {}, {
|
|
21347
21439
|
component: widgetKey,
|
|
21348
|
-
key: widgetKey
|
|
21440
|
+
key: widgetKey,
|
|
21441
|
+
packageId: config._sourcePackage || config.packageId || null
|
|
21349
21442
|
});
|
|
21350
21443
|
|
|
21351
21444
|
// Remove old widget from layout if the target cell is already occupied
|
|
@@ -21377,6 +21470,9 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
21377
21470
|
var newWorkspace = JSON.parse(JSON.stringify(_workspace));
|
|
21378
21471
|
newWorkspace["layout"] = newLayout;
|
|
21379
21472
|
setCurrentWorkspace(newWorkspace);
|
|
21473
|
+
if (typeof onWorkspaceChangeRef.current === "function") {
|
|
21474
|
+
onWorkspaceChangeRef.current(newWorkspace);
|
|
21475
|
+
}
|
|
21380
21476
|
} catch (e) {
|
|
21381
21477
|
}
|
|
21382
21478
|
}
|
|
@@ -21386,6 +21482,9 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
21386
21482
|
dashboard.moveWidgetToCell(gridContainerId, sourceCellNumber, targetCellNumber);
|
|
21387
21483
|
var newWorkspace = dashboard.workspace();
|
|
21388
21484
|
setCurrentWorkspace(newWorkspace);
|
|
21485
|
+
if (typeof onWorkspaceChangeRef.current === "function") {
|
|
21486
|
+
onWorkspaceChangeRef.current(newWorkspace);
|
|
21487
|
+
}
|
|
21389
21488
|
} catch (e) {
|
|
21390
21489
|
}
|
|
21391
21490
|
}
|
|
@@ -27597,6 +27696,17 @@ var LayoutModel = function LayoutModel(layoutItem, workspaceLayout, dashboardId)
|
|
|
27597
27696
|
// Preserve provider selections for this widget
|
|
27598
27697
|
layout.selectedProviders = "selectedProviders" in obj ? obj.selectedProviders : {};
|
|
27599
27698
|
|
|
27699
|
+
// Record the exact source package id (e.g. "@ai-built/pipeline")
|
|
27700
|
+
// from which this widget instance was added. Used by the publish
|
|
27701
|
+
// flow to attribute the widget to the correct package without
|
|
27702
|
+
// guessing when multiple installed packages declare the same
|
|
27703
|
+
// component name. Back-compat: read `_sourcePackage` (set by
|
|
27704
|
+
// dash-electron's widget registration) if `packageId` is missing.
|
|
27705
|
+
// Legacy layout items (added before this field existed) carry
|
|
27706
|
+
// neither — those still go through the ranking heuristic in
|
|
27707
|
+
// buildWidgetDependencies as a fallback.
|
|
27708
|
+
layout.packageId = "packageId" in obj ? obj["packageId"] : obj._sourcePackage ? obj._sourcePackage : null;
|
|
27709
|
+
|
|
27600
27710
|
/**
|
|
27601
27711
|
* @param {Object} grid Grid layout configuration
|
|
27602
27712
|
* Structure: {
|
|
@@ -54986,6 +55096,139 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
54986
55096
|
return b.required && !b.resolvedProviderName;
|
|
54987
55097
|
}).length;
|
|
54988
55098
|
|
|
55099
|
+
// Dependencies tab data — groups every widget instance in the
|
|
55100
|
+
// workspace by the package it belongs to, so the user can audit
|
|
55101
|
+
// which packages the dashboard actually references (and see which
|
|
55102
|
+
// pages/sidebar hold each instance). Matches the same derivation
|
|
55103
|
+
// order we use in WidgetCardHeader / LayoutBuilderConfigModal's
|
|
55104
|
+
// footer so the same package label shows in every surface.
|
|
55105
|
+
var dependencies = React.useMemo(function () {
|
|
55106
|
+
var byPackage = new Map();
|
|
55107
|
+
var stripTrailingComponent = function stripTrailingComponent(s) {
|
|
55108
|
+
if (typeof s !== "string") return "";
|
|
55109
|
+
var lastDot = s.lastIndexOf(".");
|
|
55110
|
+
return lastDot > 0 ? s.slice(0, lastDot) : s;
|
|
55111
|
+
};
|
|
55112
|
+
var derivePackage = function derivePackage(item) {
|
|
55113
|
+
// The layout item records the exact source package id when the
|
|
55114
|
+
// widget was added. If present, trust it — no heuristics. This
|
|
55115
|
+
// matches the publish flow's attribution, so the Dependencies
|
|
55116
|
+
// tab and the Publish modal always agree.
|
|
55117
|
+
if (item !== null && item !== void 0 && item.packageId) return String(item.packageId);
|
|
55118
|
+
var cfg = typeof getWidgetConfig === "function" ? getWidgetConfig(item.component) : null;
|
|
55119
|
+
if (cfg !== null && cfg !== void 0 && cfg._sourcePackage) return String(cfg._sourcePackage);
|
|
55120
|
+
var fromId = stripTrailingComponent((cfg === null || cfg === void 0 ? void 0 : cfg.id) || "");
|
|
55121
|
+
if (fromId) return fromId;
|
|
55122
|
+
if (cfg !== null && cfg !== void 0 && cfg["package"]) return String(cfg["package"]);
|
|
55123
|
+
var ws = item === null || item === void 0 ? void 0 : item.workspace;
|
|
55124
|
+
if (typeof ws === "string" && ws && ws !== "layout") {
|
|
55125
|
+
return ws.startsWith("@") ? ws : "@".concat(ws);
|
|
55126
|
+
}
|
|
55127
|
+
return "(unknown)";
|
|
55128
|
+
};
|
|
55129
|
+
|
|
55130
|
+
// Tag each visit with its location so we can show users exactly
|
|
55131
|
+
// where in the tree a package is referenced. forEachWidget walks
|
|
55132
|
+
// the standard places but doesn't surface which one — so we do a
|
|
55133
|
+
// lightweight parallel walk and annotate.
|
|
55134
|
+
var annotatedWalks = [];
|
|
55135
|
+
if (Array.isArray(workspace === null || workspace === void 0 ? void 0 : workspace.layout)) {
|
|
55136
|
+
annotatedWalks.push({
|
|
55137
|
+
location: "root",
|
|
55138
|
+
layout: workspace.layout
|
|
55139
|
+
});
|
|
55140
|
+
}
|
|
55141
|
+
if (Array.isArray(workspace === null || workspace === void 0 ? void 0 : workspace.pages)) {
|
|
55142
|
+
var _iterator2 = _createForOfIteratorHelper$4(workspace.pages),
|
|
55143
|
+
_step2;
|
|
55144
|
+
try {
|
|
55145
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
55146
|
+
var page = _step2.value;
|
|
55147
|
+
if (Array.isArray(page === null || page === void 0 ? void 0 : page.layout)) {
|
|
55148
|
+
annotatedWalks.push({
|
|
55149
|
+
location: "page: ".concat(page.name || page.id || "?"),
|
|
55150
|
+
layout: page.layout
|
|
55151
|
+
});
|
|
55152
|
+
}
|
|
55153
|
+
}
|
|
55154
|
+
} catch (err) {
|
|
55155
|
+
_iterator2.e(err);
|
|
55156
|
+
} finally {
|
|
55157
|
+
_iterator2.f();
|
|
55158
|
+
}
|
|
55159
|
+
}
|
|
55160
|
+
if (Array.isArray(workspace === null || workspace === void 0 ? void 0 : workspace.sidebarLayout)) {
|
|
55161
|
+
annotatedWalks.push({
|
|
55162
|
+
location: "sidebar",
|
|
55163
|
+
layout: workspace.sidebarLayout
|
|
55164
|
+
});
|
|
55165
|
+
}
|
|
55166
|
+
var visitedByLocation = new WeakSet();
|
|
55167
|
+
var _collect = function collect(items, location) {
|
|
55168
|
+
if (!Array.isArray(items)) return;
|
|
55169
|
+
var _iterator3 = _createForOfIteratorHelper$4(items),
|
|
55170
|
+
_step3;
|
|
55171
|
+
try {
|
|
55172
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
55173
|
+
var item = _step3.value;
|
|
55174
|
+
if (!item || _typeof(item) !== "object") continue;
|
|
55175
|
+
if (item.component && !visitedByLocation.has(item)) {
|
|
55176
|
+
visitedByLocation.add(item);
|
|
55177
|
+
// Ignore layout containers — they're not widgets.
|
|
55178
|
+
if (item.component !== "Container" && item.component !== "LayoutGridContainer") {
|
|
55179
|
+
var pkg = derivePackage(item);
|
|
55180
|
+
if (!byPackage.has(pkg)) {
|
|
55181
|
+
byPackage.set(pkg, {
|
|
55182
|
+
packageLabel: pkg,
|
|
55183
|
+
components: new Map(),
|
|
55184
|
+
locations: new Set(),
|
|
55185
|
+
total: 0
|
|
55186
|
+
});
|
|
55187
|
+
}
|
|
55188
|
+
var entry = byPackage.get(pkg);
|
|
55189
|
+
entry.total += 1;
|
|
55190
|
+
entry.locations.add(location);
|
|
55191
|
+
var cKey = item.component;
|
|
55192
|
+
entry.components.set(cKey, (entry.components.get(cKey) || 0) + 1);
|
|
55193
|
+
}
|
|
55194
|
+
}
|
|
55195
|
+
if (Array.isArray(item.items)) _collect(item.items, location);
|
|
55196
|
+
if (Array.isArray(item.layout)) _collect(item.layout, location);
|
|
55197
|
+
}
|
|
55198
|
+
} catch (err) {
|
|
55199
|
+
_iterator3.e(err);
|
|
55200
|
+
} finally {
|
|
55201
|
+
_iterator3.f();
|
|
55202
|
+
}
|
|
55203
|
+
};
|
|
55204
|
+
for (var _i2 = 0, _annotatedWalks = annotatedWalks; _i2 < _annotatedWalks.length; _i2++) {
|
|
55205
|
+
var w = _annotatedWalks[_i2];
|
|
55206
|
+
_collect(w.layout, w.location);
|
|
55207
|
+
}
|
|
55208
|
+
return Array.from(byPackage.values()).map(function (e) {
|
|
55209
|
+
return _objectSpread$8(_objectSpread$8({}, e), {}, {
|
|
55210
|
+
components: Array.from(e.components.entries()).map(function (_ref2) {
|
|
55211
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
55212
|
+
component = _ref3[0],
|
|
55213
|
+
count = _ref3[1];
|
|
55214
|
+
return {
|
|
55215
|
+
component: component,
|
|
55216
|
+
count: count
|
|
55217
|
+
};
|
|
55218
|
+
}),
|
|
55219
|
+
locations: Array.from(e.locations)
|
|
55220
|
+
});
|
|
55221
|
+
}).sort(function (a, b) {
|
|
55222
|
+
return a.packageLabel.localeCompare(b.packageLabel);
|
|
55223
|
+
});
|
|
55224
|
+
}, [workspace, getWidgetConfig]);
|
|
55225
|
+
var dependencyCount = dependencies.length;
|
|
55226
|
+
// Second pass used for the badge when the user has an `(unknown)`
|
|
55227
|
+
// bucket — usually a sign of a stale reference they want to clean up.
|
|
55228
|
+
var hasUnknownDependency = dependencies.some(function (d) {
|
|
55229
|
+
return d.packageLabel === "(unknown)";
|
|
55230
|
+
});
|
|
55231
|
+
|
|
54989
55232
|
// Listeners tab data — emitter list, receiver list, current wiring,
|
|
54990
55233
|
// orphans. All recompute when the workspace or staged delta changes
|
|
54991
55234
|
// so the UI reflects pending edits without saving first.
|
|
@@ -55021,11 +55264,11 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55021
55264
|
}
|
|
55022
55265
|
if (stagedListeners.adds.length > 0) {
|
|
55023
55266
|
// Append; avoid duplicates against current state.
|
|
55024
|
-
var
|
|
55025
|
-
|
|
55267
|
+
var _iterator4 = _createForOfIteratorHelper$4(stagedListeners.adds),
|
|
55268
|
+
_step4;
|
|
55026
55269
|
try {
|
|
55027
55270
|
var _loop = function _loop() {
|
|
55028
|
-
var a =
|
|
55271
|
+
var a = _step4.value;
|
|
55029
55272
|
if (!next.some(function (w) {
|
|
55030
55273
|
return sameWiringEntry(w, a);
|
|
55031
55274
|
})) {
|
|
@@ -55034,28 +55277,28 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55034
55277
|
})]);
|
|
55035
55278
|
}
|
|
55036
55279
|
};
|
|
55037
|
-
for (
|
|
55280
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
55038
55281
|
_loop();
|
|
55039
55282
|
}
|
|
55040
55283
|
} catch (err) {
|
|
55041
|
-
|
|
55284
|
+
_iterator4.e(err);
|
|
55042
55285
|
} finally {
|
|
55043
|
-
|
|
55286
|
+
_iterator4.f();
|
|
55044
55287
|
}
|
|
55045
55288
|
}
|
|
55046
55289
|
if (orphans.length === 0) return next;
|
|
55047
55290
|
var orphanIndex = new Map();
|
|
55048
|
-
var
|
|
55049
|
-
|
|
55291
|
+
var _iterator5 = _createForOfIteratorHelper$4(orphans),
|
|
55292
|
+
_step5;
|
|
55050
55293
|
try {
|
|
55051
|
-
for (
|
|
55052
|
-
var o =
|
|
55294
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
55295
|
+
var o = _step5.value;
|
|
55053
55296
|
orphanIndex.set("".concat(o.receiverItemId, "|").concat(o.handlerName, "|").concat(o.sourceComponent, "|").concat(o.sourceItemId, "|").concat(o.eventName), o.reason);
|
|
55054
55297
|
}
|
|
55055
55298
|
} catch (err) {
|
|
55056
|
-
|
|
55299
|
+
_iterator5.e(err);
|
|
55057
55300
|
} finally {
|
|
55058
|
-
|
|
55301
|
+
_iterator5.f();
|
|
55059
55302
|
}
|
|
55060
55303
|
return next.map(function (w) {
|
|
55061
55304
|
var key = "".concat(w.receiverItemId, "|").concat(w.handlerName, "|").concat(w.sourceComponent, "|").concat(w.sourceItemId, "|").concat(w.eventName);
|
|
@@ -55087,17 +55330,17 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55087
55330
|
function stagePrefFieldForAll(targetWidgets, key, value) {
|
|
55088
55331
|
setStagedPrefs(function (prev) {
|
|
55089
55332
|
var next = _objectSpread$8({}, prev);
|
|
55090
|
-
var
|
|
55091
|
-
|
|
55333
|
+
var _iterator6 = _createForOfIteratorHelper$4(targetWidgets),
|
|
55334
|
+
_step6;
|
|
55092
55335
|
try {
|
|
55093
|
-
for (
|
|
55094
|
-
var w =
|
|
55336
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
55337
|
+
var w = _step6.value;
|
|
55095
55338
|
next[w.id] = _objectSpread$8(_objectSpread$8({}, next[w.id] || {}), {}, _defineProperty({}, key, value));
|
|
55096
55339
|
}
|
|
55097
55340
|
} catch (err) {
|
|
55098
|
-
|
|
55341
|
+
_iterator6.e(err);
|
|
55099
55342
|
} finally {
|
|
55100
|
-
|
|
55343
|
+
_iterator6.f();
|
|
55101
55344
|
}
|
|
55102
55345
|
return next;
|
|
55103
55346
|
});
|
|
@@ -55121,18 +55364,18 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55121
55364
|
});
|
|
55122
55365
|
setStaged(function (prev) {
|
|
55123
55366
|
var next = _objectSpread$8({}, prev);
|
|
55124
|
-
var
|
|
55125
|
-
|
|
55367
|
+
var _iterator7 = _createForOfIteratorHelper$4(affected),
|
|
55368
|
+
_step7;
|
|
55126
55369
|
try {
|
|
55127
|
-
for (
|
|
55128
|
-
var b =
|
|
55370
|
+
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
55371
|
+
var b = _step7.value;
|
|
55129
55372
|
if (!b.widgetId) continue;
|
|
55130
55373
|
next[b.widgetId] = _objectSpread$8(_objectSpread$8({}, next[b.widgetId] || {}), {}, _defineProperty({}, providerType, providerName || ""));
|
|
55131
55374
|
}
|
|
55132
55375
|
} catch (err) {
|
|
55133
|
-
|
|
55376
|
+
_iterator7.e(err);
|
|
55134
55377
|
} finally {
|
|
55135
|
-
|
|
55378
|
+
_iterator7.f();
|
|
55136
55379
|
}
|
|
55137
55380
|
return next;
|
|
55138
55381
|
});
|
|
@@ -55190,12 +55433,12 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55190
55433
|
function handleSave() {
|
|
55191
55434
|
// Provider changes
|
|
55192
55435
|
var providerChanges = [];
|
|
55193
|
-
for (var
|
|
55194
|
-
var _Object$entries2$_i = _slicedToArray(_Object$entries2[
|
|
55436
|
+
for (var _i3 = 0, _Object$entries2 = Object.entries(staged); _i3 < _Object$entries2.length; _i3++) {
|
|
55437
|
+
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i3], 2),
|
|
55195
55438
|
widgetId = _Object$entries2$_i[0],
|
|
55196
55439
|
byType = _Object$entries2$_i[1];
|
|
55197
|
-
for (var
|
|
55198
|
-
var _Object$entries3$_i = _slicedToArray(_Object$entries3[
|
|
55440
|
+
for (var _i4 = 0, _Object$entries3 = Object.entries(byType); _i4 < _Object$entries3.length; _i4++) {
|
|
55441
|
+
var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i4], 2),
|
|
55199
55442
|
providerType = _Object$entries3$_i[0],
|
|
55200
55443
|
providerName = _Object$entries3$_i[1];
|
|
55201
55444
|
providerChanges.push({
|
|
@@ -55216,12 +55459,12 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55216
55459
|
|
|
55217
55460
|
// Widget userPrefs changes (Widgets tab)
|
|
55218
55461
|
var prefChanges = [];
|
|
55219
|
-
for (var
|
|
55220
|
-
var _Object$entries4$_i = _slicedToArray(_Object$entries4[
|
|
55462
|
+
for (var _i5 = 0, _Object$entries4 = Object.entries(stagedPrefs); _i5 < _Object$entries4.length; _i5++) {
|
|
55463
|
+
var _Object$entries4$_i = _slicedToArray(_Object$entries4[_i5], 2),
|
|
55221
55464
|
_widgetId = _Object$entries4$_i[0],
|
|
55222
55465
|
fields = _Object$entries4$_i[1];
|
|
55223
|
-
for (var
|
|
55224
|
-
var _Object$entries5$_i = _slicedToArray(_Object$entries5[
|
|
55466
|
+
for (var _i6 = 0, _Object$entries5 = Object.entries(fields); _i6 < _Object$entries5.length; _i6++) {
|
|
55467
|
+
var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i6], 2),
|
|
55225
55468
|
key = _Object$entries5$_i[0],
|
|
55226
55469
|
value = _Object$entries5$_i[1];
|
|
55227
55470
|
prefChanges.push({
|
|
@@ -55307,6 +55550,18 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55307
55550
|
},
|
|
55308
55551
|
className: "px-3 py-1.5 text-sm font-medium -mb-px border-b-2 ".concat(activeTab === "widgets" ? "border-indigo-400" : "border-transparent opacity-60 hover:opacity-100"),
|
|
55309
55552
|
children: "Widgets"
|
|
55553
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
55554
|
+
type: "button",
|
|
55555
|
+
onClick: function onClick() {
|
|
55556
|
+
return setActiveTab("dependencies");
|
|
55557
|
+
},
|
|
55558
|
+
className: "px-3 py-1.5 text-sm font-medium -mb-px border-b-2 ".concat(activeTab === "dependencies" ? "border-indigo-400" : "border-transparent opacity-60 hover:opacity-100"),
|
|
55559
|
+
children: ["Dependencies", dependencyCount > 0 && /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
55560
|
+
className: "ml-2 text-[10px] opacity-60",
|
|
55561
|
+
children: ["(", dependencyCount, ")"]
|
|
55562
|
+
}), hasUnknownDependency && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
55563
|
+
className: "ml-1 inline-block h-1.5 w-1.5 rounded-full bg-amber-400 align-middle"
|
|
55564
|
+
})]
|
|
55310
55565
|
})]
|
|
55311
55566
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55312
55567
|
className: "flex-1 min-h-0 ".concat(activeTab === "widgets" ? "" : "p-5"),
|
|
@@ -55327,6 +55582,8 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55327
55582
|
stagedPrefs: stagedPrefs,
|
|
55328
55583
|
stagePrefField: stagePrefField,
|
|
55329
55584
|
stagePrefFieldForAll: stagePrefFieldForAll
|
|
55585
|
+
}), activeTab === "dependencies" && /*#__PURE__*/jsxRuntime.jsx(DependenciesTab, {
|
|
55586
|
+
dependencies: dependencies
|
|
55330
55587
|
})]
|
|
55331
55588
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55332
55589
|
className: "flex-shrink-0 flex flex-row justify-end gap-2 p-4 border-t border-white/10",
|
|
@@ -55349,12 +55606,12 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55349
55606
|
* dot per-type when any widget of that type is unresolved). Column 2
|
|
55350
55607
|
* shows the selected type's bulk dropdown + per-widget dropdowns.
|
|
55351
55608
|
*/
|
|
55352
|
-
function ProvidersTab(
|
|
55609
|
+
function ProvidersTab(_ref4) {
|
|
55353
55610
|
var _typeEntries$, _selectedRows$;
|
|
55354
|
-
var grouped =
|
|
55355
|
-
providersByType =
|
|
55356
|
-
onBulk =
|
|
55357
|
-
onPerWidget =
|
|
55611
|
+
var grouped = _ref4.grouped,
|
|
55612
|
+
providersByType = _ref4.providersByType,
|
|
55613
|
+
onBulk = _ref4.onBulk,
|
|
55614
|
+
onPerWidget = _ref4.onPerWidget;
|
|
55358
55615
|
var typeEntries = React.useMemo(function () {
|
|
55359
55616
|
return Array.from(grouped.entries());
|
|
55360
55617
|
}, [grouped]);
|
|
@@ -55391,10 +55648,10 @@ function ProvidersTab(_ref2) {
|
|
|
55391
55648
|
children: "Provider Types"
|
|
55392
55649
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
55393
55650
|
className: "overflow-y-auto flex-1",
|
|
55394
|
-
children: typeEntries.map(function (
|
|
55395
|
-
var
|
|
55396
|
-
providerType =
|
|
55397
|
-
rows =
|
|
55651
|
+
children: typeEntries.map(function (_ref5) {
|
|
55652
|
+
var _ref6 = _slicedToArray(_ref5, 2),
|
|
55653
|
+
providerType = _ref6[0],
|
|
55654
|
+
rows = _ref6[1];
|
|
55398
55655
|
var isActive = selectedType === providerType;
|
|
55399
55656
|
var unresolvedHere = rows.filter(function (r) {
|
|
55400
55657
|
return r.required && !r.resolvedProviderName;
|
|
@@ -55530,6 +55787,73 @@ function ProvidersTab(_ref2) {
|
|
|
55530
55787
|
});
|
|
55531
55788
|
}
|
|
55532
55789
|
|
|
55790
|
+
// ─── Dependencies tab ──────────────────────────────────────────────────────
|
|
55791
|
+
|
|
55792
|
+
/**
|
|
55793
|
+
* Read-only breakdown of every widget package referenced by the
|
|
55794
|
+
* workspace. Same source of truth as the dashboard publish plan (it
|
|
55795
|
+
* walks layout + pages + sidebar + nested LayoutGridContainer items),
|
|
55796
|
+
* surfaced earlier in the authoring flow so the user can verify which
|
|
55797
|
+
* packages the dashboard actually pulls in — and catch stale references
|
|
55798
|
+
* before hitting the Publish modal.
|
|
55799
|
+
*
|
|
55800
|
+
* `(unknown)` buckets mean a component we couldn't map back to a
|
|
55801
|
+
* package (no `config.id` / `config.package` / item.workspace hint).
|
|
55802
|
+
* Usually this is a stale layout item whose widget got uninstalled.
|
|
55803
|
+
*/
|
|
55804
|
+
function DependenciesTab(_ref8) {
|
|
55805
|
+
var dependencies = _ref8.dependencies;
|
|
55806
|
+
if (!dependencies || dependencies.length === 0) {
|
|
55807
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
55808
|
+
className: "flex items-center justify-center h-full text-sm opacity-60 text-center",
|
|
55809
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
55810
|
+
children: "No widget packages referenced by this dashboard."
|
|
55811
|
+
})
|
|
55812
|
+
});
|
|
55813
|
+
}
|
|
55814
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55815
|
+
className: "flex flex-col h-full min-h-0 overflow-y-auto gap-3",
|
|
55816
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
55817
|
+
className: "text-xs opacity-60",
|
|
55818
|
+
children: "Every widget instance in this workspace, grouped by the package it belongs to. Locations show where each package is referenced."
|
|
55819
|
+
}), dependencies.map(function (dep) {
|
|
55820
|
+
var isUnknown = dep.packageLabel === "(unknown)";
|
|
55821
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55822
|
+
className: "border rounded-lg px-4 py-3 ".concat(isUnknown ? "bg-amber-900/10 border-amber-700/40" : "bg-white/5 border-white/10"),
|
|
55823
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55824
|
+
className: "flex items-center gap-2 flex-wrap",
|
|
55825
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("code", {
|
|
55826
|
+
className: "text-sm font-semibold ".concat(isUnknown ? "text-amber-200" : ""),
|
|
55827
|
+
children: dep.packageLabel
|
|
55828
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
55829
|
+
className: "text-xs opacity-60",
|
|
55830
|
+
children: [dep.total, " instance", dep.total === 1 ? "" : "s"]
|
|
55831
|
+
}), isUnknown && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
55832
|
+
className: "text-[10px] text-amber-300 uppercase tracking-wide",
|
|
55833
|
+
children: "no package mapping"
|
|
55834
|
+
})]
|
|
55835
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55836
|
+
className: "mt-2 text-xs opacity-70",
|
|
55837
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55838
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
55839
|
+
className: "opacity-60 mr-1",
|
|
55840
|
+
children: "Widgets:"
|
|
55841
|
+
}), dep.components.map(function (c) {
|
|
55842
|
+
return "".concat(c.component).concat(c.count > 1 ? " \xD7".concat(c.count) : "");
|
|
55843
|
+
}).join(", ")]
|
|
55844
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55845
|
+
className: "mt-1",
|
|
55846
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
55847
|
+
className: "opacity-60 mr-1",
|
|
55848
|
+
children: "Locations:"
|
|
55849
|
+
}), dep.locations.join(", ")]
|
|
55850
|
+
})]
|
|
55851
|
+
})]
|
|
55852
|
+
}, dep.packageLabel);
|
|
55853
|
+
})]
|
|
55854
|
+
});
|
|
55855
|
+
}
|
|
55856
|
+
|
|
55533
55857
|
// ─── Listeners tab ──────────────────────────────────────────────────────────
|
|
55534
55858
|
|
|
55535
55859
|
/**
|
|
@@ -55551,13 +55875,13 @@ function sameWiringEntry(a, b) {
|
|
|
55551
55875
|
* adjusts wiring per handler from a single dropdown of all emitters'
|
|
55552
55876
|
* (widget × event) pairs.
|
|
55553
55877
|
*/
|
|
55554
|
-
function ListenersTab(
|
|
55878
|
+
function ListenersTab(_ref9) {
|
|
55555
55879
|
var _receivers$;
|
|
55556
|
-
var emitters =
|
|
55557
|
-
receivers =
|
|
55558
|
-
wiring =
|
|
55559
|
-
onAdd =
|
|
55560
|
-
onRemove =
|
|
55880
|
+
var emitters = _ref9.emitters,
|
|
55881
|
+
receivers = _ref9.receivers,
|
|
55882
|
+
wiring = _ref9.wiring,
|
|
55883
|
+
onAdd = _ref9.onAdd,
|
|
55884
|
+
onRemove = _ref9.onRemove;
|
|
55561
55885
|
var _useState11 = React.useState(((_receivers$ = receivers[0]) === null || _receivers$ === void 0 ? void 0 : _receivers$.key) || null),
|
|
55562
55886
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
55563
55887
|
selectedReceiverKey = _useState12[0],
|
|
@@ -55581,17 +55905,17 @@ function ListenersTab(_ref6) {
|
|
|
55581
55905
|
// Receiver lookup (by composite key) for label resolution in chips.
|
|
55582
55906
|
var receiverByKey = React.useMemo(function () {
|
|
55583
55907
|
var m = new Map();
|
|
55584
|
-
var
|
|
55585
|
-
|
|
55908
|
+
var _iterator8 = _createForOfIteratorHelper$4(receivers),
|
|
55909
|
+
_step8;
|
|
55586
55910
|
try {
|
|
55587
|
-
for (
|
|
55588
|
-
var r =
|
|
55911
|
+
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
55912
|
+
var r = _step8.value;
|
|
55589
55913
|
m.set(r.key, r);
|
|
55590
55914
|
}
|
|
55591
55915
|
} catch (err) {
|
|
55592
|
-
|
|
55916
|
+
_iterator8.e(err);
|
|
55593
55917
|
} finally {
|
|
55594
|
-
|
|
55918
|
+
_iterator8.f();
|
|
55595
55919
|
}
|
|
55596
55920
|
return m;
|
|
55597
55921
|
}, [receivers]);
|
|
@@ -55665,24 +55989,24 @@ function ListenersTab(_ref6) {
|
|
|
55665
55989
|
* third column. Matches the left-column look from
|
|
55666
55990
|
* PanelEditItemHandlers.
|
|
55667
55991
|
*/
|
|
55668
|
-
function HandlersColumn(
|
|
55669
|
-
var receiver =
|
|
55670
|
-
myWiring =
|
|
55671
|
-
selectedHandler =
|
|
55672
|
-
onSelectHandler =
|
|
55992
|
+
function HandlersColumn(_ref1) {
|
|
55993
|
+
var receiver = _ref1.receiver,
|
|
55994
|
+
myWiring = _ref1.myWiring,
|
|
55995
|
+
selectedHandler = _ref1.selectedHandler,
|
|
55996
|
+
onSelectHandler = _ref1.onSelectHandler;
|
|
55673
55997
|
var countsByHandler = React.useMemo(function () {
|
|
55674
55998
|
var m = new Map();
|
|
55675
|
-
var
|
|
55676
|
-
|
|
55999
|
+
var _iterator9 = _createForOfIteratorHelper$4(myWiring),
|
|
56000
|
+
_step9;
|
|
55677
56001
|
try {
|
|
55678
|
-
for (
|
|
55679
|
-
var w =
|
|
56002
|
+
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
56003
|
+
var w = _step9.value;
|
|
55680
56004
|
m.set(w.handlerName, (m.get(w.handlerName) || 0) + 1);
|
|
55681
56005
|
}
|
|
55682
56006
|
} catch (err) {
|
|
55683
|
-
|
|
56007
|
+
_iterator9.e(err);
|
|
55684
56008
|
} finally {
|
|
55685
|
-
|
|
56009
|
+
_iterator9.f();
|
|
55686
56010
|
}
|
|
55687
56011
|
return m;
|
|
55688
56012
|
}, [myWiring]);
|
|
@@ -55730,23 +56054,23 @@ function HandlersColumn(_ref8) {
|
|
|
55730
56054
|
* Checked = wired; toggling commits an add/remove. Mirrors the
|
|
55731
56055
|
* right-column UX of PanelEditItemHandlers.
|
|
55732
56056
|
*/
|
|
55733
|
-
function EventsColumn(
|
|
55734
|
-
var receiver =
|
|
55735
|
-
handlerName =
|
|
55736
|
-
myWiring =
|
|
55737
|
-
emitters =
|
|
55738
|
-
onAdd =
|
|
55739
|
-
onRemove =
|
|
56057
|
+
function EventsColumn(_ref10) {
|
|
56058
|
+
var receiver = _ref10.receiver,
|
|
56059
|
+
handlerName = _ref10.handlerName,
|
|
56060
|
+
myWiring = _ref10.myWiring,
|
|
56061
|
+
emitters = _ref10.emitters,
|
|
56062
|
+
onAdd = _ref10.onAdd,
|
|
56063
|
+
onRemove = _ref10.onRemove;
|
|
55740
56064
|
// Wired-for-this-handler: dedupe defensively (legacy workspaces
|
|
55741
56065
|
// occasionally contain duplicate entries under the same handler).
|
|
55742
56066
|
var wiredHere = React.useMemo(function () {
|
|
55743
56067
|
var seen = new Set();
|
|
55744
56068
|
var out = [];
|
|
55745
|
-
var
|
|
55746
|
-
|
|
56069
|
+
var _iterator0 = _createForOfIteratorHelper$4(myWiring),
|
|
56070
|
+
_step0;
|
|
55747
56071
|
try {
|
|
55748
|
-
for (
|
|
55749
|
-
var w =
|
|
56072
|
+
for (_iterator0.s(); !(_step0 = _iterator0.n()).done;) {
|
|
56073
|
+
var w = _step0.value;
|
|
55750
56074
|
if (w.handlerName !== handlerName) continue;
|
|
55751
56075
|
var key = "".concat(w.sourceComponent, "|").concat(w.sourceItemId, "|").concat(w.eventName);
|
|
55752
56076
|
if (seen.has(key)) continue;
|
|
@@ -55754,9 +56078,9 @@ function EventsColumn(_ref9) {
|
|
|
55754
56078
|
out.push(w);
|
|
55755
56079
|
}
|
|
55756
56080
|
} catch (err) {
|
|
55757
|
-
|
|
56081
|
+
_iterator0.e(err);
|
|
55758
56082
|
} finally {
|
|
55759
|
-
|
|
56083
|
+
_iterator0.f();
|
|
55760
56084
|
}
|
|
55761
56085
|
return out;
|
|
55762
56086
|
}, [myWiring, handlerName]);
|
|
@@ -56906,6 +57230,42 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56906
57230
|
});
|
|
56907
57231
|
});
|
|
56908
57232
|
}
|
|
57233
|
+
|
|
57234
|
+
// Mirror the change into the layout refs so the save path always
|
|
57235
|
+
// sees the same truth regardless of whether it reads from refs or
|
|
57236
|
+
// state. Previously a mutation that propagated via
|
|
57237
|
+
// onWorkspaceChange (drag-drop, swap, place, delete) would update
|
|
57238
|
+
// openTabs but leave sidebarWorkspaceRef/pageRefsMap stale, and
|
|
57239
|
+
// `handleClickSaveWorkspace` reads from those refs FIRST — so it
|
|
57240
|
+
// clobbered the new sidebarLayout with the stale ref contents on
|
|
57241
|
+
// save. Keeping everything in sync here closes that window.
|
|
57242
|
+
if (Array.isArray(wsModel.sidebarLayout)) {
|
|
57243
|
+
sidebarWorkspaceRef.current = _objectSpread$6(_objectSpread$6({}, sidebarWorkspaceRef.current || {}), {}, {
|
|
57244
|
+
layout: wsModel.sidebarLayout
|
|
57245
|
+
});
|
|
57246
|
+
}
|
|
57247
|
+
if (Array.isArray(wsModel.pages)) {
|
|
57248
|
+
var _iterator = _createForOfIteratorHelper$3(wsModel.pages),
|
|
57249
|
+
_step;
|
|
57250
|
+
try {
|
|
57251
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
57252
|
+
var page = _step.value;
|
|
57253
|
+
if (!page || !page.id || !Array.isArray(page.layout)) continue;
|
|
57254
|
+
if (!pageRefsMap.current[page.id]) {
|
|
57255
|
+
pageRefsMap.current[page.id] = {
|
|
57256
|
+
current: null
|
|
57257
|
+
};
|
|
57258
|
+
}
|
|
57259
|
+
pageRefsMap.current[page.id].current = _objectSpread$6(_objectSpread$6({}, pageRefsMap.current[page.id].current || {}), {}, {
|
|
57260
|
+
layout: page.layout
|
|
57261
|
+
});
|
|
57262
|
+
}
|
|
57263
|
+
} catch (err) {
|
|
57264
|
+
_iterator.e(err);
|
|
57265
|
+
} finally {
|
|
57266
|
+
_iterator.f();
|
|
57267
|
+
}
|
|
57268
|
+
}
|
|
56909
57269
|
}
|
|
56910
57270
|
}
|
|
56911
57271
|
function handleProviderSelect(event) {
|
|
@@ -56952,14 +57312,14 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56952
57312
|
|
|
56953
57313
|
// Start from the current map, layer changes on top.
|
|
56954
57314
|
var nextSelectedProviders = _objectSpread$6({}, workspaceSelected.selectedProviders || {});
|
|
56955
|
-
var
|
|
56956
|
-
|
|
57315
|
+
var _iterator2 = _createForOfIteratorHelper$3(changes),
|
|
57316
|
+
_step2;
|
|
56957
57317
|
try {
|
|
56958
|
-
for (
|
|
56959
|
-
var
|
|
56960
|
-
widgetId =
|
|
56961
|
-
providerType =
|
|
56962
|
-
providerName =
|
|
57318
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
57319
|
+
var _step2$value = _step2.value,
|
|
57320
|
+
widgetId = _step2$value.widgetId,
|
|
57321
|
+
providerType = _step2$value.providerType,
|
|
57322
|
+
providerName = _step2$value.providerName;
|
|
56963
57323
|
if (!widgetId || !providerType) continue;
|
|
56964
57324
|
var prevForWidget = nextSelectedProviders[widgetId] ? _objectSpread$6({}, nextSelectedProviders[widgetId]) : {};
|
|
56965
57325
|
if (providerName) {
|
|
@@ -56972,9 +57332,9 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56972
57332
|
nextSelectedProviders[widgetId] = prevForWidget;
|
|
56973
57333
|
}
|
|
56974
57334
|
} catch (err) {
|
|
56975
|
-
|
|
57335
|
+
_iterator2.e(err);
|
|
56976
57336
|
} finally {
|
|
56977
|
-
|
|
57337
|
+
_iterator2.f();
|
|
56978
57338
|
}
|
|
56979
57339
|
var updatedWorkspace = _objectSpread$6(_objectSpread$6({}, workspaceSelected), {}, {
|
|
56980
57340
|
selectedProviders: nextSelectedProviders
|
|
@@ -57004,14 +57364,14 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
57004
57364
|
|
|
57005
57365
|
// Group changes by widgetId so we can patch each item once.
|
|
57006
57366
|
var byWidget = new Map();
|
|
57007
|
-
var
|
|
57008
|
-
|
|
57367
|
+
var _iterator3 = _createForOfIteratorHelper$3(changes),
|
|
57368
|
+
_step3;
|
|
57009
57369
|
try {
|
|
57010
|
-
for (
|
|
57011
|
-
var
|
|
57012
|
-
widgetId =
|
|
57013
|
-
key =
|
|
57014
|
-
value =
|
|
57370
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
57371
|
+
var _step3$value = _step3.value,
|
|
57372
|
+
widgetId = _step3$value.widgetId,
|
|
57373
|
+
key = _step3$value.key,
|
|
57374
|
+
value = _step3$value.value;
|
|
57015
57375
|
if (!widgetId || !key) continue;
|
|
57016
57376
|
if (!byWidget.has(widgetId)) byWidget.set(widgetId, {});
|
|
57017
57377
|
byWidget.get(widgetId)[key] = value;
|
|
@@ -57022,9 +57382,9 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
57022
57382
|
// Uses forEachWidget's walk under the hood by visiting each item
|
|
57023
57383
|
// in the cloned containers.
|
|
57024
57384
|
} catch (err) {
|
|
57025
|
-
|
|
57385
|
+
_iterator3.e(err);
|
|
57026
57386
|
} finally {
|
|
57027
|
-
|
|
57387
|
+
_iterator3.f();
|
|
57028
57388
|
}
|
|
57029
57389
|
var updatedWorkspace = JSON.parse(JSON.stringify(workspaceSelected));
|
|
57030
57390
|
var patchItem = function patchItem(item) {
|