Let’s ping in @Olga, I don’t know if she can help, but it doesn’t hurt to try
Love ya @Olga
My case number is CS0003726774.
Thanks guys, I’m writing a small novel and will submit it to support.
Can Epicor change the container behavior selectively or is it all or nothing for the whole Kinetic Application? If it becomes global copy, does that break places that colleagues expect move?
They CAN, but I don’t think they ARE.
It’s a good question, but I can’t find a valid situation where I’d want the default to be move,
except for maybe inside the app to another place, but does that even happen?
Anyway, that’s a conversation they need to have after they confirm that the behavior
is Kinetic controlled, which it is
Whether they think that behavior is a bug, we’ll have to wait and see I guess.
Application Studio? Say, moving a component from one panel to another. Most of the examples I can think of off the top of my head are the tooling variety. But I could imagine if there was a graphical inventory transaction moving a PCID from one Warehouse to another.
this is for Brian, not me
Could you poke him, on like your Scrum Standup, nudge him, shake him Yell at him in Russian. @bconner lyudi ishchut vas na forumakh!
I vote for this!
Verified that email is not deleting from outlook after attaching to PO Header.
We had recently upgraded dev box 2023.1.5 and start testing/customized our classic forms to kinetic. I just tested PO Entry for the reported issues. I just attached an email from outlook email to open PO. I attached email successfully on SP Online, it didn’t delete the outlook email.
I see @bconner in the little line of circles, maybe he’ll look
Edit: He left, didn’t catch him in time!
So our support team did raise this question with the PD team because they were puzzled by the report so I’m familiar with this one already - So far as we are aware we do not have control over this action in our software and don’t think a web application has the ability to do what we’re suggesting it’s doing.
Basically the web browser is the thing interacting with the operating system’s copy / paste mechanism here. You drag something out of application A and it tells the os - here’s a draggable thing and then you drag over the browser and the os says the same - here’s a dropped thing at which point the website gets an event with the file contents in it and the original app (outlook) gets an event back that says the file has been dropped someplace and it’s up to that application to decide what to do at that point - remove it, keep it there, etc.
I think this is going to have to be something on the Outlook side or the OS side because I don’t think a browser would allow a website to talk back to an application on your machine in this way for security reasons. the app that is having something dragged out of it should be in control of what happens after.
Maybe worth a little more digging it feels like an os level or outlook level setting that’s treating the drag as a move operation instead of a copy operation by default.
This is the code from main.js
handleDragOver(e) {
e.dataTransfer.dropEffect = this.allowDrop ? "move" : "none",
this.epEventHandler("epOnDragOver", e),
e.preventDefault(),
e.stopPropagation()
}
The browser allows control and Kinetic is setting the drop target default to move.
It’s not outlook specific, outlook is just following the proper convention.
interesting i will take a look at that so maybe we’re wrong here, thx
There is a post above by @hkeric.wci with some good information.
I was writing up a detailed report but I haven’t finished it yet.
Funny i was just looking through mdn after i posted that to see if i was wrong and you could specify the move or copy as a response guess i should’ve read it before i hit post
if that’s the case i would accept that bug i dont think move is the operation we want, basically ever for this.
Well, we had that discussion as well
That’s obviously something you’ll have to discuss internally, but we did come up with some
situations where you might. You’d have to break it out further instead of a global option though
FWIW MDN for this property indicates that it controls the visual representation of the operation but is vauge about if it actually controls it back at the os level. However that is not the drop code we likely do something else to actually indicate move on drop - the ability to control the visual on external file drops would imply that you can though.
In practice with current I repeat what our support team found which is it does not actually move the file but copies it for me in any situation i try it with though it shows the visual that this property says to show.
Feels like there is still something further to it, perhaps you all figured more than that in the thread above. At any rate I presume you all are right and with the right setup the browser will hand that back to the caller, might be there is a way to block that behavior and that’s what we’re seeing.
Here is some info on one of the pages we found:
https://bugs.chromium.org/p/chromium/issues/detail?id=322605#c33
After further testing the ‘Delete-the-email’ seem to happen based on the JavaScript implementation of the drag & drop functionality on the webapp.
JavaScript event DataTransfer.dropEffect controls operation based on its value (“copy”, “move”, “link”, “none”). Setting it to “copy” prevents Outlook from deleting the email, so Chrome is behaving as expected.
@bconner Here is the info from MDN that confirms what I was saying:
Once the drag is complete, a dragend event is fired at the source of the drag (the same element that received the dragstart event). This event will fire if the drag was successful or if it was cancelled. However, you can use the dropEffect property to determine which drop operation occurred.
If the dropEffect property has the value none during a dragend, then the drag was cancelled. Otherwise, the effect specifies which operation was performed. The source can use this information after a move operation to remove the dragged item from the old location.
The bolded portion, emphasis → mine, is what outlook is doing. Kinetic is telling the browser
through it’s JS API that the dropEffect is move. The browser accepts that and passes it back
to the calling app (source) (Outlook). Outlook happily accepts that it has performed a
move operation, because the drag-drop is user-initiated, so it deletes the item.
Kinetic is not controlling anything, it is merely telling the browser it:
The browser, the OS, and the source happily comply with the behavior.