29: Chatter — communication panel with messages, activities, attachments #30

Open
opened 2026-07-05 00:45:52 -06:00 by ppreeper · 0 comments
Owner

Description

Build the Chatter component — Odoo's mail.Chatter.

Sub-Components

Chatter

Panel container with top bar (Send message, Log note, Activity buttons,
search, followers, attach files), composer area, activity list,
scheduled messages, and message thread.

Composer

Rich text input for composing messages/notes. Supports send on Enter,
attachment drag-drop, formatting toolbar.

Message

Individual message display: avatar, author, timestamp, body, attachments.
Reply, edit, delete actions on hover/overflow.

Activity

Activity item: activity type icon, summary, deadline date, user assignment,
mark done button.

FollowerList

Dropdown showing followers with add/remove controls.

MessageSearch

Search input to filter messages by text.

Spec

<div class="chatter w-full flex flex-col flex-grow">
  <div class="chatter-topbar flex items-center gap-1 px-3 py-2 border-b">
    <button class="btn btn-primary">Send message</button>
    <button class="btn btn-secondary">Log note</button>
    <button class="btn btn-secondary">Activity</button>
    <span class="flex-grow" />
    <button class="btn btn-link"><i class="oi oi-search" /></button>
    <FollowersDropdown />
    <AttachFilesButton />
  </div>
  <!-- Composer area (when active) -->
  <Composer />
  <!-- Planned activities -->
  <ActivityList activities={activities} />
  <!-- Message thread -->
  <Thread messages={messages} />
</div>

References

PRD-003 §2 chatter
Odoo: mail/static/src/chatter/web/chatter.xml
muk_web_chatter: chatter.xml (enhanced: external/internal/note split, notification toggle)

## Description Build the Chatter component — Odoo's `mail.Chatter`. ## Sub-Components ### Chatter Panel container with top bar (Send message, Log note, Activity buttons, search, followers, attach files), composer area, activity list, scheduled messages, and message thread. ### Composer Rich text input for composing messages/notes. Supports send on Enter, attachment drag-drop, formatting toolbar. ### Message Individual message display: avatar, author, timestamp, body, attachments. Reply, edit, delete actions on hover/overflow. ### Activity Activity item: activity type icon, summary, deadline date, user assignment, mark done button. ### FollowerList Dropdown showing followers with add/remove controls. ### MessageSearch Search input to filter messages by text. ## Spec ```html <div class="chatter w-full flex flex-col flex-grow"> <div class="chatter-topbar flex items-center gap-1 px-3 py-2 border-b"> <button class="btn btn-primary">Send message</button> <button class="btn btn-secondary">Log note</button> <button class="btn btn-secondary">Activity</button> <span class="flex-grow" /> <button class="btn btn-link"><i class="oi oi-search" /></button> <FollowersDropdown /> <AttachFilesButton /> </div> <!-- Composer area (when active) --> <Composer /> <!-- Planned activities --> <ActivityList activities={activities} /> <!-- Message thread --> <Thread messages={messages} /> </div> ``` ## References PRD-003 §2 chatter Odoo: mail/static/src/chatter/web/chatter.xml muk_web_chatter: chatter.xml (enhanced: external/internal/note split, notification toggle)
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ppreeper/webtemplate#30
No description provided.