From 6bb2d50a6c79fc2c1ae8a35a762d071d64026002 Mon Sep 17 00:00:00 2001 From: peterpeterparker Date: Sun, 22 Sep 2019 14:45:06 +0200 Subject: [PATCH] feat(#353): use color picker to select code's colors --- .../app/popovers/editor/app-code/app-code.tsx | 50 ++++++------------- 1 file changed, 14 insertions(+), 36 deletions(-) diff --git a/studio/src/app/popovers/editor/app-code/app-code.tsx b/studio/src/app/popovers/editor/app-code/app-code.tsx index 8a1dc5360..05039940f 100644 --- a/studio/src/app/popovers/editor/app-code/app-code.tsx +++ b/studio/src/app/popovers/editor/app-code/app-code.tsx @@ -38,8 +38,6 @@ export class AppCode { @Prop() codeDidChange: EventEmitter; - private hidePopoverTimer; - private prismService: PrismService; private currentLanguage: string = 'javascript'; @@ -98,20 +96,18 @@ export class AppCode { }); } - private selectColor($event, colorFunction: Function): Promise { + private selectColor($event: CustomEvent, colorFunction: Function): Promise { return new Promise(async (resolve) => { if (!this.selectedElement || !this.selectedElement.parentElement) { resolve(); return; } - if (!$event || !$event.target || !$event.target.value) { + if (!$event || !$event.detail) { resolve(); return; } - await this.privateHideShowPopover(); - colorFunction($event); this.emitCodeDidChange(); @@ -120,34 +116,16 @@ export class AppCode { }); } - private setCodeColor = ($event) => { - this.codeColor = $event.target.value; - this.selectedElement.style.setProperty(this.getStyle(), $event.target.value); + private setCodeColor = ($event: CustomEvent) => { + this.codeColor = $event.detail.hex; + this.selectedElement.style.setProperty(this.getStyle(), $event.detail.hex); }; - private setHighlightColor = ($event) => { - this.highlightColor = $event.target.value; - this.selectedElement.style.setProperty('--deckgo-highlight-code-line-background', $event.target.value); + private setHighlightColor = ($event: CustomEvent) => { + this.highlightColor = $event.detail.hex; + this.selectedElement.style.setProperty('--deckgo-highlight-code-line-background', $event.detail.hex); }; - private privateHideShowPopover(): Promise { - return new Promise((resolve) => { - const popover: HTMLIonPopoverElement = this.el.closest('ion-popover'); - - popover.style.visibility = 'hidden'; - - if (this.hidePopoverTimer) { - clearTimeout(this.hidePopoverTimer); - } - - this.hidePopoverTimer = setTimeout(() => { - popover.style.visibility = 'initial'; - }, 1000); - - resolve(); - }); - } - private toggleCodeLanguage($event: CustomEvent): Promise { return new Promise(async (resolve) => { if (!this.selectedElement) { @@ -432,9 +410,9 @@ export class AppCode { - Color - this.selectColor(e, this.setCodeColor)}> + this.selectColor($event, this.setCodeColor)} color-hex={this.codeColor}> + + @@ -451,9 +429,9 @@ export class AppCode { - Color - this.selectColor(e, this.setHighlightColor)}> + this.selectColor($event, this.setHighlightColor)} color-hex={this.highlightColor}> + + ] }