@omniumretail/component-library 1.0.54 → 1.0.56
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
|
@@ -10618,7 +10618,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
10618
10618
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10619
10619
|
|
|
10620
10620
|
"use strict";
|
|
10621
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CategorySidebar\": function() { return /* binding */ CategorySidebar; }\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 react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/tree/index.js\");\n/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./styles.module.scss */ \"./src/components/Category/CategorySidebar/styles.module.scss\");\n/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ant-design/icons */ \"./node_modules/@ant-design/icons/es/icons/PlusOutlined.js\");\n/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Button */ \"./src/components/Button/index.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\nfunction get_element_by_index(data, index) {\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var item = data_1[_i];\n if (item.key === index) {\n return item;\n }\n else if (item.children) {\n var result = get_element_by_index(item.children, index);\n if (result !== null) {\n return result;\n }\n }\n }\n return null;\n}\nfunction addPropertyByIndex(data, index, property, value) {\n return data.map(function (item) {\n var _a;\n if (item.key === index) {\n return __assign(__assign({}, item), (_a = {}, _a[property] = value, _a));\n }\n else if (item.children) {\n return __assign(__assign({}, item), { children: addPropertyByIndex(item.children, index, property, value) });\n }\n return item;\n });\n}\nvar CategorySidebar = function (props) {\n var categoryContentData = props.categoryContentData, categoryContentFinalData = props.categoryContentFinalData, data = props.data;\n var _a = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(data), gData = _a[0], setGData = _a[1];\n var expandedKeys = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([])[0];\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(), sidebarInfo = _b[0], setSidebarInfo = _b[1];\n var onDragEnter = function (info) {\n // expandedKeys\n // setExpandedKeys(info.expandedKeys)\n };\n var onDrop = function (info) {\n var dropKey = info.node.key;\n var dragKey = info.dragNode.key;\n var dropPos = info.node.pos.split('-');\n var dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);\n var nodeData = info.node.data;\n var questions = nodeData === null || nodeData === void 0 ? void 0 : nodeData.questions;\n if (questions && questions.length > 0) {\n console.log('you cant add a subcategory to a category with questions');\n return;\n }\n if (dropPos.length >= 4) {\n console.log('cant have more than 3 levels');\n return;\n }\n var loop = function (data, key, callback) {\n for (var i = 0; i < data.length; i++) {\n if (data[i].key === key) {\n return callback(data[i], i, data);\n }\n if (data[i].children) {\n loop(data[i].children, key, callback);\n }\n }\n };\n var data = __spreadArray([], gData, true);\n // Find dragObject\n var dragObj;\n loop(data, dragKey, function (item, index, arr) {\n arr.splice(index, 1);\n dragObj = item;\n });\n if (!info.dropToGap) {\n // Drop on the content\n loop(data, dropKey, function (item) {\n item.children = item.children || [];\n // where to insert\n item.children.unshift(dragObj);\n // {...dragObj, key: `${item.key}-${item.children.length}`}\n });\n }\n else if ((info.node.props.children || []).length > 0 && // Has children\n info.node.props.expanded && // Is expanded\n dropPosition === 1 // On the bottom gap\n ) {\n loop(data, dropKey, function (item) {\n item.children = item.children || [];\n // where to insert\n item.children.unshift(dragObj);\n // in previous version, we use item.children.push(dragObj) to insert the\n // item to the tail of the children\n });\n }\n else {\n var ar_1 = [];\n var i_1;\n loop(data, dropKey, function (_item, index, arr) {\n ar_1 = arr;\n i_1 = index;\n });\n if (dropPosition === -1) {\n ar_1.splice(i_1, 0, dragObj);\n }\n else {\n ar_1.splice(i_1 + 1, 0, dragObj);\n }\n }\n function generateCategoryKeys(categories, parentKey) {\n if (parentKey === void 0) { parentKey = ''; }\n var keyCounter = 0;\n return categories.map(function (category, index) {\n var categoryKey = \"\".concat(parentKey).concat(parentKey ? '.' : '').concat(keyCounter++);\n var children = [];\n if (category.children) {\n children = generateCategoryKeys(category.children, categoryKey);\n }\n return __assign(__assign({}, category), { key: categoryKey, children: children });\n });\n }\n setGData(generateCategoryKeys(data));\n };\n var onSelect = function (selectedKeys, info) {\n setSidebarInfo(selectedKeys);\n };\n var addCategory = function () {\n setGData(function (prevCategories) { return __spreadArray(__spreadArray([], prevCategories, true), [\n { title: \"New category\", key: \"\".concat(gData.length) },\n ], false); });\n };\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n props.categorySidebarInfo({\n selectKey: sidebarInfo,\n data: get_element_by_index(gData, sidebarInfo && sidebarInfo[0]),\n });\n }, [sidebarInfo]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n var newGData = addPropertyByIndex(gData, sidebarInfo && sidebarInfo[0], \"data\", categoryContentData);\n function updateCategoryTitles(categories) {\n return categories.map(function (category, index) {\n if (category === null || category === void 0 ? void 0 : category.data) {\n var updatedTitle = \"\".concat(category.data.categoryName, \" \").concat(category.data.questions ? '(Q: ' + category.data.questions.length + ')' : '', \" \").concat(category.data.grade ? '(G: ' + category.data.grade + ')' : '');\n var updatedChildren = category.children ? updateCategoryTitles(category.children) : null;\n return __assign(__assign({}, category), { title: updatedTitle, children: updatedChildren });\n }\n return category;\n });\n }\n var updatedGData = updateCategoryTitles(newGData);\n setGData(updatedGData);\n }, [categoryContentData]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n props.categorySidebarInfo({\n selectKey: sidebarInfo,\n data: get_element_by_index(gData, sidebarInfo && sidebarInfo[0])\n });\n props.categoryContentFinalData(gData);\n }, [gData]);\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].categorySidebar }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].title }, { children: \"Categorias\" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Button__WEBPACK_IMPORTED_MODULE_3__.Button, __assign({ icon: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}), onClick: addCategory }, { children: \"Adicionar Categoria\" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].categoryViewer }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_5__[\"default\"], { className: \"draggable-tree\", defaultExpandedKeys: expandedKeys, draggable: true, blockNode: true, onDragEnter: onDragEnter, onDrop: onDrop, treeData: gData, onSelect: onSelect }) }))] })));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9DYXRlZ29yeS9DYXRlZ29yeVNpZGViYXIvaW5kZXgudHN4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9saWIvLi9zcmMvY29tcG9uZW50cy9DYXRlZ29yeS9DYXRlZ29yeVNpZGViYXIvaW5kZXgudHN4PzY0MzQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXNzaWduID0gKHRoaXMgJiYgdGhpcy5fX2Fzc2lnbikgfHwgZnVuY3Rpb24gKCkge1xuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbih0KSB7XG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSlcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdDtcbiAgICB9O1xuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcbnZhciBfX3NwcmVhZEFycmF5ID0gKHRoaXMgJiYgdGhpcy5fX3NwcmVhZEFycmF5KSB8fCBmdW5jdGlvbiAodG8sIGZyb20sIHBhY2spIHtcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVHJlZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuL3N0eWxlcy5tb2R1bGUuc2Nzcyc7XG5pbXBvcnQgeyBQbHVzT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi9CdXR0b24nO1xuZnVuY3Rpb24gZ2V0X2VsZW1lbnRfYnlfaW5kZXgoZGF0YSwgaW5kZXgpIHtcbiAgICBmb3IgKHZhciBfaSA9IDAsIGRhdGFfMSA9IGRhdGE7IF9pIDwgZGF0YV8xLmxlbmd0aDsgX2krKykge1xuICAgICAgICB2YXIgaXRlbSA9IGRhdGFfMVtfaV07XG4gICAgICAgIGlmIChpdGVtLmtleSA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSBnZXRfZWxlbWVudF9ieV9pbmRleChpdGVtLmNoaWxkcmVuLCBpbmRleCk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGFkZFByb3BlcnR5QnlJbmRleChkYXRhLCBpbmRleCwgcHJvcGVydHksIHZhbHVlKSB7XG4gICAgcmV0dXJuIGRhdGEubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGl0ZW0ua2V5ID09PSBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBpdGVtKSwgKF9hID0ge30sIF9hW3Byb3BlcnR5XSA9IHZhbHVlLCBfYSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgaXRlbSksIHsgY2hpbGRyZW46IGFkZFByb3BlcnR5QnlJbmRleChpdGVtLmNoaWxkcmVuLCBpbmRleCwgcHJvcGVydHksIHZhbHVlKSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbn1cbmV4cG9ydCB2YXIgQ2F0ZWdvcnlTaWRlYmFyID0gZnVuY3Rpb24gKHByb3BzKSB7XG4gICAgdmFyIGNhdGVnb3J5Q29udGVudERhdGEgPSBwcm9wcy5jYXRlZ29yeUNvbnRlbnREYXRhLCBjYXRlZ29yeUNvbnRlbnRGaW5hbERhdGEgPSBwcm9wcy5jYXRlZ29yeUNvbnRlbnRGaW5hbERhdGEsIGRhdGEgPSBwcm9wcy5kYXRhO1xuICAgIHZhciBfYSA9IHVzZVN0YXRlKGRhdGEpLCBnRGF0YSA9IF9hWzBdLCBzZXRHRGF0YSA9IF9hWzFdO1xuICAgIHZhciBleHBhbmRlZEtleXMgPSB1c2VTdGF0ZShbXSlbMF07XG4gICAgdmFyIF9iID0gdXNlU3RhdGUoKSwgc2lkZWJhckluZm8gPSBfYlswXSwgc2V0U2lkZWJhckluZm8gPSBfYlsxXTtcbiAgICB2YXIgb25EcmFnRW50ZXIgPSBmdW5jdGlvbiAoaW5mbykge1xuICAgICAgICAvLyBleHBhbmRlZEtleXNcbiAgICAgICAgLy8gc2V0RXhwYW5kZWRLZXlzKGluZm8uZXhwYW5kZWRLZXlzKVxuICAgIH07XG4gICAgdmFyIG9uRHJvcCA9IGZ1bmN0aW9uIChpbmZvKSB7XG4gICAgICAgIHZhciBkcm9wS2V5ID0gaW5mby5ub2RlLmtleTtcbiAgICAgICAgdmFyIGRyYWdLZXkgPSBpbmZvLmRyYWdOb2RlLmtleTtcbiAgICAgICAgdmFyIGRyb3BQb3MgPSBpbmZvLm5vZGUucG9zLnNwbGl0KCctJyk7XG4gICAgICAgIHZhciBkcm9wUG9zaXRpb24gPSBpbmZvLmRyb3BQb3NpdGlvbiAtIE51bWJlcihkcm9wUG9zW2Ryb3BQb3MubGVuZ3RoIC0gMV0pO1xuICAgICAgICB2YXIgbm9kZURhdGEgPSBpbmZvLm5vZGUuZGF0YTtcbiAgICAgICAgdmFyIHF1ZXN0aW9ucyA9IG5vZGVEYXRhID09PSBudWxsIHx8IG5vZGVEYXRhID09PSB2b2lkIDAgPyB2b2lkIDAgOiBub2RlRGF0YS5xdWVzdGlvbnM7XG4gICAgICAgIGlmIChxdWVzdGlvbnMgJiYgcXVlc3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd5b3UgY2FudCBhZGQgYSBzdWJjYXRlZ29yeSB0byBhIGNhdGVnb3J5IHdpdGggcXVlc3Rpb25zJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRyb3BQb3MubGVuZ3RoID49IDQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjYW50IGhhdmUgbW9yZSB0aGFuIDMgbGV2ZWxzJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGxvb3AgPSBmdW5jdGlvbiAoZGF0YSwga2V5LCBjYWxsYmFjaykge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGFbaV0ua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKGRhdGFbaV0sIGksIGRhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZGF0YVtpXS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBsb29wKGRhdGFbaV0uY2hpbGRyZW4sIGtleSwgY2FsbGJhY2spO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgdmFyIGRhdGEgPSBfX3NwcmVhZEFycmF5KFtdLCBnRGF0YSwgdHJ1ZSk7XG4gICAgICAgIC8vIEZpbmQgZHJhZ09iamVjdFxuICAgICAgICB2YXIgZHJhZ09iajtcbiAgICAgICAgbG9vcChkYXRhLCBkcmFnS2V5LCBmdW5jdGlvbiAoaXRlbSwgaW5kZXgsIGFycikge1xuICAgICAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICBkcmFnT2JqID0gaXRlbTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghaW5mby5kcm9wVG9HYXApIHtcbiAgICAgICAgICAgIC8vIERyb3Agb24gdGhlIGNvbnRlbnRcbiAgICAgICAgICAgIGxvb3AoZGF0YSwgZHJvcEtleSwgZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gaXRlbS5jaGlsZHJlbiB8fCBbXTtcbiAgICAgICAgICAgICAgICAvLyB3aGVyZSB0byBpbnNlcnRcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuLnVuc2hpZnQoZHJhZ09iaik7XG4gICAgICAgICAgICAgICAgLy8gey4uLmRyYWdPYmosIGtleTogYCR7aXRlbS5rZXl9LSR7aXRlbS5jaGlsZHJlbi5sZW5ndGh9YH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKChpbmZvLm5vZGUucHJvcHMuY2hpbGRyZW4gfHwgW10pLmxlbmd0aCA+IDAgJiYgLy8gSGFzIGNoaWxkcmVuXG4gICAgICAgICAgICBpbmZvLm5vZGUucHJvcHMuZXhwYW5kZWQgJiYgLy8gSXMgZXhwYW5kZWRcbiAgICAgICAgICAgIGRyb3BQb3NpdGlvbiA9PT0gMSAvLyBPbiB0aGUgYm90dG9tIGdhcFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGxvb3AoZGF0YSwgZHJvcEtleSwgZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gaXRlbS5jaGlsZHJlbiB8fCBbXTtcbiAgICAgICAgICAgICAgICAvLyB3aGVyZSB0byBpbnNlcnRcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuLnVuc2hpZnQoZHJhZ09iaik7XG4gICAgICAgICAgICAgICAgLy8gaW4gcHJldmlvdXMgdmVyc2lvbiwgd2UgdXNlIGl0ZW0uY2hpbGRyZW4ucHVzaChkcmFnT2JqKSB0byBpbnNlcnQgdGhlXG4gICAgICAgICAgICAgICAgLy8gaXRlbSB0byB0aGUgdGFpbCBvZiB0aGUgY2hpbGRyZW5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGFyXzEgPSBbXTtcbiAgICAgICAgICAgIHZhciBpXzE7XG4gICAgICAgICAgICBsb29wKGRhdGEsIGRyb3BLZXksIGZ1bmN0aW9uIChfaXRlbSwgaW5kZXgsIGFycikge1xuICAgICAgICAgICAgICAgIGFyXzEgPSBhcnI7XG4gICAgICAgICAgICAgICAgaV8xID0gaW5kZXg7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChkcm9wUG9zaXRpb24gPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgYXJfMS5zcGxpY2UoaV8xLCAwLCBkcmFnT2JqKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGFyXzEuc3BsaWNlKGlfMSArIDEsIDAsIGRyYWdPYmopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGdlbmVyYXRlQ2F0ZWdvcnlLZXlzKGNhdGVnb3JpZXMsIHBhcmVudEtleSkge1xuICAgICAgICAgICAgaWYgKHBhcmVudEtleSA9PT0gdm9pZCAwKSB7IHBhcmVudEtleSA9ICcnOyB9XG4gICAgICAgICAgICB2YXIga2V5Q291bnRlciA9IDA7XG4gICAgICAgICAgICByZXR1cm4gY2F0ZWdvcmllcy5tYXAoZnVuY3Rpb24gKGNhdGVnb3J5LCBpbmRleCkge1xuICAgICAgICAgICAgICAgIHZhciBjYXRlZ29yeUtleSA9IFwiXCIuY29uY2F0KHBhcmVudEtleSkuY29uY2F0KHBhcmVudEtleSA/ICcuJyA6ICcnKS5jb25jYXQoa2V5Q291bnRlcisrKTtcbiAgICAgICAgICAgICAgICB2YXIgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgICAgICBpZiAoY2F0ZWdvcnkuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4gPSBnZW5lcmF0ZUNhdGVnb3J5S2V5cyhjYXRlZ29yeS5jaGlsZHJlbiwgY2F0ZWdvcnlLZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gX19hc3NpZ24oX19hc3NpZ24oe30sIGNhdGVnb3J5KSwgeyBrZXk6IGNhdGVnb3J5S2V5LCBjaGlsZHJlbjogY2hpbGRyZW4gfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzZXRHRGF0YShnZW5lcmF0ZUNhdGVnb3J5S2V5cyhkYXRhKSk7XG4gICAgfTtcbiAgICB2YXIgb25TZWxlY3QgPSBmdW5jdGlvbiAoc2VsZWN0ZWRLZXlzLCBpbmZvKSB7XG4gICAgICAgIHNldFNpZGViYXJJbmZvKHNlbGVjdGVkS2V5cyk7XG4gICAgfTtcbiAgICB2YXIgYWRkQ2F0ZWdvcnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNldEdEYXRhKGZ1bmN0aW9uIChwcmV2Q2F0ZWdvcmllcykgeyByZXR1cm4gX19zcHJlYWRBcnJheShfX3NwcmVhZEFycmF5KFtdLCBwcmV2Q2F0ZWdvcmllcywgdHJ1ZSksIFtcbiAgICAgICAgICAgIHsgdGl0bGU6IFwiTmV3IGNhdGVnb3J5XCIsIGtleTogXCJcIi5jb25jYXQoZ0RhdGEubGVuZ3RoKSB9LFxuICAgICAgICBdLCBmYWxzZSk7IH0pO1xuICAgIH07XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcHJvcHMuY2F0ZWdvcnlTaWRlYmFySW5mbyh7XG4gICAgICAgICAgICBzZWxlY3RLZXk6IHNpZGViYXJJbmZvLFxuICAgICAgICAgICAgZGF0YTogZ2V0X2VsZW1lbnRfYnlfaW5kZXgoZ0RhdGEsIHNpZGViYXJJbmZvICYmIHNpZGViYXJJbmZvWzBdKSxcbiAgICAgICAgfSk7XG4gICAgfSwgW3NpZGViYXJJbmZvXSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG5ld0dEYXRhID0gYWRkUHJvcGVydHlCeUluZGV4KGdEYXRhLCBzaWRlYmFySW5mbyAmJiBzaWRlYmFySW5mb1swXSwgXCJkYXRhXCIsIGNhdGVnb3J5Q29udGVudERhdGEpO1xuICAgICAgICBmdW5jdGlvbiB1cGRhdGVDYXRlZ29yeVRpdGxlcyhjYXRlZ29yaWVzKSB7XG4gICAgICAgICAgICByZXR1cm4gY2F0ZWdvcmllcy5tYXAoZnVuY3Rpb24gKGNhdGVnb3J5LCBpbmRleCkge1xuICAgICAgICAgICAgICAgIGlmIChjYXRlZ29yeSA9PT0gbnVsbCB8fCBjYXRlZ29yeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2F0ZWdvcnkuZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXBkYXRlZFRpdGxlID0gXCJcIi5jb25jYXQoY2F0ZWdvcnkuZGF0YS5jYXRlZ29yeU5hbWUsIFwiIFwiKS5jb25jYXQoY2F0ZWdvcnkuZGF0YS5xdWVzdGlvbnMgPyAnKFE6ICcgKyBjYXRlZ29yeS5kYXRhLnF1ZXN0aW9ucy5sZW5ndGggKyAnKScgOiAnJywgXCIgXCIpLmNvbmNhdChjYXRlZ29yeS5kYXRhLmdyYWRlID8gJyhHOiAnICsgY2F0ZWdvcnkuZGF0YS5ncmFkZSArICcpJyA6ICcnKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHVwZGF0ZWRDaGlsZHJlbiA9IGNhdGVnb3J5LmNoaWxkcmVuID8gdXBkYXRlQ2F0ZWdvcnlUaXRsZXMoY2F0ZWdvcnkuY2hpbGRyZW4pIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBjYXRlZ29yeSksIHsgdGl0bGU6IHVwZGF0ZWRUaXRsZSwgY2hpbGRyZW46IHVwZGF0ZWRDaGlsZHJlbiB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHVwZGF0ZWRHRGF0YSA9IHVwZGF0ZUNhdGVnb3J5VGl0bGVzKG5ld0dEYXRhKTtcbiAgICAgICAgc2V0R0RhdGEodXBkYXRlZEdEYXRhKTtcbiAgICB9LCBbY2F0ZWdvcnlDb250ZW50RGF0YV0pO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHByb3BzLmNhdGVnb3J5U2lkZWJhckluZm8oe1xuICAgICAgICAgICAgc2VsZWN0S2V5OiBzaWRlYmFySW5mbyxcbiAgICAgICAgICAgIGRhdGE6IGdldF9lbGVtZW50X2J5X2luZGV4KGdEYXRhLCBzaWRlYmFySW5mbyAmJiBzaWRlYmFySW5mb1swXSlcbiAgICAgICAgfSk7XG4gICAgICAgIHByb3BzLmNhdGVnb3J5Q29udGVudEZpbmFsRGF0YShnRGF0YSk7XG4gICAgfSwgW2dEYXRhXSk7XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLmNhdGVnb3J5U2lkZWJhciB9LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCBfX2Fzc2lnbih7IGNsYXNzTmFtZTogc3R5bGVzLnRpdGxlIH0sIHsgY2hpbGRyZW46IFwiQ2F0ZWdvcmlhc1wiIH0pKSwgX2pzeChCdXR0b24sIF9fYXNzaWduKHsgaWNvbjogX2pzeChQbHVzT3V0bGluZWQsIHt9KSwgb25DbGljazogYWRkQ2F0ZWdvcnkgfSwgeyBjaGlsZHJlbjogXCJBZGljaW9uYXIgQ2F0ZWdvcmlhXCIgfSkpLCBfanN4KFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuY2F0ZWdvcnlWaWV3ZXIgfSwgeyBjaGlsZHJlbjogX2pzeChUcmVlLCB7IGNsYXNzTmFtZTogXCJkcmFnZ2FibGUtdHJlZVwiLCBkZWZhdWx0RXhwYW5kZWRLZXlzOiBleHBhbmRlZEtleXMsIGRyYWdnYWJsZTogdHJ1ZSwgYmxvY2tOb2RlOiB0cnVlLCBvbkRyYWdFbnRlcjogb25EcmFnRW50ZXIsIG9uRHJvcDogb25Ecm9wLCB0cmVlRGF0YTogZ0RhdGEsIG9uU2VsZWN0OiBvblNlbGVjdCB9KSB9KSldIH0pKSk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/Category/CategorySidebar/index.tsx\n");
|
|
10621
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CategorySidebar\": function() { return /* binding */ CategorySidebar; }\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 react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/tree/index.js\");\n/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./styles.module.scss */ \"./src/components/Category/CategorySidebar/styles.module.scss\");\n/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ant-design/icons */ \"./node_modules/@ant-design/icons/es/icons/PlusOutlined.js\");\n/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Button */ \"./src/components/Button/index.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\nfunction get_element_by_index(data, index) {\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var item = data_1[_i];\n if (item.key === index) {\n return item;\n }\n else if (item.children) {\n var result = get_element_by_index(item.children, index);\n if (result !== null) {\n return result;\n }\n }\n }\n return null;\n}\nfunction addPropertyByIndex(data, index, property, value) {\n return data.map(function (item) {\n var _a;\n if (item.key === index) {\n return __assign(__assign({}, item), (_a = {}, _a[property] = value, _a));\n }\n else if (item.children) {\n return __assign(__assign({}, item), { children: addPropertyByIndex(item.children, index, property, value) });\n }\n return item;\n });\n}\nvar CategorySidebar = function (props) {\n var categoryContentData = props.categoryContentData, categoryContentFinalData = props.categoryContentFinalData, data = props.data;\n var _a = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(data), gData = _a[0], setGData = _a[1];\n var expandedKeys = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([])[0];\n var _b = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(), sidebarInfo = _b[0], setSidebarInfo = _b[1];\n var onDragEnter = function (info) {\n // expandedKeys\n // setExpandedKeys(info.expandedKeys)\n };\n var onDrop = function (info) {\n var dropKey = info.node.key;\n var dragKey = info.dragNode.key;\n var dropPos = info.node.pos.split('-');\n var dropPosition = info.dropPosition - Number(dropPos[dropPos.length - 1]);\n var nodeData = info.node.data;\n var questions = nodeData === null || nodeData === void 0 ? void 0 : nodeData.questions;\n if (questions && questions.length > 0) {\n // console.log('you cant add a subcategory to a category with questions');\n return;\n }\n if (dropPos.length > 4) {\n // console.log('cant have more than 3 levels');\n return;\n }\n var loop = function (data, key, callback) {\n for (var i = 0; i < data.length; i++) {\n if (data[i].key === key) {\n return callback(data[i], i, data);\n }\n if (data[i].children) {\n loop(data[i].children, key, callback);\n }\n }\n };\n var data = __spreadArray([], gData, true);\n // Find dragObject\n var dragObj;\n loop(data, dragKey, function (item, index, arr) {\n arr.splice(index, 1);\n dragObj = item;\n });\n if (!info.dropToGap) {\n // Drop on the content\n loop(data, dropKey, function (item) {\n item.children = item.children || [];\n // where to insert\n item.children.unshift(dragObj);\n // {...dragObj, key: `${item.key}-${item.children.length}`}\n });\n }\n else if ((info.node.props.children || []).length > 0 && // Has children\n info.node.props.expanded && // Is expanded\n dropPosition === 1 // On the bottom gap\n ) {\n loop(data, dropKey, function (item) {\n item.children = item.children || [];\n // where to insert\n item.children.unshift(dragObj);\n // in previous version, we use item.children.push(dragObj) to insert the\n // item to the tail of the children\n });\n }\n else {\n var ar_1 = [];\n var i_1;\n loop(data, dropKey, function (_item, index, arr) {\n ar_1 = arr;\n i_1 = index;\n });\n if (dropPosition === -1) {\n ar_1.splice(i_1, 0, dragObj);\n }\n else {\n ar_1.splice(i_1 + 1, 0, dragObj);\n }\n }\n function generateCategoryKeys(categories, parentKey) {\n if (parentKey === void 0) { parentKey = ''; }\n var keyCounter = 0;\n return categories.map(function (category, index) {\n var categoryKey = \"\".concat(parentKey).concat(parentKey ? '.' : '').concat(keyCounter++);\n var children = [];\n if (category.children) {\n children = generateCategoryKeys(category.children, categoryKey);\n }\n return __assign(__assign({}, category), { key: categoryKey, children: children });\n });\n }\n setGData(generateCategoryKeys(data));\n };\n var onSelect = function (selectedKeys, info) {\n setSidebarInfo(selectedKeys);\n };\n var addCategory = function () {\n setGData(function (prevCategories) { return __spreadArray(__spreadArray([], prevCategories, true), [\n { title: \"New category\", key: \"\".concat(gData.length) },\n ], false); });\n };\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n props.categorySidebarInfo({\n selectKey: sidebarInfo,\n data: get_element_by_index(gData, sidebarInfo && sidebarInfo[0]),\n });\n }, [sidebarInfo]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n var newGData = addPropertyByIndex(gData, sidebarInfo && sidebarInfo[0], \"data\", categoryContentData);\n function updateCategoryTitles(categories) {\n return categories.map(function (category, index) {\n if (category === null || category === void 0 ? void 0 : category.data) {\n var updatedTitle = \"\".concat(category.data.categoryName, \" \").concat(category.data.questions ? '(Q: ' + category.data.questions.length + ')' : '', \" \").concat(category.data.grade ? '(G: ' + category.data.grade + ')' : '');\n var updatedChildren = category.children ? updateCategoryTitles(category.children) : null;\n return __assign(__assign({}, category), { title: updatedTitle, children: updatedChildren });\n }\n return category;\n });\n }\n var updatedGData = updateCategoryTitles(newGData);\n setGData(updatedGData);\n }, [categoryContentData]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n props.categorySidebarInfo({\n selectKey: sidebarInfo,\n data: get_element_by_index(gData, sidebarInfo && sidebarInfo[0])\n });\n props.categoryContentFinalData(gData);\n }, [gData]);\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].categorySidebar }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].title }, { children: \"Categorias\" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Button__WEBPACK_IMPORTED_MODULE_3__.Button, __assign({ icon: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}), onClick: addCategory }, { children: \"Adicionar Categoria\" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].categoryViewer }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_5__[\"default\"], { className: \"draggable-tree\", defaultExpandedKeys: expandedKeys, draggable: true, blockNode: true, onDragEnter: onDragEnter, onDrop: onDrop, treeData: gData, onSelect: onSelect }) }))] })));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9DYXRlZ29yeS9DYXRlZ29yeVNpZGViYXIvaW5kZXgudHN4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9saWIvLi9zcmMvY29tcG9uZW50cy9DYXRlZ29yeS9DYXRlZ29yeVNpZGViYXIvaW5kZXgudHN4PzY0MzQiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXNzaWduID0gKHRoaXMgJiYgdGhpcy5fX2Fzc2lnbikgfHwgZnVuY3Rpb24gKCkge1xuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbih0KSB7XG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSlcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdDtcbiAgICB9O1xuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcbnZhciBfX3NwcmVhZEFycmF5ID0gKHRoaXMgJiYgdGhpcy5fX3NwcmVhZEFycmF5KSB8fCBmdW5jdGlvbiAodG8sIGZyb20sIHBhY2spIHtcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVHJlZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuL3N0eWxlcy5tb2R1bGUuc2Nzcyc7XG5pbXBvcnQgeyBQbHVzT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi9CdXR0b24nO1xuZnVuY3Rpb24gZ2V0X2VsZW1lbnRfYnlfaW5kZXgoZGF0YSwgaW5kZXgpIHtcbiAgICBmb3IgKHZhciBfaSA9IDAsIGRhdGFfMSA9IGRhdGE7IF9pIDwgZGF0YV8xLmxlbmd0aDsgX2krKykge1xuICAgICAgICB2YXIgaXRlbSA9IGRhdGFfMVtfaV07XG4gICAgICAgIGlmIChpdGVtLmtleSA9PT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSBnZXRfZWxlbWVudF9ieV9pbmRleChpdGVtLmNoaWxkcmVuLCBpbmRleCk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGFkZFByb3BlcnR5QnlJbmRleChkYXRhLCBpbmRleCwgcHJvcGVydHksIHZhbHVlKSB7XG4gICAgcmV0dXJuIGRhdGEubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGl0ZW0ua2V5ID09PSBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBpdGVtKSwgKF9hID0ge30sIF9hW3Byb3BlcnR5XSA9IHZhbHVlLCBfYSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgaXRlbSksIHsgY2hpbGRyZW46IGFkZFByb3BlcnR5QnlJbmRleChpdGVtLmNoaWxkcmVuLCBpbmRleCwgcHJvcGVydHksIHZhbHVlKSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbn1cbmV4cG9ydCB2YXIgQ2F0ZWdvcnlTaWRlYmFyID0gZnVuY3Rpb24gKHByb3BzKSB7XG4gICAgdmFyIGNhdGVnb3J5Q29udGVudERhdGEgPSBwcm9wcy5jYXRlZ29yeUNvbnRlbnREYXRhLCBjYXRlZ29yeUNvbnRlbnRGaW5hbERhdGEgPSBwcm9wcy5jYXRlZ29yeUNvbnRlbnRGaW5hbERhdGEsIGRhdGEgPSBwcm9wcy5kYXRhO1xuICAgIHZhciBfYSA9IHVzZVN0YXRlKGRhdGEpLCBnRGF0YSA9IF9hWzBdLCBzZXRHRGF0YSA9IF9hWzFdO1xuICAgIHZhciBleHBhbmRlZEtleXMgPSB1c2VTdGF0ZShbXSlbMF07XG4gICAgdmFyIF9iID0gdXNlU3RhdGUoKSwgc2lkZWJhckluZm8gPSBfYlswXSwgc2V0U2lkZWJhckluZm8gPSBfYlsxXTtcbiAgICB2YXIgb25EcmFnRW50ZXIgPSBmdW5jdGlvbiAoaW5mbykge1xuICAgICAgICAvLyBleHBhbmRlZEtleXNcbiAgICAgICAgLy8gc2V0RXhwYW5kZWRLZXlzKGluZm8uZXhwYW5kZWRLZXlzKVxuICAgIH07XG4gICAgdmFyIG9uRHJvcCA9IGZ1bmN0aW9uIChpbmZvKSB7XG4gICAgICAgIHZhciBkcm9wS2V5ID0gaW5mby5ub2RlLmtleTtcbiAgICAgICAgdmFyIGRyYWdLZXkgPSBpbmZvLmRyYWdOb2RlLmtleTtcbiAgICAgICAgdmFyIGRyb3BQb3MgPSBpbmZvLm5vZGUucG9zLnNwbGl0KCctJyk7XG4gICAgICAgIHZhciBkcm9wUG9zaXRpb24gPSBpbmZvLmRyb3BQb3NpdGlvbiAtIE51bWJlcihkcm9wUG9zW2Ryb3BQb3MubGVuZ3RoIC0gMV0pO1xuICAgICAgICB2YXIgbm9kZURhdGEgPSBpbmZvLm5vZGUuZGF0YTtcbiAgICAgICAgdmFyIHF1ZXN0aW9ucyA9IG5vZGVEYXRhID09PSBudWxsIHx8IG5vZGVEYXRhID09PSB2b2lkIDAgPyB2b2lkIDAgOiBub2RlRGF0YS5xdWVzdGlvbnM7XG4gICAgICAgIGlmIChxdWVzdGlvbnMgJiYgcXVlc3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd5b3UgY2FudCBhZGQgYSBzdWJjYXRlZ29yeSB0byBhIGNhdGVnb3J5IHdpdGggcXVlc3Rpb25zJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRyb3BQb3MubGVuZ3RoID4gNCkge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2NhbnQgaGF2ZSBtb3JlIHRoYW4gMyBsZXZlbHMnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbG9vcCA9IGZ1bmN0aW9uIChkYXRhLCBrZXksIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YVtpXS5rZXkgPT09IGtleSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZGF0YVtpXSwgaSwgZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChkYXRhW2ldLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvb3AoZGF0YVtpXS5jaGlsZHJlbiwga2V5LCBjYWxsYmFjayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB2YXIgZGF0YSA9IF9fc3ByZWFkQXJyYXkoW10sIGdEYXRhLCB0cnVlKTtcbiAgICAgICAgLy8gRmluZCBkcmFnT2JqZWN0XG4gICAgICAgIHZhciBkcmFnT2JqO1xuICAgICAgICBsb29wKGRhdGEsIGRyYWdLZXksIGZ1bmN0aW9uIChpdGVtLCBpbmRleCwgYXJyKSB7XG4gICAgICAgICAgICBhcnIuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIGRyYWdPYmogPSBpdGVtO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFpbmZvLmRyb3BUb0dhcCkge1xuICAgICAgICAgICAgLy8gRHJvcCBvbiB0aGUgY29udGVudFxuICAgICAgICAgICAgbG9vcChkYXRhLCBkcm9wS2V5LCBmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuIHx8IFtdO1xuICAgICAgICAgICAgICAgIC8vIHdoZXJlIHRvIGluc2VydFxuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4udW5zaGlmdChkcmFnT2JqKTtcbiAgICAgICAgICAgICAgICAvLyB7Li4uZHJhZ09iaiwga2V5OiBgJHtpdGVtLmtleX0tJHtpdGVtLmNoaWxkcmVuLmxlbmd0aH1gfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoKGluZm8ubm9kZS5wcm9wcy5jaGlsZHJlbiB8fCBbXSkubGVuZ3RoID4gMCAmJiAvLyBIYXMgY2hpbGRyZW5cbiAgICAgICAgICAgIGluZm8ubm9kZS5wcm9wcy5leHBhbmRlZCAmJiAvLyBJcyBleHBhbmRlZFxuICAgICAgICAgICAgZHJvcFBvc2l0aW9uID09PSAxIC8vIE9uIHRoZSBib3R0b20gZ2FwXG4gICAgICAgICkge1xuICAgICAgICAgICAgbG9vcChkYXRhLCBkcm9wS2V5LCBmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuIHx8IFtdO1xuICAgICAgICAgICAgICAgIC8vIHdoZXJlIHRvIGluc2VydFxuICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4udW5zaGlmdChkcmFnT2JqKTtcbiAgICAgICAgICAgICAgICAvLyBpbiBwcmV2aW91cyB2ZXJzaW9uLCB3ZSB1c2UgaXRlbS5jaGlsZHJlbi5wdXNoKGRyYWdPYmopIHRvIGluc2VydCB0aGVcbiAgICAgICAgICAgICAgICAvLyBpdGVtIHRvIHRoZSB0YWlsIG9mIHRoZSBjaGlsZHJlblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgYXJfMSA9IFtdO1xuICAgICAgICAgICAgdmFyIGlfMTtcbiAgICAgICAgICAgIGxvb3AoZGF0YSwgZHJvcEtleSwgZnVuY3Rpb24gKF9pdGVtLCBpbmRleCwgYXJyKSB7XG4gICAgICAgICAgICAgICAgYXJfMSA9IGFycjtcbiAgICAgICAgICAgICAgICBpXzEgPSBpbmRleDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGRyb3BQb3NpdGlvbiA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBhcl8xLnNwbGljZShpXzEsIDAsIGRyYWdPYmopO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYXJfMS5zcGxpY2UoaV8xICsgMSwgMCwgZHJhZ09iaik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZ2VuZXJhdGVDYXRlZ29yeUtleXMoY2F0ZWdvcmllcywgcGFyZW50S2V5KSB7XG4gICAgICAgICAgICBpZiAocGFyZW50S2V5ID09PSB2b2lkIDApIHsgcGFyZW50S2V5ID0gJyc7IH1cbiAgICAgICAgICAgIHZhciBrZXlDb3VudGVyID0gMDtcbiAgICAgICAgICAgIHJldHVybiBjYXRlZ29yaWVzLm1hcChmdW5jdGlvbiAoY2F0ZWdvcnksIGluZGV4KSB7XG4gICAgICAgICAgICAgICAgdmFyIGNhdGVnb3J5S2V5ID0gXCJcIi5jb25jYXQocGFyZW50S2V5KS5jb25jYXQocGFyZW50S2V5ID8gJy4nIDogJycpLmNvbmNhdChrZXlDb3VudGVyKyspO1xuICAgICAgICAgICAgICAgIHZhciBjaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgICAgIGlmIChjYXRlZ29yeS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IGdlbmVyYXRlQ2F0ZWdvcnlLZXlzKGNhdGVnb3J5LmNoaWxkcmVuLCBjYXRlZ29yeUtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgY2F0ZWdvcnkpLCB7IGtleTogY2F0ZWdvcnlLZXksIGNoaWxkcmVuOiBjaGlsZHJlbiB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHNldEdEYXRhKGdlbmVyYXRlQ2F0ZWdvcnlLZXlzKGRhdGEpKTtcbiAgICB9O1xuICAgIHZhciBvblNlbGVjdCA9IGZ1bmN0aW9uIChzZWxlY3RlZEtleXMsIGluZm8pIHtcbiAgICAgICAgc2V0U2lkZWJhckluZm8oc2VsZWN0ZWRLZXlzKTtcbiAgICB9O1xuICAgIHZhciBhZGRDYXRlZ29yeSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc2V0R0RhdGEoZnVuY3Rpb24gKHByZXZDYXRlZ29yaWVzKSB7IHJldHVybiBfX3NwcmVhZEFycmF5KF9fc3ByZWFkQXJyYXkoW10sIHByZXZDYXRlZ29yaWVzLCB0cnVlKSwgW1xuICAgICAgICAgICAgeyB0aXRsZTogXCJOZXcgY2F0ZWdvcnlcIiwga2V5OiBcIlwiLmNvbmNhdChnRGF0YS5sZW5ndGgpIH0sXG4gICAgICAgIF0sIGZhbHNlKTsgfSk7XG4gICAgfTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBwcm9wcy5jYXRlZ29yeVNpZGViYXJJbmZvKHtcbiAgICAgICAgICAgIHNlbGVjdEtleTogc2lkZWJhckluZm8sXG4gICAgICAgICAgICBkYXRhOiBnZXRfZWxlbWVudF9ieV9pbmRleChnRGF0YSwgc2lkZWJhckluZm8gJiYgc2lkZWJhckluZm9bMF0pLFxuICAgICAgICB9KTtcbiAgICB9LCBbc2lkZWJhckluZm9dKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgbmV3R0RhdGEgPSBhZGRQcm9wZXJ0eUJ5SW5kZXgoZ0RhdGEsIHNpZGViYXJJbmZvICYmIHNpZGViYXJJbmZvWzBdLCBcImRhdGFcIiwgY2F0ZWdvcnlDb250ZW50RGF0YSk7XG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZUNhdGVnb3J5VGl0bGVzKGNhdGVnb3JpZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBjYXRlZ29yaWVzLm1hcChmdW5jdGlvbiAoY2F0ZWdvcnksIGluZGV4KSB7XG4gICAgICAgICAgICAgICAgaWYgKGNhdGVnb3J5ID09PSBudWxsIHx8IGNhdGVnb3J5ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjYXRlZ29yeS5kYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB1cGRhdGVkVGl0bGUgPSBcIlwiLmNvbmNhdChjYXRlZ29yeS5kYXRhLmNhdGVnb3J5TmFtZSwgXCIgXCIpLmNvbmNhdChjYXRlZ29yeS5kYXRhLnF1ZXN0aW9ucyA/ICcoUTogJyArIGNhdGVnb3J5LmRhdGEucXVlc3Rpb25zLmxlbmd0aCArICcpJyA6ICcnLCBcIiBcIikuY29uY2F0KGNhdGVnb3J5LmRhdGEuZ3JhZGUgPyAnKEc6ICcgKyBjYXRlZ29yeS5kYXRhLmdyYWRlICsgJyknIDogJycpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXBkYXRlZENoaWxkcmVuID0gY2F0ZWdvcnkuY2hpbGRyZW4gPyB1cGRhdGVDYXRlZ29yeVRpdGxlcyhjYXRlZ29yeS5jaGlsZHJlbikgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX19hc3NpZ24oX19hc3NpZ24oe30sIGNhdGVnb3J5KSwgeyB0aXRsZTogdXBkYXRlZFRpdGxlLCBjaGlsZHJlbjogdXBkYXRlZENoaWxkcmVuIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY2F0ZWdvcnk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdXBkYXRlZEdEYXRhID0gdXBkYXRlQ2F0ZWdvcnlUaXRsZXMobmV3R0RhdGEpO1xuICAgICAgICBzZXRHRGF0YSh1cGRhdGVkR0RhdGEpO1xuICAgIH0sIFtjYXRlZ29yeUNvbnRlbnREYXRhXSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcHJvcHMuY2F0ZWdvcnlTaWRlYmFySW5mbyh7XG4gICAgICAgICAgICBzZWxlY3RLZXk6IHNpZGViYXJJbmZvLFxuICAgICAgICAgICAgZGF0YTogZ2V0X2VsZW1lbnRfYnlfaW5kZXgoZ0RhdGEsIHNpZGViYXJJbmZvICYmIHNpZGViYXJJbmZvWzBdKVxuICAgICAgICB9KTtcbiAgICAgICAgcHJvcHMuY2F0ZWdvcnlDb250ZW50RmluYWxEYXRhKGdEYXRhKTtcbiAgICB9LCBbZ0RhdGFdKTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMuY2F0ZWdvcnlTaWRlYmFyIH0sIHsgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiBzdHlsZXMudGl0bGUgfSwgeyBjaGlsZHJlbjogXCJDYXRlZ29yaWFzXCIgfSkpLCBfanN4KEJ1dHRvbiwgX19hc3NpZ24oeyBpY29uOiBfanN4KFBsdXNPdXRsaW5lZCwge30pLCBvbkNsaWNrOiBhZGRDYXRlZ29yeSB9LCB7IGNoaWxkcmVuOiBcIkFkaWNpb25hciBDYXRlZ29yaWFcIiB9KSksIF9qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5jYXRlZ29yeVZpZXdlciB9LCB7IGNoaWxkcmVuOiBfanN4KFRyZWUsIHsgY2xhc3NOYW1lOiBcImRyYWdnYWJsZS10cmVlXCIsIGRlZmF1bHRFeHBhbmRlZEtleXM6IGV4cGFuZGVkS2V5cywgZHJhZ2dhYmxlOiB0cnVlLCBibG9ja05vZGU6IHRydWUsIG9uRHJhZ0VudGVyOiBvbkRyYWdFbnRlciwgb25Ecm9wOiBvbkRyb3AsIHRyZWVEYXRhOiBnRGF0YSwgb25TZWxlY3Q6IG9uU2VsZWN0IH0pIH0pKV0gfSkpKTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/Category/CategorySidebar/index.tsx\n");
|
|
10622
10622
|
|
|
10623
10623
|
/***/ }),
|
|
10624
10624
|
|
|
@@ -10772,7 +10772,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
10772
10772
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10773
10773
|
|
|
10774
10774
|
"use strict";
|
|
10775
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ModalWithTable\": function() { return /* binding */ ModalWithTable; }\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 _Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Button */ \"./src/components/Button/index.tsx\");\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/modal/index.js\");\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 _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ \"./node_modules/@ant-design/icons/es/icons/CloseOutlined.js\");\n/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styles.module.scss */ \"./src/components/ModalWithTable/styles.module.scss\");\n/* harmony import */ var _Tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Tag */ \"./src/components/Tag/index.tsx\");\n/* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Table */ \"./src/components/Table/index.tsx\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);\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\nvar ModalWithTable = function (props) {\n var _a;\n var closeText = props.closeText, buttonText = props.buttonText, _b = props.isOpen, isOpen = _b === void 0 ? false : _b, tableData = props.tableData, modalData = props.modalData, isLoading = props.isLoading, initialRowSelectedInfo = props.initialRowSelectedInfo;\n var prevIsOpenRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n prevIsOpenRef.current = isOpen;\n }, [isOpen]);\n var prevIsOpen = prevIsOpenRef.current;\n // Add a new state to store the initial values\n var _c = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)({\n pageInfo: {},\n rowSelectionInfo: [],\n tagsInfo: [],\n selectedData: [],\n }), initialValues = _c[0], setInitialValues = _c[1];\n var pageBase = { currentPage: 1 };\n var _d = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)((isOpen)), open = _d[0], setOpen = _d[1];\n var _e = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false), confirmLoading = _e[0], setConfirmLoading = _e[1];\n var _f = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(pageBase), pageInfo = _f[0], setPageInfo = _f[1];\n var _g = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(undefined), rowSelectionInfo = _g[0], setRowSelectionInfo = _g[1];\n var _h = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)([]), tagsInfo = _h[0], setTagsInfo = _h[1];\n var _j = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)([]), selectedData = _j[0], setSelectedData = _j[1];\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n setOpen(isOpen);\n if (isOpen && !prevIsOpen) {\n setInitialValues({\n pageInfo: pageInfo,\n rowSelectionInfo: rowSelectionInfo,\n tagsInfo: tagsInfo,\n selectedData: selectedData,\n });\n }\n }, [isOpen]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n initialRowSelectedInfo && setRowSelectionInfo(initialRowSelectedInfo);\n }, [initialRowSelectedInfo]);\n var hideModal = function () {\n setOpen(false);\n setPageInfo(initialValues.pageInfo);\n setRowSelectionInfo(initialValues.rowSelectionInfo);\n setTagsInfo(initialValues.tagsInfo);\n setSelectedData(initialValues.selectedData);\n };\n var saveChanges = function () {\n setOpen(false);\n };\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n if (!open) {\n setPageInfo(pageBase);\n }\n var modalDataObj = {\n pageInfo: pageInfo,\n rowSelectionInfo: rowSelectionInfo,\n tagsInfo: tagsInfo,\n open: open,\n selectedData: selectedData,\n };\n modalData(modalDataObj);\n }, [tagsInfo, open, rowSelectionInfo, selectedData]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n var _a, _b;\n var selectedRowKeys = rowSelectionInfo || tableData.rowSelection.selectedRowKeys;\n if (((_a = tableData === null || tableData === void 0 ? void 0 : tableData.rowSelection) === null || _a === void 0 ? void 0 : _a.type) === 'radio') {\n var filteredArray = (_b = tableData === null || tableData === void 0 ? void 0 : tableData.dataSource) === null || _b === void 0 ? void 0 : _b.filter(function (element) {\n return selectedRowKeys.includes(element[tableData.rowKeyValue]);\n });\n setSelectedData(filteredArray);\n return;\n }\n setSelectedData(function (prevData) {\n var _a;\n var newData = ((_a = tableData === null || tableData === void 0 ? void 0 : tableData.dataSource) === null || _a === void 0 ? void 0 : _a.filter(function (element) {\n return selectedRowKeys.includes(element[tableData.rowKeyValue]);\n })) || [];\n var oldData = prevData.filter(function (dataItem) {\n var _a;\n return !((_a = tableData === null || tableData === void 0 ? void 0 : tableData.dataSource) === null || _a === void 0 ? void 0 : _a.some(function (element) { return element[tableData.rowKeyValue] === dataItem[tableData.rowKeyValue]; }));\n });\n var combinedData = __spreadArray(__spreadArray([], oldData, true), newData, true).filter(function (dataItem, index, self) {\n return (index ===\n self.findIndex(function (item) { return item[tableData.rowKeyValue] === dataItem[tableData.rowKeyValue]; }));\n });\n setInitialValues(__assign(__assign({}, initialValues), { selectedData: combinedData }));\n return combinedData;\n });\n }, [rowSelectionInfo]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n if (tagsInfo.length > 0) {\n setConfirmLoading(true);\n }\n }, [tagsInfo]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n setConfirmLoading(isLoading);\n }, [isLoading]);\n var modalClasses = classnames__WEBPACK_IMPORTED_MODULE_6___default()((_a = {},\n _a[_styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].disabled] = confirmLoading,\n _a), _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].modal);\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_7__[\"default\"], __assign({ destroyOnClose: true, closeIcon: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].closeButton }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"p\", { children: closeText }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {})] })), open: open, onOk: hideModal, onCancel: hideModal, maskClosable: false, centered: true, width: '100%', footer: [\n (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Button__WEBPACK_IMPORTED_MODULE_1__.Button, __assign({ onClick: saveChanges }, { children: buttonText }), \"submit\")\n ], className: modalClasses }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].tagsWrapper }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Tag__WEBPACK_IMPORTED_MODULE_4__.TagField, { tagsInfo: setTagsInfo }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].tableWrapper }, { children: tableData &&\n (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Table__WEBPACK_IMPORTED_MODULE_5__.Table, __assign({}, tableData, { paginationInfo: setPageInfo, rowSelectionInfo: setRowSelectionInfo, headingTranslationsKey: 'tableHeadings' })) }))] })) }));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9Nb2RhbFdpdGhUYWJsZS9pbmRleC50c3guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2xpYi8uL3NyYy9jb21wb25lbnRzL01vZGFsV2l0aFRhYmxlL2luZGV4LnRzeD8yNWViIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfX2Fzc2lnbiA9ICh0aGlzICYmIHRoaXMuX19hc3NpZ24pIHx8IGZ1bmN0aW9uICgpIHtcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkge1xuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpXG4gICAgICAgICAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgfTtcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG52YXIgX19zcHJlYWRBcnJheSA9ICh0aGlzICYmIHRoaXMuX19zcHJlYWRBcnJheSkgfHwgZnVuY3Rpb24gKHRvLCBmcm9tLCBwYWNrKSB7XG4gICAgaWYgKHBhY2sgfHwgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgaSA9IDAsIGwgPSBmcm9tLmxlbmd0aCwgYXI7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xuICAgICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcbiAgICAgICAgICAgIGFyW2ldID0gZnJvbVtpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdG8uY29uY2F0KGFyIHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20pKTtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENsb3NlT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vc3R5bGVzLm1vZHVsZS5zY3NzJztcbmltcG9ydCB7IFRhZ0ZpZWxkIH0gZnJvbSAnLi4vVGFnJztcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAnLi4vVGFibGUnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5leHBvcnQgdmFyIE1vZGFsV2l0aFRhYmxlID0gZnVuY3Rpb24gKHByb3BzKSB7XG4gICAgdmFyIF9hO1xuICAgIHZhciBjbG9zZVRleHQgPSBwcm9wcy5jbG9zZVRleHQsIGJ1dHRvblRleHQgPSBwcm9wcy5idXR0b25UZXh0LCBfYiA9IHByb3BzLmlzT3BlbiwgaXNPcGVuID0gX2IgPT09IHZvaWQgMCA/IGZhbHNlIDogX2IsIHRhYmxlRGF0YSA9IHByb3BzLnRhYmxlRGF0YSwgbW9kYWxEYXRhID0gcHJvcHMubW9kYWxEYXRhLCBpc0xvYWRpbmcgPSBwcm9wcy5pc0xvYWRpbmcsIGluaXRpYWxSb3dTZWxlY3RlZEluZm8gPSBwcm9wcy5pbml0aWFsUm93U2VsZWN0ZWRJbmZvO1xuICAgIHZhciBwcmV2SXNPcGVuUmVmID0gdXNlUmVmKCk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcHJldklzT3BlblJlZi5jdXJyZW50ID0gaXNPcGVuO1xuICAgIH0sIFtpc09wZW5dKTtcbiAgICB2YXIgcHJldklzT3BlbiA9IHByZXZJc09wZW5SZWYuY3VycmVudDtcbiAgICAvLyBBZGQgYSBuZXcgc3RhdGUgdG8gc3RvcmUgdGhlIGluaXRpYWwgdmFsdWVzXG4gICAgdmFyIF9jID0gdXNlU3RhdGUoe1xuICAgICAgICBwYWdlSW5mbzoge30sXG4gICAgICAgIHJvd1NlbGVjdGlvbkluZm86IFtdLFxuICAgICAgICB0YWdzSW5mbzogW10sXG4gICAgICAgIHNlbGVjdGVkRGF0YTogW10sXG4gICAgfSksIGluaXRpYWxWYWx1ZXMgPSBfY1swXSwgc2V0SW5pdGlhbFZhbHVlcyA9IF9jWzFdO1xuICAgIHZhciBwYWdlQmFzZSA9IHsgY3VycmVudFBhZ2U6IDEgfTtcbiAgICB2YXIgX2QgPSB1c2VTdGF0ZSgoaXNPcGVuKSksIG9wZW4gPSBfZFswXSwgc2V0T3BlbiA9IF9kWzFdO1xuICAgIHZhciBfZSA9IHVzZVN0YXRlKGZhbHNlKSwgY29uZmlybUxvYWRpbmcgPSBfZVswXSwgc2V0Q29uZmlybUxvYWRpbmcgPSBfZVsxXTtcbiAgICB2YXIgX2YgPSB1c2VTdGF0ZShwYWdlQmFzZSksIHBhZ2VJbmZvID0gX2ZbMF0sIHNldFBhZ2VJbmZvID0gX2ZbMV07XG4gICAgdmFyIF9nID0gdXNlU3RhdGUodW5kZWZpbmVkKSwgcm93U2VsZWN0aW9uSW5mbyA9IF9nWzBdLCBzZXRSb3dTZWxlY3Rpb25JbmZvID0gX2dbMV07XG4gICAgdmFyIF9oID0gdXNlU3RhdGUoW10pLCB0YWdzSW5mbyA9IF9oWzBdLCBzZXRUYWdzSW5mbyA9IF9oWzFdO1xuICAgIHZhciBfaiA9IHVzZVN0YXRlKFtdKSwgc2VsZWN0ZWREYXRhID0gX2pbMF0sIHNldFNlbGVjdGVkRGF0YSA9IF9qWzFdO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNldE9wZW4oaXNPcGVuKTtcbiAgICAgICAgaWYgKGlzT3BlbiAmJiAhcHJldklzT3Blbikge1xuICAgICAgICAgICAgc2V0SW5pdGlhbFZhbHVlcyh7XG4gICAgICAgICAgICAgICAgcGFnZUluZm86IHBhZ2VJbmZvLFxuICAgICAgICAgICAgICAgIHJvd1NlbGVjdGlvbkluZm86IHJvd1NlbGVjdGlvbkluZm8sXG4gICAgICAgICAgICAgICAgdGFnc0luZm86IHRhZ3NJbmZvLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkRGF0YTogc2VsZWN0ZWREYXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbaXNPcGVuXSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaW5pdGlhbFJvd1NlbGVjdGVkSW5mbyAmJiBzZXRSb3dTZWxlY3Rpb25JbmZvKGluaXRpYWxSb3dTZWxlY3RlZEluZm8pO1xuICAgIH0sIFtpbml0aWFsUm93U2VsZWN0ZWRJbmZvXSk7XG4gICAgdmFyIGhpZGVNb2RhbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgICAgIHNldFBhZ2VJbmZvKGluaXRpYWxWYWx1ZXMucGFnZUluZm8pO1xuICAgICAgICBzZXRSb3dTZWxlY3Rpb25JbmZvKGluaXRpYWxWYWx1ZXMucm93U2VsZWN0aW9uSW5mbyk7XG4gICAgICAgIHNldFRhZ3NJbmZvKGluaXRpYWxWYWx1ZXMudGFnc0luZm8pO1xuICAgICAgICBzZXRTZWxlY3RlZERhdGEoaW5pdGlhbFZhbHVlcy5zZWxlY3RlZERhdGEpO1xuICAgIH07XG4gICAgdmFyIHNhdmVDaGFuZ2VzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICB9O1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghb3Blbikge1xuICAgICAgICAgICAgc2V0UGFnZUluZm8ocGFnZUJhc2UpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBtb2RhbERhdGFPYmogPSB7XG4gICAgICAgICAgICBwYWdlSW5mbzogcGFnZUluZm8sXG4gICAgICAgICAgICByb3dTZWxlY3Rpb25JbmZvOiByb3dTZWxlY3Rpb25JbmZvLFxuICAgICAgICAgICAgdGFnc0luZm86IHRhZ3NJbmZvLFxuICAgICAgICAgICAgb3Blbjogb3BlbixcbiAgICAgICAgICAgIHNlbGVjdGVkRGF0YTogc2VsZWN0ZWREYXRhLFxuICAgICAgICB9O1xuICAgICAgICBtb2RhbERhdGEobW9kYWxEYXRhT2JqKTtcbiAgICB9LCBbdGFnc0luZm8sIG9wZW4sIHJvd1NlbGVjdGlvbkluZm8sIHNlbGVjdGVkRGF0YV0pO1xuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHZhciBzZWxlY3RlZFJvd0tleXMgPSByb3dTZWxlY3Rpb25JbmZvIHx8IHRhYmxlRGF0YS5yb3dTZWxlY3Rpb24uc2VsZWN0ZWRSb3dLZXlzO1xuICAgICAgICBpZiAoKChfYSA9IHRhYmxlRGF0YSA9PT0gbnVsbCB8fCB0YWJsZURhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhYmxlRGF0YS5yb3dTZWxlY3Rpb24pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50eXBlKSA9PT0gJ3JhZGlvJykge1xuICAgICAgICAgICAgdmFyIGZpbHRlcmVkQXJyYXkgPSAoX2IgPSB0YWJsZURhdGEgPT09IG51bGwgfHwgdGFibGVEYXRhID09PSB2b2lkIDAgPyB2b2lkIDAgOiB0YWJsZURhdGEuZGF0YVNvdXJjZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmZpbHRlcihmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZFJvd0tleXMuaW5jbHVkZXMoZWxlbWVudFt0YWJsZURhdGEucm93S2V5VmFsdWVdKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWREYXRhKGZpbHRlcmVkQXJyYXkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldFNlbGVjdGVkRGF0YShmdW5jdGlvbiAocHJldkRhdGEpIHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHZhciBuZXdEYXRhID0gKChfYSA9IHRhYmxlRGF0YSA9PT0gbnVsbCB8fCB0YWJsZURhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhYmxlRGF0YS5kYXRhU291cmNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZmlsdGVyKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkUm93S2V5cy5pbmNsdWRlcyhlbGVtZW50W3RhYmxlRGF0YS5yb3dLZXlWYWx1ZV0pO1xuICAgICAgICAgICAgfSkpIHx8IFtdO1xuICAgICAgICAgICAgdmFyIG9sZERhdGEgPSBwcmV2RGF0YS5maWx0ZXIoZnVuY3Rpb24gKGRhdGFJdGVtKSB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIHJldHVybiAhKChfYSA9IHRhYmxlRGF0YSA9PT0gbnVsbCB8fCB0YWJsZURhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhYmxlRGF0YS5kYXRhU291cmNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc29tZShmdW5jdGlvbiAoZWxlbWVudCkgeyByZXR1cm4gZWxlbWVudFt0YWJsZURhdGEucm93S2V5VmFsdWVdID09PSBkYXRhSXRlbVt0YWJsZURhdGEucm93S2V5VmFsdWVdOyB9KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHZhciBjb21iaW5lZERhdGEgPSBfX3NwcmVhZEFycmF5KF9fc3ByZWFkQXJyYXkoW10sIG9sZERhdGEsIHRydWUpLCBuZXdEYXRhLCB0cnVlKS5maWx0ZXIoZnVuY3Rpb24gKGRhdGFJdGVtLCBpbmRleCwgc2VsZikge1xuICAgICAgICAgICAgICAgIHJldHVybiAoaW5kZXggPT09XG4gICAgICAgICAgICAgICAgICAgIHNlbGYuZmluZEluZGV4KGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBpdGVtW3RhYmxlRGF0YS5yb3dLZXlWYWx1ZV0gPT09IGRhdGFJdGVtW3RhYmxlRGF0YS5yb3dLZXlWYWx1ZV07IH0pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2V0SW5pdGlhbFZhbHVlcyhfX2Fzc2lnbihfX2Fzc2lnbih7fSwgaW5pdGlhbFZhbHVlcyksIHsgc2VsZWN0ZWREYXRhOiBjb21iaW5lZERhdGEgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVkRGF0YTtcbiAgICAgICAgfSk7XG4gICAgfSwgW3Jvd1NlbGVjdGlvbkluZm9dKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGFnc0luZm8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc2V0Q29uZmlybUxvYWRpbmcodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbdGFnc0luZm9dKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBzZXRDb25maXJtTG9hZGluZyhpc0xvYWRpbmcpO1xuICAgIH0sIFtpc0xvYWRpbmddKTtcbiAgICB2YXIgbW9kYWxDbGFzc2VzID0gY2xhc3NuYW1lcygoX2EgPSB7fSxcbiAgICAgICAgX2Fbc3R5bGVzLmRpc2FibGVkXSA9IGNvbmZpcm1Mb2FkaW5nLFxuICAgICAgICBfYSksIHN0eWxlcy5tb2RhbCk7XG4gICAgcmV0dXJuIChfanN4KF9GcmFnbWVudCwgeyBjaGlsZHJlbjogX2pzeHMoTW9kYWwsIF9fYXNzaWduKHsgZGVzdHJveU9uQ2xvc2U6IHRydWUsIGNsb3NlSWNvbjogX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5jbG9zZUJ1dHRvbiB9LCB7IGNoaWxkcmVuOiBbX2pzeChcInBcIiwgeyBjaGlsZHJlbjogY2xvc2VUZXh0IH0pLCBfanN4KENsb3NlT3V0bGluZWQsIHt9KV0gfSkpLCBvcGVuOiBvcGVuLCBvbk9rOiBoaWRlTW9kYWwsIG9uQ2FuY2VsOiBoaWRlTW9kYWwsIG1hc2tDbG9zYWJsZTogZmFsc2UsIGNlbnRlcmVkOiB0cnVlLCB3aWR0aDogJzEwMCUnLCBmb290ZXI6IFtcbiAgICAgICAgICAgICAgICBfanN4KEJ1dHRvbiwgX19hc3NpZ24oeyBvbkNsaWNrOiBzYXZlQ2hhbmdlcyB9LCB7IGNoaWxkcmVuOiBidXR0b25UZXh0IH0pLCBcInN1Ym1pdFwiKVxuICAgICAgICAgICAgXSwgY2xhc3NOYW1lOiBtb2RhbENsYXNzZXMgfSwgeyBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy50YWdzV3JhcHBlciB9LCB7IGNoaWxkcmVuOiBfanN4KFRhZ0ZpZWxkLCB7IHRhZ3NJbmZvOiBzZXRUYWdzSW5mbyB9KSB9KSksIF9qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy50YWJsZVdyYXBwZXIgfSwgeyBjaGlsZHJlbjogdGFibGVEYXRhICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBfanN4KFRhYmxlLCBfX2Fzc2lnbih7fSwgdGFibGVEYXRhLCB7IHBhZ2luYXRpb25JbmZvOiBzZXRQYWdlSW5mbywgcm93U2VsZWN0aW9uSW5mbzogc2V0Um93U2VsZWN0aW9uSW5mbywgaGVhZGluZ1RyYW5zbGF0aW9uc0tleTogJ3RhYmxlSGVhZGluZ3MnIH0pKSB9KSldIH0pKSB9KSk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/ModalWithTable/index.tsx\n");
|
|
10775
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ModalWithTable\": function() { return /* binding */ ModalWithTable; }\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 _Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Button */ \"./src/components/Button/index.tsx\");\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/modal/index.js\");\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 _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ \"./node_modules/@ant-design/icons/es/icons/CloseOutlined.js\");\n/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styles.module.scss */ \"./src/components/ModalWithTable/styles.module.scss\");\n/* harmony import */ var _Tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Tag */ \"./src/components/Tag/index.tsx\");\n/* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Table */ \"./src/components/Table/index.tsx\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_6__);\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\nfunction objectsAreEqual(obj1, obj2) {\n var keys1 = Object.keys(obj1);\n var keys2 = Object.keys(obj2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (var _i = 0, keys1_1 = keys1; _i < keys1_1.length; _i++) {\n var key = keys1_1[_i];\n if (!keys2.includes(key) || obj1[key] !== obj2[key]) {\n return false;\n }\n }\n return true;\n}\nfunction arrayContainsObject(array, newObj) {\n return array.some(function (existingObj) { return objectsAreEqual(existingObj, newObj); });\n}\nvar ModalWithTable = function (props) {\n var _a;\n var closeText = props.closeText, buttonText = props.buttonText, _b = props.isOpen, isOpen = _b === void 0 ? false : _b, tableData = props.tableData, modalData = props.modalData, isLoading = props.isLoading, initialRowSelectedInfo = props.initialRowSelectedInfo;\n var prevIsOpenRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n prevIsOpenRef.current = isOpen;\n }, [isOpen]);\n var prevIsOpen = prevIsOpenRef.current;\n // Add a new state to store the initial values\n var _c = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)({\n pageInfo: {},\n rowSelectionInfo: [],\n tagsInfo: [],\n selectedData: [],\n }), initialValues = _c[0], setInitialValues = _c[1];\n var pageBase = { currentPage: 1 };\n var _d = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)((isOpen)), open = _d[0], setOpen = _d[1];\n var _e = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false), confirmLoading = _e[0], setConfirmLoading = _e[1];\n var _f = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(pageBase), pageInfo = _f[0], setPageInfo = _f[1];\n var _g = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(undefined), rowSelectionInfo = _g[0], setRowSelectionInfo = _g[1];\n var _h = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)([]), tagsInfo = _h[0], setTagsInfo = _h[1];\n var _j = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)([]), selectedData = _j[0], setSelectedData = _j[1];\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n setOpen(isOpen);\n if (isOpen && !prevIsOpen) {\n setInitialValues({\n pageInfo: pageInfo,\n rowSelectionInfo: rowSelectionInfo,\n tagsInfo: tagsInfo,\n selectedData: selectedData,\n });\n }\n }, [isOpen]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n initialRowSelectedInfo && setRowSelectionInfo(initialRowSelectedInfo);\n }, [initialRowSelectedInfo]);\n var hideModal = function () {\n setOpen(false);\n setPageInfo(initialValues.pageInfo);\n setRowSelectionInfo(initialValues.rowSelectionInfo);\n setTagsInfo(initialValues.tagsInfo);\n setSelectedData(initialValues.selectedData);\n };\n var saveChanges = function () {\n var _a;\n setOpen(false);\n if (((_a = tableData === null || tableData === void 0 ? void 0 : tableData.rowSelection) === null || _a === void 0 ? void 0 : _a.type) === 'radio') {\n setSelectedData([selectedData[selectedData.length - 1]]);\n }\n };\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n if (!open) {\n setPageInfo(pageBase);\n }\n var modalDataObj = {\n pageInfo: pageInfo,\n rowSelectionInfo: rowSelectionInfo,\n tagsInfo: tagsInfo,\n open: open,\n selectedData: selectedData,\n };\n modalData(modalDataObj);\n }, [tagsInfo, open, rowSelectionInfo, selectedData]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n var _a;\n var selectedRowKeys = rowSelectionInfo || tableData.rowSelection.selectedRowKeys;\n if (((_a = tableData === null || tableData === void 0 ? void 0 : tableData.rowSelection) === null || _a === void 0 ? void 0 : _a.type) === 'radio') {\n setSelectedData(function (prevData) {\n var _a;\n var newData = ((_a = tableData === null || tableData === void 0 ? void 0 : tableData.dataSource) === null || _a === void 0 ? void 0 : _a.filter(function (element) {\n return selectedRowKeys.includes(element[tableData.rowKeyValue]);\n })) || [];\n if (newData.length < 1) {\n return selectedData;\n }\n if (arrayContainsObject(selectedData, newData[0])) {\n return selectedData;\n }\n var combinedData = __spreadArray(__spreadArray([], selectedData, true), newData, true);\n return combinedData;\n });\n return;\n }\n setSelectedData(function (prevData) {\n var _a;\n var newData = ((_a = tableData === null || tableData === void 0 ? void 0 : tableData.dataSource) === null || _a === void 0 ? void 0 : _a.filter(function (element) {\n return selectedRowKeys.includes(element[tableData.rowKeyValue]);\n })) || [];\n var oldData = prevData.filter(function (dataItem) {\n var _a;\n return !((_a = tableData === null || tableData === void 0 ? void 0 : tableData.dataSource) === null || _a === void 0 ? void 0 : _a.some(function (element) { return element[tableData.rowKeyValue] === dataItem[tableData.rowKeyValue]; }));\n });\n var combinedData = __spreadArray(__spreadArray([], oldData, true), newData, true).filter(function (dataItem, index, self) {\n return (index ===\n self.findIndex(function (item) { return item[tableData.rowKeyValue] === dataItem[tableData.rowKeyValue]; }));\n });\n setInitialValues(__assign(__assign({}, initialValues), { selectedData: combinedData }));\n return combinedData;\n });\n }, [rowSelectionInfo]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n if (tagsInfo.length > 0) {\n setConfirmLoading(true);\n }\n }, [tagsInfo]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n setConfirmLoading(isLoading);\n }, [isLoading]);\n var modalClasses = classnames__WEBPACK_IMPORTED_MODULE_6___default()((_a = {},\n _a[_styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].disabled] = confirmLoading,\n _a), _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].modal);\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_7__[\"default\"], __assign({ destroyOnClose: true, closeIcon: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].closeButton }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"p\", { children: closeText }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {})] })), open: open, onOk: hideModal, onCancel: hideModal, maskClosable: false, centered: true, width: '100%', footer: [\n (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Button__WEBPACK_IMPORTED_MODULE_1__.Button, __assign({ onClick: saveChanges }, { children: buttonText }), \"submit\")\n ], className: modalClasses }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].tagsWrapper }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Tag__WEBPACK_IMPORTED_MODULE_4__.TagField, { tagsInfo: setTagsInfo }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", __assign({ className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_3__[\"default\"].tableWrapper }, { children: tableData &&\n (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Table__WEBPACK_IMPORTED_MODULE_5__.Table, __assign({}, tableData, { paginationInfo: setPageInfo, rowSelectionInfo: setRowSelectionInfo, headingTranslationsKey: 'tableHeadings' })) }))] })) }));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9Nb2RhbFdpdGhUYWJsZS9pbmRleC50c3guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGliLy4vc3JjL2NvbXBvbmVudHMvTW9kYWxXaXRoVGFibGUvaW5kZXgudHN4PzI1ZWIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXNzaWduID0gKHRoaXMgJiYgdGhpcy5fX2Fzc2lnbikgfHwgZnVuY3Rpb24gKCkge1xuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbih0KSB7XG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSlcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdDtcbiAgICB9O1xuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcbnZhciBfX3NwcmVhZEFycmF5ID0gKHRoaXMgJiYgdGhpcy5fX3NwcmVhZEFycmF5KSB8fCBmdW5jdGlvbiAodG8sIGZyb20sIHBhY2spIHtcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbic7XG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ2xvc2VPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9zdHlsZXMubW9kdWxlLnNjc3MnO1xuaW1wb3J0IHsgVGFnRmllbGQgfSBmcm9tICcuLi9UYWcnO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuLi9UYWJsZSc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmZ1bmN0aW9uIG9iamVjdHNBcmVFcXVhbChvYmoxLCBvYmoyKSB7XG4gICAgdmFyIGtleXMxID0gT2JqZWN0LmtleXMob2JqMSk7XG4gICAgdmFyIGtleXMyID0gT2JqZWN0LmtleXMob2JqMik7XG4gICAgaWYgKGtleXMxLmxlbmd0aCAhPT0ga2V5czIubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yICh2YXIgX2kgPSAwLCBrZXlzMV8xID0ga2V5czE7IF9pIDwga2V5czFfMS5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdmFyIGtleSA9IGtleXMxXzFbX2ldO1xuICAgICAgICBpZiAoIWtleXMyLmluY2x1ZGVzKGtleSkgfHwgb2JqMVtrZXldICE9PSBvYmoyW2tleV0pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGFycmF5Q29udGFpbnNPYmplY3QoYXJyYXksIG5ld09iaikge1xuICAgIHJldHVybiBhcnJheS5zb21lKGZ1bmN0aW9uIChleGlzdGluZ09iaikgeyByZXR1cm4gb2JqZWN0c0FyZUVxdWFsKGV4aXN0aW5nT2JqLCBuZXdPYmopOyB9KTtcbn1cbmV4cG9ydCB2YXIgTW9kYWxXaXRoVGFibGUgPSBmdW5jdGlvbiAocHJvcHMpIHtcbiAgICB2YXIgX2E7XG4gICAgdmFyIGNsb3NlVGV4dCA9IHByb3BzLmNsb3NlVGV4dCwgYnV0dG9uVGV4dCA9IHByb3BzLmJ1dHRvblRleHQsIF9iID0gcHJvcHMuaXNPcGVuLCBpc09wZW4gPSBfYiA9PT0gdm9pZCAwID8gZmFsc2UgOiBfYiwgdGFibGVEYXRhID0gcHJvcHMudGFibGVEYXRhLCBtb2RhbERhdGEgPSBwcm9wcy5tb2RhbERhdGEsIGlzTG9hZGluZyA9IHByb3BzLmlzTG9hZGluZywgaW5pdGlhbFJvd1NlbGVjdGVkSW5mbyA9IHByb3BzLmluaXRpYWxSb3dTZWxlY3RlZEluZm87XG4gICAgdmFyIHByZXZJc09wZW5SZWYgPSB1c2VSZWYoKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBwcmV2SXNPcGVuUmVmLmN1cnJlbnQgPSBpc09wZW47XG4gICAgfSwgW2lzT3Blbl0pO1xuICAgIHZhciBwcmV2SXNPcGVuID0gcHJldklzT3BlblJlZi5jdXJyZW50O1xuICAgIC8vIEFkZCBhIG5ldyBzdGF0ZSB0byBzdG9yZSB0aGUgaW5pdGlhbCB2YWx1ZXNcbiAgICB2YXIgX2MgPSB1c2VTdGF0ZSh7XG4gICAgICAgIHBhZ2VJbmZvOiB7fSxcbiAgICAgICAgcm93U2VsZWN0aW9uSW5mbzogW10sXG4gICAgICAgIHRhZ3NJbmZvOiBbXSxcbiAgICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcbiAgICB9KSwgaW5pdGlhbFZhbHVlcyA9IF9jWzBdLCBzZXRJbml0aWFsVmFsdWVzID0gX2NbMV07XG4gICAgdmFyIHBhZ2VCYXNlID0geyBjdXJyZW50UGFnZTogMSB9O1xuICAgIHZhciBfZCA9IHVzZVN0YXRlKChpc09wZW4pKSwgb3BlbiA9IF9kWzBdLCBzZXRPcGVuID0gX2RbMV07XG4gICAgdmFyIF9lID0gdXNlU3RhdGUoZmFsc2UpLCBjb25maXJtTG9hZGluZyA9IF9lWzBdLCBzZXRDb25maXJtTG9hZGluZyA9IF9lWzFdO1xuICAgIHZhciBfZiA9IHVzZVN0YXRlKHBhZ2VCYXNlKSwgcGFnZUluZm8gPSBfZlswXSwgc2V0UGFnZUluZm8gPSBfZlsxXTtcbiAgICB2YXIgX2cgPSB1c2VTdGF0ZSh1bmRlZmluZWQpLCByb3dTZWxlY3Rpb25JbmZvID0gX2dbMF0sIHNldFJvd1NlbGVjdGlvbkluZm8gPSBfZ1sxXTtcbiAgICB2YXIgX2ggPSB1c2VTdGF0ZShbXSksIHRhZ3NJbmZvID0gX2hbMF0sIHNldFRhZ3NJbmZvID0gX2hbMV07XG4gICAgdmFyIF9qID0gdXNlU3RhdGUoW10pLCBzZWxlY3RlZERhdGEgPSBfalswXSwgc2V0U2VsZWN0ZWREYXRhID0gX2pbMV07XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc2V0T3Blbihpc09wZW4pO1xuICAgICAgICBpZiAoaXNPcGVuICYmICFwcmV2SXNPcGVuKSB7XG4gICAgICAgICAgICBzZXRJbml0aWFsVmFsdWVzKHtcbiAgICAgICAgICAgICAgICBwYWdlSW5mbzogcGFnZUluZm8sXG4gICAgICAgICAgICAgICAgcm93U2VsZWN0aW9uSW5mbzogcm93U2VsZWN0aW9uSW5mbyxcbiAgICAgICAgICAgICAgICB0YWdzSW5mbzogdGFnc0luZm8sXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWREYXRhOiBzZWxlY3RlZERhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtpc09wZW5dKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBpbml0aWFsUm93U2VsZWN0ZWRJbmZvICYmIHNldFJvd1NlbGVjdGlvbkluZm8oaW5pdGlhbFJvd1NlbGVjdGVkSW5mbyk7XG4gICAgfSwgW2luaXRpYWxSb3dTZWxlY3RlZEluZm9dKTtcbiAgICB2YXIgaGlkZU1vZGFsID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICAgICAgc2V0UGFnZUluZm8oaW5pdGlhbFZhbHVlcy5wYWdlSW5mbyk7XG4gICAgICAgIHNldFJvd1NlbGVjdGlvbkluZm8oaW5pdGlhbFZhbHVlcy5yb3dTZWxlY3Rpb25JbmZvKTtcbiAgICAgICAgc2V0VGFnc0luZm8oaW5pdGlhbFZhbHVlcy50YWdzSW5mbyk7XG4gICAgICAgIHNldFNlbGVjdGVkRGF0YShpbml0aWFsVmFsdWVzLnNlbGVjdGVkRGF0YSk7XG4gICAgfTtcbiAgICB2YXIgc2F2ZUNoYW5nZXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgICAgIGlmICgoKF9hID0gdGFibGVEYXRhID09PSBudWxsIHx8IHRhYmxlRGF0YSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGFibGVEYXRhLnJvd1NlbGVjdGlvbikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnR5cGUpID09PSAncmFkaW8nKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZERhdGEoW3NlbGVjdGVkRGF0YVtzZWxlY3RlZERhdGEubGVuZ3RoIC0gMV1dKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCFvcGVuKSB7XG4gICAgICAgICAgICBzZXRQYWdlSW5mbyhwYWdlQmFzZSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG1vZGFsRGF0YU9iaiA9IHtcbiAgICAgICAgICAgIHBhZ2VJbmZvOiBwYWdlSW5mbyxcbiAgICAgICAgICAgIHJvd1NlbGVjdGlvbkluZm86IHJvd1NlbGVjdGlvbkluZm8sXG4gICAgICAgICAgICB0YWdzSW5mbzogdGFnc0luZm8sXG4gICAgICAgICAgICBvcGVuOiBvcGVuLFxuICAgICAgICAgICAgc2VsZWN0ZWREYXRhOiBzZWxlY3RlZERhdGEsXG4gICAgICAgIH07XG4gICAgICAgIG1vZGFsRGF0YShtb2RhbERhdGFPYmopO1xuICAgIH0sIFt0YWdzSW5mbywgb3Blbiwgcm93U2VsZWN0aW9uSW5mbywgc2VsZWN0ZWREYXRhXSk7XG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICB2YXIgc2VsZWN0ZWRSb3dLZXlzID0gcm93U2VsZWN0aW9uSW5mbyB8fCB0YWJsZURhdGEucm93U2VsZWN0aW9uLnNlbGVjdGVkUm93S2V5cztcbiAgICAgICAgaWYgKCgoX2EgPSB0YWJsZURhdGEgPT09IG51bGwgfHwgdGFibGVEYXRhID09PSB2b2lkIDAgPyB2b2lkIDAgOiB0YWJsZURhdGEucm93U2VsZWN0aW9uKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudHlwZSkgPT09ICdyYWRpbycpIHtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkRGF0YShmdW5jdGlvbiAocHJldkRhdGEpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgdmFyIG5ld0RhdGEgPSAoKF9hID0gdGFibGVEYXRhID09PSBudWxsIHx8IHRhYmxlRGF0YSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGFibGVEYXRhLmRhdGFTb3VyY2UpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5maWx0ZXIoZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkUm93S2V5cy5pbmNsdWRlcyhlbGVtZW50W3RhYmxlRGF0YS5yb3dLZXlWYWx1ZV0pO1xuICAgICAgICAgICAgICAgIH0pKSB8fCBbXTtcbiAgICAgICAgICAgICAgICBpZiAobmV3RGF0YS5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZERhdGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhcnJheUNvbnRhaW5zT2JqZWN0KHNlbGVjdGVkRGF0YSwgbmV3RGF0YVswXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkRGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIGNvbWJpbmVkRGF0YSA9IF9fc3ByZWFkQXJyYXkoX19zcHJlYWRBcnJheShbXSwgc2VsZWN0ZWREYXRhLCB0cnVlKSwgbmV3RGF0YSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVkRGF0YTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldFNlbGVjdGVkRGF0YShmdW5jdGlvbiAocHJldkRhdGEpIHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHZhciBuZXdEYXRhID0gKChfYSA9IHRhYmxlRGF0YSA9PT0gbnVsbCB8fCB0YWJsZURhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhYmxlRGF0YS5kYXRhU291cmNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZmlsdGVyKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkUm93S2V5cy5pbmNsdWRlcyhlbGVtZW50W3RhYmxlRGF0YS5yb3dLZXlWYWx1ZV0pO1xuICAgICAgICAgICAgfSkpIHx8IFtdO1xuICAgICAgICAgICAgdmFyIG9sZERhdGEgPSBwcmV2RGF0YS5maWx0ZXIoZnVuY3Rpb24gKGRhdGFJdGVtKSB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIHJldHVybiAhKChfYSA9IHRhYmxlRGF0YSA9PT0gbnVsbCB8fCB0YWJsZURhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhYmxlRGF0YS5kYXRhU291cmNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc29tZShmdW5jdGlvbiAoZWxlbWVudCkgeyByZXR1cm4gZWxlbWVudFt0YWJsZURhdGEucm93S2V5VmFsdWVdID09PSBkYXRhSXRlbVt0YWJsZURhdGEucm93S2V5VmFsdWVdOyB9KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHZhciBjb21iaW5lZERhdGEgPSBfX3NwcmVhZEFycmF5KF9fc3ByZWFkQXJyYXkoW10sIG9sZERhdGEsIHRydWUpLCBuZXdEYXRhLCB0cnVlKS5maWx0ZXIoZnVuY3Rpb24gKGRhdGFJdGVtLCBpbmRleCwgc2VsZikge1xuICAgICAgICAgICAgICAgIHJldHVybiAoaW5kZXggPT09XG4gICAgICAgICAgICAgICAgICAgIHNlbGYuZmluZEluZGV4KGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBpdGVtW3RhYmxlRGF0YS5yb3dLZXlWYWx1ZV0gPT09IGRhdGFJdGVtW3RhYmxlRGF0YS5yb3dLZXlWYWx1ZV07IH0pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2V0SW5pdGlhbFZhbHVlcyhfX2Fzc2lnbihfX2Fzc2lnbih7fSwgaW5pdGlhbFZhbHVlcyksIHsgc2VsZWN0ZWREYXRhOiBjb21iaW5lZERhdGEgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVkRGF0YTtcbiAgICAgICAgfSk7XG4gICAgfSwgW3Jvd1NlbGVjdGlvbkluZm9dKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGFnc0luZm8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc2V0Q29uZmlybUxvYWRpbmcodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbdGFnc0luZm9dKTtcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBzZXRDb25maXJtTG9hZGluZyhpc0xvYWRpbmcpO1xuICAgIH0sIFtpc0xvYWRpbmddKTtcbiAgICB2YXIgbW9kYWxDbGFzc2VzID0gY2xhc3NuYW1lcygoX2EgPSB7fSxcbiAgICAgICAgX2Fbc3R5bGVzLmRpc2FibGVkXSA9IGNvbmZpcm1Mb2FkaW5nLFxuICAgICAgICBfYSksIHN0eWxlcy5tb2RhbCk7XG4gICAgcmV0dXJuIChfanN4KF9GcmFnbWVudCwgeyBjaGlsZHJlbjogX2pzeHMoTW9kYWwsIF9fYXNzaWduKHsgZGVzdHJveU9uQ2xvc2U6IHRydWUsIGNsb3NlSWNvbjogX2pzeHMoXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy5jbG9zZUJ1dHRvbiB9LCB7IGNoaWxkcmVuOiBbX2pzeChcInBcIiwgeyBjaGlsZHJlbjogY2xvc2VUZXh0IH0pLCBfanN4KENsb3NlT3V0bGluZWQsIHt9KV0gfSkpLCBvcGVuOiBvcGVuLCBvbk9rOiBoaWRlTW9kYWwsIG9uQ2FuY2VsOiBoaWRlTW9kYWwsIG1hc2tDbG9zYWJsZTogZmFsc2UsIGNlbnRlcmVkOiB0cnVlLCB3aWR0aDogJzEwMCUnLCBmb290ZXI6IFtcbiAgICAgICAgICAgICAgICBfanN4KEJ1dHRvbiwgX19hc3NpZ24oeyBvbkNsaWNrOiBzYXZlQ2hhbmdlcyB9LCB7IGNoaWxkcmVuOiBidXR0b25UZXh0IH0pLCBcInN1Ym1pdFwiKVxuICAgICAgICAgICAgXSwgY2xhc3NOYW1lOiBtb2RhbENsYXNzZXMgfSwgeyBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy50YWdzV3JhcHBlciB9LCB7IGNoaWxkcmVuOiBfanN4KFRhZ0ZpZWxkLCB7IHRhZ3NJbmZvOiBzZXRUYWdzSW5mbyB9KSB9KSksIF9qc3goXCJkaXZcIiwgX19hc3NpZ24oeyBjbGFzc05hbWU6IHN0eWxlcy50YWJsZVdyYXBwZXIgfSwgeyBjaGlsZHJlbjogdGFibGVEYXRhICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBfanN4KFRhYmxlLCBfX2Fzc2lnbih7fSwgdGFibGVEYXRhLCB7IHBhZ2luYXRpb25JbmZvOiBzZXRQYWdlSW5mbywgcm93U2VsZWN0aW9uSW5mbzogc2V0Um93U2VsZWN0aW9uSW5mbywgaGVhZGluZ1RyYW5zbGF0aW9uc0tleTogJ3RhYmxlSGVhZGluZ3MnIH0pKSB9KSldIH0pKSB9KSk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/ModalWithTable/index.tsx\n");
|
|
10776
10776
|
|
|
10777
10777
|
/***/ }),
|
|
10778
10778
|
|
package/package.json
CHANGED
|
@@ -82,12 +82,12 @@ export const CategorySidebar = (props: SidebarProps) => {
|
|
|
82
82
|
const questions: Questions[] | undefined = nodeData?.questions;
|
|
83
83
|
|
|
84
84
|
if (questions && questions.length > 0) {
|
|
85
|
-
console.log('you cant add a subcategory to a category with questions');
|
|
85
|
+
// console.log('you cant add a subcategory to a category with questions');
|
|
86
86
|
return;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
if (dropPos.length
|
|
90
|
-
console.log('cant have more than 3 levels');
|
|
89
|
+
if (dropPos.length > 4) {
|
|
90
|
+
// console.log('cant have more than 3 levels');
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
93
|
|
|
@@ -17,6 +17,26 @@ export interface ModalWithTableProps {
|
|
|
17
17
|
confirmLoading?: boolean;
|
|
18
18
|
initialRowSelectedInfo?: any;
|
|
19
19
|
}
|
|
20
|
+
function objectsAreEqual(obj1: any, obj2: any) {
|
|
21
|
+
const keys1 = Object.keys(obj1);
|
|
22
|
+
const keys2 = Object.keys(obj2);
|
|
23
|
+
|
|
24
|
+
if (keys1.length !== keys2.length) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
for (const key of keys1) {
|
|
29
|
+
if (!keys2.includes(key) || obj1[key] !== obj2[key]) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function arrayContainsObject(array: any, newObj: any) {
|
|
38
|
+
return array.some((existingObj: any) => objectsAreEqual(existingObj, newObj));
|
|
39
|
+
}
|
|
20
40
|
|
|
21
41
|
export const ModalWithTable = (props: ModalWithTableProps) => {
|
|
22
42
|
const {
|
|
@@ -42,7 +62,7 @@ export const ModalWithTable = (props: ModalWithTableProps) => {
|
|
|
42
62
|
tagsInfo: [],
|
|
43
63
|
selectedData: [],
|
|
44
64
|
});
|
|
45
|
-
const pageBase = {currentPage: 1};
|
|
65
|
+
const pageBase = { currentPage: 1 };
|
|
46
66
|
const [open, setOpen] = useState((isOpen));
|
|
47
67
|
const [confirmLoading, setConfirmLoading] = useState(false);
|
|
48
68
|
const [pageInfo, setPageInfo] = useState<any>(pageBase);
|
|
@@ -50,15 +70,15 @@ export const ModalWithTable = (props: ModalWithTableProps) => {
|
|
|
50
70
|
const [tagsInfo, setTagsInfo] = useState<any>([]);
|
|
51
71
|
const [selectedData, setSelectedData] = useState<any>([]);
|
|
52
72
|
|
|
53
|
-
useEffect(()=> {
|
|
73
|
+
useEffect(() => {
|
|
54
74
|
setOpen(isOpen);
|
|
55
75
|
|
|
56
76
|
if (isOpen && !prevIsOpen) {
|
|
57
77
|
setInitialValues({
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
78
|
+
pageInfo: pageInfo,
|
|
79
|
+
rowSelectionInfo: rowSelectionInfo,
|
|
80
|
+
tagsInfo: tagsInfo,
|
|
81
|
+
selectedData: selectedData,
|
|
62
82
|
});
|
|
63
83
|
}
|
|
64
84
|
}, [isOpen])
|
|
@@ -77,13 +97,17 @@ export const ModalWithTable = (props: ModalWithTableProps) => {
|
|
|
77
97
|
|
|
78
98
|
const saveChanges = () => {
|
|
79
99
|
setOpen(false);
|
|
100
|
+
|
|
101
|
+
if (tableData?.rowSelection?.type === 'radio') {
|
|
102
|
+
setSelectedData([selectedData[selectedData.length - 1]]);
|
|
103
|
+
}
|
|
80
104
|
};
|
|
81
105
|
|
|
82
106
|
useEffect(() => {
|
|
83
107
|
if (!open) {
|
|
84
108
|
setPageInfo(pageBase);
|
|
85
109
|
}
|
|
86
|
-
|
|
110
|
+
|
|
87
111
|
const modalDataObj = {
|
|
88
112
|
pageInfo: pageInfo,
|
|
89
113
|
rowSelectionInfo: rowSelectionInfo,
|
|
@@ -91,19 +115,29 @@ export const ModalWithTable = (props: ModalWithTableProps) => {
|
|
|
91
115
|
open: open,
|
|
92
116
|
selectedData: selectedData,
|
|
93
117
|
};
|
|
94
|
-
|
|
118
|
+
|
|
95
119
|
modalData(modalDataObj);
|
|
96
120
|
}, [tagsInfo, open, rowSelectionInfo, selectedData]);
|
|
97
121
|
|
|
98
122
|
useEffect(() => {
|
|
99
123
|
const selectedRowKeys = rowSelectionInfo || tableData.rowSelection.selectedRowKeys;
|
|
100
124
|
|
|
101
|
-
if(tableData?.rowSelection?.type === 'radio') {
|
|
102
|
-
|
|
103
|
-
|
|
125
|
+
if (tableData?.rowSelection?.type === 'radio') {
|
|
126
|
+
setSelectedData((prevData: any) => {
|
|
127
|
+
const newData = tableData?.dataSource?.filter((element) => {
|
|
128
|
+
return selectedRowKeys.includes(element[tableData.rowKeyValue as any]);
|
|
129
|
+
}) || [];
|
|
130
|
+
|
|
131
|
+
if (newData.length < 1) {
|
|
132
|
+
return selectedData;
|
|
133
|
+
}
|
|
134
|
+
if (arrayContainsObject(selectedData, newData[0])) {
|
|
135
|
+
return selectedData;
|
|
136
|
+
}
|
|
137
|
+
const combinedData = [...selectedData, ...newData];
|
|
138
|
+
return combinedData;
|
|
104
139
|
});
|
|
105
|
-
|
|
106
|
-
setSelectedData(filteredArray);
|
|
140
|
+
|
|
107
141
|
return;
|
|
108
142
|
}
|
|
109
143
|
|
|
@@ -111,13 +145,13 @@ export const ModalWithTable = (props: ModalWithTableProps) => {
|
|
|
111
145
|
const newData = tableData?.dataSource?.filter((element) => {
|
|
112
146
|
return selectedRowKeys.includes(element[tableData.rowKeyValue as any]);
|
|
113
147
|
}) || [];
|
|
114
|
-
|
|
148
|
+
|
|
115
149
|
const oldData = prevData.filter((dataItem: any) => {
|
|
116
150
|
return !tableData?.dataSource?.some(
|
|
117
151
|
(element) => element[tableData.rowKeyValue as any] === dataItem[tableData.rowKeyValue as any]
|
|
118
152
|
);
|
|
119
153
|
});
|
|
120
|
-
|
|
154
|
+
|
|
121
155
|
const combinedData = [...oldData, ...newData].filter((dataItem, index, self) => {
|
|
122
156
|
return (
|
|
123
157
|
index ===
|
|
@@ -127,18 +161,18 @@ export const ModalWithTable = (props: ModalWithTableProps) => {
|
|
|
127
161
|
);
|
|
128
162
|
});
|
|
129
163
|
|
|
130
|
-
setInitialValues({...initialValues, selectedData: combinedData});
|
|
164
|
+
setInitialValues({ ...initialValues, selectedData: combinedData });
|
|
131
165
|
return combinedData;
|
|
132
166
|
});
|
|
133
167
|
}, [rowSelectionInfo])
|
|
134
168
|
|
|
135
|
-
useEffect(()=> {
|
|
136
|
-
if(tagsInfo.length > 0) {
|
|
169
|
+
useEffect(() => {
|
|
170
|
+
if (tagsInfo.length > 0) {
|
|
137
171
|
setConfirmLoading(true);
|
|
138
172
|
}
|
|
139
173
|
}, [tagsInfo]);
|
|
140
174
|
|
|
141
|
-
useEffect(()=> {
|
|
175
|
+
useEffect(() => {
|
|
142
176
|
setConfirmLoading(isLoading!);
|
|
143
177
|
}, [isLoading]);
|
|
144
178
|
|
|
@@ -154,7 +188,7 @@ export const ModalWithTable = (props: ModalWithTableProps) => {
|
|
|
154
188
|
<div className={styles.closeButton}>
|
|
155
189
|
<p>{closeText}</p><CloseOutlined />
|
|
156
190
|
</div>
|
|
157
|
-
}
|
|
191
|
+
}
|
|
158
192
|
open={open}
|
|
159
193
|
onOk={hideModal}
|
|
160
194
|
onCancel={hideModal}
|
|
@@ -168,15 +202,15 @@ export const ModalWithTable = (props: ModalWithTableProps) => {
|
|
|
168
202
|
]}
|
|
169
203
|
className={modalClasses}
|
|
170
204
|
>
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
205
|
+
<div className={styles.tagsWrapper}>
|
|
206
|
+
<TagField tagsInfo={setTagsInfo} />
|
|
207
|
+
</div>
|
|
174
208
|
|
|
175
|
-
|
|
176
|
-
|
|
209
|
+
<div className={styles.tableWrapper}>
|
|
210
|
+
{tableData &&
|
|
177
211
|
<Table {...tableData} paginationInfo={setPageInfo} rowSelectionInfo={setRowSelectionInfo} headingTranslationsKey={'tableHeadings'} />
|
|
178
|
-
|
|
179
|
-
|
|
212
|
+
}
|
|
213
|
+
</div>
|
|
180
214
|
|
|
181
215
|
</Modal>
|
|
182
216
|
</>
|