/* $This file is distributed under the terms of the license in /doc/license.txt$ */ var DataTableWidget = Class.extend({ dom: { searchBarParentContainerClass: "searchbar", paginationContainerClass: "paginatedtabs", containerID: "main-science-areas-table-container", footerID: "main-science-areas-table-footer", firstFilterID: "first-filter", secondFilterID: "second-filter", filterOptionClass: "filter-option", activeFilterClass: "active-filter", filterInfoIconClass: "filterInfoIcon", percentMappedInfoID: "percent-mapped-info" }, init: function(sciMapWidget) { var me = this; me.sciMapWidget = sciMapWidget; me.widgetType = "MAIN_SCIENCE_AREAS"; me.currentSelectedFilter = SCIMAP_TYPE.SUBDISCIPLINE; me.subdisciplineInfo = {}; me.disciplineInfo = {}; me.widget = ''; me.percentMappedDiv = $("#" + me.dom.percentMappedInfoID); me.tableDiv = $('
'); $("#" + me.dom.containerID).append(this.tableDiv); $.each(DISCIPLINES, function(index, item) { var emptyScienceAreaElement = { publicationCount: 0, label: item.label }; me.disciplineInfo[index] = emptyScienceAreaElement; }); $.each(SUBDISCIPLINES, function(index, item) { var emptyScienceAreaElement = { publicationCount: 0, label: item.label }; me.subdisciplineInfo[index] = emptyScienceAreaElement; }); }, loadJsonData: function(data) { var me = this; me.uri = data.uri; me.label = data.label; me.pubsWithNoJournals = data.pubsWithNoJournals; me.pubsWithInvalidJournals = data.pubsWithInvalidJournals; me.pubsMapped = data.pubsMapped; me.type = data.type; $.each(data.subdisciplineActivity, function(subdiscipline, density) { me.subdisciplineInfo[subdiscipline].publicationCount = density; var currentSubdisciplinesDiscipline = SUBDISCIPLINES[subdiscipline].discipline; if (me.disciplineInfo[currentSubdisciplinesDiscipline]) { me.disciplineInfo[currentSubdisciplinesDiscipline].publicationCount = me.disciplineInfo[currentSubdisciplinesDiscipline].publicationCount + density; } }); $(".hide-dom-on-init").show(); me.setupView(); }, hasKey: function(key) { return (this.keyToMarkerManagers.hasOwnProperty(key)); }, show: function(key) { this.tableDiv.show(); this.percentMappedDiv.show(); }, hide: function(key) { this.tableDiv.hide(); this.percentMappedDiv.hide(); }, cleanView: function() { this.hide(); }, initView: function() { this.show(); this.changeFilter(this.currentSelectedFilter); }, 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; var dom = me.dom; var filter = $(''); levelOfScienceAreaTH.html('Level of Science Area'); var scienceAreasTH = $(' | '); scienceAreasTH.attr("id", "science-areas-th"); if (this.currentSelectedFilter === SCIMAP_TYPE.SUBDISCIPLINE ) { scienceAreasTH.html('Sub-Disciplines'); } else { scienceAreasTH.html('Disciplines'); } var activityCountTH = $(' | '); activityCountTH.html('# of pubs.'); activityCountTH.attr("id", "activity-count-column"); var percentageActivityTH = $(' | '); percentageActivityTH.html('% activity'); percentageActivityTH.attr("id", "percentage-activity-column"); tr.append(levelOfScienceAreaTH); tr.append(scienceAreasTH); tr.append(activityCountTH); tr.append(percentageActivityTH); thead.append(tr); table.append(thead); var tbody = $(' |
---|---|---|---|
' + SCIMAP_TYPE.DISCIPLINE + ' | '; rowsToInsert[i++] = '' + item.label + ' | '; rowsToInsert[i++] = '' + item.publicationCount.toFixed(1) + ' | '; rowsToInsert[i++] = '' + (100 * (item.publicationCount / me.pubsMapped)).toFixed(1) + ' |
' + SCIMAP_TYPE.SUBDISCIPLINE + ' | '; rowsToInsert[i++] = '' + item.label + ' | '; rowsToInsert[i++] = '' + item.publicationCount.toFixed(1) + ' | '; rowsToInsert[i++] = '' + (100 * (item.publicationCount / me.pubsMapped)).toFixed(1) + ' |