edit plots
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable } from 'rxjs';
|
||||
import { PlotConfig, PlotResponse } from './plot.service';
|
||||
import { PlotConfig, PlotRequest, PlotResponse, RenderOptions } from './plot.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -67,6 +67,47 @@ export class PlotWidget extends BaseWidget {
|
||||
constructor(override id: string, override size: 'SMALL'|'MEDIUM'|'LARGE', public config: PlotConfig) {
|
||||
super(id, 'PLOT', size);
|
||||
}
|
||||
|
||||
public static createPlotRequest(widget: PlotWidget): PlotRequest {
|
||||
|
||||
const height = this.height(widget.size);
|
||||
const width = this.width(widget.size);
|
||||
|
||||
const fullWidth = window.innerWidth-30;
|
||||
const fullHeight = window.innerHeight-30;
|
||||
|
||||
const request = new PlotRequest(
|
||||
(<any>window).submitterId+crypto.randomUUID(),
|
||||
widget.config,
|
||||
{
|
||||
'main': new RenderOptions(height,width, false, true),
|
||||
'fullScreen': new RenderOptions(fullHeight,fullWidth, false, true)
|
||||
}
|
||||
);
|
||||
return request;
|
||||
}
|
||||
|
||||
|
||||
static height(size: PlotSize): number{
|
||||
switch (size) {
|
||||
case 'SMALL':
|
||||
return 300;
|
||||
case 'MEDIUM':
|
||||
return 400;
|
||||
case 'LARGE':
|
||||
return 600;
|
||||
}
|
||||
}
|
||||
static width(size: PlotSize): number{
|
||||
switch (size) {
|
||||
case 'SMALL':
|
||||
return 400;
|
||||
case 'MEDIUM':
|
||||
return 600;
|
||||
case 'LARGE':
|
||||
return 900;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export type PlotSize = 'SMALL'|'MEDIUM'|'LARGE';
|
||||
|
||||
Reference in New Issue
Block a user