ConnectorDetailProps.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. 'use strict';
  2. var ImplementationTypeHelper = require('../../../helper/ImplementationTypeHelper'),
  3. InputOutputHelper = require('../../../helper/InputOutputHelper');
  4. var entryFactory = require('../../../factory/EntryFactory'),
  5. cmdHelper = require('../../../helper/CmdHelper');
  6. function getImplementationType(element) {
  7. return ImplementationTypeHelper.getImplementationType(element);
  8. }
  9. function getBusinessObject(element) {
  10. return ImplementationTypeHelper.getServiceTaskLikeBusinessObject(element);
  11. }
  12. function getConnector(bo) {
  13. return InputOutputHelper.getConnector(bo);
  14. }
  15. function isConnector(element) {
  16. return getImplementationType(element) === 'connector';
  17. }
  18. module.exports = function(group, element, bpmnFactory, translate) {
  19. group.entries.push(entryFactory.textField({
  20. id: 'connectorId',
  21. label: translate('Connector Id'),
  22. modelProperty: 'connectorId',
  23. get: function(element, node) {
  24. var bo = getBusinessObject(element);
  25. var connector = bo && getConnector(bo);
  26. var value = connector && connector.get('connectorId');
  27. return { connectorId: value };
  28. },
  29. set: function(element, values, node) {
  30. var bo = getBusinessObject(element);
  31. var connector = getConnector(bo);
  32. return cmdHelper.updateBusinessObject(element, connector, {
  33. connectorId: values.connectorId || undefined
  34. });
  35. },
  36. validate: function(element, values, node) {
  37. return isConnector(element) && !values.connectorId ? { connectorId: translate('Must provide a value') } : {};
  38. },
  39. hidden: function(element, node) {
  40. return !isConnector(element);
  41. }
  42. }));
  43. };