I could finally get the execution listener and extension properties auto populating by the code below
// this can set the values of extension properties and
// execution listeners when passed through the function itself...
import { PropertiesPanel } from "@bpmn-io/properties-panel";
export default class CustomPalette {
constructor(create, elementFactory, palette, translate, elementRegistry, moddle, modeling) {
this.create = create;
this.elementFactory = elementFactory;
this.translate = translate;
this.elementRegistry = elementRegistry;
this.moddle = moddle;
this.modeling = modeling;
palette.registerProvider(this);
}
getPaletteEntries(element) {
const {create,
elementFactory,
translate,
moddle,
modeling,
} = this;
function createUserTask2(event) {
const shape = elementFactory.createShape({ type: 'bpmn:UserTask' });
shape.businessObject["name"] = "Created User";
shape.businessObject["id"] = "CreatedUser";
var extensionElements = shape.businessObject.get('extensionElements');
if (!extensionElements) {
extensionElements = moddle.create('bpmn:ExtensionElements');
}
const executionListener = moddle.create('camunda:ExecutionListener', {
class : 'check',
event: 'end'
});
const properties = moddle.create('camunda:Properties');
const property = moddle.create('camunda:Property', {
name: 'hello',
value: 'jiii'
});
properties.set('values', [ property ]);
extensionElements.set('values', [ properties,executionListener ])
shape.businessObject["extensionElements"] = extensionElements;
create.start(event, shape);
}
return {
'create.user-task2': {
group: 'activity',
className: 'bpmn-icon-user-task',
title: translate('Created User'),
id: 4,
action: {
dragstart: createUserTask2,
click: createUserTask2
}
},
}
}
}
CustomPalette.$inject = [
'create',
'elementFactory',
'palette',
'translate',
'elementRegistry',
'moddle',
'modeling'
];
@philippfromme Thanks much for help