1- import { Vaga } from './../../model/vaga.model' ;
2- import { Component , OnInit } from '@angular/core' ;
3- import { VagaService } from 'src/app/service/vaga.service' ;
4- import { Router } from '@angular/router' ;
5- import { DomSanitizer } from '@angular/platform-browser' ;
1+ import { Vaga } from "./../../model/vaga.model" ;
2+ import { Component , OnInit } from "@angular/core" ;
3+ import { VagaService } from "src/app/service/vaga.service" ;
4+ import { Router } from "@angular/router" ;
5+ import { DomSanitizer } from "@angular/platform-browser" ;
6+ import { AlertController , LoadingController } from "@ionic/angular" ;
67
78@Component ( {
8- selector : ' app-vagas' ,
9- templateUrl : ' ./vagas.page.html' ,
10- styleUrls : [ ' ./vagas.page.scss' ]
9+ selector : " app-vagas" ,
10+ templateUrl : " ./vagas.page.html" ,
11+ styleUrls : [ " ./vagas.page.scss" ] ,
1112} )
1213export class VagasPage implements OnInit {
13- constructor ( private vagaService : VagaService , private router : Router ) { }
14+ constructor (
15+ private vagaService : VagaService ,
16+ private alertController : AlertController ,
17+ private loadingController : LoadingController ,
18+ private router : Router
19+ ) { }
1420
1521 vagas : Vaga [ ] = [ ] ;
1622 vagasFilter : Vaga [ ] = [ ] ;
1723 page = 1 ;
18- pesquisa = '' ;
24+ pesquisa = "" ;
1925
20- ngOnInit ( ) {
21- this . vagaService . getAllVagasPaginacao ( this . page , 100 ) . subscribe ( result => {
22- this . vagasFilter = result ;
23- this . vagas = this . vagasFilter ;
26+ async ngOnInit ( ) {
27+ const loading = await this . loadingController . create ( {
28+ message : "Please wait..." ,
29+ spinner : "bubbles" ,
30+ } ) ;
31+ loading . present ( ) ;
32+ this . vagaService . getAllVagasPaginacao ( this . page , 100 ) . subscribe ( {
33+ next : async ( result : Vaga [ ] ) => {
34+ this . vagasFilter = result ;
35+ this . vagas = this . vagasFilter ;
36+ await loading . dismiss ( ) ;
37+ } ,
38+ error : async ( response : any ) => {
39+ await loading . dismiss ( ) ;
40+ console . error ( response ) ;
41+ const { error, statusText } = response ;
42+ let { message } = error ? error : { message : statusText } ;
43+
44+ const alert = await this . alertController . create ( {
45+ cssClass : "my-custom-class" ,
46+ header : "Ops!!!" ,
47+ message,
48+ buttons : [
49+ {
50+ text : "OK" ,
51+ id : "confirm-button" ,
52+ handler : ( ) => {
53+ this . router . navigate ( [ "home" ] ) ;
54+ alert . dismiss ( ) ;
55+ } ,
56+ } ,
57+ ] ,
58+ } ) ;
59+ await alert . present ( ) ;
60+ } ,
61+ complete : ( ) => { } ,
2462 } ) ;
2563 }
2664
27- openVaga ( vaga ) {
65+ openVaga ( vaga : Vaga ) {
2866 this . router . navigate ( [ `/cadastro-vaga/${ vaga . number } ` ] ) ;
2967 }
3068
31- loadData ( event ) {
32- this . vagaService . getAllVagasPaginacao ( this . page ++ , 10 ) . subscribe ( result => {
33- this . vagasFilter = this . vagasFilter . concat ( result ) ;
34- this . vagas = this . vagasFilter ;
35- event . target . complete ( ) ;
36- } ) ;
69+ loadData ( event : any ) {
70+ this . vagaService
71+ . getAllVagasPaginacao ( this . page ++ , 10 )
72+ . subscribe ( ( result ) => {
73+ this . vagasFilter = this . vagasFilter . concat ( result ) ;
74+ this . vagas = this . vagasFilter ;
75+ event . target . complete ( ) ;
76+ } ) ;
3777 }
78+
3879 buscar ( ) {
39- this . vagas = this . vagasFilter . filter ( a =>
80+ this . vagas = this . vagasFilter . filter ( ( a ) =>
4081 a . title . toLocaleLowerCase ( ) . includes ( this . pesquisa . toLowerCase ( ) )
4182 ) ;
4283 }
@@ -46,18 +87,21 @@ export class VagasPage implements OnInit {
4687 }
4788
4889 limpar ( ) {
49- this . pesquisa = '' ;
90+ this . pesquisa = "" ;
5091 }
5192
5293 openNewVaga ( ) {
53- window . open ( 'https://github.com/soujava/vagas-java/issues/new/choose' , '_blank' ) ;
94+ window . open (
95+ "https://github.com/soujava/vagas-java/issues/new/choose" ,
96+ "_blank"
97+ ) ;
5498 }
5599
56- getLabels ( labels ) {
100+ getLabels ( labels : any [ ] ) {
57101 if ( labels ) {
58- let labelMap = labels . map ( a => a . name ) ;
102+ let labelMap = labels . map ( ( a ) => a . name ) ;
59103 if ( labelMap . length > 0 ) {
60- return labelMap . reduce ( a => a + ', ' ) ;
104+ return labelMap . reduce ( ( a ) => a + ", " ) ;
61105 }
62106 }
63107 }
0 commit comments