47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var ChangeElementTemplateHandler = require('./ChangeElementTemplateHandler');
|
||
|
|
||
|
var getTemplate = require('../Helper').getTemplate,
|
||
|
getDefaultTemplate = require('../Helper').getDefaultTemplate;
|
||
|
|
||
|
function registerHandlers(commandStack, elementTemplates, eventBus, elementRegistry) {
|
||
|
commandStack.registerHandler(
|
||
|
'propertiesPanel.activiti.changeTemplate',
|
||
|
ChangeElementTemplateHandler
|
||
|
);
|
||
|
|
||
|
// apply default element templates on shape creation
|
||
|
eventBus.on([ 'commandStack.shape.create.postExecuted' ], function(context) {
|
||
|
applyDefaultTemplate(context.context.shape, elementTemplates, commandStack);
|
||
|
});
|
||
|
|
||
|
// apply default element templates on connection creation
|
||
|
eventBus.on([ 'commandStack.connection.create.postExecuted' ], function(context) {
|
||
|
applyDefaultTemplate(context.context.connection, elementTemplates, commandStack);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
registerHandlers.$inject = [ 'commandStack', 'elementTemplates', 'eventBus', 'elementRegistry' ];
|
||
|
|
||
|
|
||
|
module.exports = {
|
||
|
__init__: [ registerHandlers ]
|
||
|
};
|
||
|
|
||
|
|
||
|
function applyDefaultTemplate(element, elementTemplates, commandStack) {
|
||
|
|
||
|
if (!getTemplate(element, elementTemplates)
|
||
|
&& getDefaultTemplate(element, elementTemplates)) {
|
||
|
|
||
|
var command = 'propertiesPanel.activiti.changeTemplate';
|
||
|
var commandContext = {
|
||
|
element: element,
|
||
|
newTemplate: getDefaultTemplate(element, elementTemplates)
|
||
|
};
|
||
|
|
||
|
commandStack.execute(command, commandContext);
|
||
|
}
|
||
|
}
|