diff --git a/open-bpmn.glsp-client/open-bpmn-properties/src/bpmn-property-panel.tsx b/open-bpmn.glsp-client/open-bpmn-properties/src/bpmn-property-panel.tsx index b77e85a1..2c0bbbde 100644 --- a/open-bpmn.glsp-client/open-bpmn-properties/src/bpmn-property-panel.tsx +++ b/open-bpmn.glsp-client/open-bpmn-properties/src/bpmn-property-panel.tsx @@ -20,8 +20,8 @@ import { EditModeListener, EditorContextService, EnableDefaultToolsAction, - EnableToolsAction, - hasArguments, + EnableToolsAction,SModelElement, + hasArguments,MouseListener, SetUIExtensionVisibilityAction, SModelRoot, TYPES @@ -39,17 +39,13 @@ import { vanillaCells, vanillaRenderers } from '@jsonforms/vanilla-renderers'; import * as React from 'react'; import * as ReactDOM from 'react-dom'; -// import RatingControl from './RatingControl'; -// import ratingControlTester from './ratingControlTester'; -// import {BPMNEventDefinitionRenderer} from './EventDefinitionRenderer'; -//import {BPMNArrayRenderer} from './BPMNArrayRenderer'; - @injectable() export class EnableBPMNPropertyPanelAction implements Action { static readonly KIND = 'enableBPMNPropertyPanel'; readonly kind = EnableBPMNPropertyPanelAction.KIND; } + @injectable() export class BPMNPropertyPanel extends AbstractUIExtension implements EditModeListener, SelectionListener { static readonly ID = 'bpmn-property-panel'; @@ -71,6 +67,7 @@ export class BPMNPropertyPanel extends AbstractUIExtension implements EditModeLi @postConstruct() postConstruct(): void { + console.log('...running postConstruct'); this.editorContext.register(this); this.selectionService.register(this); } @@ -82,14 +79,15 @@ export class BPMNPropertyPanel extends AbstractUIExtension implements EditModeLi return BPMNPropertyPanel.ID; } - override initialize(): boolean { - return super.initialize(); - } +// override initialize(): boolean { +// return super.initialize(); +// } /* * Initalize the elemnts of property panel */ - protected initializeContents(_containerElement: HTMLElement): void { + protected override initializeContents(_containerElement: HTMLElement): void { + console.log('...running initializeContents'); this.createHeader(); this.createBody(); } @@ -130,6 +128,7 @@ export class BPMNPropertyPanel extends AbstractUIExtension implements EditModeLi * https://microsoft.github.io/vscode-codicons/dist/codicon.html */ private createHeaderTools(): HTMLElement { + console.log('...running createHeaderTools'); const headerTools = document.createElement('div'); headerTools.classList.add('header-tools'); @@ -300,3 +299,17 @@ export function createIcon(codiconId: string): HTMLElement { icon.classList.add(...codiconCSSClasses(codiconId)); return icon; } + + +@injectable() +export class BPMNPropertyMouseListener extends MouseListener { + @inject(BPMNPropertyPanel) + protected readonly proprtyPanel: BPMNPropertyPanel; + + override doubleClick(target: SModelElement, event: MouseEvent): (Action | Promise)[] { + console.log("...we have a double click"); + // TODO your implementation + // this can return an action or get other services injected and call them on double-click + return []; + } +} diff --git a/open-bpmn.glsp-client/open-bpmn-properties/src/index.ts b/open-bpmn.glsp-client/open-bpmn-properties/src/index.ts index 1b1b24dd..359df3e7 100644 --- a/open-bpmn.glsp-client/open-bpmn-properties/src/index.ts +++ b/open-bpmn.glsp-client/open-bpmn-properties/src/index.ts @@ -15,7 +15,7 @@ ********************************************************************************/ import { TYPES } from '@eclipse-glsp/client'; import { ContainerModule } from 'inversify'; -import { BPMNPropertyPanel } from './bpmn-property-panel'; +import { BPMNPropertyPanel,BPMNPropertyMouseListener } from './bpmn-property-panel'; // css styles import '../css/bpmn-properties.css'; import '../css/jsonforms-theia.css'; @@ -23,4 +23,5 @@ import '../css/jsonforms-theia.css'; export const bpmnPropertyModule = new ContainerModule((bind, unbind, isBound,rebind) => { bind(BPMNPropertyPanel).toSelf().inSingletonScope(); bind(TYPES.IUIExtension).toService(BPMNPropertyPanel); + bind(TYPES.MouseListener).to(BPMNPropertyMouseListener); });