@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) • 3.74 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
*-------------------------------------------------------------------------------------------
*/
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),v=require("./utils.js"),h=require("../../context/SchedulerResourceIteratorContext.js");function E(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const l=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(t,e,l.get?l:{enumerable:!0,get:()=>r[e]})}}return t.default=r,Object.freeze(t)}const c=E(g),m=r=>{const{nested:t,wrapGroup:e,children:l}=r,a=r.cellContent||y,n=v.toGroupResources(r.group,r.resources),s=0,o=0;return c.createElement("div",{className:"k-scheduler-group"},t?e?c.createElement("div",{className:"k-scheduler-row"},c.createElement("div",{className:"k-sticky-cell"},k({resources:n,children:l,cellContent:a,depth:s,groupIndex:o})),c.createElement("div",{className:"k-scheduler-cell k-group-content"},i({resources:n,children:l,cellContent:a,depth:s,groupIndex:o},!1))):i({resources:n,children:l,cellContent:a,depth:s,groupIndex:o},!0):e?c.createElement("div",{className:"k-scheduler-row"},c.createElement("div",{className:"k-sticky-cell"},N({resources:n,children:l,cellContent:a,depth:s,groupIndex:o})),c.createElement("div",{className:"k-scheduler-cell k-group-content"},l)):R({resources:n,children:l,cellContent:a,depth:s,groupIndex:o}))},N=r=>c.createElement("div",{className:"k-scheduler-row"},c.createElement("div",{className:"k-scheduler-row"},r.resources.map((t,e)=>c.createElement("div",{key:e,className:"k-scheduler-cell k-resource-cell k-heading-cell","data-depth-index":e})))),i=(r,t=!0)=>{const{resources:e,children:l,cellContent:a,groupIndex:n,depth:s}=r,o=e.length>0;if(s===e.length||!o)return c.createElement(h.SchedulerResourceIteratorContext.Provider,{value:{resource:e[s],groupIndex:o?n:0}},l);const u=e[s].data.length;return e[s].data.map((p,d)=>c.createElement("div",{key:d,className:"k-scheduler-row"},t&&c.createElement("div",{className:"k-scheduler-cell k-group-cell k-heading-cell","data-depth-index":s},p[e[s].textField]),c.createElement("div",{className:"k-scheduler-cell k-group-content k-resource-row","data-depth-index":s,"data-resource-index":u*n+d},i({resources:e,children:l,cellContent:a,groupIndex:u*n+d,depth:s+1},t))))},k=r=>{const{resources:t,children:e,cellContent:l,groupIndex:a,depth:n}=r,s=t.length?t[n].data.length:0;return t[n]?t[n].data.map((o,u)=>c.createElement("div",{key:u,className:"k-scheduler-row"},c.createElement("div",{className:"k-scheduler-cell k-resource-cell k-resource-row k-heading-cell","data-depth-index":n,"data-resource-index":s*a+u},o[t[n].textField]),n+1!==t.length&&c.createElement("div",{className:"k-scheduler-cell k-resource-content"},k({resources:t,children:e,cellContent:l,groupIndex:s*a+u,depth:n+1})))):null},R=r=>{const{resources:t,children:e,groupIndex:l,cellContent:a}=r;return c.createElement("div",{className:"k-scheduler-row"},x(t),a,f(e,t,l))},f=(r,t,e)=>{const l=t.length>0;return c.createElement("div",{className:"k-scheduler-cell k-group-content"},c.createElement(h.SchedulerResourceIteratorContext.Provider,{value:{resource:t[e],groupIndex:l?e:void 0}},r))},x=r=>r.map((t,e)=>c.createElement("div",{key:e,className:"k-scheduler-cell k-group-cell k-heading-cell","data-depth-index":e}));m.displayName="KendoReactSchedulerVerticalResourceIterator";const y=null;exports.VerticalResourceIterator=m;