FarmMapsLib/projects/common/src/fm/components/gradient/gradient.component.ts

43 lines
1.4 KiB
TypeScript
Raw Normal View History

2020-10-06 06:22:10 +00:00
import { Component, Input, OnInit ,OnChanges, SimpleChanges,ChangeDetectorRef} from '@angular/core';
import { IItem} from '../../models/item'
import { IGradientstop } from '../../models/gradient';
2022-03-16 13:19:51 +00:00
import { GradientService } from '../../common-service.module';
2020-10-06 06:22:10 +00:00
@Component({
selector: 'fm-gradient',
templateUrl: './gradient.component.html',
styleUrls: ['./gradient.component.scss']
})
export class GradientComponent implements OnInit,OnChanges {
@Input() gradientItem:IItem;
public gradientStyle:any = {};
2022-03-16 13:19:51 +00:00
constructor(private ref: ChangeDetectorRef,private gradientService:GradientService) { }
2020-10-06 06:22:10 +00:00
getGradientStyle(item:IItem):any {
if(item.data && item.data.gradient) {
2023-03-06 13:04:14 +00:00
const gradient = item.data.gradient as IGradientstop[];
2022-03-16 13:19:51 +00:00
return this.gradientService.getGradientStyle(gradient);
2020-10-06 06:22:10 +00:00
}
}
ngOnInit(): void {
if(this.gradientItem && this.gradientItem.itemType == "vnd.farmmaps.itemtype.gradient") {
this.gradientStyle = this.getGradientStyle(this.gradientItem);
}
}
ngOnChanges(changes: SimpleChanges) {
if(changes['gradientItem']) {
2023-03-06 13:04:14 +00:00
const gradientItem = changes['gradientItem'].currentValue;
2020-10-06 06:22:10 +00:00
if(gradientItem && gradientItem.itemType == "vnd.farmmaps.itemtype.gradient") {
this.gradientStyle = this.getGradientStyle(changes['gradientItem'].currentValue);
this.ref.markForCheck();
}
}
}
}