From c79c6cf968b4b4b42376a5224f25643c90c29771 Mon Sep 17 00:00:00 2001 From: tankchintan Date: Sat, 28 May 2011 00:05:42 +0000 Subject: [PATCH] 1. More updates to the map of science vis. --- .../css/individual/individual-vivo.css | 18 ++++++++++ .../css/visualization/mapofscience/layout.css | 25 ++++++++++++- .../mapofscience/DataTableWidget.js | 35 +++++++++++++++---- .../mapofscience/MarkerManager.js | 2 +- .../mapofscience/VisModeControllers.js | 2 +- .../individual--foaf-organization.ftl | 2 ++ .../individual-visualizationFoafPerson.ftl | 14 +++++++- .../individual-visualizationMapOfScience.ftl | 8 +++++ .../mapOfScience/mapOfScienceSetup.ftl | 2 ++ .../mapOfScience/mapOfScienceStandalone.ftl | 30 ++++++++++++++-- .../VisualizationFrameworkConstants.java | 1 + ...pOfScienceVisualizationRequestHandler.java | 18 +++++++++- .../individual/IndividualTemplateModel.java | 7 ++++ 13 files changed, 150 insertions(+), 14 deletions(-) create mode 100644 productMods/templates/freemarker/body/partials/individual/individual-visualizationMapOfScience.ftl diff --git a/productMods/css/individual/individual-vivo.css b/productMods/css/individual/individual-vivo.css index 56e2771e..7db57798 100644 --- a/productMods/css/individual/individual-vivo.css +++ b/productMods/css/individual/individual-vivo.css @@ -32,6 +32,24 @@ div.overview-value :last-child { padding-right: 10px; vertical-align: text-top; } + +/* <------ INDIVIDUAL MAP OF SCIENCE */ +#map-of-science { + float: right; + padding: 0 3px 20px 0; + background-color: #fff; +} + +#map-of-science h3 { + margin: 0; + padding: 0; +} +#map-of-science h3 img { + padding-right: 10px; + vertical-align: text-top; +} + + /* <------ POSITIONS */ ul#individual-personInPosition { list-style-type: circle; diff --git a/productMods/css/visualization/mapofscience/layout.css b/productMods/css/visualization/mapofscience/layout.css index e394fbf0..fca63e8f 100644 --- a/productMods/css/visualization/mapofscience/layout.css +++ b/productMods/css/visualization/mapofscience/layout.css @@ -9,6 +9,15 @@ width: 100%; } +#map-of-science-info { + margin-bottom: 6px; + margin-top: -6px; +} + +.hide-dom-on-init { + display: none; +} + #left-column { float: left; width: 260px; @@ -24,6 +33,12 @@ height: 480px; } +#percent-mapped-info { + float:right; + display: none; + margin-top: 5px; +} + #header-entity-label { font-family: "Lucida Sans Unicode","Lucida Grande", Geneva, helvetica, sans-serif; font-size: 1.5275em; @@ -102,6 +117,10 @@ a.clear-selected-entities { /* table */ +.science-area-tab { + +} + #main-science-areas-table-container table { cellpadding: 0; cellspacing: 0; @@ -119,6 +138,10 @@ a.clear-selected-entities { width: 100%; } +table.datatable-table tbody tr { + border-top: 3px solid; +} + #main-science-areas-table-footer { margin-top: 10px; text-align: left; @@ -136,4 +159,4 @@ a.clear-selected-entities { .paginatedtabs { font-size: 0.81em; -} +} \ No newline at end of file diff --git a/productMods/js/visualization/mapofscience/DataTableWidget.js b/productMods/js/visualization/mapofscience/DataTableWidget.js index e7388c3e..b2ab131c 100644 --- a/productMods/js/visualization/mapofscience/DataTableWidget.js +++ b/productMods/js/visualization/mapofscience/DataTableWidget.js @@ -19,8 +19,8 @@ var DataTableWidget = Class.extend({ widget: '', - init: function(opts) { - this.opts = opts; + init: function(sciMapWidget) { + this.sciMapWidget = sciMapWidget; this.subdisciplineInfo = {}; this.disciplineInfo = {}; @@ -64,10 +64,10 @@ var DataTableWidget = Class.extend({ me.disciplineInfo[currentSubdisciplinesDiscipline].publicationCount = me.disciplineInfo[currentSubdisciplinesDiscipline].publicationCount + density; - } - }); + + $(".hide-dom-on-init").show(); me.setupView(); }, hasKey: function(key) { @@ -81,6 +81,13 @@ var DataTableWidget = Class.extend({ }, initView: function() { }, + parseIDIntoScienceTypeAreaID: function(rawID) { + + var type = rawID.substring(0, rawID.indexOf("-")); + var area = rawID.substring(rawID.indexOf("-") + 1); + + return [type, area]; + }, setupView: function() { var me = this; @@ -125,7 +132,7 @@ var DataTableWidget = Class.extend({ var i = 0; $.each(me.disciplineInfo, function(index, item) { - rowsToInsert[i++] = '' + SCIMAP_TYPE.DISCIPLINE + ''; + rowsToInsert[i++] = '' + SCIMAP_TYPE.DISCIPLINE + ''; rowsToInsert[i++] = '' + item.label + ''; rowsToInsert[i++] = '' + item.publicationCount.toFixed(1) + ''; rowsToInsert[i++] = '' + (100 * (item.publicationCount / me.pubsMapped)).toFixed(1) + ''; @@ -133,7 +140,7 @@ var DataTableWidget = Class.extend({ $.each(me.subdisciplineInfo, function(index, item) { - rowsToInsert[i++] = '' + SCIMAP_TYPE.SUBDISCIPLINE + ''; + rowsToInsert[i++] = '' + SCIMAP_TYPE.SUBDISCIPLINE + ''; rowsToInsert[i++] = '' + item.label + ''; rowsToInsert[i++] = '' + item.publicationCount.toFixed(1) + ''; rowsToInsert[i++] = '' + (100 * (item.publicationCount / me.pubsMapped)).toFixed(1) + ''; @@ -144,6 +151,18 @@ var DataTableWidget = Class.extend({ table.append(tbody); $("#" + me.dom.containerID).append(table); + table.children("tbody").children("tr").mouseenter(function() { + + var params = me.parseIDIntoScienceTypeAreaID($(this).attr("id")); + me.sciMapWidget.mouseIn(params[0], params[1]); + }); + + table.children("tbody").children("tr").mouseleave(function() { + + var params = me.parseIDIntoScienceTypeAreaID($(this).attr("id")); + me.sciMapWidget.mouseOut(params[0], params[1]); + }); + /* * GMAIL_STYLE_PAGINATION_CONTAINER_CLASS, ACTIVE_DISCIPLINE_SUBDISCIPLINE_FILTER has to be declared * for the filter & pagination to work properly. @@ -195,7 +214,11 @@ var DataTableWidget = Class.extend({ me.widget.fnFilter(""); }); + $("#percent-mapped-info").show(); + $("#percent-mapped").text((100 * me.pubsMapped / (me.pubsWithNoJournals + me.pubsWithInvalidJournals + me.pubsMapped)).toFixed(2)); + }, + changeFilter: function(filterType) { var me = this; diff --git a/productMods/js/visualization/mapofscience/MarkerManager.js b/productMods/js/visualization/mapofscience/MarkerManager.js index ecaca7e3..451808b5 100644 --- a/productMods/js/visualization/mapofscience/MarkerManager.js +++ b/productMods/js/visualization/mapofscience/MarkerManager.js @@ -108,7 +108,7 @@ ScimapMarkerManager = MarkerManager.extend({ marker.focus(); }); }, - mouseIn: function(key) { + mouseOut: function(key) { var marker = this.getMarker(key); if (marker) { marker.unfocus(); diff --git a/productMods/js/visualization/mapofscience/VisModeControllers.js b/productMods/js/visualization/mapofscience/VisModeControllers.js index a60815af..241643f4 100644 --- a/productMods/js/visualization/mapofscience/VisModeControllers.js +++ b/productMods/js/visualization/mapofscience/VisModeControllers.js @@ -39,7 +39,7 @@ var EntityVisModeController = Class.extend({ initWidgets: function(map, sliderControl) { var widgets = {}; widgets['scimap'] = new ScimapWidget(map, sliderControl); - widgets['sci_area_table'] = new DataTableWidget(); + widgets['sci_area_table'] = new DataTableWidget(widgets['scimap']); this.widgets = widgets; }, diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-organization.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-organization.ftl index 15769149..1ff898c4 100644 --- a/productMods/templates/freemarker/body/individual/individual--foaf-organization.ftl +++ b/productMods/templates/freemarker/body/individual/individual--foaf-organization.ftl @@ -6,6 +6,8 @@ <#if temporalVisualizationEnabled> <#assign classSpecificExtension> <#include "individual-visualizationTemporalGraph.ftl"> +
+ <#include "individual-visualizationMapOfScience.ftl"> diff --git a/productMods/templates/freemarker/body/partials/individual/individual-visualizationFoafPerson.ftl b/productMods/templates/freemarker/body/partials/individual/individual-visualizationFoafPerson.ftl index 586eaeb6..a2cdeebc 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-visualizationFoafPerson.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-visualizationFoafPerson.ftl @@ -18,7 +18,10 @@
<#if isAuthor> <#assign coAuthorIcon = "${urls.images}/visualization/co_author_icon.png"> + <#assign mapOfScienceIcon = "${urls.images}/visualization/mapofscience/vivo_scimap_icon_v001.png"> <#assign coAuthorVisUrl = individual.coAuthorVisUrl> + <#assign mapOfScienceVisUrl = individual.mapOfScienceUrl> + <#assign googleJSAPI = "https://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22visualization%22%2C%22version%22%3A%221%22%2C%22packages%22%3A%5B%22imagesparkline%22%5D%7D%5D%7D"> information icon @@ -28,12 +31,21 @@