{"version":3,"file":"index-DDRErXF1.cjs","sources":["../src/app/pages/AddEditTagPage/index.jsx"],"sourcesContent":["/**\n * Add or edit tags\n */\nimport { ErrorMessage, Field, Form, Formik } from 'formik';\n\nimport NamespaceHeader from '../../components/NamespaceHeader';\nimport React, { useContext } from 'react';\nimport DJClientContext from '../../providers/djclient';\nimport 'styles/node-creation.scss';\nimport { displayMessageAfterSubmit } from '../../../utils/form';\n\nexport function AddEditTagPage() {\n  const djClient = useContext(DJClientContext).DataJunctionAPI;\n  const initialValues = {\n    name: '',\n  };\n\n  const validator = values => {\n    const errors = {};\n    if (!values.name) {\n      errors.name = 'Required';\n    }\n    return errors;\n  };\n\n  const handleSubmit = async (values, { setSubmitting, setStatus }) => {\n    const { status, json } = await djClient.addTag(\n      values.name,\n      values.display_name,\n      values.tag_type,\n      values.description,\n    );\n    if (status === 200 || status === 201) {\n      setStatus({\n        success: (\n          <>\n            Successfully added tag{' '}\n            <a href={`/tags/${json.name}`}>{json.display_name}</a>.\n          </>\n        ),\n      });\n    } else {\n      setStatus({\n        failure: `${json.message}`,\n      });\n    }\n    setSubmitting(false);\n    window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });\n  };\n\n  return (\n    <div className=\"mid\">\n      <NamespaceHeader namespace=\"\" />\n      <div className=\"card\">\n        <div className=\"card-header\">\n          <h2>\n            Add{' '}\n            <span className={`node_type__source node_type_creation_heading`}>\n              Tag\n            </span>\n          </h2>\n          <center>\n            <Formik\n              initialValues={initialValues}\n              validate={validator}\n              onSubmit={handleSubmit}\n            >\n              {function Render({ isSubmitting, status }) {\n                return (\n                  <Form>\n                    {displayMessageAfterSubmit(status)}\n                    {\n                      <>\n                        <div className=\"NodeCreationInput\">\n                          <ErrorMessage name=\"name\" component=\"span\" />\n                          <label htmlFor=\"name\">Name</label>\n                          <Field\n                            type=\"text\"\n                            name=\"name\"\n                            id=\"name\"\n                            placeholder=\"Tag Name\"\n                          />\n                        </div>\n                        <br />\n                        <div className=\"FullNameInput NodeCreationInput\">\n                          <ErrorMessage name=\"display_name\" component=\"span\" />\n                          <label htmlFor=\"display_name\">Display Name</label>\n                          <Field\n                            type=\"text\"\n                            name=\"display_name\"\n                            id=\"display_name\"\n                            placeholder=\"Display Name\"\n                            className=\"FullNameField\"\n                          />\n                        </div>\n                        <br />\n                        <div className=\"NodeCreationInput\">\n                          <ErrorMessage name=\"tag_type\" component=\"span\" />\n                          <label htmlFor=\"tag_type\">Tag Type</label>\n                          <Field\n                            type=\"text\"\n                            name=\"tag_type\"\n                            id=\"tag_type\"\n                            placeholder=\"Tag Type\"\n                          />\n                        </div>\n                        <div className=\"DescriptionInput NodeCreationInput\">\n                          <ErrorMessage name=\"description\" component=\"span\" />\n                          <label htmlFor=\"description\">Description</label>\n                          <Field\n                            type=\"textarea\"\n                            as=\"textarea\"\n                            name=\"description\"\n                            id=\"Description\"\n                            placeholder=\"Describe the tag\"\n                          />\n                        </div>\n                        <button type=\"submit\" disabled={isSubmitting}>\n                          Add Tag\n                        </button>\n                      </>\n                    }\n                  </Form>\n                );\n              }}\n            </Formik>\n          </center>\n        </div>\n      </div>\n    </div>\n  );\n}\n"],"names":["AddEditTagPage","djClient","useContext","DJClientContext","initialValues","validator","values","errors","handleSubmit","setSubmitting","setStatus","status","json","jsxs","Fragment","jsx","NamespaceHeader","Formik","isSubmitting","Form","displayMessageAfterSubmit","ErrorMessage","Field"],"mappings":"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"}