AxeWP / wp-graphql-gravity-forms

GraphQL API for interacting with Gravity Forms.
GNU General Public License v3.0
165 stars 29 forks source link

[Phone field] - extend the phoneFormat field or create a new one to return format properties along with the selected format #441

Open Gytjarek opened 4 months ago

Gytjarek commented 4 months ago

What problem does this address?

Phone field currently returns two formats: international and standard. By having this value, you don't get much except its name. It would be nice to expand that field or create another one to get the currently selected phone format with their values:

'standard' => array( 'label' => '(###) ###-####', 'mask' => '(999) 999-9999', 'regex' => '/^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$/', 'instruction' => '(###) ###-####', 'type' => 'standard', ),

So we know its properties, which would help in implementing it. In the same way, we could support more custom formats added with thegform_phone_formats filter

What is your proposed solution?

Create a new field for the Phone field which will be returning other props, like label, mask, regex and instruction along with selected type. Make sure, custom formats will be supported as well

What alternatives have you considered?

No response

Additional Context

No response

justlevine commented 3 months ago

Thanks for suggesting this @Gytjarek !

Normally, I'm not a fan of mixing implementation details with implementation definitions, but in this case, since gform_phone_formats exposes the entire object, we want to be able to provide the site-specific context.

Feel free to submit a PR if you want this in sooner than I can get around to it.