@trops/dash-core 0.1.443 → 0.1.444
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 +68 -23
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +208 -83
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +208 -83
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3075,9 +3075,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
3075
3075
|
|
|
3076
3076
|
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; }
|
|
3077
3077
|
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; }
|
|
3078
|
-
function _createForOfIteratorHelper$
|
|
3079
|
-
function _unsupportedIterableToArray$
|
|
3080
|
-
function _arrayLikeToArray$
|
|
3078
|
+
function _createForOfIteratorHelper$x(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$x(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
3079
|
+
function _unsupportedIterableToArray$x(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$x(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$x(r, a) : void 0; } }
|
|
3080
|
+
function _arrayLikeToArray$x(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
3081
3081
|
/**
|
|
3082
3082
|
* Layout template definitions for the dashboard template picker.
|
|
3083
3083
|
*
|
|
@@ -3351,7 +3351,7 @@ function createLayoutFromTemplate(template) {
|
|
|
3351
3351
|
cols: template.cols,
|
|
3352
3352
|
gap: "gap-2"
|
|
3353
3353
|
};
|
|
3354
|
-
var _iterator = _createForOfIteratorHelper$
|
|
3354
|
+
var _iterator = _createForOfIteratorHelper$x(template.cells),
|
|
3355
3355
|
_step;
|
|
3356
3356
|
try {
|
|
3357
3357
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -4282,9 +4282,9 @@ var RegistryAuthModal = function RegistryAuthModal(_ref) {
|
|
|
4282
4282
|
});
|
|
4283
4283
|
};
|
|
4284
4284
|
|
|
4285
|
-
function _createForOfIteratorHelper$
|
|
4286
|
-
function _unsupportedIterableToArray$
|
|
4287
|
-
function _arrayLikeToArray$
|
|
4285
|
+
function _createForOfIteratorHelper$w(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$w(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
4286
|
+
function _unsupportedIterableToArray$w(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$w(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$w(r, a) : void 0; } }
|
|
4287
|
+
function _arrayLikeToArray$w(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
4288
4288
|
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; }
|
|
4289
4289
|
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; }
|
|
4290
4290
|
var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
@@ -4525,7 +4525,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4525
4525
|
toInstall = 0,
|
|
4526
4526
|
unavailable = 0,
|
|
4527
4527
|
hasUnavailableRequired = false;
|
|
4528
|
-
var _iterator = _createForOfIteratorHelper$
|
|
4528
|
+
var _iterator = _createForOfIteratorHelper$w(widgetDeps),
|
|
4529
4529
|
_step;
|
|
4530
4530
|
try {
|
|
4531
4531
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -6300,9 +6300,9 @@ function cleanIpcError(message) {
|
|
|
6300
6300
|
return match ? match[1] : message;
|
|
6301
6301
|
}
|
|
6302
6302
|
|
|
6303
|
-
function _createForOfIteratorHelper$
|
|
6304
|
-
function _unsupportedIterableToArray$
|
|
6305
|
-
function _arrayLikeToArray$
|
|
6303
|
+
function _createForOfIteratorHelper$v(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$v(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
6304
|
+
function _unsupportedIterableToArray$v(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$v(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$v(r, a) : void 0; } }
|
|
6305
|
+
function _arrayLikeToArray$v(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
6306
6306
|
|
|
6307
6307
|
/**
|
|
6308
6308
|
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
@@ -6416,13 +6416,13 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6416
6416
|
return c.toLowerCase();
|
|
6417
6417
|
}));
|
|
6418
6418
|
widgets = [];
|
|
6419
|
-
_iterator = _createForOfIteratorHelper$
|
|
6419
|
+
_iterator = _createForOfIteratorHelper$v(pkgs);
|
|
6420
6420
|
try {
|
|
6421
6421
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6422
6422
|
pkg = _step.value;
|
|
6423
6423
|
// Compute missing APIs for the entire package
|
|
6424
6424
|
allApiProviders = [];
|
|
6425
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
6425
|
+
_iterator2 = _createForOfIteratorHelper$v(pkg.providers || []);
|
|
6426
6426
|
try {
|
|
6427
6427
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
6428
6428
|
p = _step2.value;
|
|
@@ -6435,11 +6435,11 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6435
6435
|
} finally {
|
|
6436
6436
|
_iterator2.f();
|
|
6437
6437
|
}
|
|
6438
|
-
_iterator3 = _createForOfIteratorHelper$
|
|
6438
|
+
_iterator3 = _createForOfIteratorHelper$v(pkg.widgets || []);
|
|
6439
6439
|
try {
|
|
6440
6440
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
6441
6441
|
w = _step3.value;
|
|
6442
|
-
_iterator5 = _createForOfIteratorHelper$
|
|
6442
|
+
_iterator5 = _createForOfIteratorHelper$v(w.providers || []);
|
|
6443
6443
|
try {
|
|
6444
6444
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
6445
6445
|
_p = _step5.value;
|
|
@@ -6461,7 +6461,7 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6461
6461
|
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
6462
6462
|
return !capSet.has(api.toLowerCase());
|
|
6463
6463
|
});
|
|
6464
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
6464
|
+
_iterator4 = _createForOfIteratorHelper$v(pkg.widgets || []);
|
|
6465
6465
|
try {
|
|
6466
6466
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
6467
6467
|
widget = _step4.value;
|
|
@@ -7082,9 +7082,9 @@ function applyFilters(items, filters, mode) {
|
|
|
7082
7082
|
});
|
|
7083
7083
|
}
|
|
7084
7084
|
|
|
7085
|
-
function _createForOfIteratorHelper$
|
|
7086
|
-
function _unsupportedIterableToArray$
|
|
7087
|
-
function _arrayLikeToArray$
|
|
7085
|
+
function _createForOfIteratorHelper$u(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$u(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
7086
|
+
function _unsupportedIterableToArray$u(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$u(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$u(r, a) : void 0; } }
|
|
7087
|
+
function _arrayLikeToArray$u(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
7088
7088
|
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; }
|
|
7089
7089
|
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; }
|
|
7090
7090
|
var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
@@ -7308,7 +7308,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7308
7308
|
installedNames = new Set(installedList.map(function (w) {
|
|
7309
7309
|
return w.name;
|
|
7310
7310
|
}));
|
|
7311
|
-
_iterator = _createForOfIteratorHelper$
|
|
7311
|
+
_iterator = _createForOfIteratorHelper$u(state.selectedWidgets);
|
|
7312
7312
|
_context2.prev = 13;
|
|
7313
7313
|
_iterator.s();
|
|
7314
7314
|
case 14:
|
|
@@ -12996,9 +12996,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12996
12996
|
};
|
|
12997
12997
|
|
|
12998
12998
|
var _excluded$6 = ["rows", "cols"];
|
|
12999
|
-
function _createForOfIteratorHelper$
|
|
13000
|
-
function _unsupportedIterableToArray$
|
|
13001
|
-
function _arrayLikeToArray$
|
|
12999
|
+
function _createForOfIteratorHelper$t(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$t(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
13000
|
+
function _unsupportedIterableToArray$t(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$t(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$t(r, a) : void 0; } }
|
|
13001
|
+
function _arrayLikeToArray$t(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
13002
13002
|
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; }
|
|
13003
13003
|
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; }
|
|
13004
13004
|
var defaultGrid = {
|
|
@@ -13151,7 +13151,7 @@ function GridEditor(_ref) {
|
|
|
13151
13151
|
function sortObjectByKeys(obj) {
|
|
13152
13152
|
var sortedKeys = Object.keys(obj).sort();
|
|
13153
13153
|
var sortedObj = {};
|
|
13154
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13154
|
+
var _iterator = _createForOfIteratorHelper$t(sortedKeys),
|
|
13155
13155
|
_step;
|
|
13156
13156
|
try {
|
|
13157
13157
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13624,9 +13624,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13624
13624
|
});
|
|
13625
13625
|
};
|
|
13626
13626
|
|
|
13627
|
-
function _createForOfIteratorHelper$
|
|
13628
|
-
function _unsupportedIterableToArray$
|
|
13629
|
-
function _arrayLikeToArray$
|
|
13627
|
+
function _createForOfIteratorHelper$s(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$s(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
13628
|
+
function _unsupportedIterableToArray$s(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$s(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$s(r, a) : void 0; } }
|
|
13629
|
+
function _arrayLikeToArray$s(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
13630
13630
|
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; }
|
|
13631
13631
|
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; }
|
|
13632
13632
|
var DAYS = [{
|
|
@@ -13955,7 +13955,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
13955
13955
|
setIsLoading(true);
|
|
13956
13956
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
13957
13957
|
var stateMap = {};
|
|
13958
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13958
|
+
var _iterator = _createForOfIteratorHelper$s(tasks || []),
|
|
13959
13959
|
_step;
|
|
13960
13960
|
try {
|
|
13961
13961
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -14189,7 +14189,7 @@ function belongsToWorkspace(item, workspace) {
|
|
|
14189
14189
|
if (itemDashId === undefined || itemDashId === null) return false;
|
|
14190
14190
|
return String(itemDashId) === String(wsId);
|
|
14191
14191
|
}
|
|
14192
|
-
var FRAMEWORK_CONTAINER_COMPONENTS = new Set(["LayoutGridContainer", "Container", "LayoutContainer"]);
|
|
14192
|
+
var FRAMEWORK_CONTAINER_COMPONENTS$1 = new Set(["LayoutGridContainer", "Container", "LayoutContainer"]);
|
|
14193
14193
|
|
|
14194
14194
|
/**
|
|
14195
14195
|
* Is this layout item a USER widget (i.e. something the user added
|
|
@@ -14210,13 +14210,13 @@ var FRAMEWORK_CONTAINER_COMPONENTS = new Set(["LayoutGridContainer", "Container"
|
|
|
14210
14210
|
*/
|
|
14211
14211
|
function isUserWidget(item) {
|
|
14212
14212
|
if (!item || _typeof(item) !== "object" || !item.component) return false;
|
|
14213
|
-
if (FRAMEWORK_CONTAINER_COMPONENTS.has(item.component)) return false;
|
|
14213
|
+
if (FRAMEWORK_CONTAINER_COMPONENTS$1.has(item.component)) return false;
|
|
14214
14214
|
return true;
|
|
14215
14215
|
}
|
|
14216
14216
|
|
|
14217
|
-
function _createForOfIteratorHelper$
|
|
14218
|
-
function _unsupportedIterableToArray$
|
|
14219
|
-
function _arrayLikeToArray$
|
|
14217
|
+
function _createForOfIteratorHelper$r(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$r(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
14218
|
+
function _unsupportedIterableToArray$r(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$r(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$r(r, a) : void 0; } }
|
|
14219
|
+
function _arrayLikeToArray$r(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
14220
14220
|
|
|
14221
14221
|
/**
|
|
14222
14222
|
* Resolve which provider name a given widget instance would bind to for
|
|
@@ -14248,7 +14248,7 @@ function resolveProviderName(_ref) {
|
|
|
14248
14248
|
// array. Support both because different callers shape it either way.
|
|
14249
14249
|
if (appProviders) {
|
|
14250
14250
|
if (Array.isArray(appProviders)) {
|
|
14251
|
-
var _iterator = _createForOfIteratorHelper$
|
|
14251
|
+
var _iterator = _createForOfIteratorHelper$r(appProviders),
|
|
14252
14252
|
_step;
|
|
14253
14253
|
try {
|
|
14254
14254
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -14308,7 +14308,7 @@ function forEachWidget(workspace, visit) {
|
|
|
14308
14308
|
};
|
|
14309
14309
|
var _walk = function walk(items) {
|
|
14310
14310
|
if (!Array.isArray(items)) return;
|
|
14311
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
14311
|
+
var _iterator2 = _createForOfIteratorHelper$r(items),
|
|
14312
14312
|
_step2;
|
|
14313
14313
|
try {
|
|
14314
14314
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -14338,7 +14338,7 @@ function forEachWidget(workspace, visit) {
|
|
|
14338
14338
|
};
|
|
14339
14339
|
_walk(workspace.layout);
|
|
14340
14340
|
if (Array.isArray(workspace.pages)) {
|
|
14341
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
14341
|
+
var _iterator3 = _createForOfIteratorHelper$r(workspace.pages),
|
|
14342
14342
|
_step3;
|
|
14343
14343
|
try {
|
|
14344
14344
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -14382,7 +14382,7 @@ function getUnresolvedProviders(_ref2) {
|
|
|
14382
14382
|
var requirements = getWidgetRequirements(item.component) || [];
|
|
14383
14383
|
if (!Array.isArray(requirements) || requirements.length === 0) return;
|
|
14384
14384
|
var widgetId = item.uuidString || item.uuid || item.id || null;
|
|
14385
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
14385
|
+
var _iterator4 = _createForOfIteratorHelper$r(requirements),
|
|
14386
14386
|
_step4;
|
|
14387
14387
|
try {
|
|
14388
14388
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -14423,7 +14423,7 @@ function getUnresolvedProviders(_ref2) {
|
|
|
14423
14423
|
*/
|
|
14424
14424
|
function groupByProviderType(unresolved) {
|
|
14425
14425
|
var byType = new Map();
|
|
14426
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
14426
|
+
var _iterator5 = _createForOfIteratorHelper$r(unresolved || []),
|
|
14427
14427
|
_step5;
|
|
14428
14428
|
try {
|
|
14429
14429
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -14459,7 +14459,7 @@ function getAllProviderBindings(_ref3) {
|
|
|
14459
14459
|
var requirements = getWidgetRequirements(item.component) || [];
|
|
14460
14460
|
if (!Array.isArray(requirements) || requirements.length === 0) return;
|
|
14461
14461
|
var widgetId = item.uuidString || item.uuid || item.id || null;
|
|
14462
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
14462
|
+
var _iterator6 = _createForOfIteratorHelper$r(requirements),
|
|
14463
14463
|
_step6;
|
|
14464
14464
|
try {
|
|
14465
14465
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -14499,9 +14499,9 @@ function getAllProviderBindings(_ref3) {
|
|
|
14499
14499
|
|
|
14500
14500
|
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; }
|
|
14501
14501
|
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; }
|
|
14502
|
-
function _createForOfIteratorHelper$
|
|
14503
|
-
function _unsupportedIterableToArray$
|
|
14504
|
-
function _arrayLikeToArray$
|
|
14502
|
+
function _createForOfIteratorHelper$q(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$q(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
14503
|
+
function _unsupportedIterableToArray$q(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$q(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$q(r, a) : void 0; } }
|
|
14504
|
+
function _arrayLikeToArray$q(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
14505
14505
|
var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
|
|
14506
14506
|
|
|
14507
14507
|
/** Parse "Component[itemId].event" → { component, itemId, event }. */
|
|
@@ -14671,7 +14671,7 @@ function getCurrentWiring(workspace) {
|
|
|
14671
14671
|
// Live format is array; defensive guard for legacy object
|
|
14672
14672
|
// form (a single source widget keyed under the handler).
|
|
14673
14673
|
var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
|
|
14674
|
-
var _iterator = _createForOfIteratorHelper$
|
|
14674
|
+
var _iterator = _createForOfIteratorHelper$q(events),
|
|
14675
14675
|
_step;
|
|
14676
14676
|
try {
|
|
14677
14677
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -14734,7 +14734,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
|
|
|
14734
14734
|
if (!byItemId.has(id)) byItemId.set(id, meta);
|
|
14735
14735
|
});
|
|
14736
14736
|
var orphans = [];
|
|
14737
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
14737
|
+
var _iterator2 = _createForOfIteratorHelper$q(wiring),
|
|
14738
14738
|
_step2;
|
|
14739
14739
|
try {
|
|
14740
14740
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -14800,7 +14800,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14800
14800
|
var liveKeys = new Set();
|
|
14801
14801
|
var _walkForLive = function walkForLive(items) {
|
|
14802
14802
|
if (!Array.isArray(items)) return;
|
|
14803
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
14803
|
+
var _iterator3 = _createForOfIteratorHelper$q(items),
|
|
14804
14804
|
_step3;
|
|
14805
14805
|
try {
|
|
14806
14806
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -14821,7 +14821,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14821
14821
|
};
|
|
14822
14822
|
_walkForLive(workspace.layout);
|
|
14823
14823
|
if (Array.isArray(workspace.pages)) {
|
|
14824
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
14824
|
+
var _iterator4 = _createForOfIteratorHelper$q(workspace.pages),
|
|
14825
14825
|
_step4;
|
|
14826
14826
|
try {
|
|
14827
14827
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -14838,7 +14838,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14838
14838
|
var removed = 0;
|
|
14839
14839
|
var _pruneListeners = function pruneListeners(items) {
|
|
14840
14840
|
if (!Array.isArray(items)) return;
|
|
14841
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
14841
|
+
var _iterator5 = _createForOfIteratorHelper$q(items),
|
|
14842
14842
|
_step5;
|
|
14843
14843
|
try {
|
|
14844
14844
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -14850,7 +14850,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14850
14850
|
var events = item.listeners[handler];
|
|
14851
14851
|
if (!Array.isArray(events)) continue;
|
|
14852
14852
|
var kept = [];
|
|
14853
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
14853
|
+
var _iterator6 = _createForOfIteratorHelper$q(events),
|
|
14854
14854
|
_step6;
|
|
14855
14855
|
try {
|
|
14856
14856
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -14885,7 +14885,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14885
14885
|
};
|
|
14886
14886
|
_pruneListeners(workspace.layout);
|
|
14887
14887
|
if (Array.isArray(workspace.pages)) {
|
|
14888
|
-
var _iterator7 = _createForOfIteratorHelper$
|
|
14888
|
+
var _iterator7 = _createForOfIteratorHelper$q(workspace.pages),
|
|
14889
14889
|
_step7;
|
|
14890
14890
|
try {
|
|
14891
14891
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
@@ -14929,7 +14929,7 @@ function applyWiringChanges(workspace, _ref) {
|
|
|
14929
14929
|
});
|
|
14930
14930
|
return byReceiver.get(id);
|
|
14931
14931
|
};
|
|
14932
|
-
var _iterator8 = _createForOfIteratorHelper$
|
|
14932
|
+
var _iterator8 = _createForOfIteratorHelper$q(adds),
|
|
14933
14933
|
_step8;
|
|
14934
14934
|
try {
|
|
14935
14935
|
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
@@ -14942,7 +14942,7 @@ function applyWiringChanges(workspace, _ref) {
|
|
|
14942
14942
|
} finally {
|
|
14943
14943
|
_iterator8.f();
|
|
14944
14944
|
}
|
|
14945
|
-
var _iterator9 = _createForOfIteratorHelper$
|
|
14945
|
+
var _iterator9 = _createForOfIteratorHelper$q(removes),
|
|
14946
14946
|
_step9;
|
|
14947
14947
|
try {
|
|
14948
14948
|
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
@@ -15016,7 +15016,7 @@ function applyToItem(listeners, _ref2) {
|
|
|
15016
15016
|
}
|
|
15017
15017
|
|
|
15018
15018
|
// Removes first so a re-add (rare) lands.
|
|
15019
|
-
var _iterator0 = _createForOfIteratorHelper$
|
|
15019
|
+
var _iterator0 = _createForOfIteratorHelper$q(removes),
|
|
15020
15020
|
_step0;
|
|
15021
15021
|
try {
|
|
15022
15022
|
var _loop = function _loop() {
|
|
@@ -15045,7 +15045,7 @@ function applyToItem(listeners, _ref2) {
|
|
|
15045
15045
|
} finally {
|
|
15046
15046
|
_iterator0.f();
|
|
15047
15047
|
}
|
|
15048
|
-
var _iterator1 = _createForOfIteratorHelper$
|
|
15048
|
+
var _iterator1 = _createForOfIteratorHelper$q(adds),
|
|
15049
15049
|
_step1;
|
|
15050
15050
|
try {
|
|
15051
15051
|
for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
|
|
@@ -17992,9 +17992,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
|
|
|
17992
17992
|
return result;
|
|
17993
17993
|
}
|
|
17994
17994
|
|
|
17995
|
-
function _createForOfIteratorHelper$
|
|
17996
|
-
function _unsupportedIterableToArray$
|
|
17997
|
-
function _arrayLikeToArray$
|
|
17995
|
+
function _createForOfIteratorHelper$p(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$p(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
17996
|
+
function _unsupportedIterableToArray$p(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$p(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$p(r, a) : void 0; } }
|
|
17997
|
+
function _arrayLikeToArray$p(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
17998
17998
|
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; }
|
|
17999
17999
|
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; }
|
|
18000
18000
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -18279,11 +18279,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
18279
18279
|
|
|
18280
18280
|
// Flatten all widgets from all packages for the widget list
|
|
18281
18281
|
flatWidgets = [];
|
|
18282
|
-
_iterator = _createForOfIteratorHelper$
|
|
18282
|
+
_iterator = _createForOfIteratorHelper$p(result.packages || []);
|
|
18283
18283
|
try {
|
|
18284
18284
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
18285
18285
|
pkg = _step.value;
|
|
18286
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
18286
|
+
_iterator2 = _createForOfIteratorHelper$p(pkg.widgets || []);
|
|
18287
18287
|
try {
|
|
18288
18288
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
18289
18289
|
widget = _step2.value;
|
|
@@ -20177,9 +20177,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
|
|
|
20177
20177
|
};
|
|
20178
20178
|
};
|
|
20179
20179
|
|
|
20180
|
-
function _createForOfIteratorHelper$
|
|
20181
|
-
function _unsupportedIterableToArray$
|
|
20182
|
-
function _arrayLikeToArray$
|
|
20180
|
+
function _createForOfIteratorHelper$o(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$o(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
20181
|
+
function _unsupportedIterableToArray$o(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$o(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$o(r, a) : void 0; } }
|
|
20182
|
+
function _arrayLikeToArray$o(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
20183
20183
|
function formatCountdown(ms) {
|
|
20184
20184
|
if (ms == null || ms < 0) return "--";
|
|
20185
20185
|
if (ms < 1000) return "< 1s";
|
|
@@ -20296,7 +20296,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
|
|
|
20296
20296
|
|
|
20297
20297
|
// Find soonest countdown among enabled tasks
|
|
20298
20298
|
var soonestMs = null;
|
|
20299
|
-
var _iterator = _createForOfIteratorHelper$
|
|
20299
|
+
var _iterator = _createForOfIteratorHelper$o(enabledTasks),
|
|
20300
20300
|
_step;
|
|
20301
20301
|
try {
|
|
20302
20302
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25553,9 +25553,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
|
|
|
25553
25553
|
var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
|
|
25554
25554
|
var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
|
|
25555
25555
|
|
|
25556
|
-
function _createForOfIteratorHelper$
|
|
25557
|
-
function _unsupportedIterableToArray$
|
|
25558
|
-
function _arrayLikeToArray$
|
|
25556
|
+
function _createForOfIteratorHelper$n(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$n(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
25557
|
+
function _unsupportedIterableToArray$n(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$n(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$n(r, a) : void 0; } }
|
|
25558
|
+
function _arrayLikeToArray$n(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
25559
25559
|
function ownKeys$E(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; }
|
|
25560
25560
|
function _objectSpread$E(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$E(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$E(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
25561
25561
|
|
|
@@ -26178,7 +26178,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
26178
26178
|
return selectable["delete"](cn);
|
|
26179
26179
|
});
|
|
26180
26180
|
var resolved = new Set();
|
|
26181
|
-
var _iterator = _createForOfIteratorHelper$
|
|
26181
|
+
var _iterator = _createForOfIteratorHelper$n(selectable),
|
|
26182
26182
|
_step;
|
|
26183
26183
|
try {
|
|
26184
26184
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28587,9 +28587,9 @@ function migrateBareComponentName(componentMap, component) {
|
|
|
28587
28587
|
|
|
28588
28588
|
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; }
|
|
28589
28589
|
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; }
|
|
28590
|
-
function _createForOfIteratorHelper$
|
|
28591
|
-
function _unsupportedIterableToArray$
|
|
28592
|
-
function _arrayLikeToArray$
|
|
28590
|
+
function _createForOfIteratorHelper$m(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$m(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
28591
|
+
function _unsupportedIterableToArray$m(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$m(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$m(r, a) : void 0; } }
|
|
28592
|
+
function _arrayLikeToArray$m(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
28593
28593
|
/**
|
|
28594
28594
|
* The model for all layout components used primarily in the renderLayout method
|
|
28595
28595
|
* @param {Object} layoutItem an object containing various attributes of the layout item
|
|
@@ -28601,7 +28601,7 @@ function _arrayLikeToArray$l(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
28601
28601
|
function sortObjectByKeys(obj) {
|
|
28602
28602
|
var sortedKeys = Object.keys(obj).sort();
|
|
28603
28603
|
var sortedObj = {};
|
|
28604
|
-
var _iterator = _createForOfIteratorHelper$
|
|
28604
|
+
var _iterator = _createForOfIteratorHelper$m(sortedKeys),
|
|
28605
28605
|
_step;
|
|
28606
28606
|
try {
|
|
28607
28607
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28684,16 +28684,34 @@ var LayoutModel = function LayoutModel(layoutItem, workspaceLayout, dashboardId)
|
|
|
28684
28684
|
/**
|
|
28685
28685
|
* @param {Boolean} canHaveChildren if the layout item can have children (if widget - cannot!)
|
|
28686
28686
|
*/
|
|
28687
|
-
|
|
28687
|
+
// Containers can have children; widgets cannot. Defaults derived
|
|
28688
|
+
// from component name so a pre-v0.1.444 layout item without an
|
|
28689
|
+
// explicit `canHaveChildren` field still classifies correctly.
|
|
28690
|
+
var isContainerComponent = obj.component === "LayoutGridContainer" || obj.component === "Container" || obj.component === "LayoutContainer";
|
|
28691
|
+
layout.canHaveChildren = "canHaveChildren" in obj ? obj.canHaveChildren !== undefined ? obj.canHaveChildren : isContainerComponent : isContainerComponent;
|
|
28688
28692
|
layout.width = "width" in obj ? obj.width : "w-full";
|
|
28689
28693
|
layout.height = "height" in obj ? obj.height : "h-full";
|
|
28690
28694
|
layout.parent = "parent" in obj ? obj.parent : 0;
|
|
28691
28695
|
|
|
28692
28696
|
/**
|
|
28693
28697
|
* @param {String} type The type of the component (widget|grid|workspace|layout)
|
|
28694
|
-
*
|
|
28698
|
+
*
|
|
28699
|
+
* Default is "widget" because users only ever ADD widgets via the
|
|
28700
|
+
* sidebar / drag-drop. Framework chrome (LayoutGridContainer,
|
|
28701
|
+
* Container, etc.) is created by the framework itself and ALWAYS
|
|
28702
|
+
* sets `type` explicitly. Defaulting to "widget" means user data
|
|
28703
|
+
* persisted without an explicit type is correctly typed as a widget
|
|
28704
|
+
* by every consumer (widgets list, listener filter, validation).
|
|
28705
|
+
*
|
|
28706
|
+
* Pre-v0.1.444 the default was "layout", which silently mistyped
|
|
28707
|
+
* thousands of widget instances and broke the WidgetsTab list
|
|
28708
|
+
* filter. The bare-component fallback of `obj.type ||
|
|
28709
|
+
* (FRAMEWORK_CONTAINERS.has(obj.component) ? "layout" : "widget")`
|
|
28710
|
+
* is a defensive snap-back: if a framework container was
|
|
28711
|
+
* persisted without a type, force the right one rather than
|
|
28712
|
+
* trust the new default.
|
|
28695
28713
|
*/
|
|
28696
|
-
layout.type = "type" in obj ? obj.type : "layout";
|
|
28714
|
+
layout.type = "type" in obj ? obj.type : obj.component === "LayoutGridContainer" ? "grid" : obj.component === "Container" || obj.component === "LayoutContainer" ? "layout" : "widget";
|
|
28697
28715
|
|
|
28698
28716
|
/**
|
|
28699
28717
|
* @param {String} workspace The name of the Workspace the component belongs to (can exist in as a child)
|
|
@@ -28895,9 +28913,9 @@ var SettingsModel = function SettingsModel() {
|
|
|
28895
28913
|
return obj;
|
|
28896
28914
|
};
|
|
28897
28915
|
|
|
28898
|
-
function _createForOfIteratorHelper$
|
|
28899
|
-
function _unsupportedIterableToArray$
|
|
28900
|
-
function _arrayLikeToArray$
|
|
28916
|
+
function _createForOfIteratorHelper$l(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$l(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; } } }; }
|
|
28917
|
+
function _unsupportedIterableToArray$l(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$l(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$l(r, a) : void 0; } }
|
|
28918
|
+
function _arrayLikeToArray$l(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; }
|
|
28901
28919
|
|
|
28902
28920
|
/**
|
|
28903
28921
|
* Workspace-level pre-pass that migrates legacy bare component
|
|
@@ -28972,7 +28990,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
28972
28990
|
};
|
|
28973
28991
|
var _walk = function walk(items) {
|
|
28974
28992
|
if (!Array.isArray(items)) return;
|
|
28975
|
-
var _iterator = _createForOfIteratorHelper$
|
|
28993
|
+
var _iterator = _createForOfIteratorHelper$l(items),
|
|
28976
28994
|
_step;
|
|
28977
28995
|
try {
|
|
28978
28996
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28994,7 +29012,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
28994
29012
|
};
|
|
28995
29013
|
_walk(workspace.layout);
|
|
28996
29014
|
if (Array.isArray(workspace.pages)) {
|
|
28997
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
29015
|
+
var _iterator2 = _createForOfIteratorHelper$l(workspace.pages),
|
|
28998
29016
|
_step2;
|
|
28999
29017
|
try {
|
|
29000
29018
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -29011,9 +29029,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
29011
29029
|
return counts;
|
|
29012
29030
|
}
|
|
29013
29031
|
|
|
29014
|
-
function _createForOfIteratorHelper$
|
|
29015
|
-
function _unsupportedIterableToArray$
|
|
29016
|
-
function _arrayLikeToArray$
|
|
29032
|
+
function _createForOfIteratorHelper$k(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$k(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; } } }; }
|
|
29033
|
+
function _unsupportedIterableToArray$k(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$k(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$k(r, a) : void 0; } }
|
|
29034
|
+
function _arrayLikeToArray$k(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; }
|
|
29017
29035
|
/**
|
|
29018
29036
|
* cleanForeignWidgetsFromWorkspace.js
|
|
29019
29037
|
*
|
|
@@ -29054,7 +29072,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
29054
29072
|
var _cleanList = function cleanList(items) {
|
|
29055
29073
|
if (!Array.isArray(items)) return items;
|
|
29056
29074
|
var kept = [];
|
|
29057
|
-
var _iterator = _createForOfIteratorHelper$
|
|
29075
|
+
var _iterator = _createForOfIteratorHelper$k(items),
|
|
29058
29076
|
_step;
|
|
29059
29077
|
try {
|
|
29060
29078
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -29091,7 +29109,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
29091
29109
|
workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
|
|
29092
29110
|
}
|
|
29093
29111
|
if (Array.isArray(workspace.pages)) {
|
|
29094
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
29112
|
+
var _iterator2 = _createForOfIteratorHelper$k(workspace.pages),
|
|
29095
29113
|
_step2;
|
|
29096
29114
|
try {
|
|
29097
29115
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -29109,6 +29127,105 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
29109
29127
|
return summary;
|
|
29110
29128
|
}
|
|
29111
29129
|
|
|
29130
|
+
function _createForOfIteratorHelper$j(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$j(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; } } }; }
|
|
29131
|
+
function _unsupportedIterableToArray$j(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$j(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$j(r, a) : void 0; } }
|
|
29132
|
+
function _arrayLikeToArray$j(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; }
|
|
29133
|
+
/**
|
|
29134
|
+
* migrateLayoutItemTypes.js
|
|
29135
|
+
*
|
|
29136
|
+
* One-shot data migration that runs at workspace load time. Fixes
|
|
29137
|
+
* legacy `item.type` values where user widgets were persisted with
|
|
29138
|
+
* the old `LayoutModel` default (`type: "layout"`) — that default
|
|
29139
|
+
* silently mis-classified every widget as a container, which broke
|
|
29140
|
+
* any downstream code that filtered "is this a user widget?" by
|
|
29141
|
+
* type field.
|
|
29142
|
+
*
|
|
29143
|
+
* Post-v0.1.444 LayoutModel defaults `type` based on component
|
|
29144
|
+
* name. This migration applies the same logic to ALREADY-PERSISTED
|
|
29145
|
+
* items so old workspaces.json data heals on next save.
|
|
29146
|
+
*
|
|
29147
|
+
* Rules:
|
|
29148
|
+
* - `component === "LayoutGridContainer"` → `type: "grid"`
|
|
29149
|
+
* - `component === "Container"` / `"LayoutContainer"` → `type: "layout"`
|
|
29150
|
+
* - Anything else → `type: "widget"`
|
|
29151
|
+
*
|
|
29152
|
+
* Mutates in place. Idempotent — running on a clean workspace is
|
|
29153
|
+
* a no-op. Returns a count of items whose type was corrected.
|
|
29154
|
+
*
|
|
29155
|
+
* @param {Object} workspace
|
|
29156
|
+
* @returns {{ corrected: number }}
|
|
29157
|
+
*/
|
|
29158
|
+
|
|
29159
|
+
var FRAMEWORK_CONTAINER_COMPONENTS = new Set(["LayoutGridContainer", "Container", "LayoutContainer"]);
|
|
29160
|
+
function expectedType(component) {
|
|
29161
|
+
if (component === "LayoutGridContainer") return "grid";
|
|
29162
|
+
if (component === "Container" || component === "LayoutContainer") {
|
|
29163
|
+
return "layout";
|
|
29164
|
+
}
|
|
29165
|
+
return "widget";
|
|
29166
|
+
}
|
|
29167
|
+
function migrateLayoutItemTypes(workspace) {
|
|
29168
|
+
var summary = {
|
|
29169
|
+
corrected: 0
|
|
29170
|
+
};
|
|
29171
|
+
if (!workspace) return summary;
|
|
29172
|
+
var fixItem = function fixItem(item) {
|
|
29173
|
+
if (!item || _typeof(item) !== "object" || !item.component) return;
|
|
29174
|
+
var want = expectedType(item.component);
|
|
29175
|
+
// Only correct OBVIOUS misclassifications. If the persisted type
|
|
29176
|
+
// is `widget` but the component is a known container — fix it.
|
|
29177
|
+
// If a user widget is typed `layout` (the old default) — fix it.
|
|
29178
|
+
// Don't disturb items that were intentionally typed something
|
|
29179
|
+
// unusual (e.g. `workspace`) on a non-container component.
|
|
29180
|
+
var current = item.type;
|
|
29181
|
+
var isContainer = FRAMEWORK_CONTAINER_COMPONENTS.has(item.component);
|
|
29182
|
+
if (isContainer && current !== want) {
|
|
29183
|
+
item.type = want;
|
|
29184
|
+
summary.corrected += 1;
|
|
29185
|
+
return;
|
|
29186
|
+
}
|
|
29187
|
+
if (!isContainer && (current === "layout" || current === undefined)) {
|
|
29188
|
+
item.type = "widget";
|
|
29189
|
+
summary.corrected += 1;
|
|
29190
|
+
}
|
|
29191
|
+
};
|
|
29192
|
+
var _walk = function walk(items) {
|
|
29193
|
+
if (!Array.isArray(items)) return;
|
|
29194
|
+
var _iterator = _createForOfIteratorHelper$j(items),
|
|
29195
|
+
_step;
|
|
29196
|
+
try {
|
|
29197
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
29198
|
+
var item = _step.value;
|
|
29199
|
+
if (!item || _typeof(item) !== "object") continue;
|
|
29200
|
+
fixItem(item);
|
|
29201
|
+
if (Array.isArray(item.items)) _walk(item.items);
|
|
29202
|
+
if (Array.isArray(item.layout)) _walk(item.layout);
|
|
29203
|
+
}
|
|
29204
|
+
} catch (err) {
|
|
29205
|
+
_iterator.e(err);
|
|
29206
|
+
} finally {
|
|
29207
|
+
_iterator.f();
|
|
29208
|
+
}
|
|
29209
|
+
};
|
|
29210
|
+
_walk(workspace.layout);
|
|
29211
|
+
if (Array.isArray(workspace.pages)) {
|
|
29212
|
+
var _iterator2 = _createForOfIteratorHelper$j(workspace.pages),
|
|
29213
|
+
_step2;
|
|
29214
|
+
try {
|
|
29215
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
29216
|
+
var page = _step2.value;
|
|
29217
|
+
_walk(page === null || page === void 0 ? void 0 : page.layout);
|
|
29218
|
+
}
|
|
29219
|
+
} catch (err) {
|
|
29220
|
+
_iterator2.e(err);
|
|
29221
|
+
} finally {
|
|
29222
|
+
_iterator2.f();
|
|
29223
|
+
}
|
|
29224
|
+
}
|
|
29225
|
+
_walk(workspace.sidebarLayout);
|
|
29226
|
+
return summary;
|
|
29227
|
+
}
|
|
29228
|
+
|
|
29112
29229
|
/**
|
|
29113
29230
|
* Default layout for a brand-new workspace: a single 1x1 grid container
|
|
29114
29231
|
* with one empty cell. Mirrors DashboardModel._initializeLayout().
|
|
@@ -29261,6 +29378,14 @@ var WorkspaceModel = function WorkspaceModel(workspaceItem) {
|
|
|
29261
29378
|
// wiring on first load post-v0.1.435.
|
|
29262
29379
|
migrateScopedIdsInWorkspace(workspace, ComponentManager.componentMap());
|
|
29263
29380
|
|
|
29381
|
+
// Pre-v0.1.444 LayoutModel defaulted `item.type` to "layout" — every
|
|
29382
|
+
// widget instance persisted without an explicit type was silently
|
|
29383
|
+
// typed as a container, breaking any UI that filtered by type.
|
|
29384
|
+
// The new default infers from component name; this migration applies
|
|
29385
|
+
// the same inference to legacy on-disk data so existing
|
|
29386
|
+
// workspaces.json heals on the next save.
|
|
29387
|
+
migrateLayoutItemTypes(workspace);
|
|
29388
|
+
|
|
29264
29389
|
// Strip any listener bindings whose source widget is no longer in
|
|
29265
29390
|
// the tree. These "orphan" bindings are dead — they don't match any
|
|
29266
29391
|
// live publisher and never fire — so they're safe to remove at load
|