UNPKG

@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) 3.18 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),_=require("react-dom"),z=require("@progress/kendo-react-common"),G=require("@progress/kendo-react-form"),I=require("@progress/kendo-react-dialogs"),u=require("@progress/kendo-react-buttons"),T=require("./GanttEditor.js"),V=require("@progress/kendo-react-intl"),d=require("../messages/index.js"),m=require("@progress/kendo-svg-icons"),g=require("@progress/kendo-react-dropdowns");function b(e){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(i,o,l.get?l:{enumerable:!0,get:()=>e[o]})}}return i.default=e,Object.freeze(i)}const n=b(p),W=b(_),L=e=>{const{onCancel:i,onDelete:o,onClose:l,onSubmit:r,...C}=e,f=n.useRef(e.dataItem),[a,k]=n.useState({}),S=V.useLocalization(),s=t=>S.toLanguageString(t,d.messages[t]),h=s(d.editorSave),E=s(d.editorCancel),M=s(d.editorDelete),y=s(d.editorTitle),q=n.useCallback(t=>{if(i){const c={syntheticEvent:t,nativeEvent:t.nativeEvent,dataItem:e.dataItem};i.call(void 0,c)}},[i,e.dataItem]),R=n.useCallback(t=>{if(o){const c={syntheticEvent:t,nativeEvent:t.nativeEvent,dataItem:e.dataItem};o.call(void 0,c)}},[o,e.dataItem]),O=n.useCallback(({syntheticEvent:t})=>{if(l){const c={syntheticEvent:t,nativeEvent:t.nativeEvent,dataItem:e.dataItem};l.call(void 0,c)}},[l,e.dataItem]),v=n.useCallback((t,c)=>{if(r){const j={dataItem:t,initialDataItem:f.current,syntheticEvent:c,nativeEvent:c&&c.nativeEvent,dependencies:a};r.call(void 0,j)}},[r,a]),D=n.useMemo(()=>g.findByFieldValue(a.createdDependencies,"fromId",null)||g.findByFieldValue(a.createdDependencies,"toId",null),[a]),w=n.useMemo(()=>a.createdDependencies&&a.createdDependencies.length&&D===void 0||a.updatedDependencies&&a.updatedDependencies.length||a.deletedDependencies&&a.deletedDependencies.length,[a,D]),B=n.useCallback(t=>{k(t)},[]),F=n.createElement(G.Form,{initialValues:e.dataItem,onSubmit:v,render:t=>n.createElement(I.Window,{title:y,minWidth:90,width:554,modal:!0,height:0,onClose:O},n.createElement(T.GanttEditor,{taskData:e.taskData,dependencyData:e.dependencyData,dataItem:e.dataItem,onDependencyCreate:B}),n.createElement(I.WindowActionsBar,{layout:"start"},n.createElement(u.Button,{disabled:!t.allowSubmit&&!w,onClick:t.allowSubmit?t.onSubmit:c=>v(e.dataItem,c),icon:"save",svgIcon:m.saveIcon,themeColor:"primary"},h),n.createElement(u.Button,{onClick:q,type:"button",icon:"cancel",svgIcon:m.cancelIcon},E),n.createElement("div",{className:"k-spacer"}),o&&n.createElement(u.Button,{onClick:R,icon:"trash",svgIcon:m.trashIcon,fillMode:"flat",themeColor:"primary"},M))),...C});return z.canUseDOM?W.createPortal(F,document&&document.body):null};exports.GanttForm=L;