@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.esm.js
CHANGED
|
@@ -5155,9 +5155,6 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
|
|
|
5155
5155
|
return array.indexOf(value) === index;
|
|
5156
5156
|
}) : [];
|
|
5157
5157
|
|
|
5158
|
-
// Get the listeners for the current item
|
|
5159
|
-
var listeners = itemSelected ? itemSelected["listeners"] || {} : {};
|
|
5160
|
-
|
|
5161
5158
|
// Get available source widgets with events
|
|
5162
5159
|
var layoutArray = workspaceSelected !== null && Array.isArray(workspaceSelected.layout) ? workspaceSelected.layout : [];
|
|
5163
5160
|
var sourceWidgets = layoutArray.filter(function (l) {
|
|
@@ -5168,6 +5165,31 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
|
|
|
5168
5165
|
return li["component"] !== (itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected["component"]);
|
|
5169
5166
|
});
|
|
5170
5167
|
|
|
5168
|
+
// Build a set of valid event strings from widgets currently in the layout
|
|
5169
|
+
var validEventStrings = new Set();
|
|
5170
|
+
sourceWidgets.forEach(function (layout) {
|
|
5171
|
+
if (Array.isArray(layout.events)) {
|
|
5172
|
+
layout.events.forEach(function (event) {
|
|
5173
|
+
validEventStrings.add("".concat(layout["component"], "[").concat(layout["id"], "].").concat(event));
|
|
5174
|
+
});
|
|
5175
|
+
}
|
|
5176
|
+
});
|
|
5177
|
+
|
|
5178
|
+
// Get the listeners for the current item, filtering out orphaned references
|
|
5179
|
+
var rawListeners = itemSelected ? itemSelected["listeners"] || {} : {};
|
|
5180
|
+
var listeners = {};
|
|
5181
|
+
Object.keys(rawListeners).forEach(function (handler) {
|
|
5182
|
+
var events = rawListeners[handler];
|
|
5183
|
+
if (Array.isArray(events)) {
|
|
5184
|
+
var validEvents = events.filter(function (e) {
|
|
5185
|
+
return validEventStrings.has(e);
|
|
5186
|
+
});
|
|
5187
|
+
if (validEvents.length > 0) {
|
|
5188
|
+
listeners[handler] = validEvents;
|
|
5189
|
+
}
|
|
5190
|
+
}
|
|
5191
|
+
});
|
|
5192
|
+
|
|
5171
5193
|
// Count connected events for a handler
|
|
5172
5194
|
function getConnectedCount(handler) {
|
|
5173
5195
|
return (listeners[handler] || []).length;
|
|
@@ -17130,6 +17152,8 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17130
17152
|
});
|
|
17131
17153
|
// and now handle the parent...
|
|
17132
17154
|
// while(newLayoutLength > 0) {
|
|
17155
|
+
// Clean up listener references to the removed widget
|
|
17156
|
+
this._cleanupListenerReferencesForId(id);
|
|
17133
17157
|
var children = this.layout.filter(function (layoutItem) {
|
|
17134
17158
|
return layoutItem.parent === id;
|
|
17135
17159
|
});
|
|
@@ -17164,6 +17188,35 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
17164
17188
|
}
|
|
17165
17189
|
}
|
|
17166
17190
|
|
|
17191
|
+
/**
|
|
17192
|
+
* Remove listener references to a deleted widget from all remaining layout items.
|
|
17193
|
+
* Listener event strings use the format "ComponentName[id].eventName".
|
|
17194
|
+
* @param {number} id - The id of the removed widget
|
|
17195
|
+
*/
|
|
17196
|
+
}, {
|
|
17197
|
+
key: "_cleanupListenerReferencesForId",
|
|
17198
|
+
value: function _cleanupListenerReferencesForId(id) {
|
|
17199
|
+
var pattern = "[".concat(id, "].");
|
|
17200
|
+
this.layout.forEach(function (layoutItem) {
|
|
17201
|
+
if (layoutItem.listeners && _typeof(layoutItem.listeners) === "object") {
|
|
17202
|
+
var handlers = Object.keys(layoutItem.listeners);
|
|
17203
|
+
handlers.forEach(function (handler) {
|
|
17204
|
+
var events = layoutItem.listeners[handler];
|
|
17205
|
+
if (Array.isArray(events)) {
|
|
17206
|
+
var filtered = events.filter(function (event) {
|
|
17207
|
+
return !event.includes(pattern);
|
|
17208
|
+
});
|
|
17209
|
+
if (filtered.length > 0) {
|
|
17210
|
+
layoutItem.listeners[handler] = filtered;
|
|
17211
|
+
} else {
|
|
17212
|
+
delete layoutItem.listeners[handler];
|
|
17213
|
+
}
|
|
17214
|
+
}
|
|
17215
|
+
});
|
|
17216
|
+
}
|
|
17217
|
+
});
|
|
17218
|
+
}
|
|
17219
|
+
|
|
17167
17220
|
/**
|
|
17168
17221
|
* Normalize a grid by repairing hide flags, clamping spans, filling
|
|
17169
17222
|
* missing cells, and compacting fully-hidden rows/columns.
|