Unverified Commit f25328fd authored by brittainjackson7's avatar brittainjackson7 Committed by GitHub
Browse files

Merge pull request #9 from ausvat/main

Fix observations list Fixes #8
parents cf875435 f84bbb93
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@
    "url-loader": "^4.1.1",
    "webpack": "^5.68.0",
    "webpack-cli": "^4.9.2",
    "webpack-dev-server": "^4.7.4",
    "webpack-dev-server": "^4.15.1",
    "webpack-merge": "^5.8.0"
  },
  "dependencies": {
+14 −1
Original line number Diff line number Diff line
@@ -114,8 +114,18 @@ export default function FootprintResults(props) {
      let collectionUrls = {};
      for (const collection of props.target.collections) {
        
        
        let isInStacAPI = collection.hasOwnProperty("stac_version");
        
        let isInPyAPI = collection.hasOwnProperty("itemType");
        
        // check for pygeo api
        if (isInPyAPI)
        {
          // change filter for the pygeo api
          myFilter = "&limit=" + step;
        }

        if(isInStacAPI) {
          let itemsUrl = collection.links.find(link => link.rel === "items").href;
          collectionUrls[collection.id] = itemsUrl + myFilter + pageInfo;
@@ -123,6 +133,7 @@ export default function FootprintResults(props) {
        else {
          let itemsUrl = collection.links.find(link => link.rel === "items").href;
          collectionUrls[collection.id] = itemsUrl + pageInfo;
          
        }
      }

@@ -150,6 +161,8 @@ export default function FootprintResults(props) {
        setHasFootprints(Object.keys(collections).length > 0);
        setIsLoading(false);

       

        // Send to Leaflet
        window.postMessage(["setFeatureCollections", myId, collections], "*");
      })();
+61 −9
Original line number Diff line number Diff line
@@ -88,9 +88,30 @@ export function FilterTooStrict(){
// shown as the result for a footprint.
export function FootprintCard(props){

  //initialize variables 
  let ThumbnailLink = '';
  let modifiedProductId = '';
  let BrowserLink = '';
  let showMetadata;
  
   // Metadata Popup
  const geoTiffViewer = new GeoTiffViewer("GeoTiffAsset");
  const showMetadata = (value) => () => {

  


  // Check for pyGeo API vs raster API
 
  // Check if "assets" is available before accessing it
  if (props.feature.assets && props.feature.assets.thumbnail && props.feature.assets.thumbnail.href) 
  {
    // set Thumbnail link
    ThumbnailLink = props.feature.assets.thumbnail.href;

    BrowserLink = 'https://stac.astrogeology.usgs.gov/browser-dev/#/api/collections/' + props.feature.collection + '/items/' + props.feature.id;
    
    // display meta data for STAC api
     showMetadata = (value) => () => {
      geoTiffViewer.displayGeoTiff(value.assets.thumbnail.href);
      geoTiffViewer.changeMetaData(
        value.collection,
@@ -101,12 +122,43 @@ export function FootprintCard(props){
      geoTiffViewer.openModal();
    }; 

    
  } 
  else 
  {

    // Switch the id and date and link
    props.feature.id = props.feature.properties.productid;

    props.feature.properties.datetime = props.feature.properties.createdate;

    modifiedProductId = props.feature.id.replace(/_RED|_COLOR/g, '');

    ThumbnailLink = 'https://hirise.lpl.arizona.edu/PDS/EXTRAS/RDR/ESP/ORB_012600_012699/' + modifiedProductId + '/' + props.feature.id + '.thumb.jpg';

    BrowserLink = props.feature.properties.produrl;

    //display different modal for PyGeo API
    showMetadata = (value) => () => {
    geoTiffViewer.displayGeoTiff(ThumbnailLink);
    geoTiffViewer.changeMetaData(
      value.properties.datasetid,
      value.properties.productid,
      value.properties.datetime,
      value.links
    );
    geoTiffViewer.openModal();
  };
  }
  


  return(
    <Card sx={{ width: 250, margin: 1}}>
      <CardContent sx={{padding: 1.2, paddingBottom: 0}}>
        <div className="resultContainer" >
          <div className="resultImgDiv">
            <img className="resultImg" src={props.feature.assets.thumbnail.href} />
            <img className="resultImg" src={ThumbnailLink} />
          </div>
          <div className="resultData">
            <div className="resultSub">
@@ -130,11 +182,11 @@ export function FootprintCard(props){
              clickable
            />
            <Chip
              label="STAC Browser"
              label="Browser"
              icon={<LaunchIcon />}
              size="small"
              component="a"
              href={`https://stac.astrogeology.usgs.gov/browser-dev/#/api/collections/${props.feature.collection}/items/${props.feature.id}`}
              href={BrowserLink}
              target="_blank"
              variant="outlined"
              clickable
+1 −2
Original line number Diff line number Diff line
@@ -205,7 +205,6 @@ export default L.Map.AstroMap = L.Map.extend({
      let url_to_stac_item = e.layer.feature.links[0].href;
      console.log (url_to_stac_item);  
    }
    
    // fetch(url_to_stac_item).then(res => res.json()).then(async feature => {
    //   const thumbnail = await L.stacLayer(feature, {displayPreview: true});
    //   thumbnail.on("click", e => {
+11 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ export async function FetchObjects(objInfo) {
 * @param {string} queryString - The query to narrow the results returned from the collection.
 */
export async function FetchFootprints(collection, page, step){

    let offsetMulitiplier;
    let pageInfo = "";
    if(collection.url.slice(-1) !== "?") {
        pageInfo += "&"
@@ -60,6 +60,16 @@ export async function FetchFootprints(collection, page, step){
      pageInfo += "&limit=" + step;
    }

    // check for pyGeo API
    if (!collection.url.includes('stac')) 
    {
        offsetMulitiplier = (page * 10 - 10);
        pageInfo = "&offset=" + offsetMulitiplier;
    }
    
    offsetMulitiplier = 0;
    

    let jsonRes = await FetchObjects(collection.url + pageInfo);
    return jsonRes.features;
}