Problem/Motivation

After #3188474: Move the config_enforce form to an off-canvas dialog, we can refactor our form helper traits to simplify them.

Specifically, ModalFormHelperTrait and DevelFormHelperTrait.

This issue is only for Config Enforce Devel, the Config Enforce issue is: #3556977: Clean up/refactor FormHelperTrait.

Proposed resolution

Delete unused code in 2.x, deprecate in 1.x.

Classes that will be refactored in some way

  • Drupal\config_enforce_devel\Form\DevelFormHelperTrait (suggesting we consider trimming this down for now, since it's used by two form classes that won't be deleted)
    • Drupal\config_enforce_devel\Form\AddModuleForm (used indirectly via ModalFormHelperTrait, first step will be to bring it in as a direct use)
    • Drupal\config_enforce_devel\Form\EnforcedConfigs (used by)
    • Drupal\config_enforce_devel\Form\GenerateFormBase (used indirectly via ModalFormHelperTrait, first step will be to bring it in as a direct use)
    • Drupal\config_enforce_devel\Form\ModalFormHelperTrait (used by, but not actually used in the trait, let's split it out, see below)
    • Drupal\config_enforce_devel\Form\SettingsForm (used by)
  • Drupal\config_enforce_devel\Form\ModalFormHelperTrait (just remove dependency on DevelFormHelperTrait for now)
    • Drupal\config_enforce_devel\Form\AddModuleForm
    • Drupal\config_enforce_devel\Form\GenerateFormBase
Legend
  • ❌ = delete in 2.x, deprecate in 1.x
  • 🟒 = leave in place
  • ⬇️ = only one remaining usage, move to specific class
    • ➑️ = move method to this class

Methods in DevelFormHelperTrait and what to do with them:

  • ❌ submitForm()
  • 🟒 setSharedFormProperties()
    • I won't list them out but this is used quite a bit and should be a separate refactor in my opinion
  • 🟒 getEnforcedConfigCollection()
    • ⬇️ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::isRegistryConfig()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::saveEnforcedConfigs()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToCreate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToUpdate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToDelete()
    • 🟒 Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getTargetModuleField()
    • 🟒 Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getAllUnenforcedConfigs()
    • 🟒 Drupal\config_enforce_devel\Form\EnforcedConfigs::updateEnforcedConfigs()
    • 🟒 Drupal\config_enforce_devel\Form\EnforcedConfigs::deleteEnforcedConfigs()
    • 🟒 Drupal\config_enforce_devel\Form\EnforcedConfigs::getEnforcedConfigsToUpdate()
    • 🟒 Drupal\config_enforce_devel\Form\EnforcedConfigs::getEnforcedConfigsToDelete()
    • 🟒 Drupal\config_enforce_devel\Form\EnforcedConfigs::getEditableConfigNames()
    • 🟒 Drupal\config_enforce_devel\Form\EnforcedConfigs::getEnforcedConfigs()
    • 🟒 Drupal\config_enforce_devel\Form\GenerateFormBase::generateEnforcedConfigSettings()
    • 🟒 Drupal\config_enforce_devel\Form\SettingsForm::submitForm()
    • 🟒 Drupal\config_enforce_devel\Form\SettingsForm::addAvailableModulesField()
  • ❌ addEnforcedConfigItem()
  • ❌ makeRegistryConfigsReadOnly()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforcedConfigItem()
  • ⬇️ isRegistryConfig()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::submitForm()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::makeRegistryConfigsReadOnly()
    • ➑️ Drupal\config_enforce_devel\Form\EnforcedConfigs::getOptions()
  • ❌ addEnforcedConfigEnabledField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforcedConfigItem()
  • ❌ overrideTargetModuleField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforcedConfigItem()
  • ❌ overrideConfigDirectoryField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforcedConfigItem()
  • ❌ overrideEnforcementLevelField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforcedConfigItem()
  • ❌ addEnforceDependenciesFields()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforcedConfigItem()
  • ❌ disableEnforcedDependencies()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforceDependenciesFields()
  • ❌ setEnforcedConfigPathStates()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforcedConfigItem()
  • ❌ currentConfigIsEnforced()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforcedConfigEnabledField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::overrideEnforcementLevelField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::setEnforcedConfigPathStates()
  • ❌ getEnabledAttribute()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforcedConfigEnabledField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnabledVisibilityState()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforceDependenciesVisibilityState()
  • ❌ getEnabledVisibilityState()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::overrideTargetModuleField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::overrideConfigDirectoryField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::overrideEnforcementLevelField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforceDependenciesFields()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::setEnforcedConfigPathStates()
  • ❌ getEnforceDependenciesAttribute()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforceDependenciesFields()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::disableEnforcedDependencies()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforceDependenciesVisibilityState()
  • ❌ getEnforceDependenciesVisibilityState()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforceDependenciesFields()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::disableEnforcedDependencies()
  • ❌ saveEnforcedConfigs()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::submitForm()
  • ❌ getEnforcedConfigsToCreate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::saveEnforcedConfigs()
  • ❌ getEnforcedConfigsToUpdate() (note EnforcedConfigs has a method with the same name)
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::saveEnforcedConfigs()
  • ❌ getEnforcedConfigsToDelete() (note EnforcedConfigs has a method with the same name)
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::saveEnforcedConfigs()
  • ❌ getConfigFormUri()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToCreate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToUpdate()
  • 🟒 getAvailableConfigDirectories()
    • ⬇️ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getConfigDirectoryLabel()
    • 🟒 Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getConfigDirectoryField()
    • 🟒 Drupal\config_enforce_devel\Form\GenerateFromModulesForm::addModuleConfigDirectories()
  • ⬇️ getConfigDirectoryLabel()
    • ➑️ Drupal\config_enforce_devel\Form\GenerateFromModulesForm::addModuleConfigDirectory()
  • ⬇️ getModuleConfigNames()
    • ➑️ Drupal\config_enforce_devel\Form\GenerateFromModulesForm::addModuleConfigs()
  • ❌ getEnforcedConfigValuesFromForm()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigValue()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::enforcedConfigValueExists()
  • ❌ getEnforcedConfigValue()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforced()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getTargetModule()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getConfigDirectory()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcementLevel()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforceDependencies()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getDependencyEnforced()
  • ❌ enforcedConfigValueExists()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforceDependencies()
  • ❌ getEnforced()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToCreate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToUpdate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToDelete()
  • ❌ getTargetModule()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToCreate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToUpdate()
  • ❌ getConfigDirectory()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToCreate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToUpdate()
  • ❌ getEnforcementLevel()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::overrideEnforcementLevelField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToCreate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToUpdate()
  • ❌ getEnforceDependencies()
  • ❌ getDependencyEnforced()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToCreate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToUpdate()
  • 🟒 getTargetModuleField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::overrideTargetModuleField()
    • 🟒 Drupal\config_enforce_devel\Form\EnforcedConfigs::addUpdateTargetModule()
    • 🟒 Drupal\config_enforce_devel\Form\GenerateFormBase::addTargetModuleField()
    • 🟒 Drupal\config_enforce_devel\Form\SettingsForm::addDefaultsFields()
  • 🟒 getConfigDirectoryField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::overrideConfigDirectoryField()
    • 🟒 Drupal\config_enforce_devel\Form\EnforcedConfigs::addUpdateConfigDirectory()
    • 🟒 Drupal\config_enforce_devel\Form\GenerateFormBase::addConfigDirectoryField()
    • 🟒 Drupal\config_enforce_devel\Form\SettingsForm::addDefaultsFields()
  • 🟒 getEnforcementLevelField()
    • 🟒 Drupal\config_enforce_devel\Form\GenerateFormBase::addEnforcementLevelField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::overrideEnforcementLevelField()
    • 🟒 Drupal\config_enforce_devel\Form\EnforcedConfigs::addUpdateEnforcementLevel()
    • 🟒 Drupal\config_enforce_devel\Form\SettingsForm::addDefaultsFields()
  • ⬇️ getEnforceDependenciesField()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforceDependenciesFields()
    • ➑️ Drupal\config_enforce_devel\Form\SettingsForm::addDefaultsFields() (used by)
  • 🟒 getUnenforcedConfigs()
    • 🟒 Drupal\config_enforce_devel\Form\GenerateFromActiveStorageForm::addActiveStorageConfigs() (used by)
  • 🟒 getAllUnenforcedConfigs()
    • 🟒 Drupal\config_enforce_devel\Form\SettingsForm::addIgnoredConfigsField()
    • 🟒 Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getUnenforcedConfigs()
  • 🟒 getIgnoredConfigs()
    • 🟒 Drupal\config_enforce_devel\Form\SettingsForm::addIgnoredConfigsField()
    • 🟒 Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getUnenforcedConfigs()
  • ❌ getConfigDependencies()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::addEnforceDependenciesFields()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::disableEnforcedDependencies()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToCreate()
    • ❌ Drupal\config_enforce_devel\Form\DevelFormHelperTrait::getEnforcedConfigsToUpdate()
  • ❌ allConfigsAreEnforced()

Remaining tasks

  • Delete code
  • Test manually
  • Deprecate deleted code in 1.0.x branch

User interface changes

Should be none.

API changes

There will be removed classes, methods, etc. which we could mark as deprecated on the 1.0.x branch.

Data model changes

Should be none.

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

star-szr created an issue. See original summary.

star-szr’s picture

Issue summary: View changes
star-szr’s picture

Title: Clean up/refactor form helper traits Β» Clean up/refactor DevelFormHelperTrait and ModalFormHelperTrait

star-szr changed the visibility of the branch 3556975-clean-uprefactor-develformhelpertrait to hidden.

star-szr’s picture

Issue summary: View changes
star-szr’s picture

Issue summary: View changes

I went through method-by-method to determine the fate of each, I've added that to the issue summary.

star-szr’s picture

Issue summary: View changes

Updating to reflect another one-off we can move, and I'm going to make these changes now that #3518869: Allow configs to be enforced by default has been refactored to not touch this class very much.

star-szr’s picture

Status: Active Β» Needs review

  • star-szr committed 0ee80f18 on 2.0.x
    [#3556975] docs: Add TODO about getRowClasses
    

  • star-szr committed 4ec11e59 on 2.0.x
    [#3556975] refactor: Remove unused code from DevelFormHelperTrait
    

  • star-szr committed c3d6de23 on 2.0.x
    [#3556975] refactor: Move getModuleConfigNames() to...

  • star-szr committed f776f684 on 2.0.x
    [#3556975] refactor: Move getConfigDirectoryLabel() to...

  • star-szr committed a80c6e10 on 2.0.x
    [#3556975] refactor: Move getEnforceDependenciesField() to SettingsForm
    

  • star-szr committed 5ba4533b on 2.0.x
    [#3556975] refactor: Use explicit config_name params in EnforcedConfigs
    

  • star-szr committed 8da6c311 on 2.0.x
    [#3556975] refactor: Move away from chained traits to clarify...
star-szr’s picture

Version: 2.0.x-dev Β» 1.0.x-dev

Committed to 2.0.x, moving to 1.0.x. I think marking these entire traits as @internal on both branches might be an appropriate thing to do rather than individual deprecations.

  • star-szr committed b72f59e6 on 2.0.x
    [#3556975] docs: Mark DevelFormHelperTrait and ModalFormHelperTrait as...

  • star-szr committed a104fd23 on 1.0.x
    [#3556975] docs: Mark DevelFormHelperTrait and ModalFormHelperTrait as...
star-szr’s picture

Version: 1.0.x-dev Β» 2.0.x-dev
Status: Needs review Β» Fixed

Marked as internal on both branches, closing and will make a follow-up for further work.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

star-szr’s picture

Status: Fixed Β» Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.