@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.esm.js
CHANGED
|
@@ -3057,9 +3057,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
3057
3057
|
|
|
3058
3058
|
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; }
|
|
3059
3059
|
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; }
|
|
3060
|
-
function _createForOfIteratorHelper$
|
|
3061
|
-
function _unsupportedIterableToArray$
|
|
3062
|
-
function _arrayLikeToArray$
|
|
3060
|
+
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; } } }; }
|
|
3061
|
+
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; } }
|
|
3062
|
+
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; }
|
|
3063
3063
|
/**
|
|
3064
3064
|
* Layout template definitions for the dashboard template picker.
|
|
3065
3065
|
*
|
|
@@ -3333,7 +3333,7 @@ function createLayoutFromTemplate(template) {
|
|
|
3333
3333
|
cols: template.cols,
|
|
3334
3334
|
gap: "gap-2"
|
|
3335
3335
|
};
|
|
3336
|
-
var _iterator = _createForOfIteratorHelper$
|
|
3336
|
+
var _iterator = _createForOfIteratorHelper$x(template.cells),
|
|
3337
3337
|
_step;
|
|
3338
3338
|
try {
|
|
3339
3339
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -4264,9 +4264,9 @@ var RegistryAuthModal = function RegistryAuthModal(_ref) {
|
|
|
4264
4264
|
});
|
|
4265
4265
|
};
|
|
4266
4266
|
|
|
4267
|
-
function _createForOfIteratorHelper$
|
|
4268
|
-
function _unsupportedIterableToArray$
|
|
4269
|
-
function _arrayLikeToArray$
|
|
4267
|
+
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; } } }; }
|
|
4268
|
+
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; } }
|
|
4269
|
+
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; }
|
|
4270
4270
|
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; }
|
|
4271
4271
|
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; }
|
|
4272
4272
|
var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
@@ -4507,7 +4507,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4507
4507
|
toInstall = 0,
|
|
4508
4508
|
unavailable = 0,
|
|
4509
4509
|
hasUnavailableRequired = false;
|
|
4510
|
-
var _iterator = _createForOfIteratorHelper$
|
|
4510
|
+
var _iterator = _createForOfIteratorHelper$w(widgetDeps),
|
|
4511
4511
|
_step;
|
|
4512
4512
|
try {
|
|
4513
4513
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -6282,9 +6282,9 @@ function cleanIpcError(message) {
|
|
|
6282
6282
|
return match ? match[1] : message;
|
|
6283
6283
|
}
|
|
6284
6284
|
|
|
6285
|
-
function _createForOfIteratorHelper$
|
|
6286
|
-
function _unsupportedIterableToArray$
|
|
6287
|
-
function _arrayLikeToArray$
|
|
6285
|
+
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; } } }; }
|
|
6286
|
+
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; } }
|
|
6287
|
+
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; }
|
|
6288
6288
|
|
|
6289
6289
|
/**
|
|
6290
6290
|
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
@@ -6398,13 +6398,13 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6398
6398
|
return c.toLowerCase();
|
|
6399
6399
|
}));
|
|
6400
6400
|
widgets = [];
|
|
6401
|
-
_iterator = _createForOfIteratorHelper$
|
|
6401
|
+
_iterator = _createForOfIteratorHelper$v(pkgs);
|
|
6402
6402
|
try {
|
|
6403
6403
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6404
6404
|
pkg = _step.value;
|
|
6405
6405
|
// Compute missing APIs for the entire package
|
|
6406
6406
|
allApiProviders = [];
|
|
6407
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
6407
|
+
_iterator2 = _createForOfIteratorHelper$v(pkg.providers || []);
|
|
6408
6408
|
try {
|
|
6409
6409
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
6410
6410
|
p = _step2.value;
|
|
@@ -6417,11 +6417,11 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6417
6417
|
} finally {
|
|
6418
6418
|
_iterator2.f();
|
|
6419
6419
|
}
|
|
6420
|
-
_iterator3 = _createForOfIteratorHelper$
|
|
6420
|
+
_iterator3 = _createForOfIteratorHelper$v(pkg.widgets || []);
|
|
6421
6421
|
try {
|
|
6422
6422
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
6423
6423
|
w = _step3.value;
|
|
6424
|
-
_iterator5 = _createForOfIteratorHelper$
|
|
6424
|
+
_iterator5 = _createForOfIteratorHelper$v(w.providers || []);
|
|
6425
6425
|
try {
|
|
6426
6426
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
6427
6427
|
_p = _step5.value;
|
|
@@ -6443,7 +6443,7 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6443
6443
|
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
6444
6444
|
return !capSet.has(api.toLowerCase());
|
|
6445
6445
|
});
|
|
6446
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
6446
|
+
_iterator4 = _createForOfIteratorHelper$v(pkg.widgets || []);
|
|
6447
6447
|
try {
|
|
6448
6448
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
6449
6449
|
widget = _step4.value;
|
|
@@ -7064,9 +7064,9 @@ function applyFilters(items, filters, mode) {
|
|
|
7064
7064
|
});
|
|
7065
7065
|
}
|
|
7066
7066
|
|
|
7067
|
-
function _createForOfIteratorHelper$
|
|
7068
|
-
function _unsupportedIterableToArray$
|
|
7069
|
-
function _arrayLikeToArray$
|
|
7067
|
+
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; } } }; }
|
|
7068
|
+
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; } }
|
|
7069
|
+
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; }
|
|
7070
7070
|
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; }
|
|
7071
7071
|
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; }
|
|
7072
7072
|
var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
@@ -7290,7 +7290,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7290
7290
|
installedNames = new Set(installedList.map(function (w) {
|
|
7291
7291
|
return w.name;
|
|
7292
7292
|
}));
|
|
7293
|
-
_iterator = _createForOfIteratorHelper$
|
|
7293
|
+
_iterator = _createForOfIteratorHelper$u(state.selectedWidgets);
|
|
7294
7294
|
_context2.prev = 13;
|
|
7295
7295
|
_iterator.s();
|
|
7296
7296
|
case 14:
|
|
@@ -12978,9 +12978,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12978
12978
|
};
|
|
12979
12979
|
|
|
12980
12980
|
var _excluded$6 = ["rows", "cols"];
|
|
12981
|
-
function _createForOfIteratorHelper$
|
|
12982
|
-
function _unsupportedIterableToArray$
|
|
12983
|
-
function _arrayLikeToArray$
|
|
12981
|
+
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; } } }; }
|
|
12982
|
+
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; } }
|
|
12983
|
+
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; }
|
|
12984
12984
|
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; }
|
|
12985
12985
|
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; }
|
|
12986
12986
|
var defaultGrid = {
|
|
@@ -13133,7 +13133,7 @@ function GridEditor(_ref) {
|
|
|
13133
13133
|
function sortObjectByKeys(obj) {
|
|
13134
13134
|
var sortedKeys = Object.keys(obj).sort();
|
|
13135
13135
|
var sortedObj = {};
|
|
13136
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13136
|
+
var _iterator = _createForOfIteratorHelper$t(sortedKeys),
|
|
13137
13137
|
_step;
|
|
13138
13138
|
try {
|
|
13139
13139
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13606,9 +13606,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13606
13606
|
});
|
|
13607
13607
|
};
|
|
13608
13608
|
|
|
13609
|
-
function _createForOfIteratorHelper$
|
|
13610
|
-
function _unsupportedIterableToArray$
|
|
13611
|
-
function _arrayLikeToArray$
|
|
13609
|
+
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; } } }; }
|
|
13610
|
+
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; } }
|
|
13611
|
+
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; }
|
|
13612
13612
|
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; }
|
|
13613
13613
|
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; }
|
|
13614
13614
|
var DAYS = [{
|
|
@@ -13937,7 +13937,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
13937
13937
|
setIsLoading(true);
|
|
13938
13938
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
13939
13939
|
var stateMap = {};
|
|
13940
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13940
|
+
var _iterator = _createForOfIteratorHelper$s(tasks || []),
|
|
13941
13941
|
_step;
|
|
13942
13942
|
try {
|
|
13943
13943
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -14171,7 +14171,7 @@ function belongsToWorkspace(item, workspace) {
|
|
|
14171
14171
|
if (itemDashId === undefined || itemDashId === null) return false;
|
|
14172
14172
|
return String(itemDashId) === String(wsId);
|
|
14173
14173
|
}
|
|
14174
|
-
var FRAMEWORK_CONTAINER_COMPONENTS = new Set(["LayoutGridContainer", "Container", "LayoutContainer"]);
|
|
14174
|
+
var FRAMEWORK_CONTAINER_COMPONENTS$1 = new Set(["LayoutGridContainer", "Container", "LayoutContainer"]);
|
|
14175
14175
|
|
|
14176
14176
|
/**
|
|
14177
14177
|
* Is this layout item a USER widget (i.e. something the user added
|
|
@@ -14192,13 +14192,13 @@ var FRAMEWORK_CONTAINER_COMPONENTS = new Set(["LayoutGridContainer", "Container"
|
|
|
14192
14192
|
*/
|
|
14193
14193
|
function isUserWidget(item) {
|
|
14194
14194
|
if (!item || _typeof(item) !== "object" || !item.component) return false;
|
|
14195
|
-
if (FRAMEWORK_CONTAINER_COMPONENTS.has(item.component)) return false;
|
|
14195
|
+
if (FRAMEWORK_CONTAINER_COMPONENTS$1.has(item.component)) return false;
|
|
14196
14196
|
return true;
|
|
14197
14197
|
}
|
|
14198
14198
|
|
|
14199
|
-
function _createForOfIteratorHelper$
|
|
14200
|
-
function _unsupportedIterableToArray$
|
|
14201
|
-
function _arrayLikeToArray$
|
|
14199
|
+
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; } } }; }
|
|
14200
|
+
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; } }
|
|
14201
|
+
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; }
|
|
14202
14202
|
|
|
14203
14203
|
/**
|
|
14204
14204
|
* Resolve which provider name a given widget instance would bind to for
|
|
@@ -14230,7 +14230,7 @@ function resolveProviderName(_ref) {
|
|
|
14230
14230
|
// array. Support both because different callers shape it either way.
|
|
14231
14231
|
if (appProviders) {
|
|
14232
14232
|
if (Array.isArray(appProviders)) {
|
|
14233
|
-
var _iterator = _createForOfIteratorHelper$
|
|
14233
|
+
var _iterator = _createForOfIteratorHelper$r(appProviders),
|
|
14234
14234
|
_step;
|
|
14235
14235
|
try {
|
|
14236
14236
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -14290,7 +14290,7 @@ function forEachWidget(workspace, visit) {
|
|
|
14290
14290
|
};
|
|
14291
14291
|
var _walk = function walk(items) {
|
|
14292
14292
|
if (!Array.isArray(items)) return;
|
|
14293
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
14293
|
+
var _iterator2 = _createForOfIteratorHelper$r(items),
|
|
14294
14294
|
_step2;
|
|
14295
14295
|
try {
|
|
14296
14296
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -14320,7 +14320,7 @@ function forEachWidget(workspace, visit) {
|
|
|
14320
14320
|
};
|
|
14321
14321
|
_walk(workspace.layout);
|
|
14322
14322
|
if (Array.isArray(workspace.pages)) {
|
|
14323
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
14323
|
+
var _iterator3 = _createForOfIteratorHelper$r(workspace.pages),
|
|
14324
14324
|
_step3;
|
|
14325
14325
|
try {
|
|
14326
14326
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -14364,7 +14364,7 @@ function getUnresolvedProviders(_ref2) {
|
|
|
14364
14364
|
var requirements = getWidgetRequirements(item.component) || [];
|
|
14365
14365
|
if (!Array.isArray(requirements) || requirements.length === 0) return;
|
|
14366
14366
|
var widgetId = item.uuidString || item.uuid || item.id || null;
|
|
14367
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
14367
|
+
var _iterator4 = _createForOfIteratorHelper$r(requirements),
|
|
14368
14368
|
_step4;
|
|
14369
14369
|
try {
|
|
14370
14370
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -14405,7 +14405,7 @@ function getUnresolvedProviders(_ref2) {
|
|
|
14405
14405
|
*/
|
|
14406
14406
|
function groupByProviderType(unresolved) {
|
|
14407
14407
|
var byType = new Map();
|
|
14408
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
14408
|
+
var _iterator5 = _createForOfIteratorHelper$r(unresolved || []),
|
|
14409
14409
|
_step5;
|
|
14410
14410
|
try {
|
|
14411
14411
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -14441,7 +14441,7 @@ function getAllProviderBindings(_ref3) {
|
|
|
14441
14441
|
var requirements = getWidgetRequirements(item.component) || [];
|
|
14442
14442
|
if (!Array.isArray(requirements) || requirements.length === 0) return;
|
|
14443
14443
|
var widgetId = item.uuidString || item.uuid || item.id || null;
|
|
14444
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
14444
|
+
var _iterator6 = _createForOfIteratorHelper$r(requirements),
|
|
14445
14445
|
_step6;
|
|
14446
14446
|
try {
|
|
14447
14447
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -14481,9 +14481,9 @@ function getAllProviderBindings(_ref3) {
|
|
|
14481
14481
|
|
|
14482
14482
|
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; }
|
|
14483
14483
|
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; }
|
|
14484
|
-
function _createForOfIteratorHelper$
|
|
14485
|
-
function _unsupportedIterableToArray$
|
|
14486
|
-
function _arrayLikeToArray$
|
|
14484
|
+
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; } } }; }
|
|
14485
|
+
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; } }
|
|
14486
|
+
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; }
|
|
14487
14487
|
var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
|
|
14488
14488
|
|
|
14489
14489
|
/** Parse "Component[itemId].event" → { component, itemId, event }. */
|
|
@@ -14653,7 +14653,7 @@ function getCurrentWiring(workspace) {
|
|
|
14653
14653
|
// Live format is array; defensive guard for legacy object
|
|
14654
14654
|
// form (a single source widget keyed under the handler).
|
|
14655
14655
|
var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
|
|
14656
|
-
var _iterator = _createForOfIteratorHelper$
|
|
14656
|
+
var _iterator = _createForOfIteratorHelper$q(events),
|
|
14657
14657
|
_step;
|
|
14658
14658
|
try {
|
|
14659
14659
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -14716,7 +14716,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
|
|
|
14716
14716
|
if (!byItemId.has(id)) byItemId.set(id, meta);
|
|
14717
14717
|
});
|
|
14718
14718
|
var orphans = [];
|
|
14719
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
14719
|
+
var _iterator2 = _createForOfIteratorHelper$q(wiring),
|
|
14720
14720
|
_step2;
|
|
14721
14721
|
try {
|
|
14722
14722
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -14782,7 +14782,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14782
14782
|
var liveKeys = new Set();
|
|
14783
14783
|
var _walkForLive = function walkForLive(items) {
|
|
14784
14784
|
if (!Array.isArray(items)) return;
|
|
14785
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
14785
|
+
var _iterator3 = _createForOfIteratorHelper$q(items),
|
|
14786
14786
|
_step3;
|
|
14787
14787
|
try {
|
|
14788
14788
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -14803,7 +14803,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14803
14803
|
};
|
|
14804
14804
|
_walkForLive(workspace.layout);
|
|
14805
14805
|
if (Array.isArray(workspace.pages)) {
|
|
14806
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
14806
|
+
var _iterator4 = _createForOfIteratorHelper$q(workspace.pages),
|
|
14807
14807
|
_step4;
|
|
14808
14808
|
try {
|
|
14809
14809
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -14820,7 +14820,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14820
14820
|
var removed = 0;
|
|
14821
14821
|
var _pruneListeners = function pruneListeners(items) {
|
|
14822
14822
|
if (!Array.isArray(items)) return;
|
|
14823
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
14823
|
+
var _iterator5 = _createForOfIteratorHelper$q(items),
|
|
14824
14824
|
_step5;
|
|
14825
14825
|
try {
|
|
14826
14826
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -14832,7 +14832,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14832
14832
|
var events = item.listeners[handler];
|
|
14833
14833
|
if (!Array.isArray(events)) continue;
|
|
14834
14834
|
var kept = [];
|
|
14835
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
14835
|
+
var _iterator6 = _createForOfIteratorHelper$q(events),
|
|
14836
14836
|
_step6;
|
|
14837
14837
|
try {
|
|
14838
14838
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -14867,7 +14867,7 @@ function pruneDeadListenerReferences(workspace) {
|
|
|
14867
14867
|
};
|
|
14868
14868
|
_pruneListeners(workspace.layout);
|
|
14869
14869
|
if (Array.isArray(workspace.pages)) {
|
|
14870
|
-
var _iterator7 = _createForOfIteratorHelper$
|
|
14870
|
+
var _iterator7 = _createForOfIteratorHelper$q(workspace.pages),
|
|
14871
14871
|
_step7;
|
|
14872
14872
|
try {
|
|
14873
14873
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
@@ -14911,7 +14911,7 @@ function applyWiringChanges(workspace, _ref) {
|
|
|
14911
14911
|
});
|
|
14912
14912
|
return byReceiver.get(id);
|
|
14913
14913
|
};
|
|
14914
|
-
var _iterator8 = _createForOfIteratorHelper$
|
|
14914
|
+
var _iterator8 = _createForOfIteratorHelper$q(adds),
|
|
14915
14915
|
_step8;
|
|
14916
14916
|
try {
|
|
14917
14917
|
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
@@ -14924,7 +14924,7 @@ function applyWiringChanges(workspace, _ref) {
|
|
|
14924
14924
|
} finally {
|
|
14925
14925
|
_iterator8.f();
|
|
14926
14926
|
}
|
|
14927
|
-
var _iterator9 = _createForOfIteratorHelper$
|
|
14927
|
+
var _iterator9 = _createForOfIteratorHelper$q(removes),
|
|
14928
14928
|
_step9;
|
|
14929
14929
|
try {
|
|
14930
14930
|
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
@@ -14998,7 +14998,7 @@ function applyToItem(listeners, _ref2) {
|
|
|
14998
14998
|
}
|
|
14999
14999
|
|
|
15000
15000
|
// Removes first so a re-add (rare) lands.
|
|
15001
|
-
var _iterator0 = _createForOfIteratorHelper$
|
|
15001
|
+
var _iterator0 = _createForOfIteratorHelper$q(removes),
|
|
15002
15002
|
_step0;
|
|
15003
15003
|
try {
|
|
15004
15004
|
var _loop = function _loop() {
|
|
@@ -15027,7 +15027,7 @@ function applyToItem(listeners, _ref2) {
|
|
|
15027
15027
|
} finally {
|
|
15028
15028
|
_iterator0.f();
|
|
15029
15029
|
}
|
|
15030
|
-
var _iterator1 = _createForOfIteratorHelper$
|
|
15030
|
+
var _iterator1 = _createForOfIteratorHelper$q(adds),
|
|
15031
15031
|
_step1;
|
|
15032
15032
|
try {
|
|
15033
15033
|
for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
|
|
@@ -17974,9 +17974,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
|
|
|
17974
17974
|
return result;
|
|
17975
17975
|
}
|
|
17976
17976
|
|
|
17977
|
-
function _createForOfIteratorHelper$
|
|
17978
|
-
function _unsupportedIterableToArray$
|
|
17979
|
-
function _arrayLikeToArray$
|
|
17977
|
+
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; } } }; }
|
|
17978
|
+
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; } }
|
|
17979
|
+
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; }
|
|
17980
17980
|
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; }
|
|
17981
17981
|
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; }
|
|
17982
17982
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -18261,11 +18261,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
18261
18261
|
|
|
18262
18262
|
// Flatten all widgets from all packages for the widget list
|
|
18263
18263
|
flatWidgets = [];
|
|
18264
|
-
_iterator = _createForOfIteratorHelper$
|
|
18264
|
+
_iterator = _createForOfIteratorHelper$p(result.packages || []);
|
|
18265
18265
|
try {
|
|
18266
18266
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
18267
18267
|
pkg = _step.value;
|
|
18268
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
18268
|
+
_iterator2 = _createForOfIteratorHelper$p(pkg.widgets || []);
|
|
18269
18269
|
try {
|
|
18270
18270
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
18271
18271
|
widget = _step2.value;
|
|
@@ -20159,9 +20159,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
|
|
|
20159
20159
|
};
|
|
20160
20160
|
};
|
|
20161
20161
|
|
|
20162
|
-
function _createForOfIteratorHelper$
|
|
20163
|
-
function _unsupportedIterableToArray$
|
|
20164
|
-
function _arrayLikeToArray$
|
|
20162
|
+
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; } } }; }
|
|
20163
|
+
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; } }
|
|
20164
|
+
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; }
|
|
20165
20165
|
function formatCountdown(ms) {
|
|
20166
20166
|
if (ms == null || ms < 0) return "--";
|
|
20167
20167
|
if (ms < 1000) return "< 1s";
|
|
@@ -20278,7 +20278,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
|
|
|
20278
20278
|
|
|
20279
20279
|
// Find soonest countdown among enabled tasks
|
|
20280
20280
|
var soonestMs = null;
|
|
20281
|
-
var _iterator = _createForOfIteratorHelper$
|
|
20281
|
+
var _iterator = _createForOfIteratorHelper$o(enabledTasks),
|
|
20282
20282
|
_step;
|
|
20283
20283
|
try {
|
|
20284
20284
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -25535,9 +25535,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
|
|
|
25535
25535
|
var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
|
|
25536
25536
|
var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
|
|
25537
25537
|
|
|
25538
|
-
function _createForOfIteratorHelper$
|
|
25539
|
-
function _unsupportedIterableToArray$
|
|
25540
|
-
function _arrayLikeToArray$
|
|
25538
|
+
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; } } }; }
|
|
25539
|
+
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; } }
|
|
25540
|
+
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; }
|
|
25541
25541
|
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; }
|
|
25542
25542
|
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; }
|
|
25543
25543
|
|
|
@@ -26160,7 +26160,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
26160
26160
|
return selectable["delete"](cn);
|
|
26161
26161
|
});
|
|
26162
26162
|
var resolved = new Set();
|
|
26163
|
-
var _iterator = _createForOfIteratorHelper$
|
|
26163
|
+
var _iterator = _createForOfIteratorHelper$n(selectable),
|
|
26164
26164
|
_step;
|
|
26165
26165
|
try {
|
|
26166
26166
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28569,9 +28569,9 @@ function migrateBareComponentName(componentMap, component) {
|
|
|
28569
28569
|
|
|
28570
28570
|
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; }
|
|
28571
28571
|
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; }
|
|
28572
|
-
function _createForOfIteratorHelper$
|
|
28573
|
-
function _unsupportedIterableToArray$
|
|
28574
|
-
function _arrayLikeToArray$
|
|
28572
|
+
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; } } }; }
|
|
28573
|
+
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; } }
|
|
28574
|
+
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; }
|
|
28575
28575
|
/**
|
|
28576
28576
|
* The model for all layout components used primarily in the renderLayout method
|
|
28577
28577
|
* @param {Object} layoutItem an object containing various attributes of the layout item
|
|
@@ -28583,7 +28583,7 @@ function _arrayLikeToArray$l(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
28583
28583
|
function sortObjectByKeys(obj) {
|
|
28584
28584
|
var sortedKeys = Object.keys(obj).sort();
|
|
28585
28585
|
var sortedObj = {};
|
|
28586
|
-
var _iterator = _createForOfIteratorHelper$
|
|
28586
|
+
var _iterator = _createForOfIteratorHelper$m(sortedKeys),
|
|
28587
28587
|
_step;
|
|
28588
28588
|
try {
|
|
28589
28589
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28666,16 +28666,34 @@ var LayoutModel = function LayoutModel(layoutItem, workspaceLayout, dashboardId)
|
|
|
28666
28666
|
/**
|
|
28667
28667
|
* @param {Boolean} canHaveChildren if the layout item can have children (if widget - cannot!)
|
|
28668
28668
|
*/
|
|
28669
|
-
|
|
28669
|
+
// Containers can have children; widgets cannot. Defaults derived
|
|
28670
|
+
// from component name so a pre-v0.1.444 layout item without an
|
|
28671
|
+
// explicit `canHaveChildren` field still classifies correctly.
|
|
28672
|
+
var isContainerComponent = obj.component === "LayoutGridContainer" || obj.component === "Container" || obj.component === "LayoutContainer";
|
|
28673
|
+
layout.canHaveChildren = "canHaveChildren" in obj ? obj.canHaveChildren !== undefined ? obj.canHaveChildren : isContainerComponent : isContainerComponent;
|
|
28670
28674
|
layout.width = "width" in obj ? obj.width : "w-full";
|
|
28671
28675
|
layout.height = "height" in obj ? obj.height : "h-full";
|
|
28672
28676
|
layout.parent = "parent" in obj ? obj.parent : 0;
|
|
28673
28677
|
|
|
28674
28678
|
/**
|
|
28675
28679
|
* @param {String} type The type of the component (widget|grid|workspace|layout)
|
|
28676
|
-
*
|
|
28680
|
+
*
|
|
28681
|
+
* Default is "widget" because users only ever ADD widgets via the
|
|
28682
|
+
* sidebar / drag-drop. Framework chrome (LayoutGridContainer,
|
|
28683
|
+
* Container, etc.) is created by the framework itself and ALWAYS
|
|
28684
|
+
* sets `type` explicitly. Defaulting to "widget" means user data
|
|
28685
|
+
* persisted without an explicit type is correctly typed as a widget
|
|
28686
|
+
* by every consumer (widgets list, listener filter, validation).
|
|
28687
|
+
*
|
|
28688
|
+
* Pre-v0.1.444 the default was "layout", which silently mistyped
|
|
28689
|
+
* thousands of widget instances and broke the WidgetsTab list
|
|
28690
|
+
* filter. The bare-component fallback of `obj.type ||
|
|
28691
|
+
* (FRAMEWORK_CONTAINERS.has(obj.component) ? "layout" : "widget")`
|
|
28692
|
+
* is a defensive snap-back: if a framework container was
|
|
28693
|
+
* persisted without a type, force the right one rather than
|
|
28694
|
+
* trust the new default.
|
|
28677
28695
|
*/
|
|
28678
|
-
layout.type = "type" in obj ? obj.type : "layout";
|
|
28696
|
+
layout.type = "type" in obj ? obj.type : obj.component === "LayoutGridContainer" ? "grid" : obj.component === "Container" || obj.component === "LayoutContainer" ? "layout" : "widget";
|
|
28679
28697
|
|
|
28680
28698
|
/**
|
|
28681
28699
|
* @param {String} workspace The name of the Workspace the component belongs to (can exist in as a child)
|
|
@@ -28877,9 +28895,9 @@ var SettingsModel = function SettingsModel() {
|
|
|
28877
28895
|
return obj;
|
|
28878
28896
|
};
|
|
28879
28897
|
|
|
28880
|
-
function _createForOfIteratorHelper$
|
|
28881
|
-
function _unsupportedIterableToArray$
|
|
28882
|
-
function _arrayLikeToArray$
|
|
28898
|
+
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; } } }; }
|
|
28899
|
+
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; } }
|
|
28900
|
+
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; }
|
|
28883
28901
|
|
|
28884
28902
|
/**
|
|
28885
28903
|
* Workspace-level pre-pass that migrates legacy bare component
|
|
@@ -28954,7 +28972,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
28954
28972
|
};
|
|
28955
28973
|
var _walk = function walk(items) {
|
|
28956
28974
|
if (!Array.isArray(items)) return;
|
|
28957
|
-
var _iterator = _createForOfIteratorHelper$
|
|
28975
|
+
var _iterator = _createForOfIteratorHelper$l(items),
|
|
28958
28976
|
_step;
|
|
28959
28977
|
try {
|
|
28960
28978
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28976,7 +28994,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
28976
28994
|
};
|
|
28977
28995
|
_walk(workspace.layout);
|
|
28978
28996
|
if (Array.isArray(workspace.pages)) {
|
|
28979
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
28997
|
+
var _iterator2 = _createForOfIteratorHelper$l(workspace.pages),
|
|
28980
28998
|
_step2;
|
|
28981
28999
|
try {
|
|
28982
29000
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -28993,9 +29011,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
|
|
|
28993
29011
|
return counts;
|
|
28994
29012
|
}
|
|
28995
29013
|
|
|
28996
|
-
function _createForOfIteratorHelper$
|
|
28997
|
-
function _unsupportedIterableToArray$
|
|
28998
|
-
function _arrayLikeToArray$
|
|
29014
|
+
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; } } }; }
|
|
29015
|
+
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; } }
|
|
29016
|
+
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; }
|
|
28999
29017
|
/**
|
|
29000
29018
|
* cleanForeignWidgetsFromWorkspace.js
|
|
29001
29019
|
*
|
|
@@ -29036,7 +29054,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
29036
29054
|
var _cleanList = function cleanList(items) {
|
|
29037
29055
|
if (!Array.isArray(items)) return items;
|
|
29038
29056
|
var kept = [];
|
|
29039
|
-
var _iterator = _createForOfIteratorHelper$
|
|
29057
|
+
var _iterator = _createForOfIteratorHelper$k(items),
|
|
29040
29058
|
_step;
|
|
29041
29059
|
try {
|
|
29042
29060
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -29073,7 +29091,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
29073
29091
|
workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
|
|
29074
29092
|
}
|
|
29075
29093
|
if (Array.isArray(workspace.pages)) {
|
|
29076
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
29094
|
+
var _iterator2 = _createForOfIteratorHelper$k(workspace.pages),
|
|
29077
29095
|
_step2;
|
|
29078
29096
|
try {
|
|
29079
29097
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -29091,6 +29109,105 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
|
|
|
29091
29109
|
return summary;
|
|
29092
29110
|
}
|
|
29093
29111
|
|
|
29112
|
+
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; } } }; }
|
|
29113
|
+
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; } }
|
|
29114
|
+
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; }
|
|
29115
|
+
/**
|
|
29116
|
+
* migrateLayoutItemTypes.js
|
|
29117
|
+
*
|
|
29118
|
+
* One-shot data migration that runs at workspace load time. Fixes
|
|
29119
|
+
* legacy `item.type` values where user widgets were persisted with
|
|
29120
|
+
* the old `LayoutModel` default (`type: "layout"`) — that default
|
|
29121
|
+
* silently mis-classified every widget as a container, which broke
|
|
29122
|
+
* any downstream code that filtered "is this a user widget?" by
|
|
29123
|
+
* type field.
|
|
29124
|
+
*
|
|
29125
|
+
* Post-v0.1.444 LayoutModel defaults `type` based on component
|
|
29126
|
+
* name. This migration applies the same logic to ALREADY-PERSISTED
|
|
29127
|
+
* items so old workspaces.json data heals on next save.
|
|
29128
|
+
*
|
|
29129
|
+
* Rules:
|
|
29130
|
+
* - `component === "LayoutGridContainer"` → `type: "grid"`
|
|
29131
|
+
* - `component === "Container"` / `"LayoutContainer"` → `type: "layout"`
|
|
29132
|
+
* - Anything else → `type: "widget"`
|
|
29133
|
+
*
|
|
29134
|
+
* Mutates in place. Idempotent — running on a clean workspace is
|
|
29135
|
+
* a no-op. Returns a count of items whose type was corrected.
|
|
29136
|
+
*
|
|
29137
|
+
* @param {Object} workspace
|
|
29138
|
+
* @returns {{ corrected: number }}
|
|
29139
|
+
*/
|
|
29140
|
+
|
|
29141
|
+
var FRAMEWORK_CONTAINER_COMPONENTS = new Set(["LayoutGridContainer", "Container", "LayoutContainer"]);
|
|
29142
|
+
function expectedType(component) {
|
|
29143
|
+
if (component === "LayoutGridContainer") return "grid";
|
|
29144
|
+
if (component === "Container" || component === "LayoutContainer") {
|
|
29145
|
+
return "layout";
|
|
29146
|
+
}
|
|
29147
|
+
return "widget";
|
|
29148
|
+
}
|
|
29149
|
+
function migrateLayoutItemTypes(workspace) {
|
|
29150
|
+
var summary = {
|
|
29151
|
+
corrected: 0
|
|
29152
|
+
};
|
|
29153
|
+
if (!workspace) return summary;
|
|
29154
|
+
var fixItem = function fixItem(item) {
|
|
29155
|
+
if (!item || _typeof(item) !== "object" || !item.component) return;
|
|
29156
|
+
var want = expectedType(item.component);
|
|
29157
|
+
// Only correct OBVIOUS misclassifications. If the persisted type
|
|
29158
|
+
// is `widget` but the component is a known container — fix it.
|
|
29159
|
+
// If a user widget is typed `layout` (the old default) — fix it.
|
|
29160
|
+
// Don't disturb items that were intentionally typed something
|
|
29161
|
+
// unusual (e.g. `workspace`) on a non-container component.
|
|
29162
|
+
var current = item.type;
|
|
29163
|
+
var isContainer = FRAMEWORK_CONTAINER_COMPONENTS.has(item.component);
|
|
29164
|
+
if (isContainer && current !== want) {
|
|
29165
|
+
item.type = want;
|
|
29166
|
+
summary.corrected += 1;
|
|
29167
|
+
return;
|
|
29168
|
+
}
|
|
29169
|
+
if (!isContainer && (current === "layout" || current === undefined)) {
|
|
29170
|
+
item.type = "widget";
|
|
29171
|
+
summary.corrected += 1;
|
|
29172
|
+
}
|
|
29173
|
+
};
|
|
29174
|
+
var _walk = function walk(items) {
|
|
29175
|
+
if (!Array.isArray(items)) return;
|
|
29176
|
+
var _iterator = _createForOfIteratorHelper$j(items),
|
|
29177
|
+
_step;
|
|
29178
|
+
try {
|
|
29179
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
29180
|
+
var item = _step.value;
|
|
29181
|
+
if (!item || _typeof(item) !== "object") continue;
|
|
29182
|
+
fixItem(item);
|
|
29183
|
+
if (Array.isArray(item.items)) _walk(item.items);
|
|
29184
|
+
if (Array.isArray(item.layout)) _walk(item.layout);
|
|
29185
|
+
}
|
|
29186
|
+
} catch (err) {
|
|
29187
|
+
_iterator.e(err);
|
|
29188
|
+
} finally {
|
|
29189
|
+
_iterator.f();
|
|
29190
|
+
}
|
|
29191
|
+
};
|
|
29192
|
+
_walk(workspace.layout);
|
|
29193
|
+
if (Array.isArray(workspace.pages)) {
|
|
29194
|
+
var _iterator2 = _createForOfIteratorHelper$j(workspace.pages),
|
|
29195
|
+
_step2;
|
|
29196
|
+
try {
|
|
29197
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
29198
|
+
var page = _step2.value;
|
|
29199
|
+
_walk(page === null || page === void 0 ? void 0 : page.layout);
|
|
29200
|
+
}
|
|
29201
|
+
} catch (err) {
|
|
29202
|
+
_iterator2.e(err);
|
|
29203
|
+
} finally {
|
|
29204
|
+
_iterator2.f();
|
|
29205
|
+
}
|
|
29206
|
+
}
|
|
29207
|
+
_walk(workspace.sidebarLayout);
|
|
29208
|
+
return summary;
|
|
29209
|
+
}
|
|
29210
|
+
|
|
29094
29211
|
/**
|
|
29095
29212
|
* Default layout for a brand-new workspace: a single 1x1 grid container
|
|
29096
29213
|
* with one empty cell. Mirrors DashboardModel._initializeLayout().
|
|
@@ -29243,6 +29360,14 @@ var WorkspaceModel = function WorkspaceModel(workspaceItem) {
|
|
|
29243
29360
|
// wiring on first load post-v0.1.435.
|
|
29244
29361
|
migrateScopedIdsInWorkspace(workspace, ComponentManager.componentMap());
|
|
29245
29362
|
|
|
29363
|
+
// Pre-v0.1.444 LayoutModel defaulted `item.type` to "layout" — every
|
|
29364
|
+
// widget instance persisted without an explicit type was silently
|
|
29365
|
+
// typed as a container, breaking any UI that filtered by type.
|
|
29366
|
+
// The new default infers from component name; this migration applies
|
|
29367
|
+
// the same inference to legacy on-disk data so existing
|
|
29368
|
+
// workspaces.json heals on the next save.
|
|
29369
|
+
migrateLayoutItemTypes(workspace);
|
|
29370
|
+
|
|
29246
29371
|
// Strip any listener bindings whose source widget is no longer in
|
|
29247
29372
|
// the tree. These "orphan" bindings are dead — they don't match any
|
|
29248
29373
|
// live publisher and never fire — so they're safe to remove at load
|