From d152cedb1e16d0dbc7b5952929f75a9ca8637773 Mon Sep 17 00:00:00 2001 From: Edilio Escalona Almira Date: Mon, 31 Mar 2025 20:27:50 -0500 Subject: [PATCH] [17.0][IMP] connector_social_base, connector_social_linkedin, connector_social_x: Filter Ads, Charts --- .../static/src/components/components.esm.js | 9 --- .../social_network_filter.esm.js | 10 ++++ .../social_network_filter.scss | 5 ++ .../social_network_filter.xml | 56 +++++++++++++++++++ .../static/src/js/app/social_network.esm.js | 15 +++++ .../src/js/app/social_network_mixin.esm.js | 35 ++++++++++++ .../static/src/js/app/utils.esm.js | 14 ----- 7 files changed, 121 insertions(+), 23 deletions(-) delete mode 100644 connector_social_base/static/src/components/components.esm.js create mode 100644 connector_social_base/static/src/components/social_network_filter/social_network_filter.esm.js create mode 100644 connector_social_base/static/src/components/social_network_filter/social_network_filter.scss create mode 100644 connector_social_base/static/src/components/social_network_filter/social_network_filter.xml create mode 100644 connector_social_base/static/src/js/app/social_network.esm.js create mode 100644 connector_social_base/static/src/js/app/social_network_mixin.esm.js delete mode 100644 connector_social_base/static/src/js/app/utils.esm.js diff --git a/connector_social_base/static/src/components/components.esm.js b/connector_social_base/static/src/components/components.esm.js deleted file mode 100644 index 6b34ddb2e..000000000 --- a/connector_social_base/static/src/components/components.esm.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @odoo-module **/ -export {SocialNetworkImagesDialog} from "./social_network_images_dialog/social_network_images_dialog.esm"; -export {SocialNetworkAccount} from "./social_network_account/social_network_account.esm"; -export {SocialNetworkComment} from "./social_network_comment/social_network_comment.esm"; -export {SocialNetworkCommentDialog} from "./social_network_comment_dialog/social_network_comment_dialog.esm"; -export {SocialNetworkAds} from "./social_network_ads/social_network_ads.esm"; -export {SocialNetworkAdsAccount} from "./social_network_ads_account/social_network_ads_account.esm"; -export {SocialNetworkChartAccount} from "./social_network_chart_account/social_network_chart_account.esm"; -export {SocialNetworkChart} from "./social_network_chart/social_network_chart.esm"; diff --git a/connector_social_base/static/src/components/social_network_filter/social_network_filter.esm.js b/connector_social_base/static/src/components/social_network_filter/social_network_filter.esm.js new file mode 100644 index 000000000..98cca8f8d --- /dev/null +++ b/connector_social_base/static/src/components/social_network_filter/social_network_filter.esm.js @@ -0,0 +1,10 @@ +/** @odoo-module **/ + +import {Component} from "@odoo/owl"; + +export class SocialNetworkAccount extends Component { + static template = "connector_social_base.SocialNetworkAccount"; + static props = { + socialAccounts: {type: Array}, + }; +} diff --git a/connector_social_base/static/src/components/social_network_filter/social_network_filter.scss b/connector_social_base/static/src/components/social_network_filter/social_network_filter.scss new file mode 100644 index 000000000..41a574c70 --- /dev/null +++ b/connector_social_base/static/src/components/social_network_filter/social_network_filter.scss @@ -0,0 +1,5 @@ +div.social-account-oca { + > div { + margin: 0 0 5px 0 !important; + } +} diff --git a/connector_social_base/static/src/components/social_network_filter/social_network_filter.xml b/connector_social_base/static/src/components/social_network_filter/social_network_filter.xml new file mode 100644 index 000000000..d61a5ed26 --- /dev/null +++ b/connector_social_base/static/src/components/social_network_filter/social_network_filter.xml @@ -0,0 +1,56 @@ + + + + +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ +
diff --git a/connector_social_base/static/src/js/app/social_network.esm.js b/connector_social_base/static/src/js/app/social_network.esm.js new file mode 100644 index 000000000..70374de48 --- /dev/null +++ b/connector_social_base/static/src/js/app/social_network.esm.js @@ -0,0 +1,15 @@ +/** @odoo-module */ + +export const SocialNetworkMixin = (T) => + class extends T { + /** + * Validates that the start date is before or equal to the end date. + * If the dates are invalid, it displays a notification and clears the input values. + */ + validateRangeDate(startDate, endDate) { + if (startDate && endDate) { + return startDate <= endDate; + } + return true; + } + }; diff --git a/connector_social_base/static/src/js/app/social_network_mixin.esm.js b/connector_social_base/static/src/js/app/social_network_mixin.esm.js new file mode 100644 index 000000000..8bbac84ff --- /dev/null +++ b/connector_social_base/static/src/js/app/social_network_mixin.esm.js @@ -0,0 +1,35 @@ +/** @odoo-module */ +import {SocialNetworkImagesDialog} from "../../components/social_network_images_dialog/social_network_images_dialog.esm"; +import {_t} from "@web/core/l10n/translation"; + +export const SocialPostAccountMixin = (T) => + class extends T { + onShowMoreMessage(ev) { + ev.stopPropagation(); + this.record.messageLength = this.record.message.raw_value.length; + } + + onShowAllImages(ev) { + ev.stopPropagation(); + this.dialogService.add(SocialNetworkImagesDialog, { + title: _t("All Images"), + images: JSON.parse(this.record.image_urls.raw_value), + fullscreen: true, + }); + } + + async onLikePost(ev) { + ev.stopPropagation(); + const response = await this.env.model.onLikePost(this.record); + if (response.success) { + this.effectService.add({ + type: "rainbow_man", + message: _t("You have liked the post."), + imgUrl: "/connector_social_base/static/src/img/like.png", + fadeout: "fast", + }); + } else { + this.notification.add(_t(response.message), {type: "info"}); + } + } + }; diff --git a/connector_social_base/static/src/js/app/utils.esm.js b/connector_social_base/static/src/js/app/utils.esm.js deleted file mode 100644 index 1598a4bd7..000000000 --- a/connector_social_base/static/src/js/app/utils.esm.js +++ /dev/null @@ -1,14 +0,0 @@ -/** @odoo-module */ - -/** - * Validate that the start date is before (or equal to) the end date. - * @param {String} startDate - The start date in any format understood by the luxon library. - * @param {String} endDate - The end date in any format understood by the luxon library. - * @returns {Boolean} whether the start date is before (or equal to) the end date. - */ -export function validateRangeDate(startDate, endDate) { - if (startDate && endDate) { - return startDate <= endDate; - } - return true; -}