ebsco / edsapi-drupal-plugin

A Drupal modules for the EBSCO Discovery Services API
Apache License 2.0
1 stars 3 forks source link

Use Drupal Form API #17

Open jameswilson opened 6 years ago

jameswilson commented 6 years ago

All form (including end-user facing as well as the backend config forms) should be created using the Drupal 8 Form API whereby all of the functions in the Ebsco module file and templates that hardcode the building of <form> tags and their contents should instead be moved to PHP classes that extend FormBase implementing FormInterface; and specific sub-elements of the form that are not traditional form fields (such as the facet links) should implement their own custom templates. Note that while there is some overlap with #16, I've tried to group the tasks together in a way that makes sense for a proper refactor.

The reason to do this is so that form functionality can be altered using standard Drupal best practices of the hook_form_alter and templates would only be used to tweak form layout. It is exceedingly rare that a template or preprocess would be used to alter a form's functionality.

Non-exhaustive list of tasks required: