From 7bb6f8cf9e8fdbc468b60b8065400e065e4c19ed Mon Sep 17 00:00:00 2001 From: "mikep%oeone.com" Date: Fri, 23 Aug 2002 18:13:04 +0000 Subject: [PATCH] Fixing bug 157269./ git-svn-id: svn://10.0.0.236/trunk@127965 18797224-902f-48f8-a5cc-f745e15eee43 --- .../calendar/resources/content/unifinder.js | 77 +++++++++---------- 1 file changed, 35 insertions(+), 42 deletions(-) diff --git a/mozilla/calendar/resources/content/unifinder.js b/mozilla/calendar/resources/content/unifinder.js index 46c9a23a607..b25dd4a67cc 100644 --- a/mozilla/calendar/resources/content/unifinder.js +++ b/mozilla/calendar/resources/content/unifinder.js @@ -53,48 +53,7 @@ function calendarUnifinderInit( ) { onSelectionChanged : function( EventSelectionArray ) { - /* - This no longer works since we moved to a tree - */ - - var SearchTree = document.getElementById( "unifinder-search-results-listbox" ); - - SearchTree.setAttribute( "suppressonselect", "true" ); - - SearchTree.treeBoxObject.selection.clearSelection(); - - if( EventSelectionArray.length > 0 ) - { - for( i = 0; i < EventSelectionArray.length; i++ ) - { - var SearchTreeItem = document.getElementById( "search-unifinder-treeitem-"+EventSelectionArray[i].id ); - - if( SearchTreeItem ) - { - var Index = SearchTree.contentView.getIndexOfItem( SearchTreeItem ); - - SearchTree.treeBoxObject.ensureRowIsVisible( Index ); - - SearchTree.treeBoxObject.selection.toggleSelect( Index ); - } - } - } - /*SearchTree.clearSelection(); - - if( EventSelectionArray.length > 0 ) - { - for( i = 0; i < EventSelectionArray.length; i++ ) - { - var SearchTreeItem = document.getElementById( "search-unifinder-treeitem-"+EventSelectionArray[i].id ); - - //you need this for when an event is added. It doesn't yet exist. - if( SearchTreeItem ) - SearchTree.addItemToSelection( SearchTreeItem ); - } - } - dump( "\nAllow on select now!" ); - SearchTree.removeAttribute( "suppressonselect" ); - */ + selectSelectedEvents( ); } } @@ -132,6 +91,8 @@ var unifinderEventDataSourceObserver = if( calendarEvent ) { unifinderRefesh(); + + setTimeout( "selectSelectedEvents()", 1000 ); } } }, @@ -141,6 +102,8 @@ var unifinderEventDataSourceObserver = if( !gICalLib.batchMode ) { unifinderRefesh(); + + setTimeout( "selectSelectedEvents()", 1000 ); } }, @@ -149,6 +112,8 @@ var unifinderEventDataSourceObserver = if( !gICalLib.batchMode ) { unifinderRefesh(); + + setTimeout( "selectSelectedEvents()", 1000 ); } }, @@ -159,7 +124,35 @@ var unifinderEventDataSourceObserver = }; +function selectSelectedEvents( ) +{ + EventSelectionArray = gCalendarWindow.EventSelection.selectedEvents; + var SearchTree = document.getElementById( "unifinder-search-results-listbox" ); + + SearchTree.setAttribute( "suppressonselect", "true" ); + + SearchTree.treeBoxObject.selection.clearSelection(); + + if( EventSelectionArray.length > 0 ) + { + dump( "Selected event is "+EventSelectionArray.length ); + + for( i = 0; i < EventSelectionArray.length; i++ ) + { + var SearchTreeItem = document.getElementById( "search-unifinder-treeitem-"+EventSelectionArray[i].id ); + + if( SearchTreeItem ) + { + var Index = SearchTree.contentView.getIndexOfItem( SearchTreeItem ); + + SearchTree.treeBoxObject.ensureRowIsVisible( Index ); + + SearchTree.treeBoxObject.selection.toggleSelect( Index ); + } + } + } +} /** * Called when the calendar is loaded */