Skip to content

Commit 606f535

Browse files
committed
fix: update on import done
Fixes #1131
1 parent 8a5e0ca commit 606f535

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

src/render/BpmnPropertiesPanel.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,20 +135,20 @@ export default function BpmnPropertiesPanel(props) {
135135
};
136136
}, [ selectedElement ]);
137137

138-
// (2c) root element changed
138+
// (2c) import done
139139
useEffect(() => {
140-
const onRootAdded = (e) => {
141-
const element = e.element;
140+
const onImportDone = () => {
141+
const rootElement = canvas.getRootElement();
142142

143-
_update(element);
143+
_update(rootElement);
144144
};
145145

146-
eventBus.on('root.added', onRootAdded);
146+
eventBus.on('import.done', onImportDone);
147147

148148
return () => {
149-
eventBus.off('root.added', onRootAdded);
149+
eventBus.off('import.done', onImportDone);
150150
};
151-
}, [ selectedElement ]);
151+
}, []);
152152

153153
// (2d) provided entries changed
154154
useEffect(() => {

test/spec/BpmnPropertiesPanel.spec.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ describe('<BpmnPropertiesPanel>', function() {
225225
});
226226

227227

228-
it('should update on root element changed', function() {
228+
it('should update on import done', function() {
229229

230230
// given
231231
const updateSpy = sinon.spy();
@@ -237,7 +237,7 @@ describe('<BpmnPropertiesPanel>', function() {
237237
createBpmnPropertiesPanel({ container, eventBus });
238238

239239
// when
240-
eventBus.fire('root.added', { element: noopElement });
240+
eventBus.fire('import.done');
241241

242242
// then
243243
expect(updateSpy).to.have.been.calledWith({
@@ -450,16 +450,24 @@ function createBpmnPropertiesPanel(options = {}) {
450450
} = options;
451451

452452
let {
453+
canvas,
453454
elementRegistry
454455
} = options;
455456

457+
if (!canvas) {
458+
canvas = {
459+
getRootElement: () => noopElement
460+
};
461+
}
462+
456463
if (!elementRegistry) {
457464
elementRegistry = new elementRegistryMock();
458465
elementRegistry.setElements([ element ]);
459466
}
460467

461468
const injector = new injectorMock({
462469
...options,
470+
canvas,
463471
elementRegistry
464472
});
465473

test/spec/mocks/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export class Injector {
6060
}
6161

6262
if (type === 'canvas') {
63-
return new Canvas();
63+
return this._options.canvas || new Canvas();
6464
}
6565
}
6666
}

0 commit comments

Comments
 (0)