Skip to content

Rearrange imports of components in lib/ to facilitate long-term refactoring of responsibilities. #459

@kennethbruskiewicz

Description

@kennethbruskiewicz

Currently, lib/ is organized like the following:

lib/
   <directories>/
   AppContext.js
   DataHarmonizer.js
   Toolbar.js
   toolbar.css
   toolbar.html
   Footer.js
   HelpSidebar.css
   HelpSidebar.js
   [...]

The directories organize components flat. Instead, if we organize like this:

lib/
   <other directories>/
   DataHarmonizer/
       data-harmonizer.css
       DataHarmonizer.js
   Toolbar/
       Toolbar.js
       toolbar.css
       toolbar.html
    HelpSidebar/
       HelpSidebar.js
       HelpSidebar.css
    [...]

... it would make it simple to organize functionality that are in large files like Toolbar.js and DataHarmonizer.js into separate modules while maintaining cohesion. For instance:

lib/
   <other directories>/
   DataHarmonizer/
       GridManager.js         // Encapsulates Handsontable configuration and UI logic
       TemplateProcessor.js   // Handles template queries, field merging, section sorting....
       [...]
       data-harmonizer.css
       DataHarmonizer.js
    [...]

This would be a small patch but coherent on its own. It would be a step to make the codebase more testable and consistent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationgood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions