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) 2.04 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 $=require("react"),M=require("@progress/kendo-react-form"),h=require("@progress/kendo-react-labels"),k=require("@progress/kendo-react-dropdowns");function O(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,l.get?l:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const n=O($),S=e=>{const{validationMessage:o,touched:r,label:l,id:i,valid:D,disabled:b,hint:f,idField:c,dataItem:y,...C}=e,E={id:null,title:"-None-",parentId:null},g=[],s=r&&o,v=!s&&f,p=v?`${i}_hint`:"",w=s?`${i}_error`:"",d=n.useCallback(t=>{if(!t||!t.children)return e.data;for(const a of t.children)g.push(a),a.children&&d(a);const m=g.map(a=>a.id);return e.data.filter(a=>!m.includes(a.id))},[e.data]),F=d(y),u=n.useMemo(()=>F.map(t=>{const m=new Date(t.start).toLocaleDateString(),a=new Date(t.end).toLocaleDateString();return{...t,title:`${t.title} (${m}-${a})`}}),[d]),I=n.useMemo(()=>k.findByFieldValue(u,c,e.value),[u,c,e.value]),L=t=>{t.value.id===null?e.onChange({value:null}):e.onChange({value:t.value[c]})};return n.createElement(M.FieldWrapper,{className:"k-col-span-full"},n.createElement(h.Label,{editorId:i,editorValid:D,editorDisabled:b},l),n.createElement("div",{className:"k-form-field-wrap"},n.createElement(k.DropDownList,{textField:"title",ariaDescribedBy:`${p} ${w}`,valid:D,id:i,disabled:b,...C,value:I,data:u,onChange:L,defaultItem:E}),v&&n.createElement(h.Hint,{id:p},f),s&&n.createElement(h.Error,{id:w},o)))};exports.FormDropDownList=S;