Skip to content
Snippets Groups Projects
Select Git revision
  • b020bbf85c82f75e4432cefd1fe98773e6694461
  • develop default protected
  • renovate/major-angularmaterial-monorepo
  • renovate/major-angular-monorepo
  • renovate/major-angular-cli-monorepo
  • release/1.9.0 protected
  • renovate/primeng-themes-20.x
  • renovate/major-jasmine-monorepo
  • release/1.8.1 protected
  • renovate/typescript-5.x
  • release/1.8.0 protected
  • enable-paging-support-for-list-of-instances-endpoint
  • renovate/bootstrap-5.x
  • renovate/karma-jasmine-html-reporter-2.x
  • renovate/formio-angular-9.x
  • renovate/formio-angular-7.x
  • release/1.7.1 protected
  • release/1.7.0 protected
  • 240-visual-indicator-to-track-bulk-deployment-progress
  • release/1.6.5 protected
  • release/1.5.3 protected
  • v1.8.1 protected
  • v1.8.1-alfa2 protected
  • v1.8.1-alfa protected
  • v1.8.0 protected
  • v1.7.1 protected
  • v1.7.0 protected
  • v1.6.5 protected
  • v1.6.4 protected
  • v1.6.3 protected
  • v1.6.2 protected
  • v1.6.1 protected
  • v1.6.0 protected
33 results

app-add-json-version-app.component.ts

Blame
  • user avatar
    kbeyro authored
    9270b8c6
    History
    app-add-json-version-app.component.ts 2.56 KiB
    import {Component, EventEmitter, OnInit, Output, ViewChild} from '@angular/core';
    import {ModalComponent} from '../../../shared';
    import {AppsService} from '../../../service';
    import {Router} from '@angular/router';
    
    @Component({
      selector: 'app-app-add-json-version-app',
      templateUrl: './app-add-json-version-app.component.html',
      styleUrls: ['./app-add-json-version-app.component.css']
    })
    export class AppAddJsonVersionAppComponent implements OnInit {
    
      @ViewChild(ModalComponent, { static: true })
      public readonly modal: ModalComponent;
    
      public jsonText = '';
      public error = '';
    
      public JsonError = false;
    
    
      @Output()
      public refresh: EventEmitter<boolean> = new EventEmitter<boolean>();
    
    
      constructor(private readonly appsService: AppsService,
                  private readonly router: Router) { }
    
    
      ngOnInit(): void {
      }
    
      onUpload(event: any) {
        console.log(event);
        const file = event.files[0];
        console.log(file);
        const fileReader = new FileReader();
        fileReader.readAsText(file);
        fileReader.onload = () => {
          if (typeof fileReader.result === 'string') {
            console.log(JSON.parse(fileReader.result));
            try {
              JSON.parse(fileReader.result);
              this.appsService.createApplication(JSON.parse(fileReader.result)).subscribe(result => {
                    console.log('uploaded', result);
                    this.modal.hide();
                    this.refresh.emit(true);
                  },
                  error => {
                    console.log(error)
                    if (error.message === null) {
                      this.JsonError = true;
                    } else {
                      this.error = error.message
                    }
                  })
            } catch (e) {
              console.warn('invalid json')
              this.JsonError = true;
            }
          }
        }
        fileReader.onerror = (error) => {
          console.log(error);
        }
      }
    
      public sendJsonText() {
        if (this.jsonText.length > 0) {
          try {
            JSON.parse(this.jsonText);
            this.appsService.createApplication(JSON.parse(this.jsonText)).subscribe(result => {
                  console.log('uploaded', result);
                  this.modal.hide();
                  this.refresh.emit(true);
                },
                error => {
                  console.log(error)
                  if (error.message === null) {
                    this.JsonError = true;
                  } else {
                    this.error = error.message
                  }
                })
          } catch (e) {
            console.warn('invalid json')
            this.JsonError = true;
          }
        }
      }
    
      public show() {
        this.modal.show();
      }
    }