Skip to content

Commit d58c005

Browse files
authored
Add scheduler toolbar multiline option (#29218)
Co-authored-by: Vladimir Bushmanov <vladimir.bushmanov@devexpress.com>
1 parent 2ab29e1 commit d58c005

File tree

8 files changed

+48
-2
lines changed

8 files changed

+48
-2
lines changed
21.5 KB
Loading
29.7 KB
Loading
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { compareScreenshot } from 'devextreme-screenshot-comparer';
2+
import Scheduler from 'devextreme-testcafe-models/scheduler';
3+
import { createWidget } from '../../../../helpers/createWidget';
4+
import url from '../../../../helpers/getPageUrl';
5+
6+
fixture.disablePageReloads`Scheduler multiline header`
7+
.page(url(__dirname, '../../../container.html'));
8+
9+
const buttons = Array.from({ length: 12 }).map((_, index) => ({
10+
location: 'before',
11+
locateInMenu: 'auto',
12+
widget: 'dxButton',
13+
options: { text: `Button ${index}` },
14+
}));
15+
16+
[true, false].forEach((multiline) => {
17+
test(`Scheduler [multiline=${multiline}] toolbar`, async (t) => {
18+
const scheduler = new Scheduler('#container');
19+
20+
await t.expect(await compareScreenshot(t, `scheduler-multiline-${multiline}-toolbar.png`, scheduler.element)).ok();
21+
}).before(async () => createWidget('dxScheduler', {
22+
views: ['day', 'week', 'workWeek', 'month'],
23+
currentView: 'workWeek',
24+
currentDate: new Date(2021, 3, 27),
25+
height: 200,
26+
toolbar: {
27+
multiline,
28+
items: [
29+
'dateNavigator',
30+
...buttons,
31+
'viewSwitcher',
32+
],
33+
},
34+
}));
35+
});

packages/devextreme-scss/scss/widgets/base/scheduler/layout/_header.scss

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,17 @@ $arrow-down: "\f016";
2828
@mixin header-sizes(
2929
$height,
3030
$item-padding,
31+
$border,
3132
) {
32-
height: $height;
33-
3433
.dx-toolbar {
34+
&:not(.dx-toolbar-multiline) {
35+
@if $border {
36+
height: $height - 2px;
37+
} @else {
38+
height: $height;
39+
}
40+
}
41+
3542
.dx-toolbar-item-content,
3643
.dx-toolbar-menu-container {
3744
padding: $item-padding;

packages/devextreme-scss/scss/widgets/fluent/scheduler/_index.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,7 @@ $fluent-scheduler-agenda-time-panel-cell-padding: 8px;
438438
@include header-sizes(
439439
$fluent-scheduler-header-height,
440440
$fluent-scheduler-toolbar-item-offset,
441+
baseScheduler.$scheduler-base-border,
441442
);
442443

443444
.dx-scheduler-navigator-next,

packages/devextreme-scss/scss/widgets/generic/scheduler/_index.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ $generic-scheduler-agenda-group-header-padding: $generic-scheduler-agenda-time-c
149149
@include header-sizes(
150150
$generic-scheduler-header-height,
151151
$generic-scheduler-toolbar-item-offset,
152+
baseScheduler.$scheduler-base-border,
152153
);
153154

154155
background-color: $scheduler-header-bg;

packages/devextreme-scss/scss/widgets/material/scheduler/_index.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,7 @@ $material-scheduler-agenda-time-panel-cell-padding: 8px;
379379
@include header-sizes(
380380
$material-scheduler-header-height,
381381
$material-scheduler-toolbar-item-offset,
382+
baseScheduler.$scheduler-base-border,
382383
);
383384
@include header-buttons(
384385
$button-normal-bg,

packages/devextreme/js/__internal/scheduler/m_scheduler.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,7 @@ class Scheduler extends Widget<any> {
375375

376376
toolbar: {
377377
disabled: false,
378+
multiline: false,
378379
items: [
379380
{ location: 'before', name: 'dateNavigator' },
380381
{ location: 'after', name: 'viewSwitcher' },

0 commit comments

Comments
 (0)