From 991216702295bf60f263bad9afa75da9dca3b904 Mon Sep 17 00:00:00 2001 From: iskore Date: Mon, 14 Jan 2019 17:51:36 -0500 Subject: [PATCH] ui: annotations loading on first image Refs: https://github.com/ossimlabs/tlv/issues/31 --- .../javascripts/menus/annotations-map.js | 47 +++++++++---------- apps/tlv-app/test.geojson | 2 + 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/apps/tlv-app/grails-app/assets/javascripts/menus/annotations-map.js b/apps/tlv-app/grails-app/assets/javascripts/menus/annotations-map.js index db7dd169..4014946f 100644 --- a/apps/tlv-app/grails-app/assets/javascripts/menus/annotations-map.js +++ b/apps/tlv-app/grails-app/assets/javascripts/menus/annotations-map.js @@ -674,11 +674,9 @@ function generateRandomStyle( min, max ) { } function searchForAnnotations() { - console.log( tlv.layers ); - var usernames = {}; - - tlv.layers.forEach( function( layer ) { + + $.each( tlv.layers, function( index, layer ) { $.ajax( { url: '/annotation/imageAnnotations' + '?' + $.param( { imgId: layer.imageId } ) } ) @@ -698,31 +696,32 @@ function searchForAnnotations() { } } }; - + data.forEach( function( annotation ) { var geoJSON = { id: 'annotation.' + annotation.id, type: 'Feature', properties: annotation }; - + if( !usernames.hasOwnProperty( annotation.username ) ) { usernames[ annotation.username ] = generateRandomStyle( 140, 255 ); } - + geoJSON.properties.style = usernames[ annotation.username ]; - + geoJSON.properties.geometry_ortho = annotation.geometryOrtho; geoJSON.properties.geometry_pixel = annotation.geometryPixel; geoJSON.properties.image_id = annotation.imageId; geoJSON.properties.saved = true; - + collection.features.push( geoJSON ); } ); - + layer.annotations = collection; if( collection.features.length > 0 ) { try { + // annotationsLayerToggle(); addSavedAnnotations( collection, layer ); } catch( e ) { console.error( e ); @@ -732,8 +731,7 @@ function searchForAnnotations() { .fail( function( e ) { console.error( e ); } ); - - // annotationsLayerToggle(); + refreshLayer(); return false; } ); @@ -742,13 +740,15 @@ function searchForAnnotations() { function bindWindowUnload() { window.addEventListener( "beforeunload", function( event ) { e.preventDefault(); - - var unsaved = tlv.layers[ tlv.currentLayer ].annotationsLayer.getSource().getFeatures().filter( function( feature ) { - - - return !feature.getProperties().saved; - } ); - + + var unsaved = tlv.layers[ tlv.currentLayer ] + .annotationsLayer + .getSource() + .getFeatures() + .filter( function( feature ) { + return !feature.getProperties().saved; + } ); + if( unsaved.length ) { var message = 'Important: You have unsaved changes!'; e.returnValue = message; @@ -760,10 +760,9 @@ function bindWindowUnload() { var setupTimeLapseAnnotations = setupTimeLapse; setupTimeLapse = function() { setupTimeLapseAnnotations(); - - setTimeout( function() { - searchForAnnotations(); - }, 1 ); - + + searchForAnnotations(); + annotationsLayerToggle(); + bindWindowUnload(); }; diff --git a/apps/tlv-app/test.geojson b/apps/tlv-app/test.geojson index 1bcadfdd..d89d8cb4 100644 --- a/apps/tlv-app/test.geojson +++ b/apps/tlv-app/test.geojson @@ -31,3 +31,5 @@ } } } + +31.92, -102.28