ecomlab-components-next 0.1.32 → 0.1.34

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.
Files changed (105) hide show
  1. package/dist/common/fetchUrls.js +7 -2
  2. package/dist/common/headers.js +2 -1
  3. package/dist/common/hooks/useDebounce.js +37 -0
  4. package/dist/common/hooks/useTextSelectionInModal.js +41 -0
  5. package/dist/components/Article/ArcticleWiki/ArcticleWiki.stories.js +152 -0
  6. package/dist/components/Article/ArcticleWiki/ArticleWiki.js +775 -0
  7. package/dist/components/Article/ArcticleWiki/ArticleWiki.scss +278 -0
  8. package/dist/components/Article/ArticleViewV2/ArticleViewV2.js +791 -0
  9. package/dist/components/Article/ArticleViewV2/ArticleViewV2.scss +245 -0
  10. package/dist/components/Article/ArticleViewV2/ArticleViewV2.stories.js +166 -0
  11. package/dist/components/Article/ArticleViewV2/img/bell.svg +9 -0
  12. package/dist/components/Article/ArticleViewV2/img/btn-add-round.svg +4 -0
  13. package/dist/components/Article/ArticleViewV2/img/calendar_icon.svg +6 -0
  14. package/dist/components/Article/ArticleViewV2/img/close-round.svg +3 -0
  15. package/dist/components/Article/ArticleViewV2/img/close.svg +9 -0
  16. package/dist/components/Article/ArticleViewV2/img/copy_icon.svg +5 -0
  17. package/dist/components/Article/ArticleViewV2/img/dndMenu.svg +1 -0
  18. package/dist/components/Article/ArticleViewV2/img/info.svg +9 -0
  19. package/dist/components/Article/ArticleViewV2/img/ok_icon.svg +5 -0
  20. package/dist/components/Article/ArticleViewV2/img/plus_circle.svg +6 -0
  21. package/dist/components/Article/ArticleViewV2/img/share_icon.svg +5 -0
  22. package/dist/components/Article/ArticleViewV2/img/tg.svg +3 -0
  23. package/dist/components/Article/ArticleViewV2/img/tg_icon.svg +5 -0
  24. package/dist/components/Article/ArticleViewV2/img/time_icon.svg +6 -0
  25. package/dist/components/Article/ArticleViewV2/img/view_icon.svg +6 -0
  26. package/dist/components/Article/ArticleViewV2/img/vk_icon.svg +5 -0
  27. package/dist/components/Article/ArticleViewV2/img/whatsapp_icon.svg +5 -0
  28. package/dist/components/Article/Breadcrumb/Breadcrumb.js +69 -0
  29. package/dist/components/Article/Breadcrumb/Breadcrumb.scss +96 -0
  30. package/dist/components/Article/Breadcrumb/img/drop-right.svg +3 -0
  31. package/dist/components/Article/Breadcrumb/img/home_icon.svg +5 -0
  32. package/dist/components/Article/EditWrapper/EditWrapper.js +108 -0
  33. package/dist/components/Article/EditWrapper/EditWrapper.scss +93 -0
  34. package/dist/components/Article/EditWrapper/img/bx-grid-vertical.svg +5 -0
  35. package/dist/components/Article/Editor/Editor.js +92 -0
  36. package/dist/components/Article/Editor/Editor.scss +35 -0
  37. package/dist/components/Article/Editor/img/copy.svg +6 -0
  38. package/dist/components/Article/FormBtn/FormBtn.js +229 -0
  39. package/dist/components/Article/FormBtn/FormBtn.scss +458 -0
  40. package/dist/components/Article/FormBtn/ModalBitrixForm/ModalBitrixForm.js +282 -0
  41. package/dist/components/Article/FormBtn/ModalBitrixForm/ModalBitrixForm.scss +140 -0
  42. package/dist/components/Article/FormBtn/ModalBitrixForm/img/close_icon.svg +3 -0
  43. package/dist/components/Article/FormBtn/ModalBitrixForm/img/done_icon.svg +3 -0
  44. package/dist/components/Article/FormBtn/ModalBitrixForm/img/ozon.svg +9 -0
  45. package/dist/components/Article/FormBtn/ModalBitrixForm/img/ozon_bkg.svg +9 -0
  46. package/dist/components/Article/FormBtn/ModalBitrixForm/validationFunc.js +14 -0
  47. package/dist/components/Article/FormBtn/img/clos_icon.svg +6 -0
  48. package/dist/components/Article/FormBtn/img/close-icon.svg +3 -0
  49. package/dist/components/Article/ImgArticle/ImgArticle.js +297 -0
  50. package/dist/components/Article/ImgArticle/ImgArticle.scss +169 -0
  51. package/dist/components/Article/ImgArticle/img/noPhoto.png +0 -0
  52. package/dist/components/Article/InformationBlock/InformationBlock.js +200 -0
  53. package/dist/components/Article/InformationBlock/InformationBlock.scss +89 -0
  54. package/dist/components/Article/InformationBlock/img/bell.svg +9 -0
  55. package/dist/components/Article/ListOfContent/ListOfContent.js +110 -0
  56. package/dist/components/Article/ListOfContent/ListOfContent.scss +115 -0
  57. package/dist/components/Article/ListOfContent/img/time_icon.svg +3 -0
  58. package/dist/components/Article/ListOfContent/img/view_icon.svg +3 -0
  59. package/dist/components/Article/ModalMiltilevelSidebarSettings/ModalMiltilevelSidebarSettings.js +973 -0
  60. package/dist/components/Article/ModalMiltilevelSidebarSettings/ModalMiltilevelSidebarSettings.scss +254 -0
  61. package/dist/components/Article/ModalMiltilevelSidebarSettings/ModalMiltilevelSidebarSettings.stories.js +76 -0
  62. package/dist/components/Article/ModalMiltilevelSidebarSettings/img/bx-cog.png +0 -0
  63. package/dist/components/Article/ModalMiltilevelSidebarSettings/img/bx-cog.svg +4 -0
  64. package/dist/components/Article/ModalMiltilevelSidebarSettings/img/bx-trash.png +0 -0
  65. package/dist/components/Article/ModalMiltilevelSidebarSettings/img/bx-trash.svg +4 -0
  66. package/dist/components/Article/ModalMiltilevelSidebarSettings/img/drop_icon.svg +5 -0
  67. package/dist/components/Article/ModalMiltilevelSidebarSettings/img/edit_icon.svg +6 -0
  68. package/dist/components/Article/ModalMiltilevelSidebarSettings/img/trash_icon.svg +8 -0
  69. package/dist/components/Article/ModalReplaceBlock/ModalReplaceBlock.js +85 -0
  70. package/dist/components/Article/ModalReplaceBlock/ModalReplaceBlock.scss +72 -0
  71. package/dist/components/Article/SelectedBlocks/SelectedBlocks.js +281 -0
  72. package/dist/components/Article/SelectedBlocks/SelectedBlocks.scss +0 -0
  73. package/dist/components/Article/SocialMedia/ModalSelectionSocialMedia/ModalSelectionSocialMedia.js +130 -0
  74. package/dist/components/Article/SocialMedia/ModalSelectionSocialMedia/ModalSelectionSocialMedia.scss +65 -0
  75. package/dist/components/Article/SocialMedia/ModalSelectionSocialMedia/img/Facebook.svg +4 -0
  76. package/dist/components/Article/SocialMedia/ModalSelectionSocialMedia/img/OK.svg +4 -0
  77. package/dist/components/Article/SocialMedia/ModalSelectionSocialMedia/img/Xcom.svg +9 -0
  78. package/dist/components/Article/SocialMedia/ModalSelectionSocialMedia/img/linkedin.svg +5 -0
  79. package/dist/components/Article/SocialMedia/ModalSelectionSocialMedia/img/tg.svg +4 -0
  80. package/dist/components/Article/SocialMedia/ModalSelectionSocialMedia/img/vk.svg +4 -0
  81. package/dist/components/Article/SocialMedia/ModalSelectionSocialMedia/img/wtsp.svg +4 -0
  82. package/dist/components/Article/SocialMedia/SocialMedia.js +242 -0
  83. package/dist/components/Article/SocialMedia/SocialMedia.scss +57 -0
  84. package/dist/components/Article/SocialMedia/img/dzen.svg +4 -0
  85. package/dist/components/Article/SocialMedia/img/facebook.svg +4 -0
  86. package/dist/components/Article/SocialMedia/img/insta.svg +9 -0
  87. package/dist/components/Article/SocialMedia/img/linkendIn.svg +5 -0
  88. package/dist/components/Article/SocialMedia/img/ok.svg +4 -0
  89. package/dist/components/Article/SocialMedia/img/pikabu.svg +9 -0
  90. package/dist/components/Article/SocialMedia/img/telegram.svg +4 -0
  91. package/dist/components/Article/SocialMedia/img/vcru.svg +0 -0
  92. package/dist/components/Article/SocialMedia/img/vk.svg +4 -0
  93. package/dist/components/Article/SocialMedia/img/wp.svg +4 -0
  94. package/dist/components/Article/SocialMedia/img/x.svg +9 -0
  95. package/dist/components/Article/TextArticle/TextArticle.js +257 -0
  96. package/dist/components/Article/TextArticle/TextArticle.scss +156 -0
  97. package/dist/components/Article/TextArticle/img/dndMenu.svg +1 -0
  98. package/dist/components/Article/TitleText/TitleText.js +157 -0
  99. package/dist/components/Article/TitleText/TitleText.scss +74 -0
  100. package/dist/components/Article/VideoArticle/VideoArticle.js +248 -0
  101. package/dist/components/Article/VideoArticle/VideoArticle.scss +147 -0
  102. package/dist/components/Buttons/ButtonActionDrop/ButtonActionDrop.js +109 -0
  103. package/dist/components/Buttons/ButtonActionDrop/ButtonActionDrop.scss +97 -0
  104. package/dist/components/Buttons/ButtonActionDrop/img/bx-dots-horizontal-rounded.svg +3 -0
  105. package/package.json +3 -2
@@ -0,0 +1,973 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ require("./ModalMiltilevelSidebarSettings.scss");
10
+ var _headers2 = _interopRequireDefault(require("../../../common/headers"));
11
+ var _fetchUrls = require("../../../common/fetchUrls");
12
+ var _ButtonBasic = _interopRequireDefault(require("../../Buttons/ButtonBasic/ButtonBasic"));
13
+ var _drop_icon = _interopRequireDefault(require("./img/drop_icon.svg"));
14
+ var _ButtonActionDrop = require("../../Buttons/ButtonActionDrop/ButtonActionDrop");
15
+ var _router = require("next/router");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
19
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
20
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
22
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
23
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
24
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
25
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
26
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
27
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
30
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
31
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
32
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
33
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
34
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
35
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
36
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
37
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } // import { useNavigate, useParams } from 'react-router-dom';
38
+ var _MenuItem = function MenuItem(_ref) {
39
+ var ind = _ref.ind,
40
+ item = _ref.item,
41
+ _onDragStart = _ref.onDragStart,
42
+ _onDragOver = _ref.onDragOver,
43
+ _onDrop = _ref.onDrop,
44
+ onDropBetween = _ref.onDropBetween,
45
+ toggleExpand = _ref.toggleExpand,
46
+ handleAddChild = _ref.handleAddChild,
47
+ handleSelect = _ref.handleSelect,
48
+ handleDelete = _ref.handleDelete,
49
+ selectedItemId = _ref.selectedItemId,
50
+ fetchChildren = _ref.fetchChildren,
51
+ setIsModalSettings = _ref.setIsModalSettings,
52
+ fetchGetBreadcrumbs = _ref.fetchGetBreadcrumbs,
53
+ expanded = _ref.expanded,
54
+ toggleExpandItem = _ref.toggleExpandItem;
55
+ var _useState = (0, _react.useState)(false),
56
+ _useState2 = _slicedToArray(_useState, 2),
57
+ isHovered = _useState2[0],
58
+ setIsHovered = _useState2[1];
59
+ var _useState3 = (0, _react.useState)(false),
60
+ _useState4 = _slicedToArray(_useState3, 2),
61
+ isHoveredTop = _useState4[0],
62
+ setIsHoveredTop = _useState4[1];
63
+ var _useState5 = (0, _react.useState)(false),
64
+ _useState6 = _slicedToArray(_useState5, 2),
65
+ isHoveredForDrop = _useState6[0],
66
+ setIsHoveredForDrop = _useState6[1];
67
+ var handleToggleExpand = function handleToggleExpand() {
68
+ // Переключаем состояние раскрытия
69
+ toggleExpandItem(item.id, !expanded[item.id]);
70
+ if (!expanded) {
71
+ fetchChildren(item.id); // Сделать запрос для детей этого элемента
72
+ }
73
+ };
74
+ (0, _react.useEffect)(function () {
75
+ if (expanded && expanded !== null && expanded !== void 0 && expanded[item.id]) {
76
+ fetchChildren(item.id);
77
+ }
78
+ }, [item]);
79
+
80
+ // //эффект делает expanded false когда не становится детей у элемента
81
+ // useEffect(() => {
82
+ // if (item.children.length === 0 && item.expanded) {
83
+ // toggleExpand(item.id, false);
84
+ // }
85
+ // }, [item.children, item.expanded, toggleExpand, item.id]);
86
+
87
+ var btns = [{
88
+ btn: 'Редактировать',
89
+ func: function func() {
90
+ setIsModalSettings(true);
91
+ }
92
+ }, {
93
+ btn: 'Удалить',
94
+ func: function func() {
95
+ handleDelete(item.id);
96
+ }
97
+ }];
98
+
99
+ // const HoverBlock = ({
100
+ // isHovered,
101
+ // setIsHovered,
102
+ // position,
103
+ // top
104
+ // }) => {
105
+ // return <div
106
+ // className="hover-block"
107
+ // style={{
108
+ // borderTop: isHovered ? '4px solid #5282ff' : (position === 'below' ? '4px solid rgb(212, 255, 82)' : '4px solid rgb(255, 229, 82)'),
109
+ // height: '4px',
110
+ // bottom: position === 'below' ? 0 : 'calc(100% - 4px)',
111
+ // // bottom: position !== 'below' ? 0 : 'inherit'
112
+ // // backgroundColor: isHovered ? '#5282ff' : 'rgb(255, 180, 82)',
113
+ // }}
114
+ // onDragEnter={() => setIsHovered(true)}
115
+ // onDragLeave={() => setIsHovered(false)}
116
+ // onDragOver={(e) => {
117
+ // e.stopPropagation()
118
+ // onDragOver(e);
119
+ // e.dataTransfer.dropEffect = 'move';
120
+ // }}
121
+ // onDrop={(e) => {
122
+ // console.log(item.id)
123
+ // onDropBetween(e, top ? null : item.id, position, item.parent_id);
124
+ // setIsHovered(false);
125
+ // }}
126
+ // />
127
+ // }
128
+ // console.log(item)
129
+
130
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
131
+ onDragOver: function onDragOver(e) {
132
+ return _onDragOver(e);
133
+ },
134
+ onDrop: function onDrop(e) {
135
+ return onDropBetween(e, item.id, 'above');
136
+ }
137
+ }), /*#__PURE__*/_react["default"].createElement("div", {
138
+ className: "menu-item ",
139
+ draggable: true,
140
+ onDragStart: function onDragStart(e) {
141
+ _onDragStart(e, item.id);
142
+ },
143
+ onDragOver: function onDragOver(e) {
144
+ _onDragOver(e);
145
+ e.dataTransfer.dropEffect = 'move';
146
+ setIsHoveredForDrop(true);
147
+ },
148
+ onDrop: function onDrop(e) {
149
+ e.stopPropagation();
150
+ _onDrop(e, item.id, 'inside', item.parent_id);
151
+ setIsHoveredForDrop(false);
152
+ },
153
+ onDragLeave: function onDragLeave() {
154
+ return setIsHoveredForDrop(false);
155
+ },
156
+ onClick: function onClick(e) {
157
+ e.stopPropagation();
158
+ handleSelect(item.id);
159
+ }
160
+ }, /*#__PURE__*/_react["default"].createElement("div", {
161
+ className: "item-label ".concat(isHoveredForDrop ? 'hovered-for-drop' : ''),
162
+ style: {
163
+ display: 'flex',
164
+ justifyContent: 'space-between',
165
+ color: selectedItemId === item.id ? '#00B45E' : '',
166
+ position: 'relative'
167
+ },
168
+ onDragEnter: function onDragEnter(e) {
169
+ e.preventDefault();
170
+ setIsHoveredForDrop(true);
171
+ }
172
+ }, item.before === null && item.parent_id === null && /*#__PURE__*/_react["default"].createElement("div", {
173
+ className: "hover-block",
174
+ style: {
175
+ height: '4px',
176
+ borderTop: isHoveredTop ? '4px solid #5282ff' : '',
177
+ top: 0
178
+ // backgroundColor: isHovered ? '#5282ff' : 'rgb(255, 180, 82)',
179
+ },
180
+ onDragEnter: function onDragEnter() {
181
+ return setIsHoveredTop(true);
182
+ },
183
+ onDragLeave: function onDragLeave() {
184
+ return setIsHoveredTop(false);
185
+ },
186
+ onDragOver: function onDragOver(e) {
187
+ _onDragOver(e);
188
+ e.dataTransfer.dropEffect = 'move';
189
+ },
190
+ onDrop: function onDrop(e) {
191
+ e.stopPropagation();
192
+ onDropBetween(e, item.before, 'above', item.parent_id);
193
+ setIsHoveredTop(false);
194
+ }
195
+ }), /*#__PURE__*/_react["default"].createElement("div", {
196
+ className: "item-label__box"
197
+ }, /*#__PURE__*/_react["default"].createElement("div", {
198
+ className: "menu-item__arrow-box"
199
+ }, (item.has_child || item.children.length > 0) && /*#__PURE__*/_react["default"].createElement("img", {
200
+ src: _drop_icon["default"],
201
+ className: "arrow ".concat(expanded[item.id] ? 'open' : '')
202
+ // onClick={handleToggleExpand}
203
+ // onClick={(e) => {
204
+ // e.stopPropagation();
205
+ // if (item.expanded) {
206
+ // toggleExpand(item.id, false);
207
+ // } else {
208
+ // fetchChildren(item.id);
209
+ // toggleExpand(item.id, true);
210
+ // }
211
+ // }}
212
+ ,
213
+ onClick: function onClick(e) {
214
+ e.stopPropagation();
215
+ if (expanded[item.id]) {
216
+ handleToggleExpand();
217
+ } else {
218
+ fetchChildren(item.id);
219
+ handleToggleExpand();
220
+ }
221
+ }
222
+ })), /*#__PURE__*/_react["default"].createElement("span", {
223
+ onClick: function onClick() {
224
+ fetchGetBreadcrumbs(item.id);
225
+ }
226
+ }, item.label), /*#__PURE__*/_react["default"].createElement("div", {
227
+ className: "menu-item__group-btn"
228
+ }, /*#__PURE__*/_react["default"].createElement(_ButtonActionDrop.ButtonActionDrop, {
229
+ id: item.id,
230
+ btns: btns,
231
+ size: 's'
232
+ }))), /*#__PURE__*/_react["default"].createElement("div", {
233
+ className: "hover-block",
234
+ style: {
235
+ borderTop: isHovered ? '4px solid #5282ff' : '',
236
+ height: '4px',
237
+ bottom: 0
238
+ // backgroundColor: isHovered ? '#5282ff' : 'rgb(255, 180, 82)',
239
+ },
240
+ onDragEnter: function onDragEnter() {
241
+ return setIsHovered(true);
242
+ },
243
+ onDragLeave: function onDragLeave() {
244
+ return setIsHovered(false);
245
+ },
246
+ onDragOver: function onDragOver(e) {
247
+ e.stopPropagation();
248
+ _onDragOver(e);
249
+ e.dataTransfer.dropEffect = 'move';
250
+ },
251
+ onDrop: function onDrop(e) {
252
+ console.log(item.id);
253
+ onDropBetween(e, item.id, 'below', item.parent_id);
254
+ setIsHovered(false);
255
+ }
256
+ })), expanded[item.id] && item.children.length > 0 && /*#__PURE__*/_react["default"].createElement("div", {
257
+ className: "children"
258
+ }, item.children.map(function (child, ind) {
259
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem, {
260
+ ind: ind,
261
+ key: child.id,
262
+ item: child,
263
+ onDragStart: _onDragStart,
264
+ onDragOver: _onDragOver,
265
+ onDrop: _onDrop,
266
+ onDropBetween: onDropBetween,
267
+ toggleExpand: toggleExpand,
268
+ handleAddChild: handleAddChild,
269
+ handleDelete: handleDelete,
270
+ handleSelect: handleSelect,
271
+ selectedItemId: selectedItemId,
272
+ fetchChildren: fetchChildren,
273
+ setIsModalSettings: setIsModalSettings,
274
+ expanded: expanded,
275
+ toggleExpandItem: toggleExpandItem
276
+ });
277
+ }))));
278
+ };
279
+ var ModalMiltilevelSidebarSettings = function ModalMiltilevelSidebarSettings(_ref2) {
280
+ var setTitle = _ref2.setTitle,
281
+ setPathsWebName = _ref2.setPathsWebName,
282
+ onPortalClick = _ref2.onPortalClick,
283
+ setPaths = _ref2.setPaths,
284
+ selectedItemId = _ref2.selectedItemId,
285
+ setSelectedItemId = _ref2.setSelectedItemId,
286
+ fetchGetBreadcrumbs = _ref2.fetchGetBreadcrumbs,
287
+ breadcrumbs = _ref2.breadcrumbs;
288
+ // Состояние для хранения раскрытых пунктов меню
289
+ var _useState7 = (0, _react.useState)({}),
290
+ _useState8 = _slicedToArray(_useState7, 2),
291
+ expandedItemsStorage = _useState8[0],
292
+ setExpandedItemsStorage = _useState8[1];
293
+ // Функция для переключения состояния раскрытия
294
+ var toggleExpandItems = function toggleExpandItems(itemId, isExpanded) {
295
+ if (itemId) {
296
+ setExpandedItemsStorage(function (prevState) {
297
+ return _objectSpread(_objectSpread({}, prevState), {}, _defineProperty({}, itemId, isExpanded));
298
+ });
299
+ }
300
+ };
301
+
302
+ // console.log(expandedItemsStorage)
303
+ var location = (0, _router.useRouter)();
304
+ // const selectedSpace = useGeneralStore((state) => state.selectedSpace);
305
+ // const headers = { ...customHeaders, ...getSpace(selectedSpace) };
306
+
307
+ var _useState9 = (0, _react.useState)([]),
308
+ _useState10 = _slicedToArray(_useState9, 2),
309
+ menu = _useState10[0],
310
+ setMenu = _useState10[1];
311
+ var _useState11 = (0, _react.useState)(null),
312
+ _useState12 = _slicedToArray(_useState11, 2),
313
+ draggedItemId = _useState12[0],
314
+ setDraggedItemId = _useState12[1];
315
+ var _useState13 = (0, _react.useState)(false),
316
+ _useState14 = _slicedToArray(_useState13, 2),
317
+ isModalOpen = _useState14[0],
318
+ setIsModalOpen = _useState14[1];
319
+ var _useState15 = (0, _react.useState)(false),
320
+ _useState16 = _slicedToArray(_useState15, 2),
321
+ isModalSettings = _useState16[0],
322
+ setIsModalSettings = _useState16[1];
323
+ var _useState17 = (0, _react.useState)(''),
324
+ _useState18 = _slicedToArray(_useState17, 2),
325
+ newItemLabel = _useState18[0],
326
+ setNewItemLabel = _useState18[1];
327
+ // const [selectedItemId, setSelectedItemId] = useState(null);
328
+ var _useState19 = (0, _react.useState)(false),
329
+ _useState20 = _slicedToArray(_useState19, 2),
330
+ isLoadingChildren = _useState20[0],
331
+ setIsLoadingChildren = _useState20[1];
332
+ var wiki_name = localStorage.getItem('wiki_name');
333
+ var wiki_id = localStorage.getItem('wiki_id');
334
+ // const path = useParams()['*'];
335
+
336
+ var _useState21 = (0, _react.useState)('ru'),
337
+ _useState22 = _slicedToArray(_useState21, 2),
338
+ selectedLang = _useState22[0],
339
+ setSelectedLang = _useState22[1];
340
+ var _useState23 = (0, _react.useState)(false),
341
+ _useState24 = _slicedToArray(_useState23, 2),
342
+ isLanguage = _useState24[0],
343
+ setIsLanguage = _useState24[1];
344
+ var menuRef = (0, _react.useRef)(null);
345
+ var getExpandedFromStorage = function getExpandedFromStorage() {
346
+ var expandedItems = localStorage.getItem('expandedItems');
347
+ return expandedItems ? JSON.parse(expandedItems) : [];
348
+ };
349
+
350
+ // const saveExpandedToStorage = (expandedItems) => {
351
+ // localStorage.setItem('expandedItems', JSON.stringify(expandedItems));
352
+ // };
353
+
354
+ // useEffect(() => {
355
+ // const handleClickOutside = (event) => {
356
+ // if (menuRef.current && !menuRef.current.contains(event.target)) {
357
+ // setSelectedItemId(null);
358
+ // }
359
+ // };
360
+
361
+ // document.addEventListener('mousedown', handleClickOutside);
362
+ // return () => {
363
+ // document.removeEventListener('mousedown', handleClickOutside);
364
+ // };
365
+ // }, [menuRef]);
366
+
367
+ var _findItemById = function findItemById(items, id) {
368
+ var _iterator = _createForOfIteratorHelper(items),
369
+ _step;
370
+ try {
371
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
372
+ var item = _step.value;
373
+ if (item.id === id) return item;
374
+ if (item.children) {
375
+ var found = _findItemById(item.children, id);
376
+ if (found) return found;
377
+ }
378
+ }
379
+ } catch (err) {
380
+ _iterator.e(err);
381
+ } finally {
382
+ _iterator.f();
383
+ }
384
+ };
385
+ var _findAndRemoveItem = function findAndRemoveItem(items, id) {
386
+ for (var i = 0; i < items.length; i++) {
387
+ if (items[i].id === id) return items.splice(i, 1)[0];
388
+ if (items[i].children) {
389
+ var found = _findAndRemoveItem(items[i].children, id);
390
+ if (found) return found;
391
+ }
392
+ }
393
+ };
394
+ var _addItemToParent = function addItemToParent(items, targetId, item) {
395
+ for (var i = 0; i < items.length; i++) {
396
+ if (items[i].id === targetId) {
397
+ if (!items[i].children) items[i].children = [];
398
+ items[i].children.push(item);
399
+ items[i].expanded = true;
400
+ return;
401
+ }
402
+ if (items[i].children) {
403
+ _addItemToParent(items[i].children, targetId, item);
404
+ }
405
+ }
406
+ };
407
+ var _isChildOf = function isChildOf(childId, parentId, items) {
408
+ var _iterator2 = _createForOfIteratorHelper(items),
409
+ _step2;
410
+ try {
411
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
412
+ var item = _step2.value;
413
+ if (item.id === parentId) {
414
+ return item.children.some(function (child) {
415
+ return child.id === childId;
416
+ });
417
+ }
418
+ if (item.children) {
419
+ if (_isChildOf(childId, parentId, item.children)) return true;
420
+ }
421
+ }
422
+ } catch (err) {
423
+ _iterator2.e(err);
424
+ } finally {
425
+ _iterator2.f();
426
+ }
427
+ return false;
428
+ };
429
+ var _addItemAsSibling = function addItemAsSibling(items, targetId, item, position) {
430
+ for (var i = 0; i < items.length; i++) {
431
+ if (items[i].id === targetId) {
432
+ var index = i;
433
+ if (position === 'above') {
434
+ items.splice(index, 0, item);
435
+ } else if (position === 'below') {
436
+ items.splice(index + 1, 0, item);
437
+ }
438
+ return;
439
+ }
440
+ if (items[i].children) {
441
+ _addItemAsSibling(items[i].children, targetId, item, position);
442
+ }
443
+ }
444
+ };
445
+ var fetchArticlesByLevel = function fetchArticlesByLevel() {
446
+ var parent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
447
+ setIsLoadingChildren(true);
448
+ // const url = `${RavshanHttps}/api/v2/article/levels/${wiki_id}`;
449
+ var url = "".concat(_fetchUrls.RavshanHttps, "/api/v2/article/levels/29");
450
+ var parentsHeader = parent ? {
451
+ 'parent-id': parent
452
+ } : '';
453
+ var getHeaders = _objectSpread(_objectSpread({}, _headers2["default"]), parentsHeader);
454
+ fetch(url, {
455
+ headers: getHeaders
456
+ }).then(/*#__PURE__*/function () {
457
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(res) {
458
+ var err;
459
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
460
+ while (1) switch (_context.prev = _context.next) {
461
+ case 0:
462
+ if (!res.ok) {
463
+ _context.next = 4;
464
+ break;
465
+ }
466
+ return _context.abrupt("return", res.json());
467
+ case 4:
468
+ _context.next = 6;
469
+ return res.json();
470
+ case 6:
471
+ err = _context.sent;
472
+ throw new Error(JSON.stringify(err));
473
+ case 8:
474
+ case "end":
475
+ return _context.stop();
476
+ }
477
+ }, _callee);
478
+ }));
479
+ return function (_x) {
480
+ return _ref3.apply(this, arguments);
481
+ };
482
+ }()).then(function (json) {
483
+ var expandedItems = getExpandedFromStorage();
484
+ var transformedData = json.map(function (_ref4) {
485
+ var id = _ref4.id,
486
+ name = _ref4.name,
487
+ has_child = _ref4.has_child,
488
+ subItems = _ref4.subItems,
489
+ before = _ref4.before,
490
+ parent_id = _ref4.parent_id;
491
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty({
492
+ id: id,
493
+ before: before,
494
+ label: name,
495
+ has_child: has_child
496
+ }, "before", before), "parent_id", parent_id), "children", subItems && subItems.length > 0 ? subItems.map(function (subItem) {
497
+ return {
498
+ id: subItem.id,
499
+ label: subItem.name,
500
+ children: [],
501
+ has_child: subItem.has_child,
502
+ before: subItem.before,
503
+ parent_id: id
504
+ };
505
+ }) : []), "expanded", expandedItems.includes(id));
506
+ });
507
+ transformedData.forEach(function (item) {
508
+ if (item.expanded) {
509
+ fetchChildren(item.id);
510
+ }
511
+ });
512
+ if (parent) {
513
+ setMenu(function (prevMenu) {
514
+ var newMenu = _toConsumableArray(prevMenu);
515
+ var parentItem = _findItemById(newMenu, parent);
516
+ if (parentItem) {
517
+ parentItem.children = transformedData;
518
+ parentItem.expanded = true;
519
+ }
520
+ return newMenu;
521
+ });
522
+ } else {
523
+ setMenu(transformedData);
524
+ }
525
+ })["catch"](function (err) {
526
+ return console.error(err);
527
+ })["finally"](function () {
528
+ setIsLoadingChildren(false);
529
+ });
530
+ };
531
+ var fetchChildren = function fetchChildren(parentId) {
532
+ fetchArticlesByLevel(parentId);
533
+ };
534
+ (0, _react.useEffect)(function () {
535
+ fetchArticlesByLevel();
536
+ }, []);
537
+ var getLabelFromUrl = function getLabelFromUrl() {
538
+ var label = window.location.pathname.split('/').at(-2);
539
+ return label;
540
+ };
541
+ var actualPath = getLabelFromUrl();
542
+ (0, _react.useEffect)(function () {
543
+ setPaths([actualPath.replace(/%20/g, ' ')]);
544
+ }, [actualPath]);
545
+
546
+ // const navigate = useNavigate();
547
+
548
+ var handleSelect = function handleSelect(itemId) {
549
+ var item = _findItemById(menu, itemId);
550
+ var label = item.label;
551
+ var newUrl = "/wiki/".concat(item.id, "/");
552
+ // navigate(newUrl);
553
+ // window.history.pushState({}, '', newUrl);
554
+ setSelectedItemId(itemId);
555
+ setTitle(label);
556
+ onPortalClick(itemId);
557
+ // if (typeof setPaths === 'function') {
558
+ // setPaths([actualPath]);
559
+ // }
560
+ setPathsWebName(label);
561
+ };
562
+
563
+ // Обновляем крошки при первой загрузке
564
+ (0, _react.useEffect)(function () {
565
+ var currentURL = window.location.href;
566
+ var id = currentURL.split('/').at(-2);
567
+ fetchGetBreadcrumbs(id);
568
+ onPortalClick(id);
569
+ }, []);
570
+ var _useState25 = (0, _react.useState)(true),
571
+ _useState26 = _slicedToArray(_useState25, 2),
572
+ initial = _useState26[0],
573
+ setInitial = _useState26[1];
574
+
575
+ // Эффект для открытия меню при загрузке
576
+ (0, _react.useEffect)(function () {
577
+ if (initial && breadcrumbs.length > 0) {
578
+ var obj_expanded = {};
579
+ breadcrumbs === null || breadcrumbs === void 0 || breadcrumbs.forEach(function (_ref6, ind) {
580
+ var value = _ref6.value,
581
+ label = _ref6.label;
582
+ fetchChildren(value);
583
+ if (ind == breadcrumbs.length - 1) {
584
+ if (!location.pathname.includes('/article/')) {
585
+ setSelectedItemId(value);
586
+ }
587
+ } else {
588
+ obj_expanded[value] = true;
589
+ setTitle(label);
590
+ }
591
+ });
592
+ setExpandedItemsStorage(obj_expanded);
593
+ setInitial(false);
594
+ }
595
+ }, [breadcrumbs, window.location.href]);
596
+ console.log(expandedItemsStorage);
597
+ var toggleExpand = function toggleExpand(id, expanded) {
598
+ var newMenu = _toConsumableArray(menu);
599
+ // const expandedItems = getExpandedFromStorage();
600
+
601
+ // if (expanded) {
602
+ // if (!expandedItems.includes(id)) {
603
+ // expandedItems.push(id);
604
+ // }
605
+ // } else {
606
+ // const index = expandedItems.indexOf(id);
607
+ // if (index > -1) {
608
+ // expandedItems.splice(index, 1);
609
+ // }
610
+ // }
611
+
612
+ // saveExpandedToStorage(expandedItems);
613
+
614
+ // toggleExpandItem(newMenu, id, expanded);
615
+ setMenu(newMenu);
616
+ };
617
+ var _toggleExpandItem = function toggleExpandItem(items, id, expanded) {
618
+ for (var i = 0; i < items.length; i++) {
619
+ if (items[i].id === id) {
620
+ items[i].expanded = expanded;
621
+ return;
622
+ }
623
+ if (items[i].children) {
624
+ _toggleExpandItem(items[i].children, id, expanded);
625
+ }
626
+ }
627
+ };
628
+ var openModalToAdd = function openModalToAdd() {
629
+ setIsModalOpen(true);
630
+ setNewItemLabel('');
631
+ };
632
+ var addNewItem = function addNewItem() {
633
+ if (!newItemLabel) return;
634
+ var parentId = selectedItemId || null;
635
+ fetchAddLevel(newItemLabel, parentId, null).then(function (newItem) {
636
+ var newMenu = _toConsumableArray(menu);
637
+ var newMenuItem = {
638
+ id: newItem.id,
639
+ label: newItemLabel,
640
+ children: []
641
+ };
642
+ if (parentId) {
643
+ _addItemToParent(newMenu, parentId, newMenuItem);
644
+ } else {
645
+ newMenu.unshift(newMenuItem);
646
+ }
647
+ setMenu(newMenu);
648
+ setIsModalOpen(false);
649
+ setSelectedItemId(newMenuItem.id);
650
+ fetchArticlesByLevel();
651
+ })["catch"](function (err) {
652
+ return console.error(err);
653
+ });
654
+ };
655
+ var fetchAddLevel = function fetchAddLevel(name, parent_id, place) {
656
+ var url = "".concat(_fetchUrls.RavshanHttps, "/api/v2/article/level");
657
+ var body = JSON.stringify({
658
+ name: name,
659
+ parent_id: parent_id,
660
+ before: place,
661
+ wiki_list_id: wiki_id
662
+ });
663
+ return fetch(url, {
664
+ body: body,
665
+ method: 'POST',
666
+ headers: _headers2["default"]
667
+ }).then(function (res) {
668
+ if (res.ok) {
669
+ return res.json();
670
+ } else {
671
+ throw new Error(res.json());
672
+ }
673
+ }).then(fetchArticlesByLevel())["catch"](function (err) {
674
+ return console.error(err);
675
+ });
676
+ };
677
+ var handleDragOver = function handleDragOver(e) {
678
+ e.preventDefault();
679
+ };
680
+ var handleDragStart = function handleDragStart(e, id) {
681
+ setDraggedItemId(id);
682
+ e.stopPropagation();
683
+ };
684
+ var handleDrop = function handleDrop(e, targetId) {
685
+ e.preventDefault();
686
+ e.stopPropagation();
687
+ if (draggedItemId === targetId) return;
688
+ var newMenu = _toConsumableArray(menu);
689
+ if (_isChildOf(targetId, draggedItemId, newMenu)) {
690
+ return;
691
+ }
692
+ var draggedItem = _findAndRemoveItem(newMenu, draggedItemId);
693
+ if (!draggedItem) return;
694
+ _addItemToParent(newMenu, targetId, draggedItem);
695
+ setMenu(newMenu);
696
+ fetchChangeLevel(draggedItem.label, targetId, null, draggedItem.id);
697
+ };
698
+
699
+ // const handleDropBetween = (e, targetId, position) => {
700
+ // e.preventDefault();
701
+ // e.stopPropagation();
702
+
703
+ // if (draggedItemId === targetId) return;
704
+
705
+ // const newMenu = [...menu];
706
+
707
+ // if (isChildOf(targetId, draggedItemId, newMenu)) {
708
+ // return;
709
+ // }
710
+
711
+ // const draggedItem = findAndRemoveItem(newMenu, draggedItemId);
712
+
713
+ // if (!draggedItem) return;
714
+
715
+ // let newParentId = null;
716
+ // let before = targetId;
717
+
718
+ // if (isChildOf(draggedItemId, targetId, newMenu)) {
719
+ // addItemAsSibling(newMenu, targetId, draggedItem, position);
720
+ // newParentId = findItemParent(newMenu, targetId)?.id || null;
721
+ // } else {
722
+ // addItemAsSibling(newMenu, targetId, draggedItem, position);
723
+ // }
724
+
725
+ // setMenu(newMenu);
726
+ // fetchChangeLevel(draggedItem.label, newParentId, before, draggedItem.id);
727
+ // };
728
+
729
+ var handleDropBetween = function handleDropBetween(e, targetId, position, parrent) {
730
+ e.preventDefault();
731
+ e.stopPropagation();
732
+ if (draggedItemId === targetId) return;
733
+ var newMenu = _toConsumableArray(menu);
734
+ if (_isChildOf(targetId, draggedItemId, newMenu)) {
735
+ return;
736
+ }
737
+ var draggedItem = _findAndRemoveItem(newMenu, draggedItemId);
738
+ if (!draggedItem) return;
739
+ var newParentId = null;
740
+ var before = null;
741
+ var targetParent = _findItemParent(newMenu, targetId);
742
+
743
+ // родительский элемент
744
+ if (position === 'inside') {
745
+ newParentId = targetId;
746
+ before = null;
747
+ }
748
+ // поставить выше
749
+ if (position === 'above') {
750
+ newParentId = parrent || null;
751
+ before = targetId;
752
+ }
753
+ // поставить ниже
754
+ if (position === 'below') {
755
+ newParentId = parrent || null;
756
+ before = targetId;
757
+ }
758
+ // if (position === 'inside') {
759
+ // addItemToParent(newMenu, targetId, draggedItem);
760
+ // } else {
761
+ // addItemAsSibling(newMenu, targetId, draggedItem, position)
762
+ // }
763
+
764
+ fetchChangeLevel(draggedItem.label, parrent, before, draggedItem.id);
765
+ setMenu(newMenu);
766
+ };
767
+ var _findItemParent = function findItemParent(items, id) {
768
+ var _iterator3 = _createForOfIteratorHelper(items),
769
+ _step3;
770
+ try {
771
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
772
+ var item = _step3.value;
773
+ if (item.children.some(function (child) {
774
+ return child.id === id;
775
+ })) return item;
776
+ if (item.children) {
777
+ var found = _findItemParent(item.children, id);
778
+ if (found) return found;
779
+ }
780
+ }
781
+ } catch (err) {
782
+ _iterator3.e(err);
783
+ } finally {
784
+ _iterator3.f();
785
+ }
786
+ };
787
+ var fetchChangeLevel = function fetchChangeLevel(name, parent_id, place, wikiID) {
788
+ var url = "".concat(_fetchUrls.RavshanHttps, "/api/v2/article/level");
789
+ var body = JSON.stringify({
790
+ name: name,
791
+ parent_id: parent_id,
792
+ before: place,
793
+ wiki_list_id: wiki_id,
794
+ wiki_id: wikiID
795
+ });
796
+ fetch(url, {
797
+ body: body,
798
+ method: 'PUT',
799
+ headers: _headers2["default"]
800
+ }).then(function (res) {
801
+ if (res.ok) {
802
+ fetchArticlesByLevel();
803
+ return res.json();
804
+ } else {
805
+ throw new Error(res.json());
806
+ }
807
+ })["catch"](function (err) {
808
+ console.error(err);
809
+ });
810
+ };
811
+ var fetchDeleteLevel = function fetchDeleteLevel(level_id) {
812
+ var url = "".concat(_fetchUrls.RavshanHttps, "/api/v2/article/level?wiki_list_id=").concat(wiki_id);
813
+ var _headers = _objectSpread(_objectSpread({}, _headers2["default"]), {}, {
814
+ 'level-id': level_id
815
+ });
816
+ fetch(url, {
817
+ method: 'DELETE',
818
+ headers: _headers
819
+ }).then(function (res) {
820
+ if (res.ok) {
821
+ if (res.ok) {
822
+ setMenu(function (prevState) {
823
+ var updatedState = _removeItemFromMenu(prevState, level_id);
824
+ return updatedState;
825
+ });
826
+ fetchArticlesByLevel();
827
+ setSelectedItemId(null);
828
+ } else {
829
+ return res.json();
830
+ }
831
+ } else {
832
+ throw new Error(res.json());
833
+ }
834
+ })["catch"](function (err) {
835
+ console.error(err);
836
+ });
837
+ };
838
+ var _removeItemFromMenu = function removeItemFromMenu(items, id) {
839
+ return items.reduce(function (acc, item) {
840
+ if (item.id === id) return acc;
841
+ if (item.children) {
842
+ item.children = _removeItemFromMenu(item.children, id);
843
+ }
844
+ acc.push(item);
845
+ return acc;
846
+ }, []);
847
+ };
848
+ var options_prop = [{
849
+ label: 'Ru',
850
+ value: 1
851
+ }, {
852
+ label: 'Eng',
853
+ value: 3
854
+ }, {
855
+ label: 'Lt',
856
+ value: 2
857
+ }];
858
+ (0, _react.useEffect)(function () {
859
+ if (selectedLang) {
860
+ setIsLanguage(true);
861
+ } else {
862
+ setIsLanguage(false);
863
+ }
864
+ }, [selectedLang]);
865
+ return /*#__PURE__*/_react["default"].createElement("div", {
866
+ className: "modal-miltilevel-sidebar-settings",
867
+ ref: menuRef
868
+ // style={{ marginTop: (path?.includes('/article/') || path?.includes('cpu/new')) ? '70px' : '' }}
869
+ }, /*#__PURE__*/_react["default"].createElement("div", {
870
+ className: "modal-miltilevel-sidebar-settings__select-container"
871
+ }, /*#__PURE__*/_react["default"].createElement(_ButtonBasic["default"], {
872
+ blue: true,
873
+ text: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043F\u0443\u043D\u043A\u0442",
874
+ width: "100%",
875
+ onClick: openModalToAdd
876
+ })), isLanguage && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
877
+ className: "menu"
878
+ }, menu === null || menu === void 0 ? void 0 : menu.map(function (item, ind) {
879
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem, {
880
+ fetchGetBreadcrumbs: fetchGetBreadcrumbs,
881
+ key: item.id + ind + item.before + item.parent_id + item.label,
882
+ item: item,
883
+ onDragStart: handleDragStart,
884
+ onDragOver: handleDragOver,
885
+ onDrop: handleDrop,
886
+ onDropBetween: handleDropBetween,
887
+ toggleExpand: toggleExpand,
888
+ handleAddChild: openModalToAdd,
889
+ handleDelete: fetchDeleteLevel,
890
+ handleSelect: handleSelect,
891
+ selectedItemId: selectedItemId,
892
+ fetchChildren: fetchChildren,
893
+ setIsModalSettings: setIsModalSettings,
894
+ ind: ind,
895
+ expanded: expandedItemsStorage // Передаем состояние раскрытия
896
+ ,
897
+ toggleExpandItem: toggleExpandItems // Передаем функцию переключения раскрытия
898
+ });
899
+ }))), isModalOpen && /*#__PURE__*/_react["default"].createElement("div", {
900
+ className: "modal-overlay"
901
+ }, /*#__PURE__*/_react["default"].createElement("div", {
902
+ className: "modal"
903
+ }, /*#__PURE__*/_react["default"].createElement("h3", null, "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u043E\u0434\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443"), /*#__PURE__*/_react["default"].createElement("input", {
904
+ type: "text",
905
+ value: newItemLabel,
906
+ onChange: function onChange(e) {
907
+ return setNewItemLabel(e.target.value);
908
+ },
909
+ placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435"
910
+ }), /*#__PURE__*/_react["default"].createElement("button", {
911
+ onClick: function onClick(e) {
912
+ addNewItem();
913
+ }
914
+ }, "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C"), /*#__PURE__*/_react["default"].createElement("button", {
915
+ onClick: function onClick() {
916
+ return setIsModalOpen(false);
917
+ }
918
+ }, "\u041E\u0442\u043C\u0435\u043D\u0430"))), isModalSettings && /*#__PURE__*/_react["default"].createElement("div", {
919
+ className: "modal-overlay"
920
+ }, /*#__PURE__*/_react["default"].createElement("div", {
921
+ className: "modal",
922
+ style: {
923
+ display: 'flex',
924
+ flexDirection: 'column',
925
+ gap: '8px',
926
+ alignItems: 'center'
927
+ }
928
+ }, /*#__PURE__*/_react["default"].createElement("h3", null, "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430:"), /*#__PURE__*/_react["default"].createElement("input", {
929
+ type: "text"
930
+ // value={newItemLabel}
931
+ ,
932
+ onChange: function onChange(e) {
933
+ return setNewItemLabel(e.target.value);
934
+ },
935
+ placeholder: "\u0422\u0430\u0439\u0442\u043B"
936
+ }), /*#__PURE__*/_react["default"].createElement("input", {
937
+ type: "text"
938
+ // value={newItemLabel}
939
+ ,
940
+ onChange: function onChange(e) {
941
+ return setNewItemLabel(e.target.value);
942
+ },
943
+ placeholder: "\u0414\u0438\u0441\u043A\u0440\u0438\u043F\u0448\u043D"
944
+ }), /*#__PURE__*/_react["default"].createElement("input", {
945
+ type: "text"
946
+ // value={newItemLabel}
947
+ ,
948
+ onChange: function onChange(e) {
949
+ return setNewItemLabel(e.target.value);
950
+ },
951
+ placeholder: "\u0412\u0435\u0431 \u043D\u0435\u0439\u043C"
952
+ }), /*#__PURE__*/_react["default"].createElement("input", {
953
+ type: "text"
954
+ // value={newItemLabel}
955
+ ,
956
+ onChange: function onChange(e) {
957
+ return setNewItemLabel(e.target.value);
958
+ },
959
+ placeholder: "\u0418\u043C\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0438"
960
+ }), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("button", {
961
+ onClick: function onClick(e) {
962
+ // isEdit ?
963
+ // fetchChangeLevel()
964
+ // :
965
+ // addNewItem()
966
+ }
967
+ }, "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C"), /*#__PURE__*/_react["default"].createElement("button", {
968
+ onClick: function onClick() {
969
+ return setIsModalSettings(false);
970
+ }
971
+ }, "\u041E\u0442\u043C\u0435\u043D\u0430")))));
972
+ };
973
+ var _default = exports["default"] = ModalMiltilevelSidebarSettings;