Thanks for the info on moving to a tab. When I attempt to use this it looks like the app and app instance is not updated to the new app moved to when I log the session info it still thinks its on the plusgwo app where the script is executed from. Is there anything I should be doing to update the session so it knows its moved to a new app ? (I assumed this would be automatic after the event "changeapp" was queued)
Original Message:
Sent: 02-14-2023 09:57
From: Jade Warren
Subject: Does anyone know if there are is a list of WebClientEvent(s) documented ?
YES! I would love an answer to this also. I know you can use this one to click on a tab (this is to open the List tab):
session = service.webclientsession();
newEvent = WebClientEvent("click", "results", "", None, None, None, -1, session);
session.queueEvent(newEvent);
Unfortunately the linked java doc does seem to give a list of valid values for the "type" parameter...harvesting from the Maximo code, looks like the following may also work (java syntax here):
WebClientEvent("dialogclose", this.app.getCurrentPageId(), "NOREFRESH", this.clientSession)
WebClientEvent("dialogok", this.app.getCurrentPageId(), null, this.clientSession)
WebClientEvent("dialogcancel", this.app.getCurrentPageId(), null, this.clientSession)
WebClientEvent("searchmore", this.app.getId(), null, this.clientSession)
WebClientEvent("dolongop", this.app.getCurrentPageId(), null, this.clientSession)
--these look like they references a method in AppInstance
AppInstance prevApp = this.clientSession.getPreviousApp();
WebClientEvent("applinkreturn", prevApp.getId(), null, this.clientSession);
WebClientEvent("changetab", getTabGroupName(), getAllTabs()[this.processTabOrder], this.clientSession)
WebClientEvent("gototab", this.clientSession.getCurrentAppId(), "list", this.clientSession)
WebClientEvent currentEvent = this.clientSession.getCurrentEvent();
Object[] newEventValue = { currentEvent, "PMCOMSR_LAUNCHENTRY" };
WebClientEvent newEvent = new WebClientEvent("LAUNCHENTRY", currentEvent.getTargetId(), newEventValue, this.clientSession);
WebClientEvent("changetabcond", getWebClientSession().getCurrentAppId(), request.getParameter("changetab"), getWebClientSession());
PageInstance pi = this.clientSession.findDialog(dialogId);
String dSource = pi.getDataSource();
new WebClientEvent("initialize", dSource, null, this.clientSession));
WebClientEvent("resetwizard", this.app.getCurrentPageId(), null, this.clientSession)
WebClientEvent("setFocus", renderId, null, this.clientSession)
It looks like the WebClientEvent MIGHT be able to invoke any "action-type-thing" w/in it's context...I really don't know...
------------------------------
Jade Warren
Great River Energy
Original Message:
Sent: 02-13-2023 18:02
From: Ryan Medernach
Subject: Does anyone know if there are is a list of WebClientEvent(s) documented ?
I'm very new to working with automation scripts.
Based on the question on how to use an Automation Script to move to a new application which I found extremely useful, I thought I would open a discussion up to see if there may be any additional information on what the valid calls to WebClientEvent might have.
Example from the question above
## Jump to WOTRACK application
newEvent = WebClientEvent("changeapp", appinstance.getId(), "wotrack", None, None, None, UID, session);
session.queueEvent(newEvent);
Is this documented somewhere or can we deduce what other valid calls and arguments might be ?
I think it could also be useful if we could move to an app and a specific tab as well.
In a use case that I'm working through right now we are using a custom dialog (non persistent) to fill out a ticket and if it has a classification that has attributes I'm looking at sending the user to the appropriate application and hopefully the specifications tab so they can input any appropriate values or required attributes. The reason for this is as a non persistent dialog the ticket will not be created until the save so I can not just add a tab with the attributes to be filled out as the TICKETSPECCLASS relation would not have a valid ticketid to be used as I have found out.
Thanks and please let me know if should clarify the discussion further or if you have an questions.
#EverythingMaximo
------------------------------
Ryan Medernach
MEG ENERGY
------------------------------