@ynput/ayon-frontend-shared 0.3.47 → 0.3.48

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 (47) hide show
  1. package/dist/_virtual/index.cjs22.js +1 -1
  2. package/dist/_virtual/index.cjs23.js +1 -1
  3. package/dist/_virtual/index.cjs24.js +1 -1
  4. package/dist/_virtual/index.cjs4.js +1 -1
  5. package/dist/_virtual/index.cjs5.js +1 -1
  6. package/dist/_virtual/index.cjs6.js +1 -1
  7. package/dist/_virtual/index.cjs8.js +1 -1
  8. package/dist/_virtual/index.es22.js +3 -3
  9. package/dist/_virtual/index.es23.js +5 -5
  10. package/dist/_virtual/index.es24.js +5 -5
  11. package/dist/_virtual/index.es4.js +2 -5
  12. package/dist/_virtual/index.es4.js.map +1 -1
  13. package/dist/_virtual/index.es5.js +5 -2
  14. package/dist/_virtual/index.es5.js.map +1 -1
  15. package/dist/_virtual/index.es6.js +2 -2
  16. package/dist/_virtual/index.es8.js +2 -2
  17. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  18. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  19. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  20. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  21. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  22. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  23. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  24. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  25. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  26. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  27. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  28. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  29. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  30. package/dist/node_modules/remove-accents/index.es.js +1 -1
  31. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  32. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  33. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  34. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  35. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  36. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  37. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
  39. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
  40. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
  41. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  42. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  43. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  44. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  45. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +1 -3
  46. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  47. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("./_commonjsHelpers.cjs.js"),e=require("../node_modules/parse5/lib/parser/index.cjs.js");var s=e.__require();const t=r.getDefaultExportFromCjs(s);module.exports=t;
1
+ "use strict";const e=require("./_commonjsHelpers.cjs.js"),r=require("../node_modules/is-buffer/index.cjs.js");var s=r.__require();const t=e.getDefaultExportFromCjs(s);module.exports=t;
2
2
  //# sourceMappingURL=index.cjs22.js.map
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./_commonjsHelpers.cjs.js"),r=require("../node_modules/is-buffer/index.cjs.js");var s=r.__require();const t=e.getDefaultExportFromCjs(s);module.exports=t;
1
+ "use strict";const e=require("./_commonjsHelpers.cjs.js"),r=require("../node_modules/extend/index.cjs.js");var t=r.__require();const s=e.getDefaultExportFromCjs(t);module.exports=s;
2
2
  //# sourceMappingURL=index.cjs23.js.map
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./_commonjsHelpers.cjs.js"),r=require("../node_modules/extend/index.cjs.js");var t=r.__require();const s=e.getDefaultExportFromCjs(t);module.exports=s;
1
+ "use strict";const r=require("./_commonjsHelpers.cjs.js"),e=require("../node_modules/parse5/lib/parser/index.cjs.js");var s=e.__require();const t=r.getDefaultExportFromCjs(s);module.exports=t;
2
2
  //# sourceMappingURL=index.cjs24.js.map
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./_commonjsHelpers.cjs.js"),r=require("../node_modules/remove-accents/index.cjs.js");var s=r.__require();const t=e.getDefaultExportFromCjs(s);module.exports=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={};exports.__exports=e;
2
2
  //# sourceMappingURL=index.cjs4.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={};exports.__exports=e;
1
+ "use strict";const e=require("./_commonjsHelpers.cjs.js"),r=require("../node_modules/remove-accents/index.cjs.js");var s=r.__require();const t=e.getDefaultExportFromCjs(s);module.exports=t;
2
2
  //# sourceMappingURL=index.cjs5.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={exports:{}};exports.__module=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={};exports.__exports=e;
2
2
  //# sourceMappingURL=index.cjs6.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={};exports.__exports=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={exports:{}};exports.__module=e;
2
2
  //# sourceMappingURL=index.cjs8.js.map
@@ -1,7 +1,7 @@
1
1
  import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.es.js";
2
- import { __require as e } from "../node_modules/parse5/lib/parser/index.es.js";
3
- var o = e();
4
- const s = /* @__PURE__ */ r(o);
2
+ import { __require as e } from "../node_modules/is-buffer/index.es.js";
3
+ var f = e();
4
+ const s = /* @__PURE__ */ r(f);
5
5
  export {
6
6
  s as default
7
7
  };
@@ -1,8 +1,8 @@
1
- import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.es.js";
2
- import { __require as e } from "../node_modules/is-buffer/index.es.js";
3
- var f = e();
4
- const s = /* @__PURE__ */ r(f);
1
+ import { getDefaultExportFromCjs as e } from "./_commonjsHelpers.es.js";
2
+ import { __require as r } from "../node_modules/extend/index.es.js";
3
+ var t = r();
4
+ const a = /* @__PURE__ */ e(t);
5
5
  export {
6
- s as default
6
+ a as default
7
7
  };
8
8
  //# sourceMappingURL=index.es23.js.map
@@ -1,8 +1,8 @@
1
- import { getDefaultExportFromCjs as e } from "./_commonjsHelpers.es.js";
2
- import { __require as r } from "../node_modules/extend/index.es.js";
3
- var t = r();
4
- const a = /* @__PURE__ */ e(t);
1
+ import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.es.js";
2
+ import { __require as e } from "../node_modules/parse5/lib/parser/index.es.js";
3
+ var o = e();
4
+ const s = /* @__PURE__ */ r(o);
5
5
  export {
6
- a as default
6
+ s as default
7
7
  };
8
8
  //# sourceMappingURL=index.es24.js.map
@@ -1,8 +1,5 @@
1
- import { getDefaultExportFromCjs as e } from "./_commonjsHelpers.es.js";
2
- import { __require as r } from "../node_modules/remove-accents/index.es.js";
3
- var o = r();
4
- const s = /* @__PURE__ */ e(o);
1
+ var r = {};
5
2
  export {
6
- s as default
3
+ r as __exports
7
4
  };
8
5
  //# sourceMappingURL=index.es4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index.es4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +1,8 @@
1
- var r = {};
1
+ import { getDefaultExportFromCjs as e } from "./_commonjsHelpers.es.js";
2
+ import { __require as r } from "../node_modules/remove-accents/index.es.js";
3
+ var o = r();
4
+ const s = /* @__PURE__ */ e(o);
2
5
  export {
3
- r as __exports
6
+ s as default
4
7
  };
5
8
  //# sourceMappingURL=index.es5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.es5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +1,5 @@
1
- var e = { exports: {} };
1
+ var r = {};
2
2
  export {
3
- e as __module
3
+ r as __exports
4
4
  };
5
5
  //# sourceMappingURL=index.es6.js.map
@@ -1,5 +1,5 @@
1
- var r = {};
1
+ var e = { exports: {} };
2
2
  export {
3
- r as __exports
3
+ e as __module
4
4
  };
5
5
  //# sourceMappingURL=index.es8.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../../../_virtual/index.cjs4.js");const d={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},V=(n,e)=>String(n.rankedValue).localeCompare(String(e.rankedValue));function p(n,e,t){t===void 0&&(t={});const{keys:l,threshold:i=d.MATCHES,baseSort:a=V,sorter:o=f=>f.sort((r,c)=>N(r,c,a))}=t,s=n.reduce(u,[]);return o(s).map(f=>{let{item:r}=f;return r});function u(f,r,c){const I=T(r,l,e,t),{rank:A,keyThreshold:h=i}=I;return A>=h&&f.push({...I,item:r,index:c}),f}}p.rankings=d;function T(n,e,t,l){if(!e){const a=n;return{rankedValue:a,rank:k(a,t,l),keyIndex:-1,keyThreshold:l.threshold}}return x(n,e).reduce((a,o,s)=>{let{rank:u,rankedValue:f,keyIndex:r,keyThreshold:c}=a,{itemValue:I,attributes:A}=o,h=k(I,t,l),C=f;const{minRanking:y,maxRanking:g,threshold:O}=A;return h<y&&h>=d.MATCHES?h=y:h>g&&(h=g),h>u&&(u=h,r=s,c=O,C=I),{rankedValue:C,rank:u,keyIndex:r,keyThreshold:c}},{rankedValue:n,rank:d.NO_MATCH,keyIndex:-1,keyThreshold:l.threshold})}function k(n,e,t){return n=m(n,t),e=m(e,t),e.length>n.length?d.NO_MATCH:n===e?d.CASE_SENSITIVE_EQUAL:(n=n.toLowerCase(),e=e.toLowerCase(),n===e?d.EQUAL:n.startsWith(e)?d.STARTS_WITH:n.includes(` ${e}`)?d.WORD_STARTS_WITH:n.includes(e)?d.CONTAINS:e.length===1?d.NO_MATCH:E(n).includes(e)?d.ACRONYM:H(n,e))}function E(n){let e="";return n.split(" ").forEach(l=>{l.split("-").forEach(a=>{e+=a.substr(0,1)})}),e}function H(n,e){let t=0;function l(r,c,I){for(let A=I,h=c.length;A<h;A++)if(c[A]===r)return t+=1,A+1;return-1}let i=0;function a(r){const c=1/r,I=t/e.length,A=(e.length-i)/e.length;return d.MATCHES+I*c*A}let o=0,s=0,u=0;for(let r=0,c=e.length;r<c;r++){const I=e[r];if(u=l(I,n,s),u>-1)s=u,r===0&&(o=s);else{if(i>0||e.length<=3)return d.NO_MATCH;i+=1}}const f=s-o;return a(f)}function N(n,e,t){const{rank:a,keyIndex:o}=n,{rank:s,keyIndex:u}=e;return a===s?o===u?t(n,e):o<u?-1:1:a>s?-1:1}function m(n,e){let{keepDiacritics:t}=e;return n=`${n}`,t||(n=b(n)),n}function _(n,e){typeof e=="object"&&(e=e.key);let t;if(typeof e=="function")t=e(n);else if(n==null)t=null;else if(Object.hasOwnProperty.call(n,e))t=n[e];else{if(e.includes("."))return M(e,n);t=null}return t==null?[]:Array.isArray(t)?t:[String(t)]}function M(n,e){const t=n.split(".");let l=[e];for(let i=0,a=t.length;i<a;i++){const o=t[i];let s=[];for(let u=0,f=l.length;u<f;u++){const r=l[u];if(r!=null)if(Object.hasOwnProperty.call(r,o)){const c=r[o];c!=null&&s.push(c)}else o==="*"&&(s=s.concat(r))}l=s}return Array.isArray(l[0])?[].concat(...l):l}function x(n,e){const t=[];for(let l=0,i=e.length;l<i;l++){const a=e[l],o=F(a),s=_(n,a);for(let u=0,f=s.length;u<f;u++)t.push({itemValue:s[u],attributes:o})}return t}const S={maxRanking:1/0,minRanking:-1/0};function F(n){return typeof n=="string"?S:{...S,...n}}exports.defaultBaseSortFn=V;exports.matchSorter=p;exports.rankings=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../../../_virtual/index.cjs5.js");const d={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},V=(n,e)=>String(n.rankedValue).localeCompare(String(e.rankedValue));function p(n,e,t){t===void 0&&(t={});const{keys:l,threshold:i=d.MATCHES,baseSort:a=V,sorter:o=f=>f.sort((r,c)=>N(r,c,a))}=t,s=n.reduce(u,[]);return o(s).map(f=>{let{item:r}=f;return r});function u(f,r,c){const I=T(r,l,e,t),{rank:A,keyThreshold:h=i}=I;return A>=h&&f.push({...I,item:r,index:c}),f}}p.rankings=d;function T(n,e,t,l){if(!e){const a=n;return{rankedValue:a,rank:k(a,t,l),keyIndex:-1,keyThreshold:l.threshold}}return x(n,e).reduce((a,o,s)=>{let{rank:u,rankedValue:f,keyIndex:r,keyThreshold:c}=a,{itemValue:I,attributes:A}=o,h=k(I,t,l),C=f;const{minRanking:y,maxRanking:g,threshold:O}=A;return h<y&&h>=d.MATCHES?h=y:h>g&&(h=g),h>u&&(u=h,r=s,c=O,C=I),{rankedValue:C,rank:u,keyIndex:r,keyThreshold:c}},{rankedValue:n,rank:d.NO_MATCH,keyIndex:-1,keyThreshold:l.threshold})}function k(n,e,t){return n=m(n,t),e=m(e,t),e.length>n.length?d.NO_MATCH:n===e?d.CASE_SENSITIVE_EQUAL:(n=n.toLowerCase(),e=e.toLowerCase(),n===e?d.EQUAL:n.startsWith(e)?d.STARTS_WITH:n.includes(` ${e}`)?d.WORD_STARTS_WITH:n.includes(e)?d.CONTAINS:e.length===1?d.NO_MATCH:E(n).includes(e)?d.ACRONYM:H(n,e))}function E(n){let e="";return n.split(" ").forEach(l=>{l.split("-").forEach(a=>{e+=a.substr(0,1)})}),e}function H(n,e){let t=0;function l(r,c,I){for(let A=I,h=c.length;A<h;A++)if(c[A]===r)return t+=1,A+1;return-1}let i=0;function a(r){const c=1/r,I=t/e.length,A=(e.length-i)/e.length;return d.MATCHES+I*c*A}let o=0,s=0,u=0;for(let r=0,c=e.length;r<c;r++){const I=e[r];if(u=l(I,n,s),u>-1)s=u,r===0&&(o=s);else{if(i>0||e.length<=3)return d.NO_MATCH;i+=1}}const f=s-o;return a(f)}function N(n,e,t){const{rank:a,keyIndex:o}=n,{rank:s,keyIndex:u}=e;return a===s?o===u?t(n,e):o<u?-1:1:a>s?-1:1}function m(n,e){let{keepDiacritics:t}=e;return n=`${n}`,t||(n=b(n)),n}function _(n,e){typeof e=="object"&&(e=e.key);let t;if(typeof e=="function")t=e(n);else if(n==null)t=null;else if(Object.hasOwnProperty.call(n,e))t=n[e];else{if(e.includes("."))return M(e,n);t=null}return t==null?[]:Array.isArray(t)?t:[String(t)]}function M(n,e){const t=n.split(".");let l=[e];for(let i=0,a=t.length;i<a;i++){const o=t[i];let s=[];for(let u=0,f=l.length;u<f;u++){const r=l[u];if(r!=null)if(Object.hasOwnProperty.call(r,o)){const c=r[o];c!=null&&s.push(c)}else o==="*"&&(s=s.concat(r))}l=s}return Array.isArray(l[0])?[].concat(...l):l}function x(n,e){const t=[];for(let l=0,i=e.length;l<i;l++){const a=e[l],o=F(a),s=_(n,a);for(let u=0,f=s.length;u<f;u++)t.push({itemValue:s[u],attributes:o})}return t}const S={maxRanking:1/0,minRanking:-1/0};function F(n){return typeof n=="string"?S:{...S,...n}}exports.defaultBaseSortFn=V;exports.matchSorter=p;exports.rankings=d;
2
2
  //# sourceMappingURL=match-sorter.esm.cjs.js.map
@@ -1,4 +1,4 @@
1
- import O from "../../../_virtual/index.es4.js";
1
+ import O from "../../../_virtual/index.es5.js";
2
2
  const d = {
3
3
  CASE_SENSITIVE_EQUAL: 7,
4
4
  EQUAL: 6,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../_virtual/index.cjs20.js");var f;function _(){return f||(f=1,(function(d,c){function o(m){let u=[],a;for(let s of m.split(",").map(l=>l.trim()))if(/^-?\d+$/.test(s))u.push(parseInt(s,10));else if(a=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[l,r,i,e]=a;if(r&&e){r=parseInt(r),e=parseInt(e);const p=r<e?1:-1;(i==="-"||i===".."||i==="‥")&&(e+=p);for(let n=r;n!==e;n+=p)u.push(n)}}return u}c.default=o,d.exports=o})(t.__module,t.__module.exports)),t.__module.exports}exports.__require=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../_virtual/index.cjs21.js");var f;function _(){return f||(f=1,(function(d,c){function o(m){let u=[],a;for(let s of m.split(",").map(l=>l.trim()))if(/^-?\d+$/.test(s))u.push(parseInt(s,10));else if(a=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[l,r,i,e]=a;if(r&&e){r=parseInt(r),e=parseInt(e);const p=r<e?1:-1;(i==="-"||i===".."||i==="‥")&&(e+=p);for(let n=r;n!==e;n+=p)u.push(n)}}return u}c.default=o,d.exports=o})(t.__module,t.__module.exports)),t.__module.exports}exports.__require=_;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __module as t } from "../../_virtual/index.es20.js";
1
+ import { __module as t } from "../../_virtual/index.es21.js";
2
2
  var l;
3
3
  function x() {
4
4
  return l ? t.exports : (l = 1, (function(m, c) {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../_virtual/index.cjs3.js"),a=require("./lib/use-websocket.cjs.js"),_=require("./lib/use-socket-io.cjs.js"),s=require("./lib/constants.cjs.js"),l=require("./lib/use-event-source.cjs.js"),b=require("./lib/util.cjs.js");var r;function d(){return r||(r=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.resetGlobalState=e.useEventSource=e.ReadyState=e.useSocketIO=e.default=void 0;var u=a.__require();Object.defineProperty(e,"default",{enumerable:!0,get:function(){return u.useWebSocket}});var n=_.__require();Object.defineProperty(e,"useSocketIO",{enumerable:!0,get:function(){return n.useSocketIO}});var i=s.__require();Object.defineProperty(e,"ReadyState",{enumerable:!0,get:function(){return i.ReadyState}});var o=l.__require();Object.defineProperty(e,"useEventSource",{enumerable:!0,get:function(){return o.useEventSource}});var c=b.__require();Object.defineProperty(e,"resetGlobalState",{enumerable:!0,get:function(){return c.resetGlobalState}})})(t.__exports)),t.__exports}exports.__require=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../_virtual/index.cjs4.js"),a=require("./lib/use-websocket.cjs.js"),_=require("./lib/use-socket-io.cjs.js"),s=require("./lib/constants.cjs.js"),l=require("./lib/use-event-source.cjs.js"),b=require("./lib/util.cjs.js");var r;function d(){return r||(r=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.resetGlobalState=e.useEventSource=e.ReadyState=e.useSocketIO=e.default=void 0;var u=a.__require();Object.defineProperty(e,"default",{enumerable:!0,get:function(){return u.useWebSocket}});var n=_.__require();Object.defineProperty(e,"useSocketIO",{enumerable:!0,get:function(){return n.useSocketIO}});var i=s.__require();Object.defineProperty(e,"ReadyState",{enumerable:!0,get:function(){return i.ReadyState}});var o=l.__require();Object.defineProperty(e,"useEventSource",{enumerable:!0,get:function(){return o.useEventSource}});var c=b.__require();Object.defineProperty(e,"resetGlobalState",{enumerable:!0,get:function(){return c.resetGlobalState}})})(t.__exports)),t.__exports}exports.__require=d;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __exports as r } from "../../../_virtual/index.es3.js";
1
+ import { __exports as r } from "../../../_virtual/index.es4.js";
2
2
  import { __require as c } from "./lib/use-websocket.es.js";
3
3
  import { __require as s } from "./lib/use-socket-io.es.js";
4
4
  import { __require as _ } from "./lib/constants.es.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../../../../bail/index.cjs.js"),B=require("../../../../../_virtual/index.cjs23.js"),z=require("../../../../../_virtual/index.cjs24.js"),E=require("../../../../is-plain-obj/index.cjs.js"),D=require("../../../../trough/lib/index.cjs.js"),M=require("../../vfile/lib/index.cjs.js"),Y=$().freeze(),A={}.hasOwnProperty;function $(){const t=D.trough(),s=[];let a={},w,h=-1;return n.data=j,n.Parser=void 0,n.Compiler=void 0,n.freeze=q,n.attachers=s,n.use=I,n.parse=O,n.stringify=V,n.run=F,n.runSync=N,n.process=L,n.processSync=U,n;function n(){const e=$();let r=-1;for(;++r<s.length;)e.use(...s[r]);return e.data(z(!0,{},a)),e}function j(e,r){return typeof e=="string"?arguments.length===2?(P("data",w),a[e]=r,n):A.call(a,e)&&a[e]||null:e?(P("data",w),a=e,n):a}function q(){if(w)return n;for(;++h<s.length;){const[e,...r]=s[h];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const i=e.call(n,...r);typeof i=="function"&&t.use(i)}return w=!0,h=Number.POSITIVE_INFINITY,n}function I(e,...r){let i;if(P("use",w),e!=null)if(typeof e=="function")d(e,...r);else if(typeof e=="object")Array.isArray(e)?y(e):p(e);else throw new TypeError("Expected usable value, not `"+e+"`");return i&&(a.settings=Object.assign(a.settings||{},i)),n;function u(o){if(typeof o=="function")d(o);else if(typeof o=="object")if(Array.isArray(o)){const[f,...c]=o;d(f,...c)}else p(o);else throw new TypeError("Expected usable value, not `"+o+"`")}function p(o){y(o.plugins),o.settings&&(i=Object.assign(i||{},o.settings))}function y(o){let f=-1;if(o!=null)if(Array.isArray(o))for(;++f<o.length;){const c=o[f];u(c)}else throw new TypeError("Expected a list of plugins, not `"+o+"`")}function d(o,f){let c=-1,l;for(;++c<s.length;)if(s[c][0]===o){l=s[c];break}l?(E(l[1])&&E(f)&&(f=z(!0,l[1],f)),l[1]=f):s.push([...arguments])}}function O(e){n.freeze();const r=g(e),i=n.Parser;return m("parse",i),C(i,"parse")?new i(String(r),r).parse():i(String(r),r)}function V(e,r){n.freeze();const i=g(r),u=n.Compiler;return x("stringify",u),b(e),C(u,"compile")?new u(e,i).compile():u(e,i)}function F(e,r,i){if(b(e),n.freeze(),!i&&typeof r=="function"&&(i=r,r=void 0),!i)return new Promise(u);u(null,i);function u(p,y){t.run(e,g(r),d);function d(o,f,c){f=f||e,o?y(o):p?p(f):i(null,f,c)}}}function N(e,r){let i,u;return n.run(e,r,p),T("runSync","run",u),i;function p(y,d){S.bail(y),i=d,u=!0}}function L(e,r){if(n.freeze(),m("process",n.Parser),x("process",n.Compiler),!r)return new Promise(i);i(null,r);function i(u,p){const y=g(e);n.run(n.parse(y),y,(o,f,c)=>{if(o||!f||!c)d(o);else{const l=n.stringify(f,c);l==null||(H(l)?c.value=l:c.result=l),d(o,c)}});function d(o,f){o||!f?p(o):u?u(f):r(null,f)}}}function U(e){let r;n.freeze(),m("processSync",n.Parser),x("processSync",n.Compiler);const i=g(e);return n.process(i,u),T("processSync","process",r),i;function u(p){r=!0,S.bail(p)}}}function C(t,s){return typeof t=="function"&&t.prototype&&(_(t.prototype)||s in t.prototype)}function _(t){let s;for(s in t)if(A.call(t,s))return!0;return!1}function m(t,s){if(typeof s!="function")throw new TypeError("Cannot `"+t+"` without `Parser`")}function x(t,s){if(typeof s!="function")throw new TypeError("Cannot `"+t+"` without `Compiler`")}function P(t,s){if(s)throw new Error("Cannot call `"+t+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function b(t){if(!E(t)||typeof t.type!="string")throw new TypeError("Expected node, got `"+t+"`")}function T(t,s,a){if(!a)throw new Error("`"+t+"` finished async. Use `"+s+"` instead")}function g(t){return G(t)?t:new M.VFile(t)}function G(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}function H(t){return typeof t=="string"||B(t)}exports.unified=Y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../../../../bail/index.cjs.js"),B=require("../../../../../_virtual/index.cjs22.js"),z=require("../../../../../_virtual/index.cjs23.js"),E=require("../../../../is-plain-obj/index.cjs.js"),D=require("../../../../trough/lib/index.cjs.js"),M=require("../../vfile/lib/index.cjs.js"),Y=$().freeze(),A={}.hasOwnProperty;function $(){const t=D.trough(),s=[];let a={},w,h=-1;return n.data=j,n.Parser=void 0,n.Compiler=void 0,n.freeze=q,n.attachers=s,n.use=I,n.parse=O,n.stringify=V,n.run=F,n.runSync=N,n.process=L,n.processSync=U,n;function n(){const e=$();let r=-1;for(;++r<s.length;)e.use(...s[r]);return e.data(z(!0,{},a)),e}function j(e,r){return typeof e=="string"?arguments.length===2?(P("data",w),a[e]=r,n):A.call(a,e)&&a[e]||null:e?(P("data",w),a=e,n):a}function q(){if(w)return n;for(;++h<s.length;){const[e,...r]=s[h];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const i=e.call(n,...r);typeof i=="function"&&t.use(i)}return w=!0,h=Number.POSITIVE_INFINITY,n}function I(e,...r){let i;if(P("use",w),e!=null)if(typeof e=="function")d(e,...r);else if(typeof e=="object")Array.isArray(e)?y(e):p(e);else throw new TypeError("Expected usable value, not `"+e+"`");return i&&(a.settings=Object.assign(a.settings||{},i)),n;function u(o){if(typeof o=="function")d(o);else if(typeof o=="object")if(Array.isArray(o)){const[f,...c]=o;d(f,...c)}else p(o);else throw new TypeError("Expected usable value, not `"+o+"`")}function p(o){y(o.plugins),o.settings&&(i=Object.assign(i||{},o.settings))}function y(o){let f=-1;if(o!=null)if(Array.isArray(o))for(;++f<o.length;){const c=o[f];u(c)}else throw new TypeError("Expected a list of plugins, not `"+o+"`")}function d(o,f){let c=-1,l;for(;++c<s.length;)if(s[c][0]===o){l=s[c];break}l?(E(l[1])&&E(f)&&(f=z(!0,l[1],f)),l[1]=f):s.push([...arguments])}}function O(e){n.freeze();const r=g(e),i=n.Parser;return m("parse",i),C(i,"parse")?new i(String(r),r).parse():i(String(r),r)}function V(e,r){n.freeze();const i=g(r),u=n.Compiler;return x("stringify",u),b(e),C(u,"compile")?new u(e,i).compile():u(e,i)}function F(e,r,i){if(b(e),n.freeze(),!i&&typeof r=="function"&&(i=r,r=void 0),!i)return new Promise(u);u(null,i);function u(p,y){t.run(e,g(r),d);function d(o,f,c){f=f||e,o?y(o):p?p(f):i(null,f,c)}}}function N(e,r){let i,u;return n.run(e,r,p),T("runSync","run",u),i;function p(y,d){S.bail(y),i=d,u=!0}}function L(e,r){if(n.freeze(),m("process",n.Parser),x("process",n.Compiler),!r)return new Promise(i);i(null,r);function i(u,p){const y=g(e);n.run(n.parse(y),y,(o,f,c)=>{if(o||!f||!c)d(o);else{const l=n.stringify(f,c);l==null||(H(l)?c.value=l:c.result=l),d(o,c)}});function d(o,f){o||!f?p(o):u?u(f):r(null,f)}}}function U(e){let r;n.freeze(),m("processSync",n.Parser),x("processSync",n.Compiler);const i=g(e);return n.process(i,u),T("processSync","process",r),i;function u(p){r=!0,S.bail(p)}}}function C(t,s){return typeof t=="function"&&t.prototype&&(_(t.prototype)||s in t.prototype)}function _(t){let s;for(s in t)if(A.call(t,s))return!0;return!1}function m(t,s){if(typeof s!="function")throw new TypeError("Cannot `"+t+"` without `Parser`")}function x(t,s){if(typeof s!="function")throw new TypeError("Cannot `"+t+"` without `Compiler`")}function P(t,s){if(s)throw new Error("Cannot call `"+t+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function b(t){if(!E(t)||typeof t.type!="string")throw new TypeError("Expected node, got `"+t+"`")}function T(t,s,a){if(!a)throw new Error("`"+t+"` finished async. Use `"+s+"` instead")}function g(t){return G(t)?t:new M.VFile(t)}function G(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}function H(t){return typeof t=="string"||B(t)}exports.unified=Y;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  import { bail as z } from "../../../../bail/index.es.js";
2
- import Y from "../../../../../_virtual/index.es23.js";
3
- import C from "../../../../../_virtual/index.es24.js";
2
+ import Y from "../../../../../_virtual/index.es22.js";
3
+ import C from "../../../../../_virtual/index.es23.js";
4
4
  import x from "../../../../is-plain-obj/index.es.js";
5
5
  import { trough as _ } from "../../../../trough/lib/index.es.js";
6
6
  import { VFile as q } from "../../vfile/lib/index.es.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../../../../_virtual/index.cjs23.js"),i=require("./minpath.browser.cjs.js"),d=require("./minproc.browser.cjs.js"),c=require("./minurl.browser.cjs.js"),m=require("./minurl.shared.cjs.js"),l=require("../../vfile-message/lib/index.cjs.js"),a=["history","path","basename","stem","extname","dirname"];class g{constructor(t){let e;t?typeof t=="string"||w(t)?e={value:t}:m.isUrl(t)?e={path:t}:e=t:e={},this.data={},this.messages=[],this.history=[],this.cwd=d.proc.cwd(),this.value,this.stored,this.result,this.map;let r=-1;for(;++r<a.length;){const h=a[r];h in e&&e[h]!==void 0&&e[h]!==null&&(this[h]=h==="history"?[...e[h]]:e[h])}let s;for(s in e)a.includes(s)||(this[s]=e[s])}get path(){return this.history[this.history.length-1]}set path(t){m.isUrl(t)&&(t=c.urlToPath(t)),p(t,"path"),this.path!==t&&this.history.push(t)}get dirname(){return typeof this.path=="string"?i.path.dirname(this.path):void 0}set dirname(t){u(this.basename,"dirname"),this.path=i.path.join(t||"",this.basename)}get basename(){return typeof this.path=="string"?i.path.basename(this.path):void 0}set basename(t){p(t,"basename"),o(t,"basename"),this.path=i.path.join(this.dirname||"",t)}get extname(){return typeof this.path=="string"?i.path.extname(this.path):void 0}set extname(t){if(o(t,"extname"),u(this.dirname,"extname"),t){if(t.charCodeAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=i.path.join(this.dirname,this.stem+(t||""))}get stem(){return typeof this.path=="string"?i.path.basename(this.path,this.extname):void 0}set stem(t){p(t,"stem"),o(t,"stem"),this.path=i.path.join(this.dirname||"",t+(this.extname||""))}toString(t){return(this.value||"").toString(t||void 0)}message(t,e,r){const s=new l.VFileMessage(t,e,r);return this.path&&(s.name=this.path+":"+s.name,s.file=this.path),s.fatal=!1,this.messages.push(s),s}info(t,e,r){const s=this.message(t,e,r);return s.fatal=null,s}fail(t,e,r){const s=this.message(t,e,r);throw s.fatal=!0,s}}function o(n,t){if(n&&n.includes(i.path.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+i.path.sep+"`")}function p(n,t){if(!n)throw new Error("`"+t+"` cannot be empty")}function u(n,t){if(!n)throw new Error("Setting `"+t+"` requires `path` to be set too")}function w(n){return f(n)}exports.VFile=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../../../../_virtual/index.cjs22.js"),i=require("./minpath.browser.cjs.js"),d=require("./minproc.browser.cjs.js"),c=require("./minurl.browser.cjs.js"),m=require("./minurl.shared.cjs.js"),l=require("../../vfile-message/lib/index.cjs.js"),a=["history","path","basename","stem","extname","dirname"];class g{constructor(t){let e;t?typeof t=="string"||w(t)?e={value:t}:m.isUrl(t)?e={path:t}:e=t:e={},this.data={},this.messages=[],this.history=[],this.cwd=d.proc.cwd(),this.value,this.stored,this.result,this.map;let r=-1;for(;++r<a.length;){const h=a[r];h in e&&e[h]!==void 0&&e[h]!==null&&(this[h]=h==="history"?[...e[h]]:e[h])}let s;for(s in e)a.includes(s)||(this[s]=e[s])}get path(){return this.history[this.history.length-1]}set path(t){m.isUrl(t)&&(t=c.urlToPath(t)),p(t,"path"),this.path!==t&&this.history.push(t)}get dirname(){return typeof this.path=="string"?i.path.dirname(this.path):void 0}set dirname(t){u(this.basename,"dirname"),this.path=i.path.join(t||"",this.basename)}get basename(){return typeof this.path=="string"?i.path.basename(this.path):void 0}set basename(t){p(t,"basename"),o(t,"basename"),this.path=i.path.join(this.dirname||"",t)}get extname(){return typeof this.path=="string"?i.path.extname(this.path):void 0}set extname(t){if(o(t,"extname"),u(this.dirname,"extname"),t){if(t.charCodeAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=i.path.join(this.dirname,this.stem+(t||""))}get stem(){return typeof this.path=="string"?i.path.basename(this.path,this.extname):void 0}set stem(t){p(t,"stem"),o(t,"stem"),this.path=i.path.join(this.dirname||"",t+(this.extname||""))}toString(t){return(this.value||"").toString(t||void 0)}message(t,e,r){const s=new l.VFileMessage(t,e,r);return this.path&&(s.name=this.path+":"+s.name,s.file=this.path),s.fatal=!1,this.messages.push(s),s}info(t,e,r){const s=this.message(t,e,r);return s.fatal=null,s}fail(t,e,r){const s=this.message(t,e,r);throw s.fatal=!0,s}}function o(n,t){if(n&&n.includes(i.path.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+i.path.sep+"`")}function p(n,t){if(!n)throw new Error("`"+t+"` cannot be empty")}function u(n,t){if(!n)throw new Error("Setting `"+t+"` requires `path` to be set too")}function w(n){return f(n)}exports.VFile=g;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import d from "../../../../../_virtual/index.es23.js";
1
+ import d from "../../../../../_virtual/index.es22.js";
2
2
  import { path as i } from "./minpath.browser.es.js";
3
3
  import { proc as u } from "./minproc.browser.es.js";
4
4
  import { urlToPath as l } from "./minurl.browser.es.js";
@@ -1,2 +1,2 @@
1
- "use strict";const w=require("../../../_virtual/index.cjs22.js"),A=require("./errors.cjs.js"),E=require("../../hast-util-from-parse5/lib/index.cjs.js"),I="https://html.spec.whatwg.org/multipage/parsing.html#parse-error-",L={2:!0,1:!1,0:null};function j(r){const o=this.data("settings"),n=Object.assign({},o,r);Object.assign(this,{Parser:h});function h(a,l){const b=n.fragment?"parseFragment":"parse",C=n.emitParseErrors?x:null,O=new w({sourceCodeLocationInfo:!0,onParseError:C,scriptingEnabled:!1});return E.fromParse5(O[b](a),{space:n.space,file:l,verbose:n.verbose});function x(e){const c=e.code,u=y(c),i=n[u],f=i??!0,p=typeof f=="number"?f:f?1:0,P={line:e.startLine,column:e.startCol,offset:e.startOffset},q={line:e.endLine,column:e.endCol,offset:e.endOffset};if(p){const t=A.errors[u]||{reason:"",description:"",url:""},s=l.message(g(t.reason),{start:P,end:q});s.source="parse-error",s.ruleId=c,s.fatal=L[p],s.note=g(t.description),s.url="url"in t&&t.url===!1?null:I+c}function g(t){return t.replace(/%c(?:-(\d+))?/g,(s,d)=>{const v=d?-Number.parseInt(d,10):0,m=a.charAt(e.startOffset+v);return m==="`"?"` ` `":m}).replace(/%x/g,()=>"0x"+a.charCodeAt(e.startOffset).toString(16).toUpperCase())}}}}function y(r){return r.replace(/-[a-z]/g,o=>o.charAt(1).toUpperCase())}module.exports=j;
1
+ "use strict";const w=require("../../../_virtual/index.cjs24.js"),A=require("./errors.cjs.js"),E=require("../../hast-util-from-parse5/lib/index.cjs.js"),I="https://html.spec.whatwg.org/multipage/parsing.html#parse-error-",L={2:!0,1:!1,0:null};function j(r){const o=this.data("settings"),n=Object.assign({},o,r);Object.assign(this,{Parser:h});function h(a,l){const b=n.fragment?"parseFragment":"parse",C=n.emitParseErrors?x:null,O=new w({sourceCodeLocationInfo:!0,onParseError:C,scriptingEnabled:!1});return E.fromParse5(O[b](a),{space:n.space,file:l,verbose:n.verbose});function x(e){const c=e.code,u=y(c),i=n[u],f=i??!0,p=typeof f=="number"?f:f?1:0,P={line:e.startLine,column:e.startCol,offset:e.startOffset},q={line:e.endLine,column:e.endCol,offset:e.endOffset};if(p){const t=A.errors[u]||{reason:"",description:"",url:""},s=l.message(g(t.reason),{start:P,end:q});s.source="parse-error",s.ruleId=c,s.fatal=L[p],s.note=g(t.description),s.url="url"in t&&t.url===!1?null:I+c}function g(t){return t.replace(/%c(?:-(\d+))?/g,(s,d)=>{const v=d?-Number.parseInt(d,10):0,m=a.charAt(e.startOffset+v);return m==="`"?"` ` `":m}).replace(/%x/g,()=>"0x"+a.charCodeAt(e.startOffset).toString(16).toUpperCase())}}}}function y(r){return r.replace(/-[a-z]/g,o=>o.charAt(1).toUpperCase())}module.exports=j;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import A from "../../../_virtual/index.es22.js";
1
+ import A from "../../../_virtual/index.es24.js";
2
2
  import { errors as E } from "./errors.es.js";
3
3
  import { fromParse5 as I } from "../../hast-util-from-parse5/lib/index.es.js";
4
4
  const L = "https://html.spec.whatwg.org/multipage/parsing.html#parse-error-", j = { 2: !0, 1: !1, 0: null };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../_virtual/index.cjs6.js");var t;function O(){if(t)return o.__module.exports;t=1;var a={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},r=Object.keys(a).join("|"),A=new RegExp(r,"g"),i=new RegExp(r,"");function c(e){return a[e]}var u=function(e){return e.replace(A,c)},n=function(e){return!!e.match(i)};return o.__module.exports=u,o.__module.exports.has=n,o.__module.exports.remove=u,o.__module.exports}exports.__require=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../_virtual/index.cjs8.js");var t;function O(){if(t)return o.__module.exports;t=1;var a={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},r=Object.keys(a).join("|"),A=new RegExp(r,"g"),i=new RegExp(r,"");function c(e){return a[e]}var u=function(e){return e.replace(A,c)},n=function(e){return!!e.match(i)};return o.__module.exports=u,o.__module.exports.has=n,o.__module.exports.remove=u,o.__module.exports}exports.__require=O;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __module as a } from "../../_virtual/index.es6.js";
1
+ import { __module as a } from "../../_virtual/index.es8.js";
2
2
  var A;
3
3
  function n() {
4
4
  if (A) return a.exports;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("../../../../../_virtual/index.cjs8.js"),I=require("./error-codes.cjs.js"),T=require("./getShortErrorMsg.cjs.js"),U=require("./desc.cjs.js");var E;function u(){return E||(E=1,(function(r){Object.defineProperty(r,Symbol.toStringTag,{value:"Module"});const e=I.__require(),i=T.__require(),_=U.__require();r.BUILD_001=e.BUILD_001,r.BUILD_002=e.BUILD_002,r.RUNTIME_001=e.RUNTIME_001,r.RUNTIME_002=e.RUNTIME_002,r.RUNTIME_003=e.RUNTIME_003,r.RUNTIME_004=e.RUNTIME_004,r.RUNTIME_005=e.RUNTIME_005,r.RUNTIME_006=e.RUNTIME_006,r.RUNTIME_007=e.RUNTIME_007,r.RUNTIME_008=e.RUNTIME_008,r.RUNTIME_009=e.RUNTIME_009,r.RUNTIME_010=e.RUNTIME_010,r.RUNTIME_011=e.RUNTIME_011,r.RUNTIME_012=e.RUNTIME_012,r.TYPE_001=e.TYPE_001,r.buildDescMap=_.buildDescMap,r.errorDescMap=_.errorDescMap,r.getShortErrorMsg=i.getShortErrorMsg,r.runtimeDescMap=_.runtimeDescMap,r.typeDescMap=_.typeDescMap})(M.__exports)),M.__exports}exports.__require=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("../../../../../_virtual/index.cjs7.js"),I=require("./error-codes.cjs.js"),T=require("./getShortErrorMsg.cjs.js"),U=require("./desc.cjs.js");var E;function u(){return E||(E=1,(function(r){Object.defineProperty(r,Symbol.toStringTag,{value:"Module"});const e=I.__require(),i=T.__require(),_=U.__require();r.BUILD_001=e.BUILD_001,r.BUILD_002=e.BUILD_002,r.RUNTIME_001=e.RUNTIME_001,r.RUNTIME_002=e.RUNTIME_002,r.RUNTIME_003=e.RUNTIME_003,r.RUNTIME_004=e.RUNTIME_004,r.RUNTIME_005=e.RUNTIME_005,r.RUNTIME_006=e.RUNTIME_006,r.RUNTIME_007=e.RUNTIME_007,r.RUNTIME_008=e.RUNTIME_008,r.RUNTIME_009=e.RUNTIME_009,r.RUNTIME_010=e.RUNTIME_010,r.RUNTIME_011=e.RUNTIME_011,r.RUNTIME_012=e.RUNTIME_012,r.TYPE_001=e.TYPE_001,r.buildDescMap=_.buildDescMap,r.errorDescMap=_.errorDescMap,r.getShortErrorMsg=i.getShortErrorMsg,r.runtimeDescMap=_.runtimeDescMap,r.typeDescMap=_.typeDescMap})(M.__exports)),M.__exports}exports.__require=u;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __exports as M } from "../../../../../_virtual/index.es8.js";
1
+ import { __exports as M } from "../../../../../_virtual/index.es7.js";
2
2
  import { __require as I } from "./error-codes.es.js";
3
3
  import { __require as U } from "./getShortErrorMsg.es.js";
4
4
  import { __require as T } from "./desc.es.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../../../_virtual/index.cjs5.js"),R=require("./utils.cjs.js"),p=require("../../runtime-core/dist/index.cjs.js"),S=require("../../error-codes/dist/index.cjs.js");var l;function I(){return l||(l=1,(function(n){Object.defineProperty(n,Symbol.toStringTag,{value:"Module"});const c=R.__require();let t=p.__require(),i=S.__require();function o(r){const u=new((0,t.getGlobalFederationConstructor)()||t.ModuleFederation)(r);return(0,t.setGlobalFederationInstance)(u),u}let e=null;function d(r){const u=c.getGlobalFederationInstance(r.name,r.version);return u?(u.initOptions(r),e||(e=u),u):(e=o(r),e)}function s(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.loadRemote.apply(e,r)}function g(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.loadShare.apply(e,r)}function f(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.loadShareSync.apply(e,r)}function m(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.preloadRemote.apply(e,r)}function _(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.registerRemotes.apply(e,r)}function b(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.registerPlugins.apply(e,r)}function y(){return e}function M(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.registerShared.apply(e,r)}(0,t.setGlobalFederationConstructor)(t.ModuleFederation),Object.defineProperty(n,"Module",{enumerable:!0,get:function(){return t.Module}}),n.ModuleFederation=t.ModuleFederation,n.createInstance=o,n.getInstance=y,Object.defineProperty(n,"getRemoteEntry",{enumerable:!0,get:function(){return t.getRemoteEntry}}),Object.defineProperty(n,"getRemoteInfo",{enumerable:!0,get:function(){return t.getRemoteInfo}}),n.init=d,n.loadRemote=s,Object.defineProperty(n,"loadScript",{enumerable:!0,get:function(){return t.loadScript}}),Object.defineProperty(n,"loadScriptNode",{enumerable:!0,get:function(){return t.loadScriptNode}}),n.loadShare=g,n.loadShareSync=f,n.preloadRemote=m,Object.defineProperty(n,"registerGlobalPlugins",{enumerable:!0,get:function(){return t.registerGlobalPlugins}}),n.registerPlugins=b,n.registerRemotes=_,n.registerShared=M})(a.__exports)),a.__exports}exports.__require=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../../../_virtual/index.cjs3.js"),R=require("./utils.cjs.js"),p=require("../../runtime-core/dist/index.cjs.js"),S=require("../../error-codes/dist/index.cjs.js");var l;function I(){return l||(l=1,(function(n){Object.defineProperty(n,Symbol.toStringTag,{value:"Module"});const c=R.__require();let t=p.__require(),i=S.__require();function o(r){const u=new((0,t.getGlobalFederationConstructor)()||t.ModuleFederation)(r);return(0,t.setGlobalFederationInstance)(u),u}let e=null;function d(r){const u=c.getGlobalFederationInstance(r.name,r.version);return u?(u.initOptions(r),e||(e=u),u):(e=o(r),e)}function s(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.loadRemote.apply(e,r)}function g(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.loadShare.apply(e,r)}function f(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.loadShareSync.apply(e,r)}function m(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.preloadRemote.apply(e,r)}function _(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.registerRemotes.apply(e,r)}function b(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.registerPlugins.apply(e,r)}function y(){return e}function M(...r){return(0,t.assert)(e,i.RUNTIME_009,i.runtimeDescMap),e.registerShared.apply(e,r)}(0,t.setGlobalFederationConstructor)(t.ModuleFederation),Object.defineProperty(n,"Module",{enumerable:!0,get:function(){return t.Module}}),n.ModuleFederation=t.ModuleFederation,n.createInstance=o,n.getInstance=y,Object.defineProperty(n,"getRemoteEntry",{enumerable:!0,get:function(){return t.getRemoteEntry}}),Object.defineProperty(n,"getRemoteInfo",{enumerable:!0,get:function(){return t.getRemoteInfo}}),n.init=d,n.loadRemote=s,Object.defineProperty(n,"loadScript",{enumerable:!0,get:function(){return t.loadScript}}),Object.defineProperty(n,"loadScriptNode",{enumerable:!0,get:function(){return t.loadScriptNode}}),n.loadShare=g,n.loadShareSync=f,n.preloadRemote=m,Object.defineProperty(n,"registerGlobalPlugins",{enumerable:!0,get:function(){return t.registerGlobalPlugins}}),n.registerPlugins=b,n.registerRemotes=_,n.registerShared=M})(a.__exports)),a.__exports}exports.__require=I;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __exports as u } from "../../../../../_virtual/index.es5.js";
1
+ import { __exports as u } from "../../../../../_virtual/index.es3.js";
2
2
  import { __require as b } from "./utils.es.js";
3
3
  import { __require as y } from "../../runtime-core/dist/index.es.js";
4
4
  import { __require as S } from "../../error-codes/dist/index.es.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../../_virtual/index.cjs7.js"),f=require("./utils/logger.cjs.js"),h=require("./utils/tool.cjs.js"),m=require("./global.cjs.js"),G=require("./utils/semver/index.cjs.js"),S=require("./utils/share.cjs.js"),y=require("./utils/manifest.cjs.js"),R=require("./utils/load.cjs.js"),F=require("./utils/index.cjs.js"),I=require("./helpers.cjs.js"),P=require("./module/index.cjs.js"),p=require("./core.cjs.js"),C=require("./type/index.cjs.js"),E=require("../../sdk/dist/index.cjs.js");var a;function M(){return a||(a=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const o=f.__require(),i=h.__require(),r=m.__require(),l=G.__require(),s=S.__require(),c=y.__require(),n=R.__require();F.__require();const d=I.__require(),_=P.__require(),q=p.__require(),g=C.__require();let u=E.__require();const b=d.default;e.CurrentGlobal=r.CurrentGlobal,e.Global=r.Global,e.Module=_.Module,e.ModuleFederation=q.ModuleFederation,e.addGlobalSnapshot=r.addGlobalSnapshot,e.assert=o.assert,e.error=o.error,e.getGlobalFederationConstructor=r.getGlobalFederationConstructor,e.getGlobalSnapshot=r.getGlobalSnapshot,e.getInfoWithoutType=r.getInfoWithoutType,e.getRegisteredShare=s.getRegisteredShare,e.getRemoteEntry=n.getRemoteEntry,e.getRemoteInfo=n.getRemoteInfo,e.helpers=b,e.isStaticResourcesEqual=i.isStaticResourcesEqual,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return u.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return u.loadScriptNode}}),e.matchRemoteWithNameAndExpose=c.matchRemoteWithNameAndExpose,e.registerGlobalPlugins=r.registerGlobalPlugins,e.resetFederationGlobalInfo=r.resetFederationGlobalInfo,e.safeWrapper=i.safeWrapper,e.satisfy=l.satisfy,e.setGlobalFederationConstructor=r.setGlobalFederationConstructor,e.setGlobalFederationInstance=r.setGlobalFederationInstance,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return g.type_exports}})})(t.__exports)),t.__exports}exports.__require=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../../_virtual/index.cjs6.js"),f=require("./utils/logger.cjs.js"),h=require("./utils/tool.cjs.js"),m=require("./global.cjs.js"),G=require("./utils/semver/index.cjs.js"),S=require("./utils/share.cjs.js"),y=require("./utils/manifest.cjs.js"),R=require("./utils/load.cjs.js"),F=require("./utils/index.cjs.js"),I=require("./helpers.cjs.js"),P=require("./module/index.cjs.js"),p=require("./core.cjs.js"),C=require("./type/index.cjs.js"),E=require("../../sdk/dist/index.cjs.js");var a;function M(){return a||(a=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const o=f.__require(),i=h.__require(),r=m.__require(),l=G.__require(),s=S.__require(),c=y.__require(),n=R.__require();F.__require();const d=I.__require(),_=P.__require(),q=p.__require(),g=C.__require();let u=E.__require();const b=d.default;e.CurrentGlobal=r.CurrentGlobal,e.Global=r.Global,e.Module=_.Module,e.ModuleFederation=q.ModuleFederation,e.addGlobalSnapshot=r.addGlobalSnapshot,e.assert=o.assert,e.error=o.error,e.getGlobalFederationConstructor=r.getGlobalFederationConstructor,e.getGlobalSnapshot=r.getGlobalSnapshot,e.getInfoWithoutType=r.getInfoWithoutType,e.getRegisteredShare=s.getRegisteredShare,e.getRemoteEntry=n.getRemoteEntry,e.getRemoteInfo=n.getRemoteInfo,e.helpers=b,e.isStaticResourcesEqual=i.isStaticResourcesEqual,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return u.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return u.loadScriptNode}}),e.matchRemoteWithNameAndExpose=c.matchRemoteWithNameAndExpose,e.registerGlobalPlugins=r.registerGlobalPlugins,e.resetFederationGlobalInfo=r.resetFederationGlobalInfo,e.safeWrapper=i.safeWrapper,e.satisfy=l.satisfy,e.setGlobalFederationConstructor=r.setGlobalFederationConstructor,e.setGlobalFederationInstance=r.setGlobalFederationInstance,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return g.type_exports}})})(t.__exports)),t.__exports}exports.__require=M;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __exports as t } from "../../../../../_virtual/index.es7.js";
1
+ import { __exports as t } from "../../../../../_virtual/index.es6.js";
2
2
  import { __require as b } from "./utils/logger.es.js";
3
3
  import { __require as g } from "./utils/tool.es.js";
4
4
  import { __require as p } from "./global.es.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../../../../_virtual/utils.cjs3.js"),f=require("./constants.cjs.js");var u;function m(){if(u)return e.__exports;u=1;const c=f.__require();function i(r){return new RegExp(r)}function _(r){return!r||r.toLowerCase()==="x"||r==="*"}function a(...r){return n=>r.reduce((o,t)=>t(o),n)}function p(r){return r.match(i(c.comparator))}function x(r,n,o,t){const s=`${r}.${n}.${o}`;return t?`${s}-${t}`:s}return e.__exports.combineVersion=x,e.__exports.extractComparator=p,e.__exports.isXVersion=_,e.__exports.parseRegex=i,e.__exports.pipe=a,e.__exports}exports.__require=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../../../../_virtual/utils.cjs2.js"),f=require("./constants.cjs.js");var u;function m(){if(u)return e.__exports;u=1;const c=f.__require();function i(r){return new RegExp(r)}function _(r){return!r||r.toLowerCase()==="x"||r==="*"}function a(...r){return n=>r.reduce((o,t)=>t(o),n)}function p(r){return r.match(i(c.comparator))}function x(r,n,o,t){const s=`${r}.${n}.${o}`;return t?`${s}-${t}`:s}return e.__exports.combineVersion=x,e.__exports.extractComparator=p,e.__exports.isXVersion=_,e.__exports.parseRegex=i,e.__exports.pipe=a,e.__exports}exports.__require=m;
2
2
  //# sourceMappingURL=utils.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __exports as e } from "../../../../../../../_virtual/utils.es3.js";
1
+ import { __exports as e } from "../../../../../../../_virtual/utils.es2.js";
2
2
  import { __require as x } from "./constants.es.js";
3
3
  var s;
4
4
  function V() {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../../../_virtual/utils.cjs2.js"),w=require("./constant.cjs.js"),v=require("./env.cjs.js");var T;function A(){if(T)return a.__exports;T=1;const r=w.__require(),c=v.__require(),f="[ Federation Runtime ]",E=(e,t,n=r.SEPARATOR)=>{const o=e.split(n),i=c.getProcessEnv().NODE_ENV==="development"&&t,p="*",_=s=>s.startsWith("http")||s.includes(r.MANIFEST_EXT);if(o.length>=2){let[s,...N]=o;e.startsWith(n)&&(s=o.slice(0,2).join(n),N=[i||o.slice(2).join(n)]);let l=i||N.join(n);return _(l)?{name:s,entry:l}:{name:s,version:l||p}}else if(o.length===1){const[s]=o;return i&&_(i)?{name:s,entry:i}:{name:s,version:i||p}}else throw`Invalid entry value: ${e}`},g=function(...e){return e.length?e.reduce((t,n)=>n?t?`${t}${r.SEPARATOR}${n}`:n:t,""):""},m=function(e,t="",n=!1){try{const o=n?".js":"";return`${t}${e.replace(new RegExp(`${r.NameTransformSymbol.AT}`,"g"),r.NameTransformMap[r.NameTransformSymbol.AT]).replace(new RegExp(`${r.NameTransformSymbol.HYPHEN}`,"g"),r.NameTransformMap[r.NameTransformSymbol.HYPHEN]).replace(new RegExp(`${r.NameTransformSymbol.SLASH}`,"g"),r.NameTransformMap[r.NameTransformSymbol.SLASH])}${o}`}catch(o){throw o}},S=function(e,t,n){try{let o=e;if(t){if(!o.startsWith(t))return o;o=o.replace(new RegExp(t,"g"),"")}return o=o.replace(new RegExp(`${r.NameTransformMap[r.NameTransformSymbol.AT]}`,"g"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.AT]]).replace(new RegExp(`${r.NameTransformMap[r.NameTransformSymbol.SLASH]}`,"g"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.SLASH]]).replace(new RegExp(`${r.NameTransformMap[r.NameTransformSymbol.HYPHEN]}`,"g"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.HYPHEN]]),n&&(o=o.replace(".js","")),o}catch(o){throw o}},h=(e,t)=>{if(!e)return"";let n=e;return n==="."&&(n="default_export"),n.startsWith("./")&&(n=n.replace("./","")),m(n,"__federation_expose_",t)},y=(e,t)=>e?m(e,"__federation_shared_",t):"",P=(e,t)=>{if("getPublicPath"in e){let n;return e.getPublicPath.startsWith("function")?n=new Function("return "+e.getPublicPath)()():n=new Function(e.getPublicPath)(),`${n}${t}`}else return"publicPath"in e?!c.isBrowserEnv()&&!c.isReactNativeEnv()&&"ssrPublicPath"in e&&typeof e.ssrPublicPath=="string"?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},b=(e,t)=>{e||u(t)},u=e=>{throw new Error(`${f}: ${e}`)},d=e=>{console.warn(`${f}: ${e}`)};function x(e){try{return JSON.stringify(e,null,2)}catch{return""}}const $=/^([\d^=v<>~]|[*xX]$)/;function R(e){return $.test(e)}return a.__exports.assert=b,a.__exports.composeKeyWithSeparator=g,a.__exports.decodeName=S,a.__exports.encodeName=m,a.__exports.error=u,a.__exports.generateExposeFilename=h,a.__exports.generateShareFilename=y,a.__exports.getResourceUrl=P,a.__exports.isRequiredVersion=R,a.__exports.parseEntry=E,a.__exports.safeToString=x,a.__exports.warn=d,a.__exports}exports.__require=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../../../_virtual/utils.cjs3.js"),w=require("./constant.cjs.js"),v=require("./env.cjs.js");var T;function A(){if(T)return a.__exports;T=1;const r=w.__require(),c=v.__require(),f="[ Federation Runtime ]",E=(e,t,n=r.SEPARATOR)=>{const o=e.split(n),i=c.getProcessEnv().NODE_ENV==="development"&&t,p="*",_=s=>s.startsWith("http")||s.includes(r.MANIFEST_EXT);if(o.length>=2){let[s,...N]=o;e.startsWith(n)&&(s=o.slice(0,2).join(n),N=[i||o.slice(2).join(n)]);let l=i||N.join(n);return _(l)?{name:s,entry:l}:{name:s,version:l||p}}else if(o.length===1){const[s]=o;return i&&_(i)?{name:s,entry:i}:{name:s,version:i||p}}else throw`Invalid entry value: ${e}`},g=function(...e){return e.length?e.reduce((t,n)=>n?t?`${t}${r.SEPARATOR}${n}`:n:t,""):""},m=function(e,t="",n=!1){try{const o=n?".js":"";return`${t}${e.replace(new RegExp(`${r.NameTransformSymbol.AT}`,"g"),r.NameTransformMap[r.NameTransformSymbol.AT]).replace(new RegExp(`${r.NameTransformSymbol.HYPHEN}`,"g"),r.NameTransformMap[r.NameTransformSymbol.HYPHEN]).replace(new RegExp(`${r.NameTransformSymbol.SLASH}`,"g"),r.NameTransformMap[r.NameTransformSymbol.SLASH])}${o}`}catch(o){throw o}},S=function(e,t,n){try{let o=e;if(t){if(!o.startsWith(t))return o;o=o.replace(new RegExp(t,"g"),"")}return o=o.replace(new RegExp(`${r.NameTransformMap[r.NameTransformSymbol.AT]}`,"g"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.AT]]).replace(new RegExp(`${r.NameTransformMap[r.NameTransformSymbol.SLASH]}`,"g"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.SLASH]]).replace(new RegExp(`${r.NameTransformMap[r.NameTransformSymbol.HYPHEN]}`,"g"),r.EncodedNameTransformMap[r.NameTransformMap[r.NameTransformSymbol.HYPHEN]]),n&&(o=o.replace(".js","")),o}catch(o){throw o}},h=(e,t)=>{if(!e)return"";let n=e;return n==="."&&(n="default_export"),n.startsWith("./")&&(n=n.replace("./","")),m(n,"__federation_expose_",t)},y=(e,t)=>e?m(e,"__federation_shared_",t):"",P=(e,t)=>{if("getPublicPath"in e){let n;return e.getPublicPath.startsWith("function")?n=new Function("return "+e.getPublicPath)()():n=new Function(e.getPublicPath)(),`${n}${t}`}else return"publicPath"in e?!c.isBrowserEnv()&&!c.isReactNativeEnv()&&"ssrPublicPath"in e&&typeof e.ssrPublicPath=="string"?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},b=(e,t)=>{e||u(t)},u=e=>{throw new Error(`${f}: ${e}`)},d=e=>{console.warn(`${f}: ${e}`)};function x(e){try{return JSON.stringify(e,null,2)}catch{return""}}const $=/^([\d^=v<>~]|[*xX]$)/;function R(e){return $.test(e)}return a.__exports.assert=b,a.__exports.composeKeyWithSeparator=g,a.__exports.decodeName=S,a.__exports.encodeName=m,a.__exports.error=u,a.__exports.generateExposeFilename=h,a.__exports.generateShareFilename=y,a.__exports.getResourceUrl=P,a.__exports.isRequiredVersion=R,a.__exports.parseEntry=E,a.__exports.safeToString=x,a.__exports.warn=d,a.__exports}exports.__require=A;
2
2
  //# sourceMappingURL=utils.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __exports as o } from "../../../../../_virtual/utils.es2.js";
1
+ import { __exports as o } from "../../../../../_virtual/utils.es3.js";
2
2
  import { __require as v } from "./constant.es.js";
3
3
  import { __require as A } from "./env.es.js";
4
4
  var T;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/index.cjs21.js"),t=require("./cjs/react-is.production.min.cjs.js"),o=require("./cjs/react-is.development.cjs.js");var r;function u(){return r||(r=1,process.env.NODE_ENV==="production"?e.__module.exports=t.__require():e.__module.exports=o.__require()),e.__module.exports}exports.__require=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../_virtual/index.cjs20.js"),t=require("./cjs/react-is.production.min.cjs.js"),o=require("./cjs/react-is.development.cjs.js");var r;function u(){return r||(r=1,process.env.NODE_ENV==="production"?e.__module.exports=t.__require():e.__module.exports=o.__require()),e.__module.exports}exports.__require=u;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { __module as e } from "../../../_virtual/index.es21.js";
1
+ import { __module as e } from "../../../_virtual/index.es20.js";
2
2
  import { __require as o } from "./cjs/react-is.production.min.es.js";
3
3
  import { __require as t } from "./cjs/react-is.development.es.js";
4
4
  var r;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");const Te=require("../../../api/queries/actions/refreshActiveAndPurgeOthers.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");const A=require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");const ye=require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");const o=require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const er=require("lodash");require("react-toastify");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("uuid");const rr=require("../../../util/getGroupByDataType.cjs.js");require("../../../util/pubsub.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");const ir=require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/EntityUpdatesContextInstance.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/SyncButton/SyncButton.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../widgets/LinksWidget.cjs.js");const ur=require("../utils/loadingUtils.cjs.js");require("../context/CellEditingContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ProjectDataContextInstance.cjs.js");const K=require("./useBuildGroupByTableData.cjs.js"),tr=require("../utils/getGroupQueries.cjs.js"),sr=require("../utils/getFolderIdsToQueryFromExpanded.cjs.js");require("../context/ProjectTableContextInstance.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/TableFooterRow.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("custom-protocol-check");const nr=require("../../../hooks/useGroupedPagination.cjs.js");require("../components/GroupSettingsFallback.cjs.js");const qr=300,or=({projectName:T,selectedFolders:a,excludeSelectedFolders:p=!1,taskIds:h,taskFilters:d,folderFilters:y,sorting:X,groupBy:k,taskGroups:x=[],taskGroupsCount:me,expanded:m,showHierarchy:c,isFlatFolderView:f=!1,attribFields:Ie,modules:Me,skipLinks:S,showComments:C=!1,isLoadingViews:I=!1,onCollapseAll:F,visibleEntityIds:N=[],folderStatsArgs:Z,taskStatsArgs:$,folderStatsUninitialized:ve,taskStatsUninitialized:Le,dispatch:j})=>{const{isLoading:w}=Me,{folders:g,isLoading:Se,isUninitialized:Ee,getFolderById:H}=ir.useProjectFoldersContext(),P=Object.entries(m).filter(([,e])=>e).filter(([e])=>!K.isGroupId(e)).map(([e])=>e),_=o.useMemo(()=>sr.getFolderIdsToQueryFromExpanded({expanded:m,expandedParentIds:P,selectedFolders:a,excludeSelectedFolders:p,getFolderById:H,showHierarchy:c}),[m,P,a,p,H,c]),[V,Pe]=o.useState(N),R=o.useMemo(()=>er.debounce(e=>Pe(e),qr),[]);o.useEffect(()=>(R(N),()=>R.cancel()),[N,R]);const ee=o.useMemo(()=>{if(!c||f)return _;const e=new Set(V);return _.filter(i=>e.has(i))},[_,c,f,V]),re={projectName:T,parentIds:ee,filter:d.filterString,folderFilter:y.filterString,search:d.search,showComments:C},{data:v=[],isFetching:ie,error:W,isUninitialized:Ge}=A.useGetOverviewTasksByFoldersQuery(re,{skip:I||!ee.length||!c&&!f}),ue=!d.filterString&&!y.filterString&&!d.search&&!y.search||!g.length||!c&&!f,te={projectName:T,folderSearchRequest:{taskFilter:d.filter?.conditions?.length?d.filter:void 0,folderFilter:y.filter?.conditions?.length?y.filter:void 0,search:d.search}},{data:G,isUninitialized:se,isLoading:Ue,isUninitialized:be,error:ze}=A.useGetSearchFoldersQuery(te,{skip:I||ue}),Y=o.useMemo(()=>{const e=new Set;return g.forEach(i=>{if(!i.parentId){e.add(i.id);return}const s=i.parentId,u=p?a.includes(s):a.includes(i.id);(m[s]===!0||u)&&e.add(i.id)}),e},[g,G,ue,m,a,p]),ne={projectName:T,entityIds:Array.from(Y),entityType:"folder"},{data:U=[],isUninitialized:Qe,isFetching:qe}=ye.useGetEntityLinksQuery(ne,{skip:I||S}),M=o.useMemo(()=>{const e=new Map,i=a.map(r=>g.find(t=>t.id===r)?.path).filter(Boolean),s=r=>{const t=r.path;return i.some(q=>t===q||t.startsWith(q+"/"))};console.log({selectedPaths:i});const u=r=>({...r,entityId:r.id,entityType:"folder",links:U?.find(q=>q.id===r.id)?.links||[]});if(!se&&G&&g.length){const r=new Set;for(const n of G)r.add(n);const t=new Map;for(const n of g)t.set(n.id,n);const q=n=>{const l=t.get(n);l&&l.parentId&&(r.add(l.parentId),q(l.parentId))};if(!f){const n=[...r];for(const l of n)q(l)}for(const n of g)(r.has(n.id)||s(n))&&e.set(n.id,u(n))}else for(const r of g)e.set(r.id,u(r));if(a.length){const r=new Map;return e.forEach((t,q)=>{const n=t.path;console.log(n);const l=i.includes(n);(i.some(Ve=>n.startsWith(Ve+"/"))||l&&(!p||f))&&r.set(q,u(t))}),r}return e},[g,G,se,a,p,U,f]),De=o.useMemo(()=>ie?ur.determineLoadingTaskFolders({expandedFoldersTasks:v,expandedParentIds:P,foldersMap:M}):{},[ie,v,P,M]),[oe,Be]=o.useState("");o.useEffect(()=>{oe&&Be("")},[X,oe]);const L={...X[0]},b=L?.id==="name"&&!c?"path":L?.id==="subType"?"taskType":L?.id,Oe=a.length?Array.from(new Set([...M.keys(),...p?a:[]])):void 0,E=c&&p&&a.length?a:void 0,ae={projectName:T,filter:d.filterString,folderFilter:y.filterString,search:d.search,folderIds:h?.length?void 0:E??(a.length?a:void 0),taskIds:h?.length?h:void 0,sortBy:b?b.replace("_","."):void 0,desc:!!L?.desc,showComments:C,includeFolderChildren:!E},{data:J,isLoading:Ae,error:xe,fetchNextPage:Ce,hasNextPage:Fe,isFetchingNextPage:Ne,isUninitialized:_e}=A.useGetTasksListInfiniteInfiniteQuery(ae,{skip:I||(c&&!E||f)&&!h?.length,initialPageParam:{cursor:"",desc:!!L?.desc}}),z=o.useMemo(()=>J?.pages?J.pages.flatMap(e=>e.tasks||[]):[],[J?.pages]),{pageCounts:de,incrementPageCount:Re}=nr.useGroupedPagination({groups:x}),ce=rr.getGroupByDataType(k,Ie),fe=o.useMemo(()=>Object.entries(m).filter(([,e])=>e).filter(([e])=>K.isGroupId(e)).map(([e])=>e.slice(K.GROUP_BY_ID.length)),[m]),le=o.useMemo(()=>k?tr.getGroupQueries({groups:x,filters:d.filter,groupBy:k,groupPageCounts:de,dataType:ce}).filter(i=>fe.includes(i.value)):[],[k,x,de,ce,d.filter,fe]),ge={projectName:T,groups:le,sortBy:b?b.replace("_","."):void 0,desc:!!L?.desc,search:d.search,folderFilter:y.filterString,folderIds:Oe,groupCount:me,showComments:C},{data:{tasks:pe=[]}={},isUninitialized:We,error:Ye}=A.useGetGroupedTasksListQuery(ge,{skip:I||!k||!le.length||w}),Q=o.useMemo(()=>h?.length?z:f?v:c?E?[...v,...z]:v:k?pe:z,[h,c,E,f,k,z,v,pe]),D=o.useMemo(()=>new Set(Q.map(e=>e.id)),[Q]),he={projectName:T,entityIds:Array.from(D),entityType:"task"},{data:B=[],isUninitialized:Je,isFetching:ke}=ye.useGetEntityLinksQuery(he,{skip:I||D.size===0||S}),Ke=o.useMemo(()=>{const e=new Set;if(qe&&!S){const i=new Set(U.map(s=>s.id));for(const s of Y)i.has(s)||e.add(s)}if(ke&&!S){const i=new Set(B.map(s=>s.id));for(const s of D)i.has(s)||e.add(s)}return e},[qe,ke,U,B,Y,D,S]),Xe=e=>{k?e&&Re(e):Fe&&Ce()},{tasksMap:Ze,tasksByFolderMap:O}=o.useMemo(()=>{const e=new Map,i=new Map,s=u=>({...u,entityId:u.id,entityType:"task",links:B?.find(r=>r.id===u.id)?.links||[]});for(const u of Q){const r=u.id,t=u.folderId;if(e.has(r)){const q=e.get(r),n=s(u),l={...q,...n,groups:[...q.groups||[],...n.groups||[]]};e.set(r,l)}else e.set(r,s(u));if(i.has(t)){const q=i.get(t);q.includes(r)||q.push(r)}else i.set(t,[r])}return{tasksMap:e,tasksByFolderMap:i}},[Q,B]),$e=o.useMemo(()=>{if(!h?.length||!O.size)return M;const e=new Set;for(const u of O.keys())e.add(u);const i=u=>{const r=M.get(u);if(r&&r.parentId){const t=r.parentId;e.has(t)||(e.add(t),i(t))}};for(const u of e)i(u);const s=new Map;for(const[u,r]of M)e.has(u)&&s.set(u,r);return s},[M,O,h]),je=async(e=[])=>{const i=e.length===0,s=e.some(t=>t.topic.startsWith("entity.folder.")),u=e.some(t=>t.topic.startsWith("entity.task.")),r=[];(i||s)&&!Ee&&r.push({endpointName:"getFolderList",args:{projectName:T,attrib:!0}}),(i||s||u)&&!be&&r.push({endpointName:"getSearchFolders",args:te}),(i||u)&&!Ge&&r.push({endpointName:"getOverviewTasksByFolders",args:re}),(i||u)&&!_e&&r.push({endpointName:"getTasksListInfinite",args:ae}),(i||u)&&!We&&r.push({endpointName:"getGroupedTasksList",args:ge}),(i||s)&&!ve&&Z&&r.push({endpointName:"GetFolderColumnStats",args:Z}),(i||u)&&!Le&&$&&r.push({endpointName:"GetTaskColumnStats",args:$}),(i||s)&&!Qe&&r.push({endpointName:"getEntityLinks",args:ne}),(i||u)&&!Je&&r.push({endpointName:"getEntityLinks",args:he}),await Promise.all(r.map(({endpointName:t,args:q})=>j(Te.refreshActiveAndPurgeOthers(t,q,{refreshOtherActiveQueries:!1})).unwrap())),r.map(({endpointName:t,args:q})=>j(Te.refreshOtherActiveQueries(t,q)))},we=xe||ze||Ye,He=o.useMemo(()=>{if(W&&F)return{label:"Collapse all folders",icon:"restart_alt",callback:F}},[W,F]);return{foldersMap:$e,tasksMap:Ze,tasksByFolderMap:O,error:we,softError:W?.error,softErrorAction:He,isLoadingAll:I||Se||Ae||Ue||w,isLoadingMore:Ne,loadingTasks:De,loadingLinksEntityIds:Ke,fetchNextPage:Xe,onSyncData:je}};exports.useFetchOverviewData=or;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");const Te=require("../../../api/queries/actions/refreshActiveAndPurgeOthers.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");const A=require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");const ye=require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");const o=require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const er=require("lodash");require("react-toastify");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("uuid");const rr=require("../../../util/getGroupByDataType.cjs.js");require("../../../util/pubsub.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");const ir=require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/EntityUpdatesContextInstance.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/SyncButton/SyncButton.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../widgets/LinksWidget.cjs.js");const ur=require("../utils/loadingUtils.cjs.js");require("../context/CellEditingContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ProjectDataContextInstance.cjs.js");const K=require("./useBuildGroupByTableData.cjs.js"),tr=require("../utils/getGroupQueries.cjs.js"),sr=require("../utils/getFolderIdsToQueryFromExpanded.cjs.js");require("../context/ProjectTableContextInstance.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/TableFooterRow.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("custom-protocol-check");const nr=require("../../../hooks/useGroupedPagination.cjs.js");require("../components/GroupSettingsFallback.cjs.js");const qr=300,or=({projectName:T,selectedFolders:a,excludeSelectedFolders:p=!1,taskIds:h,taskFilters:d,folderFilters:y,sorting:X,groupBy:k,taskGroups:x=[],taskGroupsCount:me,expanded:m,showHierarchy:c,isFlatFolderView:f=!1,attribFields:Ie,modules:Me,skipLinks:S,showComments:C=!1,isLoadingViews:I=!1,onCollapseAll:F,visibleEntityIds:N=[],folderStatsArgs:Z,taskStatsArgs:$,folderStatsUninitialized:ve,taskStatsUninitialized:Le,dispatch:j})=>{const{isLoading:w}=Me,{folders:g,isLoading:Se,isUninitialized:Ee,getFolderById:H}=ir.useProjectFoldersContext(),P=Object.entries(m).filter(([,e])=>e).filter(([e])=>!K.isGroupId(e)).map(([e])=>e),_=o.useMemo(()=>sr.getFolderIdsToQueryFromExpanded({expanded:m,expandedParentIds:P,selectedFolders:a,excludeSelectedFolders:p,getFolderById:H,showHierarchy:c}),[m,P,a,p,H,c]),[V,Pe]=o.useState(N),R=o.useMemo(()=>er.debounce(e=>Pe(e),qr),[]);o.useEffect(()=>(R(N),()=>R.cancel()),[N,R]);const ee=o.useMemo(()=>{if(!c||f)return _;const e=new Set(V);return _.filter(i=>e.has(i))},[_,c,f,V]),re={projectName:T,parentIds:ee,filter:d.filterString,folderFilter:y.filterString,search:d.search,showComments:C},{data:v=[],isFetching:ie,error:W,isUninitialized:Ge}=A.useGetOverviewTasksByFoldersQuery(re,{skip:I||!ee.length||!c&&!f}),ue=!d.filterString&&!y.filterString&&!d.search&&!y.search||!g.length||!c&&!f,te={projectName:T,folderSearchRequest:{taskFilter:d.filter?.conditions?.length?d.filter:void 0,folderFilter:y.filter?.conditions?.length?y.filter:void 0,search:d.search}},{data:G,isUninitialized:se,isLoading:Ue,isUninitialized:be,error:ze}=A.useGetSearchFoldersQuery(te,{skip:I||ue}),Y=o.useMemo(()=>{const e=new Set;return g.forEach(i=>{if(!i.parentId){e.add(i.id);return}const s=i.parentId,u=p?a.includes(s):a.includes(i.id);(m[s]===!0||u)&&e.add(i.id)}),e},[g,G,ue,m,a,p]),ne={projectName:T,entityIds:Array.from(Y),entityType:"folder"},{data:U=[],isUninitialized:Qe,isFetching:qe}=ye.useGetEntityLinksQuery(ne,{skip:I||S}),M=o.useMemo(()=>{const e=new Map,i=a.map(r=>g.find(t=>t.id===r)?.path).filter(Boolean),s=r=>{const t=r.path;return i.some(q=>t===q||t.startsWith(q+"/"))},u=r=>({...r,entityId:r.id,entityType:"folder",links:U?.find(q=>q.id===r.id)?.links||[]});if(!se&&G&&g.length){const r=new Set;for(const n of G)r.add(n);const t=new Map;for(const n of g)t.set(n.id,n);const q=n=>{const l=t.get(n);l&&l.parentId&&(r.add(l.parentId),q(l.parentId))};if(!f){const n=[...r];for(const l of n)q(l)}for(const n of g)(r.has(n.id)||s(n))&&e.set(n.id,u(n))}else for(const r of g)e.set(r.id,u(r));if(a.length){const r=new Map;return e.forEach((t,q)=>{const n=t.path;console.log(n);const l=i.includes(n);(i.some(Ve=>n.startsWith(Ve+"/"))||l&&(!p||f))&&r.set(q,u(t))}),r}return e},[g,G,se,a,p,U,f]),De=o.useMemo(()=>ie?ur.determineLoadingTaskFolders({expandedFoldersTasks:v,expandedParentIds:P,foldersMap:M}):{},[ie,v,P,M]),[oe,Be]=o.useState("");o.useEffect(()=>{oe&&Be("")},[X,oe]);const L={...X[0]},b=L?.id==="name"&&!c?"path":L?.id==="subType"?"taskType":L?.id,Oe=a.length?Array.from(new Set([...M.keys(),...p?a:[]])):void 0,E=c&&p&&a.length?a:void 0,ae={projectName:T,filter:d.filterString,folderFilter:y.filterString,search:d.search,folderIds:h?.length?void 0:E??(a.length?a:void 0),taskIds:h?.length?h:void 0,sortBy:b?b.replace("_","."):void 0,desc:!!L?.desc,showComments:C,includeFolderChildren:!E},{data:J,isLoading:Ae,error:xe,fetchNextPage:Ce,hasNextPage:Fe,isFetchingNextPage:Ne,isUninitialized:_e}=A.useGetTasksListInfiniteInfiniteQuery(ae,{skip:I||(c&&!E||f)&&!h?.length,initialPageParam:{cursor:"",desc:!!L?.desc}}),z=o.useMemo(()=>J?.pages?J.pages.flatMap(e=>e.tasks||[]):[],[J?.pages]),{pageCounts:de,incrementPageCount:Re}=nr.useGroupedPagination({groups:x}),ce=rr.getGroupByDataType(k,Ie),fe=o.useMemo(()=>Object.entries(m).filter(([,e])=>e).filter(([e])=>K.isGroupId(e)).map(([e])=>e.slice(K.GROUP_BY_ID.length)),[m]),le=o.useMemo(()=>k?tr.getGroupQueries({groups:x,filters:d.filter,groupBy:k,groupPageCounts:de,dataType:ce}).filter(i=>fe.includes(i.value)):[],[k,x,de,ce,d.filter,fe]),ge={projectName:T,groups:le,sortBy:b?b.replace("_","."):void 0,desc:!!L?.desc,search:d.search,folderFilter:y.filterString,folderIds:Oe,groupCount:me,showComments:C},{data:{tasks:pe=[]}={},isUninitialized:We,error:Ye}=A.useGetGroupedTasksListQuery(ge,{skip:I||!k||!le.length||w}),Q=o.useMemo(()=>h?.length?z:f?v:c?E?[...v,...z]:v:k?pe:z,[h,c,E,f,k,z,v,pe]),D=o.useMemo(()=>new Set(Q.map(e=>e.id)),[Q]),he={projectName:T,entityIds:Array.from(D),entityType:"task"},{data:B=[],isUninitialized:Je,isFetching:ke}=ye.useGetEntityLinksQuery(he,{skip:I||D.size===0||S}),Ke=o.useMemo(()=>{const e=new Set;if(qe&&!S){const i=new Set(U.map(s=>s.id));for(const s of Y)i.has(s)||e.add(s)}if(ke&&!S){const i=new Set(B.map(s=>s.id));for(const s of D)i.has(s)||e.add(s)}return e},[qe,ke,U,B,Y,D,S]),Xe=e=>{k?e&&Re(e):Fe&&Ce()},{tasksMap:Ze,tasksByFolderMap:O}=o.useMemo(()=>{const e=new Map,i=new Map,s=u=>({...u,entityId:u.id,entityType:"task",links:B?.find(r=>r.id===u.id)?.links||[]});for(const u of Q){const r=u.id,t=u.folderId;if(e.has(r)){const q=e.get(r),n=s(u),l={...q,...n,groups:[...q.groups||[],...n.groups||[]]};e.set(r,l)}else e.set(r,s(u));if(i.has(t)){const q=i.get(t);q.includes(r)||q.push(r)}else i.set(t,[r])}return{tasksMap:e,tasksByFolderMap:i}},[Q,B]),$e=o.useMemo(()=>{if(!h?.length||!O.size)return M;const e=new Set;for(const u of O.keys())e.add(u);const i=u=>{const r=M.get(u);if(r&&r.parentId){const t=r.parentId;e.has(t)||(e.add(t),i(t))}};for(const u of e)i(u);const s=new Map;for(const[u,r]of M)e.has(u)&&s.set(u,r);return s},[M,O,h]),je=async(e=[])=>{const i=e.length===0,s=e.some(t=>t.topic.startsWith("entity.folder.")),u=e.some(t=>t.topic.startsWith("entity.task.")),r=[];(i||s)&&!Ee&&r.push({endpointName:"getFolderList",args:{projectName:T,attrib:!0}}),(i||s||u)&&!be&&r.push({endpointName:"getSearchFolders",args:te}),(i||u)&&!Ge&&r.push({endpointName:"getOverviewTasksByFolders",args:re}),(i||u)&&!_e&&r.push({endpointName:"getTasksListInfinite",args:ae}),(i||u)&&!We&&r.push({endpointName:"getGroupedTasksList",args:ge}),(i||s)&&!ve&&Z&&r.push({endpointName:"GetFolderColumnStats",args:Z}),(i||u)&&!Le&&$&&r.push({endpointName:"GetTaskColumnStats",args:$}),(i||s)&&!Qe&&r.push({endpointName:"getEntityLinks",args:ne}),(i||u)&&!Je&&r.push({endpointName:"getEntityLinks",args:he}),await Promise.all(r.map(({endpointName:t,args:q})=>j(Te.refreshActiveAndPurgeOthers(t,q,{refreshOtherActiveQueries:!1})).unwrap())),r.map(({endpointName:t,args:q})=>j(Te.refreshOtherActiveQueries(t,q)))},we=xe||ze||Ye,He=o.useMemo(()=>{if(W&&F)return{label:"Collapse all folders",icon:"restart_alt",callback:F}},[W,F]);return{foldersMap:$e,tasksMap:Ze,tasksByFolderMap:O,error:we,softError:W?.error,softErrorAction:He,isLoadingAll:I||Se||Ae||Ue||w,isLoadingMore:Ne,loadingTasks:De,loadingLinksEntityIds:Ke,fetchNextPage:Xe,onSyncData:je}};exports.useFetchOverviewData=or;
2
2
  //# sourceMappingURL=useFetchOverviewData.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n GetTasksListArgs,\n EntityGroup,\n QueryFilter,\n} from '@shared/api'\nimport { useGroupedPagination } from '@shared/hooks'\nimport { getGroupByDataType } from '@shared/util'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks, SoftErrorAction } from '../types'\nimport { getFolderIdsToQueryFromExpanded, TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId, GROUP_BY_ID } from '../hooks/useBuildGroupByTableData'\nimport { getGroupQueries } from '../utils/getGroupQueries'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { OnSyncDataCallback, useProjectFoldersContext } from '@shared/context'\nimport { debounce } from 'lodash'\nimport { refreshActiveAndPurgeOthers, refreshOtherActiveQueries } from '@shared/api'\nimport type { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\n// how long a folder must stay rendered in the viewport before its tasks are fetched.\n// prevents firing a request per folder while the user is quickly scrolling past them.\nconst VISIBLE_FOLDERS_DEBOUNCE_MS = 300\n\ntype QueryFilterParams = {\n filter: QueryFilter | undefined\n filterString?: string\n search?: string\n}\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n error?: unknown // first task/folder load failure (e.g. corrupt filter), if any\n softError?: string // error for fetching tasks for expanded folders, if any\n softErrorAction?: SoftErrorAction\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n loadingLinksEntityIds: Set<string> // entity IDs whose links are currently being fetched (not yet cached)\n fetchNextPage: (value?: string) => void\n onSyncData: OnSyncDataCallback\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n excludeSelectedFolders?: boolean\n taskIds?: string[] // specific task IDs to filter by (from entity list slicer)\n taskFilters: QueryFilterParams // filters for tasks\n folderFilters: QueryFilterParams // filters for folders\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n taskGroupsCount?: number // override for number of items per group\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n skipLinks?: boolean\n showComments?: boolean // only fetch latestComments when the comments column is visible\n isLoadingViews?: boolean\n onCollapseAll?: () => void\n // entity ids currently rendered in the table's viewport (hierarchy mode only) - used to\n // scope task fetching to folders actually on screen, rather than every expanded folder\n visibleEntityIds?: string[]\n folderStatsArgs?: unknown\n taskStatsArgs?: unknown\n folderStatsUninitialized?: boolean\n taskStatsUninitialized?: boolean\n dispatch: ThunkDispatch<any, any, UnknownAction>\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n excludeSelectedFolders = false,\n taskIds, // specific task IDs from entity list slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n taskGroupsCount,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n attribFields,\n modules,\n skipLinks,\n showComments = false,\n isLoadingViews = false,\n onCollapseAll,\n visibleEntityIds = [],\n folderStatsArgs,\n taskStatsArgs,\n folderStatsUninitialized,\n taskStatsUninitialized,\n dispatch,\n}: Params): useFetchOverviewDataData => {\n const { isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n getFolderById,\n } = useProjectFoldersContext()\n\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const expandedFolderIdsToQuery = useMemo(\n () =>\n getFolderIdsToQueryFromExpanded({\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n }),\n [\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n ],\n )\n\n // Debounce the rendered viewport rows so fast scrolling doesn't fire a new\n // request for every folder scrolled past - only once it's settled on screen.\n const [debouncedVisibleEntityIds, setDebouncedVisibleEntityIds] =\n useState<string[]>(visibleEntityIds)\n\n const debouncedSetVisible = useMemo(\n () =>\n debounce((ids: string[]) => setDebouncedVisibleEntityIds(ids), VISIBLE_FOLDERS_DEBOUNCE_MS),\n [],\n )\n\n useEffect(() => {\n debouncedSetVisible(visibleEntityIds)\n return () => debouncedSetVisible.cancel()\n }, [visibleEntityIds, debouncedSetVisible])\n\n // In hierarchy mode, only fetch tasks for expanded folders that are currently\n // rendered in the viewport, instead of every expanded folder in the tree.\n // Not applied to flat folder view: rows there are top-level folders, not\n // nested paths, so there's no \"off screen ancestor\" case to guard against,\n // and filtering there would delay every row's expand-to-reveal-tasks interaction.\n const visibleFolderIdsToQuery = useMemo(() => {\n if (!showHierarchy || isFlatFolderView) {\n return expandedFolderIdsToQuery\n }\n const visibleIdsSet = new Set(debouncedVisibleEntityIds)\n return expandedFolderIdsToQuery.filter((id) => visibleIdsSet.has(id))\n }, [expandedFolderIdsToQuery, showHierarchy, isFlatFolderView, debouncedVisibleEntityIds])\n\n const expandedFoldersTasksArgs = {\n projectName,\n parentIds: visibleFolderIdsToQuery,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n showComments,\n }\n\n // QUERY\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n error: expandedFoldersTasksError,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(expandedFoldersTasksArgs, {\n skip:\n isLoadingViews || !visibleFolderIdsToQuery.length || (!showHierarchy && !isFlatFolderView),\n })\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n (!showHierarchy && !isFlatFolderView)\n\n const searchFoldersArgs = {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n search: taskFilters.search,\n },\n }\n\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isLoading: isLoadingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n error: searchFoldersError,\n } = useGetSearchFoldersQuery(searchFoldersArgs, {\n skip: isLoadingViews || skipFoldersByTaskFilter,\n })\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isRootFromSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [\n folders,\n foldersByTaskFilter,\n skipFoldersByTaskFilter,\n expanded,\n selectedFolders,\n excludeSelectedFolders,\n ])\n\n const foldersLinksArgs = {\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder' as const,\n }\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n isUninitialized: isUninitializedFoldersLinks,\n isFetching: isFetchingFoldersLinks,\n } = useGetEntityLinksQuery(foldersLinksArgs, { skip: isLoadingViews || skipLinks })\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n const selectedPaths = selectedFolders\n .map((id) => folders.find((folder) => folder.id === id)?.path)\n .filter(Boolean) as string[]\n\n const isUnderSelectedFolder = (folder: FolderListItem) => {\n const folderPath = folder.path as string\n return selectedPaths.some(\n (selectedPath) => folderPath === selectedPath || folderPath.startsWith(selectedPath + '/'),\n )\n }\n console.log({ selectedPaths })\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // In flat folder view folders are shown as top-level rows — ancestors are\n // not needed and would bring in unrelated subtrees (e.g. showing the root\n // \"assets\" node which then exposes all its children).\n // In hierarchy mode ancestors ARE needed so the tree path is navigable.\n if (!isFlatFolderView) {\n const matchedIds = [...relevantFolderIds]\n for (const folderId of matchedIds) {\n addParents(folderId)\n }\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string) || isUnderSelectedFolder(folder)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n console.log(folderPath)\n\n const isSelected = selectedPaths.includes(folderPath)\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isChild || (isSelected && (!excludeSelectedFolders || isFlatFolderView))) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [\n folders,\n foldersByTaskFilter,\n isUninitialized,\n selectedFolders,\n excludeSelectedFolders,\n foldersLinks,\n isFlatFolderView,\n ])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length\n ? Array.from(\n new Set([...foldersMap.keys(), ...(excludeSelectedFolders ? selectedFolders : [])]),\n )\n : undefined\n\n // In hierarchy mode with slicer-selected folders, use GetTasksList with folderIds to fetch\n // tasks directly under those folders in a single paginated request, rather than firing one\n // request per folder via getOverviewTasksByFolders.\n const hierarchySlicerFolderIds =\n showHierarchy && excludeSelectedFolders && selectedFolders.length ? selectedFolders : undefined\n\n const tasksListArgs: GetTasksListArgs = {\n projectName,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n folderIds: taskIds?.length\n ? undefined\n : hierarchySlicerFolderIds ?? (selectedFolders.length ? selectedFolders : undefined),\n taskIds: taskIds?.length ? taskIds : undefined,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n showComments,\n includeFolderChildren: !hierarchySlicerFolderIds,\n }\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n error: tasksListError,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(tasksListArgs, {\n // Skip flat task list for flat folder view (tasks loaded on folder expand).\n // In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.\n // Always run it when entity list provides specific task IDs.\n skip:\n isLoadingViews ||\n (((showHierarchy && !hierarchySlicerFolderIds) || isFlatFolderView) && !taskIds?.length),\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n })\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const { pageCounts: groupPageCounts, incrementPageCount } = useGroupedPagination({\n groups: taskGroups,\n })\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n const groupByDataType = getGroupByDataType(groupBy, attribFields)\n\n // get expanded group values from the expanded state\n // group IDs are formatted as `_GROUP_<value>` so we extract the values\n const expandedGroupValues = useMemo(() => {\n return Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => isGroupId(id))\n .map(([id]) => id.slice(GROUP_BY_ID.length))\n }, [expanded])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n if (!groupBy) return []\n\n const allGroupQueries = getGroupQueries({\n groups: taskGroups,\n // @ts-expect-error: filter is the same\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\n dataType: groupByDataType,\n })\n\n // Only fetch tasks for groups that are expanded\n return allGroupQueries.filter((group) => expandedGroupValues.includes(group.value))\n }, [\n groupBy,\n taskGroups,\n groupPageCounts,\n groupByDataType,\n taskFilters.filter,\n expandedGroupValues,\n ])\n\n const groupTasksArgs: GetGroupedTasksListArgs = {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: taskFilters.search,\n folderFilter: folderFilters.filterString,\n folderIds: tasksFolderIdsParams,\n groupCount: taskGroupsCount,\n showComments,\n }\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isUninitialized: isUninitializedGroupedTasks,\n error: groupedTasksError,\n } = useGetGroupedTasksListQuery(groupTasksArgs, {\n skip: isLoadingViews || !groupBy || !groupQueries.length || isLoadingModules,\n })\n\n // Resolve which task source to use based on current mode\n // When entity list provides specific task IDs, use flat task list even in hierarchy mode\n const resolvedTasks = useMemo(() => {\n if (taskIds?.length) return tasksList\n if (isFlatFolderView) return expandedFoldersTasks\n if (showHierarchy) {\n // In hierarchy+slicer mode, merge per-folder expanded tasks with tasks fetched via\n // GetTasksList for the slicer-selected (but not displayed) folders.\n if (hierarchySlicerFolderIds) return [...expandedFoldersTasks, ...tasksList]\n return expandedFoldersTasks\n }\n if (groupBy) return groupTasks\n return tasksList\n }, [\n taskIds,\n showHierarchy,\n hierarchySlicerFolderIds,\n isFlatFolderView,\n groupBy,\n tasksList,\n expandedFoldersTasks,\n groupTasks,\n ])\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n return new Set(resolvedTasks.map((task) => task.id))\n }, [resolvedTasks])\n\n const tasksLinksArgs = {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task' as const,\n }\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n isUninitialized: isUninitializedTasksLinks,\n isFetching: isFetchingTasksLinks,\n } = useGetEntityLinksQuery(tasksLinksArgs, {\n skip: isLoadingViews || visibleTasks.size === 0 || skipLinks,\n })\n\n // Compute entity IDs whose links are currently loading (in query but not yet in the cache result)\n const loadingLinksEntityIds = useMemo(() => {\n const ids = new Set<string>()\n\n if (isFetchingFoldersLinks && !skipLinks) {\n const cachedIds = new Set(foldersLinks.map((l) => l.id))\n for (const id of visibleFolders) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n if (isFetchingTasksLinks && !skipLinks) {\n const cachedIds = new Set(tasksLinks.map((l) => l.id))\n for (const id of visibleTasks) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n return ids\n }, [\n isFetchingFoldersLinks,\n isFetchingTasksLinks,\n foldersLinks,\n tasksLinks,\n visibleFolders,\n visibleTasks,\n skipLinks,\n ])\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n // Ungrouped is never seeded into pageCounts, so don't gate on key presence\n if (group) {\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n for (const task of resolvedTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n // dedup like tasksMap — resolvedTasks can contain the same task twice\n // (overlapping infinite-query pages, or a task in multiple groups)\n const folderTaskIds = tasksByFolderMap.get(folderId)!\n if (!folderTaskIds.includes(taskId)) folderTaskIds.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [resolvedTasks, tasksLinks])\n\n // When entity list provides specific task IDs, filter folders to only those containing tasks\n const filteredFoldersMap: FolderNodeMap = useMemo(() => {\n if (!taskIds?.length || !tasksByFolderMap.size) return foldersMap\n\n const relevantFolderIds = new Set<string>()\n\n // Add all folders that contain selected tasks\n for (const folderId of tasksByFolderMap.keys()) {\n relevantFolderIds.add(folderId)\n }\n\n // Add parent folders for proper tree display\n const addParents = (folderId: string) => {\n const folder = foldersMap.get(folderId)\n if (folder && folder.parentId) {\n const parentId = folder.parentId as string\n if (!relevantFolderIds.has(parentId)) {\n relevantFolderIds.add(parentId)\n addParents(parentId)\n }\n }\n }\n\n for (const folderId of relevantFolderIds) {\n addParents(folderId)\n }\n\n const filtered = new Map() as FolderNodeMap\n for (const [id, folder] of foldersMap) {\n if (relevantFolderIds.has(id)) {\n filtered.set(id, folder)\n }\n }\n\n return filtered\n }, [foldersMap, tasksByFolderMap, taskIds])\n\n const onSyncData: OnSyncDataCallback = async (updates = []) => {\n const isFullSync = updates.length === 0\n const hasFolderUpdates = updates.some((update) => update.topic.startsWith('entity.folder.'))\n const hasTaskUpdates = updates.some((update) => update.topic.startsWith('entity.task.'))\n\n const queriesToRefresh: { endpointName: string; args: unknown }[] = []\n if ((isFullSync || hasFolderUpdates) && !isUninitializedFolders) {\n queriesToRefresh.push({\n endpointName: 'getFolderList',\n args: { projectName, attrib: true },\n })\n }\n if ((isFullSync || hasFolderUpdates || hasTaskUpdates) && !isUninitializedTasksFolders) {\n queriesToRefresh.push({ endpointName: 'getSearchFolders', args: searchFoldersArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedExpandedFoldersTasks) {\n queriesToRefresh.push({\n endpointName: 'getOverviewTasksByFolders',\n args: expandedFoldersTasksArgs,\n })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedTasksList) {\n queriesToRefresh.push({ endpointName: 'getTasksListInfinite', args: tasksListArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedGroupedTasks) {\n queriesToRefresh.push({ endpointName: 'getGroupedTasksList', args: groupTasksArgs })\n }\n if ((isFullSync || hasFolderUpdates) && !folderStatsUninitialized && folderStatsArgs) {\n queriesToRefresh.push({ endpointName: 'GetFolderColumnStats', args: folderStatsArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !taskStatsUninitialized && taskStatsArgs) {\n queriesToRefresh.push({ endpointName: 'GetTaskColumnStats', args: taskStatsArgs })\n }\n if ((isFullSync || hasFolderUpdates) && !isUninitializedFoldersLinks) {\n queriesToRefresh.push({ endpointName: 'getEntityLinks', args: foldersLinksArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedTasksLinks) {\n queriesToRefresh.push({ endpointName: 'getEntityLinks', args: tasksLinksArgs })\n }\n\n // refresh the active queries\n await Promise.all(\n queriesToRefresh.map(({ endpointName, args }) =>\n dispatch(\n refreshActiveAndPurgeOthers(endpointName, args, {\n refreshOtherActiveQueries: false,\n }),\n ).unwrap(),\n ),\n )\n\n // then later on refresh any other caches\n queriesToRefresh.map(({ endpointName, args }) =>\n dispatch(refreshOtherActiveQueries(endpointName, args)),\n )\n }\n\n const error = tasksListError || searchFoldersError || groupedTasksError\n\n const softErrorAction = useMemo<SoftErrorAction | undefined>(() => {\n if (expandedFoldersTasksError && onCollapseAll) {\n return {\n label: 'Collapse all folders',\n icon: 'restart_alt',\n callback: onCollapseAll,\n }\n }\n return undefined\n }, [expandedFoldersTasksError, onCollapseAll])\n\n return {\n foldersMap: filteredFoldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n error,\n // @ts-expect-error: softError is a string\n softError: expandedFoldersTasksError?.error, // this is separate as we should still show the folders table so the user can make changes\n softErrorAction,\n isLoadingAll:\n isLoadingViews ||\n isLoadingFolders ||\n isLoadingTasksList ||\n isLoadingTasksFolders ||\n isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n loadingLinksEntityIds,\n fetchNextPage: handleFetchNextPage,\n onSyncData,\n }\n}\n"],"names":["VISIBLE_FOLDERS_DEBOUNCE_MS","useFetchOverviewData","projectName","selectedFolders","excludeSelectedFolders","taskIds","taskFilters","folderFilters","sorting","groupBy","taskGroups","taskGroupsCount","expanded","showHierarchy","isFlatFolderView","attribFields","modules","skipLinks","showComments","isLoadingViews","onCollapseAll","visibleEntityIds","folderStatsArgs","taskStatsArgs","folderStatsUninitialized","taskStatsUninitialized","dispatch","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","getFolderById","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","expandedFolderIdsToQuery","useMemo","getFolderIdsToQueryFromExpanded","debouncedVisibleEntityIds","setDebouncedVisibleEntityIds","useState","debouncedSetVisible","debounce","ids","useEffect","visibleFolderIdsToQuery","visibleIdsSet","expandedFoldersTasksArgs","expandedFoldersTasks","isFetchingExpandedFoldersTasks","expandedFoldersTasksError","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","searchFoldersArgs","foldersByTaskFilter","isUninitialized","isLoadingTasksFolders","isUninitializedTasksFolders","searchFoldersError","useGetSearchFoldersQuery","visibleFolders","visibleSet","folder","parentId","isRootFromSlicer","foldersLinksArgs","foldersLinks","isUninitializedFoldersLinks","isFetchingFoldersLinks","useGetEntityLinksQuery","foldersMap","map","selectedPaths","isUnderSelectedFolder","folderPath","selectedPath","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","matchedIds","filteredMap","isSelected","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","singleSort","sortId","tasksFolderIdsParams","hierarchySlicerFolderIds","tasksListArgs","tasksListInfiniteData","isLoadingTasksList","tasksListError","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","expandedGroupValues","GROUP_BY_ID","groupQueries","getGroupQueries","group","groupTasksArgs","groupTasks","isUninitializedGroupedTasks","groupedTasksError","useGetGroupedTasksListQuery","resolvedTasks","visibleTasks","task","tasksLinksArgs","tasksLinks","isUninitializedTasksLinks","isFetchingTasksLinks","loadingLinksEntityIds","cachedIds","l","handleFetchNextPage","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask","folderTaskIds","filteredFoldersMap","filtered","onSyncData","updates","isFullSync","hasFolderUpdates","update","hasTaskUpdates","queriesToRefresh","endpointName","args","refreshActiveAndPurgeOthers","refreshOtherActiveQueries","error","softErrorAction"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n GetTasksListArgs,\n EntityGroup,\n QueryFilter,\n} from '@shared/api'\nimport { useGroupedPagination } from '@shared/hooks'\nimport { getGroupByDataType } from '@shared/util'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks, SoftErrorAction } from '../types'\nimport { getFolderIdsToQueryFromExpanded, TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId, GROUP_BY_ID } from '../hooks/useBuildGroupByTableData'\nimport { getGroupQueries } from '../utils/getGroupQueries'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { OnSyncDataCallback, useProjectFoldersContext } from '@shared/context'\nimport { debounce } from 'lodash'\nimport { refreshActiveAndPurgeOthers, refreshOtherActiveQueries } from '@shared/api'\nimport type { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\n// how long a folder must stay rendered in the viewport before its tasks are fetched.\n// prevents firing a request per folder while the user is quickly scrolling past them.\nconst VISIBLE_FOLDERS_DEBOUNCE_MS = 300\n\ntype QueryFilterParams = {\n filter: QueryFilter | undefined\n filterString?: string\n search?: string\n}\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n error?: unknown // first task/folder load failure (e.g. corrupt filter), if any\n softError?: string // error for fetching tasks for expanded folders, if any\n softErrorAction?: SoftErrorAction\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n loadingLinksEntityIds: Set<string> // entity IDs whose links are currently being fetched (not yet cached)\n fetchNextPage: (value?: string) => void\n onSyncData: OnSyncDataCallback\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n excludeSelectedFolders?: boolean\n taskIds?: string[] // specific task IDs to filter by (from entity list slicer)\n taskFilters: QueryFilterParams // filters for tasks\n folderFilters: QueryFilterParams // filters for folders\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n taskGroupsCount?: number // override for number of items per group\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n skipLinks?: boolean\n showComments?: boolean // only fetch latestComments when the comments column is visible\n isLoadingViews?: boolean\n onCollapseAll?: () => void\n // entity ids currently rendered in the table's viewport (hierarchy mode only) - used to\n // scope task fetching to folders actually on screen, rather than every expanded folder\n visibleEntityIds?: string[]\n folderStatsArgs?: unknown\n taskStatsArgs?: unknown\n folderStatsUninitialized?: boolean\n taskStatsUninitialized?: boolean\n dispatch: ThunkDispatch<any, any, UnknownAction>\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n excludeSelectedFolders = false,\n taskIds, // specific task IDs from entity list slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n taskGroupsCount,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n attribFields,\n modules,\n skipLinks,\n showComments = false,\n isLoadingViews = false,\n onCollapseAll,\n visibleEntityIds = [],\n folderStatsArgs,\n taskStatsArgs,\n folderStatsUninitialized,\n taskStatsUninitialized,\n dispatch,\n}: Params): useFetchOverviewDataData => {\n const { isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n getFolderById,\n } = useProjectFoldersContext()\n\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const expandedFolderIdsToQuery = useMemo(\n () =>\n getFolderIdsToQueryFromExpanded({\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n }),\n [\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n ],\n )\n\n // Debounce the rendered viewport rows so fast scrolling doesn't fire a new\n // request for every folder scrolled past - only once it's settled on screen.\n const [debouncedVisibleEntityIds, setDebouncedVisibleEntityIds] =\n useState<string[]>(visibleEntityIds)\n\n const debouncedSetVisible = useMemo(\n () =>\n debounce((ids: string[]) => setDebouncedVisibleEntityIds(ids), VISIBLE_FOLDERS_DEBOUNCE_MS),\n [],\n )\n\n useEffect(() => {\n debouncedSetVisible(visibleEntityIds)\n return () => debouncedSetVisible.cancel()\n }, [visibleEntityIds, debouncedSetVisible])\n\n // In hierarchy mode, only fetch tasks for expanded folders that are currently\n // rendered in the viewport, instead of every expanded folder in the tree.\n // Not applied to flat folder view: rows there are top-level folders, not\n // nested paths, so there's no \"off screen ancestor\" case to guard against,\n // and filtering there would delay every row's expand-to-reveal-tasks interaction.\n const visibleFolderIdsToQuery = useMemo(() => {\n if (!showHierarchy || isFlatFolderView) {\n return expandedFolderIdsToQuery\n }\n const visibleIdsSet = new Set(debouncedVisibleEntityIds)\n return expandedFolderIdsToQuery.filter((id) => visibleIdsSet.has(id))\n }, [expandedFolderIdsToQuery, showHierarchy, isFlatFolderView, debouncedVisibleEntityIds])\n\n const expandedFoldersTasksArgs = {\n projectName,\n parentIds: visibleFolderIdsToQuery,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n showComments,\n }\n\n // QUERY\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n error: expandedFoldersTasksError,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(expandedFoldersTasksArgs, {\n skip:\n isLoadingViews || !visibleFolderIdsToQuery.length || (!showHierarchy && !isFlatFolderView),\n })\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n (!showHierarchy && !isFlatFolderView)\n\n const searchFoldersArgs = {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n search: taskFilters.search,\n },\n }\n\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isLoading: isLoadingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n error: searchFoldersError,\n } = useGetSearchFoldersQuery(searchFoldersArgs, {\n skip: isLoadingViews || skipFoldersByTaskFilter,\n })\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isRootFromSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [\n folders,\n foldersByTaskFilter,\n skipFoldersByTaskFilter,\n expanded,\n selectedFolders,\n excludeSelectedFolders,\n ])\n\n const foldersLinksArgs = {\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder' as const,\n }\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n isUninitialized: isUninitializedFoldersLinks,\n isFetching: isFetchingFoldersLinks,\n } = useGetEntityLinksQuery(foldersLinksArgs, { skip: isLoadingViews || skipLinks })\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n const selectedPaths = selectedFolders\n .map((id) => folders.find((folder) => folder.id === id)?.path)\n .filter(Boolean) as string[]\n\n const isUnderSelectedFolder = (folder: FolderListItem) => {\n const folderPath = folder.path as string\n return selectedPaths.some(\n (selectedPath) => folderPath === selectedPath || folderPath.startsWith(selectedPath + '/'),\n )\n }\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // In flat folder view folders are shown as top-level rows — ancestors are\n // not needed and would bring in unrelated subtrees (e.g. showing the root\n // \"assets\" node which then exposes all its children).\n // In hierarchy mode ancestors ARE needed so the tree path is navigable.\n if (!isFlatFolderView) {\n const matchedIds = [...relevantFolderIds]\n for (const folderId of matchedIds) {\n addParents(folderId)\n }\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string) || isUnderSelectedFolder(folder)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n console.log(folderPath)\n\n const isSelected = selectedPaths.includes(folderPath)\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isChild || (isSelected && (!excludeSelectedFolders || isFlatFolderView))) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [\n folders,\n foldersByTaskFilter,\n isUninitialized,\n selectedFolders,\n excludeSelectedFolders,\n foldersLinks,\n isFlatFolderView,\n ])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length\n ? Array.from(\n new Set([...foldersMap.keys(), ...(excludeSelectedFolders ? selectedFolders : [])]),\n )\n : undefined\n\n // In hierarchy mode with slicer-selected folders, use GetTasksList with folderIds to fetch\n // tasks directly under those folders in a single paginated request, rather than firing one\n // request per folder via getOverviewTasksByFolders.\n const hierarchySlicerFolderIds =\n showHierarchy && excludeSelectedFolders && selectedFolders.length ? selectedFolders : undefined\n\n const tasksListArgs: GetTasksListArgs = {\n projectName,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n folderIds: taskIds?.length\n ? undefined\n : hierarchySlicerFolderIds ?? (selectedFolders.length ? selectedFolders : undefined),\n taskIds: taskIds?.length ? taskIds : undefined,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n showComments,\n includeFolderChildren: !hierarchySlicerFolderIds,\n }\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n error: tasksListError,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(tasksListArgs, {\n // Skip flat task list for flat folder view (tasks loaded on folder expand).\n // In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.\n // Always run it when entity list provides specific task IDs.\n skip:\n isLoadingViews ||\n (((showHierarchy && !hierarchySlicerFolderIds) || isFlatFolderView) && !taskIds?.length),\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n })\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const { pageCounts: groupPageCounts, incrementPageCount } = useGroupedPagination({\n groups: taskGroups,\n })\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n const groupByDataType = getGroupByDataType(groupBy, attribFields)\n\n // get expanded group values from the expanded state\n // group IDs are formatted as `_GROUP_<value>` so we extract the values\n const expandedGroupValues = useMemo(() => {\n return Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => isGroupId(id))\n .map(([id]) => id.slice(GROUP_BY_ID.length))\n }, [expanded])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n if (!groupBy) return []\n\n const allGroupQueries = getGroupQueries({\n groups: taskGroups,\n // @ts-expect-error: filter is the same\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\n dataType: groupByDataType,\n })\n\n // Only fetch tasks for groups that are expanded\n return allGroupQueries.filter((group) => expandedGroupValues.includes(group.value))\n }, [\n groupBy,\n taskGroups,\n groupPageCounts,\n groupByDataType,\n taskFilters.filter,\n expandedGroupValues,\n ])\n\n const groupTasksArgs: GetGroupedTasksListArgs = {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: taskFilters.search,\n folderFilter: folderFilters.filterString,\n folderIds: tasksFolderIdsParams,\n groupCount: taskGroupsCount,\n showComments,\n }\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isUninitialized: isUninitializedGroupedTasks,\n error: groupedTasksError,\n } = useGetGroupedTasksListQuery(groupTasksArgs, {\n skip: isLoadingViews || !groupBy || !groupQueries.length || isLoadingModules,\n })\n\n // Resolve which task source to use based on current mode\n // When entity list provides specific task IDs, use flat task list even in hierarchy mode\n const resolvedTasks = useMemo(() => {\n if (taskIds?.length) return tasksList\n if (isFlatFolderView) return expandedFoldersTasks\n if (showHierarchy) {\n // In hierarchy+slicer mode, merge per-folder expanded tasks with tasks fetched via\n // GetTasksList for the slicer-selected (but not displayed) folders.\n if (hierarchySlicerFolderIds) return [...expandedFoldersTasks, ...tasksList]\n return expandedFoldersTasks\n }\n if (groupBy) return groupTasks\n return tasksList\n }, [\n taskIds,\n showHierarchy,\n hierarchySlicerFolderIds,\n isFlatFolderView,\n groupBy,\n tasksList,\n expandedFoldersTasks,\n groupTasks,\n ])\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n return new Set(resolvedTasks.map((task) => task.id))\n }, [resolvedTasks])\n\n const tasksLinksArgs = {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task' as const,\n }\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n isUninitialized: isUninitializedTasksLinks,\n isFetching: isFetchingTasksLinks,\n } = useGetEntityLinksQuery(tasksLinksArgs, {\n skip: isLoadingViews || visibleTasks.size === 0 || skipLinks,\n })\n\n // Compute entity IDs whose links are currently loading (in query but not yet in the cache result)\n const loadingLinksEntityIds = useMemo(() => {\n const ids = new Set<string>()\n\n if (isFetchingFoldersLinks && !skipLinks) {\n const cachedIds = new Set(foldersLinks.map((l) => l.id))\n for (const id of visibleFolders) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n if (isFetchingTasksLinks && !skipLinks) {\n const cachedIds = new Set(tasksLinks.map((l) => l.id))\n for (const id of visibleTasks) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n return ids\n }, [\n isFetchingFoldersLinks,\n isFetchingTasksLinks,\n foldersLinks,\n tasksLinks,\n visibleFolders,\n visibleTasks,\n skipLinks,\n ])\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n // Ungrouped is never seeded into pageCounts, so don't gate on key presence\n if (group) {\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n for (const task of resolvedTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n // dedup like tasksMap — resolvedTasks can contain the same task twice\n // (overlapping infinite-query pages, or a task in multiple groups)\n const folderTaskIds = tasksByFolderMap.get(folderId)!\n if (!folderTaskIds.includes(taskId)) folderTaskIds.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [resolvedTasks, tasksLinks])\n\n // When entity list provides specific task IDs, filter folders to only those containing tasks\n const filteredFoldersMap: FolderNodeMap = useMemo(() => {\n if (!taskIds?.length || !tasksByFolderMap.size) return foldersMap\n\n const relevantFolderIds = new Set<string>()\n\n // Add all folders that contain selected tasks\n for (const folderId of tasksByFolderMap.keys()) {\n relevantFolderIds.add(folderId)\n }\n\n // Add parent folders for proper tree display\n const addParents = (folderId: string) => {\n const folder = foldersMap.get(folderId)\n if (folder && folder.parentId) {\n const parentId = folder.parentId as string\n if (!relevantFolderIds.has(parentId)) {\n relevantFolderIds.add(parentId)\n addParents(parentId)\n }\n }\n }\n\n for (const folderId of relevantFolderIds) {\n addParents(folderId)\n }\n\n const filtered = new Map() as FolderNodeMap\n for (const [id, folder] of foldersMap) {\n if (relevantFolderIds.has(id)) {\n filtered.set(id, folder)\n }\n }\n\n return filtered\n }, [foldersMap, tasksByFolderMap, taskIds])\n\n const onSyncData: OnSyncDataCallback = async (updates = []) => {\n const isFullSync = updates.length === 0\n const hasFolderUpdates = updates.some((update) => update.topic.startsWith('entity.folder.'))\n const hasTaskUpdates = updates.some((update) => update.topic.startsWith('entity.task.'))\n\n const queriesToRefresh: { endpointName: string; args: unknown }[] = []\n if ((isFullSync || hasFolderUpdates) && !isUninitializedFolders) {\n queriesToRefresh.push({\n endpointName: 'getFolderList',\n args: { projectName, attrib: true },\n })\n }\n if ((isFullSync || hasFolderUpdates || hasTaskUpdates) && !isUninitializedTasksFolders) {\n queriesToRefresh.push({ endpointName: 'getSearchFolders', args: searchFoldersArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedExpandedFoldersTasks) {\n queriesToRefresh.push({\n endpointName: 'getOverviewTasksByFolders',\n args: expandedFoldersTasksArgs,\n })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedTasksList) {\n queriesToRefresh.push({ endpointName: 'getTasksListInfinite', args: tasksListArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedGroupedTasks) {\n queriesToRefresh.push({ endpointName: 'getGroupedTasksList', args: groupTasksArgs })\n }\n if ((isFullSync || hasFolderUpdates) && !folderStatsUninitialized && folderStatsArgs) {\n queriesToRefresh.push({ endpointName: 'GetFolderColumnStats', args: folderStatsArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !taskStatsUninitialized && taskStatsArgs) {\n queriesToRefresh.push({ endpointName: 'GetTaskColumnStats', args: taskStatsArgs })\n }\n if ((isFullSync || hasFolderUpdates) && !isUninitializedFoldersLinks) {\n queriesToRefresh.push({ endpointName: 'getEntityLinks', args: foldersLinksArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedTasksLinks) {\n queriesToRefresh.push({ endpointName: 'getEntityLinks', args: tasksLinksArgs })\n }\n\n // refresh the active queries\n await Promise.all(\n queriesToRefresh.map(({ endpointName, args }) =>\n dispatch(\n refreshActiveAndPurgeOthers(endpointName, args, {\n refreshOtherActiveQueries: false,\n }),\n ).unwrap(),\n ),\n )\n\n // then later on refresh any other caches\n queriesToRefresh.map(({ endpointName, args }) =>\n dispatch(refreshOtherActiveQueries(endpointName, args)),\n )\n }\n\n const error = tasksListError || searchFoldersError || groupedTasksError\n\n const softErrorAction = useMemo<SoftErrorAction | undefined>(() => {\n if (expandedFoldersTasksError && onCollapseAll) {\n return {\n label: 'Collapse all folders',\n icon: 'restart_alt',\n callback: onCollapseAll,\n }\n }\n return undefined\n }, [expandedFoldersTasksError, onCollapseAll])\n\n return {\n foldersMap: filteredFoldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n error,\n // @ts-expect-error: softError is a string\n softError: expandedFoldersTasksError?.error, // this is separate as we should still show the folders table so the user can make changes\n softErrorAction,\n isLoadingAll:\n isLoadingViews ||\n isLoadingFolders ||\n isLoadingTasksList ||\n isLoadingTasksFolders ||\n isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n loadingLinksEntityIds,\n fetchNextPage: handleFetchNextPage,\n onSyncData,\n }\n}\n"],"names":["VISIBLE_FOLDERS_DEBOUNCE_MS","useFetchOverviewData","projectName","selectedFolders","excludeSelectedFolders","taskIds","taskFilters","folderFilters","sorting","groupBy","taskGroups","taskGroupsCount","expanded","showHierarchy","isFlatFolderView","attribFields","modules","skipLinks","showComments","isLoadingViews","onCollapseAll","visibleEntityIds","folderStatsArgs","taskStatsArgs","folderStatsUninitialized","taskStatsUninitialized","dispatch","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","getFolderById","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","expandedFolderIdsToQuery","useMemo","getFolderIdsToQueryFromExpanded","debouncedVisibleEntityIds","setDebouncedVisibleEntityIds","useState","debouncedSetVisible","debounce","ids","useEffect","visibleFolderIdsToQuery","visibleIdsSet","expandedFoldersTasksArgs","expandedFoldersTasks","isFetchingExpandedFoldersTasks","expandedFoldersTasksError","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","searchFoldersArgs","foldersByTaskFilter","isUninitialized","isLoadingTasksFolders","isUninitializedTasksFolders","searchFoldersError","useGetSearchFoldersQuery","visibleFolders","visibleSet","folder","parentId","isRootFromSlicer","foldersLinksArgs","foldersLinks","isUninitializedFoldersLinks","isFetchingFoldersLinks","useGetEntityLinksQuery","foldersMap","map","selectedPaths","isUnderSelectedFolder","folderPath","selectedPath","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","matchedIds","filteredMap","isSelected","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","singleSort","sortId","tasksFolderIdsParams","hierarchySlicerFolderIds","tasksListArgs","tasksListInfiniteData","isLoadingTasksList","tasksListError","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","expandedGroupValues","GROUP_BY_ID","groupQueries","getGroupQueries","group","groupTasksArgs","groupTasks","isUninitializedGroupedTasks","groupedTasksError","useGetGroupedTasksListQuery","resolvedTasks","visibleTasks","task","tasksLinksArgs","tasksLinks","isUninitializedTasksLinks","isFetchingTasksLinks","loadingLinksEntityIds","cachedIds","l","handleFetchNextPage","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask","folderTaskIds","filteredFoldersMap","filtered","onSyncData","updates","isFullSync","hasFolderUpdates","update","hasTaskUpdates","queriesToRefresh","endpointName","args","refreshActiveAndPurgeOthers","refreshOtherActiveQueries","error","softErrorAction"],"mappings":"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"}
@@ -423,9 +423,7 @@ const ui = 300, Hm = ({
423
423
  return r.some(
424
424
  (e) => p === e || p.startsWith(e + "/")
425
425
  );
426
- };
427
- console.log({ selectedPaths: r });
428
- const o = (i) => ({
426
+ }, o = (i) => ({
429
427
  ...i,
430
428
  entityId: i.id,
431
429
  entityType: "folder",
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchOverviewData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n GetTasksListArgs,\n EntityGroup,\n QueryFilter,\n} from '@shared/api'\nimport { useGroupedPagination } from '@shared/hooks'\nimport { getGroupByDataType } from '@shared/util'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks, SoftErrorAction } from '../types'\nimport { getFolderIdsToQueryFromExpanded, TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId, GROUP_BY_ID } from '../hooks/useBuildGroupByTableData'\nimport { getGroupQueries } from '../utils/getGroupQueries'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { OnSyncDataCallback, useProjectFoldersContext } from '@shared/context'\nimport { debounce } from 'lodash'\nimport { refreshActiveAndPurgeOthers, refreshOtherActiveQueries } from '@shared/api'\nimport type { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\n// how long a folder must stay rendered in the viewport before its tasks are fetched.\n// prevents firing a request per folder while the user is quickly scrolling past them.\nconst VISIBLE_FOLDERS_DEBOUNCE_MS = 300\n\ntype QueryFilterParams = {\n filter: QueryFilter | undefined\n filterString?: string\n search?: string\n}\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n error?: unknown // first task/folder load failure (e.g. corrupt filter), if any\n softError?: string // error for fetching tasks for expanded folders, if any\n softErrorAction?: SoftErrorAction\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n loadingLinksEntityIds: Set<string> // entity IDs whose links are currently being fetched (not yet cached)\n fetchNextPage: (value?: string) => void\n onSyncData: OnSyncDataCallback\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n excludeSelectedFolders?: boolean\n taskIds?: string[] // specific task IDs to filter by (from entity list slicer)\n taskFilters: QueryFilterParams // filters for tasks\n folderFilters: QueryFilterParams // filters for folders\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n taskGroupsCount?: number // override for number of items per group\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n skipLinks?: boolean\n showComments?: boolean // only fetch latestComments when the comments column is visible\n isLoadingViews?: boolean\n onCollapseAll?: () => void\n // entity ids currently rendered in the table's viewport (hierarchy mode only) - used to\n // scope task fetching to folders actually on screen, rather than every expanded folder\n visibleEntityIds?: string[]\n folderStatsArgs?: unknown\n taskStatsArgs?: unknown\n folderStatsUninitialized?: boolean\n taskStatsUninitialized?: boolean\n dispatch: ThunkDispatch<any, any, UnknownAction>\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n excludeSelectedFolders = false,\n taskIds, // specific task IDs from entity list slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n taskGroupsCount,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n attribFields,\n modules,\n skipLinks,\n showComments = false,\n isLoadingViews = false,\n onCollapseAll,\n visibleEntityIds = [],\n folderStatsArgs,\n taskStatsArgs,\n folderStatsUninitialized,\n taskStatsUninitialized,\n dispatch,\n}: Params): useFetchOverviewDataData => {\n const { isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n getFolderById,\n } = useProjectFoldersContext()\n\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const expandedFolderIdsToQuery = useMemo(\n () =>\n getFolderIdsToQueryFromExpanded({\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n }),\n [\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n ],\n )\n\n // Debounce the rendered viewport rows so fast scrolling doesn't fire a new\n // request for every folder scrolled past - only once it's settled on screen.\n const [debouncedVisibleEntityIds, setDebouncedVisibleEntityIds] =\n useState<string[]>(visibleEntityIds)\n\n const debouncedSetVisible = useMemo(\n () =>\n debounce((ids: string[]) => setDebouncedVisibleEntityIds(ids), VISIBLE_FOLDERS_DEBOUNCE_MS),\n [],\n )\n\n useEffect(() => {\n debouncedSetVisible(visibleEntityIds)\n return () => debouncedSetVisible.cancel()\n }, [visibleEntityIds, debouncedSetVisible])\n\n // In hierarchy mode, only fetch tasks for expanded folders that are currently\n // rendered in the viewport, instead of every expanded folder in the tree.\n // Not applied to flat folder view: rows there are top-level folders, not\n // nested paths, so there's no \"off screen ancestor\" case to guard against,\n // and filtering there would delay every row's expand-to-reveal-tasks interaction.\n const visibleFolderIdsToQuery = useMemo(() => {\n if (!showHierarchy || isFlatFolderView) {\n return expandedFolderIdsToQuery\n }\n const visibleIdsSet = new Set(debouncedVisibleEntityIds)\n return expandedFolderIdsToQuery.filter((id) => visibleIdsSet.has(id))\n }, [expandedFolderIdsToQuery, showHierarchy, isFlatFolderView, debouncedVisibleEntityIds])\n\n const expandedFoldersTasksArgs = {\n projectName,\n parentIds: visibleFolderIdsToQuery,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n showComments,\n }\n\n // QUERY\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n error: expandedFoldersTasksError,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(expandedFoldersTasksArgs, {\n skip:\n isLoadingViews || !visibleFolderIdsToQuery.length || (!showHierarchy && !isFlatFolderView),\n })\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n (!showHierarchy && !isFlatFolderView)\n\n const searchFoldersArgs = {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n search: taskFilters.search,\n },\n }\n\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isLoading: isLoadingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n error: searchFoldersError,\n } = useGetSearchFoldersQuery(searchFoldersArgs, {\n skip: isLoadingViews || skipFoldersByTaskFilter,\n })\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isRootFromSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [\n folders,\n foldersByTaskFilter,\n skipFoldersByTaskFilter,\n expanded,\n selectedFolders,\n excludeSelectedFolders,\n ])\n\n const foldersLinksArgs = {\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder' as const,\n }\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n isUninitialized: isUninitializedFoldersLinks,\n isFetching: isFetchingFoldersLinks,\n } = useGetEntityLinksQuery(foldersLinksArgs, { skip: isLoadingViews || skipLinks })\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n const selectedPaths = selectedFolders\n .map((id) => folders.find((folder) => folder.id === id)?.path)\n .filter(Boolean) as string[]\n\n const isUnderSelectedFolder = (folder: FolderListItem) => {\n const folderPath = folder.path as string\n return selectedPaths.some(\n (selectedPath) => folderPath === selectedPath || folderPath.startsWith(selectedPath + '/'),\n )\n }\n console.log({ selectedPaths })\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // In flat folder view folders are shown as top-level rows — ancestors are\n // not needed and would bring in unrelated subtrees (e.g. showing the root\n // \"assets\" node which then exposes all its children).\n // In hierarchy mode ancestors ARE needed so the tree path is navigable.\n if (!isFlatFolderView) {\n const matchedIds = [...relevantFolderIds]\n for (const folderId of matchedIds) {\n addParents(folderId)\n }\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string) || isUnderSelectedFolder(folder)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n console.log(folderPath)\n\n const isSelected = selectedPaths.includes(folderPath)\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isChild || (isSelected && (!excludeSelectedFolders || isFlatFolderView))) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [\n folders,\n foldersByTaskFilter,\n isUninitialized,\n selectedFolders,\n excludeSelectedFolders,\n foldersLinks,\n isFlatFolderView,\n ])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length\n ? Array.from(\n new Set([...foldersMap.keys(), ...(excludeSelectedFolders ? selectedFolders : [])]),\n )\n : undefined\n\n // In hierarchy mode with slicer-selected folders, use GetTasksList with folderIds to fetch\n // tasks directly under those folders in a single paginated request, rather than firing one\n // request per folder via getOverviewTasksByFolders.\n const hierarchySlicerFolderIds =\n showHierarchy && excludeSelectedFolders && selectedFolders.length ? selectedFolders : undefined\n\n const tasksListArgs: GetTasksListArgs = {\n projectName,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n folderIds: taskIds?.length\n ? undefined\n : hierarchySlicerFolderIds ?? (selectedFolders.length ? selectedFolders : undefined),\n taskIds: taskIds?.length ? taskIds : undefined,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n showComments,\n includeFolderChildren: !hierarchySlicerFolderIds,\n }\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n error: tasksListError,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(tasksListArgs, {\n // Skip flat task list for flat folder view (tasks loaded on folder expand).\n // In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.\n // Always run it when entity list provides specific task IDs.\n skip:\n isLoadingViews ||\n (((showHierarchy && !hierarchySlicerFolderIds) || isFlatFolderView) && !taskIds?.length),\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n })\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const { pageCounts: groupPageCounts, incrementPageCount } = useGroupedPagination({\n groups: taskGroups,\n })\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n const groupByDataType = getGroupByDataType(groupBy, attribFields)\n\n // get expanded group values from the expanded state\n // group IDs are formatted as `_GROUP_<value>` so we extract the values\n const expandedGroupValues = useMemo(() => {\n return Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => isGroupId(id))\n .map(([id]) => id.slice(GROUP_BY_ID.length))\n }, [expanded])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n if (!groupBy) return []\n\n const allGroupQueries = getGroupQueries({\n groups: taskGroups,\n // @ts-expect-error: filter is the same\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\n dataType: groupByDataType,\n })\n\n // Only fetch tasks for groups that are expanded\n return allGroupQueries.filter((group) => expandedGroupValues.includes(group.value))\n }, [\n groupBy,\n taskGroups,\n groupPageCounts,\n groupByDataType,\n taskFilters.filter,\n expandedGroupValues,\n ])\n\n const groupTasksArgs: GetGroupedTasksListArgs = {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: taskFilters.search,\n folderFilter: folderFilters.filterString,\n folderIds: tasksFolderIdsParams,\n groupCount: taskGroupsCount,\n showComments,\n }\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isUninitialized: isUninitializedGroupedTasks,\n error: groupedTasksError,\n } = useGetGroupedTasksListQuery(groupTasksArgs, {\n skip: isLoadingViews || !groupBy || !groupQueries.length || isLoadingModules,\n })\n\n // Resolve which task source to use based on current mode\n // When entity list provides specific task IDs, use flat task list even in hierarchy mode\n const resolvedTasks = useMemo(() => {\n if (taskIds?.length) return tasksList\n if (isFlatFolderView) return expandedFoldersTasks\n if (showHierarchy) {\n // In hierarchy+slicer mode, merge per-folder expanded tasks with tasks fetched via\n // GetTasksList for the slicer-selected (but not displayed) folders.\n if (hierarchySlicerFolderIds) return [...expandedFoldersTasks, ...tasksList]\n return expandedFoldersTasks\n }\n if (groupBy) return groupTasks\n return tasksList\n }, [\n taskIds,\n showHierarchy,\n hierarchySlicerFolderIds,\n isFlatFolderView,\n groupBy,\n tasksList,\n expandedFoldersTasks,\n groupTasks,\n ])\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n return new Set(resolvedTasks.map((task) => task.id))\n }, [resolvedTasks])\n\n const tasksLinksArgs = {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task' as const,\n }\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n isUninitialized: isUninitializedTasksLinks,\n isFetching: isFetchingTasksLinks,\n } = useGetEntityLinksQuery(tasksLinksArgs, {\n skip: isLoadingViews || visibleTasks.size === 0 || skipLinks,\n })\n\n // Compute entity IDs whose links are currently loading (in query but not yet in the cache result)\n const loadingLinksEntityIds = useMemo(() => {\n const ids = new Set<string>()\n\n if (isFetchingFoldersLinks && !skipLinks) {\n const cachedIds = new Set(foldersLinks.map((l) => l.id))\n for (const id of visibleFolders) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n if (isFetchingTasksLinks && !skipLinks) {\n const cachedIds = new Set(tasksLinks.map((l) => l.id))\n for (const id of visibleTasks) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n return ids\n }, [\n isFetchingFoldersLinks,\n isFetchingTasksLinks,\n foldersLinks,\n tasksLinks,\n visibleFolders,\n visibleTasks,\n skipLinks,\n ])\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n // Ungrouped is never seeded into pageCounts, so don't gate on key presence\n if (group) {\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n for (const task of resolvedTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n // dedup like tasksMap — resolvedTasks can contain the same task twice\n // (overlapping infinite-query pages, or a task in multiple groups)\n const folderTaskIds = tasksByFolderMap.get(folderId)!\n if (!folderTaskIds.includes(taskId)) folderTaskIds.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [resolvedTasks, tasksLinks])\n\n // When entity list provides specific task IDs, filter folders to only those containing tasks\n const filteredFoldersMap: FolderNodeMap = useMemo(() => {\n if (!taskIds?.length || !tasksByFolderMap.size) return foldersMap\n\n const relevantFolderIds = new Set<string>()\n\n // Add all folders that contain selected tasks\n for (const folderId of tasksByFolderMap.keys()) {\n relevantFolderIds.add(folderId)\n }\n\n // Add parent folders for proper tree display\n const addParents = (folderId: string) => {\n const folder = foldersMap.get(folderId)\n if (folder && folder.parentId) {\n const parentId = folder.parentId as string\n if (!relevantFolderIds.has(parentId)) {\n relevantFolderIds.add(parentId)\n addParents(parentId)\n }\n }\n }\n\n for (const folderId of relevantFolderIds) {\n addParents(folderId)\n }\n\n const filtered = new Map() as FolderNodeMap\n for (const [id, folder] of foldersMap) {\n if (relevantFolderIds.has(id)) {\n filtered.set(id, folder)\n }\n }\n\n return filtered\n }, [foldersMap, tasksByFolderMap, taskIds])\n\n const onSyncData: OnSyncDataCallback = async (updates = []) => {\n const isFullSync = updates.length === 0\n const hasFolderUpdates = updates.some((update) => update.topic.startsWith('entity.folder.'))\n const hasTaskUpdates = updates.some((update) => update.topic.startsWith('entity.task.'))\n\n const queriesToRefresh: { endpointName: string; args: unknown }[] = []\n if ((isFullSync || hasFolderUpdates) && !isUninitializedFolders) {\n queriesToRefresh.push({\n endpointName: 'getFolderList',\n args: { projectName, attrib: true },\n })\n }\n if ((isFullSync || hasFolderUpdates || hasTaskUpdates) && !isUninitializedTasksFolders) {\n queriesToRefresh.push({ endpointName: 'getSearchFolders', args: searchFoldersArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedExpandedFoldersTasks) {\n queriesToRefresh.push({\n endpointName: 'getOverviewTasksByFolders',\n args: expandedFoldersTasksArgs,\n })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedTasksList) {\n queriesToRefresh.push({ endpointName: 'getTasksListInfinite', args: tasksListArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedGroupedTasks) {\n queriesToRefresh.push({ endpointName: 'getGroupedTasksList', args: groupTasksArgs })\n }\n if ((isFullSync || hasFolderUpdates) && !folderStatsUninitialized && folderStatsArgs) {\n queriesToRefresh.push({ endpointName: 'GetFolderColumnStats', args: folderStatsArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !taskStatsUninitialized && taskStatsArgs) {\n queriesToRefresh.push({ endpointName: 'GetTaskColumnStats', args: taskStatsArgs })\n }\n if ((isFullSync || hasFolderUpdates) && !isUninitializedFoldersLinks) {\n queriesToRefresh.push({ endpointName: 'getEntityLinks', args: foldersLinksArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedTasksLinks) {\n queriesToRefresh.push({ endpointName: 'getEntityLinks', args: tasksLinksArgs })\n }\n\n // refresh the active queries\n await Promise.all(\n queriesToRefresh.map(({ endpointName, args }) =>\n dispatch(\n refreshActiveAndPurgeOthers(endpointName, args, {\n refreshOtherActiveQueries: false,\n }),\n ).unwrap(),\n ),\n )\n\n // then later on refresh any other caches\n queriesToRefresh.map(({ endpointName, args }) =>\n dispatch(refreshOtherActiveQueries(endpointName, args)),\n )\n }\n\n const error = tasksListError || searchFoldersError || groupedTasksError\n\n const softErrorAction = useMemo<SoftErrorAction | undefined>(() => {\n if (expandedFoldersTasksError && onCollapseAll) {\n return {\n label: 'Collapse all folders',\n icon: 'restart_alt',\n callback: onCollapseAll,\n }\n }\n return undefined\n }, [expandedFoldersTasksError, onCollapseAll])\n\n return {\n foldersMap: filteredFoldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n error,\n // @ts-expect-error: softError is a string\n softError: expandedFoldersTasksError?.error, // this is separate as we should still show the folders table so the user can make changes\n softErrorAction,\n isLoadingAll:\n isLoadingViews ||\n isLoadingFolders ||\n isLoadingTasksList ||\n isLoadingTasksFolders ||\n isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n loadingLinksEntityIds,\n fetchNextPage: handleFetchNextPage,\n onSyncData,\n }\n}\n"],"names":["VISIBLE_FOLDERS_DEBOUNCE_MS","useFetchOverviewData","projectName","selectedFolders","excludeSelectedFolders","taskIds","taskFilters","folderFilters","sorting","groupBy","taskGroups","taskGroupsCount","expanded","showHierarchy","isFlatFolderView","attribFields","modules","skipLinks","showComments","isLoadingViews","onCollapseAll","visibleEntityIds","folderStatsArgs","taskStatsArgs","folderStatsUninitialized","taskStatsUninitialized","dispatch","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","getFolderById","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","expandedFolderIdsToQuery","useMemo","getFolderIdsToQueryFromExpanded","debouncedVisibleEntityIds","setDebouncedVisibleEntityIds","useState","debouncedSetVisible","debounce","ids","useEffect","visibleFolderIdsToQuery","visibleIdsSet","expandedFoldersTasksArgs","expandedFoldersTasks","isFetchingExpandedFoldersTasks","expandedFoldersTasksError","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","searchFoldersArgs","foldersByTaskFilter","isUninitialized","isLoadingTasksFolders","isUninitializedTasksFolders","searchFoldersError","useGetSearchFoldersQuery","visibleFolders","visibleSet","folder","parentId","isRootFromSlicer","foldersLinksArgs","foldersLinks","isUninitializedFoldersLinks","isFetchingFoldersLinks","useGetEntityLinksQuery","foldersMap","map","selectedPaths","isUnderSelectedFolder","folderPath","selectedPath","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","matchedIds","filteredMap","isSelected","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","singleSort","sortId","tasksFolderIdsParams","hierarchySlicerFolderIds","tasksListArgs","tasksListInfiniteData","isLoadingTasksList","tasksListError","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","expandedGroupValues","GROUP_BY_ID","groupQueries","getGroupQueries","group","groupTasksArgs","groupTasks","isUninitializedGroupedTasks","groupedTasksError","useGetGroupedTasksListQuery","resolvedTasks","visibleTasks","task","tasksLinksArgs","tasksLinks","isUninitializedTasksLinks","isFetchingTasksLinks","loadingLinksEntityIds","cachedIds","l","handleFetchNextPage","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask","folderTaskIds","filteredFoldersMap","filtered","onSyncData","updates","isFullSync","hasFolderUpdates","update","hasTaskUpdates","queriesToRefresh","endpointName","args","refreshActiveAndPurgeOthers","refreshOtherActiveQueries","error","softErrorAction"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchOverviewData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n GetTasksListArgs,\n EntityGroup,\n QueryFilter,\n} from '@shared/api'\nimport { useGroupedPagination } from '@shared/hooks'\nimport { getGroupByDataType } from '@shared/util'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks, SoftErrorAction } from '../types'\nimport { getFolderIdsToQueryFromExpanded, TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId, GROUP_BY_ID } from '../hooks/useBuildGroupByTableData'\nimport { getGroupQueries } from '../utils/getGroupQueries'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { OnSyncDataCallback, useProjectFoldersContext } from '@shared/context'\nimport { debounce } from 'lodash'\nimport { refreshActiveAndPurgeOthers, refreshOtherActiveQueries } from '@shared/api'\nimport type { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\n// how long a folder must stay rendered in the viewport before its tasks are fetched.\n// prevents firing a request per folder while the user is quickly scrolling past them.\nconst VISIBLE_FOLDERS_DEBOUNCE_MS = 300\n\ntype QueryFilterParams = {\n filter: QueryFilter | undefined\n filterString?: string\n search?: string\n}\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n error?: unknown // first task/folder load failure (e.g. corrupt filter), if any\n softError?: string // error for fetching tasks for expanded folders, if any\n softErrorAction?: SoftErrorAction\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n loadingLinksEntityIds: Set<string> // entity IDs whose links are currently being fetched (not yet cached)\n fetchNextPage: (value?: string) => void\n onSyncData: OnSyncDataCallback\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n excludeSelectedFolders?: boolean\n taskIds?: string[] // specific task IDs to filter by (from entity list slicer)\n taskFilters: QueryFilterParams // filters for tasks\n folderFilters: QueryFilterParams // filters for folders\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n taskGroupsCount?: number // override for number of items per group\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n skipLinks?: boolean\n showComments?: boolean // only fetch latestComments when the comments column is visible\n isLoadingViews?: boolean\n onCollapseAll?: () => void\n // entity ids currently rendered in the table's viewport (hierarchy mode only) - used to\n // scope task fetching to folders actually on screen, rather than every expanded folder\n visibleEntityIds?: string[]\n folderStatsArgs?: unknown\n taskStatsArgs?: unknown\n folderStatsUninitialized?: boolean\n taskStatsUninitialized?: boolean\n dispatch: ThunkDispatch<any, any, UnknownAction>\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n excludeSelectedFolders = false,\n taskIds, // specific task IDs from entity list slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n taskGroupsCount,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n attribFields,\n modules,\n skipLinks,\n showComments = false,\n isLoadingViews = false,\n onCollapseAll,\n visibleEntityIds = [],\n folderStatsArgs,\n taskStatsArgs,\n folderStatsUninitialized,\n taskStatsUninitialized,\n dispatch,\n}: Params): useFetchOverviewDataData => {\n const { isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n getFolderById,\n } = useProjectFoldersContext()\n\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const expandedFolderIdsToQuery = useMemo(\n () =>\n getFolderIdsToQueryFromExpanded({\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n }),\n [\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n ],\n )\n\n // Debounce the rendered viewport rows so fast scrolling doesn't fire a new\n // request for every folder scrolled past - only once it's settled on screen.\n const [debouncedVisibleEntityIds, setDebouncedVisibleEntityIds] =\n useState<string[]>(visibleEntityIds)\n\n const debouncedSetVisible = useMemo(\n () =>\n debounce((ids: string[]) => setDebouncedVisibleEntityIds(ids), VISIBLE_FOLDERS_DEBOUNCE_MS),\n [],\n )\n\n useEffect(() => {\n debouncedSetVisible(visibleEntityIds)\n return () => debouncedSetVisible.cancel()\n }, [visibleEntityIds, debouncedSetVisible])\n\n // In hierarchy mode, only fetch tasks for expanded folders that are currently\n // rendered in the viewport, instead of every expanded folder in the tree.\n // Not applied to flat folder view: rows there are top-level folders, not\n // nested paths, so there's no \"off screen ancestor\" case to guard against,\n // and filtering there would delay every row's expand-to-reveal-tasks interaction.\n const visibleFolderIdsToQuery = useMemo(() => {\n if (!showHierarchy || isFlatFolderView) {\n return expandedFolderIdsToQuery\n }\n const visibleIdsSet = new Set(debouncedVisibleEntityIds)\n return expandedFolderIdsToQuery.filter((id) => visibleIdsSet.has(id))\n }, [expandedFolderIdsToQuery, showHierarchy, isFlatFolderView, debouncedVisibleEntityIds])\n\n const expandedFoldersTasksArgs = {\n projectName,\n parentIds: visibleFolderIdsToQuery,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n showComments,\n }\n\n // QUERY\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n error: expandedFoldersTasksError,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(expandedFoldersTasksArgs, {\n skip:\n isLoadingViews || !visibleFolderIdsToQuery.length || (!showHierarchy && !isFlatFolderView),\n })\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n (!showHierarchy && !isFlatFolderView)\n\n const searchFoldersArgs = {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n search: taskFilters.search,\n },\n }\n\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isLoading: isLoadingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n error: searchFoldersError,\n } = useGetSearchFoldersQuery(searchFoldersArgs, {\n skip: isLoadingViews || skipFoldersByTaskFilter,\n })\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isRootFromSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [\n folders,\n foldersByTaskFilter,\n skipFoldersByTaskFilter,\n expanded,\n selectedFolders,\n excludeSelectedFolders,\n ])\n\n const foldersLinksArgs = {\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder' as const,\n }\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n isUninitialized: isUninitializedFoldersLinks,\n isFetching: isFetchingFoldersLinks,\n } = useGetEntityLinksQuery(foldersLinksArgs, { skip: isLoadingViews || skipLinks })\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n const selectedPaths = selectedFolders\n .map((id) => folders.find((folder) => folder.id === id)?.path)\n .filter(Boolean) as string[]\n\n const isUnderSelectedFolder = (folder: FolderListItem) => {\n const folderPath = folder.path as string\n return selectedPaths.some(\n (selectedPath) => folderPath === selectedPath || folderPath.startsWith(selectedPath + '/'),\n )\n }\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // In flat folder view folders are shown as top-level rows — ancestors are\n // not needed and would bring in unrelated subtrees (e.g. showing the root\n // \"assets\" node which then exposes all its children).\n // In hierarchy mode ancestors ARE needed so the tree path is navigable.\n if (!isFlatFolderView) {\n const matchedIds = [...relevantFolderIds]\n for (const folderId of matchedIds) {\n addParents(folderId)\n }\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string) || isUnderSelectedFolder(folder)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n console.log(folderPath)\n\n const isSelected = selectedPaths.includes(folderPath)\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isChild || (isSelected && (!excludeSelectedFolders || isFlatFolderView))) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [\n folders,\n foldersByTaskFilter,\n isUninitialized,\n selectedFolders,\n excludeSelectedFolders,\n foldersLinks,\n isFlatFolderView,\n ])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length\n ? Array.from(\n new Set([...foldersMap.keys(), ...(excludeSelectedFolders ? selectedFolders : [])]),\n )\n : undefined\n\n // In hierarchy mode with slicer-selected folders, use GetTasksList with folderIds to fetch\n // tasks directly under those folders in a single paginated request, rather than firing one\n // request per folder via getOverviewTasksByFolders.\n const hierarchySlicerFolderIds =\n showHierarchy && excludeSelectedFolders && selectedFolders.length ? selectedFolders : undefined\n\n const tasksListArgs: GetTasksListArgs = {\n projectName,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n folderIds: taskIds?.length\n ? undefined\n : hierarchySlicerFolderIds ?? (selectedFolders.length ? selectedFolders : undefined),\n taskIds: taskIds?.length ? taskIds : undefined,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n showComments,\n includeFolderChildren: !hierarchySlicerFolderIds,\n }\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n error: tasksListError,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(tasksListArgs, {\n // Skip flat task list for flat folder view (tasks loaded on folder expand).\n // In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.\n // Always run it when entity list provides specific task IDs.\n skip:\n isLoadingViews ||\n (((showHierarchy && !hierarchySlicerFolderIds) || isFlatFolderView) && !taskIds?.length),\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n })\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const { pageCounts: groupPageCounts, incrementPageCount } = useGroupedPagination({\n groups: taskGroups,\n })\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n const groupByDataType = getGroupByDataType(groupBy, attribFields)\n\n // get expanded group values from the expanded state\n // group IDs are formatted as `_GROUP_<value>` so we extract the values\n const expandedGroupValues = useMemo(() => {\n return Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => isGroupId(id))\n .map(([id]) => id.slice(GROUP_BY_ID.length))\n }, [expanded])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n if (!groupBy) return []\n\n const allGroupQueries = getGroupQueries({\n groups: taskGroups,\n // @ts-expect-error: filter is the same\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\n dataType: groupByDataType,\n })\n\n // Only fetch tasks for groups that are expanded\n return allGroupQueries.filter((group) => expandedGroupValues.includes(group.value))\n }, [\n groupBy,\n taskGroups,\n groupPageCounts,\n groupByDataType,\n taskFilters.filter,\n expandedGroupValues,\n ])\n\n const groupTasksArgs: GetGroupedTasksListArgs = {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: taskFilters.search,\n folderFilter: folderFilters.filterString,\n folderIds: tasksFolderIdsParams,\n groupCount: taskGroupsCount,\n showComments,\n }\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isUninitialized: isUninitializedGroupedTasks,\n error: groupedTasksError,\n } = useGetGroupedTasksListQuery(groupTasksArgs, {\n skip: isLoadingViews || !groupBy || !groupQueries.length || isLoadingModules,\n })\n\n // Resolve which task source to use based on current mode\n // When entity list provides specific task IDs, use flat task list even in hierarchy mode\n const resolvedTasks = useMemo(() => {\n if (taskIds?.length) return tasksList\n if (isFlatFolderView) return expandedFoldersTasks\n if (showHierarchy) {\n // In hierarchy+slicer mode, merge per-folder expanded tasks with tasks fetched via\n // GetTasksList for the slicer-selected (but not displayed) folders.\n if (hierarchySlicerFolderIds) return [...expandedFoldersTasks, ...tasksList]\n return expandedFoldersTasks\n }\n if (groupBy) return groupTasks\n return tasksList\n }, [\n taskIds,\n showHierarchy,\n hierarchySlicerFolderIds,\n isFlatFolderView,\n groupBy,\n tasksList,\n expandedFoldersTasks,\n groupTasks,\n ])\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n return new Set(resolvedTasks.map((task) => task.id))\n }, [resolvedTasks])\n\n const tasksLinksArgs = {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task' as const,\n }\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n isUninitialized: isUninitializedTasksLinks,\n isFetching: isFetchingTasksLinks,\n } = useGetEntityLinksQuery(tasksLinksArgs, {\n skip: isLoadingViews || visibleTasks.size === 0 || skipLinks,\n })\n\n // Compute entity IDs whose links are currently loading (in query but not yet in the cache result)\n const loadingLinksEntityIds = useMemo(() => {\n const ids = new Set<string>()\n\n if (isFetchingFoldersLinks && !skipLinks) {\n const cachedIds = new Set(foldersLinks.map((l) => l.id))\n for (const id of visibleFolders) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n if (isFetchingTasksLinks && !skipLinks) {\n const cachedIds = new Set(tasksLinks.map((l) => l.id))\n for (const id of visibleTasks) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n return ids\n }, [\n isFetchingFoldersLinks,\n isFetchingTasksLinks,\n foldersLinks,\n tasksLinks,\n visibleFolders,\n visibleTasks,\n skipLinks,\n ])\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n // Ungrouped is never seeded into pageCounts, so don't gate on key presence\n if (group) {\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n for (const task of resolvedTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n // dedup like tasksMap — resolvedTasks can contain the same task twice\n // (overlapping infinite-query pages, or a task in multiple groups)\n const folderTaskIds = tasksByFolderMap.get(folderId)!\n if (!folderTaskIds.includes(taskId)) folderTaskIds.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [resolvedTasks, tasksLinks])\n\n // When entity list provides specific task IDs, filter folders to only those containing tasks\n const filteredFoldersMap: FolderNodeMap = useMemo(() => {\n if (!taskIds?.length || !tasksByFolderMap.size) return foldersMap\n\n const relevantFolderIds = new Set<string>()\n\n // Add all folders that contain selected tasks\n for (const folderId of tasksByFolderMap.keys()) {\n relevantFolderIds.add(folderId)\n }\n\n // Add parent folders for proper tree display\n const addParents = (folderId: string) => {\n const folder = foldersMap.get(folderId)\n if (folder && folder.parentId) {\n const parentId = folder.parentId as string\n if (!relevantFolderIds.has(parentId)) {\n relevantFolderIds.add(parentId)\n addParents(parentId)\n }\n }\n }\n\n for (const folderId of relevantFolderIds) {\n addParents(folderId)\n }\n\n const filtered = new Map() as FolderNodeMap\n for (const [id, folder] of foldersMap) {\n if (relevantFolderIds.has(id)) {\n filtered.set(id, folder)\n }\n }\n\n return filtered\n }, [foldersMap, tasksByFolderMap, taskIds])\n\n const onSyncData: OnSyncDataCallback = async (updates = []) => {\n const isFullSync = updates.length === 0\n const hasFolderUpdates = updates.some((update) => update.topic.startsWith('entity.folder.'))\n const hasTaskUpdates = updates.some((update) => update.topic.startsWith('entity.task.'))\n\n const queriesToRefresh: { endpointName: string; args: unknown }[] = []\n if ((isFullSync || hasFolderUpdates) && !isUninitializedFolders) {\n queriesToRefresh.push({\n endpointName: 'getFolderList',\n args: { projectName, attrib: true },\n })\n }\n if ((isFullSync || hasFolderUpdates || hasTaskUpdates) && !isUninitializedTasksFolders) {\n queriesToRefresh.push({ endpointName: 'getSearchFolders', args: searchFoldersArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedExpandedFoldersTasks) {\n queriesToRefresh.push({\n endpointName: 'getOverviewTasksByFolders',\n args: expandedFoldersTasksArgs,\n })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedTasksList) {\n queriesToRefresh.push({ endpointName: 'getTasksListInfinite', args: tasksListArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedGroupedTasks) {\n queriesToRefresh.push({ endpointName: 'getGroupedTasksList', args: groupTasksArgs })\n }\n if ((isFullSync || hasFolderUpdates) && !folderStatsUninitialized && folderStatsArgs) {\n queriesToRefresh.push({ endpointName: 'GetFolderColumnStats', args: folderStatsArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !taskStatsUninitialized && taskStatsArgs) {\n queriesToRefresh.push({ endpointName: 'GetTaskColumnStats', args: taskStatsArgs })\n }\n if ((isFullSync || hasFolderUpdates) && !isUninitializedFoldersLinks) {\n queriesToRefresh.push({ endpointName: 'getEntityLinks', args: foldersLinksArgs })\n }\n if ((isFullSync || hasTaskUpdates) && !isUninitializedTasksLinks) {\n queriesToRefresh.push({ endpointName: 'getEntityLinks', args: tasksLinksArgs })\n }\n\n // refresh the active queries\n await Promise.all(\n queriesToRefresh.map(({ endpointName, args }) =>\n dispatch(\n refreshActiveAndPurgeOthers(endpointName, args, {\n refreshOtherActiveQueries: false,\n }),\n ).unwrap(),\n ),\n )\n\n // then later on refresh any other caches\n queriesToRefresh.map(({ endpointName, args }) =>\n dispatch(refreshOtherActiveQueries(endpointName, args)),\n )\n }\n\n const error = tasksListError || searchFoldersError || groupedTasksError\n\n const softErrorAction = useMemo<SoftErrorAction | undefined>(() => {\n if (expandedFoldersTasksError && onCollapseAll) {\n return {\n label: 'Collapse all folders',\n icon: 'restart_alt',\n callback: onCollapseAll,\n }\n }\n return undefined\n }, [expandedFoldersTasksError, onCollapseAll])\n\n return {\n foldersMap: filteredFoldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n error,\n // @ts-expect-error: softError is a string\n softError: expandedFoldersTasksError?.error, // this is separate as we should still show the folders table so the user can make changes\n softErrorAction,\n isLoadingAll:\n isLoadingViews ||\n isLoadingFolders ||\n isLoadingTasksList ||\n isLoadingTasksFolders ||\n isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n loadingLinksEntityIds,\n fetchNextPage: handleFetchNextPage,\n onSyncData,\n }\n}\n"],"names":["VISIBLE_FOLDERS_DEBOUNCE_MS","useFetchOverviewData","projectName","selectedFolders","excludeSelectedFolders","taskIds","taskFilters","folderFilters","sorting","groupBy","taskGroups","taskGroupsCount","expanded","showHierarchy","isFlatFolderView","attribFields","modules","skipLinks","showComments","isLoadingViews","onCollapseAll","visibleEntityIds","folderStatsArgs","taskStatsArgs","folderStatsUninitialized","taskStatsUninitialized","dispatch","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","getFolderById","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","expandedFolderIdsToQuery","useMemo","getFolderIdsToQueryFromExpanded","debouncedVisibleEntityIds","setDebouncedVisibleEntityIds","useState","debouncedSetVisible","debounce","ids","useEffect","visibleFolderIdsToQuery","visibleIdsSet","expandedFoldersTasksArgs","expandedFoldersTasks","isFetchingExpandedFoldersTasks","expandedFoldersTasksError","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","searchFoldersArgs","foldersByTaskFilter","isUninitialized","isLoadingTasksFolders","isUninitializedTasksFolders","searchFoldersError","useGetSearchFoldersQuery","visibleFolders","visibleSet","folder","parentId","isRootFromSlicer","foldersLinksArgs","foldersLinks","isUninitializedFoldersLinks","isFetchingFoldersLinks","useGetEntityLinksQuery","foldersMap","map","selectedPaths","isUnderSelectedFolder","folderPath","selectedPath","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","matchedIds","filteredMap","isSelected","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","singleSort","sortId","tasksFolderIdsParams","hierarchySlicerFolderIds","tasksListArgs","tasksListInfiniteData","isLoadingTasksList","tasksListError","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","expandedGroupValues","GROUP_BY_ID","groupQueries","getGroupQueries","group","groupTasksArgs","groupTasks","isUninitializedGroupedTasks","groupedTasksError","useGetGroupedTasksListQuery","resolvedTasks","visibleTasks","task","tasksLinksArgs","tasksLinks","isUninitializedTasksLinks","isFetchingTasksLinks","loadingLinksEntityIds","cachedIds","l","handleFetchNextPage","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask","folderTaskIds","filteredFoldersMap","filtered","onSyncData","updates","isFullSync","hasFolderUpdates","update","hasTaskUpdates","queriesToRefresh","endpointName","args","refreshActiveAndPurgeOthers","refreshOtherActiveQueries","error","softErrorAction"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ynput/ayon-frontend-shared",
3
- "version": "0.3.47",
3
+ "version": "0.3.48",
4
4
  "description": "Shared React components for AYON frontend",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",