@progress/kendo-react-scheduler
Version:
React Scheduler brings the functionality of Outlook's Calendar to a single UI component. KendoReact Scheduler package
9 lines (8 loc) • 2.09 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 s=require("react"),r=require("@progress/kendo-react-dropdowns"),g=require("../utils/index.js");function v(e){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const d=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(c,n,d.get?d:{enumerable:!0,get:()=>e[n]})}}return c.default=e,Object.freeze(c)}const a=v(s),F=e=>{const c=e.multiple?r.MultiSelect:r.DropDownList,n=a.useCallback(t=>{const l=t.target.props.dataItemKey,i=e.multiple?(t.target.value||[]).map(m=>m[l]):t.target.value[l];e.onChange.call(void 0,{value:i})},[e.multiple,e.onChange]),d=a.useCallback((t,l)=>{const i=a.createElement(a.Fragment,null,e.colorField&&a.createElement("span",{key:1,className:"k-scheduler-mark",style:{backgroundColor:l.dataItem[e.colorField],marginRight:g.isPresent(l.dataItem[e.valueField])?"8px":"4px"}}," "),a.createElement("span",{key:2}," ",t.props.children));return a.cloneElement(t,{...t.props},i)},[e.colorField,e.valueField]),u=a.useCallback((t,l)=>{const i=a.createElement(a.Fragment,null,e.colorField&&l&&a.createElement("span",{key:1,className:"k-scheduler-mark",style:{backgroundColor:l[e.colorField],marginRight:l[e.valueField]?"8px":"4px"}}," "),t.props.children);return a.cloneElement(t,{},i)},[e.colorField,e.valueField]),o=Array.isArray(e.value)?e.data.filter(t=>e.value.some(l=>t[e.valueField]===l)):e.data.find(t=>t[e.valueField]===e.value);return a.createElement(c,{value:o,onChange:n,data:e.data,textField:e.textField,dataItemKey:e.valueField,valid:e.valid,validationMessage:e.validationMessage,itemRender:d,valueRender:u})};exports.ResourceEditor=F;