@progress/kendo-react-gantt
Version:
React Gantt enables the display of self-referencing tabular data with many features. KendoReact Gantt package
9 lines (8 loc) • 1.81 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("react"),m=require("../context/GanttContext.js"),w=require("../utils/index.js"),l=require("@progress/kendo-react-common"),x=require("../context/GanttViewContext.js");function O(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,o.get?o:{enumerable:!0,get:()=>t[e]})}}return n.default=t,Object.freeze(n)}const f=O(j),g=t=>{const{dependency:n}=t,[e]=x.useGanttViewTasksContext(),o=f.useRef(null),a=m.useGanttDependencyModelFieldsContext(),C=m.useGanttRowHeightContext(),[d,c]=f.useState(!1),b=()=>{if(o.current===null||e.current===null){c(!1);return}const u=e.current[l.getter(a.fromId)(n)],p=e.current[l.getter(a.toId)(n)];if(!u||!p){c(!1);return}const s=u.element,r=p.element;if(!s||!r){c(!1);return}if(d===!1){c(!0);return}const G={top:s.offsetTop+s.offsetHeight/2,start:s.offsetLeft,end:s.offsetLeft+s.offsetWidth},h={top:r.offsetTop+r.offsetHeight/2,start:r.offsetLeft,end:r.offsetLeft+r.offsetWidth},D=l.getter(a.type)(n),i=w.dependencyCoordinates(G,h,C,D);i&&i.length&&o.current.setAttribute("points",i.map(y=>`${y.left},${y.top}`).join(" "))};return f.useEffect(b),f.createElement("polyline",{ref:o,style:{display:d?void 0:"none"}})};g.displayName="KendoReactGanttDependency";exports.GanttDependency=g;