syncfusion / ej2-javascript-ui-controls

Syncfusion JavaScript UI controls library offer more than 50+ cross-browser, responsive, and lightweight HTML5 UI controls for building modern web applications.
https://www.syncfusion.com/javascript-ui-controls
Other
400 stars 159 forks source link

Grouping broken after view and date change #107

Closed duzenko closed 3 years ago

duzenko commented 3 years ago

Please review the stackblitz demo https://stackblitz.com/edit/angular-schedule-setting-dynamic-view-interval-waqj6t?file=app.component.ts

Steps:

  1. Page loads. The default view is 'TimelineWeek' with a simple grouping. All good. image
  2. Click the 'Week -> Day' button. The view changes to 'Day'. All good. image
  3. Click the 'Shift Date' button. The date shifts but the vertical hours layout breaks and the horizontal groups appear. Bad. image
Nevitha-Ravi commented 3 years ago

Hi duzenko ,

We have checked the shared sample and suggest to use CurrentView property instead of isSelected option in view settings. We have modified the shared sample which is working properly. https://stackblitz.com/edit/angular-schedule-setting-dynamic-view-interval-2b3vtp?file=app.component.html

<ejs-schedule #scheduleObj width='100%' height='650px' [selectedDate]="selectedDate" [currentView]="currentView" [eventSettings]="eventSettings" [showHeaderBar]="false">

currentView: string = "TimelineWeek";

Please try the solution and let us know if you need any further assistance.

Regards, Nevitha

duzenko commented 3 years ago

Hi duzenko ,

We have checked the shared sample and suggest to use CurrentView property instead of isSelected option in view settings. We have modified the shared sample which is working properly. https://stackblitz.com/edit/angular-schedule-setting-dynamic-view-interval-2b3vtp?file=app.component.html

<ejs-schedule #scheduleObj width='100%' height='650px' [selectedDate]="selectedDate" [currentView]="currentView" [eventSettings]="eventSettings" [showHeaderBar]="false">

<e-view displayName='Week' option='TimelineWeek' [group]="group" [timeScale]="timeScale">

currentView: string = "TimelineWeek";

Please try the solution and let us know if you need any further assistance.

Regards, Nevitha

Sorry, it's not possible for us due to another bug in your control

Hareesh22 commented 3 years ago

Hi Duzenko,

We have modified your shared sample based on your shared query “Grouping broken after view and date change without using currentView property” using isSelected option from the views property of the Scheduler, which can be viewed from the following link.

Sample: https://stackblitz.com/edit/angular-schedule-setting-dynamic-view-interval-as8iiy?file=app.component.ts

toggleView() { (this.scheduleObj.views[0] as any).isSelected = true; (this.scheduleObj.views[1] as any).isSelected = false; this.scheduleObj.refresh(); }

Kindly try the above solution and get back to us if you need any further assistance.

We will be happy to assist you..!

Regards, Hareesh

duzenko commented 3 years ago

Hi Duzenko,

We have modified your shared sample based on your shared query “Grouping broken after view and date change without using currentView property” using isSelected option from the views property of the Scheduler, which can be viewed from the following link.

Sample: https://stackblitz.com/edit/angular-schedule-setting-dynamic-view-interval-as8iiy?file=app.component.ts

toggleView() { (this.scheduleObj.views[0] as any).isSelected = true; (this.scheduleObj.views[1] as any).isSelected = false; this.scheduleObj.refresh(); }

Kindly try the above solution and get back to us if you need any further assistance.

We will be happy to assist you..!

Regards, Hareesh

Seems to work for us, thanks