Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 2x 2x 2x 2x 2x 2x 1x 1x 1x | import { Component, EventEmitter, OnInit, Output } from '@angular/core'; import { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms'; import { MatFormField, MatHint, MatLabel } from '@angular/material/form-field'; import { StatusIconComponent } from '@layout/shared/status-icon/status-icon.component'; import { JobService } from '@core/services/job.service'; import { JobMetadata } from '@core/model/job-metadata.interface'; import { BaseChildComponent } from '@core/component/base-child.component'; import { ModalService } from '@core/services/modal.service'; import { MatInput } from '@angular/material/input'; import { MatButton } from '@angular/material/button'; @Component({ selector: 'app-create-job-with-url-form', imports: [ReactiveFormsModule, MatFormField, MatInput, MatHint, MatLabel, StatusIconComponent, MatButton], templateUrl: './create-job-with-url-form.component.html', styleUrl: './create-job-with-url-form.component.scss' }) export class CreateJobWithUrlFormComponent extends BaseChildComponent implements OnInit { @Output() onJobCreation = new EventEmitter<JobMetadata>; public urlForm: FormGroup | undefined; public urlFormLoading = false; constructor(private readonly fb: FormBuilder, private readonly jobService: JobService, private readonly modalService: ModalService) { super(); } ngOnInit(): void { this.urlForm = this.fb.group({ url: [ '', [ Validators.required, Validators.pattern('(https?://)?([\\da-z.-]+)\\.([a-z.]{2,6})\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)') ] ], }); } get url() { return this.urlForm?.get('url'); } getMetadataFromUrl(): void { this.jobService.getJobMetadata(this.url?.value).subscribe((metadata: JobMetadata) => { this.data.metadata = { jobMetadata: metadata }; this.success(); }); } } |