feat(fusion_accounting_reports): ai_commentary_panel OWL component (Fusion-only)
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
/** @odoo-module **/
|
||||
|
||||
import { Component } from "@odoo/owl";
|
||||
|
||||
export class AiCommentaryPanel extends Component {
|
||||
static template = "fusion_accounting_reports.AiCommentaryPanel";
|
||||
static props = {
|
||||
commentary: { type: Object },
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates xml:space="preserve">
|
||||
|
||||
<t t-name="fusion_accounting_reports.AiCommentaryPanel">
|
||||
<div class="o_fusion_commentary_panel">
|
||||
<h4>📊 AI Commentary</h4>
|
||||
|
||||
<div class="commentary-section" t-if="props.commentary.summary">
|
||||
<p style="margin: 0;"><t t-esc="props.commentary.summary"/></p>
|
||||
</div>
|
||||
|
||||
<div class="commentary-section" t-if="props.commentary.highlights and props.commentary.highlights.length">
|
||||
<h5>Highlights</h5>
|
||||
<ul>
|
||||
<li t-foreach="props.commentary.highlights" t-as="h" t-key="h_index">
|
||||
<t t-esc="h"/>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commentary-section" t-if="props.commentary.concerns and props.commentary.concerns.length">
|
||||
<h5>Concerns</h5>
|
||||
<ul>
|
||||
<li t-foreach="props.commentary.concerns" t-as="c" t-key="c_index">
|
||||
<t t-esc="c"/>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commentary-section" t-if="props.commentary.next_actions and props.commentary.next_actions.length">
|
||||
<h5>Next Actions</h5>
|
||||
<ul>
|
||||
<li t-foreach="props.commentary.next_actions" t-as="a" t-key="a_index">
|
||||
<t t-esc="a"/>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="text-muted" style="font-size: 0.75rem;" t-if="props.commentary.cached">
|
||||
Cached • <t t-esc="props.commentary.generated_at"/>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
</templates>
|
||||
Reference in New Issue
Block a user