Unverified Commit d21d8087 authored by amystamile's avatar amystamile Committed by GitHub
Browse files

Merge pull request #53 from amystamile/limitandpag

Fix CORs error by restricting limit.
parents f65acc9b 400bf2ad
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -122,7 +122,8 @@ export default function FootprintResults(props) {
                  icon={<LaunchIcon/>}
                  size="small"
                  component="a"
                  href="#"
                  // href={`https://stac.astrogeology.usgs.gov/browser-dev/dev/collections/${feature.collection}/items/${feature.id}`}
                  href="https://stac.astrogeology.usgs.gov/browser-dev/"
                  variant="outlined"
                  clickable
                />
+18 −5
Original line number Diff line number Diff line
@@ -27,7 +27,12 @@ import Pagination from '@mui/material/Pagination';
import Chip from '@mui/material/Chip';
import FlagIcon from '@mui/icons-material/Flag';

import { getMaxNumberPages, setCurrentPage, getCurrentPage, getNumberMatched, setLimit } from "../../js/ApiJsonCollection";
import { getMaxNumberPages,
         setCurrentPage,
         getCurrentPage,
         getNumberMatched,
         setLimit,
         getNumberReturned } from "../../js/ApiJsonCollection";


/**
@@ -113,6 +118,7 @@ export default function SearchAndFilterInput(props) {
  const [dateToVal, setDateToVal] = React.useState(null);
  const [maxPages, setMaxPages] = React.useState(10);
  const [maxNumberFootprints, setMaxNumberFootprints] = React.useState(10);
  const [numberReturned, setNumberReturned] = React.useState(10);
  const [limitVal, setLimitVal] = React.useState(10);

  const [applyChipVisStyle, setApplyChipVisStyle] = React.useState(css.chipHidden);
@@ -126,6 +132,8 @@ export default function SearchAndFilterInput(props) {
  const handleApply = () => {
    setTimeout(() => {
      setMaxPages(getMaxNumberPages);
      setNumberReturned(getNumberReturned);
      setMaxNumberFootprints(getNumberMatched);
      props.footprintNavClick();
    }, 1000);
    setApplyChipVisStyle(css.chipHidden);
@@ -142,8 +150,9 @@ export default function SearchAndFilterInput(props) {
    setDateFromVal(null);
    setDateToVal(null);
    setLimitVal(10);
    setMaxPages(getMaxNumberPages);
    setMaxNumberFootprints(getNumberMatched);
    setMaxPages(1);
    setMaxNumberFootprints(0);
    setNumberReturned(0);
    setApplyChip("Apply to show Footprints");
    //// Uncomment to close details on clear
    // keywordDetails.current.open = false;
@@ -211,6 +220,7 @@ export default function SearchAndFilterInput(props) {
  useEffect(() => {
    setTimeout(() => {
      setMaxNumberFootprints(getNumberMatched);
      setNumberReturned(getNumberReturned);
      setLimitVal(10);
      setLimit(10);
      setMaxPages(getMaxNumberPages);
@@ -372,7 +382,7 @@ export default function SearchAndFilterInput(props) {
                  valueLabelDisplay="auto"
                  onChange={handleLimitChange}
                  value={limitVal}
                  max={maxNumberFootprints}
                  max={100}
                  defaultValue={10}
                />
            </div>
@@ -387,6 +397,9 @@ export default function SearchAndFilterInput(props) {
                />
            </div>
          </div>
          <div className="panelSectionHeader">
            <div>Displaying {numberReturned} of {maxNumberFootprints} Results</div>
          </div>
          <div style={applyChipVisStyle}>
            <Chip
              id="applyChip"
+22 −5
Original line number Diff line number Diff line
var _maxNumberPages = 0;
var _currentPage = 1;
var _numberMatched = 0;
var _numberReturned = 0;
var _features = [];
var _limitVal = 10;

@@ -69,15 +70,15 @@ export function getFeatures() {

/**
 * @function setNumberMatched
 * @description Sets the value of the return number of footprints
 * @description Sets the value of the matched number of footprints
 */
export function setNumberMatched(matched) {
  _numberMatched = matched;

  if (_limitVal != 0 && matched != 0){
    setMaxNumberPages(Math.floor(matched/_limitVal));
  if (_limitVal != 0 && _numberMatched != 0){
    setMaxNumberPages(Math.ceil(_numberMatched/_limitVal));
  }
  if (matched == 0){
  if (_numberMatched == 0){
    setMaxNumberPages(0);
  }
}
@@ -90,6 +91,23 @@ export function getNumberMatched() {
  return _numberMatched
}

/**
 * @function setNumberReturned
 * @description Sets the value of the returned number of footprints
 */
export function setNumberReturned(returned) {
  _numberReturned = returned;
  console.log(_numberReturned);
}

/**
 * @function getNumberReturned
 * @description Gets the value of the returned number of footprints
 */
export function getNumberReturned() {
  return _numberReturned;
}

/**
 * @function setMaxNumberPages
 * @description Sets the value of the max number of pages possible
@@ -129,4 +147,3 @@ export function getCurrentPage() {
export function setLimit(val) {
  _limitVal = val;
}
+10 −1
Original line number Diff line number Diff line
@@ -2,7 +2,13 @@ import L from "leaflet";
import "proj4leaflet";
import AstroProj from "./AstroProj";
import LayerCollection from "./LayerCollection";
import { getItemCollection, setNumberMatched, setMaxNumberPages, getCurrentPage, setCurrentPage, setFeatures} from "./ApiJsonCollection";
import { getItemCollection,
         setNumberMatched,
         setMaxNumberPages,
         getCurrentPage,
         setCurrentPage,
         setFeatures,
         setNumberReturned } from "./ApiJsonCollection";
import { MY_JSON_MAPS } from "./layers";
import stacLayer from 'stac-layer/src/index.js';

@@ -136,6 +142,7 @@ export default L.Map.AstroMap = L.Map.extend({
   */
  loadFootprintLayer: function(name, queryString) {
    var matched = 0;
    var returned = 0;
    const features = [];
    getItemCollection(name, queryString).then(result => {
      if (result != undefined) {
@@ -143,6 +150,7 @@ export default L.Map.AstroMap = L.Map.extend({
        for (let i = 0; i < result.length; i++) {
          this._geoLayers[i] = L.geoJSON().on({click: handleClick}).addTo(this);
          matched += result[i].numberMatched;
          returned += result[i].context["returned"];
          features.push(...result[i].features);
          for (let j = 0; j < result[i].features.length; j++) {
            this._footprintCollection[result[i].features[j].collection] = this._geoLayers[i];
@@ -154,6 +162,7 @@ export default L.Map.AstroMap = L.Map.extend({
          .addTo(this);
      }
      setNumberMatched(matched);
      setNumberReturned(returned);
      setFeatures(features);
    });