From eeca98f09bbc074c6a666df8226667ac07ec328d Mon Sep 17 00:00:00 2001
From: Samuel Gratzl
Date: Mon, 19 Feb 2018 14:41:31 +0100
Subject: [PATCH 01/16] wait for selection changes to be applied
---
src/internal/ViewWrapper.ts | 12 ++++++------
src/internal/cmds.ts | 4 ++--
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/internal/ViewWrapper.ts b/src/internal/ViewWrapper.ts
index 48acff57..cd920e30 100644
--- a/src/internal/ViewWrapper.ts
+++ b/src/internal/ViewWrapper.ts
@@ -236,12 +236,12 @@ export default class ViewWrapper extends EventHandler {
// turn listener off, to prevent an infinite event loop
this.instance.off(AView.EVENT_ITEM_SELECT, this.listenerItemSelect);
- this.instance.setItemSelection(sel);
+ return resolveImmediately(this.instance.setItemSelection(sel)).then(() => {
+ this.chooseNextViews(sel.idtype, sel.range);
- this.chooseNextViews(sel.idtype, sel.range);
-
- // turn listener on again
- this.instance.on(AView.EVENT_ITEM_SELECT, this.listenerItemSelect);
+ // turn listener on again
+ this.instance.on(AView.EVENT_ITEM_SELECT, this.listenerItemSelect);
+ });
}
setParameterSelection(selection: ISelection) {
@@ -249,7 +249,7 @@ export default class ViewWrapper extends EventHandler {
return;
}
this.selection = selection;
- this.instance.setInputSelection(selection);
+ return resolveImmediately(this.instance.setInputSelection(selection));
}
getParameterSelection() {
diff --git a/src/internal/cmds.ts b/src/internal/cmds.ts
index 2c62ddab..9e1185bc 100644
--- a/src/internal/cmds.ts
+++ b/src/internal/cmds.ts
@@ -177,9 +177,9 @@ export async function setSelectionImpl(inputs: IObjectRef[], parameter) {
const range = parse(parameter.range);
const bak = view.getItemSelection();
- view.setItemSelection({idtype, range});
+ await Promise.resolve(view.setItemSelection({idtype, range}));
if (target) {
- target.setParameterSelection({idtype, range});
+ await Promise.resolve(target.setParameterSelection({idtype, range}));
}
return {
inverse: inputs.length > 1 ? setAndUpdateSelection(inputs[0], inputs[1], bak.idtype, bak.range) : setSelection(inputs[0], bak.idtype, bak.range)
From 4fe8e3ebad8c7ad6341c8caf071e7fc5400c018f Mon Sep 17 00:00:00 2001
From: Christian Lehner
Date: Fri, 23 Feb 2018 10:07:50 +0100
Subject: [PATCH 02/16] prepare next development version 4.0.2-SNAPSHOT
---
package.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package.json b/package.json
index deac06b4..2aa524ef 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "ordino",
"description": "Target discovery platform for exploring rankings of genes, disease models, and other entities.",
"homepage": "https://phovea.caleydo.org",
- "version": "4.0.1",
+ "version": "4.0.2-SNAPSHOT",
"author": {
"name": "The Caleydo Team",
"email": "contact@caleydo.org",
@@ -88,6 +88,6 @@
"jquery.scrollto": "2.1.2",
"@types/jquery": "2.0.33",
"jquery": "3.1.1",
- "tdp_core": "github:datavisyn/tdp_core#v4.0.1"
+ "tdp_core": "github:datavisyn/tdp_core#develop"
}
}
From 708e45d908652898e14848a9350bf41b274b5d7a Mon Sep 17 00:00:00 2001
From: Holger Stitz
Date: Mon, 16 Apr 2018 16:37:21 +0200
Subject: [PATCH 03/16] Extract welcome view to extension and adapt welcome
content Caleydo/tdp_bi_bioinfodb#840
---
.yo-rc.json | 9 ++++++++-
phovea.js | 3 +++
src/WelcomeView.ts | 19 +++++++++++++++++++
src/internal/OrdinoApp.ts | 28 ++++++++++++++++++++++++++--
src/welcome_view.html | 6 +++---
5 files changed, 59 insertions(+), 6 deletions(-)
create mode 100644 src/WelcomeView.ts
diff --git a/.yo-rc.json b/.yo-rc.json
index b8adf7ae..48a49a0d 100644
--- a/.yo-rc.json
+++ b/.yo-rc.json
@@ -25,7 +25,14 @@
"node_modules.*(d3|bootstrap|jquery|select2)",
"((node_modules.*popper)|lineupjs|lineupengine|tdp_core)"
],
- "extensions": [],
+ "extensions": [
+ {
+ "type": "ordinoWelcomeView",
+ "id": "ordinoWelcomeView",
+ "module": "WelcomeView",
+ "extras": {}
+ }
+ ],
"sextensions": [],
"libraries": [
"scrollTo",
diff --git a/phovea.js b/phovea.js
index 7da14d3b..dea28239 100644
--- a/phovea.js
+++ b/phovea.js
@@ -60,6 +60,9 @@ module.exports = function (registry) {
priority: 95
});
+ registry.push('ordinoWelcomeView', 'ordinoWelcomeView', function() { return import('./src/WelcomeView'); }, {
+ priority: 10
+ });
// generator-phovea:end
};
diff --git a/src/WelcomeView.ts b/src/WelcomeView.ts
new file mode 100644
index 00000000..72685afd
--- /dev/null
+++ b/src/WelcomeView.ts
@@ -0,0 +1,19 @@
+import * as d3 from 'd3';
+
+import WelcomeViewTemplate from 'html-loader!./welcome_view.html';
+
+export interface IWelcomeView {
+ build();
+}
+
+export default class WelcomeView implements IWelcomeView {
+ private $node: d3.Selection;
+
+ constructor(parent: HTMLElement) {
+ this.$node = d3.select(parent);
+ }
+
+ build() {
+ this.$node.html(WelcomeViewTemplate);
+ }
+}
diff --git a/src/internal/OrdinoApp.ts b/src/internal/OrdinoApp.ts
index 5c8cdf25..a4c0863d 100644
--- a/src/internal/OrdinoApp.ts
+++ b/src/internal/OrdinoApp.ts
@@ -19,8 +19,10 @@ import {createView, removeView, replaceView, setAndUpdateSelection, setSelection
import Range from 'phovea_core/src/range/Range';
import {SESSION_KEY_NEW_ENTRY_POINT} from './constants';
import * as session from 'phovea_core/src/session';
+import {list as listPlugins} from 'phovea_core/src/plugin';
+import {IWelcomeView} from '../WelcomeView';
-import WelcomeViewTemplate from 'html-loader!../welcome_view.html';
+export const EXTENSION_POINT_WELCOME_PAGE = 'ordinoWelcomeView';
/**
@@ -62,7 +64,29 @@ export default class OrdinoApp extends EventHandler {
const $wrapper = d3.select(parent).append('div').classed('wrapper', true);
this.$node = $wrapper.append('div').classed('targid', true).datum(this);
- this.$node.html(WelcomeViewTemplate);
+ this.buildWelcomeView(this.$node.node());
+ }
+
+ /**
+ * Loads registered welcome pages from the extension points.
+ * The welcome page with the highest priority is loaded and shown.
+ *
+ * @param {HTMLElement} parent
+ */
+ private buildWelcomeView(parent: HTMLElement) {
+ const welcomeViews = listPlugins(EXTENSION_POINT_WELCOME_PAGE)
+ .sort((a: any, b: any) => ((b.priority || 10) - (a.priority || 10))); // descending
+
+ if(welcomeViews.length === 0) {
+ console.warn('No registered welcome page found!');
+ return;
+ }
+
+ welcomeViews[0].load()
+ .then((p) => {
+ const welcomeView: IWelcomeView = p.factory(parent);
+ welcomeView.build();
+ });
}
private buildHistory(parent: HTMLElement) {
diff --git a/src/welcome_view.html b/src/welcome_view.html
index c4a2f422..6a9114ec 100644
--- a/src/welcome_view.html
+++ b/src/welcome_view.html
@@ -7,10 +7,10 @@ Welcome to Ordino
genes, cell lines, and tissue samples based on a rich set of experimental and metadata.
- Ordino contains data from
+ Ordino contains data from BI cell line collection,
The Cancer Genome Atlas (TCGA),
- the Cancer Cell Line Encyclopedia (CCLE),
- as well as two depletion screen data sets from
+ the Genotype-Tissue Expression (GTEx) project,
+ as well as CRISPR / RNAi loss-of-function screen data sets from
McDonald et al. (Cell 2017) and
Meyers et al. (Nat. Genet. 2017).
From eafa912b1542bf1d2f539630f099b1a1bf48df40 Mon Sep 17 00:00:00 2001
From: Holger Stitz
Date: Mon, 16 Apr 2018 16:57:08 +0200
Subject: [PATCH 04/16] Remove d3 dependency for welcome view
Caleydo/tdp_bi_bioinfodb#840
---
src/WelcomeView.ts | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/src/WelcomeView.ts b/src/WelcomeView.ts
index 72685afd..157d16c6 100644
--- a/src/WelcomeView.ts
+++ b/src/WelcomeView.ts
@@ -1,5 +1,3 @@
-import * as d3 from 'd3';
-
import WelcomeViewTemplate from 'html-loader!./welcome_view.html';
export interface IWelcomeView {
@@ -7,13 +5,12 @@ export interface IWelcomeView {
}
export default class WelcomeView implements IWelcomeView {
- private $node: d3.Selection;
- constructor(parent: HTMLElement) {
- this.$node = d3.select(parent);
+ constructor(private parent: HTMLElement) {
+ //
}
build() {
- this.$node.html(WelcomeViewTemplate);
+ this.parent.innerHTML = WelcomeViewTemplate;
}
}
From 3b5fc1129fe0e5a014dc0c9234fc5f9f6b3d0971 Mon Sep 17 00:00:00 2001
From: Holger Stitz
Date: Mon, 16 Apr 2018 17:12:24 +0200
Subject: [PATCH 05/16] Show generic welcome page for default Ordino
Caleydo/tdp_bi_bioinfodb#840
---
src/assets/welcome-view-step1.png | Bin 21555 -> 0 bytes
src/assets/welcome-view-step2.png | Bin 124600 -> 0 bytes
src/assets/welcome-view-step3.png | Bin 143257 -> 0 bytes
src/styles/_welcome_view.scss | 83 ------------------------------
src/welcome_view.html | 37 +------------
5 files changed, 2 insertions(+), 118 deletions(-)
delete mode 100644 src/assets/welcome-view-step1.png
delete mode 100644 src/assets/welcome-view-step2.png
delete mode 100644 src/assets/welcome-view-step3.png
diff --git a/src/assets/welcome-view-step1.png b/src/assets/welcome-view-step1.png
deleted file mode 100644
index f3ed3b74d4e959559d14a2537ebd70c34569b365..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 21555
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⪙Pq~@qje9F1bkW7NQhQQZ-
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
diff --git a/src/assets/welcome-view-step2.png b/src/assets/welcome-view-step2.png
deleted file mode 100644
index 8b7c7a84dfb53e4236a4b0992569ad825db96a7c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 124600
zcmb@ubySsq_bn%xTU2*N?JldT0)Qz2}MxBjnZ8b(h}08bf=_BN+W_a
zNXK2g-*|s_j5E#|_l!IAA8POC`8+G;nrqJeRzvMJf&fWy;lc%klA@f}g$r1P7cOAR
z;$gyf9uk&sU%>e3qa-J-<1x09gzKTx8C_xRp7i}}Ozi$M+BUPq?+**DYwxSmHHAIy
zl?}P(&$xK$8k0+itlBkP5^OwdscZOtR~RnJDB|IVNnJ@hiC%5vEo?fk$W{wU=v~s3a&ZJIlCacEZU$G4baZrf9%|jYm+F>o-OBnT0jn;_lOf5EhLvlrffTPZ%o@gq
zhxIBRe$V&({hj;8{?_J
zr3$-mcAK-U+dsb?%?9!&*6IECV95i}DdL_b&-T`)&QA9nM}N_uZPH^5y?_6{X=o!!
z%>CN6YZCj@zI_r$T%w}LhLfR`)1AutlT~ZUqtWDB&)&~?TLC@&b?cd3_EDH8{ubyc5I@
ze222dw0uX{U^42l_rpEa?9IVs?K78)$1EeHY-+AcgPD&Pd;j~IvzasSC?vf0H7WxA
z(4n+qx}RJYK79Dl(V?gq8*E(dR&F!!>bLvK2uAnV;6^aDP+JJCnEeP}FOPl^0}oGu
z-M8Gv#zqPrqy70v^(ge+zXQ5era3-7o>t7weynUM{)Tn3xaVMngJFfNj0}N#GlRXU
zsVPL!(?82Bk@=}`MuN73mJ40cduu|
z*EI?4Y&D0k9|k(YnI6Asn`;lHM%ffubzhY+jde6JnQ~hlE4Ll`IadCV=9A}kmcKu4
zH3W?d;jq`AZ+hYhtB_^f`bDNQO|M-zZr&_cOA1H${Ffj1h>9J>D@-6yXPs=PjuSmtr
z!3EVrtnIFj!>xSbnZhNa>A=W=yWqOc<)k{#XuDs2uiQ@KruY}>D_S{PnedbgW(*M2
zf@H{_!c`NwcR4@ZVrRGQiQ^AZf7wxJ^r=Z(Y6h+{hx+eF8!d=L%iRt}V$&i^?7!z5
zq)0s9UmMIM)Tg?7Rk!x(6E}Zi`rb$N-Y4&SIyyS&Zapokc3slq+1T3p?0xc7L*ugQ
zXqtRr068Z_UQ-s-B{TQwhL=ziom