mirror of
				https://gitlab.com/Alamantus/Readlebee.git
				synced 2025-11-04 10:17:03 +01:00 
			
		
		
		
	Simplify search results to only use Works from inventaire
This commit is contained in:
		
							parent
							
								
									691f0c350b
								
							
						
					
					
						commit
						abc1e10b3f
					
				
					 3 changed files with 6 additions and 87 deletions
				
			
		| 
						 | 
					@ -10,11 +10,7 @@ export class SearchController extends ViewController {
 | 
				
			||||||
      searchSource: 'inventaire',
 | 
					      searchSource: 'inventaire',
 | 
				
			||||||
      searchBy: 'title',
 | 
					      searchBy: 'title',
 | 
				
			||||||
      done: true,
 | 
					      done: true,
 | 
				
			||||||
      results: {
 | 
					      results: [],
 | 
				
			||||||
        humans: [],
 | 
					 | 
				
			||||||
        series: [],
 | 
					 | 
				
			||||||
        works: [],
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      openModal: null,
 | 
					      openModal: null,
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -131,6 +131,7 @@ export const searchView = (state, emit, i18n) => {
 | 
				
			||||||
      </footer>
 | 
					      </footer>
 | 
				
			||||||
    </section>`,
 | 
					    </section>`,
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
 | 
					    // Search Results section
 | 
				
			||||||
    html`<section>
 | 
					    html`<section>
 | 
				
			||||||
      <h2>
 | 
					      <h2>
 | 
				
			||||||
        ${controller.hasQuery && !controller.doneSearching
 | 
					        ${controller.hasQuery && !controller.doneSearching
 | 
				
			||||||
| 
						 | 
					@ -139,14 +140,14 @@ export const searchView = (state, emit, i18n) => {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      </h2>
 | 
					      </h2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      ${controller.hasQuery && controller.doneSearching && controller.results.works < 1
 | 
					      ${controller.hasQuery && controller.doneSearching && controller.results < 1
 | 
				
			||||||
        ? [
 | 
					        ? [
 | 
				
			||||||
          html`<h3>${__('search.no_results')}</h3>`,
 | 
					          html`<h3>${__('search.no_results')}</h3>`,
 | 
				
			||||||
          html`<a class="button" href="https://wiki.inventaire.io/wiki/How-to-contribute" target="_blank">
 | 
					          html`<a class="button" href="https://wiki.inventaire.io/wiki/How-to-contribute" target="_blank">
 | 
				
			||||||
            ${__('search.no_results_suggestion')}
 | 
					            ${__('search.no_results_suggestion')}
 | 
				
			||||||
          </a>`
 | 
					          </a>`
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
        : controller.results.works.map(result => {
 | 
					        : controller.results.map(result => {
 | 
				
			||||||
          return html`<article class="flex search-result">
 | 
					          return html`<article class="flex search-result">
 | 
				
			||||||
            <header class="two-third-800 half-500">
 | 
					            <header class="two-third-800 half-500">
 | 
				
			||||||
              <h3 class="title">${result.name}</h3>
 | 
					              <h3 class="title">${result.name}</h3>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@ class SearchController {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
      return json.then(responseJSON => {
 | 
					      return json.then(responseJSON => {
 | 
				
			||||||
        const works = responseJSON.results.map(work => {
 | 
					        return responseJSON.results.map(work => {
 | 
				
			||||||
          const booksController = new BooksController(this.inventaire, work.uri, this.lang);
 | 
					          const booksController = new BooksController(this.inventaire, work.uri, this.lang);
 | 
				
			||||||
          const bookData = booksController.handleQuickInventaireEntity(work);
 | 
					          const bookData = booksController.handleQuickInventaireEntity(work);
 | 
				
			||||||
          const communityData = booksController.getCommunityData(5);
 | 
					          const communityData = booksController.getCommunityData(5);
 | 
				
			||||||
| 
						 | 
					@ -42,12 +42,6 @@ class SearchController {
 | 
				
			||||||
            ...communityData,
 | 
					            ...communityData,
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					 | 
				
			||||||
        return {
 | 
					 | 
				
			||||||
          humans: [],
 | 
					 | 
				
			||||||
          series: [],
 | 
					 | 
				
			||||||
          works,
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
| 
						 | 
					@ -71,73 +65,7 @@ class SearchController {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
      return json.then(responseJSON => {
 | 
					      return json.then(responseJSON => {
 | 
				
			||||||
        const humans = responseJSON.humans.map(human => {
 | 
					        return responseJSON.works.map(work => {
 | 
				
			||||||
          const hasLabels = typeof human.labels !== 'undefined';
 | 
					 | 
				
			||||||
          const hasDescriptions = typeof human.descriptions !== 'undefined';
 | 
					 | 
				
			||||||
          const hasImage = typeof human.image !== 'undefined';
 | 
					 | 
				
			||||||
          return {
 | 
					 | 
				
			||||||
            name: (
 | 
					 | 
				
			||||||
              hasLabels && typeof human.labels[this.lang] !== 'undefined'
 | 
					 | 
				
			||||||
              ? human.labels[this.lang]
 | 
					 | 
				
			||||||
              : (
 | 
					 | 
				
			||||||
                hasLabels && Object.keys(human.labels).length > 0
 | 
					 | 
				
			||||||
                ? human.labels[Object.keys(human.labels)[0]]
 | 
					 | 
				
			||||||
                : null
 | 
					 | 
				
			||||||
              )
 | 
					 | 
				
			||||||
            ),
 | 
					 | 
				
			||||||
            description: (
 | 
					 | 
				
			||||||
              hasDescriptions && typeof human.descriptions[this.lang] !== 'undefined'
 | 
					 | 
				
			||||||
              ? human.descriptions[this.lang]
 | 
					 | 
				
			||||||
              : (
 | 
					 | 
				
			||||||
                hasDescriptions && Object.keys(human.descriptions).length > 0
 | 
					 | 
				
			||||||
                ? human.descriptions[Object.keys(human.descriptions)[0]]
 | 
					 | 
				
			||||||
                : null
 | 
					 | 
				
			||||||
              )
 | 
					 | 
				
			||||||
            ),
 | 
					 | 
				
			||||||
            link: (
 | 
					 | 
				
			||||||
              typeof human.uri !== 'undefined'
 | 
					 | 
				
			||||||
              ? `${this.inventaire}/entity/${human.uri}`
 | 
					 | 
				
			||||||
              : null
 | 
					 | 
				
			||||||
            ),
 | 
					 | 
				
			||||||
            image: (
 | 
					 | 
				
			||||||
              hasImage && typeof human.image.url !== 'undefined'
 | 
					 | 
				
			||||||
              ? human.image
 | 
					 | 
				
			||||||
              : null
 | 
					 | 
				
			||||||
            ),
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        const series = responseJSON.series.map(serie => {
 | 
					 | 
				
			||||||
          const hasLabels = typeof serie.labels !== 'undefined';
 | 
					 | 
				
			||||||
          const hasDescriptions = typeof serie.descriptions !== 'undefined';
 | 
					 | 
				
			||||||
          return {
 | 
					 | 
				
			||||||
            name: (
 | 
					 | 
				
			||||||
              hasLabels && typeof serie.labels[this.lang] !== 'undefined'
 | 
					 | 
				
			||||||
              ? serie.labels[this.lang]
 | 
					 | 
				
			||||||
              : (
 | 
					 | 
				
			||||||
                hasLabels && Object.keys(serie.labels).length > 0
 | 
					 | 
				
			||||||
                ? serie.labels[Object.keys(serie.labels)[0]]
 | 
					 | 
				
			||||||
                : null
 | 
					 | 
				
			||||||
              )
 | 
					 | 
				
			||||||
            ),
 | 
					 | 
				
			||||||
            description: (
 | 
					 | 
				
			||||||
              hasDescriptions && typeof serie.descriptions[this.lang] !== 'undefined'
 | 
					 | 
				
			||||||
              ? serie.descriptions[this.lang]
 | 
					 | 
				
			||||||
              : (
 | 
					 | 
				
			||||||
                hasDescriptions && Object.keys(serie.descriptions).length > 0
 | 
					 | 
				
			||||||
                ? serie.descriptions[Object.keys(serie.descriptions)[0]]
 | 
					 | 
				
			||||||
                : null
 | 
					 | 
				
			||||||
              )
 | 
					 | 
				
			||||||
            ),
 | 
					 | 
				
			||||||
            link: (
 | 
					 | 
				
			||||||
              typeof serie.uri !== 'undefined'
 | 
					 | 
				
			||||||
              ? `${this.inventaire}/entity/${serie.uri}`
 | 
					 | 
				
			||||||
              : null
 | 
					 | 
				
			||||||
            ),
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        const works = responseJSON.works.map(work => {
 | 
					 | 
				
			||||||
          const booksController = new BooksController(this.inventaire, work.uri, this.lang);
 | 
					          const booksController = new BooksController(this.inventaire, work.uri, this.lang);
 | 
				
			||||||
          const bookData = booksController.handleInventaireEntity(work);
 | 
					          const bookData = booksController.handleInventaireEntity(work);
 | 
				
			||||||
          const communityData = booksController.getCommunityData(5);
 | 
					          const communityData = booksController.getCommunityData(5);
 | 
				
			||||||
| 
						 | 
					@ -147,12 +75,6 @@ class SearchController {
 | 
				
			||||||
            ...communityData,
 | 
					            ...communityData,
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					 | 
				
			||||||
        return {
 | 
					 | 
				
			||||||
          humans,
 | 
					 | 
				
			||||||
          series,
 | 
					 | 
				
			||||||
          works,
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue