File

src/app/modules/program/components/onboard-popup/onboard-popup.component.ts

Metadata

selector app-onboard-popup
styleUrls onboard-popup.component.css
templateUrl onboard-popup.component.html

Inputs

programDetails

Type: any

Outputs

updateEvent $event type: EventEmitter

Constructor

constructor(formService: any, toasterService: any, extPluginService: any, userService: any, resourceService: any)

Methods

handleFieldChange
handleFieldChange(event: any, data: any)
Returns: void
handleSubmit
handleSubmit(event: any)
Returns: void

Properties

extPluginService
extPluginService: any
formFieldOptions
formFieldOptions: any[]
formService
formService: any
Public modal
modal: any
resourceService
resourceService: any
selectedOption
selectedOption: any
showButton
showButton: boolean
Default value: false
toasterService
toasterService: any
userService
userService: any
import { FormService, UserService, ExtPluginService } from '@sunbird/core';
import { Component, OnInit, Input, Output, EventEmitter, ViewChild, OnDestroy } from '@angular/core';
import * as _ from 'lodash-es';
import { ResourceService, ToasterService } from '@sunbird/shared';

@Component({
  selector: 'app-onboard-popup',
  templateUrl: './onboard-popup.component.html',
  styleUrls: ['./onboard-popup.component.css']
})
export class OnboardPopupComponent implements OnInit, OnDestroy {

  @ViewChild('modal') public modal;
  @Input() programDetails: any;
  @Output() updateEvent = new EventEmitter<any>();
  selectedOption: any = {};
  formFieldOptions: Array<any>;
  showButton = false;

  constructor(public formService: FormService, public toasterService: ToasterService,
    public extPluginService: ExtPluginService, public userService: UserService,
    public resourceService: ResourceService) { }

  ngOnInit() {
    this.formFieldOptions = _.get(this.programDetails, 'config.onBoardingForm.fields');
  }
  handleFieldChange(event, data) {
    this.showButton = true;
  }
  handleSubmit(event) {
    const req = {
      // url: `${this.configService.urlConFig.URLS.CONTENT.GET}/${contentId}`,
      url: `program/v1/add/participant`,
      data: {
        request : {
          programId: this.programDetails.programId,
          userId: this.userService.userid,
          onBoardingData: this.selectedOption,
          onBoarded: true
        }
    }
    };
    this.extPluginService.post(req).subscribe((data) => {
      this.updateEvent.emit({
        data: data,
        onBoardingData: this.selectedOption
      });
    }, error => {
      this.toasterService.error('User onboarding failed');
    });
  }
  ngOnDestroy() {
    if (this.modal && this.modal.deny) {
      this.modal.deny();
    }
  }
}

results matching ""

    No results matching ""