jqwidgets-framework
Version:
jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.
66 lines (57 loc) • 2.82 kB
text/typescript
import { Component, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';
import { jqxResponsivePanelComponent } from 'jqwidgets-ng/jqxresponsivepanel';
import { jqxPanelComponent } from 'jqwidgets-ng/jqxpanel';
export class AppComponent {
myResponsivePanel: jqxResponsivePanelComponent;
myPanel: jqxPanelComponent;
container: ElementRef;
toggleResponsivePanel: ElementRef;
flag: boolean = true;
responsivePanelEventsHandler(event: any): void {
if (this.myResponsivePanel) {
if (event.args.element) {
return;
}
let collapsed = this.myResponsivePanel.isCollapsed();
let opened = this.myResponsivePanel.isOpened();
if (this.flag) {
collapsed = false;
opened = false;
}
this.flag = false;
if (!collapsed && !opened) {
this.myResponsivePanel.elementRef.nativeElement.firstChild.style.display = 'block';
this.toggleResponsivePanel.nativeElement.style.display = 'none';
} else if (collapsed && opened) {
this.myPanel.width('65%');
} else if (collapsed && !opened) {
this.myPanel.width('100%');
this.myResponsivePanel.elementRef.nativeElement.firstChild.style.display = 'none';
this.toggleResponsivePanel.nativeElement.style.display = 'block';
} else if (!collapsed && opened) {
this.myPanel.width('65%');
this.myResponsivePanel.elementRef.nativeElement.firstChild.style.display = 'block';
this.toggleResponsivePanel.nativeElement.style.display = 'block';
}
}
}
resizeSmallBtnOnClick(): void {
this.myResponsivePanel.elementRef.nativeElement.firstChild.style.display = 'none';
this.toggleResponsivePanel.nativeElement.style.display = 'block';
this.container.nativeElement.style.width = '500px';
this.myPanel.width('100%');
};
resizeBigBtnOnClick(): void {
this.myPanel.width('100%');
this.myResponsivePanel.elementRef.nativeElement.firstChild.style.display = 'block';
this.toggleResponsivePanel.nativeElement.style.display = 'none';
this.container.nativeElement.style.width = '800px';
this.myPanel.width('65%');
};
}