/** * Project  AMDA-NG * Name CatalogModule.js * @class amdaDesktop.CatalogModule * @extends amdaDesktop.InteractiveModule * @brief Catalog Module controller definition * @author elena */ Ext.define('amdaDesktop.CatalogModule', { extend: 'amdaDesktop.InteractiveModule', requires: [ 'amdaUI.CatalogUI', 'amdaUI.ShareObjectUI' ], contentId : 'catalogUI', isOperationOnShow : true, /** * @cfg {String} data models * @required */ nodeDataModel : 'amdaModel.CatalogNode', /** * @cfg {String} window definitions * @required */ width : 800, height: 700, uiType : 'panelCatalog', helpTitle : 'Help on Catalog Module', helpFile : 'catalogHelp', shareCatalog : function(catObj) { var win = myDesktopApp.desktop.getWindow('sharecat-win'); if(!win) { var me = this; var win = myDesktopApp.desktop.createWindow( { border: false, id : 'sharecat-win', title : 'Share Catalog', width : 400, height : 300, layout : 'fit', maximizable : false, items : [ { xtype : 'shareobject', id : 'shareCatUI', onAfterShareObject : function(folder_id, object_id) { win.close(); var explorerTree = Ext.getCmp(amdaUI.ExplorerUI.RESRC_TAB.TREE_ID); var sharedCatRootNode = explorerTree.getRootNode().findChild('id','sharedcatalog-treeRootNode',true); amdaModel.InteractiveNode.preloadNodes(sharedCatRootNode, function() { sharedCatRootNode.expand(); var folderNode = explorerTree.getRootNode().findChild('id', folder_id, true); if (!folderNode) return; folderNode.removeAll(); folderNode.set('loaded',false); amdaModel.InteractiveNode.preloadNodes(folderNode, function() { folderNode.expand(); var objectNode = explorerTree.getRootNode().findChild('id',object_id,true); sharedCatRootNode.myGetOwnerTree().getSelectionModel().select(objectNode); }); }); } } ] }); } var sharePanel = win.down('#shareCatUI'); if (sharePanel) sharePanel.setProperties('catalog', catObj); AmdaAction.getObject(catObj.id, 'catalog', function(result,remoteEvent) { if (result) { if (result.description) sharePanel.setDescription(result.description); } }, this.getObjectCallback, this); win.show(); } });