@omniumretail/component-library 1.0.45 → 1.0.46

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_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.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_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.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_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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9DYXRlZ29yeVJlc3BvbnNlL2luZGV4LnRzeC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2xpYi8uL3NyYy9jb21wb25lbnRzL0NhdGVnb3J5UmVzcG9uc2UvaW5kZXgudHN4PzI2NDAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXNzaWduID0gKHRoaXMgJiYgdGhpcy5fX2Fzc2lnbikgfHwgZnVuY3Rpb24gKCkge1xuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbih0KSB7XG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSlcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdDtcbiAgICB9O1xuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcbnZhciBfX3NwcmVhZEFycmF5ID0gKHRoaXMgJiYgdGhpcy5fX3NwcmVhZEFycmF5KSB8fCBmdW5jdGlvbiAodG8sIGZyb20sIHBhY2spIHtcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vc3R5bGVzLm1vZHVsZS5zY3NzJztcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VGb3JtIH0gZnJvbSAnYW50ZC9lcy9mb3JtL0Zvcm0nO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFRleHRBcmVhIGZyb20gJ2FudGQvZXMvaW5wdXQvVGV4dEFyZWEnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vU2VsZWN0JztcbmltcG9ydCB7IGV2YWx1YXRpb25PcHRpb25zIH0gZnJvbSAnLi9ldmFsdWF0aW9uT3B0aW9ucyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuO1xudmFyIHVwZGF0ZUNhdGVnb3J5QW5zd2VycyA9IGZ1bmN0aW9uIChDYXRlZ29yeUFuc3dlcnMsIGNhdGVnb3J5VG9VcGRhdGUsIHVwZGF0ZWRRdWVzdGlvbnMpIHtcbiAgICBDYXRlZ29yeUFuc3dlcnMuZm9yRWFjaChmdW5jdGlvbiAoY2F0ZWdvcnkpIHtcbiAgICAgICAgaWYgKGNhdGVnb3J5LkRhdGEuQ2F0ZWdvcnlJZCA9PT0gY2F0ZWdvcnlUb1VwZGF0ZS5DYXRlZ29yeUlkKSB7XG4gICAgICAgICAgICBjYXRlZ29yeS5EYXRhLlF1ZXN0aW9ucyA9IGNhdGVnb3J5LkRhdGEuUXVlc3Rpb25zLm1hcChmdW5jdGlvbiAocXVlc3Rpb24sIGluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBxdWVzdGlvbiksIHsgQW5zd2VyOiB1cGRhdGVkUXVlc3Rpb25zW2luZGV4XS5BbnN3ZXIgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChjYXRlZ29yeS5DaGlsZHJlbiAmJiBjYXRlZ29yeS5DaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB1cGRhdGVDYXRlZ29yeUFuc3dlcnMoY2F0ZWdvcnkuQ2hpbGRyZW4sIGNhdGVnb3J5VG9VcGRhdGUsIHVwZGF0ZWRRdWVzdGlvbnMpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIENhdGVnb3J5QW5zd2Vycztcbn07XG52YXIgZmluZENhdGVnb3J5V2l0aFF1ZXN0aW9ucyA9IGZ1bmN0aW9uIChjdXJyZW50S2V5LCBjYXRlZ29yaWVzLCBkaXJlY3Rpb24pIHtcbiAgICB2YXIgZm91bmRDdXJyZW50ID0gZmFsc2U7XG4gICAgdmFyIHNlYXJjaENhdGVnb3JpZXMgPSBmdW5jdGlvbiAoY2F0ZWdvcnlMaXN0LCBkaXJlY3Rpb24pIHtcbiAgICAgICAgdmFyIGl0ZXJhYmxlID0gZGlyZWN0aW9uID09PSAnbmV4dCcgPyBjYXRlZ29yeUxpc3QgOiBfX3NwcmVhZEFycmF5KFtdLCBjYXRlZ29yeUxpc3QsIHRydWUpLnJldmVyc2UoKTtcbiAgICAgICAgZm9yICh2YXIgX2kgPSAwLCBpdGVyYWJsZV8xID0gaXRlcmFibGU7IF9pIDwgaXRlcmFibGVfMS5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIHZhciBjYXRlZ29yeSA9IGl0ZXJhYmxlXzFbX2ldO1xuICAgICAgICAgICAgaWYgKGZvdW5kQ3VycmVudCkge1xuICAgICAgICAgICAgICAgIGlmIChjYXRlZ29yeS5EYXRhLlF1ZXN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjYXRlZ29yeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjYXRlZ29yeS5LZXkgPT09IGN1cnJlbnRLZXkpIHtcbiAgICAgICAgICAgICAgICBmb3VuZEN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNhdGVnb3J5LkNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHNlYXJjaENhdGVnb3JpZXMoY2F0ZWdvcnkuQ2hpbGRyZW4sIGRpcmVjdGlvbik7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICAgIHJldHVybiBzZWFyY2hDYXRlZ29yaWVzKGNhdGVnb3JpZXMsIGRpcmVjdGlvbik7XG59O1xudmFyIGdldENhdGVnb3J5T2JqZWN0ID0gZnVuY3Rpb24gKGN1cnJlbnRLZXksIGNhdGVnb3JpZXMsIGRpcmVjdGlvbikge1xuICAgIHZhciBjYXRlZ29yeSA9IGZpbmRDYXRlZ29yeVdpdGhRdWVzdGlvbnMoY3VycmVudEtleSwgY2F0ZWdvcmllcywgZGlyZWN0aW9uKTtcbiAgICByZXR1cm4gY2F0ZWdvcnkgPyBjYXRlZ29yeS5EYXRhIDogbnVsbDtcbn07XG52YXIgaGFzQ2F0ZWdvcnkgPSBmdW5jdGlvbiAoY3VycmVudEtleSwgY2F0ZWdvcmllcywgZGlyZWN0aW9uKSB7XG4gICAgdmFyIGNhdGVnb3J5ID0gZmluZENhdGVnb3J5V2l0aFF1ZXN0aW9ucyhjdXJyZW50S2V5LCBjYXRlZ29yaWVzLCBkaXJlY3Rpb24pO1xuICAgIHJldHVybiAhIWNhdGVnb3J5O1xufTtcbnZhciBnZXRUaXRsZVdpdGhRdWVzdGlvbkNvdW50ID0gZnVuY3Rpb24gKGNhdGVnb3J5KSB7XG4gICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgIHZhciBxdWVzdGlvbkNvdW50ID0gKF9iID0gKF9hID0gY2F0ZWdvcnkgPT09IG51bGwgfHwgY2F0ZWdvcnkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNhdGVnb3J5LkRhdGEpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5RdWVzdGlvbnMpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5sZW5ndGg7XG4gICAgdmFyIGFuc3dlcmVkUXVlc3Rpb25zID0gKF9kID0gKF9jID0gY2F0ZWdvcnkgPT09IG51bGwgfHwgY2F0ZWdvcnkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNhdGVnb3J5LkRhdGEpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5RdWVzdGlvbnMpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC5maWx0ZXIoZnVuY3Rpb24gKHF1ZXN0aW9uKSB7IHJldHVybiBxdWVzdGlvbi5BbnN3ZXIgIT09IG51bGwgJiYgcXVlc3Rpb24uQW5zd2VyICE9PSB1bmRlZmluZWQgJiYgcXVlc3Rpb24uQW5zd2VyICE9PSAnJzsgfSkubGVuZ3RoO1xuICAgIHJldHVybiBxdWVzdGlvbkNvdW50XG4gICAgICAgID8gXCJcIi5jb25jYXQoY2F0ZWdvcnkuVGl0bGUsIFwiIC0gXCIpLmNvbmNhdChhbnN3ZXJlZFF1ZXN0aW9ucywgXCIgLyBcIikuY29uY2F0KHF1ZXN0aW9uQ291bnQpXG4gICAgICAgIDogY2F0ZWdvcnkuVGl0bGU7XG59O1xuZXhwb3J0IHZhciBDYXRlZ29yeVJlc3BvbnNlID0gUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiAocHJvcHMsIHJlZikge1xuICAgIHZhciBfYTtcbiAgICB2YXIgX2IsIF9jLCBfZCwgX2UsIF9mO1xuICAgIHZhciBkYXRhID0gcHJvcHMuZGF0YTtcbiAgICB2YXIgX2cgPSB1c2VTdGF0ZShkYXRhLkNhdGVnb3J5QW5zd2Vyc1swXS5LZXkpLCBjdXJyZW50S2V5ID0gX2dbMF0sIHNldEN1cnJlbnRLZXkgPSBfZ1sxXTtcbiAgICB2YXIgX2ggPSB1c2VTdGF0ZShkYXRhKSwgbG9jYWxEYXRhID0gX2hbMF0sIHNldExvY2FsRGF0YSA9IF9oWzFdO1xuICAgIC8vIFNldHRpbmcgZmlyc3Qgc2V0IG9mIHF1ZXN0aW9ucyBhcyBkZWZhdWx0IG9wZW5cbiAgICB2YXIgX2ogPSB1c2VTdGF0ZShkYXRhLkNhdGVnb3J5QW5zd2Vyc1swXSksIHNlbGVjdGVkQ2F0ZWdvcnkgPSBfalswXSwgc2V0U2VsZWN0ZWRDYXRlZ29yeSA9IF9qWzFdO1xuICAgIHZhciBfayA9IHVzZVN0YXRlKGRhdGEuQ2F0ZWdvcnlBbnN3ZXJzWzBdLkRhdGEpLCBpbml0aWFsVmFsdWVzID0gX2tbMF0sIHNldEluaXRpYWxWYWx1ZXMgPSBfa1sxXTtcbiAgICB2YXIgZm9ybSA9IHVzZUZvcm0oKVswXTtcbiAgICB2YXIgdXBkYXRlSW5pdGlhbFZhbHVlcyA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHZhciBRdWVzdGlvbnMgPSBkYXRhLlF1ZXN0aW9ucywgT3BlbkFuc3dlciA9IGRhdGEuT3BlbkFuc3dlcjtcbiAgICAgICAgdmFyIGluaXRpYWwgPSB7XG4gICAgICAgICAgICBRdWVzdGlvbnM6IFF1ZXN0aW9ucy5tYXAoZnVuY3Rpb24gKHF1ZXN0aW9uKSB7IHJldHVybiAoe1xuICAgICAgICAgICAgICAgIFN1YmplY3Q6IHF1ZXN0aW9uLlN1YmplY3QsXG4gICAgICAgICAgICAgICAgRGVzY3JpcHRpb246IHF1ZXN0aW9uLkRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIEFuc3dlcjogcXVlc3Rpb24uQW5zd2VyIHx8IFwiXCJcbiAgICAgICAgICAgIH0pOyB9KSxcbiAgICAgICAgICAgIE9wZW5BbnN3ZXI6IE9wZW5BbnN3ZXJcbiAgICAgICAgfTtcbiAgICAgICAgc2V0SW5pdGlhbFZhbHVlcyhpbml0aWFsKTtcbiAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZShpbml0aWFsKTtcbiAgICB9O1xuICAgIHZhciBoYW5kbGVMYWJlbENsaWNrID0gZnVuY3Rpb24gKGNhdGVnb3J5LCBpbmRleCkge1xuICAgICAgICBzZXRTZWxlY3RlZENhdGVnb3J5KGNhdGVnb3J5KTtcbiAgICAgICAgdXBkYXRlSW5pdGlhbFZhbHVlcyhjYXRlZ29yeS5EYXRhKTtcbiAgICAgICAgc2V0Q3VycmVudEtleShpbmRleCk7XG4gICAgfTtcbiAgICB2YXIgb25GaW5pc2ggPSBmdW5jdGlvbiAodmFsdWVzKSB7XG4gICAgICAgIHZhciB1cGRhdGVkUXVlc3Rpb25zID0gaW5pdGlhbFZhbHVlcy5RdWVzdGlvbnMubWFwKGZ1bmN0aW9uIChxdWVzdGlvbiwgaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcXVlc3Rpb24pLCB7IEFuc3dlcjogdmFsdWVzLlF1ZXN0aW9uc1tpbmRleF0uQW5zd2VyIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHVwZGF0ZWRDYXRlZ29yeSA9IHVwZGF0ZUNhdGVnb3J5QW5zd2Vycyhsb2NhbERhdGEuQ2F0ZWdvcnlBbnN3ZXJzLCBzZWxlY3RlZENhdGVnb3J5LkRhdGEsIHVwZGF0ZWRRdWVzdGlvbnMpO1xuICAgICAgICB2YXIgdXBkYXRlZExvY2FsRGF0YSA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCBsb2NhbERhdGEpLCB7IENhdGVnb3J5QW5zd2VyczogdXBkYXRlZENhdGVnb3J5IH0pO1xuICAgICAgICBzZXRMb2NhbERhdGEodXBkYXRlZExvY2FsRGF0YSk7XG4gICAgfTtcbiAgICB2YXIgcmVuZGVyQ2F0ZWdvcmllcyA9IGZ1bmN0aW9uIChjYXRlZ29yaWVzKSB7XG4gICAgICAgIHJldHVybiBjYXRlZ29yaWVzLm1hcChmdW5jdGlvbiAoY2F0ZWdvcnksIGluZGV4KSB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICB2YXIgbGFiZWxDbGFzc2VzID0gY2xhc3NOYW1lcygoX2EgPSB7fSxcbiAgICAgICAgICAgICAgICBfYVtzdHlsZXMuY3Vyc29yUG9pbnRlcl0gPSBjYXRlZ29yeS5EYXRhLlF1ZXN0aW9ucy5sZW5ndGggPiAwLFxuICAgICAgICAgICAgICAgIF9hKSwgW3N0eWxlcy5sYWJlbF0pO1xuICAgICAgICAgICAgdmFyIGluZGV4Q2hlY2sgPSBjYXRlZ29yeS5EYXRhLlF1ZXN0aW9ucy5sZW5ndGggPiAwICYmIGNhdGVnb3J5LktleTtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IFwiXCIuY29uY2F0KHN0eWxlcy5sYWJlbFdyYXBwZXIsIFwiIFwiKS5jb25jYXQoY2F0ZWdvcnkuRGF0YS5DYXRlZ29yeUlkID09PSBzZWxlY3RlZENhdGVnb3J5LkRhdGEuQ2F0ZWdvcnlJZCA/IHN0eWxlcy5hY3RpdmUgOiBcIlwiKSB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogbGFiZWxDbGFzc2VzLCBcImRhdGEtaW5kZXhcIjogaW5kZXhDaGVjaywgb25DbGljazogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2F0ZWdvcnkuRGF0YS5RdWVzdGlvbnMubGVuZ3RoID4gMCAmJiBoYW5kbGVMYWJlbENsaWNrKGNhdGVnb3J5LCBpbmRleENoZWNrKTsgfSB9LCB7IGNoaWxkcmVuOiBnZXRUaXRsZVdpdGhRdWVzdGlvbkNvdW50KGNhdGVnb3J5KSB9KSksIGNhdGVnb3J5LkNoaWxkcmVuICYmIChfanN4KFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuc3ViQ2F0ZWdvcnkgfSwgeyBjaGlsZHJlbjogcmVuZGVyQ2F0ZWdvcmllcyhjYXRlZ29yeS5DaGlsZHJlbikgfSkpKV0gfSksIGluZGV4KSk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgdmFyIGhhbmRsZU5leHRDbGljayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG5leHRDYXRlZ29yeSA9IGZpbmRDYXRlZ29yeVdpdGhRdWVzdGlvbnMoY3VycmVudEtleSwgbG9jYWxEYXRhLkNhdGVnb3J5QW5zd2VycywgJ25leHQnKTtcbiAgICAgICAgaWYgKG5leHRDYXRlZ29yeSkge1xuICAgICAgICAgICAgc2V0Q3VycmVudEtleShuZXh0Q2F0ZWdvcnkuS2V5KTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnkobmV4dENhdGVnb3J5KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbmV4dENhdGVnb3J5RGF0YSA9IGdldENhdGVnb3J5T2JqZWN0KGN1cnJlbnRLZXksIGxvY2FsRGF0YS5DYXRlZ29yeUFuc3dlcnMsICduZXh0Jyk7XG4gICAgICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnkobmV4dENhdGVnb3J5RGF0YSA/IF9fYXNzaWduKF9fYXNzaWduKHt9LCBuZXh0Q2F0ZWdvcnkpLCB7IGRhdGE6IG5leHRDYXRlZ29yeURhdGEgfSkgOiBudWxsKTtcbiAgICAgICAgdXBkYXRlSW5pdGlhbFZhbHVlcyhuZXh0Q2F0ZWdvcnlEYXRhKTtcbiAgICB9O1xuICAgIHZhciBoYW5kbGVQcmV2aW91c0NsaWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcHJldkNhdGVnb3J5ID0gZmluZENhdGVnb3J5V2l0aFF1ZXN0aW9ucyhjdXJyZW50S2V5LCBsb2NhbERhdGEuQ2F0ZWdvcnlBbnN3ZXJzLCAncHJldicpO1xuICAgICAgICBpZiAocHJldkNhdGVnb3J5KSB7XG4gICAgICAgICAgICBzZXRDdXJyZW50S2V5KHByZXZDYXRlZ29yeS5LZXkpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRDYXRlZ29yeShwcmV2Q2F0ZWdvcnkpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwcmV2Q2F0ZWdvcnlEYXRhID0gZ2V0Q2F0ZWdvcnlPYmplY3QoY3VycmVudEtleSwgbG9jYWxEYXRhLkNhdGVnb3J5QW5zd2VycywgJ3ByZXYnKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRDYXRlZ29yeShwcmV2Q2F0ZWdvcnlEYXRhID8gX19hc3NpZ24oX19hc3NpZ24oe30sIHByZXZDYXRlZ29yeSksIHsgZGF0YTogcHJldkNhdGVnb3J5RGF0YSB9KSA6IG51bGwpO1xuICAgICAgICB1cGRhdGVJbml0aWFsVmFsdWVzKHByZXZDYXRlZ29yeURhdGEpO1xuICAgIH07XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGZ1bmN0aW9uICgpIHsgcmV0dXJuICh7XG4gICAgICAgIGhhbmRsZU5leHRDbGljazogaGFuZGxlTmV4dENsaWNrLFxuICAgICAgICBoYW5kbGVQcmV2aW91c0NsaWNrOiBoYW5kbGVQcmV2aW91c0NsaWNrLFxuICAgIH0pOyB9KTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBwcm9wcy5zZXJ2ZXJSZWFkeURhdGEobG9jYWxEYXRhKTtcbiAgICB9LCBbbG9jYWxEYXRhXSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGhhc05leHQgPSBoYXNDYXRlZ29yeShjdXJyZW50S2V5LCBsb2NhbERhdGEuQ2F0ZWdvcnlBbnN3ZXJzLCAnbmV4dCcpO1xuICAgICAgICBwcm9wcy5vbk5leHRDYXRlZ29yeUF2YWlsYWJpbGl0eUNoYW5nZShoYXNOZXh0KTtcbiAgICAgICAgdmFyIGhhc1ByZXZpb3VzID0gaGFzQ2F0ZWdvcnkoY3VycmVudEtleSwgbG9jYWxEYXRhLkNhdGVnb3J5QW5zd2VycywgJ3ByZXYnKTtcbiAgICAgICAgcHJvcHMub25QcmV2aW91c0NhdGVnb3J5QXZhaWxhYmlsaXR5Q2hhbmdlKGhhc1ByZXZpb3VzKTtcbiAgICB9LCBbY3VycmVudEtleSwgbG9jYWxEYXRhLkNhdGVnb3J5QW5zd2VycywgcHJvcHNdKTtcbiAgICB2YXIgcXVlc3Rpb25XcmFwcGVyID0gY2xhc3NOYW1lcygoX2EgPSB7fSxcbiAgICAgICAgX2Fbc3R5bGVzLnF1ZXN0aW9uV3JhcHBlck9wZW5BbnN3ZXJdID0gc2VsZWN0ZWRDYXRlZ29yeS5EYXRhLk9wZW5BbnN3ZXIsXG4gICAgICAgIF9hKSwgW3N0eWxlcy5xdWVzdGlvbldyYXBwZXJdKTtcbiAgICAvLyBUaGlzIGdldHMgdGhlIHNjYWxlIHdlIHVzZSBmb3IgZWFjaCBzZWxlY3QgZnJvbSB0aGUgZGF0YWJhc2UgdXNpbmcgYSBrZXkgYmFzZWQgdmFyaWFibGUsaWYgXG4gICAgLy8gYW55IG5ldyBnZW5lcmFsRXZhbHVhdGlvbkxldmVsIGlzIGFkZGVkIHRvIHRoZSBiYWNrZW5kIHdlIG5lZWQgdG8gdXBkYXRlIG91ciBvd24gd2l0aG91dCBcbiAgICAvLyBkZWxldGluZyBhbnkgb2YgdGhlIHByZXZpb3VzIHNvIHdlIGRvbnQgbWVzcyB1cCB0aGUgcHJvamVjdCBoaXN0b3J5LlxuICAgIHZhciBzZWxlY3RlZEV2YWx1YXRpb25PcHRpb24gPSBcInNjYWxlX1wiLmNvbmNhdCgoX2IgPSBzZWxlY3RlZENhdGVnb3J5ID09PSBudWxsIHx8IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlbGVjdGVkQ2F0ZWdvcnkuRGF0YSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLkdlbmVyYWxFdmFsdWF0aW9uTGV2ZWwpO1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5jYXRlZ29yeVJlc3BvbnNlIH0sIHsgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLnNpZGViYXJXcmFwcGVyIH0sIHsgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMudGl0bGUgfSwgeyBjaGlsZHJlbjogXCJDYXRlZ29yaWFzXCIgfSkpLCByZW5kZXJDYXRlZ29yaWVzKGxvY2FsRGF0YS5DYXRlZ29yeUFuc3dlcnMpXSB9KSksIF9qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5jb250ZW50V3JhcHBlciB9LCB7IGNoaWxkcmVuOiBfanN4cyhGb3JtLCBfX2Fzc2lnbih7IGluaXRpYWxWYWx1ZXM6IGluaXRpYWxWYWx1ZXMsIG5hbWU6IFwiZHluYW1pY19mb3JtX25lc3RfaXRlbVwiLCBvbkZpbmlzaDogb25GaW5pc2gsIGF1dG9Db21wbGV0ZTogXCJvZmZcIiwgZm9ybTogZm9ybSB9LCB7IGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5kZXRhaWxzIH0sIHsgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuY2F0ZWdvcnlOYW1lIH0sIHsgY2hpbGRyZW46IChfYyA9IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IG51bGwgfHwgc2VsZWN0ZWRDYXRlZ29yeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VsZWN0ZWRDYXRlZ29yeS5EYXRhKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuQ2F0ZWdvcnlOYW1lIH0pKSwgX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLmNhdGVnb3J5RGVzY3JpcHRpb24gfSwgeyBjaGlsZHJlbjogKF9kID0gc2VsZWN0ZWRDYXRlZ29yeSA9PT0gbnVsbCB8fCBzZWxlY3RlZENhdGVnb3J5ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWxlY3RlZENhdGVnb3J5LkRhdGEpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC5EZXNjcmlwdGlvbiB9KSldIH0pKSwgKF9lID0gc2VsZWN0ZWRDYXRlZ29yeSA9PT0gbnVsbCB8fCBzZWxlY3RlZENhdGVnb3J5ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWxlY3RlZENhdGVnb3J5LkRhdGEpID09PSBudWxsIHx8IF9lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZS5RdWVzdGlvbnMubWFwKGZ1bmN0aW9uIChxdWVzdGlvbiwgaW5kZXgpIHsgcmV0dXJuIChfanN4cyhcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogcXVlc3Rpb25XcmFwcGVyIH0sIHsgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLnF1ZXN0aW9uIH0sIHsgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuc3ViamVjdCB9LCB7IGNoaWxkcmVuOiBxdWVzdGlvbi5TdWJqZWN0IH0pKSwgX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLmRlc2NyaXB0aW9uIH0sIHsgY2hpbGRyZW46IHF1ZXN0aW9uLkRlc2NyaXB0aW9uIH0pKV0gfSkpLCBfanN4KFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuYW5zd2VyIH0sIHsgY2hpbGRyZW46IHNlbGVjdGVkQ2F0ZWdvcnkuRGF0YS5PcGVuQW5zd2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfanN4KEZvcm0uSXRlbSwgX19hc3NpZ24oeyBuYW1lOiBbXCJRdWVzdGlvbnNcIiwgaW5kZXgsIFwiQW5zd2VyXCJdIH0sIHsgY2hpbGRyZW46IF9qc3goVGV4dEFyZWEsIHt9KSB9KSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goRm9ybS5JdGVtLCBfX2Fzc2lnbih7IG5hbWU6IFtcIlF1ZXN0aW9uc1wiLCBpbmRleCwgXCJBbnN3ZXJcIl0gfSwgeyBjaGlsZHJlbjogX2pzeChTZWxlY3QsIHsgb3B0aW9uczogZXZhbHVhdGlvbk9wdGlvbnNbc2VsZWN0ZWRFdmFsdWF0aW9uT3B0aW9uXSwgc3R5bGU6IHsgbWluV2lkdGg6ICcxMDAlJyB9IH0pIH0pKSB9KSldIH0pLCBpbmRleCkpOyB9KSwgKChfZiA9IHNlbGVjdGVkQ2F0ZWdvcnkgPT09IG51bGwgfHwgc2VsZWN0ZWRDYXRlZ29yeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VsZWN0ZWRDYXRlZ29yeS5EYXRhKSA9PT0gbnVsbCB8fCBfZiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2YuUXVlc3Rpb25zLmxlbmd0aCkgPiAwICYmIChfanN4KEJ1dHRvbiwgX19hc3NpZ24oeyBvbkNsaWNrOiBmdW5jdGlvbiAoKSB7IHJldHVybiBmb3JtLnN1Ym1pdCgpOyB9IH0sIHsgY2hpbGRyZW46IFwiQW5zd2VyXCIgfSkpKV0gfSkpIH0pKV0gfSkpKTtcbn0pO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/CategoryResponse/index.tsx\n");
10644
10644
 
10645
10645
  /***/ }),
10646
10646
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omniumretail/component-library",
3
- "version": "1.0.45",
3
+ "version": "1.0.46",
4
4
  "private": false,
5
5
  "main": "dist/bundle.js",
6
6
  "typings": "./dist/types/index",
@@ -63,119 +63,114 @@ const Template: Story<any> = (args) => {
63
63
  export const Primary = Template.bind({});
64
64
  Primary.args = {
65
65
  data: {
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
- "state": "Draft",
74
- "score": "0.000",
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
+ "State": "Draft",
74
+ "Score": "0.000",
75
+ "CategoryAnswers": [
76
76
  {
77
- "title": "Competências",
78
- "key": "1",
79
- "data": {
80
- "_id": "57A06838-67F9-4726-BC36-719A0C797484",
81
- "category_id": "CATEGORYID1",
82
- "categoryName": "Competências",
83
- "openAnswer": false,
84
- "generalEvaluationLevel": "2",
85
- "grade": "0",
86
- "description": "Inserir resposta numa escala numérica entre 1 e 5, sendo que 1 corresponde a “Mau” e 5 corresponde a “Excelente”",
87
- "score": "0.000",
88
- "questions": [
77
+ "Title": "Competências",
78
+ "Key": "1",
79
+ "Data": {
80
+ "Id": "57A06838-67F9-4726-BC36-719A0C797484",
81
+ "CategoryId": "CATEGORYID1",
82
+ "CategoryName": "Competências",
83
+ "OpenAnswer": false,
84
+ "GeneralEvaluationLevel": "2",
85
+ "Grade": "0",
86
+ "Description": "Inserir resposta numa escala numérica entre 1 e 5, sendo que 1 corresponde a “Mau” e 5 corresponde a “Excelente”",
87
+ "Score": "0.000",
88
+ "Questions": [
89
89
  {
90
- "_id": "65562A64-A24B-425A-A345-560238CA2468",
91
- "questionId": "7D17A8A5-E299-47D3-AB49-684135DB23A3",
92
- "subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elit",
93
- "description": "This is a description",
94
- "grade": "0",
95
- "numberAnswer": null,
96
- "answer": null
90
+ "Id": "65562A64-A24B-425A-A345-560238CA2468",
91
+ "QuestionId": "7D17A8A5-E299-47D3-AB49-684135DB23A3",
92
+ "Subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elit",
93
+ "Description": "This is a description",
94
+ "Grade": "0",
95
+ "Answer": null
97
96
  },
98
97
  {
99
- "_id": "85562A64-A24B-425A-A345-560238CA2468",
100
- "questionId": "8D17A8A5-E299-47D3-AB49-684135DB23A3",
101
- "subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elit",
102
- "description": "This is a description ",
103
- "grade": "0",
104
- "numberAnswer": null,
105
- "answer": null
98
+ "Id": "85562A64-A24B-425A-A345-560238CA2468",
99
+ "QuestionId": "8D17A8A5-E299-47D3-AB49-684135DB23A3",
100
+ "Subject": "Lorem ipsum dolor sit amet, consectetur adipiscing elit Lorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elit",
101
+ "Description": "This is a description ",
102
+ "Grade": "0",
103
+ "Answer": null
106
104
  }
107
105
  ]
108
106
  }
109
107
  },
110
108
  {
111
- "title": "Category 2",
112
- "key": "2",
113
- "data": {
114
- "_id": "57A06838-67F9-4726-BC36-719A0C797484",
115
- "category_id": "CATEGORYID2",
116
- "categoryName": "Category 2",
117
- "openAnswer": false,
118
- "generalEvaluationLevel": "0",
119
- "grade": "100",
120
- "description": "This is a description",
121
- "score": "0.000",
122
- "questions": []
109
+ "Title": "Category 2",
110
+ "Key": "2",
111
+ "Data": {
112
+ "Id": "57A06838-67F9-4726-BC36-719A0C797484",
113
+ "CategoryId": "CATEGORYID2",
114
+ "CategoryName": "Category 2",
115
+ "OpenAnswer": false,
116
+ "GeneralEvaluationLevel": "0",
117
+ "Grade": "100",
118
+ "Description": "This is a description",
119
+ "Score": "0.000",
120
+ "Questions": []
123
121
  },
124
- "children": [
122
+ "Children": [
125
123
  {
126
- "title": "Category 2.1",
127
- "key": "2.1",
128
- "data": {
129
- "_id": "57A06838-67F9-4726-BC36-719A0C797484",
130
- "category_id": "1CDED10D-0984-46D4-A9B3-7EC518D74A63",
131
- "categoryName": "Category 2.1",
132
- "openAnswer": false,
133
- "generalEvaluationLevel": "0",
134
- "grade": "50",
135
- "description": "This is a description",
136
- "score": "0.000",
137
- "questions": []
124
+ "Title": "Category 2.1",
125
+ "Key": "2.1",
126
+ "Data": {
127
+ "Id": "57A06838-67F9-4726-BC36-719A0C797484",
128
+ "CategoryId": "1CDED10D-0984-46D4-A9B3-7EC518D74A63",
129
+ "CategoryName": "Category 2.1",
130
+ "OpenAnswer": false,
131
+ "GeneralEvaluationLevel": "0",
132
+ "Grade": "50",
133
+ "Description": "This is a description",
134
+ "Score": "0.000",
135
+ "Questions": []
138
136
  },
139
- "children": [
137
+ "Children": [
140
138
  {
141
- "title": "Category 2.1.1",
142
- "key": "2.1.1",
143
- "data": {
144
- "_id": "37A06838-67F9-4726-BC36-719A0C797484",
145
- "category_id": "3CDED10D-0984-46D4-A9B3-7EC518D74A63",
146
- "categoryName": "Category 2.1.1",
147
- "openAnswer": false,
148
- "generalEvaluationLevel": "0",
149
- "grade": "50",
150
- "description": "This is a description",
151
- "score": "0.000",
152
- "questions": [
139
+ "Title": "Category 2.1.1",
140
+ "Key": "2.1.1",
141
+ "Data": {
142
+ "Id": "37A06838-67F9-4726-BC36-719A0C797484",
143
+ "CategoryId": "3CDED10D-0984-46D4-A9B3-7EC518D74A63",
144
+ "CategoryName": "Category 2.1.1",
145
+ "OpenAnswer": false,
146
+ "GeneralEvaluationLevel": "0",
147
+ "Grade": "50",
148
+ "Description": "This is a description",
149
+ "Score": "0.000",
150
+ "Questions": [
153
151
  {
154
- "_id": "365562A64-A24B-425A-A345-560238CA2468",
155
- "questionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
156
- "subject": "This is a subject",
157
- "description": "This is a description",
158
- "grade": "50",
159
- "numberAnswer": 4,
160
- "answer": null
152
+ "Id": "365562A64-A24B-425A-A345-560238CA2468",
153
+ "QuestionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
154
+ "Subject": "This is a Subject",
155
+ "Description": "This is a description",
156
+ "Grade": "50",
157
+ "Answer": null
161
158
  },
162
159
  {
163
- "_id": "35562A64-A24B-425A-A345-560238CA2468",
164
- "questionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
165
- "subject": "This is a subject",
166
- "description": "This is a description",
167
- "grade": "25",
168
- "numberAnswer": 4,
169
- "answer": null
160
+ "Id": "35562A64-A24B-425A-A345-560238CA2468",
161
+ "QuestionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
162
+ "Subject": "This is a Subject",
163
+ "Description": "This is a description",
164
+ "Grade": "25",
165
+ "Answer": null
170
166
  },
171
167
  {
172
- "_id": "35562A64-A24B-425A-A345-560238CA2468",
173
- "questionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
174
- "subject": "This is a subject",
175
- "description": "This is a description",
176
- "grade": "25",
177
- "numberAnswer": 3,
178
- "answer": null
168
+ "Id": "35562A64-A24B-425A-A345-560238CA2468",
169
+ "QuestionId": "3D17A8A5-E299-47D3-AB49-684135DB23A3",
170
+ "Subject": "This is a Subject",
171
+ "Description": "This is a description",
172
+ "Grade": "25",
173
+ "Answer": null
179
174
  }
180
175
  ]
181
176
  }
@@ -183,72 +178,68 @@ Primary.args = {
183
178
  ]
184
179
  },
185
180
  {
186
- "title": "Category 2.2",
187
- "key": "2.2",
188
- "data": {
189
- "_id": "57A06838-67F9-4726-BC36-719A0C797484",
190
- "category_id": "PCDED10D-0984-46D4-A9B3-7EC518D74A63",
191
- "categoryName": "Category 2.2",
192
- "openAnswer": false,
193
- "generalEvaluationLevel": "0",
194
- "grade": "50",
195
- "description": "This is a description",
196
- "score": "0.000",
197
- "questions": [
181
+ "Title": "Category 2.2",
182
+ "Key": "2.2",
183
+ "Data": {
184
+ "Id": "57A06838-67F9-4726-BC36-719A0C797484",
185
+ "CategoryId": "PCDED10D-0984-46D4-A9B3-7EC518D74A63",
186
+ "CategoryName": "Category 2.2",
187
+ "OpenAnswer": false,
188
+ "GeneralEvaluationLevel": "0",
189
+ "Grade": "50",
190
+ "Description": "This is a description",
191
+ "Score": "0.000",
192
+ "Questions": [
198
193
  {
199
- "_id": "P5562A64-A24B-425A-A345-560238CA2468",
200
- "questionId": "PD17A8A5-E299-47D3-AB49-684135DB23A3",
201
- "subject": "This is a subject",
202
- "description": "This is a description",
203
- "grade": "50",
204
- "numberAnswer": 4,
205
- "answer": "2"
194
+ "Id": "P5562A64-A24B-425A-A345-560238CA2468",
195
+ "QuestionId": "PD17A8A5-E299-47D3-AB49-684135DB23A3",
196
+ "Subject": "This is a Subject",
197
+ "Description": "This is a description",
198
+ "Grade": "50",
199
+ "Answer": "2"
206
200
  },
207
201
  {
208
- "_id": "P5562A64-A24B-425A-A345-560238CA2468",
209
- "questionId": "PD17A8A5-E299-47D3-AB49-684135DB23A3",
210
- "subject": "This is a subject",
211
- "description": "This is a description",
212
- "grade": "50",
213
- "numberAnswer": 2,
214
- "answer": "5"
202
+ "Id": "P5562A64-A24B-425A-A345-560238CA2468",
203
+ "QuestionId": "PD17A8A5-E299-47D3-AB49-684135DB23A3",
204
+ "Subject": "This is a Subject",
205
+ "Description": "This is a description",
206
+ "Grade": "50",
207
+ "Answer": "5"
215
208
  }
216
209
  ]
217
210
  },
218
- "children": []
211
+ "Children": []
219
212
  }
220
213
  ]
221
214
  },
222
215
  {
223
- "title": "Category 3",
224
- "key": "3",
225
- "data": {
226
- "_id": "97A06838-67F9-4726-BC36-719A0C797484",
227
- "category_id": "CATEGORYID3",
228
- "categoryName": "Category 3",
229
- "openAnswer": true,
230
- "generalEvaluationLevel": "0",
231
- "grade": "0",
232
- "description": "This is a description",
233
- "score": "0.000",
234
- "questions": [
216
+ "Title": "Category 3",
217
+ "Key": "3",
218
+ "Data": {
219
+ "Id": "97A06838-67F9-4726-BC36-719A0C797484",
220
+ "CategoryId": "CATEGORYID3",
221
+ "CategoryName": "Category 3",
222
+ "OpenAnswer": true,
223
+ "GeneralEvaluationLevel": "0",
224
+ "Grade": "0",
225
+ "Description": "This is a description",
226
+ "Score": "0.000",
227
+ "Questions": [
235
228
  {
236
- "_id": "95562A64-A24B-425A-A345-560238CA2468",
237
- "questionId": "9D17A8A5-E299-47D3-AB49-684135DB23A3",
238
- "subject": "This is a subject",
239
- "description": "This is a description",
240
- "grade": "0",
241
- "numberAnswer": null,
242
- "answer": null
229
+ "Id": "95562A64-A24B-425A-A345-560238CA2468",
230
+ "QuestionId": "9D17A8A5-E299-47D3-AB49-684135DB23A3",
231
+ "Subject": "This is a Subject",
232
+ "Description": "This is a description",
233
+ "Grade": "0",
234
+ "Answer": null
243
235
  },
244
236
  {
245
- "_id": "93862A64-A24B-425A-A345-560238CA2468",
246
- "questionId": "9D38A8A5-E299-47D3-AB49-684135DB23A3",
247
- "subject": "This is a subject",
248
- "description": "This is a description",
249
- "grade": "0",
250
- "numberAnswer": null,
251
- "answer": null
237
+ "Id": "93862A64-A24B-425A-A345-560238CA2468",
238
+ "QuestionId": "9D38A8A5-E299-47D3-AB49-684135DB23A3",
239
+ "Subject": "This is a Subject",
240
+ "Description": "This is a description",
241
+ "Grade": "0",
242
+ "Answer": null
252
243
  }
253
244
  ]
254
245
  }
@@ -17,27 +17,27 @@ interface CategoryResponse {
17
17
  };
18
18
 
19
19
  type Category = {
20
- title: string;
21
- key: string;
22
- data: any;
23
- children?: Category[];
20
+ Title: string;
21
+ Key: string;
22
+ Data: any;
23
+ Children?: Category[];
24
24
  };
25
25
 
26
- const updateCategoryAnswers = (categoryAnswers: any[], categoryToUpdate: any, updatedQuestions: any) => {
27
- categoryAnswers.forEach((category: any) => {
28
- if (category.data.category_id === categoryToUpdate.category_id) {
29
- category.data.questions = category.data.questions.map((question: any, index: any) => {
26
+ const updateCategoryAnswers = (CategoryAnswers: any[], categoryToUpdate: any, updatedQuestions: any) => {
27
+ CategoryAnswers.forEach((category: any) => {
28
+ if (category.Data.CategoryId === categoryToUpdate.CategoryId) {
29
+ category.Data.Questions = category.Data.Questions.map((question: any, index: any) => {
30
30
  return {
31
31
  ...question,
32
- answer: updatedQuestions[index].answer
32
+ Answer: updatedQuestions[index].Answer
33
33
  };
34
34
  });
35
35
  }
36
- else if (category.children && category.children.length > 0) {
37
- updateCategoryAnswers(category.children, categoryToUpdate, updatedQuestions);
36
+ else if (category.Children && category.Children.length > 0) {
37
+ updateCategoryAnswers(category.Children, categoryToUpdate, updatedQuestions);
38
38
  }
39
39
  });
40
- return categoryAnswers;
40
+ return CategoryAnswers;
41
41
  };
42
42
 
43
43
  const findCategoryWithQuestions = (currentKey: string, categories: Category[], direction: 'next' | 'prev'): Category | null => {
@@ -48,15 +48,15 @@ const findCategoryWithQuestions = (currentKey: string, categories: Category[], d
48
48
 
49
49
  for (const category of iterable) {
50
50
  if (foundCurrent) {
51
- if (category.data.questions.length > 0) {
51
+ if (category.Data.Questions.length > 0) {
52
52
  return category;
53
53
  }
54
- } else if (category.key === currentKey) {
54
+ } else if (category.Key === currentKey) {
55
55
  foundCurrent = true;
56
56
  }
57
57
 
58
- if (category.children) {
59
- const result = searchCategories(category.children, direction);
58
+ if (category.Children) {
59
+ const result = searchCategories(category.Children, direction);
60
60
  if (result) {
61
61
  return result;
62
62
  }
@@ -70,7 +70,7 @@ const findCategoryWithQuestions = (currentKey: string, categories: Category[], d
70
70
 
71
71
  const getCategoryObject = (currentKey: string, categories: Category[], direction: 'next' | 'prev'): any => {
72
72
  const category = findCategoryWithQuestions(currentKey, categories, direction);
73
- return category ? category.data : null;
73
+ return category ? category.Data : null;
74
74
  };
75
75
 
76
76
  const hasCategory = (currentKey: string, categories: Category[], direction: 'next' | 'prev'): boolean => {
@@ -79,38 +79,38 @@ const hasCategory = (currentKey: string, categories: Category[], direction: 'nex
79
79
  };
80
80
 
81
81
  const getTitleWithQuestionCount = (category: any): string => {
82
- const questionCount = category?.data?.questions?.length;
83
- const answeredQuestions = category?.data?.questions?.filter((question: any) => question.answer !== null && question.answer !== undefined && question.answer !== '').length;
82
+ const questionCount = category?.Data?.Questions?.length;
83
+ const answeredQuestions = category?.Data?.Questions?.filter((question: any) => question.Answer !== null && question.Answer !== undefined && question.Answer !== '').length;
84
84
 
85
85
  return questionCount
86
- ? `${category.title} - ${answeredQuestions} / ${questionCount}`
87
- : category.title ;
86
+ ? `${category.Title} - ${answeredQuestions} / ${questionCount}`
87
+ : category.Title ;
88
88
  };
89
89
 
90
90
  export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref) => {
91
91
  const { data } = props;
92
92
 
93
- const [currentKey, setCurrentKey] = useState(data.categoryAnswers[0].key);
93
+ const [currentKey, setCurrentKey] = useState(data.CategoryAnswers[0].Key);
94
94
  const [localData, setLocalData] = useState<any>(data);
95
95
  // Setting first set of questions as default open
96
- const [selectedCategory, setSelectedCategory] = useState<any>(data.categoryAnswers[0]);
97
- const [initialValues, setInitialValues] = useState<any>(data.categoryAnswers[0].data);
96
+ const [selectedCategory, setSelectedCategory] = useState<any>(data.CategoryAnswers[0]);
97
+ const [initialValues, setInitialValues] = useState<any>(data.CategoryAnswers[0].Data);
98
98
  const [form] = useForm();
99
99
 
100
100
 
101
101
  const updateInitialValues = (data: any) => {
102
102
  const {
103
- questions,
104
- openAnswer
103
+ Questions,
104
+ OpenAnswer
105
105
  } = data;
106
106
 
107
107
  const initial = {
108
- questions: questions.map((question: any) => ({
109
- subject: question.subject,
110
- description: question.description,
111
- answer: question.answer || ""
108
+ Questions: Questions.map((question: any) => ({
109
+ Subject: question.Subject,
110
+ Description: question.Description,
111
+ Answer: question.Answer || ""
112
112
  })),
113
- openAnswer: openAnswer
113
+ OpenAnswer: OpenAnswer
114
114
  };
115
115
 
116
116
  setInitialValues(initial);
@@ -119,21 +119,21 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
119
119
 
120
120
  const handleLabelClick = (category: any, index: number) => {
121
121
  setSelectedCategory(category);
122
- updateInitialValues(category.data);
122
+ updateInitialValues(category.Data);
123
123
  setCurrentKey(index);
124
124
  };
125
125
 
126
126
  const onFinish = (values: any) => {
127
- const updatedQuestions = initialValues.questions.map((question: any, index: number) => {
127
+ const updatedQuestions = initialValues.Questions.map((question: any, index: number) => {
128
128
  return {
129
129
  ...question,
130
- answer: values.questions[index].answer
130
+ Answer: values.Questions[index].Answer
131
131
  };
132
132
  });
133
133
 
134
- const updatedCategory = updateCategoryAnswers(localData.categoryAnswers, selectedCategory.data, updatedQuestions);
134
+ const updatedCategory = updateCategoryAnswers(localData.CategoryAnswers, selectedCategory.Data, updatedQuestions);
135
135
 
136
- const updatedLocalData = { ...localData, categoryAnswers: updatedCategory };
136
+ const updatedLocalData = { ...localData, CategoryAnswers: updatedCategory };
137
137
 
138
138
  setLocalData(updatedLocalData);
139
139
  };
@@ -141,26 +141,26 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
141
141
  const renderCategories = (categories: any) => {
142
142
  return categories.map((category: any, index: number) => {
143
143
  const labelClasses = classNames({
144
- [styles.cursorPointer]: category.data.questions.length > 0
144
+ [styles.cursorPointer]: category.Data.Questions.length > 0
145
145
  }, [styles.label]);
146
146
 
147
- const indexCheck = category.data.questions.length > 0 && category.key;
147
+ const indexCheck = category.Data.Questions.length > 0 && category.Key;
148
148
 
149
149
  return (
150
150
  <div
151
- className={`${styles.labelWrapper} ${category.data.category_id === selectedCategory.data.category_id ? styles.active : ""}`}
151
+ className={`${styles.labelWrapper} ${category.Data.CategoryId === selectedCategory.Data.CategoryId ? styles.active : ""}`}
152
152
  key={index}
153
153
  >
154
154
  <div
155
155
  className={labelClasses}
156
156
  data-index={indexCheck}
157
- onClick={() => category.data.questions.length > 0 && handleLabelClick(category, indexCheck)}
157
+ onClick={() => category.Data.Questions.length > 0 && handleLabelClick(category, indexCheck)}
158
158
  >
159
159
  {getTitleWithQuestionCount(category)}
160
160
  </div>
161
- {category.children && (
161
+ {category.Children && (
162
162
  <div className={styles.subCategory}>
163
- {renderCategories(category.children)}
163
+ {renderCategories(category.Children)}
164
164
  </div>
165
165
  )}
166
166
  </div>
@@ -169,25 +169,25 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
169
169
  };
170
170
 
171
171
  const handleNextClick = () => {
172
- const nextCategory = findCategoryWithQuestions(currentKey, localData.categoryAnswers, 'next');
172
+ const nextCategory = findCategoryWithQuestions(currentKey, localData.CategoryAnswers, 'next');
173
173
  if (nextCategory) {
174
- setCurrentKey(nextCategory.key);
174
+ setCurrentKey(nextCategory.Key);
175
175
  setSelectedCategory(nextCategory);
176
176
  }
177
177
 
178
- const nextCategoryData = getCategoryObject(currentKey, localData.categoryAnswers, 'next');
178
+ const nextCategoryData = getCategoryObject(currentKey, localData.CategoryAnswers, 'next');
179
179
  setSelectedCategory(nextCategoryData ? { ...nextCategory, data: nextCategoryData } : null);
180
180
  updateInitialValues(nextCategoryData);
181
181
  };
182
182
 
183
183
  const handlePreviousClick = () => {
184
- const prevCategory = findCategoryWithQuestions(currentKey, localData.categoryAnswers, 'prev');
184
+ const prevCategory = findCategoryWithQuestions(currentKey, localData.CategoryAnswers, 'prev');
185
185
  if (prevCategory) {
186
- setCurrentKey(prevCategory.key);
186
+ setCurrentKey(prevCategory.Key);
187
187
  setSelectedCategory(prevCategory);
188
188
  }
189
189
 
190
- const prevCategoryData = getCategoryObject(currentKey, localData.categoryAnswers, 'prev');
190
+ const prevCategoryData = getCategoryObject(currentKey, localData.CategoryAnswers, 'prev');
191
191
  setSelectedCategory(prevCategoryData ? { ...prevCategory, data: prevCategoryData } : null);
192
192
  updateInitialValues(prevCategoryData);
193
193
  };
@@ -202,27 +202,27 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
202
202
  }, [localData]);
203
203
 
204
204
  useEffect(() => {
205
- const hasNext = hasCategory(currentKey, localData.categoryAnswers, 'next');
205
+ const hasNext = hasCategory(currentKey, localData.CategoryAnswers, 'next');
206
206
  props.onNextCategoryAvailabilityChange(hasNext);
207
207
 
208
- const hasPrevious = hasCategory(currentKey, localData.categoryAnswers, 'prev');
208
+ const hasPrevious = hasCategory(currentKey, localData.CategoryAnswers, 'prev');
209
209
  props.onPreviousCategoryAvailabilityChange(hasPrevious);
210
- }, [currentKey, localData.categoryAnswers, props]);
210
+ }, [currentKey, localData.CategoryAnswers, props]);
211
211
 
212
212
  const questionWrapper = classNames({
213
- [styles.questionWrapperOpenAnswer]: selectedCategory.data.openAnswer,
213
+ [styles.questionWrapperOpenAnswer]: selectedCategory.Data.OpenAnswer,
214
214
  }, [styles.questionWrapper]);
215
215
 
216
216
  // This gets the scale we use for each select from the database using a key based variable,if
217
217
  // any new generalEvaluationLevel is added to the backend we need to update our own without
218
218
  // deleting any of the previous so we dont mess up the project history.
219
- const selectedEvaluationOption = `scale_${selectedCategory?.data?.generalEvaluationLevel}` as keyof typeof evaluationOptions;
219
+ const selectedEvaluationOption = `scale_${selectedCategory?.Data?.GeneralEvaluationLevel}` as keyof typeof evaluationOptions;
220
220
 
221
221
  return (
222
222
  <div className={styles.categoryResponse}>
223
223
  <div className={styles.sidebarWrapper}>
224
224
  <div className={styles.title}>Categorias</div>
225
- {renderCategories(localData.categoryAnswers)}
225
+ {renderCategories(localData.CategoryAnswers)}
226
226
  </div>
227
227
  <div className={styles.contentWrapper}>
228
228
  <Form
@@ -234,31 +234,31 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
234
234
  >
235
235
  <div className={styles.details}>
236
236
  <div className={styles.categoryName}>
237
- {selectedCategory?.data?.categoryName}
237
+ {selectedCategory?.Data?.CategoryName}
238
238
  </div>
239
239
  <div className={styles.categoryDescription}>
240
- {selectedCategory?.data?.description}
240
+ {selectedCategory?.Data?.Description}
241
241
  </div>
242
242
  </div>
243
- {selectedCategory?.data?.questions.map((question: any, index: number) => (
243
+ {selectedCategory?.Data?.Questions.map((question: any, index: number) => (
244
244
  <div className={questionWrapper} key={index}>
245
245
  <div className={styles.question}>
246
246
  <div className={styles.subject}>
247
- {question.subject}
247
+ {question.Subject}
248
248
  </div>
249
249
  <div className={styles.description}>
250
- {question.description}
250
+ {question.Description}
251
251
  </div>
252
252
  </div>
253
253
  <div className={styles.answer}>
254
- {selectedCategory.data.openAnswer
254
+ {selectedCategory.Data.OpenAnswer
255
255
  ? <Form.Item
256
- name={["questions", index, "answer"]}
256
+ name={["Questions", index, "Answer"]}
257
257
  >
258
258
  <TextArea />
259
259
  </Form.Item>
260
260
  : <Form.Item
261
- name={["questions", index, "answer"]}
261
+ name={["Questions", index, "Answer"]}
262
262
  >
263
263
  <Select options={evaluationOptions[selectedEvaluationOption]}
264
264
  style={{ minWidth: '100%' }}
@@ -269,7 +269,7 @@ export const CategoryResponse = React.forwardRef((props: CategoryResponse, ref)
269
269
  </div>
270
270
  ))}
271
271
 
272
- {selectedCategory?.data?.questions.length > 0 && (
272
+ {selectedCategory?.Data?.Questions.length > 0 && (
273
273
  <Button onClick={() => form.submit()}>Answer</Button>
274
274
  )}
275
275
  </Form>