1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 'use strict';
- var entryFactory = require('../../../../factory/EntryFactory'),
- cmdHelper = require('../../../../helper/CmdHelper');
- module.exports = function(element, bpmnFactory, options, translate) {
- var getImplementationType = options.getImplementationType,
- getBusinessObject = options.getBusinessObject;
- function isExternal(element) {
- return getImplementationType(element) === 'external';
- }
- var topicEntry = entryFactory.textField({
- id: 'externalTopic',
- label: translate('Topic'),
- modelProperty: 'externalTopic',
- get: function(element, node) {
- var bo = getBusinessObject(element);
- return { externalTopic: bo.get('activiti:topic') };
- },
- set: function(element, values, node) {
- var bo = getBusinessObject(element);
- return cmdHelper.updateBusinessObject(element, bo, {
- 'activiti:topic': values.externalTopic
- });
- },
- validate: function(element, values, node) {
- return isExternal(element) && !values.externalTopic ? { externalTopic: translate('Must provide a value') } : {};
- },
- hidden: function(element, node) {
- return !isExternal(element);
- }
- });
- return [ topicEntry ];
- };
|