Содержимое во внедренной форме textarea не устанавливается в переменную процесса - PullRequest
0 голосов
/ 02 января 2019

В пользовательской задаче встроенная разметка формы:

...
  <div class="form-group">
    <textarea class="form-control"
           cam-variable-name="jobDescription"
           cam-variable-type="String"
           name="jobDescription">
    </textarea>
  </div>
...

Существует переменная процесса jobDescription, которая была установлена ​​- это было проверено с помощью журналов Tomcat.

Проблема в том, что содержимое textarea не установлено на значение переменной процесса.

Используется Camunda 7.10, и я проверил руководство Camunda 7.10

Если textarea изменяется на input type="text", это показывает правильное содержание.

1 Ответ

0 голосов
/ 06 февраля 2019

Это работает для Camunda 7.10.

Чтобы заполнить textarea, форма должна использовать события формы Camunda

<script cam-script type="text/form-script">   

  var variableManager = camForm.variableManager;

  var jobRequestInfo = $scope.jobRequestInfo = {};

  var jobDescription = $scope.jobDescription = {};


  camForm.on( 'form-loaded', function() {

    camForm.variableManager.fetchVariable( 'jobRequestInfo' );

    camForm.variableManager.fetchVariable( 'jobDescription' );

  });

  camForm.on( 'variables-fetched', function() {

    $scope.jobRequestInfo = camForm.variableManager.variable( 'jobRequestInfo' ).value;

    $scope.jobDescription = camForm.variableManager.variable( 'jobDescription' ).value;

  });

  camForm.on( 'variables-applied', function() {

    $( '[name="jobDescription"]' ).val( $scope.jobDescription );

  });

  camForm.on( 'submit', function( ev ) {

    ;

  });

</script>

...
  <div class="form-group">
    <label for="jobDescription">Job Description</label>
    <textarea class="form-control"
           ng-model="jobRequestInfo.description"
           name="jobDescription"
           rows="20">
    </textarea>
  </div>
...

Существует две переменные области действия:

  • jobDescription a String, который заполняется начальным значением.
  • jobRequestInfo POJO с полем description, который заполняется последним отредактированным значением.

Обратите внимание, что Camunda не полностью поддерживает все типы HTML, такие как переключатели, поэтому помимо базовых форм обычно необходимо использовать события формы Camunda.

Кроме того, с использованием угловой интеграции и переменных POJOкак указано выше, позволяет значительно сократить переменные процесса.

...