VirtusLab-Open-Source / strapi-plugin-navigation

A plugin for Strapi Headless CMS that provides navigation / menu builder feature with their possibility to control the audience and different output structure renderers like (flat, tree and RFR - ready for handling by Redux First Router)
MIT License
318 stars 58 forks source link

Fix: bad strict comparison String/Number #351

Closed krzysztofkaszanek closed 5 months ago

krzysztofkaszanek commented 1 year ago

Ticket

https://github.com/VirtusLab-Open-Source/strapi-plugin-navigation/issues/350

Summary

What does this PR do/solve?

This PR fix the problem of entity not being selected correctly in the item modal because formik use a string named "related" but compared of Number "id".

I believe the same problem may still occur in other places, there was almost identical PR merged recently: https://github.com/VirtusLab-Open-Source/strapi-plugin-navigation/pull/344.

Maybe it would be a good idea to parse the content type item id to String as soon as it is fetched. That would require adding

contentTypeItems: (isArray ? contentTypeItems : [contentTypeItems]).map(item => ({
        ...item,
        id: String(item.id), // add parsing ID to string
        __collectionUid: get(fetchedContentType, 'collectionUid', modelUID),
      })),

in https://github.com/VirtusLab-Open-Source/strapi-plugin-navigation/blob/master/admin/src/pages/DataManagerProvider/index.js#L219.

I don't know the plugin code well enough, and I'm so I decided to add just the "local" fix for now.

Test Plan

@strapi/strapi 4.11.2 strapi-plugin-navigation 2.2.11

  1. Create collection type Page with field title of type Text
  2. Set title in Name fields in navigation plugin settings
  3. Add new menu item by selecting existing Page entity
  4. Menu item is created with the title of Page entity (this was not the case before the fix, nothing was happening when you click Save)
SalahAdDin commented 6 months ago

@krzysztofkaszanek Are you currently working on Strapi?

SalahAdDin commented 6 months ago

@cyp3rius since the ticket was solved, I guess you could close this PR.

cyp3rius commented 5 months ago

Closing.