@bigbinary/neeto-filters-frontend 4.0.1 → 4.1.1

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.
Files changed (49) hide show
  1. package/README.md +2 -0
  2. package/dist/Bar.js +672 -0
  3. package/dist/Bar.js.map +1 -0
  4. package/dist/Filters.js +368 -0
  5. package/dist/Filters.js.map +1 -0
  6. package/dist/Segments.js +534 -0
  7. package/dist/Segments.js.map +1 -0
  8. package/dist/cjs/Bar.js +686 -0
  9. package/dist/cjs/Bar.js.map +1 -0
  10. package/dist/cjs/Filters.js +379 -0
  11. package/dist/cjs/Filters.js.map +1 -0
  12. package/dist/cjs/Segments.js +548 -0
  13. package/dist/cjs/Segments.js.map +1 -0
  14. package/dist/cjs/hooks.js +17 -0
  15. package/dist/cjs/hooks.js.map +1 -0
  16. package/dist/cjs/index.js +72 -0
  17. package/dist/cjs/index.js.map +1 -0
  18. package/dist/cjs/utils.js +24 -0
  19. package/dist/cjs/utils.js.map +1 -0
  20. package/dist/constants-8f6e851e.js +125 -0
  21. package/dist/constants-8f6e851e.js.map +1 -0
  22. package/dist/constants-fb0f688a.js +135 -0
  23. package/dist/constants-fb0f688a.js.map +1 -0
  24. package/dist/hooks.js +7 -0
  25. package/dist/hooks.js.map +1 -0
  26. package/dist/index-03114015.js +336 -0
  27. package/dist/index-03114015.js.map +1 -0
  28. package/dist/index-2d1d9838.js +971 -0
  29. package/dist/index-2d1d9838.js.map +1 -0
  30. package/dist/index-31aaf3e4.js +302 -0
  31. package/dist/index-31aaf3e4.js.map +1 -0
  32. package/dist/index-95fe069e.js +958 -0
  33. package/dist/index-95fe069e.js.map +1 -0
  34. package/dist/index.js +53 -3703
  35. package/dist/index.js.map +1 -1
  36. package/dist/useSegmentsApi-003055eb.js +96 -0
  37. package/dist/useSegmentsApi-003055eb.js.map +1 -0
  38. package/dist/useSegmentsApi-c514647d.js +86 -0
  39. package/dist/useSegmentsApi-c514647d.js.map +1 -0
  40. package/dist/utils-61b4223d.js +861 -0
  41. package/dist/utils-61b4223d.js.map +1 -0
  42. package/dist/utils-9ea34335.js +809 -0
  43. package/dist/utils-9ea34335.js.map +1 -0
  44. package/dist/utils.js +12 -0
  45. package/dist/utils.js.map +1 -0
  46. package/package.json +24 -12
  47. package/types.d.ts +2 -0
  48. package/dist/index.cjs.js +0 -3773
  49. package/dist/index.cjs.js.map +0 -1
@@ -0,0 +1,336 @@
1
+ 'use strict';
2
+
3
+ var utils = require('./utils-61b4223d.js');
4
+ var constants = require('./constants-fb0f688a.js');
5
+ var React = require('react');
6
+ var neetoCist = require('@bigbinary/neeto-cist');
7
+ var Delete = require('@bigbinary/neeto-icons/Delete');
8
+ var Accordion = require('@bigbinary/neetoui/Accordion');
9
+ var Button = require('@bigbinary/neetoui/Button');
10
+ var NeetoUIPane = require('@bigbinary/neetoui/Pane');
11
+ var Typography = require('@bigbinary/neetoui/Typography');
12
+ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
13
+ var Form = require('@bigbinary/neetoui/formik/Form');
14
+ var Input = require('@bigbinary/neetoui/formik/Input');
15
+ var ramda = require('ramda');
16
+ var reactI18next = require('react-i18next');
17
+ var reactRouterDom_min = require('react-router-dom/cjs/react-router-dom.min');
18
+ var index = require('./index-2d1d9838.js');
19
+ var Plus = require('@bigbinary/neeto-icons/Plus');
20
+ var Select = require('@bigbinary/neetoui/Select');
21
+ var jsxRuntime = require('react/jsx-runtime');
22
+ var i18next = require('i18next');
23
+ var yup = require('yup');
24
+
25
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
+
27
+ function _interopNamespace(e) {
28
+ if (e && e.__esModule) return e;
29
+ var n = Object.create(null);
30
+ if (e) {
31
+ Object.keys(e).forEach(function (k) {
32
+ if (k !== 'default') {
33
+ var d = Object.getOwnPropertyDescriptor(e, k);
34
+ Object.defineProperty(n, k, d.get ? d : {
35
+ enumerable: true,
36
+ get: function () { return e[k]; }
37
+ });
38
+ }
39
+ });
40
+ }
41
+ n["default"] = e;
42
+ return Object.freeze(n);
43
+ }
44
+
45
+ var Delete__default = /*#__PURE__*/_interopDefaultLegacy(Delete);
46
+ var Accordion__default = /*#__PURE__*/_interopDefaultLegacy(Accordion);
47
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
48
+ var NeetoUIPane__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUIPane);
49
+ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
50
+ var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
51
+ var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
52
+ var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
53
+ var Plus__default = /*#__PURE__*/_interopDefaultLegacy(Plus);
54
+ var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
55
+ var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
56
+
57
+ var STEPS = {
58
+ ADD: "add",
59
+ COLUMN: "column",
60
+ VALUE: "value"
61
+ };
62
+
63
+ var AddFilter = function AddFilter(_ref) {
64
+ var _findBy;
65
+ var columns = _ref.columns,
66
+ filters = _ref.filters,
67
+ handleChange = _ref.handleChange,
68
+ handleClearFilter = _ref.handleClearFilter,
69
+ _ref$disabled = _ref.disabled,
70
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
71
+ var _useTranslation = reactI18next.useTranslation(),
72
+ t = _useTranslation.t;
73
+ var _useState = React.useState({
74
+ step: STEPS.ADD,
75
+ column: {}
76
+ }),
77
+ _useState2 = utils._slicedToArray(_useState, 2),
78
+ selectedColumn = _useState2[0],
79
+ setSelectedColumn = _useState2[1];
80
+
81
+ // Disable the add button when
82
+ // 1. No value is entered for previous filter
83
+ // 2. There are no more columns
84
+ var disableAddButton = selectedColumn.step !== STEPS.ADD && neetoCist.isNotPresent((_findBy = neetoCist.findBy({
85
+ key: selectedColumn.column.key
86
+ }, filters)) === null || _findBy === void 0 ? void 0 : _findBy.value) || ramda.isEmpty(columns);
87
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
88
+ children: selectedColumn.step !== STEPS.ADD ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
89
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
90
+ className: "flex w-full gap-4",
91
+ children: [selectedColumn.step === STEPS.COLUMN && /*#__PURE__*/jsxRuntime.jsx(Select__default["default"], {
92
+ isSearchable: true,
93
+ label: t("neetoFilters.segments.newFilter"),
94
+ optionRemapping: {
95
+ label: "label",
96
+ value: "key"
97
+ },
98
+ options: columns,
99
+ placeholder: t("neetoFilters.segments.selectFilter"),
100
+ onChange: function onChange(column) {
101
+ return setSelectedColumn({
102
+ step: STEPS.VALUE,
103
+ column: column
104
+ });
105
+ }
106
+ }), selectedColumn.step === STEPS.VALUE && /*#__PURE__*/jsxRuntime.jsx(index.Item, {
107
+ filters: filters,
108
+ autoFocus: true,
109
+ column: selectedColumn.column,
110
+ onChange: handleChange
111
+ }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
112
+ className: "mt-6 self-center",
113
+ icon: Delete__default["default"],
114
+ style: "text",
115
+ onClick: function onClick() {
116
+ handleClearFilter(selectedColumn.column);
117
+ setSelectedColumn(ramda.assoc("step", STEPS.ADD));
118
+ }
119
+ })]
120
+ }), /*#__PURE__*/jsxRuntime.jsx(AddFilter, {
121
+ filters: filters,
122
+ handleChange: handleChange,
123
+ handleClearFilter: handleClearFilter,
124
+ columns: columns.filter(function (_ref2) {
125
+ var key = _ref2.key;
126
+ return !neetoCist.existsBy({
127
+ key: key
128
+ }, filters);
129
+ }),
130
+ disabled: disableAddButton
131
+ })]
132
+ }) : /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
133
+ disabled: disabled,
134
+ className: "self-start",
135
+ icon: Plus__default["default"],
136
+ iconPosition: "left",
137
+ label: t("neetoFilters.segments.addFilter"),
138
+ style: "link",
139
+ onClick: function onClick() {
140
+ return setSelectedColumn(ramda.assoc("step", STEPS.COLUMN));
141
+ }
142
+ })
143
+ });
144
+ };
145
+
146
+ var buildSegmentsValidationSchema = function buildSegmentsValidationSchema(defaultSegmentName) {
147
+ return yup__namespace.object({
148
+ name: yup__namespace.string().trim().required(i18next.t("neetoFilters.segments.nameIsRequired")).test({
149
+ name: "not-default-segment-name",
150
+ test: function test(value) {
151
+ return (value === null || value === void 0 ? void 0 : value.toLocaleLowerCase()) !== defaultSegmentName.toLocaleLowerCase();
152
+ },
153
+ message: i18next.t("neetoFilters.segments.reservedNameErrorMessage")
154
+ })
155
+ });
156
+ };
157
+
158
+ 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; }
159
+ 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) { constants._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; }
160
+ var SegmentForm = function SegmentForm(_ref) {
161
+ var _ref$isEdit = _ref.isEdit,
162
+ isEdit = _ref$isEdit === void 0 ? false : _ref$isEdit,
163
+ segmentFormInitialRef = _ref.segmentFormInitialRef,
164
+ isOpen = _ref.isOpen,
165
+ onClose = _ref.onClose,
166
+ isSubmitting = _ref.isSubmitting,
167
+ handleSubmit = _ref.handleSubmit,
168
+ defaultSegmentName = _ref.defaultSegmentName,
169
+ initialValues = _ref.initialValues,
170
+ customFilters = _ref.customFilters,
171
+ columns = _ref.columns,
172
+ filters = _ref.filters,
173
+ childrenKeys = _ref.childrenKeys;
174
+ var history = reactRouterDom_min.useHistory();
175
+ var _useTranslation = reactI18next.useTranslation(),
176
+ t = _useTranslation.t;
177
+ var _buildFilteredColumns = utils.buildFilteredColumns({
178
+ searchTerm: "",
179
+ columns: columns
180
+ }),
181
+ _buildFilteredColumns2 = _buildFilteredColumns.groupedColumns,
182
+ groupedColumns = _buildFilteredColumns2 === void 0 ? [] : _buildFilteredColumns2,
183
+ _buildFilteredColumns3 = _buildFilteredColumns.ungroupedColumns,
184
+ ungroupedColumns = _buildFilteredColumns3 === void 0 ? [] : _buildFilteredColumns3;
185
+ var handleChange = function handleChange(newFilters) {
186
+ var isClearAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
187
+ var params = utils.buildUrlFromFilters(_objectSpread({
188
+ columns: columns,
189
+ filters: newFilters
190
+ }, isClearAll && {
191
+ isClearAll: true,
192
+ childrenKeys: childrenKeys
193
+ }));
194
+ history.push({
195
+ search: params
196
+ });
197
+ };
198
+ var handleClearFilter = function handleClearFilter(column, values, setFieldValue) {
199
+ var formState = [{
200
+ conditions: neetoCist.removeBy({
201
+ key: column.key
202
+ }, values.filters[0].conditions)
203
+ }];
204
+ var globalState = neetoCist.removeBy({
205
+ key: column.key
206
+ }, filters);
207
+ setFieldValue("filters", formState);
208
+ handleChange(globalState);
209
+ };
210
+ return /*#__PURE__*/jsxRuntime.jsxs(NeetoUIPane__default["default"], {
211
+ isOpen: isOpen,
212
+ onClose: onClose,
213
+ initialFocusRef: segmentFormInitialRef,
214
+ children: [/*#__PURE__*/jsxRuntime.jsx(NeetoUIPane__default["default"].Header, {
215
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
216
+ style: "h2",
217
+ weight: "semibold",
218
+ children: isEdit ? t("neetoFilters.segments.editSegment") : t("neetoFilters.segments.addNewSegment")
219
+ })
220
+ }), /*#__PURE__*/jsxRuntime.jsx(Form__default["default"], {
221
+ className: "w-full",
222
+ formProps: {
223
+ noValidate: true
224
+ },
225
+ formikProps: {
226
+ initialValues: initialValues,
227
+ validateOnChange: true,
228
+ validateOnBlur: true,
229
+ validationSchema: buildSegmentsValidationSchema(defaultSegmentName),
230
+ onSubmit: handleSubmit
231
+ },
232
+ children: function children(_ref2) {
233
+ var errors = _ref2.errors,
234
+ values = _ref2.values,
235
+ setFieldValue = _ref2.setFieldValue;
236
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
237
+ children: [/*#__PURE__*/jsxRuntime.jsxs(NeetoUIPane__default["default"].Body, {
238
+ children: [/*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
239
+ className: "w-full flex-grow-0",
240
+ error: errors.name,
241
+ label: t("neetoFilters.segments.name"),
242
+ name: "name",
243
+ placeholder: t("neetoFilters.segments.segmentName"),
244
+ ref: segmentFormInitialRef
245
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
246
+ className: "mb-2 mt-4",
247
+ style: "h4",
248
+ children: t("neetoFilters.common.filters")
249
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
250
+ className: "neeto-filters-pane-filter__body flex w-full flex-col gap-5",
251
+ children: [ungroupedColumns.filter(function (_ref3) {
252
+ var key = _ref3.key;
253
+ return neetoCist._existsBy({
254
+ key: key
255
+ }, values.filters[0].conditions);
256
+ }).map(function (column) {
257
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
258
+ className: "flex w-full gap-4",
259
+ children: [/*#__PURE__*/jsxRuntime.jsx(index.Item, {
260
+ column: column,
261
+ filters: filters,
262
+ autoFocus: column.key === isOpen,
263
+ onChange: function onChange(filters) {
264
+ setFieldValue("filters", [{
265
+ conditions: filters
266
+ }]);
267
+ handleChange(filters);
268
+ }
269
+ }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
270
+ className: "mt-6 self-center",
271
+ icon: Delete__default["default"],
272
+ style: "text",
273
+ onClick: function onClick() {
274
+ return handleClearFilter(column, values, setFieldValue);
275
+ }
276
+ })]
277
+ }, column.key);
278
+ }), neetoCist.isPresent(groupedColumns) && /*#__PURE__*/jsxRuntime.jsx(Accordion__default["default"], {
279
+ children: groupedColumns.map(function (_ref4) {
280
+ var group = _ref4.group,
281
+ columns = _ref4.columns;
282
+ return /*#__PURE__*/jsxRuntime.jsx(Accordion__default["default"].Item, {
283
+ className: "accordion_item",
284
+ title: group,
285
+ children: columns.map(function (column) {
286
+ return /*#__PURE__*/React.createElement(index.Item, {
287
+ column: column,
288
+ filters: filters,
289
+ autoFocus: column.key === isOpen,
290
+ key: column.key,
291
+ onChange: handleChange
292
+ });
293
+ })
294
+ }, group);
295
+ })
296
+ }), ramda.isEmpty([].concat(utils._toConsumableArray(groupedColumns), utils._toConsumableArray(ungroupedColumns))) && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
297
+ style: "body2",
298
+ children: t("neetoFilters.messages.noResourcesFound", {
299
+ resources: t("neetoFilters.common.columns")
300
+ })
301
+ }), customFilters, /*#__PURE__*/jsxRuntime.jsx(AddFilter, {
302
+ filters: filters,
303
+ handleChange: handleChange,
304
+ columns: ungroupedColumns.filter(function (_ref5) {
305
+ var key = _ref5.key;
306
+ return !neetoCist.existsBy({
307
+ key: key
308
+ }, filters);
309
+ }),
310
+ handleClearFilter: function handleClearFilter(_ref6) {
311
+ var key = _ref6.key;
312
+ return handleChange(neetoCist.removeBy({
313
+ key: key
314
+ }, filters));
315
+ }
316
+ })]
317
+ })]
318
+ }), /*#__PURE__*/jsxRuntime.jsx(NeetoUIPane__default["default"].Footer, {
319
+ children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
320
+ isSubmitting: isSubmitting,
321
+ cancelButtonProps: {
322
+ onClick: onClose
323
+ },
324
+ submitButtonProps: {
325
+ disabled: isSubmitting || ramda.isEmpty(filters)
326
+ }
327
+ })
328
+ })]
329
+ });
330
+ }
331
+ })]
332
+ });
333
+ };
334
+
335
+ exports.SegmentForm = SegmentForm;
336
+ //# sourceMappingURL=index-03114015.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-03114015.js","sources":["../app/javascript/src/common/SegmentForm/constants.js","../app/javascript/src/common/SegmentForm/AddFilter.jsx","../app/javascript/src/common/utils.js","../app/javascript/src/common/SegmentForm/index.jsx"],"sourcesContent":["export const STEPS = { ADD: \"add\", COLUMN: \"column\", VALUE: \"value\" };\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React, { useState } from \"react\";\n\nimport { existsBy, findBy, isNotPresent } from \"neetocist\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button, Select } from \"neetoui\";\nimport { assoc, isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Item from \"components/Pane/Item\";\n\nimport { STEPS } from \"./constants\";\n\nconst AddFilter = ({\n columns,\n filters,\n handleChange,\n handleClearFilter,\n disabled = false,\n}) => {\n const { t } = useTranslation();\n const [selectedColumn, setSelectedColumn] = useState({\n step: STEPS.ADD,\n column: {},\n });\n\n // Disable the add button when\n // 1. No value is entered for previous filter\n // 2. There are no more columns\n const disableAddButton =\n (selectedColumn.step !== STEPS.ADD &&\n isNotPresent(\n findBy({ key: selectedColumn.column.key }, filters)?.value\n )) ||\n isEmpty(columns);\n\n return (\n <>\n {selectedColumn.step !== STEPS.ADD ? (\n <>\n <div className=\"flex w-full gap-4\">\n {selectedColumn.step === STEPS.COLUMN && (\n <Select\n isSearchable\n label={t(\"neetoFilters.segments.newFilter\")}\n optionRemapping={{ label: \"label\", value: \"key\" }}\n options={columns}\n placeholder={t(\"neetoFilters.segments.selectFilter\")}\n onChange={column =>\n setSelectedColumn({ step: STEPS.VALUE, column })\n }\n />\n )}\n {selectedColumn.step === STEPS.VALUE && (\n <Item\n {...{ filters }}\n autoFocus\n column={selectedColumn.column}\n onChange={handleChange}\n />\n )}\n <Button\n className=\"mt-6 self-center\"\n icon={Delete}\n style=\"text\"\n onClick={() => {\n handleClearFilter(selectedColumn.column);\n setSelectedColumn(assoc(\"step\", STEPS.ADD));\n }}\n />\n </div>\n <AddFilter\n {...{ filters, handleChange, handleClearFilter }}\n columns={columns.filter(({ key }) => !existsBy({ key }, filters))}\n disabled={disableAddButton}\n />\n </>\n ) : (\n <Button\n {...{ disabled }}\n className=\"self-start\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoFilters.segments.addFilter\")}\n style=\"link\"\n onClick={() => setSelectedColumn(assoc(\"step\", STEPS.COLUMN))}\n />\n )}\n </>\n );\n};\n\nexport default AddFilter;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const buildSegmentsValidationSchema = defaultSegmentName =>\n yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoFilters.segments.nameIsRequired\"))\n .test({\n name: \"not-default-segment-name\",\n test: value =>\n value?.toLocaleLowerCase() !== defaultSegmentName.toLocaleLowerCase(),\n message: t(\"neetoFilters.segments.reservedNameErrorMessage\"),\n }),\n });\n","import React from \"react\";\n\nimport { _existsBy, existsBy, isPresent, removeBy } from \"neetocist\";\nimport { Delete } from \"neetoicons\";\nimport { Accordion, Button, Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\n\nimport Item from \"components/Pane/Item\";\nimport { buildFilteredColumns, buildUrlFromFilters } from \"components/utils\";\n\nimport AddFilter from \"./AddFilter\";\n\nimport { buildSegmentsValidationSchema } from \"../utils\";\n\nconst SegmentForm = ({\n isEdit = false,\n segmentFormInitialRef,\n isOpen,\n onClose,\n isSubmitting,\n handleSubmit,\n defaultSegmentName,\n initialValues,\n customFilters,\n columns,\n filters,\n childrenKeys,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n\n const { groupedColumns = [], ungroupedColumns = [] } = buildFilteredColumns({\n searchTerm: \"\",\n columns,\n });\n\n const handleChange = (newFilters, isClearAll = false) => {\n const params = buildUrlFromFilters({\n columns,\n filters: newFilters,\n ...(isClearAll && { isClearAll: true, childrenKeys }),\n });\n\n history.push({ search: params });\n };\n\n const handleClearFilter = (column, values, setFieldValue) => {\n const formState = [\n {\n conditions: removeBy({ key: column.key }, values.filters[0].conditions),\n },\n ];\n const globalState = removeBy({ key: column.key }, filters);\n setFieldValue(\"filters\", formState);\n handleChange(globalState);\n };\n\n return (\n <Pane {...{ isOpen, onClose }} initialFocusRef={segmentFormInitialRef}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoFilters.segments.editSegment\")\n : t(\"neetoFilters.segments.addNewSegment\")}\n </Typography>\n </Pane.Header>\n <Form\n className=\"w-full\"\n formProps={{ noValidate: true }}\n formikProps={{\n initialValues,\n validateOnChange: true,\n validateOnBlur: true,\n validationSchema: buildSegmentsValidationSchema(defaultSegmentName),\n onSubmit: handleSubmit,\n }}\n >\n {({ errors, values, setFieldValue }) => (\n <>\n <Pane.Body>\n <Input\n className=\"w-full flex-grow-0\"\n error={errors.name}\n label={t(\"neetoFilters.segments.name\")}\n name=\"name\"\n placeholder={t(\"neetoFilters.segments.segmentName\")}\n ref={segmentFormInitialRef}\n />\n <Typography className=\"mb-2 mt-4\" style=\"h4\">\n {t(\"neetoFilters.common.filters\")}\n </Typography>\n <div className=\"neeto-filters-pane-filter__body flex w-full flex-col gap-5\">\n {ungroupedColumns\n .filter(({ key }) =>\n _existsBy({ key }, values.filters[0].conditions)\n )\n .map(column => (\n <div className=\"flex w-full gap-4\" key={column.key}>\n <Item\n {...{ column, filters }}\n autoFocus={column.key === isOpen}\n onChange={filters => {\n setFieldValue(\"filters\", [{ conditions: filters }]);\n handleChange(filters);\n }}\n />\n <Button\n className=\"mt-6 self-center\"\n icon={Delete}\n style=\"text\"\n onClick={() =>\n handleClearFilter(column, values, setFieldValue)\n }\n />\n </div>\n ))}\n {isPresent(groupedColumns) && (\n <Accordion>\n {groupedColumns.map(({ group, columns }) => (\n <Accordion.Item\n className=\"accordion_item\"\n key={group}\n title={group}\n >\n {columns.map(column => (\n <Item\n {...{ column, filters }}\n autoFocus={column.key === isOpen}\n key={column.key}\n onChange={handleChange}\n />\n ))}\n </Accordion.Item>\n ))}\n </Accordion>\n )}\n {isEmpty([...groupedColumns, ...ungroupedColumns]) && (\n <Typography style=\"body2\">\n {t(\"neetoFilters.messages.noResourcesFound\", {\n resources: t(\"neetoFilters.common.columns\"),\n })}\n </Typography>\n )}\n {customFilters}\n <AddFilter\n {...{ filters, handleChange }}\n columns={ungroupedColumns.filter(\n ({ key }) => !existsBy({ key }, filters)\n )}\n handleClearFilter={({ key }) =>\n handleChange(removeBy({ key }, filters))\n }\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{\n disabled: isSubmitting || isEmpty(filters),\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default SegmentForm;\n"],"names":["STEPS","ADD","COLUMN","VALUE","AddFilter","_ref","_findBy","columns","filters","handleChange","handleClearFilter","_ref$disabled","disabled","_useTranslation","useTranslation","t","_useState","useState","step","column","_useState2","_slicedToArray","selectedColumn","setSelectedColumn","disableAddButton","isNotPresent","findBy","key","value","isEmpty","_jsx","_Fragment","children","_jsxs","className","Select","isSearchable","label","optionRemapping","options","placeholder","onChange","Item","autoFocus","Button","icon","Delete","style","onClick","assoc","filter","_ref2","existsBy","Plus","iconPosition","buildSegmentsValidationSchema","defaultSegmentName","yup","object","name","string","trim","required","test","toLocaleLowerCase","message","SegmentForm","_ref$isEdit","isEdit","segmentFormInitialRef","isOpen","onClose","isSubmitting","handleSubmit","initialValues","customFilters","childrenKeys","history","useHistory","_buildFilteredColumns","buildFilteredColumns","searchTerm","_buildFilteredColumns2","groupedColumns","_buildFilteredColumns3","ungroupedColumns","newFilters","isClearAll","arguments","length","undefined","params","buildUrlFromFilters","_objectSpread","push","search","values","setFieldValue","formState","conditions","removeBy","globalState","Pane","initialFocusRef","Header","Typography","weight","Form","formProps","noValidate","formikProps","validateOnChange","validateOnBlur","validationSchema","onSubmit","errors","Body","Input","error","ref","_ref3","_existsBy","map","isPresent","Accordion","_ref4","group","title","_createElement","concat","_toConsumableArray","resources","_ref5","_ref6","Footer","ActionBlock","cancelButtonProps","submitButtonProps"],"mappings":"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"}