LearnNewsExamplesServices
Frontmatter
id8503
titleCreate Portal.model.Ticket
stateClosed
labels
enhancementaicore
assigneestobiu
createdAtJan 10, 2026, 3:54 PM
updatedAtJan 10, 2026, 3:57 PM
githubUrlhttps://github.com/neomjs/neo/issues/8503
authortobiu
commentsCount1
parentIssue8398
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 10, 2026, 3:57 PM

Create Portal.model.Ticket

Closed v11.20.0 enhancementaicore
tobiu
tobiu commented on Jan 10, 2026, 3:54 PM

Create a new data model apps/portal/model/Ticket.mjs extending Neo.data.Model.

Requirements:

  1. Fields: id, parentId, title, path, isLeaf (default true), collapsed (default true).
  2. Computed Field: treeNodeName for the TreeList display.
    • Logic:
      • If isLeaf is true (it's a ticket): format as <b>#{id}</b> {title}.
      • If isLeaf is false (it's a folder/group): just return {id} (e.g., "Latest" or "11.19.1").
  3. Pattern: Follow the pattern established in apps/portal/model/Release.mjs.

This model will be used by the Portal's Ticket Store.

tobiu added the enhancement label on Jan 10, 2026, 3:54 PM
tobiu added the ai label on Jan 10, 2026, 3:54 PM
tobiu added the core label on Jan 10, 2026, 3:54 PM
tobiu added parent issue #8398 on Jan 10, 2026, 3:54 PM
tobiu referenced in commit 15b8813 - "feat: Create Portal.model.Ticket for Ticket TreeList (#8503)" on Jan 10, 2026, 3:56 PM
tobiu
tobiu Jan 10, 2026, 3:56 PM

Input from Gemini 3 Pro:

✦ I have created the Portal.model.Ticket class.

Features:

  • Extends Neo.data.Model.
  • Fields: id, parentId, title, path, isLeaf, collapsed.
  • Computed Field: treeNodeName formats tickets as <b>#123</b> Title and folders as FolderName.

Code committed and pushed to dev.

tobiu assigned to @tobiu on Jan 10, 2026, 3:57 PM
tobiu closed this issue on Jan 10, 2026, 3:57 PM