/** ..\javascript\mainTree.js **/
///ItemInToc
function ItemInToc(rowId) {
///
/// Base class for Items in Grid
///
/// Id of item in TOC.
this.rowId = rowId;
}
ItemInToc.prototype.onClick = function ItemInToc_onClick() {
///
/// onClick function should contains a logic for onClick action
///
};
ItemInToc.prototype.containsProperties = function ItemInToc_containsProperties() {
return true;
};
ItemInToc.prototype.Select = function ItemInToc_Select() {
///
/// Select function should contains a logic for select action
/// if user calls onClick function manually
///
};
ItemInToc.prototype._getMostTopWindowWithAras = function ItemInToc_getMostTopWindowWithAras() {
return parent.parent;
};
ItemInToc.prototype.loadToolbarForItemType = function ItemInToc_loadToolbarForItemType(itemTypeName, itemType)
{
var subPrefix = '';
if (itemType)
{
// It's necessary to set subPrefix for Inbasket. In other cases subPrefix should be empty.
var itemTypeId = itemType.getID();
switch (itemTypeId)
{
case '85924010F3184E77B24E9142FDBB481B':
subPrefix = /com.aras.innovator.cui_default.mwt_inbasket_toolbar_/g;
break;
case 'BC7977377FFF40D59FF14205914E9C71':
subPrefix = /com.aras.innovator.cui_default.mwt_inbasketTask_toolbar_/g;
break;
default:
break;
}
}
var cuiContext = {toolbarId: itemTypeName, itemType: itemType};
var topWindow = this._getMostTopWindowWithAras();
return topWindow.cui.getExistToolbarIdAsync('MainWindowToolbar', cuiContext).then(function (toolbarId)
{
//if (!toolbarApplet.isToolbarExist(toolbarId))
//alert(toolbarId);
if (activeToolbar && !activeToolbar.isToolbarExist(toolbarId))
{
alert("1");
cuiContext.toolbarApplet = activeToolbar;
cuiContext.locationName = 'MainWindowToolbar';
cuiContext.item_classification = '%all_grouped_by_classification%';
cuiContext.mainSubPrefix = /com.aras.innovator.cui_default.mwt_main_toolbar_/g;
cuiContext.subPrefix = subPrefix;
cuiContext.toolbarId = toolbarId;
return topWindow.cui.loadToolbarFromCommandBarsAsync(cuiContext).then(function()
{
return setActiveToolbar(toolbarId);
});
}
else
{
// if (activeToolbar)
//alert("2");
// else
// alert("3");
return Promise.resolve(setActiveToolbar(toolbarId));
}
});
};
ItemInToc.prototype.loadMenuForItemType = function ItemInToc_loadMenuForItemType(itemTypeName, itemType)
{
var cuiContext = {menuId: itemTypeName, itemType: itemType};
var topWindow = this._getMostTopWindowWithAras();
return topWindow.cui.getExistMenuBarIdAsync('MainWindowMainMenu', cuiContext).then(function(menuBarId)
{
function showAndInitMenu( menuBarId, isMenuInitialized)
{
menuApplet.showMenuBar(menuBarId);
if (!isMenuInitialized)
{
initMenuApplet();
menuFrameReady = true;
}
}
var isMenuInitialized = topWindow.menuApplet != null && topWindow.menuApplet.activeMenuBarId != null && topWindow.menuApplet.activeMenuBarId == menuBarId;
if (top.menuApplet !=null && !topWindow.menuApplet.isMenuExist(menuBarId))
{
/*
topWindow.cui.loadMenuFromCommandBarsLiAsync("MainWindowMainMenu", cuiContext).then(function (mainMenuXml)
{
// alert("aa");
// alert(mainMenuXml);
document.getElementById("top_menu").innerHTML = mainMenuXml;
});
*/
return topWindow.cui.loadMenuFromCommandBarsAsync('MainWindowMainMenu', cuiContext).then(function(menuXml)
{
topWindow.menuApplet.setXML(menuXml, 'xml');
showAndInitMenu(menuBarId, isMenuInitialized);
});
}
else
{
showAndInitMenu(menuBarId, isMenuInitialized);
return Promise.resolve();
}
});
};
///ItemInToc
///TocCategory
function TocCategory(rowId) {
this.rowId = rowId;
}
TocCategory.prototype = new ItemInToc();
TocCategory.prototype.onClick = function TocCategory_onClick()
{
var itemTypeName = this.rowId.replace("_category", "");
showProgressStatus();
disableMenu();
this.showTOCCategory(itemTypeName);
if (statusAnimId != null)
{
this._getMostTopWindowWithAras().aras.clearStatusMessage(statusAnimId);
}
return;
};
TocCategory.prototype.containsProperties = function TocCategory_containsProperties() {
return false;
};
TocCategory.prototype.onContextMenuCreate = function TocCategory_onContextMenuCreate()
{
var menu = top.main.window.mainTreeContextmenu,
menuItemArray = this._getMostTopWindowWithAras().aras.newArray('com.aras.innovator.cui_default.pmtoc_createNewInstance', 'com.aras.innovator.cui_default.pmtoc_ListAll',
'com.aras.innovator.cui_default.pmtoc_runSavedSearch', 'com.aras.innovator.cui_default.pmtoc_changeSavedSearchShowingOnTOC', 'com.aras.innovator.cui_default.pmtoc_delSavedSearch',
'com.aras.innovator.cui_default.pmtoc_createNewReport');
for (var i = 0; i < menuItemArray.length; i++)
{
menu.hideItem(menuItemArray[i]);
}
return false;
};
TocCategory.prototype.showTOCCategory = function TocCategory_showTOCCategory(itemtypeName)
{
var topWnd = this._getMostTopWindowWithAras();
if (topWnd.work && itemtypeName)
{
topWnd.itemType = undefined;
this.loadMenuForItemType('main_menubar');
var toolbarLoadedPromise = this.loadToolbarForItemType('main_toolbar');
var shortcutSettings = {
windows: [topWnd],
context: topWnd
};
topWnd.registerShortcutsAtMainWindowLocation(shortcutSettings);
var indexOf = itemtypeName.lastIndexOf('/'),
formName = itemtypeName.slice(indexOf + 1, itemtypeName.length),
arasObj = this._getMostTopWindowWithAras().aras;
var formItem = arasObj.newIOMItem('Form', 'get');
formItem.setAttribute('select', 'id');
formItem.setProperty('name', formName);
formItem.setProperty('category_form', '1');
formItem = formItem.apply();
if (formItem.isError())
{
this._getMostTopWindowWithAras().work.location.replace(arasObj.getScriptsURL() + 'blank.html');
return;
}
var formId = formItem.getID();
var form = arasObj.getFormForDisplay(formId, 'by-id', false);
if (!form || form.isError() || !form.node || form.getProperty('category_form') !== '1') {
this._getMostTopWindowWithAras().work.location.replace('blank.html');
return;
}
arasObj.uiShowItemInFrameEx(this._getMostTopWindowWithAras().work, undefined, 'edit', 0, form.node);
var topWindow = this._getMostTopWindowWithAras();
if (topWindow.cui)
{
toolbarLoadedPromise.then(function()
{
topWindow.cui.callInitHandlers('SelectInToc');
});
}
}
};
///TocCategory
///ItemTypeInToc
function ItemTypeInToc(rowId)
{
this.itemTypeName = rowId ? rowId.slice(rowId.lastIndexOf("/") + 1) : rowId;
this.location = "Main Grid";
this._locationsWithout = {
'contextMenu': ['MYDISCUSSIONS.HTML'],
'refreshOnContextMenuCall': ['MYDISCUSSIONS.HTML', '../MODULES/ARAS.INNOVATOR.IZENDA/MYREPORTS']
};
this._currentLocation = null;
this._isContextMenuCreationPending = false;
}
ItemTypeInToc.prototype = new ItemInToc();
ItemTypeInToc.prototype.onClick = function ItemTypeInToc_onClick()
{
this.showItemTypeViewerInWorkSpace("");
};
ItemTypeInToc.prototype.containsProperties = function ItemTypeInToc_containsProperties()
{
if (this.itemTypeName)
{
var itemType = this._getMostTopWindowWithAras().aras.getItemTypeForClient(this.itemTypeName);
if (itemType)
{
var TOCView = this._getMostTopWindowWithAras().aras.uiGetTOCView4ItemTypeEx(itemType.node);
return TOCView ? false : true;
}
}
return false;
};
ItemTypeInToc.prototype._isActionAllowed = function ItemTypeInToc__isActionAllowed(actionName) {
var notAllowedLocations = this._locationsWithout[actionName],
notAllowedLocationsCount = notAllowedLocations.length,
currLocation, i;
if (this._currentLocation) {
currLocation = this._currentLocation.toUpperCase();
for (i = 0; i < notAllowedLocationsCount; i++) {
if (-1 !== currLocation.indexOf(notAllowedLocations[i])) {
return false;
}
}
}
return true;
};
ItemTypeInToc.prototype.onContextMenuCreate = function ItemTypeInToc_onContextMenuCreate()
{
var rowID = this.itemTypeName,
menu = mainTreeContextmenu;
this._isContextMenuCreationPending = true;
this.onClick();
this._isContextMenuCreationPending = false;
menu.hideItem('com.aras.innovator.cui_default.pmtoc_ListAll');
menu.hideItem('com.aras.innovator.cui_default.pmtoc_runSavedSearch');
menu.hideItem('com.aras.innovator.cui_default.pmtoc_changeSavedSearchShowingOnTOC');
menu.hideItem('com.aras.innovator.cui_default.pmtoc_delSavedSearch');
menu.hideItem('com.aras.innovator.cui_default.pmtoc_addSavedSearchToForum');
if(rowID !== 'MyReports')
{
menu.hideItem('com.aras.innovator.cui_default.pmtoc_createNewReport');
}
menu.hideItem('com.aras.innovator.cui_default.pmtoc_createNewInstance');
var topWnd = this._getMostTopWindowWithAras();
var showMenu = function()
{
if (topWnd.work.isItemsGrid)
{
var label = topWnd.aras.getItemProperty(topWnd.work.currItemType, "label") || rowID;
var New_PPMCmdLabel = topWnd.aras.getResource("", "maintree.new", label);
if(rowID === 'MyReports')
{
menu.hideItem('com.aras.innovator.cui_default.pmtoc_ListAll');
}
if (topWnd.work.itemTypeName === rowID && topWnd.work.can_addFlg)
{
menu.showItem('com.aras.innovator.cui_default.pmtoc_createNewInstance');
menu.setItemText('com.aras.innovator.cui_default.pmtoc_createNewInstance', New_PPMCmdLabel);
}
}
else
{
setTimeout(showMenu, 100);
}
};
showMenu();
return this._isActionAllowed('contextMenu');
};
ItemTypeInToc.prototype.ListAll = function ItemTypeInToc_ListAll()
{
var topWnd = this._getMostTopWindowWithAras();
if (topWnd.work.isItemsGrid && topWnd.work.itemTypeName == this.itemTypeName && topWnd.work.doSearch)
{
topWnd.work.doSearch();
}
else
{
this.onClick();
}
};
ItemTypeInToc.prototype.createNewInstance = function ItemTypeInToc_createNewInstance()
{
var self = this;
var itemTypeName = self.itemTypeName;
if(itemTypeName === "File")
{
aras.vault.selectFile().then(function(item) {
var fileNode = aras.newItem('File', item);
aras.uiShowItemEx(fileNode, "new");
aras.itemsCache.addItem(fileNode);
});
}
else
{
setTimeout(function()
{
var itemType = aras.getItemTypeForClient(itemTypeName).node;
if (aras.isPolymorphic(itemType) && aras.Browser.isCh())
{
aras.newItem(itemTypeName).then(function (node)
{
if (node)
{
aras.itemsCache.addItem(node);
aras.uiShowItemEx(node, "new");
}
});
}
else
{
self._getMostTopWindowWithAras().aras.uiNewItemEx(itemTypeName);
}
}, 10);
}
};
ItemTypeInToc.prototype.createNewReport = function ItemTypeInToc_createNewReport() {
var self = this;
setTimeout(function ()
{
self._getMostTopWindowWithAras().aras.uiNewItemEx("SelfServiceReport");
}, 10);
};
ItemTypeInToc.prototype.showItemTypeViewerInWorkSpace = function ItemTypeInToc_showItemTypeViewerInWorkSpace(savedSearchId)
{
var itemTypeName = this.itemTypeName;
var topWnd = this._getMostTopWindowWithAras();
var itemType = topWnd.aras.getItemTypeForClient(itemTypeName);
var itemTypeID = itemType.getId();
var workFrame = topWnd.work;
if (itemType.getErrorCode() !== 0 && !itemTypeID) {
return;
}
topWnd.itemType = itemType;
var menuLoadedPromise = null;
var toolbarLoadedPromise = null;
showProgressStatus();
if (itemType)
{
var TOCView = topWnd.aras.uiGetTOCView4ItemTypeEx(itemType.node);
var url = "";
var parameters = "";
var parametersResult = "";
if (TOCView)
{
var form = topWnd.aras.getItemProperty(TOCView, "form");
if (form)
{
url = 'ShowFormInFrame.html';
parameters = '\'formId=' + form + '&formType=edit&item=undefined\'';
}
else
{
url = topWnd.aras.getItemProperty(TOCView, "start_page");
parameters = topWnd.aras.getItemProperty(TOCView, "parameters");
}
}
if (statusAnimId != null)
{
topWnd.aras.clearStatusMessage(statusAnimId);
}
// alert(url);
if (url === "")
{
url = topWnd.aras.getScriptsURL() + 'itemsGrid.html';
}
// alert(url);
this._currentLocation = url;
if (parameters === "")
{
parameters = "'itemtypeID='+itemTypeID+'&itemtypeName='+itemTypeName+'&savedSearchId='+savedSearchId";
}
try
{
parametersResult = eval(parameters);
}
catch (excep)
{
topWnd.aras.AlertError(topWnd.aras.getResource("", "maintree.params_arent_valid", parameters));
return false;
}
var shortcutSettings =
{
windows: [topWnd],
context: topWnd
};
//alert(url);
//var urlIsHrefbegins = url.toUpperCase().indexOf("href") > -1;
var urlIsitemsgrid = url.toUpperCase().indexOf("ITEMSGRID.HTML") > -1;
disableMenu();
menuLoadedPromise = this.loadMenuForItemType(itemTypeName, itemType);
toolbarLoadedPromise = this.loadToolbarForItemType(itemTypeName, itemType);
if (urlIsitemsgrid )
{
if (workFrame && previousItemTypeUrlIsItemsGrid && workFrame.document &&workFrame.document.readyState == 'complete')
{
workFrame.loadControls.then(function ()
{
menuLoadedPromise.then(function()
{
workFrame.onReinitialize(itemTypeName, itemTypeID, savedSearchId);
});
});
shortcutSettings.windows.push(topWnd.work);
}
else
{
workFrame.location.replace(url + '?' + parametersResult);
}
previousItemTypeUrlIsItemsGrid = true;
}
else
{
workFrame.location.replace(url + '?' + parametersResult);
previousItemTypeUrlIsItemsGrid = false;
}
topWnd.registerShortcutsAtMainWindowLocation(shortcutSettings, itemTypeName, itemType);
}
else
{
if (statusAnimId != null)
{
topWnd.aras.clearStatusMessage(statusAnimId);
}
return false;
}
if (window.arasTabs && !document.getElementById('home-tab').classList.contains('aras-tabs_active'))
{
document.getElementById('home-tab').classList.add('aras-tabs_active');
//var tab = topWnd.document.querySelector('li[data-id="home-tab"]');
//top.window.arasTabs.selectTab(tab);
}
if (topWnd.cui&&toolbarLoadedPromise!=null)
{
toolbarLoadedPromise.then(function (toolbar) {
topWnd.cui.callInitHandlers('SelectInToc');
});
}
};
///ItemTypeInToc
///SavedSearchInToc
function SavedSearchInToc(rowId)
{
function getGridControlId(lastPortionOfId)
{
var allItems = mainTreeApplet.getAllSubItems("0");
var tmpId, i;
for (i = 0; i < allItems.length; i++)
{
tmpId = allItems[i].id;
tmpId = tmpId.slice(tmpId.lastIndexOf("/") + 1);
if (lastPortionOfId === tmpId)
{
return allItems[i].id;
}
}
}
//todo: after change of TOC Tree item ids format from "ITName" to "TOCCategory/ITName" an ambiguity begins in the logic.
//need to completely improve the logic
var gridControlRowId = rowId;
if (rowId.lastIndexOf("/") < 0)
{
gridControlRowId = getGridControlId(rowId) || rowId;
}
this.rowId = rowId;
this.itemTypeName = mainTreeApplet.getUserData(gridControlRowId, "itName");
if (!this.itemTypeName)
{
var res = this.getSavedSearchFromDataBase();
if (!res) {
return false;
}
this.itemTypeName = res.getProperty("itname");
this.showOnTOC = res.getProperty("show_on_toc") == "1";
this.savedSearchId = rowId;
}
else
{
this.itemTypeName = this.itemTypeName.slice(this.itemTypeName.lastIndexOf("/") + 1);
this.showOnTOC = true;
}
if (this.itemTypeName) {
this.gridRowIdForItemTypeName = getGridControlId(this.itemTypeName) || this.itemTypeName;
}
}
SavedSearchInToc.prototype = new ItemTypeInToc();
SavedSearchInToc.prototype.getSavedSearchFromDataBase = function SavedSearch_getSavedSearchFromDataBase() {
var requestItem = this._getMostTopWindowWithAras().aras.newIOMItem("SavedSearch", "get");
requestItem.setID(this.rowId);
var resultItem = requestItem.apply();
if (resultItem.isError())
{
this._getMostTopWindowWithAras().aras.AlertError(resultItem);
return false;
}
return resultItem;
};
SavedSearchInToc.prototype.Select = function SavedSearch_Select()
{
if (this.showOnTOC)
{
mainTreeApplet.selectItem(this.rowId,false,true);
}
else
{
if (mainTreeApplet.findItemIdByLabel(this.gridRowIdForItemTypeName,0,1)!=null && this.savedSearchId)
{
ssId = this.savedSearchId;
mainTreeApplet.selectItem(this.gridRowIdForItemTypeName,false,true);
}
}
};
SavedSearchInToc.prototype.onClick = function SavedSearchInToc_onClick()
{
this.showItemTypeViewerInWorkSpace(this.rowId);
};
// new CUI ID handlers BEGIN; old handlers left for backward compatibility
SavedSearchInToc.prototype.changeSavedSearchShowingOnTOC = function SavedSearchInToc_changeSavedSearchShowingOnTOC() {
// don't be confused: in spite of its name this method ALWAYS hide saved search
var hideCode = '0';
return this.changeShowOnTOC(hideCode);
};
SavedSearchInToc.prototype.addSavedSearchToForum = function SavedSearchInToc_addSavedSearchToForum() {
return this.addToForum();
};
SavedSearchInToc.prototype.runSavedSearch = function SavedSearchInToc_runSavedSearch() {
return this.run();
};
SavedSearchInToc.prototype.delSavedSearch = function SavedSearchInToc_delSavedSearch() {
return this.del();
};
// new CUI ID handlers END
SavedSearchInToc.prototype.run = function SavedSearchInToc_run()
{
this.onClick();
};
SavedSearchInToc.prototype.del = function SavedSearchInToc_del()
{
var topWnd = this._getMostTopWindowWithAras();
if (topWnd.aras.confirm(topWnd.aras.getResource("", "search_center.confirm_delete"))) {
var currSavedSearch = topWnd.aras.newIOMItem("SavedSearch", "delete");
currSavedSearch.setID(this.rowId);
var res = currSavedSearch.apply();
if (res.isError())
{
top.aras.ShowError(res);
return false;
}
updateTree();
return true;
}
return false;
};
SavedSearchInToc.prototype.changeShowOnTOC = function SavedSearchInToc_changeShowOnTOC(show)
{
var currSavedSearch = this._getMostTopWindowWithAras().aras.newIOMItem("SavedSearch", "edit");
currSavedSearch.setID(this.rowId);
currSavedSearch.setProperty("location", this.location);
currSavedSearch.setProperty("show_on_toc", show || "0");
var res = currSavedSearch.apply();
if (res.isError())
{
this._getMostTopWindowWithAras().aras.AlertError(res);
return false;
}
updateTree();
return true;
};
SavedSearchInToc.prototype.addToForum = function SavedSearchInToc_addToForum() {
var searchId = this.rowId;
var topWnd = this._getMostTopWindowWithAras();
topWnd.ArasModules.Dialog.show('iframe', {
aras: topWnd.aras,
title: topWnd.aras.getResource('', 'ssvc.forum.add_search_to_forum'),
includeMyBookmarks: false,
dialogWidth: 300,
dialogHeight: 100,
resizable: false,
content: '../Modules/aras.innovator.SSVC/Views/SelectForum.html'
}).promise.then(function(forumId) {
var result = addForumSearch(forumId, searchId);
if (result.isError()) {
topWnd.aras.AlertError(result.getErrorString());
}
});
function addForumSearch(forumId, savedSearchId) {
var search = topWnd.aras.newIOMItem('ForumSearch', 'add');
search.setProperty('source_id', forumId);
search.setProperty('related_id', searchId);
return search.apply();
}
};
SavedSearchInToc.prototype.onContextMenuCreate = function SavedSearchInToc_onContextMenuCreate() {
var rowID = this.rowId,
topWnd = this._getMostTopWindowWithAras(),
menu = mainTreeApplet.contextMenu,
itName = this.itemTypeName;
menu.setHide('com.aras.innovator.cui_default.pmtoc_createNewInstance', true);
menu.setHide('com.aras.innovator.cui_default.pmtoc_ListAll', true);
menu.setHide('com.aras.innovator.cui_default.pmtoc_runSavedSearch', false);
menu.setHide('com.aras.innovator.cui_default.pmtoc_createNewReport', true);
menu.setHide('com.aras.innovator.cui_default.pmtoc_changeSavedSearchShowingOnTOC', !topWnd.aras.getPermissions('can_update', rowID, '', 'SavedSearch'));
menu.setHide('com.aras.innovator.cui_default.pmtoc_delSavedSearch', !topWnd.aras.getPermissions('can_delete', rowID, '', 'SavedSearch'));
var showAddForum = isSSVCEnabledForIT(itName) && isSavedSearchCreatedByAdmin(rowID);
menu.setHide('com.aras.innovator.cui_default.pmtoc_addSavedSearchToForum', !showAddForum);
return true;
function isSSVCEnabledForIT(/*string*/itName)
{
if (!topWnd.aras.commonProperties.IsSSVCLicenseOk) {
return false;
}
var item = topWnd.aras.newIOMItem("DiscussionTemplate", "get");
var source = topWnd.aras.newIOMItem("ItemType", "get");
source.setProperty("name", itName);
item.setPropertyItem("source_id", source);
var result = item.apply();
if (result.isError() || result.getItemCount() < 1) {
return false;
}
return true;
}
function isSavedSearchCreatedByAdmin(id)
{
var ss = getSavedSearchItem(id);
var createdBy = ss.getProperty("created_by_id");
return isUserAdmin(createdBy);
function isUserAdmin(id)
{
var result = topWnd.aras.newIOMItem("User", "VC_IsUserAdmin");
result.setID(id);
result = result.apply();
var isAdmin = result.getResult();
if (isAdmin.toUpperCase() === "TRUE")
{
return true;
} else {
return false;
}
}
function getSavedSearchItem(id)
{
var item = topWnd.aras.newIOMItem("SavedSearch", "get");
item.setID(id);
return item.apply();
}
}
};
///SavedSearchInToc
/** ..\javascript\mainTreeview.js **/
var topWindow = parent.aras ? parent : (parent.parent.aras ? parent.parent : window),
mainTreeApplet = null,
openedItems = "",
loadedTreeDOM = null,
wasLoaded = false,
statusAnimId = null,
ssId = null;
var loadedTreeXML = null;
var tocCategory = null;
var rootIDofTree = null;
var startingPage = null;
var mainTreeToolbar = null;
var domClass = null;
var myLayout = null;
var globaltreeDom = null;
var myLayoutbody = null;
var its = new Array();
var statusbar;
var globalUI = "dhx_web";
var mainTreeContextmenu = null;
function treeinitialize()
{
aras = topWindow.aras; // for CUI
topWindow.loadTree(
{
GridXmlLoaded: onTreeXmlLoaded,
menuInit: onMenuCreate,
itemSelect: onGridClick
},
function (control)
{
mainTreeApplet = control;
topWindow.cui.initPopupMenu(mainTreeApplet.contextMenu, onMenuClicked.bind(this));
updateTree();
}
);
}
function selectRow(rowId) {
mainTreeApplet.selectItem(rowId);
onGridClick(rowId);
}
function updateLi(navigatorid)
{
var tocCategory = navigatorid;
if (tocCategory == '' || tocCategory == null)
{
//tocCategory = "My Innovator";//普通用户
// startingPage = "My Innovator/Desktop";
tocCategory = "Administration";//管理员或超级用户
startingPage = "Administration/ItemType";
}
var treeDom = null;
treeDom = GetMainTreeTocCategoryItems(tocCategory);
//treeDom = getMainTreeItems();
// Perform initialization only at the first time.
var treeXML = "";
//alert(JSON.stringify(treeDom));
if (treeDom)
{
treeXML =aras.applyXsltFile(treeDom, aras.getScriptsURL() + "../styles/mainTreeli.xsl");
}
//var str = "
一沙后台管理系统";
//alert(treeXML);
//// var str = "";
//treeXML =str + treeXML;
document.getElementById("sidebar").innerHTML = treeXML;
onNavigatorClick("Administration/ItemType", "ItemTypeInToc");
}
function updateTree(navigatorid)
{
tocCategory = navigatorid;
//alert(tocCategory);
if (tocCategory == '' || tocCategory == null)
{
tocCategory = "My Innovator";//普通用户
startingPage = "My Innovator/Desktop";
//tocCategory = "Administration";//管理员或超级用户
// startingPage = "Administration/ItemType";
}
var treeDom = GetMainTreeTocCategoryItems(tocCategory),
//var treeDom = getMainTreeItems(),
treeXML = "",
reinitTree = false;
// Perform initialization only at the first time.
if (treeDom)
{
// openedItems = mainTreeApplet.getOpenedItems("|");
treeXML = generateMainTreeXML(treeDom);
}
//alert(treeXML);
var str = '';
treeXML = str + treeXML;
document.getElementById("sidebar").innerHTML = treeXML;
//$("#sidebar ul .has-sub").addClass("active");
if (tocCategory == "Administration")//;//管理员或超级用户
{
startingPage = "Administration/ItemType";
}
else if (tocCategory == "My Innovator")//;//管理员或超级用户
{
startingPage = "My Innovator/Desktop";
}
else
{
startingPage = $('#sidebar ul li ul li ul li').attr("id") || $('#sidebar ul li ul li').attr("id");
}
//alert(startingPage);
onNavigatorClick(startingPage, "ItemTypeInToc");
//onNavigatorClick(startingPage, "ItemTypeInToc");
//左侧菜单
//masterUI.ToggleMenu();
var height = $(document).height();
height = parseInt(height) - 80;
$("#body").css("min-height", height);
/*
if (treeXML != loadedTreeXML)
{
reinitTree = true;
}
if (reinitTree && treeXML)
{
if (rootIDofTree)
{
mainTreeApplet.deleteItem(rootIDofTree, false);
}
mainTreeApplet.saveOpenStates();
mainTreeApplet.parse(treeXML);
rootIDofTree = tocCategory;
loadedTreeXML = treeXML;
}
//if (startingPage) {
// mainTreeApplet.selectItem(startingPage);
// }
*/
}
function generateMainTreeXML(inDom)
{
//return aras.applyXsltFile(inDom, aras.getScriptsURL() + "../styles/mainTreedhtmlx.xsl");
//return aras.applyXsltFile(inDom, aras.getScriptsURL() + "../styles/mainTree.xsl");
//return aras.applyXsltFile(inDom, aras.getScriptsURL() + "../styles/mainTreeli.xsl");
//return aras.applyXsltFile(inDom, aras.getScriptsURL() + "../styles/mainTreegit.xsl");
//return aras.applyXsltFile(inDom, aras.getScriptsURL() + "../styles/mainTreegitsub.xsl");
return aras.applyXsltFile(inDom, aras.getScriptsURL() + "../styles/mainTreeyisha.xsl");
}
function getMainTreeItems()
{
var statusId = aras.showStatusMessage("status", aras.getResource("", "item_methods.populating_main_tree"), aras.system_progressbar1_gif),
res;
try
{
res = arasMainWindowInfo.getMainTreeItemsResult;
}
catch (e) {
throw e;
}
finally
{
if (statusId)
{
aras.clearStatusMessage(statusId);
}
}
if (res.getFaultCode() != 0)
{
aras.AlertError(res);
return null;
}
return res.results;
}
function GetMainTreeTocCategoryItems(tocCategoryValue)
{
var statusId = top.aras.showStatusMessage("status", top.aras.getResource("", "item_methods.populating_main_tree"), top.aras.system_progressbar1_gif);
var res;
try
{
res = top.aras.soapSend("GetMainTreeTocCategoryItems", "" + tocCategoryValue + "");
}
catch (e)
{
throw e;
}
finally
{
if (statusId)
{
top.aras.clearStatusMessage(statusId);
}
}
if (res.getFaultCode() != 0)
{
top.aras.AlertError(res);
return null;
}
return res.results;
}
function ontreeXmlLoaded()
{
mainTreeApplet.openAllItems(rootIDofTree);
if (rootIDofTree != "Administration")
{
startingPage = mainTreeApplet.getItemIdByIndex(rootIDofTree, 0);
}
else
{
startingPage = "Administration/ItemType";
}
if (startingPage)
{
mainTreeApplet.selectItem(startingPage, false, true);
}
}
function selectStartPage()
{
var userNd = aras.getLoggedUserItem();
var startingPage = aras.getItemProperty(userNd, "starting_page");
var tmppage = aras.evalMethod('selectStartPage', '');
if (tmppage)
{
startingPage = tmppage;
}
if (startingPage!=null)
{
var allItems = mainTreeApplet.getAllSubItems("0");
var startingPageITName,i;
for (i = 0; i < allItems.length; i++)
{
startingPageITName = allItems[i].id.slice(allItems[i].id.lastIndexOf("/") + 1);
if (startingPageITName === startingPage)
{
startingPage = allItems[i].id;
break;
}
}
if (mainTreeApplet.findItem(startingPage,0,1))
{
mainTreeApplet.openItem(mainTreeApplet.getParentId(startingPage));
mainTreeApplet.selectItem(startingPage, false, true);
// onGridClick(startingPage);
}
}
else
{
if (rootIDofTree != "Administration")
{
startingPage = mainTreeApplet.getItemIdByIndex(rootIDofTree, 0);
}
else
{
startingPage = "Administration/ItemType";
}
mainTreeApplet.selectItem(startingPage, false, true);
// onGridClick("Administration/ItemType");//by fyc
}
}
function onMenuCreate(rowId) {
var className = mainTreeApplet.getUserData(rowId, "className");
var o = createInstance(className, rowId);
if (o)
{
// mainTreeApplet.contextMenu.removeAll();
// topWindow.cui.fillContextMenu("PopupMenuMainWindowTOC", mainTreeApplet.contextMenu);
return o.onContextMenuCreate();
}
}
function onMenuClicked(cmdID, rowID)
{
///Context menu item click handler
var className = mainTreeApplet.getUserData(rowID, "className");
cmdID = cmdID.replace("com.aras.innovator.cui_default.pmtoc_", "");
if (className)
{
var o = createInstance(className, rowID);
if (o && o[cmdID])
{
o[cmdID]();
}
}
}
function disableMenu()
{
if (!menuFrameReady)
{
setTimeout("disableMenu()", 50);
return;
}
setAllControlsEnabled(false);
}
function showProgressStatus()
{
//this is essential way for display the status progress
if (statusAnimId) {
aras.clearStatusMessage(statusAnimId);
}
statusAnimId = aras.showStatusMessage("status", null, "../images/Progress.gif");
}
function createInstance(className, rowId)
{
return (className ? eval("new " + className + "(rowId)") : null);
}
function onGridClick(rowId)
{
var clickTarget;
if (ssId)
{
clickTarget = new SavedSearchInToc(ssId);
ssId = null;
}
else
{
var className = mainTreeApplet.getUserData(rowId, "className");
clickTarget = createInstance(className, rowId);
}
if (clickTarget)
{
return clickTarget.onClick();
}
}
function onNavigatorClick(rowId,className)
{
//function onNavigatorClick(menuItem) {
var clickTarget;
// var rowId = menuItem.getId();
if (ssId) {
clickTarget = new SavedSearchInToc(ssId);
ssId = null;
}
else
{
clickTarget = createInstance(className, rowId);
}
if (clickTarget)
{
// var containsProperties = clickTarget.containsProperties();
// parent.updateTogglePanel(containsProperties);
return clickTarget.onClick();
}
}
/** ..\javascript\mainmenu.js **/
var topWindow = null,
toolbarApplet = null,
menuApplet = null,
navigatorApplet=null,
aras = null;
// topWindow = TopWindowHelper.getMostTopWindowWithAras(window);
var previousItemTypeUrlIsItemsGrid = false;
function initializeNavigatorMenu()
{
topWindow = TopWindowHelper.getMostTopWindowWithAras(window);
var cuiContext = { menuId: 'navigator_menubar' };
var navigatorDom = getMainTreeItems();
var nvaigatorXML = "";
if (navigatorDom)
{
nvaigatorXML = generateMainmenuXML(navigatorDom);
nvaigatorXML = "" + nvaigatorXML + "";
//alert(nvaigatorXML);
topWindow.cui.getExistMenuBarIdAsync("MainWindowMainMenu", cuiContext).then(function ()
{
topWindow.cui.loadMenuFromCommandBarsAsync("MainWindowMainMenu", cuiContext).then(function (mainMenuXml)
{
var prefix = 'com.aras.innovator.cui_default.navigator';
// alert(mainMenuXml);
loadNavigatorMenu(
{
aras: topWindow.aras,
xml: nvaigatorXML,
xmlArgType: "xml" ,
cuiContext: cuiContext
},
function (control)
{
navigatorApplet = document.navigator = control;
navigatorApplet.set("default_package_name_prefix", prefix);
topWindow.cui.initNavigatorEvents(navigatorApplet, { onSelect: onNavigatorClick, prefix: prefix });
});
});
});
}
}
function initializeMainMenuandToolbar()
{
topWindow = TopWindowHelper.getMostTopWindowWithAras(window)
localStorage.setItem("defaultDState", "defaultDState");
aras = topWindow.aras;
ArasModules.soap(null, {
url: aras.getServerURL(),
method: "ApplyItem",
headers: {
"AUTHUSER": encodeURIComponent(aras.getCurrentLoginName()),
"AUTHPASSWORD": aras.getCurrentPassword(),
"DATABASE": encodeURIComponent(aras.getDatabase()),
"LOCALE": aras.getCommonPropertyValue("systemInfo_CurrentLocale"),
"TIMEZONE_NAME": aras.getCommonPropertyValue("systemInfo_CurrentTimeZoneName")
}
});
var cuiContext = { menuId: 'main_menubar' };
// call getExistMenuBarId is necessary for calculating id of main menubar. This value will be stored in cui and it will be used for menubar switching.
topWindow.cui.getExistMenuBarIdAsync("MainWindowMainMenu", cuiContext).then(function ()
{
topWindow.cui.loadMenuFromCommandBarsAsync("MainWindowMainMenu", cuiContext).then(function (mainMenuXml)
{
// alert(mainMenuXml);
var mainMenuXml = "";
var prefix = 'com.aras.innovator.cui_default.mwmm_';
loadMainMenu({
aras: aras,
xml: mainMenuXml,
xmlArgType: "xml",
cuiContext: cuiContext},
function (control)
{
menuApplet = document.menu = control;
menuApplet.set("default_package_name_prefix", prefix);
topWindow.cui.initMenuEvents(menuApplet, {onSelect: OnMenuItemClick, prefix: prefix});
initMenuApplet();
finalizeInit();
loadToolBar(
function (control)
{
document.toolbar = toolbarApplet = control;
initToolbar();
}
);
// updateTree();
}
);
});
});
/*
topWindow.cui.getExistMenuBarIdAsync("MainWindowMainMenu", cuiContext).then(function ()
{
//alert("aa");
topWindow.cui.loadMenuFromCommandBarsLiAsync("MainWindowMainMenu", cuiContext).then(function (mainMenuXml)
{
//alert(mainMenuXml);
document.getElementById("top_menu").innerHTML = mainMenuXml;
});
});
*/
// Calls from original onload Handler
document.body.scroll = "no";
topWindow.aras.registerEventHandler("VariableChanged", window, window.onVariableChanged);
topWindow.aras.registerEventHandler("PreferenceValueChanged", window, window.onPreferenceValueChanged);
window.addEventListener('unload', function()
{
aras.unregisterEventHandler("VariableChanged", window, window.onVariableChanged);
aras.unregisterEventHandler("PreferenceValueChanged", window, window.onPreferenceValueChanged);
});
}
function UpdateMenuAfterCacheReset(itemTypeName)
{
// alert("UpdateMenuAfterCacheReset");
//if (topWindow.main && topWindow.main.work && topWindow.main.tree)
{
topWindow.cui.resetMenuCache();
var itemInToc = new topWindow.main.tree.ItemInToc('')
// itemInToc.loadMenuForItemType(itemTypeName, topWindow.main.work.currItemType);
itemInToc.loadMenuForItemType(itemTypeName, topWindow.currItemType);
}
}
function setControlEnabled(ctrlName, b)
{
if (b == undefined)
{
b = true;
}
try
{
var mi = menuApplet.findItem(ctrlName);
if (mi)
{
mi.setEnabled(b);
}
/*
var tbi = activeToolbar.getItem(ctrlName);
if (tbi)
{
// if (ctrlName =='edit')
// alert(ctrlName+":"+b);
tbi.setEnabled(b);
}
*/
}
catch (excep) { }
}
function setControlState(ctrlName, b)
{
if (b === undefined)
{
b = true;
}
try
{
var tbi = activeToolbar.getItem(ctrlName);
if (tbi)
{
tbi.setState(b);
}
}
catch (excep) { }
try
{
var mi = menuApplet.findItem(ctrlName);
if (mi)
{
mi.setState(b);
}
}
catch (excep) { }
}
function setActiveToolbar(toolbarId)
{
if (!toolbarApplet)
{
return null;
}
toolbarApplet.showToolbar(toolbarId);
activeToolbar = toolbarApplet.getActiveToolbar();
return activeToolbar;
}
function showDefaultToolbar()
{
var cuiContext = {toolbarId: 'main_toolbar'};
var toolbarId = topWindow.cui.getExistToolbarId('MainWindowToolbar', cuiContext);
return setActiveToolbar(toolbarId);
}
function setAllControlsEnabled(b)
{
if (b === undefined)
{
b = true;
}
var mainMenuElements = ['new', 'save', 'open', 'download', 'print', 'export2Excel', 'export2Word', 'purge',
'delete', 'edit', 'view', 'saveAs', 'lock', 'unlock', 'undo', 'promote', 'revisions', 'copy2clipboard'];
for (var i = 0; i < mainMenuElements.length; i++)
{
var mi = menuApplet.findItem(mainMenuElements[i]);
if (mi)
{
mi.setEnabled(b);
}
}
}
var menuFrameReady = false;
var activeToolbar = null;
function generateMainmenuXML(inDom)
{
// return top.aras.applyXsltFile(inDom, top.aras.getScriptsURL() + '../styles/mainmenu_dhtmlx_new.xsl');
//return top.aras.applyXsltFile(inDom, top.aras.getScriptsURL() + '../styles/mainToolbardhtmlx_TOCCategory.xsl');
return top.aras.applyXsltFile(inDom, top.aras.getScriptsURL() + '../styles/mainToolbardhtmlx_TOCCategory_json.xsl');
}
function initMenuApplet()
{
var tmp = menuApplet.findItem('show_text');
if (tmp) tmp.setState(topWindow.aras.getPreferenceItemProperty("Core_GlobalLayout", null, "core_show_labels") == 'true');
tmp = menuApplet.findItem('wildcards');
if (tmp) tmp.setState(topWindow.aras.getPreferenceItemProperty("Core_GlobalLayout", null, "core_use_wildcards") == 'true');
tmp = menuApplet.findItem('append');
if (tmp) tmp.setState(topWindow.aras.getPreferenceItemProperty("Core_GlobalLayout", null, "core_append_items") == 'true');
tmp = menuApplet.findItem('soap_save');
if (tmp) tmp.setState(topWindow.aras.getVariable('SaveRequest') == 'true');
//For IR-002047 "Sort Issues"
tmp = menuApplet.findItem('sort_pages');
if (tmp) tmp.setState(topWindow.aras.getVariable('SortPages') == 'true');
tmp = menuApplet.findItem("debug_on_off");
if (tmp)
{
var debugOnOff = (topWindow.aras.getVariable("debug") == "true");
tmp.setState(debugOnOff);
topWindow.aras.DEBUG = debugOnOff;
}
var tabsGlobalState = topWindow.aras.getPreferenceItemProperty("Core_GlobalLayout", null, "core_tabs_state");
var stateOfTabs =
{
"tabs off": "offTabsState",
"tabs on": "onTabsState",
"tabs max": "maximizedTabsState",
"tabs min": "minimizedTabsState"
};
tmp = menuApplet.findItem(stateOfTabs[tabsGlobalState] || "defaultTabsState")
tmp && tmp.setState(true);
}
function initToolbar()
{
topWindow.cui.initToolbarEvents(toolbarApplet);
toolbarApplet.showLabels(topWindow.aras.getPreferenceItemProperty('Core_GlobalLayout', null, 'core_show_labels') == 'true');
// updateTree();
var cuiContext = { toolbarId: 'main_toolbar', 'item_classification': '%all_grouped_by_classification%' };
topWindow.cui.getExistToolbarIdAsync('MainWindowToolbar', cuiContext).then(function (toolbarId)
{
//alert(toolbarId);
if (!toolbarApplet.isToolbarExist(toolbarId))
{
cuiContext.toolbarApplet = toolbarApplet;
cuiContext.locationName = 'MainWindowToolbar';
cuiContext.mainSubPrefix = /com.aras.innovator.cui_default.mwt_main_toolbar_/g;
cuiContext.toolbarId = toolbarId;
topWindow.cui.loadToolbarFromCommandBarsAsync(cuiContext).then(function ()
{
// alert("setactivetoolbar");
setActiveToolbar(toolbarId);
//onNavigatorClick("Administration/ItemType");//主工具栏初始化完成后再调用navigator click事件
// alert("a");
updateTree(); //第一次进入时候,主工具栏初始化完成后再调用updateTree
});
}
else
{
setActiveToolbar(toolbarId);
}
});
}
function finalizeInit()
{
menuFrameReady = true;
}
function onVariableChanged(params)
{
if (!params || !menuApplet) return;
var varName = params.varName;
var varValue = params.varValue;
if (varName == "SaveRequest")
{
varValue = (varValue == true);
if (varValue != menuApplet.findItem('soap_save').getCheck())
setControlState('soap_save', varValue);
}
else if (varName == "debug")
{
window.onerror = null;
varValue = (varValue == true);
topWindow.aras.DEBUG = !topWindow.aras.DEBUG;
if (varValue != menuApplet.findItem('debug_on_off').getCheck())
setControlState('debug_on_off', varValue);
}
}
function onPreferenceValueChanged(params)
{
if (!params) return;
var menuItemNm;
var newValue;
if ("Core_GlobalLayout" == params.type)
{
newValue = (topWindow.aras.getPreferenceItemProperty(params.type, null, params.propertyName) == "true");
if ("core_show_labels" == params.propertyName)
{
menuItemNm = "show_text";
toolbarApplet.showLabels(newValue);
}
else if ("core_show_item_properties" == params.propertyName) {
menuItemNm = "show_properties";
if (topWindow.work.isItemsGrid && topWindow.work.showProperties) {
topWindow.work.showProperties(newValue);
//updateTogglePanel(true);
}
}
}
if (menuItemNm)
{
var menuItem = menuApplet.findItem(menuItemNm);
if (!menuItem) return;
if (newValue != menuItem.getCheck()) setControlState(menuItemNm, newValue);
var tbi = activeToolbar.getItem(menuItemNm);
if (tbi) tbi.setState(newValue);
}
}
function enablePopup(b)
{
document.enablePopup(!b);
// mainTreeApplet.enablePopup(b);
}
/*
* this function deletes specified by "i" parameter menu entry from
* the menu specified by "menuName" parameter
* was designed to be used in deleteActionEntry and deleteReportEntry
* Actions and Reports are context dependent menus.
*
* The function makes menu disabled if there are no more entries.
*
* If you need to know if the function succeeded - check return value
*/
function deleteSpecialMenuEntry(menuName, i) {
var actI = parseInt(i);
if (isNaN(actI) || actI < 0) return false;
var menu = menuApplet.findMenu(menuName);
if (!menu) return false;
menu.deleteItemAt(actI);
if (menu.getItemsCount() == 0) {
menu.setEnableFlag(false);
}
return true;
}
function openHelpUrl(url)
{
window.open(url);
}
function onShowControlsApiReferenceDotNetCommand()
{
aras.uiShowControlsApiReferenceCommand(false);
}
function onShowControlsApiReferenceJavaScriptCommand()
{
aras.uiShowControlsApiReferenceCommand(true);
}
function onAbout()
{
aras.AlertAbout();
}
function onMySession()
{
aras.AlertAboutSession();
}
var genericReportCount = 0;
function addReportEntry(name, reportId, active, pos)
{
var menu = menuApplet.findMenu('reports_menu');
if (pos == undefined) menu.addItem(name, reportId, active);
else menu.addItem(name, reportId, active, pos);
menu.setEnableFlag(true);
}
function addReportSeparator(bAddReportMenuLength, pos)
{
var menu = menuApplet.findMenu('reports_menu');
pos != undefined ? menu.addSeparatorItem(pos) : menu.addSeparatorItem();
}
function getReportEntriesCount() {
return menuApplet.findMenu('reports_menu').getItemsCount();
}
function deleteReportEntry(i)
{
return deleteSpecialMenuEntry("reports_menu", i);
}
function setWholeMenuEnabled(b) {
try {
enablePopup(b);
}
catch (excep) { }
}
function setToolbarEnabled(b, totalFlg)
{
try
{
if(b == undefined) b = true;
if(!totalFlg)
{
activeToolbar.getItem('new').setEnabled(b);
activeToolbar.getItem('save').setEnabled(b);
activeToolbar.getItem('delete').setEnabled(b);
activeToolbar.getItem('edit').setEnabled(b);
activeToolbar.getItem('view').setEnabled(b);
activeToolbar.getItem('saveAs').setEnabled(b);
activeToolbar.getItem('print').setEnabled(b);
activeToolbar.getItem('export2Excel').setEnabled(b);
activeToolbar.getItem('export2Word').setEnabled(b);
activeToolbar.getItem('promote').setEnabled(b);
activeToolbar.getItem('lock').setEnabled(b);
activeToolbar.getItem('unlock').setEnabled(b);
activeToolbar.getItem('undo').setEnabled(b);
activeToolbar.getItem('revisions').setEnabled(b);
}
else {}
}
catch(excep) {}
}
function execInTearOffWin(itemID, cmdID, param)
{
if (cmdID == undefined || cmdID == '') return false;
var win = topWindow.aras.uiFindWindowEx(itemID);
var res = null;
if (win && win.name != 'work') {
win.focus();
if (win.frames["tearoff_menu"] && win.frames["tearoff_menu"].onClickMenuItem) {
res = win.frames["tearoff_menu"].onClickMenuItem(cmdID, param);
if (!res || !res['result']) res = true;
}
if (res == null) res = true;
}
if (win && topWindow.aras.isWindowClosed(win)) topWindow.aras.uiUnregWindowEx(itemID);
return res;
}
function changeTabsState(menuItemId)
{
var menuItemsIds = ["defaultTabsState",
"onTabsState",
"offTabsState",
"minimizedTabsState",
"maximizedTabsState"];
menuItemsIds.forEach(function (id)
{
if (id !== menuItemId)
{
menuApplet.findItem(id).setState(false);
}
});
}
function changeDiscussionState(menuItemId)
{
var array = ["defaultDState", "onDState", "offDState"];
array.forEach(function (id) {
menuApplet.findItem(id).setState(id === menuItemId);
});
}
function onDefaultDStateCommand()
{
changeDiscussionState("defaultDState");
}
function onOnDStateCommand()
{
changeDiscussionState("onDState");
}
function onOffDStateCommand()
{
changeDiscussionState("offDState");
}
function onDefaultTabsStateCommand()
{
changeTabsState("defaultTabsState");
}
function onOnTabsStateCommand()
{
changeTabsState("onTabsState");
}
function onOffTabsStateCommand()
{
changeTabsState("offTabsState");
}
function onMinimizedTabsStateCommand()
{
changeTabsState("minimizedTabsState");
}
function onMaximizedTabsStateCommand()
{
changeTabsState("maximizedTabsState");
}
function OnMenuItemClick(menuItem) {
processCommand(menuItem.getId());
}
function processCommand(cmdID, param)
{
cmdID = cmdID.replace(menuApplet.get("default_package_name_prefix"), "");
var workerFrame = topWindow.work;
var emptyID = ' ';
var cmdHandlerName = "on" + (cmdID.substr(0,1).toUpperCase() + cmdID.substr(1)) + "Command";
var cmdHandler = workerFrame[cmdHandlerName];
if (!cmdHandler) cmdHandler = window[cmdHandlerName];
if (cmdHandler)
{
if (!aras.DEBUG)
{
try
{
cmdHandler(cmdID);
}
catch (excep)
{
}
}
else
{
cmdHandler(cmdID);
}
return;
}
var itemID = '';
var itemIDs = new Array();
var itemTypeName = '';
if (workerFrame.isLifeCycleTool)
{
itemTypeName = 'Life Cycle Map';
itemID = workerFrame.currLCID;
itemIDs[0] = itemID;
}
else if (workerFrame.isWorkflowTool)
{
itemTypeName = 'Workflow Map';
itemID = workerFrame.currWFID;
itemIDs[0] = itemID;
}
else if (workerFrame.isFormTool)
{
itemTypeName = 'Form';
itemID = workerFrame.currFormId;
itemIDs[0] = itemID;
}
else if (workerFrame.isItemsGrid && workerFrame.grid)
{
itemTypeName = workerFrame.itemTypeName;
itemID = workerFrame.grid.getSelectedId();
itemIDs = workerFrame.grid.getSelectedItemIds();
}
else if (workerFrame.viewMode == 'tab view')
{
itemTypeName = workerFrame.itemTypeName;
itemID = workerFrame.itemID;
itemIDs[0] = itemID;
}
else if (workerFrame.tree)
{
itemTypeName = workerFrame.itemTypeName;
itemID = workerFrame.tree.theItemID;
itemIDs[0] = workerFrame.tree.theItemID;
}
//processing of "common" commands started
if (cmdID.search(/^action:/) == 0)
{
var actID = cmdID.split(':');
var itID = actID[2];
actID = actID[1];
var action = topWindow.aras.getItemFromServer('Action', actID, 'name,method(name,method_type,method_code),type,target,location,body,on_complete(name,method_type,method_code),item_query');
if (action) {
var actType = action.getProperty('type');
if (itemIDs.length == 0 || 'generic' == actType || actType == 'itemtype') {
if (itID == emptyID)
topWindow.aras.invokeAction(action.node, undefined, '');
else
topWindow.aras.invokeAction(action.node, itID, '');
}
else {
var count = itemIDs.length;
for (var i = 0; i < count; i++) {
var itemID = itemIDs[i];
topWindow.aras.invokeAction(action.node, itID, itemID);
}
}
}
}
else if (cmdID.search(/^report:/) == 0) {
var repID = cmdID.split(':');
var itID = repID[2];
repID = repID[1];
var report = aras.getItemFromServer('Report', repID, 'name,target,location,report_query');
if (report)
{
if (itemIDs.length == 0)
{
if (itID == emptyID)
{
aras.runReport(report.node);
}
else
{
aras.runReport(report.node, itID);
}
}
else
{
for (var counter = 0; counter < itemIDs.length; counter++)
{
itemID = itemIDs[counter];
var tmpItm = aras.createXMLDocument();
tmpItm.loadXML(" ");
tmpItm = tmpItm.documentElement;
if (itID == emptyID)
{
aras.runReport(report.node, undefined, tmpItm);
}
else
{
aras.runReport(report.node, itID, tmpItm);
}
}
}
}
}
else if (cmdID === "new_user_report") {
aras.uiNewItemEx("SelfServiceReport");
} else if (cmdID.search(/^userreport:/) === 0) {
var ids = "";
if (param) {
var listIds = work.grid.GetSelectedItemIDs_Experimental();
ids = listIds.join("','");
ids = "'" + ids + "'";
}
runUserReport(aras, cmdID, ids);
}
}
var onClickMenuItem = processCommand;
function viewSelectedItem(itemID, itemType, viewMode)
{
if (!itemID) return false;
if (itemType === undefined) itemType = "";
var win = aras.windowsByName[itemID];
if (win && !aras.isWindowClosed(win) && win.name != 'work')
{
win.focus();
return true;
}
var itemNd = aras.getItemById(itemType, itemID, 0);
if (!itemNd) return false;
var itemTypeName = itemNd.getAttribute('type');
var re = new RegExp("Desktop.html$", "i")
if (itemTypeName == 'Form' && !re.test(work.location.pathname)) {
work.location.replace('FormTool/formtool.html?formID=' + itemID);
}
else {
aras.uiShowItemEx(itemNd, viewMode);
}
return true;
}
var __mainTreeShowStr = "";
var __hiddenMainTreeStr = "0,*";
function isMainTreeShown()
{
return window.isMainTreeShown();
}
function onPrintCommand()
{
//no any code since pdf printing approach implementation
}
function onExport2OfficeCommand(targetAppType)
{
var itm = work.document.item;
if (itm) aras.export2Office(function() { return ""; }, targetAppType, itm);
}
function onShowMainTreeCommand() {
var hideMainTree = isMainTreeShown();
setControlState("ShowMainTree", !hideMainTree);
topWindow.window.hideOrShowTree(hideMainTree);
}
function onLogoutCommand()
{
if (aras.isDirtyItems())
{
onCancelLogout();
}
else
{
window.setTimeout(function () { window.close(); window.location.href="mainpage.aspx" }, 0);
}
}
function onCancelLogout() {
if (window.parent !== parent.parent) {
window.location.reload();
return;
}
return showDirtyItems(window);
}
function showDirtyItems(win, readOnly) {
var param = {
title: aras.getResource('', 'dirtyitemslist.unsaved_items'),
aras: aras,
dialogWidth: 400,
dialogHeight: 500,
center: true,
content: 'dirtyItemsList.html'
};
if (readOnly) {
param.mode = 'read_only';
}
if (!win) {
win = window;
}
return win.ArasModules.Dialog.show('iframe', param).promise;
}