Initial commit: Core packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:45 +02:00
commit 12c29a983b
9512 changed files with 8379910 additions and 0 deletions

View file

@ -0,0 +1,21 @@
/** @odoo-module **/
import { registerMessagingComponent } from '@mail/utils/messaging_component';
const { Component } = owl;
export class Follower extends Component {
/**
* @returns {FollowerView}
*/
get followerView() {
return this.props.record;
}
}
Object.assign(Follower, {
props: { record: Object },
template: 'mail.Follower',
});
registerMessagingComponent(Follower);

View file

@ -0,0 +1,26 @@
// ------------------------------------------------------------------
// Layout
// ------------------------------------------------------------------
.o_Follower_avatar {
width: $o-mail-partner-avatar-size;
height: $o-mail-partner-avatar-size;
}
.o_Follower_details {
min-width: 0;
}
// ------------------------------------------------------------------
// Style
// ------------------------------------------------------------------
.o_Follower_button:hover {
background: $gray-400;
color: $black;
}
.o_Follower_details:hover {
background: $gray-400;
color: $black;
}

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-name="mail.Follower" owl="1">
<t t-if="followerView">
<div class="o_Follower d-flex justify-content-between p-0" t-attf-class="{{ className }}" t-ref="root">
<a class="o_Follower_details d-flex align-items-center flex-grow-1 px-3 text-700" t-att-class="{ 'o-inactive fst-italic opacity-25': !followerView.follower.isActive }" href="#" role="menuitem" t-on-click="followerView.onClickDetails">
<img class="o_Follower_avatar me-2 rounded-circle" t-att-src="followerView.follower.partner.avatarUrl" alt=""/>
<span class="o_Follower_name flex-shrink text-truncate" t-esc="followerView.follower.partner.nameOrDisplayName"/>
</a>
<t t-if="followerView.follower.isEditable">
<button class="o_Follower_button o_Follower_editButton btn btn-icon rounded-0" title="Edit subscription" aria-label="Edit subscription" t-on-click="followerView.onClickEdit">
<i class="fa fa-pencil"/>
</button>
<button class="o_Follower_button o_Follower_removeButton btn btn-icon rounded-0" title="Remove this follower" aria-label="Remove this follower" t-on-click="followerView.onClickRemove">
<i class="fa fa-remove"/>
</button>
</t>
</div>
</t>
</t>
</templates>