var matrixTests = [ {name:"Load classes", fct: function(objServer) { jsx3.require("jsx3.gui.Matrix"); //inconsequential step to preload some logic that will eventually be needed gicx.preFetchLogic(); }, meta:{single:true}}, {name:"Load component XML", fct: function(objServer) { var doc = new jsx3.xml.Document(); doc.setAsync(true); doc.subscribe(jsx3.xml.Document.ON_RESPONSE, function(objEvent) { objServer.getCache().setDocument("componentXml", objEvent.target); gi.test.gipp.completeTestCase("Load component XML"); }); doc.load(objServer.resolveURI("components/_main.xml")); return gi.test.gipp.WAIT; }}, {name:"Load component", fct: function(objServer) { var objXML = objServer.getCache().getDocument("componentXml"); var pane = objServer.getBodyBlock(); pane.loadXML(objXML, false); objServer.getJSXByName("blkSplitMain").setVisibility("hidden"); objServer.getJSXByName("blkCategories").setVisibility("hidden"); }}, {name:"Initial paint", fct: function(objServer) { objServer.getBodyBlock().repaint(); return gi.test.gipp.SLEEP_LONG; }}, {name:"Subscribe to App Events", fct: function(objServer) { objServer.subscribe("POSTING_WAS_FAVORITED",gicx.onFavorite); objServer.subscribe("POSTING_WAS_UNFAVORITED",gicx.onUnfavorite); objServer.subscribe("POSTING_WAS_BLOCKED",gicx.onBlock); objServer.subscribe("POSTING_WAS_UNBLOCKED",gicx.onUnblock); objServer.subscribe("SEARCH_WAS_ARCHIVED",gicx.onSearchArchive); objServer.subscribe("SEARCH_WAS_UNARCHIVED",gicx.onSearchUnarchive); return gi.test.gipp.SLEEP_LONG; }}, {name:"Register Hot Keys", fct: function(objServer) { //register the hotkey that will load all images (ctrl+shift+a) objServer.registerHotKey(gicx.prefetchAllImages,65,true,true,false); //register hotkey to select all records (ctrl+a) objServer.registerHotKey(function() { var objMatrix = gicx.getResultsTable(); var ids = objMatrix.getSortedIds(); for(var i=0;i