@trops/dash-core 0.1.421 → 0.1.425
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 +580 -183
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +645 -230
- 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
|
}
|
|
@@ -8892,10 +8892,10 @@ var syntax = SyntaxError;
|
|
|
8892
8892
|
var type = TypeError;
|
|
8893
8893
|
|
|
8894
8894
|
/** @type {import('./gOPD')} */
|
|
8895
|
-
var gOPD$
|
|
8895
|
+
var gOPD$5 = Object.getOwnPropertyDescriptor;
|
|
8896
8896
|
|
|
8897
8897
|
/** @type {import('.')} */
|
|
8898
|
-
var $gOPD$2 = gOPD$
|
|
8898
|
+
var $gOPD$2 = gOPD$5;
|
|
8899
8899
|
|
|
8900
8900
|
if ($gOPD$2) {
|
|
8901
8901
|
try {
|
|
@@ -9030,7 +9030,7 @@ defineProperties$1.supportsDescriptors = !!supportsDescriptors$2;
|
|
|
9030
9030
|
|
|
9031
9031
|
var defineProperties_1 = defineProperties$1;
|
|
9032
9032
|
|
|
9033
|
-
var callBind$
|
|
9033
|
+
var callBind$6 = {exports: {}};
|
|
9034
9034
|
|
|
9035
9035
|
/** @type {import('.')} */
|
|
9036
9036
|
var esObjectAtoms = Object;
|
|
@@ -9330,60 +9330,78 @@ var callBindApplyHelpers = function callBindBasic(args) {
|
|
|
9330
9330
|
return $actualApply(bind$3, $call$1, args);
|
|
9331
9331
|
};
|
|
9332
9332
|
|
|
9333
|
-
var
|
|
9334
|
-
var
|
|
9333
|
+
var get;
|
|
9334
|
+
var hasRequiredGet;
|
|
9335
|
+
|
|
9336
|
+
function requireGet () {
|
|
9337
|
+
if (hasRequiredGet) return get;
|
|
9338
|
+
hasRequiredGet = 1;
|
|
9339
|
+
|
|
9340
|
+
var callBind = callBindApplyHelpers;
|
|
9341
|
+
var gOPD = gopd$1;
|
|
9335
9342
|
|
|
9336
|
-
var hasProtoAccessor;
|
|
9337
|
-
try {
|
|
9338
|
-
|
|
9339
|
-
|
|
9340
|
-
} catch (e) {
|
|
9341
|
-
|
|
9342
|
-
|
|
9343
|
+
var hasProtoAccessor;
|
|
9344
|
+
try {
|
|
9345
|
+
// eslint-disable-next-line no-extra-parens, no-proto
|
|
9346
|
+
hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;
|
|
9347
|
+
} catch (e) {
|
|
9348
|
+
if (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {
|
|
9349
|
+
throw e;
|
|
9350
|
+
}
|
|
9343
9351
|
}
|
|
9344
|
-
}
|
|
9345
9352
|
|
|
9346
|
-
// eslint-disable-next-line no-extra-parens
|
|
9347
|
-
var desc = !!hasProtoAccessor && gOPD
|
|
9353
|
+
// eslint-disable-next-line no-extra-parens
|
|
9354
|
+
var desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));
|
|
9348
9355
|
|
|
9349
|
-
var $Object
|
|
9350
|
-
var $getPrototypeOf = $Object
|
|
9356
|
+
var $Object = Object;
|
|
9357
|
+
var $getPrototypeOf = $Object.getPrototypeOf;
|
|
9351
9358
|
|
|
9352
|
-
/** @type {import('./get')} */
|
|
9353
|
-
|
|
9354
|
-
|
|
9355
|
-
|
|
9356
|
-
|
|
9357
|
-
|
|
9358
|
-
|
|
9359
|
-
|
|
9360
|
-
|
|
9359
|
+
/** @type {import('./get')} */
|
|
9360
|
+
get = desc && typeof desc.get === 'function'
|
|
9361
|
+
? callBind([desc.get])
|
|
9362
|
+
: typeof $getPrototypeOf === 'function'
|
|
9363
|
+
? /** @type {import('./get')} */ function getDunder(value) {
|
|
9364
|
+
// eslint-disable-next-line eqeqeq
|
|
9365
|
+
return $getPrototypeOf(value == null ? value : $Object(value));
|
|
9366
|
+
}
|
|
9367
|
+
: false;
|
|
9368
|
+
return get;
|
|
9369
|
+
}
|
|
9361
9370
|
|
|
9362
|
-
var
|
|
9363
|
-
var
|
|
9371
|
+
var getProto$3;
|
|
9372
|
+
var hasRequiredGetProto;
|
|
9364
9373
|
|
|
9365
|
-
|
|
9374
|
+
function requireGetProto () {
|
|
9375
|
+
if (hasRequiredGetProto) return getProto$3;
|
|
9376
|
+
hasRequiredGetProto = 1;
|
|
9366
9377
|
|
|
9367
|
-
|
|
9368
|
-
var
|
|
9369
|
-
|
|
9370
|
-
|
|
9371
|
-
|
|
9372
|
-
}
|
|
9373
|
-
|
|
9378
|
+
var reflectGetProto = requireReflect_getPrototypeOf();
|
|
9379
|
+
var originalGetProto = requireObject_getPrototypeOf();
|
|
9380
|
+
|
|
9381
|
+
var getDunderProto = requireGet();
|
|
9382
|
+
|
|
9383
|
+
/** @type {import('.')} */
|
|
9384
|
+
getProto$3 = reflectGetProto
|
|
9374
9385
|
? function getProto(O) {
|
|
9375
|
-
if (!O || (typeof O !== 'object' && typeof O !== 'function')) {
|
|
9376
|
-
throw new TypeError('getProto: not an object');
|
|
9377
|
-
}
|
|
9378
9386
|
// @ts-expect-error TS can't narrow inside a closure, for some reason
|
|
9379
|
-
return
|
|
9387
|
+
return reflectGetProto(O);
|
|
9380
9388
|
}
|
|
9381
|
-
:
|
|
9389
|
+
: originalGetProto
|
|
9382
9390
|
? function getProto(O) {
|
|
9391
|
+
if (!O || (typeof O !== 'object' && typeof O !== 'function')) {
|
|
9392
|
+
throw new TypeError('getProto: not an object');
|
|
9393
|
+
}
|
|
9383
9394
|
// @ts-expect-error TS can't narrow inside a closure, for some reason
|
|
9384
|
-
return
|
|
9395
|
+
return originalGetProto(O);
|
|
9385
9396
|
}
|
|
9386
|
-
:
|
|
9397
|
+
: getDunderProto
|
|
9398
|
+
? function getProto(O) {
|
|
9399
|
+
// @ts-expect-error TS can't narrow inside a closure, for some reason
|
|
9400
|
+
return getDunderProto(O);
|
|
9401
|
+
}
|
|
9402
|
+
: null;
|
|
9403
|
+
return getProto$3;
|
|
9404
|
+
}
|
|
9387
9405
|
|
|
9388
9406
|
var call = Function.prototype.call;
|
|
9389
9407
|
var $hasOwn = Object.prototype.hasOwnProperty;
|
|
@@ -9446,7 +9464,7 @@ var ThrowTypeError = $gOPD$1
|
|
|
9446
9464
|
|
|
9447
9465
|
var hasSymbols$3 = hasSymbols$4();
|
|
9448
9466
|
|
|
9449
|
-
var getProto$2 =
|
|
9467
|
+
var getProto$2 = requireGetProto();
|
|
9450
9468
|
var $ObjectGPO = requireObject_getPrototypeOf();
|
|
9451
9469
|
var $ReflectGPO = requireReflect_getPrototypeOf();
|
|
9452
9470
|
|
|
@@ -9843,9 +9861,9 @@ var applyBind = function applyBind() {
|
|
|
9843
9861
|
} else {
|
|
9844
9862
|
module.exports.apply = applyBind$1;
|
|
9845
9863
|
}
|
|
9846
|
-
} (callBind$
|
|
9864
|
+
} (callBind$6));
|
|
9847
9865
|
|
|
9848
|
-
var callBindExports = callBind$
|
|
9866
|
+
var callBindExports = callBind$6.exports;
|
|
9849
9867
|
|
|
9850
9868
|
var GetIntrinsic$7 = getIntrinsic;
|
|
9851
9869
|
|
|
@@ -10144,7 +10162,7 @@ var getPolyfill$3 = polyfill$2;
|
|
|
10144
10162
|
var gOPD$2 = gopd$1;
|
|
10145
10163
|
var defineProperty = Object.defineProperty;
|
|
10146
10164
|
var $TypeError$5 = esErrors;
|
|
10147
|
-
var getProto$1 =
|
|
10165
|
+
var getProto$1 = requireGetProto();
|
|
10148
10166
|
var regex = /a/;
|
|
10149
10167
|
|
|
10150
10168
|
var shim$3 = function shimFlags() {
|
|
@@ -12260,7 +12278,7 @@ var availableTypedArrays = availableTypedArrays$1;
|
|
|
12260
12278
|
var callBind = callBindExports;
|
|
12261
12279
|
var callBound$2 = callBound$i;
|
|
12262
12280
|
var gOPD = gopd$1;
|
|
12263
|
-
var getProto =
|
|
12281
|
+
var getProto = requireGetProto();
|
|
12264
12282
|
|
|
12265
12283
|
var $toString = callBound$2('Object.prototype.toString');
|
|
12266
12284
|
var hasToStringTag = shams();
|
|
@@ -12940,8 +12958,8 @@ var _excluded$6 = ["rows", "cols"];
|
|
|
12940
12958
|
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
12959
|
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
12960
|
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$
|
|
12961
|
+
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; }
|
|
12962
|
+
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
12963
|
var defaultGrid = {
|
|
12946
12964
|
rows: 1,
|
|
12947
12965
|
cols: 1,
|
|
@@ -12962,7 +12980,7 @@ function GridEditor(_ref) {
|
|
|
12962
12980
|
setGrid = _useState2[1];
|
|
12963
12981
|
var addRow = function addRow() {
|
|
12964
12982
|
var newRow = grid.rows;
|
|
12965
|
-
var newGrid = _objectSpread$
|
|
12983
|
+
var newGrid = _objectSpread$S(_objectSpread$S({}, grid), {}, {
|
|
12966
12984
|
rows: grid.rows + 1
|
|
12967
12985
|
});
|
|
12968
12986
|
for (var col = 0; col < grid.cols; col++) {
|
|
@@ -12977,7 +12995,7 @@ function GridEditor(_ref) {
|
|
|
12977
12995
|
};
|
|
12978
12996
|
var addColumn = function addColumn() {
|
|
12979
12997
|
var newCol = grid.cols;
|
|
12980
|
-
var newGrid = _objectSpread$
|
|
12998
|
+
var newGrid = _objectSpread$S(_objectSpread$S({}, grid), {}, {
|
|
12981
12999
|
cols: grid.cols + 1
|
|
12982
13000
|
});
|
|
12983
13001
|
for (var row = 0; row < grid.rows; row++) {
|
|
@@ -13010,8 +13028,8 @@ function GridEditor(_ref) {
|
|
|
13010
13028
|
});
|
|
13011
13029
|
}
|
|
13012
13030
|
if (grid[nextKey]) {
|
|
13013
|
-
var newGrid = _objectSpread$
|
|
13014
|
-
newGrid[currentKey] = _objectSpread$
|
|
13031
|
+
var newGrid = _objectSpread$S({}, grid);
|
|
13032
|
+
newGrid[currentKey] = _objectSpread$S(_objectSpread$S({}, newGrid[currentKey]), {}, {
|
|
13015
13033
|
colSpan: newGrid[currentKey].colSpan + 1
|
|
13016
13034
|
});
|
|
13017
13035
|
delete newGrid[nextKey];
|
|
@@ -13024,8 +13042,8 @@ function GridEditor(_ref) {
|
|
|
13024
13042
|
var currentKey = "".concat(row, ".").concat(col);
|
|
13025
13043
|
var belowKey = "".concat(row + 1, ".").concat(col);
|
|
13026
13044
|
if (grid[belowKey]) {
|
|
13027
|
-
var newGrid = _objectSpread$
|
|
13028
|
-
newGrid[currentKey] = _objectSpread$
|
|
13045
|
+
var newGrid = _objectSpread$S({}, grid);
|
|
13046
|
+
newGrid[currentKey] = _objectSpread$S(_objectSpread$S({}, newGrid[currentKey]), {}, {
|
|
13029
13047
|
rowSpan: newGrid[currentKey].rowSpan + 1
|
|
13030
13048
|
});
|
|
13031
13049
|
delete newGrid[belowKey];
|
|
@@ -13042,7 +13060,7 @@ function GridEditor(_ref) {
|
|
|
13042
13060
|
var splitCell = function splitCell(row, col) {
|
|
13043
13061
|
var key = "".concat(row, ".").concat(col);
|
|
13044
13062
|
var cell = grid[key];
|
|
13045
|
-
var newGrid = _objectSpread$
|
|
13063
|
+
var newGrid = _objectSpread$S({}, grid);
|
|
13046
13064
|
|
|
13047
13065
|
// we have to check the colspan, and since the colspan is greater than 1
|
|
13048
13066
|
// Only handle horizontal split if colSpan > 1
|
|
@@ -13058,13 +13076,13 @@ function GridEditor(_ref) {
|
|
|
13058
13076
|
var oldKey = "".concat(row, ".").concat(c);
|
|
13059
13077
|
var newKey = "".concat(row, ".").concat(c + 1);
|
|
13060
13078
|
if (newGrid[oldKey]) {
|
|
13061
|
-
newGrid[newKey] = _objectSpread$
|
|
13079
|
+
newGrid[newKey] = _objectSpread$S({}, newGrid[oldKey]);
|
|
13062
13080
|
delete newGrid[oldKey];
|
|
13063
13081
|
}
|
|
13064
13082
|
}
|
|
13065
13083
|
|
|
13066
13084
|
// Update the original cell's colSpan
|
|
13067
|
-
newGrid[key] = _objectSpread$
|
|
13085
|
+
newGrid[key] = _objectSpread$S(_objectSpread$S({}, cell), {}, {
|
|
13068
13086
|
colSpan: cell.colSpan - 1
|
|
13069
13087
|
});
|
|
13070
13088
|
|
|
@@ -13076,7 +13094,7 @@ function GridEditor(_ref) {
|
|
|
13076
13094
|
};
|
|
13077
13095
|
}
|
|
13078
13096
|
if (cell.rowSpan > 1) {
|
|
13079
|
-
newGrid[key] = _objectSpread$
|
|
13097
|
+
newGrid[key] = _objectSpread$S(_objectSpread$S({}, newGrid[key]), {}, {
|
|
13080
13098
|
rowSpan: cell.rowSpan - 1
|
|
13081
13099
|
});
|
|
13082
13100
|
newGrid["".concat(row + 1, ".").concat(col)] = {
|
|
@@ -13195,7 +13213,7 @@ function GridEditor(_ref) {
|
|
|
13195
13213
|
var fromKey = "".concat(from.row, ".").concat(from.col);
|
|
13196
13214
|
var toKey = "".concat(to.row, ".").concat(to.col);
|
|
13197
13215
|
if (fromKey === toKey) return;
|
|
13198
|
-
var newGrid = _objectSpread$
|
|
13216
|
+
var newGrid = _objectSpread$S({}, grid);
|
|
13199
13217
|
|
|
13200
13218
|
// Swap the cells
|
|
13201
13219
|
var temp = newGrid[fromKey];
|
|
@@ -13221,7 +13239,7 @@ function GridEditor(_ref) {
|
|
|
13221
13239
|
// console.log("Grid updated:", sequencedGrid);
|
|
13222
13240
|
}
|
|
13223
13241
|
function resetGridLayout() {
|
|
13224
|
-
var newGrid = _objectSpread$
|
|
13242
|
+
var newGrid = _objectSpread$S({}, defaultGrid);
|
|
13225
13243
|
setGrid(newGrid);
|
|
13226
13244
|
onUpdate(newGrid);
|
|
13227
13245
|
}
|
|
@@ -13499,8 +13517,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
|
|
|
13499
13517
|
});
|
|
13500
13518
|
};
|
|
13501
13519
|
|
|
13502
|
-
function ownKeys$
|
|
13503
|
-
function _objectSpread$
|
|
13520
|
+
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; }
|
|
13521
|
+
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
13522
|
var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
13505
13523
|
var item = _ref.item;
|
|
13506
13524
|
_ref.workspace;
|
|
@@ -13523,7 +13541,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13523
13541
|
}, [widgetUuid, notificationDefs.length]);
|
|
13524
13542
|
function handleNotifToggle(typeKey, value) {
|
|
13525
13543
|
var _window$mainApi2;
|
|
13526
|
-
var updated = _objectSpread$
|
|
13544
|
+
var updated = _objectSpread$R(_objectSpread$R({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
|
|
13527
13545
|
setNotifPrefs(updated);
|
|
13528
13546
|
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
13547
|
window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
|
|
@@ -13568,8 +13586,8 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13568
13586
|
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
13587
|
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
13588
|
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$
|
|
13589
|
+
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; }
|
|
13590
|
+
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
13591
|
var DAYS = [{
|
|
13574
13592
|
key: "mon",
|
|
13575
13593
|
label: "Mon"
|
|
@@ -13670,7 +13688,7 @@ function TaskScheduleEditor(_ref) {
|
|
|
13670
13688
|
var _window$mainApi;
|
|
13671
13689
|
var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13672
13690
|
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$
|
|
13691
|
+
var payload = _objectSpread$Q({
|
|
13674
13692
|
widgetId: widgetId,
|
|
13675
13693
|
widgetName: widgetName,
|
|
13676
13694
|
workspaceId: workspaceId || "",
|
|
@@ -13945,6 +13963,25 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
13945
13963
|
});
|
|
13946
13964
|
};
|
|
13947
13965
|
|
|
13966
|
+
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; }
|
|
13967
|
+
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; }
|
|
13968
|
+
var DERIVED_FIELDS = ["widgetConfig",
|
|
13969
|
+
// biggest offender — full component definition blob
|
|
13970
|
+
"uuid", "dashboardId", "parentWorkspaceName", "componentName", "siblingCount", "hasChildren", "canHaveChildren", "events",
|
|
13971
|
+
// declared by the widget's .dash.js, not editable per-item
|
|
13972
|
+
"eventHandlers"];
|
|
13973
|
+
function stripDerivedFields(item) {
|
|
13974
|
+
if (!item || _typeof(item) !== "object") return item;
|
|
13975
|
+
var out = {};
|
|
13976
|
+
for (var _i = 0, _Object$entries = Object.entries(item); _i < _Object$entries.length; _i++) {
|
|
13977
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
13978
|
+
k = _Object$entries$_i[0],
|
|
13979
|
+
v = _Object$entries$_i[1];
|
|
13980
|
+
if (DERIVED_FIELDS.includes(k)) continue;
|
|
13981
|
+
out[k] = v;
|
|
13982
|
+
}
|
|
13983
|
+
return out;
|
|
13984
|
+
}
|
|
13948
13985
|
var PanelCode = function PanelCode(_ref) {
|
|
13949
13986
|
var workspace = _ref.workspace,
|
|
13950
13987
|
onUpdate = _ref.onUpdate,
|
|
@@ -13979,18 +14016,43 @@ var PanelCode = function PanelCode(_ref) {
|
|
|
13979
14016
|
}
|
|
13980
14017
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13981
14018
|
}, [workspace, item]);
|
|
14019
|
+
var displayJson = React.useMemo(function () {
|
|
14020
|
+
if (!itemSelected) return "";
|
|
14021
|
+
return JSON.stringify(stripDerivedFields(itemSelected), null, 2);
|
|
14022
|
+
}, [itemSelected]);
|
|
13982
14023
|
function handleCodeChange(code) {
|
|
13983
|
-
|
|
13984
|
-
|
|
14024
|
+
try {
|
|
14025
|
+
var edited = JSON.parse(code);
|
|
14026
|
+
// Preserve the derived fields from the live item so save +
|
|
14027
|
+
// re-render stays in sync with what the rest of the layout
|
|
14028
|
+
// expects. LayoutModel re-derives these on reload, but losing
|
|
14029
|
+
// them between render cycles can cause flashes of "unknown
|
|
14030
|
+
// widget" state.
|
|
14031
|
+
var merged = _objectSpread$P({}, itemSelected);
|
|
14032
|
+
for (var _i2 = 0, _Object$keys = Object.keys(edited); _i2 < _Object$keys.length; _i2++) {
|
|
14033
|
+
var k = _Object$keys[_i2];
|
|
14034
|
+
merged[k] = edited[k];
|
|
14035
|
+
}
|
|
14036
|
+
onUpdate(merged, workspaceSelected);
|
|
14037
|
+
} catch (_unused) {
|
|
14038
|
+
// Malformed JSON — leave state alone; the editor keeps the
|
|
14039
|
+
// user's text so they can fix it.
|
|
14040
|
+
}
|
|
13985
14041
|
}
|
|
13986
14042
|
return itemSelected && workspaceSelected && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
13987
14043
|
className: "flex flex-col flex-1 min-h-0",
|
|
13988
14044
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
13989
|
-
className: "flex-1 min-h-0 overflow-hidden",
|
|
13990
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
13991
|
-
|
|
13992
|
-
|
|
13993
|
-
|
|
14045
|
+
className: "flex-1 min-h-0 overflow-hidden relative",
|
|
14046
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
14047
|
+
className: "absolute inset-0",
|
|
14048
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.CodeEditorVS, {
|
|
14049
|
+
code: displayJson,
|
|
14050
|
+
language: "json",
|
|
14051
|
+
onChange: handleCodeChange,
|
|
14052
|
+
readOnly: false,
|
|
14053
|
+
minimapEnabled: false,
|
|
14054
|
+
padding: "p-0"
|
|
14055
|
+
})
|
|
13994
14056
|
})
|
|
13995
14057
|
})
|
|
13996
14058
|
});
|
|
@@ -14526,6 +14588,39 @@ var LayoutBuilderConfigModal = function LayoutBuilderConfigModal(_ref) {
|
|
|
14526
14588
|
var activeDef = sections.find(function (s) {
|
|
14527
14589
|
return s.key === activeSection;
|
|
14528
14590
|
}) || sections[0];
|
|
14591
|
+
|
|
14592
|
+
// Scope/package label for the footer so the user can tell which
|
|
14593
|
+
// package a widget comes from (ambiguous component names like
|
|
14594
|
+
// `ProspectListColumn` can live under either `@ai-built/…` or
|
|
14595
|
+
// `@trops/pipeline`). Same derivation order as WidgetCardHeader:
|
|
14596
|
+
// widget config id → widget config package → layout item workspace.
|
|
14597
|
+
var footerPackageLabel = function () {
|
|
14598
|
+
if (!itemSelected) return "";
|
|
14599
|
+
var cfg = ComponentManager.config(itemSelected.component, itemSelected);
|
|
14600
|
+
var dropTrailingComponent = function dropTrailingComponent(s) {
|
|
14601
|
+
if (typeof s !== "string") return "";
|
|
14602
|
+
var lastDot = s.lastIndexOf(".");
|
|
14603
|
+
return lastDot > 0 ? s.slice(0, lastDot) : s;
|
|
14604
|
+
};
|
|
14605
|
+
var fromId = dropTrailingComponent((cfg === null || cfg === void 0 ? void 0 : cfg.id) || "");
|
|
14606
|
+
if (fromId) return fromId;
|
|
14607
|
+
if (cfg !== null && cfg !== void 0 && cfg["package"]) return String(cfg["package"]);
|
|
14608
|
+
var ws = itemSelected.workspace;
|
|
14609
|
+
if (typeof ws === "string" && ws && ws !== "layout") {
|
|
14610
|
+
return ws.startsWith("@") ? ws : "@".concat(ws);
|
|
14611
|
+
}
|
|
14612
|
+
return "";
|
|
14613
|
+
}();
|
|
14614
|
+
var componentName = itemSelected ? itemSelected["component"] : "";
|
|
14615
|
+
var footerLeftContent = footerPackageLabel ? /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
14616
|
+
className: "flex flex-col leading-tight",
|
|
14617
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
14618
|
+
children: componentName
|
|
14619
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
14620
|
+
className: "text-[10px] opacity-50",
|
|
14621
|
+
children: footerPackageLabel
|
|
14622
|
+
})]
|
|
14623
|
+
}) : componentName;
|
|
14529
14624
|
return itemSelected !== null && /*#__PURE__*/jsxRuntime.jsxs(DashReact.SettingsModal, {
|
|
14530
14625
|
isOpen: open,
|
|
14531
14626
|
setIsOpen: setIsOpen,
|
|
@@ -14588,7 +14683,7 @@ var LayoutBuilderConfigModal = function LayoutBuilderConfigModal(_ref) {
|
|
|
14588
14683
|
workspace: workspaceSelected
|
|
14589
14684
|
})]
|
|
14590
14685
|
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.SettingsModal.Footer, {
|
|
14591
|
-
leftContent:
|
|
14686
|
+
leftContent: footerLeftContent,
|
|
14592
14687
|
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
|
|
14593
14688
|
title: "Cancel",
|
|
14594
14689
|
onClick: function onClick() {
|
|
@@ -18812,7 +18907,32 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18812
18907
|
var isWidgetMissing = (widgetItem === null || widgetItem === void 0 ? void 0 : widgetItem.component) && !widgetConfig;
|
|
18813
18908
|
|
|
18814
18909
|
// Get widget name from config or item
|
|
18815
|
-
var widgetName = (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.name) || (widgetItem === null || widgetItem === void 0 ? void 0 : widgetItem.name) || (widgetItem === null || widgetItem === void 0 ? void 0 : widgetItem.component);
|
|
18910
|
+
var widgetName = (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.displayName) || (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.name) || (widgetItem === null || widgetItem === void 0 ? void 0 : widgetItem.name) || (widgetItem === null || widgetItem === void 0 ? void 0 : widgetItem.component);
|
|
18911
|
+
|
|
18912
|
+
// Build a scope/package subtitle so ambiguous component names like
|
|
18913
|
+
// `ProspectListColumn` (which might come from `@ai-built/…` or
|
|
18914
|
+
// `@trops/pipeline`) are disambiguated in the layout builder. Derives
|
|
18915
|
+
// from whatever identity the config / layout item carries:
|
|
18916
|
+
// - widgetConfig.id: e.g. "@ai-built/prospectlistcolumn.ProspectListColumn"
|
|
18917
|
+
// - widgetConfig.package: e.g. "@ai-built/prospectlistcolumn"
|
|
18918
|
+
// - widgetItem.workspace: fallback hint ("ai-built" / "@trops/pipeline")
|
|
18919
|
+
// Falls back to empty string so we can skip rendering if we have
|
|
18920
|
+
// nothing meaningful beyond the component name itself.
|
|
18921
|
+
var packageLabel = function () {
|
|
18922
|
+
var dropTrailingComponent = function dropTrailingComponent(s) {
|
|
18923
|
+
if (typeof s !== "string") return "";
|
|
18924
|
+
var lastDot = s.lastIndexOf(".");
|
|
18925
|
+
return lastDot > 0 ? s.slice(0, lastDot) : s;
|
|
18926
|
+
};
|
|
18927
|
+
var fromId = dropTrailingComponent((widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.id) || "");
|
|
18928
|
+
if (fromId) return fromId;
|
|
18929
|
+
if (widgetConfig !== null && widgetConfig !== void 0 && widgetConfig["package"]) return String(widgetConfig["package"]);
|
|
18930
|
+
var wsHint = widgetItem === null || widgetItem === void 0 ? void 0 : widgetItem.workspace;
|
|
18931
|
+
if (typeof wsHint === "string" && wsHint && wsHint !== "layout") {
|
|
18932
|
+
return wsHint.startsWith("@") ? wsHint : "@".concat(wsHint);
|
|
18933
|
+
}
|
|
18934
|
+
return "";
|
|
18935
|
+
}();
|
|
18816
18936
|
|
|
18817
18937
|
// Get provider requirements from widget config (not from item directly)
|
|
18818
18938
|
// Filter out providerClass: "api" so only user-configurable providers show badges
|
|
@@ -18951,11 +19071,18 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18951
19071
|
children: [/*#__PURE__*/jsxRuntime.jsx(WidgetIcon, {
|
|
18952
19072
|
icon: isWidgetMissing ? "triangle-exclamation" : widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.icon,
|
|
18953
19073
|
className: "h-4 w-4 flex-shrink-0 ".concat(isWidgetMissing ? "text-amber-500" : "text-white/60")
|
|
18954
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("
|
|
18955
|
-
className: "
|
|
18956
|
-
children: [
|
|
18957
|
-
className: "text-
|
|
18958
|
-
children: "(
|
|
19074
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19075
|
+
className: "flex flex-col min-w-0 leading-tight",
|
|
19076
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
19077
|
+
className: "font-medium text-sm text-gray-100 truncate",
|
|
19078
|
+
children: [widgetName || cellNumber || "Empty", isWidgetMissing && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
19079
|
+
className: "text-amber-500/70 font-normal ml-1",
|
|
19080
|
+
children: "(not found)"
|
|
19081
|
+
})]
|
|
19082
|
+
}), packageLabel && /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
19083
|
+
className: "text-[10px] text-gray-500 truncate",
|
|
19084
|
+
title: "".concat(packageLabel, " \xB7 ").concat((widgetItem === null || widgetItem === void 0 ? void 0 : widgetItem.component) || ""),
|
|
19085
|
+
children: [packageLabel, widgetItem !== null && widgetItem !== void 0 && widgetItem.component && widgetItem.component !== widgetName ? " \xB7 ".concat(widgetItem.component) : ""]
|
|
18959
19086
|
})]
|
|
18960
19087
|
})]
|
|
18961
19088
|
}), (providerRequirements.length > 0 || overflowActions.length > 0 || onMoreOptions) && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -20710,6 +20837,17 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20710
20837
|
wsRef.current = currentWorkspace;
|
|
20711
20838
|
}, [currentWorkspace]);
|
|
20712
20839
|
|
|
20840
|
+
// Stable ref to onWorkspaceChange so the window-event handlers below can
|
|
20841
|
+
// propagate mutations upstream without resubscribing on every render.
|
|
20842
|
+
// Without this, swap/place handlers only update LayoutBuilder-local
|
|
20843
|
+
// state — the parent (PinnedSidebar / PageLayoutBuilder) never learns
|
|
20844
|
+
// about the change, so the next parent re-render reverts it via the
|
|
20845
|
+
// `[workspace]` useEffect above and the save path reads stale state.
|
|
20846
|
+
var onWorkspaceChangeRef = React.useRef(onWorkspaceChange);
|
|
20847
|
+
React.useEffect(function () {
|
|
20848
|
+
onWorkspaceChangeRef.current = onWorkspaceChange;
|
|
20849
|
+
}, [onWorkspaceChange]);
|
|
20850
|
+
|
|
20713
20851
|
// Listen for AI widget builder placement — modifies layout state directly
|
|
20714
20852
|
React.useEffect(function () {
|
|
20715
20853
|
var handler = function handler(e) {
|
|
@@ -20731,7 +20869,8 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20731
20869
|
try {
|
|
20732
20870
|
var hasChildren = config.type === "workspace";
|
|
20733
20871
|
var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$I(_objectSpread$I({}, config), {}, {
|
|
20734
|
-
component: widgetComponentName
|
|
20872
|
+
component: widgetComponentName,
|
|
20873
|
+
packageId: config._sourcePackage || config.packageId || null
|
|
20735
20874
|
}), hasChildren);
|
|
20736
20875
|
var newWidgetId = newLayout[newLayout.length - 1].id;
|
|
20737
20876
|
var updatedGrid = newLayout.find(function (item) {
|
|
@@ -20746,6 +20885,9 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20746
20885
|
var newWorkspace = JSON.parse(JSON.stringify(ws));
|
|
20747
20886
|
newWorkspace.layout = newLayout;
|
|
20748
20887
|
setCurrentWorkspace(newWorkspace);
|
|
20888
|
+
if (typeof onWorkspaceChangeRef.current === "function") {
|
|
20889
|
+
onWorkspaceChangeRef.current(newWorkspace);
|
|
20890
|
+
}
|
|
20749
20891
|
} catch (err) {
|
|
20750
20892
|
}
|
|
20751
20893
|
};
|
|
@@ -20772,7 +20914,11 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20772
20914
|
try {
|
|
20773
20915
|
var newLayout = updateLayoutItem(ws.layout, {
|
|
20774
20916
|
id: widgetId,
|
|
20775
|
-
component: widgetComponentName
|
|
20917
|
+
component: widgetComponentName,
|
|
20918
|
+
// Stamp the replacement's source package onto the item so
|
|
20919
|
+
// publish-time attribution routes to the new package, not
|
|
20920
|
+
// whatever the item was previously carrying.
|
|
20921
|
+
packageId: config._sourcePackage || config.packageId || null
|
|
20776
20922
|
});
|
|
20777
20923
|
if (!newLayout) {
|
|
20778
20924
|
return;
|
|
@@ -20780,6 +20926,9 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20780
20926
|
var newWorkspace = JSON.parse(JSON.stringify(ws));
|
|
20781
20927
|
newWorkspace.layout = newLayout;
|
|
20782
20928
|
setCurrentWorkspace(newWorkspace);
|
|
20929
|
+
if (typeof onWorkspaceChangeRef.current === "function") {
|
|
20930
|
+
onWorkspaceChangeRef.current(newWorkspace);
|
|
20931
|
+
}
|
|
20783
20932
|
} catch (err) {
|
|
20784
20933
|
}
|
|
20785
20934
|
};
|
|
@@ -20878,13 +21027,11 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
20878
21027
|
try {
|
|
20879
21028
|
var dashboard = new DashboardModel(currentWorkspace);
|
|
20880
21029
|
dashboard.removeItemFromLayout(id);
|
|
20881
|
-
|
|
20882
|
-
|
|
20883
|
-
|
|
20884
|
-
|
|
20885
|
-
|
|
20886
|
-
// newWorkspace["layout"] = newLayout;
|
|
20887
|
-
// setCurrentWorkspace(newWorkspace);
|
|
21030
|
+
var nextWorkspace = dashboard.workspace();
|
|
21031
|
+
setCurrentWorkspace(nextWorkspace);
|
|
21032
|
+
if (typeof onWorkspaceChangeRef.current === "function") {
|
|
21033
|
+
onWorkspaceChangeRef.current(nextWorkspace);
|
|
21034
|
+
}
|
|
20888
21035
|
} catch (e) {
|
|
20889
21036
|
}
|
|
20890
21037
|
}
|
|
@@ -21296,7 +21443,8 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
21296
21443
|
if (!config) return;
|
|
21297
21444
|
var widgetItem = _objectSpread$I(_objectSpread$I({}, config), {}, {
|
|
21298
21445
|
component: widgetKey,
|
|
21299
|
-
key: widgetKey
|
|
21446
|
+
key: widgetKey,
|
|
21447
|
+
packageId: config._sourcePackage || config.packageId || null
|
|
21300
21448
|
});
|
|
21301
21449
|
|
|
21302
21450
|
// Remove old widget from layout if the target cell is already occupied
|
|
@@ -21328,6 +21476,9 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
21328
21476
|
var newWorkspace = JSON.parse(JSON.stringify(_workspace));
|
|
21329
21477
|
newWorkspace["layout"] = newLayout;
|
|
21330
21478
|
setCurrentWorkspace(newWorkspace);
|
|
21479
|
+
if (typeof onWorkspaceChangeRef.current === "function") {
|
|
21480
|
+
onWorkspaceChangeRef.current(newWorkspace);
|
|
21481
|
+
}
|
|
21331
21482
|
} catch (e) {
|
|
21332
21483
|
}
|
|
21333
21484
|
}
|
|
@@ -21337,6 +21488,9 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
21337
21488
|
dashboard.moveWidgetToCell(gridContainerId, sourceCellNumber, targetCellNumber);
|
|
21338
21489
|
var newWorkspace = dashboard.workspace();
|
|
21339
21490
|
setCurrentWorkspace(newWorkspace);
|
|
21491
|
+
if (typeof onWorkspaceChangeRef.current === "function") {
|
|
21492
|
+
onWorkspaceChangeRef.current(newWorkspace);
|
|
21493
|
+
}
|
|
21340
21494
|
} catch (e) {
|
|
21341
21495
|
}
|
|
21342
21496
|
}
|
|
@@ -27548,6 +27702,17 @@ var LayoutModel = function LayoutModel(layoutItem, workspaceLayout, dashboardId)
|
|
|
27548
27702
|
// Preserve provider selections for this widget
|
|
27549
27703
|
layout.selectedProviders = "selectedProviders" in obj ? obj.selectedProviders : {};
|
|
27550
27704
|
|
|
27705
|
+
// Record the exact source package id (e.g. "@ai-built/pipeline")
|
|
27706
|
+
// from which this widget instance was added. Used by the publish
|
|
27707
|
+
// flow to attribute the widget to the correct package without
|
|
27708
|
+
// guessing when multiple installed packages declare the same
|
|
27709
|
+
// component name. Back-compat: read `_sourcePackage` (set by
|
|
27710
|
+
// dash-electron's widget registration) if `packageId` is missing.
|
|
27711
|
+
// Legacy layout items (added before this field existed) carry
|
|
27712
|
+
// neither — those still go through the ranking heuristic in
|
|
27713
|
+
// buildWidgetDependencies as a fallback.
|
|
27714
|
+
layout.packageId = "packageId" in obj ? obj["packageId"] : obj._sourcePackage ? obj._sourcePackage : null;
|
|
27715
|
+
|
|
27551
27716
|
/**
|
|
27552
27717
|
* @param {Object} grid Grid layout configuration
|
|
27553
27718
|
* Structure: {
|
|
@@ -54937,6 +55102,139 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
54937
55102
|
return b.required && !b.resolvedProviderName;
|
|
54938
55103
|
}).length;
|
|
54939
55104
|
|
|
55105
|
+
// Dependencies tab data — groups every widget instance in the
|
|
55106
|
+
// workspace by the package it belongs to, so the user can audit
|
|
55107
|
+
// which packages the dashboard actually references (and see which
|
|
55108
|
+
// pages/sidebar hold each instance). Matches the same derivation
|
|
55109
|
+
// order we use in WidgetCardHeader / LayoutBuilderConfigModal's
|
|
55110
|
+
// footer so the same package label shows in every surface.
|
|
55111
|
+
var dependencies = React.useMemo(function () {
|
|
55112
|
+
var byPackage = new Map();
|
|
55113
|
+
var stripTrailingComponent = function stripTrailingComponent(s) {
|
|
55114
|
+
if (typeof s !== "string") return "";
|
|
55115
|
+
var lastDot = s.lastIndexOf(".");
|
|
55116
|
+
return lastDot > 0 ? s.slice(0, lastDot) : s;
|
|
55117
|
+
};
|
|
55118
|
+
var derivePackage = function derivePackage(item) {
|
|
55119
|
+
// The layout item records the exact source package id when the
|
|
55120
|
+
// widget was added. If present, trust it — no heuristics. This
|
|
55121
|
+
// matches the publish flow's attribution, so the Dependencies
|
|
55122
|
+
// tab and the Publish modal always agree.
|
|
55123
|
+
if (item !== null && item !== void 0 && item.packageId) return String(item.packageId);
|
|
55124
|
+
var cfg = typeof getWidgetConfig === "function" ? getWidgetConfig(item.component) : null;
|
|
55125
|
+
if (cfg !== null && cfg !== void 0 && cfg._sourcePackage) return String(cfg._sourcePackage);
|
|
55126
|
+
var fromId = stripTrailingComponent((cfg === null || cfg === void 0 ? void 0 : cfg.id) || "");
|
|
55127
|
+
if (fromId) return fromId;
|
|
55128
|
+
if (cfg !== null && cfg !== void 0 && cfg["package"]) return String(cfg["package"]);
|
|
55129
|
+
var ws = item === null || item === void 0 ? void 0 : item.workspace;
|
|
55130
|
+
if (typeof ws === "string" && ws && ws !== "layout") {
|
|
55131
|
+
return ws.startsWith("@") ? ws : "@".concat(ws);
|
|
55132
|
+
}
|
|
55133
|
+
return "(unknown)";
|
|
55134
|
+
};
|
|
55135
|
+
|
|
55136
|
+
// Tag each visit with its location so we can show users exactly
|
|
55137
|
+
// where in the tree a package is referenced. forEachWidget walks
|
|
55138
|
+
// the standard places but doesn't surface which one — so we do a
|
|
55139
|
+
// lightweight parallel walk and annotate.
|
|
55140
|
+
var annotatedWalks = [];
|
|
55141
|
+
if (Array.isArray(workspace === null || workspace === void 0 ? void 0 : workspace.layout)) {
|
|
55142
|
+
annotatedWalks.push({
|
|
55143
|
+
location: "root",
|
|
55144
|
+
layout: workspace.layout
|
|
55145
|
+
});
|
|
55146
|
+
}
|
|
55147
|
+
if (Array.isArray(workspace === null || workspace === void 0 ? void 0 : workspace.pages)) {
|
|
55148
|
+
var _iterator2 = _createForOfIteratorHelper$4(workspace.pages),
|
|
55149
|
+
_step2;
|
|
55150
|
+
try {
|
|
55151
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
55152
|
+
var page = _step2.value;
|
|
55153
|
+
if (Array.isArray(page === null || page === void 0 ? void 0 : page.layout)) {
|
|
55154
|
+
annotatedWalks.push({
|
|
55155
|
+
location: "page: ".concat(page.name || page.id || "?"),
|
|
55156
|
+
layout: page.layout
|
|
55157
|
+
});
|
|
55158
|
+
}
|
|
55159
|
+
}
|
|
55160
|
+
} catch (err) {
|
|
55161
|
+
_iterator2.e(err);
|
|
55162
|
+
} finally {
|
|
55163
|
+
_iterator2.f();
|
|
55164
|
+
}
|
|
55165
|
+
}
|
|
55166
|
+
if (Array.isArray(workspace === null || workspace === void 0 ? void 0 : workspace.sidebarLayout)) {
|
|
55167
|
+
annotatedWalks.push({
|
|
55168
|
+
location: "sidebar",
|
|
55169
|
+
layout: workspace.sidebarLayout
|
|
55170
|
+
});
|
|
55171
|
+
}
|
|
55172
|
+
var visitedByLocation = new WeakSet();
|
|
55173
|
+
var _collect = function collect(items, location) {
|
|
55174
|
+
if (!Array.isArray(items)) return;
|
|
55175
|
+
var _iterator3 = _createForOfIteratorHelper$4(items),
|
|
55176
|
+
_step3;
|
|
55177
|
+
try {
|
|
55178
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
55179
|
+
var item = _step3.value;
|
|
55180
|
+
if (!item || _typeof(item) !== "object") continue;
|
|
55181
|
+
if (item.component && !visitedByLocation.has(item)) {
|
|
55182
|
+
visitedByLocation.add(item);
|
|
55183
|
+
// Ignore layout containers — they're not widgets.
|
|
55184
|
+
if (item.component !== "Container" && item.component !== "LayoutGridContainer") {
|
|
55185
|
+
var pkg = derivePackage(item);
|
|
55186
|
+
if (!byPackage.has(pkg)) {
|
|
55187
|
+
byPackage.set(pkg, {
|
|
55188
|
+
packageLabel: pkg,
|
|
55189
|
+
components: new Map(),
|
|
55190
|
+
locations: new Set(),
|
|
55191
|
+
total: 0
|
|
55192
|
+
});
|
|
55193
|
+
}
|
|
55194
|
+
var entry = byPackage.get(pkg);
|
|
55195
|
+
entry.total += 1;
|
|
55196
|
+
entry.locations.add(location);
|
|
55197
|
+
var cKey = item.component;
|
|
55198
|
+
entry.components.set(cKey, (entry.components.get(cKey) || 0) + 1);
|
|
55199
|
+
}
|
|
55200
|
+
}
|
|
55201
|
+
if (Array.isArray(item.items)) _collect(item.items, location);
|
|
55202
|
+
if (Array.isArray(item.layout)) _collect(item.layout, location);
|
|
55203
|
+
}
|
|
55204
|
+
} catch (err) {
|
|
55205
|
+
_iterator3.e(err);
|
|
55206
|
+
} finally {
|
|
55207
|
+
_iterator3.f();
|
|
55208
|
+
}
|
|
55209
|
+
};
|
|
55210
|
+
for (var _i2 = 0, _annotatedWalks = annotatedWalks; _i2 < _annotatedWalks.length; _i2++) {
|
|
55211
|
+
var w = _annotatedWalks[_i2];
|
|
55212
|
+
_collect(w.layout, w.location);
|
|
55213
|
+
}
|
|
55214
|
+
return Array.from(byPackage.values()).map(function (e) {
|
|
55215
|
+
return _objectSpread$8(_objectSpread$8({}, e), {}, {
|
|
55216
|
+
components: Array.from(e.components.entries()).map(function (_ref2) {
|
|
55217
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
55218
|
+
component = _ref3[0],
|
|
55219
|
+
count = _ref3[1];
|
|
55220
|
+
return {
|
|
55221
|
+
component: component,
|
|
55222
|
+
count: count
|
|
55223
|
+
};
|
|
55224
|
+
}),
|
|
55225
|
+
locations: Array.from(e.locations)
|
|
55226
|
+
});
|
|
55227
|
+
}).sort(function (a, b) {
|
|
55228
|
+
return a.packageLabel.localeCompare(b.packageLabel);
|
|
55229
|
+
});
|
|
55230
|
+
}, [workspace, getWidgetConfig]);
|
|
55231
|
+
var dependencyCount = dependencies.length;
|
|
55232
|
+
// Second pass used for the badge when the user has an `(unknown)`
|
|
55233
|
+
// bucket — usually a sign of a stale reference they want to clean up.
|
|
55234
|
+
var hasUnknownDependency = dependencies.some(function (d) {
|
|
55235
|
+
return d.packageLabel === "(unknown)";
|
|
55236
|
+
});
|
|
55237
|
+
|
|
54940
55238
|
// Listeners tab data — emitter list, receiver list, current wiring,
|
|
54941
55239
|
// orphans. All recompute when the workspace or staged delta changes
|
|
54942
55240
|
// so the UI reflects pending edits without saving first.
|
|
@@ -54972,11 +55270,11 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
54972
55270
|
}
|
|
54973
55271
|
if (stagedListeners.adds.length > 0) {
|
|
54974
55272
|
// Append; avoid duplicates against current state.
|
|
54975
|
-
var
|
|
54976
|
-
|
|
55273
|
+
var _iterator4 = _createForOfIteratorHelper$4(stagedListeners.adds),
|
|
55274
|
+
_step4;
|
|
54977
55275
|
try {
|
|
54978
55276
|
var _loop = function _loop() {
|
|
54979
|
-
var a =
|
|
55277
|
+
var a = _step4.value;
|
|
54980
55278
|
if (!next.some(function (w) {
|
|
54981
55279
|
return sameWiringEntry(w, a);
|
|
54982
55280
|
})) {
|
|
@@ -54985,28 +55283,28 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
54985
55283
|
})]);
|
|
54986
55284
|
}
|
|
54987
55285
|
};
|
|
54988
|
-
for (
|
|
55286
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
54989
55287
|
_loop();
|
|
54990
55288
|
}
|
|
54991
55289
|
} catch (err) {
|
|
54992
|
-
|
|
55290
|
+
_iterator4.e(err);
|
|
54993
55291
|
} finally {
|
|
54994
|
-
|
|
55292
|
+
_iterator4.f();
|
|
54995
55293
|
}
|
|
54996
55294
|
}
|
|
54997
55295
|
if (orphans.length === 0) return next;
|
|
54998
55296
|
var orphanIndex = new Map();
|
|
54999
|
-
var
|
|
55000
|
-
|
|
55297
|
+
var _iterator5 = _createForOfIteratorHelper$4(orphans),
|
|
55298
|
+
_step5;
|
|
55001
55299
|
try {
|
|
55002
|
-
for (
|
|
55003
|
-
var o =
|
|
55300
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
55301
|
+
var o = _step5.value;
|
|
55004
55302
|
orphanIndex.set("".concat(o.receiverItemId, "|").concat(o.handlerName, "|").concat(o.sourceComponent, "|").concat(o.sourceItemId, "|").concat(o.eventName), o.reason);
|
|
55005
55303
|
}
|
|
55006
55304
|
} catch (err) {
|
|
55007
|
-
|
|
55305
|
+
_iterator5.e(err);
|
|
55008
55306
|
} finally {
|
|
55009
|
-
|
|
55307
|
+
_iterator5.f();
|
|
55010
55308
|
}
|
|
55011
55309
|
return next.map(function (w) {
|
|
55012
55310
|
var key = "".concat(w.receiverItemId, "|").concat(w.handlerName, "|").concat(w.sourceComponent, "|").concat(w.sourceItemId, "|").concat(w.eventName);
|
|
@@ -55038,17 +55336,17 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55038
55336
|
function stagePrefFieldForAll(targetWidgets, key, value) {
|
|
55039
55337
|
setStagedPrefs(function (prev) {
|
|
55040
55338
|
var next = _objectSpread$8({}, prev);
|
|
55041
|
-
var
|
|
55042
|
-
|
|
55339
|
+
var _iterator6 = _createForOfIteratorHelper$4(targetWidgets),
|
|
55340
|
+
_step6;
|
|
55043
55341
|
try {
|
|
55044
|
-
for (
|
|
55045
|
-
var w =
|
|
55342
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
55343
|
+
var w = _step6.value;
|
|
55046
55344
|
next[w.id] = _objectSpread$8(_objectSpread$8({}, next[w.id] || {}), {}, _defineProperty({}, key, value));
|
|
55047
55345
|
}
|
|
55048
55346
|
} catch (err) {
|
|
55049
|
-
|
|
55347
|
+
_iterator6.e(err);
|
|
55050
55348
|
} finally {
|
|
55051
|
-
|
|
55349
|
+
_iterator6.f();
|
|
55052
55350
|
}
|
|
55053
55351
|
return next;
|
|
55054
55352
|
});
|
|
@@ -55072,18 +55370,18 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55072
55370
|
});
|
|
55073
55371
|
setStaged(function (prev) {
|
|
55074
55372
|
var next = _objectSpread$8({}, prev);
|
|
55075
|
-
var
|
|
55076
|
-
|
|
55373
|
+
var _iterator7 = _createForOfIteratorHelper$4(affected),
|
|
55374
|
+
_step7;
|
|
55077
55375
|
try {
|
|
55078
|
-
for (
|
|
55079
|
-
var b =
|
|
55376
|
+
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
55377
|
+
var b = _step7.value;
|
|
55080
55378
|
if (!b.widgetId) continue;
|
|
55081
55379
|
next[b.widgetId] = _objectSpread$8(_objectSpread$8({}, next[b.widgetId] || {}), {}, _defineProperty({}, providerType, providerName || ""));
|
|
55082
55380
|
}
|
|
55083
55381
|
} catch (err) {
|
|
55084
|
-
|
|
55382
|
+
_iterator7.e(err);
|
|
55085
55383
|
} finally {
|
|
55086
|
-
|
|
55384
|
+
_iterator7.f();
|
|
55087
55385
|
}
|
|
55088
55386
|
return next;
|
|
55089
55387
|
});
|
|
@@ -55141,12 +55439,12 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55141
55439
|
function handleSave() {
|
|
55142
55440
|
// Provider changes
|
|
55143
55441
|
var providerChanges = [];
|
|
55144
|
-
for (var
|
|
55145
|
-
var _Object$entries2$_i = _slicedToArray(_Object$entries2[
|
|
55442
|
+
for (var _i3 = 0, _Object$entries2 = Object.entries(staged); _i3 < _Object$entries2.length; _i3++) {
|
|
55443
|
+
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i3], 2),
|
|
55146
55444
|
widgetId = _Object$entries2$_i[0],
|
|
55147
55445
|
byType = _Object$entries2$_i[1];
|
|
55148
|
-
for (var
|
|
55149
|
-
var _Object$entries3$_i = _slicedToArray(_Object$entries3[
|
|
55446
|
+
for (var _i4 = 0, _Object$entries3 = Object.entries(byType); _i4 < _Object$entries3.length; _i4++) {
|
|
55447
|
+
var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i4], 2),
|
|
55150
55448
|
providerType = _Object$entries3$_i[0],
|
|
55151
55449
|
providerName = _Object$entries3$_i[1];
|
|
55152
55450
|
providerChanges.push({
|
|
@@ -55167,12 +55465,12 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55167
55465
|
|
|
55168
55466
|
// Widget userPrefs changes (Widgets tab)
|
|
55169
55467
|
var prefChanges = [];
|
|
55170
|
-
for (var
|
|
55171
|
-
var _Object$entries4$_i = _slicedToArray(_Object$entries4[
|
|
55468
|
+
for (var _i5 = 0, _Object$entries4 = Object.entries(stagedPrefs); _i5 < _Object$entries4.length; _i5++) {
|
|
55469
|
+
var _Object$entries4$_i = _slicedToArray(_Object$entries4[_i5], 2),
|
|
55172
55470
|
_widgetId = _Object$entries4$_i[0],
|
|
55173
55471
|
fields = _Object$entries4$_i[1];
|
|
55174
|
-
for (var
|
|
55175
|
-
var _Object$entries5$_i = _slicedToArray(_Object$entries5[
|
|
55472
|
+
for (var _i6 = 0, _Object$entries5 = Object.entries(fields); _i6 < _Object$entries5.length; _i6++) {
|
|
55473
|
+
var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i6], 2),
|
|
55176
55474
|
key = _Object$entries5$_i[0],
|
|
55177
55475
|
value = _Object$entries5$_i[1];
|
|
55178
55476
|
prefChanges.push({
|
|
@@ -55258,6 +55556,18 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55258
55556
|
},
|
|
55259
55557
|
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"),
|
|
55260
55558
|
children: "Widgets"
|
|
55559
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
55560
|
+
type: "button",
|
|
55561
|
+
onClick: function onClick() {
|
|
55562
|
+
return setActiveTab("dependencies");
|
|
55563
|
+
},
|
|
55564
|
+
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"),
|
|
55565
|
+
children: ["Dependencies", dependencyCount > 0 && /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
55566
|
+
className: "ml-2 text-[10px] opacity-60",
|
|
55567
|
+
children: ["(", dependencyCount, ")"]
|
|
55568
|
+
}), hasUnknownDependency && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
55569
|
+
className: "ml-1 inline-block h-1.5 w-1.5 rounded-full bg-amber-400 align-middle"
|
|
55570
|
+
})]
|
|
55261
55571
|
})]
|
|
55262
55572
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55263
55573
|
className: "flex-1 min-h-0 ".concat(activeTab === "widgets" ? "" : "p-5"),
|
|
@@ -55278,6 +55588,8 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55278
55588
|
stagedPrefs: stagedPrefs,
|
|
55279
55589
|
stagePrefField: stagePrefField,
|
|
55280
55590
|
stagePrefFieldForAll: stagePrefFieldForAll
|
|
55591
|
+
}), activeTab === "dependencies" && /*#__PURE__*/jsxRuntime.jsx(DependenciesTab, {
|
|
55592
|
+
dependencies: dependencies
|
|
55281
55593
|
})]
|
|
55282
55594
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55283
55595
|
className: "flex-shrink-0 flex flex-row justify-end gap-2 p-4 border-t border-white/10",
|
|
@@ -55300,12 +55612,12 @@ var DashboardConfigModal = function DashboardConfigModal(_ref) {
|
|
|
55300
55612
|
* dot per-type when any widget of that type is unresolved). Column 2
|
|
55301
55613
|
* shows the selected type's bulk dropdown + per-widget dropdowns.
|
|
55302
55614
|
*/
|
|
55303
|
-
function ProvidersTab(
|
|
55615
|
+
function ProvidersTab(_ref4) {
|
|
55304
55616
|
var _typeEntries$, _selectedRows$;
|
|
55305
|
-
var grouped =
|
|
55306
|
-
providersByType =
|
|
55307
|
-
onBulk =
|
|
55308
|
-
onPerWidget =
|
|
55617
|
+
var grouped = _ref4.grouped,
|
|
55618
|
+
providersByType = _ref4.providersByType,
|
|
55619
|
+
onBulk = _ref4.onBulk,
|
|
55620
|
+
onPerWidget = _ref4.onPerWidget;
|
|
55309
55621
|
var typeEntries = React.useMemo(function () {
|
|
55310
55622
|
return Array.from(grouped.entries());
|
|
55311
55623
|
}, [grouped]);
|
|
@@ -55342,10 +55654,10 @@ function ProvidersTab(_ref2) {
|
|
|
55342
55654
|
children: "Provider Types"
|
|
55343
55655
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
55344
55656
|
className: "overflow-y-auto flex-1",
|
|
55345
|
-
children: typeEntries.map(function (
|
|
55346
|
-
var
|
|
55347
|
-
providerType =
|
|
55348
|
-
rows =
|
|
55657
|
+
children: typeEntries.map(function (_ref5) {
|
|
55658
|
+
var _ref6 = _slicedToArray(_ref5, 2),
|
|
55659
|
+
providerType = _ref6[0],
|
|
55660
|
+
rows = _ref6[1];
|
|
55349
55661
|
var isActive = selectedType === providerType;
|
|
55350
55662
|
var unresolvedHere = rows.filter(function (r) {
|
|
55351
55663
|
return r.required && !r.resolvedProviderName;
|
|
@@ -55481,6 +55793,73 @@ function ProvidersTab(_ref2) {
|
|
|
55481
55793
|
});
|
|
55482
55794
|
}
|
|
55483
55795
|
|
|
55796
|
+
// ─── Dependencies tab ──────────────────────────────────────────────────────
|
|
55797
|
+
|
|
55798
|
+
/**
|
|
55799
|
+
* Read-only breakdown of every widget package referenced by the
|
|
55800
|
+
* workspace. Same source of truth as the dashboard publish plan (it
|
|
55801
|
+
* walks layout + pages + sidebar + nested LayoutGridContainer items),
|
|
55802
|
+
* surfaced earlier in the authoring flow so the user can verify which
|
|
55803
|
+
* packages the dashboard actually pulls in — and catch stale references
|
|
55804
|
+
* before hitting the Publish modal.
|
|
55805
|
+
*
|
|
55806
|
+
* `(unknown)` buckets mean a component we couldn't map back to a
|
|
55807
|
+
* package (no `config.id` / `config.package` / item.workspace hint).
|
|
55808
|
+
* Usually this is a stale layout item whose widget got uninstalled.
|
|
55809
|
+
*/
|
|
55810
|
+
function DependenciesTab(_ref8) {
|
|
55811
|
+
var dependencies = _ref8.dependencies;
|
|
55812
|
+
if (!dependencies || dependencies.length === 0) {
|
|
55813
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
55814
|
+
className: "flex items-center justify-center h-full text-sm opacity-60 text-center",
|
|
55815
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
55816
|
+
children: "No widget packages referenced by this dashboard."
|
|
55817
|
+
})
|
|
55818
|
+
});
|
|
55819
|
+
}
|
|
55820
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55821
|
+
className: "flex flex-col h-full min-h-0 overflow-y-auto gap-3",
|
|
55822
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
55823
|
+
className: "text-xs opacity-60",
|
|
55824
|
+
children: "Every widget instance in this workspace, grouped by the package it belongs to. Locations show where each package is referenced."
|
|
55825
|
+
}), dependencies.map(function (dep) {
|
|
55826
|
+
var isUnknown = dep.packageLabel === "(unknown)";
|
|
55827
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55828
|
+
className: "border rounded-lg px-4 py-3 ".concat(isUnknown ? "bg-amber-900/10 border-amber-700/40" : "bg-white/5 border-white/10"),
|
|
55829
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55830
|
+
className: "flex items-center gap-2 flex-wrap",
|
|
55831
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("code", {
|
|
55832
|
+
className: "text-sm font-semibold ".concat(isUnknown ? "text-amber-200" : ""),
|
|
55833
|
+
children: dep.packageLabel
|
|
55834
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
55835
|
+
className: "text-xs opacity-60",
|
|
55836
|
+
children: [dep.total, " instance", dep.total === 1 ? "" : "s"]
|
|
55837
|
+
}), isUnknown && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
55838
|
+
className: "text-[10px] text-amber-300 uppercase tracking-wide",
|
|
55839
|
+
children: "no package mapping"
|
|
55840
|
+
})]
|
|
55841
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55842
|
+
className: "mt-2 text-xs opacity-70",
|
|
55843
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55844
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
55845
|
+
className: "opacity-60 mr-1",
|
|
55846
|
+
children: "Widgets:"
|
|
55847
|
+
}), dep.components.map(function (c) {
|
|
55848
|
+
return "".concat(c.component).concat(c.count > 1 ? " \xD7".concat(c.count) : "");
|
|
55849
|
+
}).join(", ")]
|
|
55850
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
55851
|
+
className: "mt-1",
|
|
55852
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
55853
|
+
className: "opacity-60 mr-1",
|
|
55854
|
+
children: "Locations:"
|
|
55855
|
+
}), dep.locations.join(", ")]
|
|
55856
|
+
})]
|
|
55857
|
+
})]
|
|
55858
|
+
}, dep.packageLabel);
|
|
55859
|
+
})]
|
|
55860
|
+
});
|
|
55861
|
+
}
|
|
55862
|
+
|
|
55484
55863
|
// ─── Listeners tab ──────────────────────────────────────────────────────────
|
|
55485
55864
|
|
|
55486
55865
|
/**
|
|
@@ -55502,13 +55881,13 @@ function sameWiringEntry(a, b) {
|
|
|
55502
55881
|
* adjusts wiring per handler from a single dropdown of all emitters'
|
|
55503
55882
|
* (widget × event) pairs.
|
|
55504
55883
|
*/
|
|
55505
|
-
function ListenersTab(
|
|
55884
|
+
function ListenersTab(_ref9) {
|
|
55506
55885
|
var _receivers$;
|
|
55507
|
-
var emitters =
|
|
55508
|
-
receivers =
|
|
55509
|
-
wiring =
|
|
55510
|
-
onAdd =
|
|
55511
|
-
onRemove =
|
|
55886
|
+
var emitters = _ref9.emitters,
|
|
55887
|
+
receivers = _ref9.receivers,
|
|
55888
|
+
wiring = _ref9.wiring,
|
|
55889
|
+
onAdd = _ref9.onAdd,
|
|
55890
|
+
onRemove = _ref9.onRemove;
|
|
55512
55891
|
var _useState11 = React.useState(((_receivers$ = receivers[0]) === null || _receivers$ === void 0 ? void 0 : _receivers$.key) || null),
|
|
55513
55892
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
55514
55893
|
selectedReceiverKey = _useState12[0],
|
|
@@ -55532,17 +55911,17 @@ function ListenersTab(_ref6) {
|
|
|
55532
55911
|
// Receiver lookup (by composite key) for label resolution in chips.
|
|
55533
55912
|
var receiverByKey = React.useMemo(function () {
|
|
55534
55913
|
var m = new Map();
|
|
55535
|
-
var
|
|
55536
|
-
|
|
55914
|
+
var _iterator8 = _createForOfIteratorHelper$4(receivers),
|
|
55915
|
+
_step8;
|
|
55537
55916
|
try {
|
|
55538
|
-
for (
|
|
55539
|
-
var r =
|
|
55917
|
+
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
55918
|
+
var r = _step8.value;
|
|
55540
55919
|
m.set(r.key, r);
|
|
55541
55920
|
}
|
|
55542
55921
|
} catch (err) {
|
|
55543
|
-
|
|
55922
|
+
_iterator8.e(err);
|
|
55544
55923
|
} finally {
|
|
55545
|
-
|
|
55924
|
+
_iterator8.f();
|
|
55546
55925
|
}
|
|
55547
55926
|
return m;
|
|
55548
55927
|
}, [receivers]);
|
|
@@ -55616,24 +55995,24 @@ function ListenersTab(_ref6) {
|
|
|
55616
55995
|
* third column. Matches the left-column look from
|
|
55617
55996
|
* PanelEditItemHandlers.
|
|
55618
55997
|
*/
|
|
55619
|
-
function HandlersColumn(
|
|
55620
|
-
var receiver =
|
|
55621
|
-
myWiring =
|
|
55622
|
-
selectedHandler =
|
|
55623
|
-
onSelectHandler =
|
|
55998
|
+
function HandlersColumn(_ref1) {
|
|
55999
|
+
var receiver = _ref1.receiver,
|
|
56000
|
+
myWiring = _ref1.myWiring,
|
|
56001
|
+
selectedHandler = _ref1.selectedHandler,
|
|
56002
|
+
onSelectHandler = _ref1.onSelectHandler;
|
|
55624
56003
|
var countsByHandler = React.useMemo(function () {
|
|
55625
56004
|
var m = new Map();
|
|
55626
|
-
var
|
|
55627
|
-
|
|
56005
|
+
var _iterator9 = _createForOfIteratorHelper$4(myWiring),
|
|
56006
|
+
_step9;
|
|
55628
56007
|
try {
|
|
55629
|
-
for (
|
|
55630
|
-
var w =
|
|
56008
|
+
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
56009
|
+
var w = _step9.value;
|
|
55631
56010
|
m.set(w.handlerName, (m.get(w.handlerName) || 0) + 1);
|
|
55632
56011
|
}
|
|
55633
56012
|
} catch (err) {
|
|
55634
|
-
|
|
56013
|
+
_iterator9.e(err);
|
|
55635
56014
|
} finally {
|
|
55636
|
-
|
|
56015
|
+
_iterator9.f();
|
|
55637
56016
|
}
|
|
55638
56017
|
return m;
|
|
55639
56018
|
}, [myWiring]);
|
|
@@ -55681,23 +56060,23 @@ function HandlersColumn(_ref8) {
|
|
|
55681
56060
|
* Checked = wired; toggling commits an add/remove. Mirrors the
|
|
55682
56061
|
* right-column UX of PanelEditItemHandlers.
|
|
55683
56062
|
*/
|
|
55684
|
-
function EventsColumn(
|
|
55685
|
-
var receiver =
|
|
55686
|
-
handlerName =
|
|
55687
|
-
myWiring =
|
|
55688
|
-
emitters =
|
|
55689
|
-
onAdd =
|
|
55690
|
-
onRemove =
|
|
56063
|
+
function EventsColumn(_ref10) {
|
|
56064
|
+
var receiver = _ref10.receiver,
|
|
56065
|
+
handlerName = _ref10.handlerName,
|
|
56066
|
+
myWiring = _ref10.myWiring,
|
|
56067
|
+
emitters = _ref10.emitters,
|
|
56068
|
+
onAdd = _ref10.onAdd,
|
|
56069
|
+
onRemove = _ref10.onRemove;
|
|
55691
56070
|
// Wired-for-this-handler: dedupe defensively (legacy workspaces
|
|
55692
56071
|
// occasionally contain duplicate entries under the same handler).
|
|
55693
56072
|
var wiredHere = React.useMemo(function () {
|
|
55694
56073
|
var seen = new Set();
|
|
55695
56074
|
var out = [];
|
|
55696
|
-
var
|
|
55697
|
-
|
|
56075
|
+
var _iterator0 = _createForOfIteratorHelper$4(myWiring),
|
|
56076
|
+
_step0;
|
|
55698
56077
|
try {
|
|
55699
|
-
for (
|
|
55700
|
-
var w =
|
|
56078
|
+
for (_iterator0.s(); !(_step0 = _iterator0.n()).done;) {
|
|
56079
|
+
var w = _step0.value;
|
|
55701
56080
|
if (w.handlerName !== handlerName) continue;
|
|
55702
56081
|
var key = "".concat(w.sourceComponent, "|").concat(w.sourceItemId, "|").concat(w.eventName);
|
|
55703
56082
|
if (seen.has(key)) continue;
|
|
@@ -55705,9 +56084,9 @@ function EventsColumn(_ref9) {
|
|
|
55705
56084
|
out.push(w);
|
|
55706
56085
|
}
|
|
55707
56086
|
} catch (err) {
|
|
55708
|
-
|
|
56087
|
+
_iterator0.e(err);
|
|
55709
56088
|
} finally {
|
|
55710
|
-
|
|
56089
|
+
_iterator0.f();
|
|
55711
56090
|
}
|
|
55712
56091
|
return out;
|
|
55713
56092
|
}, [myWiring, handlerName]);
|
|
@@ -56857,6 +57236,42 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56857
57236
|
});
|
|
56858
57237
|
});
|
|
56859
57238
|
}
|
|
57239
|
+
|
|
57240
|
+
// Mirror the change into the layout refs so the save path always
|
|
57241
|
+
// sees the same truth regardless of whether it reads from refs or
|
|
57242
|
+
// state. Previously a mutation that propagated via
|
|
57243
|
+
// onWorkspaceChange (drag-drop, swap, place, delete) would update
|
|
57244
|
+
// openTabs but leave sidebarWorkspaceRef/pageRefsMap stale, and
|
|
57245
|
+
// `handleClickSaveWorkspace` reads from those refs FIRST — so it
|
|
57246
|
+
// clobbered the new sidebarLayout with the stale ref contents on
|
|
57247
|
+
// save. Keeping everything in sync here closes that window.
|
|
57248
|
+
if (Array.isArray(wsModel.sidebarLayout)) {
|
|
57249
|
+
sidebarWorkspaceRef.current = _objectSpread$6(_objectSpread$6({}, sidebarWorkspaceRef.current || {}), {}, {
|
|
57250
|
+
layout: wsModel.sidebarLayout
|
|
57251
|
+
});
|
|
57252
|
+
}
|
|
57253
|
+
if (Array.isArray(wsModel.pages)) {
|
|
57254
|
+
var _iterator = _createForOfIteratorHelper$3(wsModel.pages),
|
|
57255
|
+
_step;
|
|
57256
|
+
try {
|
|
57257
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
57258
|
+
var page = _step.value;
|
|
57259
|
+
if (!page || !page.id || !Array.isArray(page.layout)) continue;
|
|
57260
|
+
if (!pageRefsMap.current[page.id]) {
|
|
57261
|
+
pageRefsMap.current[page.id] = {
|
|
57262
|
+
current: null
|
|
57263
|
+
};
|
|
57264
|
+
}
|
|
57265
|
+
pageRefsMap.current[page.id].current = _objectSpread$6(_objectSpread$6({}, pageRefsMap.current[page.id].current || {}), {}, {
|
|
57266
|
+
layout: page.layout
|
|
57267
|
+
});
|
|
57268
|
+
}
|
|
57269
|
+
} catch (err) {
|
|
57270
|
+
_iterator.e(err);
|
|
57271
|
+
} finally {
|
|
57272
|
+
_iterator.f();
|
|
57273
|
+
}
|
|
57274
|
+
}
|
|
56860
57275
|
}
|
|
56861
57276
|
}
|
|
56862
57277
|
function handleProviderSelect(event) {
|
|
@@ -56903,14 +57318,14 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56903
57318
|
|
|
56904
57319
|
// Start from the current map, layer changes on top.
|
|
56905
57320
|
var nextSelectedProviders = _objectSpread$6({}, workspaceSelected.selectedProviders || {});
|
|
56906
|
-
var
|
|
56907
|
-
|
|
57321
|
+
var _iterator2 = _createForOfIteratorHelper$3(changes),
|
|
57322
|
+
_step2;
|
|
56908
57323
|
try {
|
|
56909
|
-
for (
|
|
56910
|
-
var
|
|
56911
|
-
widgetId =
|
|
56912
|
-
providerType =
|
|
56913
|
-
providerName =
|
|
57324
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
57325
|
+
var _step2$value = _step2.value,
|
|
57326
|
+
widgetId = _step2$value.widgetId,
|
|
57327
|
+
providerType = _step2$value.providerType,
|
|
57328
|
+
providerName = _step2$value.providerName;
|
|
56914
57329
|
if (!widgetId || !providerType) continue;
|
|
56915
57330
|
var prevForWidget = nextSelectedProviders[widgetId] ? _objectSpread$6({}, nextSelectedProviders[widgetId]) : {};
|
|
56916
57331
|
if (providerName) {
|
|
@@ -56923,9 +57338,9 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56923
57338
|
nextSelectedProviders[widgetId] = prevForWidget;
|
|
56924
57339
|
}
|
|
56925
57340
|
} catch (err) {
|
|
56926
|
-
|
|
57341
|
+
_iterator2.e(err);
|
|
56927
57342
|
} finally {
|
|
56928
|
-
|
|
57343
|
+
_iterator2.f();
|
|
56929
57344
|
}
|
|
56930
57345
|
var updatedWorkspace = _objectSpread$6(_objectSpread$6({}, workspaceSelected), {}, {
|
|
56931
57346
|
selectedProviders: nextSelectedProviders
|
|
@@ -56955,14 +57370,14 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56955
57370
|
|
|
56956
57371
|
// Group changes by widgetId so we can patch each item once.
|
|
56957
57372
|
var byWidget = new Map();
|
|
56958
|
-
var
|
|
56959
|
-
|
|
57373
|
+
var _iterator3 = _createForOfIteratorHelper$3(changes),
|
|
57374
|
+
_step3;
|
|
56960
57375
|
try {
|
|
56961
|
-
for (
|
|
56962
|
-
var
|
|
56963
|
-
widgetId =
|
|
56964
|
-
key =
|
|
56965
|
-
value =
|
|
57376
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
57377
|
+
var _step3$value = _step3.value,
|
|
57378
|
+
widgetId = _step3$value.widgetId,
|
|
57379
|
+
key = _step3$value.key,
|
|
57380
|
+
value = _step3$value.value;
|
|
56966
57381
|
if (!widgetId || !key) continue;
|
|
56967
57382
|
if (!byWidget.has(widgetId)) byWidget.set(widgetId, {});
|
|
56968
57383
|
byWidget.get(widgetId)[key] = value;
|
|
@@ -56973,9 +57388,9 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
|
|
|
56973
57388
|
// Uses forEachWidget's walk under the hood by visiting each item
|
|
56974
57389
|
// in the cloned containers.
|
|
56975
57390
|
} catch (err) {
|
|
56976
|
-
|
|
57391
|
+
_iterator3.e(err);
|
|
56977
57392
|
} finally {
|
|
56978
|
-
|
|
57393
|
+
_iterator3.f();
|
|
56979
57394
|
}
|
|
56980
57395
|
var updatedWorkspace = JSON.parse(JSON.stringify(workspaceSelected));
|
|
56981
57396
|
var patchItem = function patchItem(item) {
|