@bigbinary/neeto-message-templates-frontend 0.3.6 → 0.4.0
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.
- package/README.md +88 -158
- package/app/javascript/src/translations/en.json +17 -12
- package/dist/index.cjs.js +36 -33
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +38 -35
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { noop, isNotEmpty, renameKeys, findBy, capitalize, nullSafe } from '@bigbinary/neeto-cist';
|
|
3
3
|
import { buildFiltersFromURL, Bar } from '@bigbinary/neeto-filters-frontend';
|
|
4
4
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
5
5
|
import NeetoHeader from '@bigbinary/neeto-molecules/Header';
|
|
@@ -10,7 +10,7 @@ import { t } from 'i18next';
|
|
|
10
10
|
import { MenuHorizontal } from '@bigbinary/neeto-icons';
|
|
11
11
|
import { useTranslation, Trans } from 'react-i18next';
|
|
12
12
|
import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
|
|
13
|
-
import { useMutationWithInvalidation, withImmutableActions } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
13
|
+
import { useMutationWithInvalidation, withImmutableActions, useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
14
14
|
import { useQuery } from 'react-query';
|
|
15
15
|
import axios from 'axios';
|
|
16
16
|
import { create } from 'zustand';
|
|
@@ -140,6 +140,11 @@ var MESSAGE_TEMPLATES = {
|
|
|
140
140
|
editText: t("neetoMessageTemplate.template.editWhatsappTemplate")
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
|
+
var MESSAGE_TYPES = {
|
|
144
|
+
sms: t("messageType.sms"),
|
|
145
|
+
email: t("messageType.email"),
|
|
146
|
+
whatsapp: t("messageType.whatsapp")
|
|
147
|
+
};
|
|
143
148
|
var DEFAULT_EDITOR_ROW_COUNT = 15;
|
|
144
149
|
|
|
145
150
|
var MESSAGE_TEMPLATE_INITIAL_STATE = {
|
|
@@ -303,16 +308,11 @@ var RowActions = function RowActions(_ref) {
|
|
|
303
308
|
}, t("neetoMessageTemplate.template.delete"))));
|
|
304
309
|
};
|
|
305
310
|
|
|
306
|
-
var renderSearchProps = function renderSearchProps(label
|
|
311
|
+
var renderSearchProps = function renderSearchProps(label) {
|
|
307
312
|
return {
|
|
308
313
|
placeholder: t("neetoMessageTemplate.template.search", {
|
|
309
314
|
what: label.toLowerCase()
|
|
310
|
-
})
|
|
311
|
-
onChange: function onChange(_ref) {
|
|
312
|
-
var value = _ref.target.value;
|
|
313
|
-
return setSearchTerm(value);
|
|
314
|
-
},
|
|
315
|
-
value: searchTerm
|
|
315
|
+
})
|
|
316
316
|
};
|
|
317
317
|
};
|
|
318
318
|
var buildTableColumnData = function buildTableColumnData(setManageTemplatePane, ownerId) {
|
|
@@ -833,7 +833,7 @@ var TestMessage = function TestMessage(_ref) {
|
|
|
833
833
|
className: "neeto-ui-flex neeto-ui-items-center left-0 flex gap-x-2"
|
|
834
834
|
}, /*#__PURE__*/React.createElement(Input, {
|
|
835
835
|
name: isEmailTemplate ? "testEmailAddress" : "testPhoneNumber",
|
|
836
|
-
placeholder: t(isEmailTemplate ? "template.emailAddress" : "template.phoneNumber"),
|
|
836
|
+
placeholder: t(isEmailTemplate ? "neetoMessageTemplate.template.emailAddress" : "neetoMessageTemplate.template.phoneNumber"),
|
|
837
837
|
onKeyDown: handleKeyDown,
|
|
838
838
|
onKeyUp: handleTestValidation
|
|
839
839
|
}), /*#__PURE__*/React.createElement(Button, {
|
|
@@ -1000,32 +1000,30 @@ function _toConsumableArray(arr) {
|
|
|
1000
1000
|
}
|
|
1001
1001
|
|
|
1002
1002
|
var useFilters = function useFilters() {
|
|
1003
|
-
var _useState = useState(
|
|
1003
|
+
var _useState = useState(DEFAULT_PAGE_PROPERTIES),
|
|
1004
1004
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
var
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
setPageProperties = _useState4[1];
|
|
1005
|
+
pageProperties = _useState2[0],
|
|
1006
|
+
setPageProperties = _useState2[1];
|
|
1007
|
+
var _useQueryParams = useQueryParams(),
|
|
1008
|
+
_useQueryParams$searc = _useQueryParams.search_term,
|
|
1009
|
+
searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
|
|
1011
1010
|
var filterColumns = buildTableColumnData().filter(prop("node"));
|
|
1012
1011
|
var searchKeywordProps = {
|
|
1013
|
-
key: "
|
|
1012
|
+
key: "search_term",
|
|
1014
1013
|
node: "name",
|
|
1015
|
-
value: searchTerm
|
|
1016
|
-
setValue:
|
|
1014
|
+
value: searchTerm,
|
|
1015
|
+
setValue: noop
|
|
1017
1016
|
};
|
|
1018
|
-
var
|
|
1017
|
+
var _useState3 = useState(function () {
|
|
1019
1018
|
return buildFiltersFromURL([].concat(_toConsumableArray(filterColumns), [searchKeywordProps]));
|
|
1020
1019
|
}),
|
|
1021
|
-
|
|
1022
|
-
filters =
|
|
1023
|
-
setFilters =
|
|
1020
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1021
|
+
filters = _useState4[0],
|
|
1022
|
+
setFilters = _useState4[1];
|
|
1024
1023
|
return {
|
|
1025
1024
|
filterColumns: filterColumns,
|
|
1026
1025
|
searchKeywordProps: searchKeywordProps,
|
|
1027
1026
|
searchTerm: searchTerm,
|
|
1028
|
-
setSearchTerm: setSearchTerm,
|
|
1029
1027
|
filters: filters,
|
|
1030
1028
|
setFilters: setFilters,
|
|
1031
1029
|
pageProperties: pageProperties,
|
|
@@ -1085,7 +1083,8 @@ var List = function List(_ref) {
|
|
|
1085
1083
|
label = _ref.label,
|
|
1086
1084
|
addText = _ref.addText,
|
|
1087
1085
|
isFilterApplied = _ref.isFilterApplied,
|
|
1088
|
-
ownerId = _ref.ownerId
|
|
1086
|
+
ownerId = _ref.ownerId,
|
|
1087
|
+
type = _ref.type;
|
|
1089
1088
|
var _useTranslation = useTranslation(),
|
|
1090
1089
|
t = _useTranslation.t;
|
|
1091
1090
|
var _useDeleteTemplate = useDeleteTemplate(ownerId),
|
|
@@ -1097,6 +1096,9 @@ var List = function List(_ref) {
|
|
|
1097
1096
|
isDelete = manageTemplatePane.isDelete;
|
|
1098
1097
|
var pageIndex = pageProperties.index,
|
|
1099
1098
|
pageSize = pageProperties.size;
|
|
1099
|
+
var isSms = type === "sms";
|
|
1100
|
+
var typeLabelSingular = isSms ? labelSingular : labelSingular.toLowerCase();
|
|
1101
|
+
var emptyStateLabel = isSms ? label : label.toLowerCase();
|
|
1100
1102
|
var handleDelete = function handleDelete() {
|
|
1101
1103
|
deleteTemplate(template.id, {
|
|
1102
1104
|
onSettled: function onSettled() {
|
|
@@ -1134,9 +1136,9 @@ var List = function List(_ref) {
|
|
|
1134
1136
|
}
|
|
1135
1137
|
},
|
|
1136
1138
|
title: isFilterApplied ? t("neetoMessageTemplate.template.filtersEmptyState", {
|
|
1137
|
-
type:
|
|
1139
|
+
type: emptyStateLabel
|
|
1138
1140
|
}) : t("neetoMessageTemplate.template.emptyState", {
|
|
1139
|
-
type:
|
|
1141
|
+
type: emptyStateLabel
|
|
1140
1142
|
})
|
|
1141
1143
|
})), /*#__PURE__*/React.createElement(Alert, {
|
|
1142
1144
|
isOpen: isDelete,
|
|
@@ -1148,7 +1150,7 @@ var List = function List(_ref) {
|
|
|
1148
1150
|
}
|
|
1149
1151
|
}),
|
|
1150
1152
|
title: t("neetoMessageTemplate.template.deleteTemplate", {
|
|
1151
|
-
label:
|
|
1153
|
+
label: typeLabelSingular
|
|
1152
1154
|
}),
|
|
1153
1155
|
onClose: function onClose() {
|
|
1154
1156
|
return setManageTemplatePane(assoc("isDelete", false));
|
|
@@ -1186,7 +1188,6 @@ var MessageTemplates = function MessageTemplates(_ref) {
|
|
|
1186
1188
|
searchKeywordProps = _useFilters.searchKeywordProps,
|
|
1187
1189
|
filterColumns = _useFilters.filterColumns,
|
|
1188
1190
|
searchTerm = _useFilters.searchTerm,
|
|
1189
|
-
setSearchTerm = _useFilters.setSearchTerm,
|
|
1190
1191
|
filters = _useFilters.filters,
|
|
1191
1192
|
setFilters = _useFilters.setFilters,
|
|
1192
1193
|
pageProperties = _useFilters.pageProperties,
|
|
@@ -1228,7 +1229,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
|
|
|
1228
1229
|
onClick: handleActionClick
|
|
1229
1230
|
}),
|
|
1230
1231
|
breadcrumbs: breadcrumbs,
|
|
1231
|
-
searchProps: renderSearchProps(label
|
|
1232
|
+
searchProps: renderSearchProps(label),
|
|
1232
1233
|
title: label
|
|
1233
1234
|
}), /*#__PURE__*/React.createElement(SubHeader, {
|
|
1234
1235
|
leftActionBlock: /*#__PURE__*/React.createElement(Bar, {
|
|
@@ -1257,7 +1258,8 @@ var MessageTemplates = function MessageTemplates(_ref) {
|
|
|
1257
1258
|
pageProperties: pageProperties,
|
|
1258
1259
|
setManageTemplatePane: setManageTemplatePane,
|
|
1259
1260
|
setPageProperties: setPageProperties,
|
|
1260
|
-
templatesData: templatesData
|
|
1261
|
+
templatesData: templatesData,
|
|
1262
|
+
type: type
|
|
1261
1263
|
}), /*#__PURE__*/React.createElement(AddEdit, {
|
|
1262
1264
|
addText: addText,
|
|
1263
1265
|
createUpdateTemplate: createUpdateTemplate,
|
|
@@ -1393,7 +1395,7 @@ var Whatsapp = function Whatsapp(_ref) {
|
|
|
1393
1395
|
t = _useTranslation.t;
|
|
1394
1396
|
var getInitialVariableComponents = function getInitialVariableComponents(variables) {
|
|
1395
1397
|
var initialComponents = {};
|
|
1396
|
-
variables.forEach(function (_ref2) {
|
|
1398
|
+
variables === null || variables === void 0 ? void 0 : variables.forEach(function (_ref2) {
|
|
1397
1399
|
var type = _ref2.type,
|
|
1398
1400
|
count = _ref2.count;
|
|
1399
1401
|
initialComponents[type] = Array(count).fill("");
|
|
@@ -1401,7 +1403,8 @@ var Whatsapp = function Whatsapp(_ref) {
|
|
|
1401
1403
|
return initialComponents;
|
|
1402
1404
|
};
|
|
1403
1405
|
var getTemplateMessage = function getTemplateMessage(components) {
|
|
1404
|
-
|
|
1406
|
+
var _nullSafe;
|
|
1407
|
+
return (_nullSafe = nullSafe(pluck)("text", components)) === null || _nullSafe === void 0 ? void 0 : _nullSafe.join("\n");
|
|
1405
1408
|
};
|
|
1406
1409
|
if (isEmpty(templates)) {
|
|
1407
1410
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, null, t("neetoMessageTemplate.template.emptyState", {
|
|
@@ -1542,7 +1545,7 @@ var SendMessagePane = function SendMessagePane(_ref) {
|
|
|
1542
1545
|
}, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
1543
1546
|
style: "h2",
|
|
1544
1547
|
weight: "semibold"
|
|
1545
|
-
}, t("neetoMessageTemplate.common.send"), " ", type)), /*#__PURE__*/React.createElement(Pane.Body, null, isWhatsappTemplate ? /*#__PURE__*/React.createElement(Whatsapp, {
|
|
1548
|
+
}, t("neetoMessageTemplate.common.send"), " ", MESSAGE_TYPES[type])), /*#__PURE__*/React.createElement(Pane.Body, null, isWhatsappTemplate ? /*#__PURE__*/React.createElement(Whatsapp, {
|
|
1546
1549
|
handleSubmit: handleSubmit,
|
|
1547
1550
|
onClose: onClose,
|
|
1548
1551
|
templates: templates
|