impact-chatbot 2.3.16 → 2.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ declare const DateRangePickerContent: ({ bodyText }: {
2
+ bodyText: any;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export default DateRangePickerContent;
package/dist/index.cjs.js CHANGED
@@ -127,6 +127,20 @@ const likeDislikeComment = async (payload) => {
127
127
  return false;
128
128
  }
129
129
  };
130
+ // Like/Dislike Messages for agent
131
+ const likeDislikeCommentForAgent = async (payload, baseUrl) => {
132
+ try {
133
+ return axiosInstance({
134
+ url: `${baseUrl}/chatbot/agent/analytics/like`,
135
+ data: payload,
136
+ method: "POST",
137
+ });
138
+ }
139
+ catch (error) {
140
+ console.error("likeDislikeComment error", error);
141
+ return false;
142
+ }
143
+ };
130
144
  const fetchIntentApiResponse = async (input = "@apply_filter What is sales discount in cabezon mtd?") => {
131
145
  try {
132
146
  return axiosInstance({
@@ -442,6 +456,26 @@ const parseResponse = (data, type, agentId = "", currentMode = "", disableTimeAn
442
456
  paramName: data?.data?.param_name
443
457
  }
444
458
  };
459
+ case "dateRangePicker":
460
+ return {
461
+ ...data,
462
+ timeStamp: timeString,
463
+ userType: "bot",
464
+ userName: userName,
465
+ headerTitle: data?.data?.label || "",
466
+ bodyType: "dateRangePicker",
467
+ bodyText: {
468
+ displayFormat: data?.data?.displayFormat,
469
+ label: data?.data?.label,
470
+ isRequired: data?.data?.isRequired,
471
+ labelOrientation: data?.data?.labelOrientation,
472
+ minDate: data?.data?.minDate,
473
+ maxDate: data?.data?.maxDate,
474
+ isDisabled: data?.data?.isDisabled,
475
+ showMonthYearSelect: data?.data?.showMonthYearSelect,
476
+ paramName: data?.data?.param_name
477
+ }
478
+ };
445
479
  case "checkbox":
446
480
  return {
447
481
  ...data,
@@ -558,7 +592,7 @@ const parseResponse = (data, type, agentId = "", currentMode = "", disableTimeAn
558
592
  * @param {object} templateData
559
593
  * @returns
560
594
  */
561
- const handleMessageLike = async (question, liked, setLoadingState, displaySnackMessages, templateData, activeConversationId, answer, chatDataInfoRef, chatIndex, setChatDataState) => {
595
+ const handleMessageLike = async (question, liked, setLoadingState, displaySnackMessages, templateData, activeConversationId, answer, chatDataInfoRef, chatIndex, setChatDataState, baseUrl, sessionId) => {
562
596
  let answerData;
563
597
  let questionData;
564
598
  answer?.forEach((item) => {
@@ -583,7 +617,17 @@ const handleMessageLike = async (question, liked, setLoadingState, displaySnackM
583
617
  const activeMessage = chatDataInfoRef?.[currentMode]?.conversations?.[1]?.messages?.[chatIndex];
584
618
  // const activeMessage = chats?.[currentMode].conversations[activeConversationId].messages[activeMessageIndex];
585
619
  try {
586
- const request = await likeDislikeComment(payload);
620
+ let request;
621
+ if (currentMode === "agent") {
622
+ const agentPayload = {
623
+ session_id: sessionId,
624
+ liked,
625
+ };
626
+ request = await likeDislikeCommentForAgent(agentPayload, baseUrl);
627
+ }
628
+ else {
629
+ request = await likeDislikeComment(payload);
630
+ }
587
631
  if (request?.status) {
588
632
  let updatedMessage = {
589
633
  ...activeMessage,
@@ -6720,6 +6764,42 @@ const DatePickerContent = ({ bodyText }) => {
6720
6764
  selectedDate: selectedDate }) }));
6721
6765
  };
6722
6766
 
6767
+ const DateRangePickerContent = ({ bodyText }) => {
6768
+ const { displayFormat, label, isRequired, labelOrientation, minDate, maxDate, isDisabled, showMonthYearSelect, } = bodyText;
6769
+ const [startDate, setStartDate] = React.useState(null);
6770
+ const [endDate, setEndDate] = React.useState(null);
6771
+ const chatbotContext = reactRedux.useSelector((state) => state.smartBotReducer.chatbotContext);
6772
+ const dispatch = reactRedux.useDispatch();
6773
+ if (lodash.isEmpty(bodyText))
6774
+ return null;
6775
+ const handleDatesChange = (start, end) => {
6776
+ try {
6777
+ setStartDate(start);
6778
+ setEndDate(end);
6779
+ chatbotContext[bodyText?.paramName] = {
6780
+ ...chatbotContext?.[bodyText?.paramName],
6781
+ [bodyText?.paramName]: {
6782
+ startDate: start ? moment(start).format(displayFormat) : null,
6783
+ endDate: end ? moment(end).format(displayFormat) : null,
6784
+ },
6785
+ updated: true,
6786
+ };
6787
+ dispatch(smartBotActions.setChatbotContext(chatbotContext));
6788
+ }
6789
+ catch (error) {
6790
+ console.error("Error in dateRangePicker handleDatesChange", error);
6791
+ }
6792
+ };
6793
+ return (jsxRuntime.jsx("div", { style: { width: "100%", marginTop: "10px" }, children: jsxRuntime.jsx(impactUiV3.DateRangePicker, { displayFormat: displayFormat, label: label, isRequired: isRequired, labelOrientation: labelOrientation || "top", minDate: minDate, maxDate: maxDate, isDisabled: isDisabled, startDate: startDate, setStartDate: setStartDate, endDate: endDate, setEndDate: setEndDate, showMonthYearSelect: showMonthYearSelect, handleDatesChange: handleDatesChange, onPrimaryButtonClick: () => handleDatesChange(startDate, endDate), onSecondaryButtonClick: () => {
6794
+ setStartDate(null);
6795
+ setEndDate(null);
6796
+ }, onResetClick: () => {
6797
+ setStartDate(null);
6798
+ setEndDate(null);
6799
+ handleDatesChange(null, null);
6800
+ } }) }));
6801
+ };
6802
+
6723
6803
  const CheckboxContent = ({ bodyText }) => {
6724
6804
  const { label, checked: checkedValue, required, disabled, } = bodyText;
6725
6805
  const chatbotContext = reactRedux.useSelector((state) => state.smartBotReducer.chatbotContext);
@@ -7056,6 +7136,8 @@ const CombinedContent = ({ botData, props }) => {
7056
7136
  return jsxRuntime.jsx(SelectContent, { bodyText: parsedData.bodyText }, key);
7057
7137
  case "datePicker":
7058
7138
  return jsxRuntime.jsx(DatePickerContent, { bodyText: parsedData.bodyText }, key);
7139
+ case "dateRangePicker":
7140
+ return jsxRuntime.jsx(DateRangePickerContent, { bodyText: parsedData.bodyText }, key);
7059
7141
  case "checkbox":
7060
7142
  return jsxRuntime.jsx(CheckboxContent, { bodyText: parsedData.bodyText }, key);
7061
7143
  case "radio":
@@ -7150,6 +7232,8 @@ const BotMessage = ({ botData, state, handleLikeDislike, props }) => {
7150
7232
  return jsxRuntime.jsx(SelectContent, { bodyText: botData.bodyText });
7151
7233
  case "datePicker":
7152
7234
  return jsxRuntime.jsx(DatePickerContent, { bodyText: botData.bodyText });
7235
+ case "dateRangePicker":
7236
+ return jsxRuntime.jsx(DateRangePickerContent, { bodyText: botData.bodyText });
7153
7237
  case "checkbox":
7154
7238
  return jsxRuntime.jsx(CheckboxContent, { bodyText: botData.bodyText });
7155
7239
  case "radio":
@@ -9976,8 +10060,8 @@ const SmartBot = (props) => {
9976
10060
  ...loadingState,
9977
10061
  [isLike ? "like" : "dislike"]: key,
9978
10062
  });
9979
- handleMessageLike(key, isLike, setLoadingState, displaySnackMessages, templateData, activeConversationId, answer, chatDataInfoRef.current, chatIndex, setChatDataState);
9980
- }, 5000, { trailing: false }), [loadingState, templateData, displaySnackMessages]);
10063
+ handleMessageLike(key, isLike, setLoadingState, displaySnackMessages, templateData, activeConversationId, answer, chatDataInfoRef.current, chatIndex, setChatDataState, baseUrl, sessionId);
10064
+ }, 5000, { trailing: false }), [loadingState, templateData, displaySnackMessages, sessionId, baseUrl]);
9981
10065
  React.useEffect(() => {
9982
10066
  handleUploadAccess();
9983
10067
  }, []);