Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {Component, Input, OnInit} from '@angular/core';
- import {ChartSize} from '../../../charts/chart.size';
- import {Colors} from '../../pages.constants';
- import {ClassEntity} from '../../../services/domain/class.entity';
- import {ResourcesConsumptionEntity} from '../../../services/domain/resources-consumption.entity';
- import {ResourcesConsumptionTypeEntity} from '../../../services/domain/resources-consumption-type.entity';
- import {ChartLineSeries} from '../../../charts/line/chart-line.serie';
- import {ChartLineValue} from '../../../charts/line/chart-line.value';
- import {ChartPieValue} from '../../../charts/pie/chart-pie.value';
- import {LearningObjectiveAchievementEntity} from '../../../services/domain/learning-objective-achievement.entity';
- import {LearningObjectiveAchievementEvolutionEntity} from '../../../services/domain/learning-objective-achievement-evolution.entity';
- import {UserEntity} from '../../../services/domain/user.entity';
- import {Observable} from 'rxjs/Observable';
- import {UserService} from '../../../services/services/user.service';
- @Component({
- selector: 'app-page-class-evolution',
- templateUrl: './page-class-evolution.component.html',
- styleUrls: [
- './page-class-evolution.component.scss'
- ]
- })
- export class PageClassEvolutionComponent implements OnInit {
- private _cls: ClassEntity;
- private _learningObjectiveAchievementEvolutionEntities: LearningObjectiveAchievementEvolutionEntity[];
- userEntity: UserEntity;
- @Input()
- objectiveAchievement: LearningObjectiveAchievementEntity;
- @Input()
- resourcesConsumption: ResourcesConsumptionEntity;
- chartEvolutionValues: ChartLineValue[];
- chartResourceTypeValues: ChartPieValue[];
- chartEvolutionSeries: ChartLineSeries[] = [];
- constructor (private userService: UserService){
- }
- ngOnInit(): void {
- this.userObservable
- .subscribe(x => {
- this.userEntity = x;
- });
- }
- @Input()
- set cls(v: ClassEntity) {
- this._cls = v;
- this.updateClassEvolutionSeries();
- this.updateObjectiveAchievementEvolution();
- }
- get cls(): ClassEntity {
- return this._cls;
- }
- @Input()
- set objectiveAchievementEvolution(v: LearningObjectiveAchievementEvolutionEntity[]) {
- this._learningObjectiveAchievementEvolutionEntities = v;
- this.updateObjectiveAchievementEvolution();
- }
- @Input()
- set resourcesConsumptionType(v: ResourcesConsumptionTypeEntity[]) {
- this.updateResourcesConsumptionType(v);
- }
- get colors(): any {
- return Colors;
- };
- get sizes(): any {
- return ChartSize;
- };
- private get userObservable(): Observable<UserEntity> {
- return this.userService.getUser()
- }
- private updateObjectiveAchievementEvolution() {
- if (this._cls == null ||
- this._learningObjectiveAchievementEvolutionEntities == null ||
- this._learningObjectiveAchievementEvolutionEntities.length == 0) {
- this.chartEvolutionValues = [];
- } else
- this.chartEvolutionValues = this._learningObjectiveAchievementEvolutionEntities.map(x => {
- return {
- category: x.date,
- classValue: x.learningObjectiveAchievement,
- groupValue: x.learningObjectiveAchievementComparison
- }
- });
- }
- private updateResourcesConsumptionType(v: ResourcesConsumptionTypeEntity[]) {
- if (v == null || v.length == 0) {
- this.chartResourceTypeValues = [];
- } else
- this.chartResourceTypeValues = v.map(x => {
- return {
- category: x.type,
- color: x.color,
- value: x.consumption,
- total: x.total
- }
- });
- }
- private updateClassEvolutionSeries() {
- if (this._cls && this._cls.groupCount > 1) {
- this.chartEvolutionSeries = [{
- color: Colors.purple,
- field: "classValue"
- },{
- color: Colors.gray,
- field: "groupValue"
- }]
- } else {
- this.chartEvolutionSeries = [{
- color: Colors.purple,
- field: "classValue"
- }]
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement