funda-ui 4.2.255 → 4.2.445

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.
Files changed (77) hide show
  1. package/CascadingSelect/index.js +1 -1
  2. package/EventCalendar/index.css +3 -0
  3. package/EventCalendar/index.d.ts +4 -1
  4. package/EventCalendar/index.js +16 -4
  5. package/EventCalendarTimeline/index.css +17 -0
  6. package/EventCalendarTimeline/index.d.ts +9 -2
  7. package/EventCalendarTimeline/index.js +77 -22
  8. package/LiveSearch/index.css +12 -0
  9. package/LiveSearch/index.js +1 -1
  10. package/ModalDialog/index.js +1 -1
  11. package/MultilevelDropdownMenu/index.css +2 -2
  12. package/MultilevelDropdownMenu/index.js +54 -46
  13. package/MultipleSelect/index.css +35 -26
  14. package/MultipleSelect/index.d.ts +3 -0
  15. package/MultipleSelect/index.js +366 -134
  16. package/NativeSelect/index.js +75 -47
  17. package/Pagination/index.d.ts +2 -0
  18. package/Pagination/index.js +25 -21
  19. package/Radio/index.js +14 -6
  20. package/RangeSlider/index.css +1 -0
  21. package/Select/index.css +5 -0
  22. package/Select/index.d.ts +1 -0
  23. package/Select/index.js +31 -11
  24. package/Tabs/index.js +13 -2
  25. package/Tree/index.js +90 -56
  26. package/lib/cjs/CascadingSelect/index.js +1 -1
  27. package/lib/cjs/EventCalendar/index.d.ts +4 -1
  28. package/lib/cjs/EventCalendar/index.js +16 -4
  29. package/lib/cjs/EventCalendarTimeline/index.d.ts +9 -2
  30. package/lib/cjs/EventCalendarTimeline/index.js +77 -22
  31. package/lib/cjs/LiveSearch/index.js +1 -1
  32. package/lib/cjs/ModalDialog/index.js +1 -1
  33. package/lib/cjs/MultilevelDropdownMenu/index.js +54 -46
  34. package/lib/cjs/MultipleSelect/index.d.ts +3 -0
  35. package/lib/cjs/MultipleSelect/index.js +366 -134
  36. package/lib/cjs/NativeSelect/index.js +75 -47
  37. package/lib/cjs/Pagination/index.d.ts +2 -0
  38. package/lib/cjs/Pagination/index.js +25 -21
  39. package/lib/cjs/Radio/index.js +14 -6
  40. package/lib/cjs/Select/index.d.ts +1 -0
  41. package/lib/cjs/Select/index.js +31 -11
  42. package/lib/cjs/Tabs/index.js +13 -2
  43. package/lib/cjs/Tree/index.js +90 -56
  44. package/lib/css/EventCalendar/index.css +3 -0
  45. package/lib/css/EventCalendarTimeline/index.css +17 -0
  46. package/lib/css/LiveSearch/index.css +12 -0
  47. package/lib/css/MultilevelDropdownMenu/index.css +2 -2
  48. package/lib/css/MultipleSelect/index.css +35 -26
  49. package/lib/css/RangeSlider/index.css +1 -0
  50. package/lib/css/Select/index.css +5 -0
  51. package/lib/esm/CascadingSelect/index.tsx +1 -1
  52. package/lib/esm/EventCalendar/index.scss +2 -0
  53. package/lib/esm/EventCalendar/index.tsx +23 -6
  54. package/lib/esm/EventCalendarTimeline/index.scss +24 -1
  55. package/lib/esm/EventCalendarTimeline/index.tsx +195 -118
  56. package/lib/esm/LiveSearch/index.scss +14 -1
  57. package/lib/esm/LiveSearch/index.tsx +1 -1
  58. package/lib/esm/ModalDialog/index.tsx +1 -1
  59. package/lib/esm/MultilevelDropdownMenu/{MenuList.tsx → ItemList.tsx} +52 -45
  60. package/lib/esm/MultilevelDropdownMenu/index.scss +2 -2
  61. package/lib/esm/MultilevelDropdownMenu/index.tsx +12 -4
  62. package/lib/esm/MultipleSelect/ItemList.tsx +300 -0
  63. package/lib/esm/MultipleSelect/index.scss +61 -30
  64. package/lib/esm/MultipleSelect/index.tsx +56 -87
  65. package/lib/esm/MultipleSelect/multiple-select-utils/func.ts +29 -0
  66. package/lib/esm/NativeSelect/index.tsx +4 -18
  67. package/lib/esm/NativeSelect/native-select-utils/func.ts +40 -0
  68. package/lib/esm/Pagination/index.tsx +31 -22
  69. package/lib/esm/Radio/index.tsx +19 -6
  70. package/lib/esm/RangeSlider/index.scss +2 -0
  71. package/lib/esm/Select/index.scss +6 -1
  72. package/lib/esm/Select/index.tsx +70 -54
  73. package/lib/esm/Table/Table.tsx +2 -0
  74. package/lib/esm/Tabs/Tabs.tsx +19 -4
  75. package/lib/esm/Tree/TreeList.tsx +61 -54
  76. package/lib/esm/Tree/index.tsx +4 -0
  77. package/package.json +1 -1
@@ -756,7 +756,7 @@ const CascadingSelect = (props: CascadingSelectProps) => {
756
756
 
757
757
  const _findNode: any = searchObject(_data, function (v: any) { return v != null && v != undefined && v[rowQueryAttr] == targetVal[col - 1]; });
758
758
 
759
- const childList = _findNode[0].children;
759
+ const childList = typeof _findNode[0] !== 'undefined' ? _findNode[0].children : undefined;
760
760
 
761
761
  // STEP 1: ===========
762
762
  //active item from current column
@@ -144,6 +144,8 @@
144
144
  color: var(--e-cal-delete-btn-color);
145
145
 
146
146
  svg {
147
+ fill: var(--e-cal-delete-btn-color);
148
+
147
149
  path {
148
150
  fill: var(--e-cal-delete-btn-color);
149
151
  }
@@ -44,12 +44,18 @@ type EventCalendarProps = {
44
44
  modalSubmitBtnLabel?: string | React.ReactNode;
45
45
  modalSubmitDeleteBtnClassName?: string;
46
46
  modalSubmitDeleteBtnLabel?: string | React.ReactNode;
47
- onModalEditOpen?: (currentData: any) => void;
47
+ onModalEditOpen?: (currentData: any, openwin: any) => void;
48
48
  onModalEditClose?: (currentData: any) => void;
49
49
  onModalDeleteOpen?: (currentData: any) => void;
50
50
  onModalDeleteClose?: (currentData: any) => void;
51
51
  onModalEditEvent?: (currentData: any, closewin: any) => void;
52
52
  onModalDeleteEvent?: (currentData: any, closewin: any) => void;
53
+ //
54
+ onCellMouseEnter?: (el: any) => void;
55
+ onCellMouseLeave?: (el: any) => void;
56
+ onCellClick?: (el: any) => void;
57
+
58
+
53
59
  }
54
60
 
55
61
 
@@ -91,7 +97,12 @@ const EventCalendar = (props: EventCalendarProps) => {
91
97
  onModalDeleteOpen,
92
98
  onModalDeleteClose,
93
99
  onModalEditEvent,
94
- onModalDeleteEvent
100
+ onModalDeleteEvent,
101
+
102
+ //
103
+ onCellMouseEnter,
104
+ onCellMouseLeave,
105
+ onCellClick,
95
106
  } = props;
96
107
 
97
108
  const DAYS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
@@ -500,8 +511,16 @@ const EventCalendar = (props: EventCalendarProps) => {
500
511
  data-date={getCalendarDate(_dateShow)}
501
512
  data-day={padZero(d)}
502
513
  data-week={i}
514
+ onMouseEnter={(e: React.MouseEvent) => {
515
+ onCellMouseEnter?.(e);
516
+ }}
517
+ onMouseLeave={(e: React.MouseEvent) => {
518
+ onCellMouseLeave?.(e);
519
+ }}
503
520
  onClick={(e: React.MouseEvent) => {
504
-
521
+ //
522
+ onCellClick?.(e);
523
+
505
524
  if (d > 0) {
506
525
  handleDayChange(e, d);
507
526
 
@@ -511,11 +530,10 @@ const EventCalendar = (props: EventCalendarProps) => {
511
530
  } : _currentData[0]);
512
531
 
513
532
  if (EVENTS_ENABLED) {
514
- setShowEdit(true);
515
533
  onModalEditOpen?.(_currentData.length === 0 ? {
516
534
  id: 0,
517
535
  date: getCalendarDate(`${year}-${month + 1}-${d}`)
518
- } : _currentData[0]);
536
+ } : _currentData[0], () => setShowEdit(true));
519
537
  }
520
538
  }
521
539
  }}
@@ -675,7 +693,6 @@ const EventCalendar = (props: EventCalendarProps) => {
675
693
  submitBtnClassName={modalSubmitBtnClassName || 'btn btn-primary'}
676
694
  submitBtnLabel={modalSubmitBtnLabel || <>Save</>}
677
695
  onClose={(e) => {
678
-
679
696
  setTimeout(() => {
680
697
  setShowEdit(false);
681
698
 
@@ -251,7 +251,6 @@
251
251
  --e-cal-tl-table-event-font-size: 0.75rem;
252
252
  --e-cal-tl-table-event-hover-bg: rgba(255, 240, 227, 0);
253
253
  --e-cal-tl-table-event-hover-shadow: inset 0px 0px 0px 1px rgba(0,0,0,0.15);
254
-
255
254
 
256
255
 
257
256
 
@@ -436,6 +435,13 @@
436
435
  }
437
436
 
438
437
 
438
+ &:not(.empty):hover {
439
+ .e-cal-tl__day__eventdel {
440
+ display: block;
441
+ }
442
+ }
443
+
444
+
439
445
  &.has-event {
440
446
  .e-cal-tl-table__cell-cushion {
441
447
  padding: 0;
@@ -448,6 +454,23 @@
448
454
  font-size: var(--e-cal-tl-table-event-font-size);
449
455
  }
450
456
 
457
+ .e-cal-tl__day__eventdel {
458
+ position: absolute;
459
+ z-index: 1;
460
+ left: 0;
461
+ top: 0;
462
+ display: none;
463
+ color: var(--e-cal-tl-table-delete-btn-color);
464
+
465
+ svg {
466
+ fill: var(--e-cal-tl-table-delete-btn-color);
467
+
468
+ path {
469
+ fill: var(--e-cal-tl-table-delete-btn-color);
470
+ }
471
+ }
472
+ }
473
+
451
474
  }
452
475
 
453
476
  /* days container */
@@ -8,6 +8,8 @@ import {
8
8
  getAbsolutePositionOfStage
9
9
  } from 'funda-utils';
10
10
 
11
+
12
+
11
13
  export interface EventsValueConfig {
12
14
  id: string | number;
13
15
  date: string,
@@ -17,9 +19,14 @@ export interface EventsValueConfig {
17
19
  eventStyles?: React.CSSProperties;
18
20
  }
19
21
 
22
+ export interface TimelineRowFieldConfig {
23
+ id: string | number;
24
+ title: string;
25
+ }
26
+
20
27
  export interface TimelineValueConfig {
21
- listSection: string;
22
- eventSources: EventsValueConfig[]
28
+ listSection: TimelineRowFieldConfig;
29
+ eventSources: EventsValueConfig[];
23
30
  }
24
31
 
25
32
 
@@ -59,13 +66,17 @@ type EventCalendarTimelineProps = {
59
66
  modalSubmitBtnLabel?: string | React.ReactNode;
60
67
  modalSubmitDeleteBtnClassName?: string;
61
68
  modalSubmitDeleteBtnLabel?: string | React.ReactNode;
62
- onModalEditOpen?: (currentData: any) => void;
69
+ onModalEditOpen?: (currentData: any, openwin: any) => void;
63
70
  onModalEditClose?: (currentData: any) => void;
64
71
  onModalDeleteOpen?: (currentData: any) => void;
65
72
  onModalDeleteClose?: (currentData: any) => void;
66
73
  onModalEditEvent?: (currentData: any, closewin: any) => void;
67
74
  onModalDeleteEvent?: (currentData: any, closewin: any) => void;
68
75
 
76
+ //
77
+ onCellMouseEnter?: (el: any) => void;
78
+ onCellMouseLeave?: (el: any) => void;
79
+ onCellClick?: (el: any) => void;
69
80
 
70
81
 
71
82
  // table
@@ -126,6 +137,11 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
126
137
  onModalEditEvent,
127
138
  onModalDeleteEvent,
128
139
 
140
+ //
141
+ onCellMouseEnter,
142
+ onCellMouseLeave,
143
+ onCellClick,
144
+
129
145
  //
130
146
  tableListSectionTitle,
131
147
  tableCellMinWidth,
@@ -183,6 +199,7 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
183
199
  const BODY_DRAG = draggable || false;
184
200
  const CELL_MIN_W = typeof tableCellMinWidth === 'undefined' ? (SHOW_WEEK ? 100 : 50) : tableCellMinWidth;
185
201
  const tableGridRef = useRef<any>(null);
202
+ const tableGridHeaderRef = useRef<any>(null);
186
203
  const scrollHeaderRef = useRef(null);
187
204
  const scrollBodyRef = useRef(null);
188
205
  const scrollListRef = useRef(null);
@@ -636,7 +653,7 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
636
653
  <tr key={i} role="row" data-index={i}>
637
654
  <td role="gridcell" data-resource-index={i} className="e-cal-tl-table__datagrid-cell">
638
655
  <div className="e-cal-tl-table__cell-cushion e-cal-tl-table__cell-cushion-title" dangerouslySetInnerHTML={{
639
- __html: item.listSection
656
+ __html: item.listSection.title
640
657
  }} />
641
658
  </td>
642
659
  </tr>
@@ -702,12 +719,11 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
702
719
  } : _currentData[0]);
703
720
 
704
721
  if (EVENTS_ENABLED) {
705
- setShowEdit(true);
706
722
  onModalEditOpen?.(_currentData.length === 0 ? {
707
723
  rowData: listSectionData,
708
724
  id: 0,
709
725
  date: getCalendarDate(`${year}-${month + 1}-${d}`)
710
- } : _currentData[0]);
726
+ } : _currentData[0], () => setShowEdit(true));
711
727
  }
712
728
  }
713
729
  }}
@@ -762,11 +778,16 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
762
778
  e.stopPropagation();
763
779
  setShowDelete(true);
764
780
 
781
+ const _existsContent = _currentData[0];
782
+ if (typeof _existsContent !== 'undefined') {
783
+ _existsContent.rowData = listSectionData;
784
+ }
785
+
765
786
  onModalDeleteOpen?.(_currentData.length === 0 ? {
766
787
  rowData: listSectionData,
767
788
  id: 0,
768
789
  date: getCalendarDate(`${year}-${month + 1}-${d}`)
769
- } : _currentData[0]);
790
+ } : _existsContent);
770
791
  }}>
771
792
  {iconRemove ? <>{iconRemove}</> : <><svg width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path fillRule="evenodd" clipRule="evenodd" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10ZM8 11a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8Z" fill="#000" /></svg></>}
772
793
  {cellCloseBtnLabel || ''}
@@ -792,10 +813,35 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
792
813
  data-day={padZero(d)}
793
814
  data-week={i}
794
815
  data-row={rowIndex}
795
- onMouseEnter={_eventContentTooltip === '' ? () => {} : ( tableTooltipDisabled ? () => {} : (_eventContent !== '' ? (e: React.MouseEvent) => {handleTableTooltipMouseEnter(e, _eventContentTooltip)} : () => {}) )}
796
- onMouseLeave={_eventContentTooltip === '' ? () => {} : ( tableTooltipDisabled ? () => {} : (_eventContent !== '' ? handleTableTooltipMouseLeave : () => {}) )}
816
+ onMouseEnter={(e: React.MouseEvent) => {
817
+ onCellMouseEnter?.(e);
818
+
819
+ if (_eventContentTooltip !== '') {
820
+ if (typeof tableTooltipDisabled === 'undefined' || tableTooltipDisabled === false) {
821
+ if (_eventContent !== '') {
822
+ handleTableTooltipMouseEnter(e, _eventContentTooltip);
823
+ }
824
+ }
825
+ }
826
+ }}
827
+ onMouseLeave={(e: React.MouseEvent) => {
828
+ onCellMouseLeave?.(e);
829
+
830
+ if (_eventContentTooltip !== '') {
831
+ if (typeof tableTooltipDisabled === 'undefined' || tableTooltipDisabled === false) {
832
+ if (_eventContent !== '') {
833
+ handleTableTooltipMouseLeave();
834
+ }
835
+ }
836
+
837
+ }
838
+
839
+ }}
797
840
  onClick={(e: React.MouseEvent) => {
798
841
 
842
+ //
843
+ onCellClick?.(e);
844
+
799
845
  // update row data
800
846
  setTableRowNum(rowIndex);
801
847
  if (_currentData.length > 0) {
@@ -815,12 +861,11 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
815
861
  } : _currentData[0]);
816
862
 
817
863
  if (EVENTS_ENABLED) {
818
- setShowEdit(true);
819
864
  onModalEditOpen?.(_currentData.length === 0 ? {
820
865
  rowData: listSectionData,
821
866
  id: 0,
822
867
  date: getCalendarDate(`${year}-${month + 1}-${d}`)
823
- } : _currentData[0]);
868
+ } : _currentData[0], () => setShowEdit(true));
824
869
  }
825
870
  }
826
871
  }}
@@ -929,12 +974,11 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
929
974
  } : _currentData[0]);
930
975
 
931
976
  if (EVENTS_ENABLED) {
932
- setShowEdit(true);
933
977
  onModalEditOpen?.(_currentData.length === 0 ? {
934
978
  rowData: listSectionData,
935
979
  id: 0,
936
980
  date: getCalendarDate(`${year}-${month + 1}-${d}`)
937
- } : _currentData[0]);
981
+ } : _currentData[0], () => setShowEdit(true));
938
982
  }
939
983
  }
940
984
  }}
@@ -1000,11 +1044,16 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
1000
1044
  e.stopPropagation();
1001
1045
  setShowDelete(true);
1002
1046
 
1047
+ const _existsContent = _currentData[0];
1048
+ if (typeof _existsContent !== 'undefined') {
1049
+ _existsContent.rowData = listSectionData;
1050
+ }
1051
+
1003
1052
  onModalDeleteOpen?.(_currentData.length === 0 ? {
1004
1053
  rowData: listSectionData,
1005
1054
  id: 0,
1006
1055
  date: getCalendarDate(`${year}-${month + 1}-${d}`)
1007
- } : _currentData[0]);
1056
+ } : _existsContent);
1008
1057
  }}>
1009
1058
  {iconRemove ? <>{iconRemove}</> : <><svg width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path fillRule="evenodd" clipRule="evenodd" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10ZM8 11a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2H8Z" fill="#000" /></svg></>}
1010
1059
  {cellCloseBtnLabel || ''}
@@ -1028,10 +1077,35 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
1028
1077
  data-day={padZero(d)}
1029
1078
  data-week={i}
1030
1079
  data-row={rowIndex}
1031
- onMouseEnter={_eventContentTooltip === '' ? () => {} : ( tableTooltipDisabled ? () => {} : (_eventContent !== '' ? (e: React.MouseEvent) => {handleTableTooltipMouseEnter(e, _eventContentTooltip)} : () => {}) )}
1032
- onMouseLeave={_eventContentTooltip === '' ? () => {} : ( tableTooltipDisabled ? () => {} : (_eventContent !== '' ? handleTableTooltipMouseLeave : () => {}) )}
1080
+ onMouseEnter={(e: React.MouseEvent) => {
1081
+ onCellMouseEnter?.(e);
1082
+
1083
+ if (_eventContentTooltip !== '') {
1084
+ if (typeof tableTooltipDisabled === 'undefined' || tableTooltipDisabled === false) {
1085
+ if (_eventContent !== '') {
1086
+ handleTableTooltipMouseEnter(e, _eventContentTooltip);
1087
+ }
1088
+ }
1089
+ }
1090
+ }}
1091
+ onMouseLeave={(e: React.MouseEvent) => {
1092
+ onCellMouseLeave?.(e);
1093
+
1094
+ if (_eventContentTooltip !== '') {
1095
+ if (typeof tableTooltipDisabled === 'undefined' || tableTooltipDisabled === false) {
1096
+ if (_eventContent !== '') {
1097
+ handleTableTooltipMouseLeave();
1098
+ }
1099
+ }
1100
+
1101
+ }
1102
+
1103
+ }}
1033
1104
  onClick={(e: React.MouseEvent) => {
1034
1105
 
1106
+ //
1107
+ onCellClick?.(e);
1108
+
1035
1109
  // update row data
1036
1110
  setTableRowNum(rowIndex);
1037
1111
  if (_currentData.length > 0) {
@@ -1050,12 +1124,11 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
1050
1124
  } : _currentData[0]);
1051
1125
 
1052
1126
  if (EVENTS_ENABLED) {
1053
- setShowEdit(true);
1054
1127
  onModalEditOpen?.(_currentData.length === 0 ? {
1055
1128
  rowData: listSectionData,
1056
1129
  id: 0,
1057
1130
  date: getCalendarDate(`${year}-${month + 1}-${d}`)
1058
- } : _currentData[0]);
1131
+ } : _currentData[0], () => setShowEdit(true));
1059
1132
  }
1060
1133
  }
1061
1134
  }}
@@ -1424,6 +1497,7 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
1424
1497
 
1425
1498
  return (
1426
1499
  <>
1500
+
1427
1501
  {/*/////////////////////////////////////////////////// */}
1428
1502
  {/*//////////////////// Calendar //////////////////// */}
1429
1503
  {/*////////////////////////////////////////////////// */}
@@ -1520,133 +1594,136 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
1520
1594
  {/*/////////////////////////////////////////////////// */}
1521
1595
  {/*//////////////////// Table Grid //////////////////// */}
1522
1596
  {/*////////////////////////////////////////////////// */}
1523
- <div ref={tableGridRef} className="e-cal-tl-table__timeline-table__wrapper invisible">
1524
- <table role="grid" className="e-cal-tl-table__timeline-table">
1525
- <colgroup>
1526
- <col className="e-cal-tl-table__datagrid-header" />
1527
- <col />
1528
- <col />
1529
- </colgroup>
1530
- <thead role="rowgroup">
1531
- <tr role="presentation">
1532
- <th role="presentation">
1533
- {/*<!--///// HEADER LEFT //////-->*/}
1534
- <div className="e-cal-tl-table__timeline-header e-cal-tl-table__timeline-headertitle">
1535
-
1536
- <table role="presentation" className="e-cal-tl-table__datagrid-header__title">
1537
- <colgroup>
1538
- <col />
1539
- </colgroup>
1540
- <thead role="presentation">
1541
- <tr role="row">
1542
- <th role="columnheader">
1543
- <div className="e-cal-tl-table__cell-cushion e-cal-tl-table__cell-cushion-headertitle">
1544
- {tableListSectionTitle || ''}
1545
- </div>
1546
- </th>
1547
- </tr>
1548
- </thead>
1549
- </table>
1550
-
1551
- </div>
1552
- {/*<!--///// /HEADER LEFT //////-->*/}
1597
+ {val.length === 0 ? null : <>
1598
+ <div ref={tableGridRef} className="e-cal-tl-table__timeline-table__wrapper invisible">
1599
+ <table role="grid" className="e-cal-tl-table__timeline-table">
1600
+ <colgroup>
1601
+ <col className="e-cal-tl-table__datagrid-header" />
1602
+ <col />
1603
+ <col />
1604
+ </colgroup>
1605
+ <thead ref={tableGridHeaderRef} role="rowgroup">
1606
+ <tr role="presentation">
1607
+ <th role="presentation">
1608
+ {/*<!--///// HEADER LEFT //////-->*/}
1609
+ <div className="e-cal-tl-table__timeline-header e-cal-tl-table__timeline-headertitle">
1610
+
1611
+ <table role="presentation" className="e-cal-tl-table__datagrid-header__title">
1612
+ <colgroup>
1613
+ <col />
1614
+ </colgroup>
1615
+ <thead role="presentation">
1616
+ <tr role="row">
1617
+ <th role="columnheader">
1618
+ <div className="e-cal-tl-table__cell-cushion e-cal-tl-table__cell-cushion-headertitle">
1619
+ {tableListSectionTitle || ''}
1620
+ </div>
1621
+ </th>
1622
+ </tr>
1623
+ </thead>
1624
+ </table>
1553
1625
 
1626
+ </div>
1627
+ {/*<!--///// /HEADER LEFT //////-->*/}
1554
1628
 
1555
1629
 
1556
- </th>
1557
- <td role="presentation" className="e-cal-tl-table__timeline-divider"><div></div></td>
1558
- <th role="presentation">
1559
- <div ref={scrollHeaderRef} className="e-cal-tl-table__scroller-harness e-cal-tl-table__scroller-harness--hide" data-scroll="header" onScroll={syncTableScrollHeader}>
1560
- <div className="e-cal-tl-table__scroller">
1561
-
1562
- {/*<!--///// HEADER RIGHT //////-->*/}
1563
- <div className="e-cal-tl-table__timeline-header">
1564
-
1565
- <table className="e-cal-tl-table__datagrid-header__content e-cal-tl-table__scrollgrid-sync-table" >
1566
- <tbody>
1567
- <tr>
1568
- {generateDaysUi()}
1569
- </tr>
1570
- </tbody>
1571
- </table>
1630
+
1631
+ </th>
1632
+ <td role="presentation" className="e-cal-tl-table__timeline-divider"><div></div></td>
1633
+ <th role="presentation">
1634
+ <div ref={scrollHeaderRef} className="e-cal-tl-table__scroller-harness e-cal-tl-table__scroller-harness--hide" data-scroll="header" onScroll={syncTableScrollHeader}>
1635
+ <div className="e-cal-tl-table__scroller">
1636
+
1637
+ {/*<!--///// HEADER RIGHT //////-->*/}
1638
+ <div className="e-cal-tl-table__timeline-header">
1639
+
1640
+ <table className="e-cal-tl-table__datagrid-header__content e-cal-tl-table__scrollgrid-sync-table" >
1641
+ <tbody>
1642
+ <tr>
1643
+ {generateDaysUi()}
1644
+ </tr>
1645
+ </tbody>
1646
+ </table>
1647
+ </div>
1648
+ {/*<!--///// /HEADER RIGHT //////-->*/}
1572
1649
  </div>
1573
- {/*<!--///// /HEADER RIGHT //////-->*/}
1574
1650
  </div>
1575
- </div>
1576
- </th>
1577
- </tr>
1578
- </thead>
1651
+ </th>
1652
+ </tr>
1653
+ </thead>
1579
1654
 
1580
1655
 
1581
1656
 
1582
- <tbody role="rowgroup">
1583
- <tr role="presentation" className="e-cal-tl-table__list-section">
1584
- <td role="presentation">
1657
+ <tbody role="rowgroup">
1658
+ <tr role="presentation" className="e-cal-tl-table__list-section">
1659
+ <td role="presentation">
1585
1660
 
1586
- <div ref={scrollListRef} className={`e-cal-tl-table__scroller-harness ${AUTO_SCROLL ? 'autoscroll' : ''}`} data-scroll="list" onScroll={syncTableScrollList}>
1587
- <div className="e-cal-tl-table__scroller">
1661
+ <div ref={scrollListRef} className={`e-cal-tl-table__scroller-harness ${AUTO_SCROLL ? 'autoscroll' : ''}`} data-scroll="list" onScroll={syncTableScrollList}>
1662
+ <div className="e-cal-tl-table__scroller">
1588
1663
 
1589
- {/*<!--///// RESOURCE LEFT //////-->*/}
1590
- <table role="presentation" className="e-cal-tl-table__datagrid-body__title e-cal-tl-table__scrollgrid-sync-table">
1591
- <colgroup>
1592
- <col />
1593
- </colgroup>
1594
- <tbody role="presentation">
1664
+ {/*<!--///// RESOURCE LEFT //////-->*/}
1665
+ <table role="presentation" className="e-cal-tl-table__datagrid-body__title e-cal-tl-table__scrollgrid-sync-table">
1666
+ <colgroup>
1667
+ <col />
1668
+ </colgroup>
1669
+ <tbody role="presentation">
1595
1670
 
1596
- {/*<!-- per row -->*/}
1597
- {generateListSectionUi()}
1598
- {/*<!-- /per row -->*/}
1671
+ {/*<!-- per row -->*/}
1672
+ {generateListSectionUi()}
1673
+ {/*<!-- /per row -->*/}
1599
1674
 
1600
- </tbody>
1601
- </table>
1602
- {/*<!--///// /RESOURCE LEFT //////-->*/}
1675
+ </tbody>
1676
+ </table>
1677
+ {/*<!--///// /RESOURCE LEFT //////-->*/}
1678
+ </div>
1603
1679
  </div>
1604
- </div>
1605
1680
 
1606
1681
 
1607
- </td>
1608
- <td role="presentation" className="e-cal-tl-table__timeline-divider"><div></div></td>
1609
- <td role="presentation">
1610
-
1682
+ </td>
1683
+ <td role="presentation" className="e-cal-tl-table__timeline-divider"><div></div></td>
1684
+ <td role="presentation">
1685
+
1611
1686
 
1612
- <div ref={scrollBodyRef} className={`e-cal-tl-table__scroller-harness ${AUTO_SCROLL ? 'autoscroll' : ''}`} data-scroll="body" onScroll={syncTableScrollBody} onMouseMove={BODY_DRAG ? handleTableMove : () =>{}} onMouseDown={BODY_DRAG ? handleTableDragStart : () =>{}} onMouseUp={BODY_DRAG ? handleTableDragEnd : () =>{}} onMouseLeave={BODY_DRAG ? handleTableDragEnd : () =>{}}>
1613
- <div className="e-cal-tl-table__scroller">
1614
- {/*<!--///// RESOURCE RIGHT //////-->*/}
1615
- <div className="e-cal-tl-table__timeline-body">
1616
- <table className="e-cal-tl-table__datagrid-body__content e-cal-tl-table__scrollgrid-sync-table">
1617
- <colgroup>
1618
- {generateColUi()}
1619
- </colgroup>
1620
- <tbody>
1621
- {/*<!-- per row -->*/}
1622
- {val.map((item: any, i: number) => {
1687
+ <div ref={scrollBodyRef} className={`e-cal-tl-table__scroller-harness ${AUTO_SCROLL ? 'autoscroll' : ''}`} data-scroll="body" onScroll={syncTableScrollBody} onMouseMove={BODY_DRAG ? handleTableMove : () =>{}} onMouseDown={BODY_DRAG ? handleTableDragStart : () =>{}} onMouseUp={BODY_DRAG ? handleTableDragEnd : () =>{}} onMouseLeave={BODY_DRAG ? handleTableDragEnd : () =>{}}>
1688
+ <div className="e-cal-tl-table__scroller">
1689
+ {/*<!--///// RESOURCE RIGHT //////-->*/}
1690
+ <div className="e-cal-tl-table__timeline-body">
1691
+ <table className="e-cal-tl-table__datagrid-body__content e-cal-tl-table__scrollgrid-sync-table">
1692
+ <colgroup>
1693
+ {generateColUi()}
1694
+ </colgroup>
1695
+ <tbody>
1696
+ {/*<!-- per row -->*/}
1697
+ {val.map((item: any, i: number) => {
1623
1698
 
1624
- return (
1625
- <tr key={i}>
1626
- {generateDaysUi(item.eventSources, item.listSection, i, true)}
1627
- </tr>
1628
- )
1699
+ return (
1700
+ <tr key={i}>
1701
+ {generateDaysUi(item.eventSources, item.listSection, i, true)}
1702
+ </tr>
1703
+ )
1629
1704
 
1630
- })}
1705
+ })}
1631
1706
 
1632
- </tbody>
1633
- </table>
1707
+ </tbody>
1708
+ </table>
1634
1709
 
1635
- </div>
1636
- {/*<!--///// /RESOURCE RIGHT //////-->*/}
1710
+ </div>
1711
+ {/*<!--///// /RESOURCE RIGHT //////-->*/}
1637
1712
 
1638
1713
 
1714
+ </div>
1639
1715
  </div>
1640
- </div>
1641
1716
 
1642
1717
 
1643
- </td>
1644
- </tr>
1645
- </tbody>
1646
- </table>
1718
+ </td>
1719
+ </tr>
1720
+ </tbody>
1721
+ </table>
1722
+
1723
+ </div>{/* /.e-cal-tl-table__timeline-table__wrapper */}
1647
1724
 
1648
- </div>{/* /.e-cal-tl-table__timeline-table__wrapper */}
1649
1725
 
1726
+ </>}
1650
1727
 
1651
1728
 
1652
1729
  {/*/////////////////////////////////////////////////// */}