From 8c71bed6087ef12019e8819c473a751f804fe0cd Mon Sep 17 00:00:00 2001 From: Nodeful <romankisilo@gmail.com> Date: Wed, 6 Oct 2021 19:57:11 +0300 Subject: [PATCH] some ui changes from the Pro repo --- .../flat-slider/flat-slider.component.ts | 5 --- .../skeuomorph-slider.component.ts | 6 ---- ui/package.json | 2 +- ui/src/app/app.component.ts | 31 +++++++++++++++++-- .../equalizers/equalizers.component.ts | 1 - ui/src/app/services/ui.service.ts | 2 +- 6 files changed, 30 insertions(+), 17 deletions(-) diff --git a/modules/components/src/components/flat-slider/flat-slider.component.ts b/modules/components/src/components/flat-slider/flat-slider.component.ts index f58da4af..8209034f 100644 --- a/modules/components/src/components/flat-slider/flat-slider.component.ts +++ b/modules/components/src/components/flat-slider/flat-slider.component.ts @@ -431,11 +431,6 @@ export class FlatSliderComponent implements OnInit, OnDestroy { return style } - @HostListener('window:resize') - onWindowResize () { - this.changeRef.detectChanges() - } - private mapValue ({ value, inMin, inMax, outMin, outMax, logInverse }: { value: number inMin: number diff --git a/modules/components/src/components/skeuomorph-slider/skeuomorph-slider.component.ts b/modules/components/src/components/skeuomorph-slider/skeuomorph-slider.component.ts index cc927484..217e15e4 100644 --- a/modules/components/src/components/skeuomorph-slider/skeuomorph-slider.component.ts +++ b/modules/components/src/components/skeuomorph-slider/skeuomorph-slider.component.ts @@ -230,12 +230,6 @@ export class SkeuomorphSliderComponent implements OnInit, OnDestroy { } } - @HostListener('window:resize') - onWindowResize () { - this.drawNotches() - this.changeRef.detectChanges() - } - drawNotches () { const canvas = this.notches.nativeElement const ctx: CanvasRenderingContext2D = canvas.getContext('2d') diff --git a/ui/package.json b/ui/package.json index 185452d2..1e60d891 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "ui", - "version": "3.0.1", + "version": "3.0.4", "scripts": { "lint": "npx eslint .", "start": "../node_modules/.bin/ng serve --port 8080 --host 0.0.0.0 --disable-host-check", diff --git a/ui/src/app/app.component.ts b/ui/src/app/app.component.ts index 230e720d..7e98d11c 100644 --- a/ui/src/app/app.component.ts +++ b/ui/src/app/app.component.ts @@ -2,7 +2,8 @@ import { Component, OnInit, ViewChild, - AfterContentInit + AfterContentInit, + HostListener } from '@angular/core' import { UtilitiesService } from './services/utilities.service' import { UIService } from './services/ui.service' @@ -43,11 +44,13 @@ export class AppComponent implements OnInit, AfterContentInit { help: false } + private containerWidth = 400 + private containerHeight = 400 get containerStyle () { const style: any = {} - style.width = `${100 / this.ui.scale}%` - style.height = `${100 / this.ui.scale}%` + style.width = `${this.containerWidth / this.ui.scale}px` + style.height = `${this.containerHeight / this.ui.scale}px` style.transform = `scale(${this.ui.scale})` return style @@ -284,6 +287,28 @@ This data would help us improve and grow the product.` } } + private windowResizeHandlerTimer: number + @HostListener('window:resize') + handleWindowResize () { + if (this.windowResizeHandlerTimer) { + clearTimeout(this.windowResizeHandlerTimer) + } + + this.windowResizeHandlerTimer = setTimeout(async () => { + const [ height, width ] = await Promise.all([ + this.ui.getHeight(), + this.ui.getWidth() + ]) + + this.containerHeight = height + this.containerWidth = width + + setTimeout(() => { + this.ui.dimensionsChanged.emit() + }, 100) + }, 100) as any + } + async getTransitionSettings () { const settings = await this.transitions.getSettings() this.animationDuration = settings.duration diff --git a/ui/src/app/sections/effects/equalizers/equalizers.component.ts b/ui/src/app/sections/effects/equalizers/equalizers.component.ts index 5528c3ed..085fc022 100644 --- a/ui/src/app/sections/effects/equalizers/equalizers.component.ts +++ b/ui/src/app/sections/effects/equalizers/equalizers.component.ts @@ -133,7 +133,6 @@ export class EqualizersComponent implements OnInit, OnDestroy { await this.service.setType(type) this.type = type await this.utils.delay(this.animationDuration) - this.ui.dimensionsChanged.next() } public getEqualizerFromType (type: EqualizerType): EqualizerComponent { diff --git a/ui/src/app/services/ui.service.ts b/ui/src/app/services/ui.service.ts index b5f2f995..a3d1e951 100644 --- a/ui/src/app/services/ui.service.ts +++ b/ui/src/app/services/ui.service.ts @@ -39,7 +39,7 @@ export enum StatusItemIconType { }) export class UIService extends DataService { route = `${this.route}/ui` - dimensionsChanged = new Subject<UIDimensions>() + dimensionsChanged = new EventEmitter() settingsChanged = new Subject<UISettings>() settings: UISettings = {} private _scale = 1