Properties panel and form inputs

Hi everybody,

I embedded a modeler and a properties panel into a webapp and I got the following conflict:

  • Failed to convert property value of type [java.lang.String[]] to
    required type [java.lang.Long] for property id; nested exception is
    java.lang.NumberFormatException: For input string: “40672,Process_1”

That is happening because the element_id of whatever element I have selected in the moddle is writting the Id field of a form somewhere else in the html. That id in particular represents the object that embeds the modeler and that error is shown when I try to save (the id of the object must be a number while the elements id’s are strings).

Changing the name of the field that is being overwrote is not an option, since every other object in the application uses the same form.
Can I somehow avoid this interference?

Seems like this is a bug. Could you boil down the things you do to a number of concise steps to reproduce this issue? That allows us to understand what is going on in your case and help you fix it.

Ok, I embedded the modeler (pre-package version from git), then I made my own bundle for the properties panel using browserify. Pretty much like the examples, but in a browser.

var BpmnModeler = window.BpmnJS;

var propertiesPanelModule = window.BpmnPanelJS.panel;
var propertiesProviderModule = window.BpmnPanelJS.provider;

bpmnModeler = new BpmnModeler({
  container: '#canvas',
  propertiesPanel : {
      parent : '#properties'
  },
  additionalModules: [
    propertiesPanelModule,
    propertiesProviderModule
  ],
  moddleExtensions: {
    camunda: moddleDescriptor
  }
});
if (xml == "")
    bpmnModeler.createDiagram(function(err) {
        if (err) {
            return console.error('could not create BPMN 2.0 diagram', err);
        }
    });
else
    bpmnModeler.importXML(xml, function(err) {

         if (err) {
            return console.error('could not import BPMN 2.0 diagram', err);
        }
    });

Now when I load the page, the properties panel has an input where you can change the name of an element.
`

X
`

I have a form with a field “id” somewhere else in the html that represents a database Id, and it takes the value of the element_id (ex:Task_0bh38wi). When I try to save, I get an error from a validator because the id is not a number.

I found a workaround by adding a form attribute using jquery with some random value (empty does not work).
`

X
`

I’m very beginner with javascript and web develop in general, so I’m not sure how it works (a workmate suggested the solution). I hope it is enough info to reproduce the issue, if you need something else just ask.

Does writing something into the properties panel input change the external field (database id)?

yes, the external field was taken whatever I wrote in the input field from the panel.

This is how the form looks:

<form id="detailForm" action=".../newspring/modules/core/BPMModeler" method="post" enctype="multipart/form-data" autocomplete="off"> <input id="id" name="id" value="{0, StartEvent_1wlukgl, }" type="hidden">

that value should be the object id that stores in the database.