Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add new onboarding tours #200

Merged
merged 49 commits into from
Apr 18, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
384e09f
add data-testid
dvflorianengertsberger Nov 30, 2021
e464ad3
add id for dataset searchbox
dvvanessastoiber Dec 13, 2021
5879b89
add data-testid to react select components
dvflorianengertsberger Jan 4, 2022
5a31382
Merge remote-tracking branch 'origin/develop' into cypress-testing
dvvanessastoiber Jan 17, 2022
452b83e
fix lint
dvvanessastoiber Jan 17, 2022
d81f7a9
fix react select error
dvflorianengertsberger Jan 18, 2022
5a28b07
Merge remote-tracking branch 'origin/develop' into cypress-testing
dvvanessastoiber Mar 22, 2022
761c42f
update dist
dvvanessastoiber Mar 22, 2022
d22cb38
Merge remote-tracking branch 'origin/develop' into cypress-testing
dvvanessastoiber May 30, 2022
caec0d4
update dist
dvvanessastoiber May 30, 2022
e71f24e
rename for constistency
dvvanessastoiber Jun 7, 2022
617bc8c
Merge remote-tracking branch 'origin/develop' into cypress-testing
dvvanessastoiber Jun 21, 2022
3946d4e
update dist
dvvanessastoiber Jun 21, 2022
b944ee0
Merge remote-tracking branch 'origin/develop' into cypress-testing
dvvanessastoiber Jun 30, 2022
ee11bbc
Fix typings
thinkh Jun 30, 2022
fbc855a
add index.js
dvvanessastoiber Jul 19, 2022
2867237
fix setup
dvvanessastoiber Jul 19, 2022
e0d7459
update imports and function calls
dvvanessastoiber Jul 20, 2022
2fd228f
update video
dvvanessastoiber Jul 22, 2022
1e07eb1
Refactored cy related files for Cypress v10
dvmichaelpeterseil Aug 9, 2022
992a58d
Test Duplicant Tour
dvmichaelpeterseil Aug 16, 2022
de915c9
Halfway with AssessBCCellLines tour
dvmichaelpeterseil Aug 22, 2022
1443bda
Almost done AssessBCCellLines tour
dvmichaelpeterseil Aug 22, 2022
3f9ca9f
Merge remote-tracking branch 'origin/develop' into sorry_cypress_testing
dvmichaelpeterseil Aug 22, 2022
ff6fb0e
Merge remote-tracking branch 'origin/sorry_cypress_testing' into dvMi…
dvmichaelpeterseil Aug 22, 2022
f23554c
Update Dist
dvmichaelpeterseil Aug 22, 2022
5eab43a
Fixed Hidden Modal Bug
dvmichaelpeterseil Aug 29, 2022
f52de57
AssessBCCellLines Tour Complete (Unpolished)
dvmichaelpeterseil Aug 30, 2022
38fbf9e
AssessBCCellLine Tour Complete (Polished)
dvmichaelpeterseil Sep 2, 2022
cbfdd78
Prep PredictionTP53Tour and slight refactoring
dvmichaelpeterseil Sep 2, 2022
9efaeff
Updated Tour2
dvmichaelpeterseil Sep 5, 2022
d4184c1
Updated Tour2
dvmichaelpeterseil Sep 5, 2022
01a3229
Nearly complete DrugTargetDiscoveryTour
dvmichaelpeterseil Sep 27, 2022
0372957
Merge remote-tracking branch 'origin/develop' into dvMike/1365_Additi…
dvmichaelpeterseil Feb 15, 2023
3ad9fe0
Update gitignore
dvmichaelpeterseil Feb 15, 2023
bcbf227
Merge remote-tracking branch 'origin/develop' into dvMike/1365_Additi…
dvmichaelpeterseil Mar 13, 2023
c97bf08
Stash Tour Testing
dvmichaelpeterseil Mar 13, 2023
e2efaf6
Updated tours
dvmichaelpeterseil Mar 23, 2023
ebb9ddb
Add dependency
oltionchampari Mar 23, 2023
5fbb05d
Added blockers to stabilize tour
dvmichaelpeterseil Mar 23, 2023
f433320
Merge branch 'dvMike/1365_Additional-Tours' of github.com:Caleydo/tdp…
dvmichaelpeterseil Mar 23, 2023
fb08f9f
Functional completion of the new tours
dvmichaelpeterseil Mar 30, 2023
f3329a9
Shortened names and descriptions for spacing
dvmichaelpeterseil Apr 3, 2023
787e1c0
Updated tour preview images
dvmichaelpeterseil Apr 3, 2023
1b54d1e
Merge branch 'develop' into dvMike/1365_Additional-Tours
oltionchampari Apr 5, 2023
2fad12f
chore: add missing dist files
thinkh Apr 6, 2023
edbcfc1
Minor fixes and improvments
oltionchampari Apr 7, 2023
ba09b7c
Dist
oltionchampari Apr 7, 2023
963e5c2
fix: add hi-res tour preview images
thinkh Apr 11, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Test Duplicant Tour
  • Loading branch information
dvmichaelpeterseil committed Aug 16, 2022
commit 992a58d33939a96c3f692981a53176b8eaade4b1
19 changes: 19 additions & 0 deletions src/phovea.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1021,6 +1021,25 @@ export default function (registry) {
},
);

registry.push(
'tdpTour',
'ordinoWelcomeTour2',
function () {
return import('./tours').then((t) => t.WelcomeTour2);
},
{
factory: 'createTour',
name: 'Ordino Welcome Tour 2',
description: 'Learn the basic features of Ordino in a short welcome tour again!!!!.',
preview() {
return import('./assets/previews/expression.jpg'); // TODO update preview image
},
multiPage: true,
level: 'beginner',
canJumpAround: false,
},
);

registry.push(
'tdpTour',
'ordinoStartMenuTour',
Expand Down
179 changes: 179 additions & 0 deletions src/tours/WelcomeTour2.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
import { IStep, TourUtils } from 'tdp_core';

export class WelcomeTour2 {
static createTour(): IStep[] {
return [
{
html: `<p>W222elcome to this short tour showing the basic features of Ordino!</p>
<p>
Use the "Next" button to iterate through all the steps. You can use the
<i>"Cancel"</i> button at any time to stop the tour and to interact with Ordino.
Please note that the tour will load a new analysis session and the current
one will be discarded.
</p>`,
},
{
selector: 'ul[data-header="mainMenu"] > li:first-child > a',
html: `222222To start an analysis, click on the <i>'Datasets'</i> tab. Subsequently, you can define the list of entities you want to work with`,
placement: 'centered',
preAction: () => {
const datasetTab = document.querySelector('ul[data-header="mainMenu"] > li:nth-child(1)') as HTMLElement;
if (!datasetTab.classList.contains('active')) {
datasetTab.querySelector('a').classList.add('hover');
}
},
postAction: () => {
const datasetTab = document.querySelector('ul[data-header="mainMenu"] > li:nth-child(1)') as HTMLElement;
if (!datasetTab.classList.contains('active')) {
datasetTab.querySelector('a').classList.remove('hover');
datasetTab.querySelector('a').click();
}
return TourUtils.waitFor('.ordino-dataset.genes-dataset').then(() => TourUtils.click('#ordino_dataset_tab > .ordino-scrollspy-nav > a:nth-child(3)'));
},
pageBreak: 'manual',
},
{
selector: '.ordino-dataset.genes-dataset > .card',
html: `<p>222222222222You can choose between the three entity types <i>'Cell Lines'</i>, <i>'Tissue Samples'</i>, and <i>'Genes'</i>.</p> <p>In this example we will work with a list of genes</p>`,
placement: 'centered',
preAction: () => TourUtils.waitFor('#ordino_dataset_tab > .ordino-scrollspy-container .genes-dataset > .card').then(() => TourUtils.wait(600)),
postAction: () => TourUtils.click('.ordino-dataset.genes-dataset .session-tab > li:first-child'),
},
{
selector: '.ordino-dataset.genes-dataset .dataset-entry',
html: `Of the available predefined gene sets, we open a list of known cancer genes, called <i>'Cancer Gene Census'</i>`,
placement: 'centered',
postAction: () => {
return TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: Cancer Gene Census"]').then(TourUtils.click);
},
pageBreak: 'manual',
},
{
selector: '.le.le-multi.lineup-engine',
placement: 'centered',
html: `The information is presented in a tabular format. Additionally to the gene ID, a set of columns containing some basic information is shown by default.`,
preAction: () => TourUtils.waitFor('.le.le-multi.lineup-engine', Infinity).then(() => TourUtils.wait(600)),
},
{
selector: '.lu-side-panel-wrapper .lu-adder > button',
html: `Additional columns can be added using the plus sign.`,
placement: 'centered',
postAction: TourUtils.clickSelector,
},
{
selector: '.lu-search .lu-search-item',
html: `First, we want to add a metadata column`,
placement: 'centered',
postAction: () => {
TourUtils.click('.lu-search .lu-search-item');
TourUtils.toggleClass('.lu-adder.once', 'once', false);
},
},
{
selector: '.modal.show .col > .select2',
html: `Here we select <i>'Strand'</i> &hellip;`,
placement: 'centered',
preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(250)),
postAction: () => TourUtils.setValueAndTrigger('.col > select', 'strand', 'change'),
},
{
selector: '.modal.show .modal-footer button[type=submit]',
html: `&hellip; and click <i>'Add'</i>`,
placement: 'centered',
postAction: TourUtils.clickSelector,
},
{
selector: '.le header section[title=Strand]',
placement: 'centered',
html: `The strand information was added as a new column`,
preAction: TourUtils.waitForSelector,
},
{
selector: '.lu-search .lu-search-group .lu-search-item',
placement: 'centered',
html: `Now, we want to add two columns containing the copy number information of two specific cell lines. To do so, we open the <i>'Cell Line Score'</i> dialog`,
preAction: () => {
TourUtils.click('.lu-side-panel-wrapper .lu-adder > button');
},
postAction: () => {
TourUtils.click('.lu-search .lu-search-group .lu-search-item');
TourUtils.toggleClass('.lu-adder.once', 'once', false);
},
},
{
selector: '.modal.show .col > .select3',
placement: 'centered',
preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(250)),
html: `We select the cell lines <i>'HCC-827'</i> and <i>'BT-20'</i>.`,
postAction: () => {
TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC-827;BT-20;', 'input');
},
},
{
selector: '.modal.show .col > .select2',
placement: 'centered',
html: `As data type, we choose <i>'Relative Copy Number'</i>`,
postAction: () => {
TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change');
},
},
{
selector: '.modal.show .modal-footer button[type=submit]',
html: `Finally, click <i>'Add'</i>`,
placement: 'centered',
postAction: TourUtils.clickSelector,
},
{
selector: ['.le header section[title^=BT], .le header section[title^=HCC]'],
placement: 'centered',
preAction: () => TourUtils.waitFor('.le header section[title^=BT]', 10000),
html: `The copy number information for each selected cell line has been added as additional columns`,
},
{
selector: '.le > header',
placement: 'centered',
html: `The column headers can be used to sort and filter the list of genes based on any of the available data`,
},
{
selector: '.le header section[title^=HCC] i[title^=Sort]',
placement: 'centered',
html: `For example, you can use this icon to sort all genes by their copy number in the cell line <i>'HCC-827'</i>`,
postAction: TourUtils.clickSelector,
},
{
selector: '.le-tr[data-index="0"]',
placement: 'centered',
html: `In order to obtain additional information about one or more genes, click on the respective line or use the checkboxes`,
preAction: () =>
TourUtils.waitFor(() => {
const r = document.querySelector<HTMLElement>('.le-tr[data-index="0"]');
if (!r) {
return null;
}
// has a string renderered EGFR entry
if (!Array.from(r.querySelectorAll<HTMLElement>('div[data-renderer="string"]')).some((d) => d.textContent === 'EGFR')) {
return null;
}
return r;
}, Infinity).then(() => TourUtils.wait(500)), // wait for animation to complete
postAction: TourUtils.clickSelector,
},
{
selector: '.viewWrapper .chooser:not(.hidden)',
placement: 'centered',
html: `Various 'Detail Views', providing additional information, are available.`,
preAction: TourUtils.waitForSelector,
},
{
selector: '.viewWrapper .chooser button[data-viewid="celllinedb_expression_vs_copynumber"]',
placement: 'centered',
html: `For instance, clicking on <i>'Expression vs Copy Number'</i> opens a scatter plot showing the relation of the two types of data`,
postAction: TourUtils.clickSelector,
},
{
html: `<p>Thanks for joining this tour demonstrating the basic features of Ordino.</p>
<p>There are many more features to discover. Enjoy!</p>`,
},
];
}
}
1 change: 1 addition & 0 deletions src/tours/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export * from './WelcomeTour';
export * from './AddColumnToGeneListTour';
export * from './StartMenuTour';
export * from './WelcomeTour2';