@trops/dash-core 0.1.147 → 0.1.148
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 +821 -161
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +584 -68
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +583 -66
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -49,8 +49,8 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
|
49
49
|
var jsxRuntime__namespace = /*#__PURE__*/_interopNamespaceDefault(jsxRuntime);
|
|
50
50
|
var ReactDOM__namespace = /*#__PURE__*/_interopNamespaceDefault(ReactDOM);
|
|
51
51
|
|
|
52
|
-
function ownKeys$
|
|
53
|
-
function _objectSpread$
|
|
52
|
+
function ownKeys$D(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; }
|
|
53
|
+
function _objectSpread$D(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$D(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$D(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
54
54
|
var event = {
|
|
55
55
|
list: new Map(),
|
|
56
56
|
// Map(1) { '<widget-UUID>' => { 'CustomSearchbar[10].searchQueryChanged': [] } }
|
|
@@ -112,7 +112,7 @@ var event = {
|
|
|
112
112
|
uuid: subscriber["uuid"]
|
|
113
113
|
};
|
|
114
114
|
if ("action" in subscriber && subscriber.action !== undefined) {
|
|
115
|
-
subscriber["action"](_objectSpread$
|
|
115
|
+
subscriber["action"](_objectSpread$D({}, objectToSend));
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
118
|
}
|
|
@@ -2552,8 +2552,8 @@ var DashboardWrapper = function DashboardWrapper(_ref) {
|
|
|
2552
2552
|
});
|
|
2553
2553
|
};
|
|
2554
2554
|
|
|
2555
|
-
function ownKeys$
|
|
2556
|
-
function _objectSpread$
|
|
2555
|
+
function ownKeys$C(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; }
|
|
2556
|
+
function _objectSpread$C(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$C(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$C(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2557
2557
|
var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
|
|
2558
2558
|
var themeKey = _ref.themeKey,
|
|
2559
2559
|
children = _ref.children;
|
|
@@ -2565,7 +2565,7 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
|
|
|
2565
2565
|
var dashboardTheme = themes[themeKey];
|
|
2566
2566
|
var themeValue = dashboardTheme ? dashboardTheme[themeVariant] || null : null;
|
|
2567
2567
|
if (!themeValue) return null;
|
|
2568
|
-
return _objectSpread$
|
|
2568
|
+
return _objectSpread$C(_objectSpread$C({}, parentContext), {}, {
|
|
2569
2569
|
currentTheme: themeValue,
|
|
2570
2570
|
currentThemeKey: themeKey,
|
|
2571
2571
|
theme: themeValue,
|
|
@@ -2583,8 +2583,8 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
|
|
|
2583
2583
|
});
|
|
2584
2584
|
};
|
|
2585
2585
|
|
|
2586
|
-
function ownKeys$
|
|
2587
|
-
function _objectSpread$
|
|
2586
|
+
function ownKeys$B(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; }
|
|
2587
|
+
function _objectSpread$B(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$B(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$B(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2588
2588
|
var AppThemeScope = function AppThemeScope(_ref) {
|
|
2589
2589
|
var children = _ref.children;
|
|
2590
2590
|
var ctx = React.useContext(DashReact.ThemeContext);
|
|
@@ -2592,7 +2592,7 @@ var AppThemeScope = function AppThemeScope(_ref) {
|
|
|
2592
2592
|
children: children
|
|
2593
2593
|
});
|
|
2594
2594
|
return /*#__PURE__*/jsxRuntime.jsx(DashReact.ThemeContext.Provider, {
|
|
2595
|
-
value: _objectSpread$
|
|
2595
|
+
value: _objectSpread$B(_objectSpread$B({}, ctx), {}, {
|
|
2596
2596
|
currentTheme: ctx.appTheme,
|
|
2597
2597
|
currentThemeKey: ctx.appThemeKey,
|
|
2598
2598
|
theme: ctx.appTheme,
|
|
@@ -2704,11 +2704,11 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
2704
2704
|
});
|
|
2705
2705
|
};
|
|
2706
2706
|
|
|
2707
|
-
function ownKeys$
|
|
2708
|
-
function _objectSpread$
|
|
2709
|
-
function _createForOfIteratorHelper$
|
|
2710
|
-
function _unsupportedIterableToArray$
|
|
2711
|
-
function _arrayLikeToArray$
|
|
2707
|
+
function ownKeys$A(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; }
|
|
2708
|
+
function _objectSpread$A(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$A(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$A(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2709
|
+
function _createForOfIteratorHelper$d(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$d(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; } } }; }
|
|
2710
|
+
function _unsupportedIterableToArray$d(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$d(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$d(r, a) : void 0; } }
|
|
2711
|
+
function _arrayLikeToArray$d(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; }
|
|
2712
2712
|
/**
|
|
2713
2713
|
* Layout template definitions for the dashboard template picker.
|
|
2714
2714
|
*
|
|
@@ -2944,12 +2944,12 @@ function createLayoutFromTemplate(template) {
|
|
|
2944
2944
|
cols: template.cols,
|
|
2945
2945
|
gap: "gap-2"
|
|
2946
2946
|
};
|
|
2947
|
-
var _iterator = _createForOfIteratorHelper$
|
|
2947
|
+
var _iterator = _createForOfIteratorHelper$d(template.cells),
|
|
2948
2948
|
_step;
|
|
2949
2949
|
try {
|
|
2950
2950
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2951
2951
|
var cell = _step.value;
|
|
2952
|
-
grid[cell.key] = _objectSpread$
|
|
2952
|
+
grid[cell.key] = _objectSpread$A({
|
|
2953
2953
|
component: null,
|
|
2954
2954
|
hide: cell.hide || false
|
|
2955
2955
|
}, cell.span ? {
|
|
@@ -3963,8 +3963,8 @@ var DiscoverDashboardsDetail = function DiscoverDashboardsDetail(_ref) {
|
|
|
3963
3963
|
});
|
|
3964
3964
|
};
|
|
3965
3965
|
|
|
3966
|
-
function ownKeys$
|
|
3967
|
-
function _objectSpread$
|
|
3966
|
+
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; }
|
|
3967
|
+
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; }
|
|
3968
3968
|
var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
3969
3969
|
var open = _ref.open,
|
|
3970
3970
|
setIsOpen = _ref.setIsOpen,
|
|
@@ -4200,7 +4200,7 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
|
4200
4200
|
}
|
|
4201
4201
|
return _context2.abrupt("return");
|
|
4202
4202
|
case 6:
|
|
4203
|
-
updatedWorkspace = _objectSpread$
|
|
4203
|
+
updatedWorkspace = _objectSpread$z(_objectSpread$z({}, importedWorkspace), {}, {
|
|
4204
4204
|
name: dashboardName.trim(),
|
|
4205
4205
|
menuId: menuId,
|
|
4206
4206
|
themeKey: selectedThemeKey
|
|
@@ -9555,8 +9555,8 @@ var deepEqual = function deepEqual(a, b, opts) {
|
|
|
9555
9555
|
|
|
9556
9556
|
var deepEqual$1 = /*@__PURE__*/getDefaultExportFromCjs(deepEqual);
|
|
9557
9557
|
|
|
9558
|
-
function ownKeys$
|
|
9559
|
-
function _objectSpread$
|
|
9558
|
+
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; }
|
|
9559
|
+
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; }
|
|
9560
9560
|
var PanelEditItem = function PanelEditItem(_ref) {
|
|
9561
9561
|
var _ComponentManager$get;
|
|
9562
9562
|
var workspace = _ref.workspace,
|
|
@@ -9616,7 +9616,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
9616
9616
|
var uuid = newItem.uuid || newItem.uuidString;
|
|
9617
9617
|
if (uuid) {
|
|
9618
9618
|
workspaceTemp.selectedProviders = workspaceTemp.selectedProviders || {};
|
|
9619
|
-
workspaceTemp.selectedProviders[uuid] = _objectSpread$
|
|
9619
|
+
workspaceTemp.selectedProviders[uuid] = _objectSpread$y(_objectSpread$y({}, workspaceTemp.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
|
|
9620
9620
|
}
|
|
9621
9621
|
onUpdate(newItem, workspaceTemp);
|
|
9622
9622
|
forceUpdate();
|
|
@@ -9745,7 +9745,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
9745
9745
|
var _ref5 = _slicedToArray(_ref4, 2),
|
|
9746
9746
|
name = _ref5[0],
|
|
9747
9747
|
p = _ref5[1];
|
|
9748
|
-
return _objectSpread$
|
|
9748
|
+
return _objectSpread$y({
|
|
9749
9749
|
name: name
|
|
9750
9750
|
}, p);
|
|
9751
9751
|
});
|
|
@@ -9787,11 +9787,11 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
9787
9787
|
};
|
|
9788
9788
|
|
|
9789
9789
|
var _excluded$5 = ["rows", "cols"];
|
|
9790
|
-
function _createForOfIteratorHelper$
|
|
9791
|
-
function _unsupportedIterableToArray$
|
|
9792
|
-
function _arrayLikeToArray$
|
|
9793
|
-
function ownKeys$
|
|
9794
|
-
function _objectSpread$
|
|
9790
|
+
function _createForOfIteratorHelper$c(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$c(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; } } }; }
|
|
9791
|
+
function _unsupportedIterableToArray$c(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$c(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$c(r, a) : void 0; } }
|
|
9792
|
+
function _arrayLikeToArray$c(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; }
|
|
9793
|
+
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; }
|
|
9794
|
+
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; }
|
|
9795
9795
|
var defaultGrid = {
|
|
9796
9796
|
rows: 1,
|
|
9797
9797
|
cols: 1,
|
|
@@ -9812,7 +9812,7 @@ function GridEditor(_ref) {
|
|
|
9812
9812
|
setGrid = _useState2[1];
|
|
9813
9813
|
var addRow = function addRow() {
|
|
9814
9814
|
var newRow = grid.rows;
|
|
9815
|
-
var newGrid = _objectSpread$
|
|
9815
|
+
var newGrid = _objectSpread$x(_objectSpread$x({}, grid), {}, {
|
|
9816
9816
|
rows: grid.rows + 1
|
|
9817
9817
|
});
|
|
9818
9818
|
for (var col = 0; col < grid.cols; col++) {
|
|
@@ -9827,7 +9827,7 @@ function GridEditor(_ref) {
|
|
|
9827
9827
|
};
|
|
9828
9828
|
var addColumn = function addColumn() {
|
|
9829
9829
|
var newCol = grid.cols;
|
|
9830
|
-
var newGrid = _objectSpread$
|
|
9830
|
+
var newGrid = _objectSpread$x(_objectSpread$x({}, grid), {}, {
|
|
9831
9831
|
cols: grid.cols + 1
|
|
9832
9832
|
});
|
|
9833
9833
|
for (var row = 0; row < grid.rows; row++) {
|
|
@@ -9860,8 +9860,8 @@ function GridEditor(_ref) {
|
|
|
9860
9860
|
});
|
|
9861
9861
|
}
|
|
9862
9862
|
if (grid[nextKey]) {
|
|
9863
|
-
var newGrid = _objectSpread$
|
|
9864
|
-
newGrid[currentKey] = _objectSpread$
|
|
9863
|
+
var newGrid = _objectSpread$x({}, grid);
|
|
9864
|
+
newGrid[currentKey] = _objectSpread$x(_objectSpread$x({}, newGrid[currentKey]), {}, {
|
|
9865
9865
|
colSpan: newGrid[currentKey].colSpan + 1
|
|
9866
9866
|
});
|
|
9867
9867
|
delete newGrid[nextKey];
|
|
@@ -9874,8 +9874,8 @@ function GridEditor(_ref) {
|
|
|
9874
9874
|
var currentKey = "".concat(row, ".").concat(col);
|
|
9875
9875
|
var belowKey = "".concat(row + 1, ".").concat(col);
|
|
9876
9876
|
if (grid[belowKey]) {
|
|
9877
|
-
var newGrid = _objectSpread$
|
|
9878
|
-
newGrid[currentKey] = _objectSpread$
|
|
9877
|
+
var newGrid = _objectSpread$x({}, grid);
|
|
9878
|
+
newGrid[currentKey] = _objectSpread$x(_objectSpread$x({}, newGrid[currentKey]), {}, {
|
|
9879
9879
|
rowSpan: newGrid[currentKey].rowSpan + 1
|
|
9880
9880
|
});
|
|
9881
9881
|
delete newGrid[belowKey];
|
|
@@ -9892,7 +9892,7 @@ function GridEditor(_ref) {
|
|
|
9892
9892
|
var splitCell = function splitCell(row, col) {
|
|
9893
9893
|
var key = "".concat(row, ".").concat(col);
|
|
9894
9894
|
var cell = grid[key];
|
|
9895
|
-
var newGrid = _objectSpread$
|
|
9895
|
+
var newGrid = _objectSpread$x({}, grid);
|
|
9896
9896
|
|
|
9897
9897
|
// we have to check the colspan, and since the colspan is greater than 1
|
|
9898
9898
|
// Only handle horizontal split if colSpan > 1
|
|
@@ -9908,13 +9908,13 @@ function GridEditor(_ref) {
|
|
|
9908
9908
|
var oldKey = "".concat(row, ".").concat(c);
|
|
9909
9909
|
var newKey = "".concat(row, ".").concat(c + 1);
|
|
9910
9910
|
if (newGrid[oldKey]) {
|
|
9911
|
-
newGrid[newKey] = _objectSpread$
|
|
9911
|
+
newGrid[newKey] = _objectSpread$x({}, newGrid[oldKey]);
|
|
9912
9912
|
delete newGrid[oldKey];
|
|
9913
9913
|
}
|
|
9914
9914
|
}
|
|
9915
9915
|
|
|
9916
9916
|
// Update the original cell's colSpan
|
|
9917
|
-
newGrid[key] = _objectSpread$
|
|
9917
|
+
newGrid[key] = _objectSpread$x(_objectSpread$x({}, cell), {}, {
|
|
9918
9918
|
colSpan: cell.colSpan - 1
|
|
9919
9919
|
});
|
|
9920
9920
|
|
|
@@ -9926,7 +9926,7 @@ function GridEditor(_ref) {
|
|
|
9926
9926
|
};
|
|
9927
9927
|
}
|
|
9928
9928
|
if (cell.rowSpan > 1) {
|
|
9929
|
-
newGrid[key] = _objectSpread$
|
|
9929
|
+
newGrid[key] = _objectSpread$x(_objectSpread$x({}, newGrid[key]), {}, {
|
|
9930
9930
|
rowSpan: cell.rowSpan - 1
|
|
9931
9931
|
});
|
|
9932
9932
|
newGrid["".concat(row + 1, ".").concat(col)] = {
|
|
@@ -9942,7 +9942,7 @@ function GridEditor(_ref) {
|
|
|
9942
9942
|
function sortObjectByKeys(obj) {
|
|
9943
9943
|
var sortedKeys = Object.keys(obj).sort();
|
|
9944
9944
|
var sortedObj = {};
|
|
9945
|
-
var _iterator = _createForOfIteratorHelper$
|
|
9945
|
+
var _iterator = _createForOfIteratorHelper$c(sortedKeys),
|
|
9946
9946
|
_step;
|
|
9947
9947
|
try {
|
|
9948
9948
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10045,7 +10045,7 @@ function GridEditor(_ref) {
|
|
|
10045
10045
|
var fromKey = "".concat(from.row, ".").concat(from.col);
|
|
10046
10046
|
var toKey = "".concat(to.row, ".").concat(to.col);
|
|
10047
10047
|
if (fromKey === toKey) return;
|
|
10048
|
-
var newGrid = _objectSpread$
|
|
10048
|
+
var newGrid = _objectSpread$x({}, grid);
|
|
10049
10049
|
|
|
10050
10050
|
// Swap the cells
|
|
10051
10051
|
var temp = newGrid[fromKey];
|
|
@@ -10071,7 +10071,7 @@ function GridEditor(_ref) {
|
|
|
10071
10071
|
// console.log("Grid updated:", sequencedGrid);
|
|
10072
10072
|
}
|
|
10073
10073
|
function resetGridLayout() {
|
|
10074
|
-
var newGrid = _objectSpread$
|
|
10074
|
+
var newGrid = _objectSpread$x({}, defaultGrid);
|
|
10075
10075
|
setGrid(newGrid);
|
|
10076
10076
|
onUpdate(newGrid);
|
|
10077
10077
|
}
|
|
@@ -10349,8 +10349,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
|
|
|
10349
10349
|
});
|
|
10350
10350
|
};
|
|
10351
10351
|
|
|
10352
|
-
function ownKeys$
|
|
10353
|
-
function _objectSpread$
|
|
10352
|
+
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; }
|
|
10353
|
+
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; }
|
|
10354
10354
|
var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
10355
10355
|
var item = _ref.item;
|
|
10356
10356
|
_ref.workspace;
|
|
@@ -10373,7 +10373,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
10373
10373
|
}, [widgetUuid, notificationDefs.length]);
|
|
10374
10374
|
function handleNotifToggle(typeKey, value) {
|
|
10375
10375
|
var _window$mainApi2;
|
|
10376
|
-
var updated = _objectSpread$
|
|
10376
|
+
var updated = _objectSpread$w(_objectSpread$w({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
|
|
10377
10377
|
setNotifPrefs(updated);
|
|
10378
10378
|
if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
|
|
10379
10379
|
window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
|
|
@@ -10415,6 +10415,366 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
10415
10415
|
});
|
|
10416
10416
|
};
|
|
10417
10417
|
|
|
10418
|
+
function _createForOfIteratorHelper$b(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$b(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; } } }; }
|
|
10419
|
+
function _unsupportedIterableToArray$b(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$b(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$b(r, a) : void 0; } }
|
|
10420
|
+
function _arrayLikeToArray$b(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; }
|
|
10421
|
+
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; }
|
|
10422
|
+
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; }
|
|
10423
|
+
var DAYS = [{
|
|
10424
|
+
key: "mon",
|
|
10425
|
+
label: "Mon"
|
|
10426
|
+
}, {
|
|
10427
|
+
key: "tue",
|
|
10428
|
+
label: "Tue"
|
|
10429
|
+
}, {
|
|
10430
|
+
key: "wed",
|
|
10431
|
+
label: "Wed"
|
|
10432
|
+
}, {
|
|
10433
|
+
key: "thu",
|
|
10434
|
+
label: "Thu"
|
|
10435
|
+
}, {
|
|
10436
|
+
key: "fri",
|
|
10437
|
+
label: "Fri"
|
|
10438
|
+
}, {
|
|
10439
|
+
key: "sat",
|
|
10440
|
+
label: "Sat"
|
|
10441
|
+
}, {
|
|
10442
|
+
key: "sun",
|
|
10443
|
+
label: "Sun"
|
|
10444
|
+
}];
|
|
10445
|
+
var INTERVAL_UNITS = [{
|
|
10446
|
+
value: "seconds",
|
|
10447
|
+
displayName: "Seconds"
|
|
10448
|
+
}, {
|
|
10449
|
+
value: "minutes",
|
|
10450
|
+
displayName: "Minutes"
|
|
10451
|
+
}, {
|
|
10452
|
+
value: "hours",
|
|
10453
|
+
displayName: "Hours"
|
|
10454
|
+
}];
|
|
10455
|
+
function intervalToMs(value, unit) {
|
|
10456
|
+
var num = parseInt(value, 10);
|
|
10457
|
+
if (isNaN(num) || num <= 0) return null;
|
|
10458
|
+
switch (unit) {
|
|
10459
|
+
case "seconds":
|
|
10460
|
+
return num * 1000;
|
|
10461
|
+
case "minutes":
|
|
10462
|
+
return num * 60 * 1000;
|
|
10463
|
+
case "hours":
|
|
10464
|
+
return num * 60 * 60 * 1000;
|
|
10465
|
+
default:
|
|
10466
|
+
return num * 60 * 1000;
|
|
10467
|
+
}
|
|
10468
|
+
}
|
|
10469
|
+
function msToInterval(ms) {
|
|
10470
|
+
if (!ms) return {
|
|
10471
|
+
value: 5,
|
|
10472
|
+
unit: "minutes"
|
|
10473
|
+
};
|
|
10474
|
+
if (ms >= 3600000 && ms % 3600000 === 0) return {
|
|
10475
|
+
value: ms / 3600000,
|
|
10476
|
+
unit: "hours"
|
|
10477
|
+
};
|
|
10478
|
+
if (ms >= 60000 && ms % 60000 === 0) return {
|
|
10479
|
+
value: ms / 60000,
|
|
10480
|
+
unit: "minutes"
|
|
10481
|
+
};
|
|
10482
|
+
return {
|
|
10483
|
+
value: ms / 1000,
|
|
10484
|
+
unit: "seconds"
|
|
10485
|
+
};
|
|
10486
|
+
}
|
|
10487
|
+
function TaskScheduleEditor(_ref) {
|
|
10488
|
+
var taskDef = _ref.taskDef,
|
|
10489
|
+
taskState = _ref.taskState,
|
|
10490
|
+
widgetId = _ref.widgetId,
|
|
10491
|
+
widgetName = _ref.widgetName,
|
|
10492
|
+
workspaceId = _ref.workspaceId;
|
|
10493
|
+
var _useState = React.useState((taskState === null || taskState === void 0 ? void 0 : taskState.enabled) || false),
|
|
10494
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
10495
|
+
enabled = _useState2[0],
|
|
10496
|
+
setEnabled = _useState2[1];
|
|
10497
|
+
var _useState3 = React.useState((taskState === null || taskState === void 0 ? void 0 : taskState.scheduleType) || "interval"),
|
|
10498
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
10499
|
+
scheduleType = _useState4[0],
|
|
10500
|
+
setScheduleType = _useState4[1];
|
|
10501
|
+
var initialInterval = msToInterval(taskState === null || taskState === void 0 ? void 0 : taskState.intervalMs);
|
|
10502
|
+
var _useState5 = React.useState(initialInterval.value),
|
|
10503
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
10504
|
+
intervalValue = _useState6[0],
|
|
10505
|
+
setIntervalValue = _useState6[1];
|
|
10506
|
+
var _useState7 = React.useState(initialInterval.unit),
|
|
10507
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
10508
|
+
intervalUnit = _useState8[0],
|
|
10509
|
+
setIntervalUnit = _useState8[1];
|
|
10510
|
+
var _useState9 = React.useState((taskState === null || taskState === void 0 ? void 0 : taskState.days) || ["every"]),
|
|
10511
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
10512
|
+
days = _useState0[0],
|
|
10513
|
+
setDays = _useState0[1];
|
|
10514
|
+
var _useState1 = React.useState((taskState === null || taskState === void 0 ? void 0 : taskState.time) || "09:00"),
|
|
10515
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
10516
|
+
time = _useState10[0],
|
|
10517
|
+
setTime = _useState10[1];
|
|
10518
|
+
var hasSchedule = !!taskState;
|
|
10519
|
+
function saveTask() {
|
|
10520
|
+
var _window$mainApi;
|
|
10521
|
+
var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
10522
|
+
if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
|
|
10523
|
+
var payload = _objectSpread$v({
|
|
10524
|
+
widgetId: widgetId,
|
|
10525
|
+
widgetName: widgetName,
|
|
10526
|
+
workspaceId: workspaceId || "",
|
|
10527
|
+
taskKey: taskDef.key,
|
|
10528
|
+
handler: taskDef.handler,
|
|
10529
|
+
displayName: taskDef.displayName,
|
|
10530
|
+
scheduleType: scheduleType,
|
|
10531
|
+
intervalMs: intervalToMs(intervalValue, intervalUnit),
|
|
10532
|
+
days: days,
|
|
10533
|
+
time: time,
|
|
10534
|
+
enabled: enabled
|
|
10535
|
+
}, overrides);
|
|
10536
|
+
window.mainApi.scheduler.registerTask(payload);
|
|
10537
|
+
}
|
|
10538
|
+
function handleToggle(value) {
|
|
10539
|
+
setEnabled(value);
|
|
10540
|
+
if (!hasSchedule && value) {
|
|
10541
|
+
// First enable — register with default schedule
|
|
10542
|
+
saveTask({
|
|
10543
|
+
enabled: true
|
|
10544
|
+
});
|
|
10545
|
+
} else if (hasSchedule) {
|
|
10546
|
+
var taskId = "".concat(widgetId, ":").concat(taskDef.key);
|
|
10547
|
+
if (value) {
|
|
10548
|
+
var _window$mainApi2;
|
|
10549
|
+
(_window$mainApi2 = window.mainApi) === null || _window$mainApi2 === void 0 || (_window$mainApi2 = _window$mainApi2.scheduler) === null || _window$mainApi2 === void 0 || _window$mainApi2.enableTask(taskId);
|
|
10550
|
+
} else {
|
|
10551
|
+
var _window$mainApi3;
|
|
10552
|
+
(_window$mainApi3 = window.mainApi) === null || _window$mainApi3 === void 0 || (_window$mainApi3 = _window$mainApi3.scheduler) === null || _window$mainApi3 === void 0 || _window$mainApi3.disableTask(taskId);
|
|
10553
|
+
}
|
|
10554
|
+
}
|
|
10555
|
+
}
|
|
10556
|
+
function handleScheduleTypeChange(type) {
|
|
10557
|
+
setScheduleType(type);
|
|
10558
|
+
saveTask({
|
|
10559
|
+
scheduleType: type,
|
|
10560
|
+
enabled: true
|
|
10561
|
+
});
|
|
10562
|
+
if (!enabled) setEnabled(true);
|
|
10563
|
+
}
|
|
10564
|
+
function handleIntervalChange(val, unit) {
|
|
10565
|
+
setIntervalValue(val);
|
|
10566
|
+
if (unit) setIntervalUnit(unit);
|
|
10567
|
+
var ms = intervalToMs(val, unit || intervalUnit);
|
|
10568
|
+
if (ms) {
|
|
10569
|
+
saveTask({
|
|
10570
|
+
scheduleType: "interval",
|
|
10571
|
+
intervalMs: ms,
|
|
10572
|
+
enabled: true
|
|
10573
|
+
});
|
|
10574
|
+
if (!enabled) setEnabled(true);
|
|
10575
|
+
}
|
|
10576
|
+
}
|
|
10577
|
+
function handleDayToggle(dayKey) {
|
|
10578
|
+
var newDays;
|
|
10579
|
+
if (dayKey === "every") {
|
|
10580
|
+
newDays = days.includes("every") ? [] : ["every"];
|
|
10581
|
+
} else {
|
|
10582
|
+
// Remove "every" if it's there, toggle the specific day
|
|
10583
|
+
var filtered = days.filter(function (d) {
|
|
10584
|
+
return d !== "every";
|
|
10585
|
+
});
|
|
10586
|
+
if (filtered.includes(dayKey)) {
|
|
10587
|
+
newDays = filtered.filter(function (d) {
|
|
10588
|
+
return d !== dayKey;
|
|
10589
|
+
});
|
|
10590
|
+
} else {
|
|
10591
|
+
newDays = [].concat(_toConsumableArray(filtered), [dayKey]);
|
|
10592
|
+
}
|
|
10593
|
+
if (newDays.length === 0) newDays = ["every"];
|
|
10594
|
+
}
|
|
10595
|
+
setDays(newDays);
|
|
10596
|
+
saveTask({
|
|
10597
|
+
scheduleType: "dayTime",
|
|
10598
|
+
days: newDays,
|
|
10599
|
+
time: time,
|
|
10600
|
+
enabled: true
|
|
10601
|
+
});
|
|
10602
|
+
if (!enabled) setEnabled(true);
|
|
10603
|
+
}
|
|
10604
|
+
function handleTimeChange(newTime) {
|
|
10605
|
+
setTime(newTime);
|
|
10606
|
+
saveTask({
|
|
10607
|
+
scheduleType: "dayTime",
|
|
10608
|
+
days: days,
|
|
10609
|
+
time: newTime,
|
|
10610
|
+
enabled: true
|
|
10611
|
+
});
|
|
10612
|
+
if (!enabled) setEnabled(true);
|
|
10613
|
+
}
|
|
10614
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10615
|
+
className: "border border-white/10 rounded-lg p-4 space-y-3",
|
|
10616
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10617
|
+
className: "flex flex-row items-center justify-between",
|
|
10618
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10619
|
+
className: "flex flex-col",
|
|
10620
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
10621
|
+
className: "text-sm font-medium",
|
|
10622
|
+
children: taskDef.displayName
|
|
10623
|
+
}), taskDef.description && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
10624
|
+
className: "text-xs opacity-50",
|
|
10625
|
+
children: taskDef.description
|
|
10626
|
+
})]
|
|
10627
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Switch, {
|
|
10628
|
+
checked: enabled,
|
|
10629
|
+
onChange: handleToggle
|
|
10630
|
+
})]
|
|
10631
|
+
}), enabled && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10632
|
+
className: "space-y-3 pt-1",
|
|
10633
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10634
|
+
className: "flex flex-row space-x-4",
|
|
10635
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("label", {
|
|
10636
|
+
className: "flex items-center space-x-2 cursor-pointer text-sm",
|
|
10637
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("input", {
|
|
10638
|
+
type: "radio",
|
|
10639
|
+
name: "schedule-type-".concat(taskDef.key),
|
|
10640
|
+
checked: scheduleType === "interval",
|
|
10641
|
+
onChange: function onChange() {
|
|
10642
|
+
return handleScheduleTypeChange("interval");
|
|
10643
|
+
},
|
|
10644
|
+
className: "accent-blue-500"
|
|
10645
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
10646
|
+
children: "Interval"
|
|
10647
|
+
})]
|
|
10648
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("label", {
|
|
10649
|
+
className: "flex items-center space-x-2 cursor-pointer text-sm",
|
|
10650
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("input", {
|
|
10651
|
+
type: "radio",
|
|
10652
|
+
name: "schedule-type-".concat(taskDef.key),
|
|
10653
|
+
checked: scheduleType === "dayTime",
|
|
10654
|
+
onChange: function onChange() {
|
|
10655
|
+
return handleScheduleTypeChange("dayTime");
|
|
10656
|
+
},
|
|
10657
|
+
className: "accent-blue-500"
|
|
10658
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
10659
|
+
children: "Day & Time"
|
|
10660
|
+
})]
|
|
10661
|
+
})]
|
|
10662
|
+
}), scheduleType === "interval" && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10663
|
+
className: "flex flex-row items-end space-x-2",
|
|
10664
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.InputText, {
|
|
10665
|
+
label: "Every",
|
|
10666
|
+
type: "number",
|
|
10667
|
+
value: String(intervalValue),
|
|
10668
|
+
onChange: function onChange(e) {
|
|
10669
|
+
return handleIntervalChange(e.target.value, intervalUnit);
|
|
10670
|
+
},
|
|
10671
|
+
className: "w-24",
|
|
10672
|
+
min: "1"
|
|
10673
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.SelectInput, {
|
|
10674
|
+
value: intervalUnit,
|
|
10675
|
+
onChange: function onChange(val) {
|
|
10676
|
+
return handleIntervalChange(intervalValue, val);
|
|
10677
|
+
},
|
|
10678
|
+
options: INTERVAL_UNITS,
|
|
10679
|
+
className: "w-32"
|
|
10680
|
+
})]
|
|
10681
|
+
}), scheduleType === "dayTime" && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10682
|
+
className: "space-y-3",
|
|
10683
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10684
|
+
className: "flex flex-col space-y-2",
|
|
10685
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
10686
|
+
className: "text-xs opacity-70",
|
|
10687
|
+
children: "Days"
|
|
10688
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10689
|
+
className: "flex flex-row flex-wrap gap-2",
|
|
10690
|
+
children: [DAYS.map(function (day) {
|
|
10691
|
+
var isSelected = days.includes(day.key) || days.includes("every");
|
|
10692
|
+
return /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
10693
|
+
onClick: function onClick() {
|
|
10694
|
+
return handleDayToggle(day.key);
|
|
10695
|
+
},
|
|
10696
|
+
className: "px-2.5 py-1 text-xs rounded border transition-colors ".concat(isSelected ? "bg-blue-600 border-blue-500 text-white" : "border-white/20 text-white/60 hover:border-white/40"),
|
|
10697
|
+
children: day.label
|
|
10698
|
+
}, day.key);
|
|
10699
|
+
}), /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
10700
|
+
onClick: function onClick() {
|
|
10701
|
+
return handleDayToggle("every");
|
|
10702
|
+
},
|
|
10703
|
+
className: "px-2.5 py-1 text-xs rounded border transition-colors ".concat(days.includes("every") ? "bg-blue-600 border-blue-500 text-white" : "border-white/20 text-white/60 hover:border-white/40"),
|
|
10704
|
+
children: "Every day"
|
|
10705
|
+
})]
|
|
10706
|
+
})]
|
|
10707
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.InputText, {
|
|
10708
|
+
label: "Time",
|
|
10709
|
+
type: "time",
|
|
10710
|
+
value: time,
|
|
10711
|
+
onChange: function onChange(e) {
|
|
10712
|
+
return handleTimeChange(e.target.value);
|
|
10713
|
+
},
|
|
10714
|
+
className: "w-36"
|
|
10715
|
+
})]
|
|
10716
|
+
}), (taskState === null || taskState === void 0 ? void 0 : taskState.lastFiredAt) && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10717
|
+
className: "text-xs opacity-40",
|
|
10718
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
10719
|
+
icon: "clock",
|
|
10720
|
+
className: "h-3 w-3 mr-1"
|
|
10721
|
+
}), "Last fired: ", new Date(taskState.lastFiredAt).toLocaleString(), taskState.fireCount > 0 && " (".concat(taskState.fireCount, " total)")]
|
|
10722
|
+
})]
|
|
10723
|
+
})]
|
|
10724
|
+
});
|
|
10725
|
+
}
|
|
10726
|
+
var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
10727
|
+
var item = _ref2.item,
|
|
10728
|
+
workspace = _ref2.workspace;
|
|
10729
|
+
_ref2.onUpdate;
|
|
10730
|
+
var widgetConfig = item ? ComponentManager.config(item.component, item) : null;
|
|
10731
|
+
var scheduledTaskDefs = (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.scheduledTasks) || [];
|
|
10732
|
+
var widgetUuid = (item === null || item === void 0 ? void 0 : item.uuid) || (item === null || item === void 0 ? void 0 : item.uuidString);
|
|
10733
|
+
var widgetName = item === null || item === void 0 ? void 0 : item.component;
|
|
10734
|
+
var workspaceId = workspace === null || workspace === void 0 ? void 0 : workspace.id;
|
|
10735
|
+
var _useState11 = React.useState({}),
|
|
10736
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
10737
|
+
taskStates = _useState12[0],
|
|
10738
|
+
setTaskStates = _useState12[1];
|
|
10739
|
+
React.useEffect(function () {
|
|
10740
|
+
var _window$mainApi4;
|
|
10741
|
+
if (scheduledTaskDefs.length > 0 && widgetUuid && (_window$mainApi4 = window.mainApi) !== null && _window$mainApi4 !== void 0 && (_window$mainApi4 = _window$mainApi4.scheduler) !== null && _window$mainApi4 !== void 0 && _window$mainApi4.getTasks) {
|
|
10742
|
+
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
10743
|
+
var stateMap = {};
|
|
10744
|
+
var _iterator = _createForOfIteratorHelper$b(tasks || []),
|
|
10745
|
+
_step;
|
|
10746
|
+
try {
|
|
10747
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
10748
|
+
var task = _step.value;
|
|
10749
|
+
stateMap[task.taskKey] = task;
|
|
10750
|
+
}
|
|
10751
|
+
} catch (err) {
|
|
10752
|
+
_iterator.e(err);
|
|
10753
|
+
} finally {
|
|
10754
|
+
_iterator.f();
|
|
10755
|
+
}
|
|
10756
|
+
setTaskStates(stateMap);
|
|
10757
|
+
});
|
|
10758
|
+
}
|
|
10759
|
+
}, [widgetUuid, scheduledTaskDefs.length]);
|
|
10760
|
+
if (!item || scheduledTaskDefs.length === 0) return null;
|
|
10761
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
10762
|
+
className: "flex flex-col flex-1 min-h-0 overflow-y-auto p-6 space-y-4",
|
|
10763
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.SubHeading3, {
|
|
10764
|
+
title: "Schedule",
|
|
10765
|
+
padding: false
|
|
10766
|
+
}), scheduledTaskDefs.map(function (taskDef) {
|
|
10767
|
+
return /*#__PURE__*/jsxRuntime.jsx(TaskScheduleEditor, {
|
|
10768
|
+
taskDef: taskDef,
|
|
10769
|
+
taskState: taskStates[taskDef.key] || null,
|
|
10770
|
+
widgetId: widgetUuid,
|
|
10771
|
+
widgetName: widgetName,
|
|
10772
|
+
workspaceId: workspaceId
|
|
10773
|
+
}, taskDef.key);
|
|
10774
|
+
})]
|
|
10775
|
+
});
|
|
10776
|
+
};
|
|
10777
|
+
|
|
10418
10778
|
var PanelCode = function PanelCode(_ref) {
|
|
10419
10779
|
var workspace = _ref.workspace,
|
|
10420
10780
|
onUpdate = _ref.onUpdate,
|
|
@@ -10748,9 +11108,10 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
|
|
|
10748
11108
|
};
|
|
10749
11109
|
|
|
10750
11110
|
var getSections = function getSections(item) {
|
|
10751
|
-
var _widgetConfig$notific;
|
|
11111
|
+
var _widgetConfig$notific, _widgetConfig$schedul;
|
|
10752
11112
|
var widgetConfig = item ? ComponentManager.config(item.component, item) : null;
|
|
10753
11113
|
var hasNotifications = (widgetConfig === null || widgetConfig === void 0 || (_widgetConfig$notific = widgetConfig.notifications) === null || _widgetConfig$notific === void 0 ? void 0 : _widgetConfig$notific.length) > 0;
|
|
11114
|
+
var hasScheduledTasks = (widgetConfig === null || widgetConfig === void 0 || (_widgetConfig$schedul = widgetConfig.scheduledTasks) === null || _widgetConfig$schedul === void 0 ? void 0 : _widgetConfig$schedul.length) > 0;
|
|
10754
11115
|
return [{
|
|
10755
11116
|
key: "edit",
|
|
10756
11117
|
label: "Settings",
|
|
@@ -10763,6 +11124,10 @@ var getSections = function getSections(item) {
|
|
|
10763
11124
|
key: "notifications",
|
|
10764
11125
|
label: "Notifications",
|
|
10765
11126
|
icon: "bell"
|
|
11127
|
+
}] : []), _toConsumableArray(hasScheduledTasks ? [{
|
|
11128
|
+
key: "schedule",
|
|
11129
|
+
label: "Schedule",
|
|
11130
|
+
icon: "clock"
|
|
10766
11131
|
}] : []), _toConsumableArray((item === null || item === void 0 ? void 0 : item.workspace) !== "layout" ? [{
|
|
10767
11132
|
key: "handlers",
|
|
10768
11133
|
label: "Listeners",
|
|
@@ -10881,6 +11246,10 @@ var LayoutBuilderConfigModal = function LayoutBuilderConfigModal(_ref) {
|
|
|
10881
11246
|
item: itemSelected,
|
|
10882
11247
|
onUpdate: handleEditChange,
|
|
10883
11248
|
workspace: workspaceSelected
|
|
11249
|
+
}), activeSection === "schedule" && /*#__PURE__*/jsxRuntime.jsx(PanelEditItemSchedule, {
|
|
11250
|
+
item: itemSelected,
|
|
11251
|
+
onUpdate: handleEditChange,
|
|
11252
|
+
workspace: workspaceSelected
|
|
10884
11253
|
}), activeSection === "handlers" && /*#__PURE__*/jsxRuntime.jsx(PanelEditItemHandlers, {
|
|
10885
11254
|
item: itemSelected,
|
|
10886
11255
|
onUpdate: handleEditChange,
|
|
@@ -13207,9 +13576,9 @@ var getUserConfigurableProviders = function getUserConfigurableProviders(provide
|
|
|
13207
13576
|
});
|
|
13208
13577
|
};
|
|
13209
13578
|
|
|
13210
|
-
function _createForOfIteratorHelper$
|
|
13211
|
-
function _unsupportedIterableToArray$
|
|
13212
|
-
function _arrayLikeToArray$
|
|
13579
|
+
function _createForOfIteratorHelper$a(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$a(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; } } }; }
|
|
13580
|
+
function _unsupportedIterableToArray$a(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$a(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$a(r, a) : void 0; } }
|
|
13581
|
+
function _arrayLikeToArray$a(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; }
|
|
13213
13582
|
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; }
|
|
13214
13583
|
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; }
|
|
13215
13584
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -13476,11 +13845,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
13476
13845
|
|
|
13477
13846
|
// Flatten all widgets from all packages for the widget list
|
|
13478
13847
|
flatWidgets = [];
|
|
13479
|
-
_iterator = _createForOfIteratorHelper$
|
|
13848
|
+
_iterator = _createForOfIteratorHelper$a(result.packages || []);
|
|
13480
13849
|
try {
|
|
13481
13850
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
13482
13851
|
pkg = _step.value;
|
|
13483
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
13852
|
+
_iterator2 = _createForOfIteratorHelper$a(pkg.widgets || []);
|
|
13484
13853
|
try {
|
|
13485
13854
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
13486
13855
|
widget = _step2.value;
|
|
@@ -15036,9 +15405,9 @@ var ProviderBadge = function ProviderBadge(_ref) {
|
|
|
15036
15405
|
});
|
|
15037
15406
|
};
|
|
15038
15407
|
|
|
15039
|
-
function _createForOfIteratorHelper$
|
|
15040
|
-
function _unsupportedIterableToArray$
|
|
15041
|
-
function _arrayLikeToArray$
|
|
15408
|
+
function _createForOfIteratorHelper$9(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$9(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; } } }; }
|
|
15409
|
+
function _unsupportedIterableToArray$9(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$9(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$9(r, a) : void 0; } }
|
|
15410
|
+
function _arrayLikeToArray$9(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; }
|
|
15042
15411
|
var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
15043
15412
|
var item = _ref.item,
|
|
15044
15413
|
widget = _ref.widget,
|
|
@@ -15082,7 +15451,7 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
15082
15451
|
var el = headerRef.current;
|
|
15083
15452
|
if (!el) return;
|
|
15084
15453
|
var observer = new ResizeObserver(function (entries) {
|
|
15085
|
-
var _iterator = _createForOfIteratorHelper$
|
|
15454
|
+
var _iterator = _createForOfIteratorHelper$9(entries),
|
|
15086
15455
|
_step;
|
|
15087
15456
|
try {
|
|
15088
15457
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -19874,9 +20243,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
|
|
|
19874
20243
|
var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
|
|
19875
20244
|
var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
|
|
19876
20245
|
|
|
19877
|
-
function _createForOfIteratorHelper$
|
|
19878
|
-
function _unsupportedIterableToArray$
|
|
19879
|
-
function _arrayLikeToArray$
|
|
20246
|
+
function _createForOfIteratorHelper$8(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$8(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; } } }; }
|
|
20247
|
+
function _unsupportedIterableToArray$8(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$8(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$8(r, a) : void 0; } }
|
|
20248
|
+
function _arrayLikeToArray$8(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; }
|
|
19880
20249
|
function ownKeys$l(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19881
20250
|
function _objectSpread$l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$l(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19882
20251
|
var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
|
|
@@ -20440,7 +20809,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
20440
20809
|
return selectable["delete"](cn);
|
|
20441
20810
|
});
|
|
20442
20811
|
var resolved = new Set();
|
|
20443
|
-
var _iterator = _createForOfIteratorHelper$
|
|
20812
|
+
var _iterator = _createForOfIteratorHelper$8(selectable),
|
|
20444
20813
|
_step;
|
|
20445
20814
|
try {
|
|
20446
20815
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -22580,9 +22949,9 @@ function isWidgetResolvable(componentKey) {
|
|
|
22580
22949
|
|
|
22581
22950
|
function ownKeys$k(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; }
|
|
22582
22951
|
function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22583
|
-
function _createForOfIteratorHelper$
|
|
22584
|
-
function _unsupportedIterableToArray$
|
|
22585
|
-
function _arrayLikeToArray$
|
|
22952
|
+
function _createForOfIteratorHelper$7(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$7(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; } } }; }
|
|
22953
|
+
function _unsupportedIterableToArray$7(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$7(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$7(r, a) : void 0; } }
|
|
22954
|
+
function _arrayLikeToArray$7(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; }
|
|
22586
22955
|
/**
|
|
22587
22956
|
* The model for all layout components used primarily in the renderLayout method
|
|
22588
22957
|
* @param {Object} layoutItem an object containing various attributes of the layout item
|
|
@@ -22594,7 +22963,7 @@ function _arrayLikeToArray$6(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
22594
22963
|
function sortObjectByKeys(obj) {
|
|
22595
22964
|
var sortedKeys = Object.keys(obj).sort();
|
|
22596
22965
|
var sortedObj = {};
|
|
22597
|
-
var _iterator = _createForOfIteratorHelper$
|
|
22966
|
+
var _iterator = _createForOfIteratorHelper$7(sortedKeys),
|
|
22598
22967
|
_step;
|
|
22599
22968
|
try {
|
|
22600
22969
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -23243,6 +23612,13 @@ var ComponentConfigModel = function ComponentConfigModel() {
|
|
|
23243
23612
|
* Each entry: { key, displayName, description, defaultEnabled }
|
|
23244
23613
|
*/
|
|
23245
23614
|
obj.notifications = "notifications" in obj ? obj["notifications"] : [];
|
|
23615
|
+
|
|
23616
|
+
/**
|
|
23617
|
+
* scheduledTasks
|
|
23618
|
+
* Scheduled task handlers this widget exposes.
|
|
23619
|
+
* Each entry: { key, handler, displayName, description }
|
|
23620
|
+
*/
|
|
23621
|
+
obj.scheduledTasks = "scheduledTasks" in obj ? obj["scheduledTasks"] : [];
|
|
23246
23622
|
return obj;
|
|
23247
23623
|
};
|
|
23248
23624
|
|
|
@@ -25852,9 +26228,9 @@ var useDashboard = function useDashboard() {
|
|
|
25852
26228
|
});
|
|
25853
26229
|
};
|
|
25854
26230
|
|
|
25855
|
-
function _createForOfIteratorHelper$
|
|
25856
|
-
function _unsupportedIterableToArray$
|
|
25857
|
-
function _arrayLikeToArray$
|
|
26231
|
+
function _createForOfIteratorHelper$6(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$6(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; } } }; }
|
|
26232
|
+
function _unsupportedIterableToArray$6(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$6(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$6(r, a) : void 0; } }
|
|
26233
|
+
function _arrayLikeToArray$6(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; }
|
|
25858
26234
|
|
|
25859
26235
|
/**
|
|
25860
26236
|
* useWidgetProviders Hook
|
|
@@ -25905,7 +26281,7 @@ var useWidgetProviders = function useWidgetProviders() {
|
|
|
25905
26281
|
// 1. Widget-level: stored directly on the layout item by handleSelectProvider
|
|
25906
26282
|
// 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
|
|
25907
26283
|
var providers = {};
|
|
25908
|
-
var _iterator = _createForOfIteratorHelper$
|
|
26284
|
+
var _iterator = _createForOfIteratorHelper$6(providerDeclarations),
|
|
25909
26285
|
_step;
|
|
25910
26286
|
try {
|
|
25911
26287
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -26640,6 +27016,146 @@ var useNotifications = function useNotifications() {
|
|
|
26640
27016
|
};
|
|
26641
27017
|
};
|
|
26642
27018
|
|
|
27019
|
+
function _createForOfIteratorHelper$5(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$5(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; } } }; }
|
|
27020
|
+
function _unsupportedIterableToArray$5(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$5(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$5(r, a) : void 0; } }
|
|
27021
|
+
function _arrayLikeToArray$5(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; }
|
|
27022
|
+
|
|
27023
|
+
/**
|
|
27024
|
+
* useScheduler Hook
|
|
27025
|
+
*
|
|
27026
|
+
* Provides scheduled task functionality for widgets.
|
|
27027
|
+
* The widget provides handler functions keyed by the task handler names
|
|
27028
|
+
* declared in the widget's .dash.js config (scheduledTasks[].handler).
|
|
27029
|
+
*
|
|
27030
|
+
* Tasks are registered/configured via the settings panel (PanelEditItemSchedule).
|
|
27031
|
+
* This hook listens for task-fired events and calls the matching handler.
|
|
27032
|
+
*
|
|
27033
|
+
* @param {Object} handlers - { [handlerName]: async () => void }
|
|
27034
|
+
* @returns {Object}
|
|
27035
|
+
* - tasks: TaskEntry[] — current schedule state
|
|
27036
|
+
* - lastFire: { taskId, taskKey, firedAt } | null — latest fire event
|
|
27037
|
+
* - pendingResults: fires that happened while widget was unmounted
|
|
27038
|
+
*/
|
|
27039
|
+
var useScheduler = function useScheduler() {
|
|
27040
|
+
var _workspaceContext$wor;
|
|
27041
|
+
var handlers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
27042
|
+
var widgetContext = React.useContext(WidgetContext);
|
|
27043
|
+
var workspaceContext = React.useContext(WorkspaceContext);
|
|
27044
|
+
if (!widgetContext) {
|
|
27045
|
+
throw new Error("useScheduler must be used within a Widget component. " + "Make sure your component is rendered inside <Widget> and within a DashboardWrapper.");
|
|
27046
|
+
}
|
|
27047
|
+
var _ref = widgetContext.widgetData || {},
|
|
27048
|
+
componentName = _ref.componentName,
|
|
27049
|
+
uuid = _ref.uuid,
|
|
27050
|
+
scheduledTasks = _ref.scheduledTasks;
|
|
27051
|
+
var widgetId = uuid;
|
|
27052
|
+
workspaceContext === null || workspaceContext === void 0 || (_workspaceContext$wor = workspaceContext.workspaceData) === null || _workspaceContext$wor === void 0 ? void 0 : _workspaceContext$wor.id;
|
|
27053
|
+
var _useState = React.useState([]),
|
|
27054
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
27055
|
+
tasks = _useState2[0],
|
|
27056
|
+
setTasks = _useState2[1];
|
|
27057
|
+
var _useState3 = React.useState(null),
|
|
27058
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
27059
|
+
lastFire = _useState4[0],
|
|
27060
|
+
setLastFire = _useState4[1];
|
|
27061
|
+
var _useState5 = React.useState([]),
|
|
27062
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
27063
|
+
pendingResults = _useState6[0],
|
|
27064
|
+
setPendingResults = _useState6[1];
|
|
27065
|
+
|
|
27066
|
+
// Keep handlers in a ref so the event listener always has the latest
|
|
27067
|
+
var handlersRef = React.useRef(handlers);
|
|
27068
|
+
handlersRef.current = handlers;
|
|
27069
|
+
|
|
27070
|
+
// Validate handler keys against widget's declared scheduledTasks
|
|
27071
|
+
React.useEffect(function () {
|
|
27072
|
+
if (!scheduledTasks || scheduledTasks.length === 0) return;
|
|
27073
|
+
var declaredHandlers = scheduledTasks.map(function (t) {
|
|
27074
|
+
return t.handler;
|
|
27075
|
+
});
|
|
27076
|
+
for (var _i = 0, _Object$keys = Object.keys(handlers); _i < _Object$keys.length; _i++) {
|
|
27077
|
+
var key = _Object$keys[_i];
|
|
27078
|
+
if (!declaredHandlers.includes(key)) ;
|
|
27079
|
+
}
|
|
27080
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27081
|
+
}, [componentName, scheduledTasks]);
|
|
27082
|
+
|
|
27083
|
+
// Load existing tasks and pending results on mount
|
|
27084
|
+
React.useEffect(function () {
|
|
27085
|
+
var _window$mainApi;
|
|
27086
|
+
if (!widgetId || !((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && _window$mainApi.scheduler)) return;
|
|
27087
|
+
window.mainApi.scheduler.getTasks(widgetId).then(function (existingTasks) {
|
|
27088
|
+
setTasks(existingTasks || []);
|
|
27089
|
+
});
|
|
27090
|
+
window.mainApi.scheduler.getPending(widgetId).then(function (pending) {
|
|
27091
|
+
if (pending && pending.length > 0) {
|
|
27092
|
+
setPendingResults(pending);
|
|
27093
|
+
// Call handlers for each pending result
|
|
27094
|
+
var _iterator = _createForOfIteratorHelper$5(pending),
|
|
27095
|
+
_step;
|
|
27096
|
+
try {
|
|
27097
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
27098
|
+
var result = _step.value;
|
|
27099
|
+
var handlerFn = handlersRef.current[result.taskKey];
|
|
27100
|
+
if (handlerFn) {
|
|
27101
|
+
try {
|
|
27102
|
+
handlerFn();
|
|
27103
|
+
} catch (err) {
|
|
27104
|
+
}
|
|
27105
|
+
}
|
|
27106
|
+
}
|
|
27107
|
+
} catch (err) {
|
|
27108
|
+
_iterator.e(err);
|
|
27109
|
+
} finally {
|
|
27110
|
+
_iterator.f();
|
|
27111
|
+
}
|
|
27112
|
+
}
|
|
27113
|
+
});
|
|
27114
|
+
}, [widgetId]);
|
|
27115
|
+
|
|
27116
|
+
// Subscribe to task-fired events
|
|
27117
|
+
React.useEffect(function () {
|
|
27118
|
+
var _window$mainApi2;
|
|
27119
|
+
if (!widgetId || !((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.scheduler) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.onTaskFired)) return;
|
|
27120
|
+
var removeListener = window.mainApi.scheduler.onTaskFired(function (data) {
|
|
27121
|
+
if (data.widgetId !== widgetId) return;
|
|
27122
|
+
setLastFire({
|
|
27123
|
+
taskId: data.taskId,
|
|
27124
|
+
taskKey: data.taskKey,
|
|
27125
|
+
firedAt: data.firedAt
|
|
27126
|
+
});
|
|
27127
|
+
|
|
27128
|
+
// Refresh tasks to get updated lastFiredAt / fireCount
|
|
27129
|
+
window.mainApi.scheduler.getTasks(widgetId).then(function (updated) {
|
|
27130
|
+
setTasks(updated || []);
|
|
27131
|
+
});
|
|
27132
|
+
|
|
27133
|
+
// Call the matching handler
|
|
27134
|
+
var handlerFn = handlersRef.current[data.taskKey];
|
|
27135
|
+
if (handlerFn) {
|
|
27136
|
+
try {
|
|
27137
|
+
handlerFn();
|
|
27138
|
+
} catch (err) {
|
|
27139
|
+
}
|
|
27140
|
+
}
|
|
27141
|
+
});
|
|
27142
|
+
return removeListener;
|
|
27143
|
+
}, [widgetId]);
|
|
27144
|
+
var refreshTasks = React.useCallback(function () {
|
|
27145
|
+
var _window$mainApi3;
|
|
27146
|
+
if (!widgetId || !((_window$mainApi3 = window.mainApi) !== null && _window$mainApi3 !== void 0 && _window$mainApi3.scheduler)) return;
|
|
27147
|
+
window.mainApi.scheduler.getTasks(widgetId).then(function (updated) {
|
|
27148
|
+
setTasks(updated || []);
|
|
27149
|
+
});
|
|
27150
|
+
}, [widgetId]);
|
|
27151
|
+
return {
|
|
27152
|
+
tasks: tasks,
|
|
27153
|
+
lastFire: lastFire,
|
|
27154
|
+
pendingResults: pendingResults,
|
|
27155
|
+
refreshTasks: refreshTasks
|
|
27156
|
+
};
|
|
27157
|
+
};
|
|
27158
|
+
|
|
26643
27159
|
function ownKeys$h(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; }
|
|
26644
27160
|
function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26645
27161
|
var PreviewComponentsPane = function PreviewComponentsPane(_ref) {
|
|
@@ -45464,6 +45980,7 @@ exports.useMcpProvider = useMcpProvider;
|
|
|
45464
45980
|
exports.useNotifications = useNotifications;
|
|
45465
45981
|
exports.useProvider = useProvider;
|
|
45466
45982
|
exports.useProviderClient = useProviderClient;
|
|
45983
|
+
exports.useScheduler = useScheduler;
|
|
45467
45984
|
exports.useWidgetEvents = useWidgetEvents;
|
|
45468
45985
|
exports.useWidgetProviders = useWidgetProviders;
|
|
45469
45986
|
exports.validateCellMerge = validateCellMerge;
|