Questions and discussion about using ProcessMaker: user interface, running cases & functionality

Moderator: amosbatto

#825536
Hello,
I'm using ProcessMaker 3.3.10-community, and I found a bug in the Suggest box behavior when pasting a value in a suggest box: it doesn't call the execute-query-suggest under some circumstances...
Attached are the dynaform definition to be used for the test, and the pmt table to be uploaded into the PM server.

Here are the steps to reproduce this behavior:
1. import the table schema + data into PM server
2. create a new process, create a new dynaform, edit it, and import the Suggest test dynaform
3. Click on preview to preview the dynaform
4. copy from notepad++ (or any text editor) the following text: 1000
5. set focus into the suggest box (click in it)
6. press CTRL (do not release the key)
7. wait for 1 or 2 seconds,
8. press V (for ctrl+v)
9. it will not show the suggest list, and such it will not select the label matching the value.

If you press the V key without any delay after the CTRL, then the label will show up correctly...

Thank you
Regards,
Tomolimo
Attachments
(2.24 KiB) Downloaded 16 times
(2.01 KiB) Downloaded 12 times
#825557
Hello amosbatto,

Here is a video of the issue:
First part with a CTRL + V that doesn't trigger the execute-query-suggest (and of course the second field is not filled), and second part another CTRL+V that triggers the execute-query-suggest (and of course the second field is filled).

The suggest box with CTRL+V behaves like if there was a sort of timeout after the CTRL key is pressed...

Thank you,
Regards,
Tomolimo
Attachments
(1.76 MiB) Downloaded 13 times
#825576
In the file workflow/public_html/lib/pmdynaform/build/js/PMDynaform.js,
line 12444 tells the suggest box to ignore the CTRL key (which is number 17):
Code: Select all
        /**
         * @param {Array} invalidEnterKeys - is the list of keyboard events captured incorrect not to execute queries
         */
        invalidEnterKeys: [16, 17, 18, 20, 37, 39, 9],
If you remove 17 from the list, the suggest box will execute immediately when you release the CTRL key. Is that what you want?
#825587
Hello amosbatto,

I'll propose another fix (not sure that it has no other drawbacks ...):

Instead of the modification on line 12444, I'll propose to change the line 12568 like following:
Code: Select all
this.invalidEnterKeys.indexOf(event.which) === -1 && (!event.ctrlKey || (event.ctrlKey && event.which === 86))) {
This fix has the advantage to send only one execute-query-suggest, but I'm not sure that it covers all aspects of the paste event.

But I believe that the real root cause is that the paste event is not handled, and that an handler should be written for it and added in the events structure at line 12417. Something like:
Code: Select all
        events: {
            "keyup input": "generateOptionsHandler",
            "keydown input": "refreshBinding",
            "focusin input": "preventFocusIn",
            "change input": "eventListener",
            "paste input": "clipboardListener"
        },
Of course clipboardListener has to be defined :)

Thank you,
Regards,
Tomolimo
#825898
Unfortunately, our bug tracker was just changed last Friday, and it hasn't been decided how bugs will be handled for ProcessMaker 3.X Community Edition. At this point, only Enterprise clients have priority to get their bugs fixed. If I have an update on how bugs will be handled, I will post an announcement on the forum, but right now I don't have access to the bug tracker.

ProcessMaker 4 is using Github as its bug tracker, and the goal that its development will happen in the open and accept code contributions from the community.
Cannot upload CSV

Hi, I am using a multi-file upload. When I upload[…]

A Beginner's Guide for ProcessMaker

I recently completed a book on ProcessMaker - &q[…]

Hi guys. I am a newbie. I don't know how to upgrad[…]

HI Thanks so much! This is just what I need.