Skip to content

Fix #11930 Catalog Refactor and integration of Geonode api in the Catalog.#12107

Merged
allyoucanmap merged 66 commits into
geosolutions-it:masterfrom
anup39:fix_catalog_refactor_genode_int_11930
May 12, 2026
Merged

Fix #11930 Catalog Refactor and integration of Geonode api in the Catalog.#12107
allyoucanmap merged 66 commits into
geosolutions-it:masterfrom
anup39:fix_catalog_refactor_genode_int_11930

Conversation

@anup39
Copy link
Copy Markdown
Contributor

@anup39 anup39 commented Mar 18, 2026

Description

This PR adds followings:

  1. Refactored Catalog core in Mapstore
  2. Integration of Geonode API in Catalog

Please check if the PR fulfills these requirements

What kind of change does this PR introduce? (check one with "x", remove the others)

  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)

Issue

What is the current behavior?

#11930

What is the new behavior?

Now Catalog plugin has been refactored with followings changes :

  1. Added Catalog plugin to support both panel and dialog view
  2. Refactored UI elements so that catalog can be reusable with new styles
  3. For context, dashboard and geostory also same catalog component can be used instead of using CompactCatalog
  4. Added necessary utils and api services to support integration of Geonode api in the catalog
  5. Additional support for resource card to be used as layer card .
  6. Multiple selection of layers to be added in the map.
  7. New pagination component introduced for catalog.
  8. Support of Filter and Orderby in the catalog.

Some of the screenshots :

Screenshot 2026-03-18 at 09 04 38 Screenshot 2026-03-18 at 09 04 52 Screenshot 2026-03-18 at 09 05 42 Screenshot 2026-03-18 at 09 06 04 Screenshot 2026-03-18 at 09 06 04 Screenshot 2026-03-18 at 09 06 28 Screenshot 2026-03-18 at 09 06 38

Breaking change

Does this PR introduce a breaking change? (check one with "x", remove the other)

  • No

Other useful information

@anup39 anup39 added this to the 2026.02.00 milestone Mar 18, 2026
@anup39 anup39 added the Epic label Mar 18, 2026
@cla-bot cla-bot Bot added the CLA Ready label Mar 18, 2026
@anup39 anup39 linked an issue Mar 18, 2026 that may be closed by this pull request
5 tasks
@anup39 anup39 requested a review from allyoucanmap March 18, 2026 04:13
@anup39
Copy link
Copy Markdown
Contributor Author

anup39 commented Apr 28, 2026

@allyoucanmap @dsuren1 Fixes that are added on the latest commits .

Things fixed :

  1. Added a border shadow for Catalog to be easily distinguish from other components.
  2. Fixed the precedence level between Identify Panel, Search Bar and the Catalog.
  3. Though @dsuren1 had already fixed the performance issue of re-render I also investigate little more on this, it seems that authykeyParams is updating in every event we do in the app which is triggering the Catalog Container. But I validate again the inner component are not re-rendered and working properly. It seems like we cannot also ignore authkeyParams even in the top level(Catalog Container) since for adding authenticated service we need it.
  4. Map layout issues fixed when switching between grid and list view
  5. Fixed: when Sort By field value is added and then removed, if the value added is still persisted. In case of invalid value, the error restricts the service from being saved.
  6. AddToMap and SelectAll button is disabled when there is a process of adding layer/s in the Map.
  7. Converted existing catalog.css into catalog.less with some responsive css for grid view.
  8. Added JSDoc for the Catalog Plugin
  9. Updated the Test cases .
  10. Fixed Copyright Content Date at the top of new files.
  11. Changed the name of HOC for Catalog as reqeusted (withCatalogRequests).

Some of the additional issues fixed that is noted when working on above issues:

  • Moved Filters and (tabs)Quick Filters in the same row in the FiltersForm as shown below.
Screenshot 2026-04-28 at 18 33 01
  • Selection logic is improved instead of using every which was resulting O (n.n) complexity to O(n) using Set

  • Used ControlledPopover component from StyleEditor for SharingLinks component to fix issues we have in the SharingLinks component earlier. result as shown.

Screenshot 2026-04-28 at 18 39 05
  • AddToMap(+) button in Card should always be in the Card-footer even if description(raw_abstract) is not available (CSS fixes)

  • Fixed twice Api call on reseting search and filters.

  • Fixed RECORD_LIST_LOADED action triggering again the update of search text which was creating issues in searching of layers.

@anup39 anup39 requested a review from dsuren1 April 28, 2026 13:23
Copy link
Copy Markdown
Contributor

@dsuren1 dsuren1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@anup39

Apart from a few minor observations, the rest seems fine

  • Able to select the layer when adding to layer operation is in progress

    Image
  • Checkbox select color is now grey

    Image

* }
* });
*/
export default createPlugin('Catalog', {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm not mistaken, I think these configurations are missing here editingAllowedRoles & editingAllowedGroups

Copy link
Copy Markdown
Contributor

@allyoucanmap allyoucanmap May 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are still are supported in the plugins/containers/Catalog.jsx component

@allyoucanmap allyoucanmap assigned allyoucanmap and unassigned dsuren1 May 7, 2026
@allyoucanmap allyoucanmap merged commit 82ac01e into geosolutions-it:master May 12, 2026
12 checks passed
@allyoucanmap
Copy link
Copy Markdown
Contributor

@ElenaGallo please test this new feature on dev, thanks

Brice150 pushed a commit to Brice150/MapStore2 that referenced this pull request May 13, 2026
… api in the Catalog. (geosolutions-it#12107)

---------

Co-authored-by: allyoucanmap <stefano.bovio@geosolutionsgroup.com>
Co-authored-by: Suren <dsuren1@gmail.com>
@offtherailz
Copy link
Copy Markdown
Member

  • Create a new dashboard
  • Try to create a widget from a catalog (I used WFS, and tested on both chart and filter)
  • search for a string that involves more layers) - in my case, on gs-stable i typed "water"
  • Try to select the layer you want to use

Expected result:

  • the layer is selected

Current result:

  • all the layers we have as search result are selected

Video:

Screencast.from.2026-05-13.17-35-17.webm

@tdipisa
Copy link
Copy Markdown
Member

tdipisa commented May 14, 2026

@offtherailz (FYI @ElenaGallo @allyoucanmap) to better keep track of problems identified while testing this new feature (like the above one), it would be good to open dedicated issues and connect them to the epic one #11930

@allyoucanmap
Copy link
Copy Markdown
Contributor

the issue reported in the @offtherailz comment #12107 (comment) is covered by this issue #12375

Brice150 pushed a commit to Brice150/MapStore2 that referenced this pull request May 18, 2026
… api in the Catalog. (geosolutions-it#12107)

---------

Co-authored-by: allyoucanmap <stefano.bovio@geosolutionsgroup.com>
Co-authored-by: Suren <dsuren1@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MetadataExplorer refactor and GeoNode API service integration

5 participants