bpmn-js
Version:
A bpmn 2.0 toolkit and web modeler
52 lines (42 loc) • 1.11 kB
JavaScript
import { assign } from 'min-dash';
/**
* Registers and executes BPMN specific editor actions.
*
* @param {Injector} injector
*/
export default function CreateAppendEditorActions(injector) {
this._injector = injector;
this.registerActions();
}
CreateAppendEditorActions.$inject = [
'injector'
];
/**
* Register actions.
*
* @param {Injector} injector
*/
CreateAppendEditorActions.prototype.registerActions = function() {
var editorActions = this._injector.get('editorActions', false);
var selection = this._injector.get('selection', false);
var contextPad = this._injector.get('contextPad', false);
var palette = this._injector.get('palette', false);
const actions = {};
// append
if (selection && contextPad) {
assign(actions, {
'appendElement': function(event) {
contextPad.triggerEntry('append', 'click', event);
} }
);
}
// create
if (palette) {
assign(actions, {
'createElement': function(event) {
palette.triggerEntry('create', 'click', event);
} }
);
}
editorActions && editorActions.register(actions);
};