123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 'use strict';
- var nameEntryFactory = require('./implementation/Name'),
- createCategoryValue = require('../../../helper/CategoryHelper').createCategoryValue,
- is = require('bpmn-js/lib/util/ModelUtil').is,
- getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject;
- module.exports = function(group, element, bpmnFactory, canvas, translate) {
- function initializeCategory(semantic) {
- var rootElement = canvas.getRootElement(),
- definitions = getBusinessObject(rootElement).$parent,
- categoryValue = createCategoryValue(definitions, bpmnFactory);
- semantic.categoryValueRef = categoryValue;
- }
- function setGroupName(element, values) {
- var bo = getBusinessObject(element),
- categoryValueRef = bo.categoryValueRef;
- if (!categoryValueRef) {
- initializeCategory(bo);
- }
- // needs direct call to update categoryValue properly
- return {
- cmd: 'element.updateLabel',
- context: {
- element: element,
- newLabel: values.categoryValue
- }
- };
- }
- function getGroupName(element) {
- var bo = getBusinessObject(element),
- value = (bo.categoryValueRef || {}).value;
- return { categoryValue: value };
- }
- if (!is(element, 'bpmn:Collaboration')) {
- var options;
- if (is(element, 'bpmn:TextAnnotation')) {
- options = { modelProperty: 'text', label: translate('Text') };
- } else if (is(element, 'bpmn:Group')) {
- options = {
- modelProperty: 'categoryValue',
- label: translate('Category Value'),
- get: getGroupName,
- set: setGroupName
- };
- }
- // name
- group.entries = group.entries.concat(nameEntryFactory(element, options, translate));
- }
- };
|