@cometchat/chat-uikit-angular
Version:
Ready-to-use Chat UI Components for Angular (JavaScript/Web)
31 lines • 5.2 kB
JavaScript
import { CometChatMessageComposerAction, fontHelper, localize, } from "@cometchat/uikit-resources";
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
export class AISmartRepliesExtensionDecorator extends DataSourceDecorator {
constructor(dataSource) {
super(dataSource);
}
getId() {
return "aismartreply";
}
getAIOptions(theme, id, aiOptionsStyles) {
if (!id?.parentMessageId) {
const messageComposerActions = super.getAIOptions(theme, id, aiOptionsStyles);
let newAction = new CometChatMessageComposerAction({
title: localize("SUGGEST_A_REPLY"),
id: "ai-smart-reply",
iconURL: "",
iconTint: "",
titleColor: aiOptionsStyles?.listItemTextColor || theme.palette.getAccent600(),
titleFont: aiOptionsStyles?.listItemTextFont ||
fontHelper(theme.typography.subtitle1),
background: aiOptionsStyles?.listItemBackground || theme.palette.getAccent100(),
});
messageComposerActions.push(newAction);
return messageComposerActions;
}
else {
return super.getAIOptions(theme, id, aiOptionsStyles);
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUlTbWFydFJlcGxpZXNEZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0FJL0FJU21hcnRSZXBsaWVzL0FJU21hcnRSZXBsaWVzRGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCw4QkFBOEIsRUFFOUIsVUFBVSxFQUNWLFFBQVEsR0FDVCxNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxtQkFBbUI7SUFDdkUsWUFBWSxVQUFzQjtRQUNoQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUNRLEtBQUs7UUFDWixPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRVEsWUFBWSxDQUNuQixLQUFxQixFQUNyQixFQUFRLEVBQ1IsZUFBZ0M7UUFFaEMsSUFBSSxDQUFDLEVBQUUsRUFBRSxlQUFlLEVBQUU7WUFDeEIsTUFBTSxzQkFBc0IsR0FHdEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ3JELElBQUksU0FBUyxHQUNYLElBQUksOEJBQThCLENBQUM7Z0JBQ2pDLEtBQUssRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2xDLEVBQUUsRUFBRSxnQkFBZ0I7Z0JBQ3BCLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFVBQVUsRUFDUixlQUFlLEVBQUUsaUJBQWlCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7Z0JBQ3BFLFNBQVMsRUFDUCxlQUFlLEVBQUUsZ0JBQWdCO29CQUNqQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7Z0JBQ3hDLFVBQVUsRUFDUixlQUFlLEVBQUUsa0JBQWtCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7YUFDdEUsQ0FBQyxDQUFDO1lBQ0wsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sc0JBQXNCLENBQUM7U0FDL0I7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tZXRDaGF0QWN0aW9uc1ZpZXcsXG4gIENvbWV0Q2hhdE1lc3NhZ2VDb21wb3NlckFjdGlvbixcbiAgQ29tZXRDaGF0VGhlbWUsXG4gIGZvbnRIZWxwZXIsXG4gIGxvY2FsaXplLFxufSBmcm9tIFwiQGNvbWV0Y2hhdC91aWtpdC1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi4vLi4vU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlRGVjb3JhdG9yIH0gZnJvbSBcIi4uLy4uL1NoYXJlZC9GcmFtZXdvcmsvRGF0YVNvdXJjZURlY29yYXRvclwiO1xuaW1wb3J0IHsgQUlPcHRpb25zU3R5bGUgfSBmcm9tIFwiQGNvbWV0Y2hhdC91aWtpdC1zaGFyZWRcIjtcbmV4cG9ydCBjbGFzcyBBSVNtYXJ0UmVwbGllc0V4dGVuc2lvbkRlY29yYXRvciBleHRlbmRzIERhdGFTb3VyY2VEZWNvcmF0b3Ige1xuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlKSB7XG4gICAgc3VwZXIoZGF0YVNvdXJjZSk7XG4gIH1cbiAgb3ZlcnJpZGUgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJhaXNtYXJ0cmVwbHlcIjtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldEFJT3B0aW9ucyhcbiAgICB0aGVtZTogQ29tZXRDaGF0VGhlbWUsXG4gICAgaWQ/OiBhbnksXG4gICAgYWlPcHRpb25zU3R5bGVzPzogQUlPcHRpb25zU3R5bGVcbiAgKTogKENvbWV0Q2hhdE1lc3NhZ2VDb21wb3NlckFjdGlvbiB8IENvbWV0Q2hhdEFjdGlvbnNWaWV3KVtdIHtcbiAgICBpZiAoIWlkPy5wYXJlbnRNZXNzYWdlSWQpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2VDb21wb3NlckFjdGlvbnM6IChcbiAgICAgICAgfCBDb21ldENoYXRNZXNzYWdlQ29tcG9zZXJBY3Rpb25cbiAgICAgICAgfCBDb21ldENoYXRBY3Rpb25zVmlld1xuICAgICAgKVtdID0gc3VwZXIuZ2V0QUlPcHRpb25zKHRoZW1lLCBpZCwgYWlPcHRpb25zU3R5bGVzKTtcbiAgICAgIGxldCBuZXdBY3Rpb246IENvbWV0Q2hhdE1lc3NhZ2VDb21wb3NlckFjdGlvbiA9XG4gICAgICAgIG5ldyBDb21ldENoYXRNZXNzYWdlQ29tcG9zZXJBY3Rpb24oe1xuICAgICAgICAgIHRpdGxlOiBsb2NhbGl6ZShcIlNVR0dFU1RfQV9SRVBMWVwiKSxcbiAgICAgICAgICBpZDogXCJhaS1zbWFydC1yZXBseVwiLFxuICAgICAgICAgIGljb25VUkw6IFwiXCIsXG4gICAgICAgICAgaWNvblRpbnQ6IFwiXCIsXG4gICAgICAgICAgdGl0bGVDb2xvcjpcbiAgICAgICAgICAgIGFpT3B0aW9uc1N0eWxlcz8ubGlzdEl0ZW1UZXh0Q29sb3IgfHwgdGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ2MDAoKSxcbiAgICAgICAgICB0aXRsZUZvbnQ6XG4gICAgICAgICAgICBhaU9wdGlvbnNTdHlsZXM/Lmxpc3RJdGVtVGV4dEZvbnQgfHxcbiAgICAgICAgICAgIGZvbnRIZWxwZXIodGhlbWUudHlwb2dyYXBoeS5zdWJ0aXRsZTEpLFxuICAgICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgICBhaU9wdGlvbnNTdHlsZXM/Lmxpc3RJdGVtQmFja2dyb3VuZCB8fCB0aGVtZS5wYWxldHRlLmdldEFjY2VudDEwMCgpLFxuICAgICAgICB9KTtcbiAgICAgIG1lc3NhZ2VDb21wb3NlckFjdGlvbnMucHVzaChuZXdBY3Rpb24pO1xuICAgICAgcmV0dXJuIG1lc3NhZ2VDb21wb3NlckFjdGlvbnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzdXBlci5nZXRBSU9wdGlvbnModGhlbWUsIGlkLCBhaU9wdGlvbnNTdHlsZXMpO1xuICAgIH1cbiAgfVxufVxuIl19