@trops/dash-core 0.1.40 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +56 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +56 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5174,9 +5174,6 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
|
|
|
5174
5174
|
return array.indexOf(value) === index;
|
|
5175
5175
|
}) : [];
|
|
5176
5176
|
|
|
5177
|
-
// Get the listeners for the current item
|
|
5178
|
-
var listeners = itemSelected ? itemSelected["listeners"] || {} : {};
|
|
5179
|
-
|
|
5180
5177
|
// Get available source widgets with events
|
|
5181
5178
|
var layoutArray = workspaceSelected !== null && Array.isArray(workspaceSelected.layout) ? workspaceSelected.layout : [];
|
|
5182
5179
|
var sourceWidgets = layoutArray.filter(function (l) {
|
|
@@ -5187,6 +5184,31 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
|
|
|
5187
5184
|
return li["component"] !== (itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected["component"]);
|
|
5188
5185
|
});
|
|
5189
5186
|
|
|
5187
|
+
// Build a set of valid event strings from widgets currently in the layout
|
|
5188
|
+
var validEventStrings = new Set();
|
|
5189
|
+
sourceWidgets.forEach(function (layout) {
|
|
5190
|
+
if (Array.isArray(layout.events)) {
|
|
5191
|
+
layout.events.forEach(function (event) {
|
|
5192
|
+
validEventStrings.add("".concat(layout["component"], "[").concat(layout["id"], "].").concat(event));
|
|
5193
|
+
});
|
|
5194
|
+
}
|
|
5195
|
+
});
|
|
5196
|
+
|
|
5197
|
+
// Get the listeners for the current item, filtering out orphaned references
|
|
5198
|
+
var rawListeners = itemSelected ? itemSelected["listeners"] || {} : {};
|
|
5199
|
+
var listeners = {};
|
|
5200
|
+
Object.keys(rawListeners).forEach(function (handler) {
|
|
5201
|
+
var events = rawListeners[handler];
|
|
5202
|
+
if (Array.isArray(events)) {
|
|
5203
|
+
var validEvents = events.filter(function (e) {
|
|
5204
|
+
return validEventStrings.has(e);
|
|
5205
|
+
});
|
|
5206
|
+
if (validEvents.length > 0) {
|
|
5207
|
+
listeners[handler] = validEvents;
|
|
5208
|
+
}
|
|
5209
|
+
}
|
|
5210
|
+
});
|
|
5211
|
+
|
|
5190
5212
|
// Count connected events for a handler
|
|
5191
5213
|
function getConnectedCount(handler) {
|
|
5192
5214
|
return (listeners[handler] || []).length;
|
|
@@ -17149,6 +17171,8 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17149
17171
|
});
|
|
17150
17172
|
// and now handle the parent...
|
|
17151
17173
|
// while(newLayoutLength > 0) {
|
|
17174
|
+
// Clean up listener references to the removed widget
|
|
17175
|
+
this._cleanupListenerReferencesForId(id);
|
|
17152
17176
|
var children = this.layout.filter(function (layoutItem) {
|
|
17153
17177
|
return layoutItem.parent === id;
|
|
17154
17178
|
});
|
|
@@ -17183,6 +17207,35 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17183
17207
|
}
|
|
17184
17208
|
}
|
|
17185
17209
|
|
|
17210
|
+
/**
|
|
17211
|
+
* Remove listener references to a deleted widget from all remaining layout items.
|
|
17212
|
+
* Listener event strings use the format "ComponentName[id].eventName".
|
|
17213
|
+
* @param {number} id - The id of the removed widget
|
|
17214
|
+
*/
|
|
17215
|
+
}, {
|
|
17216
|
+
key: "_cleanupListenerReferencesForId",
|
|
17217
|
+
value: function _cleanupListenerReferencesForId(id) {
|
|
17218
|
+
var pattern = "[".concat(id, "].");
|
|
17219
|
+
this.layout.forEach(function (layoutItem) {
|
|
17220
|
+
if (layoutItem.listeners && _typeof(layoutItem.listeners) === "object") {
|
|
17221
|
+
var handlers = Object.keys(layoutItem.listeners);
|
|
17222
|
+
handlers.forEach(function (handler) {
|
|
17223
|
+
var events = layoutItem.listeners[handler];
|
|
17224
|
+
if (Array.isArray(events)) {
|
|
17225
|
+
var filtered = events.filter(function (event) {
|
|
17226
|
+
return !event.includes(pattern);
|
|
17227
|
+
});
|
|
17228
|
+
if (filtered.length > 0) {
|
|
17229
|
+
layoutItem.listeners[handler] = filtered;
|
|
17230
|
+
} else {
|
|
17231
|
+
delete layoutItem.listeners[handler];
|
|
17232
|
+
}
|
|
17233
|
+
}
|
|
17234
|
+
});
|
|
17235
|
+
}
|
|
17236
|
+
});
|
|
17237
|
+
}
|
|
17238
|
+
|
|
17186
17239
|
/**
|
|
17187
17240
|
* Normalize a grid by repairing hide flags, clamping spans, filling
|
|
17188
17241
|
* missing cells, and compacting fully-hidden rows/columns.
|