var app = function () { var loader = $("#loader"); var cluster_default_size = 9; var search_filter = $("#search-filter"); var form_controller = $("#search-controller"); var hidden_dcloud = $("#delta_cloud"); var delta_cloud = $("#delta-could"); var query_hidden_input = $("#query_values"); var clusters_content = $("#clusters_content"); var cluster_selector = $("#clusterSize"); var top_items_section = $("#top_products_section"); var aggs_list = {}; var grp_aggr_selector = $('#grp_agg_content'); var discipl_aggr_selector = $('#disp_agg_content'); var author_aggr_selector = $('#author_agg_content'); var publication_period = $('#publication_period'); var keydiff = $("#keywordDiff"); var enjoyhint_instance; var colors = ['rgba(255, 182, 193, .4)', 'rgba(214, 208, 217, .4)', 'rgba(21, 212, 9, .3)', 'rgba(198, 41, 115, .3)', 'rgba(249, 179, 94, .3)', 'rgba(194, 194, 194, .3)', 'rgba(188, 237, 239, .4)', 'rgba(175, 201, 178, .4)', 'rgba(188, 227, 239 , .4)', 'rgba(224, 239, 188, .4)', 'rgba(91, 117, 127, .3)', 'rgba(198, 201, 175, .3)']; var charsController = function (size, filter) { jQuery.ajax('/v2/data', { data: { "cluster_size": $('#clusterSize').find(":selected").text(), "filter": filter, "query": query_hidden_input.val(), "cluster": query_hidden_input.attr("data-filter"), "depth": query_hidden_input.attr("data-depth"), "delta_cloud": hidden_dcloud.val(), "grp_name": grp_aggr_selector.find(":selected").val(), "disp_name": discipl_aggr_selector.find(":selected").val(), "author_name": author_aggr_selector.find(":selected").val(), "pub_period": publication_period.val() }, dataType: 'json', success: function (data, status, xhr) { loader.hide(); createCharts(data.result); }, error: function (jqXhr, textStatus, errorMessage) { // error callback console.log(errorMessage) } }); }; var facetsController = function (selected) { jQuery.ajax('/v2/facets', { data: { "cluster_size": $('#clusterSize').find(":selected").text(), "query": query_hidden_input.val(), "grp_name": grp_aggr_selector.find(":selected").val(), "disp_name": discipl_aggr_selector.find(":selected").val(), "author_name": author_aggr_selector.find(":selected").val(), "pub_period": publication_period.val() }, dataType: 'json', success: function (data, status, xhr) { buildFacet(data.result); }, error: function (jqXhr, textStatus, errorMessage) { // error callback console.log(errorMessage) } }); }; var buildFacet = function (data) { var disciplines = data.aggregations.discipline.buckets; var group_name = data.aggregations.group_name.buckets; var author = data.aggregations.author.buckets; var option = ''; var selected = ""; for (var index in disciplines) { if (!disciplines.hasOwnProperty(index)) continue; if (aggs_list["disp_agg_content"] === disciplines[index].key) { selected = "selected" } option += ''; } $("#disp_agg_content").html(option); option = ''; selected = ""; for (index in group_name) { if (!group_name.hasOwnProperty(index)) continue; if (aggs_list["grp_agg_content"] === group_name[index].key) { selected = "selected" } option += ''; } $("#grp_agg_content").html(option); option = ''; selected = ""; for (index in author) { if (!author.hasOwnProperty(index)) continue; if (aggs_list["author_agg_content"] === author[index].key) { selected = "selected" } option += ''; } author_aggr_selector.html(option) }; var searchController = function () { var choices = new Choices('#search-input', { searchEnabled: true, maxItemCount: 10, removeItemButton: true, removeItems: true, silent: true, removeItem: function (item) { console.log(item) } }); choices.passedElement.addEventListener('addItem', function (event) { if (query_hidden_input.val().length > 0) { query_hidden_input.val(query_hidden_input.val() + "," + event.detail.value); } else { query_hidden_input.val(event.detail.value); } //form_controller.submit() reload_page(); }, false); choices.passedElement.addEventListener('removeItem', function (event) { var values = query_hidden_input.val().split(","); var query = []; for (var element in values) { if (!values.hasOwnProperty(element)) continue; if (values[element] !== event.detail.value) { query.push(values[element]) } } query_hidden_input.val(query); reload_page(); }, false); }; var deltaCloudController = function () { if ($("#delta_cloud").val() === "true") { delta_cloud.attr("checked", true) } else { delta_cloud.attr("checked", false) } delta_cloud.change(function () { if ($(this).is(":checked")) { hidden_dcloud.val(true); } else { hidden_dcloud.val(false); } form_controller.submit(); }); }; var createCharts = function (result) { if (typeof result === 'undefined') { //emptyResult(); } var traces = []; for (var e in result) { traces.push({ x: result[e].X, y: result[e].Y, text: result[e].TEXT, hovertext: result[e].HOVERS, freeText: result[e].IDS, name: 'Cluster ' + e, mode: 'markers+text', marker: { size: 14, line: { width: 1, color: 'rgba(0, 0, 0, .1)' }, color: colors[e] }, type: 'scatter' }); } Plotly.newPlot('clusters_content', traces, { showlegend: true, height: 910, yaxis: { showline: false, showgrid: true, zeroline: false, autorange: true, showticklabels: false, ticks: '' }, xaxis: { showline: false, showgrid: false, zeroline: false, autorange: true, showticklabels: false, ticks: '' }, font: { color: '#000', size: 18 } }); document.getElementById('clusters_content').on('plotly_click', function (d) { var id = d.points[0].hovertext.split("")[1].replace("", ""); window.open("/doc?id=" + id, "_blank"); }); }; var topDocumentController = function (filter, main_filter) { jQuery.ajax('/v2/top_items', { data: { "query": query_hidden_input.val(), "cluster_size": cluster_selector.find(":selected").val(), "grp_name": grp_aggr_selector.find(":selected").val(), "disp_name": discipl_aggr_selector.find(":selected").val(), "author_name": author_aggr_selector.find(":selected").val(), "pub_period": publication_period.val() }, dataType: 'json', success: function (result) { var colors_counter = 1; var top_items = ""; for (var resp in result) { if (!result.hasOwnProperty(resp)) continue; var tmp = result[resp]; if (tmp["total"] > 0) { top_items = top_items + "