MCPcopy Create free account
hub / github.com/pgadmin-org/pgadmin4 / manageTreeEvents

Function manageTreeEvents

web/pgadmin/static/js/tree/tree.js:16–75  ·  view source on GitHub ↗
(event, eventName, item)

Source from the content-addressed store, hash-verified

14import { TreeNode } from './tree_nodes';
15
16function manageTreeEvents(event, eventName, item) {
17 let d = item ? item._metadata.data : [];
18 let node_metadata = item ? item._metadata : {};
19 let node;
20 let obj = pgAdmin.Browser;
21
22 // Events for preferences tree.
23 if (node_metadata.parent?.includes('/preferences') && obj.ptree.tree.type == 'preferences') {
24 try {
25 obj.Events.trigger(
26 'preferences:tree:' + eventName, event, item, d
27 );
28 } catch (e) {
29 console.warn(e.stack || e);
30 return false;
31 }
32 } else if(eventName == 'hovered') {
33 /* Raise tree events for the nodes */
34 try {
35 obj.Events.trigger(
36 'pgadmin-browser:tree:' + eventName, item, d, node
37 );
38 } catch (e) {
39 console.warn(e.stack || e);
40 return false;
41 }
42 } else if (d && obj.Nodes[d._type]) {
43 // Events for browser tree.
44 node = obj.Nodes[d._type];
45
46 // If the Browser tree is not initialised yet
47 if (obj.tree === null) return;
48
49 if (eventName == 'dragstart') {
50 obj.tree.handleDraggable(event, item);
51 }
52 if (eventName == 'added' || eventName == 'beforeopen' || eventName == 'loaded') {
53 obj.tree.addNewNode(item.getMetadata('data').id, item.getMetadata('data'), item, item.parent.path);
54 }
55 if(eventName == 'copied') {
56 obj.tree.copyHandler?.(item.getMetadata('data'), item);
57 }
58 if (_.isObject(node.callbacks) &&
59 eventName in node.callbacks &&
60 typeof node.callbacks[eventName] == 'function') {
61 node.callbacks[eventName].apply(node, [item, d, obj, [], eventName]);
62 }
63
64 /* Raise tree events for the nodes */
65 try {
66 obj.Events.trigger(
67 'pgadmin-browser:tree:' + eventName, item, d, node
68 );
69 } catch (e) {
70 console.warn(e.stack || e);
71 return false;
72 }
73 }

Callers

nothing calls this directly

Calls 4

triggerMethod · 0.80
handleDraggableMethod · 0.80
addNewNodeMethod · 0.45
getMetadataMethod · 0.45

Tested by

no test coverage detected