didonato
7 years agoCreator II
HTML Script
I’ve been reusing a HTML script for different relationship tabs with good success. In this html script there’s a
varable “ids” that is assigned the “id” value, but in this case I need to read
a property name “item_number” instead of “id”. How do I make “ids” equal to “item_number” instead of “id”.
I embedded my AML code below in //*******// so its easier to find.
<!DOCTYPE html>
<!– (c) Copyright by Aras Corporation, 2004-2013. –>
<html>
<head>
<style type=”text/css”>
@import “../../javascript/dojo/resources/dojo.css”;
@import “../../javascript/dijit/themes/claro/claro.css”;
@import “../../javascript/dojox/grid/resources/claroGrid.css”;
@import “../../javascript/dojox/form/resources/CheckedMultiSelect.css”;
@import “../../javascript/include.aspx?classes=common.css”;
html, body {
overflow: hidden;
width: 100%;
height: 100%;
margin: 0px;
padding: 0px;
}
#toolbar_slot {
vertical-align: top;
width: 100%;
height: 30px;
margin: 0px;
padding: 0px;
}
#gridTD {
vertical-align: top;
width: 100%;
height: 100%;
margin: 0px;
padding: 0px;
}
</style>
<script type=”text/javascript” src=”../../javascript/include.aspx?classes=ScriptSet2″></script>
<script type=”text/javascript” src=”../../javascript/include.aspx?classes=XmlDocument”></script>
<script type=”text/javascript” src=”../PLM/javascript/gridTools.js”></script>
<script type=”text/javascript” src=”../PLM/javascript/toolbarTools.js”></script>
<script type=”text/javascript” src=”../../javascript/include.aspx?classes=/dojo.js”
data-dojo-config=”isDebug: false, parseOnLoad: false, baseUrl:’../../javascript/dojo'”></script>
</head>
<body class=”claro”>
<script type=”text/javascript”>
var toolbarReady = false,
gridReady = false,
isEditMode = false,
GridXmlLoadedFirstTime = true,
innovator = new top.Innovator (),
changesHelper = new ChangesHelper (),
grid,
toolbar;
window.onresize = fixGridHeight;
window.addEventListener(“DOMContentLoaded”, function () {
clientControlsFactory.createControl(“Aras.Client.Controls.Public.Toolbar”, {id: “toolbar”, connectId: “toolbar_slot”}, function(control) {
toolbarApplet = toolbar = control;
clientControlsFactory.on(toolbar, {
“onClick”: onToolbarButtonClick
});
loadToolbar();
});
clientControlsFactory.createControl(“Aras.Client.Controls.Public.GridContainer”, {connectId: “gridTD”}, function(control) {
gridApplet = grid = control;
clientControlsFactory.on(grid, {
“gridXmlLoaded”: function(isSuccess) {
if (GridXmlLoadedFirstTime) {
GridXmlLoadedFirstTime = false;
onXmlLoaded();
}
},
“gridLinkClick”: function(linkVal) {
if (linkVal.length) {
showItemForm(linkVal);
}
},
“gridRowSelect”: onRowSelect,
“gridDoubleClick”: doDoubleClick
});
initGrid();
onGridLoad();
fixGridHeight();
});
});
function showItemForm(linkVal)
{
linkVal = linkVal.replace(/’/g, “”);
var typeName = linkVal.split(“,”)[0];
var id = linkVal.split(“,”)[1];
top.aras.uiShowItem(typeName, id, “tab view”);
}
function fixGridHeight() {
var el = document.getElementById(“gridTD”);
top.aras.fixLiquidContainerHeight(document, el);
el.style.height = window.innerHeight – toolbar_slot.offsetHeight + “px”;
}
function ChangesHelper() {
this.CreateQuery = function ChangesHelper_CreateQuery(aml) {
var query = innovator.newItem();
query.loadAML(aml);
return query;
}
this.GetResult = function ChangesHelper_GetResult(query) {
var changes = query.apply();
var changesCount = changes.getItemCount();
if (changesCount === -1) {
top.aras.AlertError(changes.getErrorDetail())
}
return changes.getItemsByXPath(“//Item[@type=’MIN_RMA’]”);
}
this.GetItemTypeLabel = function ChangesHelper_GetItemTypeLabel(typeName) {
var it = top.aras.getItemByName(“ItemType”, typeName, 0);
return top.aras.getItemProperty(it, “label”);
}
}
function Change(relationshipName, itemIds) {
var ids = “‘” + itemIds.toString().replace(/,/g, “‘,'”) + “‘”;
//**************************************************************************************************************
var aml =
“<Item type='” + relationshipName + “‘ action=’get’>” +
“<Relationships><Item type=’MIN_RMA_PARTS’ action=’get’ select=’related_id’><item_number>” + ids + “</item_number></Item></Relationships></Item>”
//***************************************************************************************************************
var query = changesHelper.CreateQuery(aml);
this.GetResult = function Change_GetResult() {
return changesHelper.GetResult(query);
}
this.GetType = function Change_GetType() {
return “MIN_RMA”;
}
this.GetLabel = function Change_GetLabel() {
return changesHelper.GetItemTypeLabel(this.GetType());
}
}
function GetAllGenerationsIds(objConfigId, objType) {
var itemQey = innovator.newItem(objType, “get”);
itemQey.setAttribute(“select”, “id”);
itemQey.setProperty(“config_id”, objConfigId);
itemQey.setProperty(“id”, “”);
var id = itemQey.node.selectSingleNode(“id”);
id.setAttribute(“condition”, “is not null”);
items = itemQey.apply();
var itemsCount = items.getItemCount();
var itemsGenIds = [];
for (var i = 0; i < itemsCount; i++) {
itemsGenIds = items.getItemByIndex(i).getProperty(“id”);
}
return itemsGenIds;
}
function initGrid() {
// Get the part Object
var thisItem = top.document.getElementById(“instance”).contentDocument.thisItem;
// thisItem could be a part or document
var objId = thisItem.getProperty(“id”);
var objType = thisItem.getType();
var objConfigId = thisItem.getProperty(“config_id”);
var itemsGenIds = GetAllGenerationsIds(objConfigId, objType);
var SCOTracker = new Change(“MIN_RMA”, itemsGenIds);
// Convert the Grid Data to DOM
var gridDom = top.aras.createXMLDocument();
gridDom.load(top.aras.getI18NXMLResource(“dcrma.xml”, top.aras.getScriptsURL() + “../Solutions/ZenetexMRO/”));
var tmpDom = top.aras.createXMLDocument();
var trackers = [SCOTracker];
var valsArr, valsArr0, linkParam, d, nds;
for (var i = 0; i < trackers.length; i++) {
var tracker = trackers;
var itms = tracker.GetResult();
for (var j = 0; j < itms.getItemCount(); j++) {
var itm = itms.getItemByIndex(j);
var id = itm.getAttribute(“id”);
valsArr = [itm.getProperty(“rma_no”, “”), itm.getProperty(“problem_description”, “”), itm.getProperty(“vendor”, “”), itm.getProperty(“modified_on”, “”)];
for (var k = 0; k < valsArr.length; k++) {
if (!valsArr) valsArr = “”;
}
tmpDom.loadXML(“
<td/><td/><td/><td/>“);
d = tmpDom.documentElement;
d.setAttribute(“id”, id);
d.setAttribute(“action”, id);
nds = d.selectNodes(“td”);
for (var k = 0; k < nds.length; k++) {
nds.text = valsArr;
if (k == 0) {
nds.setAttribute(“id”, id);
nds.setAttribute(“link”, “‘” + tracker.GetType() + “‘,'” + id + “‘”);
}
}
gridDom.selectSingleNode(“/table”).appendChild(tmpDom.selectSingleNode(“/tr”));
}
}
grid.InitXML(gridDom.xml);
updateToolbar();
}
function doDoubleClick(rowId) {
if (!rowId) {
rowId = grid.getSelectedId();
}
if (rowId != “”) {
var linkValue = grid.cells(grid.getSelectedId(), 1).cell_Experimental.Numberlink;
if (linkValue)
showItemForm(linkValue.toString());
}
}
function loadToolbar() {
toolbarReady = true;
toolbar.loadXml(top.aras.getI18NXMLResource(“changes_toolbar.xml”, top.aras.getScriptsURL() + “../Solutions/PLM/”));
toolbar.ShowToolbar(“tb1”);
initToolbar();
}
function onToolbarButtonClick(item) {
grid.turnEditOff();
if (item.getId() == “refresh”) {
initGrid();
}
if (item.getId() == “show_item”) {
doDoubleClick();
}
}
function onXmlLoaded() {
updateToolbar();
}
function onRowSelect(rowId) {
setControlEnabled(“show_item”, rowId ? true : false);
}
</script>
</body>
</html>