diff --git a/img/mimetypes/32px/tei.png b/img/mimetypes/32px/tei.png
new file mode 100644
index 0000000..d45fc4d
--- /dev/null
+++ b/img/mimetypes/32px/tei.png
Binary files differ
diff --git a/js/controllers/searchPageController.js b/js/controllers/searchPageController.js
index cc313bf..fcaa9e4 100644
--- a/js/controllers/searchPageController.js
+++ b/js/controllers/searchPageController.js
@@ -2,240 +2,246 @@
/*jslint node: true */
define(["../models/searchPage", "../conf", "../vendor/mustache"], function(searchPage, conf, mustache) {
- "use strict";
- var searchPageController = {};
- /*****************************************
- * Fonctions de recherche et d'affichage
- *****************************************/
- $.get(conf.apiUrl + "corpus", function(data) {
- var corpusTemplate = "{{#corpusList}}{{/corpusList}}";
- var corpusList = {
- corpusList: data
- };
- $('#editorField').append(mustache.to_html(corpusTemplate, corpusList));
+ "use strict";
+ var searchPageController = {};
+ /*****************************************
+ * Fonctions de recherche et d'affichage
+ *****************************************/
+ $.get(conf.apiUrl + "corpus", function(data) {
+ var corpusTemplate = "{{#corpusList}}{{/corpusList}}";
+ var corpusList = {
+ corpusList: data
+ };
+ $('#editorField').append(mustache.to_html(corpusTemplate, corpusList));
+ });
+
+ searchPageController.displayResults = function(data) {
+ if (data.total > 0) {
+
+ $('#accordeon').show();
+ $('#first').show();
+ $('#prev').show();
+ $('#next').show();
+ $('#last').show();
+
+ searchPage.numberOfResults = data.total;
+ searchPage.numberOfPages = searchPage.numberOfResults === 0 ? 0 : Math.ceil(searchPage.numberOfResults / searchPage.resultsPerPage);
+ searchPage.currentPage = searchPage.numberOfResults === 0 ? 0 : searchPage.currentPage;
+ $("#currentPage").text(searchPage.currentPage === 0 ? "*" : searchPage.currentPage);
+ $("#totalPages").text(searchPage.numberOfPages === 0 ? "*" : searchPage.numberOfPages);
+
+ $("#totalResults").val(data.total);
+
+ data["abstr"] = function() {
+ return function(text, render) {
+ if (render(text) == "") return "Pas de résumé pour ce résultat.";
+ return render(text);
+ }
+ };
+
+ data["linksIcon"] = function() {
+ return function(text, render) {
+ var html = "";
+ var infos = render(text).split(" ");
+ var i = 0;
+ while ((i + 1) < infos.length) {
+ var typeFile;
+ switch (infos[i]) {
+ case 'application/zip':
+ typeFile = 'img/mimetypes/32px/zip.png'
+ break;
+ case 'application/pdf':
+ typeFile = 'img/mimetypes/32px/pdf.png'
+ break;
+ case 'image/tiff':
+ typeFile = 'img/mimetypes/32px/tiff.png'
+ break;
+ case 'application/xml':
+ typeFile = 'img/mimetypes/32px/xml.png'
+ break;
+ case 'application/mods+xml':
+ typeFile = 'img/mimetypes/32px/mods.png'
+ break;
+ case 'application/tei+xml':
+ typeFile = 'img/mimetypes/32px/tei.png'
+ break;
+ case 'text/plain':
+ typeFile = 'img/mimetypes/32px/txt.png'
+ break;
+ default:
+ typeFile = 'img/mimetypes/32px/_blank.png'
+ break;
+ }
+ html += ""
+ i = i + 2;
+ }
+ return html;
+ }
+ };
+
+ data["titleClic"] = function() {
+ return function(text, render) {
+ var res = render(text);
+ var infos = res.split(" ");
+ var index = infos.indexOf("application/pdf");
+ var title = res.slice(res.indexOf(" ", res.indexOf(" ") + 1), res.size);
+ if (index != -1) {
+ return "" + title + ""
+ } else {
+ return title
+ }
+ }
+ }
+
+ var tableLine = "{{#hits}}
{{#titleClic}}{{#fulltext}}{{{mimetype}}} {{{uri}}}{{/fulltext}} {{title}}{{/titleClic}}{{#abstr}}{{abstract}}{{/abstr}} {{corpusName}} {{#linksIcon}}{{#fulltext}}{{{mimetype}}} {{{uri}}} {{/fulltext}}{{/linksIcon}}{{#linksIcon}}{{#metadata}}{{{mimetype}}} {{{uri}}} {{/metadata}}{{/linksIcon}} |
{{/hits}}";
+
+ $("#tableResult").html(mustache.to_html(tableLine, data));
+
+ if (!searchPage.reaffine) {
+
+ // Vidage des facets avant remplissage
+ $('#facetCorpus').empty();
+ $('#facetCopyrightDate').empty();
+ $('#facetPubDate').empty();
+
+ // CorpusFacet
+ var corpusFacetTemplate = "{{#aggregations.corpusFacet.buckets}}{{/aggregations.corpusFacet.buckets}}";
+ $('#nbCorpusFacet').text(data.aggregations.corpusFacet.buckets.length);
+ $('#facetCorpus').append(mustache.to_html(corpusFacetTemplate, data));
+
+ if (data.aggregations.corpusFacet.buckets.length == 1) {
+ facetCorpus.getElementsByTagName('input').item(0).checked = true;
+ facetCorpus.getElementsByTagName('input').item(0).disabled = true;
+ }
+
+ // CopyrightDateFacet
+ var minDate = parseInt(data.aggregations.copyrightDateFacet.buckets[0].from_as_string);
+ var maxDate = parseInt(data.aggregations.copyrightDateFacet.buckets[0].to_as_string);
+
+ $("#slider-range-copyright").slider({
+ range: true,
+ min: minDate,
+ max: maxDate,
+ values: [minDate, maxDate]
+ });
+ $("#amountCopyrightDate").val("De " + $("#slider-range-copyright").slider("values", 0) +
+ " à " + $("#slider-range-copyright").slider("values", 1));
+
+ // PubDateFacet
+ minDate = parseInt(data.aggregations.pubdateFacet.buckets[0].from_as_string);
+ maxDate = parseInt(data.aggregations.pubdateFacet.buckets[0].to_as_string);
+
+ $("#slider-range-pubdate").slider({
+ range: true,
+ min: minDate,
+ max: maxDate,
+ values: [minDate, maxDate]
+ });
+ $("#amountPubDate").val("De " + $("#slider-range-pubdate").slider("values", 0) +
+ " à " + $("#slider-range-pubdate").slider("values", 1));
+ }
+
+ $("#totalCopyrightDate").val(data.aggregations.copyrightDateFacet.buckets[0].doc_count);
+ $("#totalPubDate").val(data.aggregations.pubdateFacet.buckets[0].doc_count);
+
+
+ } else {
+
+ $("#totalResults").val(0);
+ $("#tableResult").html("Pas de résultat pour cette recherche. | ");
+ $('#accordeon').hide();
+ $('#first').hide();
+ $('#prev').hide();
+ $('#next').hide();
+ $('#last').hide();
+ $("#currentPage").text("*");
+ $("#totalPages").text("*");
+ }
+ $("button").button('reset');
+ $("#result").css("opacity", 1);
+ };
+
+ searchPageController.manageError = function(err) {
+ $("button").button('reset');
+ $(".alert span").html("Houston ... Problem!" + err.responseText);
+ $(".alert").alert();
+ };
+
+ searchPageController.search = function() {
+ var query = "document/?q=";
+ var fields = [];
+
+ if (searchPage.searchField !== "" && searchPage.searchField !== undefined) {
+ fields.push(searchPage.searchField);
+ }
+
+ if ($("#collapse").is(':visible')) {
+
+ if (searchPage.author !== "" && searchPage.author !== undefined) {
+ fields.push("author.personal:" + searchPage.author);
+ }
+ if (searchPage.title !== "" && searchPage.title !== undefined) {
+ fields.push("title:" + searchPage.title);
+ }
+ if (searchPage.keywords !== "" && searchPage.keywords !== undefined) {
+ fields.push("subject.value:" + searchPage.keywords);
+ }
+ }
+
+ if (searchPage.copyrightdate != undefined) {
+ fields.push("copyrightdate:" + searchPage.copyrightdate);
+ }
+ if (searchPage.pubdate != undefined) {
+ fields.push("pubdate:" + searchPage.pubdate);
+ }
+
+ query += fields.join(" AND ");
+ query += "&size=" + searchPage.resultsPerPage;
+ query += "&from=" + searchPage.resultsPerPage * (searchPage.currentPage === 0 ? 1 : searchPage.currentPage - 1);
+ $.each(searchPage.editor, function(index, editor) {
+ if (editor !== "-1") {
+ query += "&corpus=" + editor;
+ }
});
- searchPageController.displayResults = function(data) {
- if (data.total > 0) {
+ // Facets (à compléter au fur et à mesure de l'ajout de fonctionnalités)
+ query += "&facet=corpus";
- $('#accordeon').show();
- $('#first').show();
- $('#prev').show();
- $('#next').show();
- $('#last').show();
+ if ($("#result").is(":visible")) {
+ var minCopyright = $("#slider-range-copyright").slider("values", 0);
+ var maxCopyright = $("#slider-range-copyright").slider("values", 1);
+ var minPubdate = $("#slider-range-pubdate").slider("values", 0);
+ var maxPubdate = $("#slider-range-pubdate").slider("values", 1);
+ query += "&facet=copyrightdate[" + minCopyright + "," + maxCopyright + "]";
+ query += "&facet=pubdate[" + minPubdate + "," + maxPubdate + "]";
+ console.log('là');
+ } else {
+ // query += "&facet=copyrightdate[min,max]";
+ // query += "&facet=pubdate[min,max]";
+ query += "&facet=copyrightdate[1900,2014]";
+ query += "&facet=pubdate[1900,2014]";
+ console.log('ici');
+ }
- searchPage.numberOfResults = data.total;
- searchPage.numberOfPages = searchPage.numberOfResults === 0 ? 0 : Math.ceil(searchPage.numberOfResults / searchPage.resultsPerPage);
- searchPage.currentPage = searchPage.numberOfResults === 0 ? 0 : searchPage.currentPage;
- $("#currentPage").text(searchPage.currentPage === 0 ? "*" : searchPage.currentPage);
- $("#totalPages").text(searchPage.numberOfPages === 0 ? "*" : searchPage.numberOfPages);
+ query += "&output=*";
- $("#totalResults").val(data.total);
+ $("#searchButton").button('loading');
+ $("#result").css("opacity", 0.4);
- data["abstr"] = function() {
- return function(text, render) {
- if (render(text) == "") return "Pas de résumé pour ce résultat.";
- return render(text);
- }
- };
-
- data["linksIcon"] = function() {
- return function(text, render) {
- var html = "";
- var infos = render(text).split(" ");
- var i = 0;
- while ((i + 1) < infos.length) {
- var typeFile;
- switch (infos[i]) {
- case 'application/zip':
- typeFile = 'img/mimetypes/32px/zip.png'
- break;
- case 'application/pdf':
- typeFile = 'img/mimetypes/32px/pdf.png'
- break;
- case 'image/tiff':
- typeFile = 'img/mimetypes/32px/tiff.png'
- break;
- case 'application/xml':
- typeFile = 'img/mimetypes/32px/xml.png'
- break;
- case 'application/mods+xml':
- typeFile = 'img/mimetypes/32px/mods.png'
- break;
- default:
- typeFile = 'img/mimetypes/32px/_blank.png'
- break;
- }
- html += ""
- i = i + 2;
- }
- return html;
- }
- };
-
- data["titleClic"] = function() {
- return function(text, render) {
- var res = render(text);
- var infos = res.split(" ");
- var index = infos.indexOf("application/pdf");
- var title = res.slice(res.indexOf(" ", res.indexOf(" ") + 1), res.size);
- if (index != -1) {
- return "" + title + ""
- } else {
- return title
- }
- }
- }
-
- var tableLine = "{{#hits}}
{{#titleClic}}{{#fulltext}}{{{mimetype}}} {{{uri}}}{{/fulltext}} {{title}}{{/titleClic}}{{#abstr}}{{abstract}}{{/abstr}} {{corpusName}} {{#linksIcon}}{{#fulltext}}{{{mimetype}}} {{{uri}}} {{/fulltext}}{{/linksIcon}}{{#linksIcon}}{{#metadata}}{{{mimetype}}} {{{uri}}} {{/metadata}}{{/linksIcon}} |
{{/hits}}";
-
- $("#tableResult").html(mustache.to_html(tableLine, data));
-
- if (!searchPage.reaffine) {
-
- // Vidage des facets avant remplissage
- $('#facetCorpus').empty();
- $('#facetCopyrightDate').empty();
- $('#facetPubDate').empty();
-
- // CorpusFacet
- var corpusFacetTemplate = "{{#aggregations.corpusFacet.buckets}}{{/aggregations.corpusFacet.buckets}}";
- $('#nbCorpusFacet').text(data.aggregations.corpusFacet.buckets.length);
- $('#facetCorpus').append(mustache.to_html(corpusFacetTemplate, data));
-
- if (data.aggregations.corpusFacet.buckets.length == 1) {
- facetCorpus.getElementsByTagName('input').item(0).checked = true;
- facetCorpus.getElementsByTagName('input').item(0).disabled = true;
- }
-
- // CopyrightDateFacet
- var minDate = parseInt(data.aggregations.copyrightDateFacet.buckets[0].from_as_string);
- var maxDate = parseInt(data.aggregations.copyrightDateFacet.buckets[0].to_as_string);
-
- $("#slider-range-copyright").slider({
- range: true,
- min: minDate,
- max: maxDate,
- values: [minDate, maxDate]
- });
- $("#amountCopyrightDate").val("De " + $("#slider-range-copyright").slider("values", 0) +
- " à " + $("#slider-range-copyright").slider("values", 1));
-
- // PubDateFacet
- minDate = parseInt(data.aggregations.pubdateFacet.buckets[0].from_as_string);
- maxDate = parseInt(data.aggregations.pubdateFacet.buckets[0].to_as_string);
-
- $("#slider-range-pubdate").slider({
- range: true,
- min: minDate,
- max: maxDate,
- values: [minDate, maxDate]
- });
- $("#amountPubDate").val("De " + $("#slider-range-pubdate").slider("values", 0) +
- " à " + $("#slider-range-pubdate").slider("values", 1));
- }
-
- $("#totalCopyrightDate").val(data.aggregations.copyrightDateFacet.buckets[0].doc_count);
- $("#totalPubDate").val(data.aggregations.pubdateFacet.buckets[0].doc_count);
-
-
- } else {
-
- $("#totalResults").val(0);
- $("#tableResult").html("Pas de résultat pour cette recherche. | ");
- $('#accordeon').hide();
- $('#first').hide();
- $('#prev').hide();
- $('#next').hide();
- $('#last').hide();
- $("#currentPage").text("*");
- $("#totalPages").text("*");
- }
- $("button").button('reset');
- $("#result").css("opacity", 1);
+ var request = {
+ url: conf.apiUrl + query,
+ jsonp: true,
+ crossDomain: true,
+ success: searchPageController.displayResults,
+ error: searchPageController.manageError
};
- searchPageController.manageError = function(err) {
- $("button").button('reset');
- $(".alert span").html("Houston ... Problem!" + err.responseText);
- $(".alert").alert();
- };
+ $.ajax(request);
- searchPageController.search = function() {
- var query = "document/?q=";
- var fields = [];
+ $("#result").removeClass('hide');
+ $("#paginRow").removeClass('hide');
+ $("#pageNumber").removeClass('hide');
- if (searchPage.searchField !== "" && searchPage.searchField !== undefined) {
- fields.push(searchPage.searchField);
- }
-
- if ($("#collapse").is(':visible')) {
-
- if (searchPage.author !== "" && searchPage.author !== undefined) {
- fields.push("author.personal:" + searchPage.author);
- }
- if (searchPage.title !== "" && searchPage.title !== undefined) {
- fields.push("title:" + searchPage.title);
- }
- if (searchPage.keywords !== "" && searchPage.keywords !== undefined) {
- fields.push("subject.value:" + searchPage.keywords);
- }
- }
-
- if (searchPage.copyrightdate != undefined) {
- fields.push("copyrightdate:" + searchPage.copyrightdate);
- }
- if (searchPage.pubdate != undefined) {
- fields.push("pubdate:" + searchPage.pubdate);
- }
-
- query += fields.join(" AND ");
- query += "&size=" + searchPage.resultsPerPage;
- query += "&from=" + searchPage.resultsPerPage * (searchPage.currentPage === 0 ? 1 : searchPage.currentPage - 1);
- $.each(searchPage.editor, function(index, editor) {
- if (editor !== "-1") {
- query += "&corpus=" + editor;
- }
- });
-
- // Facets (à compléter au fur et à mesure de l'ajout de fonctionnalités)
- query += "&facet=corpus";
-
- if ($("#result").is(":visible")) {
- var minCopyright = $("#slider-range-copyright").slider("values", 0);
- var maxCopyright = $("#slider-range-copyright").slider("values", 1);
- var minPubdate = $("#slider-range-pubdate").slider("values", 0);
- var maxPubdate = $("#slider-range-pubdate").slider("values", 1);
- query += "&facet=copyrightdate[" + minCopyright + "," + maxCopyright + "]";
- query += "&facet=pubdate[" + minPubdate + "," + maxPubdate + "]";
- console.log('là');
- } else {
- // query += "&facet=copyrightdate[min,max]";
- // query += "&facet=pubdate[min,max]";
- query += "&facet=copyrightdate[1900,2014]";
- query += "&facet=pubdate[1900,2014]";
- console.log('ici');
- }
-
- query += "&output=*";
-
- $("#searchButton").button('loading');
- $("#result").css("opacity", 0.4);
-
- var request = {
- url: conf.apiUrl + query,
- jsonp: true,
- crossDomain: true,
- success: searchPageController.displayResults,
- error: searchPageController.manageError
- };
-
- $.ajax(request);
-
- $("#result").removeClass('hide');
- $("#paginRow").removeClass('hide');
- $("#pageNumber").removeClass('hide');
-
- };
- return searchPageController;
+ };
+ return searchPageController;
});
\ No newline at end of file