@bigbinary/neeto-filters-frontend 4.0.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Bar.js +667 -0
- package/dist/Bar.js.map +1 -0
- package/dist/Filters.js +368 -0
- package/dist/Filters.js.map +1 -0
- package/dist/Segments.js +529 -0
- package/dist/Segments.js.map +1 -0
- package/dist/cjs/Bar.js +681 -0
- package/dist/cjs/Bar.js.map +1 -0
- package/dist/cjs/Filters.js +379 -0
- package/dist/cjs/Filters.js.map +1 -0
- package/dist/cjs/Segments.js +543 -0
- package/dist/cjs/Segments.js.map +1 -0
- package/dist/cjs/hooks.js +17 -0
- package/dist/cjs/hooks.js.map +1 -0
- package/dist/cjs/index.js +72 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/utils.js +24 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/constants-8f6e851e.js +125 -0
- package/dist/constants-8f6e851e.js.map +1 -0
- package/dist/constants-fb0f688a.js +135 -0
- package/dist/constants-fb0f688a.js.map +1 -0
- package/dist/hooks.js +7 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index-03114015.js +336 -0
- package/dist/index-03114015.js.map +1 -0
- package/dist/index-2d1d9838.js +971 -0
- package/dist/index-2d1d9838.js.map +1 -0
- package/dist/index-31aaf3e4.js +302 -0
- package/dist/index-31aaf3e4.js.map +1 -0
- package/dist/index-95fe069e.js +958 -0
- package/dist/index-95fe069e.js.map +1 -0
- package/dist/index.js +53 -3703
- package/dist/index.js.map +1 -1
- package/dist/useSegmentsApi-003055eb.js +96 -0
- package/dist/useSegmentsApi-003055eb.js.map +1 -0
- package/dist/useSegmentsApi-c514647d.js +86 -0
- package/dist/useSegmentsApi-c514647d.js.map +1 -0
- package/dist/utils-61b4223d.js +861 -0
- package/dist/utils-61b4223d.js.map +1 -0
- package/dist/utils-9ea34335.js +809 -0
- package/dist/utils-9ea34335.js.map +1 -0
- package/dist/utils.js +12 -0
- package/dist/utils.js.map +1 -0
- package/package.json +24 -12
- package/dist/index.cjs.js +0 -3773
- 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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"}
|