Giter VIP home page Giter VIP logo

react-scheduler's People

Contributors

bartoszbbitnoise avatar itlamb avatar lrbtn avatar mgasiorek-hkek avatar mgasiorek998 avatar piotrnbtn avatar zibra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-scheduler's Issues

Can items be grouped?

1.Can items be grouped? Can show or not show the data of this group,
2.How to hidden the tooltip or customize it?
3.Can you add a onEmptyClick event?

window is not defined on NextJS 14

[email protected]\react-scheduler\dist\index.js (2034:35) @ window
⨯ Internal error: ReferenceError: window is not defined

"use client";
import { Scheduler, SchedulerProps } from "@bitnoi.se/react-scheduler";
import "@bitnoi.se/react-scheduler/dist/style.css";

export default function SchedulerClient(props: SchedulerProps) {
return <Scheduler {...props} />;
}

more zoom in on the activity canvas

HI!
first I want to thank you for this development, I use your component in nextjs and I wonder if there is a possibility that at the zoom level it takes weeks, days and hours, this is because I have some activities where the work time is less than one day.

Cannot read properties of null (reading 'useMemo')

The default example shown in the front page README.md does not work.

The following issue occurs:

> Uncaught TypeError: Cannot read properties of null (reading 'useMemo')
The above error occurred in the <Gi> component.
import { Scheduler, SchedulerData } from "@bitnoi.se/react-scheduler";
import "@bitnoi.se/react-scheduler/dist/style.css";

const mockedSchedulerData: SchedulerData = [
  {
    id: "070ac5b5-8369-4cd2-8ba2-0a209130cc60",
    label: {
      icon: "https://picsum.photos/24",
      title: "Joe Doe",
      subtitle: "Frontend Developer",
    },
    data: [
      {
        id: "8b71a8a5-33dd-4fc8-9caa-b4a584ba3762",
        startDate: new Date("2023-04-13T15:31:24.272Z"),
        endDate: new Date("2023-08-28T10:28:22.649Z"),
        occupancy: 3600,
        title: "Project A",
        subtitle: "Subtitle A",
        description: "array indexing Salad West Account",
        bgColor: "rgb(254,165,177)",
      },
      {
        id: "22fbe237-6344-4c8e-affb-64a1750f33bd",
        startDate: new Date("2023-10-07T08:16:31.123Z"),
        endDate: new Date("2023-11-15T21:55:23.582Z"),
        occupancy: 2852,
        title: "Project B",
        subtitle: "Subtitle B",
        description: "Tuna Home pascal IP drive",
        bgColor: "rgb(254,165,177)",
      },
      {
        id: "3601c1cd-f4b5-46bc-8564-8c983919e3f5",
        startDate: new Date("2023-03-30T22:25:14.377Z"),
        endDate: new Date("2023-09-01T07:20:50.526Z"),
        occupancy: 1800,
        title: "Project C",
        subtitle: "Subtitle C",
        bgColor: "rgb(254,165,177)",
      },
      {
        id: "b088e4ac-9911-426f-aef3-843d75e714c2",
        startDate: new Date("2023-10-28T10:08:22.986Z"),
        endDate: new Date("2023-10-30T12:30:30.150Z"),
        occupancy: 11111,
        title: "Project D",
        subtitle: "Subtitle D",
        description: "Garden heavy an software Metal",
        bgColor: "rgb(254,165,177)",
      },
    ],
  },
];

export default function GanttChart() {
  return (
    <Scheduler
      // decide when to show loading indicators
      isLoading={false}
      // your data
      data={mockedSchedulerData}
      // callback when user click's on one of the grid's tile
      onItemClick={(clickedItem) => console.log(clickedItem)}
      // filter function that let's you handling filtering on your end
      onFilterData={() => {
        // filter your data
      }}
      // callback when user clicks clearing filter button
      onClearFilterData={() => {
        // clear all your filters
      }}
      config={{
        /* 
            change filter button state based on your filters
            < 0 - filter button invisible,
            0 - filter button visible, no filter applied, clear filters button invisible,
            > 0 - filter button visible, filters applied (clear filters button will be visible)
          */
        filterButtonState: 0,
        // decide start zoom variant (0 - weeks, 1 - days)
        zoom: 0,
        // select language for scheduler
        lang: "en",
        // decide how many resources show per one page
        maxRecordsPerPage: 20,
      }}
    />
  );
}

Live demo

Hi,

Thank you for your nice project.

Do you have live demo?

Thank you for your answer.

Responsiveness

Hi
Do you plan on making the calendar responsive and mobile-friendly in the future?
if so, how long do you think it would take?
Thank you

change the locale

Hi, it's possible to change the locale of the scheduler in other languages with code?
Thanks!!!

AssertionError [ERR_ASSERTION]: filePath not found of @bitnoi.se/react-scheduler

AssertionError [ERR_ASSERTION]: filePath not found of @bitnoi.se/react-scheduler
    at /Users/mot/Products/yygg/stage.tatateam.com/node_modules/@umijs/preset-built-in/lib/plugins/features/mfsu/utils.js:119:27
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (/Users/mot/Products/yygg/stage.tatateam.com/node_modules/@umijs/preset-built-in/lib/plugins/features/mfsu/utils.js:64:103)
    at _next (/Users/mot/Products/yygg/stage.tatateam.com/node_modules/@umijs/preset-built-in/lib/plugins/features/mfsu/utils.js:66:194)
    at /Users/mot/Products/yygg/stage.tatateam.com/node_modules/@umijs/preset-built-in/lib/plugins/features/mfsu/utils.js:66:364
    at new Promise (<anonymous>)
    at /Users/mot/Products/yygg/stage.tatateam.com/node_modules/@umijs/preset-built-in/lib/plugins/features/mfsu/utils.js:66:97
    at figureOutExport (/Users/mot/Products/yygg/stage.tatateam.com/node_modules/@umijs/preset-built-in/lib/plugins/features/mfsu/utils.js:129:17)
    at /Users/mot/Products/yygg/stage.tatateam.com/node_modules/@umijs/preset-built-in/lib/plugins/features/mfsu/DepBuilder.js:184:201
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (/Users/mot/Products/yygg/stage.tatateam.com/node_modules/@umijs/preset-built-in/lib/plugins/features/mfsu/DepBuilder.js:84:103)
    at _next (/Users/mot/Products/yygg/stage.tatateam.com/node_modules/@umijs/preset-built-in/lib/plugins/features/mfsu/DepBuilder.js:86:194)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

umijs + antd + @bitnoi.se/react-scheduler

How to set fullscreen mode?

I'm not seeing a isFullscreen option in the config options passed into the component.

Here's what I'm currently trying:
<Scheduler data={mockedSchedulerData} // isLoading={isLoading} onRangeChange={(newRange) => console.log(newRange)} onTileClick={(clickedResource) => console.log(clickedResource)} onItemClick={(item) => console.log(item)} onFilterData={() => { // Some filtering logic... setFilterButtonState(1); }} onClearFilterData={() => { // Some clearing filters logic... setFilterButtonState(0); }} config={{ zoom: 1, maxRecordsPerPage: 50, isFullscreen: false, filterButtonState, }} />

How to hide or update Free and Taken Hours?

If a resource (in the screenshot example it's F-150 Truck) has more than one task on a project it doesn't appear that the amount of free and taken time for the day is accounted for between multiple tasks. Is there a way to only display the Taken hours only when hovering over a task?
Screenshot 2023-12-06 at 7 19 09 AM

Npm link is broken.

npm install link doesn't work, throws "

At line:1 char:13
npm install @bitnoi.se/react-scheduler

The splatting operator '@' cannot be used to reference variables in an expression. '@bitnoi' can be used only as an argument
to a command. To reference variables in an expression use '$bitnoi'.
CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
FullyQualifiedErrorId : SplattingNotPermitted
"
error with powershell.

Overriding Other CSS styling

Within my React JS application, I have a certain layout that is made using Bootstrap css elements, however, this layout is ignored by the react-scheduler component which results in the scheduler being place over my navigation bar within my Web App. Can you please advise me on a possible fix for this issue. Any and all help would be appreciated.

Lines connecting label data with actual calendar are not matching

Hi! Firstly I want to thank you for your work.
I installed today your pap, but lines constraining resource on the left seem a little bit off (not matching calendar grid):
image
I have plain app with only your lib configured:

import React from 'react';
import './App.css';
import {Scheduler, SchedulerData} from "@bitnoi.se/react-scheduler";
import "@bitnoi.se/react-scheduler/dist/style.css";

function App() {
  return (
      <section>
        <Scheduler
            data={mockedSchedulerData}
            isLoading={false}
        />
      </section>
  );
}


const mockedSchedulerData: SchedulerData = [
  {
    id: "070ac5b5-8369-4cd2-8ba2-0a209130cc60",
    label: {
      icon: "https://picsum.photos/24",
      title: "Joe Doe",
      subtitle: "Frontend Developer"
    },
    data: [
      {
        id: "8b71a8a5-33dd-4fc8-9caa-b4a584ba3762",
        startDate: new Date("2023-04-13T15:31:24.272Z"),
        endDate: new Date("2023-08-28T10:28:22.649Z"),
        occupancy: 3600,
        title: "Project A",
        subtitle: "Subtitle A",
        description: "array indexing Salad West Account",
        bgColor: "rgb(254,165,177)"
      },
      {
        id: "22fbe237-6344-4c8e-affb-64a1750f33bd",
        startDate: new Date("2023-10-07T08:16:31.123Z"),
        endDate: new Date("2023-11-15T21:55:23.582Z"),
        occupancy: 2852,
        title: "Project B",
        subtitle: "Subtitle B",
        description: "Tuna Home pascal IP drive",
        bgColor: "rgb(254,165,177)"
      },
      {
        id: "3601c1cd-f4b5-46bc-8564-8c983919e3f5",
        startDate: new Date("2023-03-30T22:25:14.377Z"),
        endDate: new Date("2023-09-01T07:20:50.526Z"),
        occupancy: 1800,
        title: "Project C",
        subtitle: "Subtitle C",
        bgColor: "rgb(254,165,177)"
      },
      {
        id: "b088e4ac-9911-426f-aef3-843d75e714c2",
        startDate: new Date("2023-10-28T10:08:22.986Z"),
        endDate: new Date("2023-10-30T12:30:30.150Z"),
        occupancy: 11111,
        title: "Project D",
        subtitle: "Subtitle D",
        description: "Garden heavy an software Metal",
        bgColor: "rgb(254,165,177)"
      }
    ]
  },
];

export default App;

"SchedulerData" is copied from your example.

Also buttons on the upper right to manipulate the view are not aligned to screen by default.
How to fix it?

Sincerely,
Ignacy

Uncaught TypeError: Cannot read properties of null (reading 'useMemo') at Ri component

HI trying to use your react-scheduler with React Metronic v8 template (just migrated to Vite) I copy paste the example in the readme.md file but got hit with this error, not sure what is happening.

The full log:

Warning: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:

  1. You might have mismatching versions of React and the renderer (such as React DOM)

  2. You might be breaking the Rules of Hooks

  3. You might have more than one copy of React in the same app
    See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.
    at Ri (http://localhost:5173/node_modules/.vite/deps/@bitnoi__se_react-scheduler.js?v=17668191:5772:9)
    at section
    at Component (http://localhost:5173/src/app/modules/apps/reservation-calendar/ReservationCalendarPage.tsx:15:39)
    at Suspense
    at SuspensedView (http://localhost:5173/src/app/routing/PrivateRoutes.tsx:243:26)
    at Outlet (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1119:26)
    at div
    at Content (http://localhost:5173/src/_metronic/layout/components/Content.tsx:16:20)
    at div
    at div
    at div
    at div
    at PageDataProvider (http://localhost:5173/src/_metronic/layout/core/PageData.tsx:17:29)
    at MasterLayout (http://localhost:5173/src/_metronic/layout/MasterLayout.tsx:24:22)
    at Routes (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1179:5)
    at PrivateRoutes
    at Outlet (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1119:26)
    at AuthInit (http://localhost:5173/src/app/modules/auth/core/Auth.tsx:61:21)
    at ThemeModeProvider (http://localhost:5173/src/_metronic/partials/layout/theme-mode/ThemeModeProvider.tsx:55:30)
    at LayoutProvider (http://localhost:5173/src/_metronic/layout/core/LayoutProvider.tsx:33:27)
    at IntlProvider3 (http://localhost:5173/node_modules/.vite/deps/react-intl.js?v=17668191:4116:45)
    at I18nProvider (http://localhost:5173/src/_metronic/i18n/i18nProvider.tsx:34:25)
    at Suspense
    at App
    at Routes (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1179:5)
    at Router (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1126:15)
    at BrowserRouter (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=17668191:86:5)
    at AppRoutes (http://localhost:5173/src/app/routing/AppRoutes.tsx:28:29)
    at AuthProvider (http://localhost:5173/src/app/modules/auth/core/Auth.tsx:28:25)
    at MetronicI18nProvider (http://localhost:5173/src/_metronic/i18n/Metronici18n.tsx:40:33)
    at QueryClientProvider2 (http://localhost:5173/node_modules/.vite/deps/chunk-64JXKFDQ.js?v=17668191:2853:25)
    overrideMethod @ console.js:213
    printWarning @ @bitnoi__se_react-scheduler.js?v=17668191:137
    error @ @bitnoi__se_react-scheduler.js?v=17668191:121
    resolveDispatcher @ @bitnoi__se_react-scheduler.js?v=17668191:1046
    useMemo @ @bitnoi__se_react-scheduler.js?v=17668191:1094
    Ri @ @bitnoi__se_react-scheduler.js?v=17668191:5783
    renderWithHooks @ chunk-E3WH7TKQ.js?v=17668191:12039
    mountIndeterminateComponent @ chunk-E3WH7TKQ.js?v=17668191:15341
    beginWork @ chunk-E3WH7TKQ.js?v=17668191:16324
    callCallback2 @ chunk-E3WH7TKQ.js?v=17668191:3669
    invokeGuardedCallbackDev @ chunk-E3WH7TKQ.js?v=17668191:3694
    invokeGuardedCallback @ chunk-E3WH7TKQ.js?v=17668191:3728
    beginWork$1 @ chunk-E3WH7TKQ.js?v=17668191:19615
    performUnitOfWork @ chunk-E3WH7TKQ.js?v=17668191:19079
    workLoopSync @ chunk-E3WH7TKQ.js?v=17668191:19019
    renderRootSync @ chunk-E3WH7TKQ.js?v=17668191:18998
    recoverFromConcurrentError @ chunk-E3WH7TKQ.js?v=17668191:18619
    performConcurrentWorkOnRoot @ chunk-E3WH7TKQ.js?v=17668191:18567
    workLoop @ chunk-E3WH7TKQ.js?v=17668191:197
    flushWork @ chunk-E3WH7TKQ.js?v=17668191:176
    performWorkUntilDeadline @ chunk-E3WH7TKQ.js?v=17668191:384
    Show 21 more frames
    Show less
    @bitnoi__se_react-scheduler.js?v=17668191:1095 Uncaught TypeError: Cannot read properties of null (reading 'useMemo')
    at useMemo (@bitnoi__se_react-scheduler.js?v=17668191:1095:29)
    at Ri (@bitnoi__se_react-scheduler.js?v=17668191:5783:38)
    at renderWithHooks (chunk-E3WH7TKQ.js?v=17668191:12039:26)
    at mountIndeterminateComponent (chunk-E3WH7TKQ.js?v=17668191:15341:21)
    at beginWork (chunk-E3WH7TKQ.js?v=17668191:16324:22)
    at HTMLUnknownElement.callCallback2 (chunk-E3WH7TKQ.js?v=17668191:3669:22)
    at Object.invokeGuardedCallbackDev (chunk-E3WH7TKQ.js?v=17668191:3694:24)
    at invokeGuardedCallback (chunk-E3WH7TKQ.js?v=17668191:3728:39)
    at beginWork$1 (chunk-E3WH7TKQ.js?v=17668191:19615:15)
    at performUnitOfWork (chunk-E3WH7TKQ.js?v=17668191:19079:20)
    useMemo @ @bitnoi__se_react-scheduler.js?v=17668191:1095
    Ri @ @bitnoi__se_react-scheduler.js?v=17668191:5783
    renderWithHooks @ chunk-E3WH7TKQ.js?v=17668191:12039
    mountIndeterminateComponent @ chunk-E3WH7TKQ.js?v=17668191:15341
    beginWork @ chunk-E3WH7TKQ.js?v=17668191:16324
    callCallback2 @ chunk-E3WH7TKQ.js?v=17668191:3669
    invokeGuardedCallbackDev @ chunk-E3WH7TKQ.js?v=17668191:3694
    invokeGuardedCallback @ chunk-E3WH7TKQ.js?v=17668191:3728
    beginWork$1 @ chunk-E3WH7TKQ.js?v=17668191:19615
    performUnitOfWork @ chunk-E3WH7TKQ.js?v=17668191:19079
    workLoopSync @ chunk-E3WH7TKQ.js?v=17668191:19019
    renderRootSync @ chunk-E3WH7TKQ.js?v=17668191:18998
    recoverFromConcurrentError @ chunk-E3WH7TKQ.js?v=17668191:18619
    performConcurrentWorkOnRoot @ chunk-E3WH7TKQ.js?v=17668191:18567
    workLoop @ chunk-E3WH7TKQ.js?v=17668191:197
    flushWork @ chunk-E3WH7TKQ.js?v=17668191:176
    performWorkUntilDeadline @ chunk-E3WH7TKQ.js?v=17668191:384
    Show 17 more frames
    Show less
    console.js:213 The above error occurred in the component:

    at Ri (http://localhost:5173/node_modules/.vite/deps/@bitnoi__se_react-scheduler.js?v=17668191:5772:9)
    at section
    at Component (http://localhost:5173/src/app/modules/apps/reservation-calendar/ReservationCalendarPage.tsx:15:39)
    at Suspense
    at SuspensedView (http://localhost:5173/src/app/routing/PrivateRoutes.tsx:243:26)
    at Outlet (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1119:26)
    at div
    at Content (http://localhost:5173/src/_metronic/layout/components/Content.tsx:16:20)
    at div
    at div
    at div
    at div
    at PageDataProvider (http://localhost:5173/src/_metronic/layout/core/PageData.tsx:17:29)
    at MasterLayout (http://localhost:5173/src/_metronic/layout/MasterLayout.tsx:24:22)
    at Routes (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1179:5)
    at PrivateRoutes
    at Outlet (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1119:26)
    at AuthInit (http://localhost:5173/src/app/modules/auth/core/Auth.tsx:61:21)
    at ThemeModeProvider (http://localhost:5173/src/_metronic/partials/layout/theme-mode/ThemeModeProvider.tsx:55:30)
    at LayoutProvider (http://localhost:5173/src/_metronic/layout/core/LayoutProvider.tsx:33:27)
    at IntlProvider3 (http://localhost:5173/node_modules/.vite/deps/react-intl.js?v=17668191:4116:45)
    at I18nProvider (http://localhost:5173/src/_metronic/i18n/i18nProvider.tsx:34:25)
    at Suspense
    at App
    at Routes (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1179:5)
    at Router (http://localhost:5173/node_modules/.vite/deps/chunk-BPRKDLUL.js?v=17668191:1126:15)
    at BrowserRouter (http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=17668191:86:5)
    at AppRoutes (http://localhost:5173/src/app/routing/AppRoutes.tsx:28:29)
    at AuthProvider (http://localhost:5173/src/app/modules/auth/core/Auth.tsx:28:25)
    at MetronicI18nProvider (http://localhost:5173/src/_metronic/i18n/Metronici18n.tsx:40:33)
    at QueryClientProvider2 (http://localhost:5173/node_modules/.vite/deps/chunk-64JXKFDQ.js?v=17668191:2853:25)

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.
overrideMethod @ console.js:213
logCapturedError @ chunk-E3WH7TKQ.js?v=17668191:13912
update.callback @ chunk-E3WH7TKQ.js?v=17668191:13932
callCallback @ chunk-E3WH7TKQ.js?v=17668191:9894
commitUpdateQueue @ chunk-E3WH7TKQ.js?v=17668191:9911
commitLayoutEffectOnFiber @ chunk-E3WH7TKQ.js?v=17668191:16948
commitLayoutMountEffects_complete @ chunk-E3WH7TKQ.js?v=17668191:17816
commitLayoutEffects_begin @ chunk-E3WH7TKQ.js?v=17668191:17805
commitLayoutEffects @ chunk-E3WH7TKQ.js?v=17668191:17756
commitRootImpl @ chunk-E3WH7TKQ.js?v=17668191:19233
commitRoot @ chunk-E3WH7TKQ.js?v=17668191:19158
finishConcurrentRender @ chunk-E3WH7TKQ.js?v=17668191:18643
performConcurrentWorkOnRoot @ chunk-E3WH7TKQ.js?v=17668191:18601
workLoop @ chunk-E3WH7TKQ.js?v=17668191:197
flushWork @ chunk-E3WH7TKQ.js?v=17668191:176
performWorkUntilDeadline @ chunk-E3WH7TKQ.js?v=17668191:384
Show 16 more frames
Show less
chunk-E3WH7TKQ.js?v=17668191:19283 Uncaught TypeError: Cannot read properties of null (reading 'useMemo')
at useMemo (@bitnoi__se_react-scheduler.js?v=17668191:1095:29)
at Ri (@bitnoi__se_react-scheduler.js?v=17668191:5783:38)
at renderWithHooks (chunk-E3WH7TKQ.js?v=17668191:12039:26)
at mountIndeterminateComponent (chunk-E3WH7TKQ.js?v=17668191:15341:21)
at beginWork (chunk-E3WH7TKQ.js?v=17668191:16324:22)
at beginWork$1 (chunk-E3WH7TKQ.js?v=17668191:19603:22)
at performUnitOfWork (chunk-E3WH7TKQ.js?v=17668191:19079:20)
at workLoopSync (chunk-E3WH7TKQ.js?v=17668191:19019:13)
at renderRootSync (chunk-E3WH7TKQ.js?v=17668191:18998:15)
at recoverFromConcurrentError (chunk-E3WH7TKQ.js?v=17668191:18619:28)
useMemo @ @bitnoi__se_react-scheduler.js?v=17668191:1095
Ri @ @bitnoi__se_react-scheduler.js?v=17668191:5783
renderWithHooks @ chunk-E3WH7TKQ.js?v=17668191:12039
mountIndeterminateComponent @ chunk-E3WH7TKQ.js?v=17668191:15341
beginWork @ chunk-E3WH7TKQ.js?v=17668191:16324
beginWork$1 @ chunk-E3WH7TKQ.js?v=17668191:19603
performUnitOfWork @ chunk-E3WH7TKQ.js?v=17668191:19079
workLoopSync @ chunk-E3WH7TKQ.js?v=17668191:19019
renderRootSync @ chunk-E3WH7TKQ.js?v=17668191:18998
recoverFromConcurrentError @ chunk-E3WH7TKQ.js?v=17668191:18619
performConcurrentWorkOnRoot @ chunk-E3WH7TKQ.js?v=17668191:18567
workLoop @ chunk-E3WH7TKQ.js?v=17668191:197
flushWork @ chunk-E3WH7TKQ.js?v=17668191:176
performWorkUntilDeadline @ chunk-E3WH7TKQ.js?v=17668191:384
Show 14 more frames
Show less

Module not found in react

hello
After install on react 17 , js web app
Module not found: Can't resolve '@bitnoi.se/react-scheduler'

Checked and the module installed

Thank you

Custom height for tiles based on the occupancy

It would be nice to have the option to set the height of the tiles based on the occupancy of the item and the maxOccupancy of the row? So basically, I want to display the information on the label (how many hours are taken and how many are free) also visually, by the height of the items and also by the height of the row.

I've forked the repo and I'll try to implement it and see how it goes. If it turns out good, maybe it can be considered to be merged.

UPDATE:
I've clarified the issue description after I did some more digging into the code, by updating the terminology used and the general definition of the issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.