@omniumretail/component-library 1.0.45 → 1.0.47
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/bundle.js
CHANGED
|
@@ -10640,7 +10640,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
10640
10640
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10641
10641
|
|
|
10642
10642
|
"use strict";
|
|
10643
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CategoryResponse\": function() { return /* binding */ CategoryResponse; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.module.scss */ \"./src/components/CategoryResponse/styles.module.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/form/index.js\");\n/* harmony import */ var antd_es_form_Form__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/form/Form */ \"./node_modules/antd/es/form/hooks/useForm.js\");\n/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Button */ \"./src/components/Button/index.tsx\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/input/TextArea */ \"./node_modules/antd/es/input/TextArea.js\");\n/* harmony import */ var _Select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Select */ \"./src/components/Select/index.tsx\");\n/* harmony import */ var _evaluationOptions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./evaluationOptions */ \"./src/components/CategoryResponse/evaluationOptions.tsx\");\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n\n\n\n\n\n\n\n\n\n\n\n;\nvar updateCategoryAnswers = function (categoryAnswers, categoryToUpdate, updatedQuestions) {\n categoryAnswers.forEach(function (category) {\n if (category.data.category_id === categoryToUpdate.category_id) {\n category.data.questions = category.data.questions.map(function (question, index) {\n return __assign(__assign({}, question), { answer: updatedQuestions[index].answer });\n });\n }\n else if (category.children && category.children.length > 0) {\n updateCategoryAnswers(category.children, categoryToUpdate, updatedQuestions);\n }\n });\n return categoryAnswers;\n};\nvar findCategoryWithQuestions = function (currentKey, categories, direction) {\n var foundCurrent = false;\n var searchCategories = function (categoryList, direction) {\n var iterable = direction === 'next' ? categoryList : __spreadArray([], categoryList, true).reverse();\n for (var _i = 0, iterable_1 = iterable; _i < iterable_1.length; _i++) {\n var category = iterable_1[_i];\n if (foundCurrent) {\n if (category.data.questions.length > 0) {\n return category;\n }\n }\n else if (category.key === currentKey) {\n foundCurrent = true;\n }\n if (category.children) {\n var result = searchCategories(category.children, direction);\n if (result) {\n return result;\n }\n }\n }\n return null;\n };\n return searchCategories(categories, direction);\n};\nvar getCategoryObject = function (currentKey, categories, direction) {\n var category = findCategoryWithQuestions(currentKey, categories, direction);\n return category ? category.data : null;\n};\nvar hasCategory = function (currentKey, categories, direction) {\n var category = findCategoryWithQuestions(currentKey, categories, direction);\n return !!category;\n};\nvar getTitleWithQuestionCount = function (category) {\n var _a, _b, _c, _d;\n var questionCount = (_b = (_a = category === null || category === void 0 ? void 0 : category.data) === null || _a === void 0 ? void 0 : _a.questions) === null || _b === void 0 ? void 0 : _b.length;\n var answeredQuestions = (_d = (_c = category === null || category === void 0 ? void 0 : category.data) === null || _c === void 0 ? void 0 : _c.questions) === null || _d === void 0 ? void 0 : _d.filter(function (question) { return question.answer !== null && question.answer !== undefined && question.answer !== ''; }).length;\n return questionCount\n ? \"\".concat(category.title, \" - \").concat(answeredQuestions, \" / \").concat(questionCount)\n : category.title;\n};\nvar CategoryResponse = react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var _a;\n var _b, _c, _d, _e, _f;\n var data = props.data;\n var _g = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(data.categoryAnswers[0].key), currentKey = _g[0], setCurrentKey = _g[1];\n var _h = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(data), localData = _h[0], setLocalData = _h[1];\n // Setting first set of questions as default open\n var _j = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(data.categoryAnswers[0]), selectedCategory = _j[0], setSelectedCategory = _j[1];\n var _k = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(data.categoryAnswers[0].data), initialValues = _k[0], setInitialValues = _k[1];\n var form = (0,antd_es_form_Form__WEBPACK_IMPORTED_MODULE_7__[\"default\"])()[0];\n var updateInitialValues = function (data) {\n var questions = data.questions, openAnswer = data.openAnswer;\n var initial = {\n questions: questions.map(function (question) { return ({\n subject: question.subject,\n description: question.description,\n answer: question.answer || \"\"\n }); }),\n openAnswer: openAnswer\n };\n setInitialValues(initial);\n form.setFieldsValue(initial);\n };\n var handleLabelClick = function (category, index) {\n setSelectedCategory(category);\n updateInitialValues(category.data);\n setCurrentKey(index);\n };\n var onFinish = function (values) {\n var updatedQuestions = initialValues.questions.map(function (question, index) {\n return __assign(__assign({}, question), { answer: values.questions[index].answer });\n });\n var updatedCategory = updateCategoryAnswers(localData.categoryAnswers, selectedCategory.data, updatedQuestions);\n var updatedLocalData = __assign(__assign({}, localData), { categoryAnswers: updatedCategory });\n setLocalData(updatedLocalData);\n };\n var renderCategories = function (categories) {\n return categories.map(function (category, index) {\n var _a;\n var labelClasses = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_a = {},\n _a[_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cursorPointer] = category.data.questions.length > 0,\n _a), [_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].label]);\n var indexCheck = category.data.questions.length > 0 && category.key;\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: \"\".concat(_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].labelWrapper, \" \").concat(category.data.category_id === selectedCategory.data.category_id ? _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].active : \"\") }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: labelClasses, \"data-index\": indexCheck, onClick: function () { return category.data.questions.length > 0 && handleLabelClick(category, indexCheck); } }, { children: getTitleWithQuestionCount(category) })), category.children && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].subCategory }, { children: renderCategories(category.children) })))] }), index));\n });\n };\n var handleNextClick = function () {\n var nextCategory = findCategoryWithQuestions(currentKey, localData.categoryAnswers, 'next');\n if (nextCategory) {\n setCurrentKey(nextCategory.key);\n setSelectedCategory(nextCategory);\n }\n var nextCategoryData = getCategoryObject(currentKey, localData.categoryAnswers, 'next');\n setSelectedCategory(nextCategoryData ? __assign(__assign({}, nextCategory), { data: nextCategoryData }) : null);\n updateInitialValues(nextCategoryData);\n };\n var handlePreviousClick = function () {\n var prevCategory = findCategoryWithQuestions(currentKey, localData.categoryAnswers, 'prev');\n if (prevCategory) {\n setCurrentKey(prevCategory.key);\n setSelectedCategory(prevCategory);\n }\n var prevCategoryData = getCategoryObject(currentKey, localData.categoryAnswers, 'prev');\n setSelectedCategory(prevCategoryData ? __assign(__assign({}, prevCategory), { data: prevCategoryData }) : null);\n updateInitialValues(prevCategoryData);\n };\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () { return ({\n handleNextClick: handleNextClick,\n handlePreviousClick: handlePreviousClick,\n }); });\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n props.serverReadyData(localData);\n }, [localData]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n var hasNext = hasCategory(currentKey, localData.categoryAnswers, 'next');\n props.onNextCategoryAvailabilityChange(hasNext);\n var hasPrevious = hasCategory(currentKey, localData.categoryAnswers, 'prev');\n props.onPreviousCategoryAvailabilityChange(hasPrevious);\n }, [currentKey, localData.categoryAnswers, props]);\n var questionWrapper = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_a = {},\n _a[_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].questionWrapperOpenAnswer] = selectedCategory.data.openAnswer,\n _a), [_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].questionWrapper]);\n // This gets the scale we use for each select from the database using a key based variable,if \n // any new generalEvaluationLevel is added to the backend we need to update our own without \n // deleting any of the previous so we dont mess up the project history.\n var selectedEvaluationOption = \"scale_\".concat((_b = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.data) === null || _b === void 0 ? void 0 : _b.generalEvaluationLevel);\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].categoryResponse }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sidebarWrapper }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].title }, { children: \"Categorias\" })), renderCategories(localData.categoryAnswers)] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].contentWrapper }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_8__[\"default\"], __assign({ initialValues: initialValues, name: \"dynamic_form_nest_item\", onFinish: onFinish, autoComplete: \"off\", form: form }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].details }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].categoryName }, { children: (_c = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.data) === null || _c === void 0 ? void 0 : _c.categoryName })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].categoryDescription }, { children: (_d = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.data) === null || _d === void 0 ? void 0 : _d.description }))] })), (_e = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.data) === null || _e === void 0 ? void 0 : _e.questions.map(function (question, index) { return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: questionWrapper }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].question }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].subject }, { children: question.subject })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].description }, { children: question.description }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].answer }, { children: selectedCategory.data.openAnswer\n ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Item, __assign({ name: [\"questions\", index, \"answer\"] }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {}) }))\n : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_8__[\"default\"].Item, __assign({ name: [\"questions\", index, \"answer\"] }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Select__WEBPACK_IMPORTED_MODULE_5__.Select, { options: _evaluationOptions__WEBPACK_IMPORTED_MODULE_6__.evaluationOptions[selectedEvaluationOption], style: { minWidth: '100%' } }) })) }))] }), index)); }), ((_f = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.data) === null || _f === void 0 ? void 0 : _f.questions.length) > 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Button__WEBPACK_IMPORTED_MODULE_3__.Button, __assign({ onClick: function () { return form.submit(); } }, { children: \"Answer\" })))] })) }))] })));\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9DYXRlZ29yeVJlc3BvbnNlL2luZGV4LnRzeC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2xpYi8uL3NyYy9jb21wb25lbnRzL0NhdGVnb3J5UmVzcG9uc2UvaW5kZXgudHN4PzI2NDAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXNzaWduID0gKHRoaXMgJiYgdGhpcy5fX2Fzc2lnbikgfHwgZnVuY3Rpb24gKCkge1xuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbih0KSB7XG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSlcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdDtcbiAgICB9O1xuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcbnZhciBfX3NwcmVhZEFycmF5ID0gKHRoaXMgJiYgdGhpcy5fX3NwcmVhZEFycmF5KSB8fCBmdW5jdGlvbiAodG8sIGZyb20sIHBhY2spIHtcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vc3R5bGVzLm1vZHVsZS5zY3NzJztcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VGb3JtIH0gZnJvbSAnYW50ZC9lcy9mb3JtL0Zvcm0nO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFRleHRBcmVhIGZyb20gJ2FudGQvZXMvaW5wdXQvVGV4dEFyZWEnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vU2VsZWN0JztcbmltcG9ydCB7IGV2YWx1YXRpb25PcHRpb25zIH0gZnJvbSAnLi9ldmFsdWF0aW9uT3B0aW9ucyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuO1xudmFyIHVwZGF0ZUNhdGVnb3J5QW5zd2VycyA9IGZ1bmN0aW9uIChjYXRlZ29yeUFuc3dlcnMsIGNhdGVnb3J5VG9VcGRhdGUsIHVwZGF0ZWRRdWVzdGlvbnMpIHtcbiAgICBjYXRlZ29yeUFuc3dlcnMuZm9yRWFjaChmdW5jdGlvbiAoY2F0ZWdvcnkpIHtcbiAgICAgICAgaWYgKGNhdGVnb3J5LmRhdGEuY2F0ZWdvcnlfaWQgPT09IGNhdGVnb3J5VG9VcGRhdGUuY2F0ZWdvcnlfaWQpIHtcbiAgICAgICAgICAgIGNhdGVnb3J5LmRhdGEucXVlc3Rpb25zID0gY2F0ZWdvcnkuZGF0YS5xdWVzdGlvbnMubWFwKGZ1bmN0aW9uIChxdWVzdGlvbiwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hc3NpZ24oX19hc3NpZ24oe30sIHF1ZXN0aW9uKSwgeyBhbnN3ZXI6IHVwZGF0ZWRRdWVzdGlvbnNbaW5kZXhdLmFuc3dlciB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGNhdGVnb3J5LmNoaWxkcmVuICYmIGNhdGVnb3J5LmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHVwZGF0ZUNhdGVnb3J5QW5zd2VycyhjYXRlZ29yeS5jaGlsZHJlbiwgY2F0ZWdvcnlUb1VwZGF0ZSwgdXBkYXRlZFF1ZXN0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2F0ZWdvcnlBbnN3ZXJzO1xufTtcbnZhciBmaW5kQ2F0ZWdvcnlXaXRoUXVlc3Rpb25zID0gZnVuY3Rpb24gKGN1cnJlbnRLZXksIGNhdGVnb3JpZXMsIGRpcmVjdGlvbikge1xuICAgIHZhciBmb3VuZEN1cnJlbnQgPSBmYWxzZTtcbiAgICB2YXIgc2VhcmNoQ2F0ZWdvcmllcyA9IGZ1bmN0aW9uIChjYXRlZ29yeUxpc3QsIGRpcmVjdGlvbikge1xuICAgICAgICB2YXIgaXRlcmFibGUgPSBkaXJlY3Rpb24gPT09ICduZXh0JyA/IGNhdGVnb3J5TGlzdCA6IF9fc3ByZWFkQXJyYXkoW10sIGNhdGVnb3J5TGlzdCwgdHJ1ZSkucmV2ZXJzZSgpO1xuICAgICAgICBmb3IgKHZhciBfaSA9IDAsIGl0ZXJhYmxlXzEgPSBpdGVyYWJsZTsgX2kgPCBpdGVyYWJsZV8xLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgdmFyIGNhdGVnb3J5ID0gaXRlcmFibGVfMVtfaV07XG4gICAgICAgICAgICBpZiAoZm91bmRDdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgaWYgKGNhdGVnb3J5LmRhdGEucXVlc3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNhdGVnb3J5LmtleSA9PT0gY3VycmVudEtleSkge1xuICAgICAgICAgICAgICAgIGZvdW5kQ3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY2F0ZWdvcnkuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gc2VhcmNoQ2F0ZWdvcmllcyhjYXRlZ29yeS5jaGlsZHJlbiwgZGlyZWN0aW9uKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gICAgcmV0dXJuIHNlYXJjaENhdGVnb3JpZXMoY2F0ZWdvcmllcywgZGlyZWN0aW9uKTtcbn07XG52YXIgZ2V0Q2F0ZWdvcnlPYmplY3QgPSBmdW5jdGlvbiAoY3VycmVudEtleSwgY2F0ZWdvcmllcywgZGlyZWN0aW9uKSB7XG4gICAgdmFyIGNhdGVnb3J5ID0gZmluZENhdGVnb3J5V2l0aFF1ZXN0aW9ucyhjdXJyZW50S2V5LCBjYXRlZ29yaWVzLCBkaXJlY3Rpb24pO1xuICAgIHJldHVybiBjYXRlZ29yeSA/IGNhdGVnb3J5LmRhdGEgOiBudWxsO1xufTtcbnZhciBoYXNDYXRlZ29yeSA9IGZ1bmN0aW9uIChjdXJyZW50S2V5LCBjYXRlZ29yaWVzLCBkaXJlY3Rpb24pIHtcbiAgICB2YXIgY2F0ZWdvcnkgPSBmaW5kQ2F0ZWdvcnlXaXRoUXVlc3Rpb25zKGN1cnJlbnRLZXksIGNhdGVnb3JpZXMsIGRpcmVjdGlvbik7XG4gICAgcmV0dXJuICEhY2F0ZWdvcnk7XG59O1xudmFyIGdldFRpdGxlV2l0aFF1ZXN0aW9uQ291bnQgPSBmdW5jdGlvbiAoY2F0ZWdvcnkpIHtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgdmFyIHF1ZXN0aW9uQ291bnQgPSAoX2IgPSAoX2EgPSBjYXRlZ29yeSA9PT0gbnVsbCB8fCBjYXRlZ29yeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2F0ZWdvcnkuZGF0YSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnF1ZXN0aW9ucykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmxlbmd0aDtcbiAgICB2YXIgYW5zd2VyZWRRdWVzdGlvbnMgPSAoX2QgPSAoX2MgPSBjYXRlZ29yeSA9PT0gbnVsbCB8fCBjYXRlZ29yeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2F0ZWdvcnkuZGF0YSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLnF1ZXN0aW9ucykgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLmZpbHRlcihmdW5jdGlvbiAocXVlc3Rpb24pIHsgcmV0dXJuIHF1ZXN0aW9uLmFuc3dlciAhPT0gbnVsbCAmJiBxdWVzdGlvbi5hbnN3ZXIgIT09IHVuZGVmaW5lZCAmJiBxdWVzdGlvbi5hbnN3ZXIgIT09ICcnOyB9KS5sZW5ndGg7XG4gICAgcmV0dXJuIHF1ZXN0aW9uQ291bnRcbiAgICAgICAgPyBcIlwiLmNvbmNhdChjYXRlZ29yeS50aXRsZSwgXCIgLSBcIikuY29uY2F0KGFuc3dlcmVkUXVlc3Rpb25zLCBcIiAvIFwiKS5jb25jYXQocXVlc3Rpb25Db3VudClcbiAgICAgICAgOiBjYXRlZ29yeS50aXRsZTtcbn07XG5leHBvcnQgdmFyIENhdGVnb3J5UmVzcG9uc2UgPSBSZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIChwcm9wcywgcmVmKSB7XG4gICAgdmFyIF9hO1xuICAgIHZhciBfYiwgX2MsIF9kLCBfZSwgX2Y7XG4gICAgdmFyIGRhdGEgPSBwcm9wcy5kYXRhO1xuICAgIHZhciBfZyA9IHVzZVN0YXRlKGRhdGEuY2F0ZWdvcnlBbnN3ZXJzWzBdLmtleSksIGN1cnJlbnRLZXkgPSBfZ1swXSwgc2V0Q3VycmVudEtleSA9IF9nWzFdO1xuICAgIHZhciBfaCA9IHVzZVN0YXRlKGRhdGEpLCBsb2NhbERhdGEgPSBfaFswXSwgc2V0TG9jYWxEYXRhID0gX2hbMV07XG4gICAgLy8gU2V0dGluZyBmaXJzdCBzZXQgb2YgcXVlc3Rpb25zIGFzIGRlZmF1bHQgb3BlblxuICAgIHZhciBfaiA9IHVzZVN0YXRlKGRhdGEuY2F0ZWdvcnlBbnN3ZXJzWzBdKSwgc2VsZWN0ZWRDYXRlZ29yeSA9IF9qWzBdLCBzZXRTZWxlY3RlZENhdGVnb3J5ID0gX2pbMV07XG4gICAgdmFyIF9rID0gdXNlU3RhdGUoZGF0YS5jYXRlZ29yeUFuc3dlcnNbMF0uZGF0YSksIGluaXRpYWxWYWx1ZXMgPSBfa1swXSwgc2V0SW5pdGlhbFZhbHVlcyA9IF9rWzFdO1xuICAgIHZhciBmb3JtID0gdXNlRm9ybSgpWzBdO1xuICAgIHZhciB1cGRhdGVJbml0aWFsVmFsdWVzID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgdmFyIHF1ZXN0aW9ucyA9IGRhdGEucXVlc3Rpb25zLCBvcGVuQW5zd2VyID0gZGF0YS5vcGVuQW5zd2VyO1xuICAgICAgICB2YXIgaW5pdGlhbCA9IHtcbiAgICAgICAgICAgIHF1ZXN0aW9uczogcXVlc3Rpb25zLm1hcChmdW5jdGlvbiAocXVlc3Rpb24pIHsgcmV0dXJuICh7XG4gICAgICAgICAgICAgICAgc3ViamVjdDogcXVlc3Rpb24uc3ViamVjdCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcXVlc3Rpb24uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgYW5zd2VyOiBxdWVzdGlvbi5hbnN3ZXIgfHwgXCJcIlxuICAgICAgICAgICAgfSk7IH0pLFxuICAgICAgICAgICAgb3BlbkFuc3dlcjogb3BlbkFuc3dlclxuICAgICAgICB9O1xuICAgICAgICBzZXRJbml0aWFsVmFsdWVzKGluaXRpYWwpO1xuICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKGluaXRpYWwpO1xuICAgIH07XG4gICAgdmFyIGhhbmRsZUxhYmVsQ2xpY2sgPSBmdW5jdGlvbiAoY2F0ZWdvcnksIGluZGV4KSB7XG4gICAgICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnkoY2F0ZWdvcnkpO1xuICAgICAgICB1cGRhdGVJbml0aWFsVmFsdWVzKGNhdGVnb3J5LmRhdGEpO1xuICAgICAgICBzZXRDdXJyZW50S2V5KGluZGV4KTtcbiAgICB9O1xuICAgIHZhciBvbkZpbmlzaCA9IGZ1bmN0aW9uICh2YWx1ZXMpIHtcbiAgICAgICAgdmFyIHVwZGF0ZWRRdWVzdGlvbnMgPSBpbml0aWFsVmFsdWVzLnF1ZXN0aW9ucy5tYXAoZnVuY3Rpb24gKHF1ZXN0aW9uLCBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBxdWVzdGlvbiksIHsgYW5zd2VyOiB2YWx1ZXMucXVlc3Rpb25zW2luZGV4XS5hbnN3ZXIgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgdXBkYXRlZENhdGVnb3J5ID0gdXBkYXRlQ2F0ZWdvcnlBbnN3ZXJzKGxvY2FsRGF0YS5jYXRlZ29yeUFuc3dlcnMsIHNlbGVjdGVkQ2F0ZWdvcnkuZGF0YSwgdXBkYXRlZFF1ZXN0aW9ucyk7XG4gICAgICAgIHZhciB1cGRhdGVkTG9jYWxEYXRhID0gX19hc3NpZ24oX19hc3NpZ24oe30sIGxvY2FsRGF0YSksIHsgY2F0ZWdvcnlBbnN3ZXJzOiB1cGRhdGVkQ2F0ZWdvcnkgfSk7XG4gICAgICAgIHNldExvY2FsRGF0YSh1cGRhdGVkTG9jYWxEYXRhKTtcbiAgICB9O1xuICAgIHZhciByZW5kZXJDYXRlZ29yaWVzID0gZnVuY3Rpb24gKGNhdGVnb3JpZXMpIHtcbiAgICAgICAgcmV0dXJuIGNhdGVnb3JpZXMubWFwKGZ1bmN0aW9uIChjYXRlZ29yeSwgaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHZhciBsYWJlbENsYXNzZXMgPSBjbGFzc05hbWVzKChfYSA9IHt9LFxuICAgICAgICAgICAgICAgIF9hW3N0eWxlcy5jdXJzb3JQb2ludGVyXSA9IGNhdGVnb3J5LmRhdGEucXVlc3Rpb25zLmxlbmd0aCA+IDAsXG4gICAgICAgICAgICAgICAgX2EpLCBbc3R5bGVzLmxhYmVsXSk7XG4gICAgICAgICAgICB2YXIgaW5kZXhDaGVjayA9IGNhdGVnb3J5LmRhdGEucXVlc3Rpb25zLmxlbmd0aCA+IDAgJiYgY2F0ZWdvcnkua2V5O1xuICAgICAgICAgICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogXCJcIi5jb25jYXQoc3R5bGVzLmxhYmVsV3JhcHBlciwgXCIgXCIpLmNvbmNhdChjYXRlZ29yeS5kYXRhLmNhdGVnb3J5X2lkID09PSBzZWxlY3RlZENhdGVnb3J5LmRhdGEuY2F0ZWdvcnlfaWQgPyBzdHlsZXMuYWN0aXZlIDogXCJcIikgfSwgeyBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IGxhYmVsQ2xhc3NlcywgXCJkYXRhLWluZGV4XCI6IGluZGV4Q2hlY2ssIG9uQ2xpY2s6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNhdGVnb3J5LmRhdGEucXVlc3Rpb25zLmxlbmd0aCA+IDAgJiYgaGFuZGxlTGFiZWxDbGljayhjYXRlZ29yeSwgaW5kZXhDaGVjayk7IH0gfSwgeyBjaGlsZHJlbjogZ2V0VGl0bGVXaXRoUXVlc3Rpb25Db3VudChjYXRlZ29yeSkgfSkpLCBjYXRlZ29yeS5jaGlsZHJlbiAmJiAoX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLnN1YkNhdGVnb3J5IH0sIHsgY2hpbGRyZW46IHJlbmRlckNhdGVnb3JpZXMoY2F0ZWdvcnkuY2hpbGRyZW4pIH0pKSldIH0pLCBpbmRleCkpO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIHZhciBoYW5kbGVOZXh0Q2xpY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBuZXh0Q2F0ZWdvcnkgPSBmaW5kQ2F0ZWdvcnlXaXRoUXVlc3Rpb25zKGN1cnJlbnRLZXksIGxvY2FsRGF0YS5jYXRlZ29yeUFuc3dlcnMsICduZXh0Jyk7XG4gICAgICAgIGlmIChuZXh0Q2F0ZWdvcnkpIHtcbiAgICAgICAgICAgIHNldEN1cnJlbnRLZXkobmV4dENhdGVnb3J5LmtleSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZENhdGVnb3J5KG5leHRDYXRlZ29yeSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG5leHRDYXRlZ29yeURhdGEgPSBnZXRDYXRlZ29yeU9iamVjdChjdXJyZW50S2V5LCBsb2NhbERhdGEuY2F0ZWdvcnlBbnN3ZXJzLCAnbmV4dCcpO1xuICAgICAgICBzZXRTZWxlY3RlZENhdGVnb3J5KG5leHRDYXRlZ29yeURhdGEgPyBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgbmV4dENhdGVnb3J5KSwgeyBkYXRhOiBuZXh0Q2F0ZWdvcnlEYXRhIH0pIDogbnVsbCk7XG4gICAgICAgIHVwZGF0ZUluaXRpYWxWYWx1ZXMobmV4dENhdGVnb3J5RGF0YSk7XG4gICAgfTtcbiAgICB2YXIgaGFuZGxlUHJldmlvdXNDbGljayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHByZXZDYXRlZ29yeSA9IGZpbmRDYXRlZ29yeVdpdGhRdWVzdGlvbnMoY3VycmVudEtleSwgbG9jYWxEYXRhLmNhdGVnb3J5QW5zd2VycywgJ3ByZXYnKTtcbiAgICAgICAgaWYgKHByZXZDYXRlZ29yeSkge1xuICAgICAgICAgICAgc2V0Q3VycmVudEtleShwcmV2Q2F0ZWdvcnkua2V5KTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnkocHJldkNhdGVnb3J5KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJldkNhdGVnb3J5RGF0YSA9IGdldENhdGVnb3J5T2JqZWN0KGN1cnJlbnRLZXksIGxvY2FsRGF0YS5jYXRlZ29yeUFuc3dlcnMsICdwcmV2Jyk7XG4gICAgICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnkocHJldkNhdGVnb3J5RGF0YSA/IF9fYXNzaWduKF9fYXNzaWduKHt9LCBwcmV2Q2F0ZWdvcnkpLCB7IGRhdGE6IHByZXZDYXRlZ29yeURhdGEgfSkgOiBudWxsKTtcbiAgICAgICAgdXBkYXRlSW5pdGlhbFZhbHVlcyhwcmV2Q2F0ZWdvcnlEYXRhKTtcbiAgICB9O1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCBmdW5jdGlvbiAoKSB7IHJldHVybiAoe1xuICAgICAgICBoYW5kbGVOZXh0Q2xpY2s6IGhhbmRsZU5leHRDbGljayxcbiAgICAgICAgaGFuZGxlUHJldmlvdXNDbGljazogaGFuZGxlUHJldmlvdXNDbGljayxcbiAgICB9KTsgfSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcHJvcHMuc2VydmVyUmVhZHlEYXRhKGxvY2FsRGF0YSk7XG4gICAgfSwgW2xvY2FsRGF0YV0pO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBoYXNOZXh0ID0gaGFzQ2F0ZWdvcnkoY3VycmVudEtleSwgbG9jYWxEYXRhLmNhdGVnb3J5QW5zd2VycywgJ25leHQnKTtcbiAgICAgICAgcHJvcHMub25OZXh0Q2F0ZWdvcnlBdmFpbGFiaWxpdHlDaGFuZ2UoaGFzTmV4dCk7XG4gICAgICAgIHZhciBoYXNQcmV2aW91cyA9IGhhc0NhdGVnb3J5KGN1cnJlbnRLZXksIGxvY2FsRGF0YS5jYXRlZ29yeUFuc3dlcnMsICdwcmV2Jyk7XG4gICAgICAgIHByb3BzLm9uUHJldmlvdXNDYXRlZ29yeUF2YWlsYWJpbGl0eUNoYW5nZShoYXNQcmV2aW91cyk7XG4gICAgfSwgW2N1cnJlbnRLZXksIGxvY2FsRGF0YS5jYXRlZ29yeUFuc3dlcnMsIHByb3BzXSk7XG4gICAgdmFyIHF1ZXN0aW9uV3JhcHBlciA9IGNsYXNzTmFtZXMoKF9hID0ge30sXG4gICAgICAgIF9hW3N0eWxlcy5xdWVzdGlvbldyYXBwZXJPcGVuQW5zd2VyXSA9IHNlbGVjdGVkQ2F0ZWdvcnkuZGF0YS5vcGVuQW5zd2VyLFxuICAgICAgICBfYSksIFtzdHlsZXMucXVlc3Rpb25XcmFwcGVyXSk7XG4gICAgLy8gVGhpcyBnZXRzIHRoZSBzY2FsZSB3ZSB1c2UgZm9yIGVhY2ggc2VsZWN0IGZyb20gdGhlIGRhdGFiYXNlIHVzaW5nIGEga2V5IGJhc2VkIHZhcmlhYmxlLGlmIFxuICAgIC8vIGFueSBuZXcgZ2VuZXJhbEV2YWx1YXRpb25MZXZlbCBpcyBhZGRlZCB0byB0aGUgYmFja2VuZCB3ZSBuZWVkIHRvIHVwZGF0ZSBvdXIgb3duIHdpdGhvdXQgXG4gICAgLy8gZGVsZXRpbmcgYW55IG9mIHRoZSBwcmV2aW91cyBzbyB3ZSBkb250IG1lc3MgdXAgdGhlIHByb2plY3QgaGlzdG9yeS5cbiAgICB2YXIgc2VsZWN0ZWRFdmFsdWF0aW9uT3B0aW9uID0gXCJzY2FsZV9cIi5jb25jYXQoKF9iID0gc2VsZWN0ZWRDYXRlZ29yeSA9PT0gbnVsbCB8fCBzZWxlY3RlZENhdGVnb3J5ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWxlY3RlZENhdGVnb3J5LmRhdGEpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5nZW5lcmFsRXZhbHVhdGlvbkxldmVsKTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuY2F0ZWdvcnlSZXNwb25zZSB9LCB7IGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5zaWRlYmFyV3JhcHBlciB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLnRpdGxlIH0sIHsgY2hpbGRyZW46IFwiQ2F0ZWdvcmlhc1wiIH0pKSwgcmVuZGVyQ2F0ZWdvcmllcyhsb2NhbERhdGEuY2F0ZWdvcnlBbnN3ZXJzKV0gfSkpLCBfanN4KFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuY29udGVudFdyYXBwZXIgfSwgeyBjaGlsZHJlbjogX2pzeHMoRm9ybSwgX19hc3NpZ24oeyBpbml0aWFsVmFsdWVzOiBpbml0aWFsVmFsdWVzLCBuYW1lOiBcImR5bmFtaWNfZm9ybV9uZXN0X2l0ZW1cIiwgb25GaW5pc2g6IG9uRmluaXNoLCBhdXRvQ29tcGxldGU6IFwib2ZmXCIsIGZvcm06IGZvcm0gfSwgeyBjaGlsZHJlbjogW19qc3hzKFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuZGV0YWlscyB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLmNhdGVnb3J5TmFtZSB9LCB7IGNoaWxkcmVuOiAoX2MgPSBzZWxlY3RlZENhdGVnb3J5ID09PSBudWxsIHx8IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlbGVjdGVkQ2F0ZWdvcnkuZGF0YSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLmNhdGVnb3J5TmFtZSB9KSksIF9qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5jYXRlZ29yeURlc2NyaXB0aW9uIH0sIHsgY2hpbGRyZW46IChfZCA9IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IG51bGwgfHwgc2VsZWN0ZWRDYXRlZ29yeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VsZWN0ZWRDYXRlZ29yeS5kYXRhKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QuZGVzY3JpcHRpb24gfSkpXSB9KSksIChfZSA9IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IG51bGwgfHwgc2VsZWN0ZWRDYXRlZ29yeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VsZWN0ZWRDYXRlZ29yeS5kYXRhKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UucXVlc3Rpb25zLm1hcChmdW5jdGlvbiAocXVlc3Rpb24sIGluZGV4KSB7IHJldHVybiAoX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHF1ZXN0aW9uV3JhcHBlciB9LCB7IGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5xdWVzdGlvbiB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLnN1YmplY3QgfSwgeyBjaGlsZHJlbjogcXVlc3Rpb24uc3ViamVjdCB9KSksIF9qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5kZXNjcmlwdGlvbiB9LCB7IGNoaWxkcmVuOiBxdWVzdGlvbi5kZXNjcmlwdGlvbiB9KSldIH0pKSwgX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLmFuc3dlciB9LCB7IGNoaWxkcmVuOiBzZWxlY3RlZENhdGVnb3J5LmRhdGEub3BlbkFuc3dlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2pzeChGb3JtLkl0ZW0sIF9fYXNzaWduKHsgbmFtZTogW1wicXVlc3Rpb25zXCIsIGluZGV4LCBcImFuc3dlclwiXSB9LCB7IGNoaWxkcmVuOiBfanN4KFRleHRBcmVhLCB7fSkgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfanN4KEZvcm0uSXRlbSwgX19hc3NpZ24oeyBuYW1lOiBbXCJxdWVzdGlvbnNcIiwgaW5kZXgsIFwiYW5zd2VyXCJdIH0sIHsgY2hpbGRyZW46IF9qc3goU2VsZWN0LCB7IG9wdGlvbnM6IGV2YWx1YXRpb25PcHRpb25zW3NlbGVjdGVkRXZhbHVhdGlvbk9wdGlvbl0sIHN0eWxlOiB7IG1pbldpZHRoOiAnMTAwJScgfSB9KSB9KSkgfSkpXSB9KSwgaW5kZXgpKTsgfSksICgoX2YgPSBzZWxlY3RlZENhdGVnb3J5ID09PSBudWxsIHx8IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlbGVjdGVkQ2F0ZWdvcnkuZGF0YSkgPT09IG51bGwgfHwgX2YgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9mLnF1ZXN0aW9ucy5sZW5ndGgpID4gMCAmJiAoX2pzeChCdXR0b24sIF9fYXNzaWduKHsgb25DbGljazogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9ybS5zdWJtaXQoKTsgfSB9LCB7IGNoaWxkcmVuOiBcIkFuc3dlclwiIH0pKSldIH0pKSB9KSldIH0pKSk7XG59KTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/CategoryResponse/index.tsx\n");
|
|
10643
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CategoryResponse\": function() { return /* binding */ CategoryResponse; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.module.scss */ \"./src/components/CategoryResponse/styles.module.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/form/index.js\");\n/* harmony import */ var antd_es_form_Form__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/form/Form */ \"./node_modules/antd/es/form/hooks/useForm.js\");\n/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Button */ \"./src/components/Button/index.tsx\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input/TextArea */ \"./node_modules/antd/es/input/TextArea.js\");\n/* harmony import */ var _Select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Select */ \"./src/components/Select/index.tsx\");\n/* harmony import */ var _evaluationOptions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./evaluationOptions */ \"./src/components/CategoryResponse/evaluationOptions.tsx\");\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! i18next */ \"i18next\");\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(i18next__WEBPACK_IMPORTED_MODULE_7__);\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n\n\n\n\n\n\n\n\n\n\n\n\n;\nvar updateCategoryAnswers = function (CategoryAnswers, categoryToUpdate, updatedQuestions) {\n CategoryAnswers.forEach(function (category) {\n if (category.Data.CategoryId === categoryToUpdate.CategoryId) {\n category.Data.Questions = category.Data.Questions.map(function (question, index) {\n return __assign(__assign({}, question), { Answer: updatedQuestions[index].Answer });\n });\n }\n else if (category.Children && category.Children.length > 0) {\n updateCategoryAnswers(category.Children, categoryToUpdate, updatedQuestions);\n }\n });\n return CategoryAnswers;\n};\nvar findCategoryWithQuestions = function (currentKey, categories, direction) {\n var foundCurrent = false;\n var searchCategories = function (categoryList, direction) {\n var iterable = direction === 'next' ? categoryList : __spreadArray([], categoryList, true).reverse();\n for (var _i = 0, iterable_1 = iterable; _i < iterable_1.length; _i++) {\n var category = iterable_1[_i];\n if (foundCurrent) {\n if (category.Data.Questions.length > 0) {\n return category;\n }\n }\n else if (category.Key === currentKey) {\n foundCurrent = true;\n }\n if (category.Children) {\n var result = searchCategories(category.Children, direction);\n if (result) {\n return result;\n }\n }\n }\n return null;\n };\n return searchCategories(categories, direction);\n};\nvar getCategoryObject = function (currentKey, categories, direction) {\n var category = findCategoryWithQuestions(currentKey, categories, direction);\n return category ? category.Data : null;\n};\nvar hasCategory = function (currentKey, categories, direction) {\n var category = findCategoryWithQuestions(currentKey, categories, direction);\n return !!category;\n};\nvar getTitleWithQuestionCount = function (category) {\n var _a, _b, _c, _d;\n var questionCount = (_b = (_a = category === null || category === void 0 ? void 0 : category.Data) === null || _a === void 0 ? void 0 : _a.Questions) === null || _b === void 0 ? void 0 : _b.length;\n var answeredQuestions = (_d = (_c = category === null || category === void 0 ? void 0 : category.Data) === null || _c === void 0 ? void 0 : _c.Questions) === null || _d === void 0 ? void 0 : _d.filter(function (question) { return question.Answer !== null && question.Answer !== undefined && question.Answer !== ''; }).length;\n return questionCount\n ? \"\".concat(category.Title, \" - \").concat(answeredQuestions, \" / \").concat(questionCount)\n : category.Title;\n};\nvar CategoryResponse = react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var _a;\n var _b, _c, _d, _e, _f;\n var data = props.data;\n var _g = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(data.CategoryAnswers[0].Key), currentKey = _g[0], setCurrentKey = _g[1];\n var _h = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(data), localData = _h[0], setLocalData = _h[1];\n // Setting first set of questions as default open\n var _j = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(data.CategoryAnswers[0]), selectedCategory = _j[0], setSelectedCategory = _j[1];\n var _k = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(data.CategoryAnswers[0].Data), initialValues = _k[0], setInitialValues = _k[1];\n var form = (0,antd_es_form_Form__WEBPACK_IMPORTED_MODULE_8__[\"default\"])()[0];\n var updateInitialValues = function (data) {\n var Questions = data.Questions, OpenAnswer = data.OpenAnswer;\n var initial = {\n Questions: Questions.map(function (question) { return ({\n Subject: question.Subject,\n Description: question.Description,\n Answer: question.Answer || \"\"\n }); }),\n OpenAnswer: OpenAnswer\n };\n setInitialValues(initial);\n form.setFieldsValue(initial);\n };\n var handleLabelClick = function (category, index) {\n setSelectedCategory(category);\n updateInitialValues(category.Data);\n setCurrentKey(index);\n };\n var onFinish = function (values) {\n var updatedQuestions = initialValues.Questions.map(function (question, index) {\n return __assign(__assign({}, question), { Answer: values.Questions[index].Answer });\n });\n var updatedCategory = updateCategoryAnswers(localData.CategoryAnswers, selectedCategory.Data, updatedQuestions);\n var updatedLocalData = __assign(__assign({}, localData), { CategoryAnswers: updatedCategory });\n setLocalData(updatedLocalData);\n };\n var renderCategories = function (categories) {\n return categories.map(function (category, index) {\n var _a;\n var labelClasses = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_a = {},\n _a[_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cursorPointer] = category.Data.Questions.length > 0,\n _a), [_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].label]);\n var indexCheck = category.Data.Questions.length > 0 && category.Key;\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: \"\".concat(_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].labelWrapper, \" \").concat(category.Data.CategoryId === selectedCategory.Data.CategoryId ? _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].active : \"\") }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: labelClasses, \"data-index\": indexCheck, onClick: function () { return category.Data.Questions.length > 0 && handleLabelClick(category, indexCheck); } }, { children: getTitleWithQuestionCount(category) })), category.Children && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].subCategory }, { children: renderCategories(category.Children) })))] }), index));\n });\n };\n var handleNextClick = function () {\n var nextCategory = findCategoryWithQuestions(currentKey, localData.CategoryAnswers, 'next');\n if (nextCategory) {\n setCurrentKey(nextCategory.Key);\n setSelectedCategory(nextCategory);\n }\n var nextCategoryData = getCategoryObject(currentKey, localData.CategoryAnswers, 'next');\n setSelectedCategory(nextCategoryData ? __assign(__assign({}, nextCategory), { data: nextCategoryData }) : null);\n updateInitialValues(nextCategoryData);\n };\n var handlePreviousClick = function () {\n var prevCategory = findCategoryWithQuestions(currentKey, localData.CategoryAnswers, 'prev');\n if (prevCategory) {\n setCurrentKey(prevCategory.Key);\n setSelectedCategory(prevCategory);\n }\n var prevCategoryData = getCategoryObject(currentKey, localData.CategoryAnswers, 'prev');\n setSelectedCategory(prevCategoryData ? __assign(__assign({}, prevCategory), { data: prevCategoryData }) : null);\n updateInitialValues(prevCategoryData);\n };\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () { return ({\n handleNextClick: handleNextClick,\n handlePreviousClick: handlePreviousClick,\n }); });\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n props.serverReadyData(localData);\n }, [localData]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n var hasNext = hasCategory(currentKey, localData.CategoryAnswers, 'next');\n props.onNextCategoryAvailabilityChange(hasNext);\n var hasPrevious = hasCategory(currentKey, localData.CategoryAnswers, 'prev');\n props.onPreviousCategoryAvailabilityChange(hasPrevious);\n }, [currentKey, localData.CategoryAnswers, props]);\n var questionWrapper = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_a = {},\n _a[_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].questionWrapperOpenAnswer] = selectedCategory.Data.OpenAnswer,\n _a), [_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].questionWrapper]);\n // This gets the scale we use for each select from the database using a key based variable,if \n // any new generalEvaluationLevel is added to the backend we need to update our own without \n // deleting any of the previous so we dont mess up the project history.\n var selectedEvaluationOption = \"scale_\".concat((_b = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.Data) === null || _b === void 0 ? void 0 : _b.GeneralEvaluationLevel);\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].categoryResponse }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].sidebarWrapper }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].title }, { children: \"Categorias\" })), renderCategories(localData.CategoryAnswers)] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].contentWrapper }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_9__[\"default\"], __assign({ initialValues: initialValues, name: \"dynamic_form_nest_item\", onFinish: onFinish, autoComplete: \"off\", form: form }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].details }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].categoryName }, { children: (_c = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.Data) === null || _c === void 0 ? void 0 : _c.CategoryName })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].categoryDescription }, { children: (_d = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.Data) === null || _d === void 0 ? void 0 : _d.Description }))] })), (_e = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.Data) === null || _e === void 0 ? void 0 : _e.Questions.map(function (question, index) { return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: questionWrapper }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].question }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].subject }, { children: question.Subject })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].description }, { children: question.Description }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].answer }, { children: selectedCategory.Data.OpenAnswer\n ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Item, __assign({ name: [\"Questions\", index, \"Answer\"] }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {}) }))\n : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Item, __assign({ name: [\"Questions\", index, \"Answer\"] }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Select__WEBPACK_IMPORTED_MODULE_5__.Select, { options: _evaluationOptions__WEBPACK_IMPORTED_MODULE_6__.evaluationOptions[selectedEvaluationOption], style: { minWidth: '100%' } }) })) }))] }), index)); }), ((_f = selectedCategory === null || selectedCategory === void 0 ? void 0 : selectedCategory.Data) === null || _f === void 0 ? void 0 : _f.Questions.length) > 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Button__WEBPACK_IMPORTED_MODULE_3__.Button, __assign({ onClick: function () { return form.submit(); } }, { children: (0,i18next__WEBPACK_IMPORTED_MODULE_7__.t)('components.categoryResponse.answer') })))] })) }))] })));\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9DYXRlZ29yeVJlc3BvbnNlL2luZGV4LnRzeC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9saWIvLi9zcmMvY29tcG9uZW50cy9DYXRlZ29yeVJlc3BvbnNlL2luZGV4LnRzeD8yNjQwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfX2Fzc2lnbiA9ICh0aGlzICYmIHRoaXMuX19hc3NpZ24pIHx8IGZ1bmN0aW9uICgpIHtcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkge1xuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpXG4gICAgICAgICAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgfTtcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG52YXIgX19zcHJlYWRBcnJheSA9ICh0aGlzICYmIHRoaXMuX19zcHJlYWRBcnJheSkgfHwgZnVuY3Rpb24gKHRvLCBmcm9tLCBwYWNrKSB7XG4gICAgaWYgKHBhY2sgfHwgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgaSA9IDAsIGwgPSBmcm9tLmxlbmd0aCwgYXI7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xuICAgICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcbiAgICAgICAgICAgIGFyW2ldID0gZnJvbVtpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdG8uY29uY2F0KGFyIHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20pKTtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuL3N0eWxlcy5tb2R1bGUuc2Nzcyc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgdXNlRm9ybSB9IGZyb20gJ2FudGQvZXMvZm9ybS9Gb3JtJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbic7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBUZXh0QXJlYSBmcm9tICdhbnRkL2VzL2lucHV0L1RleHRBcmVhJztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uL1NlbGVjdCc7XG5pbXBvcnQgeyBldmFsdWF0aW9uT3B0aW9ucyB9IGZyb20gJy4vZXZhbHVhdGlvbk9wdGlvbnMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHQgfSBmcm9tICdpMThuZXh0JztcbjtcbnZhciB1cGRhdGVDYXRlZ29yeUFuc3dlcnMgPSBmdW5jdGlvbiAoQ2F0ZWdvcnlBbnN3ZXJzLCBjYXRlZ29yeVRvVXBkYXRlLCB1cGRhdGVkUXVlc3Rpb25zKSB7XG4gICAgQ2F0ZWdvcnlBbnN3ZXJzLmZvckVhY2goZnVuY3Rpb24gKGNhdGVnb3J5KSB7XG4gICAgICAgIGlmIChjYXRlZ29yeS5EYXRhLkNhdGVnb3J5SWQgPT09IGNhdGVnb3J5VG9VcGRhdGUuQ2F0ZWdvcnlJZCkge1xuICAgICAgICAgICAgY2F0ZWdvcnkuRGF0YS5RdWVzdGlvbnMgPSBjYXRlZ29yeS5EYXRhLlF1ZXN0aW9ucy5tYXAoZnVuY3Rpb24gKHF1ZXN0aW9uLCBpbmRleCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcXVlc3Rpb24pLCB7IEFuc3dlcjogdXBkYXRlZFF1ZXN0aW9uc1tpbmRleF0uQW5zd2VyIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY2F0ZWdvcnkuQ2hpbGRyZW4gJiYgY2F0ZWdvcnkuQ2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdXBkYXRlQ2F0ZWdvcnlBbnN3ZXJzKGNhdGVnb3J5LkNoaWxkcmVuLCBjYXRlZ29yeVRvVXBkYXRlLCB1cGRhdGVkUXVlc3Rpb25zKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBDYXRlZ29yeUFuc3dlcnM7XG59O1xudmFyIGZpbmRDYXRlZ29yeVdpdGhRdWVzdGlvbnMgPSBmdW5jdGlvbiAoY3VycmVudEtleSwgY2F0ZWdvcmllcywgZGlyZWN0aW9uKSB7XG4gICAgdmFyIGZvdW5kQ3VycmVudCA9IGZhbHNlO1xuICAgIHZhciBzZWFyY2hDYXRlZ29yaWVzID0gZnVuY3Rpb24gKGNhdGVnb3J5TGlzdCwgZGlyZWN0aW9uKSB7XG4gICAgICAgIHZhciBpdGVyYWJsZSA9IGRpcmVjdGlvbiA9PT0gJ25leHQnID8gY2F0ZWdvcnlMaXN0IDogX19zcHJlYWRBcnJheShbXSwgY2F0ZWdvcnlMaXN0LCB0cnVlKS5yZXZlcnNlKCk7XG4gICAgICAgIGZvciAodmFyIF9pID0gMCwgaXRlcmFibGVfMSA9IGl0ZXJhYmxlOyBfaSA8IGl0ZXJhYmxlXzEubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICB2YXIgY2F0ZWdvcnkgPSBpdGVyYWJsZV8xW19pXTtcbiAgICAgICAgICAgIGlmIChmb3VuZEN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoY2F0ZWdvcnkuRGF0YS5RdWVzdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2F0ZWdvcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2F0ZWdvcnkuS2V5ID09PSBjdXJyZW50S2V5KSB7XG4gICAgICAgICAgICAgICAgZm91bmRDdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjYXRlZ29yeS5DaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBzZWFyY2hDYXRlZ29yaWVzKGNhdGVnb3J5LkNoaWxkcmVuLCBkaXJlY3Rpb24pO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgICByZXR1cm4gc2VhcmNoQ2F0ZWdvcmllcyhjYXRlZ29yaWVzLCBkaXJlY3Rpb24pO1xufTtcbnZhciBnZXRDYXRlZ29yeU9iamVjdCA9IGZ1bmN0aW9uIChjdXJyZW50S2V5LCBjYXRlZ29yaWVzLCBkaXJlY3Rpb24pIHtcbiAgICB2YXIgY2F0ZWdvcnkgPSBmaW5kQ2F0ZWdvcnlXaXRoUXVlc3Rpb25zKGN1cnJlbnRLZXksIGNhdGVnb3JpZXMsIGRpcmVjdGlvbik7XG4gICAgcmV0dXJuIGNhdGVnb3J5ID8gY2F0ZWdvcnkuRGF0YSA6IG51bGw7XG59O1xudmFyIGhhc0NhdGVnb3J5ID0gZnVuY3Rpb24gKGN1cnJlbnRLZXksIGNhdGVnb3JpZXMsIGRpcmVjdGlvbikge1xuICAgIHZhciBjYXRlZ29yeSA9IGZpbmRDYXRlZ29yeVdpdGhRdWVzdGlvbnMoY3VycmVudEtleSwgY2F0ZWdvcmllcywgZGlyZWN0aW9uKTtcbiAgICByZXR1cm4gISFjYXRlZ29yeTtcbn07XG52YXIgZ2V0VGl0bGVXaXRoUXVlc3Rpb25Db3VudCA9IGZ1bmN0aW9uIChjYXRlZ29yeSkge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICB2YXIgcXVlc3Rpb25Db3VudCA9IChfYiA9IChfYSA9IGNhdGVnb3J5ID09PSBudWxsIHx8IGNhdGVnb3J5ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjYXRlZ29yeS5EYXRhKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuUXVlc3Rpb25zKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubGVuZ3RoO1xuICAgIHZhciBhbnN3ZXJlZFF1ZXN0aW9ucyA9IChfZCA9IChfYyA9IGNhdGVnb3J5ID09PSBudWxsIHx8IGNhdGVnb3J5ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjYXRlZ29yeS5EYXRhKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuUXVlc3Rpb25zKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QuZmlsdGVyKGZ1bmN0aW9uIChxdWVzdGlvbikgeyByZXR1cm4gcXVlc3Rpb24uQW5zd2VyICE9PSBudWxsICYmIHF1ZXN0aW9uLkFuc3dlciAhPT0gdW5kZWZpbmVkICYmIHF1ZXN0aW9uLkFuc3dlciAhPT0gJyc7IH0pLmxlbmd0aDtcbiAgICByZXR1cm4gcXVlc3Rpb25Db3VudFxuICAgICAgICA/IFwiXCIuY29uY2F0KGNhdGVnb3J5LlRpdGxlLCBcIiAtIFwiKS5jb25jYXQoYW5zd2VyZWRRdWVzdGlvbnMsIFwiIC8gXCIpLmNvbmNhdChxdWVzdGlvbkNvdW50KVxuICAgICAgICA6IGNhdGVnb3J5LlRpdGxlO1xufTtcbmV4cG9ydCB2YXIgQ2F0ZWdvcnlSZXNwb25zZSA9IFJlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gKHByb3BzLCByZWYpIHtcbiAgICB2YXIgX2E7XG4gICAgdmFyIF9iLCBfYywgX2QsIF9lLCBfZjtcbiAgICB2YXIgZGF0YSA9IHByb3BzLmRhdGE7XG4gICAgdmFyIF9nID0gdXNlU3RhdGUoZGF0YS5DYXRlZ29yeUFuc3dlcnNbMF0uS2V5KSwgY3VycmVudEtleSA9IF9nWzBdLCBzZXRDdXJyZW50S2V5ID0gX2dbMV07XG4gICAgdmFyIF9oID0gdXNlU3RhdGUoZGF0YSksIGxvY2FsRGF0YSA9IF9oWzBdLCBzZXRMb2NhbERhdGEgPSBfaFsxXTtcbiAgICAvLyBTZXR0aW5nIGZpcnN0IHNldCBvZiBxdWVzdGlvbnMgYXMgZGVmYXVsdCBvcGVuXG4gICAgdmFyIF9qID0gdXNlU3RhdGUoZGF0YS5DYXRlZ29yeUFuc3dlcnNbMF0pLCBzZWxlY3RlZENhdGVnb3J5ID0gX2pbMF0sIHNldFNlbGVjdGVkQ2F0ZWdvcnkgPSBfalsxXTtcbiAgICB2YXIgX2sgPSB1c2VTdGF0ZShkYXRhLkNhdGVnb3J5QW5zd2Vyc1swXS5EYXRhKSwgaW5pdGlhbFZhbHVlcyA9IF9rWzBdLCBzZXRJbml0aWFsVmFsdWVzID0gX2tbMV07XG4gICAgdmFyIGZvcm0gPSB1c2VGb3JtKClbMF07XG4gICAgdmFyIHVwZGF0ZUluaXRpYWxWYWx1ZXMgPSBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICB2YXIgUXVlc3Rpb25zID0gZGF0YS5RdWVzdGlvbnMsIE9wZW5BbnN3ZXIgPSBkYXRhLk9wZW5BbnN3ZXI7XG4gICAgICAgIHZhciBpbml0aWFsID0ge1xuICAgICAgICAgICAgUXVlc3Rpb25zOiBRdWVzdGlvbnMubWFwKGZ1bmN0aW9uIChxdWVzdGlvbikgeyByZXR1cm4gKHtcbiAgICAgICAgICAgICAgICBTdWJqZWN0OiBxdWVzdGlvbi5TdWJqZWN0LFxuICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uOiBxdWVzdGlvbi5EZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICBBbnN3ZXI6IHF1ZXN0aW9uLkFuc3dlciB8fCBcIlwiXG4gICAgICAgICAgICB9KTsgfSksXG4gICAgICAgICAgICBPcGVuQW5zd2VyOiBPcGVuQW5zd2VyXG4gICAgICAgIH07XG4gICAgICAgIHNldEluaXRpYWxWYWx1ZXMoaW5pdGlhbCk7XG4gICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoaW5pdGlhbCk7XG4gICAgfTtcbiAgICB2YXIgaGFuZGxlTGFiZWxDbGljayA9IGZ1bmN0aW9uIChjYXRlZ29yeSwgaW5kZXgpIHtcbiAgICAgICAgc2V0U2VsZWN0ZWRDYXRlZ29yeShjYXRlZ29yeSk7XG4gICAgICAgIHVwZGF0ZUluaXRpYWxWYWx1ZXMoY2F0ZWdvcnkuRGF0YSk7XG4gICAgICAgIHNldEN1cnJlbnRLZXkoaW5kZXgpO1xuICAgIH07XG4gICAgdmFyIG9uRmluaXNoID0gZnVuY3Rpb24gKHZhbHVlcykge1xuICAgICAgICB2YXIgdXBkYXRlZFF1ZXN0aW9ucyA9IGluaXRpYWxWYWx1ZXMuUXVlc3Rpb25zLm1hcChmdW5jdGlvbiAocXVlc3Rpb24sIGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gX19hc3NpZ24oX19hc3NpZ24oe30sIHF1ZXN0aW9uKSwgeyBBbnN3ZXI6IHZhbHVlcy5RdWVzdGlvbnNbaW5kZXhdLkFuc3dlciB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciB1cGRhdGVkQ2F0ZWdvcnkgPSB1cGRhdGVDYXRlZ29yeUFuc3dlcnMobG9jYWxEYXRhLkNhdGVnb3J5QW5zd2Vycywgc2VsZWN0ZWRDYXRlZ29yeS5EYXRhLCB1cGRhdGVkUXVlc3Rpb25zKTtcbiAgICAgICAgdmFyIHVwZGF0ZWRMb2NhbERhdGEgPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgbG9jYWxEYXRhKSwgeyBDYXRlZ29yeUFuc3dlcnM6IHVwZGF0ZWRDYXRlZ29yeSB9KTtcbiAgICAgICAgc2V0TG9jYWxEYXRhKHVwZGF0ZWRMb2NhbERhdGEpO1xuICAgIH07XG4gICAgdmFyIHJlbmRlckNhdGVnb3JpZXMgPSBmdW5jdGlvbiAoY2F0ZWdvcmllcykge1xuICAgICAgICByZXR1cm4gY2F0ZWdvcmllcy5tYXAoZnVuY3Rpb24gKGNhdGVnb3J5LCBpbmRleCkge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgdmFyIGxhYmVsQ2xhc3NlcyA9IGNsYXNzTmFtZXMoKF9hID0ge30sXG4gICAgICAgICAgICAgICAgX2Fbc3R5bGVzLmN1cnNvclBvaW50ZXJdID0gY2F0ZWdvcnkuRGF0YS5RdWVzdGlvbnMubGVuZ3RoID4gMCxcbiAgICAgICAgICAgICAgICBfYSksIFtzdHlsZXMubGFiZWxdKTtcbiAgICAgICAgICAgIHZhciBpbmRleENoZWNrID0gY2F0ZWdvcnkuRGF0YS5RdWVzdGlvbnMubGVuZ3RoID4gMCAmJiBjYXRlZ29yeS5LZXk7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBcIlwiLmNvbmNhdChzdHlsZXMubGFiZWxXcmFwcGVyLCBcIiBcIikuY29uY2F0KGNhdGVnb3J5LkRhdGEuQ2F0ZWdvcnlJZCA9PT0gc2VsZWN0ZWRDYXRlZ29yeS5EYXRhLkNhdGVnb3J5SWQgPyBzdHlsZXMuYWN0aXZlIDogXCJcIikgfSwgeyBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IGxhYmVsQ2xhc3NlcywgXCJkYXRhLWluZGV4XCI6IGluZGV4Q2hlY2ssIG9uQ2xpY2s6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNhdGVnb3J5LkRhdGEuUXVlc3Rpb25zLmxlbmd0aCA+IDAgJiYgaGFuZGxlTGFiZWxDbGljayhjYXRlZ29yeSwgaW5kZXhDaGVjayk7IH0gfSwgeyBjaGlsZHJlbjogZ2V0VGl0bGVXaXRoUXVlc3Rpb25Db3VudChjYXRlZ29yeSkgfSkpLCBjYXRlZ29yeS5DaGlsZHJlbiAmJiAoX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLnN1YkNhdGVnb3J5IH0sIHsgY2hpbGRyZW46IHJlbmRlckNhdGVnb3JpZXMoY2F0ZWdvcnkuQ2hpbGRyZW4pIH0pKSldIH0pLCBpbmRleCkpO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIHZhciBoYW5kbGVOZXh0Q2xpY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBuZXh0Q2F0ZWdvcnkgPSBmaW5kQ2F0ZWdvcnlXaXRoUXVlc3Rpb25zKGN1cnJlbnRLZXksIGxvY2FsRGF0YS5DYXRlZ29yeUFuc3dlcnMsICduZXh0Jyk7XG4gICAgICAgIGlmIChuZXh0Q2F0ZWdvcnkpIHtcbiAgICAgICAgICAgIHNldEN1cnJlbnRLZXkobmV4dENhdGVnb3J5LktleSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZENhdGVnb3J5KG5leHRDYXRlZ29yeSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG5leHRDYXRlZ29yeURhdGEgPSBnZXRDYXRlZ29yeU9iamVjdChjdXJyZW50S2V5LCBsb2NhbERhdGEuQ2F0ZWdvcnlBbnN3ZXJzLCAnbmV4dCcpO1xuICAgICAgICBzZXRTZWxlY3RlZENhdGVnb3J5KG5leHRDYXRlZ29yeURhdGEgPyBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgbmV4dENhdGVnb3J5KSwgeyBkYXRhOiBuZXh0Q2F0ZWdvcnlEYXRhIH0pIDogbnVsbCk7XG4gICAgICAgIHVwZGF0ZUluaXRpYWxWYWx1ZXMobmV4dENhdGVnb3J5RGF0YSk7XG4gICAgfTtcbiAgICB2YXIgaGFuZGxlUHJldmlvdXNDbGljayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHByZXZDYXRlZ29yeSA9IGZpbmRDYXRlZ29yeVdpdGhRdWVzdGlvbnMoY3VycmVudEtleSwgbG9jYWxEYXRhLkNhdGVnb3J5QW5zd2VycywgJ3ByZXYnKTtcbiAgICAgICAgaWYgKHByZXZDYXRlZ29yeSkge1xuICAgICAgICAgICAgc2V0Q3VycmVudEtleShwcmV2Q2F0ZWdvcnkuS2V5KTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnkocHJldkNhdGVnb3J5KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJldkNhdGVnb3J5RGF0YSA9IGdldENhdGVnb3J5T2JqZWN0KGN1cnJlbnRLZXksIGxvY2FsRGF0YS5DYXRlZ29yeUFuc3dlcnMsICdwcmV2Jyk7XG4gICAgICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnkocHJldkNhdGVnb3J5RGF0YSA/IF9fYXNzaWduKF9fYXNzaWduKHt9LCBwcmV2Q2F0ZWdvcnkpLCB7IGRhdGE6IHByZXZDYXRlZ29yeURhdGEgfSkgOiBudWxsKTtcbiAgICAgICAgdXBkYXRlSW5pdGlhbFZhbHVlcyhwcmV2Q2F0ZWdvcnlEYXRhKTtcbiAgICB9O1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCBmdW5jdGlvbiAoKSB7IHJldHVybiAoe1xuICAgICAgICBoYW5kbGVOZXh0Q2xpY2s6IGhhbmRsZU5leHRDbGljayxcbiAgICAgICAgaGFuZGxlUHJldmlvdXNDbGljazogaGFuZGxlUHJldmlvdXNDbGljayxcbiAgICB9KTsgfSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcHJvcHMuc2VydmVyUmVhZHlEYXRhKGxvY2FsRGF0YSk7XG4gICAgfSwgW2xvY2FsRGF0YV0pO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBoYXNOZXh0ID0gaGFzQ2F0ZWdvcnkoY3VycmVudEtleSwgbG9jYWxEYXRhLkNhdGVnb3J5QW5zd2VycywgJ25leHQnKTtcbiAgICAgICAgcHJvcHMub25OZXh0Q2F0ZWdvcnlBdmFpbGFiaWxpdHlDaGFuZ2UoaGFzTmV4dCk7XG4gICAgICAgIHZhciBoYXNQcmV2aW91cyA9IGhhc0NhdGVnb3J5KGN1cnJlbnRLZXksIGxvY2FsRGF0YS5DYXRlZ29yeUFuc3dlcnMsICdwcmV2Jyk7XG4gICAgICAgIHByb3BzLm9uUHJldmlvdXNDYXRlZ29yeUF2YWlsYWJpbGl0eUNoYW5nZShoYXNQcmV2aW91cyk7XG4gICAgfSwgW2N1cnJlbnRLZXksIGxvY2FsRGF0YS5DYXRlZ29yeUFuc3dlcnMsIHByb3BzXSk7XG4gICAgdmFyIHF1ZXN0aW9uV3JhcHBlciA9IGNsYXNzTmFtZXMoKF9hID0ge30sXG4gICAgICAgIF9hW3N0eWxlcy5xdWVzdGlvbldyYXBwZXJPcGVuQW5zd2VyXSA9IHNlbGVjdGVkQ2F0ZWdvcnkuRGF0YS5PcGVuQW5zd2VyLFxuICAgICAgICBfYSksIFtzdHlsZXMucXVlc3Rpb25XcmFwcGVyXSk7XG4gICAgLy8gVGhpcyBnZXRzIHRoZSBzY2FsZSB3ZSB1c2UgZm9yIGVhY2ggc2VsZWN0IGZyb20gdGhlIGRhdGFiYXNlIHVzaW5nIGEga2V5IGJhc2VkIHZhcmlhYmxlLGlmIFxuICAgIC8vIGFueSBuZXcgZ2VuZXJhbEV2YWx1YXRpb25MZXZlbCBpcyBhZGRlZCB0byB0aGUgYmFja2VuZCB3ZSBuZWVkIHRvIHVwZGF0ZSBvdXIgb3duIHdpdGhvdXQgXG4gICAgLy8gZGVsZXRpbmcgYW55IG9mIHRoZSBwcmV2aW91cyBzbyB3ZSBkb250IG1lc3MgdXAgdGhlIHByb2plY3QgaGlzdG9yeS5cbiAgICB2YXIgc2VsZWN0ZWRFdmFsdWF0aW9uT3B0aW9uID0gXCJzY2FsZV9cIi5jb25jYXQoKF9iID0gc2VsZWN0ZWRDYXRlZ29yeSA9PT0gbnVsbCB8fCBzZWxlY3RlZENhdGVnb3J5ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWxlY3RlZENhdGVnb3J5LkRhdGEpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5HZW5lcmFsRXZhbHVhdGlvbkxldmVsKTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuY2F0ZWdvcnlSZXNwb25zZSB9LCB7IGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5zaWRlYmFyV3JhcHBlciB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLnRpdGxlIH0sIHsgY2hpbGRyZW46IFwiQ2F0ZWdvcmlhc1wiIH0pKSwgcmVuZGVyQ2F0ZWdvcmllcyhsb2NhbERhdGEuQ2F0ZWdvcnlBbnN3ZXJzKV0gfSkpLCBfanN4KFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuY29udGVudFdyYXBwZXIgfSwgeyBjaGlsZHJlbjogX2pzeHMoRm9ybSwgX19hc3NpZ24oeyBpbml0aWFsVmFsdWVzOiBpbml0aWFsVmFsdWVzLCBuYW1lOiBcImR5bmFtaWNfZm9ybV9uZXN0X2l0ZW1cIiwgb25GaW5pc2g6IG9uRmluaXNoLCBhdXRvQ29tcGxldGU6IFwib2ZmXCIsIGZvcm06IGZvcm0gfSwgeyBjaGlsZHJlbjogW19qc3hzKFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuZGV0YWlscyB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLmNhdGVnb3J5TmFtZSB9LCB7IGNoaWxkcmVuOiAoX2MgPSBzZWxlY3RlZENhdGVnb3J5ID09PSBudWxsIHx8IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlbGVjdGVkQ2F0ZWdvcnkuRGF0YSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLkNhdGVnb3J5TmFtZSB9KSksIF9qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5jYXRlZ29yeURlc2NyaXB0aW9uIH0sIHsgY2hpbGRyZW46IChfZCA9IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IG51bGwgfHwgc2VsZWN0ZWRDYXRlZ29yeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VsZWN0ZWRDYXRlZ29yeS5EYXRhKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QuRGVzY3JpcHRpb24gfSkpXSB9KSksIChfZSA9IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IG51bGwgfHwgc2VsZWN0ZWRDYXRlZ29yeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VsZWN0ZWRDYXRlZ29yeS5EYXRhKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UuUXVlc3Rpb25zLm1hcChmdW5jdGlvbiAocXVlc3Rpb24sIGluZGV4KSB7IHJldHVybiAoX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHF1ZXN0aW9uV3JhcHBlciB9LCB7IGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5xdWVzdGlvbiB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLnN1YmplY3QgfSwgeyBjaGlsZHJlbjogcXVlc3Rpb24uU3ViamVjdCB9KSksIF9qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5kZXNjcmlwdGlvbiB9LCB7IGNoaWxkcmVuOiBxdWVzdGlvbi5EZXNjcmlwdGlvbiB9KSldIH0pKSwgX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLmFuc3dlciB9LCB7IGNoaWxkcmVuOiBzZWxlY3RlZENhdGVnb3J5LkRhdGEuT3BlbkFuc3dlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2pzeChGb3JtLkl0ZW0sIF9fYXNzaWduKHsgbmFtZTogW1wiUXVlc3Rpb25zXCIsIGluZGV4LCBcIkFuc3dlclwiXSB9LCB7IGNoaWxkcmVuOiBfanN4KFRleHRBcmVhLCB7fSkgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfanN4KEZvcm0uSXRlbSwgX19hc3NpZ24oeyBuYW1lOiBbXCJRdWVzdGlvbnNcIiwgaW5kZXgsIFwiQW5zd2VyXCJdIH0sIHsgY2hpbGRyZW46IF9qc3goU2VsZWN0LCB7IG9wdGlvbnM6IGV2YWx1YXRpb25PcHRpb25zW3NlbGVjdGVkRXZhbHVhdGlvbk9wdGlvbl0sIHN0eWxlOiB7IG1pbldpZHRoOiAnMTAwJScgfSB9KSB9KSkgfSkpXSB9KSwgaW5kZXgpKTsgfSksICgoX2YgPSBzZWxlY3RlZENhdGVnb3J5ID09PSBudWxsIHx8IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlbGVjdGVkQ2F0ZWdvcnkuRGF0YSkgPT09IG51bGwgfHwgX2YgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9mLlF1ZXN0aW9ucy5sZW5ndGgpID4gMCAmJiAoX2pzeChCdXR0b24sIF9fYXNzaWduKHsgb25DbGljazogZnVuY3Rpb24gKCkgeyByZXR1cm4gZm9ybS5zdWJtaXQoKTsgfSB9LCB7IGNoaWxkcmVuOiB0KCdjb21wb25lbnRzLmNhdGVnb3J5UmVzcG9uc2UuYW5zd2VyJykgfSkpKV0gfSkpIH0pKV0gfSkpKTtcbn0pO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/CategoryResponse/index.tsx\n");
|
|
10644
10644
|
|
|
10645
10645
|
/***/ }),
|
|
10646
10646
|
|
|
@@ -11726,7 +11726,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
11726
11726
|
/***/ (function(module) {
|
|
11727
11727
|
|
|
11728
11728
|
"use strict";
|
|
11729
|
-
module.exports = JSON.parse('{"tableHeadings":{"key":"key","name":"name","mecanographicNumber":"Mecanographic Number","store":"Store","role":"Role","type":"Type","id":"Id"},"navigation":{"back":"Go Back","logout":"Log Out","home":"Home"},"actions":{"one":"one","two":"two"},"components":{"category":{"addQuestion":"Add Question","placeholderInfo":"Question Information","errorInfo":"Missing Question Information","placeholderQuestion":"Question","errorQuestion":"Missing Question","placeholderGrade":"Grade","errorGrade":"Missing Grade"},"categoryResponse":{"notApplicable":"Not Applicable"}}}');
|
|
11729
|
+
module.exports = JSON.parse('{"tableHeadings":{"key":"key","name":"name","mecanographicNumber":"Mecanographic Number","store":"Store","role":"Role","type":"Type","id":"Id"},"navigation":{"back":"Go Back","logout":"Log Out","home":"Home"},"actions":{"one":"one","two":"two"},"components":{"category":{"addQuestion":"Add Question","placeholderInfo":"Question Information","errorInfo":"Missing Question Information","placeholderQuestion":"Question","errorQuestion":"Missing Question","placeholderGrade":"Grade","errorGrade":"Missing Grade"},"categoryResponse":{"notApplicable":"Not Applicable","answer":"Answer"}}}');
|
|
11730
11730
|
|
|
11731
11731
|
/***/ }),
|
|
11732
11732
|
|
|
@@ -11737,7 +11737,7 @@ module.exports = JSON.parse('{"tableHeadings":{"key":"key","name":"name","mecano
|
|
|
11737
11737
|
/***/ (function(module) {
|
|
11738
11738
|
|
|
11739
11739
|
"use strict";
|
|
11740
|
-
module.exports = JSON.parse('{"tableHeadings":{"key":"keyES","name":"nameES","mecanographicNumber":"Mecanographic NumberES","store":"StoreES","role":"RoleES","type":"TypeES","id":"IdES"},"navigation":{"back":"Go Back ES","logout":"Log Out ES","home":"Home ES"},"actions":{"one":"one ES","two":"two ES"},"components":{"category":{"addQuestion":"Add Question ES","placeholderInfo":"Question Information ES","errorInfo":"Missing Question Information ES","placeholderQuestion":"Question ES","errorQuestion":"Missing Question ES","placeholderGrade":"Grade ES","errorGrade":"Missing Grade ES"},"categoryResponse":{"notApplicable":"Not Applicable ES"}}}');
|
|
11740
|
+
module.exports = JSON.parse('{"tableHeadings":{"key":"keyES","name":"nameES","mecanographicNumber":"Mecanographic NumberES","store":"StoreES","role":"RoleES","type":"TypeES","id":"IdES"},"navigation":{"back":"Go Back ES","logout":"Log Out ES","home":"Home ES"},"actions":{"one":"one ES","two":"two ES"},"components":{"category":{"addQuestion":"Add Question ES","placeholderInfo":"Question Information ES","errorInfo":"Missing Question Information ES","placeholderQuestion":"Question ES","errorQuestion":"Missing Question ES","placeholderGrade":"Grade ES","errorGrade":"Missing Grade ES"},"categoryResponse":{"notApplicable":"Not Applicable ES","answer":"Answer ES"}}}');
|
|
11741
11741
|
|
|
11742
11742
|
/***/ }),
|
|
11743
11743
|
|
|
@@ -11748,7 +11748,7 @@ module.exports = JSON.parse('{"tableHeadings":{"key":"keyES","name":"nameES","me
|
|
|
11748
11748
|
/***/ (function(module) {
|
|
11749
11749
|
|
|
11750
11750
|
"use strict";
|
|
11751
|
-
module.exports = JSON.parse('{"tableHeadings":{"key":"Chave","name":"Nome","mecanographicNumber":"Número Mecanográfico","store":"Loja","role":"Posição","type":"Tipo","id":"Id","action":"Ação"},"userInfoColumn":{"Date":"Data","Store":"Loja","Team":"Equipa em Gestão","Supervisor":"Supervisor","TypeOfContract":"Tipo de contrato","Nationality":"Nacionalidade","CivilStatus":"Estado Civil","IdentificationDocument":"Doc.Identificação","NTaxpayer":"Nº Contribuinte","NIB":"NIB","SocialSecurity":"Nr Segurança Social","NChildren":"Nº Filhos","Workload":"Carga horária","Description":"Descrição","Comments":"Comentários"},"navigation":{"back":"Go Back PT","logout":"Log Out PT","home":"Home PT"},"actions":{"one":"one PT","two":"two PT"},"components":{"category":{"addQuestion":"Add Question PT","placeholderInfo":"Question Information PT","errorInfo":"Missing Question Information PT","placeholderQuestion":"Question PT","errorQuestion":"Missing Question PT","placeholderGrade":"Grade PT","errorGrade":"Missing Grade PT"},"categoryResponse":{"notApplicable":"Não Aplicável"}}}');
|
|
11751
|
+
module.exports = JSON.parse('{"tableHeadings":{"key":"Chave","name":"Nome","mecanographicNumber":"Número Mecanográfico","store":"Loja","role":"Posição","type":"Tipo","id":"Id","action":"Ação"},"userInfoColumn":{"Date":"Data","Store":"Loja","Team":"Equipa em Gestão","Supervisor":"Supervisor","TypeOfContract":"Tipo de contrato","Nationality":"Nacionalidade","CivilStatus":"Estado Civil","IdentificationDocument":"Doc.Identificação","NTaxpayer":"Nº Contribuinte","NIB":"NIB","SocialSecurity":"Nr Segurança Social","NChildren":"Nº Filhos","Workload":"Carga horária","Description":"Descrição","Comments":"Comentários"},"navigation":{"back":"Go Back PT","logout":"Log Out PT","home":"Home PT"},"actions":{"one":"one PT","two":"two PT"},"components":{"category":{"addQuestion":"Add Question PT","placeholderInfo":"Question Information PT","errorInfo":"Missing Question Information PT","placeholderQuestion":"Question PT","errorQuestion":"Missing Question PT","placeholderGrade":"Grade PT","errorGrade":"Missing Grade PT"},"categoryResponse":{"notApplicable":"Não Aplicável","answer":"Resposta"}}}');
|
|
11752
11752
|
|
|
11753
11753
|
/***/ })
|
|
11754
11754
|
|
package/package.json
CHANGED
|
@@ -63,119 +63,113 @@ const Template: Story<any> = (args) => {
|
|
|
63
63
|
export const Primary = Template.bind({});
|
|
64
64
|
Primary.args = {
|
|
65
65
|
data: {
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"categoryAnswers": [
|
|
66
|
+
"Id": "E985B66B-5EA4-4A6F-81B9-0B12CAA99343",
|
|
67
|
+
"EvaluationCycleId": "A3FE0C73-E771-40BB-B87D-1E40597841A6",
|
|
68
|
+
"QuestionnaireId": "4C15A0A0-7DDF-4952-810C-B46105807CB7",
|
|
69
|
+
"UserId": "A200F4C5-8E41-41D4-A90C-B15EEC448517",
|
|
70
|
+
"TargetUserId": "A200F4C5-8E41-41D4-A90C-B15EEC448517",
|
|
71
|
+
"StartDate": 1678707055,
|
|
72
|
+
"EndDate": 1679707055,
|
|
73
|
+
"Status": "A",
|
|
74
|
+
"CategoryAnswers": [
|
|
76
75
|
{
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
76
|
+
"Title": "Competências",
|
|
77
|
+
"Key": "1",
|
|
78
|
+
"Data": {
|
|
79
|
+
"Id": "57A06838-67F9-4726-BC36-719A0C797484",
|
|
80
|
+
"CategoryId": "CATEGORYID1",
|
|
81
|
+
"CategoryName": "Competências",
|
|
82
|
+
"OpenAnswer": false,
|
|
83
|
+
"GeneralEvaluationLevel": 2,
|
|
84
|
+
"Grade": "0",
|
|
85
|
+
"Description": "Inserir resposta numa escala numérica entre 1 e 5, sendo que 1 corresponde a “Mau” e 5 corresponde a “Excelente”",
|
|
86
|
+
"Score": "0.000",
|
|
87
|
+
"Questions": [
|
|
89
88
|
{
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"answer": null
|
|
89
|
+
"Id": "65562A64-A24B-425A-A345-560238CA2468",
|
|
90
|
+
"QuestionId": "7D17A8A5-E299-47D3-AB49-684135DB23A3",
|
|
91
|
+
"Subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elit",
|
|
92
|
+
"Description": "This is a description",
|
|
93
|
+
"Grade": "0",
|
|
94
|
+
"Answer": null
|
|
97
95
|
},
|
|
98
96
|
{
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"answer": null
|
|
97
|
+
"Id": "85562A64-A24B-425A-A345-560238CA2468",
|
|
98
|
+
"QuestionId": "8D17A8A5-E299-47D3-AB49-684135DB23A3",
|
|
99
|
+
"Subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elit",
|
|
100
|
+
"Description": "This is a description ",
|
|
101
|
+
"Grade": "0",
|
|
102
|
+
"Answer": null
|
|
106
103
|
}
|
|
107
104
|
]
|
|
108
105
|
}
|
|
109
106
|
},
|
|
110
107
|
{
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
"
|
|
108
|
+
"Title": "Category 2",
|
|
109
|
+
"Key": "2",
|
|
110
|
+
"Data": {
|
|
111
|
+
"Id": "57A06838-67F9-4726-BC36-719A0C797484",
|
|
112
|
+
"CategoryId": "CATEGORYID2",
|
|
113
|
+
"CategoryName": "Category 2",
|
|
114
|
+
"OpenAnswer": false,
|
|
115
|
+
"GeneralEvaluationLevel": 0,
|
|
116
|
+
"Grade": "100",
|
|
117
|
+
"Description": "This is a description",
|
|
118
|
+
"Score": "0.000",
|
|
119
|
+
"Questions": []
|
|
123
120
|
},
|
|
124
|
-
"
|
|
121
|
+
"Children": [
|
|
125
122
|
{
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
123
|
+
"Title": "Category 2.1",
|
|
124
|
+
"Key": "2.1",
|
|
125
|
+
"Data": {
|
|
126
|
+
"Id": "57A06838-67F9-4726-BC36-719A0C797484",
|
|
127
|
+
"CategoryId": "1CDED10D-0984-46D4-A9B3-7EC518D74A63",
|
|
128
|
+
"CategoryName": "Category 2.1",
|
|
129
|
+
"OpenAnswer": false,
|
|
130
|
+
"GeneralEvaluationLevel": 0,
|
|
131
|
+
"Grade": "50",
|
|
132
|
+
"Description": "This is a description",
|
|
133
|
+
"Score": "0.000",
|
|
134
|
+
"Questions": []
|
|
138
135
|
},
|
|
139
|
-
"
|
|
136
|
+
"Children": [
|
|
140
137
|
{
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"
|
|
138
|
+
"Title": "Category 2.1.1",
|
|
139
|
+
"Key": "2.1.1",
|
|
140
|
+
"Data": {
|
|
141
|
+
"Id": "37A06838-67F9-4726-BC36-719A0C797484",
|
|
142
|
+
"CategoryId": "3CDED10D-0984-46D4-A9B3-7EC518D74A63",
|
|
143
|
+
"CategoryName": "Category 2.1.1",
|
|
144
|
+
"OpenAnswer": false,
|
|
145
|
+
"GeneralEvaluationLevel": 0,
|
|
146
|
+
"Grade": "50",
|
|
147
|
+
"Description": "This is a description",
|
|
148
|
+
"Score": "0.000",
|
|
149
|
+
"Questions": [
|
|
153
150
|
{
|
|
154
|
-
"
|
|
155
|
-
"
|
|
156
|
-
"
|
|
157
|
-
"
|
|
158
|
-
"
|
|
159
|
-
"
|
|
160
|
-
"answer": null
|
|
151
|
+
"Id": "365562A64-A24B-425A-A345-560238CA2468",
|
|
152
|
+
"QuestionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
|
|
153
|
+
"Subject": "This is a Subject",
|
|
154
|
+
"Description": "This is a description",
|
|
155
|
+
"Grade": "50",
|
|
156
|
+
"Answer": null
|
|
161
157
|
},
|
|
162
158
|
{
|
|
163
|
-
"
|
|
164
|
-
"
|
|
165
|
-
"
|
|
166
|
-
"
|
|
167
|
-
"
|
|
168
|
-
"
|
|
169
|
-
"answer": null
|
|
159
|
+
"Id": "35562A64-A24B-425A-A345-560238CA2468",
|
|
160
|
+
"QuestionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
|
|
161
|
+
"Subject": "This is a Subject",
|
|
162
|
+
"Description": "This is a description",
|
|
163
|
+
"Grade": "25",
|
|
164
|
+
"Answer": null
|
|
170
165
|
},
|
|
171
166
|
{
|
|
172
|
-
"
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
"
|
|
177
|
-
"
|
|
178
|
-
"answer": null
|
|
167
|
+
"Id": "35562A64-A24B-425A-A345-560238CA2468",
|
|
168
|
+
"QuestionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
|
|
169
|
+
"Subject": "This is a Subject",
|
|
170
|
+
"Description": "This is a description",
|
|
171
|
+
"Grade": "25",
|
|
172
|
+
"Answer": null
|
|
179
173
|
}
|
|
180
174
|
]
|
|
181
175
|
}
|
|
@@ -183,72 +177,68 @@ Primary.args = {
|
|
|
183
177
|
]
|
|
184
178
|
},
|
|
185
179
|
{
|
|
186
|
-
"
|
|
187
|
-
"
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
"
|
|
191
|
-
"
|
|
192
|
-
"
|
|
193
|
-
"
|
|
194
|
-
"
|
|
195
|
-
"
|
|
196
|
-
"
|
|
197
|
-
"
|
|
180
|
+
"Title": "Category 2.2",
|
|
181
|
+
"Key": "2.2",
|
|
182
|
+
"Data": {
|
|
183
|
+
"Id": "57A06838-67F9-4726-BC36-719A0C797484",
|
|
184
|
+
"CategoryId": "PCDED10D-0984-46D4-A9B3-7EC518D74A63",
|
|
185
|
+
"CategoryName": "Category 2.2",
|
|
186
|
+
"OpenAnswer": false,
|
|
187
|
+
"GeneralEvaluationLevel": 0,
|
|
188
|
+
"Grade": "50",
|
|
189
|
+
"Description": "This is a description",
|
|
190
|
+
"Score": "0.000",
|
|
191
|
+
"Questions": [
|
|
198
192
|
{
|
|
199
|
-
"
|
|
200
|
-
"
|
|
201
|
-
"
|
|
202
|
-
"
|
|
203
|
-
"
|
|
204
|
-
"
|
|
205
|
-
"answer": "2"
|
|
193
|
+
"Id": "P5562A64-A24B-425A-A345-560238CA2468",
|
|
194
|
+
"QuestionId": "PD17A8A5-E299-47D3-AB49-684135DB23A3",
|
|
195
|
+
"Subject": "This is a Subject",
|
|
196
|
+
"Description": "This is a description",
|
|
197
|
+
"Grade": "50",
|
|
198
|
+
"Answer": "2"
|
|
206
199
|
},
|
|
207
200
|
{
|
|
208
|
-
"
|
|
209
|
-
"
|
|
210
|
-
"
|
|
211
|
-
"
|
|
212
|
-
"
|
|
213
|
-
"
|
|
214
|
-
"answer": "5"
|
|
201
|
+
"Id": "P5562A64-A24B-425A-A345-560238CA2468",
|
|
202
|
+
"QuestionId": "PD17A8A5-E299-47D3-AB49-684135DB23A3",
|
|
203
|
+
"Subject": "This is a Subject",
|
|
204
|
+
"Description": "This is a description",
|
|
205
|
+
"Grade": "50",
|
|
206
|
+
"Answer": "5"
|
|
215
207
|
}
|
|
216
208
|
]
|
|
217
209
|
},
|
|
218
|
-
"
|
|
210
|
+
"Children": []
|
|
219
211
|
}
|
|
220
212
|
]
|
|
221
213
|
},
|
|
222
214
|
{
|
|
223
|
-
"
|
|
224
|
-
"
|
|
225
|
-
"
|
|
226
|
-
"
|
|
227
|
-
"
|
|
228
|
-
"
|
|
229
|
-
"
|
|
230
|
-
"
|
|
231
|
-
"
|
|
232
|
-
"
|
|
233
|
-
"
|
|
234
|
-
"
|
|
215
|
+
"Title": "Category 3",
|
|
216
|
+
"Key": "3",
|
|
217
|
+
"Data": {
|
|
218
|
+
"Id": "97A06838-67F9-4726-BC36-719A0C797484",
|
|
219
|
+
"CategoryId": "CATEGORYID3",
|
|
220
|
+
"CategoryName": "Category 3",
|
|
221
|
+
"OpenAnswer": true,
|
|
222
|
+
"GeneralEvaluationLevel": 0,
|
|
223
|
+
"Grade": "0",
|
|
224
|
+
"Description": "This is a description",
|
|
225
|
+
"Score": "0.000",
|
|
226
|
+
"Questions": [
|
|
235
227
|
{
|
|
236
|
-
"
|
|
237
|
-
"
|
|
238
|
-
"
|
|
239
|
-
"
|
|
240
|
-
"
|
|
241
|
-
"
|
|
242
|
-
"answer": null
|
|
228
|
+
"Id": "95562A64-A24B-425A-A345-560238CA2468",
|
|
229
|
+
"QuestionId": "9D17A8A5-E299-47D3-AB49-684135DB23A3",
|
|
230
|
+
"Subject": "This is a Subject",
|
|
231
|
+
"Description": "This is a description",
|
|
232
|
+
"Grade": "0",
|
|
233
|
+
"Answer": null
|
|
243
234
|
},
|
|
244
235
|
{
|
|
245
|
-
"
|
|
246
|
-
"
|
|
247
|
-
"
|
|
248
|
-
"
|
|
249
|
-
"
|
|
250
|
-
"
|
|
251
|
-
"answer": null
|
|
236
|
+
"Id": "93862A64-A24B-425A-A345-560238CA2468",
|
|
237
|
+
"QuestionId": "9D38A8A5-E299-47D3-AB49-684135DB23A3",
|
|
238
|
+
"Subject": "This is a Subject",
|
|
239
|
+
"Description": "This is a description",
|
|
240
|
+
"Grade": "0",
|
|
241
|
+
"Answer": null
|
|
252
242
|
}
|
|
253
243
|
]
|
|
254
244
|
}
|
|
@@ -8,6 +8,7 @@ import TextArea from 'antd/es/input/TextArea';
|
|
|
8
8
|
import { Select } from '../Select';
|
|
9
9
|
import { evaluationOptions } from './evaluationOptions';
|
|
10
10
|
import React from 'react';
|
|
11
|
+
import { t } from 'i18next';
|
|
11
12
|
|
|
12
13
|
interface CategoryResponse {
|
|
13
14
|
data: any;
|
|
@@ -17,27 +18,27 @@ interface CategoryResponse {
|
|
|
17
18
|
};
|
|
18
19
|
|
|
19
20
|
type Category = {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
Title: string;
|
|
22
|
+
Key: string;
|
|
23
|
+
Data: any;
|
|
24
|
+
Children?: Category[];
|
|
24
25
|
};
|
|
25
26
|
|
|
26
|
-
const updateCategoryAnswers = (
|
|
27
|
-
|
|
28
|
-
if (category.
|
|
29
|
-
category.
|
|
27
|
+
const updateCategoryAnswers = (CategoryAnswers: any[], categoryToUpdate: any, updatedQuestions: any) => {
|
|
28
|
+
CategoryAnswers.forEach((category: any) => {
|
|
29
|
+
if (category.Data.CategoryId === categoryToUpdate.CategoryId) {
|
|
30
|
+
category.Data.Questions = category.Data.Questions.map((question: any, index: any) => {
|
|
30
31
|
return {
|
|
31
32
|
...question,
|
|
32
|
-
|
|
33
|
+
Answer: updatedQuestions[index].Answer
|
|
33
34
|
};
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
|
-
else if (category.
|
|
37
|
-
updateCategoryAnswers(category.
|
|
37
|
+
else if (category.Children && category.Children.length > 0) {
|
|
38
|
+
updateCategoryAnswers(category.Children, categoryToUpdate, updatedQuestions);
|
|
38
39
|
}
|
|
39
40
|
});
|
|
40
|
-
return
|
|
41
|
+
return CategoryAnswers;
|
|
41
42
|
};
|
|
42
43
|
|
|
43
44
|
const findCategoryWithQuestions = (currentKey: string, categories: Category[], direction: 'next' | 'prev'): Category | null => {
|
|
@@ -48,15 +49,15 @@ const findCategoryWithQuestions = (currentKey: string, categories: Category[], d
|
|
|
48
49
|
|
|
49
50
|
for (const category of iterable) {
|
|
50
51
|
if (foundCurrent) {
|
|
51
|
-
if (category.
|
|
52
|
+
if (category.Data.Questions.length > 0) {
|
|
52
53
|
return category;
|
|
53
54
|
}
|
|
54
|
-
} else if (category.
|
|
55
|
+
} else if (category.Key === currentKey) {
|
|
55
56
|
foundCurrent = true;
|
|
56
57
|
}
|
|
57
58
|
|
|
58
|
-
if (category.
|
|
59
|
-
const result = searchCategories(category.
|
|
59
|
+
if (category.Children) {
|
|
60
|
+
const result = searchCategories(category.Children, direction);
|
|
60
61
|
if (result) {
|
|
61
62
|
return result;
|
|
62
63
|
}
|
|
@@ -70,7 +71,7 @@ const findCategoryWithQuestions = (currentKey: string, categories: Category[], d
|
|
|
70
71
|
|
|
71
72
|
const getCategoryObject = (currentKey: string, categories: Category[], direction: 'next' | 'prev'): any => {
|
|
72
73
|
const category = findCategoryWithQuestions(currentKey, categories, direction);
|
|
73
|
-
return category ? category.
|
|
74
|
+
return category ? category.Data : null;
|
|
74
75
|
};
|
|
75
76
|
|
|
76
77
|
const hasCategory = (currentKey: string, categories: Category[], direction: 'next' | 'prev'): boolean => {
|
|
@@ -79,38 +80,38 @@ const hasCategory = (currentKey: string, categories: Category[], direction: 'nex
|
|
|
79
80
|
};
|
|
80
81
|
|
|
81
82
|
const getTitleWithQuestionCount = (category: any): string => {
|
|
82
|
-
const questionCount = category?.
|
|
83
|
-
const answeredQuestions = category?.
|
|
83
|
+
const questionCount = category?.Data?.Questions?.length;
|
|
84
|
+
const answeredQuestions = category?.Data?.Questions?.filter((question: any) => question.Answer !== null && question.Answer !== undefined && question.Answer !== '').length;
|
|
84
85
|
|
|
85
86
|
return questionCount
|
|
86
|
-
? `${category.
|
|
87
|
-
: category.
|
|
87
|
+
? `${category.Title} - ${answeredQuestions} / ${questionCount}`
|
|
88
|
+
: category.Title ;
|
|
88
89
|
};
|
|
89
90
|
|
|
90
91
|
export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref) => {
|
|
91
92
|
const { data } = props;
|
|
92
93
|
|
|
93
|
-
const [currentKey, setCurrentKey] = useState(data.
|
|
94
|
+
const [currentKey, setCurrentKey] = useState(data.CategoryAnswers[0].Key);
|
|
94
95
|
const [localData, setLocalData] = useState<any>(data);
|
|
95
96
|
// Setting first set of questions as default open
|
|
96
|
-
const [selectedCategory, setSelectedCategory] = useState<any>(data.
|
|
97
|
-
const [initialValues, setInitialValues] = useState<any>(data.
|
|
97
|
+
const [selectedCategory, setSelectedCategory] = useState<any>(data.CategoryAnswers[0]);
|
|
98
|
+
const [initialValues, setInitialValues] = useState<any>(data.CategoryAnswers[0].Data);
|
|
98
99
|
const [form] = useForm();
|
|
99
100
|
|
|
100
101
|
|
|
101
102
|
const updateInitialValues = (data: any) => {
|
|
102
103
|
const {
|
|
103
|
-
|
|
104
|
-
|
|
104
|
+
Questions,
|
|
105
|
+
OpenAnswer
|
|
105
106
|
} = data;
|
|
106
107
|
|
|
107
108
|
const initial = {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
Questions: Questions.map((question: any) => ({
|
|
110
|
+
Subject: question.Subject,
|
|
111
|
+
Description: question.Description,
|
|
112
|
+
Answer: question.Answer || ""
|
|
112
113
|
})),
|
|
113
|
-
|
|
114
|
+
OpenAnswer: OpenAnswer
|
|
114
115
|
};
|
|
115
116
|
|
|
116
117
|
setInitialValues(initial);
|
|
@@ -119,21 +120,21 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
|
|
|
119
120
|
|
|
120
121
|
const handleLabelClick = (category: any, index: number) => {
|
|
121
122
|
setSelectedCategory(category);
|
|
122
|
-
updateInitialValues(category.
|
|
123
|
+
updateInitialValues(category.Data);
|
|
123
124
|
setCurrentKey(index);
|
|
124
125
|
};
|
|
125
126
|
|
|
126
127
|
const onFinish = (values: any) => {
|
|
127
|
-
const updatedQuestions = initialValues.
|
|
128
|
+
const updatedQuestions = initialValues.Questions.map((question: any, index: number) => {
|
|
128
129
|
return {
|
|
129
130
|
...question,
|
|
130
|
-
|
|
131
|
+
Answer: values.Questions[index].Answer
|
|
131
132
|
};
|
|
132
133
|
});
|
|
133
134
|
|
|
134
|
-
const updatedCategory = updateCategoryAnswers(localData.
|
|
135
|
+
const updatedCategory = updateCategoryAnswers(localData.CategoryAnswers, selectedCategory.Data, updatedQuestions);
|
|
135
136
|
|
|
136
|
-
const updatedLocalData = { ...localData,
|
|
137
|
+
const updatedLocalData = { ...localData, CategoryAnswers: updatedCategory };
|
|
137
138
|
|
|
138
139
|
setLocalData(updatedLocalData);
|
|
139
140
|
};
|
|
@@ -141,26 +142,26 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
|
|
|
141
142
|
const renderCategories = (categories: any) => {
|
|
142
143
|
return categories.map((category: any, index: number) => {
|
|
143
144
|
const labelClasses = classNames({
|
|
144
|
-
[styles.cursorPointer]: category.
|
|
145
|
+
[styles.cursorPointer]: category.Data.Questions.length > 0
|
|
145
146
|
}, [styles.label]);
|
|
146
147
|
|
|
147
|
-
const indexCheck = category.
|
|
148
|
+
const indexCheck = category.Data.Questions.length > 0 && category.Key;
|
|
148
149
|
|
|
149
150
|
return (
|
|
150
151
|
<div
|
|
151
|
-
className={`${styles.labelWrapper} ${category.
|
|
152
|
+
className={`${styles.labelWrapper} ${category.Data.CategoryId === selectedCategory.Data.CategoryId ? styles.active : ""}`}
|
|
152
153
|
key={index}
|
|
153
154
|
>
|
|
154
155
|
<div
|
|
155
156
|
className={labelClasses}
|
|
156
157
|
data-index={indexCheck}
|
|
157
|
-
onClick={() => category.
|
|
158
|
+
onClick={() => category.Data.Questions.length > 0 && handleLabelClick(category, indexCheck)}
|
|
158
159
|
>
|
|
159
160
|
{getTitleWithQuestionCount(category)}
|
|
160
161
|
</div>
|
|
161
|
-
{category.
|
|
162
|
+
{category.Children && (
|
|
162
163
|
<div className={styles.subCategory}>
|
|
163
|
-
{renderCategories(category.
|
|
164
|
+
{renderCategories(category.Children)}
|
|
164
165
|
</div>
|
|
165
166
|
)}
|
|
166
167
|
</div>
|
|
@@ -169,25 +170,25 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
|
|
|
169
170
|
};
|
|
170
171
|
|
|
171
172
|
const handleNextClick = () => {
|
|
172
|
-
const nextCategory = findCategoryWithQuestions(currentKey, localData.
|
|
173
|
+
const nextCategory = findCategoryWithQuestions(currentKey, localData.CategoryAnswers, 'next');
|
|
173
174
|
if (nextCategory) {
|
|
174
|
-
setCurrentKey(nextCategory.
|
|
175
|
+
setCurrentKey(nextCategory.Key);
|
|
175
176
|
setSelectedCategory(nextCategory);
|
|
176
177
|
}
|
|
177
178
|
|
|
178
|
-
const nextCategoryData = getCategoryObject(currentKey, localData.
|
|
179
|
+
const nextCategoryData = getCategoryObject(currentKey, localData.CategoryAnswers, 'next');
|
|
179
180
|
setSelectedCategory(nextCategoryData ? { ...nextCategory, data: nextCategoryData } : null);
|
|
180
181
|
updateInitialValues(nextCategoryData);
|
|
181
182
|
};
|
|
182
183
|
|
|
183
184
|
const handlePreviousClick = () => {
|
|
184
|
-
const prevCategory = findCategoryWithQuestions(currentKey, localData.
|
|
185
|
+
const prevCategory = findCategoryWithQuestions(currentKey, localData.CategoryAnswers, 'prev');
|
|
185
186
|
if (prevCategory) {
|
|
186
|
-
setCurrentKey(prevCategory.
|
|
187
|
+
setCurrentKey(prevCategory.Key);
|
|
187
188
|
setSelectedCategory(prevCategory);
|
|
188
189
|
}
|
|
189
190
|
|
|
190
|
-
const prevCategoryData = getCategoryObject(currentKey, localData.
|
|
191
|
+
const prevCategoryData = getCategoryObject(currentKey, localData.CategoryAnswers, 'prev');
|
|
191
192
|
setSelectedCategory(prevCategoryData ? { ...prevCategory, data: prevCategoryData } : null);
|
|
192
193
|
updateInitialValues(prevCategoryData);
|
|
193
194
|
};
|
|
@@ -202,27 +203,27 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
|
|
|
202
203
|
}, [localData]);
|
|
203
204
|
|
|
204
205
|
useEffect(() => {
|
|
205
|
-
const hasNext = hasCategory(currentKey, localData.
|
|
206
|
+
const hasNext = hasCategory(currentKey, localData.CategoryAnswers, 'next');
|
|
206
207
|
props.onNextCategoryAvailabilityChange(hasNext);
|
|
207
208
|
|
|
208
|
-
const hasPrevious = hasCategory(currentKey, localData.
|
|
209
|
+
const hasPrevious = hasCategory(currentKey, localData.CategoryAnswers, 'prev');
|
|
209
210
|
props.onPreviousCategoryAvailabilityChange(hasPrevious);
|
|
210
|
-
}, [currentKey, localData.
|
|
211
|
+
}, [currentKey, localData.CategoryAnswers, props]);
|
|
211
212
|
|
|
212
213
|
const questionWrapper = classNames({
|
|
213
|
-
[styles.questionWrapperOpenAnswer]: selectedCategory.
|
|
214
|
+
[styles.questionWrapperOpenAnswer]: selectedCategory.Data.OpenAnswer,
|
|
214
215
|
}, [styles.questionWrapper]);
|
|
215
216
|
|
|
216
217
|
// This gets the scale we use for each select from the database using a key based variable,if
|
|
217
218
|
// any new generalEvaluationLevel is added to the backend we need to update our own without
|
|
218
219
|
// deleting any of the previous so we dont mess up the project history.
|
|
219
|
-
const selectedEvaluationOption = `scale_${selectedCategory?.
|
|
220
|
+
const selectedEvaluationOption = `scale_${selectedCategory?.Data?.GeneralEvaluationLevel}` as keyof typeof evaluationOptions;
|
|
220
221
|
|
|
221
222
|
return (
|
|
222
223
|
<div className={styles.categoryResponse}>
|
|
223
224
|
<div className={styles.sidebarWrapper}>
|
|
224
225
|
<div className={styles.title}>Categorias</div>
|
|
225
|
-
{renderCategories(localData.
|
|
226
|
+
{renderCategories(localData.CategoryAnswers)}
|
|
226
227
|
</div>
|
|
227
228
|
<div className={styles.contentWrapper}>
|
|
228
229
|
<Form
|
|
@@ -234,31 +235,31 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
|
|
|
234
235
|
>
|
|
235
236
|
<div className={styles.details}>
|
|
236
237
|
<div className={styles.categoryName}>
|
|
237
|
-
{selectedCategory?.
|
|
238
|
+
{selectedCategory?.Data?.CategoryName}
|
|
238
239
|
</div>
|
|
239
240
|
<div className={styles.categoryDescription}>
|
|
240
|
-
{selectedCategory?.
|
|
241
|
+
{selectedCategory?.Data?.Description}
|
|
241
242
|
</div>
|
|
242
243
|
</div>
|
|
243
|
-
{selectedCategory?.
|
|
244
|
+
{selectedCategory?.Data?.Questions.map((question: any, index: number) => (
|
|
244
245
|
<div className={questionWrapper} key={index}>
|
|
245
246
|
<div className={styles.question}>
|
|
246
247
|
<div className={styles.subject}>
|
|
247
|
-
{question.
|
|
248
|
+
{question.Subject}
|
|
248
249
|
</div>
|
|
249
250
|
<div className={styles.description}>
|
|
250
|
-
{question.
|
|
251
|
+
{question.Description}
|
|
251
252
|
</div>
|
|
252
253
|
</div>
|
|
253
254
|
<div className={styles.answer}>
|
|
254
|
-
{selectedCategory.
|
|
255
|
+
{selectedCategory.Data.OpenAnswer
|
|
255
256
|
? <Form.Item
|
|
256
|
-
name={["
|
|
257
|
+
name={["Questions", index, "Answer"]}
|
|
257
258
|
>
|
|
258
259
|
<TextArea />
|
|
259
260
|
</Form.Item>
|
|
260
261
|
: <Form.Item
|
|
261
|
-
name={["
|
|
262
|
+
name={["Questions", index, "Answer"]}
|
|
262
263
|
>
|
|
263
264
|
<Select options={evaluationOptions[selectedEvaluationOption]}
|
|
264
265
|
style={{ minWidth: '100%' }}
|
|
@@ -269,8 +270,10 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
|
|
|
269
270
|
</div>
|
|
270
271
|
))}
|
|
271
272
|
|
|
272
|
-
{selectedCategory?.
|
|
273
|
-
<Button onClick={() => form.submit()}>
|
|
273
|
+
{selectedCategory?.Data?.Questions.length > 0 && (
|
|
274
|
+
<Button onClick={() => form.submit()}>{
|
|
275
|
+
t('components.categoryResponse.answer')
|
|
276
|
+
}</Button>
|
|
274
277
|
)}
|
|
275
278
|
</Form>
|
|
276
279
|
</div>
|
package/src/locales/en.json
CHANGED
package/src/locales/es.json
CHANGED