#Conditional Admin Descriptions

13 messages · Page 1 of 1 (latest)

honest quest
#

Is it possible to make a conditional admin description? Looking at the description types, it looks like it can be passed a React component, but none of the types seem to pass along siblingData to the function/component which I would need to do this. Is there a way to create a React component that knows about the current siblingData state of the form and can change the description text based on that?

I am aware that the pattern I've chosen that created this problem isn't a great one, but I'm locked in now so I'd like a way to do this.

ebon quarry
#

@honest quest What about having a custom field type that acts as a description. Then conditions would be able to show/hide that

honest quest
#

Oh I suppose that could work as well. And then use the React hooks and/or props if they get passed in to get the siblingData info I need?

I have "solved" this in my case by just having the description worded differently, so it's not a huge deal, but I feel like pretty much everything in the config should be able to accept a function that has access to siblingData.

ebon quarry
#

Yeah agreed! I'm not sure about the hooks part, but it sounds like it should work?

#

I almost always use the siblingData versus data, as a side note

thorn granite
#

hmm

#

one thing we could do is pass the Description component the path of the field

#

that way, you could use the form methods to retrieve siblingData

#

we would not want to just pass in siblingData itself, because we don't want to retrieve that unless we HAVE to

#

so i'd leave that to your custom component to leverage hooks to retrieve (which you could as long as you had the path)

#

@honest quest sounds like a good PR to make

#

what you'd wanna do is:

#
  1. modify the props of our built-in FieldDescription component to require the passing of path
  2. locate all instances of <FieldDescription and update it so that you pass the path into it
  3. update the description type to take a path in addition to the value that it takes now
  4. update docs of course