@jupytergis/base 0.11.1 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commands/BaseCommandIDs.d.ts +1 -0
- package/lib/commands/BaseCommandIDs.js +1 -0
- package/lib/commands/index.js +52 -0
- package/lib/constants.d.ts +3 -2
- package/lib/constants.js +3 -0
- package/lib/dialogs/symbology/hooks/useGetBandInfo.d.ts +0 -6
- package/lib/dialogs/symbology/hooks/useGetBandInfo.js +2 -2
- package/lib/dialogs/symbology/tiff_layer/types/MultibandColor.js +4 -4
- package/lib/formbuilder/objectform/StoryEditorForm.d.ts +3 -2
- package/lib/formbuilder/objectform/StoryEditorForm.js +24 -1
- package/lib/mainview/mainView.d.ts +18 -0
- package/lib/mainview/mainView.js +243 -18
- package/lib/panelview/{components/filter-panel → filter-panel}/Filter.js +1 -1
- package/lib/panelview/leftpanel.js +26 -17
- package/lib/panelview/rightpanel.d.ts +2 -0
- package/lib/panelview/rightpanel.js +22 -14
- package/lib/panelview/{components/story-maps → story-maps}/PreviewModeSwitch.js +3 -2
- package/lib/panelview/story-maps/StoryEditorPanel.d.ts +9 -0
- package/lib/panelview/story-maps/StoryEditorPanel.js +34 -0
- package/lib/panelview/{components/story-maps → story-maps}/StoryNavBar.d.ts +2 -1
- package/lib/panelview/{components/story-maps → story-maps}/StoryNavBar.js +3 -3
- package/lib/panelview/story-maps/StoryViewerPanel.d.ts +13 -0
- package/lib/panelview/{components/story-maps → story-maps}/StoryViewerPanel.js +37 -24
- package/lib/panelview/story-maps/components/StoryContentSection.d.ts +6 -0
- package/lib/panelview/story-maps/components/StoryContentSection.js +10 -0
- package/lib/panelview/story-maps/components/StoryImageSection.d.ts +15 -0
- package/lib/panelview/story-maps/components/StoryImageSection.js +13 -0
- package/lib/panelview/story-maps/components/StorySubtitleSection.d.ts +11 -0
- package/lib/panelview/story-maps/components/StorySubtitleSection.js +9 -0
- package/lib/panelview/story-maps/components/StoryTitleSection.d.ts +12 -0
- package/lib/panelview/story-maps/components/StoryTitleSection.js +8 -0
- package/lib/shared/components/Combobox.d.ts +21 -0
- package/lib/shared/components/Combobox.js +32 -0
- package/lib/shared/components/Command.js +10 -10
- package/lib/shared/components/Input.d.ts +3 -0
- package/lib/shared/components/Input.js +18 -0
- package/lib/shared/components/Pagination.js +3 -2
- package/lib/shared/components/Select.d.ts +19 -0
- package/lib/shared/components/Select.js +28 -0
- package/lib/shared/components/SingleDatePicker.d.ts +11 -0
- package/lib/shared/components/SingleDatePicker.js +16 -0
- package/lib/stacBrowser/components/StacPanel.d.ts +9 -1
- package/lib/stacBrowser/components/StacPanel.js +53 -9
- package/lib/stacBrowser/components/filter-extension/QueryableComboBox.d.ts +9 -0
- package/lib/stacBrowser/components/filter-extension/QueryableComboBox.js +179 -0
- package/lib/stacBrowser/components/filter-extension/QueryableRow.d.ts +16 -0
- package/lib/stacBrowser/components/filter-extension/QueryableRow.js +16 -0
- package/lib/stacBrowser/components/filter-extension/StacFilterExtensionPanel.d.ts +7 -0
- package/lib/stacBrowser/components/filter-extension/StacFilterExtensionPanel.js +49 -0
- package/lib/stacBrowser/components/filter-extension/StacQueryableFilters.d.ts +11 -0
- package/lib/stacBrowser/components/filter-extension/StacQueryableFilters.js +19 -0
- package/lib/stacBrowser/components/{StacFilterSection.d.ts → geodes/StacFilterSection.d.ts} +1 -1
- package/lib/stacBrowser/components/{StacFilterSection.js → geodes/StacFilterSection.js} +3 -3
- package/lib/stacBrowser/components/geodes/StacGeodesFilterPanel.d.ts +7 -0
- package/lib/stacBrowser/components/geodes/StacGeodesFilterPanel.js +69 -0
- package/lib/stacBrowser/components/shared/StacPanelResults.d.ts +3 -0
- package/lib/stacBrowser/components/shared/StacPanelResults.js +68 -0
- package/lib/stacBrowser/components/shared/StacSpatialExtent.d.ts +8 -0
- package/lib/stacBrowser/components/shared/StacSpatialExtent.js +10 -0
- package/lib/stacBrowser/components/shared/StacTemporalExtent.d.ts +9 -0
- package/lib/stacBrowser/components/shared/StacTemporalExtent.js +9 -0
- package/lib/stacBrowser/context/StacResultsContext.d.ts +33 -0
- package/lib/stacBrowser/context/StacResultsContext.js +269 -0
- package/lib/stacBrowser/hooks/useGeodesSearch.d.ts +24 -0
- package/lib/stacBrowser/hooks/useGeodesSearch.js +178 -0
- package/lib/stacBrowser/hooks/useStacFilterExtension.d.ts +30 -0
- package/lib/stacBrowser/hooks/useStacFilterExtension.js +262 -0
- package/lib/stacBrowser/hooks/useStacSearch.d.ts +5 -16
- package/lib/stacBrowser/hooks/useStacSearch.js +30 -184
- package/lib/stacBrowser/types/types.d.ts +86 -3
- package/lib/toolbar/widget.d.ts +5 -0
- package/lib/toolbar/widget.js +23 -2
- package/lib/tools.d.ts +2 -8
- package/lib/tools.js +67 -18
- package/package.json +2 -3
- package/style/base.css +54 -11
- package/style/shared/button.css +5 -4
- package/style/shared/calendar.css +7 -1
- package/style/shared/combobox.css +75 -0
- package/style/shared/command.css +178 -0
- package/style/shared/input.css +59 -0
- package/style/shared/pagination.css +1 -1
- package/style/shared/popover.css +1 -0
- package/style/shared/tabs.css +1 -7
- package/style/shared/toggle.css +1 -1
- package/style/stacBrowser.css +169 -16
- package/style/statusBar.css +1 -0
- package/style/storyPanel.css +122 -3
- package/style/tabPanel.css +0 -86
- package/lib/panelview/components/story-maps/StoryEditorPanel.d.ts +0 -7
- package/lib/panelview/components/story-maps/StoryEditorPanel.js +0 -29
- package/lib/panelview/components/story-maps/StoryViewerPanel.d.ts +0 -7
- package/lib/stacBrowser/components/StacPanelFilters.d.ts +0 -14
- package/lib/stacBrowser/components/StacPanelFilters.js +0 -81
- package/lib/stacBrowser/components/StacPanelResults.d.ts +0 -13
- package/lib/stacBrowser/components/StacPanelResults.js +0 -48
- /package/lib/panelview/{components/filter-panel → filter-panel}/Filter.d.ts +0 -0
- /package/lib/panelview/{components/filter-panel → filter-panel}/FilterRow.d.ts +0 -0
- /package/lib/panelview/{components/filter-panel → filter-panel}/FilterRow.js +0 -0
- /package/lib/panelview/{components/identify-panel → identify-panel}/IdentifyPanel.d.ts +0 -0
- /package/lib/panelview/{components/identify-panel → identify-panel}/IdentifyPanel.js +0 -0
- /package/lib/panelview/{components/story-maps → story-maps}/PreviewModeSwitch.d.ts +0 -0
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { format } from 'date-fns';
|
|
2
|
-
import { CalendarIcon } from 'lucide-react';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { Button } from "../../shared/components/Button";
|
|
5
|
-
import { Calendar } from "../../shared/components/Calendar";
|
|
6
|
-
import Checkbox from "../../shared/components/Checkbox";
|
|
7
|
-
import { Popover, PopoverContent, PopoverTrigger, } from "../../shared/components/Popover";
|
|
8
|
-
import StacFilterSection from "./StacFilterSection";
|
|
9
|
-
import { datasets as datasetsList, platforms as platformsList, products as productsList, } from "../constants";
|
|
10
|
-
const StacPanelFilters = ({ filterState, filterSetters, startTime, setStartTime, endTime, setEndTime, useWorldBBox, setUseWorldBBox, }) => {
|
|
11
|
-
const handleDatasetSelection = (dataset, collection) => {
|
|
12
|
-
const collections = new Set(filterState.collections);
|
|
13
|
-
const datasets = new Set(filterState.datasets);
|
|
14
|
-
if (datasets.has(dataset)) {
|
|
15
|
-
datasets.delete(dataset);
|
|
16
|
-
// Remove the collection if no datasets remain for it
|
|
17
|
-
const datasetsForCollection = Array.from(datasets).filter(d => {
|
|
18
|
-
return datasetsList.some(entry => entry.collection === collection && entry.datasets.includes(d));
|
|
19
|
-
});
|
|
20
|
-
if (datasetsForCollection.length === 0) {
|
|
21
|
-
collections.delete(collection);
|
|
22
|
-
const platforms = new Set(filterState.platforms);
|
|
23
|
-
const products = new Set(filterState.products);
|
|
24
|
-
// Remove platforms belonging to this collection
|
|
25
|
-
if (platformsList[collection]) {
|
|
26
|
-
platformsList[collection].forEach(platform => {
|
|
27
|
-
platforms.delete(platform);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
// Remove products belonging to this collection
|
|
31
|
-
productsList
|
|
32
|
-
.filter(product => product.collections.includes(collection))
|
|
33
|
-
.forEach(product => {
|
|
34
|
-
products.delete(product.productCode);
|
|
35
|
-
});
|
|
36
|
-
filterSetters.platforms(platforms);
|
|
37
|
-
filterSetters.products(products);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
datasets.add(dataset);
|
|
42
|
-
collections.add(collection);
|
|
43
|
-
}
|
|
44
|
-
filterSetters.collections(collections);
|
|
45
|
-
filterSetters.datasets(datasets);
|
|
46
|
-
};
|
|
47
|
-
const handleToggle = (key, value) => {
|
|
48
|
-
const updated = new Set(filterState[key]);
|
|
49
|
-
if (updated.has(value)) {
|
|
50
|
-
updated.delete(value);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
updated.add(value);
|
|
54
|
-
}
|
|
55
|
-
filterSetters[key](updated);
|
|
56
|
-
};
|
|
57
|
-
return (React.createElement("div", { className: "jgis-stac-browser-filters-panel" },
|
|
58
|
-
React.createElement("div", null,
|
|
59
|
-
React.createElement("span", { style: { display: 'flex', alignItems: 'center', gap: '0.5rem' } },
|
|
60
|
-
React.createElement(Checkbox, { checked: useWorldBBox, onCheckedChange: setUseWorldBBox }),
|
|
61
|
-
"Use whole world as bounding box")),
|
|
62
|
-
React.createElement("div", { className: "jgis-stac-browser-date-picker" },
|
|
63
|
-
React.createElement(Popover, null,
|
|
64
|
-
React.createElement(PopoverTrigger, { asChild: true },
|
|
65
|
-
React.createElement(Button, { style: { padding: '0 0.5rem' }, variant: 'outline' },
|
|
66
|
-
React.createElement(CalendarIcon, { className: "jgis-stac-datepicker-icon" }),
|
|
67
|
-
startTime ? format(startTime, 'PPP') : React.createElement("span", null, "Start Date"))),
|
|
68
|
-
React.createElement(PopoverContent, null,
|
|
69
|
-
React.createElement(Calendar, { mode: "single", selected: startTime, onSelect: setStartTime, autoFocus: true }))),
|
|
70
|
-
React.createElement(Popover, null,
|
|
71
|
-
React.createElement(PopoverTrigger, { asChild: true },
|
|
72
|
-
React.createElement(Button, { style: { padding: '0 0.5rem' }, variant: 'outline' },
|
|
73
|
-
React.createElement(CalendarIcon, { className: "jgis-stac-datepicker-icon" }),
|
|
74
|
-
endTime ? format(endTime, 'PPP') : React.createElement("span", null, "End Date"))),
|
|
75
|
-
React.createElement(PopoverContent, null,
|
|
76
|
-
React.createElement(Calendar, { mode: "single", selected: endTime, onSelect: setEndTime, autoFocus: true })))),
|
|
77
|
-
React.createElement(StacFilterSection, { section: "Collection", data: datasetsList, selectedCollections: Array.from(filterState.collections), selectedData: Array.from(filterState.datasets), handleCheckedChange: handleDatasetSelection }),
|
|
78
|
-
React.createElement(StacFilterSection, { section: "Platform", data: platformsList, selectedCollections: Array.from(filterState.collections), selectedData: Array.from(filterState.platforms), handleCheckedChange: platform => handleToggle('platforms', platform) }),
|
|
79
|
-
React.createElement(StacFilterSection, { section: "Data / Product", data: productsList, selectedCollections: Array.from(filterState.collections), selectedData: Array.from(filterState.products), handleCheckedChange: product => handleToggle('products', product) })));
|
|
80
|
-
};
|
|
81
|
-
export default StacPanelFilters;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { IStacItem } from "../types/types";
|
|
3
|
-
interface IStacPanelResultsProps {
|
|
4
|
-
results: IStacItem[];
|
|
5
|
-
currentPage: number;
|
|
6
|
-
totalPages: number;
|
|
7
|
-
handlePaginationClick: (page: number) => void;
|
|
8
|
-
handleResultClick: (id: string) => void;
|
|
9
|
-
formatResult: (item: IStacItem) => string;
|
|
10
|
-
isLoading: boolean;
|
|
11
|
-
}
|
|
12
|
-
declare const StacPanelResults: ({ results, currentPage, totalPages, handlePaginationClick, handleResultClick, formatResult, isLoading, }: IStacPanelResultsProps) => React.JSX.Element;
|
|
13
|
-
export default StacPanelResults;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Button } from "../../shared/components/Button";
|
|
3
|
-
import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, } from "../../shared/components/Pagination";
|
|
4
|
-
function getPageItems(currentPage, totalPages) {
|
|
5
|
-
if (totalPages <= 5) {
|
|
6
|
-
return Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
7
|
-
}
|
|
8
|
-
if (currentPage <= 3) {
|
|
9
|
-
return [1, 2, 3, 'ellipsis', totalPages];
|
|
10
|
-
}
|
|
11
|
-
if (currentPage >= totalPages - 2) {
|
|
12
|
-
return [
|
|
13
|
-
totalPages - 4,
|
|
14
|
-
totalPages - 3,
|
|
15
|
-
totalPages - 2,
|
|
16
|
-
totalPages - 1,
|
|
17
|
-
totalPages,
|
|
18
|
-
];
|
|
19
|
-
}
|
|
20
|
-
return [
|
|
21
|
-
currentPage - 2,
|
|
22
|
-
currentPage - 1,
|
|
23
|
-
currentPage,
|
|
24
|
-
'ellipsis',
|
|
25
|
-
totalPages,
|
|
26
|
-
];
|
|
27
|
-
}
|
|
28
|
-
const StacPanelResults = ({ results, currentPage, totalPages, handlePaginationClick, handleResultClick, formatResult, isLoading, }) => {
|
|
29
|
-
return (React.createElement("div", { className: "jgis-stac-browser-filters-panel" },
|
|
30
|
-
React.createElement(Pagination, null,
|
|
31
|
-
React.createElement(PaginationContent, { style: { marginTop: 0 } },
|
|
32
|
-
React.createElement(PaginationItem, null,
|
|
33
|
-
React.createElement(PaginationPrevious, { onClick: () => handlePaginationClick(Math.max(1, currentPage - 1)), disabled: currentPage === 1 })),
|
|
34
|
-
totalPages <= 0 ? (React.createElement("div", null, "No Matches Found")) : (getPageItems(currentPage, totalPages).map(item => {
|
|
35
|
-
if (item === 'ellipsis') {
|
|
36
|
-
return (React.createElement(PaginationItem, { key: "ellipsis" },
|
|
37
|
-
React.createElement(PaginationEllipsis, null)));
|
|
38
|
-
}
|
|
39
|
-
return (React.createElement(PaginationItem, { key: item },
|
|
40
|
-
React.createElement(PaginationLink, { isActive: item === currentPage, onClick: () => handlePaginationClick(item) }, item)));
|
|
41
|
-
})),
|
|
42
|
-
React.createElement(PaginationItem, null,
|
|
43
|
-
React.createElement(PaginationNext, { onClick: () => handlePaginationClick(Math.min(totalPages, currentPage + 1)), disabled: currentPage === totalPages })))),
|
|
44
|
-
React.createElement("div", { className: "jgis-stac-browser-results-list" }, isLoading ? (
|
|
45
|
-
// TODO: Fancy spinner
|
|
46
|
-
React.createElement("div", null, "Loading results...")) : (results.map(result => (React.createElement(Button, { key: result.id, className: "jgis-stac-browser-results-item", onClick: () => handleResultClick(result.id) }, formatResult(result))))))));
|
|
47
|
-
};
|
|
48
|
-
export default StacPanelResults;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|