Hi all,
I'm trying to develop an external widget in D2 4.2. Using D2OpenAjaxHub I'm sending a message from my External widget to widgets that are listening to "D2_EVENT_SELECT_OBJECT" Channel like (Document List widget, Preview Widget.....). I'm just directly appending the r_object_id of the document to the message. But Document List widget is not getting the message. But in other side the widgets like "Comments, Rendtions, Locations widgets" are all getting my message and responding to it. I'm attaching my code below. Kindly help me.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script language='javascript' src="js/OpenAjaxManagedHub-all.js"></script>
<script language='javascript' src="js/D2-OAH.js"></script>
<script type="text/javascript">
var d2OpenAjaxHub = new D2OpenAjaxHub();
var i=20;
function connectCompleted(hubClient, success, error) {
if (success) {
console.log("Hub client connected");
subscribeToObjectSelection();
} else
console.log("Hub client NOT connected - please check console");
}
/* Callback that is invoked upon widget activation*/
function onActiveWidget(bActiveFlag) {
console.log("setting iframe widget " + this.getWidgetId() + " to " + (bActiveFlag ? "active" : "inactive"));
}
/* Application initializes in response to document load event */
function loadEventHandler() {
console.log("Open Ajax Iframe loaded");
//connecting hubclient
d2OpenAjaxHub.connectHub(connectCompleted, onActiveWidget);
}
function onObjectSelection(event, oMessage){
}
function subscribeToObjectSelection() {
// we do not listen to any object
d2OpenAjaxHub.subscribeToChannel("D2_EVENT_SELECT_OBJECT", onObjectSelection, true);
}
function publishObjectSelection() {
var messageToSend = new OpenAjaxMessage();
messageToSend.put("oam_id", "090000648000b4fb"); //Directly giving r_object_id
d2OpenAjaxHub.sendMessage("D2_EVENT_SELECT_OBJECT", messageToSend);
}
</script>
</head>
<body onload="loadEventHandler();">
<button type="button" onclick="publishObjectSelection()">Please work this time</button>
</body>
</html>