@bigbinary/neeto-molecules 3.2.11 → 3.2.12

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/dist/Taxonomy.js CHANGED
@@ -14,6 +14,8 @@ import Container from './Container.js';
14
14
  import Header from './Header.js';
15
15
  import SubHeader from './SubHeader.js';
16
16
  import TableWrapper from './TableWrapper.js';
17
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
18
+ import { BASE_API_V1_URL, PLURAL, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
17
19
  import { captureAnalyticsEvent } from '@bigbinary/neeto-commons-frontend/utils';
18
20
  import Pane from '@bigbinary/neetoui/Pane';
19
21
  import Typography from '@bigbinary/neetoui/Typography';
@@ -21,10 +23,8 @@ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
21
23
  import Form from '@bigbinary/neetoui/formik/Form';
22
24
  import Input from '@bigbinary/neetoui/formik/Input';
23
25
  import * as yup from 'yup';
24
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
25
26
  import { useMutation } from '@tanstack/react-query';
26
27
  import axios from 'axios';
27
- import { BASE_API_V1_URL } from '@bigbinary/neeto-commons-frontend/constants';
28
28
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
29
29
  import MoreDropdown from './MoreDropdown.js';
30
30
  import Dropdown from '@bigbinary/neetoui/Dropdown';
@@ -80,15 +80,15 @@ var taxonomiesApi = {
80
80
  bulkDestroy: bulkDestroy
81
81
  };
82
82
 
83
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
84
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
83
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
84
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
85
85
  var useUpdateTaxonomy = function useUpdateTaxonomy(options) {
86
- return useMutation(_objectSpread({
86
+ return useMutation(_objectSpread$1({
87
87
  mutationFn: taxonomiesApi.update
88
88
  }, options));
89
89
  };
90
90
  var useBulkDestroyTaxonomies = function useBulkDestroyTaxonomies(options) {
91
- return useMutation(_objectSpread({
91
+ return useMutation(_objectSpread$1({
92
92
  mutationFn: taxonomiesApi.bulkDestroy
93
93
  }, options));
94
94
  };
@@ -108,7 +108,20 @@ var formatDataForTable = function formatDataForTable(taxonomies) {
108
108
  };
109
109
  });
110
110
  };
111
- var getColumnData = function getColumnData(handleEdit, setCurrentKeys, setIsResetModalOpen) {
111
+ var getColumnData = function getColumnData(_ref3) {
112
+ var columnLabels = _ref3.columnLabels,
113
+ columnsToShow = _ref3.columnsToShow,
114
+ handleEdit = _ref3.handleEdit,
115
+ setCurrentKeys = _ref3.setCurrentKeys,
116
+ setIsResetModalOpen = _ref3.setIsResetModalOpen;
117
+ var _columnsToShow$singul = columnsToShow.singularColumn,
118
+ showSingularColumn = _columnsToShow$singul === void 0 ? true : _columnsToShow$singul,
119
+ _columnsToShow$plural = columnsToShow.pluralColumn,
120
+ showPluralColumn = _columnsToShow$plural === void 0 ? true : _columnsToShow$plural;
121
+ var _columnLabels$singula = columnLabels.singular,
122
+ singularLabel = _columnLabels$singula === void 0 ? t("neetoMolecules.taxonomy.singularLabel") : _columnLabels$singula,
123
+ _columnLabels$plural = columnLabels.plural,
124
+ pluralLabel = _columnLabels$plural === void 0 ? t("neetoMolecules.taxonomy.pluralLabel") : _columnLabels$plural;
112
125
  return [{
113
126
  title: t("neetoMolecules.taxonomy.defaultLabel"),
114
127
  dataIndex: "default",
@@ -134,32 +147,32 @@ var getColumnData = function getColumnData(handleEdit, setCurrentKeys, setIsRese
134
147
  }, /*#__PURE__*/React__default.createElement(Typography, {
135
148
  style: "body2"
136
149
  }, t("taxonomyDefaultLabels.".concat(values.keyName, ".singular"))), /*#__PURE__*/React__default.createElement(MoreDropdown, {
150
+ menuItems: menuItems,
137
151
  dropdownProps: {
138
152
  strategy: "fixed"
139
153
  },
140
154
  dropdownButtonProps: {
141
155
  "data-testid": "nui-dropdown-icon-".concat(values.keyName)
142
- },
143
- menuItems: menuItems
156
+ }
144
157
  }));
145
158
  }
146
- }, {
147
- title: t("neetoMolecules.taxonomy.singularLabel"),
159
+ }].concat(_toConsumableArray(showSingularColumn ? [{
160
+ title: singularLabel,
148
161
  dataIndex: "singularLabel",
149
162
  key: "singularLabel",
150
163
  width: 300
151
- }, {
152
- title: t("neetoMolecules.taxonomy.pluralLabel"),
164
+ }] : []), _toConsumableArray(showPluralColumn ? [{
165
+ title: pluralLabel,
153
166
  dataIndex: "pluralLabel",
154
167
  key: "pluralLabel",
155
168
  width: 300
156
- }];
169
+ }] : []));
157
170
  };
158
171
  var getFilteredTaxonomies = function getFilteredTaxonomies(matchString, taxonomies) {
159
- var filteredArray = toPairs(taxonomies).filter(function (_ref3) {
160
- var _ref4 = _slicedToArray(_ref3, 2),
161
- key = _ref4[0],
162
- value = _ref4[1];
172
+ var filteredArray = toPairs(taxonomies).filter(function (_ref4) {
173
+ var _ref5 = _slicedToArray(_ref4, 2),
174
+ key = _ref5[0],
175
+ value = _ref5[1];
163
176
  var defaultLabel = t("taxonomyDefaultLabels.".concat(key, ".singular"));
164
177
  var valuesToSearch = [defaultLabel].concat(_toConsumableArray(Object.values(value)));
165
178
  return valuesToSearch.some(function (str) {
@@ -169,8 +182,12 @@ var getFilteredTaxonomies = function getFilteredTaxonomies(matchString, taxonomi
169
182
  return fromPairs(filteredArray);
170
183
  };
171
184
 
185
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
186
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
172
187
  var EditPane = function EditPane(_ref) {
173
- var initialValues = _ref.initialValues,
188
+ var columnLabels = _ref.columnLabels,
189
+ columnsToShow = _ref.columnsToShow,
190
+ initialValues = _ref.initialValues,
174
191
  isOpen = _ref.isOpen,
175
192
  onClose = _ref.onClose;
176
193
  var _useTranslation = useTranslation(),
@@ -178,6 +195,14 @@ var EditPane = function EditPane(_ref) {
178
195
  var initialFocusRef = useRef(null);
179
196
  var _useUpdateTaxonomy = useUpdateTaxonomy(),
180
197
  updateTaxonomy = _useUpdateTaxonomy.mutate;
198
+ var _columnsToShow$singul = columnsToShow.singularColumn,
199
+ showSingularInputField = _columnsToShow$singul === void 0 ? true : _columnsToShow$singul,
200
+ _columnsToShow$plural = columnsToShow.pluralColumn,
201
+ showPluralInputField = _columnsToShow$plural === void 0 ? true : _columnsToShow$plural;
202
+ var _columnLabels$singula = columnLabels.singular,
203
+ singularLabel = _columnLabels$singula === void 0 ? t("neetoMolecules.taxonomy.singularLabel") : _columnLabels$singula,
204
+ _columnLabels$plural = columnLabels.plural,
205
+ pluralLabel = _columnLabels$plural === void 0 ? t("neetoMolecules.taxonomy.pluralLabel") : _columnLabels$plural;
181
206
  var handleSubmit = function handleSubmit(values, _ref2) {
182
207
  var setSubmitting = _ref2.setSubmitting;
183
208
  var keyName = values.keyName,
@@ -217,8 +242,11 @@ var EditPane = function EditPane(_ref) {
217
242
  }, /*#__PURE__*/React__default.createElement(Pane.Header, null, /*#__PURE__*/React__default.createElement(Typography, {
218
243
  style: "h2",
219
244
  weight: "semibold"
220
- }, t("neetoMolecules.taxonomy.editPane.title", {
221
- entity: t("taxonomyDefaultLabels.".concat(initialValues.keyName, ".singular"))
245
+ }, /*#__PURE__*/React__default.createElement(Trans, {
246
+ i18nKey: "neetoMolecules.taxonomy.editPane.title",
247
+ values: _objectSpread({
248
+ entity: t("taxonomyDefaultLabels.".concat(initialValues.keyName, ".singular"))
249
+ }, showSingularInputField && showPluralInputField ? PLURAL : SINGULAR)
222
250
  }))), /*#__PURE__*/React__default.createElement(Form, {
223
251
  formikProps: {
224
252
  initialValues: initialValues,
@@ -227,21 +255,21 @@ var EditPane = function EditPane(_ref) {
227
255
  }
228
256
  }, /*#__PURE__*/React__default.createElement(Pane.Body, null, /*#__PURE__*/React__default.createElement("div", {
229
257
  className: "w-full space-y-6"
230
- }, /*#__PURE__*/React__default.createElement(Input, {
258
+ }, showSingularInputField && /*#__PURE__*/React__default.createElement(Input, {
231
259
  required: true,
232
260
  className: "w-full",
233
261
  "data-cy": "taxonomy-singular-input-field",
234
262
  "data-testid": "taxonomy-singular-input-field",
235
- label: t("neetoMolecules.taxonomy.singularLabel"),
263
+ label: singularLabel,
236
264
  name: "singularLabel",
237
265
  ref: initialFocusRef,
238
266
  rejectCharsRegex: LABEL_REJECT_CHARS_REGEX
239
- }), /*#__PURE__*/React__default.createElement(Input, {
267
+ }), showPluralInputField && /*#__PURE__*/React__default.createElement(Input, {
240
268
  required: true,
241
269
  className: "w-full",
242
270
  "data-cy": "taxonomy-plural-input-field",
243
271
  "data-testid": "taxonomy-plural-input-field",
244
- label: t("neetoMolecules.taxonomy.pluralLabel"),
272
+ label: pluralLabel,
245
273
  name: "pluralLabel",
246
274
  rejectCharsRegex: LABEL_REJECT_CHARS_REGEX
247
275
  }))), /*#__PURE__*/React__default.createElement(Pane.Footer, null, /*#__PURE__*/React__default.createElement(ActionBlock, {
@@ -295,7 +323,11 @@ var LeftActionBlock = function LeftActionBlock(_ref) {
295
323
  };
296
324
 
297
325
  var Taxonomy = function Taxonomy(_ref) {
298
- var breadcrumbs = _ref.breadcrumbs;
326
+ var breadcrumbs = _ref.breadcrumbs,
327
+ _ref$columnLabels = _ref.columnLabels,
328
+ columnLabels = _ref$columnLabels === void 0 ? {} : _ref$columnLabels,
329
+ _ref$columnsToShow = _ref.columnsToShow,
330
+ columnsToShow = _ref$columnsToShow === void 0 ? {} : _ref$columnsToShow;
299
331
  var _useState = useState(false),
300
332
  _useState2 = _slicedToArray(_useState, 2),
301
333
  isResetModalOpen = _useState2[0],
@@ -398,9 +430,17 @@ var Taxonomy = function Taxonomy(_ref) {
398
430
  },
399
431
  selectedRowKeys: selectedRowIds,
400
432
  tableLayout: "fixed",
401
- columnData: getColumnData(handleEdit, setCurrentKeys, setIsResetModalOpen),
433
+ columnData: getColumnData({
434
+ columnLabels: columnLabels,
435
+ columnsToShow: columnsToShow,
436
+ handleEdit: handleEdit,
437
+ setCurrentKeys: setCurrentKeys,
438
+ setIsResetModalOpen: setIsResetModalOpen
439
+ }),
402
440
  onRowSelect: handleRowSelect
403
441
  }), /*#__PURE__*/React__default.createElement(EditPane, {
442
+ columnLabels: columnLabels,
443
+ columnsToShow: columnsToShow,
404
444
  initialValues: initialValues,
405
445
  isOpen: isEditTaxonomyPaneOpen,
406
446
  onClose: function onClose() {
@@ -1 +1 @@
1
- {"version":3,"file":"Taxonomy.js","sources":["../src/components/Taxonomy/constants.js","../src/components/Taxonomy/api.js","../src/components/Taxonomy/useTaxonomyApi.js","../src/components/Taxonomy/utils.jsx","../src/components/Taxonomy/EditPane.jsx","../src/components/Taxonomy/LeftActionBlock.jsx","../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n\nexport const TAXONOMY_EVENTS = { UPDATED: \"taxonomy_updated\" };\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options =>\n useMutation({ mutationFn: taxonomiesApi.update, ...options });\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation({ mutationFn: taxonomiesApi.bulkDestroy, ...options });\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = (\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n) => [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n {...{ menuItems }}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoMolecules.taxonomy.singularLabel\"),\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n {\n title: t(\"neetoMolecules.taxonomy.pluralLabel\"),\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n];\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import React, { useRef } from \"react\";\n\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n LABEL_REJECT_CHARS_REGEX,\n TAXONOMY_EVENTS,\n VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({ initialValues, isOpen, onClose }) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => {\n captureAnalyticsEvent(TAXONOMY_EVENTS.UPDATED, {\n taxonomy: payload.taxonomy,\n });\n window.location.reload();\n },\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.taxonomy.editPane.title\", {\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ),\n })}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={t(\"neetoMolecules.taxonomy.singularLabel\")}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={t(\"neetoMolecules.taxonomy.pluralLabel\")}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import React, { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({ breadcrumbs }) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData(\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n )}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","TAXONOMY_EVENTS","UPDATED","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","_objectSpread","mutationFn","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","handleEdit","setCurrentKeys","setIsResetModalOpen","title","dataIndex","key","width","render","_","values","menuItems","onClick","React","createElement","className","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","getFilteredTaxonomies","matchString","filteredArray","filter","_ref3","_ref4","value","defaultLabel","valuesToSearch","_toConsumableArray","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","handleSubmit","setSubmitting","taxonomy","onSuccess","captureAnalyticsEvent","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","entity","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","Fragment","component","Trans","i18nKey","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":"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"}
1
+ {"version":3,"file":"Taxonomy.js","sources":["../src/components/Taxonomy/constants.js","../src/components/Taxonomy/api.js","../src/components/Taxonomy/useTaxonomyApi.js","../src/components/Taxonomy/utils.jsx","../src/components/Taxonomy/EditPane.jsx","../src/components/Taxonomy/LeftActionBlock.jsx","../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n\nexport const TAXONOMY_EVENTS = { UPDATED: \"taxonomy_updated\" };\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options =>\n useMutation({ mutationFn: taxonomiesApi.update, ...options });\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation({ mutationFn: taxonomiesApi.bulkDestroy, ...options });\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = ({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n}) => {\n const {\n singularColumn: showSingularColumn = true,\n pluralColumn: showPluralColumn = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n return [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n {...{ menuItems }}\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n />\n </div>\n );\n },\n },\n ...(showSingularColumn\n ? [\n {\n title: singularLabel,\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n ]\n : []),\n ...(showPluralColumn\n ? [\n {\n title: pluralLabel,\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n ]\n : []),\n ];\n};\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import React, { useRef } from \"react\";\n\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n LABEL_REJECT_CHARS_REGEX,\n TAXONOMY_EVENTS,\n VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({\n columnLabels,\n columnsToShow,\n initialValues,\n isOpen,\n onClose,\n}) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const {\n singularColumn: showSingularInputField = true,\n pluralColumn: showPluralInputField = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => {\n captureAnalyticsEvent(TAXONOMY_EVENTS.UPDATED, {\n taxonomy: payload.taxonomy,\n });\n window.location.reload();\n },\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.editPane.title\"\n values={{\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ),\n ...(showSingularInputField && showPluralInputField\n ? PLURAL\n : SINGULAR),\n }}\n />\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n {showSingularInputField && (\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={singularLabel}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n {showPluralInputField && (\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={pluralLabel}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import React, { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({ breadcrumbs, columnLabels = {}, columnsToShow = {} }) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n })}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ columnLabels, columnsToShow, initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","TAXONOMY_EVENTS","UPDATED","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","_objectSpread","mutationFn","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","_ref3","columnLabels","columnsToShow","handleEdit","setCurrentKeys","setIsResetModalOpen","_columnsToShow$singul","singularColumn","showSingularColumn","_columnsToShow$plural","pluralColumn","showPluralColumn","_columnLabels$singula","singular","_columnLabels$plural","plural","title","dataIndex","key","width","render","_","values","menuItems","onClick","React","createElement","className","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","_toConsumableArray","getFilteredTaxonomies","matchString","filteredArray","filter","_ref4","_ref5","value","defaultLabel","valuesToSearch","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","showSingularInputField","showPluralInputField","handleSubmit","setSubmitting","taxonomy","onSuccess","captureAnalyticsEvent","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","Trans","i18nKey","entity","PLURAL","SINGULAR","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","Fragment","component","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_ref$columnLabels","_ref$columnsToShow","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":"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"}
@@ -16,6 +16,8 @@ var Container = require('./Container.js');
16
16
  var Header = require('./Header.js');
17
17
  var SubHeader = require('./SubHeader.js');
18
18
  var TableWrapper = require('./TableWrapper.js');
19
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
20
+ var constants = require('@bigbinary/neeto-commons-frontend/constants');
19
21
  var utils = require('@bigbinary/neeto-commons-frontend/utils');
20
22
  var Pane = require('@bigbinary/neetoui/Pane');
21
23
  var Typography = require('@bigbinary/neetoui/Typography');
@@ -23,10 +25,8 @@ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
23
25
  var Form = require('@bigbinary/neetoui/formik/Form');
24
26
  var Input = require('@bigbinary/neetoui/formik/Input');
25
27
  var yup = require('yup');
26
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
27
28
  var reactQuery = require('@tanstack/react-query');
28
29
  var axios = require('axios');
29
- var constants = require('@bigbinary/neeto-commons-frontend/constants');
30
30
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
31
31
  var MoreDropdown = require('./MoreDropdown.js');
32
32
  var Dropdown = require('@bigbinary/neetoui/Dropdown');
@@ -85,13 +85,13 @@ var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
85
85
  var NoData__default = /*#__PURE__*/_interopDefaultLegacy(NoData);
86
86
  var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
87
87
  var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
88
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
88
89
  var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
89
90
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
90
91
  var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
91
92
  var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
92
93
  var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
93
94
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
94
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
95
95
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
96
96
  var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
97
97
  var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
@@ -120,15 +120,15 @@ var taxonomiesApi = {
120
120
  bulkDestroy: bulkDestroy
121
121
  };
122
122
 
123
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
124
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
123
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
124
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
125
125
  var useUpdateTaxonomy = function useUpdateTaxonomy(options) {
126
- return reactQuery.useMutation(_objectSpread({
126
+ return reactQuery.useMutation(_objectSpread$1({
127
127
  mutationFn: taxonomiesApi.update
128
128
  }, options));
129
129
  };
130
130
  var useBulkDestroyTaxonomies = function useBulkDestroyTaxonomies(options) {
131
- return reactQuery.useMutation(_objectSpread({
131
+ return reactQuery.useMutation(_objectSpread$1({
132
132
  mutationFn: taxonomiesApi.bulkDestroy
133
133
  }, options));
134
134
  };
@@ -148,7 +148,20 @@ var formatDataForTable = function formatDataForTable(taxonomies) {
148
148
  };
149
149
  });
150
150
  };
151
- var getColumnData = function getColumnData(handleEdit, setCurrentKeys, setIsResetModalOpen) {
151
+ var getColumnData = function getColumnData(_ref3) {
152
+ var columnLabels = _ref3.columnLabels,
153
+ columnsToShow = _ref3.columnsToShow,
154
+ handleEdit = _ref3.handleEdit,
155
+ setCurrentKeys = _ref3.setCurrentKeys,
156
+ setIsResetModalOpen = _ref3.setIsResetModalOpen;
157
+ var _columnsToShow$singul = columnsToShow.singularColumn,
158
+ showSingularColumn = _columnsToShow$singul === void 0 ? true : _columnsToShow$singul,
159
+ _columnsToShow$plural = columnsToShow.pluralColumn,
160
+ showPluralColumn = _columnsToShow$plural === void 0 ? true : _columnsToShow$plural;
161
+ var _columnLabels$singula = columnLabels.singular,
162
+ singularLabel = _columnLabels$singula === void 0 ? i18next.t("neetoMolecules.taxonomy.singularLabel") : _columnLabels$singula,
163
+ _columnLabels$plural = columnLabels.plural,
164
+ pluralLabel = _columnLabels$plural === void 0 ? i18next.t("neetoMolecules.taxonomy.pluralLabel") : _columnLabels$plural;
152
165
  return [{
153
166
  title: i18next.t("neetoMolecules.taxonomy.defaultLabel"),
154
167
  dataIndex: "default",
@@ -174,32 +187,32 @@ var getColumnData = function getColumnData(handleEdit, setCurrentKeys, setIsRese
174
187
  }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
175
188
  style: "body2"
176
189
  }, i18next.t("taxonomyDefaultLabels.".concat(values.keyName, ".singular"))), /*#__PURE__*/React__default["default"].createElement(MoreDropdown, {
190
+ menuItems: menuItems,
177
191
  dropdownProps: {
178
192
  strategy: "fixed"
179
193
  },
180
194
  dropdownButtonProps: {
181
195
  "data-testid": "nui-dropdown-icon-".concat(values.keyName)
182
- },
183
- menuItems: menuItems
196
+ }
184
197
  }));
185
198
  }
186
- }, {
187
- title: i18next.t("neetoMolecules.taxonomy.singularLabel"),
199
+ }].concat(_toConsumableArray__default["default"](showSingularColumn ? [{
200
+ title: singularLabel,
188
201
  dataIndex: "singularLabel",
189
202
  key: "singularLabel",
190
203
  width: 300
191
- }, {
192
- title: i18next.t("neetoMolecules.taxonomy.pluralLabel"),
204
+ }] : []), _toConsumableArray__default["default"](showPluralColumn ? [{
205
+ title: pluralLabel,
193
206
  dataIndex: "pluralLabel",
194
207
  key: "pluralLabel",
195
208
  width: 300
196
- }];
209
+ }] : []));
197
210
  };
198
211
  var getFilteredTaxonomies = function getFilteredTaxonomies(matchString, taxonomies) {
199
- var filteredArray = ramda.toPairs(taxonomies).filter(function (_ref3) {
200
- var _ref4 = _slicedToArray__default["default"](_ref3, 2),
201
- key = _ref4[0],
202
- value = _ref4[1];
212
+ var filteredArray = ramda.toPairs(taxonomies).filter(function (_ref4) {
213
+ var _ref5 = _slicedToArray__default["default"](_ref4, 2),
214
+ key = _ref5[0],
215
+ value = _ref5[1];
203
216
  var defaultLabel = i18next.t("taxonomyDefaultLabels.".concat(key, ".singular"));
204
217
  var valuesToSearch = [defaultLabel].concat(_toConsumableArray__default["default"](Object.values(value)));
205
218
  return valuesToSearch.some(function (str) {
@@ -209,8 +222,12 @@ var getFilteredTaxonomies = function getFilteredTaxonomies(matchString, taxonomi
209
222
  return ramda.fromPairs(filteredArray);
210
223
  };
211
224
 
225
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
226
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
212
227
  var EditPane = function EditPane(_ref) {
213
- var initialValues = _ref.initialValues,
228
+ var columnLabels = _ref.columnLabels,
229
+ columnsToShow = _ref.columnsToShow,
230
+ initialValues = _ref.initialValues,
214
231
  isOpen = _ref.isOpen,
215
232
  onClose = _ref.onClose;
216
233
  var _useTranslation = reactI18next.useTranslation(),
@@ -218,6 +235,14 @@ var EditPane = function EditPane(_ref) {
218
235
  var initialFocusRef = React.useRef(null);
219
236
  var _useUpdateTaxonomy = useUpdateTaxonomy(),
220
237
  updateTaxonomy = _useUpdateTaxonomy.mutate;
238
+ var _columnsToShow$singul = columnsToShow.singularColumn,
239
+ showSingularInputField = _columnsToShow$singul === void 0 ? true : _columnsToShow$singul,
240
+ _columnsToShow$plural = columnsToShow.pluralColumn,
241
+ showPluralInputField = _columnsToShow$plural === void 0 ? true : _columnsToShow$plural;
242
+ var _columnLabels$singula = columnLabels.singular,
243
+ singularLabel = _columnLabels$singula === void 0 ? t("neetoMolecules.taxonomy.singularLabel") : _columnLabels$singula,
244
+ _columnLabels$plural = columnLabels.plural,
245
+ pluralLabel = _columnLabels$plural === void 0 ? t("neetoMolecules.taxonomy.pluralLabel") : _columnLabels$plural;
221
246
  var handleSubmit = function handleSubmit(values, _ref2) {
222
247
  var setSubmitting = _ref2.setSubmitting;
223
248
  var keyName = values.keyName,
@@ -257,8 +282,11 @@ var EditPane = function EditPane(_ref) {
257
282
  }, /*#__PURE__*/React__default["default"].createElement(Pane__default["default"].Header, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
258
283
  style: "h2",
259
284
  weight: "semibold"
260
- }, t("neetoMolecules.taxonomy.editPane.title", {
261
- entity: t("taxonomyDefaultLabels.".concat(initialValues.keyName, ".singular"))
285
+ }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
286
+ i18nKey: "neetoMolecules.taxonomy.editPane.title",
287
+ values: _objectSpread({
288
+ entity: t("taxonomyDefaultLabels.".concat(initialValues.keyName, ".singular"))
289
+ }, showSingularInputField && showPluralInputField ? constants.PLURAL : constants.SINGULAR)
262
290
  }))), /*#__PURE__*/React__default["default"].createElement(Form__default["default"], {
263
291
  formikProps: {
264
292
  initialValues: initialValues,
@@ -267,21 +295,21 @@ var EditPane = function EditPane(_ref) {
267
295
  }
268
296
  }, /*#__PURE__*/React__default["default"].createElement(Pane__default["default"].Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
269
297
  className: "w-full space-y-6"
270
- }, /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
298
+ }, showSingularInputField && /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
271
299
  required: true,
272
300
  className: "w-full",
273
301
  "data-cy": "taxonomy-singular-input-field",
274
302
  "data-testid": "taxonomy-singular-input-field",
275
- label: t("neetoMolecules.taxonomy.singularLabel"),
303
+ label: singularLabel,
276
304
  name: "singularLabel",
277
305
  ref: initialFocusRef,
278
306
  rejectCharsRegex: LABEL_REJECT_CHARS_REGEX
279
- }), /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
307
+ }), showPluralInputField && /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
280
308
  required: true,
281
309
  className: "w-full",
282
310
  "data-cy": "taxonomy-plural-input-field",
283
311
  "data-testid": "taxonomy-plural-input-field",
284
- label: t("neetoMolecules.taxonomy.pluralLabel"),
312
+ label: pluralLabel,
285
313
  name: "pluralLabel",
286
314
  rejectCharsRegex: LABEL_REJECT_CHARS_REGEX
287
315
  }))), /*#__PURE__*/React__default["default"].createElement(Pane__default["default"].Footer, null, /*#__PURE__*/React__default["default"].createElement(ActionBlock__default["default"], {
@@ -335,7 +363,11 @@ var LeftActionBlock = function LeftActionBlock(_ref) {
335
363
  };
336
364
 
337
365
  var Taxonomy = function Taxonomy(_ref) {
338
- var breadcrumbs = _ref.breadcrumbs;
366
+ var breadcrumbs = _ref.breadcrumbs,
367
+ _ref$columnLabels = _ref.columnLabels,
368
+ columnLabels = _ref$columnLabels === void 0 ? {} : _ref$columnLabels,
369
+ _ref$columnsToShow = _ref.columnsToShow,
370
+ columnsToShow = _ref$columnsToShow === void 0 ? {} : _ref$columnsToShow;
339
371
  var _useState = React.useState(false),
340
372
  _useState2 = _slicedToArray__default["default"](_useState, 2),
341
373
  isResetModalOpen = _useState2[0],
@@ -438,9 +470,17 @@ var Taxonomy = function Taxonomy(_ref) {
438
470
  },
439
471
  selectedRowKeys: selectedRowIds,
440
472
  tableLayout: "fixed",
441
- columnData: getColumnData(handleEdit, setCurrentKeys, setIsResetModalOpen),
473
+ columnData: getColumnData({
474
+ columnLabels: columnLabels,
475
+ columnsToShow: columnsToShow,
476
+ handleEdit: handleEdit,
477
+ setCurrentKeys: setCurrentKeys,
478
+ setIsResetModalOpen: setIsResetModalOpen
479
+ }),
442
480
  onRowSelect: handleRowSelect
443
481
  }), /*#__PURE__*/React__default["default"].createElement(EditPane, {
482
+ columnLabels: columnLabels,
483
+ columnsToShow: columnsToShow,
444
484
  initialValues: initialValues,
445
485
  isOpen: isEditTaxonomyPaneOpen,
446
486
  onClose: function onClose() {
@@ -1 +1 @@
1
- {"version":3,"file":"Taxonomy.js","sources":["../../src/components/Taxonomy/constants.js","../../src/components/Taxonomy/api.js","../../src/components/Taxonomy/useTaxonomyApi.js","../../src/components/Taxonomy/utils.jsx","../../src/components/Taxonomy/EditPane.jsx","../../src/components/Taxonomy/LeftActionBlock.jsx","../../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n\nexport const TAXONOMY_EVENTS = { UPDATED: \"taxonomy_updated\" };\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options =>\n useMutation({ mutationFn: taxonomiesApi.update, ...options });\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation({ mutationFn: taxonomiesApi.bulkDestroy, ...options });\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = (\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n) => [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n {...{ menuItems }}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoMolecules.taxonomy.singularLabel\"),\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n {\n title: t(\"neetoMolecules.taxonomy.pluralLabel\"),\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n];\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import React, { useRef } from \"react\";\n\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n LABEL_REJECT_CHARS_REGEX,\n TAXONOMY_EVENTS,\n VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({ initialValues, isOpen, onClose }) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => {\n captureAnalyticsEvent(TAXONOMY_EVENTS.UPDATED, {\n taxonomy: payload.taxonomy,\n });\n window.location.reload();\n },\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.taxonomy.editPane.title\", {\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ),\n })}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={t(\"neetoMolecules.taxonomy.singularLabel\")}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={t(\"neetoMolecules.taxonomy.pluralLabel\")}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import React, { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({ breadcrumbs }) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData(\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n )}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","TAXONOMY_EVENTS","UPDATED","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","_objectSpread","mutationFn","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","handleEdit","setCurrentKeys","setIsResetModalOpen","title","dataIndex","key","width","render","_","values","menuItems","onClick","React","createElement","className","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","getFilteredTaxonomies","matchString","filteredArray","filter","_ref3","_ref4","value","defaultLabel","valuesToSearch","_toConsumableArray","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","handleSubmit","setSubmitting","taxonomy","onSuccess","captureAnalyticsEvent","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","entity","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","Fragment","component","Trans","i18nKey","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":"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"}
1
+ {"version":3,"file":"Taxonomy.js","sources":["../../src/components/Taxonomy/constants.js","../../src/components/Taxonomy/api.js","../../src/components/Taxonomy/useTaxonomyApi.js","../../src/components/Taxonomy/utils.jsx","../../src/components/Taxonomy/EditPane.jsx","../../src/components/Taxonomy/LeftActionBlock.jsx","../../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n\nexport const TAXONOMY_EVENTS = { UPDATED: \"taxonomy_updated\" };\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options =>\n useMutation({ mutationFn: taxonomiesApi.update, ...options });\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation({ mutationFn: taxonomiesApi.bulkDestroy, ...options });\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = ({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n}) => {\n const {\n singularColumn: showSingularColumn = true,\n pluralColumn: showPluralColumn = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n return [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n {...{ menuItems }}\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n />\n </div>\n );\n },\n },\n ...(showSingularColumn\n ? [\n {\n title: singularLabel,\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n ]\n : []),\n ...(showPluralColumn\n ? [\n {\n title: pluralLabel,\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n ]\n : []),\n ];\n};\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import React, { useRef } from \"react\";\n\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n LABEL_REJECT_CHARS_REGEX,\n TAXONOMY_EVENTS,\n VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({\n columnLabels,\n columnsToShow,\n initialValues,\n isOpen,\n onClose,\n}) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const {\n singularColumn: showSingularInputField = true,\n pluralColumn: showPluralInputField = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => {\n captureAnalyticsEvent(TAXONOMY_EVENTS.UPDATED, {\n taxonomy: payload.taxonomy,\n });\n window.location.reload();\n },\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.editPane.title\"\n values={{\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ),\n ...(showSingularInputField && showPluralInputField\n ? PLURAL\n : SINGULAR),\n }}\n />\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n {showSingularInputField && (\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={singularLabel}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n {showPluralInputField && (\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={pluralLabel}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import React, { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({ breadcrumbs, columnLabels = {}, columnsToShow = {} }) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n })}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ columnLabels, columnsToShow, initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","TAXONOMY_EVENTS","UPDATED","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","_objectSpread","mutationFn","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","_ref3","columnLabels","columnsToShow","handleEdit","setCurrentKeys","setIsResetModalOpen","_columnsToShow$singul","singularColumn","showSingularColumn","_columnsToShow$plural","pluralColumn","showPluralColumn","_columnLabels$singula","singular","_columnLabels$plural","plural","title","dataIndex","key","width","render","_","values","menuItems","onClick","React","createElement","className","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","_toConsumableArray","getFilteredTaxonomies","matchString","filteredArray","filter","_ref4","_ref5","value","defaultLabel","valuesToSearch","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","showSingularInputField","showPluralInputField","handleSubmit","setSubmitting","taxonomy","onSuccess","captureAnalyticsEvent","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","Trans","i18nKey","entity","PLURAL","SINGULAR","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","Fragment","component","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_ref$columnLabels","_ref$columnsToShow","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.2.11",
3
+ "version": "3.2.12",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -631,7 +631,8 @@
631
631
  "message_other": "You are resetting <strong>{{count}} taxonomies</strong> to their defaults. This can't be undone. Are you sure you want to proceed?"
632
632
  },
633
633
  "editPane": {
634
- "title": "Edit labels for {{entity}}",
634
+ "title_one": "Edit label for {{entity}}",
635
+ "title_other": "Edit labels for {{entity}}",
635
636
  "validations": {
636
637
  "singularLabelRequired": "Singular label is a required field.",
637
638
  "pluralLabelRequired": "Plural label is a required field."
@@ -44,5 +44,13 @@ const Taxonomy: React.FC<{
44
44
  text: string;
45
45
  link: string;
46
46
  }[];
47
+ columnsToShow?: {
48
+ singularColumn?: boolean;
49
+ pluralColumn?: boolean;
50
+ };
51
+ columnLabels?: {
52
+ singular?: string;
53
+ plural?: string;
54
+ };
47
55
  }>;
48
56
  export default Taxonomy;