Files
chatwoot/app/javascript/widget/helpers/IframeEventHelper.js
Shivam Mishra a88d155dd7 feat: update tool-chain to latest (#7975)
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
2023-09-27 14:02:34 +05:30

47 lines
1.4 KiB
JavaScript

export const loadedEventConfig = () => {
return {
event: 'loaded',
config: {
authToken: window.authToken,
channelConfig: window.chatwootWebChannel,
},
};
};
export const getExtraSpaceToScroll = () => {
// This function calculates the extra space needed for the view to
// accommodate the height of close button + height of
// read messages button. So that scrollbar won't appear
const unreadMessageWrap = document.querySelector('.unread-messages');
const unreadCloseWrap = document.querySelector('.close-unread-wrap');
const readViewWrap = document.querySelector('.open-read-view-wrap');
if (!unreadMessageWrap) return 0;
// 24px to compensate the paddings
let extraHeight = 48 + unreadMessageWrap.scrollHeight;
if (unreadCloseWrap) extraHeight += unreadCloseWrap.scrollHeight;
if (readViewWrap) extraHeight += readViewWrap.scrollHeight;
return extraHeight;
};
export const shouldTriggerMessageUpdateEvent = message => {
const { previous_changes: previousChanges } = message;
if (!previousChanges) {
return false;
}
const hasNotifiableAttributeChanges =
Object.keys(previousChanges).includes('content_attributes');
if (!hasNotifiableAttributeChanges) {
return false;
}
const hasSubmittedValueChanges = Object.keys(
previousChanges.content_attributes[1] || {}
).includes('submitted_values');
return hasSubmittedValueChanges;
};