@trops/dash-core 0.1.37 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +369 -72
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +369 -72
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -2636,9 +2636,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
2636
2636
|
|
|
2637
2637
|
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; }
|
|
2638
2638
|
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; }
|
|
2639
|
-
function _createForOfIteratorHelper$
|
|
2640
|
-
function _unsupportedIterableToArray$
|
|
2641
|
-
function _arrayLikeToArray$
|
|
2639
|
+
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; } } }; }
|
|
2640
|
+
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; } }
|
|
2641
|
+
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; }
|
|
2642
2642
|
/**
|
|
2643
2643
|
* Layout template definitions for the dashboard template picker.
|
|
2644
2644
|
*
|
|
@@ -2874,7 +2874,7 @@ function createLayoutFromTemplate(template) {
|
|
|
2874
2874
|
cols: template.cols,
|
|
2875
2875
|
gap: "gap-2"
|
|
2876
2876
|
};
|
|
2877
|
-
var _iterator = _createForOfIteratorHelper$
|
|
2877
|
+
var _iterator = _createForOfIteratorHelper$9(template.cells),
|
|
2878
2878
|
_step;
|
|
2879
2879
|
try {
|
|
2880
2880
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -4386,9 +4386,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
4386
4386
|
};
|
|
4387
4387
|
|
|
4388
4388
|
var _excluded$5 = ["rows", "cols"];
|
|
4389
|
-
function _createForOfIteratorHelper$
|
|
4390
|
-
function _unsupportedIterableToArray$
|
|
4391
|
-
function _arrayLikeToArray$
|
|
4389
|
+
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; } } }; }
|
|
4390
|
+
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; } }
|
|
4391
|
+
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; }
|
|
4392
4392
|
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; }
|
|
4393
4393
|
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; }
|
|
4394
4394
|
var defaultGrid = {
|
|
@@ -4541,7 +4541,7 @@ function GridEditor(_ref) {
|
|
|
4541
4541
|
function sortObjectByKeys(obj) {
|
|
4542
4542
|
var sortedKeys = Object.keys(obj).sort();
|
|
4543
4543
|
var sortedObj = {};
|
|
4544
|
-
var _iterator = _createForOfIteratorHelper$
|
|
4544
|
+
var _iterator = _createForOfIteratorHelper$8(sortedKeys),
|
|
4545
4545
|
_step;
|
|
4546
4546
|
try {
|
|
4547
4547
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -7080,9 +7080,9 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
7080
7080
|
});
|
|
7081
7081
|
};
|
|
7082
7082
|
|
|
7083
|
-
function _createForOfIteratorHelper$
|
|
7084
|
-
function _unsupportedIterableToArray$
|
|
7085
|
-
function _arrayLikeToArray$
|
|
7083
|
+
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; } } }; }
|
|
7084
|
+
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; } }
|
|
7085
|
+
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; }
|
|
7086
7086
|
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; }
|
|
7087
7087
|
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; }
|
|
7088
7088
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -7291,11 +7291,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7291
7291
|
|
|
7292
7292
|
// Flatten all widgets from all packages for the widget list
|
|
7293
7293
|
flatWidgets = [];
|
|
7294
|
-
_iterator = _createForOfIteratorHelper$
|
|
7294
|
+
_iterator = _createForOfIteratorHelper$7(result.packages || []);
|
|
7295
7295
|
try {
|
|
7296
7296
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
7297
7297
|
pkg = _step.value;
|
|
7298
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
7298
|
+
_iterator2 = _createForOfIteratorHelper$7(pkg.widgets || []);
|
|
7299
7299
|
try {
|
|
7300
7300
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
7301
7301
|
widget = _step2.value;
|
|
@@ -8461,9 +8461,9 @@ var ProviderBadge = function ProviderBadge(_ref) {
|
|
|
8461
8461
|
});
|
|
8462
8462
|
};
|
|
8463
8463
|
|
|
8464
|
-
function _createForOfIteratorHelper$
|
|
8465
|
-
function _unsupportedIterableToArray$
|
|
8466
|
-
function _arrayLikeToArray$
|
|
8464
|
+
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; } } }; }
|
|
8465
|
+
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; } }
|
|
8466
|
+
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; }
|
|
8467
8467
|
var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
8468
8468
|
var item = _ref.item,
|
|
8469
8469
|
widget = _ref.widget,
|
|
@@ -8507,7 +8507,7 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
8507
8507
|
var el = headerRef.current;
|
|
8508
8508
|
if (!el) return;
|
|
8509
8509
|
var observer = new ResizeObserver(function (entries) {
|
|
8510
|
-
var _iterator = _createForOfIteratorHelper$
|
|
8510
|
+
var _iterator = _createForOfIteratorHelper$6(entries),
|
|
8511
8511
|
_step;
|
|
8512
8512
|
try {
|
|
8513
8513
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13217,9 +13217,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
|
|
|
13217
13217
|
var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
|
|
13218
13218
|
var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
|
|
13219
13219
|
|
|
13220
|
-
function _createForOfIteratorHelper$
|
|
13221
|
-
function _unsupportedIterableToArray$
|
|
13222
|
-
function _arrayLikeToArray$
|
|
13220
|
+
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; } } }; }
|
|
13221
|
+
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; } }
|
|
13222
|
+
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; }
|
|
13223
13223
|
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; }
|
|
13224
13224
|
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; }
|
|
13225
13225
|
var DraggableCellBody = function DraggableCellBody(_ref) {
|
|
@@ -13565,7 +13565,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
13565
13565
|
return selectable["delete"](cn);
|
|
13566
13566
|
});
|
|
13567
13567
|
var resolved = new Set();
|
|
13568
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13568
|
+
var _iterator = _createForOfIteratorHelper$5(selectable),
|
|
13569
13569
|
_step;
|
|
13570
13570
|
try {
|
|
13571
13571
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -15627,9 +15627,9 @@ function isWidgetResolvable(componentKey) {
|
|
|
15627
15627
|
|
|
15628
15628
|
function ownKeys$g(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; }
|
|
15629
15629
|
function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15630
|
-
function _createForOfIteratorHelper$
|
|
15631
|
-
function _unsupportedIterableToArray$
|
|
15632
|
-
function _arrayLikeToArray$
|
|
15630
|
+
function _createForOfIteratorHelper$4(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$4(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; } } }; }
|
|
15631
|
+
function _unsupportedIterableToArray$4(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$4(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$4(r, a) : void 0; } }
|
|
15632
|
+
function _arrayLikeToArray$4(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; }
|
|
15633
15633
|
/**
|
|
15634
15634
|
* The model for all layout components used primarily in the renderLayout method
|
|
15635
15635
|
* @param {Object} layoutItem an object containing various attributes of the layout item
|
|
@@ -15641,7 +15641,7 @@ function _arrayLikeToArray$3(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
15641
15641
|
function sortObjectByKeys(obj) {
|
|
15642
15642
|
var sortedKeys = Object.keys(obj).sort();
|
|
15643
15643
|
var sortedObj = {};
|
|
15644
|
-
var _iterator = _createForOfIteratorHelper$
|
|
15644
|
+
var _iterator = _createForOfIteratorHelper$4(sortedKeys),
|
|
15645
15645
|
_step;
|
|
15646
15646
|
try {
|
|
15647
15647
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -18784,9 +18784,9 @@ var useDashboard = function useDashboard() {
|
|
|
18784
18784
|
});
|
|
18785
18785
|
};
|
|
18786
18786
|
|
|
18787
|
-
function _createForOfIteratorHelper$
|
|
18788
|
-
function _unsupportedIterableToArray$
|
|
18789
|
-
function _arrayLikeToArray$
|
|
18787
|
+
function _createForOfIteratorHelper$3(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$3(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; } } }; }
|
|
18788
|
+
function _unsupportedIterableToArray$3(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$3(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$3(r, a) : void 0; } }
|
|
18789
|
+
function _arrayLikeToArray$3(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; }
|
|
18790
18790
|
|
|
18791
18791
|
/**
|
|
18792
18792
|
* useWidgetProviders Hook
|
|
@@ -18837,7 +18837,7 @@ var useWidgetProviders = function useWidgetProviders() {
|
|
|
18837
18837
|
// 1. Widget-level: stored directly on the layout item by handleSelectProvider
|
|
18838
18838
|
// 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
|
|
18839
18839
|
var providers = {};
|
|
18840
|
-
var _iterator = _createForOfIteratorHelper$
|
|
18840
|
+
var _iterator = _createForOfIteratorHelper$3(providerDeclarations),
|
|
18841
18841
|
_step;
|
|
18842
18842
|
try {
|
|
18843
18843
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -21642,9 +21642,9 @@ var resolveIcon = function resolveIcon(iconName) {
|
|
|
21642
21642
|
return FALLBACK;
|
|
21643
21643
|
};
|
|
21644
21644
|
|
|
21645
|
-
function _createForOfIteratorHelper$
|
|
21646
|
-
function _unsupportedIterableToArray$
|
|
21647
|
-
function _arrayLikeToArray$
|
|
21645
|
+
function _createForOfIteratorHelper$2(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(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; } } }; }
|
|
21646
|
+
function _unsupportedIterableToArray$2(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$2(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$2(r, a) : void 0; } }
|
|
21647
|
+
function _arrayLikeToArray$2(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; }
|
|
21648
21648
|
/**
|
|
21649
21649
|
* Validation utilities for grid-first dashboard architecture
|
|
21650
21650
|
*
|
|
@@ -21883,7 +21883,7 @@ var validateCellMerge = function validateCellMerge(cellNumbers, grid) {
|
|
|
21883
21883
|
|
|
21884
21884
|
// Validate each cell
|
|
21885
21885
|
var cells = [];
|
|
21886
|
-
var _iterator = _createForOfIteratorHelper$
|
|
21886
|
+
var _iterator = _createForOfIteratorHelper$2(cellNumbers),
|
|
21887
21887
|
_step;
|
|
21888
21888
|
try {
|
|
21889
21889
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28281,9 +28281,9 @@ var RegistryPackageDetail = function RegistryPackageDetail(_ref) {
|
|
|
28281
28281
|
});
|
|
28282
28282
|
};
|
|
28283
28283
|
|
|
28284
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(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; } } }; }
|
|
28285
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
28286
|
-
function _arrayLikeToArray(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; }
|
|
28284
|
+
function _createForOfIteratorHelper$1(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(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; } } }; }
|
|
28285
|
+
function _unsupportedIterableToArray$1(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$1(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$1(r, a) : void 0; } }
|
|
28286
|
+
function _arrayLikeToArray$1(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; }
|
|
28287
28287
|
|
|
28288
28288
|
/**
|
|
28289
28289
|
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
@@ -28358,11 +28358,11 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
28358
28358
|
|
|
28359
28359
|
// Flatten packages into widget entries
|
|
28360
28360
|
widgets = [];
|
|
28361
|
-
_iterator = _createForOfIteratorHelper(pkgs);
|
|
28361
|
+
_iterator = _createForOfIteratorHelper$1(pkgs);
|
|
28362
28362
|
try {
|
|
28363
28363
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
28364
28364
|
pkg = _step.value;
|
|
28365
|
-
_iterator2 = _createForOfIteratorHelper(pkg.widgets || []);
|
|
28365
|
+
_iterator2 = _createForOfIteratorHelper$1(pkg.widgets || []);
|
|
28366
28366
|
try {
|
|
28367
28367
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
28368
28368
|
widget = _step2.value;
|
|
@@ -28638,6 +28638,71 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
28638
28638
|
});
|
|
28639
28639
|
};
|
|
28640
28640
|
|
|
28641
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(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; } } }; }
|
|
28642
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
28643
|
+
function _arrayLikeToArray(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; }
|
|
28644
|
+
|
|
28645
|
+
/**
|
|
28646
|
+
* Walk a workspace layout array (possibly nested via LayoutGridContainer
|
|
28647
|
+
* children) and collect every `item.component` value.
|
|
28648
|
+
*/
|
|
28649
|
+
function collectComponentsFromLayout(layout) {
|
|
28650
|
+
var components = [];
|
|
28651
|
+
if (!Array.isArray(layout)) return components;
|
|
28652
|
+
var _iterator = _createForOfIteratorHelper(layout),
|
|
28653
|
+
_step;
|
|
28654
|
+
try {
|
|
28655
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
28656
|
+
var item = _step.value;
|
|
28657
|
+
if (item.component) components.push(item.component);
|
|
28658
|
+
if (Array.isArray(item.children)) {
|
|
28659
|
+
components.push.apply(components, _toConsumableArray(collectComponentsFromLayout(item.children)));
|
|
28660
|
+
}
|
|
28661
|
+
}
|
|
28662
|
+
} catch (err) {
|
|
28663
|
+
_iterator.e(err);
|
|
28664
|
+
} finally {
|
|
28665
|
+
_iterator.f();
|
|
28666
|
+
}
|
|
28667
|
+
return components;
|
|
28668
|
+
}
|
|
28669
|
+
|
|
28670
|
+
/**
|
|
28671
|
+
* Check which workspaces use any of the given component names.
|
|
28672
|
+
*
|
|
28673
|
+
* @param {string[]} componentNames – CM keys the widget package registers
|
|
28674
|
+
* @param {object[]} workspaces – workspace objects with .layout arrays
|
|
28675
|
+
* @returns {{ workspaceId: string, workspaceName: string, count: number }[]}
|
|
28676
|
+
*/
|
|
28677
|
+
function findWidgetUsage(componentNames, workspaces) {
|
|
28678
|
+
if (!(componentNames !== null && componentNames !== void 0 && componentNames.length) || !(workspaces !== null && workspaces !== void 0 && workspaces.length)) return [];
|
|
28679
|
+
var nameSet = new Set(componentNames);
|
|
28680
|
+
var results = [];
|
|
28681
|
+
var _iterator2 = _createForOfIteratorHelper(workspaces),
|
|
28682
|
+
_step2;
|
|
28683
|
+
try {
|
|
28684
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
28685
|
+
var ws = _step2.value;
|
|
28686
|
+
var comps = collectComponentsFromLayout(ws.layout);
|
|
28687
|
+
var count = comps.filter(function (c) {
|
|
28688
|
+
return nameSet.has(c);
|
|
28689
|
+
}).length;
|
|
28690
|
+
if (count > 0) {
|
|
28691
|
+
results.push({
|
|
28692
|
+
workspaceId: ws.id,
|
|
28693
|
+
workspaceName: ws.name || ws.id,
|
|
28694
|
+
count: count
|
|
28695
|
+
});
|
|
28696
|
+
}
|
|
28697
|
+
}
|
|
28698
|
+
} catch (err) {
|
|
28699
|
+
_iterator2.e(err);
|
|
28700
|
+
} finally {
|
|
28701
|
+
_iterator2.f();
|
|
28702
|
+
}
|
|
28703
|
+
return results;
|
|
28704
|
+
}
|
|
28705
|
+
|
|
28641
28706
|
/**
|
|
28642
28707
|
* useInstalledWidgets — hook for listing and managing installed widgets.
|
|
28643
28708
|
*
|
|
@@ -28683,13 +28748,15 @@ var useInstalledWidgets = function useInstalledWidgets() {
|
|
|
28683
28748
|
name: key,
|
|
28684
28749
|
displayName: config.name || key,
|
|
28685
28750
|
author: config.author || null,
|
|
28751
|
+
"package": config["package"] || null,
|
|
28686
28752
|
description: config.description || null,
|
|
28687
28753
|
icon: config.icon || null,
|
|
28688
28754
|
version: null,
|
|
28689
28755
|
path: null,
|
|
28690
28756
|
source: "builtin",
|
|
28691
28757
|
providers: config.providers || [],
|
|
28692
|
-
workspace: config.workspace || null
|
|
28758
|
+
workspace: config.workspace || null,
|
|
28759
|
+
componentNames: [key]
|
|
28693
28760
|
};
|
|
28694
28761
|
}); // ── Installed widgets from WidgetRegistry ───────────────
|
|
28695
28762
|
// Registry entries now include .dash.js fields (icon, providers,
|
|
@@ -28719,13 +28786,15 @@ var useInstalledWidgets = function useInstalledWidgets() {
|
|
|
28719
28786
|
name: w.name,
|
|
28720
28787
|
displayName: w.displayName || (cm === null || cm === void 0 ? void 0 : cm.name) || cmKey || w.name,
|
|
28721
28788
|
author: w.author || (cm === null || cm === void 0 ? void 0 : cm.author) || null,
|
|
28789
|
+
"package": w["package"] || (cm === null || cm === void 0 ? void 0 : cm["package"]) || null,
|
|
28722
28790
|
description: w.description || (cm === null || cm === void 0 ? void 0 : cm.description) || null,
|
|
28723
28791
|
icon: w.icon || (cm === null || cm === void 0 ? void 0 : cm.icon) || null,
|
|
28724
28792
|
version: w.version || null,
|
|
28725
28793
|
path: w.path || null,
|
|
28726
28794
|
source: "installed",
|
|
28727
28795
|
providers: (_w$providers = w.providers) !== null && _w$providers !== void 0 && _w$providers.length ? w.providers : (cm === null || cm === void 0 ? void 0 : cm.providers) || [],
|
|
28728
|
-
workspace: w.workspace || (cm === null || cm === void 0 ? void 0 : cm.workspace) || null
|
|
28796
|
+
workspace: w.workspace || (cm === null || cm === void 0 ? void 0 : cm.workspace) || null,
|
|
28797
|
+
componentNames: w.componentNames || (cmKey ? [cmKey] : [])
|
|
28729
28798
|
};
|
|
28730
28799
|
});
|
|
28731
28800
|
case 3:
|
|
@@ -28820,7 +28889,10 @@ var useInstalledWidgets = function useInstalledWidgets() {
|
|
|
28820
28889
|
};
|
|
28821
28890
|
|
|
28822
28891
|
var WidgetsSection = function WidgetsSection(_ref) {
|
|
28823
|
-
var _ref$
|
|
28892
|
+
var _ref$workspaces = _ref.workspaces,
|
|
28893
|
+
workspaces = _ref$workspaces === void 0 ? [] : _ref$workspaces;
|
|
28894
|
+
_ref.credentials;
|
|
28895
|
+
var _ref$createRequested = _ref.createRequested,
|
|
28824
28896
|
createRequested = _ref$createRequested === void 0 ? false : _ref$createRequested,
|
|
28825
28897
|
_ref$onCreateAcknowle = _ref.onCreateAcknowledged,
|
|
28826
28898
|
onCreateAcknowledged = _ref$onCreateAcknowle === void 0 ? null : _ref$onCreateAcknowle;
|
|
@@ -28848,10 +28920,99 @@ var WidgetsSection = function WidgetsSection(_ref) {
|
|
|
28848
28920
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
28849
28921
|
deleteTarget = _useState6[0],
|
|
28850
28922
|
setDeleteTarget = _useState6[1];
|
|
28851
|
-
var _useState7 = useState(
|
|
28923
|
+
var _useState7 = useState([]),
|
|
28852
28924
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
28853
|
-
|
|
28854
|
-
|
|
28925
|
+
deleteUsage = _useState8[0],
|
|
28926
|
+
setDeleteUsage = _useState8[1];
|
|
28927
|
+
var _useState9 = useState(null),
|
|
28928
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
28929
|
+
installResult = _useState0[0],
|
|
28930
|
+
setInstallResult = _useState0[1];
|
|
28931
|
+
|
|
28932
|
+
// ── Filter state ────────────────────────────────────────────────────
|
|
28933
|
+
var _useState1 = useState(""),
|
|
28934
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
28935
|
+
searchQuery = _useState10[0],
|
|
28936
|
+
setSearchQuery = _useState10[1];
|
|
28937
|
+
var _useState11 = useState("all"),
|
|
28938
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
28939
|
+
filterSource = _useState12[0],
|
|
28940
|
+
setFilterSource = _useState12[1]; // "all" | "builtin" | "installed"
|
|
28941
|
+
var _useState13 = useState("all"),
|
|
28942
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
28943
|
+
filterAuthor = _useState14[0],
|
|
28944
|
+
setFilterAuthor = _useState14[1];
|
|
28945
|
+
var _useState15 = useState("all"),
|
|
28946
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
28947
|
+
filterProvider = _useState16[0],
|
|
28948
|
+
setFilterProvider = _useState16[1];
|
|
28949
|
+
|
|
28950
|
+
// ── Derived filter options ──────────────────────────────────────────
|
|
28951
|
+
var uniqueAuthors = useMemo(function () {
|
|
28952
|
+
return _toConsumableArray(new Set(widgets.map(function (w) {
|
|
28953
|
+
return w["package"] || w.author || "Other";
|
|
28954
|
+
}))).sort();
|
|
28955
|
+
}, [widgets]);
|
|
28956
|
+
var uniqueProviders = useMemo(function () {
|
|
28957
|
+
return _toConsumableArray(new Set(widgets.flatMap(function (w) {
|
|
28958
|
+
return (w.providers || []).map(function (p) {
|
|
28959
|
+
return p.type;
|
|
28960
|
+
});
|
|
28961
|
+
}))).sort();
|
|
28962
|
+
}, [widgets]);
|
|
28963
|
+
|
|
28964
|
+
// ── Filtered + grouped widgets ──────────────────────────────────────
|
|
28965
|
+
var _useMemo = useMemo(function () {
|
|
28966
|
+
var filtered = widgets.filter(function (w) {
|
|
28967
|
+
// Search: match name, displayName, or description
|
|
28968
|
+
if (searchQuery) {
|
|
28969
|
+
var q = searchQuery.toLowerCase();
|
|
28970
|
+
var matchesSearch = (w.displayName || "").toLowerCase().includes(q) || (w.name || "").toLowerCase().includes(q) || (w.description || "").toLowerCase().includes(q);
|
|
28971
|
+
if (!matchesSearch) return false;
|
|
28972
|
+
}
|
|
28973
|
+
// Source filter
|
|
28974
|
+
if (filterSource !== "all" && w.source !== filterSource) return false;
|
|
28975
|
+
// Author/package filter
|
|
28976
|
+
if (filterAuthor !== "all") {
|
|
28977
|
+
if ((w["package"] || w.author || "Other") !== filterAuthor) return false;
|
|
28978
|
+
}
|
|
28979
|
+
// Provider filter
|
|
28980
|
+
if (filterProvider !== "all") {
|
|
28981
|
+
if (filterProvider === "none") {
|
|
28982
|
+
if (w.providers && w.providers.length > 0) return false;
|
|
28983
|
+
} else {
|
|
28984
|
+
if (!w.providers || !w.providers.some(function (p) {
|
|
28985
|
+
return p.type === filterProvider;
|
|
28986
|
+
})) return false;
|
|
28987
|
+
}
|
|
28988
|
+
}
|
|
28989
|
+
return true;
|
|
28990
|
+
});
|
|
28991
|
+
|
|
28992
|
+
// Group by package > author > "Other"
|
|
28993
|
+
var groups = {};
|
|
28994
|
+
filtered.forEach(function (w) {
|
|
28995
|
+
var group = w["package"] || w.author || "Other";
|
|
28996
|
+
if (!groups[group]) groups[group] = [];
|
|
28997
|
+
groups[group].push(w);
|
|
28998
|
+
});
|
|
28999
|
+
return {
|
|
29000
|
+
filteredGrouped: groups,
|
|
29001
|
+
filteredCount: filtered.length,
|
|
29002
|
+
totalCount: widgets.length
|
|
29003
|
+
};
|
|
29004
|
+
}, [widgets, searchQuery, filterSource, filterAuthor, filterProvider]),
|
|
29005
|
+
filteredGrouped = _useMemo.filteredGrouped,
|
|
29006
|
+
filteredCount = _useMemo.filteredCount,
|
|
29007
|
+
totalCount = _useMemo.totalCount;
|
|
29008
|
+
var hasActiveFilters = searchQuery || filterSource !== "all" || filterAuthor !== "all" || filterProvider !== "all";
|
|
29009
|
+
var clearFilters = function clearFilters() {
|
|
29010
|
+
setSearchQuery("");
|
|
29011
|
+
setFilterSource("all");
|
|
29012
|
+
setFilterAuthor("all");
|
|
29013
|
+
setFilterProvider("all");
|
|
29014
|
+
};
|
|
29015
|
+
var selectClassName = "w-full px-2 py-1 rounded text-xs bg-transparent border ".concat(currentTheme["border-primary-medium"] || "border-gray-700", " ").concat(currentTheme["text-primary-light"] || "text-gray-300", " focus:outline-none appearance-none cursor-pointer");
|
|
28855
29016
|
|
|
28856
29017
|
// Respond to external create trigger from header button
|
|
28857
29018
|
var prevCreateRequested = useRef(false);
|
|
@@ -28870,6 +29031,14 @@ var WidgetsSection = function WidgetsSection(_ref) {
|
|
|
28870
29031
|
var selectedWidget = selectedWidgetName ? widgets.find(function (w) {
|
|
28871
29032
|
return w.name === selectedWidgetName;
|
|
28872
29033
|
}) : null;
|
|
29034
|
+
|
|
29035
|
+
// ── Uninstall with usage check ──────────────────────────────────────
|
|
29036
|
+
|
|
29037
|
+
function handleDeleteRequest(widget) {
|
|
29038
|
+
var usage = findWidgetUsage(widget.componentNames, workspaces);
|
|
29039
|
+
setDeleteUsage(usage);
|
|
29040
|
+
setDeleteTarget(widget);
|
|
29041
|
+
}
|
|
28873
29042
|
function handleConfirmDelete() {
|
|
28874
29043
|
return _handleConfirmDelete.apply(this, arguments);
|
|
28875
29044
|
}
|
|
@@ -28898,6 +29067,7 @@ var WidgetsSection = function WidgetsSection(_ref) {
|
|
|
28898
29067
|
_context["catch"](1);
|
|
28899
29068
|
case 4:
|
|
28900
29069
|
setDeleteTarget(null);
|
|
29070
|
+
setDeleteUsage([]);
|
|
28901
29071
|
case 5:
|
|
28902
29072
|
case "end":
|
|
28903
29073
|
return _context.stop();
|
|
@@ -29078,33 +29248,126 @@ var WidgetsSection = function WidgetsSection(_ref) {
|
|
|
29078
29248
|
className: "text-sm opacity-40 py-8 text-center block",
|
|
29079
29249
|
children: "No widgets available"
|
|
29080
29250
|
});
|
|
29251
|
+
} else if (filteredCount === 0) {
|
|
29252
|
+
listBody = /*#__PURE__*/jsx("span", {
|
|
29253
|
+
className: "text-sm opacity-40 py-8 text-center block",
|
|
29254
|
+
children: "No widgets match filters"
|
|
29255
|
+
});
|
|
29081
29256
|
} else {
|
|
29082
|
-
|
|
29083
|
-
|
|
29084
|
-
|
|
29085
|
-
|
|
29086
|
-
|
|
29087
|
-
|
|
29088
|
-
|
|
29089
|
-
|
|
29090
|
-
|
|
29091
|
-
|
|
29092
|
-
|
|
29093
|
-
|
|
29094
|
-
|
|
29095
|
-
|
|
29096
|
-
|
|
29097
|
-
|
|
29098
|
-
|
|
29099
|
-
|
|
29100
|
-
|
|
29101
|
-
|
|
29102
|
-
|
|
29257
|
+
var groupKeys = Object.keys(filteredGrouped).sort();
|
|
29258
|
+
var showGroupHeaders = groupKeys.length > 1;
|
|
29259
|
+
listBody = groupKeys.map(function (group) {
|
|
29260
|
+
var groupWidgets = filteredGrouped[group];
|
|
29261
|
+
var items = groupWidgets.map(function (widget) {
|
|
29262
|
+
var isSelected = selectedWidgetName === widget.name && !installMode;
|
|
29263
|
+
return /*#__PURE__*/jsx(Sidebar.Item, {
|
|
29264
|
+
icon: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
29265
|
+
icon: resolveIcon(widget.icon),
|
|
29266
|
+
className: "h-3.5 w-3.5"
|
|
29267
|
+
}),
|
|
29268
|
+
active: isSelected,
|
|
29269
|
+
onClick: function onClick() {
|
|
29270
|
+
setSelectedWidgetName(widget.name);
|
|
29271
|
+
setInstallMode(null);
|
|
29272
|
+
setInstallResult(null);
|
|
29273
|
+
},
|
|
29274
|
+
className: isSelected ? "bg-white/10 opacity-100" : "",
|
|
29275
|
+
children: /*#__PURE__*/jsxs("span", {
|
|
29276
|
+
className: "flex items-center gap-2",
|
|
29277
|
+
children: [widget.displayName || widget.name, widget.source === "builtin" && /*#__PURE__*/jsx(Tag3, {
|
|
29278
|
+
text: "Built-in"
|
|
29279
|
+
})]
|
|
29280
|
+
})
|
|
29281
|
+
}, widget.name);
|
|
29282
|
+
});
|
|
29283
|
+
if (showGroupHeaders) {
|
|
29284
|
+
return /*#__PURE__*/jsx(Sidebar.Group, {
|
|
29285
|
+
label: group,
|
|
29286
|
+
children: items
|
|
29287
|
+
}, group);
|
|
29288
|
+
}
|
|
29289
|
+
return items;
|
|
29103
29290
|
});
|
|
29104
29291
|
}
|
|
29105
29292
|
var listContent = /*#__PURE__*/jsxs("div", {
|
|
29106
29293
|
className: "flex flex-col h-full",
|
|
29107
|
-
children: [/*#__PURE__*/
|
|
29294
|
+
children: [!isLoading && !error && widgets.length > 0 && /*#__PURE__*/jsxs("div", {
|
|
29295
|
+
className: "flex flex-col gap-2 px-3 py-2 flex-shrink-0 border-b border-white/10",
|
|
29296
|
+
children: [/*#__PURE__*/jsx(SearchInput, {
|
|
29297
|
+
value: searchQuery,
|
|
29298
|
+
onChange: setSearchQuery,
|
|
29299
|
+
placeholder: "Search widgets...",
|
|
29300
|
+
inputClassName: "py-1.5 text-xs"
|
|
29301
|
+
}), /*#__PURE__*/jsx("div", {
|
|
29302
|
+
className: "flex bg-white/5 rounded-md p-0.5",
|
|
29303
|
+
children: [{
|
|
29304
|
+
key: "all",
|
|
29305
|
+
label: "All"
|
|
29306
|
+
}, {
|
|
29307
|
+
key: "builtin",
|
|
29308
|
+
label: "Built-in"
|
|
29309
|
+
}, {
|
|
29310
|
+
key: "installed",
|
|
29311
|
+
label: "Installed"
|
|
29312
|
+
}].map(function (tab) {
|
|
29313
|
+
return /*#__PURE__*/jsx("button", {
|
|
29314
|
+
type: "button",
|
|
29315
|
+
onClick: function onClick() {
|
|
29316
|
+
return setFilterSource(tab.key);
|
|
29317
|
+
},
|
|
29318
|
+
className: "flex-1 px-2 py-0.5 rounded text-[11px] transition-colors ".concat(filterSource === tab.key ? "bg-white/10 font-medium opacity-90" : "opacity-50 hover:opacity-70"),
|
|
29319
|
+
children: tab.label
|
|
29320
|
+
}, tab.key);
|
|
29321
|
+
})
|
|
29322
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
29323
|
+
className: "grid grid-cols-2 gap-1.5",
|
|
29324
|
+
children: [/*#__PURE__*/jsxs("select", {
|
|
29325
|
+
value: filterAuthor,
|
|
29326
|
+
onChange: function onChange(e) {
|
|
29327
|
+
return setFilterAuthor(e.target.value);
|
|
29328
|
+
},
|
|
29329
|
+
className: selectClassName,
|
|
29330
|
+
children: [/*#__PURE__*/jsx("option", {
|
|
29331
|
+
value: "all",
|
|
29332
|
+
children: "All Authors"
|
|
29333
|
+
}), uniqueAuthors.map(function (a) {
|
|
29334
|
+
return /*#__PURE__*/jsx("option", {
|
|
29335
|
+
value: a,
|
|
29336
|
+
children: a
|
|
29337
|
+
}, a);
|
|
29338
|
+
})]
|
|
29339
|
+
}), /*#__PURE__*/jsxs("select", {
|
|
29340
|
+
value: filterProvider,
|
|
29341
|
+
onChange: function onChange(e) {
|
|
29342
|
+
return setFilterProvider(e.target.value);
|
|
29343
|
+
},
|
|
29344
|
+
className: selectClassName,
|
|
29345
|
+
children: [/*#__PURE__*/jsx("option", {
|
|
29346
|
+
value: "all",
|
|
29347
|
+
children: "All Providers"
|
|
29348
|
+
}), /*#__PURE__*/jsx("option", {
|
|
29349
|
+
value: "none",
|
|
29350
|
+
children: "No Providers"
|
|
29351
|
+
}), uniqueProviders.map(function (p) {
|
|
29352
|
+
return /*#__PURE__*/jsx("option", {
|
|
29353
|
+
value: p,
|
|
29354
|
+
children: p
|
|
29355
|
+
}, p);
|
|
29356
|
+
})]
|
|
29357
|
+
})]
|
|
29358
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
29359
|
+
className: "flex items-center justify-between text-[10px] px-0.5",
|
|
29360
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
29361
|
+
className: "opacity-50",
|
|
29362
|
+
children: hasActiveFilters ? "".concat(filteredCount, " of ").concat(totalCount, " widgets") : "".concat(totalCount, " widgets")
|
|
29363
|
+
}), hasActiveFilters && /*#__PURE__*/jsx("button", {
|
|
29364
|
+
type: "button",
|
|
29365
|
+
onClick: clearFilters,
|
|
29366
|
+
className: "opacity-60 hover:opacity-100 transition-opacity text-gray-300 hover:bg-white/10 px-1.5 py-0.5 rounded",
|
|
29367
|
+
children: "Clear"
|
|
29368
|
+
})]
|
|
29369
|
+
})]
|
|
29370
|
+
}), /*#__PURE__*/jsx(Sidebar.Content, {
|
|
29108
29371
|
children: listBody
|
|
29109
29372
|
}), !isLoading && !error && widgets.length > 0 && /*#__PURE__*/jsx("div", {
|
|
29110
29373
|
className: "px-3 py-2 text-[10px] opacity-40 flex-shrink-0 border-t border-white/10",
|
|
@@ -29182,10 +29445,14 @@ var WidgetsSection = function WidgetsSection(_ref) {
|
|
|
29182
29445
|
detailContent = /*#__PURE__*/jsx(InstalledWidgetDetail, {
|
|
29183
29446
|
widget: selectedWidget,
|
|
29184
29447
|
onDelete: function onDelete(w) {
|
|
29185
|
-
return
|
|
29448
|
+
return handleDeleteRequest(w);
|
|
29186
29449
|
}
|
|
29187
29450
|
});
|
|
29188
29451
|
}
|
|
29452
|
+
|
|
29453
|
+
// ── Uninstall confirmation message ──────────────────────────────────
|
|
29454
|
+
|
|
29455
|
+
var deleteMessage = deleteUsage.length > 0 ? "\"".concat((deleteTarget === null || deleteTarget === void 0 ? void 0 : deleteTarget.displayName) || (deleteTarget === null || deleteTarget === void 0 ? void 0 : deleteTarget.name), "\" is currently used in ").concat(deleteUsage.length, " dashboard").concat(deleteUsage.length !== 1 ? "s" : "", ". Uninstalling will leave orphaned layout items on these dashboards.") : "Are you sure you want to uninstall \"".concat((deleteTarget === null || deleteTarget === void 0 ? void 0 : deleteTarget.displayName) || (deleteTarget === null || deleteTarget === void 0 ? void 0 : deleteTarget.name), "\"?");
|
|
29189
29456
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
29190
29457
|
children: [/*#__PURE__*/jsx(SectionLayout, {
|
|
29191
29458
|
listContent: listContent,
|
|
@@ -29194,16 +29461,36 @@ var WidgetsSection = function WidgetsSection(_ref) {
|
|
|
29194
29461
|
}), /*#__PURE__*/jsx(ConfirmationModal, {
|
|
29195
29462
|
isOpen: !!deleteTarget,
|
|
29196
29463
|
setIsOpen: function setIsOpen() {
|
|
29197
|
-
|
|
29464
|
+
setDeleteTarget(null);
|
|
29465
|
+
setDeleteUsage([]);
|
|
29198
29466
|
},
|
|
29199
29467
|
title: "Uninstall Widget",
|
|
29200
|
-
message:
|
|
29468
|
+
message: deleteMessage,
|
|
29201
29469
|
confirmLabel: "Uninstall",
|
|
29202
29470
|
variant: "danger",
|
|
29203
29471
|
onConfirm: handleConfirmDelete,
|
|
29204
29472
|
onCancel: function onCancel() {
|
|
29205
|
-
|
|
29206
|
-
|
|
29473
|
+
setDeleteTarget(null);
|
|
29474
|
+
setDeleteUsage([]);
|
|
29475
|
+
},
|
|
29476
|
+
children: deleteUsage.length > 0 && /*#__PURE__*/jsxs("div", {
|
|
29477
|
+
className: "mt-2 space-y-1",
|
|
29478
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
29479
|
+
className: "text-xs font-semibold opacity-70",
|
|
29480
|
+
children: "Affected dashboards:"
|
|
29481
|
+
}), deleteUsage.map(function (u) {
|
|
29482
|
+
return /*#__PURE__*/jsxs("div", {
|
|
29483
|
+
className: "text-xs opacity-60 flex items-center gap-1.5 pl-2",
|
|
29484
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
29485
|
+
icon: "triangle-exclamation",
|
|
29486
|
+
className: "h-3 w-3 text-yellow-500"
|
|
29487
|
+
}), u.workspaceName, " ", /*#__PURE__*/jsxs("span", {
|
|
29488
|
+
className: "opacity-50",
|
|
29489
|
+
children: ["(", u.count, " instance", u.count !== 1 ? "s" : "", ")"]
|
|
29490
|
+
})]
|
|
29491
|
+
}, u.workspaceId);
|
|
29492
|
+
})]
|
|
29493
|
+
})
|
|
29207
29494
|
})]
|
|
29208
29495
|
});
|
|
29209
29496
|
};
|
|
@@ -29353,6 +29640,8 @@ var AppSettingsModal = function AppSettingsModal(_ref) {
|
|
|
29353
29640
|
return setCreateRequested(false);
|
|
29354
29641
|
}
|
|
29355
29642
|
}), activeSection === "widgets" && /*#__PURE__*/jsx(WidgetsSection, {
|
|
29643
|
+
workspaces: workspaces,
|
|
29644
|
+
credentials: credentials,
|
|
29356
29645
|
createRequested: createRequested,
|
|
29357
29646
|
onCreateAcknowledged: function onCreateAcknowledged() {
|
|
29358
29647
|
return setCreateRequested(false);
|
|
@@ -30870,7 +31159,15 @@ var DashboardStageInner = function DashboardStageInner(_ref2) {
|
|
|
30870
31159
|
return tab.id === workspaceItem.id;
|
|
30871
31160
|
});
|
|
30872
31161
|
if (existingTab) {
|
|
30873
|
-
//
|
|
31162
|
+
// Sync fresh workspace data to existing tab
|
|
31163
|
+
setOpenTabs(function (prev) {
|
|
31164
|
+
return prev.map(function (tab) {
|
|
31165
|
+
return tab.id === existingTab.id ? _objectSpread(_objectSpread({}, tab), {}, {
|
|
31166
|
+
name: workspaceItem.name || "Untitled",
|
|
31167
|
+
workspace: workspaceItem
|
|
31168
|
+
}) : tab;
|
|
31169
|
+
});
|
|
31170
|
+
});
|
|
30874
31171
|
setActiveTabId(existingTab.id);
|
|
30875
31172
|
} else {
|
|
30876
31173
|
// Open new tab
|