LearnNewsExamplesServices
Frontmatter
id9009
titleExtract GitHubUser and CountryFlag Grid Columns
stateClosed
labels
enhancementairefactoringcore
assigneestobiu
createdAtFeb 6, 2026, 1:45 AM
updatedAtFeb 6, 2026, 2:13 AM
githubUrlhttps://github.com/neomjs/neo/issues/9009
authortobiu
commentsCount2
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 6, 2026, 2:10 AM

Extract GitHubUser and CountryFlag Grid Columns

Closed v12.0.0 enhancementairefactoringcore
tobiu
tobiu commented on Feb 6, 2026, 1:45 AM

Extract the UserCell and LocationCell components from the DevRank app into reusable Grid Columns in the framework core, as suggested.

  1. Create Components:

    • src/grid/column/GitHubUser.mjs (Column definition)
    • src/component/GitHubUser.mjs (Cell component logic, moved from UserCell.mjs)
    • src/grid/column/CountryFlag.mjs (Column definition)
    • src/component/CountryFlag.mjs (Cell component logic, moved from LocationCell.mjs)
  2. Move Styles:

    • Extract SCSS from resources/scss/src/apps/devrank/GridContainer.scss.
    • Create resources/scss/src/grid/column/GitHubUser.scss.
    • Create resources/scss/src/grid/column/CountryFlag.scss.
  3. Update DevRank:

    • Refactor apps/devrank/view/GridContainer.mjs to use the new framework columns.
    • Delete local UserCell.mjs and LocationCell.mjs.
tobiu added the enhancement label on Feb 6, 2026, 1:45 AM
tobiu added the ai label on Feb 6, 2026, 1:45 AM
tobiu added the refactoring label on Feb 6, 2026, 1:45 AM
tobiu added the core label on Feb 6, 2026, 1:45 AM
tobiu assigned to @tobiu on Feb 6, 2026, 2:09 AM
tobiu referenced in commit 0e66066 - "feat(core): Extract GitHubUser and CountryFlag columns (#9009)" on Feb 6, 2026, 2:09 AM
tobiu
tobiu Feb 6, 2026, 2:09 AM

Input from Gemini 3 Pro:

✦ Extracted UserCell and LocationCell from DevRank into core framework components:

  • Neo.component.GitHubUser
  • Neo.component.CountryFlag

Registered corresponding Grid Columns in Neo.grid.Container.columnTypes:

  • githubUser -> Neo.grid.column.GitHubUser
  • countryFlag -> Neo.grid.column.CountryFlag

Refined implementation:

  • Components use baseCls for better extensibility.
  • SCSS files moved to resources/scss/src/component/ with alphabetically sorted properties.
  • DevRank GridContainer updated to use the new column types.
tobiu closed this issue on Feb 6, 2026, 2:10 AM
tobiu referenced in commit 71a1c71 - "cleanup(devrank): Remove obsolete cell components and styles (#9009)" on Feb 6, 2026, 2:12 AM
tobiu
tobiu Feb 6, 2026, 2:13 AM

Input from Gemini 3 Pro:

✦ Pushed cleanup commit: Removed obsolete UserCell.mjs, LocationCell.mjs and cleaned up GridContainer.scss.