@bigbinary/neeto-tags-frontend 2.2.17 → 2.2.19
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/ManageTags-IiSPrjYH.js +196 -0
- package/dist/ManageTags-IiSPrjYH.js.map +1 -0
- package/dist/ManageTags-WZiLyYNb.js +173 -0
- package/dist/ManageTags-WZiLyYNb.js.map +1 -0
- package/dist/ManageTags.js +24 -0
- package/dist/ManageTags.js.map +1 -0
- package/dist/NeetoTags.js +15 -167
- package/dist/NeetoTags.js.map +1 -1
- package/dist/cjs/ManageTags.js +30 -0
- package/dist/cjs/ManageTags.js.map +1 -0
- package/dist/cjs/NeetoTags.js +16 -187
- package/dist/cjs/NeetoTags.js.map +1 -1
- package/dist/cjs/index.js +10 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +9 -8
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
+
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
7
|
+
var Pane = require('@bigbinary/neetoui/Pane');
|
|
8
|
+
var Typography = require('@bigbinary/neetoui/Typography');
|
|
9
|
+
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
10
|
+
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
11
|
+
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
12
|
+
var Select = require('@bigbinary/neetoui/formik/Select');
|
|
13
|
+
var Textarea = require('@bigbinary/neetoui/formik/Textarea');
|
|
14
|
+
var reactI18next = require('react-i18next');
|
|
15
|
+
var useTagsApi = require('./useTagsApi-CbashvsV.js');
|
|
16
|
+
var ramda = require('ramda');
|
|
17
|
+
var i18next = require('i18next');
|
|
18
|
+
var yup = require('yup');
|
|
19
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
20
|
+
|
|
21
|
+
function _interopNamespaceDefault(e) {
|
|
22
|
+
var n = Object.create(null);
|
|
23
|
+
if (e) {
|
|
24
|
+
Object.keys(e).forEach(function (k) {
|
|
25
|
+
if (k !== 'default') {
|
|
26
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
27
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return e[k]; }
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
n.default = e;
|
|
35
|
+
return Object.freeze(n);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
39
|
+
|
|
40
|
+
var TAG_NAME_MAX_LENGTH = 50;
|
|
41
|
+
var TAG_DESCRIPTION_ROW_LENGTH = 3;
|
|
42
|
+
var TAG_DESCRIPTION_MAX_LENGTH = 255;
|
|
43
|
+
var TAG_SCHEMA = yup__namespace.object().shape({
|
|
44
|
+
name: yup__namespace.string().typeError(i18next.t("neetoTags.validation.nameMustBeString")).required(i18next.t("neetoTags.validation.nameRequired")).max(TAG_NAME_MAX_LENGTH, i18next.t("neetoTags.validation.nameMaxLength", {
|
|
45
|
+
length: TAG_NAME_MAX_LENGTH
|
|
46
|
+
})),
|
|
47
|
+
description: yup__namespace.string().typeError(i18next.t("neetoTags.validation.descriptionMustBeString")).nullable().max(TAG_DESCRIPTION_MAX_LENGTH, i18next.t("neetoTags.validation.descriptionMaxLength", {
|
|
48
|
+
length: TAG_DESCRIPTION_MAX_LENGTH
|
|
49
|
+
}))
|
|
50
|
+
});
|
|
51
|
+
var TAGS_FORMIK_PROPS = {
|
|
52
|
+
validateOnBlur: true,
|
|
53
|
+
validateOnChange: true,
|
|
54
|
+
validationSchema: TAG_SCHEMA
|
|
55
|
+
};
|
|
56
|
+
var DEFAULT_FILTERS = {
|
|
57
|
+
page: constants.DEFAULT_PAGE_INDEX,
|
|
58
|
+
pageSize: constants.DEFAULT_PAGE_SIZE,
|
|
59
|
+
sortBy: "",
|
|
60
|
+
orderBy: ""
|
|
61
|
+
};
|
|
62
|
+
var NEETO_FILTERS = [{
|
|
63
|
+
key: "name",
|
|
64
|
+
label: i18next.t("neetoTags.common.name"),
|
|
65
|
+
node: "name",
|
|
66
|
+
type: "text"
|
|
67
|
+
}];
|
|
68
|
+
|
|
69
|
+
var useTagsForm = function useTagsForm(_ref) {
|
|
70
|
+
var createTags = _ref.createTags,
|
|
71
|
+
goToFirstPage = _ref.goToFirstPage,
|
|
72
|
+
isEdit = _ref.isEdit,
|
|
73
|
+
onClose = _ref.onClose,
|
|
74
|
+
tagType = _ref.tagType,
|
|
75
|
+
updateTags = _ref.updateTags;
|
|
76
|
+
var tagModification = isEdit ? useTagsApi.useUpdateTag : useTagsApi.useCreateTag;
|
|
77
|
+
var tagOperation = isEdit ? updateTags : createTags;
|
|
78
|
+
var _tagModification = tagModification(),
|
|
79
|
+
mutate = _tagModification.mutate,
|
|
80
|
+
isSubmitting = _tagModification.isPending;
|
|
81
|
+
var handleSubmit = function handleSubmit(values, _ref2) {
|
|
82
|
+
var _values$description;
|
|
83
|
+
var resetForm = _ref2.resetForm;
|
|
84
|
+
var tagData = {
|
|
85
|
+
url: tagType.url,
|
|
86
|
+
payload: {
|
|
87
|
+
tag: ramda.mergeLeft({
|
|
88
|
+
description: (_values$description = values.description) === null || _values$description === void 0 ? void 0 : _values$description.trim(),
|
|
89
|
+
style: values.style.value
|
|
90
|
+
}, values)
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
if (isEdit) {
|
|
94
|
+
tagData.id = values.id;
|
|
95
|
+
}
|
|
96
|
+
mutate(tagData, {
|
|
97
|
+
onSuccess: function onSuccess(response) {
|
|
98
|
+
var _tagOperation$onSucce;
|
|
99
|
+
!isEdit && (goToFirstPage === null || goToFirstPage === void 0 ? void 0 : goToFirstPage());
|
|
100
|
+
tagOperation === null || tagOperation === void 0 || (_tagOperation$onSucce = tagOperation.onSuccess) === null || _tagOperation$onSucce === void 0 || _tagOperation$onSucce.callback(response);
|
|
101
|
+
onClose();
|
|
102
|
+
},
|
|
103
|
+
onError: function onError() {
|
|
104
|
+
resetForm();
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
return {
|
|
109
|
+
handleSubmit: handleSubmit,
|
|
110
|
+
isSubmitting: isSubmitting
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
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; }
|
|
115
|
+
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; }
|
|
116
|
+
var ManageTags = function ManageTags(_ref) {
|
|
117
|
+
var createTags = _ref.createTags,
|
|
118
|
+
goToFirstPage = _ref.goToFirstPage,
|
|
119
|
+
onClose = _ref.onClose,
|
|
120
|
+
tag = _ref.tag,
|
|
121
|
+
tagType = _ref.tagType,
|
|
122
|
+
type = _ref.type,
|
|
123
|
+
updateTags = _ref.updateTags;
|
|
124
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
125
|
+
t = _useTranslation.t;
|
|
126
|
+
var isEdit = type === useTagsApi.PANE_TYPES.EDIT;
|
|
127
|
+
var initialValues = isEdit ? tag : useTagsApi.INITIAL_TAG_VALUES;
|
|
128
|
+
var inputReference = react.useRef(null);
|
|
129
|
+
var _useTagsForm = useTagsForm({
|
|
130
|
+
createTags: createTags,
|
|
131
|
+
goToFirstPage: goToFirstPage,
|
|
132
|
+
isEdit: isEdit,
|
|
133
|
+
onClose: onClose,
|
|
134
|
+
tagType: tagType,
|
|
135
|
+
updateTags: updateTags
|
|
136
|
+
}),
|
|
137
|
+
handleSubmit = _useTagsForm.handleSubmit,
|
|
138
|
+
isSubmitting = _useTagsForm.isSubmitting;
|
|
139
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Pane, {
|
|
140
|
+
onClose: onClose,
|
|
141
|
+
initialFocusRef: inputReference,
|
|
142
|
+
isOpen: !!type,
|
|
143
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
|
|
144
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
145
|
+
style: "h2",
|
|
146
|
+
weight: "semibold",
|
|
147
|
+
children: isEdit ? t("neetoTags.common.editTag") : t("neetoTags.common.addNewTag", constants.SINGULAR)
|
|
148
|
+
})
|
|
149
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(Form, {
|
|
150
|
+
formikProps: _objectSpread(_objectSpread({}, TAGS_FORMIK_PROPS), {}, {
|
|
151
|
+
initialValues: initialValues,
|
|
152
|
+
onSubmit: handleSubmit
|
|
153
|
+
}),
|
|
154
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
155
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
156
|
+
className: "neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4",
|
|
157
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Input, {
|
|
158
|
+
required: true,
|
|
159
|
+
unlimitedChars: true,
|
|
160
|
+
"data-testid": "tag-name-text-field",
|
|
161
|
+
label: t("neetoTags.common.name"),
|
|
162
|
+
maxLength: TAG_NAME_MAX_LENGTH,
|
|
163
|
+
name: "name",
|
|
164
|
+
ref: inputReference
|
|
165
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Textarea, {
|
|
166
|
+
unlimitedChars: true,
|
|
167
|
+
"data-testid": "tag-description-text-area",
|
|
168
|
+
label: t("neetoTags.common.description"),
|
|
169
|
+
maxLength: TAG_DESCRIPTION_MAX_LENGTH,
|
|
170
|
+
name: "description",
|
|
171
|
+
rows: TAG_DESCRIPTION_ROW_LENGTH
|
|
172
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Select, {
|
|
173
|
+
name: "style",
|
|
174
|
+
options: Object.values(useTagsApi.TAG_STYLES).map(neetoCist.toLabelAndValue)
|
|
175
|
+
})]
|
|
176
|
+
})
|
|
177
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Pane.Footer, {
|
|
178
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
|
|
179
|
+
isSubmitting: isSubmitting,
|
|
180
|
+
cancelButtonProps: {
|
|
181
|
+
"data-testid": "neeto-tags-manage-tag-cancel-button",
|
|
182
|
+
onClick: onClose
|
|
183
|
+
},
|
|
184
|
+
submitButtonProps: {
|
|
185
|
+
"data-testid": "neeto-tags-manage-tag-submit-button"
|
|
186
|
+
}
|
|
187
|
+
})
|
|
188
|
+
})]
|
|
189
|
+
})]
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
exports.DEFAULT_FILTERS = DEFAULT_FILTERS;
|
|
194
|
+
exports.ManageTags = ManageTags;
|
|
195
|
+
exports.NEETO_FILTERS = NEETO_FILTERS;
|
|
196
|
+
//# sourceMappingURL=ManageTags-IiSPrjYH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManageTags-IiSPrjYH.js","sources":["../app/javascript/src/components/Dashboard/constants.js","../app/javascript/src/hooks/useTagsForm.js","../app/javascript/src/components/Dashboard/ManageTags.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: response => {\n !isEdit && goToFirstPage?.();\n tagOperation?.onSuccess?.callback(response);\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANE_TYPES, INITIAL_TAG_VALUES, TAG_STYLES } from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-testid=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-testid=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n <Select\n name=\"style\"\n options={Object.values(TAG_STYLES).map(toLabelAndValue)}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n"],"names":["TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","description","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","label","node","type","useTagsForm","_ref","createTags","goToFirstPage","isEdit","onClose","tagType","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","values","_ref2","_values$description","resetForm","tagData","url","payload","tag","mergeLeft","trim","style","value","id","onSuccess","response","_tagOperation$onSucce","callback","onError","ManageTags","_useTranslation","useTranslation","PANE_TYPES","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","_jsxs","Pane","initialFocusRef","isOpen","children","_jsx","Header","Typography","weight","SINGULAR","Form","formikProps","_objectSpread","onSubmit","Body","className","Input","unlimitedChars","maxLength","ref","Textarea","rows","Select","options","Object","TAG_STYLES","map","toLabelAndValue","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { useRef } from 'react';
|
|
3
|
+
import { toLabelAndValue } from '@bigbinary/neeto-cist';
|
|
4
|
+
import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
|
|
5
|
+
import Pane from '@bigbinary/neetoui/Pane';
|
|
6
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
7
|
+
import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
8
|
+
import Form from '@bigbinary/neetoui/formik/Form';
|
|
9
|
+
import Input from '@bigbinary/neetoui/formik/Input';
|
|
10
|
+
import Select from '@bigbinary/neetoui/formik/Select';
|
|
11
|
+
import Textarea from '@bigbinary/neetoui/formik/Textarea';
|
|
12
|
+
import { useTranslation } from 'react-i18next';
|
|
13
|
+
import { u as useUpdateTag, a as useCreateTag, T as TAG_STYLES, P as PANE_TYPES, I as INITIAL_TAG_VALUES } from './useTagsApi-CmFEGxns.js';
|
|
14
|
+
import { mergeLeft } from 'ramda';
|
|
15
|
+
import { t } from 'i18next';
|
|
16
|
+
import * as yup from 'yup';
|
|
17
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
18
|
+
|
|
19
|
+
var TAG_NAME_MAX_LENGTH = 50;
|
|
20
|
+
var TAG_DESCRIPTION_ROW_LENGTH = 3;
|
|
21
|
+
var TAG_DESCRIPTION_MAX_LENGTH = 255;
|
|
22
|
+
var TAG_SCHEMA = yup.object().shape({
|
|
23
|
+
name: yup.string().typeError(t("neetoTags.validation.nameMustBeString")).required(t("neetoTags.validation.nameRequired")).max(TAG_NAME_MAX_LENGTH, t("neetoTags.validation.nameMaxLength", {
|
|
24
|
+
length: TAG_NAME_MAX_LENGTH
|
|
25
|
+
})),
|
|
26
|
+
description: yup.string().typeError(t("neetoTags.validation.descriptionMustBeString")).nullable().max(TAG_DESCRIPTION_MAX_LENGTH, t("neetoTags.validation.descriptionMaxLength", {
|
|
27
|
+
length: TAG_DESCRIPTION_MAX_LENGTH
|
|
28
|
+
}))
|
|
29
|
+
});
|
|
30
|
+
var TAGS_FORMIK_PROPS = {
|
|
31
|
+
validateOnBlur: true,
|
|
32
|
+
validateOnChange: true,
|
|
33
|
+
validationSchema: TAG_SCHEMA
|
|
34
|
+
};
|
|
35
|
+
var DEFAULT_FILTERS = {
|
|
36
|
+
page: DEFAULT_PAGE_INDEX,
|
|
37
|
+
pageSize: DEFAULT_PAGE_SIZE,
|
|
38
|
+
sortBy: "",
|
|
39
|
+
orderBy: ""
|
|
40
|
+
};
|
|
41
|
+
var NEETO_FILTERS = [{
|
|
42
|
+
key: "name",
|
|
43
|
+
label: t("neetoTags.common.name"),
|
|
44
|
+
node: "name",
|
|
45
|
+
type: "text"
|
|
46
|
+
}];
|
|
47
|
+
|
|
48
|
+
var useTagsForm = function useTagsForm(_ref) {
|
|
49
|
+
var createTags = _ref.createTags,
|
|
50
|
+
goToFirstPage = _ref.goToFirstPage,
|
|
51
|
+
isEdit = _ref.isEdit,
|
|
52
|
+
onClose = _ref.onClose,
|
|
53
|
+
tagType = _ref.tagType,
|
|
54
|
+
updateTags = _ref.updateTags;
|
|
55
|
+
var tagModification = isEdit ? useUpdateTag : useCreateTag;
|
|
56
|
+
var tagOperation = isEdit ? updateTags : createTags;
|
|
57
|
+
var _tagModification = tagModification(),
|
|
58
|
+
mutate = _tagModification.mutate,
|
|
59
|
+
isSubmitting = _tagModification.isPending;
|
|
60
|
+
var handleSubmit = function handleSubmit(values, _ref2) {
|
|
61
|
+
var _values$description;
|
|
62
|
+
var resetForm = _ref2.resetForm;
|
|
63
|
+
var tagData = {
|
|
64
|
+
url: tagType.url,
|
|
65
|
+
payload: {
|
|
66
|
+
tag: mergeLeft({
|
|
67
|
+
description: (_values$description = values.description) === null || _values$description === void 0 ? void 0 : _values$description.trim(),
|
|
68
|
+
style: values.style.value
|
|
69
|
+
}, values)
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
if (isEdit) {
|
|
73
|
+
tagData.id = values.id;
|
|
74
|
+
}
|
|
75
|
+
mutate(tagData, {
|
|
76
|
+
onSuccess: function onSuccess(response) {
|
|
77
|
+
var _tagOperation$onSucce;
|
|
78
|
+
!isEdit && (goToFirstPage === null || goToFirstPage === void 0 ? void 0 : goToFirstPage());
|
|
79
|
+
tagOperation === null || tagOperation === void 0 || (_tagOperation$onSucce = tagOperation.onSuccess) === null || _tagOperation$onSucce === void 0 || _tagOperation$onSucce.callback(response);
|
|
80
|
+
onClose();
|
|
81
|
+
},
|
|
82
|
+
onError: function onError() {
|
|
83
|
+
resetForm();
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
return {
|
|
88
|
+
handleSubmit: handleSubmit,
|
|
89
|
+
isSubmitting: isSubmitting
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
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; }
|
|
94
|
+
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; }
|
|
95
|
+
var ManageTags = function ManageTags(_ref) {
|
|
96
|
+
var createTags = _ref.createTags,
|
|
97
|
+
goToFirstPage = _ref.goToFirstPage,
|
|
98
|
+
onClose = _ref.onClose,
|
|
99
|
+
tag = _ref.tag,
|
|
100
|
+
tagType = _ref.tagType,
|
|
101
|
+
type = _ref.type,
|
|
102
|
+
updateTags = _ref.updateTags;
|
|
103
|
+
var _useTranslation = useTranslation(),
|
|
104
|
+
t = _useTranslation.t;
|
|
105
|
+
var isEdit = type === PANE_TYPES.EDIT;
|
|
106
|
+
var initialValues = isEdit ? tag : INITIAL_TAG_VALUES;
|
|
107
|
+
var inputReference = useRef(null);
|
|
108
|
+
var _useTagsForm = useTagsForm({
|
|
109
|
+
createTags: createTags,
|
|
110
|
+
goToFirstPage: goToFirstPage,
|
|
111
|
+
isEdit: isEdit,
|
|
112
|
+
onClose: onClose,
|
|
113
|
+
tagType: tagType,
|
|
114
|
+
updateTags: updateTags
|
|
115
|
+
}),
|
|
116
|
+
handleSubmit = _useTagsForm.handleSubmit,
|
|
117
|
+
isSubmitting = _useTagsForm.isSubmitting;
|
|
118
|
+
return /*#__PURE__*/jsxs(Pane, {
|
|
119
|
+
onClose: onClose,
|
|
120
|
+
initialFocusRef: inputReference,
|
|
121
|
+
isOpen: !!type,
|
|
122
|
+
children: [/*#__PURE__*/jsx(Pane.Header, {
|
|
123
|
+
children: /*#__PURE__*/jsx(Typography, {
|
|
124
|
+
style: "h2",
|
|
125
|
+
weight: "semibold",
|
|
126
|
+
children: isEdit ? t("neetoTags.common.editTag") : t("neetoTags.common.addNewTag", SINGULAR)
|
|
127
|
+
})
|
|
128
|
+
}), /*#__PURE__*/jsxs(Form, {
|
|
129
|
+
formikProps: _objectSpread(_objectSpread({}, TAGS_FORMIK_PROPS), {}, {
|
|
130
|
+
initialValues: initialValues,
|
|
131
|
+
onSubmit: handleSubmit
|
|
132
|
+
}),
|
|
133
|
+
children: [/*#__PURE__*/jsx(Pane.Body, {
|
|
134
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
135
|
+
className: "neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4",
|
|
136
|
+
children: [/*#__PURE__*/jsx(Input, {
|
|
137
|
+
required: true,
|
|
138
|
+
unlimitedChars: true,
|
|
139
|
+
"data-testid": "tag-name-text-field",
|
|
140
|
+
label: t("neetoTags.common.name"),
|
|
141
|
+
maxLength: TAG_NAME_MAX_LENGTH,
|
|
142
|
+
name: "name",
|
|
143
|
+
ref: inputReference
|
|
144
|
+
}), /*#__PURE__*/jsx(Textarea, {
|
|
145
|
+
unlimitedChars: true,
|
|
146
|
+
"data-testid": "tag-description-text-area",
|
|
147
|
+
label: t("neetoTags.common.description"),
|
|
148
|
+
maxLength: TAG_DESCRIPTION_MAX_LENGTH,
|
|
149
|
+
name: "description",
|
|
150
|
+
rows: TAG_DESCRIPTION_ROW_LENGTH
|
|
151
|
+
}), /*#__PURE__*/jsx(Select, {
|
|
152
|
+
name: "style",
|
|
153
|
+
options: Object.values(TAG_STYLES).map(toLabelAndValue)
|
|
154
|
+
})]
|
|
155
|
+
})
|
|
156
|
+
}), /*#__PURE__*/jsx(Pane.Footer, {
|
|
157
|
+
children: /*#__PURE__*/jsx(ActionBlock, {
|
|
158
|
+
isSubmitting: isSubmitting,
|
|
159
|
+
cancelButtonProps: {
|
|
160
|
+
"data-testid": "neeto-tags-manage-tag-cancel-button",
|
|
161
|
+
onClick: onClose
|
|
162
|
+
},
|
|
163
|
+
submitButtonProps: {
|
|
164
|
+
"data-testid": "neeto-tags-manage-tag-submit-button"
|
|
165
|
+
}
|
|
166
|
+
})
|
|
167
|
+
})]
|
|
168
|
+
})]
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export { DEFAULT_FILTERS as D, ManageTags as M, NEETO_FILTERS as N };
|
|
173
|
+
//# sourceMappingURL=ManageTags-WZiLyYNb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManageTags-WZiLyYNb.js","sources":["../app/javascript/src/components/Dashboard/constants.js","../app/javascript/src/hooks/useTagsForm.js","../app/javascript/src/components/Dashboard/ManageTags.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: response => {\n !isEdit && goToFirstPage?.();\n tagOperation?.onSuccess?.callback(response);\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANE_TYPES, INITIAL_TAG_VALUES, TAG_STYLES } from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-testid=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-testid=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n <Select\n name=\"style\"\n options={Object.values(TAG_STYLES).map(toLabelAndValue)}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n"],"names":["TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","description","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","label","node","type","useTagsForm","_ref","createTags","goToFirstPage","isEdit","onClose","tagType","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","values","_ref2","_values$description","resetForm","tagData","url","payload","tag","mergeLeft","trim","style","value","id","onSuccess","response","_tagOperation$onSucce","callback","onError","ManageTags","_useTranslation","useTranslation","PANE_TYPES","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","_jsxs","Pane","initialFocusRef","isOpen","children","_jsx","Header","Typography","weight","SINGULAR","Form","formikProps","_objectSpread","onSubmit","Body","className","Input","unlimitedChars","maxLength","ref","Textarea","rows","Select","options","Object","TAG_STYLES","map","toLabelAndValue","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import 'react';
|
|
3
|
+
import '@bigbinary/neeto-cist';
|
|
4
|
+
import '@bigbinary/neeto-commons-frontend/constants';
|
|
5
|
+
import '@bigbinary/neetoui/Pane';
|
|
6
|
+
import '@bigbinary/neetoui/Typography';
|
|
7
|
+
import '@bigbinary/neetoui/formik/ActionBlock';
|
|
8
|
+
import '@bigbinary/neetoui/formik/Form';
|
|
9
|
+
import '@bigbinary/neetoui/formik/Input';
|
|
10
|
+
import '@bigbinary/neetoui/formik/Select';
|
|
11
|
+
import '@bigbinary/neetoui/formik/Textarea';
|
|
12
|
+
import 'react-i18next';
|
|
13
|
+
import './useTagsApi-CmFEGxns.js';
|
|
14
|
+
export { M as default } from './ManageTags-WZiLyYNb.js';
|
|
15
|
+
import 'react/jsx-runtime';
|
|
16
|
+
import '@tanstack/react-query';
|
|
17
|
+
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
18
|
+
import '@bigbinary/neetoui/Toastr';
|
|
19
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
20
|
+
import 'axios';
|
|
21
|
+
import 'ramda';
|
|
22
|
+
import 'i18next';
|
|
23
|
+
import 'yup';
|
|
24
|
+
//# sourceMappingURL=ManageTags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManageTags.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
|