Skip to content

Commit 9cf9d4d

Browse files
committed
chore: use methods instead of closures
1 parent add9bdf commit 9cf9d4d

File tree

1 file changed

+72
-72
lines changed

1 file changed

+72
-72
lines changed

src/render/BpmnPropertiesPanelRenderer.js

Lines changed: 72 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -66,79 +66,12 @@ export default class BpmnPropertiesPanelRenderer {
6666
this._selectedElement = null;
6767
this._groups = [];
6868

69-
const update = () => {
70-
updateSelectedElement();
71-
updateGroups();
69+
eventBus.on('selection.changed', () => this._update());
70+
eventBus.on('elements.changed', () => this._update());
71+
eventBus.on('elementTemplates.changed', () => this._update());
72+
eventBus.on('propertiesPanel.providersChanged', () => this._update());
7273

73-
this._render();
74-
75-
eventBus.fire('propertiesPanel.updated', {
76-
element: this._selectedElement
77-
});
78-
};
79-
80-
const updateSelectedElement = () => {
81-
const canvas = injector.get('canvas'),
82-
selection = injector.get('selection');
83-
84-
const rootElement = canvas.getRootElement();
85-
86-
if (isImplicitRoot(rootElement)) {
87-
this._selectedElement = rootElement;
88-
89-
return;
90-
}
91-
92-
const selectedElements = selection.get();
93-
94-
if (selectedElements.length > 1) {
95-
this._selectedElement = selectedElements;
96-
} else if (selectedElements.length === 1) {
97-
let newSelectedElement = selectedElements[0];
98-
99-
// handle labels
100-
if (newSelectedElement.type === 'label') {
101-
newSelectedElement = newSelectedElement.labelTarget;
102-
}
103-
104-
this._selectedElement = newSelectedElement;
105-
} else {
106-
this._selectedElement = rootElement;
107-
}
108-
};
109-
110-
const updateGroups = () => {
111-
if (!this._selectedElement || isImplicitRoot(this._selectedElement) || isArray(this._selectedElement)) {
112-
this._groups = [];
113-
114-
return;
115-
}
116-
117-
const providers = this._getProviders(this._selectedElement);
118-
119-
this._groups = reduce(providers, (groups, provider) => {
120-
const updater = provider.getGroups(this._selectedElement);
121-
122-
return updater(groups);
123-
}, []);
124-
};
125-
126-
const updateLayout = ({ layout }) => {
127-
this._layoutConfig = layout;
128-
129-
this._render();
130-
131-
eventBus.fire('propertiesPanel.updated', {
132-
element: this._selectedElement
133-
});
134-
};
135-
136-
eventBus.on('selection.changed', update);
137-
eventBus.on('elements.changed', update);
138-
eventBus.on('elementTemplates.changed', update);
139-
eventBus.on('propertiesPanel.providersChanged', update);
140-
141-
eventBus.on('propertiesPanel.setLayout', updateLayout);
74+
eventBus.on('propertiesPanel.setLayout', event => this._updateLayout(event));
14275
}
14376

14477
/**
@@ -259,6 +192,73 @@ export default class BpmnPropertiesPanelRenderer {
259192
this._eventBus.fire('propertiesPanel.destroyed');
260193
}
261194
}
195+
196+
_update() {
197+
this._updateSelectedElement();
198+
this._updateGroups();
199+
200+
this._render();
201+
202+
this._eventBus.fire('propertiesPanel.updated', {
203+
element: this._selectedElement
204+
});
205+
}
206+
207+
_updateSelectedElement() {
208+
const canvas = this._injector.get('canvas'),
209+
selection = this._injector.get('selection');
210+
211+
const rootElement = canvas.getRootElement();
212+
213+
if (isImplicitRoot(rootElement)) {
214+
this._selectedElement = rootElement;
215+
216+
return;
217+
}
218+
219+
const selectedElements = selection.get();
220+
221+
if (selectedElements.length > 1) {
222+
this._selectedElement = selectedElements;
223+
} else if (selectedElements.length === 1) {
224+
let newSelectedElement = selectedElements[0];
225+
226+
// handle labels
227+
if (newSelectedElement.type === 'label') {
228+
newSelectedElement = newSelectedElement.labelTarget;
229+
}
230+
231+
this._selectedElement = newSelectedElement;
232+
} else {
233+
this._selectedElement = rootElement;
234+
}
235+
}
236+
237+
_updateGroups() {
238+
if (!this._selectedElement || isImplicitRoot(this._selectedElement) || isArray(this._selectedElement)) {
239+
this._groups = [];
240+
241+
return;
242+
}
243+
244+
const providers = this._getProviders(this._selectedElement);
245+
246+
this._groups = reduce(providers, (groups, provider) => {
247+
const updater = provider.getGroups(this._selectedElement);
248+
249+
return updater(groups);
250+
}, []);
251+
}
252+
253+
_updateLayout({ layout }) {
254+
this._layoutConfig = layout;
255+
256+
this._render();
257+
258+
this._eventBus.fire('propertiesPanel.updated', {
259+
element: this._selectedElement
260+
});
261+
}
262262
}
263263

264264
BpmnPropertiesPanelRenderer.$inject = [ 'config.propertiesPanel', 'injector', 'eventBus' ];

0 commit comments

Comments
 (0)