VirtoCommerce / vc-platform

Virto Commerce B2B Innovation Platform
https://virtocommerce.com
Other
1.23k stars 845 forks source link

Improving unregistering metafields in metaforms.js #2812

Closed SamBauwensPM closed 4 months ago

SamBauwensPM commented 5 months ago

Description

Added the ability to unregister meta fields by name, templateUrl or a custom search predicate callback

We originally did that in a custom module of ours, and @EugeneOkhriemnko suggested I create a PR here so everyone can benefit.

Since there is no real method overloading in js, I did some _.isFunction magic to allow the same method ~group to accept the 3 different types of values for metaFieldToFind: name, function callback or object reference.

I added an error message because I think it's better t have an error than to silently not remove a field, but that could be considered a breaking change since the previous code didn't throw an error, if preferred this could be changed so that it only throws on error if metaFieldDescription, or not throw at all, or having this error throwing behaviour configured somewhere I don't know.

I tried to stay backwards compatible with the way unregisterMetaFields worked before, i.e it accepts an object reference in metaFieldToFind.

References

Sorry I have no idea what to put in this section.

QA-test:

Jira-link:

Artifact URL:

CLAassistant commented 5 months ago

CLA assistant check
All committers have signed the CLA.

vc-ci commented 5 months ago

Reveiw task created: https://virtocommerce.atlassian.net/browse/VCST-1448