Skip to content

Commit

Permalink
Merge pull request OpenKnowledgeMaps#481 from OpenKnowledgeMaps/refac…
Browse files Browse the repository at this point in the history
…toring-01-mvp-init

Refactoring 01 (MVP): init refactor

Former-commit-id: 359bb24
  • Loading branch information
chreman authored Oct 1, 2020
2 parents 156fffe + 7243fba commit f026287
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 50 deletions.
12 changes: 3 additions & 9 deletions vis/js/canvas.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ class Canvas {
this.available_width = null;
this.current_vis_size = null;
this.current_vis_width = null; //used in streamgraph

this.initScales();
}

getCurrentCircle(d) {
Expand All @@ -41,11 +43,6 @@ class Canvas {
const CHART_HEIGHT_CORRECTION = 15;
const CHART_HEIGHT_CORRECTION_TOOLBAR = 15;

// TODO remove this when the sequence of initialization steps is refactored properly
if (mediator.modern_frontend_enabled && config.is_authorview) {
title_image_height = 70;
}

// Set available_height and available_width
if (parent_height === 0) {
this.available_height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - Math.max(subtitle_height, title_image_height) - toolbar_height;
Expand Down Expand Up @@ -893,7 +890,6 @@ class Canvas {
setupCanvas() {
this.setOverflowToHiddenOrAuto("#main");
this.calcChartSize();
this.initScales();
this.setScaleRanges();
this.drawSvg();
this.drawChartCanvas();
Expand All @@ -920,8 +916,7 @@ class Canvas {
this.setOverflowToHiddenOrAuto("#main");
this.calcChartSize();

//TODO: remove these two as they are not relevant for streamgraphs
this.initScales();
//TODO: remove this as it is not relevant for streamgraphs
this.setScaleRanges();

this.drawStreamgraphChart();
Expand All @@ -941,7 +936,6 @@ class Canvas {
this.setOverflowToHiddenOrAuto("#main");
this.drawTitle();
this.calcChartSize();
this.initScales();
this.setScaleRanges();
this.drawMultiplesSvg();
this.drawChartCanvas();
Expand Down
9 changes: 6 additions & 3 deletions vis/js/io.js
Original file line number Diff line number Diff line change
Expand Up @@ -376,9 +376,6 @@ IO.prototype = {
this.num_oa = num_oa;
this.num_papers = num_papers;
this.num_datasets = num_datasets;

mediator.publish("update_canvas_domains", cur_data);
mediator.publish("update_canvas_data", cur_data);

var areas = this.areas;
cur_data.forEach(function (d) {
Expand Down Expand Up @@ -422,6 +419,12 @@ IO.prototype = {

this.data = cur_data;
},

updateVis: function() {
// from prepareData:
mediator.publish("update_canvas_domains", this.data);
mediator.publish("update_canvas_data", this.data);
},

createCommentStringForFiltering: function(comments) {
let return_string = "";
Expand Down
6 changes: 0 additions & 6 deletions vis/js/list.js
Original file line number Diff line number Diff line change
Expand Up @@ -249,12 +249,6 @@ list.fit_list_height = function() {
} else {
let title_height = $("#subdiscipline_title").outerHeight(true);
let title_image_height = $("#title_image").outerHeight(true) || 0;

// TODO refactor this properly in one place (mediator??)
// now the same calculations are done both in canvas and in list
if (mediator.modern_frontend_enabled && config.is_authorview) {
title_image_height = 70;
}

paper_list_avail_height =
Math.max(title_height, title_image_height)
Expand Down
64 changes: 32 additions & 32 deletions vis/js/mediator.js
Original file line number Diff line number Diff line change
Expand Up @@ -287,19 +287,40 @@ MyMediator.prototype = {
mediator.streamgraph_data = (config.is_streamgraph)?(csv.streamgraph):{};

mediator.manager.registerModule(window.headstartInstance, 'headstart');

mediator.manager.call('io', 'initializeMissingData', [data]);
mediator.manager.call('io', 'prepareData', [highlight_data, data, context]);
mediator.manager.call('io', 'setContext', [context, data.length]);
mediator.manager.call('io', 'setInfo', [context]);

mediator.init_modern_frontend_intermediate();

if(config.is_streamgraph) {
if (config.is_streamgraph) {
mediator.manager.call('canvas', 'setupStreamgraphCanvas', []);
} else {
if (config.is_force_papers && config.dynamic_force_papers)
mediator.manager.call('headstart', 'dynamicForcePapers', [data.length]);
if (config.is_force_area && config.dynamic_force_area)
mediator.manager.call('headstart', 'dynamicForceAreas', [data.length]);
if (config.dynamic_sizing)
mediator.manager.call('headstart', 'dynamicSizing', [data.length]);
if (config.render_bubbles)
mediator.manager.registerModule(mediator.current_bubble, 'bubble');

mediator.manager.call('canvas', 'setupCanvas', []);
if (config.scale_toolbar) {
mediator.manager.registerModule(scale, 'scale');
mediator.manager.call('scale', 'drawScaleTypes', []);
}
}

mediator.manager.call('io', 'initializeMissingData', [data]);
mediator.manager.call('io', 'prepareData', [highlight_data, data, context]);
mediator.manager.call('io', 'prepareAreas', []);
mediator.manager.call('io', 'prepareAreas', []);
mediator.manager.call('io', 'updateVis', []);

mediator.manager.call('canvas', 'drawTitle', [context]);
mediator.bubbles_update_data_and_areas(mediator.current_bubble);

mediator.manager.call('io', 'setContext', [context, data.length]);
mediator.manager.call('io', 'setInfo', [context]);
mediator.manager.call('canvas', 'drawTitle', [context]);
mediator.bubbles_update_data_and_areas(mediator.current_bubble);

if (config.is_streamgraph) {
mediator.manager.registerModule(streamgraph, 'streamgraph')
mediator.manager.call('streamgraph', 'start')
mediator.manager.call('streamgraph', 'setupStreamgraph', [mediator.streamgraph_data])
Expand All @@ -312,41 +333,20 @@ MyMediator.prototype = {
mediator.manager.call('streamgraph', 'initMouseListeners', []);

} else {
if(config.is_force_papers && config.dynamic_force_papers) mediator.manager.call('headstart', 'dynamicForcePapers', [data.length]);
if(config.is_force_area && config.dynamic_force_area) mediator.manager.call('headstart', 'dynamicForceAreas', [data.length]);
if(config.dynamic_sizing) mediator.manager.call('headstart', 'dynamicSizing', [data.length]);
if (config.render_bubbles) mediator.manager.registerModule(mediator.current_bubble, 'bubble');

mediator.manager.call('canvas', 'setupCanvas', []);
if(config.scale_toolbar) {
mediator.manager.registerModule(scale, 'scale')
mediator.manager.call('scale', 'drawScaleTypes', [])
}


mediator.manager.call('io', 'initializeMissingData', [data]);
mediator.manager.call('io', 'prepareData', [highlight_data, data, context]);
mediator.manager.call('io', 'prepareAreas', []);

mediator.manager.call('io', 'setContext', [context, data.length]);
mediator.manager.call('io', 'setInfo', [context]);
mediator.manager.call('canvas', 'drawTitle', [context]);

mediator.bubbles_update_data_and_areas(mediator.current_bubble);
mediator.manager.call('bubble', 'start', [data, highlight_data]);
mediator.manager.call('canvas', 'initEventsAndLayout', []);
mediator.manager.call('papers', 'start', [ mediator.current_bubble ]);
mediator.manager.call('bubble', 'draw', []);

mediator.manager.call('list', 'start');
if (!config.render_bubbles && config.show_list) mediator.manager.call('list', 'show');

mediator.manager.call('canvas', 'checkForcePapers', []);
mediator.manager.call('canvas', 'hyphenateAreaTitles', []);
mediator.manager.call('canvas', 'dotdotdotAreaTitles', []);
mediator.manager.call('bubble', 'initMouseListeners', []);
}

mediator.init_modern_frontend_intermediate();

mediator.manager.call('canvas', 'showInfoModal', []);
},

Expand Down

0 comments on commit f026287

Please sign in to comment.