react-weekly-planning 1.0.30 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { memo } from "react";
3
+ import { totalLabel } from "../../lib/utils";
3
4
  const SumHoursContainer = ({ groupId, tasks, weekOffset, calendarDate, sumHoursByGroups, sumHoursRender, className, style, }) => {
4
5
  if (sumHoursRender) {
5
6
  return (_jsx(_Fragment, { children: sumHoursRender({
@@ -10,6 +11,6 @@ const SumHoursContainer = ({ groupId, tasks, weekOffset, calendarDate, sumHoursB
10
11
  sumHoursByGroups,
11
12
  }) }));
12
13
  }
13
- return (_jsx("div", { style: Object.assign({ textAlign: "right", marginRight: "5px" }, style), className: `${className}`, children: sumHoursByGroups }));
14
+ return (_jsx("div", { style: Object.assign({ textAlign: "right", marginRight: "5px" }, style), className: `${className}`, children: totalLabel(sumHoursByGroups) }));
14
15
  };
15
16
  export default memo(SumHoursContainer);
@@ -1,5 +1,6 @@
1
1
  import { memo } from "react";
2
2
  import { SumHoursContainerPropsType } from "../../definitions";
3
+ import { millisecondsToHours, totalLabel } from "../../lib/utils";
3
4
 
4
5
  const SumHoursContainer = ({
5
6
  groupId,
@@ -30,7 +31,7 @@ const SumHoursContainer = ({
30
31
  style={{ textAlign: "right", marginRight: "5px", ...style }}
31
32
  className={`${className}`}
32
33
  >
33
- {sumHoursByGroups}
34
+ {totalLabel(sumHoursByGroups)}
34
35
  </div>
35
36
  );
36
37
  };
package/lib/utils.js CHANGED
@@ -241,12 +241,13 @@ export function compareWeekOffset(calendarDate, weekOffset, taskDate) {
241
241
  }
242
242
  export const sumHoursByGroups = (groupId, tasks, weekOffset, calendarDate) => {
243
243
  let sum = 0;
244
- tasks === null || tasks === void 0 ? void 0 : tasks.forEach((task) => {
245
- if (task.groupId === groupId &&
246
- compareWeekOffset(calendarDate, weekOffset, task.taskDate) === true) {
247
- sum += (task.taskEnd - task.taskStart) / 3600000;
248
- }
249
- });
244
+ if (tasks)
245
+ tasks.forEach((task) => {
246
+ if (task.groupId === groupId &&
247
+ compareWeekOffset(calendarDate, weekOffset, task.taskDate) === true) {
248
+ sum += task.taskEnd - task.taskStart;
249
+ }
250
+ });
250
251
  return sum;
251
252
  };
252
253
  export function saveTasksToLocalStorage(tasks) {
@@ -617,3 +618,23 @@ export const GetTimeRangeByDay = (start, end) => {
617
618
  }
618
619
  return range;
619
620
  };
621
+ export function totalLabel(milliseconds) {
622
+ let label = "";
623
+ const hourConv = milliseconds / 3600000;
624
+ const truncHour = Math.trunc(hourConv);
625
+ if (hourConv !== truncHour) {
626
+ const deciHour = hourConv - truncHour;
627
+ const minConv = deciHour * 60;
628
+ const truncMin = Math.trunc(minConv);
629
+ if (truncMin !== minConv) {
630
+ const deciMin = minConv - truncMin;
631
+ const secConv = deciMin * 60;
632
+ label = `${truncHour}:${truncMin}:${Math.trunc(secConv)}`;
633
+ }
634
+ else
635
+ label = `${truncHour}:${minConv}:0`;
636
+ }
637
+ else
638
+ label = `${hourConv}:0:0`;
639
+ return label;
640
+ }
package/lib/utils.ts CHANGED
@@ -300,14 +300,15 @@ export const sumHoursByGroups = (
300
300
  calendarDate: Date
301
301
  ) => {
302
302
  let sum: number = 0;
303
- tasks?.forEach((task: TaskType | any) => {
304
- if (
305
- task.groupId === groupId &&
306
- compareWeekOffset(calendarDate, weekOffset, task.taskDate) === true
307
- ) {
308
- sum += (task.taskEnd - task.taskStart) / 3600000;
309
- }
310
- });
303
+ if (tasks)
304
+ tasks.forEach((task: TaskType | any) => {
305
+ if (
306
+ task.groupId === groupId &&
307
+ compareWeekOffset(calendarDate, weekOffset, task.taskDate) === true
308
+ ) {
309
+ sum += task.taskEnd - task.taskStart;
310
+ }
311
+ });
311
312
  return sum;
312
313
  };
313
314
 
@@ -946,3 +947,24 @@ export const GetTimeRangeByDay = (start: number, end: number) => {
946
947
  }
947
948
  return range;
948
949
  };
950
+
951
+ export function totalLabel(milliseconds: number) {
952
+ let label = "";
953
+ const hourConv = milliseconds / 3600000;
954
+
955
+ const truncHour = Math.trunc(hourConv);
956
+
957
+ if (hourConv !== truncHour) {
958
+ const deciHour = hourConv - truncHour;
959
+ const minConv = deciHour * 60;
960
+ const truncMin = Math.trunc(minConv);
961
+
962
+ if (truncMin !== minConv) {
963
+ const deciMin = minConv - truncMin;
964
+ const secConv = deciMin * 60;
965
+ label = `${truncHour}:${truncMin}:${Math.trunc(secConv)}`;
966
+ } else label = `${truncHour}:${minConv}:0`;
967
+ } else label = `${hourConv}:0:0`;
968
+
969
+ return label;
970
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-weekly-planning",
3
- "version": "1.0.30",
3
+ "version": "1.0.31",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "jest --env=jsdom",