Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • feat/members-only-m5158
  • feat/manage-memb-m5143
  • feat/unread-chat-m5088
  • feat/stripe-memb-m5117
  • feat/test-may24
  • feat/pipeline-test-may24
  • chore/remove-rotator-styles-f6169
  • feat/custom-nav-m4739
  • feat/tenant-homepage-m4777
  • poc/chat-analytics
  • feat/chat-e2e-1-6170
  • chore/feature-cleanup-m4779
  • feat/posthog-e2e
  • feat/chat-notifs-e2711
  • feat/e2714-receipts
  • fix/e2e-feb-24-2
  • feat/join-site-membership-f6149
  • feat/site-membership-composer-m4670
  • feat/split-homepage-again-m4625
  • dev-0.1c
21 results

fb-register.ts

Code owners
Assign users and groups as approvers for specific file changes. Learn more.
fb-register.ts 1.36 KiB
import { Component, EventEmitter } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';

import { Client } from '../../../services/api';
import { Session } from '../../../services/session';

@Component({
  moduleId: module.id,
  selector: 'minds-form-fb-register',
  outputs: ['done'],
  templateUrl: 'fb-register.html',
})
export class FbRegisterForm {
  errorMessage: string = '';

  inProgress: boolean = false;
  referrer: string;

  form: FormGroup;

  done: EventEmitter<any> = new EventEmitter();

  constructor(public session: Session, public client: Client, fb: FormBuilder) {
    this.form = fb.group({
      username: [this.session.getLoggedInUser().username, Validators.required],
    });
  }

  complete(e) {
    e.preventDefault();
    this.errorMessage = '';

    this.inProgress = true;
    this.client
      .post(
        'api/v1/thirdpartynetworks/facebook/complete-register',
        this.form.value
      )
      .then((data: any) => {
        this.inProgress = false;
        this.session.getLoggedInUser().username = this.form.value.username;

        // TODO: [emi/sprint/bison] Find a way to reset controls. Old implementation throws Exception;

        this.done.next(true);
      })
      .catch(e => {
        console.log(e);
        this.inProgress = false;
        this.errorMessage = e.message;

        return;
      });
  }
}