From 31220578cf9d662fead11e9491b2abd490d035ee Mon Sep 17 00:00:00 2001 From: Alex Martzios Date: Mon, 18 Dec 2023 12:37:35 +0200 Subject: [PATCH] [angular-16-irish-monitor] embed charts on indicators --- monitor/entities/stakeholder.ts | 2 +- ...or-indicator-stakeholder-base.component.ts | 35 ++++++++++++++++--- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/monitor/entities/stakeholder.ts b/monitor/entities/stakeholder.ts index 0806ab76..23830572 100644 --- a/monitor/entities/stakeholder.ts +++ b/monitor/entities/stakeholder.ts @@ -170,7 +170,7 @@ export class Indicator { visibility: Visibility; defaultId: string; indicatorPaths: IndicatorPath[]; - descriptionOverlay: boolean = false; + overlay: boolean = false; constructor(name: string, description: string, additionalDescription:string, type: IndicatorType, width: IndicatorSize,height: IndicatorSize, visibility: Visibility, indicatorPaths: IndicatorPath[], defaultId: string = null) { this._id = null; diff --git a/monitor/monitor-indicator-stakeholder-base.component.ts b/monitor/monitor-indicator-stakeholder-base.component.ts index 9c1230aa..01c623c4 100644 --- a/monitor/monitor-indicator-stakeholder-base.component.ts +++ b/monitor/monitor-indicator-stakeholder-base.component.ts @@ -54,6 +54,9 @@ export abstract class MonitorIndicatorStakeholderBaseComponent extends Indicator public numberResults: Map = new Map(); public chartsActiveType: Map = new Map(); public currentYear = new Date().getFullYear(); + public clipboard; + public embedOverlay: boolean = false; + public descriptionOverlay: boolean = false; /** Services */ protected sanitizer: DomSanitizer; @@ -76,6 +79,7 @@ export abstract class MonitorIndicatorStakeholderBaseComponent extends Indicator this.isMobile = isMobile; this.cdr.detectChanges(); }); + this.createClipboard(); } protected setView(params: Params) { @@ -404,14 +408,35 @@ export abstract class MonitorIndicatorStakeholderBaseComponent extends Indicator window.print(); } - toggleDescriptionOverlay(event, indicator: Indicator) { + toggleOverlay(event, indicator: Indicator, overlayType: string) { event.stopPropagation(); - indicator.descriptionOverlay = !indicator.descriptionOverlay; + indicator.overlay = !indicator.overlay; + if (overlayType == 'embed') { + this.embedOverlay = !this.embedOverlay; + } + if (overlayType == 'desc') { + this.descriptionOverlay = !this.descriptionOverlay; + } } - closeDescriptionOverlay(event: ClickEvent, indicator: Indicator) { - if(event.clicked && indicator.descriptionOverlay) { - indicator.descriptionOverlay = false; + closeOverlay(event: ClickEvent, indicator: Indicator, overlayType: string) { + if(event.clicked && indicator.overlay) { + indicator.overlay = false; + if (overlayType == 'embed') { + this.embedOverlay = false; + } + if (overlayType == 'desc') { + this.descriptionOverlay = false; + } + } + } + + private createClipboard() { + if (typeof window !== 'undefined') { + delete this.clipboard; + let Clipboard; + Clipboard = require('clipboard'); + this.clipboard = new Clipboard('.clipboard_btn'); } }