@progress/kendo-themes-html 8.0.0-dev.3 → 8.0.0-dev.4
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.
- package/dist/cjs/scheduler/scheduler-body.spec.js +52 -0
- package/dist/cjs/scheduler/scheduler-cell.spec.js +75 -0
- package/dist/cjs/scheduler/scheduler-content.spec.js +46 -0
- package/dist/cjs/scheduler/scheduler-event.spec.js +4433 -0
- package/dist/cjs/scheduler/scheduler-group.spec.js +66 -0
- package/dist/cjs/scheduler/scheduler-head.spec.js +52 -0
- package/dist/cjs/scheduler/scheduler-header.spec.js +46 -0
- package/dist/cjs/scheduler/scheduler-row.spec.js +46 -0
- package/dist/cjs/scheduler/scheduler-sticky-cell.spec.js +46 -0
- package/dist/cjs/scheduler/scheduler-table.spec.js +46 -0
- package/dist/cjs/scheduler/scheduler-task.spec.js +4372 -0
- package/dist/cjs/scheduler/scheduler-times.spec.js +46 -0
- package/dist/cjs/scheduler/{tests/scheduler-jquery-agenda.js → scheduler-toolbar.spec.js} +38 -94
- package/dist/cjs/scheduler/scheduler-view.spec.js +65 -0
- package/dist/cjs/scheduler/scheduler.spec.js +113 -0
- package/dist/cjs/scheduler/templates/scheduler-agenda.js +8541 -0
- package/dist/cjs/scheduler/{tests/scheduler-angular-month-rtl.js → templates/scheduler-day.js} +1324 -987
- package/dist/cjs/scheduler/{tests/scheduler-angular-agenda.js → templates/scheduler-flex-agenda.js} +1272 -985
- package/dist/cjs/scheduler/{tests/scheduler-angular-month.js → templates/scheduler-flex-day.js} +1274 -972
- package/dist/cjs/scheduler/templates/scheduler-flex-horizontal-grouping.js +8560 -0
- package/dist/cjs/scheduler/{tests/scheduler-jquery-month.js → templates/scheduler-flex-month.js} +1294 -969
- package/dist/cjs/scheduler/{tests/scheduler-angular-agenda-rtl.js → templates/scheduler-flex-timeline.js} +1291 -988
- package/dist/cjs/scheduler/{tests/scheduler-react-agenda.js → templates/scheduler-flex-vertical-grouping.js} +1470 -1100
- package/dist/cjs/scheduler/templates/scheduler-flex-week.js +8597 -0
- package/dist/cjs/scheduler/templates/scheduler-horizontal-grouping.js +8640 -0
- package/dist/cjs/scheduler/templates/scheduler-month.js +8577 -0
- package/dist/cjs/scheduler/templates/scheduler-timeline.js +8543 -0
- package/dist/cjs/scheduler/{tests/scheduler-angular-day-rtl.js → templates/scheduler-vertical-grouping.js} +1345 -1017
- package/dist/cjs/scheduler/{tests/scheduler-angular.js → templates/scheduler-week.js} +1372 -1126
- package/dist/cjs/scheduler/tests/scheduler-agenda-view.js +8638 -0
- package/dist/cjs/scheduler/tests/{scheduler.js → scheduler-current-time-marker.js} +1045 -459
- package/dist/cjs/scheduler/tests/scheduler-day-view.js +8653 -0
- package/dist/cjs/scheduler/tests/scheduler-events.js +9006 -0
- package/dist/cjs/scheduler/tests/scheduler-month-view.js +8700 -0
- package/dist/cjs/scheduler/tests/scheduler-react-timeline-multi.js +1724 -1481
- package/dist/cjs/scheduler/tests/scheduler-timeline-view.js +8656 -0
- package/dist/cjs/scheduler/tests/{scheduler-angular-rtl.js → scheduler-week-view.js} +1558 -1139
- package/dist/cjs/scheduler/tests/{scheduler-react-timeline.js → scheduler-year-view.js} +1203 -601
- package/dist/esm/scheduler/scheduler-body.spec.mjs +30 -0
- package/dist/esm/scheduler/scheduler-cell.spec.mjs +53 -0
- package/dist/esm/scheduler/scheduler-content.spec.mjs +24 -0
- package/dist/esm/scheduler/scheduler-event.spec.mjs +4417 -0
- package/dist/esm/scheduler/scheduler-group.spec.mjs +44 -0
- package/dist/esm/scheduler/scheduler-head.spec.mjs +30 -0
- package/dist/esm/scheduler/scheduler-header.spec.mjs +24 -0
- package/dist/esm/scheduler/scheduler-row.spec.mjs +24 -0
- package/dist/esm/scheduler/scheduler-sticky-cell.spec.mjs +24 -0
- package/dist/esm/scheduler/scheduler-table.spec.mjs +24 -0
- package/dist/esm/scheduler/scheduler-task.spec.mjs +4356 -0
- package/dist/esm/scheduler/scheduler-times.spec.mjs +24 -0
- package/dist/esm/scheduler/{tests/scheduler-jquery-agenda.mjs → scheduler-toolbar.spec.mjs} +34 -90
- package/dist/esm/scheduler/scheduler-view.spec.mjs +43 -0
- package/dist/esm/scheduler/scheduler.spec.mjs +91 -0
- package/dist/esm/scheduler/templates/scheduler-agenda.mjs +8525 -0
- package/dist/esm/scheduler/{tests/scheduler-jquery-month.mjs → templates/scheduler-day.mjs} +1318 -984
- package/dist/esm/scheduler/{tests/scheduler-angular-agenda.mjs → templates/scheduler-flex-agenda.mjs} +1268 -981
- package/dist/esm/scheduler/{tests/scheduler-angular-month-rtl.mjs → templates/scheduler-flex-day.mjs} +1270 -968
- package/dist/esm/scheduler/templates/scheduler-flex-horizontal-grouping.mjs +8544 -0
- package/dist/esm/scheduler/{tests/scheduler-angular-day-rtl.mjs → templates/scheduler-flex-month.mjs} +1293 -997
- package/dist/esm/scheduler/{tests/scheduler-angular-month.mjs → templates/scheduler-flex-timeline.mjs} +1286 -968
- package/dist/esm/scheduler/{tests/scheduler-react-agenda.mjs → templates/scheduler-flex-vertical-grouping.mjs} +1466 -1096
- package/dist/esm/scheduler/templates/scheduler-flex-week.mjs +8581 -0
- package/dist/esm/scheduler/{tests/scheduler-angular.mjs → templates/scheduler-horizontal-grouping.mjs} +1376 -1121
- package/dist/esm/scheduler/templates/scheduler-month.mjs +8561 -0
- package/dist/esm/scheduler/{tests/scheduler-angular-agenda-rtl.mjs → templates/scheduler-timeline.mjs} +1386 -1077
- package/dist/esm/scheduler/templates/scheduler-vertical-grouping.mjs +8563 -0
- package/dist/esm/scheduler/{tests/scheduler-angular-rtl.mjs → templates/scheduler-week.mjs} +1368 -1122
- package/dist/esm/scheduler/tests/scheduler-agenda-view.mjs +8622 -0
- package/dist/esm/scheduler/tests/{scheduler.mjs → scheduler-current-time-marker.mjs} +1041 -455
- package/dist/esm/scheduler/tests/scheduler-day-view.mjs +8637 -0
- package/dist/esm/scheduler/tests/scheduler-events.mjs +8990 -0
- package/dist/esm/scheduler/tests/scheduler-month-view.mjs +8684 -0
- package/dist/esm/scheduler/tests/scheduler-react-timeline-multi.mjs +1724 -1481
- package/dist/esm/scheduler/tests/scheduler-timeline-view.mjs +8640 -0
- package/dist/esm/scheduler/tests/scheduler-week-view.mjs +8788 -0
- package/dist/esm/scheduler/tests/{scheduler-react-timeline.mjs → scheduler-year-view.mjs} +1199 -597
- package/dist/types/scheduler/index.d.ts +30 -0
- package/dist/types/scheduler/scheduler-body.spec.d.ts +5 -0
- package/dist/types/scheduler/scheduler-cell.spec.d.ts +19 -0
- package/dist/types/scheduler/scheduler-content.spec.d.ts +1 -0
- package/dist/types/scheduler/scheduler-event.spec.d.ts +24 -0
- package/dist/types/scheduler/scheduler-group.spec.d.ts +13 -0
- package/dist/types/scheduler/scheduler-head.spec.d.ts +5 -0
- package/dist/types/scheduler/scheduler-header.spec.d.ts +1 -0
- package/dist/types/scheduler/scheduler-row.spec.d.ts +1 -0
- package/dist/types/scheduler/scheduler-sticky-cell.spec.d.ts +1 -0
- package/dist/types/scheduler/scheduler-table.spec.d.ts +2 -0
- package/dist/types/scheduler/scheduler-task.spec.d.ts +19 -0
- package/dist/types/scheduler/scheduler-times.spec.d.ts +1 -0
- package/dist/types/scheduler/scheduler-toolbar.spec.d.ts +5 -0
- package/dist/types/scheduler/scheduler-view.spec.d.ts +15 -0
- package/dist/types/scheduler/scheduler.spec.d.ts +15 -0
- package/dist/types/scheduler/templates/scheduler-agenda.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-day.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-flex-agenda.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-flex-day.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-flex-horizontal-grouping.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-flex-month.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-flex-timeline.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-flex-vertical-grouping.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-flex-week.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-horizontal-grouping.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-month.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-timeline.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-vertical-grouping.d.ts +1 -0
- package/dist/types/scheduler/templates/scheduler-week.d.ts +1 -0
- package/package.json +2 -2
- package/src/scheduler/index.ts +30 -0
- package/src/scheduler/scheduler-body.spec.tsx +25 -0
- package/src/scheduler/scheduler-cell.spec.tsx +68 -0
- package/src/scheduler/scheduler-content.spec.tsx +17 -0
- package/src/scheduler/scheduler-event.spec.tsx +105 -0
- package/src/scheduler/scheduler-group.spec.tsx +47 -0
- package/src/scheduler/scheduler-head.spec.tsx +25 -0
- package/src/scheduler/scheduler-header.spec.tsx +19 -0
- package/src/scheduler/scheduler-row.spec.tsx +17 -0
- package/src/scheduler/scheduler-sticky-cell.spec.tsx +18 -0
- package/src/scheduler/scheduler-table.spec.tsx +18 -0
- package/src/scheduler/scheduler-task.spec.tsx +60 -0
- package/src/scheduler/scheduler-times.spec.tsx +17 -0
- package/src/scheduler/scheduler-toolbar.spec.tsx +50 -0
- package/src/scheduler/scheduler-view.spec.tsx +47 -0
- package/src/scheduler/scheduler.spec.tsx +60 -0
- package/src/scheduler/templates/scheduler-agenda.tsx +123 -0
- package/src/scheduler/templates/scheduler-day.tsx +228 -0
- package/src/scheduler/templates/scheduler-flex-agenda.tsx +131 -0
- package/src/scheduler/templates/scheduler-flex-day.tsx +153 -0
- package/src/scheduler/templates/scheduler-flex-horizontal-grouping.tsx +336 -0
- package/src/scheduler/templates/scheduler-flex-month.tsx +156 -0
- package/src/scheduler/templates/scheduler-flex-timeline.tsx +114 -0
- package/src/scheduler/templates/scheduler-flex-vertical-grouping.tsx +345 -0
- package/src/scheduler/templates/scheduler-flex-week.tsx +210 -0
- package/src/scheduler/templates/scheduler-horizontal-grouping.tsx +265 -0
- package/src/scheduler/templates/scheduler-month.tsx +166 -0
- package/src/scheduler/templates/scheduler-timeline.tsx +116 -0
- package/src/scheduler/templates/scheduler-vertical-grouping.tsx +312 -0
- package/src/scheduler/templates/scheduler-week.tsx +268 -0
- package/src/scheduler/tests/scheduler-agenda-view.tsx +13 -0
- package/src/scheduler/tests/scheduler-current-time-marker.tsx +572 -0
- package/src/scheduler/tests/scheduler-day-view.tsx +13 -0
- package/src/scheduler/tests/scheduler-events.tsx +511 -0
- package/src/scheduler/tests/scheduler-month-view.tsx +13 -0
- package/src/scheduler/tests/scheduler-react-timeline-multi.tsx +661 -665
- package/src/scheduler/tests/scheduler-timeline-view.tsx +13 -0
- package/src/scheduler/tests/scheduler-week-view.tsx +13 -0
- package/src/scheduler/tests/scheduler-year-view.tsx +2399 -0
- package/dist/cjs/scheduler/tests/scheduler-flex-layout.js +0 -8222
- package/dist/cjs/scheduler/tests/scheduler-react-day.js +0 -8936
- package/dist/cjs/scheduler/tests/scheduler-react-month.js +0 -9739
- package/dist/cjs/scheduler/tests/scheduler-react-week.js +0 -9752
- package/dist/cjs/scheduler/tests/scheduler-year.js +0 -8906
- package/dist/esm/scheduler/tests/scheduler-flex-layout.mjs +0 -8206
- package/dist/esm/scheduler/tests/scheduler-react-day.mjs +0 -8920
- package/dist/esm/scheduler/tests/scheduler-react-month.mjs +0 -9723
- package/dist/esm/scheduler/tests/scheduler-react-week.mjs +0 -9736
- package/dist/esm/scheduler/tests/scheduler-year.mjs +0 -8890
- package/dist/types/scheduler/tests/scheduler-jquery-agenda.d.ts +0 -2
- package/dist/types/scheduler/tests/scheduler-jquery-month.d.ts +0 -2
- package/dist/types/scheduler/tests/scheduler-react-agenda.d.ts +0 -2
- package/dist/types/scheduler/tests/scheduler-react-day.d.ts +0 -2
- package/dist/types/scheduler/tests/scheduler-react-month.d.ts +0 -2
- package/dist/types/scheduler/tests/scheduler-react-timeline.d.ts +0 -2
- package/dist/types/scheduler/tests/scheduler-react-week.d.ts +0 -2
- package/dist/types/scheduler/tests/scheduler-year.d.ts +0 -2
- package/dist/types/scheduler/tests/scheduler.d.ts +0 -2
- package/src/scheduler/tests/scheduler-angular-agenda-rtl.tsx +0 -300
- package/src/scheduler/tests/scheduler-angular-agenda.tsx +0 -300
- package/src/scheduler/tests/scheduler-angular-day-rtl.tsx +0 -254
- package/src/scheduler/tests/scheduler-angular-month-rtl.tsx +0 -292
- package/src/scheduler/tests/scheduler-angular-month.tsx +0 -292
- package/src/scheduler/tests/scheduler-angular-rtl.tsx +0 -386
- package/src/scheduler/tests/scheduler-angular.tsx +0 -386
- package/src/scheduler/tests/scheduler-flex-layout.tsx +0 -492
- package/src/scheduler/tests/scheduler-jquery-agenda.tsx +0 -118
- package/src/scheduler/tests/scheduler-jquery-month.tsx +0 -306
- package/src/scheduler/tests/scheduler-react-agenda.tsx +0 -336
- package/src/scheduler/tests/scheduler-react-day.tsx +0 -1037
- package/src/scheduler/tests/scheduler-react-month.tsx +0 -1380
- package/src/scheduler/tests/scheduler-react-timeline.tsx +0 -669
- package/src/scheduler/tests/scheduler-react-week.tsx +0 -1786
- package/src/scheduler/tests/scheduler-year.tsx +0 -2383
- package/src/scheduler/tests/scheduler.tsx +0 -656
- /package/dist/types/scheduler/tests/{scheduler-angular-agenda-rtl.d.ts → scheduler-agenda-view.d.ts} +0 -0
- /package/dist/types/scheduler/tests/{scheduler-angular-agenda.d.ts → scheduler-current-time-marker.d.ts} +0 -0
- /package/dist/types/scheduler/tests/{scheduler-angular-day-rtl.d.ts → scheduler-day-view.d.ts} +0 -0
- /package/dist/types/scheduler/tests/{scheduler-angular-month-rtl.d.ts → scheduler-events.d.ts} +0 -0
- /package/dist/types/scheduler/tests/{scheduler-angular-month.d.ts → scheduler-month-view.d.ts} +0 -0
- /package/dist/types/scheduler/tests/{scheduler-angular-rtl.d.ts → scheduler-timeline-view.d.ts} +0 -0
- /package/dist/types/scheduler/tests/{scheduler-angular.d.ts → scheduler-week-view.d.ts} +0 -0
- /package/dist/types/scheduler/tests/{scheduler-flex-layout.d.ts → scheduler-year-view.d.ts} +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { classNames } from '../misc';
|
|
2
|
+
import Icon from '../icon/icon.spec';
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
const className = 'k-task';
|
|
6
|
+
|
|
7
|
+
const states = [];
|
|
8
|
+
|
|
9
|
+
const options = {};
|
|
10
|
+
|
|
11
|
+
const defaultProps = {
|
|
12
|
+
markStyle: { backgroundColor: "gold" },
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export type KendoSchedulerTaskProps = {
|
|
17
|
+
text?: string;
|
|
18
|
+
markStyle?: React.CSSProperties;
|
|
19
|
+
recurring?: boolean;
|
|
20
|
+
closable?: boolean;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const SchedulerTask = (
|
|
24
|
+
props: KendoSchedulerTaskProps
|
|
25
|
+
& React.HTMLAttributes<HTMLDivElement>
|
|
26
|
+
) => {
|
|
27
|
+
const {
|
|
28
|
+
text,
|
|
29
|
+
markStyle,
|
|
30
|
+
recurring,
|
|
31
|
+
closable,
|
|
32
|
+
...other
|
|
33
|
+
} = props;
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<div
|
|
37
|
+
{...other}
|
|
38
|
+
className={classNames(
|
|
39
|
+
className,
|
|
40
|
+
props.className
|
|
41
|
+
)}>
|
|
42
|
+
<span className="k-scheduler-mark" style={markStyle}></span>
|
|
43
|
+
{recurring && <Icon icon="arrow-rotate-cw" />}
|
|
44
|
+
<span className="k-scheduler-task text">{text}</span>
|
|
45
|
+
{closable &&
|
|
46
|
+
<a href="#" className="k-link k-event-delete">
|
|
47
|
+
<Icon icon="x" />
|
|
48
|
+
</a>
|
|
49
|
+
}
|
|
50
|
+
</div>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
SchedulerTask.states = states;
|
|
56
|
+
SchedulerTask.options = options;
|
|
57
|
+
SchedulerTask.defaultProps = defaultProps;
|
|
58
|
+
SchedulerTask.className = className;
|
|
59
|
+
|
|
60
|
+
export default SchedulerTask;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { classNames } from '../misc';
|
|
2
|
+
|
|
3
|
+
const className = 'k-scheduler-times';
|
|
4
|
+
|
|
5
|
+
export const SchedulerTimes = (
|
|
6
|
+
props: React.HTMLAttributes<HTMLDivElement>
|
|
7
|
+
) => (
|
|
8
|
+
<div
|
|
9
|
+
{...props}
|
|
10
|
+
className={classNames(
|
|
11
|
+
className,
|
|
12
|
+
props.className
|
|
13
|
+
)}
|
|
14
|
+
>
|
|
15
|
+
{props.children}
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Button } from '../button';
|
|
2
|
+
import { ButtonGroup } from '../button-group';
|
|
3
|
+
import { classNames } from '../misc';
|
|
4
|
+
import { Toolbar, KendoToolbarProps } from '../toolbar';
|
|
5
|
+
|
|
6
|
+
const className = 'k-scheduler-toolbar';
|
|
7
|
+
|
|
8
|
+
export type KendoSchedulerToolbarProps = KendoToolbarProps & {
|
|
9
|
+
footer?: boolean
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const SchedulerToolbar = (
|
|
13
|
+
props: KendoSchedulerToolbarProps &
|
|
14
|
+
React.HTMLAttributes<HTMLDivElement>
|
|
15
|
+
) => {
|
|
16
|
+
const { footer, ...others } = props;
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<Toolbar
|
|
20
|
+
{...others}
|
|
21
|
+
className={classNames(
|
|
22
|
+
props.className,
|
|
23
|
+
{
|
|
24
|
+
[ footer ? 'k-scheduler-footer' : className ]: true
|
|
25
|
+
}
|
|
26
|
+
)}
|
|
27
|
+
>
|
|
28
|
+
{props.children ||
|
|
29
|
+
<>
|
|
30
|
+
<ButtonGroup className="k-scheduler-navigation">
|
|
31
|
+
<Button className="k-group-start">Today</Button>
|
|
32
|
+
<Button icon="caret-alt-left"></Button>
|
|
33
|
+
<Button className="k-group-end" icon="caret-alt-right"></Button>
|
|
34
|
+
</ButtonGroup>
|
|
35
|
+
<Button icon="calendar" className="k-nav-current" fillMode="flat" >
|
|
36
|
+
Monday, June 13, 2022
|
|
37
|
+
</Button>
|
|
38
|
+
<span className="k-spacer"></span>
|
|
39
|
+
<ButtonGroup className="k-scheduler-views">
|
|
40
|
+
<Button className="k-group-start" selected>Day</Button>
|
|
41
|
+
<Button>Week</Button>
|
|
42
|
+
<Button>Month</Button>
|
|
43
|
+
<Button>Timeline</Button>
|
|
44
|
+
<Button className="k-group-end">Agenda</Button>
|
|
45
|
+
</ButtonGroup>
|
|
46
|
+
</>
|
|
47
|
+
}
|
|
48
|
+
</Toolbar>
|
|
49
|
+
);
|
|
50
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { classNames } from '../misc';
|
|
2
|
+
|
|
3
|
+
const SCHEDULER_VIEW_CLASSNAME = 'k-scheduler-layout';
|
|
4
|
+
|
|
5
|
+
const states = [];
|
|
6
|
+
|
|
7
|
+
const options = {};
|
|
8
|
+
|
|
9
|
+
const defaultProps = {};
|
|
10
|
+
|
|
11
|
+
export type KendoSchedulerViewProps = {
|
|
12
|
+
view?: "day" | "week" | "month" | "agenda" | "timeline" | "year";
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export const SchedulerView = (
|
|
16
|
+
props: KendoSchedulerViewProps & (
|
|
17
|
+
| ( React.HTMLAttributes<HTMLDivElement> & { as: 'div' } )
|
|
18
|
+
| ( React.HTMLAttributes<HTMLTableElement> & { as: 'table' } )
|
|
19
|
+
)
|
|
20
|
+
) => {
|
|
21
|
+
const {
|
|
22
|
+
as: Component = 'div',
|
|
23
|
+
view,
|
|
24
|
+
...other
|
|
25
|
+
} = props;
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<Component
|
|
29
|
+
{...other}
|
|
30
|
+
className={classNames(
|
|
31
|
+
props.className,
|
|
32
|
+
SCHEDULER_VIEW_CLASSNAME,
|
|
33
|
+
{
|
|
34
|
+
[`k-scheduler-${view}view`]: view,
|
|
35
|
+
}
|
|
36
|
+
)}>
|
|
37
|
+
{props.children}
|
|
38
|
+
</Component>
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
SchedulerView.states = states;
|
|
43
|
+
SchedulerView.options = options;
|
|
44
|
+
SchedulerView.className = SCHEDULER_VIEW_CLASSNAME;
|
|
45
|
+
SchedulerView.defaultProps = defaultProps;
|
|
46
|
+
|
|
47
|
+
export default SchedulerView;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { classNames } from '../misc';
|
|
2
|
+
import SchedulerView from './scheduler-view.spec';
|
|
3
|
+
|
|
4
|
+
const SCHEDULER_CLASSNAME = 'k-scheduler';
|
|
5
|
+
|
|
6
|
+
const states = [];
|
|
7
|
+
|
|
8
|
+
const options = {};
|
|
9
|
+
|
|
10
|
+
const defaultProps = {};
|
|
11
|
+
|
|
12
|
+
export type KendoSchedulerProps = {
|
|
13
|
+
view?: "day" | "week" | "month" | "year" | "agenda" | "timeline";
|
|
14
|
+
toolbar?: JSX.Element | JSX.Element[];
|
|
15
|
+
footer?: JSX.Element | JSX.Element[];
|
|
16
|
+
layout?: "table" | "flex";
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export const Scheduler = (
|
|
20
|
+
props: KendoSchedulerProps & React.HTMLAttributes<HTMLDivElement>
|
|
21
|
+
) => {
|
|
22
|
+
const {
|
|
23
|
+
view,
|
|
24
|
+
toolbar,
|
|
25
|
+
footer,
|
|
26
|
+
layout,
|
|
27
|
+
...other
|
|
28
|
+
} = props;
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<div
|
|
32
|
+
{...other}
|
|
33
|
+
className={classNames(
|
|
34
|
+
props.className,
|
|
35
|
+
SCHEDULER_CLASSNAME
|
|
36
|
+
)}
|
|
37
|
+
>
|
|
38
|
+
{toolbar}
|
|
39
|
+
<SchedulerView
|
|
40
|
+
className={classNames(
|
|
41
|
+
{
|
|
42
|
+
'k-scheduler-layout-flex': layout === 'flex',
|
|
43
|
+
}
|
|
44
|
+
)}
|
|
45
|
+
as={layout === 'table' ? 'table' : 'div'}
|
|
46
|
+
view={view}
|
|
47
|
+
>
|
|
48
|
+
{props.children}
|
|
49
|
+
</SchedulerView>
|
|
50
|
+
{footer}
|
|
51
|
+
</div>
|
|
52
|
+
);
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
Scheduler.states = states;
|
|
56
|
+
Scheduler.options = options;
|
|
57
|
+
Scheduler.className = SCHEDULER_CLASSNAME;
|
|
58
|
+
Scheduler.defaultProps = defaultProps;
|
|
59
|
+
|
|
60
|
+
export default Scheduler;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { ButtonGroup } from '../../button-group';
|
|
2
|
+
import { Button } from '../../button';
|
|
3
|
+
import { Scheduler, SchedulerBody, SchedulerCell, SchedulerContent, SchedulerHead, SchedulerHeader, SchedulerTable, SchedulerToolbar } from '../index';
|
|
4
|
+
import SchedulerTask from '../scheduler-task.spec';
|
|
5
|
+
|
|
6
|
+
export const SchedulerAgenda = ({ style, ...props }: any) => (
|
|
7
|
+
<Scheduler
|
|
8
|
+
style={style}
|
|
9
|
+
layout="table"
|
|
10
|
+
view="agenda"
|
|
11
|
+
toolbar={
|
|
12
|
+
<>
|
|
13
|
+
<SchedulerToolbar>
|
|
14
|
+
<ButtonGroup className="k-scheduler-navigation">
|
|
15
|
+
<Button className="k-group-start">Today</Button>
|
|
16
|
+
<Button icon="caret-alt-left"></Button>
|
|
17
|
+
<Button className="k-group-end" icon="caret-alt-right"></Button>
|
|
18
|
+
</ButtonGroup>
|
|
19
|
+
<Button icon="calendar" className="k-nav-current" fillMode="flat" >
|
|
20
|
+
06/13/2022 - 06/20/2022
|
|
21
|
+
</Button>
|
|
22
|
+
<span className="k-spacer"></span>
|
|
23
|
+
<ButtonGroup className="k-scheduler-views">
|
|
24
|
+
<Button className="k-group-start">Day</Button>
|
|
25
|
+
<Button>Week</Button>
|
|
26
|
+
<Button>Month</Button>
|
|
27
|
+
<Button>Timeline</Button>
|
|
28
|
+
<Button className="k-group-end" selected>Agenda</Button>
|
|
29
|
+
</ButtonGroup>
|
|
30
|
+
</SchedulerToolbar>
|
|
31
|
+
</>
|
|
32
|
+
}
|
|
33
|
+
footer={
|
|
34
|
+
<>
|
|
35
|
+
<SchedulerToolbar footer>
|
|
36
|
+
<Button icon="clock" className="k-scheduler-fullday">Show business hours</Button>
|
|
37
|
+
</SchedulerToolbar>
|
|
38
|
+
</>
|
|
39
|
+
}
|
|
40
|
+
children={
|
|
41
|
+
<tbody>
|
|
42
|
+
<SchedulerHead as="tr">
|
|
43
|
+
<td>
|
|
44
|
+
<SchedulerHeader>
|
|
45
|
+
<SchedulerTable>
|
|
46
|
+
<tbody>
|
|
47
|
+
<tr>
|
|
48
|
+
<SchedulerCell as="th" className="k-scheduler-datecolumn">Date</SchedulerCell>
|
|
49
|
+
<SchedulerCell as="th" className="k-scheduler-timecolumn">Time</SchedulerCell>
|
|
50
|
+
<SchedulerCell as="th">Event</SchedulerCell>
|
|
51
|
+
</tr>
|
|
52
|
+
</tbody>
|
|
53
|
+
</SchedulerTable>
|
|
54
|
+
</SchedulerHeader>
|
|
55
|
+
</td>
|
|
56
|
+
</SchedulerHead>
|
|
57
|
+
<SchedulerBody as="tr">
|
|
58
|
+
<td>
|
|
59
|
+
<SchedulerContent>
|
|
60
|
+
<SchedulerTable>
|
|
61
|
+
<tbody>
|
|
62
|
+
<tr>
|
|
63
|
+
<SchedulerCell as="td" className="k-scheduler-datecolumn k-first">
|
|
64
|
+
<strong className="k-scheduler-agendaday">13</strong>
|
|
65
|
+
<em className="k-scheduler-agendaweek">Monday</em>
|
|
66
|
+
<span className="k-scheduler-agendadate">June, 2022</span>
|
|
67
|
+
</SchedulerCell>
|
|
68
|
+
<SchedulerCell as="td" className="k-scheduler-timecolumn">
|
|
69
|
+
<div>7:00 PM-9:00 PM</div>
|
|
70
|
+
</SchedulerCell>
|
|
71
|
+
<SchedulerCell as="td">
|
|
72
|
+
<SchedulerTask text="Task 1 Title" closable />
|
|
73
|
+
</SchedulerCell>
|
|
74
|
+
</tr>
|
|
75
|
+
<tr>
|
|
76
|
+
<SchedulerCell as="td" className="k-scheduler-datecolumn k-first">
|
|
77
|
+
<strong className="k-scheduler-agendaday">14</strong>
|
|
78
|
+
<em className="k-scheduler-agendaweek">Tuesday</em>
|
|
79
|
+
<span className="k-scheduler-agendadate">June, 2013</span>
|
|
80
|
+
</SchedulerCell>
|
|
81
|
+
<SchedulerCell as="td" className="k-scheduler-timecolumn">
|
|
82
|
+
<div>all day</div>
|
|
83
|
+
</SchedulerCell>
|
|
84
|
+
<SchedulerCell as="td">
|
|
85
|
+
<SchedulerTask text="Task 2 Title" closable />
|
|
86
|
+
</SchedulerCell>
|
|
87
|
+
</tr>
|
|
88
|
+
<tr>
|
|
89
|
+
<SchedulerCell as="td" className="k-scheduler-datecolumn k-first">
|
|
90
|
+
<strong className="k-scheduler-agendaday">15</strong>
|
|
91
|
+
<em className="k-scheduler-agendaweek">Wednesday</em>
|
|
92
|
+
<span className="k-scheduler-agendadate">June, 2013</span>
|
|
93
|
+
</SchedulerCell>
|
|
94
|
+
<SchedulerCell as="td" className="k-scheduler-timecolumn">
|
|
95
|
+
<div>6:30 PM-8:00 PM</div>
|
|
96
|
+
</SchedulerCell>
|
|
97
|
+
<SchedulerCell as="td">
|
|
98
|
+
<SchedulerTask text="Task 3 Title" closable />
|
|
99
|
+
</SchedulerCell>
|
|
100
|
+
</tr>
|
|
101
|
+
<tr>
|
|
102
|
+
<SchedulerCell as="td" className="k-scheduler-datecolumn k-first">
|
|
103
|
+
<strong className="k-scheduler-agendaday">16</strong>
|
|
104
|
+
<em className="k-scheduler-agendaweek">Wednesday</em>
|
|
105
|
+
<span className="k-scheduler-agendadate">June, 2013</span>
|
|
106
|
+
</SchedulerCell>
|
|
107
|
+
<SchedulerCell as="td" className="k-scheduler-timecolumn">
|
|
108
|
+
<div>7:30 AM-8:30 AM</div>
|
|
109
|
+
</SchedulerCell>
|
|
110
|
+
<SchedulerCell as="td">
|
|
111
|
+
<SchedulerTask text="Task 4 Title" recurring />
|
|
112
|
+
</SchedulerCell>
|
|
113
|
+
</tr>
|
|
114
|
+
</tbody>
|
|
115
|
+
</SchedulerTable>
|
|
116
|
+
</SchedulerContent>
|
|
117
|
+
</td>
|
|
118
|
+
</SchedulerBody>
|
|
119
|
+
</tbody>
|
|
120
|
+
}
|
|
121
|
+
{...props}
|
|
122
|
+
></Scheduler>
|
|
123
|
+
);
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { Button } from '../../button';
|
|
2
|
+
import { Scheduler, SchedulerBody, SchedulerCell, SchedulerContent, SchedulerHead, SchedulerHeader, SchedulerTable, SchedulerTimes, SchedulerToolbar, SchedulerEvent } from '../index';
|
|
3
|
+
|
|
4
|
+
export const SchedulerDay = ({ style, ...props }: any) => (
|
|
5
|
+
<Scheduler
|
|
6
|
+
style={style}
|
|
7
|
+
layout="table"
|
|
8
|
+
view="day"
|
|
9
|
+
toolbar={
|
|
10
|
+
<SchedulerToolbar />
|
|
11
|
+
}
|
|
12
|
+
footer={
|
|
13
|
+
<>
|
|
14
|
+
<SchedulerToolbar footer>
|
|
15
|
+
<Button icon="clock" className="k-scheduler-fullday">Show business hours</Button>
|
|
16
|
+
</SchedulerToolbar>
|
|
17
|
+
</>
|
|
18
|
+
}
|
|
19
|
+
children={
|
|
20
|
+
<>
|
|
21
|
+
<tbody>
|
|
22
|
+
<SchedulerHead as="tr">
|
|
23
|
+
<td>
|
|
24
|
+
<SchedulerTimes>
|
|
25
|
+
<SchedulerTable>
|
|
26
|
+
<tbody>
|
|
27
|
+
<tr style={{ height: "37px" }}>
|
|
28
|
+
<SchedulerCell as="th" />
|
|
29
|
+
</tr>
|
|
30
|
+
<tr style={{ height: "36px" }}>
|
|
31
|
+
<SchedulerCell as="th" allDay text="all day" />
|
|
32
|
+
</tr>
|
|
33
|
+
</tbody>
|
|
34
|
+
</SchedulerTable>
|
|
35
|
+
</SchedulerTimes>
|
|
36
|
+
</td>
|
|
37
|
+
<td>
|
|
38
|
+
<SchedulerHeader>
|
|
39
|
+
<SchedulerTable>
|
|
40
|
+
<tbody>
|
|
41
|
+
<tr className="k-scheduler-date-group">
|
|
42
|
+
<SchedulerCell as="th" text="Mon 6/13" />
|
|
43
|
+
</tr>
|
|
44
|
+
</tbody>
|
|
45
|
+
</SchedulerTable>
|
|
46
|
+
<div style={{ position: "relative" }}>
|
|
47
|
+
<SchedulerTable className="k-scheduler-header-all-day">
|
|
48
|
+
<tbody>
|
|
49
|
+
<tr style={{ height: "36px" }}>
|
|
50
|
+
<SchedulerCell as="td"/>
|
|
51
|
+
</tr>
|
|
52
|
+
</tbody>
|
|
53
|
+
</SchedulerTable>
|
|
54
|
+
</div>
|
|
55
|
+
</SchedulerHeader>
|
|
56
|
+
</td>
|
|
57
|
+
</SchedulerHead>
|
|
58
|
+
<SchedulerBody as="tr">
|
|
59
|
+
<td>
|
|
60
|
+
<SchedulerTimes style={{ height: "195px" }}>
|
|
61
|
+
<SchedulerTable style={{ height: "400px" }}>
|
|
62
|
+
<tbody>
|
|
63
|
+
<tr>
|
|
64
|
+
<SchedulerCell as="th">
|
|
65
|
+
<span>7:00 AM</span>
|
|
66
|
+
</SchedulerCell>
|
|
67
|
+
</tr>
|
|
68
|
+
<tr>
|
|
69
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
70
|
+
</tr>
|
|
71
|
+
<tr>
|
|
72
|
+
<SchedulerCell as="th">
|
|
73
|
+
<span>8:00 AM</span>
|
|
74
|
+
</SchedulerCell>
|
|
75
|
+
</tr>
|
|
76
|
+
<tr>
|
|
77
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
78
|
+
</tr>
|
|
79
|
+
<tr>
|
|
80
|
+
<SchedulerCell as="th">
|
|
81
|
+
<span>9:00 AM</span>
|
|
82
|
+
</SchedulerCell>
|
|
83
|
+
</tr>
|
|
84
|
+
<tr>
|
|
85
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
86
|
+
</tr>
|
|
87
|
+
<tr>
|
|
88
|
+
<SchedulerCell as="th">
|
|
89
|
+
<span>10:00 AM</span>
|
|
90
|
+
</SchedulerCell>
|
|
91
|
+
</tr>
|
|
92
|
+
<tr>
|
|
93
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
94
|
+
</tr>
|
|
95
|
+
<tr>
|
|
96
|
+
<SchedulerCell as="th">
|
|
97
|
+
<span>11:00 AM</span>
|
|
98
|
+
</SchedulerCell>
|
|
99
|
+
</tr>
|
|
100
|
+
<tr>
|
|
101
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
102
|
+
</tr>
|
|
103
|
+
<tr>
|
|
104
|
+
<SchedulerCell as="th">
|
|
105
|
+
<span>12:00 PM</span>
|
|
106
|
+
</SchedulerCell>
|
|
107
|
+
</tr>
|
|
108
|
+
<tr>
|
|
109
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
110
|
+
</tr>
|
|
111
|
+
<tr>
|
|
112
|
+
<SchedulerCell as="th">
|
|
113
|
+
<span>1:00 PM</span>
|
|
114
|
+
</SchedulerCell>
|
|
115
|
+
</tr>
|
|
116
|
+
<tr>
|
|
117
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
118
|
+
</tr>
|
|
119
|
+
<tr>
|
|
120
|
+
<SchedulerCell as="th">
|
|
121
|
+
<span>2:00 PM</span>
|
|
122
|
+
</SchedulerCell>
|
|
123
|
+
</tr>
|
|
124
|
+
<tr>
|
|
125
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
126
|
+
</tr>
|
|
127
|
+
<tr>
|
|
128
|
+
<SchedulerCell as="th">
|
|
129
|
+
<span>3:00 PM</span>
|
|
130
|
+
</SchedulerCell>
|
|
131
|
+
</tr>
|
|
132
|
+
<tr>
|
|
133
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
134
|
+
</tr>
|
|
135
|
+
<tr>
|
|
136
|
+
<SchedulerCell as="th">
|
|
137
|
+
<span>4:00 PM</span>
|
|
138
|
+
</SchedulerCell>
|
|
139
|
+
</tr>
|
|
140
|
+
<tr>
|
|
141
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
142
|
+
</tr>
|
|
143
|
+
<tr>
|
|
144
|
+
<SchedulerCell as="th">
|
|
145
|
+
<span>5:00 PM</span>
|
|
146
|
+
</SchedulerCell>
|
|
147
|
+
</tr>
|
|
148
|
+
<tr>
|
|
149
|
+
<SchedulerCell as="th" cellType={[ "slot" ]}></SchedulerCell>
|
|
150
|
+
</tr>
|
|
151
|
+
</tbody>
|
|
152
|
+
</SchedulerTable>
|
|
153
|
+
</SchedulerTimes>
|
|
154
|
+
</td>
|
|
155
|
+
<td>
|
|
156
|
+
<SchedulerContent style={{ height: "195px" }}>
|
|
157
|
+
<SchedulerTable>
|
|
158
|
+
<tbody>
|
|
159
|
+
<tr className="k-middle-row">
|
|
160
|
+
<SchedulerCell as="td" className="k-nonwork-hour"> </SchedulerCell>
|
|
161
|
+
</tr>
|
|
162
|
+
<tr>
|
|
163
|
+
<SchedulerCell as="td" className="k-nonwork-hour"> </SchedulerCell>
|
|
164
|
+
</tr>
|
|
165
|
+
<tr className="k-middle-row">
|
|
166
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
167
|
+
</tr>
|
|
168
|
+
<tr>
|
|
169
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
170
|
+
</tr>
|
|
171
|
+
<tr className="k-middle-row">
|
|
172
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
173
|
+
</tr>
|
|
174
|
+
<tr>
|
|
175
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
176
|
+
</tr>
|
|
177
|
+
<tr className="k-middle-row">
|
|
178
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
179
|
+
</tr>
|
|
180
|
+
<tr>
|
|
181
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
182
|
+
</tr>
|
|
183
|
+
<tr className="k-middle-row">
|
|
184
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
185
|
+
</tr>
|
|
186
|
+
<tr>
|
|
187
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
188
|
+
</tr>
|
|
189
|
+
<tr className="k-middle-row">
|
|
190
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
191
|
+
</tr>
|
|
192
|
+
<tr>
|
|
193
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
194
|
+
</tr>
|
|
195
|
+
<tr className="k-middle-row">
|
|
196
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
197
|
+
</tr>
|
|
198
|
+
<tr>
|
|
199
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
200
|
+
</tr>
|
|
201
|
+
<tr className="k-middle-row">
|
|
202
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
203
|
+
</tr>
|
|
204
|
+
<tr>
|
|
205
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
206
|
+
</tr>
|
|
207
|
+
<tr className="k-middle-row">
|
|
208
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
209
|
+
</tr>
|
|
210
|
+
<tr>
|
|
211
|
+
<SchedulerCell as="td"> </SchedulerCell>
|
|
212
|
+
</tr>
|
|
213
|
+
|
|
214
|
+
</tbody>
|
|
215
|
+
</SchedulerTable>
|
|
216
|
+
<SchedulerEvent ongoing style={{ top: "74px", height: "72px", width: "200px" }}>
|
|
217
|
+
<div className="k-event-template k-event-time">8:00 AM - 9:00 AM</div>
|
|
218
|
+
<div className="k-event-template">Event Title</div>
|
|
219
|
+
</SchedulerEvent>
|
|
220
|
+
</SchedulerContent>
|
|
221
|
+
</td>
|
|
222
|
+
</SchedulerBody>
|
|
223
|
+
</tbody>
|
|
224
|
+
</>
|
|
225
|
+
}
|
|
226
|
+
{...props}
|
|
227
|
+
/>
|
|
228
|
+
);
|