Merge Request #37
-
…ith the query value in the current query param. changed the search.component to have a search text box to show then current query and allow the user query for new terms.
-
Reassigned to @mfdeveloper
-
Esse componente é realmente necessário? Talvez utilizar somente o componente
SearchComponent
com condições para renderizar o form ou a lista de resultados. É apenas uma sugestão, avalie com calma o que seria mais interessante.Me peguei a pensar sobre isso pq esse componente só renderiza um HTML diferente, e um único método que na verdade, redireciona para uma rota! :)
-
É necessário pois o form fica na navbar e o resultado da busca responde por uma rota específica.
-
Para mudar a quantidade de registros por página, não seria interessante coletar isso também pelo
$stateParams
? -
Sim, fica melhor.
-
Para ficar mais claro e limpa essas condições, não seria melhor adicionar isso a um método do
SearchComponent
? Pensando que um designer qualquer possa sobreescrever essa view em temas customizados, minimizar a quantidade de condições + especificas pode melhorar a legibilidade! -
Não entendi o que você quis dizer nesse comentário.
-
Algo nessa linha:
<div class="summary"> {{ ctrl.resultsText }} </div>
Onde
ctrl.resultsText
é um atributo ou método get do typescript que já retorna o texto traduzido a depender da condição que você adicionou acima, entende? -
Se o resultado da pesquisa retornar 404 do endpoint do backend, é exibida uma página de Not found específica? Como é tratado os diferentes códigos de erro do servidor?
-
Essas cores não poderiam ser variáveis para serem reutilizadas e/ou sobrescritas em outros temas?
-
O campo de busca está desaparecendo no responsivo. O comportamento é este mesmo?
-
O texto
results
logo abaixo do titulo no resultado da busca, não está traduzindo para pt-br quando modifico o idioma -
Assignee removed
-
mentioned in commit d0fa7823b63317f1649830850aeb477bcabf7b18
1 | +import {Component, Inject} from "ng-forward"; | |
2 | + | |
3 | +@Component({ | |
4 | + selector: 'search-form', | |
5 | + templateUrl: 'app/search/search-form/search-form.html' | |
6 | +}) | |
7 | +@Inject("$state") | |
8 | +export class SearchFormComponent { | |
2 |
|
1 | +import {Component, Inject} from "ng-forward"; | |
2 | +import {ArticleService} from "./../../lib/ng-noosfero-api/http/article.service"; | |
3 | + | |
4 | +@Component({ | |
5 | + selector: 'search', | |
6 | + templateUrl: 'app/search/search.html' | |
7 | +}) | |
8 | +@Inject(ArticleService, "$stateParams") | |
9 | +export class SearchComponent { | |
10 | + | |
11 | + articles: noosfero.Article[]; | |
12 | + query: string; | |
13 | + totalResults = 0; | |
14 | + perPage = 10; | |
2 |
|
1 | +<h2>Search</h2> | |
2 | + | |
3 | +<div class="search-results"> | |
4 | + <div class="summary"> | |
5 | + {{"search.results.summary" | translate:{results: ctrl.totalResults}:"messageformat"}} | |
3 |
|
118 | 118 | return this.listSubElements(<noosfero.Article>articleElement, "children", params); |
119 | 119 | } |
120 | 120 | |
121 | + search(params: any): ng.IPromise<noosfero.RestResult<noosfero.Article[]>> { | |
122 | + let deferred = this.$q.defer<noosfero.RestResult<noosfero.Article[]>>(); | |
123 | + let restRequest = this.restangularService.all("search").customGET('article', params); | |
124 | + restRequest.then(this.getHandleSuccessFunction(deferred)).catch(this.getHandleErrorFunction(deferred)); | |
1 |
|
2 | + .summary { | |
3 | + color: #bbbbbb; | |
4 | + font-size: 13px; | |
5 | + border-top: 1px solid #ececec; | |
6 | + } | |
7 | + .result { | |
8 | + margin: 25px 0; | |
9 | + | |
10 | + .title { | |
11 | + h4 { | |
12 | + margin: 0; | |
13 | + } | |
14 | + } | |
15 | + .info { | |
16 | + .profile { | |
17 | + color: #6e9e7b; | |
1 |
|