FormHelper.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. 'use strict';
  2. var getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject,
  3. getExtensionElements = require('./ExtensionElementsHelper').getExtensionElements;
  4. var FormHelper = {};
  5. module.exports = FormHelper;
  6. /**
  7. * Return form data from business object or undefined if none exist
  8. *
  9. * @param {djs.model.Base} element
  10. *
  11. * @return {ModdleElement|undefined} formData
  12. *
  13. * 此方法废弃
  14. *
  15. */
  16. FormHelper.getFormData = function(element) {
  17. /* var bo = getBusinessObject(element);
  18. var formFields = getExtensionElements(bo, 'activiti:FormProperty');
  19. var formData = {}
  20. if (typeof formData !== 'undefined') {
  21. return formData[0];
  22. }*/
  23. return {};
  24. };
  25. /**
  26. * Return all form fields existing in the business object, and
  27. * an empty array if none exist.
  28. *
  29. * @param {djs.model.Base} element
  30. *
  31. * @return {Array} a list of form field objects
  32. */
  33. FormHelper.getFormFields = function(element) {
  34. /**直接获取 ExtensionElements的 activiti:FormProperty元素*/
  35. var bo = getBusinessObject(element);
  36. var formFields = getExtensionElements(bo, 'activiti:FormProperty');
  37. return formFields || [];
  38. };
  39. /**
  40. * Get a form field from the business object at given index
  41. *
  42. * @param {djs.model.Base} element
  43. * @param {number} idx
  44. *
  45. * @return {ModdleElement} the form field
  46. */
  47. FormHelper.getFormField = function(element, idx) {
  48. var formFields = this.getFormFields(element);
  49. return formFields[idx];
  50. };
  51. /**
  52. * Get all constraints for a specific form field from the business object
  53. *
  54. * @param {ModdleElement} formField
  55. *
  56. * @return {Array<ModdleElement>} a list of constraint objects
  57. */
  58. FormHelper.getConstraints = function(formField) {
  59. if (formField && formField.validation && formField.validation.constraints) {
  60. return formField.validation.constraints;
  61. }
  62. return [];
  63. };
  64. /**
  65. * Get all activiti:value objects for a specific form field from the business object
  66. *
  67. * @param {ModdleElement} formField
  68. *
  69. * @return {Array<ModdleElement>} a list of activiti:value objects
  70. */
  71. FormHelper.getEnumValues = function(formField) {
  72. if (formField && formField.values) {
  73. return formField.values;
  74. }
  75. return [];
  76. };