| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import inherits from 'inherits-browser';
- import CommandInterceptor from '../../command/CommandInterceptor';
- /**
- * A modeling behavior that ensures we set the correct root element
- * as we undo and redo commands.
- *
- * @param {Canvas} canvas
- * @param {didi.Injector} injector
- */
- export default function RootElementsBehavior(canvas, injector) {
- injector.invoke(CommandInterceptor, this);
- this.executed(function(event) {
- var context = event.context;
- if (context.rootElement) {
- canvas.setRootElement(context.rootElement);
- } else {
- context.rootElement = canvas.getRootElement();
- }
- });
- this.revert(function(event) {
- var context = event.context;
- if (context.rootElement) {
- canvas.setRootElement(context.rootElement);
- }
- });
- }
- inherits(RootElementsBehavior, CommandInterceptor);
- RootElementsBehavior.$inject = [ 'canvas', 'injector' ];
|