UNPKG

select-previsao-ondas

Version:

Componente que busca a previsão de ondas por praias

1 lines 1.37 kB
System.register(["./p-cbffa431.system.js"],(function(s){"use strict";var t,e,a;return{setters:[function(s){t=s.r;e=s.c;a=s.h}],execute:function(){class i{constructor(){this.url="https://previsao-ondas.herokuapp.com"}async getEstados(){const s=await fetch(`${this.url}/litoral/estados`);const t=await s.json();return t.estados}async getCidades(s){const t=await fetch(`${this.url}/litoral/estado/${s}`);const e=await t.json();return e.estado.cidades}async getPrevisoes(s){const t=await fetch(`${this.url}/onda/cidade/${s}`);const e=await t.json();return e.dias}}const n="";const o=s("select_previsao_ondas",class{constructor(s){t(this,s);this.estados=[];this.cidades=[];this.previsoes=[];this.previsaoOndasService=new i;this.change=e(this,"change",7)}async componentWillLoad(){this.estados=await this.previsaoOndasService.getEstados()}async handleSelectEstado(s){this.cidades=await this.previsaoOndasService.getCidades(s.target.value)}async handleSelectCidade(s){this.previsoes=await this.previsaoOndasService.getPrevisoes(s.target.value);this.change.emit(this.previsoes)}render(){return a("div",null,a("select",{onInput:s=>this.handleSelectEstado(s)},this.estados.map(s=>a("option",{value:s.abreviatura},s.abreviatura))),this.cidades.length?a("select",{onInput:s=>this.handleSelectCidade(s)},this.cidades.map(s=>a("option",{value:s.id},s.cidade))):null)}});o.style=n}}}));