Как получить текущий XML-код рабочего процесса для активного экземпляра с помощью Rest API

В моем AngularApp я покажу пользователю текущий рабочий процесс, используя REST API. Пока нет проблем, usnig:

ПОЛУЧИТЬ / определение-процесса / {id} / xml

и

bpmn.io Viewer.

Но можно ли выделить текущую задачу или получить специальный экземпляр рабочего процесса, выделив текущую задачу?

Спасибо за помощь.


person MartinZyk    schedule 06.12.2017    source источник


Ответы (2)


1. Актуализируйте задачу

Вызов http://localhost:8080/engine-rest/task/?processInstanceId=<processInstanceId> возвращает json с ключом taskDefinitionKey .

https://docs.camunda.org/manual/latest/reference/rest/task/get-query/

2. Сформулируйте задачу.

Вы можете добавить класс стиля и таким образом выделить задачу.

viewer.importXML(diagramXML, function() {
    var canvas = viewer.get('canvas');
    canvas.addMarker('<<TaskId>>', 'highlight');
});

CSS для цвета:

.highlight:not(.djs-connection) .djs-visual > :nth-child(1) {
    fill: green !important; /* color elements as green */
}

Пример взят из https://github.com/bpmn-io/bpmn-js-examples/tree/master/colors#adding-colors.

person jklee    schedule 06.12.2017
comment
Я думаю, что это taskDefinitionKey, а не TaskId, верно? - person MartinZyk; 07.12.2017
comment
голос "за" -1 голос "против" принять Большое спасибо за поддержку, мой CSS еще не работает должным образом. Задача будет выделена, но, к сожалению, не окрашена. ‹G class = djs-element djs-shape highlight data-element-id = Task_1x7c62x› Может быть, ты снова сможешь мне помочь. - person MartinZyk; 07.02.2018

спасибо, что помогли мне. Чтобы он работал так, как вы описали, вам нужно изменить ViewEncapsulation на ViewEncapsulation.None в файле Angular.ts.

person MartinZyk    schedule 20.12.2018