From 384e09fc59a634980f55e1d49ac86ce49c744afa Mon Sep 17 00:00:00 2001 From: Florian Engertsberger Date: Tue, 30 Nov 2021 13:06:30 +0100 Subject: [PATCH 01/38] add data-testid --- dist/common/forms.d.ts | 2 +- dist/menu/DatasetCard.js | 7 +++--- dist/menu/DatasetCard.js.map | 2 +- dist/menu/DatasetSearchBox.js | 4 +-- dist/menu/DatasetSearchBox.js.map | 2 +- dist/scores/forms.d.ts | 42 +++++++++++++++---------------- src/menu/DatasetCard.tsx | 7 +++--- src/menu/DatasetSearchBox.tsx | 4 +-- 8 files changed, 36 insertions(+), 34 deletions(-) diff --git a/dist/common/forms.d.ts b/dist/common/forms.d.ts index 7280ad5e..d9d379e5 100644 --- a/dist/common/forms.d.ts +++ b/dist/common/forms.d.ts @@ -149,7 +149,7 @@ export declare const FORM_GENE_FILTER: { return: string; optionsData: () => Promise<{ name: string; - value: string | number; + value: import("lineupjs").ICompareValue; }[]>; options: { placeholder: string; diff --git a/dist/menu/DatasetCard.js b/dist/menu/DatasetCard.js index 59315eb7..596b29e7 100644 --- a/dist/menu/DatasetCard.js +++ b/dist/menu/DatasetCard.js @@ -6,6 +6,7 @@ import { DatasetSearchBox } from './DatasetSearchBox'; import { Species, SpeciesUtils } from 'tdp_gene'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }) { var _a, _b; + const testId = `datasetcard-${cssClass}`; const { app } = React.useContext(OrdinoContext); const [dirtyNamedSets, setDirtyNamedSets] = React.useState(false); const loadPredefinedSet = React.useMemo(() => { @@ -74,7 +75,7 @@ export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, }; const id = React.useMemo(() => UniqueIdManager.getInstance().uniqueId(), []); const activeTabIndex = 0; - return (React.createElement("div", { className: `ordino-dataset ${cssClass || ''}` }, + return (React.createElement("div", { className: `ordino-dataset ${cssClass || ''}`, "data-testid": testId }, React.createElement("h4", { className: "text-start mb-3" }, React.createElement("i", { className: 'me-2 ordino-icon-2 ' + icon }), name), @@ -82,13 +83,13 @@ export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, React.createElement("div", { className: "card-body p-3" }, React.createElement("ul", { className: "nav nav-pills session-tab" }, tabs.map((tab, index) => { return (React.createElement("li", { key: tab.id, className: "nav-item", role: "presentation" }, - React.createElement("a", { className: `nav-link ${(index === activeTabIndex) ? 'active' : ''}`, id: `dataset-tab-${tab.id}-${id}`, "data-bs-toggle": "tab", href: `#dataset-panel-${tab.id}-${id}`, role: "tab", "aria-controls": `dataset-panel-${tab.id}-${id}`, "aria-selected": (index === activeTabIndex) }, + React.createElement("a", { className: `nav-link ${(index === activeTabIndex) ? 'active' : ''}`, "data-testid": `${tab.id}-link`, id: `dataset-tab-${tab.id}-${id}`, "data-bs-toggle": "tab", href: `#dataset-panel-${tab.id}-${id}`, role: "tab", "aria-controls": `dataset-panel-${tab.id}-${id}`, "aria-selected": (index === activeTabIndex) }, React.createElement("i", { className: 'me-2 ' + tab.icon }), tab.name))); })), React.createElement("div", { className: "tab-content" }, tabs.map((tab, index) => { const separators = tokenSeparators ? { tokenSeparators } : null; - return (React.createElement("div", { key: tab.id, className: `tab-pane fade mt-4 ${(index === activeTabIndex) ? 'show active' : ''}`, role: "tabpanel", id: `dataset-panel-${tab.id}-${id}`, "aria-labelledby": `dataset-tab-${tab.id}-${id}` }, + return (React.createElement("div", { key: tab.id, className: `tab-pane fade mt-4 ${(index === activeTabIndex) ? 'show active' : ''}`, "data-testid": `${tab.id}-tab`, role: "tabpanel", id: `dataset-panel-${tab.id}-${id}`, "aria-labelledby": `dataset-tab-${tab.id}-${id}` }, React.createElement(DatasetSearchBox, Object.assign({ placeholder: `Add ${name}`, dataSource: dataSource, params: { species: tab.id }, onSaveAsNamedSet: (items) => onSaveAsNamedSet(items, { key: Species.SPECIES_SESSION_KEY, value: tab.id }), onOpen: (event, searchResult) => { onOpenSearchResult(event, { searchResult, species: tab.id }); } }, separators)), React.createElement("div", { className: "row mt-4" }, React.createElement(NamedSetList, { headerIcon: "fas fa-database", headerText: "Predefined Sets", onOpen: (event, namedSet) => { onOpenNamedSet(event, { namedSet, species: tab.id }); }, status: predefinedNamedSets.status, value: filterValue(predefinedNamedSets.value, tab.id) }), diff --git a/dist/menu/DatasetCard.js.map b/dist/menu/DatasetCard.js.map index 6286b643..3af1cad3 100644 --- a/dist/menu/DatasetCard.js.map +++ b/dist/menu/DatasetCard.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAa,MAAM,UAAU,CAAC;AAC3G,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,OAAO,EAAE,YAAY,EAAsB,MAAM,UAAU,CAAC;AAGpE,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAuC;;IAC9I,MAAM,EAAC,GAAG,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAA6B,GAAG,EAAE;QACvE,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,QAAQ,CAAC;aAC7E,IAAI,CAAC,CAAC,MAA4D,EAAE,EAAE;YACrE,OAAO,CAAC;oBACN,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,aAAa,CAAC,MAAM;oBAC1B,UAAU,EAAE,OAAO,CAAC,mBAAmB;oBACvC,kBAAkB,EAAE,IAAI;oBACxB,YAAY,EAAE,YAAY,CAAC,kBAAkB,EAAE;oBAC/C,WAAW,EAAE,EAAE;oBACf,MAAM,EAAE,EAAE;oBACV,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,EAAE;iBACZ,EAAE,GAAG,MAAM;qBACT,GAAG,CAAC,SAAS,cAAc,CAAC,EAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAC;oBACrD,OAAO;wBACL,IAAI,EAAE,aAAa,CAAC,KAAK;wBACzB,EAAE;wBACF,IAAI,EAAE,EAAE;wBACR,WAAW;wBACX,UAAU,EAAE,OAAO,CAAC,mBAAmB;wBACvC,kBAAkB,EAAE,KAAK;wBACzB,YAAY,EAAE,OAAO;wBACrB,MAAM,EAAE,EAAE;qBACX,CAAC;gBACJ,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAExB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAA6B,GAAG,EAAE;QACnE,OAAO,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAExC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,0BAA0B,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,EAAC,GAAG,SAAS,EAAE,GAAG,EAAC,KAAK,QAAE,SAAS,CAAC,KAAK,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC;IACtI,MAAM,eAAe,GAAG,EAAC,GAAG,SAAS,EAAE,GAAG,EAAC,KAAK,QAAE,SAAS,CAAC,KAAK,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC;IAC1I,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAE,GAAW,EAAE,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC;IAE9G,MAAM,cAAc,GAAG,CAAC,KAAoC,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAyC,EAAE,EAAE;QAC3H,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAM,oBAAoB,GAAG;YAC3B,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO;SACvC,CAAC;QAEF,oEAAoE;QACpE,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAEtE,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,EAAC,QAAQ,EAAC,EAAE,oBAAoB,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,KAAoC,EAAE,EAAC,YAAY,EAAE,OAAO,EAAgE,EAAE,EAAE;QAC1J,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAM,oBAAoB,GAAG;YAC3B,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO;SACvC,CAAC;QACF,6BAA6B;QAC7B,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAEtE,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,KAAmB,EAAE,OAAqC,EAAE,EAAE;QACtF,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,4CAA4C,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;YACnJ,MAAM,SAAS,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAExC,MAAM,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YACvF,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,CAAC,CAAC;IAEzB,OAAO,CACL,6BAAK,SAAS,EAAE,kBAAkB,QAAQ,IAAI,EAAE,EAAE;QAChD,4BAAI,SAAS,EAAC,iBAAiB;YAAC,2BAAG,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAM;YAAC,IAAI,CAAM;QAC3F,6BAAK,SAAS,EAAC,gBAAgB;YAC7B,6BAAK,SAAS,EAAC,eAAe;gBAC5B,4BAAI,SAAS,EAAC,2BAA2B,IACtC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACvB,OAAO,CACL,4BAAI,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAC,UAAU,EAAC,IAAI,EAAC,cAAc;wBACvD,2BAAG,SAAS,EAAE,YAAY,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,oBAAiB,KAAK,EAAC,IAAI,EAAE,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,KAAK,mBAAgB,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,mBAAiB,CAAC,KAAK,KAAK,cAAc,CAAC;4BAC1Q,2BAAG,SAAS,EAAE,OAAO,GAAG,GAAG,CAAC,IAAI,GAAM;4BAAC,GAAG,CAAC,IAAI,CAC7C,CACD,CACN,CAAC;gBACJ,CAAC,CAAC,CACC;gBACL,6BAAK,SAAS,EAAC,aAAa,IACzB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACvB,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,EAAC,eAAe,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC9D,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAC,UAAU,EAAC,EAAE,EAAE,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,qBAAmB,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE;wBACvM,oBAAC,gBAAgB,kBACf,WAAW,EAAE,OAAO,IAAI,EAAE,EAC1B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,EAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAC,EACzB,gBAAgB,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAC,GAAG,EAAE,OAAO,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,EACrH,MAAM,EAAE,CAAC,KAAK,EAAE,YAA0C,EAAE,EAAE,GAAE,kBAAkB,CAAC,KAAK,EAAE,EAAC,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAC,CAAA,CAAC,IACxH,UAAU,EACd;wBACF,6BAAK,SAAS,EAAC,UAAU;4BACvB,oBAAC,YAAY,IACX,UAAU,EAAC,iBAAiB,EAC5B,UAAU,EAAC,iBAAiB,EAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,QAAmB,EAAE,EAAE,GAAE,cAAc,CAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAC,CAAA,CAAC,EAC7F,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAClC,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAI;4BAC3D,oBAAC,YAAY,IACX,UAAU,EAAC,aAAa,EACxB,UAAU,EAAC,SAAS,EAAC,MAAM,EAAE,CAAC,KAAK,EAAE,QAAmB,EAAE,EAAE,GAAE,cAAc,CAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAC,CAAA,CAAC,EAClH,MAAM,EAAE,WAAW,CAAC,MAAM,EAC1B,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAI;4BACnD,oBAAC,YAAY,IACX,UAAU,EAAC,cAAc,EACzB,UAAU,EAAC,YAAY,EACvB,MAAM,EAAE,CAAC,KAAK,EAAE,QAAmB,EAAE,EAAE,GAAE,cAAc,CAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAC,CAAA,CAAC,EAC7F,MAAM,EAAE,eAAe,CAAC,MAAM,EAC9B,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAI,CACnD,CACF,CACP,CAAC;gBACJ,CAAC,CAAC,CACE,CACF,CACF,CACF,CACP,CAAC;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/menu/DatasetSearchBox.js b/dist/menu/DatasetSearchBox.js index ec4127ff..88a667b0 100644 --- a/dist/menu/DatasetSearchBox.js +++ b/dist/menu/DatasetSearchBox.js @@ -103,8 +103,8 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName } }) } }), - React.createElement("button", { className: "btn btn-secondary", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: (event) => onOpen(event, searchResults) }, "Open"), - React.createElement("button", { className: "btn btn-outline-secondary", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: () => onSaveAsNamedSet(validItems) }, "Save as set"))); + React.createElement("button", { className: "btn btn-secondary", "data-testid": "open-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: (event) => onOpen(event, searchResults) }, "Open"), + React.createElement("button", { className: "btn btn-outline-secondary", "data-testid": "save-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: () => onSaveAsNamedSet(validItems) }, "Save as set"))); } function Input(props) { const { onPaste } = props.selectProps; diff --git a/dist/menu/DatasetSearchBox.js.map b/dist/menu/DatasetSearchBox.js.map index 03a42586..b1a1a6e4 100644 --- a/dist/menu/DatasetSearchBox.js.map +++ b/dist/menu/DatasetSearchBox.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAc,YAAY,EAAC,MAAM,UAAU,CAAC;AACjE,OAAO,EAAC,UAAU,EAAwB,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAoB,MAAM,WAAW,CAAC;AAyBvD,MAAM,UAAU,gBAAgB,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,EAAE,EAAE,eAAe,GAAG,WAAW,EAAyB;IACpJ,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAyB,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,KAAK,EAAE,KAAa,EAAE,CAAC,EAAE,EAAC,IAAI,EAAiB,EAAE,EAAE;QACnE,MAAM,EAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC;QACxD,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,YAAY,EAAE;YACvD,MAAM,EAAE,UAAU;YAClB,GAAG,MAAM;YACT,KAAK;YACL,IAAI;YACJ,KAAK,EAAE,EAAE;SACZ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI;YACb,UAAU,EAAE;gBACR,IAAI,EAAE,IAAI,GAAG,CAAC;aACjB;SACJ,CAAC,CAAC,CAAC;IACR,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,MAA4B,EAAE,GAAsD,EAAE,EAAE;;QAC/G,qCAAqC;QACrC,UAAI,GAAG,CAAC,WAAW,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,GAAG;YAClD,OAAO,MAAM,CAAC,IAAI,CAAC;SACtB;QACD,OAAO,CACH;YACI,oBAAC,WAAW,IACR,WAAW,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAC7B,UAAU,EAAE,IAAI,EAChB,eAAe,EAAE,MAAM,CAAC,IAAI,GAC9B;YACD,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;gBACtB,8BAAM,SAAS,EAAC,uBAAuB,IAAE,MAAM,CAAC,EAAE,CAAQ,CAC/D,CACN,CAAC;IACN,CAAC,CAAC;IAGF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,aAAa,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,OAAO,GAAG,KAAK,EAAE,KAA2B,EAAE,EAAE;;QAClD,MAAM,UAAU,SAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,0CAAE,iBAAiB,EAAE,CAAC;QAC5E,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7H,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEzE,MAAM,WAAW,GAAG,SAAS;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;aACtK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG;QAClB,MAAM,EAAE;YACJ,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,EAAE,UAAU,CAAC,SAAS;SAC7B;KACJ,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,uCAAuC;QAC9C,oBAAC,aAAa,IACV,SAAS,EAAC,WAAW,EACrB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAC1C,OAAO,EAAE,IAAI,EACb,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,QACnB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EACvC,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EACrC,iBAAiB,EAAE,KAAK,EACxB,UAAU,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,2BAA2B;aACtC,EACD,UAAU,EAAE,EAAC,KAAK,EAAC,EACnB,MAAM,EAAE;gBAEJ,UAAU,EAAE,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,MAAM;oBACT,MAAM,EAAE,gBAAgB;oBACxB,YAAY,EAAE,KAAK;iBACtB,CAAC;gBACF,eAAe,EAAE,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;oBAClC,GAAG,MAAM;oBACT,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM;oBACtD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,eAAe,EAAE,OAAO;oBACxB,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,GAAG;oBAChB,YAAY,EAAE,KAAK;iBACtB,CAAC;gBACF,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,GAAG,MAAM;oBACT,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;oBACpC,eAAe,EAAE,OAAO;oBACxB,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE;wBACN,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,SAAS;qBACpB;iBACJ,CAAC;gBAEF,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACxB,GAAG,QAAQ;oBACX,mCAAmC;oBACnC,aAAa,EAAE,MAAM;oBACrB,UAAU,EAAE,MAAM;iBACrB,CAAC;gBACF,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACb,GAAG,GAAG;oBACN,gCAAgC;oBAChC,IAAI,EAAE,UAAU;oBAChB,uCAAuC;oBACvC,OAAO,EAAE;wBACL,KAAK,EAAE,MAAM;qBAChB;oBACD,mCAAmC;oBACnC,KAAK,EAAE;wBACH,KAAK,EAAE,iBAAiB;wBACxB,SAAS,EAAE,MAAM;qBACpB;iBACJ,CAAC;aACL,GACH;QACF,gCAAQ,SAAS,EAAC,mBAAmB,EAAC,QAAQ,EAAE,EAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,WAAe;QACpI,gCAAQ,SAAS,EAAC,2BAA2B,EAAC,QAAQ,EAAE,EAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,kBAAsB,CAChJ,CACT,CAAC;AACN,CAAC;AAED,SAAS,KAAK,CAAC,KAAU;IACrB,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC,WAAW,CAAC;IACpC,OAAO,CAAC,oBAAC,UAAU,CAAC,KAAK,kBAAC,OAAO,EAAE,OAAO,IAAM,KAAK,EAAI,CAAC,CAAC;AAC/D,CAAC"} \ No newline at end of file +{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/scores/forms.d.ts b/dist/scores/forms.d.ts index 34fd9e19..d8ea6ed3 100644 --- a/dist/scores/forms.d.ts +++ b/dist/scores/forms.d.ts @@ -137,22 +137,6 @@ export declare const FORM_SINGLE_SCORE: { useSession: boolean; }[]; export declare const FORM_AGGREGATED_SCORE_DEPLETION: ({ - type: FormElementType; - label: string; - id: string; - attributes: { - style: string; - }; - required: boolean; - options: { - placeholder: string; - data: { - id: string; - text: string; - }[]; - }; - useSession: boolean; -} | { type: FormElementType; label: string; id: string; @@ -199,8 +183,7 @@ export declare const FORM_AGGREGATED_SCORE_DEPLETION: ({ step: string; optionsData?: undefined; }; -})[]; -export declare const FORM_SINGLE_SCORE_DEPLETION: { +} | { type: FormElementType; label: string; id: string; @@ -216,8 +199,8 @@ export declare const FORM_SINGLE_SCORE_DEPLETION: { }[]; }; useSession: boolean; -}[]; -export declare const FORM_SINGLE_SCORE_DRUG: ({ +})[]; +export declare const FORM_SINGLE_SCORE_DEPLETION: { type: FormElementType; label: string; id: string; @@ -233,7 +216,8 @@ export declare const FORM_SINGLE_SCORE_DRUG: ({ }[]; }; useSession: boolean; -} | { +}[]; +export declare const FORM_SINGLE_SCORE_DRUG: ({ type: FormElementType; label: string; id: string; @@ -249,4 +233,20 @@ export declare const FORM_SINGLE_SCORE_DRUG: ({ format: typeof import("..").GeneUtils.formatDrugScreen; }; useSession: boolean; +} | { + type: FormElementType; + label: string; + id: string; + attributes: { + style: string; + }; + required: boolean; + options: { + placeholder: string; + data: { + id: string; + text: string; + }[]; + }; + useSession: boolean; })[]; diff --git a/src/menu/DatasetCard.tsx b/src/menu/DatasetCard.tsx index dd85b42f..a2387d83 100644 --- a/src/menu/DatasetCard.tsx +++ b/src/menu/DatasetCard.tsx @@ -7,6 +7,7 @@ import {Species, SpeciesUtils, IACommonListOptions} from 'tdp_gene'; import {IPublicDbStartMenuDatasetSectionDesc} from '../base/extensions'; export default function DatasetCard({name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators}: IPublicDbStartMenuDatasetSectionDesc) { + const testId = `datasetcard-${cssClass}`; const {app} = React.useContext(OrdinoContext); const [dirtyNamedSets, setDirtyNamedSets] = React.useState(false); @@ -90,7 +91,7 @@ export default function DatasetCard({name, icon, tabs, startViewId, dataSource, const activeTabIndex = 0; return ( -
+

{name}

@@ -98,7 +99,7 @@ export default function DatasetCard({name, icon, tabs, startViewId, dataSource, {tabs.map((tab, index) => { return (
  • - + {tab.name}
  • @@ -109,7 +110,7 @@ export default function DatasetCard({name, icon, tabs, startViewId, dataSource, {tabs.map((tab, index) => { const separators = tokenSeparators ? {tokenSeparators} : null; return ( -
    +
    - - + +
    ); } From e464ad309bcc81a61f9fd58b1a9b2ac23d3d0a39 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Mon, 13 Dec 2021 16:00:40 +0100 Subject: [PATCH 02/38] add id for dataset searchbox --- dist/common/forms.d.ts | 2 +- dist/menu/DatasetCard.d.ts | 1 - dist/menu/DatasetSearchBox.js | 6 +++-- dist/menu/DatasetSearchBox.js.map | 2 +- dist/scores/forms.d.ts | 42 +++++++++++++++---------------- src/menu/DatasetSearchBox.tsx | 6 +++-- 6 files changed, 31 insertions(+), 28 deletions(-) diff --git a/dist/common/forms.d.ts b/dist/common/forms.d.ts index d9d379e5..7280ad5e 100644 --- a/dist/common/forms.d.ts +++ b/dist/common/forms.d.ts @@ -149,7 +149,7 @@ export declare const FORM_GENE_FILTER: { return: string; optionsData: () => Promise<{ name: string; - value: import("lineupjs").ICompareValue; + value: string | number; }[]>; options: { placeholder: string; diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index efe4fcf9..238cd908 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,3 +1,2 @@ -/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; diff --git a/dist/menu/DatasetSearchBox.js b/dist/menu/DatasetSearchBox.js index 88a667b0..147fd600 100644 --- a/dist/menu/DatasetSearchBox.js +++ b/dist/menu/DatasetSearchBox.js @@ -54,7 +54,7 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName type: dataSource.tableName } }; - return (React.createElement("div", { className: "hstack gap-3 ordino-dataset-searchbox" }, + return (React.createElement("div", { className: "hstack gap-3 ordino-dataset-searchbox", "data-testid": "ordino-dataset-searchbox" }, React.createElement(AsyncPaginate, { className: "flex-fill", onPaste: onPaste, placeholder: placeholder, noOptionsMessage: () => 'No results found', isMulti: true, loadOptions: loadOptions, inputValue: inputValue, value: items, onChange: setItems, onInputChange: setInputValue, formatOptionLabel: formatOptionLabel, hideSelectedOptions: true, getOptionLabel: (option) => option.text, getOptionValue: (option) => option.id, captureMenuScroll: false, additional: { page: 0 // page starts from index 0 }, components: { Input }, styles: { @@ -108,6 +108,8 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName } function Input(props) { const { onPaste } = props.selectProps; - return (React.createElement(components.Input, Object.assign({ onPaste: onPaste }, props))); + const modifiedProps = Object.assign({ 'data-testid': 'async-paginate-input-component' }, props); + delete modifiedProps.popoverType; // remove the "illegal" prop from the copy + return (React.createElement(components.Input, Object.assign({ onPaste: onPaste }, modifiedProps))); } //# sourceMappingURL=DatasetSearchBox.js.map \ No newline at end of file diff --git a/dist/menu/DatasetSearchBox.js.map b/dist/menu/DatasetSearchBox.js.map index b1a1a6e4..7220e425 100644 --- a/dist/menu/DatasetSearchBox.js.map +++ b/dist/menu/DatasetSearchBox.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAc,YAAY,EAAC,MAAM,UAAU,CAAC;AACjE,OAAO,EAAC,UAAU,EAAwB,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAoB,MAAM,WAAW,CAAC;AAyBvD,MAAM,UAAU,gBAAgB,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,EAAE,EAAE,eAAe,GAAG,WAAW,EAAyB;IACpJ,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAyB,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,KAAK,EAAE,KAAa,EAAE,CAAC,EAAE,EAAC,IAAI,EAAiB,EAAE,EAAE;QACnE,MAAM,EAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC;QACxD,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,YAAY,EAAE;YACvD,MAAM,EAAE,UAAU;YAClB,GAAG,MAAM;YACT,KAAK;YACL,IAAI;YACJ,KAAK,EAAE,EAAE;SACZ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI;YACb,UAAU,EAAE;gBACR,IAAI,EAAE,IAAI,GAAG,CAAC;aACjB;SACJ,CAAC,CAAC,CAAC;IACR,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,MAA4B,EAAE,GAAsD,EAAE,EAAE;;QAC/G,qCAAqC;QACrC,UAAI,GAAG,CAAC,WAAW,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,GAAG;YAClD,OAAO,MAAM,CAAC,IAAI,CAAC;SACtB;QACD,OAAO,CACH;YACI,oBAAC,WAAW,IACR,WAAW,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAC7B,UAAU,EAAE,IAAI,EAChB,eAAe,EAAE,MAAM,CAAC,IAAI,GAC9B;YACD,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;gBACtB,8BAAM,SAAS,EAAC,uBAAuB,IAAE,MAAM,CAAC,EAAE,CAAQ,CAC/D,CACN,CAAC;IACN,CAAC,CAAC;IAGF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,aAAa,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,OAAO,GAAG,KAAK,EAAE,KAA2B,EAAE,EAAE;;QAClD,MAAM,UAAU,SAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,0CAAE,iBAAiB,EAAE,CAAC;QAC5E,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7H,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEzE,MAAM,WAAW,GAAG,SAAS;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;aACtK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG;QAClB,MAAM,EAAE;YACJ,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,EAAE,UAAU,CAAC,SAAS;SAC7B;KACJ,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,uCAAuC;QAC9C,oBAAC,aAAa,IACV,SAAS,EAAC,WAAW,EACrB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAC1C,OAAO,EAAE,IAAI,EACb,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,QACnB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EACvC,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EACrC,iBAAiB,EAAE,KAAK,EACxB,UAAU,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,2BAA2B;aACtC,EACD,UAAU,EAAE,EAAC,KAAK,EAAC,EACnB,MAAM,EAAE;gBAEJ,UAAU,EAAE,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,MAAM;oBACT,MAAM,EAAE,gBAAgB;oBACxB,YAAY,EAAE,KAAK;iBACtB,CAAC;gBACF,eAAe,EAAE,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;oBAClC,GAAG,MAAM;oBACT,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM;oBACtD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,eAAe,EAAE,OAAO;oBACxB,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,GAAG;oBAChB,YAAY,EAAE,KAAK;iBACtB,CAAC;gBACF,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,GAAG,MAAM;oBACT,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;oBACpC,eAAe,EAAE,OAAO;oBACxB,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE;wBACN,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,SAAS;qBACpB;iBACJ,CAAC;gBAEF,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACxB,GAAG,QAAQ;oBACX,mCAAmC;oBACnC,aAAa,EAAE,MAAM;oBACrB,UAAU,EAAE,MAAM;iBACrB,CAAC;gBACF,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACb,GAAG,GAAG;oBACN,gCAAgC;oBAChC,IAAI,EAAE,UAAU;oBAChB,uCAAuC;oBACvC,OAAO,EAAE;wBACL,KAAK,EAAE,MAAM;qBAChB;oBACD,mCAAmC;oBACnC,KAAK,EAAE;wBACH,KAAK,EAAE,iBAAiB;wBACxB,SAAS,EAAE,MAAM;qBACpB;iBACJ,CAAC;aACL,GACH;QACF,gCAAQ,SAAS,EAAC,mBAAmB,iBAAa,aAAa,EAAC,QAAQ,EAAE,EAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,WAAe;QAC9J,gCAAQ,SAAS,EAAC,2BAA2B,iBAAa,aAAa,EAAC,QAAQ,EAAE,EAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,kBAAsB,CAC1K,CACT,CAAC;AACN,CAAC;AAED,SAAS,KAAK,CAAC,KAAU;IACrB,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC,WAAW,CAAC;IACpC,OAAO,CAAC,oBAAC,UAAU,CAAC,KAAK,kBAAC,OAAO,EAAE,OAAO,IAAM,KAAK,EAAI,CAAC,CAAC;AAC/D,CAAC"} \ No newline at end of file +{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/scores/forms.d.ts b/dist/scores/forms.d.ts index d8ea6ed3..34fd9e19 100644 --- a/dist/scores/forms.d.ts +++ b/dist/scores/forms.d.ts @@ -137,6 +137,22 @@ export declare const FORM_SINGLE_SCORE: { useSession: boolean; }[]; export declare const FORM_AGGREGATED_SCORE_DEPLETION: ({ + type: FormElementType; + label: string; + id: string; + attributes: { + style: string; + }; + required: boolean; + options: { + placeholder: string; + data: { + id: string; + text: string; + }[]; + }; + useSession: boolean; +} | { type: FormElementType; label: string; id: string; @@ -183,7 +199,8 @@ export declare const FORM_AGGREGATED_SCORE_DEPLETION: ({ step: string; optionsData?: undefined; }; -} | { +})[]; +export declare const FORM_SINGLE_SCORE_DEPLETION: { type: FormElementType; label: string; id: string; @@ -199,8 +216,8 @@ export declare const FORM_AGGREGATED_SCORE_DEPLETION: ({ }[]; }; useSession: boolean; -})[]; -export declare const FORM_SINGLE_SCORE_DEPLETION: { +}[]; +export declare const FORM_SINGLE_SCORE_DRUG: ({ type: FormElementType; label: string; id: string; @@ -216,8 +233,7 @@ export declare const FORM_SINGLE_SCORE_DEPLETION: { }[]; }; useSession: boolean; -}[]; -export declare const FORM_SINGLE_SCORE_DRUG: ({ +} | { type: FormElementType; label: string; id: string; @@ -233,20 +249,4 @@ export declare const FORM_SINGLE_SCORE_DRUG: ({ format: typeof import("..").GeneUtils.formatDrugScreen; }; useSession: boolean; -} | { - type: FormElementType; - label: string; - id: string; - attributes: { - style: string; - }; - required: boolean; - options: { - placeholder: string; - data: { - id: string; - text: string; - }[]; - }; - useSession: boolean; })[]; diff --git a/src/menu/DatasetSearchBox.tsx b/src/menu/DatasetSearchBox.tsx index 68b75f5b..548e2eec 100644 --- a/src/menu/DatasetSearchBox.tsx +++ b/src/menu/DatasetSearchBox.tsx @@ -92,7 +92,7 @@ export function DatasetSearchBox({placeholder, dataSource, onOpen, onSaveAsNamed }; return ( -
    +
    ); + const modifiedProps = Object.assign({'data-testid': 'async-paginate-input-component'}, props); + delete modifiedProps.popoverType; // remove the "illegal" prop from the copy + return (); } From 5879b89ba2fbb426b72981f1166457df7757f2da Mon Sep 17 00:00:00 2001 From: Florian Engertsberger Date: Tue, 4 Jan 2022 10:27:25 +0100 Subject: [PATCH 03/38] add data-testid to react select components --- dist/menu/DatasetCard.d.ts | 1 + dist/menu/DatasetSearchBox.js | 16 ++- dist/menu/DatasetSearchBox.js.map | 2 +- src/menu/DatasetSearchBox.tsx | 192 ++++++++++++++++++------------ 4 files changed, 135 insertions(+), 76 deletions(-) diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index 238cd908..efe4fcf9 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,2 +1,3 @@ +/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; diff --git a/dist/menu/DatasetSearchBox.js b/dist/menu/DatasetSearchBox.js index 147fd600..7380b68b 100644 --- a/dist/menu/DatasetSearchBox.js +++ b/dist/menu/DatasetSearchBox.js @@ -57,7 +57,13 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName return (React.createElement("div", { className: "hstack gap-3 ordino-dataset-searchbox", "data-testid": "ordino-dataset-searchbox" }, React.createElement(AsyncPaginate, { className: "flex-fill", onPaste: onPaste, placeholder: placeholder, noOptionsMessage: () => 'No results found', isMulti: true, loadOptions: loadOptions, inputValue: inputValue, value: items, onChange: setItems, onInputChange: setInputValue, formatOptionLabel: formatOptionLabel, hideSelectedOptions: true, getOptionLabel: (option) => option.text, getOptionValue: (option) => option.id, captureMenuScroll: false, additional: { page: 0 // page starts from index 0 - }, components: { Input }, styles: { + }, components: { + Input, + Option: addDataTestId(Option, "async-paginate-option"), + MultiValueRemove: addDataTestId(MultiValueRemove, "async-paginate-multiselect-remove"), + ClearIndicator: addDataTestId(ClearIndicator, "async-paginate-clearindicator"), + DropdownIndicator: addDataTestId(DropdownIndicator, "async-paginate-dropdownindicator") + }, styles: { multiValue: (styles, { data }) => ({ ...styles, border: `1px solid #CCC`, @@ -106,10 +112,16 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName React.createElement("button", { className: "btn btn-secondary", "data-testid": "open-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: (event) => onOpen(event, searchResults) }, "Open"), React.createElement("button", { className: "btn btn-outline-secondary", "data-testid": "save-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: () => onSaveAsNamedSet(validItems) }, "Save as set"))); } +// functions to add data-testid attribute to react-select components +const addDataTestId = (Component, dataTestId) => (props => (React.createElement(Component, Object.assign({}, props, { innerProps: Object.assign({}, props.innerProps, { 'data-testid': `${dataTestId}${props.data ? "-" + props.data.id : ""}` }) })))); function Input(props) { const { onPaste } = props.selectProps; - const modifiedProps = Object.assign({ 'data-testid': 'async-paginate-input-component' }, props); + const modifiedProps = Object.assign({ 'data-testid': 'async-paginate-input' }, props); delete modifiedProps.popoverType; // remove the "illegal" prop from the copy return (React.createElement(components.Input, Object.assign({ onPaste: onPaste }, modifiedProps))); } +const ClearIndicator = props => (components.ClearIndicator && (React.createElement(components.ClearIndicator, Object.assign({}, props)))); +const DropdownIndicator = props => (components.DropdownIndicator && (React.createElement(components.DropdownIndicator, Object.assign({}, props)))); +const Option = props => (components.Option && (React.createElement(components.Option, Object.assign({}, props)))); +const MultiValueRemove = props => (components.MultiValueRemove && (React.createElement(components.MultiValueRemove, Object.assign({}, props)))); //# sourceMappingURL=DatasetSearchBox.js.map \ No newline at end of file diff --git a/dist/menu/DatasetSearchBox.js.map b/dist/menu/DatasetSearchBox.js.map index 7220e425..ae9e31b5 100644 --- a/dist/menu/DatasetSearchBox.js.map +++ b/dist/menu/DatasetSearchBox.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/menu/DatasetSearchBox.tsx b/src/menu/DatasetSearchBox.tsx index 548e2eec..2557ae49 100644 --- a/src/menu/DatasetSearchBox.tsx +++ b/src/menu/DatasetSearchBox.tsx @@ -93,84 +93,130 @@ export function DatasetSearchBox({placeholder, dataSource, onOpen, onSaveAsNamed return (
    - 'No results found'} - isMulti={true} - loadOptions={loadOptions} - inputValue={inputValue} - value={items} - onChange={setItems} - onInputChange={setInputValue} - formatOptionLabel={formatOptionLabel} - hideSelectedOptions - getOptionLabel={(option) => option.text} - getOptionValue={(option) => option.id} - captureMenuScroll={false} - additional={{ - page: 0 // page starts from index 0 - }} - components={{Input}} - styles={{ - - multiValue: (styles, {data}) => ({ - ...styles, - border: `1px solid #CCC`, - borderRadius: '3px' - }), - multiValueLabel: (styles, {data}) => ({ - ...styles, - textDecoration: data.invalid ? 'line-through' : 'none', - color: data.color, - backgroundColor: 'white', - order: 2, - paddingLeft: '0', - paddingRight: '6px' - }), - multiValueRemove: (styles, {data}) => ({ - ...styles, - color: data.invalid ? 'red' : '#999', - backgroundColor: 'white', - order: 1, - ':hover': { - color: '#333', - cursor: 'pointer' - }, - }), - - placeholder: (provided) => ({ - ...provided, - // disable placeholder mouse events - pointerEvents: 'none', - userSelect: 'none', - }), - input: (css) => ({ - ...css, - //expand the Input Component div - flex: '1 1 auto', - // expand the Input Component child div - '> div': { - width: '100%' - }, - // expand the Input Component input - input: { - width: '100% !important', - textAlign: 'left' - } - }) - }} - /> - - + 'No results found'} + isMulti={true} + loadOptions={loadOptions} + inputValue={inputValue} + value={items} + onChange={setItems} + onInputChange={setInputValue} + formatOptionLabel={formatOptionLabel} + hideSelectedOptions + getOptionLabel={(option) => option.text} + getOptionValue={(option) => option.id} + captureMenuScroll={false} + additional={{ + page: 0 // page starts from index 0 + }} + components={{ + Input, + Option: addDataTestId(Option, "async-paginate-option"), + MultiValueRemove: addDataTestId(MultiValueRemove, "async-paginate-multiselect-remove"), + ClearIndicator: addDataTestId(ClearIndicator, "async-paginate-clearindicator"), + DropdownIndicator: addDataTestId(DropdownIndicator, "async-paginate-dropdownindicator") + }} + styles={{ + + multiValue: (styles, {data}) => ({ + ...styles, + border: `1px solid #CCC`, + borderRadius: '3px' + }), + multiValueLabel: (styles, {data}) => ({ + ...styles, + textDecoration: data.invalid ? 'line-through' : 'none', + color: data.color, + backgroundColor: 'white', + order: 2, + paddingLeft: '0', + paddingRight: '6px' + }), + multiValueRemove: (styles, {data}) => ({ + ...styles, + color: data.invalid ? 'red' : '#999', + backgroundColor: 'white', + order: 1, + ':hover': { + color: '#333', + cursor: 'pointer' + }, + }), + + placeholder: (provided) => ({ + ...provided, + // disable placeholder mouse events + pointerEvents: 'none', + userSelect: 'none', + }), + input: (css) => ({ + ...css, + //expand the Input Component div + flex: '1 1 auto', + // expand the Input Component child div + '> div': { + width: '100%' + }, + // expand the Input Component input + input: { + width: '100% !important', + textAlign: 'left' + } + }) + }} + /> + +
    ); } +// functions to add data-testid attribute to react-select components +const addDataTestId = (Component, dataTestId) => ( + props => ( + + ) +); + function Input(props: any) { const {onPaste} = props.selectProps; - const modifiedProps = Object.assign({'data-testid': 'async-paginate-input-component'}, props); + const modifiedProps = Object.assign({'data-testid': 'async-paginate-input'}, props); delete modifiedProps.popoverType; // remove the "illegal" prop from the copy - return (); + return (); } + +const ClearIndicator = props => ( + components.ClearIndicator && ( + + + ) +); + +const DropdownIndicator = props => ( + components.DropdownIndicator && ( + + + ) +); + +const Option = props => ( + components.Option && ( + + + ) +); + +const MultiValueRemove = props => ( + components.MultiValueRemove && ( + + + ) +); + + From 452b83e12263d4f7c2b9e98d0f303d1163bfb8c7 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Mon, 17 Jan 2022 14:25:55 +0100 Subject: [PATCH 04/38] fix lint --- dist/menu/DatasetCard.d.ts | 1 - dist/menu/DatasetSearchBox.js | 33 ++++----- dist/menu/DatasetSearchBox.js.map | 2 +- dist/views/DependentGeneTable.d.ts | 2 +- dist/views/DependentSampleTable.d.ts | 2 +- src/menu/DatasetSearchBox.tsx | 102 +++++++++++++-------------- 6 files changed, 71 insertions(+), 71 deletions(-) diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index efe4fcf9..238cd908 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,3 +1,2 @@ -/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; diff --git a/dist/menu/DatasetSearchBox.js b/dist/menu/DatasetSearchBox.js index 7380b68b..ffada278 100644 --- a/dist/menu/DatasetSearchBox.js +++ b/dist/menu/DatasetSearchBox.js @@ -4,6 +4,19 @@ import { components } from 'react-select'; import { AsyncPaginate } from 'react-select-async-paginate'; import Highlighter from 'react-highlight-words'; import { GeneUtils } from '../common'; +// functions to add data-testid attribute to react-select components +/* tslint:disable-next-line:variable-name */ +const addDataTestId = (Component, dataTestId) => ((props) => (React.createElement(Component, Object.assign({}, props, { innerProps: Object.assign({}, props.innerProps, { 'data-testid': `${dataTestId}${props.data ? '-' + props.data.id : ''}` }) })))); +function Input(props) { + const { onPaste } = props.selectProps; + const modifiedProps = Object.assign({ 'data-testid': 'async-paginate-input' }, props); + delete modifiedProps.popoverType; // remove the "illegal" prop from the copy + return (React.createElement(components.Input, Object.assign({ onPaste: onPaste }, modifiedProps))); +} +const clearIndicator = (props) => (components.ClearIndicator && (React.createElement(components.ClearIndicator, Object.assign({}, props)))); +const dropdownIndicator = (props) => (components.DropdownIndicator && (React.createElement(components.DropdownIndicator, Object.assign({}, props)))); +const option = (props) => (components.Option && (React.createElement(components.Option, Object.assign({}, props)))); +const multiValueRemove = (props) => (components.MultiValueRemove && (React.createElement(components.MultiValueRemove, Object.assign({}, props)))); export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsNamedSet, params = {}, tokenSeparators = /[\s;,]+/gm }) { const [items, setItems] = React.useState([]); const [inputValue, setInputValue] = React.useState(''); @@ -59,10 +72,10 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName page: 0 // page starts from index 0 }, components: { Input, - Option: addDataTestId(Option, "async-paginate-option"), - MultiValueRemove: addDataTestId(MultiValueRemove, "async-paginate-multiselect-remove"), - ClearIndicator: addDataTestId(ClearIndicator, "async-paginate-clearindicator"), - DropdownIndicator: addDataTestId(DropdownIndicator, "async-paginate-dropdownindicator") + Option: addDataTestId(Option, 'async-paginate-option'), + MultiValueRemove: addDataTestId(multiValueRemove, 'async-paginate-multiselect-remove'), + ClearIndicator: addDataTestId(clearIndicator, 'async-paginate-clearindicator'), + DropdownIndicator: addDataTestId(dropdownIndicator, 'async-paginate-dropdownindicator') }, styles: { multiValue: (styles, { data }) => ({ ...styles, @@ -112,16 +125,4 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName React.createElement("button", { className: "btn btn-secondary", "data-testid": "open-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: (event) => onOpen(event, searchResults) }, "Open"), React.createElement("button", { className: "btn btn-outline-secondary", "data-testid": "save-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: () => onSaveAsNamedSet(validItems) }, "Save as set"))); } -// functions to add data-testid attribute to react-select components -const addDataTestId = (Component, dataTestId) => (props => (React.createElement(Component, Object.assign({}, props, { innerProps: Object.assign({}, props.innerProps, { 'data-testid': `${dataTestId}${props.data ? "-" + props.data.id : ""}` }) })))); -function Input(props) { - const { onPaste } = props.selectProps; - const modifiedProps = Object.assign({ 'data-testid': 'async-paginate-input' }, props); - delete modifiedProps.popoverType; // remove the "illegal" prop from the copy - return (React.createElement(components.Input, Object.assign({ onPaste: onPaste }, modifiedProps))); -} -const ClearIndicator = props => (components.ClearIndicator && (React.createElement(components.ClearIndicator, Object.assign({}, props)))); -const DropdownIndicator = props => (components.DropdownIndicator && (React.createElement(components.DropdownIndicator, Object.assign({}, props)))); -const Option = props => (components.Option && (React.createElement(components.Option, Object.assign({}, props)))); -const MultiValueRemove = props => (components.MultiValueRemove && (React.createElement(components.MultiValueRemove, Object.assign({}, props)))); //# sourceMappingURL=DatasetSearchBox.js.map \ No newline at end of file diff --git a/dist/menu/DatasetSearchBox.js.map b/dist/menu/DatasetSearchBox.js.map index ae9e31b5..b5f93945 100644 --- a/dist/menu/DatasetSearchBox.js.map +++ b/dist/menu/DatasetSearchBox.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/views/DependentGeneTable.d.ts b/dist/views/DependentGeneTable.d.ts index 89cf133c..2b63ecb2 100644 --- a/dist/views/DependentGeneTable.d.ts +++ b/dist/views/DependentGeneTable.d.ts @@ -10,7 +10,7 @@ export declare class DependentGeneTable extends ARankingView { private readonly dataSource; constructor(context: IViewContext, selection: ISelection, parent: HTMLElement, dataType: IDataTypeConfig, options?: Partial); protected getParameterFormDescs(): import("tdp_core").IFormElementDesc[]; - protected parameterChanged(name: string): void; + protected parameterChanged(name: string): Promise; protected loadColumnDesc(): Promise>; protected createSelectionAdapter(): import("tdp_core").ISelectionAdapter; protected getColumnDescs(columns: IServerColumn[]): import("tdp_core").IAdditionalColumnDesc[]; diff --git a/dist/views/DependentSampleTable.d.ts b/dist/views/DependentSampleTable.d.ts index 2ea0bc03..e5162f5d 100644 --- a/dist/views/DependentSampleTable.d.ts +++ b/dist/views/DependentSampleTable.d.ts @@ -12,7 +12,7 @@ export declare class DependentSampleTable extends ARankingView { get itemIDType(): import("tdp_core").IDType; private get dataSource(); private get dataSubType(); - protected parameterChanged(name: string): void; + protected parameterChanged(name: string): Promise; protected loadColumnDesc(): Promise>; protected createSelectionAdapter(): import("tdp_core").ISelectionAdapter; protected getColumnDescs(columns: IServerColumn[]): import("tdp_core").IAdditionalColumnDesc[]; diff --git a/src/menu/DatasetSearchBox.tsx b/src/menu/DatasetSearchBox.tsx index 2557ae49..0a4db205 100644 --- a/src/menu/DatasetSearchBox.tsx +++ b/src/menu/DatasetSearchBox.tsx @@ -28,6 +28,53 @@ interface IDatasetSearchBoxProps { tokenSeparators?: RegExp; } +// functions to add data-testid attribute to react-select components +/* tslint:disable-next-line:variable-name */ +const addDataTestId = (Component, dataTestId) => ( + (props) => ( + + ) +); + +function Input(props: any) { + const {onPaste} = props.selectProps; + const modifiedProps = Object.assign({'data-testid': 'async-paginate-input'}, props); + delete modifiedProps.popoverType; // remove the "illegal" prop from the copy + return (); +} + +const clearIndicator = (props) => ( + components.ClearIndicator && ( + + + ) +); + +const dropdownIndicator = (props) => ( + components.DropdownIndicator && ( + + + ) +); + +const option = (props) => ( + components.Option && ( + + + ) +); + +const multiValueRemove = (props) => ( + components.MultiValueRemove && ( + + + ) +); + + export function DatasetSearchBox({placeholder, dataSource, onOpen, onSaveAsNamedSet, params = {}, tokenSeparators = /[\s;,]+/gm}: IDatasetSearchBoxProps) { const [items, setItems] = React.useState([]); const [inputValue, setInputValue] = React.useState(''); @@ -114,10 +161,10 @@ export function DatasetSearchBox({placeholder, dataSource, onOpen, onSaveAsNamed }} components={{ Input, - Option: addDataTestId(Option, "async-paginate-option"), - MultiValueRemove: addDataTestId(MultiValueRemove, "async-paginate-multiselect-remove"), - ClearIndicator: addDataTestId(ClearIndicator, "async-paginate-clearindicator"), - DropdownIndicator: addDataTestId(DropdownIndicator, "async-paginate-dropdownindicator") + Option: addDataTestId(Option, 'async-paginate-option'), + MultiValueRemove: addDataTestId(multiValueRemove, 'async-paginate-multiselect-remove'), + ClearIndicator: addDataTestId(clearIndicator, 'async-paginate-clearindicator'), + DropdownIndicator: addDataTestId(dropdownIndicator, 'async-paginate-dropdownindicator') }} styles={{ @@ -173,50 +220,3 @@ export function DatasetSearchBox({placeholder, dataSource, onOpen, onSaveAsNamed
    ); } - -// functions to add data-testid attribute to react-select components -const addDataTestId = (Component, dataTestId) => ( - props => ( - - ) -); - -function Input(props: any) { - const {onPaste} = props.selectProps; - const modifiedProps = Object.assign({'data-testid': 'async-paginate-input'}, props); - delete modifiedProps.popoverType; // remove the "illegal" prop from the copy - return (); -} - -const ClearIndicator = props => ( - components.ClearIndicator && ( - - - ) -); - -const DropdownIndicator = props => ( - components.DropdownIndicator && ( - - - ) -); - -const Option = props => ( - components.Option && ( - - - ) -); - -const MultiValueRemove = props => ( - components.MultiValueRemove && ( - - - ) -); - - From d81f7a9acf0374de05e09d2a1abc8de7edb3ef1f Mon Sep 17 00:00:00 2001 From: Florian Engertsberger Date: Tue, 18 Jan 2022 08:23:45 +0100 Subject: [PATCH 05/38] fix react select error --- dist/menu/DatasetCard.d.ts | 1 + dist/menu/DatasetSearchBox.js | 2 +- src/menu/DatasetSearchBox.tsx | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index 238cd908..efe4fcf9 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,2 +1,3 @@ +/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; diff --git a/dist/menu/DatasetSearchBox.js b/dist/menu/DatasetSearchBox.js index ffada278..e0224028 100644 --- a/dist/menu/DatasetSearchBox.js +++ b/dist/menu/DatasetSearchBox.js @@ -72,7 +72,7 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName page: 0 // page starts from index 0 }, components: { Input, - Option: addDataTestId(Option, 'async-paginate-option'), + Option: addDataTestId(option, 'async-paginate-option'), MultiValueRemove: addDataTestId(multiValueRemove, 'async-paginate-multiselect-remove'), ClearIndicator: addDataTestId(clearIndicator, 'async-paginate-clearindicator'), DropdownIndicator: addDataTestId(dropdownIndicator, 'async-paginate-dropdownindicator') diff --git a/src/menu/DatasetSearchBox.tsx b/src/menu/DatasetSearchBox.tsx index 0a4db205..0d0a68fb 100644 --- a/src/menu/DatasetSearchBox.tsx +++ b/src/menu/DatasetSearchBox.tsx @@ -161,7 +161,7 @@ export function DatasetSearchBox({placeholder, dataSource, onOpen, onSaveAsNamed }} components={{ Input, - Option: addDataTestId(Option, 'async-paginate-option'), + Option: addDataTestId(option, 'async-paginate-option'), MultiValueRemove: addDataTestId(multiValueRemove, 'async-paginate-multiselect-remove'), ClearIndicator: addDataTestId(clearIndicator, 'async-paginate-clearindicator'), DropdownIndicator: addDataTestId(dropdownIndicator, 'async-paginate-dropdownindicator') From 761c42f655e36cfb5f003fc6f57cb301948b6f64 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Tue, 22 Mar 2022 13:31:03 +0100 Subject: [PATCH 06/38] update dist --- dist/menu/DatasetCard.d.ts | 1 - dist/menu/DatasetCard.d.ts.map | 2 +- dist/menu/DatasetCard.js | 81 ++++++++++++++++------------ dist/menu/DatasetCard.js.map | 2 +- dist/menu/DatasetSearchBox.d.ts.map | 2 +- dist/menu/DatasetSearchBox.js | 73 ++++++++++++++----------- dist/menu/DatasetSearchBox.js.map | 2 +- dist/views/DependentGeneTable.d.ts | 5 +- dist/views/DependentSampleTable.d.ts | 5 +- 9 files changed, 97 insertions(+), 76 deletions(-) diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index 2587b238..836b542b 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,4 +1,3 @@ -/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; //# sourceMappingURL=DatasetCard.d.ts.map \ No newline at end of file diff --git a/dist/menu/DatasetCard.d.ts.map b/dist/menu/DatasetCard.d.ts.map index b2fb68d6..2fd90cae 100644 --- a/dist/menu/DatasetCard.d.ts.map +++ b/dist/menu/DatasetCard.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eAqLjJ"} \ No newline at end of file +{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eAwLjJ"} \ No newline at end of file diff --git a/dist/menu/DatasetCard.js b/dist/menu/DatasetCard.js index 596b29e7..ad011a04 100644 --- a/dist/menu/DatasetCard.js +++ b/dist/menu/DatasetCard.js @@ -1,29 +1,34 @@ import React from 'react'; -import { ENamedSetType, RestBaseUtils, RestStorageUtils, StoreUtils } from 'tdp_core'; +import { ENamedSetType, RestBaseUtils, RestStorageUtils, StoreUtils, UserSession, UniqueIdManager, I18nextManager, IDTypeManager, useAsync, } from 'tdp_core'; import { NamedSetList, OrdinoContext } from 'ordino'; -import { UserSession, UniqueIdManager, I18nextManager, IDTypeManager, useAsync } from 'tdp_core'; +import { Species } from 'tdp_gene'; import { DatasetSearchBox } from './DatasetSearchBox'; -import { Species, SpeciesUtils } from 'tdp_gene'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }) { var _a, _b; const testId = `datasetcard-${cssClass}`; const { app } = React.useContext(OrdinoContext); const [dirtyNamedSets, setDirtyNamedSets] = React.useState(false); const loadPredefinedSet = React.useMemo(() => { - return () => RestBaseUtils.getTDPData(dataSource.db, `${dataSource.base}_panel`) - .then((panels) => { - return [{ - name: 'All', - type: ENamedSetType.CUSTOM, - subTypeKey: Species.SPECIES_SESSION_KEY, - subTypeFromSession: true, - subTypeValue: SpeciesUtils.getSelectedSpecies(), - description: '', - idType: '', - ids: '', - creator: '' - }, ...panels - .map(function panel2NamedSet({ id, description, species }) { + return async () => { + const panels = await RestBaseUtils.getTDPData(dataSource.db, `${dataSource.base}_panel`); + const uniqueSpecies = [...new Set(panels.map(({ species }) => species))]; + return [ + // first add an `All` named set for each species ... + ...uniqueSpecies.map((species) => { + return { + name: I18nextManager.getInstance().i18n.t(`tdp:datasetCard.predefinedSet.all.name`), + type: ENamedSetType.CUSTOM, + subTypeKey: Species.SPECIES_SESSION_KEY, + subTypeFromSession: true, + subTypeValue: species, + description: I18nextManager.getInstance().i18n.t(`tdp:datasetCard.predefinedSet.all.description`, { species }), + idType: '', + ids: '', + creator: '', + }; + }), + // ... then add all the predefined sets loaded from the backend + ...panels.map(({ id, description, species }) => { return { type: ENamedSetType.PANEL, id, @@ -32,13 +37,16 @@ export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, subTypeKey: Species.SPECIES_SESSION_KEY, subTypeFromSession: false, subTypeValue: species, - idType: '' + idType: '', }; - })]; - }); + }), + ]; + }; + // eslint-disable-next-line react-hooks/exhaustive-deps }, [dataSource.idType]); const loadNamedSets = React.useMemo(() => { return () => RestStorageUtils.listNamedSets(dataSource.idType); + // eslint-disable-next-line react-hooks/exhaustive-deps }, [dataSource.idType, dirtyNamedSets]); const predefinedNamedSets = useAsync(loadPredefinedSet, []); const me = UserSession.getInstance().currentUserNameOrAnonymous(); @@ -49,7 +57,7 @@ export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, const onOpenNamedSet = (event, { namedSet, species }) => { event.preventDefault(); const defaultSessionValues = { - [Species.SPECIES_SESSION_KEY]: species + [Species.SPECIES_SESSION_KEY]: species, }; // store the selected species/tab as it is necessary in the rankings UserSession.getInstance().store(Species.SPECIES_SESSION_KEY, species); @@ -58,18 +66,17 @@ export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, const onOpenSearchResult = (event, { searchResult, species }) => { event.preventDefault(); const defaultSessionValues = { - [Species.SPECIES_SESSION_KEY]: species + [Species.SPECIES_SESSION_KEY]: species, }; // store the selected species UserSession.getInstance().store(Species.SPECIES_SESSION_KEY, species); app.startNewSession(startViewId, searchResult, defaultSessionValues); }; const onSaveAsNamedSet = (items, subtype) => { - StoreUtils.editDialog(null, I18nextManager.getInstance().i18n.t(`tdp:core.editDialog.listOfEntities.default`), async (name, description, isPublic) => { + StoreUtils.editDialog(null, I18nextManager.getInstance().i18n.t(`tdp:core.editDialog.listOfEntities.default`), async (n, description, isPublic) => { const idStrings = items === null || items === void 0 ? void 0 : items.map((i) => i.id); const idType = IDTypeManager.getInstance().resolveIdType(dataSource.idType); - const ids = await idType.map(idStrings); - await RestStorageUtils.saveNamedSet(name, idType, ids, subtype, description, isPublic); + await RestStorageUtils.saveNamedSet(name, idType, idStrings, subtype, description, isPublic); setDirtyNamedSets((d) => !d); }); }; @@ -77,24 +84,32 @@ export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, const activeTabIndex = 0; return (React.createElement("div", { className: `ordino-dataset ${cssClass || ''}`, "data-testid": testId }, React.createElement("h4", { className: "text-start mb-3" }, - React.createElement("i", { className: 'me-2 ordino-icon-2 ' + icon }), + React.createElement("i", { className: `me-2 ordino-icon-2 ${icon}` }), name), React.createElement("div", { className: "card shadow-sm" }, React.createElement("div", { className: "card-body p-3" }, React.createElement("ul", { className: "nav nav-pills session-tab" }, tabs.map((tab, index) => { return (React.createElement("li", { key: tab.id, className: "nav-item", role: "presentation" }, - React.createElement("a", { className: `nav-link ${(index === activeTabIndex) ? 'active' : ''}`, "data-testid": `${tab.id}-link`, id: `dataset-tab-${tab.id}-${id}`, "data-bs-toggle": "tab", href: `#dataset-panel-${tab.id}-${id}`, role: "tab", "aria-controls": `dataset-panel-${tab.id}-${id}`, "aria-selected": (index === activeTabIndex) }, - React.createElement("i", { className: 'me-2 ' + tab.icon }), + React.createElement("a", { className: `nav-link ${index === activeTabIndex ? 'active' : ''}`, "data-testid": `${tab.id}-link`, id: `dataset-tab-${tab.id}-${id}`, "data-bs-toggle": "tab", href: `#dataset-panel-${tab.id}-${id}`, role: "tab", "aria-controls": `dataset-panel-${tab.id}-${id}`, "aria-selected": index === activeTabIndex }, + React.createElement("i", { className: `me-2 ${tab.icon}` }), tab.name))); })), React.createElement("div", { className: "tab-content" }, tabs.map((tab, index) => { const separators = tokenSeparators ? { tokenSeparators } : null; - return (React.createElement("div", { key: tab.id, className: `tab-pane fade mt-4 ${(index === activeTabIndex) ? 'show active' : ''}`, "data-testid": `${tab.id}-tab`, role: "tabpanel", id: `dataset-panel-${tab.id}-${id}`, "aria-labelledby": `dataset-tab-${tab.id}-${id}` }, - React.createElement(DatasetSearchBox, Object.assign({ placeholder: `Add ${name}`, dataSource: dataSource, params: { species: tab.id }, onSaveAsNamedSet: (items) => onSaveAsNamedSet(items, { key: Species.SPECIES_SESSION_KEY, value: tab.id }), onOpen: (event, searchResult) => { onOpenSearchResult(event, { searchResult, species: tab.id }); } }, separators)), + return (React.createElement("div", { key: tab.id, className: `tab-pane fade mt-4 ${index === activeTabIndex ? 'show active' : ''}`, "data-testid": `${tab.id}-tab`, role: "tabpanel", id: `dataset-panel-${tab.id}-${id}`, "aria-labelledby": `dataset-tab-${tab.id}-${id}` }, + React.createElement(DatasetSearchBox, { placeholder: `Add ${name}`, dataSource: dataSource, params: { species: tab.id }, onSaveAsNamedSet: (items) => onSaveAsNamedSet(items, { key: Species.SPECIES_SESSION_KEY, value: tab.id }), onOpen: (event, searchResult) => { + onOpenSearchResult(event, { searchResult, species: tab.id }); + }, ...separators }), React.createElement("div", { className: "row mt-4" }, - React.createElement(NamedSetList, { headerIcon: "fas fa-database", headerText: "Predefined Sets", onOpen: (event, namedSet) => { onOpenNamedSet(event, { namedSet, species: tab.id }); }, status: predefinedNamedSets.status, value: filterValue(predefinedNamedSets.value, tab.id) }), - React.createElement(NamedSetList, { headerIcon: "fas fa-user", headerText: "My Sets", onOpen: (event, namedSet) => { onOpenNamedSet(event, { namedSet, species: tab.id }); }, status: myNamedSets.status, value: filterValue(myNamedSets.value, tab.id) }), - React.createElement(NamedSetList, { headerIcon: "fas fa-users", headerText: "Other Sets", onOpen: (event, namedSet) => { onOpenNamedSet(event, { namedSet, species: tab.id }); }, status: publicNamedSets.status, value: filterValue(publicNamedSets.value, tab.id) })))); + React.createElement(NamedSetList, { headerIcon: "fas fa-database", headerText: "Predefined Sets", onOpen: (event, namedSet) => { + onOpenNamedSet(event, { namedSet, species: tab.id }); + }, status: predefinedNamedSets.status, value: filterValue(predefinedNamedSets.value, tab.id) }), + React.createElement(NamedSetList, { headerIcon: "fas fa-user", headerText: "My Sets", onOpen: (event, namedSet) => { + onOpenNamedSet(event, { namedSet, species: tab.id }); + }, status: myNamedSets.status, value: filterValue(myNamedSets.value, tab.id) }), + React.createElement(NamedSetList, { headerIcon: "fas fa-users", headerText: "Other Sets", onOpen: (event, namedSet) => { + onOpenNamedSet(event, { namedSet, species: tab.id }); + }, status: publicNamedSets.status, value: filterValue(publicNamedSets.value, tab.id) })))); })))))); } //# sourceMappingURL=DatasetCard.js.map \ No newline at end of file diff --git a/dist/menu/DatasetCard.js.map b/dist/menu/DatasetCard.js.map index 3af1cad3..a6f318a0 100644 --- a/dist/menu/DatasetCard.js.map +++ b/dist/menu/DatasetCard.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/menu/DatasetSearchBox.d.ts.map b/dist/menu/DatasetSearchBox.d.ts.map index 51d6774a..d19b6b47 100644 --- a/dist/menu/DatasetSearchBox.d.ts.map +++ b/dist/menu/DatasetSearchBox.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"DatasetSearchBox.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAiB,UAAU,EAAgB,MAAM,UAAU,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAa,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAazD,UAAU,uBAAuB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,gBAAgB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAChD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC7F;;OAEG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAW,EAAE,eAA6B,EAAE,EAAE,sBAAsB,eA6IzJ"} \ No newline at end of file +{"version":3,"file":"DatasetSearchBox.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAiB,UAAU,EAAgB,MAAM,UAAU,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAa,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQzD,UAAU,uBAAuB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,gBAAgB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAChD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC7F;;OAEG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA2BD,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAW,EAAE,eAA6B,EAAE,EAAE,sBAAsB,eAgKzJ"} \ No newline at end of file diff --git a/dist/menu/DatasetSearchBox.js b/dist/menu/DatasetSearchBox.js index e0224028..34913c36 100644 --- a/dist/menu/DatasetSearchBox.js +++ b/dist/menu/DatasetSearchBox.js @@ -5,18 +5,24 @@ import { AsyncPaginate } from 'react-select-async-paginate'; import Highlighter from 'react-highlight-words'; import { GeneUtils } from '../common'; // functions to add data-testid attribute to react-select components -/* tslint:disable-next-line:variable-name */ -const addDataTestId = (Component, dataTestId) => ((props) => (React.createElement(Component, Object.assign({}, props, { innerProps: Object.assign({}, props.innerProps, { 'data-testid': `${dataTestId}${props.data ? '-' + props.data.id : ''}` }) })))); +// eslint-disable-next-line +const addDataTestId = (Component, dataTestId) => ( +// eslint-disable-next-line +(props) => ( +// eslint-disable-next-line +React.createElement(Component, { ...props, + // eslint-disable-next-line + innerProps: Object.assign({}, props.innerProps, { 'data-testid': `${dataTestId}${props.data ? '-' + props.data.id : ''}` }) }))); function Input(props) { const { onPaste } = props.selectProps; - const modifiedProps = Object.assign({ 'data-testid': 'async-paginate-input' }, props); + const modifiedProps = { 'data-testid': 'async-paginate-input', ...props }; delete modifiedProps.popoverType; // remove the "illegal" prop from the copy - return (React.createElement(components.Input, Object.assign({ onPaste: onPaste }, modifiedProps))); + return React.createElement(components.Input, { onPaste: onPaste, ...modifiedProps }); } -const clearIndicator = (props) => (components.ClearIndicator && (React.createElement(components.ClearIndicator, Object.assign({}, props)))); -const dropdownIndicator = (props) => (components.DropdownIndicator && (React.createElement(components.DropdownIndicator, Object.assign({}, props)))); -const option = (props) => (components.Option && (React.createElement(components.Option, Object.assign({}, props)))); -const multiValueRemove = (props) => (components.MultiValueRemove && (React.createElement(components.MultiValueRemove, Object.assign({}, props)))); +const clearIndicator = (props) => components.ClearIndicator && React.createElement(components.ClearIndicator, { ...props }); +const dropdownIndicator = (props) => components.DropdownIndicator && React.createElement(components.DropdownIndicator, { ...props }); +const option = (props) => components.Option && React.createElement(components.Option, { ...props }); +const multiValueRemove = (props) => components.MultiValueRemove && React.createElement(components.MultiValueRemove, { ...props }); export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsNamedSet, params = {}, tokenSeparators = /[\s;,]+/gm }) { const [items, setItems] = React.useState([]); const [inputValue, setInputValue] = React.useState(''); @@ -27,15 +33,16 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName ...params, query, page, - limit: 10 - }).then(({ items, more }) => ({ - options: items, + limit: 10, + }).then(({ items: elements, more }) => ({ + options: elements, hasMore: more, additional: { - page: page + 1 - } + page: page + 1, + }, })); }; + // eslint-disable-next-line @typescript-eslint/no-shadow const formatOptionLabel = (option, ctx) => { var _a; // do not highlight selected elements @@ -44,8 +51,7 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName } return (React.createElement(React.Fragment, null, React.createElement(Highlighter, { searchWords: [ctx.inputValue], autoEscape: true, textToHighlight: option.text }), - option.text !== option.id && - React.createElement("span", { className: "small text-muted ms-1" }, option.id))); + option.text !== option.id && React.createElement("span", { className: "small text-muted ms-1" }, option.id))); }; React.useEffect(() => { setInputValue(''); @@ -53,10 +59,13 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName const onPaste = async (event) => { var _a; const pastedData = (_a = event.clipboardData.getData('text')) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase(); - const splitData = Select3Utils.splitEscaped(pastedData, tokenSeparators, false).map((d) => d.trim()).filter((d) => d !== ''); + const splitData = Select3Utils.splitEscaped(pastedData, tokenSeparators, false) + .map((d) => d.trim()) + .filter((d) => d !== ''); const validData = await GeneUtils.validateGeneric(dataSource, splitData); const invalidData = splitData - .filter((s) => !validData.length || validData.every((o) => o.id.toLocaleLowerCase() !== s.toLocaleLowerCase() && o.text.toLocaleLowerCase() !== s.toLocaleLowerCase())) + .filter((s) => !validData.length || + validData.every((o) => o.id.toLocaleLowerCase() !== s.toLocaleLowerCase() && o.text.toLocaleLowerCase() !== s.toLocaleLowerCase())) .map((s) => ({ id: s, text: s, invalid: true })); setItems([...validData, ...invalidData]); }; @@ -64,23 +73,23 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName const searchResults = { search: { ids: validItems.map((i) => i.id), - type: dataSource.tableName - } + type: dataSource.tableName, + }, }; return (React.createElement("div", { className: "hstack gap-3 ordino-dataset-searchbox", "data-testid": "ordino-dataset-searchbox" }, - React.createElement(AsyncPaginate, { className: "flex-fill", onPaste: onPaste, placeholder: placeholder, noOptionsMessage: () => 'No results found', isMulti: true, loadOptions: loadOptions, inputValue: inputValue, value: items, onChange: setItems, onInputChange: setInputValue, formatOptionLabel: formatOptionLabel, hideSelectedOptions: true, getOptionLabel: (option) => option.text, getOptionValue: (option) => option.id, captureMenuScroll: false, additional: { - page: 0 // page starts from index 0 + React.createElement(AsyncPaginate, { className: "flex-fill", onPaste: onPaste, placeholder: placeholder, noOptionsMessage: () => 'No results found', isMulti: true, loadOptions: loadOptions, inputValue: inputValue, value: items, onChange: setItems, onInputChange: setInputValue, formatOptionLabel: formatOptionLabel, hideSelectedOptions: true, getOptionLabel: (opt) => opt.text, getOptionValue: (opt) => opt.id, captureMenuScroll: false, additional: { + page: 0, // page starts from index 0 }, components: { Input, Option: addDataTestId(option, 'async-paginate-option'), MultiValueRemove: addDataTestId(multiValueRemove, 'async-paginate-multiselect-remove'), ClearIndicator: addDataTestId(clearIndicator, 'async-paginate-clearindicator'), - DropdownIndicator: addDataTestId(dropdownIndicator, 'async-paginate-dropdownindicator') + DropdownIndicator: addDataTestId(dropdownIndicator, 'async-paginate-dropdownindicator'), }, styles: { multiValue: (styles, { data }) => ({ ...styles, border: `1px solid #CCC`, - borderRadius: '3px' + borderRadius: '3px', }), multiValueLabel: (styles, { data }) => ({ ...styles, @@ -89,7 +98,7 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName backgroundColor: 'white', order: 2, paddingLeft: '0', - paddingRight: '6px' + paddingRight: '6px', }), multiValueRemove: (styles, { data }) => ({ ...styles, @@ -98,7 +107,7 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName order: 1, ':hover': { color: '#333', - cursor: 'pointer' + cursor: 'pointer', }, }), placeholder: (provided) => ({ @@ -109,20 +118,20 @@ export function DatasetSearchBox({ placeholder, dataSource, onOpen, onSaveAsName }), input: (css) => ({ ...css, - //expand the Input Component div + // expand the Input Component div flex: '1 1 auto', // expand the Input Component child div '> div': { - width: '100%' + width: '100%', }, // expand the Input Component input input: { width: '100% !important', - textAlign: 'left' - } - }) + textAlign: 'left', + }, + }), } }), - React.createElement("button", { className: "btn btn-secondary", "data-testid": "open-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: (event) => onOpen(event, searchResults) }, "Open"), - React.createElement("button", { className: "btn btn-outline-secondary", "data-testid": "save-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: () => onSaveAsNamedSet(validItems) }, "Save as set"))); + React.createElement("button", { type: "button", className: "btn btn-secondary", "data-testid": "open-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: (event) => onOpen(event, searchResults) }, "Open"), + React.createElement("button", { type: "button", className: "btn btn-outline-secondary", "data-testid": "save-button", disabled: !(validItems === null || validItems === void 0 ? void 0 : validItems.length), onClick: () => onSaveAsNamedSet(validItems) }, "Save as set"))); } //# sourceMappingURL=DatasetSearchBox.js.map \ No newline at end of file diff --git a/dist/menu/DatasetSearchBox.js.map b/dist/menu/DatasetSearchBox.js.map index b5f93945..e903e9d9 100644 --- a/dist/menu/DatasetSearchBox.js.map +++ b/dist/menu/DatasetSearchBox.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAc,YAAY,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAqB,MAAM,WAAW,CAAC;AAwBzD,oEAAoE;AACpE,2BAA2B;AAC3B,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC;AAC/C,2BAA2B;AACzB,CAAC,KAAK,EAAE,EAAE,CAAC;AACT,2BAA2B;AACzB,oBAAC,SAAS,OAAK,KAAK;IACpB,2BAA2B;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,EAAC,aAAa,EAAE,GAAG,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAC,CAAC,GAAI,CAAC,CAAC,CAAC;AAE5I,SAAS,KAAK,CAAC,KAAU;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,MAAM,aAAa,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1E,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC,0CAA0C;IAC5E,OAAO,oBAAC,UAAU,CAAC,KAAK,IAAC,OAAO,EAAE,OAAO,KAAM,aAAa,GAAI,CAAC;AACnE,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,IAAI,oBAAC,UAAU,CAAC,cAAc,OAAK,KAAK,GAAI,CAAC;AAExG,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,IAAI,oBAAC,UAAU,CAAC,iBAAiB,OAAK,KAAK,GAAI,CAAC;AAEjH,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,IAAI,oBAAC,UAAU,CAAC,MAAM,OAAK,KAAK,GAAI,CAAC;AAEhF,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,IAAI,oBAAC,UAAU,CAAC,gBAAgB,OAAK,KAAK,GAAI,CAAC;AAE9G,MAAM,UAAU,gBAAgB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,EAAE,EAAE,eAAe,GAAG,WAAW,EAA0B;IACxJ,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAyB,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,KAAK,EAAE,KAAa,EAAE,CAAC,EAAE,EAAE,IAAI,EAAoB,EAAE,EAAE;QACzE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QAC1D,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,YAAY,EAAE;YACzD,MAAM,EAAE,UAAU;YAClB,GAAG,MAAM;YACT,KAAK;YACL,IAAI;YACJ,KAAK,EAAE,EAAE;SACV,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACtC,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE;gBACV,IAAI,EAAE,IAAI,GAAG,CAAC;aACf;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,wDAAwD;IACxD,MAAM,iBAAiB,GAAG,CAAC,MAA4B,EAAE,GAAsD,EAAE,EAAE;;QACjH,qCAAqC;QACrC,IAAI,MAAA,GAAG,CAAC,WAAW,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE;YACpD,OAAO,MAAM,CAAC,IAAI,CAAC;SACpB;QACD,OAAO,CACL;YACE,oBAAC,WAAW,IAAC,WAAW,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,UAAU,QAAC,eAAe,EAAE,MAAM,CAAC,IAAI,GAAI;YACtF,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,8BAAM,SAAS,EAAC,uBAAuB,IAAE,MAAM,CAAC,EAAE,CAAQ,CACvF,CACJ,CAAC;IACJ,CAAC,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,OAAO,GAAG,KAAK,EAAE,KAA2B,EAAE,EAAE;;QACpD,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,0CAAE,iBAAiB,EAAE,CAAC;QAC5E,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC;aAC5E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEzE,MAAM,WAAW,GAAG,SAAS;aAC1B,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,SAAS,CAAC,MAAM;YACjB,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC,CACrI;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE;YACN,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,EAAE,UAAU,CAAC,SAAS;SAC3B;KACF,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,uCAAuC,iBAAa,0BAA0B;QAC3F,oBAAC,aAAa,IACZ,SAAS,EAAC,WAAW,EACrB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAC1C,OAAO,QACP,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,QACnB,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EACjC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAC/B,iBAAiB,EAAE,KAAK,EACxB,UAAU,EAAE;gBACV,IAAI,EAAE,CAAC,EAAE,2BAA2B;aACrC,EACD,UAAU,EAAE;gBACV,KAAK;gBACL,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,uBAAuB,CAAC;gBACtD,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;gBACtF,cAAc,EAAE,aAAa,CAAC,cAAc,EAAE,+BAA+B,CAAC;gBAC9E,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;aACxF,EACD,MAAM,EAAE;gBACN,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBACjC,GAAG,MAAM;oBACT,MAAM,EAAE,gBAAgB;oBACxB,YAAY,EAAE,KAAK;iBACpB,CAAC;gBACF,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBACtC,GAAG,MAAM;oBACT,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM;oBACtD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,eAAe,EAAE,OAAO;oBACxB,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,GAAG;oBAChB,YAAY,EAAE,KAAK;iBACpB,CAAC;gBACF,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBACvC,GAAG,MAAM;oBACT,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;oBACpC,eAAe,EAAE,OAAO;oBACxB,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE;wBACR,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,SAAS;qBAClB;iBACF,CAAC;gBAEF,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC1B,GAAG,QAAQ;oBACX,mCAAmC;oBACnC,aAAa,EAAE,MAAM;oBACrB,UAAU,EAAE,MAAM;iBACnB,CAAC;gBACF,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACf,GAAG,GAAG;oBACN,iCAAiC;oBACjC,IAAI,EAAE,UAAU;oBAChB,uCAAuC;oBACvC,OAAO,EAAE;wBACP,KAAK,EAAE,MAAM;qBACd;oBACD,mCAAmC;oBACnC,KAAK,EAAE;wBACL,KAAK,EAAE,iBAAiB;wBACxB,SAAS,EAAE,MAAM;qBAClB;iBACF,CAAC;aACH,GACD;QACF,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,mBAAmB,iBACjB,aAAa,EACzB,QAAQ,EAAE,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,WAGzC;QACT,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,2BAA2B,iBACzB,aAAa,EACzB,QAAQ,EAAE,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,kBAGpC,CACL,CACP,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/dist/views/DependentGeneTable.d.ts b/dist/views/DependentGeneTable.d.ts index 2b63ecb2..959015cb 100644 --- a/dist/views/DependentGeneTable.d.ts +++ b/dist/views/DependentGeneTable.d.ts @@ -1,10 +1,8 @@ /** * Created by Marc Streit on 28.07.2016. */ -import { ARankingView, IARankingViewOptions } from 'tdp_core'; +import { ARankingView, IARankingViewOptions, ISelection, IViewContext, IServerColumn } from 'tdp_core'; import { IDataTypeConfig } from '../common/config'; -import { ISelection, IViewContext } from 'tdp_core'; -import { IServerColumn } from 'tdp_core'; export declare class DependentGeneTable extends ARankingView { private readonly dataType; private readonly dataSource; @@ -21,3 +19,4 @@ export declare class DependentGeneTable extends ARankingView { static createCopyNumberDependentGeneTable(context: IViewContext, selection: ISelection, parent: HTMLElement, options?: any): DependentGeneTable; static createMutationDependentGeneTable(context: IViewContext, selection: ISelection, parent: HTMLElement, options?: any): DependentGeneTable; } +//# sourceMappingURL=DependentGeneTable.d.ts.map \ No newline at end of file diff --git a/dist/views/DependentSampleTable.d.ts b/dist/views/DependentSampleTable.d.ts index e5162f5d..c46bd86a 100644 --- a/dist/views/DependentSampleTable.d.ts +++ b/dist/views/DependentSampleTable.d.ts @@ -1,10 +1,8 @@ /** * Created by Marc Streit on 26.07.2016. */ -import { ARankingView, IARankingViewOptions } from 'tdp_core'; +import { ARankingView, IARankingViewOptions, ISelection, IViewContext, IServerColumn } from 'tdp_core'; import { IDataTypeConfig } from '../common/config'; -import { ISelection, IViewContext } from 'tdp_core'; -import { IServerColumn } from 'tdp_core'; export declare class DependentSampleTable extends ARankingView { private readonly dataType; constructor(context: IViewContext, selection: ISelection, parent: HTMLElement, dataType: IDataTypeConfig, options?: Partial); @@ -22,3 +20,4 @@ export declare class DependentSampleTable extends ARankingView { static createCopyNumberDependentSampleTable(context: IViewContext, selection: ISelection, parent: HTMLElement, options?: any): DependentSampleTable; static createMutationDependentSampleTable(context: IViewContext, selection: ISelection, parent: HTMLElement, options?: any): DependentSampleTable; } +//# sourceMappingURL=DependentSampleTable.d.ts.map \ No newline at end of file From caec0d4d624c79ca80651d9209e8572ea322b830 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Mon, 30 May 2022 15:44:43 +0200 Subject: [PATCH 07/38] update dist --- dist/menu/DatasetCard.d.ts | 1 + dist/menu/DatasetCard.d.ts.map | 2 +- dist/menu/DatasetCard.js | 41 +++++++++++++++++++++------------- dist/menu/DatasetCard.js.map | 2 +- 4 files changed, 29 insertions(+), 17 deletions(-) diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index 836b542b..2587b238 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,3 +1,4 @@ +/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; //# sourceMappingURL=DatasetCard.d.ts.map \ No newline at end of file diff --git a/dist/menu/DatasetCard.d.ts.map b/dist/menu/DatasetCard.d.ts.map index 2fd90cae..d3463b7e 100644 --- a/dist/menu/DatasetCard.d.ts.map +++ b/dist/menu/DatasetCard.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eAwLjJ"} \ No newline at end of file +{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eA+MjJ"} \ No newline at end of file diff --git a/dist/menu/DatasetCard.js b/dist/menu/DatasetCard.js index ad011a04..6bea9eb9 100644 --- a/dist/menu/DatasetCard.js +++ b/dist/menu/DatasetCard.js @@ -1,13 +1,13 @@ import React from 'react'; -import { ENamedSetType, RestBaseUtils, RestStorageUtils, StoreUtils, UserSession, UniqueIdManager, I18nextManager, IDTypeManager, useAsync, } from 'tdp_core'; +import { ENamedSetType, RestBaseUtils, RestStorageUtils, StoreUtils, UserSession, UniqueIdManager, I18nextManager, IDTypeManager, useAsync, GlobalEventHandler, AView, } from 'tdp_core'; import { NamedSetList, OrdinoContext } from 'ordino'; import { Species } from 'tdp_gene'; import { DatasetSearchBox } from './DatasetSearchBox'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }) { - var _a, _b; const testId = `datasetcard-${cssClass}`; const { app } = React.useContext(OrdinoContext); - const [dirtyNamedSets, setDirtyNamedSets] = React.useState(false); + const [namedSets, setNamedSets] = React.useState([]); + const [dirtyNamedSets, setDirtyNamedSets] = React.useState(true); const loadPredefinedSet = React.useMemo(() => { return async () => { const panels = await RestBaseUtils.getTDPData(dataSource.db, `${dataSource.base}_panel`); @@ -44,15 +44,26 @@ export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, }; // eslint-disable-next-line react-hooks/exhaustive-deps }, [dataSource.idType]); - const loadNamedSets = React.useMemo(() => { - return () => RestStorageUtils.listNamedSets(dataSource.idType); - // eslint-disable-next-line react-hooks/exhaustive-deps + const loadNamedSets = React.useCallback(async () => { + // if dirty is false do not reload data again + if (!dirtyNamedSets) { + return; + } + setNamedSets(await RestStorageUtils.listNamedSets(dataSource.idType)); + setDirtyNamedSets(false); }, [dataSource.idType, dirtyNamedSets]); + React.useEffect(() => { + const entryPointChanged = () => setDirtyNamedSets(true); + GlobalEventHandler.getInstance().on(AView.EVENT_UPDATE_ENTRY_POINT, entryPointChanged); + return () => { + GlobalEventHandler.getInstance().off(AView.EVENT_UPDATE_ENTRY_POINT, entryPointChanged); + }; + }, []); const predefinedNamedSets = useAsync(loadPredefinedSet, []); const me = UserSession.getInstance().currentUserNameOrAnonymous(); - const namedSets = useAsync(loadNamedSets, []); - const myNamedSets = { ...namedSets, ...{ value: (_a = namedSets.value) === null || _a === void 0 ? void 0 : _a.filter((d) => d.type === ENamedSetType.NAMEDSET && d.creator === me) } }; - const publicNamedSets = { ...namedSets, ...{ value: (_b = namedSets.value) === null || _b === void 0 ? void 0 : _b.filter((d) => d.type === ENamedSetType.NAMEDSET && d.creator !== me) } }; + const { status: namedSetsStatus } = useAsync(loadNamedSets, []); + const myNamedSets = { ...namedSets, ...{ value: namedSets === null || namedSets === void 0 ? void 0 : namedSets.filter((d) => d.type === ENamedSetType.NAMEDSET && d.creator === me) } }; + const publicNamedSets = { ...namedSets, ...{ value: namedSets === null || namedSets === void 0 ? void 0 : namedSets.filter((d) => d.type === ENamedSetType.NAMEDSET && d.creator !== me) } }; const filterValue = (value, tab) => value === null || value === void 0 ? void 0 : value.filter((entry) => entry.subTypeValue === tab); const onOpenNamedSet = (event, { namedSet, species }) => { event.preventDefault(); @@ -73,11 +84,11 @@ export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, app.startNewSession(startViewId, searchResult, defaultSessionValues); }; const onSaveAsNamedSet = (items, subtype) => { - StoreUtils.editDialog(null, I18nextManager.getInstance().i18n.t(`tdp:core.editDialog.listOfEntities.default`), async (n, description, isPublic) => { + StoreUtils.editDialog(null, I18nextManager.getInstance().i18n.t(`tdp:core.editDialog.listOfEntities.default`), async (datasetName, description, isPublic) => { const idStrings = items === null || items === void 0 ? void 0 : items.map((i) => i.id); const idType = IDTypeManager.getInstance().resolveIdType(dataSource.idType); - await RestStorageUtils.saveNamedSet(name, idType, idStrings, subtype, description, isPublic); - setDirtyNamedSets((d) => !d); + await RestStorageUtils.saveNamedSet(datasetName, idType, idStrings, subtype, description, isPublic); + setDirtyNamedSets(true); }); }; const id = React.useMemo(() => UniqueIdManager.getInstance().uniqueId(), []); @@ -103,13 +114,13 @@ export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, React.createElement("div", { className: "row mt-4" }, React.createElement(NamedSetList, { headerIcon: "fas fa-database", headerText: "Predefined Sets", onOpen: (event, namedSet) => { onOpenNamedSet(event, { namedSet, species: tab.id }); - }, status: predefinedNamedSets.status, value: filterValue(predefinedNamedSets.value, tab.id) }), + }, onEditNamedSet: () => setDirtyNamedSets(true), onDeleteNamedSet: () => setDirtyNamedSets(true), status: predefinedNamedSets.status, value: filterValue(predefinedNamedSets.value, tab.id) }), React.createElement(NamedSetList, { headerIcon: "fas fa-user", headerText: "My Sets", onOpen: (event, namedSet) => { onOpenNamedSet(event, { namedSet, species: tab.id }); - }, status: myNamedSets.status, value: filterValue(myNamedSets.value, tab.id) }), + }, onEditNamedSet: () => setDirtyNamedSets(true), onDeleteNamedSet: () => setDirtyNamedSets(true), status: namedSetsStatus, value: filterValue(myNamedSets.value, tab.id) }), React.createElement(NamedSetList, { headerIcon: "fas fa-users", headerText: "Other Sets", onOpen: (event, namedSet) => { onOpenNamedSet(event, { namedSet, species: tab.id }); - }, status: publicNamedSets.status, value: filterValue(publicNamedSets.value, tab.id) })))); + }, onEditNamedSet: () => setDirtyNamedSets(true), onDeleteNamedSet: () => setDirtyNamedSets(true), status: namedSetsStatus, value: filterValue(publicNamedSets.value, tab.id) })))); })))))); } //# sourceMappingURL=DatasetCard.js.map \ No newline at end of file diff --git a/dist/menu/DatasetCard.js.map b/dist/menu/DatasetCard.js.map index a6f318a0..ba8d89da 100644 --- a/dist/menu/DatasetCard.js.map +++ b/dist/menu/DatasetCard.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"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"} \ No newline at end of file From e71f24ed4b227cf8b349f18b4f1328f7301d8d42 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Tue, 7 Jun 2022 14:53:01 +0200 Subject: [PATCH 08/38] rename for constistency --- dist/menu/DatasetCard.js | 2 +- dist/menu/DatasetCard.js.map | 2 +- src/menu/DatasetCard.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/menu/DatasetCard.js b/dist/menu/DatasetCard.js index 6bea9eb9..c1666290 100644 --- a/dist/menu/DatasetCard.js +++ b/dist/menu/DatasetCard.js @@ -4,7 +4,7 @@ import { NamedSetList, OrdinoContext } from 'ordino'; import { Species } from 'tdp_gene'; import { DatasetSearchBox } from './DatasetSearchBox'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }) { - const testId = `datasetcard-${cssClass}`; + const testId = `dataset-card-${cssClass}`; const { app } = React.useContext(OrdinoContext); const [namedSets, setNamedSets] = React.useState([]); const [dirtyNamedSets, setDirtyNamedSets] = React.useState(true); diff --git a/dist/menu/DatasetCard.js.map b/dist/menu/DatasetCard.js.map index ba8d89da..fdc2bfe7 100644 --- a/dist/menu/DatasetCard.js.map +++ b/dist/menu/DatasetCard.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/menu/DatasetCard.tsx b/src/menu/DatasetCard.tsx index 228380ad..ee81de24 100644 --- a/src/menu/DatasetCard.tsx +++ b/src/menu/DatasetCard.tsx @@ -20,7 +20,7 @@ import { DatasetSearchBox } from './DatasetSearchBox'; import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc) { - const testId = `datasetcard-${cssClass}`; + const testId = `dataset-card-${cssClass}`; const { app } = React.useContext(OrdinoContext); const [namedSets, setNamedSets] = React.useState([]); const [dirtyNamedSets, setDirtyNamedSets] = React.useState(true); From 3946d4ea4033aaed3420ed64d5746a71aadaaf1d Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Tue, 21 Jun 2022 10:46:46 +0200 Subject: [PATCH 09/38] update dist --- dist/menu/DatasetCard.d.ts | 1 - dist/menu/DatasetCard.d.ts.map | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index 2587b238..836b542b 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,4 +1,3 @@ -/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; //# sourceMappingURL=DatasetCard.d.ts.map \ No newline at end of file diff --git a/dist/menu/DatasetCard.d.ts.map b/dist/menu/DatasetCard.d.ts.map index d3463b7e..ce5bcc3d 100644 --- a/dist/menu/DatasetCard.d.ts.map +++ b/dist/menu/DatasetCard.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eA+MjJ"} \ No newline at end of file +{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eA+MjJ"} \ No newline at end of file From ee11bbc93de76527040dbcc31f5afa8b9f70f4f0 Mon Sep 17 00:00:00 2001 From: Holger Stitz Date: Thu, 30 Jun 2022 11:07:44 +0200 Subject: [PATCH 10/38] Fix typings Requires https://github.com/datavisyn/tdp_core/pull/749 --- dist/menu/DatasetCard.d.ts | 1 + dist/menu/DatasetCard.d.ts.map | 2 +- dist/scores/forms.d.ts | 42 +++++++++---------- dist/views/ACombinedDependentTable.d.ts | 2 +- dist/views/ACombinedDependentTable.d.ts.map | 2 +- dist/views/ACombinedDependentTable.js | 3 +- dist/views/ACombinedDependentTable.js.map | 2 +- dist/views/CombinedDependentSampleTable.d.ts | 2 +- .../CombinedDependentSampleTable.d.ts.map | 2 +- dist/views/CombinedDependentSampleTable.js | 5 +-- .../views/CombinedDependentSampleTable.js.map | 2 +- dist/views/DependentGeneTable.d.ts | 2 +- dist/views/DependentSampleTable.d.ts | 2 +- dist/views/SimilarityView.d.ts | 4 +- dist/views/SimilarityView.d.ts.map | 2 +- dist/views/SimilarityView.js | 8 ++-- dist/views/SimilarityView.js.map | 2 +- src/views/ACombinedDependentTable.ts | 5 ++- src/views/CombinedDependentSampleTable.ts | 5 +-- src/views/SimilarityView.ts | 9 ++-- 20 files changed, 52 insertions(+), 52 deletions(-) diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index 836b542b..2587b238 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,3 +1,4 @@ +/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; //# sourceMappingURL=DatasetCard.d.ts.map \ No newline at end of file diff --git a/dist/menu/DatasetCard.d.ts.map b/dist/menu/DatasetCard.d.ts.map index ce5bcc3d..d3463b7e 100644 --- a/dist/menu/DatasetCard.d.ts.map +++ b/dist/menu/DatasetCard.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eA+MjJ"} \ No newline at end of file +{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eA+MjJ"} \ No newline at end of file diff --git a/dist/scores/forms.d.ts b/dist/scores/forms.d.ts index 35ef6e91..26902869 100644 --- a/dist/scores/forms.d.ts +++ b/dist/scores/forms.d.ts @@ -134,6 +134,22 @@ export declare const FORM_SINGLE_SCORE: { useSession: boolean; }[]; export declare const FORM_AGGREGATED_SCORE_DEPLETION: ({ + type: FormElementType; + label: string; + id: string; + attributes: { + style: string; + }; + required: boolean; + options: { + placeholder: string; + data: { + id: string; + text: string; + }[]; + }; + useSession: boolean; +} | { type: FormElementType; label: string; id: string; @@ -180,7 +196,8 @@ export declare const FORM_AGGREGATED_SCORE_DEPLETION: ({ step: string; optionsData?: undefined; }; -} | { +})[]; +export declare const FORM_SINGLE_SCORE_DEPLETION: { type: FormElementType; label: string; id: string; @@ -196,8 +213,8 @@ export declare const FORM_AGGREGATED_SCORE_DEPLETION: ({ }[]; }; useSession: boolean; -})[]; -export declare const FORM_SINGLE_SCORE_DEPLETION: { +}[]; +export declare const FORM_SINGLE_SCORE_DRUG: ({ type: FormElementType; label: string; id: string; @@ -213,8 +230,7 @@ export declare const FORM_SINGLE_SCORE_DEPLETION: { }[]; }; useSession: boolean; -}[]; -export declare const FORM_SINGLE_SCORE_DRUG: ({ +} | { type: FormElementType; label: string; id: string; @@ -230,21 +246,5 @@ export declare const FORM_SINGLE_SCORE_DRUG: ({ format: typeof import("..").GeneUtils.formatDrugScreen; }; useSession: boolean; -} | { - type: FormElementType; - label: string; - id: string; - attributes: { - style: string; - }; - required: boolean; - options: { - placeholder: string; - data: { - id: string; - text: string; - }[]; - }; - useSession: boolean; })[]; //# sourceMappingURL=forms.d.ts.map \ No newline at end of file diff --git a/dist/views/ACombinedDependentTable.d.ts b/dist/views/ACombinedDependentTable.d.ts index 748b40a8..8eb1b95e 100644 --- a/dist/views/ACombinedDependentTable.d.ts +++ b/dist/views/ACombinedDependentTable.d.ts @@ -9,7 +9,7 @@ export declare abstract class ACombinedDependentTable extends ARankingView { protected getParameterFormDescs(): import("tdp_core").IFormElementDesc[]; private get subTypes(); protected createSelectionAdapter(): import("tdp_core").ISelectionAdapter; - protected parameterChanged(name: string): void; + protected parameterChanged(name: string): Promise; protected loadColumnDesc(): Promise>; protected getColumnDescs(columns: IServerColumn[]): IAdditionalColumnDesc[]; protected loadRows(): Promise; diff --git a/dist/views/ACombinedDependentTable.d.ts.map b/dist/views/ACombinedDependentTable.d.ts.map index 72d2f716..8994e547 100644 --- a/dist/views/ACombinedDependentTable.d.ts.map +++ b/dist/views/ACombinedDependentTable.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ACombinedDependentTable.d.ts","sourceRoot":"","sources":["../../src/views/ACombinedDependentTable.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EAGZ,aAAa,EACb,qBAAqB,EACrB,SAAS,EAIV,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAc,MAAM,kBAAkB,CAAC;AAElF,8BAAsB,uBAAwB,SAAQ,YAAY;IAGe,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE;IAF7H,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAE5B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAqB,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,KAAK;IAoB3I,SAAS,CAAC,QAAQ,KAAK,kBAAkB,IAAI,iBAAiB,CAAC;IAE/D,IAAI,UAAU,8BAEb;IAED,SAAS,CAAC,qBAAqB;IAY/B,OAAO,KAAK,QAAQ,GAMnB;IAED,SAAS,CAAC,sBAAsB;IAiBhC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAOvC,SAAS,CAAC,cAAc;IAIxB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE;IAIjD,SAAS,CAAC,QAAQ;IAMlB,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;cAIzD,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAWhE,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;CAqB7G"} \ No newline at end of file +{"version":3,"file":"ACombinedDependentTable.d.ts","sourceRoot":"","sources":["../../src/views/ACombinedDependentTable.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EAGZ,aAAa,EACb,qBAAqB,EACrB,SAAS,EAIV,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAc,MAAM,kBAAkB,CAAC;AAElF,8BAAsB,uBAAwB,SAAQ,YAAY;IAGe,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE;IAF7H,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAE5B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAqB,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,KAAK;IAoB3I,SAAS,CAAC,QAAQ,KAAK,kBAAkB,IAAI,iBAAiB,CAAC;IAE/D,IAAI,UAAU,8BAEb;IAED,SAAS,CAAC,qBAAqB;IAY/B,OAAO,KAAK,QAAQ,GAMnB;IAED,SAAS,CAAC,sBAAsB;IAiBhC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvD,SAAS,CAAC,cAAc;IAIxB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE;IAIjD,SAAS,CAAC,QAAQ;IAMlB,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;cAIzD,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAWhE,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;CAqB7G"} \ No newline at end of file diff --git a/dist/views/ACombinedDependentTable.js b/dist/views/ACombinedDependentTable.js index a4d1008e..ad6aae81 100644 --- a/dist/views/ACombinedDependentTable.js +++ b/dist/views/ACombinedDependentTable.js @@ -58,8 +58,9 @@ export class ACombinedDependentTable extends ARankingView { parameterChanged(name) { super.parameterChanged(name); if (name === 'filter') { - this.reloadData(); + return this.reloadData(); } + return Promise.resolve(); } loadColumnDesc() { return RestBaseUtils.getTDPDesc(this.dataSource.db, this.oppositeDataSource.base); diff --git a/dist/views/ACombinedDependentTable.js.map b/dist/views/ACombinedDependentTable.js.map index a163058b..680843a5 100644 --- a/dist/views/ACombinedDependentTable.js.map +++ b/dist/views/ACombinedDependentTable.js.map @@ -1 +1 @@ -{"version":3,"file":"ACombinedDependentTable.js","sourceRoot":"","sources":["../../src/views/ACombinedDependentTable.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ACombinedDependentTable.js","sourceRoot":"","sources":["../../src/views/ACombinedDependentTable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/views/CombinedDependentSampleTable.d.ts b/dist/views/CombinedDependentSampleTable.d.ts index 7d9538fb..3fb27d3b 100644 --- a/dist/views/CombinedDependentSampleTable.d.ts +++ b/dist/views/CombinedDependentSampleTable.d.ts @@ -5,7 +5,7 @@ export declare class CombinedDependentSampleTable extends ACombinedDependentTabl constructor(context: IViewContext, selection: ISelection, parent: HTMLElement, dataType: IDataTypeConfig[]); protected get oppositeDataSource(): IDataSourceConfig; protected getParameterFormDescs(): import("tdp_core").IFormElementDesc[]; - protected parameterChanged(name: string): void; + protected parameterChanged(name: string): Promise; protected getSelectionColumnLabel(ensg: string): Promise; static createCombinedDependentSampleTable(context: IViewContext, selection: ISelection, parent: HTMLElement): CombinedDependentSampleTable; } diff --git a/dist/views/CombinedDependentSampleTable.d.ts.map b/dist/views/CombinedDependentSampleTable.d.ts.map index 2ba92147..212ad41d 100644 --- a/dist/views/CombinedDependentSampleTable.d.ts.map +++ b/dist/views/CombinedDependentSampleTable.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"CombinedDependentSampleTable.d.ts","sourceRoot":"","sources":["../../src/views/CombinedDependentSampleTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAA0C,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,qBAAa,4BAA6B,SAAQ,uBAAuB;gBAC3D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE;IAM1G,SAAS,KAAK,kBAAkB,sBAE/B;IAED,SAAS,CAAC,qBAAqB;IAO/B,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAQvC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAI9C,MAAM,CAAC,kCAAkC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW;CAG5G"} \ No newline at end of file +{"version":3,"file":"CombinedDependentSampleTable.d.ts","sourceRoot":"","sources":["../../src/views/CombinedDependentSampleTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAA0C,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,qBAAa,4BAA6B,SAAQ,uBAAuB;gBAC3D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE;IAM1G,SAAS,KAAK,kBAAkB,sBAE/B;IAED,SAAS,CAAC,qBAAqB;IAO/B,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAOvC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAI9C,MAAM,CAAC,kCAAkC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW;CAG5G"} \ No newline at end of file diff --git a/dist/views/CombinedDependentSampleTable.js b/dist/views/CombinedDependentSampleTable.js index e11a336b..1ea5949f 100644 --- a/dist/views/CombinedDependentSampleTable.js +++ b/dist/views/CombinedDependentSampleTable.js @@ -18,10 +18,9 @@ export class CombinedDependentSampleTable extends ACombinedDependentTable { } parameterChanged(name) { if (name === FORM_DATA_SOURCE.id) { - this.rebuild(); - return; // early abort since there is nothing worse than building from scratch + return this.rebuild(); // early abort after rebuild since there is nothing worse than building from scratch } - super.parameterChanged(name); + return super.parameterChanged(name); } getSelectionColumnLabel(ensg) { return ViewUtils.loadFirstName(ensg); diff --git a/dist/views/CombinedDependentSampleTable.js.map b/dist/views/CombinedDependentSampleTable.js.map index bd7545e1..af86719a 100644 --- a/dist/views/CombinedDependentSampleTable.js.map +++ b/dist/views/CombinedDependentSampleTable.js.map @@ -1 +1 @@ -{"version":3,"file":"CombinedDependentSampleTable.js","sourceRoot":"","sources":["../../src/views/CombinedDependentSampleTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAsC,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,4BAA6B,SAAQ,uBAAuB;IACvE,YAAY,OAAqB,EAAE,SAAqB,EAAE,MAAmB,EAAE,QAA2B;QACxG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAc,kBAAkB;QAC9B,OAA0B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChF,CAAC;IAES,qBAAqB;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CAAC,IAAY;QACrC,IAAI,IAAI,KAAK,gBAAgB,CAAC,EAAE,EAAE;YAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,sEAAsE;SAC/E;QACD,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAES,uBAAuB,CAAC,IAAY;QAC5C,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,kCAAkC,CAAC,OAAqB,EAAE,SAAqB,EAAE,MAAmB;QACzG,OAAO,IAAI,4BAA4B,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1G,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"CombinedDependentSampleTable.js","sourceRoot":"","sources":["../../src/views/CombinedDependentSampleTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAsC,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,4BAA6B,SAAQ,uBAAuB;IACvE,YAAY,OAAqB,EAAE,SAAqB,EAAE,MAAmB,EAAE,QAA2B;QACxG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAc,kBAAkB;QAC9B,OAA0B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChF,CAAC;IAES,qBAAqB;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CAAC,IAAY;QACrC,IAAI,IAAI,KAAK,gBAAgB,CAAC,EAAE,EAAE;YAChC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,oFAAoF;SAC5G;QACD,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAES,uBAAuB,CAAC,IAAY;QAC5C,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,kCAAkC,CAAC,OAAqB,EAAE,SAAqB,EAAE,MAAmB;QACzG,OAAO,IAAI,4BAA4B,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1G,CAAC;CACF"} \ No newline at end of file diff --git a/dist/views/DependentGeneTable.d.ts b/dist/views/DependentGeneTable.d.ts index 959015cb..95d824d3 100644 --- a/dist/views/DependentGeneTable.d.ts +++ b/dist/views/DependentGeneTable.d.ts @@ -8,7 +8,7 @@ export declare class DependentGeneTable extends ARankingView { private readonly dataSource; constructor(context: IViewContext, selection: ISelection, parent: HTMLElement, dataType: IDataTypeConfig, options?: Partial); protected getParameterFormDescs(): import("tdp_core").IFormElementDesc[]; - protected parameterChanged(name: string): Promise; + protected parameterChanged(name: string): Promise; protected loadColumnDesc(): Promise>; protected createSelectionAdapter(): import("tdp_core").ISelectionAdapter; protected getColumnDescs(columns: IServerColumn[]): import("tdp_core").IAdditionalColumnDesc[]; diff --git a/dist/views/DependentSampleTable.d.ts b/dist/views/DependentSampleTable.d.ts index c46bd86a..feaeed55 100644 --- a/dist/views/DependentSampleTable.d.ts +++ b/dist/views/DependentSampleTable.d.ts @@ -10,7 +10,7 @@ export declare class DependentSampleTable extends ARankingView { get itemIDType(): import("tdp_core").IDType; private get dataSource(); private get dataSubType(); - protected parameterChanged(name: string): Promise; + protected parameterChanged(name: string): Promise; protected loadColumnDesc(): Promise>; protected createSelectionAdapter(): import("tdp_core").ISelectionAdapter; protected getColumnDescs(columns: IServerColumn[]): import("tdp_core").IAdditionalColumnDesc[]; diff --git a/dist/views/SimilarityView.d.ts b/dist/views/SimilarityView.d.ts index 09b6a2f3..2e980011 100644 --- a/dist/views/SimilarityView.d.ts +++ b/dist/views/SimilarityView.d.ts @@ -17,8 +17,8 @@ export declare class SimilarityView extends ARankingView { protected getColumnDescs(columns: any[]): IAdditionalColumnDesc[]; protected loadColumnDesc(): Promise; protected loadRows(): Promise; - protected parameterChanged(name: string): void; - protected selectionChanged(): void; + protected parameterChanged(name: string): Promise; + protected selectionChanged(): Promise; private updateImpl; protected createInitialRanking(provider: LocalDataProvider): void; } diff --git a/dist/views/SimilarityView.d.ts.map b/dist/views/SimilarityView.d.ts.map index bf260d43..6b412e9d 100644 --- a/dist/views/SimilarityView.d.ts.map +++ b/dist/views/SimilarityView.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"SimilarityView.d.ts","sourceRoot":"","sources":["../../src/views/SimilarityView.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,qBAAqB,EAMtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAqD,MAAM,UAAU,CAAC;AAKhG,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAsB;gBAExB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAc1H,SAAS,CAAC,qBAAqB;IAa/B,IAAI,UAAU,8BAEb;YAEa,iBAAiB;IAgB/B,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;;;YAajB,QAAQ;IAuBtB,OAAO,CAAC,IAAI;IAOZ,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE;IAIjE,SAAS,CAAC,cAAc;IAIxB,SAAS,CAAC,QAAQ;IAIlB,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAKvC,SAAS,CAAC,gBAAgB;IAK1B,OAAO,CAAC,UAAU;IAOlB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB;CAe3D"} \ No newline at end of file +{"version":3,"file":"SimilarityView.d.ts","sourceRoot":"","sources":["../../src/views/SimilarityView.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,qBAAqB,EAKtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAqD,MAAM,UAAU,CAAC;AAKhG,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAsB;gBAExB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAc1H,SAAS,CAAC,qBAAqB;IAa/B,IAAI,UAAU,8BAEb;YAEa,iBAAiB;IAgB/B,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;;;YAajB,QAAQ;IAuBtB,OAAO,CAAC,IAAI;IAOZ,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE;IAIjE,SAAS,CAAC,cAAc;IAIxB,SAAS,CAAC,QAAQ;IAIlB,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAKvC,SAAS,CAAC,gBAAgB;IAK1B,OAAO,CAAC,UAAU;IAOlB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB;CAe3D"} \ No newline at end of file diff --git a/dist/views/SimilarityView.js b/dist/views/SimilarityView.js index af8bd313..36b7c019 100644 --- a/dist/views/SimilarityView.js +++ b/dist/views/SimilarityView.js @@ -92,16 +92,16 @@ export class SimilarityView extends ARankingView { } parameterChanged(name) { super.parameterChanged(name); - this.updateImpl(); + return this.updateImpl(); } selectionChanged() { super.selectionChanged(); - this.updateImpl(); + return this.updateImpl(); } updateImpl() { - this.updateOptionsData().then(() => { + return this.updateOptionsData().then(() => { this.loader = null; - this.rebuild(); + return this.rebuild(); }); } createInitialRanking(provider) { diff --git a/dist/views/SimilarityView.js.map b/dist/views/SimilarityView.js.map index 90ee81b4..454bf48e 100644 --- a/dist/views/SimilarityView.js.map +++ b/dist/views/SimilarityView.js.map @@ -1 +1 @@ -{"version":3,"file":"SimilarityView.js","sourceRoot":"","sources":["../../src/views/SimilarityView.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"SimilarityView.js","sourceRoot":"","sources":["../../src/views/SimilarityView.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/views/ACombinedDependentTable.ts b/src/views/ACombinedDependentTable.ts index 730253fe..b32f65bb 100644 --- a/src/views/ACombinedDependentTable.ts +++ b/src/views/ACombinedDependentTable.ts @@ -82,11 +82,12 @@ export abstract class ACombinedDependentTable extends ARankingView { }); } - protected parameterChanged(name: string) { + protected parameterChanged(name: string): Promise { super.parameterChanged(name); if (name === 'filter') { - this.reloadData(); + return this.reloadData(); } + return Promise.resolve(); } protected loadColumnDesc() { diff --git a/src/views/CombinedDependentSampleTable.ts b/src/views/CombinedDependentSampleTable.ts index ace183ed..8debe1f7 100644 --- a/src/views/CombinedDependentSampleTable.ts +++ b/src/views/CombinedDependentSampleTable.ts @@ -24,10 +24,9 @@ export class CombinedDependentSampleTable extends ACombinedDependentTable { protected parameterChanged(name: string) { if (name === FORM_DATA_SOURCE.id) { - this.rebuild(); - return; // early abort since there is nothing worse than building from scratch + return this.rebuild(); // early abort after rebuild since there is nothing worse than building from scratch } - super.parameterChanged(name); + return super.parameterChanged(name); } protected getSelectionColumnLabel(ensg: string) { diff --git a/src/views/SimilarityView.ts b/src/views/SimilarityView.ts index d1814523..e9079ac1 100644 --- a/src/views/SimilarityView.ts +++ b/src/views/SimilarityView.ts @@ -12,7 +12,6 @@ import { ColumnDescUtils, FormElementType, IFormSelectElement, - IDTypeManager, RestBaseUtils, } from 'tdp_core'; import { LocalDataProvider, createSelectionDesc, createStackDesc, StackColumn } from 'lineupjs'; @@ -127,18 +126,18 @@ export class SimilarityView extends ARankingView { protected parameterChanged(name: string) { super.parameterChanged(name); - this.updateImpl(); + return this.updateImpl(); } protected selectionChanged() { super.selectionChanged(); - this.updateImpl(); + return this.updateImpl(); } private updateImpl() { - this.updateOptionsData().then(() => { + return this.updateOptionsData().then(() => { this.loader = null; - this.rebuild(); + return this.rebuild(); }); } From fbc855a6eccf325182d2ee34df3a33181ca86d67 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Tue, 19 Jul 2022 07:58:42 +0200 Subject: [PATCH 11/38] add index.js --- cypress/integration/index.js | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 cypress/integration/index.js diff --git a/cypress/integration/index.js b/cypress/integration/index.js new file mode 100644 index 00000000..60357546 --- /dev/null +++ b/cypress/integration/index.js @@ -0,0 +1,4 @@ +export * from 'tdp_bi_bioinfodb/cypress/integration/long-running-score.spec'; +export * from './session_all_celllines.spec'; +export * from './session_all_genes.spec'; +export * from './session_all_tissues.spec'; From 2867237b4b72fe7f9cc47cd8af6e00e977bec824 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Tue, 19 Jul 2022 15:26:02 +0200 Subject: [PATCH 12/38] fix setup --- cypress/integration/index.js | 6 +- .../integration/long-running-score.spec.js | 46 ++++++ cypress/integration/ordino-video-test.spec.js | 156 ++++++++++++++++++ .../integration/session_all_celllines.spec.js | 27 +++ cypress/integration/session_all_genes.spec.js | 27 +++ .../integration/session_all_tissues.spec.js | 27 +++ 6 files changed, 287 insertions(+), 2 deletions(-) create mode 100644 cypress/integration/long-running-score.spec.js create mode 100644 cypress/integration/ordino-video-test.spec.js create mode 100644 cypress/integration/session_all_celllines.spec.js create mode 100644 cypress/integration/session_all_genes.spec.js create mode 100644 cypress/integration/session_all_tissues.spec.js diff --git a/cypress/integration/index.js b/cypress/integration/index.js index 60357546..34429a2b 100644 --- a/cypress/integration/index.js +++ b/cypress/integration/index.js @@ -1,4 +1,6 @@ -export * from 'tdp_bi_bioinfodb/cypress/integration/long-running-score.spec'; -export * from './session_all_celllines.spec'; +export * from './long-running-score.spec'; export * from './session_all_genes.spec'; +export * from './session_all_celllines.spec'; export * from './session_all_tissues.spec'; + +export * from './ordino-video-test.spec'; diff --git a/cypress/integration/long-running-score.spec.js b/cypress/integration/long-running-score.spec.js new file mode 100644 index 00000000..4da2592b --- /dev/null +++ b/cypress/integration/long-running-score.spec.js @@ -0,0 +1,46 @@ +import {scrollElementIntoCenter, formSelect, select2SingleSelect} from 'tdp_core/dist/cypress/utils'; +import {waitLineupReadyOrdino, checkScoreColLoadedOrdino} from 'ordino/dist/cypress/utils'; + +// https://www.youtube.com/watch?v=JZIIf-k852g&t=1s +it('Long Running Score', function() { + cy.visit(Cypress.env('host')); + // Login + cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); + + cy.login(); // use Cypress command registerd in Ordino app + + // Show you can select single genes if you wanted + scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + // wait intentionally a few seconds + cy.wait(2000) + cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-link]').click(); + + // Open Lineup ranking + // Define api calls to wait: + cy.intercept('/api/tdp/db/publicdb/gene/desc').as('gene_desc'); + cy.intercept('/api/tdp/db/publicdb/gene/filter?filter_species=human&filter_panel=normal+chromosome+protein+coding+human+genes').as('human_genes'); + cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click(); + cy.wait('@gene_desc'); + cy.wait('@human_genes'); + waitLineupReadyOrdino(0) + + // Add column + cy.get('[data-testid=add-column-button]').click(); + cy.wait(2000); + cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); + select2SingleSelect("data-type", "Relative Copy Number") + formSelect("aggregation", "Boxplot") + cy.get('[data-testid=primary-dialog-button]').click(); + checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 9) + + // Add column + cy.get('[data-testid=add-column-button]').click(); + cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); + formSelect("aggregation", "Frequency") + formSelect("comparison-operator", "> greater than") + cy.get(':nth-child(5) > .form-control').clear(); + cy.get(':nth-child(5) > .form-control').type('4'); + cy.get('[data-testid=primary-dialog-button]').click(); + checkScoreColLoadedOrdino(0, ['Frequency > 4'], 10) +}) \ No newline at end of file diff --git a/cypress/integration/ordino-video-test.spec.js b/cypress/integration/ordino-video-test.spec.js new file mode 100644 index 00000000..2ce4b2c4 --- /dev/null +++ b/cypress/integration/ordino-video-test.spec.js @@ -0,0 +1,156 @@ +import { cy, it, Cypress } from 'local-cypress'; +import { waitLineupReadyOrdino, checkScoreColLoadedOrdino} from 'ordino/dist/cypress/utils'; +import { scrollElementIntoCenter, select2MultiSelect, formSelect, select2SingleSelect, waitTdpNotBusy} from 'tdp_core/dist/cypress/utils'; + +// https://www.youtube.com/watch?v=JZIIf-k852g&t=1s +it('ordino video', function() { + cy.visit(Cypress.env('host')); + + cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); + + cy.login(); // use Cypress command registerd in Ordino app + + // Show you can select single genes if you wanted + scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + // wait intentionally a few seconds + cy.wait(2000) + cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-link]').click(); + + // Open Lineup ranking + // Define api calls to wait: + cy.intercept('/api/tdp/db/publicdb/gene/desc').as('gene_desc'); + cy.intercept('/api/tdp/db/publicdb/gene/filter?filter_species=human&filter_panel=normal+chromosome+protein+coding+human+genes').as('human_genes'); + cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click(); + cy.wait('@gene_desc'); + cy.wait('@human_genes'); + waitLineupReadyOrdino(0) + + // Add column + cy.get('[data-testid=add-column-button]').click(); + cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click(); + select2MultiSelect("cell-line", "HCC1954") + select2MultiSelect("data-type", "Relative Copy Number") + cy.get('[data-testid=primary-dialog-button]').click(); + checkScoreColLoadedOrdino(0, ['HCC1954', 'Relative Copy Number'], 9); + + // Sort by column + // cy.get('[data-draginfo="Merge"] > .lu-toolbar > .lu-action-sort').click(); + + // Show some information + cy.get('[data-testid="(un)collapse-button"] > .fas').click(); + // intentionally wait 1 second + cy.wait(1000) + // filter with histogram not possible + cy.get('[data-testid="(un)collapse-button"] > .fas').click(); + + // Add column + cy.get('[data-testid=add-column-button]').click(); + cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click(); + select2MultiSelect("cell-line", "HCC1954") + select2MultiSelect("data-type", "Normalized Gene Expression (TPM Values)") + cy.get('[data-testid=primary-dialog-button]').click(); + checkScoreColLoadedOrdino(0, ['HCC1954', 'Normalized Gene Expression (TPM Values)'], 10) + + // Add column + cy.get('[data-testid=add-column-button]').click(); + cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span').click(); + select2MultiSelect("cell-line", "HCC1954") + select2MultiSelect("data-type", "DRIVE RSA (ER McDonald III et al., Cell, 2017)") + cy.get('[data-testid=primary-dialog-button]').click(); + checkScoreColLoadedOrdino(0, ['HCC1954', 'DRIVE RSA (ER McDonald III et al., Cell, 2017)'], 11) + + // Invert column + // Here the title should be used. For some reason cypress has problmes, because there is a " character in the title. For now I use the data-id + cy.get('[data-id="col10"] > .lu-toolbar > .lu-action-more').click(); + cy.get('.lu-action-data-mapping > span').click(); + cy.get('.browser-default').select('linear_invert'); + cy.get('.lu-dialog-buttons > [type="submit"]').click(); + + // Add column + cy.get('[data-testid=add-column-button]').click(); + cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); + formSelect("row-1", "Tumor Type") + select2MultiSelect("row-1", "breast carcinoma") + select2SingleSelect("data-type", "Normalized Gene Expression (TPM Values)") + cy.get('[data-testid=primary-dialog-button]').click(); + checkScoreColLoadedOrdino(0, ['Tumor Type', 'breast carcinoma', 'Normalized Gene Expression (TPM Values)'], 12) + + // Add column + cy.get('[data-testid=add-column-button]').click(); + cy.wait(2000); + cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); + select2SingleSelect("data-type", "Relative Copy Number") + formSelect("aggregation", "Boxplot") + cy.get('[data-testid=primary-dialog-button]').click(); + checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 13) + + // Add column + cy.get('[data-testid=add-column-button]').click(); + cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); + formSelect("aggregation", "Frequency") + formSelect("comparison-operator", "> greater than") + cy.get(':nth-child(5) > .form-control').clear(); + cy.get(':nth-child(5) > .form-control').type('4'); + cy.get('[data-testid=primary-dialog-button]').click(); + checkScoreColLoadedOrdino(0, ['Frequency > 4'], 14) + + // Select elements and click on detail views + waitLineupReadyOrdino(0) + cy.get('[data-index="0"] > .lu-renderer-selection').click(); + cy.get('[data-testid=celllinedb_expression_vs_copynumber]').click(); + waitTdpNotBusy() + waitLineupReadyOrdino(0) + cy.wait(2000) + cy.get('[data-index="6"] > .lu-renderer-selection').click(); + waitTdpNotBusy() + waitLineupReadyOrdino(0) + cy.wait(2000) + cy.get('[data-index="6"] > .lu-renderer-selection').click(); + waitTdpNotBusy() + cy.wait(2000) + cy.get('[data-testid=targetvalidation]').click(); + waitTdpNotBusy() + cy.wait(2000) + cy.get('[data-testid=ensembl_org]').click(); + waitTdpNotBusy() + cy.wait(2000) + cy.get('[data-testid=copynumbertable]').click(); + waitTdpNotBusy() + cy.wait(2000) + + // Sort and filter columns + cy.get('[data-testid=viewWrapper-1] > .view > .inner > .tdp-view > :nth-child(1) > .le > .le-header > .le-thead > [data-draginfo="Merge"] > .lu-toolbar > .lu-action-sort').click(); + cy.get('[title="Tumor Type"] > .lu-toolbar > .lu-action-filter').click(); + cy.get('.lu-dialog-table > :nth-child(1) > :nth-child(2) > div').click(); + cy.get('.lu-dialog-table > :nth-child(1) > input').uncheck(); + cy.get(':nth-child(6) > :nth-child(2) > .lu-dialog-filter-table-entry-label').click(); + cy.get('.lu-dialog-table > :nth-child(6) > input').check(); + cy.get('.lu-dialog-buttons > [type="submit"]').click(); + + // Add column + cy.get('[data-testid=viewWrapper-1] [data-testid=side-panel-wrapper] [data-testid=lu-adder-div] [data-testid=add-column-button]').click(); + cy.get('[data-testid=viewWrapper-1] > .view > .inner > .tdp-view > [data-testid=side-panel-wrapper] > .panel-header > :nth-child(2) > [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click(); + select2MultiSelect("gene-symbol", ["BRCA1", "BRCA2"]) + select2MultiSelect("data-type", "AA Mutated") + cy.get('[data-testid=primary-dialog-button]').click(); + checkScoreColLoadedOrdino(1, ['BRCA1', 'AA Mutated'], 10) + checkScoreColLoadedOrdino(1, ['BRCA2', 'AA Mutated'], 10) + + waitLineupReadyOrdino(1) + cy.get('[data-testid=viewWrapper-1] [data-index="0"] > .lu-renderer-selection').click(); + cy.get('[data-testid=viewWrapper-1] [data-index="1"] > .lu-renderer-selection').click(); + cy.get('[data-testid=cosmic]').click(); + // Intentionally wait 2 seconds + waitTdpNotBusy() + cy.wait(2000) + cy.get('[data-testid=show] [data-testid=form-select]').select('907046'); + // Intentionally wait 2 seconds + waitTdpNotBusy() + cy.wait(2000) + cy.get('[data-testid=ordino_sessions_shortcut-link]').click(); + cy.get('[data-testid=current-session-sessionscard] [data-testid=ordino0] [data-testid=save-button]').click(); + cy.get('[data-testid=agree-input]').check(); + cy.get('[data-testid=primary-dialog-button]').click(); + cy.get('[data-testid=ordino_sessions_tab] [data-testid=close-button]').click(); +}) \ No newline at end of file diff --git a/cypress/integration/session_all_celllines.spec.js b/cypress/integration/session_all_celllines.spec.js new file mode 100644 index 00000000..22f7d563 --- /dev/null +++ b/cypress/integration/session_all_celllines.spec.js @@ -0,0 +1,27 @@ +import {scrollElementIntoCenter} from 'tdp_core/dist/cypress/utils'; +import {waitLineupReadyOrdino} from 'ordino/dist/cypress/utils'; + +it('Load all Celllines', function() { + cy.visit(Cypress.env('host')); + + // Login + cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); + + cy.login(); // use Cypress command registerd in Ordino app + + // Show you can select single genes if you wanted + scrollElementIntoCenter('[data-testid=dataset-card-cellline-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.get('[data-testid=dataset-card-cellline-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + // wait intentionally a few seconds + cy.wait(2000) + cy.get('[data-testid=dataset-card-cellline-dataset] [data-testid=human-link]').click(); + + // Open Lineup ranking + // Define api calls to wait: + cy.intercept('/api/tdp/db/publicdb/cellline/desc').as('cellline_desc'); + cy.intercept('/api/tdp/db/publicdb/cellline/filter?filter_species=human&filter_panel=CCLE').as('human_cellline'); + cy.get('[data-testid=ccle-button]').click(); + cy.wait('@cellline_desc'); + cy.wait('@human_cellline'); + waitLineupReadyOrdino(0) +}); diff --git a/cypress/integration/session_all_genes.spec.js b/cypress/integration/session_all_genes.spec.js new file mode 100644 index 00000000..4f1f567f --- /dev/null +++ b/cypress/integration/session_all_genes.spec.js @@ -0,0 +1,27 @@ +import {scrollElementIntoCenter} from 'tdp_core/dist/cypress/utils'; +import {waitLineupReadyOrdino} from 'ordino/dist/cypress/utils'; + +it('Load all Genes', function() { + cy.visit(Cypress.env('host')); + + // Login + cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); + + cy.login(); // use Cypress command registerd in Ordino app + + // Show you can select single genes if you wanted + scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + // wait intentionally a few seconds + cy.wait(2000) + cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-link]').click(); + + // Open Lineup ranking + // Define api calls to wait: + cy.intercept('/api/tdp/db/publicdb/gene/desc').as('gene_desc'); + cy.intercept('/api/tdp/db/publicdb/gene/filter?filter_species=human&filter_panel=normal+chromosome+protein+coding+human+genes').as('human_genes'); + cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click(); + cy.wait('@gene_desc'); + cy.wait('@human_genes'); + waitLineupReadyOrdino(0) +}); diff --git a/cypress/integration/session_all_tissues.spec.js b/cypress/integration/session_all_tissues.spec.js new file mode 100644 index 00000000..40b7bf9c --- /dev/null +++ b/cypress/integration/session_all_tissues.spec.js @@ -0,0 +1,27 @@ +import {scrollElementIntoCenter} from 'tdp_core/dist/cypress/utils'; +import {waitLineupReadyOrdino} from 'ordino/dist/cypress/utils'; + +it('Load all Tissues', function() { + cy.visit(Cypress.env('host')); + + // Login + cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); + + cy.login(); // use Cypress command registerd in Ordino app + + // Show you can select single genes if you wanted + scrollElementIntoCenter('[data-testid=dataset-card-tissue-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.get('[data-testid=dataset-card-tissue-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + // wait intentionally a few seconds + cy.wait(2000) + cy.get('[data-testid=dataset-card-tissue-dataset] [data-testid=human-link]').click(); + + // Open Lineup ranking + // Define api calls to wait: + cy.intercept('/api/tdp/db/publicdb/tissue/desc').as('tissue_desc'); + cy.intercept('/api/tdp/db/publicdb/tissue/filter?filter_species=human&filter_panel=TCGA+normals').as('human_tissue'); + cy.get('[data-testid=tcga-normals-button]').click(); + cy.wait('@tissue_desc'); + cy.wait('@human_tissue'); + waitLineupReadyOrdino(0) +}); From e0d7459193828255e477fce56e44655d4bf9c795 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Wed, 20 Jul 2022 07:54:43 +0200 Subject: [PATCH 13/38] update imports and function calls --- .../integration/long-running-score.spec.js | 19 ++--- cypress/integration/ordino-video-test.spec.js | 76 +++++++++---------- .../integration/session_all_celllines.spec.js | 7 +- cypress/integration/session_all_genes.spec.js | 7 +- .../integration/session_all_tissues.spec.js | 7 +- 5 files changed, 51 insertions(+), 65 deletions(-) diff --git a/cypress/integration/long-running-score.spec.js b/cypress/integration/long-running-score.spec.js index 4da2592b..0c738c7a 100644 --- a/cypress/integration/long-running-score.spec.js +++ b/cypress/integration/long-running-score.spec.js @@ -1,6 +1,3 @@ -import {scrollElementIntoCenter, formSelect, select2SingleSelect} from 'tdp_core/dist/cypress/utils'; -import {waitLineupReadyOrdino, checkScoreColLoadedOrdino} from 'ordino/dist/cypress/utils'; - // https://www.youtube.com/watch?v=JZIIf-k852g&t=1s it('Long Running Score', function() { cy.visit(Cypress.env('host')); @@ -10,7 +7,7 @@ it('Long Running Score', function() { cy.login(); // use Cypress command registerd in Ordino app // Show you can select single genes if you wanted - scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() // wait intentionally a few seconds cy.wait(2000) @@ -23,24 +20,24 @@ it('Long Running Score', function() { cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click(); cy.wait('@gene_desc'); cy.wait('@human_genes'); - waitLineupReadyOrdino(0) + cy.waitLineupReadyOrdino(0) // Add column cy.get('[data-testid=add-column-button]').click(); cy.wait(2000); cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - select2SingleSelect("data-type", "Relative Copy Number") - formSelect("aggregation", "Boxplot") + cy.select2SingleSelect("data-type", "Relative Copy Number") + cy.formSelect("aggregation", "Boxplot") cy.get('[data-testid=primary-dialog-button]').click(); - checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 9) + cy.checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 9) // Add column cy.get('[data-testid=add-column-button]').click(); cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - formSelect("aggregation", "Frequency") - formSelect("comparison-operator", "> greater than") + cy.formSelect("aggregation", "Frequency") + cy.formSelect("comparison-operator", "> greater than") cy.get(':nth-child(5) > .form-control').clear(); cy.get(':nth-child(5) > .form-control').type('4'); cy.get('[data-testid=primary-dialog-button]').click(); - checkScoreColLoadedOrdino(0, ['Frequency > 4'], 10) + cy.checkScoreColLoadedOrdino(0, ['Frequency > 4'], 10) }) \ No newline at end of file diff --git a/cypress/integration/ordino-video-test.spec.js b/cypress/integration/ordino-video-test.spec.js index 2ce4b2c4..c59ce185 100644 --- a/cypress/integration/ordino-video-test.spec.js +++ b/cypress/integration/ordino-video-test.spec.js @@ -1,6 +1,4 @@ import { cy, it, Cypress } from 'local-cypress'; -import { waitLineupReadyOrdino, checkScoreColLoadedOrdino} from 'ordino/dist/cypress/utils'; -import { scrollElementIntoCenter, select2MultiSelect, formSelect, select2SingleSelect, waitTdpNotBusy} from 'tdp_core/dist/cypress/utils'; // https://www.youtube.com/watch?v=JZIIf-k852g&t=1s it('ordino video', function() { @@ -11,7 +9,7 @@ it('ordino video', function() { cy.login(); // use Cypress command registerd in Ordino app // Show you can select single genes if you wanted - scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() // wait intentionally a few seconds cy.wait(2000) @@ -24,15 +22,15 @@ it('ordino video', function() { cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click(); cy.wait('@gene_desc'); cy.wait('@human_genes'); - waitLineupReadyOrdino(0) + cy.waitLineupReadyOrdino(0) // Add column cy.get('[data-testid=add-column-button]').click(); cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click(); - select2MultiSelect("cell-line", "HCC1954") - select2MultiSelect("data-type", "Relative Copy Number") + cy.select2MultiSelect("cell-line", "HCC1954") + cy.select2MultiSelect("data-type", "Relative Copy Number") cy.get('[data-testid=primary-dialog-button]').click(); - checkScoreColLoadedOrdino(0, ['HCC1954', 'Relative Copy Number'], 9); + cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'Relative Copy Number'], 9); // Sort by column // cy.get('[data-draginfo="Merge"] > .lu-toolbar > .lu-action-sort').click(); @@ -47,18 +45,18 @@ it('ordino video', function() { // Add column cy.get('[data-testid=add-column-button]').click(); cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click(); - select2MultiSelect("cell-line", "HCC1954") - select2MultiSelect("data-type", "Normalized Gene Expression (TPM Values)") + cy.select2MultiSelect("cell-line", "HCC1954") + cy.select2MultiSelect("data-type", "Normalized Gene Expression (TPM Values)") cy.get('[data-testid=primary-dialog-button]').click(); - checkScoreColLoadedOrdino(0, ['HCC1954', 'Normalized Gene Expression (TPM Values)'], 10) + cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'Normalized Gene Expression (TPM Values)'], 10) // Add column cy.get('[data-testid=add-column-button]').click(); cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span').click(); - select2MultiSelect("cell-line", "HCC1954") - select2MultiSelect("data-type", "DRIVE RSA (ER McDonald III et al., Cell, 2017)") + cy.select2MultiSelect("cell-line", "HCC1954") + cy.select2MultiSelect("data-type", "DRIVE RSA (ER McDonald III et al., Cell, 2017)") cy.get('[data-testid=primary-dialog-button]').click(); - checkScoreColLoadedOrdino(0, ['HCC1954', 'DRIVE RSA (ER McDonald III et al., Cell, 2017)'], 11) + cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'DRIVE RSA (ER McDonald III et al., Cell, 2017)'], 11) // Invert column // Here the title should be used. For some reason cypress has problmes, because there is a " character in the title. For now I use the data-id @@ -70,53 +68,53 @@ it('ordino video', function() { // Add column cy.get('[data-testid=add-column-button]').click(); cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - formSelect("row-1", "Tumor Type") - select2MultiSelect("row-1", "breast carcinoma") - select2SingleSelect("data-type", "Normalized Gene Expression (TPM Values)") + cy.formSelect("row-1", "Tumor Type") + cy.select2MultiSelect("row-1", "breast carcinoma") + cy.select2SingleSelect("data-type", "Normalized Gene Expression (TPM Values)") cy.get('[data-testid=primary-dialog-button]').click(); - checkScoreColLoadedOrdino(0, ['Tumor Type', 'breast carcinoma', 'Normalized Gene Expression (TPM Values)'], 12) + cy.checkScoreColLoadedOrdino(0, ['Tumor Type', 'breast carcinoma', 'Normalized Gene Expression (TPM Values)'], 12) // Add column cy.get('[data-testid=add-column-button]').click(); cy.wait(2000); cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - select2SingleSelect("data-type", "Relative Copy Number") - formSelect("aggregation", "Boxplot") + cy.select2SingleSelect("data-type", "Relative Copy Number") + cy.formSelect("aggregation", "Boxplot") cy.get('[data-testid=primary-dialog-button]').click(); - checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 13) + cy.checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 13) // Add column cy.get('[data-testid=add-column-button]').click(); cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - formSelect("aggregation", "Frequency") - formSelect("comparison-operator", "> greater than") + cy.formSelect("aggregation", "Frequency") + cy.formSelect("comparison-operator", "> greater than") cy.get(':nth-child(5) > .form-control').clear(); cy.get(':nth-child(5) > .form-control').type('4'); cy.get('[data-testid=primary-dialog-button]').click(); - checkScoreColLoadedOrdino(0, ['Frequency > 4'], 14) + cy.checkScoreColLoadedOrdino(0, ['Frequency > 4'], 14) // Select elements and click on detail views - waitLineupReadyOrdino(0) + cy.waitLineupReadyOrdino(0) cy.get('[data-index="0"] > .lu-renderer-selection').click(); cy.get('[data-testid=celllinedb_expression_vs_copynumber]').click(); - waitTdpNotBusy() - waitLineupReadyOrdino(0) + cy.waitTdpNotBusy() + cy.waitLineupReadyOrdino(0) cy.wait(2000) cy.get('[data-index="6"] > .lu-renderer-selection').click(); - waitTdpNotBusy() - waitLineupReadyOrdino(0) + cy.waitTdpNotBusy() + cy.waitLineupReadyOrdino(0) cy.wait(2000) cy.get('[data-index="6"] > .lu-renderer-selection').click(); - waitTdpNotBusy() + cy.waitTdpNotBusy() cy.wait(2000) cy.get('[data-testid=targetvalidation]').click(); - waitTdpNotBusy() + cy.waitTdpNotBusy() cy.wait(2000) cy.get('[data-testid=ensembl_org]').click(); - waitTdpNotBusy() + cy.waitTdpNotBusy() cy.wait(2000) cy.get('[data-testid=copynumbertable]').click(); - waitTdpNotBusy() + cy.waitTdpNotBusy() cy.wait(2000) // Sort and filter columns @@ -131,22 +129,22 @@ it('ordino video', function() { // Add column cy.get('[data-testid=viewWrapper-1] [data-testid=side-panel-wrapper] [data-testid=lu-adder-div] [data-testid=add-column-button]').click(); cy.get('[data-testid=viewWrapper-1] > .view > .inner > .tdp-view > [data-testid=side-panel-wrapper] > .panel-header > :nth-child(2) > [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click(); - select2MultiSelect("gene-symbol", ["BRCA1", "BRCA2"]) - select2MultiSelect("data-type", "AA Mutated") + cy.select2MultiSelect("gene-symbol", ["BRCA1", "BRCA2"]) + cy.select2MultiSelect("data-type", "AA Mutated") cy.get('[data-testid=primary-dialog-button]').click(); - checkScoreColLoadedOrdino(1, ['BRCA1', 'AA Mutated'], 10) - checkScoreColLoadedOrdino(1, ['BRCA2', 'AA Mutated'], 10) + cy.checkScoreColLoadedOrdino(1, ['BRCA1', 'AA Mutated'], 10) + cy.checkScoreColLoadedOrdino(1, ['BRCA2', 'AA Mutated'], 10) - waitLineupReadyOrdino(1) + cy.waitLineupReadyOrdino(1) cy.get('[data-testid=viewWrapper-1] [data-index="0"] > .lu-renderer-selection').click(); cy.get('[data-testid=viewWrapper-1] [data-index="1"] > .lu-renderer-selection').click(); cy.get('[data-testid=cosmic]').click(); // Intentionally wait 2 seconds - waitTdpNotBusy() + cy.waitTdpNotBusy() cy.wait(2000) cy.get('[data-testid=show] [data-testid=form-select]').select('907046'); // Intentionally wait 2 seconds - waitTdpNotBusy() + cy.waitTdpNotBusy() cy.wait(2000) cy.get('[data-testid=ordino_sessions_shortcut-link]').click(); cy.get('[data-testid=current-session-sessionscard] [data-testid=ordino0] [data-testid=save-button]').click(); diff --git a/cypress/integration/session_all_celllines.spec.js b/cypress/integration/session_all_celllines.spec.js index 22f7d563..266f8330 100644 --- a/cypress/integration/session_all_celllines.spec.js +++ b/cypress/integration/session_all_celllines.spec.js @@ -1,6 +1,3 @@ -import {scrollElementIntoCenter} from 'tdp_core/dist/cypress/utils'; -import {waitLineupReadyOrdino} from 'ordino/dist/cypress/utils'; - it('Load all Celllines', function() { cy.visit(Cypress.env('host')); @@ -10,7 +7,7 @@ it('Load all Celllines', function() { cy.login(); // use Cypress command registerd in Ordino app // Show you can select single genes if you wanted - scrollElementIntoCenter('[data-testid=dataset-card-cellline-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.scrollElementIntoCenter('[data-testid=dataset-card-cellline-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() cy.get('[data-testid=dataset-card-cellline-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() // wait intentionally a few seconds cy.wait(2000) @@ -23,5 +20,5 @@ it('Load all Celllines', function() { cy.get('[data-testid=ccle-button]').click(); cy.wait('@cellline_desc'); cy.wait('@human_cellline'); - waitLineupReadyOrdino(0) + cy.waitLineupReadyOrdino(0) }); diff --git a/cypress/integration/session_all_genes.spec.js b/cypress/integration/session_all_genes.spec.js index 4f1f567f..68eabe85 100644 --- a/cypress/integration/session_all_genes.spec.js +++ b/cypress/integration/session_all_genes.spec.js @@ -1,6 +1,3 @@ -import {scrollElementIntoCenter} from 'tdp_core/dist/cypress/utils'; -import {waitLineupReadyOrdino} from 'ordino/dist/cypress/utils'; - it('Load all Genes', function() { cy.visit(Cypress.env('host')); @@ -10,7 +7,7 @@ it('Load all Genes', function() { cy.login(); // use Cypress command registerd in Ordino app // Show you can select single genes if you wanted - scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() // wait intentionally a few seconds cy.wait(2000) @@ -23,5 +20,5 @@ it('Load all Genes', function() { cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click(); cy.wait('@gene_desc'); cy.wait('@human_genes'); - waitLineupReadyOrdino(0) + cy.waitLineupReadyOrdino(0) }); diff --git a/cypress/integration/session_all_tissues.spec.js b/cypress/integration/session_all_tissues.spec.js index 40b7bf9c..3d430890 100644 --- a/cypress/integration/session_all_tissues.spec.js +++ b/cypress/integration/session_all_tissues.spec.js @@ -1,6 +1,3 @@ -import {scrollElementIntoCenter} from 'tdp_core/dist/cypress/utils'; -import {waitLineupReadyOrdino} from 'ordino/dist/cypress/utils'; - it('Load all Tissues', function() { cy.visit(Cypress.env('host')); @@ -10,7 +7,7 @@ it('Load all Tissues', function() { cy.login(); // use Cypress command registerd in Ordino app // Show you can select single genes if you wanted - scrollElementIntoCenter('[data-testid=dataset-card-tissue-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() + cy.scrollElementIntoCenter('[data-testid=dataset-card-tissue-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() cy.get('[data-testid=dataset-card-tissue-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() // wait intentionally a few seconds cy.wait(2000) @@ -23,5 +20,5 @@ it('Load all Tissues', function() { cy.get('[data-testid=tcga-normals-button]').click(); cy.wait('@tissue_desc'); cy.wait('@human_tissue'); - waitLineupReadyOrdino(0) + cy.waitLineupReadyOrdino(0) }); From 2fd228fa8ea2817ed7231051eb5744ddf026e436 Mon Sep 17 00:00:00 2001 From: dvvanessastoiber Date: Fri, 22 Jul 2022 06:34:41 +0200 Subject: [PATCH 14/38] update video --- cypress/integration/ordino-video-test.spec.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/cypress/integration/ordino-video-test.spec.js b/cypress/integration/ordino-video-test.spec.js index c59ce185..b9d1fae5 100644 --- a/cypress/integration/ordino-video-test.spec.js +++ b/cypress/integration/ordino-video-test.spec.js @@ -33,7 +33,7 @@ it('ordino video', function() { cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'Relative Copy Number'], 9); // Sort by column - // cy.get('[data-draginfo="Merge"] > .lu-toolbar > .lu-action-sort').click(); + cy.get('[data-testid=viewWrapper-0] > .view > .inner > .tdp-view > :nth-child(1) > .le > .le-header > .le-thead > section:nth-last-child(-n+1) > .lu-toolbar > .lu-action-sort').click(); // Show some information cy.get('[data-testid="(un)collapse-button"] > .fas').click(); @@ -100,13 +100,10 @@ it('ordino video', function() { cy.waitTdpNotBusy() cy.waitLineupReadyOrdino(0) cy.wait(2000) - cy.get('[data-index="6"] > .lu-renderer-selection').click(); - cy.waitTdpNotBusy() - cy.waitLineupReadyOrdino(0) - cy.wait(2000) - cy.get('[data-index="6"] > .lu-renderer-selection').click(); - cy.waitTdpNotBusy() - cy.wait(2000) + // cy.get('[data-index="6"] > .lu-renderer-selection').click(); + // cy.waitTdpNotBusy() + // cy.waitLineupReadyOrdino(0) + // cy.wait(2000) cy.get('[data-testid=targetvalidation]').click(); cy.waitTdpNotBusy() cy.wait(2000) @@ -118,7 +115,7 @@ it('ordino video', function() { cy.wait(2000) // Sort and filter columns - cy.get('[data-testid=viewWrapper-1] > .view > .inner > .tdp-view > :nth-child(1) > .le > .le-header > .le-thead > [data-draginfo="Merge"] > .lu-toolbar > .lu-action-sort').click(); + cy.get('[data-testid=viewWrapper-1] > .view > .inner > .tdp-view > :nth-child(1) > .le > .le-header > .le-thead > section:nth-last-child(-n+1) > .lu-toolbar > .lu-action-sort').click(); cy.get('[title="Tumor Type"] > .lu-toolbar > .lu-action-filter').click(); cy.get('.lu-dialog-table > :nth-child(1) > :nth-child(2) > div').click(); cy.get('.lu-dialog-table > :nth-child(1) > input').uncheck(); @@ -137,12 +134,12 @@ it('ordino video', function() { cy.waitLineupReadyOrdino(1) cy.get('[data-testid=viewWrapper-1] [data-index="0"] > .lu-renderer-selection').click(); - cy.get('[data-testid=viewWrapper-1] [data-index="1"] > .lu-renderer-selection').click(); + cy.get('[data-testid=viewWrapper-1] [data-index="12"] > .lu-renderer-selection').click(); cy.get('[data-testid=cosmic]').click(); // Intentionally wait 2 seconds cy.waitTdpNotBusy() cy.wait(2000) - cy.get('[data-testid=show] [data-testid=form-select]').select('907046'); + cy.get('[data-testid=show] [data-testid=form-select]').select('687455'); // Intentionally wait 2 seconds cy.waitTdpNotBusy() cy.wait(2000) From 1e07eb15809fc6790e788f93916005655e3c4dd2 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Tue, 9 Aug 2022 11:12:01 +0200 Subject: [PATCH 15/38] Refactored cy related files for Cypress v10 --- cypress.config.ts | 9 ++ cypress/fixtures/example.json | 5 + cypress/integration/index.js | 6 - .../integration/long-running-score.spec.js | 43 ----- cypress/integration/ordino-video-test.spec.js | 151 ------------------ .../integration/session_all_celllines.spec.js | 24 --- cypress/integration/session_all_genes.spec.js | 24 --- .../integration/session_all_tissues.spec.js | 24 --- cypress/support/commands.js | 37 +++++ cypress/support/e2e.js | 20 +++ package.json | 1 + 11 files changed, 72 insertions(+), 272 deletions(-) create mode 100644 cypress.config.ts create mode 100644 cypress/fixtures/example.json delete mode 100644 cypress/integration/index.js delete mode 100644 cypress/integration/long-running-score.spec.js delete mode 100644 cypress/integration/ordino-video-test.spec.js delete mode 100644 cypress/integration/session_all_celllines.spec.js delete mode 100644 cypress/integration/session_all_genes.spec.js delete mode 100644 cypress/integration/session_all_tissues.spec.js create mode 100644 cypress/support/commands.js create mode 100644 cypress/support/e2e.js diff --git a/cypress.config.ts b/cypress.config.ts new file mode 100644 index 00000000..17161e32 --- /dev/null +++ b/cypress.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from "cypress"; + +export default defineConfig({ + e2e: { + setupNodeEvents(on, config) { + // implement node event listeners here + }, + }, +}); diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json new file mode 100644 index 00000000..02e42543 --- /dev/null +++ b/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/cypress/integration/index.js b/cypress/integration/index.js deleted file mode 100644 index 34429a2b..00000000 --- a/cypress/integration/index.js +++ /dev/null @@ -1,6 +0,0 @@ -export * from './long-running-score.spec'; -export * from './session_all_genes.spec'; -export * from './session_all_celllines.spec'; -export * from './session_all_tissues.spec'; - -export * from './ordino-video-test.spec'; diff --git a/cypress/integration/long-running-score.spec.js b/cypress/integration/long-running-score.spec.js deleted file mode 100644 index 0c738c7a..00000000 --- a/cypress/integration/long-running-score.spec.js +++ /dev/null @@ -1,43 +0,0 @@ -// https://www.youtube.com/watch?v=JZIIf-k852g&t=1s -it('Long Running Score', function() { - cy.visit(Cypress.env('host')); - // Login - cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); - - cy.login(); // use Cypress command registerd in Ordino app - - // Show you can select single genes if you wanted - cy.scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - // wait intentionally a few seconds - cy.wait(2000) - cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-link]').click(); - - // Open Lineup ranking - // Define api calls to wait: - cy.intercept('/api/tdp/db/publicdb/gene/desc').as('gene_desc'); - cy.intercept('/api/tdp/db/publicdb/gene/filter?filter_species=human&filter_panel=normal+chromosome+protein+coding+human+genes').as('human_genes'); - cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click(); - cy.wait('@gene_desc'); - cy.wait('@human_genes'); - cy.waitLineupReadyOrdino(0) - - // Add column - cy.get('[data-testid=add-column-button]').click(); - cy.wait(2000); - cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - cy.select2SingleSelect("data-type", "Relative Copy Number") - cy.formSelect("aggregation", "Boxplot") - cy.get('[data-testid=primary-dialog-button]').click(); - cy.checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 9) - - // Add column - cy.get('[data-testid=add-column-button]').click(); - cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - cy.formSelect("aggregation", "Frequency") - cy.formSelect("comparison-operator", "> greater than") - cy.get(':nth-child(5) > .form-control').clear(); - cy.get(':nth-child(5) > .form-control').type('4'); - cy.get('[data-testid=primary-dialog-button]').click(); - cy.checkScoreColLoadedOrdino(0, ['Frequency > 4'], 10) -}) \ No newline at end of file diff --git a/cypress/integration/ordino-video-test.spec.js b/cypress/integration/ordino-video-test.spec.js deleted file mode 100644 index b9d1fae5..00000000 --- a/cypress/integration/ordino-video-test.spec.js +++ /dev/null @@ -1,151 +0,0 @@ -import { cy, it, Cypress } from 'local-cypress'; - -// https://www.youtube.com/watch?v=JZIIf-k852g&t=1s -it('ordino video', function() { - cy.visit(Cypress.env('host')); - - cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); - - cy.login(); // use Cypress command registerd in Ordino app - - // Show you can select single genes if you wanted - cy.scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - // wait intentionally a few seconds - cy.wait(2000) - cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-link]').click(); - - // Open Lineup ranking - // Define api calls to wait: - cy.intercept('/api/tdp/db/publicdb/gene/desc').as('gene_desc'); - cy.intercept('/api/tdp/db/publicdb/gene/filter?filter_species=human&filter_panel=normal+chromosome+protein+coding+human+genes').as('human_genes'); - cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click(); - cy.wait('@gene_desc'); - cy.wait('@human_genes'); - cy.waitLineupReadyOrdino(0) - - // Add column - cy.get('[data-testid=add-column-button]').click(); - cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click(); - cy.select2MultiSelect("cell-line", "HCC1954") - cy.select2MultiSelect("data-type", "Relative Copy Number") - cy.get('[data-testid=primary-dialog-button]').click(); - cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'Relative Copy Number'], 9); - - // Sort by column - cy.get('[data-testid=viewWrapper-0] > .view > .inner > .tdp-view > :nth-child(1) > .le > .le-header > .le-thead > section:nth-last-child(-n+1) > .lu-toolbar > .lu-action-sort').click(); - - // Show some information - cy.get('[data-testid="(un)collapse-button"] > .fas').click(); - // intentionally wait 1 second - cy.wait(1000) - // filter with histogram not possible - cy.get('[data-testid="(un)collapse-button"] > .fas').click(); - - // Add column - cy.get('[data-testid=add-column-button]').click(); - cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click(); - cy.select2MultiSelect("cell-line", "HCC1954") - cy.select2MultiSelect("data-type", "Normalized Gene Expression (TPM Values)") - cy.get('[data-testid=primary-dialog-button]').click(); - cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'Normalized Gene Expression (TPM Values)'], 10) - - // Add column - cy.get('[data-testid=add-column-button]').click(); - cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span').click(); - cy.select2MultiSelect("cell-line", "HCC1954") - cy.select2MultiSelect("data-type", "DRIVE RSA (ER McDonald III et al., Cell, 2017)") - cy.get('[data-testid=primary-dialog-button]').click(); - cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'DRIVE RSA (ER McDonald III et al., Cell, 2017)'], 11) - - // Invert column - // Here the title should be used. For some reason cypress has problmes, because there is a " character in the title. For now I use the data-id - cy.get('[data-id="col10"] > .lu-toolbar > .lu-action-more').click(); - cy.get('.lu-action-data-mapping > span').click(); - cy.get('.browser-default').select('linear_invert'); - cy.get('.lu-dialog-buttons > [type="submit"]').click(); - - // Add column - cy.get('[data-testid=add-column-button]').click(); - cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - cy.formSelect("row-1", "Tumor Type") - cy.select2MultiSelect("row-1", "breast carcinoma") - cy.select2SingleSelect("data-type", "Normalized Gene Expression (TPM Values)") - cy.get('[data-testid=primary-dialog-button]').click(); - cy.checkScoreColLoadedOrdino(0, ['Tumor Type', 'breast carcinoma', 'Normalized Gene Expression (TPM Values)'], 12) - - // Add column - cy.get('[data-testid=add-column-button]').click(); - cy.wait(2000); - cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - cy.select2SingleSelect("data-type", "Relative Copy Number") - cy.formSelect("aggregation", "Boxplot") - cy.get('[data-testid=primary-dialog-button]').click(); - cy.checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 13) - - // Add column - cy.get('[data-testid=add-column-button]').click(); - cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click(); - cy.formSelect("aggregation", "Frequency") - cy.formSelect("comparison-operator", "> greater than") - cy.get(':nth-child(5) > .form-control').clear(); - cy.get(':nth-child(5) > .form-control').type('4'); - cy.get('[data-testid=primary-dialog-button]').click(); - cy.checkScoreColLoadedOrdino(0, ['Frequency > 4'], 14) - - // Select elements and click on detail views - cy.waitLineupReadyOrdino(0) - cy.get('[data-index="0"] > .lu-renderer-selection').click(); - cy.get('[data-testid=celllinedb_expression_vs_copynumber]').click(); - cy.waitTdpNotBusy() - cy.waitLineupReadyOrdino(0) - cy.wait(2000) - // cy.get('[data-index="6"] > .lu-renderer-selection').click(); - // cy.waitTdpNotBusy() - // cy.waitLineupReadyOrdino(0) - // cy.wait(2000) - cy.get('[data-testid=targetvalidation]').click(); - cy.waitTdpNotBusy() - cy.wait(2000) - cy.get('[data-testid=ensembl_org]').click(); - cy.waitTdpNotBusy() - cy.wait(2000) - cy.get('[data-testid=copynumbertable]').click(); - cy.waitTdpNotBusy() - cy.wait(2000) - - // Sort and filter columns - cy.get('[data-testid=viewWrapper-1] > .view > .inner > .tdp-view > :nth-child(1) > .le > .le-header > .le-thead > section:nth-last-child(-n+1) > .lu-toolbar > .lu-action-sort').click(); - cy.get('[title="Tumor Type"] > .lu-toolbar > .lu-action-filter').click(); - cy.get('.lu-dialog-table > :nth-child(1) > :nth-child(2) > div').click(); - cy.get('.lu-dialog-table > :nth-child(1) > input').uncheck(); - cy.get(':nth-child(6) > :nth-child(2) > .lu-dialog-filter-table-entry-label').click(); - cy.get('.lu-dialog-table > :nth-child(6) > input').check(); - cy.get('.lu-dialog-buttons > [type="submit"]').click(); - - // Add column - cy.get('[data-testid=viewWrapper-1] [data-testid=side-panel-wrapper] [data-testid=lu-adder-div] [data-testid=add-column-button]').click(); - cy.get('[data-testid=viewWrapper-1] > .view > .inner > .tdp-view > [data-testid=side-panel-wrapper] > .panel-header > :nth-child(2) > [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click(); - cy.select2MultiSelect("gene-symbol", ["BRCA1", "BRCA2"]) - cy.select2MultiSelect("data-type", "AA Mutated") - cy.get('[data-testid=primary-dialog-button]').click(); - cy.checkScoreColLoadedOrdino(1, ['BRCA1', 'AA Mutated'], 10) - cy.checkScoreColLoadedOrdino(1, ['BRCA2', 'AA Mutated'], 10) - - cy.waitLineupReadyOrdino(1) - cy.get('[data-testid=viewWrapper-1] [data-index="0"] > .lu-renderer-selection').click(); - cy.get('[data-testid=viewWrapper-1] [data-index="12"] > .lu-renderer-selection').click(); - cy.get('[data-testid=cosmic]').click(); - // Intentionally wait 2 seconds - cy.waitTdpNotBusy() - cy.wait(2000) - cy.get('[data-testid=show] [data-testid=form-select]').select('687455'); - // Intentionally wait 2 seconds - cy.waitTdpNotBusy() - cy.wait(2000) - cy.get('[data-testid=ordino_sessions_shortcut-link]').click(); - cy.get('[data-testid=current-session-sessionscard] [data-testid=ordino0] [data-testid=save-button]').click(); - cy.get('[data-testid=agree-input]').check(); - cy.get('[data-testid=primary-dialog-button]').click(); - cy.get('[data-testid=ordino_sessions_tab] [data-testid=close-button]').click(); -}) \ No newline at end of file diff --git a/cypress/integration/session_all_celllines.spec.js b/cypress/integration/session_all_celllines.spec.js deleted file mode 100644 index 266f8330..00000000 --- a/cypress/integration/session_all_celllines.spec.js +++ /dev/null @@ -1,24 +0,0 @@ -it('Load all Celllines', function() { - cy.visit(Cypress.env('host')); - - // Login - cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); - - cy.login(); // use Cypress command registerd in Ordino app - - // Show you can select single genes if you wanted - cy.scrollElementIntoCenter('[data-testid=dataset-card-cellline-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - cy.get('[data-testid=dataset-card-cellline-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - // wait intentionally a few seconds - cy.wait(2000) - cy.get('[data-testid=dataset-card-cellline-dataset] [data-testid=human-link]').click(); - - // Open Lineup ranking - // Define api calls to wait: - cy.intercept('/api/tdp/db/publicdb/cellline/desc').as('cellline_desc'); - cy.intercept('/api/tdp/db/publicdb/cellline/filter?filter_species=human&filter_panel=CCLE').as('human_cellline'); - cy.get('[data-testid=ccle-button]').click(); - cy.wait('@cellline_desc'); - cy.wait('@human_cellline'); - cy.waitLineupReadyOrdino(0) -}); diff --git a/cypress/integration/session_all_genes.spec.js b/cypress/integration/session_all_genes.spec.js deleted file mode 100644 index 68eabe85..00000000 --- a/cypress/integration/session_all_genes.spec.js +++ /dev/null @@ -1,24 +0,0 @@ -it('Load all Genes', function() { - cy.visit(Cypress.env('host')); - - // Login - cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); - - cy.login(); // use Cypress command registerd in Ordino app - - // Show you can select single genes if you wanted - cy.scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - // wait intentionally a few seconds - cy.wait(2000) - cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-link]').click(); - - // Open Lineup ranking - // Define api calls to wait: - cy.intercept('/api/tdp/db/publicdb/gene/desc').as('gene_desc'); - cy.intercept('/api/tdp/db/publicdb/gene/filter?filter_species=human&filter_panel=normal+chromosome+protein+coding+human+genes').as('human_genes'); - cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click(); - cy.wait('@gene_desc'); - cy.wait('@human_genes'); - cy.waitLineupReadyOrdino(0) -}); diff --git a/cypress/integration/session_all_tissues.spec.js b/cypress/integration/session_all_tissues.spec.js deleted file mode 100644 index 3d430890..00000000 --- a/cypress/integration/session_all_tissues.spec.js +++ /dev/null @@ -1,24 +0,0 @@ -it('Load all Tissues', function() { - cy.visit(Cypress.env('host')); - - // Login - cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click(); - - cy.login(); // use Cypress command registerd in Ordino app - - // Show you can select single genes if you wanted - cy.scrollElementIntoCenter('[data-testid=dataset-card-tissue-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - cy.get('[data-testid=dataset-card-tissue-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click() - // wait intentionally a few seconds - cy.wait(2000) - cy.get('[data-testid=dataset-card-tissue-dataset] [data-testid=human-link]').click(); - - // Open Lineup ranking - // Define api calls to wait: - cy.intercept('/api/tdp/db/publicdb/tissue/desc').as('tissue_desc'); - cy.intercept('/api/tdp/db/publicdb/tissue/filter?filter_species=human&filter_panel=TCGA+normals').as('human_tissue'); - cy.get('[data-testid=tcga-normals-button]').click(); - cy.wait('@tissue_desc'); - cy.wait('@human_tissue'); - cy.waitLineupReadyOrdino(0) -}); diff --git a/cypress/support/commands.js b/cypress/support/commands.js new file mode 100644 index 00000000..698b01a4 --- /dev/null +++ b/cypress/support/commands.js @@ -0,0 +1,37 @@ +/// +// *********************************************** +// This example commands.ts shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) +// +// declare global { +// namespace Cypress { +// interface Chainable { +// login(email: string, password: string): Chainable +// drag(subject: string, options?: Partial): Chainable +// dismiss(subject: string, options?: Partial): Chainable +// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable +// } +// } +// } \ No newline at end of file diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js new file mode 100644 index 00000000..f80f74f8 --- /dev/null +++ b/cypress/support/e2e.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.ts is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') \ No newline at end of file diff --git a/package.json b/package.json index 063ffdea..899a7faf 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "copy-assets": "if [ -d src/assets ]; then cp -rv src/assets/. dist/assets/; fi && if [ -d src/template ]; then shx --verbose cp -R src/template/. dist/template/; fi", "copy-styles": "if [ -d src/scss ]; then shx --verbose cp -R src/scss/. dist/scss/; fi", "copy": "npm run copy-assets && npm run copy-styles", + "cy:open": "cypress open", "delete-dependencies": "rimraf node_modules", "dist": "mkdir lib && cd dist && tar cvzf ../lib/tdp_publicdb.tar.gz *", "docs": "typedoc --options typedoc.json src/**.ts", From 992a58d33939a96c3f692981a53176b8eaade4b1 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Tue, 16 Aug 2022 15:15:11 +0200 Subject: [PATCH 16/38] Test Duplicant Tour --- src/phovea.ts | 19 ++++ src/tours/WelcomeTour2.ts | 179 ++++++++++++++++++++++++++++++++++++++ src/tours/index.ts | 1 + 3 files changed, 199 insertions(+) create mode 100644 src/tours/WelcomeTour2.ts diff --git a/src/phovea.ts b/src/phovea.ts index c4855cd7..c9fc9038 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -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', diff --git a/src/tours/WelcomeTour2.ts b/src/tours/WelcomeTour2.ts new file mode 100644 index 00000000..ecae4ab4 --- /dev/null +++ b/src/tours/WelcomeTour2.ts @@ -0,0 +1,179 @@ +import { IStep, TourUtils } from 'tdp_core'; + +export class WelcomeTour2 { + static createTour(): IStep[] { + return [ + { + html: `

    W222elcome to this short tour showing the basic features of Ordino!

    +

    + Use the "Next" button to iterate through all the steps. You can use the + "Cancel" 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. +

    `, + }, + { + selector: 'ul[data-header="mainMenu"] > li:first-child > a', + html: `222222To start an analysis, click on the 'Datasets' 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: `

    222222222222You can choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

    In this example we will work with a list of genes

    `, + 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 'Cancer Gene Census'`, + 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 'Strand' …`, + 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: `… and click 'Add'`, + 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 'Cell Line Score' 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 'HCC-827' and 'BT-20'.`, + 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 'Relative Copy Number'`, + postAction: () => { + TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `Finally, click 'Add'`, + 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 'HCC-827'`, + 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('.le-tr[data-index="0"]'); + if (!r) { + return null; + } + // has a string renderered EGFR entry + if (!Array.from(r.querySelectorAll('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 'Expression vs Copy Number' opens a scatter plot showing the relation of the two types of data`, + postAction: TourUtils.clickSelector, + }, + { + html: `

    Thanks for joining this tour demonstrating the basic features of Ordino.

    +

    There are many more features to discover. Enjoy!

    `, + }, + ]; + } +} diff --git a/src/tours/index.ts b/src/tours/index.ts index 62ba5110..8a5d7f76 100644 --- a/src/tours/index.ts +++ b/src/tours/index.ts @@ -1,3 +1,4 @@ export * from './WelcomeTour'; export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; +export * from './WelcomeTour2'; From de915c9e41ea45aedd8572a932ae8cb318228296 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Mon, 22 Aug 2022 11:44:28 +0200 Subject: [PATCH 17/38] Halfway with AssessBCCellLines tour --- dist/phovea.d.ts.map | 2 +- dist/phovea.js | 13 + dist/phovea.js.map | 2 +- dist/tours/AssessBCCellLines.d.ts | 5 + dist/tours/AssessBCCellLines.d.ts.map | 1 + dist/tours/AssessBCCellLines.js | 253 ++++++++++++++++++ dist/tours/AssessBCCellLines.js.map | 1 + dist/tours/WelcomeTour2.d.ts | 5 + dist/tours/WelcomeTour2.d.ts.map | 1 + dist/tours/WelcomeTour2.js | 178 ++++++++++++ dist/tours/WelcomeTour2.js.map | 1 + dist/tours/index.d.ts | 1 + dist/tours/index.d.ts.map | 2 +- dist/tours/index.js | 1 + dist/tours/index.js.map | 2 +- src/phovea.ts | 24 +- .../{WelcomeTour2.ts => AssessBCCellLines.ts} | 137 +++++++--- src/tours/index.ts | 2 +- src/tours/tempNew.tempNew | 56 ++++ 19 files changed, 640 insertions(+), 47 deletions(-) create mode 100644 dist/tours/AssessBCCellLines.d.ts create mode 100644 dist/tours/AssessBCCellLines.d.ts.map create mode 100644 dist/tours/AssessBCCellLines.js create mode 100644 dist/tours/AssessBCCellLines.js.map create mode 100644 dist/tours/WelcomeTour2.d.ts create mode 100644 dist/tours/WelcomeTour2.d.ts.map create mode 100644 dist/tours/WelcomeTour2.js create mode 100644 dist/tours/WelcomeTour2.js.map rename src/tours/{WelcomeTour2.ts => AssessBCCellLines.ts} (52%) create mode 100644 src/tours/tempNew.tempNew diff --git a/dist/phovea.d.ts.map b/dist/phovea.d.ts.map index 84761458..1dc26488 100644 --- a/dist/phovea.d.ts.map +++ b/dist/phovea.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"phovea.d.ts","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,WAAW,QAAQ,KAAA,QAqiChC"} \ No newline at end of file +{"version":3,"file":"phovea.d.ts","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,WAAW,QAAQ,KAAA,QAwjChC"} \ No newline at end of file diff --git a/dist/phovea.js b/dist/phovea.js index 49676045..a5f71e59 100644 --- a/dist/phovea.js +++ b/dist/phovea.js @@ -733,6 +733,19 @@ export default function (registry) { level: 'beginner', canJumpAround: false, }); + registry.push('tdpTour', 'ordinoAssessBCCellLines', function () { + return import('./tours').then((t) => t.AssessBCCellLines); + }, { + factory: 'createTour', + name: 'Assessment and Selection of Breast Cancer Cell Lines', + description: 'This case study summarizes an analysis session carried out by a scientist working in a drug discovery team at a pharmaceutical company.', + preview() { + return import('./assets/previews/expression.jpg'); // TODO update preview image + }, + multiPage: true, + level: 'beginner', + canJumpAround: false, + }); /// #endif registry.push(EP_PHOVEA_CORE_LOCALE, 'tdpPublicDBLocaleEN', function () { return import('./locales/en/tdp.json').then(PluginRegistry.getInstance().asResource); diff --git a/dist/phovea.js.map b/dist/phovea.js.map index 9dc0fba1..dbba2404 100644 --- a/dist/phovea.js.map +++ b/dist/phovea.js.map @@ -1 +1 @@ -{"version":3,"file":"phovea.js","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"phovea.js","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tours/AssessBCCellLines.d.ts b/dist/tours/AssessBCCellLines.d.ts new file mode 100644 index 00000000..552fa06d --- /dev/null +++ b/dist/tours/AssessBCCellLines.d.ts @@ -0,0 +1,5 @@ +import { IStep } from 'tdp_core'; +export declare class AssessBCCellLines { + static createTour(): IStep[]; +} +//# sourceMappingURL=AssessBCCellLines.d.ts.map \ No newline at end of file diff --git a/dist/tours/AssessBCCellLines.d.ts.map b/dist/tours/AssessBCCellLines.d.ts.map new file mode 100644 index 00000000..978595fe --- /dev/null +++ b/dist/tours/AssessBCCellLines.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AssessBCCellLines.d.ts","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CA4P7B"} \ No newline at end of file diff --git a/dist/tours/AssessBCCellLines.js b/dist/tours/AssessBCCellLines.js new file mode 100644 index 00000000..dd821ca4 --- /dev/null +++ b/dist/tours/AssessBCCellLines.js @@ -0,0 +1,253 @@ +import { TourUtils } from 'tdp_core'; +export class AssessBCCellLines { + static createTour() { + return [ + { + html: `

    Welcome to this short tour showing the assessment of breast cancer cell lines!

    +

    + Use the "Next" button to iterate through all the steps. You can use the + "Cancel" 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. +

    `, + }, + { + selector: 'ul[data-header="mainMenu"] > li:first-child > a', + html: `To start an analysis, click on the 'Datasets' 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)'); + if (!datasetTab.classList.contains('active')) { + datasetTab.querySelector('a').classList.add('hover'); + } + }, + postAction: () => { + const datasetTab = document.querySelector('ul[data-header="mainMenu"] > li:nth-child(1)'); + 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: `

    You can choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

    In this example we will work with a list of genes

    `, + 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: '[data-testid="normal-chromosome-protein-coding-human-genes-button"]', + html: `The scientist starts by loading the list of all protein coding genes.`, + placement: 'centered', + postAction: () => { + return TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: normal chromosome protein coding human genes"]').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: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + html: `First, we want to add a new column`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + 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 Line`, + postAction: () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + }, + }, + { + selector: '.modal.show .col > .select2', + placement: 'centered', + html: `and the data type`, + postAction: () => { + TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `… and click 'Add'`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.le header [data-col-id="col8"]', + placement: 'centered', + html: `The new column was added here`, + preAction: TourUtils.waitForSelector, + }, + { + selector: '.le [data-col-id="col8"] .lu-action-sort', + placement: 'centered', + html: `Now, we want to sort by this column`, + postAction: () => { + TourUtils.click('.le [data-col-id="col8"] .lu-action-sort'); + }, + }, + { + selector: '.le.le-multi.lineup-engine', + placement: 'centered', + html: `Now everything was sorted!`, + }, + { + selector: '.le.le-multi.lineup-engine', + placement: 'centered', + html: `After sorting by this column, the analyst observes + that about 15 genes on chromosome 17 are affected by a large genomic amplification.`, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `In order to identify the most relevant gene of these, the analyst adds a column with the gene expression (a measure of activity) in HCC1954`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + html: `We want to add a 2nd new column`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + 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 2nd Cell Line`, + postAction: () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + }, + }, + { + selector: '.modal.show .col > .select2', + placement: 'centered', + html: `and the 2nd data type`, + postAction: () => { + TourUtils.setValueAndTrigger('.col > select', 'expression-tpm', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `… and click 'Add'`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `They also add a gene sensitivity score (a measure of importance for cell survival) for HCC1954 (RSA scores obtained from DRIVE data set [4]).`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span', + html: `We want to add a 3rd new column`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span'); + 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 3rd Cell Line`, + postAction: () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + }, + }, + { + selector: '.modal.show .col > .select2', + placement: 'centered', + html: `and the 3rd data type`, + postAction: () => { + TourUtils.setValueAndTrigger('.col > select', 'depletion-rsa', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `… and click 'Add'`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', + html: `We now want to invert the linear scaling of the depletion screen score to improve the scale's readability.`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-id="col10"] > .lu-toolbar > .lu-action-more'); + TourUtils.click('.lu-action-data-mapping > span'); + TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); + TourUtils.click('.lu-dialog-buttons > [type="submit"]'); + }, + }, + { + selector: '.le.le-multi.lineup-engine', + placement: 'centered', + html: `TOUR IS HERE SO FAR.`, + }, + { + 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 'HCC-827'`, + 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('.le-tr[data-index="0"]'); + if (!r) { + return null; + } + // has a string renderered EGFR entry + if (!Array.from(r.querySelectorAll('div[data-renderer="string"]')).some((d) => d.textContent === 'EGFR')) { + return null; + } + return r; + }, Infinity).then(() => TourUtils.wait(500)), + 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 'Expression vs Copy Number' opens a scatter plot showing the relation of the two types of data`, + postAction: TourUtils.clickSelector, + }, + { + html: `

    Thanks for joining this tour demonstrating the basic features of Ordino.

    +

    There are many more features to discover. Enjoy!

    `, + }, + ]; + } +} +//# sourceMappingURL=AssessBCCellLines.js.map \ No newline at end of file diff --git a/dist/tours/AssessBCCellLines.js.map b/dist/tours/AssessBCCellLines.js.map new file mode 100644 index 00000000..cf81111f --- /dev/null +++ b/dist/tours/AssessBCCellLines.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AssessBCCellLines.js","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tours/WelcomeTour2.d.ts b/dist/tours/WelcomeTour2.d.ts new file mode 100644 index 00000000..cca36b85 --- /dev/null +++ b/dist/tours/WelcomeTour2.d.ts @@ -0,0 +1,5 @@ +import { IStep } from 'tdp_core'; +export declare class WelcomeTour2 { + static createTour(): IStep[]; +} +//# sourceMappingURL=WelcomeTour2.d.ts.map \ No newline at end of file diff --git a/dist/tours/WelcomeTour2.d.ts.map b/dist/tours/WelcomeTour2.d.ts.map new file mode 100644 index 00000000..415404a8 --- /dev/null +++ b/dist/tours/WelcomeTour2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"WelcomeTour2.d.ts","sourceRoot":"","sources":["../../src/tours/WelcomeTour2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,YAAY;IACvB,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CA+K7B"} \ No newline at end of file diff --git a/dist/tours/WelcomeTour2.js b/dist/tours/WelcomeTour2.js new file mode 100644 index 00000000..326bc10a --- /dev/null +++ b/dist/tours/WelcomeTour2.js @@ -0,0 +1,178 @@ +import { TourUtils } from 'tdp_core'; +export class WelcomeTour2 { + static createTour() { + return [ + { + html: `

    W222elcome to this short tour showing the basic features of Ordino!

    +

    + Use the "Next" button to iterate through all the steps. You can use the + "Cancel" 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. +

    `, + }, + { + selector: 'ul[data-header="mainMenu"] > li:first-child > a', + html: `222222To start an analysis, click on the 'Datasets' 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)'); + if (!datasetTab.classList.contains('active')) { + datasetTab.querySelector('a').classList.add('hover'); + } + }, + postAction: () => { + const datasetTab = document.querySelector('ul[data-header="mainMenu"] > li:nth-child(1)'); + 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: `

    222222222222You can choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

    In this example we will work with a list of genes

    `, + 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 'Cancer Gene Census'`, + 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 'Strand' …`, + 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: `… and click 'Add'`, + 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 'Cell Line Score' 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 'HCC-827' and 'BT-20'.`, + 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 'Relative Copy Number'`, + postAction: () => { + TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `Finally, click 'Add'`, + 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 'HCC-827'`, + 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('.le-tr[data-index="0"]'); + if (!r) { + return null; + } + // has a string renderered EGFR entry + if (!Array.from(r.querySelectorAll('div[data-renderer="string"]')).some((d) => d.textContent === 'EGFR')) { + return null; + } + return r; + }, Infinity).then(() => TourUtils.wait(500)), + 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 'Expression vs Copy Number' opens a scatter plot showing the relation of the two types of data`, + postAction: TourUtils.clickSelector, + }, + { + html: `

    Thanks for joining this tour demonstrating the basic features of Ordino.

    +

    There are many more features to discover. Enjoy!

    `, + }, + ]; + } +} +//# sourceMappingURL=WelcomeTour2.js.map \ No newline at end of file diff --git a/dist/tours/WelcomeTour2.js.map b/dist/tours/WelcomeTour2.js.map new file mode 100644 index 00000000..e438b1fb --- /dev/null +++ b/dist/tours/WelcomeTour2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"WelcomeTour2.js","sourceRoot":"","sources":["../../src/tours/WelcomeTour2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tours/index.d.ts b/dist/tours/index.d.ts index 7ef18030..87e8a782 100644 --- a/dist/tours/index.d.ts +++ b/dist/tours/index.d.ts @@ -1,4 +1,5 @@ export * from './WelcomeTour'; export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; +export * from './AssessBCCellLines'; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/tours/index.d.ts.map b/dist/tours/index.d.ts.map index 4d518b17..e8a4e0d6 100644 --- a/dist/tours/index.d.ts.map +++ b/dist/tours/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"} \ No newline at end of file diff --git a/dist/tours/index.js b/dist/tours/index.js index 1d5ea8d4..1edb4faf 100644 --- a/dist/tours/index.js +++ b/dist/tours/index.js @@ -1,4 +1,5 @@ export * from './WelcomeTour'; export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; +export * from './AssessBCCellLines'; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/tours/index.js.map b/dist/tours/index.js.map index b1d7eaa5..44a91c56 100644 --- a/dist/tours/index.js.map +++ b/dist/tours/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"} \ No newline at end of file diff --git a/src/phovea.ts b/src/phovea.ts index c9fc9038..75af4bb1 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -1023,14 +1023,14 @@ export default function (registry) { registry.push( 'tdpTour', - 'ordinoWelcomeTour2', + 'ordinoStartMenuTour', function () { - return import('./tours').then((t) => t.WelcomeTour2); + return import('./tours').then((t) => t.StartMenuTour); }, { factory: 'createTour', - name: 'Ordino Welcome Tour 2', - description: 'Learn the basic features of Ordino in a short welcome tour again!!!!.', + name: 'Overview of Start Menu', + description: 'This tour provides an overview of the Ordino start menu.', preview() { return import('./assets/previews/expression.jpg'); // TODO update preview image }, @@ -1042,14 +1042,14 @@ export default function (registry) { registry.push( 'tdpTour', - 'ordinoStartMenuTour', + 'ordinoAddColumnToGeneListTour', function () { - return import('./tours').then((t) => t.StartMenuTour); + return import('./tours').then((t) => t.AddColumnToGeneListTour); }, { factory: 'createTour', - name: 'Overview of Start Menu', - description: 'This tour provides an overview of the Ordino start menu.', + name: 'Adding Data Columns', + description: 'Learn how to add data columns to rankings in Ordino.', preview() { return import('./assets/previews/expression.jpg'); // TODO update preview image }, @@ -1061,14 +1061,14 @@ export default function (registry) { registry.push( 'tdpTour', - 'ordinoAddColumnToGeneListTour', + 'ordinoAssessBCCellLines', function () { - return import('./tours').then((t) => t.AddColumnToGeneListTour); + return import('./tours').then((t) => t.AssessBCCellLines); }, { factory: 'createTour', - name: 'Adding Data Columns', - description: 'Learn how to add data columns to rankings in Ordino.', + name: 'Assessment and Selection of Breast Cancer Cell Lines', + description: 'This case study summarizes an analysis session carried out by a scientist working in a drug discovery team at a pharmaceutical company.', preview() { return import('./assets/previews/expression.jpg'); // TODO update preview image }, diff --git a/src/tours/WelcomeTour2.ts b/src/tours/AssessBCCellLines.ts similarity index 52% rename from src/tours/WelcomeTour2.ts rename to src/tours/AssessBCCellLines.ts index ecae4ab4..28efa1aa 100644 --- a/src/tours/WelcomeTour2.ts +++ b/src/tours/AssessBCCellLines.ts @@ -1,10 +1,10 @@ import { IStep, TourUtils } from 'tdp_core'; -export class WelcomeTour2 { +export class AssessBCCellLines { static createTour(): IStep[] { return [ { - html: `

    W222elcome to this short tour showing the basic features of Ordino!

    + html: `

    Welcome to this short tour showing the assessment of breast cancer cell lines!

    Use the "Next" button to iterate through all the steps. You can use the "Cancel" button at any time to stop the tour and to interact with Ordino. @@ -14,7 +14,7 @@ export class WelcomeTour2 { }, { selector: 'ul[data-header="mainMenu"] > li:first-child > a', - html: `222222To start an analysis, click on the 'Datasets' tab. Subsequently, you can define the list of entities you want to work with`, + html: `To start an analysis, click on the 'Datasets' 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; @@ -34,17 +34,19 @@ export class WelcomeTour2 { }, { selector: '.ordino-dataset.genes-dataset > .card', - html: `

    222222222222You can choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

    In this example we will work with a list of genes

    `, + html: `

    You can choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

    In this example we will work with a list of genes

    `, 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 'Cancer Gene Census'`, + selector: '[data-testid="normal-chromosome-protein-coding-human-genes-button"]', + html: `The scientist starts by loading the list of all protein coding genes.`, placement: 'centered', postAction: () => { - return TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: Cancer Gene Census"]').then(TourUtils.click); + return TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: normal chromosome protein coding human genes"]').then( + TourUtils.click, + ); }, pageBreak: 'manual', }, @@ -61,20 +63,30 @@ export class WelcomeTour2 { postAction: TourUtils.clickSelector, }, { - selector: '.lu-search .lu-search-item', - html: `First, we want to add a metadata column`, + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + html: `First, we want to add a new column`, placement: 'centered', postAction: () => { - TourUtils.click('.lu-search .lu-search-item'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); }, }, { - selector: '.modal.show .col > .select2', - html: `Here we select 'Strand' …`, + selector: '.modal.show .col > .select3', placement: 'centered', preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(250)), - postAction: () => TourUtils.setValueAndTrigger('.col > select', 'strand', 'change'), + html: `We select the Cell Line`, + postAction: () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + }, + }, + { + selector: '.modal.show .col > .select2', + placement: 'centered', + html: `and the data type`, + postAction: () => { + TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); + }, }, { selector: '.modal.show .modal-footer button[type=submit]', @@ -83,20 +95,42 @@ export class WelcomeTour2 { postAction: TourUtils.clickSelector, }, { - selector: '.le header section[title=Strand]', + selector: '.le header [data-col-id="col8"]', placement: 'centered', - html: `The strand information was added as a new column`, + html: `The new column was added here`, preAction: TourUtils.waitForSelector, }, { - selector: '.lu-search .lu-search-group .lu-search-item', + selector: '.le [data-col-id="col8"] .lu-action-sort', 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 'Cell Line Score' dialog`, - preAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + html: `Now, we want to sort by this column`, + postAction: () => { + TourUtils.click('.le [data-col-id="col8"] .lu-action-sort'); }, + }, + { + selector: '.le.le-multi.lineup-engine', + placement: 'centered', + html: `Now everything was sorted!`, + }, + { + selector: '.le.le-multi.lineup-engine', + placement: 'centered', + html: `After sorting by this column, the analyst observes + that about 15 genes on chromosome 17 are affected by a large genomic amplification.`, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `In order to identify the most relevant gene of these, the analyst adds a column with the gene expression (a measure of activity) in HCC1954`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + html: `We want to add a 2nd new column`, + placement: 'centered', postAction: () => { - TourUtils.click('.lu-search .lu-search-group .lu-search-item'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); }, }, @@ -104,35 +138,78 @@ export class WelcomeTour2 { selector: '.modal.show .col > .select3', placement: 'centered', preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(250)), - html: `We select the cell lines 'HCC-827' and 'BT-20'.`, + html: `We select the 2nd Cell Line`, postAction: () => { - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC-827;BT-20;', 'input'); + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); }, }, { selector: '.modal.show .col > .select2', placement: 'centered', - html: `As data type, we choose 'Relative Copy Number'`, + html: `and the 2nd data type`, postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.col > select', 'expression-tpm', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `… and click 'Add'`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `They also add a gene sensitivity score (a measure of importance for cell survival) for HCC1954 (RSA scores obtained from DRIVE data set [4]).`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span', + html: `We want to add a 3rd new column`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span'); + 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 3rd Cell Line`, + postAction: () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + }, + }, + { + selector: '.modal.show .col > .select2', + placement: 'centered', + html: `and the 3rd data type`, + postAction: () => { + TourUtils.setValueAndTrigger('.col > select', 'depletion-rsa', 'change'); }, }, { selector: '.modal.show .modal-footer button[type=submit]', - html: `Finally, click 'Add'`, + html: `… and click 'Add'`, placement: 'centered', postAction: TourUtils.clickSelector, }, { - selector: ['.le header section[title^=BT], .le header section[title^=HCC]'], + selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', + html: `We now want to invert the linear scaling of the depletion screen score to improve the scale's readability.`, 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`, + postAction: () => { + TourUtils.click('[data-id="col10"] > .lu-toolbar > .lu-action-more'); + TourUtils.click('.lu-action-data-mapping > span'); + TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); + TourUtils.click('.lu-dialog-buttons > [type="submit"]'); + }, }, { - selector: '.le > header', + selector: '.le.le-multi.lineup-engine', placement: 'centered', - html: `The column headers can be used to sort and filter the list of genes based on any of the available data`, + html: `TOUR IS HERE SO FAR.`, }, { selector: '.le header section[title^=HCC] i[title^=Sort]', diff --git a/src/tours/index.ts b/src/tours/index.ts index 8a5d7f76..7d9d1f5d 100644 --- a/src/tours/index.ts +++ b/src/tours/index.ts @@ -1,4 +1,4 @@ export * from './WelcomeTour'; export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; -export * from './WelcomeTour2'; +export * from './AssessBCCellLines'; diff --git a/src/tours/tempNew.tempNew b/src/tours/tempNew.tempNew new file mode 100644 index 00000000..7837a792 --- /dev/null +++ b/src/tours/tempNew.tempNew @@ -0,0 +1,56 @@ +{ + html: `

    Welcome to this short tour showing the assessment of breast cancer cell lines!

    +

    + Use the "Next" button to iterate through all the steps. You can use the + "Cancel" 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. +

    `, + }, + { + selector: 'ul[data-header="mainMenu"] > li:first-child > a', + html: `Go to Datasets Tab`, + 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)')); + }, + }, + { + selector: '.ordino-dataset.genes-dataset > .card', + html: `Click on Genes > Human > Normal-chromosome-...`, + 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'); + TourUtils.click('[data-testid=normal-chromosome-protein-coding-human-genes-button]'); + }, + pageBreak: 'manual', + }, + { + selector: '[data-testid=add-column-button]', + html: `Add a column`, + placement: 'centered', + preAction: () => { + TourUtils.waitFor('[data-testid=add-column-button]', Infinity); + }, + postAction: () => { + TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: Cancer Gene Census"]').then(TourUtils.click); + }, + }, + { + html: `

    Thanks for joining this tour demonstrating the basic features of Ordino.

    +

    There are many more features to discover. Enjoy!

    `, + }, \ No newline at end of file From 1443bdae3a76657d8c56a04f16b12727f6ad4038 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Mon, 22 Aug 2022 13:16:13 +0200 Subject: [PATCH 18/38] Almost done AssessBCCellLines tour --- dist/tours/AssessBCCellLines.d.ts.map | 2 +- dist/tours/AssessBCCellLines.js | 11 +++++++++ dist/tours/AssessBCCellLines.js.map | 2 +- src/tours/AssessBCCellLines.ts | 34 +++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 2 deletions(-) diff --git a/dist/tours/AssessBCCellLines.d.ts.map b/dist/tours/AssessBCCellLines.d.ts.map index 978595fe..304b78e3 100644 --- a/dist/tours/AssessBCCellLines.d.ts.map +++ b/dist/tours/AssessBCCellLines.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"AssessBCCellLines.d.ts","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CA4P7B"} \ No newline at end of file +{"version":3,"file":"AssessBCCellLines.d.ts","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CAuQ7B"} \ No newline at end of file diff --git a/dist/tours/AssessBCCellLines.js b/dist/tours/AssessBCCellLines.js index dd821ca4..7c8d6400 100644 --- a/dist/tours/AssessBCCellLines.js +++ b/dist/tours/AssessBCCellLines.js @@ -203,6 +203,17 @@ export class AssessBCCellLines { TourUtils.click('.lu-dialog-buttons > [type="submit"]'); }, }, + { + selector: '[data-index="0"]', + placement: 'centered', + html: `Observe: Of the highly amplified genes, ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, + }, + { + selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', + html: `

    Combine both score columns to obtain stacked bars.

    +

    Observe: Combining the columns highlights the importance of ERBB2.

    `, + placement: 'centered', + }, { selector: '.le.le-multi.lineup-engine', placement: 'centered', diff --git a/dist/tours/AssessBCCellLines.js.map b/dist/tours/AssessBCCellLines.js.map index cf81111f..90c97a8a 100644 --- a/dist/tours/AssessBCCellLines.js.map +++ b/dist/tours/AssessBCCellLines.js.map @@ -1 +1 @@ -{"version":3,"file":"AssessBCCellLines.js","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AssessBCCellLines.js","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/tours/AssessBCCellLines.ts b/src/tours/AssessBCCellLines.ts index 28efa1aa..ac7608f1 100644 --- a/src/tours/AssessBCCellLines.ts +++ b/src/tours/AssessBCCellLines.ts @@ -206,6 +206,40 @@ export class AssessBCCellLines { TourUtils.click('.lu-dialog-buttons > [type="submit"]'); }, }, + { + selector: '[data-index="0"]', + placement: 'centered', + html: `Observe: Of the highly amplified genes, ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, + }, + { + selector: '.le header [data-col-id="col10"]', + html: `

    Combine both score columns to obtain stacked bars.

    +

    Observe: Combining the columns highlights the importance of ERBB2.

    +

    It is therefore probably the most relevant gene within this amplified genomic region.

    `, + placement: 'centered', + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `

    This finding leads the scientist to the question whether ERBB2 is also highly expressed and frequently amplified in other breast cancer cell lines.

    +

    To investigate this, the analyst adds the following columns: +

      +
    • A column with the average gene expression
    • +
    • A column with the gene copy number distribution
    • +
    • a column with the gene amplification frequency across all breast cancer cell lines
    • +
    +

    `, + placement: 'centered', + postAction: () => { + // Add the average gene expression column + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + + + TourUtils.click('.lu-action-data-mapping > span'); + TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); + TourUtils.click('.lu-dialog-buttons > [type="submit"]'); + }, + }, { selector: '.le.le-multi.lineup-engine', placement: 'centered', From f23554c793fd18333cac63237c7c007a26b4b7ea Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Mon, 22 Aug 2022 15:20:44 +0200 Subject: [PATCH 19/38] Update Dist --- dist/menu/DatasetCard.d.ts | 1 + dist/menu/DatasetCard.d.ts.map | 2 +- dist/menu/DatasetCard.js | 2 +- dist/menu/DatasetCard.js.map | 2 +- dist/menu/DatasetSearchBox.d.ts.map | 2 +- dist/menu/DatasetSearchBox.js | 4 +- dist/menu/DatasetSearchBox.js.map | 2 +- dist/phovea.d.ts.map | 2 +- dist/phovea.js | 162 +++++++++++++++- dist/phovea.js.map | 2 +- dist/tours/AssessBCCellLines.d.ts.map | 2 +- dist/tours/AssessBCCellLines.js | 25 ++- dist/tours/AssessBCCellLines.js.map | 2 +- dist/tours/WelcomeTour2.d.ts | 5 - dist/tours/WelcomeTour2.d.ts.map | 1 - dist/tours/WelcomeTour2.js | 178 ------------------ dist/tours/WelcomeTour2.js.map | 1 - dist/views/ACombinedDependentTable.d.ts.map | 2 +- dist/views/ACombinedDependentTable.js | 2 +- dist/views/ACombinedDependentTable.js.map | 2 +- .../CombinedDependentSampleTable.d.ts.map | 2 +- dist/views/CombinedDependentSampleTable.js | 2 +- .../views/CombinedDependentSampleTable.js.map | 2 +- dist/views/SimilarityView.d.ts.map | 2 +- dist/views/SimilarityView.js | 4 +- dist/views/SimilarityView.js.map | 2 +- 26 files changed, 203 insertions(+), 212 deletions(-) delete mode 100644 dist/tours/WelcomeTour2.d.ts delete mode 100644 dist/tours/WelcomeTour2.d.ts.map delete mode 100644 dist/tours/WelcomeTour2.js delete mode 100644 dist/tours/WelcomeTour2.js.map diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index 836b542b..2587b238 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,3 +1,4 @@ +/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; //# sourceMappingURL=DatasetCard.d.ts.map \ No newline at end of file diff --git a/dist/menu/DatasetCard.d.ts.map b/dist/menu/DatasetCard.d.ts.map index d3463b7e..b305a2a3 100644 --- a/dist/menu/DatasetCard.d.ts.map +++ b/dist/menu/DatasetCard.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eA+MjJ"} \ No newline at end of file +{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":";AAkBA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAI1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eA+MjJ"} \ No newline at end of file diff --git a/dist/menu/DatasetCard.js b/dist/menu/DatasetCard.js index c1666290..43a28e9e 100644 --- a/dist/menu/DatasetCard.js +++ b/dist/menu/DatasetCard.js @@ -1,8 +1,8 @@ import React from 'react'; import { ENamedSetType, RestBaseUtils, RestStorageUtils, StoreUtils, UserSession, UniqueIdManager, I18nextManager, IDTypeManager, useAsync, GlobalEventHandler, AView, } from 'tdp_core'; import { NamedSetList, OrdinoContext } from 'ordino'; -import { Species } from 'tdp_gene'; import { DatasetSearchBox } from './DatasetSearchBox'; +import { Species } from '../common'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }) { const testId = `dataset-card-${cssClass}`; const { app } = React.useContext(OrdinoContext); diff --git a/dist/menu/DatasetCard.js.map b/dist/menu/DatasetCard.js.map index fdc2bfe7..b2b2b158 100644 --- a/dist/menu/DatasetCard.js.map +++ b/dist/menu/DatasetCard.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DatasetCard.js","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/menu/DatasetSearchBox.d.ts.map b/dist/menu/DatasetSearchBox.d.ts.map index d19b6b47..ea1ff397 100644 --- a/dist/menu/DatasetSearchBox.d.ts.map +++ b/dist/menu/DatasetSearchBox.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"DatasetSearchBox.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAiB,UAAU,EAAgB,MAAM,UAAU,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAa,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQzD,UAAU,uBAAuB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,gBAAgB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAChD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC7F;;OAEG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA2BD,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAW,EAAE,eAA6B,EAAE,EAAE,sBAAsB,eAgKzJ"} \ No newline at end of file +{"version":3,"file":"DatasetSearchBox.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAiB,UAAU,EAAgB,MAAM,UAAU,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAa,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQzD,UAAU,uBAAuB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,gBAAgB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAChD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC7F;;OAEG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAgCD,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAW,EAAE,eAA6B,EAAE,EAAE,sBAAsB,eAgKzJ"} \ No newline at end of file diff --git a/dist/menu/DatasetSearchBox.js b/dist/menu/DatasetSearchBox.js index 34913c36..fe71d903 100644 --- a/dist/menu/DatasetSearchBox.js +++ b/dist/menu/DatasetSearchBox.js @@ -6,13 +6,13 @@ import Highlighter from 'react-highlight-words'; import { GeneUtils } from '../common'; // functions to add data-testid attribute to react-select components // eslint-disable-next-line -const addDataTestId = (Component, dataTestId) => ( +const addDataTestId = (Component, dataTestId) => // eslint-disable-next-line (props) => ( // eslint-disable-next-line React.createElement(Component, { ...props, // eslint-disable-next-line - innerProps: Object.assign({}, props.innerProps, { 'data-testid': `${dataTestId}${props.data ? '-' + props.data.id : ''}` }) }))); + innerProps: Object.assign({}, props.innerProps, { 'data-testid': `${dataTestId}${props.data ? '-' + props.data.id : ''}` }) })); function Input(props) { const { onPaste } = props.selectProps; const modifiedProps = { 'data-testid': 'async-paginate-input', ...props }; diff --git a/dist/menu/DatasetSearchBox.js.map b/dist/menu/DatasetSearchBox.js.map index e903e9d9..238ddd6f 100644 --- a/dist/menu/DatasetSearchBox.js.map +++ b/dist/menu/DatasetSearchBox.js.map @@ -1 +1 @@ -{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DatasetSearchBox.js","sourceRoot":"","sources":["../../src/menu/DatasetSearchBox.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/phovea.d.ts.map b/dist/phovea.d.ts.map index 1dc26488..d05dfe17 100644 --- a/dist/phovea.d.ts.map +++ b/dist/phovea.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"phovea.d.ts","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,WAAW,QAAQ,KAAA,QAwjChC"} \ No newline at end of file +{"version":3,"file":"phovea.d.ts","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,WAAW,QAAQ,KAAA,QAqvChC"} \ No newline at end of file diff --git a/dist/phovea.js b/dist/phovea.js index a5f71e59..c985b3ee 100644 --- a/dist/phovea.js +++ b/dist/phovea.js @@ -239,7 +239,7 @@ export default function (registry) { /// #endif /// #if include('dTiles') registry.push('dTilesSearchProvider', 'gene', function () { - return import('./providers/SearchProvider').then((s) => s.GeneSearchProvider); + return import('./providers/GeneSearchProvider').then((s) => s.GeneSearchProvider); }, { factory: 'createGene', idType: 'Ensembl', @@ -384,7 +384,7 @@ export default function (registry) { }); /// #if include('dTiles') registry.push('dTilesSearchProvider', idType.toLowerCase(), function () { - return import('./providers/SearchProvider').then((s) => s.GeneSearchProvider); + return import('./providers/GeneSearchProvider').then((s) => s.GeneSearchProvider); }, { factory: `create${idType}`, idType, @@ -520,7 +520,7 @@ export default function (registry) { ], }); registry.push('tdpView', 'gene_details', function () { - return import('tdp_gene/dist/views/GeneProxyView'); + return import('./views/GeneProxyView'); }, { name: 'Genehopper', factory: 'new GeneProxyView', @@ -552,7 +552,7 @@ export default function (registry) { }, }); registry.push('tdpView', 'gene_similarity_external', function () { - return import('tdp_gene/dist/views/GeneProxyView'); + return import('./views/GeneProxyView'); }, { name: 'Gene Similarity', factory: 'new GeneProxyView', @@ -752,6 +752,160 @@ export default function (registry) { }, { ns: 'tdp', }); + function tdpView(id, loader, desc, ...descs) { + registry.push('tdpView', id, loader, Object.assign(desc, ...descs)); + } + // proxy pages + tdpView('ensembl_org', () => import('./views/GeneProxyView'), { + factory: 'new GeneProxyView', + name: 'Ensembl', + site: 'https://ensembl.org/{species}/Gene/Summary?g={gene}', + argument: 'gene', + idtype: 'Ensembl', + selection: 'chooser', + preview: () => import('./assets/previews/ensembl.jpg'), + group: { + name: 'External Resources', + // 'order: 0 + }, + description: 'Show information on your search from Ensembl.org', + topics: ['external'], + }); + // doesn't work properly + // tdpView('cansar', () => import('./views/UniProtProxyView'), { + // name: 'canSAR', + // site: 'https://cansar.icr.ac.uk/cansar/molecular-targets/{gene}/', + // argument: 'gene', + // idtype: 'Ensembl', + // selection: 'chooser', + // preview: () => import('./assets/previews/cansar.jpg'), + // group: { + // name: 'External Resources' + // // 'order: 60 + // }, + // filter: { + // species: 'human' + // }, + // description: 'Show information on your search from the canSAR page', + // topics: ['external'] + // }); + tdpView('uniprot', () => import('./views/UniProtProxyView'), { + factory: 'new UniProtProxyView', + name: 'UniProt', + site: 'https://www.uniprot.org/uniprot/{gene}/', + argument: 'gene', + idtype: 'Ensembl', + selection: 'chooser', + openExternally: true, + preview: () => import('./assets/previews/uniprot.jpg'), + group: { + name: 'External Resources', + // 'order: 70 + }, + description: 'Show information on your search from UniProt', + topics: ['uniprot', 'external'], + }); + tdpView('targetvalidation', () => import('./views/GeneProxyView'), { + factory: 'new GeneProxyView', + name: 'Open Targets', + site: 'https://www.targetvalidation.org/target/{gene}', + argument: 'gene', + idtype: 'Ensembl', + selection: 'chooser', + preview: () => import('./assets/previews/open_targets.jpg'), + group: { + name: 'External Resources', + // 'order: 40 + }, + filter: { + species: 'human', + }, + description: 'Show information on your search from Open Targets', + topics: ['external'], + }); + tdpView('proteinatlas_org', () => import('./views/GeneProxyView'), { + factory: 'new GeneProxyView', + name: 'Human Protein Atlas', + site: 'https://proteinatlas.org/{gene}', + argument: 'gene', + idtype: 'Ensembl', + selection: 'chooser', + openExternally: true, + preview: () => import('./assets/previews/human_protein_atlas.jpg'), + group: { + name: 'External Resources', + // 'order: 50 + }, + filter: { + species: 'human', + }, + description: 'Show information on your search from the Human Protein Atlas', + topics: ['protein', 'external'], + }); + const common = { + argument: 'gene', + idtype: 'GeneSymbol', + readableIDType: 'GeneSymbol', + selection: 'chooser', + group: { + name: 'External Resources', + // 'order: 60 + }, + filter: { + species: 'human', + }, + topics: ['external'], + }; + // tdpView('humanproteomemap', () => import('tdp_core/dist/views/ChooserProxyView'), { + // name: 'Human Proteome Map', + // site: 'http://www.humanproteomemap.org/protein.php?hpm_id={gene}', + // helpUrl: 'http://www.humanproteomemap.org/faqs.html', + // preview: () => import('./assets/previews/humanproteomemap.png'), + // description: 'Proteomics data from the human proteome map' + // }, common, { + // idtype: 'EntrezGene', + // readableIDType: 'GeneSymbol', + // topics: ['protein', 'external'] + // }); + tdpView('genenames', () => import('tdp_core/dist/views/ChooserProxyView'), { + factory: 'new ChooserProxyView', + name: 'Genenames', + site: 'https://www.genenames.org/cgi-bin/gene_symbol_report?match={gene}', + preview: () => import('./assets/previews/genenames.jpg'), + description: 'Reference for human gene symbols', + helpUrl: 'https://www.genenames.org/about/overview', + }, common); + tdpView('ClinVar', () => import('tdp_core/dist/views/ChooserProxyView'), { + factory: 'new ChooserProxyView', + name: 'ClinVar', + site: 'https://www.ncbi.nlm.nih.gov/clinvar/?term={gene}', + helpUrl: 'https://www.ncbi.nlm.nih.gov/clinvar/intro/', + preview: () => import('./assets/previews/clinvar.png'), + description: 'relationships among human variations and phenotypes, with supporting evidence', + }, common); + tdpView('cosmic_gene', () => import('tdp_core/dist/views/ChooserProxyView'), { + factory: 'new ChooserProxyView', + name: 'COSMIC', + site: 'https://cancer.sanger.ac.uk/cosmic/gene/analysis?genome=38&ln={gene}', + preview: () => import('./assets/previews/cosmic_banner.png'), + description: 'Catalogue Of Somatic Mutations In Cancer', + helpUrl: 'https://cancer.sanger.ac.uk/cosmic/about', + }, common, { + topics: ['cancer', 'external'], + }); + registry.push('importPostProcessor', 'GeneSymbol', () => import('./common/common').then((c) => c.SpeciesUtils), { + factory: 'convertGeneSymbolToEnsembl', + }); + registry.push('tdpListFilters', 'SpeciesFilter', () => import('./common/common').then((c) => c.SpeciesUtils), { + factory: 'filterSpecies', + }); + registry.push('idTypeDetector', 'gene_idtype_detector', () => { + return import('./providers/GeneIDTypeDetector').then((v) => v.GeneIDTypeDetector); + }, { + name: 'IDTypeDetector', + factory: 'geneIDTypeDetector', + idType: 'Ensembl', + }); // generator-phovea:end } //# sourceMappingURL=phovea.js.map \ No newline at end of file diff --git a/dist/phovea.js.map b/dist/phovea.js.map index dbba2404..f18fdd53 100644 --- a/dist/phovea.js.map +++ b/dist/phovea.js.map @@ -1 +1 @@ -{"version":3,"file":"phovea.js","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAAA;;;;gFAIgF;AAEhF,OAAO,EAAE,mCAAmC,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAiB,cAAc,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzD,sEAAsE;AACtE,MAAM,CAAC,OAAO,WAAW,QAAQ;IAC/B,8GAA8G;IAC9G,yBAAyB;IAEzB,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAwC;QACxJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,aAAa;QAC9B,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAwC;QACrJ,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,MAAM;QAClB,eAAe,EAAE,aAAa;QAC9B,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAwC;QACrJ,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,kBAAkB;QAC/B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,WAAW;QAC5B,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACF,CAAC,CAAC;IACH,UAAU;IAEV,aAAa;IACb,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,kBAAkB,EAClB;QACE,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACpC,CAAC,EACD;QACE,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;KAClB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,iBAAiB,EACjB;QACE,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACpF,CAAC,EACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,sCAAsC;QAC/C,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,wCAAwC;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC;KACrD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,iBAAiB,EACjB;QACE,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACpF,CAAC,EACD;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,sCAAsC;QAC/C,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,CAAC;SACT;QACD,WAAW,EAAE,yCAAyC;QACtD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC;KACtD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,eAAe,EACf;QACE,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACpF,CAAC,EACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,oCAAoC;QAC7C,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,sCAAsC;QACnD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;KACnD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACrC,CAAC,EACD;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,CAAC;SACT;QACD,WAAW,EAAE,gEAAgE;QAC7E,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;KAChC,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,mBAAmB,EACnB;QACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC,EACD;QACE,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,WAAW,EAAE,gEAAgE;KAC9E,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,uBAAuB,EACvB;QACE,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACrC,CAAC,EACD;QACE,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;KAChF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,qCAAqC,EACrC;QACE,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAClD,CAAC,EACD;QACE,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,gDAAgD,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,6FAA6F;QAC1G,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC;KACpE,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC,EACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,CAAC;SACT;QACD,WAAW,EAAE,4FAA4F;QACzG,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC;KACrD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,sBAAsB,EACtB;QACE,OAAO,MAAM,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACpG,CAAC,EACD;QACE,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;KAChF,CACF,CAAC;IAEF,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,YAAY,EACZ;QACE,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACpF,CAAC,EACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE;YACP,UAAU,EAAE,YAAY;SACzB;KACF,CACF,CAAC;IAEF,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,CACX,mCAAmC,EACnC,gBAAgB,EAChB;QACE,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC,EACD;QACE,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,SAAS;KAClB,CACF,CAAC;IAEF,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CACX,6BAA6B,EAC7B,UAAU,EACV;QACE,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC,EACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,SAAS;KAClB,CACF,CAAC;IACF,UAAU;IAEV,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CACX,sBAAsB,EACtB,MAAM,EACN;QACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAChF,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,OAAO;KACd,CACF,CAAC;IACF,UAAU;IAEV,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,qBAAqB,EACrB;QACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC,EACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,UAAU;KACvB,CACF,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,wBAAwB,EACxB;QACE,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC,EACD;QACE,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,QAAQ;KACrB,CACF,CAAC;IAEF,iBAAiB;IACjB,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,QAAQ,EACR;QACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC,EACD;QACE,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gFAAgF;QACtF,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,SAAS;QACpB,OAAO;YACL,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,YAAY;SACb;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,6CAA6C;QAC1D,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;KACjC,CACF,CAAC;IAEF,4BAA4B;IAC5B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QAE7D,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,2BAA2B,EACnC;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChF,CAAC,EACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,oCAAoC;YAC7C,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,WAAW,EAAE,4CAA4C;YACzD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC;SACtC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,2BAA2B,EACnC;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChF,CAAC,EACD;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,oCAAoC;YAC7C,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;YACrD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,CAAC;aACT;YACD,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC;SACvC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,yBAAyB,EACjC;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChF,CAAC,EACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kCAAkC;YAC3C,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC;YAClD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,WAAW,EAAE,sCAAsC;YACnD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;SACpC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,kBAAkB,EAC1B;YACE,OAAO,MAAM,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;QAChG,CAAC,EACD;YACE,OAAO,EAAE,kCAAkC;YAC3C,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO;aACjB;YACD,WAAW,EAAE,kEAAkE;YAC/E,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;SACjE,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,sBAAsB,EAC9B;YACE,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACrC,CAAC,EACD;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,OAAO,MAAM,WAAW;YACjC,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,UAAU;YACrB,OAAO;gBACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC;aACT;YACD,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC;SAC/B,CACF,CAAC;QAEF,yBAAyB;QACzB,QAAQ,CAAC,IAAI,CACX,sBAAsB,EACtB,MAAM,CAAC,WAAW,EAAE,EACpB;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChF,CAAC,EACD;YACE,OAAO,EAAE,SAAS,MAAM,EAAE;YAC1B,MAAM;YACN,IAAI,EAAE,KAAK;SACZ,CACF,CAAC;QACF,UAAU;QAEV,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,GAAG,KAAK,gBAAgB,EACxB;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC5E,CAAC,EACD;YACE,IAAI,EAAE,GAAG,KAAK,kBAAkB;YAChC,OAAO,EAAE,sBAAsB;YAC/B,MAAM;YACN,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM;aACnB;SACF,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS;IAET,wBAAwB;IACxB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,cAAc;QACrD,MAAM,MAAM,GAAG,QAAQ,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QAE1E,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,IAAI,EAAE,GAAG,KAAK,iBAAiB;YAC/B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACnE,CAAC,EACD;YACE,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACrF,CAAC,EACD;YACE,IAAI,EAAE,GAAG,KAAK,qBAAqB;YACnC,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC3E,CAAC,EACD;YACE,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QAC7C,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;QAE9C,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACnE,CAAC,EACD;YACE,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACrF,CAAC,EACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC3E,CAAC,EACD;YACE,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACjF,CAAC,EACD;YACE,OAAO,EAAE,2BAA2B;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB;SAC7B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACjF,CAAC,EACD;YACE,OAAO,EAAE,0BAA0B;YACnC,WAAW,EAAE,MAAM;SACpB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CACX,eAAe,EACf,sBAAsB,EACtB;QACE,iBAAiB;IACnB,CAAC,EACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC;aACT;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,EAAE;aACV;SACF;KACF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,cAAc,EACd;QACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACrD,CAAC,EACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,oDAAoD;QAC1D,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;KACF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,iBAAiB,EACjB;QACE,OAAO,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC1C,CAAC,EACD;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;KACF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACrD,CAAC,EACD;QACE,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,kEAAkE;QACxE,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;KACF,CACF,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,QAAQ,EACR;QACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC/C,CAAC,EACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,iDAAiD;QACvD,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,SAAS;QACpB,OAAO;YACL,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,YAAY;SACb;QACD,WAAW,EAAE,6CAA6C;KAC3D,CACF,CAAC;IAEF,+BAA+B;IAC/B,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QACnC,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;QAE9C,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,IAAI,EAAE,iCAAiC;YACvC,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,kCAAkC;SAC5C,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC5E,CAAC,EACD;YACE,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACrF,CAAC,EACD;YACE,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,sCAAsC;SAChD,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACpF,CAAC,EACD;YACE,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,gCAAgC;SAC1C,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,0BAA0B,EACnC;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,6BAA6B;SACvC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,0BAA0B,EACnC;YACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC,EACD;YACE,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,MAAM;SACrB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,wBAAwB;IACxB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,cAAc;QAC3C,MAAM,MAAM,GAAG,QAAQ,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;QAEtD,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,IAAI,EAAE,iCAAiC;YACvC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,kCAAkC;SAC5C,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC5E,CAAC,EACD;YACE,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACrF,CAAC,EACD;YACE,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,sCAAsC;SAChD,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACpF,CAAC,EACD;YACE,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,gCAAgC;SAC1C,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,gCAAgC;IAChC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC;QACxG,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC7E,CAAC,EACD;YACE,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,KAAK,aAAa;SAC5B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC7E,CAAC,EACD;YACE,OAAO,EAAE,6BAA6B;YACtC,WAAW,EAAE,MAAM;SACpB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,mBAAmB,EACnB;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,6DAA6D;QAC1E,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,qBAAqB,EACrB;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,0DAA0D;QACvE,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,+BAA+B,EAC/B;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAClE,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,sDAAsD;QACnE,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,yBAAyB,EACzB;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,sDAAsD;QAC5D,WAAW,EAAE,yIAAyI;QACtJ,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IACF,UAAU;IAEV,QAAQ,CAAC,IAAI,CACX,qBAAqB,EACrB,qBAAqB,EACrB;QACE,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;IACvF,CAAC,EACc;QACb,EAAE,EAAE,KAAK;KACV,CACF,CAAC;IACF,uBAAuB;AACzB,CAAC"} \ No newline at end of file +{"version":3,"file":"phovea.js","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tours/AssessBCCellLines.d.ts.map b/dist/tours/AssessBCCellLines.d.ts.map index 304b78e3..f605442c 100644 --- a/dist/tours/AssessBCCellLines.d.ts.map +++ b/dist/tours/AssessBCCellLines.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"AssessBCCellLines.d.ts","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CAuQ7B"} \ No newline at end of file +{"version":3,"file":"AssessBCCellLines.d.ts","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CA8R7B"} \ No newline at end of file diff --git a/dist/tours/AssessBCCellLines.js b/dist/tours/AssessBCCellLines.js index 7c8d6400..1b0c61db 100644 --- a/dist/tours/AssessBCCellLines.js +++ b/dist/tours/AssessBCCellLines.js @@ -209,10 +209,31 @@ export class AssessBCCellLines { html: `Observe: Of the highly amplified genes, ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, }, { - selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', + selector: '.le header [data-col-id="col10"]', html: `

    Combine both score columns to obtain stacked bars.

    -

    Observe: Combining the columns highlights the importance of ERBB2.

    `, +

    Observe: Combining the columns highlights the importance of ERBB2.

    +

    It is therefore probably the most relevant gene within this amplified genomic region.

    `, + placement: 'centered', + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `

    This finding leads the scientist to the question whether ERBB2 is also highly expressed and frequently amplified in other breast cancer cell lines.

    +

    To investigate this, the analyst adds the following columns: +

      +
    • A column with the average gene expression
    • +
    • A column with the gene copy number distribution
    • +
    • a column with the gene amplification frequency across all breast cancer cell lines
    • +
    +

    `, placement: 'centered', + postAction: () => { + // Add the average gene expression column + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.click('.lu-action-data-mapping > span'); + TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); + TourUtils.click('.lu-dialog-buttons > [type="submit"]'); + }, }, { selector: '.le.le-multi.lineup-engine', diff --git a/dist/tours/AssessBCCellLines.js.map b/dist/tours/AssessBCCellLines.js.map index 90c97a8a..a17e4d52 100644 --- a/dist/tours/AssessBCCellLines.js.map +++ b/dist/tours/AssessBCCellLines.js.map @@ -1 +1 @@ -{"version":3,"file":"AssessBCCellLines.js","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AssessBCCellLines.js","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,UAAU;QACf,OAAO;YACL;gBACE,IAAI,EAAE;;;;;;aAMD;aACN;YACD;gBACE,QAAQ,EAAE,iDAAiD;gBAC3D,IAAI,EAAE,mIAAmI;gBACzI,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE;oBACd,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,8CAA8C,CAAgB,CAAC;oBACzG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wBAC5C,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACtD;gBACH,CAAC;gBACD,UAAU,EAAE,GAAG,EAAE;oBACf,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,8CAA8C,CAAgB,CAAC;oBACzG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wBAC5C,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACxD,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;qBACvC;oBACD,OAAO,SAAS,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACxJ,CAAC;gBACD,SAAS,EAAE,QAAQ;aACpB;YACD;gBACE,QAAQ,EAAE,uCAAuC;gBACjD,IAAI,EAAE,iLAAiL;gBACvL,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,0EAA0E,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9I,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,6DAA6D,CAAC;aACjG;YACD;gBACE,QAAQ,EAAE,qEAAqE;gBAC/E,IAAI,EAAE,uEAAuE;gBAC7E,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,GAAG,EAAE;oBACf,OAAO,SAAS,CAAC,OAAO,CAAC,kHAAkH,CAAC,CAAC,IAAI,CAC/I,SAAS,CAAC,KAAK,CAChB,CAAC;gBACJ,CAAC;gBACD,SAAS,EAAE,QAAQ;aACpB;YACD;gBACE,QAAQ,EAAE,4BAA4B;gBACtC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,wJAAwJ;gBAC9J,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC3G;YACD;gBACE,QAAQ,EAAE,2CAA2C;gBACrD,IAAI,EAAE,sDAAsD;gBAC5D,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YACD;gBACE,QAAQ,EAAE,uGAAuG;gBACjH,IAAI,EAAE,oCAAoC;gBAC1C,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;oBACzH,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,EAAE,yBAAyB;gBAC/B,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,kDAAkD,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBACxG,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,mBAAmB;gBACzB,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,gCAAgC,EAAE,QAAQ,CAAC,CAAC;gBAC5F,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,+CAA+C;gBACzD,IAAI,EAAE,iCAAiC;gBACvC,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YACD;gBACE,QAAQ,EAAE,iCAAiC;gBAC3C,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,+BAA+B;gBACrC,SAAS,EAAE,SAAS,CAAC,eAAe;aACrC;YACD;gBACE,QAAQ,EAAE,0CAA0C;gBACpD,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,qCAAqC;gBAC3C,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC9D,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,4BAA4B;gBACtC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,4BAA4B;aACnC;YACD;gBACE,QAAQ,EAAE,4BAA4B;gBACtC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE;4FAC8E;aACrF;YACD;gBACE,QAAQ,EAAE,2CAA2C;gBACrD,IAAI,EAAE,6IAA6I;gBACnJ,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YACD;gBACE,QAAQ,EAAE,uGAAuG;gBACjH,IAAI,EAAE,iCAAiC;gBACvC,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;oBACzH,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,EAAE,6BAA6B;gBACnC,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,kDAAkD,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBACxG,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,uBAAuB;gBAC7B,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBAC5E,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,+CAA+C;gBACzD,IAAI,EAAE,iCAAiC;gBACvC,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YACD;gBACE,QAAQ,EAAE,2CAA2C;gBACrD,IAAI,EAAE,+IAA+I;gBACrJ,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YACD;gBACE,QAAQ,EAAE,uGAAuG;gBACjH,IAAI,EAAE,iCAAiC;gBACvC,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;oBACzH,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,EAAE,6BAA6B;gBACnC,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,kDAAkD,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBACxG,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,uBAAuB;gBAC7B,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;gBAC3E,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,+CAA+C;gBACzD,IAAI,EAAE,iCAAiC;gBACvC,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YACD;gBACE,QAAQ,EAAE,mDAAmD;gBAC7D,IAAI,EAAE,4GAA4G;gBAClH,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACrE,SAAS,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAClD,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;oBAC5E,SAAS,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC1D,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,sLAAsL;aAC7L;YACD;gBACE,QAAQ,EAAE,kCAAkC;gBAC5C,IAAI,EAAE;;qGAEuF;gBAC7F,SAAS,EAAE,UAAU;aACtB;YACD;gBACE,QAAQ,EAAE,2CAA2C;gBACrD,IAAI,EAAE;;;;;;;aAOD;gBACL,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,GAAG,EAAE;oBACf,yCAAyC;oBACzC,SAAS,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAC7D,SAAS,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;oBAGzH,SAAS,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAClD,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;oBAC5E,SAAS,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC1D,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,4BAA4B;gBACtC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,sBAAsB;aAC7B;YACD;gBACE,QAAQ,EAAE,+CAA+C;gBACzD,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,6GAA6G;gBACnH,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YACD;gBACE,QAAQ,EAAE,wBAAwB;gBAClC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,uHAAuH;gBAC7H,SAAS,EAAE,GAAG,EAAE,CACd,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;oBACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAc,wBAAwB,CAAC,CAAC;oBACxE,IAAI,CAAC,CAAC,EAAE;wBACN,OAAO,IAAI,CAAC;qBACb;oBACD,qCAAqC;oBACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAc,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,EAAE;wBACrH,OAAO,IAAI,CAAC;qBACb;oBACD,OAAO,CAAC,CAAC;gBACX,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9C,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YACD;gBACE,QAAQ,EAAE,oCAAoC;gBAC9C,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,0EAA0E;gBAChF,SAAS,EAAE,SAAS,CAAC,eAAe;aACrC;YACD;gBACE,QAAQ,EAAE,iFAAiF;gBAC3F,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,iIAAiI;gBACvI,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YACD;gBACE,IAAI,EAAE;gEACkD;aACzD;SACF,CAAC;IACJ,CAAC;CACF"} \ No newline at end of file diff --git a/dist/tours/WelcomeTour2.d.ts b/dist/tours/WelcomeTour2.d.ts deleted file mode 100644 index cca36b85..00000000 --- a/dist/tours/WelcomeTour2.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { IStep } from 'tdp_core'; -export declare class WelcomeTour2 { - static createTour(): IStep[]; -} -//# sourceMappingURL=WelcomeTour2.d.ts.map \ No newline at end of file diff --git a/dist/tours/WelcomeTour2.d.ts.map b/dist/tours/WelcomeTour2.d.ts.map deleted file mode 100644 index 415404a8..00000000 --- a/dist/tours/WelcomeTour2.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"WelcomeTour2.d.ts","sourceRoot":"","sources":["../../src/tours/WelcomeTour2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,YAAY;IACvB,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CA+K7B"} \ No newline at end of file diff --git a/dist/tours/WelcomeTour2.js b/dist/tours/WelcomeTour2.js deleted file mode 100644 index 326bc10a..00000000 --- a/dist/tours/WelcomeTour2.js +++ /dev/null @@ -1,178 +0,0 @@ -import { TourUtils } from 'tdp_core'; -export class WelcomeTour2 { - static createTour() { - return [ - { - html: `

    W222elcome to this short tour showing the basic features of Ordino!

    -

    - Use the "Next" button to iterate through all the steps. You can use the - "Cancel" 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. -

    `, - }, - { - selector: 'ul[data-header="mainMenu"] > li:first-child > a', - html: `222222To start an analysis, click on the 'Datasets' 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)'); - if (!datasetTab.classList.contains('active')) { - datasetTab.querySelector('a').classList.add('hover'); - } - }, - postAction: () => { - const datasetTab = document.querySelector('ul[data-header="mainMenu"] > li:nth-child(1)'); - 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: `

    222222222222You can choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

    In this example we will work with a list of genes

    `, - 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 'Cancer Gene Census'`, - 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 'Strand' …`, - 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: `… and click 'Add'`, - 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 'Cell Line Score' 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 'HCC-827' and 'BT-20'.`, - 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 'Relative Copy Number'`, - postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); - }, - }, - { - selector: '.modal.show .modal-footer button[type=submit]', - html: `Finally, click 'Add'`, - 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 'HCC-827'`, - 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('.le-tr[data-index="0"]'); - if (!r) { - return null; - } - // has a string renderered EGFR entry - if (!Array.from(r.querySelectorAll('div[data-renderer="string"]')).some((d) => d.textContent === 'EGFR')) { - return null; - } - return r; - }, Infinity).then(() => TourUtils.wait(500)), - 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 'Expression vs Copy Number' opens a scatter plot showing the relation of the two types of data`, - postAction: TourUtils.clickSelector, - }, - { - html: `

    Thanks for joining this tour demonstrating the basic features of Ordino.

    -

    There are many more features to discover. Enjoy!

    `, - }, - ]; - } -} -//# sourceMappingURL=WelcomeTour2.js.map \ No newline at end of file diff --git a/dist/tours/WelcomeTour2.js.map b/dist/tours/WelcomeTour2.js.map deleted file mode 100644 index e438b1fb..00000000 --- a/dist/tours/WelcomeTour2.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"WelcomeTour2.js","sourceRoot":"","sources":["../../src/tours/WelcomeTour2.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/views/ACombinedDependentTable.d.ts.map b/dist/views/ACombinedDependentTable.d.ts.map index 8994e547..aff82f60 100644 --- a/dist/views/ACombinedDependentTable.d.ts.map +++ b/dist/views/ACombinedDependentTable.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ACombinedDependentTable.d.ts","sourceRoot":"","sources":["../../src/views/ACombinedDependentTable.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EAGZ,aAAa,EACb,qBAAqB,EACrB,SAAS,EAIV,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAc,MAAM,kBAAkB,CAAC;AAElF,8BAAsB,uBAAwB,SAAQ,YAAY;IAGe,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE;IAF7H,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAE5B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAqB,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,KAAK;IAoB3I,SAAS,CAAC,QAAQ,KAAK,kBAAkB,IAAI,iBAAiB,CAAC;IAE/D,IAAI,UAAU,8BAEb;IAED,SAAS,CAAC,qBAAqB;IAY/B,OAAO,KAAK,QAAQ,GAMnB;IAED,SAAS,CAAC,sBAAsB;IAiBhC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvD,SAAS,CAAC,cAAc;IAIxB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE;IAIjD,SAAS,CAAC,QAAQ;IAMlB,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;cAIzD,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAWhE,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;CAqB7G"} \ No newline at end of file +{"version":3,"file":"ACombinedDependentTable.d.ts","sourceRoot":"","sources":["../../src/views/ACombinedDependentTable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EAGZ,aAAa,EACb,qBAAqB,EACrB,SAAS,EAIV,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAc,MAAM,kBAAkB,CAAC;AAElF,8BAAsB,uBAAwB,SAAQ,YAAY;IAGe,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE;IAF7H,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAE5B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAqB,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,KAAK;IAoB3I,SAAS,CAAC,QAAQ,KAAK,kBAAkB,IAAI,iBAAiB,CAAC;IAE/D,IAAI,UAAU,8BAEb;IAED,SAAS,CAAC,qBAAqB;IAY/B,OAAO,KAAK,QAAQ,GAMnB;IAED,SAAS,CAAC,sBAAsB;IAiBhC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvD,SAAS,CAAC,cAAc;IAIxB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE;IAIjD,SAAS,CAAC,QAAQ;IAMlB,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;cAIzD,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAWhE,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;CAqB7G"} \ No newline at end of file diff --git a/dist/views/ACombinedDependentTable.js b/dist/views/ACombinedDependentTable.js index ad6aae81..908a783b 100644 --- a/dist/views/ACombinedDependentTable.js +++ b/dist/views/ACombinedDependentTable.js @@ -1,5 +1,5 @@ -import { SpeciesUtils } from 'tdp_gene'; import { ARankingView, RestBaseUtils, IDTypeManager, LineupUtils, AdapterUtils, } from 'tdp_core'; +import { SpeciesUtils } from '../common'; import { ParameterFormIds, FORM_DATA_HIERARCHICAL_SUBTYPE } from '../common/forms'; import { ViewUtils } from './ViewUtils'; import { splitTypes } from '../common/config'; diff --git a/dist/views/ACombinedDependentTable.js.map b/dist/views/ACombinedDependentTable.js.map index 680843a5..4253f8a7 100644 --- a/dist/views/ACombinedDependentTable.js.map +++ b/dist/views/ACombinedDependentTable.js.map @@ -1 +1 @@ -{"version":3,"file":"ACombinedDependentTable.js","sourceRoot":"","sources":["../../src/views/ACombinedDependentTable.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ACombinedDependentTable.js","sourceRoot":"","sources":["../../src/views/ACombinedDependentTable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/views/CombinedDependentSampleTable.d.ts.map b/dist/views/CombinedDependentSampleTable.d.ts.map index 212ad41d..3f492a8c 100644 --- a/dist/views/CombinedDependentSampleTable.d.ts.map +++ b/dist/views/CombinedDependentSampleTable.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"CombinedDependentSampleTable.d.ts","sourceRoot":"","sources":["../../src/views/CombinedDependentSampleTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAA0C,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,qBAAa,4BAA6B,SAAQ,uBAAuB;gBAC3D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE;IAM1G,SAAS,KAAK,kBAAkB,sBAE/B;IAED,SAAS,CAAC,qBAAqB;IAO/B,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAOvC,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAI9C,MAAM,CAAC,kCAAkC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW;CAG5G"} \ No newline at end of file +{"version":3,"file":"CombinedDependentSampleTable.d.ts","sourceRoot":"","sources":["../../src/views/CombinedDependentSampleTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAA0C,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,qBAAa,4BAA6B,SAAQ,uBAAuB;gBAC3D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE;IAM1G,SAAS,KAAK,kBAAkB,sBAE/B;IAED,SAAS,CAAC,qBAAqB;IAO/B,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAI9C,MAAM,CAAC,kCAAkC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW;CAG5G"} \ No newline at end of file diff --git a/dist/views/CombinedDependentSampleTable.js b/dist/views/CombinedDependentSampleTable.js index 1ea5949f..78c7a2af 100644 --- a/dist/views/CombinedDependentSampleTable.js +++ b/dist/views/CombinedDependentSampleTable.js @@ -18,7 +18,7 @@ export class CombinedDependentSampleTable extends ACombinedDependentTable { } parameterChanged(name) { if (name === FORM_DATA_SOURCE.id) { - return this.rebuild(); // early abort after rebuild since there is nothing worse than building from scratch + return this.rebuild(); } return super.parameterChanged(name); } diff --git a/dist/views/CombinedDependentSampleTable.js.map b/dist/views/CombinedDependentSampleTable.js.map index af86719a..e7d33dee 100644 --- a/dist/views/CombinedDependentSampleTable.js.map +++ b/dist/views/CombinedDependentSampleTable.js.map @@ -1 +1 @@ -{"version":3,"file":"CombinedDependentSampleTable.js","sourceRoot":"","sources":["../../src/views/CombinedDependentSampleTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAsC,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,4BAA6B,SAAQ,uBAAuB;IACvE,YAAY,OAAqB,EAAE,SAAqB,EAAE,MAAmB,EAAE,QAA2B;QACxG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAc,kBAAkB;QAC9B,OAA0B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChF,CAAC;IAES,qBAAqB;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CAAC,IAAY;QACrC,IAAI,IAAI,KAAK,gBAAgB,CAAC,EAAE,EAAE;YAChC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,oFAAoF;SAC5G;QACD,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAES,uBAAuB,CAAC,IAAY;QAC5C,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,kCAAkC,CAAC,OAAqB,EAAE,SAAqB,EAAE,MAAmB;QACzG,OAAO,IAAI,4BAA4B,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1G,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"CombinedDependentSampleTable.js","sourceRoot":"","sources":["../../src/views/CombinedDependentSampleTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAsC,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,4BAA6B,SAAQ,uBAAuB;IACvE,YAAY,OAAqB,EAAE,SAAqB,EAAE,MAAmB,EAAE,QAA2B;QACxG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAc,kBAAkB;QAC9B,OAA0B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChF,CAAC;IAES,qBAAqB;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CAAC,IAAY;QACrC,IAAI,IAAI,KAAK,gBAAgB,CAAC,EAAE,EAAE;YAChC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;SACvB;QACD,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAES,uBAAuB,CAAC,IAAY;QAC5C,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,kCAAkC,CAAC,OAAqB,EAAE,SAAqB,EAAE,MAAmB;QACzG,OAAO,IAAI,4BAA4B,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1G,CAAC;CACF"} \ No newline at end of file diff --git a/dist/views/SimilarityView.d.ts.map b/dist/views/SimilarityView.d.ts.map index 6b412e9d..3c40c144 100644 --- a/dist/views/SimilarityView.d.ts.map +++ b/dist/views/SimilarityView.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"SimilarityView.d.ts","sourceRoot":"","sources":["../../src/views/SimilarityView.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,qBAAqB,EAKtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAqD,MAAM,UAAU,CAAC;AAKhG,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAsB;gBAExB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAc1H,SAAS,CAAC,qBAAqB;IAa/B,IAAI,UAAU,8BAEb;YAEa,iBAAiB;IAgB/B,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;;;YAajB,QAAQ;IAuBtB,OAAO,CAAC,IAAI;IAOZ,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE;IAIjE,SAAS,CAAC,cAAc;IAIxB,SAAS,CAAC,QAAQ;IAIlB,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAKvC,SAAS,CAAC,gBAAgB;IAK1B,OAAO,CAAC,UAAU;IAOlB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB;CAe3D"} \ No newline at end of file +{"version":3,"file":"SimilarityView.d.ts","sourceRoot":"","sources":["../../src/views/SimilarityView.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,qBAAqB,EAKtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAqD,MAAM,UAAU,CAAC;AAKhG,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAsB;gBAExB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAc1H,SAAS,CAAC,qBAAqB;IAa/B,IAAI,UAAU,8BAEb;YAEa,iBAAiB;IAgB/B,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;;;YAajB,QAAQ;IAuBtB,OAAO,CAAC,IAAI;IAOZ,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE;IAIjE,SAAS,CAAC,cAAc;IAIxB,SAAS,CAAC,QAAQ;IAIlB,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD,SAAS,CAAC,gBAAgB;IAK1B,OAAO,CAAC,UAAU;IAOlB,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB;CAe3D"} \ No newline at end of file diff --git a/dist/views/SimilarityView.js b/dist/views/SimilarityView.js index 36b7c019..a1df2ac9 100644 --- a/dist/views/SimilarityView.js +++ b/dist/views/SimilarityView.js @@ -1,10 +1,10 @@ /** * Created by Samuel Gratzl on 29.01.2016. */ -import { tsv } from 'd3'; +import { tsv } from 'd3v3'; import { ARankingView, ColumnDescUtils, FormElementType, RestBaseUtils, } from 'tdp_core'; import { createSelectionDesc, createStackDesc } from 'lineupjs'; -import { SpeciesUtils } from 'tdp_gene'; +import { SpeciesUtils } from '../common'; const SELECT_ID = 'genehopper_selection'; export class SimilarityView extends ARankingView { constructor(context, selection, parent, options = {}) { diff --git a/dist/views/SimilarityView.js.map b/dist/views/SimilarityView.js.map index 454bf48e..2e75816c 100644 --- a/dist/views/SimilarityView.js.map +++ b/dist/views/SimilarityView.js.map @@ -1 +1 @@ -{"version":3,"file":"SimilarityView.js","sourceRoot":"","sources":["../../src/views/SimilarityView.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"SimilarityView.js","sourceRoot":"","sources":["../../src/views/SimilarityView.ts"],"names":[],"mappings":"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"} \ No newline at end of file From 5eab43a74488bf17e631b627af7ddc4dc17531a0 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Mon, 29 Aug 2022 10:25:37 +0200 Subject: [PATCH 20/38] Fixed Hidden Modal Bug --- dist/tours/AddColumnToGeneListTour.js | 22 +++--- dist/tours/AddColumnToGeneListTour.js.map | 2 +- dist/tours/AssessBCCellLines.d.ts.map | 2 +- dist/tours/AssessBCCellLines.js | 79 ++++++++++++++++--- dist/tours/AssessBCCellLines.js.map | 2 +- src/tours/AddColumnToGeneListTour.ts | 22 +++--- src/tours/AssessBCCellLines.ts | 96 ++++++++++++++++++++--- 7 files changed, 179 insertions(+), 46 deletions(-) diff --git a/dist/tours/AddColumnToGeneListTour.js b/dist/tours/AddColumnToGeneListTour.js index 8aabad3b..2b93b3ed 100644 --- a/dist/tours/AddColumnToGeneListTour.js +++ b/dist/tours/AddColumnToGeneListTour.js @@ -87,7 +87,7 @@ export class AddColumnToGeneListTour {

    In this example, we select 'Strand'

    `, placement: 'centered', preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(250)), - postAction: () => TourUtils.setValueAndTrigger('.col > select', 'strand', 'change'), + postAction: () => TourUtils.setValueAndTrigger('.show .col > select', 'strand', 'change'), }, { selector: '.modal.show .modal-footer button[type=submit]', @@ -145,7 +145,7 @@ export class AddColumnToGeneListTour { placement: 'centered', html: `As data type, we choose 'Relative Copy Number'`, postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show .col > select', 'copy_number-relativecopynumber', 'change'); }, }, { @@ -180,38 +180,38 @@ export class AddColumnToGeneListTour { preAction: () => TourUtils.waitFor('.modal.show .modal-content').then(() => TourUtils.wait(250)), }, { - selector: '.modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) div:nth-child(1) select', + selector: '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) div:nth-child(1) select', html: `

    First, we need to define the subset of cell lines which we want to aggregate.

    For the filter attribute we select 'Tumor Type'

    `, placement: 'centered', postAction: () => { - TourUtils.setValueAndTrigger('.modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); }, }, { - selector: '.modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) .select2', + selector: '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) .select2', html: `… and for the filter value we select 'breast carcinoma'.`, placement: 'centered', - preAction: () => TourUtils.waitFor('.modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) .select2').then(() => TourUtils.wait(250)), + preAction: () => TourUtils.waitFor('.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) .select2').then(() => TourUtils.wait(250)), postAction: () => { - TourUtils.setValueAndTrigger('.modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', 'breast carcinoma', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', 'breast carcinoma', 'change'); }, }, { - selector: '.modal-body form > .col-sm-12:nth-child(2) .row:nth-child(1) .select2', + selector: '.show .modal-body form > .col-sm-12:nth-child(2) .row:nth-child(1) .select2', placement: 'centered', html: `As data type, we choose 'Relative Copy Number' …`, postAction: () => { - TourUtils.setValueAndTrigger('.modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); }, }, { - selector: '.modal-body form > .col-sm-12:nth-child(3) select', + selector: '.show .modal-body form > .col-sm-12:nth-child(3) select', placement: 'centered', html: `

    … and as type of aggregation we choose 'Average'

    FYI: other types of aggregation are, for instance, 'Min', 'Max', 'Median', 'Count', and 'Boxplot'.`, postAction: () => { - TourUtils.setValueAndTrigger('.modal-body form > .col-sm-12:nth-child(3) > select', 'avg', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(3) > select', 'avg', 'change'); }, }, { diff --git a/dist/tours/AddColumnToGeneListTour.js.map b/dist/tours/AddColumnToGeneListTour.js.map index a0074a21..5652a909 100644 --- a/dist/tours/AddColumnToGeneListTour.js.map +++ b/dist/tours/AddColumnToGeneListTour.js.map @@ -1 +1 @@ -{"version":3,"file":"AddColumnToGeneListTour.js","sourceRoot":"","sources":["../../src/tours/AddColumnToGeneListTour.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AddColumnToGeneListTour.js","sourceRoot":"","sources":["../../src/tours/AddColumnToGeneListTour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,OAAO,uBAAuB;IAClC,MAAM,CAAC,UAAU;QACf,OAAO;YACL;gBACE,IAAI,EAAE;;;;;;;;;aASD;aACN;YACD;gBACE,QAAQ,EAAE,iDAAiD;gBAC3D,IAAI,EAAE,6HAA6H;gBACnI,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE;oBACd,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,8CAA8C,CAAgB,CAAC;oBACzG,IAAI,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wBAC3C,OAAO;qBACR;oBACD,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvD,CAAC;gBACD,UAAU,EAAE,GAAG,EAAE;oBACf,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,8CAA8C,CAAgB,CAAC;oBACzG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wBAC5C,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACxD,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;qBACvC;oBACD,OAAO,SAAS,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACxJ,CAAC;aACF;YACD;gBACE,QAAQ,EAAE,0EAA0E;gBACpF,IAAI,EAAE,8EAA8E;gBACpF,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,0EAA0E,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9I,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,8DAA8D,CAAC;aAClG;YACD;gBACE,QAAQ,EAAE,wFAAwF;gBAClG,IAAI,EAAE,gIAAgI;gBACtI,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,GAAG,EAAE;oBACf,OAAO,SAAS,CAAC,OAAO,CAAC,wFAAwF,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC3I,CAAC;gBACD,SAAS,EAAE,QAAQ;aACpB;YAED;gBACE,QAAQ,EAAE,4BAA4B;gBACtC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE;4EAC8D;gBACpE,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC3G;YAED;gBACE,QAAQ,EAAE,2CAA2C;gBACrD,IAAI,EAAE,sDAAsD;gBAC5D,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YAED;gBACE,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;;;;8EAIgE;gBACtE,SAAS,EAAE,UAAU;aACtB;YAED;gBACE,QAAQ,EAAE,4BAA4B;gBACtC,IAAI,EAAE,4CAA4C;gBAClD,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAC9C,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,IAAI,EAAE;mEACqD;gBAC3D,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjF,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,CAAC;aAC1F;YAED;gBACE,QAAQ,EAAE,+CAA+C;gBACzD,IAAI,EAAE,iCAAiC;gBACvC,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YAED;gBACE,QAAQ,EAAE,kCAAkC;gBAC5C,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,kDAAkD;gBACxD,SAAS,EAAE,SAAS,CAAC,eAAe;aACrC;YAED;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,IAAI,EAAE;;;;;;;;;wIAS0H;gBAChI,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,KAAK,IAAI,EAAE;oBACpB,MAAM,SAAS,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;oBACvD,SAAS,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,6CAA6C;gBACvD,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,mKAAmK;gBACzK,SAAS,EAAE,GAAG,EAAE;oBACd,SAAS,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,CAAC;gBACD,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAC/D,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjF,IAAI,EAAE,+DAA+D;gBACrE,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,kDAAkD,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAC9G,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,uDAAuD;gBAC7D,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,gCAAgC,EAAE,QAAQ,CAAC,CAAC;gBAClG,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,+CAA+C;gBACzD,IAAI,EAAE,6BAA6B;gBACnC,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YAED;gBACE,QAAQ,EAAE,CAAC,+DAA+D,CAAC;gBAC3E,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,+BAA+B,EAAE,KAAK,CAAC;gBAC1E,IAAI,EAAE,iGAAiG;aACxG;YAED;gBACE,QAAQ,EAAE,0DAA0D;gBACpE,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE;2EAC6D;gBACnE,SAAS,EAAE,GAAG,EAAE;oBACd,SAAS,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,CAAC;gBACD,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;oBAC5E,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,4BAA4B;gBACtC,IAAI,EAAE,mFAAmF;gBACzF,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACjG;YAED;gBACE,QAAQ,EAAE,4FAA4F;gBACtG,IAAI,EAAE;+EACiE;gBACvE,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,qFAAqF,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAC7I,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,kHAAkH;gBAC5H,IAAI,EAAE,wEAAwE;gBAC9E,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CACd,SAAS,CAAC,OAAO,CAAC,kHAAkH,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC9I,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CACpB;gBACH,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAC1B,gHAAgH,EAChH,kBAAkB,EAClB,QAAQ,CACT,CAAC;gBACJ,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,6EAA6E;gBACvF,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,gEAAgE;gBACtE,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,yDAAyD,EAAE,gCAAgC,EAAE,QAAQ,CAAC,CAAC;gBACtI,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,yDAAyD;gBACnE,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE;iJACmI;gBACzI,UAAU,EAAE,GAAG,EAAE;oBACf,SAAS,CAAC,kBAAkB,CAAC,2DAA2D,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC7G,CAAC;aACF;YAED;gBACE,QAAQ,EAAE,+CAA+C;gBACzD,IAAI,EAAE,gCAAgC;gBACtC,SAAS,EAAE,UAAU;gBACrB,UAAU,EAAE,SAAS,CAAC,aAAa;aACpC;YAED;gBACE,QAAQ,EAAE,gCAAgC;gBAC1C,SAAS,EAAE,UAAU;gBACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAgC,EAAE,KAAK,CAAC;gBAC3E,IAAI,EAAE,oIAAoI;aAC3I;YAED;gBACE,IAAI,EAAE;gEACkD;aACzD;SACF,CAAC;IACJ,CAAC;CACF"} \ No newline at end of file diff --git a/dist/tours/AssessBCCellLines.d.ts.map b/dist/tours/AssessBCCellLines.d.ts.map index f605442c..b7d689e1 100644 --- a/dist/tours/AssessBCCellLines.d.ts.map +++ b/dist/tours/AssessBCCellLines.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"AssessBCCellLines.d.ts","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CA8R7B"} \ No newline at end of file +{"version":3,"file":"AssessBCCellLines.d.ts","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAmB,MAAM,UAAU,CAAC;AAElD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CAqW7B"} \ No newline at end of file diff --git a/dist/tours/AssessBCCellLines.js b/dist/tours/AssessBCCellLines.js index 1b0c61db..1b81b8d5 100644 --- a/dist/tours/AssessBCCellLines.js +++ b/dist/tours/AssessBCCellLines.js @@ -82,7 +82,7 @@ export class AssessBCCellLines { placement: 'centered', html: `and the data type`, postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show .col > select', 'copy_number-relativecopynumber', 'change'); }, }, { @@ -145,7 +145,7 @@ export class AssessBCCellLines { placement: 'centered', html: `and the 2nd data type`, postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show .col > select', 'expression-tpm', 'change'); }, }, { @@ -183,7 +183,7 @@ export class AssessBCCellLines { placement: 'centered', html: `and the 3rd data type`, postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'depletion-rsa', 'change'); + TourUtils.setValueAndTrigger('.show .col > select', 'depletion-rsa', 'change'); }, }, { @@ -209,32 +209,93 @@ export class AssessBCCellLines { html: `Observe: Of the highly amplified genes, ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, }, { - selector: '.le header [data-col-id="col10"]', + selector: '.le header [data-col-id="col9"], .le header [data-col-id="col10"]', html: `

    Combine both score columns to obtain stacked bars.

    Observe: Combining the columns highlights the importance of ERBB2.

    It is therefore probably the most relevant gene within this amplified genomic region.

    `, placement: 'centered', }, { - selector: '.lu-side-panel-wrapper .lu-adder > button', + selector: '.le header [data-col-id="col10"]', html: `

    This finding leads the scientist to the question whether ERBB2 is also highly expressed and frequently amplified in other breast cancer cell lines.

    To investigate this, the analyst adds the following columns:

    • A column with the average gene expression
    • A column with the gene copy number distribution
    • -
    • a column with the gene amplification frequency across all breast cancer cell lines
    • +
    • A column with the gene amplification frequency across all breast cancer cell lines

    `, placement: 'centered', + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `1. A column with the average gene expression`, + placement: 'centered', postAction: () => { // Add the average gene expression column TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); - TourUtils.click('.lu-action-data-mapping > span'); - TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); - TourUtils.click('.lu-dialog-buttons > [type="submit"]'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', 'breast carcinoma', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); }, }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `2. A column with the gene copy number distribution`, + placement: 'centered', + postAction: () => { + // Add the average gene expression column + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', 'breast carcinoma', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'boxplot', 'change'); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `3. A column with the gene amplification frequency across all breast cancer cell lines`, + placement: 'centered', + postAction: () => { + // Add the average gene expression column + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', 'breast carcinoma', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'frequency', 'change'); + TourUtils.waitFor('.show [data-testid="Comparison Operator"]').then(() => { + TourUtils.setValueAndTrigger('.show [data-testid="comparison-operator"] select', '>', 'change'); + TourUtils.setValueAndTrigger('.show [type="number"]', '4', 'input'); + }); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); + }, + }, + { + selector: '.le.le-multi.lineup-engine', + html: `Observe: ERBB2 is amplified in almost 25% of all assessed breast cancer cell lines. Further, it is highly expressed.`, + placement: 'centered', + }, + { + selector: '.le.le-multi.lineup-engine', + html: `

    The aim is now to get more information about ERBB2.

    +

    Select ERBB2 in the list.

    `, + placement: 'centered', + }, { selector: '.le.le-multi.lineup-engine', placement: 'centered', diff --git a/dist/tours/AssessBCCellLines.js.map b/dist/tours/AssessBCCellLines.js.map index a17e4d52..97a5da6e 100644 --- a/dist/tours/AssessBCCellLines.js.map +++ b/dist/tours/AssessBCCellLines.js.map @@ -1 +1 @@ -{"version":3,"file":"AssessBCCellLines.js","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AssessBCCellLines.js","sourceRoot":"","sources":["../../src/tours/AssessBCCellLines.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/tours/AddColumnToGeneListTour.ts b/src/tours/AddColumnToGeneListTour.ts index 79c04473..59dc3031 100644 --- a/src/tours/AddColumnToGeneListTour.ts +++ b/src/tours/AddColumnToGeneListTour.ts @@ -93,7 +93,7 @@ export class AddColumnToGeneListTour {

    In this example, we select 'Strand'

    `, placement: 'centered', preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(250)), - postAction: () => TourUtils.setValueAndTrigger('.col > select', 'strand', 'change'), + postAction: () => TourUtils.setValueAndTrigger('.show .col > select', 'strand', 'change'), }, { @@ -157,7 +157,7 @@ export class AddColumnToGeneListTour { placement: 'centered', html: `As data type, we choose 'Relative Copy Number'`, postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show .col > select', 'copy_number-relativecopynumber', 'change'); }, }, @@ -197,26 +197,26 @@ export class AddColumnToGeneListTour { }, { - selector: '.modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) div:nth-child(1) select', + selector: '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) div:nth-child(1) select', html: `

    First, we need to define the subset of cell lines which we want to aggregate.

    For the filter attribute we select 'Tumor Type'

    `, placement: 'centered', postAction: () => { - TourUtils.setValueAndTrigger('.modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); }, }, { - selector: '.modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) .select2', + selector: '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) .select2', html: `… and for the filter value we select 'breast carcinoma'.`, placement: 'centered', preAction: () => - TourUtils.waitFor('.modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) .select2').then(() => + TourUtils.waitFor('.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) .select2').then(() => TourUtils.wait(250), ), postAction: () => { TourUtils.setValueAndTrigger( - '.modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', 'breast carcinoma', 'change', ); @@ -224,21 +224,21 @@ export class AddColumnToGeneListTour { }, { - selector: '.modal-body form > .col-sm-12:nth-child(2) .row:nth-child(1) .select2', + selector: '.show .modal-body form > .col-sm-12:nth-child(2) .row:nth-child(1) .select2', placement: 'centered', html: `As data type, we choose 'Relative Copy Number' …`, postAction: () => { - TourUtils.setValueAndTrigger('.modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); }, }, { - selector: '.modal-body form > .col-sm-12:nth-child(3) select', + selector: '.show .modal-body form > .col-sm-12:nth-child(3) select', placement: 'centered', html: `

    … and as type of aggregation we choose 'Average'

    FYI: other types of aggregation are, for instance, 'Min', 'Max', 'Median', 'Count', and 'Boxplot'.`, postAction: () => { - TourUtils.setValueAndTrigger('.modal-body form > .col-sm-12:nth-child(3) > select', 'avg', 'change'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(3) > select', 'avg', 'change'); }, }, diff --git a/src/tours/AssessBCCellLines.ts b/src/tours/AssessBCCellLines.ts index ac7608f1..a28221e9 100644 --- a/src/tours/AssessBCCellLines.ts +++ b/src/tours/AssessBCCellLines.ts @@ -1,4 +1,5 @@ -import { IStep, TourUtils } from 'tdp_core'; +import {ToursSection} from 'ordino'; +import { IStep, Tour, TourUtils } from 'tdp_core'; export class AssessBCCellLines { static createTour(): IStep[] { @@ -85,7 +86,7 @@ export class AssessBCCellLines { placement: 'centered', html: `and the data type`, postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show .col > select', 'copy_number-relativecopynumber', 'change'); }, }, { @@ -148,7 +149,7 @@ export class AssessBCCellLines { placement: 'centered', html: `and the 2nd data type`, postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show .col > select', 'expression-tpm', 'change'); }, }, { @@ -186,7 +187,7 @@ export class AssessBCCellLines { placement: 'centered', html: `and the 3rd data type`, postAction: () => { - TourUtils.setValueAndTrigger('.col > select', 'depletion-rsa', 'change'); + TourUtils.setValueAndTrigger('.show .col > select', 'depletion-rsa', 'change'); }, }, { @@ -212,34 +213,105 @@ export class AssessBCCellLines { html: `Observe: Of the highly amplified genes, ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, }, { - selector: '.le header [data-col-id="col10"]', + selector: '.le header [data-col-id="col9"], .le header [data-col-id="col10"]', html: `

    Combine both score columns to obtain stacked bars.

    Observe: Combining the columns highlights the importance of ERBB2.

    It is therefore probably the most relevant gene within this amplified genomic region.

    `, placement: 'centered', }, { - selector: '.lu-side-panel-wrapper .lu-adder > button', + selector: '.le header [data-col-id="col10"]', html: `

    This finding leads the scientist to the question whether ERBB2 is also highly expressed and frequently amplified in other breast cancer cell lines.

    To investigate this, the analyst adds the following columns:

    • A column with the average gene expression
    • A column with the gene copy number distribution
    • -
    • a column with the gene amplification frequency across all breast cancer cell lines
    • +
    • A column with the gene amplification frequency across all breast cancer cell lines

    `, placement: 'centered', + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `1. A column with the average gene expression`, + placement: 'centered', postAction: () => { // Add the average gene expression column TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); - - - TourUtils.click('.lu-action-data-mapping > span'); - TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); - TourUtils.click('.lu-dialog-buttons > [type="submit"]'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger( + '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + 'breast carcinoma', + 'change', + ); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `2. A column with the gene copy number distribution`, + placement: 'centered', + postAction: () => { + // Add the average gene expression column + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger( + '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + 'breast carcinoma', + 'change', + ); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'boxplot', 'change'); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `3. A column with the gene amplification frequency across all breast cancer cell lines`, + placement: 'centered', + postAction: () => { + // Add the average gene expression column + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger( + '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + 'breast carcinoma', + 'change', + ); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'frequency', 'change'); + TourUtils.waitFor('.show [data-testid="Comparison Operator"]').then(() => { + TourUtils.setValueAndTrigger('.show [data-testid="comparison-operator"] select', '>', 'change'); + TourUtils.setValueAndTrigger('.show [type="number"]', '4', 'input'); + }); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); }, }, + { + selector: '.le.le-multi.lineup-engine', + html: `Observe: ERBB2 is amplified in almost 25% of all assessed breast cancer cell lines. Further, it is highly expressed.`, + placement: 'centered', + }, + { + selector: '.le.le-multi.lineup-engine', + html: `

    The aim is now to get more information about ERBB2.

    +

    Select ERBB2 in the list.

    `, + placement: 'centered', + }, { selector: '.le.le-multi.lineup-engine', placement: 'centered', From f52de57eeef84bacc94e77240f452163146deb96 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Tue, 30 Aug 2022 09:54:09 +0200 Subject: [PATCH 21/38] AssessBCCellLines Tour Complete (Unpolished) --- src/tours/AssessBCCellLines.ts | 201 +++++++++++++++++++++++++++------ 1 file changed, 164 insertions(+), 37 deletions(-) diff --git a/src/tours/AssessBCCellLines.ts b/src/tours/AssessBCCellLines.ts index a28221e9..0bff31c2 100644 --- a/src/tours/AssessBCCellLines.ts +++ b/src/tours/AssessBCCellLines.ts @@ -75,7 +75,7 @@ export class AssessBCCellLines { { selector: '.modal.show .col > .select3', placement: 'centered', - preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(250)), + preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), html: `We select the Cell Line`, postAction: () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); @@ -138,7 +138,7 @@ export class AssessBCCellLines { { selector: '.modal.show .col > .select3', placement: 'centered', - preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(250)), + preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), html: `We select the 2nd Cell Line`, postAction: () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); @@ -176,7 +176,7 @@ export class AssessBCCellLines { { selector: '.modal.show .col > .select3', placement: 'centered', - preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(250)), + preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), html: `We select the 3rd Cell Line`, postAction: () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); @@ -213,14 +213,14 @@ export class AssessBCCellLines { html: `Observe: Of the highly amplified genes, ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, }, { - selector: '.le header [data-col-id="col9"], .le header [data-col-id="col10"]', + selector: ['.le header [data-col-id="col9"], .le header [data-col-id="col10"]'], html: `

    Combine both score columns to obtain stacked bars.

    Observe: Combining the columns highlights the importance of ERBB2.

    It is therefore probably the most relevant gene within this amplified genomic region.

    `, placement: 'centered', }, { - selector: '.le header [data-col-id="col10"]', + selector: '[data-index="0"]', html: `

    This finding leads the scientist to the question whether ERBB2 is also highly expressed and frequently amplified in other breast cancer cell lines.

    To investigate this, the analyst adds the following columns:

      @@ -236,11 +236,10 @@ export class AssessBCCellLines { html: `1. A column with the average gene expression`, placement: 'centered', postAction: () => { - // Add the average gene expression column TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + return TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); TourUtils.setValueAndTrigger( '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', @@ -257,12 +256,14 @@ export class AssessBCCellLines { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `2. A column with the gene copy number distribution`, placement: 'centered', + preAction: () => { + TourUtils.waitFor('.le header [data-col-id="col11"]'); + }, postAction: () => { - // Add the average gene expression column TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + return TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); TourUtils.setValueAndTrigger( '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', @@ -279,12 +280,14 @@ export class AssessBCCellLines { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `3. A column with the gene amplification frequency across all breast cancer cell lines`, placement: 'centered', + preAction: () => { + TourUtils.waitFor('.le header [data-col-id="col12"]'); + }, postAction: () => { - // Add the average gene expression column TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + return TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); TourUtils.setValueAndTrigger( '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', @@ -305,57 +308,181 @@ export class AssessBCCellLines { selector: '.le.le-multi.lineup-engine', html: `Observe: ERBB2 is amplified in almost 25% of all assessed breast cancer cell lines. Further, it is highly expressed.`, placement: 'centered', + preAction: () => { + TourUtils.waitFor('.le header [data-col-id="col13"]'); + }, }, { - selector: '.le.le-multi.lineup-engine', + selector: '[data-index="0"] .lu-renderer-selection', html: `

      The aim is now to get more information about ERBB2.

      Select ERBB2 in the list.

      `, placement: 'centered', + postAction: TourUtils.clickSelector, }, { - selector: '.le.le-multi.lineup-engine', + selector: '[data-viewid="celllinedb_expression_vs_copynumber"]', + html: `Open the Expression vs Copy Number detail view`, placement: 'centered', - html: `TOUR IS HERE SO FAR.`, + preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, }, { - selector: '.le header section[title^=HCC] i[title^=Sort]', + selector: '.ids', + html: `Observe the direct correlation between copy number and expression of ERBB2`, + placement: 'centered', + preAction: () => { + return TourUtils.waitFor('.ids'); + }, + }, + { + selector: '[data-viewid="targetvalidation"]', + html: `Now open the Open Targets detail view...`, placement: 'centered', - html: `For example, you can use this icon to sort all genes by their copy number in the cell line 'HCC-827'`, 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('.le-tr[data-index="0"]'); - if (!r) { - return null; - } - // has a string renderered EGFR entry - if (!Array.from(r.querySelectorAll('div[data-renderer="string"]')).some((d) => d.textContent === 'EGFR')) { - return null; - } - return r; - }, Infinity).then(() => TourUtils.wait(500)), // wait for animation to complete + selector: '[data-viewid="pubmed"]', + html: `...and the PubMed detail view.`, + placement: 'centered', postAction: TourUtils.clickSelector, }, { - selector: '.viewWrapper .chooser:not(.hidden)', + selector: '', + html: `Question: In what cell lines is ERBB2 amplified? Select cell lines with ERBB2 amplification that have mutation in BRCA1 or BRCA2`, + placement: 'centered', + }, + { + selector: '[data-viewid="copynumbertable"]', + html: `Start by opening the Copy Number detail view`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-id="col7"] .lu-action-sort', + html: `Now sort by the copy number`, placement: 'centered', - html: `Various 'Detail Views', providing additional information, are available.`, preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid="viewWrapper-1"] [data-id="col4"] .lu-action-filter', + html: `Filter for breast cancer via column menu of column tumor type (also filter out cell lines with unknown tumor type)`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-dialog .lu-dialog-table', + html: `First select only the "breast carcinoma" tumor type.`, + placement: 'centered', + postAction: () => { + TourUtils.wait(100) + .then(() => { + TourUtils.click('.lu-dialog-table .lu-checkbox:first-child'); + }) + .then(() => { + TourUtils.wait(500).then(() => { + TourUtils.click('input[type="checkbox"][data-cat="breast carcinoma"]'); + }); + }); + }, }, { - selector: '.viewWrapper .chooser button[data-viewid="celllinedb_expression_vs_copynumber"]', + selector: '.lu-dialog .lu-dialog-table', + html: `Then filter cell lines with unknown types and submit the filter.`, placement: 'centered', - html: `For instance, clicking on 'Expression vs Copy Number' opens a scatter plot showing the relation of the two types of data`, + postAction: () => { + TourUtils.wait(100) + .then(() => { + TourUtils.click('.lu-dialog > .lu-checkbox input'); + }) + .then(() => { + TourUtils.wait(500).then(() => { + TourUtils.click('.lu-dialog-button[type="submit"]'); + }); + }); + }, + }, + { + selector: '[data-testid="viewWrapper-1"] .lu-side-panel-wrapper .lu-adder > button', + html: `Let's now add the BRCA gene scores.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid="viewWrapper-1"] [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + html: `We want to add a new column`, + placement: 'centered', + postAction: () => { + TourUtils.click( + '[data-testid="viewWrapper-1"] [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + ); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + }, + }, + { + selector: '.modal.show .col > .select3', + placement: 'centered', + preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), + html: `We select the BRCA1 and BRCA2 cell lines.`, + postAction: () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'BRCA1;', 'input'); + TourUtils.wait(400).then(() => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'BRCA2;', 'input'); + }); + }, + }, + { + selector: '.modal.show .col > .select2', + placement: 'centered', + html: `Then set the data type to AA Mutated.`, + postAction: () => { + TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aa_mutated', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `… and click 'Add'`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: ['[data-testid="viewWrapper-1"] [data-index="0"].le-tr, [data-testid="viewWrapper-1"] [data-index="2"].le-tr'], + html: `

      Observe:

      +

      HCC1954 has the highest ERBB2 amplification among BRCA1 mutated cell lines.

      +

      HCC1569 has the highest ERBB2 amplification among BRCA2 mutated cell lines.

      `, + placement: 'centered', + }, + { + selector: '', + html: `Aim: Show information provided by COSMIC about these two cell lines`, + placement: 'centered', + }, + { + selector: ['[data-testid="viewWrapper-1"] [data-index="0"].le-tr, [data-testid="viewWrapper-1"] [data-index="2"].le-tr'], + html: `Select HCC1954 and HCC1569`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid="viewWrapper-1"] [data-index="0"] .lu-renderer-selection'); + TourUtils.click('[data-testid="viewWrapper-1"] [data-index="2"] .lu-renderer-selection'); + }, + }, + { + selector: '[data-testid="viewWrapper-1"] [data-viewid="cosmic"]', + html: `Open the COSMIC detail view`, + placement: 'centered', + preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid="viewWrapper-2"] select', + html: `Use the drop-down menu to switch between the two cell lines.`, + placement: 'centered', + preAction: TourUtils.waitForSelector, postAction: TourUtils.clickSelector, }, { - html: `

      Thanks for joining this tour demonstrating the basic features of Ordino.

      -

      There are many more features to discover. Enjoy!

      `, + html: `

      Thanks for joining this tour demonstrating the assessment of breast cancer cell lines.

      +

      There are still many more features to discover. Enjoy!

      `, }, ]; } From 38fbf9e229c09705e48e04c4c4ac06e98c10bfa7 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Fri, 2 Sep 2022 12:49:20 +0200 Subject: [PATCH 22/38] AssessBCCellLine Tour Complete (Polished) --- src/tours/AssessBCCellLines.ts | 217 ++++++++++++++------------------- 1 file changed, 91 insertions(+), 126 deletions(-) diff --git a/src/tours/AssessBCCellLines.ts b/src/tours/AssessBCCellLines.ts index 0bff31c2..69d3a31d 100644 --- a/src/tours/AssessBCCellLines.ts +++ b/src/tours/AssessBCCellLines.ts @@ -1,4 +1,4 @@ -import {ToursSection} from 'ordino'; +// import {ToursSection} from 'ordino'; import { IStep, Tour, TourUtils } from 'tdp_core'; export class AssessBCCellLines { @@ -6,6 +6,7 @@ export class AssessBCCellLines { return [ { html: `

      Welcome to this short tour showing the assessment of breast cancer cell lines!

      +

      This tour will follow an analysis session from the perspective of a drug discovery team at a pharmaceutical company.

      Use the "Next" button to iterate through all the steps. You can use the "Cancel" button at any time to stop the tour and to interact with Ordino. @@ -15,7 +16,7 @@ export class AssessBCCellLines { }, { selector: 'ul[data-header="mainMenu"] > li:first-child > a', - html: `To start an analysis, click on the 'Datasets' tab. Subsequently, you can define the list of entities you want to work with`, + html: `To start the analysis, the team clicks on the 'Datasets' tab.`, placement: 'centered', preAction: () => { const datasetTab = document.querySelector('ul[data-header="mainMenu"] > li:nth-child(1)') as HTMLElement; @@ -35,14 +36,15 @@ export class AssessBCCellLines { }, { selector: '.ordino-dataset.genes-dataset > .card', - html: `

      You can choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

      In this example we will work with a list of genes

      `, + html: `

      Here they choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

      +

      In this example they choose to work with a list of genes.

      `, 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: '[data-testid="normal-chromosome-protein-coding-human-genes-button"]', - html: `The scientist starts by loading the list of all protein coding genes.`, + html: `The scientists start by loading the list of all protein coding genes for humans.`, placement: 'centered', postAction: () => { return TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: normal chromosome protein coding human genes"]').then( @@ -59,13 +61,13 @@ export class AssessBCCellLines { }, { selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `Additional columns can be added using the plus sign.`, + html: `They begin by adding an additional column, done so by clicking on the plus icon shown here.`, placement: 'centered', postAction: TourUtils.clickSelector, }, { selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', - html: `First, we want to add a new column`, + html: `They choose to add a column for a single cell line score.`, placement: 'centered', postAction: () => { TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); @@ -76,7 +78,7 @@ export class AssessBCCellLines { selector: '.modal.show .col > .select3', placement: 'centered', preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), - html: `We select the Cell Line`, + html: `Now they select the cell line 'HCC1954' …`, postAction: () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); }, @@ -84,125 +86,90 @@ export class AssessBCCellLines { { selector: '.modal.show .col > .select2', placement: 'centered', - html: `and the data type`, + html: `… and the data type as 'Relative Copy Number' …`, postAction: () => { TourUtils.setValueAndTrigger('.show .col > select', 'copy_number-relativecopynumber', 'change'); }, }, { selector: '.modal.show .modal-footer button[type=submit]', - html: `… and click 'Add'`, + html: `… and click 'Add'.`, placement: 'centered', postAction: TourUtils.clickSelector, }, - { - selector: '.le header [data-col-id="col8"]', - placement: 'centered', - html: `The new column was added here`, - preAction: TourUtils.waitForSelector, - }, { selector: '.le [data-col-id="col8"] .lu-action-sort', placement: 'centered', - html: `Now, we want to sort by this column`, + html: `They want to sort by this newly added column, so they click on the sort button in the column header.`, + preAction: () => TourUtils.waitFor('.le [data-col-id="col8"] .lu-action-sort'), postAction: () => { TourUtils.click('.le [data-col-id="col8"] .lu-action-sort'); }, }, { - selector: '.le.le-multi.lineup-engine', - placement: 'centered', - html: `Now everything was sorted!`, - }, - { - selector: '.le.le-multi.lineup-engine', + selector: ['[data-index="0"].le-tr, [data-index="14"].le-tr'], placement: 'centered', - html: `After sorting by this column, the analyst observes - that about 15 genes on chromosome 17 are affected by a large genomic amplification.`, + html: `After sorting by this column, the analyst observes that about 15 genes on chromosome 17 are affected by a large genomic amplification.`, }, { selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `In order to identify the most relevant gene of these, the analyst adds a column with the gene expression (a measure of activity) in HCC1954`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', - html: `We want to add a 2nd new column`, + html: `

      In order to identify the most relevant of these genes, the analyst adds a column with the Normalized Gene Expression (a measure of activity) for cell line HCC1954

      +

      Individual steps for adding a column have been skipped this time.

      `, placement: 'centered', postAction: () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.modal.show').then(() => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'expression-tpm', 'change'); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); }, }, { - selector: '.modal.show .col > .select3', - placement: 'centered', - preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), - html: `We select the 2nd Cell Line`, - postAction: () => { - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); - }, - }, - { - selector: '.modal.show .col > .select2', + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `They also add a column with a Gene Sensitivity Score (a measure of importance for cell survival) for HCC1954.`, placement: 'centered', - html: `and the 2nd data type`, + preAction: () => TourUtils.waitFor('.le header [data-col-id="col9"]').then(() => TourUtils.wait(500)), postAction: () => { - TourUtils.setValueAndTrigger('.show .col > select', 'expression-tpm', 'change'); + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); }, }, - { - selector: '.modal.show .modal-footer button[type=submit]', - html: `… and click 'Add'`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `They also add a gene sensitivity score (a measure of importance for cell survival) for HCC1954 (RSA scores obtained from DRIVE data set [4]).`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, { selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span', - html: `We want to add a 3rd new column`, + html: `

      To do so, they select to add a 'Depletion Screen Score (Single)' column.

      +

      Similarly, the specific steps for adding a column have been skipped this time.

      `, placement: 'centered', postAction: () => { TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.modal.show').then(() => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'depletion-rsa', 'change'); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); }, }, { - selector: '.modal.show .col > .select3', - placement: 'centered', - preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), - html: `We select the 3rd Cell Line`, - postAction: () => { - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); - }, - }, - { - selector: '.modal.show .col > .select2', + selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', + html: `

      In an effort to improve the depletion score's readability, they decide to invert the linear scaling.

      +

      To do this, they click on the three dots for more column options.

      `, placement: 'centered', - html: `and the 3rd data type`, - postAction: () => { - TourUtils.setValueAndTrigger('.show .col > select', 'depletion-rsa', 'change'); - }, + preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, }, { - selector: '.modal.show .modal-footer button[type=submit]', - html: `… and click 'Add'`, + selector: '.lu-action-data-mapping > span', + html: `They now click on 'Data Mapping'.`, placement: 'centered', postAction: TourUtils.clickSelector, }, { - selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', - html: `We now want to invert the linear scaling of the depletion screen score to improve the scale's readability.`, + selector: ['.browser-default, .lu-dialog-buttons > [type="submit"]'], + html: `They select the 'Invert' option in the Normalization Scaling dropdown and then click on the tick at the bottom right to apply the new mapping.`, placement: 'centered', postAction: () => { - TourUtils.click('[data-id="col10"] > .lu-toolbar > .lu-action-more'); - TourUtils.click('.lu-action-data-mapping > span'); TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); TourUtils.click('.lu-dialog-buttons > [type="submit"]'); }, @@ -210,11 +177,11 @@ export class AssessBCCellLines { { selector: '[data-index="0"]', placement: 'centered', - html: `Observe: Of the highly amplified genes, ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, + html: `Observe: Of the highly amplified genes, they notice that ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, }, { selector: ['.le header [data-col-id="col9"], .le header [data-col-id="col10"]'], - html: `

      Combine both score columns to obtain stacked bars.

      + html: `

      They can combine both score columns by dragging them together to obtain stacked bars.

      Observe: Combining the columns highlights the importance of ERBB2.

      It is therefore probably the most relevant gene within this amplified genomic region.

      `, placement: 'centered', @@ -224,22 +191,22 @@ export class AssessBCCellLines { html: `

      This finding leads the scientist to the question whether ERBB2 is also highly expressed and frequently amplified in other breast cancer cell lines.

      To investigate this, the analyst adds the following columns:

        -
      • A column with the average gene expression
      • -
      • A column with the gene copy number distribution
      • -
      • A column with the gene amplification frequency across all breast cancer cell lines
      • +
      • A column with the average gene expression for breast cancer cell lines
      • +
      • A column with the gene copy number distribution for breast cancer cell lines in boxplot format
      • +
      • A column with the gene amplification frequency (>4) across all breast cancer cell lines

      `, placement: 'centered', }, { selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `1. A column with the average gene expression`, + html: `1. A column with the average gene expression for breast cancer cell lines`, placement: 'centered', postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - return TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); TourUtils.setValueAndTrigger( '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', @@ -248,22 +215,22 @@ export class AssessBCCellLines { ); TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); - TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + TourUtils.wait(1000).then(() => { + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); }); }, }, { selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `2. A column with the gene copy number distribution`, + html: `2. A column with the gene copy number distribution for breast cancer cell lines in boxplot format`, placement: 'centered', - preAction: () => { - TourUtils.waitFor('.le header [data-col-id="col11"]'); - }, + preAction: () => TourUtils.waitFor('.le header [data-col-id="col11"]'), postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - return TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); TourUtils.setValueAndTrigger( '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', @@ -272,22 +239,22 @@ export class AssessBCCellLines { ); TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'boxplot', 'change'); - TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + TourUtils.wait(1000).then(() => { + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); }); }, }, { selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `3. A column with the gene amplification frequency across all breast cancer cell lines`, + html: `3. A column with the gene amplification frequency (>4) across all breast cancer cell lines`, placement: 'centered', - preAction: () => { - TourUtils.waitFor('.le header [data-col-id="col12"]'); - }, + preAction: () => TourUtils.waitFor('.le header [data-col-id="col12"]'), postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - return TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); TourUtils.setValueAndTrigger( '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', @@ -300,79 +267,77 @@ export class AssessBCCellLines { TourUtils.setValueAndTrigger('.show [data-testid="comparison-operator"] select', '>', 'change'); TourUtils.setValueAndTrigger('.show [type="number"]', '4', 'input'); }); - TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + TourUtils.wait(1000).then(() => { + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); }); }, }, { selector: '.le.le-multi.lineup-engine', - html: `Observe: ERBB2 is amplified in almost 25% of all assessed breast cancer cell lines. Further, it is highly expressed.`, + html: `Observe: They notice that ERBB2 is amplified in almost 25% of all assessed breast cancer cell lines. Further, it is highly expressed.`, placement: 'centered', - preAction: () => { - TourUtils.waitFor('.le header [data-col-id="col13"]'); - }, + preAction: () => TourUtils.waitFor('.le header [data-col-id="col13"]'), }, { selector: '[data-index="0"] .lu-renderer-selection', html: `

      The aim is now to get more information about ERBB2.

      -

      Select ERBB2 in the list.

      `, +

      They select ERBB2 in the list.

      `, placement: 'centered', postAction: TourUtils.clickSelector, }, { selector: '[data-viewid="celllinedb_expression_vs_copynumber"]', - html: `Open the Expression vs Copy Number detail view`, + html: `They open the Expression vs Copy Number detail view.`, placement: 'centered', preAction: TourUtils.waitForSelector, postAction: TourUtils.clickSelector, }, { selector: '.ids', - html: `Observe the direct correlation between copy number and expression of ERBB2`, + html: `Here they observe the direct correlation between copy number and expression of ERBB2.`, placement: 'centered', - preAction: () => { - return TourUtils.waitFor('.ids'); - }, + preAction: () => TourUtils.waitFor('.ids').then(() => TourUtils.wait(300)), }, { selector: '[data-viewid="targetvalidation"]', - html: `Now open the Open Targets detail view...`, + html: `To find more information, they open the 'Open Targets' detail view …`, placement: 'centered', postAction: TourUtils.clickSelector, }, { selector: '[data-viewid="pubmed"]', - html: `...and the PubMed detail view.`, + html: `… and then the 'PubMed' detail view.`, placement: 'centered', postAction: TourUtils.clickSelector, }, { selector: '', - html: `Question: In what cell lines is ERBB2 amplified? Select cell lines with ERBB2 amplification that have mutation in BRCA1 or BRCA2`, + html: `Their question is now: In what cell lines is ERBB2 amplified?`, placement: 'centered', }, { selector: '[data-viewid="copynumbertable"]', - html: `Start by opening the Copy Number detail view`, + html: `They continue by opening the Copy Number detail view …`, placement: 'centered', postAction: TourUtils.clickSelector, }, { selector: '[data-id="col7"] .lu-action-sort', - html: `Now sort by the copy number`, + html: `… and then sorting by the copy number.`, placement: 'centered', preAction: TourUtils.waitForSelector, postAction: TourUtils.clickSelector, }, { selector: '[data-testid="viewWrapper-1"] [data-id="col4"] .lu-action-filter', - html: `Filter for breast cancer via column menu of column tumor type (also filter out cell lines with unknown tumor type)`, + html: `They want to filter for breast cancer via the column menu of column 'Tumor Type', while also filtering out cell lines with unknown tumor types.`, placement: 'centered', postAction: TourUtils.clickSelector, }, { selector: '.lu-dialog .lu-dialog-table', - html: `First select only the "breast carcinoma" tumor type.`, + html: `First they select only the "breast carcinoma" tumor type.`, placement: 'centered', postAction: () => { TourUtils.wait(100) @@ -387,8 +352,8 @@ export class AssessBCCellLines { }, }, { - selector: '.lu-dialog .lu-dialog-table', - html: `Then filter cell lines with unknown types and submit the filter.`, + selector: ['.lu-dialog .lu-dialog-table, .lu-dialog-button[title="Apply"]'], + html: `Then they filter out cell lines with unknown types (the missing value rows) and submit the filter.`, placement: 'centered', postAction: () => { TourUtils.wait(100) @@ -404,13 +369,13 @@ export class AssessBCCellLines { }, { selector: '[data-testid="viewWrapper-1"] .lu-side-panel-wrapper .lu-adder > button', - html: `Let's now add the BRCA gene scores.`, + html: `They now want to add the BRCA gene score columns.`, placement: 'centered', postAction: TourUtils.clickSelector, }, { selector: '[data-testid="viewWrapper-1"] [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', - html: `We want to add a new column`, + html: `Once again, they use the plus icon to add a new column.`, placement: 'centered', postAction: () => { TourUtils.click( @@ -423,7 +388,7 @@ export class AssessBCCellLines { selector: '.modal.show .col > .select3', placement: 'centered', preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), - html: `We select the BRCA1 and BRCA2 cell lines.`, + html: `Here they select the BRCA1 and BRCA2 cell lines …`, postAction: () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'BRCA1;', 'input'); TourUtils.wait(400).then(() => { @@ -434,14 +399,14 @@ export class AssessBCCellLines { { selector: '.modal.show .col > .select2', placement: 'centered', - html: `Then set the data type to AA Mutated.`, + html: `… and then they set the data type to AA Mutated …`, postAction: () => { TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aa_mutated', 'change'); }, }, { selector: '.modal.show .modal-footer button[type=submit]', - html: `… and click 'Add'`, + html: `… and click 'Add'.`, placement: 'centered', postAction: TourUtils.clickSelector, }, @@ -451,15 +416,16 @@ export class AssessBCCellLines {

      HCC1954 has the highest ERBB2 amplification among BRCA1 mutated cell lines.

      HCC1569 has the highest ERBB2 amplification among BRCA2 mutated cell lines.

      `, placement: 'centered', + preAction: () => TourUtils.waitFor('[data-testid="viewWrapper-1"] .le header [data-col-id="col8"]'), }, { selector: '', - html: `Aim: Show information provided by COSMIC about these two cell lines`, + html: `Finally, their aim is to find information provided by COSMIC about these two cell lines.`, placement: 'centered', }, { selector: ['[data-testid="viewWrapper-1"] [data-index="0"].le-tr, [data-testid="viewWrapper-1"] [data-index="2"].le-tr'], - html: `Select HCC1954 and HCC1569`, + html: `They select HCC1954 and HCC1569 …`, placement: 'centered', postAction: () => { TourUtils.click('[data-testid="viewWrapper-1"] [data-index="0"] .lu-renderer-selection'); @@ -468,17 +434,16 @@ export class AssessBCCellLines { }, { selector: '[data-testid="viewWrapper-1"] [data-viewid="cosmic"]', - html: `Open the COSMIC detail view`, + html: `… and open the COSMIC detail view.`, placement: 'centered', preAction: TourUtils.waitForSelector, postAction: TourUtils.clickSelector, }, { selector: '[data-testid="viewWrapper-2"] select', - html: `Use the drop-down menu to switch between the two cell lines.`, + html: `Here they can use the drop-down menu to switch between the two cell lines.`, placement: 'centered', - preAction: TourUtils.waitForSelector, - postAction: TourUtils.clickSelector, + preAction: () => TourUtils.waitFor('[data-testid="viewWrapper-2"] select').then(() => TourUtils.wait(1000)), }, { html: `

      Thanks for joining this tour demonstrating the assessment of breast cancer cell lines.

      From cbfdd78f265fb1626d98a1752af08a3a9e1b11f8 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Fri, 2 Sep 2022 13:17:39 +0200 Subject: [PATCH 23/38] Prep PredictionTP53Tour and slight refactoring --- src/phovea.ts | 23 +- ...CCellLines.ts => AssessBCCellLinesTour.ts} | 4 +- src/tours/PredictionTP53Tour.ts | 459 ++++++++++++++++++ src/tours/index.ts | 3 +- src/tours/tempNew.tempNew | 56 --- 5 files changed, 484 insertions(+), 61 deletions(-) rename src/tours/{AssessBCCellLines.ts => AssessBCCellLinesTour.ts} (99%) create mode 100644 src/tours/PredictionTP53Tour.ts delete mode 100644 src/tours/tempNew.tempNew diff --git a/src/phovea.ts b/src/phovea.ts index 37ace83e..1465d36f 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -1061,9 +1061,9 @@ export default function (registry) { registry.push( 'tdpTour', - 'ordinoAssessBCCellLines', + 'ordinoAssessBCCellLinesTour', function () { - return import('./tours').then((t) => t.AssessBCCellLines); + return import('./tours').then((t) => t.AssessBCCellLinesTour); }, { factory: 'createTour', @@ -1077,6 +1077,25 @@ export default function (registry) { canJumpAround: false, }, ); + + registry.push( + 'tdpTour', + 'ordinoPredictionTP53Tour', + function () { + return import('./tours').then((t) => t.PredictionTP53Tour); + }, + { + factory: 'createTour', + name: 'Something about TP53 Mutation', + description: 'Add description here.', + preview() { + return import('./assets/previews/expression.jpg'); // TODO update preview image + }, + multiPage: true, + level: 'beginner', + canJumpAround: false, + }, + ); /// #endif registry.push( diff --git a/src/tours/AssessBCCellLines.ts b/src/tours/AssessBCCellLinesTour.ts similarity index 99% rename from src/tours/AssessBCCellLines.ts rename to src/tours/AssessBCCellLinesTour.ts index 69d3a31d..555d5d39 100644 --- a/src/tours/AssessBCCellLines.ts +++ b/src/tours/AssessBCCellLinesTour.ts @@ -1,7 +1,7 @@ // import {ToursSection} from 'ordino'; import { IStep, Tour, TourUtils } from 'tdp_core'; -export class AssessBCCellLines { +export class AssessBCCellLinesTour { static createTour(): IStep[] { return [ { @@ -57,7 +57,7 @@ export class AssessBCCellLines { 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)), + preAction: () => TourUtils.waitFor('.le.le-multi.lineup-engine', Infinity).then(() => TourUtils.wait(1500)), }, { selector: '.lu-side-panel-wrapper .lu-adder > button', diff --git a/src/tours/PredictionTP53Tour.ts b/src/tours/PredictionTP53Tour.ts new file mode 100644 index 00000000..3cd40e88 --- /dev/null +++ b/src/tours/PredictionTP53Tour.ts @@ -0,0 +1,459 @@ +// import {ToursSection} from 'ordino'; +import { IStep, Tour, TourUtils } from 'tdp_core'; + +export class PredictionTP53Tour { + static createTour(): IStep[] { + return [ + { + html: `

      Welcome to this short tour showing the assessment of breast cancer cell lines!

      +

      This tour will follow an analysis session from the perspective of a drug discovery team at a pharmaceutical company.

      +

      + Use the "Next" button to iterate through all the steps. You can use the + "Cancel" 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. +

      `, + }, + { + selector: 'ul[data-header="mainMenu"] > li:first-child > a', + html: `To start the analysis, the team clicks on the 'Datasets' tab.`, + 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: '.le.le-multi.lineup-engine', + html: `TOUR IS HERE SO FAR`, + placement: 'centered', + }, + { + selector: '.ordino-dataset.genes-dataset > .card', + html: `

      Here they choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

      +

      In this example they choose to work with a list of genes.

      `, + 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: '[data-testid="normal-chromosome-protein-coding-human-genes-button"]', + html: `The scientists start by loading the list of all protein coding genes for humans.`, + placement: 'centered', + postAction: () => { + return TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: normal chromosome protein coding human genes"]').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: `They begin by adding an additional column, done so by clicking on the plus icon shown here.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + html: `They choose to add a column for a single cell line score.`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + }, + }, + { + selector: '.modal.show .col > .select3', + placement: 'centered', + preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), + html: `Now they select the cell line 'HCC1954' …`, + postAction: () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + }, + }, + { + selector: '.modal.show .col > .select2', + placement: 'centered', + html: `… and the data type as 'Relative Copy Number' …`, + postAction: () => { + TourUtils.setValueAndTrigger('.show .col > select', 'copy_number-relativecopynumber', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `… and click 'Add'.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.le [data-col-id="col8"] .lu-action-sort', + placement: 'centered', + html: `They want to sort by this newly added column, so they click on the sort button in the column header.`, + preAction: () => TourUtils.waitFor('.le [data-col-id="col8"] .lu-action-sort'), + postAction: () => { + TourUtils.click('.le [data-col-id="col8"] .lu-action-sort'); + }, + }, + { + selector: ['[data-index="0"].le-tr, [data-index="14"].le-tr'], + placement: 'centered', + html: `After sorting by this column, the analyst observes that about 15 genes on chromosome 17 are affected by a large genomic amplification.`, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `

      In order to identify the most relevant of these genes, the analyst adds a column with the Normalized Gene Expression (a measure of activity) for cell line HCC1954

      +

      Individual steps for adding a column have been skipped this time.

      `, + placement: 'centered', + postAction: () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.modal.show').then(() => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'expression-tpm', 'change'); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `They also add a column with a Gene Sensitivity Score (a measure of importance for cell survival) for HCC1954.`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le header [data-col-id="col9"]').then(() => TourUtils.wait(500)), + postAction: () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + }, + }, + { + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span', + html: `

      To do so, they select to add a 'Depletion Screen Score (Single)' column.

      +

      Similarly, the specific steps for adding a column have been skipped this time.

      `, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.modal.show').then(() => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'depletion-rsa', 'change'); + TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); + }, + }, + { + selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', + html: `

      In an effort to improve the depletion score's readability, they decide to invert the linear scaling.

      +

      To do this, they click on the three dots for more column options.

      `, + placement: 'centered', + preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-action-data-mapping > span', + html: `They now click on 'Data Mapping'.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: ['.browser-default, .lu-dialog-buttons > [type="submit"]'], + html: `They select the 'Invert' option in the Normalization Scaling dropdown and then click on the tick at the bottom right to apply the new mapping.`, + placement: 'centered', + postAction: () => { + TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); + TourUtils.click('.lu-dialog-buttons > [type="submit"]'); + }, + }, + { + selector: '[data-index="0"]', + placement: 'centered', + html: `Observe: Of the highly amplified genes, they notice that ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, + }, + { + selector: ['.le header [data-col-id="col9"], .le header [data-col-id="col10"]'], + html: `

      They can combine both score columns by dragging them together to obtain stacked bars.

      +

      Observe: Combining the columns highlights the importance of ERBB2.

      +

      It is therefore probably the most relevant gene within this amplified genomic region.

      `, + placement: 'centered', + }, + { + selector: '[data-index="0"]', + html: `

      This finding leads the scientist to the question whether ERBB2 is also highly expressed and frequently amplified in other breast cancer cell lines.

      +

      To investigate this, the analyst adds the following columns: +

        +
      • A column with the average gene expression for breast cancer cell lines
      • +
      • A column with the gene copy number distribution for breast cancer cell lines in boxplot format
      • +
      • A column with the gene amplification frequency (>4) across all breast cancer cell lines
      • +
      +

      `, + placement: 'centered', + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `1. A column with the average gene expression for breast cancer cell lines`, + placement: 'centered', + postAction: () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger( + '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + 'breast carcinoma', + 'change', + ); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); + TourUtils.wait(1000).then(() => { + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); + }); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `2. A column with the gene copy number distribution for breast cancer cell lines in boxplot format`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le header [data-col-id="col11"]'), + postAction: () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger( + '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + 'breast carcinoma', + 'change', + ); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'boxplot', 'change'); + TourUtils.wait(1000).then(() => { + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); + }); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `3. A column with the gene amplification frequency (>4) across all breast cancer cell lines`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le header [data-col-id="col12"]'), + postAction: () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + TourUtils.setValueAndTrigger( + '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + 'breast carcinoma', + 'change', + ); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'frequency', 'change'); + TourUtils.waitFor('.show [data-testid="Comparison Operator"]').then(() => { + TourUtils.setValueAndTrigger('.show [data-testid="comparison-operator"] select', '>', 'change'); + TourUtils.setValueAndTrigger('.show [type="number"]', '4', 'input'); + }); + TourUtils.wait(1000).then(() => { + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); + }); + }, + }, + { + selector: '.le.le-multi.lineup-engine', + html: `Observe: They notice that ERBB2 is amplified in almost 25% of all assessed breast cancer cell lines. Further, it is highly expressed.`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le header [data-col-id="col13"]'), + }, + { + selector: '[data-index="0"] .lu-renderer-selection', + html: `

      The aim is now to get more information about ERBB2.

      +

      They select ERBB2 in the list.

      `, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-viewid="celllinedb_expression_vs_copynumber"]', + html: `They open the Expression vs Copy Number detail view.`, + placement: 'centered', + preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, + }, + { + selector: '.ids', + html: `Here they observe the direct correlation between copy number and expression of ERBB2.`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.ids').then(() => TourUtils.wait(300)), + }, + { + selector: '[data-viewid="targetvalidation"]', + html: `To find more information, they open the 'Open Targets' detail view …`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-viewid="pubmed"]', + html: `… and then the 'PubMed' detail view.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '', + html: `Their question is now: In what cell lines is ERBB2 amplified?`, + placement: 'centered', + }, + { + selector: '[data-viewid="copynumbertable"]', + html: `They continue by opening the Copy Number detail view …`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-id="col7"] .lu-action-sort', + html: `… and then sorting by the copy number.`, + placement: 'centered', + preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid="viewWrapper-1"] [data-id="col4"] .lu-action-filter', + html: `They want to filter for breast cancer via the column menu of column 'Tumor Type', while also filtering out cell lines with unknown tumor types.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-dialog .lu-dialog-table', + html: `First they select only the "breast carcinoma" tumor type.`, + placement: 'centered', + postAction: () => { + TourUtils.wait(100) + .then(() => { + TourUtils.click('.lu-dialog-table .lu-checkbox:first-child'); + }) + .then(() => { + TourUtils.wait(500).then(() => { + TourUtils.click('input[type="checkbox"][data-cat="breast carcinoma"]'); + }); + }); + }, + }, + { + selector: ['.lu-dialog .lu-dialog-table, .lu-dialog-button[title="Apply"]'], + html: `Then they filter out cell lines with unknown types (the missing value rows) and submit the filter.`, + placement: 'centered', + postAction: () => { + TourUtils.wait(100) + .then(() => { + TourUtils.click('.lu-dialog > .lu-checkbox input'); + }) + .then(() => { + TourUtils.wait(500).then(() => { + TourUtils.click('.lu-dialog-button[type="submit"]'); + }); + }); + }, + }, + { + selector: '[data-testid="viewWrapper-1"] .lu-side-panel-wrapper .lu-adder > button', + html: `They now want to add the BRCA gene score columns.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid="viewWrapper-1"] [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + html: `Once again, they use the plus icon to add a new column.`, + placement: 'centered', + postAction: () => { + TourUtils.click( + '[data-testid="viewWrapper-1"] [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + ); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + }, + }, + { + selector: '.modal.show .col > .select3', + placement: 'centered', + preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), + html: `Here they select the BRCA1 and BRCA2 cell lines …`, + postAction: () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'BRCA1;', 'input'); + TourUtils.wait(400).then(() => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'BRCA2;', 'input'); + }); + }, + }, + { + selector: '.modal.show .col > .select2', + placement: 'centered', + html: `… and then they set the data type to AA Mutated …`, + postAction: () => { + TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aa_mutated', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `… and click 'Add'.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: ['[data-testid="viewWrapper-1"] [data-index="0"].le-tr, [data-testid="viewWrapper-1"] [data-index="2"].le-tr'], + html: `

      Observe:

      +

      HCC1954 has the highest ERBB2 amplification among BRCA1 mutated cell lines.

      +

      HCC1569 has the highest ERBB2 amplification among BRCA2 mutated cell lines.

      `, + placement: 'centered', + preAction: () => TourUtils.waitFor('[data-testid="viewWrapper-1"] .le header [data-col-id="col8"]'), + }, + { + selector: '', + html: `Finally, their aim is to find information provided by COSMIC about these two cell lines.`, + placement: 'centered', + }, + { + selector: ['[data-testid="viewWrapper-1"] [data-index="0"].le-tr, [data-testid="viewWrapper-1"] [data-index="2"].le-tr'], + html: `They select HCC1954 and HCC1569 …`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid="viewWrapper-1"] [data-index="0"] .lu-renderer-selection'); + TourUtils.click('[data-testid="viewWrapper-1"] [data-index="2"] .lu-renderer-selection'); + }, + }, + { + selector: '[data-testid="viewWrapper-1"] [data-viewid="cosmic"]', + html: `… and open the COSMIC detail view.`, + placement: 'centered', + preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid="viewWrapper-2"] select', + html: `Here they can use the drop-down menu to switch between the two cell lines.`, + placement: 'centered', + preAction: () => TourUtils.waitFor('[data-testid="viewWrapper-2"] select').then(() => TourUtils.wait(1000)), + }, + { + html: `

      Thanks for joining this tour demonstrating the assessment of breast cancer cell lines.

      +

      There are still many more features to discover. Enjoy!

      `, + }, + ]; + } +} diff --git a/src/tours/index.ts b/src/tours/index.ts index 7d9d1f5d..a0d72ccf 100644 --- a/src/tours/index.ts +++ b/src/tours/index.ts @@ -1,4 +1,5 @@ export * from './WelcomeTour'; export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; -export * from './AssessBCCellLines'; +export * from './AssessBCCellLinesTour'; +export * from './PredictionTP53Tour'; diff --git a/src/tours/tempNew.tempNew b/src/tours/tempNew.tempNew deleted file mode 100644 index 7837a792..00000000 --- a/src/tours/tempNew.tempNew +++ /dev/null @@ -1,56 +0,0 @@ -{ - html: `

      Welcome to this short tour showing the assessment of breast cancer cell lines!

      -

      - Use the "Next" button to iterate through all the steps. You can use the - "Cancel" 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. -

      `, - }, - { - selector: 'ul[data-header="mainMenu"] > li:first-child > a', - html: `Go to Datasets Tab`, - 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)')); - }, - }, - { - selector: '.ordino-dataset.genes-dataset > .card', - html: `Click on Genes > Human > Normal-chromosome-...`, - 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'); - TourUtils.click('[data-testid=normal-chromosome-protein-coding-human-genes-button]'); - }, - pageBreak: 'manual', - }, - { - selector: '[data-testid=add-column-button]', - html: `Add a column`, - placement: 'centered', - preAction: () => { - TourUtils.waitFor('[data-testid=add-column-button]', Infinity); - }, - postAction: () => { - TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: Cancer Gene Census"]').then(TourUtils.click); - }, - }, - { - html: `

      Thanks for joining this tour demonstrating the basic features of Ordino.

      -

      There are many more features to discover. Enjoy!

      `, - }, \ No newline at end of file From 9efaeffcad0f502901dca37ec9cb57c24eecc8c9 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Mon, 5 Sep 2022 13:16:22 +0200 Subject: [PATCH 24/38] Updated Tour2 --- src/tours/PredictionTP53Tour.ts | 46 ++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/src/tours/PredictionTP53Tour.ts b/src/tours/PredictionTP53Tour.ts index 3cd40e88..f866b97a 100644 --- a/src/tours/PredictionTP53Tour.ts +++ b/src/tours/PredictionTP53Tour.ts @@ -34,19 +34,53 @@ export class PredictionTP53Tour { }, pageBreak: 'manual', }, - { - selector: '.le.le-multi.lineup-engine', - html: `TOUR IS HERE SO FAR`, - placement: 'centered', - }, { selector: '.ordino-dataset.genes-dataset > .card', html: `

      Here they choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

      -

      In this example they choose to work with a list of genes.

      `, +

      In this example they choose to work with a list of 13 specific genes.

      `, 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 .show .ordino-dataset-searchbox', + html: `

      12To create a set with these specific genes, they add each gene into the highlighted field.

      `, + placement: 'centered', + postAction: () => { + // TourUtils.click('.ordino-dataset.genes-dataset .show .ordino-dataset-searchbox input'); + // TourUtils.setValueAndTrigger('.ordino-dataset.genes-dataset .show .ordino-dataset-searchbox input', 'AEN;', 'input'); + // TourUtils.keyDownEnter('.ordino-dataset.genes-dataset .show .ordino-dataset-searchbox input'); + }, + }, + { + selector: '.ordino-dataset.genes-dataset .show [data-testid="save-button"]', + html: `Once the genes have been added, they choose to save these genes as a custom set.`, + placement: 'centered', + postAction: () => TourUtils.clickSelector, + }, + { + selector: '.ordino-dataset.tissue-dataset', + html: `Next they aim to test the applicability of gene signature using TCGA tumor samples.`, + placement: 'centered', + }, + { + selector: '.ordino-dataset.tissue-dataset [data-testid="tcga-tumors-button"]', + html: `They start by opening a list of all TCGA tumors.`, + placement: 'centered', + postAction: () => TourUtils.clickSelector, + 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(1500)), + }, + { + selector: '', + html: `THE TOUR IS HERE SO FAR`, + placement: 'centered', + }, { selector: '[data-testid="normal-chromosome-protein-coding-human-genes-button"]', html: `The scientists start by loading the list of all protein coding genes for humans.`, From d4184c1f71a4f1988f4ae22487858da565287a18 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Mon, 5 Sep 2022 13:55:17 +0200 Subject: [PATCH 25/38] Updated Tour2 --- src/tours/PredictionTP53Tour.ts | 409 +------------------------------- 1 file changed, 4 insertions(+), 405 deletions(-) diff --git a/src/tours/PredictionTP53Tour.ts b/src/tours/PredictionTP53Tour.ts index f866b97a..3a2506b9 100644 --- a/src/tours/PredictionTP53Tour.ts +++ b/src/tours/PredictionTP53Tour.ts @@ -70,423 +70,22 @@ export class PredictionTP53Tour { postAction: () => TourUtils.clickSelector, 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(1500)), - }, - { - selector: '', - html: `THE TOUR IS HERE SO FAR`, - placement: 'centered', - }, - { - selector: '[data-testid="normal-chromosome-protein-coding-human-genes-button"]', - html: `The scientists start by loading the list of all protein coding genes for humans.`, - placement: 'centered', - postAction: () => { - return TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: normal chromosome protein coding human genes"]').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: `They begin by adding an additional column, done so by clicking on the plus icon shown here.`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', - html: `They choose to add a column for a single cell line score.`, - placement: 'centered', - postAction: () => { - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - }, - }, - { - selector: '.modal.show .col > .select3', - placement: 'centered', - preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), - html: `Now they select the cell line 'HCC1954' …`, - postAction: () => { - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); - }, - }, - { - selector: '.modal.show .col > .select2', - placement: 'centered', - html: `… and the data type as 'Relative Copy Number' …`, - postAction: () => { - TourUtils.setValueAndTrigger('.show .col > select', 'copy_number-relativecopynumber', 'change'); - }, - }, - { - selector: '.modal.show .modal-footer button[type=submit]', - html: `… and click 'Add'.`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '.le [data-col-id="col8"] .lu-action-sort', - placement: 'centered', - html: `They want to sort by this newly added column, so they click on the sort button in the column header.`, - preAction: () => TourUtils.waitFor('.le [data-col-id="col8"] .lu-action-sort'), - postAction: () => { - TourUtils.click('.le [data-col-id="col8"] .lu-action-sort'); - }, - }, - { - selector: ['[data-index="0"].le-tr, [data-index="14"].le-tr'], - placement: 'centered', - html: `After sorting by this column, the analyst observes that about 15 genes on chromosome 17 are affected by a large genomic amplification.`, - }, - { - selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `

      In order to identify the most relevant of these genes, the analyst adds a column with the Normalized Gene Expression (a measure of activity) for cell line HCC1954

      -

      Individual steps for adding a column have been skipped this time.

      `, - placement: 'centered', - postAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.modal.show').then(() => { - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); - TourUtils.setValueAndTrigger('.show .col > select', 'expression-tpm', 'change'); - TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); - }); - }, - }, - { - selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `They also add a column with a Gene Sensitivity Score (a measure of importance for cell survival) for HCC1954.`, - placement: 'centered', - preAction: () => TourUtils.waitFor('.le header [data-col-id="col9"]').then(() => TourUtils.wait(500)), - postAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - }, - }, - { - selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span', - html: `

      To do so, they select to add a 'Depletion Screen Score (Single)' column.

      -

      Similarly, the specific steps for adding a column have been skipped this time.

      `, - placement: 'centered', - postAction: () => { - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span'); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.modal.show').then(() => { - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); - TourUtils.setValueAndTrigger('.show .col > select', 'depletion-rsa', 'change'); - TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); - }); - }, - }, - { - selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', - html: `

      In an effort to improve the depletion score's readability, they decide to invert the linear scaling.

      -

      To do this, they click on the three dots for more column options.

      `, - placement: 'centered', - preAction: TourUtils.waitForSelector, - postAction: TourUtils.clickSelector, - }, - { - selector: '.lu-action-data-mapping > span', - html: `They now click on 'Data Mapping'.`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: ['.browser-default, .lu-dialog-buttons > [type="submit"]'], - html: `They select the 'Invert' option in the Normalization Scaling dropdown and then click on the tick at the bottom right to apply the new mapping.`, - placement: 'centered', - postAction: () => { - TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); - TourUtils.click('.lu-dialog-buttons > [type="submit"]'); - }, - }, - { - selector: '[data-index="0"]', - placement: 'centered', - html: `Observe: Of the highly amplified genes, they notice that ERBB2 (HER2) has the highest expression and the lowest sensitivity score. Therefore, it is probably the most relevant gene of this amplicon.`, - }, - { - selector: ['.le header [data-col-id="col9"], .le header [data-col-id="col10"]'], - html: `

      They can combine both score columns by dragging them together to obtain stacked bars.

      -

      Observe: Combining the columns highlights the importance of ERBB2.

      -

      It is therefore probably the most relevant gene within this amplified genomic region.

      `, - placement: 'centered', - }, - { - selector: '[data-index="0"]', - html: `

      This finding leads the scientist to the question whether ERBB2 is also highly expressed and frequently amplified in other breast cancer cell lines.

      -

      To investigate this, the analyst adds the following columns: -

        -
      • A column with the average gene expression for breast cancer cell lines
      • -
      • A column with the gene copy number distribution for breast cancer cell lines in boxplot format
      • -
      • A column with the gene amplification frequency (>4) across all breast cancer cell lines
      • -
      -

      `, - placement: 'centered', - }, - { - selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `1. A column with the average gene expression for breast cancer cell lines`, - placement: 'centered', - postAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { - TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); - TourUtils.setValueAndTrigger( - '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', - 'breast carcinoma', - 'change', - ); - TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); - TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); - TourUtils.wait(1000).then(() => { - TourUtils.click('.modal.show .modal-footer button[type=submit]'); - }); - }); - }, - }, - { - selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `2. A column with the gene copy number distribution for breast cancer cell lines in boxplot format`, - placement: 'centered', - preAction: () => TourUtils.waitFor('.le header [data-col-id="col11"]'), - postAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { - TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); - TourUtils.setValueAndTrigger( - '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', - 'breast carcinoma', - 'change', - ); - TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); - TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'boxplot', 'change'); - TourUtils.wait(1000).then(() => { - TourUtils.click('.modal.show .modal-footer button[type=submit]'); - }); - }); - }, - }, - { - selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `3. A column with the gene amplification frequency (>4) across all breast cancer cell lines`, - placement: 'centered', - preAction: () => TourUtils.waitFor('.le header [data-col-id="col12"]'), - postAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { - TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); - TourUtils.setValueAndTrigger( - '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', - 'breast carcinoma', - 'change', - ); - TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'copy_number-relativecopynumber', 'change'); - TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'frequency', 'change'); - TourUtils.waitFor('.show [data-testid="Comparison Operator"]').then(() => { - TourUtils.setValueAndTrigger('.show [data-testid="comparison-operator"] select', '>', 'change'); - TourUtils.setValueAndTrigger('.show [type="number"]', '4', 'input'); - }); - TourUtils.wait(1000).then(() => { - TourUtils.click('.modal.show .modal-footer button[type=submit]'); - }); - }); - }, + preAction: () => TourUtils.waitFor('.le.le-multi.lineup-engine', Infinity).then(() => TourUtils.wait(1500)), }, { selector: '.le.le-multi.lineup-engine', - html: `Observe: They notice that ERBB2 is amplified in almost 25% of all assessed breast cancer cell lines. Further, it is highly expressed.`, - placement: 'centered', - preAction: () => TourUtils.waitFor('.le header [data-col-id="col13"]'), - }, - { - selector: '[data-index="0"] .lu-renderer-selection', - html: `

      The aim is now to get more information about ERBB2.

      -

      They select ERBB2 in the list.

      `, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '[data-viewid="celllinedb_expression_vs_copynumber"]', - html: `They open the Expression vs Copy Number detail view.`, - placement: 'centered', - preAction: TourUtils.waitForSelector, - postAction: TourUtils.clickSelector, - }, - { - selector: '.ids', - html: `Here they observe the direct correlation between copy number and expression of ERBB2.`, - placement: 'centered', - preAction: () => TourUtils.waitFor('.ids').then(() => TourUtils.wait(300)), - }, - { - selector: '[data-viewid="targetvalidation"]', - html: `To find more information, they open the 'Open Targets' detail view …`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '[data-viewid="pubmed"]', - html: `… and then the 'PubMed' detail view.`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '', - html: `Their question is now: In what cell lines is ERBB2 amplified?`, - placement: 'centered', - }, - { - selector: '[data-viewid="copynumbertable"]', - html: `They continue by opening the Copy Number detail view …`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '[data-id="col7"] .lu-action-sort', - html: `… and then sorting by the copy number.`, - placement: 'centered', - preAction: TourUtils.waitForSelector, - postAction: TourUtils.clickSelector, - }, - { - selector: '[data-testid="viewWrapper-1"] [data-id="col4"] .lu-action-filter', - html: `They want to filter for breast cancer via the column menu of column 'Tumor Type', while also filtering out cell lines with unknown tumor types.`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '.lu-dialog .lu-dialog-table', - html: `First they select only the "breast carcinoma" tumor type.`, - placement: 'centered', - postAction: () => { - TourUtils.wait(100) - .then(() => { - TourUtils.click('.lu-dialog-table .lu-checkbox:first-child'); - }) - .then(() => { - TourUtils.wait(500).then(() => { - TourUtils.click('input[type="checkbox"][data-cat="breast carcinoma"]'); - }); - }); - }, - }, - { - selector: ['.lu-dialog .lu-dialog-table, .lu-dialog-button[title="Apply"]'], - html: `Then they filter out cell lines with unknown types (the missing value rows) and submit the filter.`, - placement: 'centered', - postAction: () => { - TourUtils.wait(100) - .then(() => { - TourUtils.click('.lu-dialog > .lu-checkbox input'); - }) - .then(() => { - TourUtils.wait(500).then(() => { - TourUtils.click('.lu-dialog-button[type="submit"]'); - }); - }); - }, - }, - { - selector: '[data-testid="viewWrapper-1"] .lu-side-panel-wrapper .lu-adder > button', - html: `They now want to add the BRCA gene score columns.`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: '[data-testid="viewWrapper-1"] [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', - html: `Once again, they use the plus icon to add a new column.`, - placement: 'centered', - postAction: () => { - TourUtils.click( - '[data-testid="viewWrapper-1"] [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', - ); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - }, - }, - { - selector: '.modal.show .col > .select3', - placement: 'centered', - preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), - html: `Here they select the BRCA1 and BRCA2 cell lines …`, - postAction: () => { - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'BRCA1;', 'input'); - TourUtils.wait(400).then(() => { - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'BRCA2;', 'input'); - }); - }, - }, - { - selector: '.modal.show .col > .select2', - placement: 'centered', - html: `… and then they set the data type to AA Mutated …`, - postAction: () => { - TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aa_mutated', 'change'); - }, - }, - { - selector: '.modal.show .modal-footer button[type=submit]', - html: `… and click 'Add'.`, - placement: 'centered', - postAction: TourUtils.clickSelector, - }, - { - selector: ['[data-testid="viewWrapper-1"] [data-index="0"].le-tr, [data-testid="viewWrapper-1"] [data-index="2"].le-tr'], - html: `

      Observe:

      -

      HCC1954 has the highest ERBB2 amplification among BRCA1 mutated cell lines.

      -

      HCC1569 has the highest ERBB2 amplification among BRCA2 mutated cell lines.

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('[data-testid="viewWrapper-1"] .le header [data-col-id="col8"]'), + 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(1500)), }, { selector: '', - html: `Finally, their aim is to find information provided by COSMIC about these two cell lines.`, - placement: 'centered', - }, - { - selector: ['[data-testid="viewWrapper-1"] [data-index="0"].le-tr, [data-testid="viewWrapper-1"] [data-index="2"].le-tr'], - html: `They select HCC1954 and HCC1569 …`, - placement: 'centered', - postAction: () => { - TourUtils.click('[data-testid="viewWrapper-1"] [data-index="0"] .lu-renderer-selection'); - TourUtils.click('[data-testid="viewWrapper-1"] [data-index="2"] .lu-renderer-selection'); - }, - }, - { - selector: '[data-testid="viewWrapper-1"] [data-viewid="cosmic"]', - html: `… and open the COSMIC detail view.`, - placement: 'centered', - preAction: TourUtils.waitForSelector, - postAction: TourUtils.clickSelector, - }, - { - selector: '[data-testid="viewWrapper-2"] select', - html: `Here they can use the drop-down menu to switch between the two cell lines.`, + html: `THE TOUR IS HERE SO FAR`, placement: 'centered', - preAction: () => TourUtils.waitFor('[data-testid="viewWrapper-2"] select').then(() => TourUtils.wait(1000)), - }, - { - html: `

      Thanks for joining this tour demonstrating the assessment of breast cancer cell lines.

      -

      There are still many more features to discover. Enjoy!

      `, }, ]; } From 01a3229137fe798b0b61ea221248a74da5d4d3cf Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Tue, 27 Sep 2022 10:13:49 +0200 Subject: [PATCH 26/38] Nearly complete DrugTargetDiscoveryTour --- src/phovea.ts | 6 +- src/tours/DrugTargetDiscoveryTour.ts | 395 +++++++++++++++++++++++++++ src/tours/index.ts | 2 +- 3 files changed, 399 insertions(+), 4 deletions(-) create mode 100644 src/tours/DrugTargetDiscoveryTour.ts diff --git a/src/phovea.ts b/src/phovea.ts index 1465d36f..de89c630 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -1080,13 +1080,13 @@ export default function (registry) { registry.push( 'tdpTour', - 'ordinoPredictionTP53Tour', + 'ordinoDrugTargetDiscoveryTour', function () { - return import('./tours').then((t) => t.PredictionTP53Tour); + return import('./tours').then((t) => t.DrugTargetDiscoveryTour); }, { factory: 'createTour', - name: 'Something about TP53 Mutation', + name: '???Drug Target Discovery', description: 'Add description here.', preview() { return import('./assets/previews/expression.jpg'); // TODO update preview image diff --git a/src/tours/DrugTargetDiscoveryTour.ts b/src/tours/DrugTargetDiscoveryTour.ts new file mode 100644 index 00000000..58f62a8a --- /dev/null +++ b/src/tours/DrugTargetDiscoveryTour.ts @@ -0,0 +1,395 @@ +// import {ToursSection} from 'ordino'; +import { IStep, Tour, TourManager, TourUtils } from 'tdp_core'; + +export class DrugTargetDiscoveryTour { + static createTour(): IStep[] { + return [ + { + html: `

      Welcome to this short tour showing the assessment of breast cancer cell lines!

      +

      This tour will follow an analysis session from the perspective of a drug discovery team at a pharmaceutical company.

      +

      + Use the "Next" button to iterate through all the steps. You can use the + "Cancel" 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. +

      `, + }, + { + selector: 'ul[data-header="mainMenu"] > li:first-child > a', + html: `To start the analysis, the team clicks on the 'Datasets' tab.`, + 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.cellline-dataset').then(() => + TourUtils.click('#ordino_dataset_tab > .ordino-scrollspy-nav > a:nth-child(1)'), + ); + }, + pageBreak: 'manual', + }, + { + selector: '.ordino-dataset.cellline-dataset > .card [data-testid="ccle-button"]', + html: `The analyst begins by loading a list of 1009 cell lines from the public CCLE dataset.`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.ordino-dataset.cellline-dataset > .card [data-testid="ccle-button"]').then(() => TourUtils.wait(600)), + postAction: TourUtils.clickSelector, + 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(1500)), + }, + { + selector: '[data-id="col4"] .lu-action-filter', + placement: 'centered', + html: `Since only a subset of tumor types is of interest, the analyst decides to filter the data.`, + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-dialog .lu-dialog-table', + html: `Here they select only the following filters: astrocytoma/glioblastoma (type of cancer of the brain), bone sarcoma, melanoma, and non-small-cell lung cancer (NSCLC).`, + placement: 'centered', + postAction: () => { + TourUtils.wait(100) + .then(() => { + TourUtils.click('.lu-dialog-table .lu-checkbox:first-child'); + }) + .then(() => { + TourUtils.wait(500).then(() => { + TourUtils.click('input[type="checkbox"][data-cat="astrocytoma/glioblastoma"]'); + TourUtils.click('input[type="checkbox"][data-cat="bone sarcoma"]'); + TourUtils.click('input[type="checkbox"][data-cat="melanoma"]'); + TourUtils.click('input[type="checkbox"][data-cat="NSCLC"]'); + TourUtils.click('.lu-dialog > .lu-checkbox input'); + }); + }); + }, + }, + { + selector: ['.lu-dialog .lu-dialog-table, .lu-dialog-button[title="Apply"]'], + html: `They now apply the filter, after which only 255 cell lines remain.`, + placement: 'centered', + postAction: () => { + TourUtils.click('.lu-dialog-button[type="submit"]'); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `As the analyst wants to investigate the TP53 gene, he decides to add a categorical column with the mutation status (mutated vs non mutated).`, + placement: 'centered', + preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + html: `They do this by adding a column for a single cell line score.`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + }, + }, + { + selector: '.modal.show .col > .select3', + placement: 'centered', + preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), + html: `Now they select the cell line 'TP53' …`, + postAction: () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); + }, + }, + { + selector: '.modal.show .col > .select2', + placement: 'centered', + html: `… and the data type as 'AA Mutated' …`, + postAction: () => { + TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aa_mutated', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `… and click 'Add'.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `

      Additionally, they decide to add a textual column that provides further details about the mutation (if present).

      +

      This is done by repeating the same steps to add a column, but choosing "AA Mutation" as the data type this time instead.

      +

      Individual steps for adding a column have been skipped this time.

      `, + placement: 'centered', + postAction: () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.modal.show').then(() => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aamutation', 'change'); + TourUtils.wait(2000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `To investigate the effectiveness of the 13 genes in predicting the TP53 status, the analyst loads the average expression of these genes together with a matrix column containing the individual expression values.`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le [data-col-id="col8"]').then(() => TourUtils.wait(600)), + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `They begin by adding a new column.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span', + html: `Firstly the column with the average expression is added. This is done by adding a 'Gene Score (Aggregated)' column`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + }, + }, + { + selector: [ + '.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select, .show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + ], + html: `They select 'My Named Sets' in the drop down and then enter 'TP53 Predictor' as the specific set …`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select'), + postAction: () => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'namedset4ensg', 'change'); + TourUtils.wait(1500).then(() => { + TourUtils.setValueAndTrigger( + '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + '0Qd2E6S4R9', + 'change', + ); + }); + }, + }, + { + selector: '.show .modal-body form > .col-sm-12:nth-child(2) select', + html: `… then set the 'Data Type' to 'Normalized Gene Expression (TPM Values)' …`, + placement: 'centered', + postAction: () => { + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); + }, + }, + { + selector: '.show [data-testid="aggregation"] select', + html: `… and set the 'Aggregation' to 'Average' …`, + placement: 'centered', + postAction: () => { + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); + }, + }, + { + selector: '.modal.show .modal-footer button[type=submit]', + html: `… and finally click 'Add'.`, + placement: 'centered', + postAction: () => { + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `Similarly, they add a matrix column with all of the individual expression values.`, + placement: 'centered', + postAction: () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'namedset4ensg', 'change'); + TourUtils.setValueAndTrigger( + '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', + '0Qd2E6S4R9', + 'change', + ); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'numbers', 'change'); + TourUtils.wait(1000).then(() => { + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); + }); + }, + }, + { + selector: '[data-id="col7"] .lu-action-filter', + html: `Furthermore, they decide to hide all cell lines with unknown mutation status.`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-id="col7"] .lu-action-filter'); + TourUtils.waitFor('.lu-dialog > .lu-checkbox input').then(() => { + TourUtils.click('.lu-dialog > .lu-checkbox input'); + TourUtils.click('.lu-dialog-button[type="submit"]'); + }); + }, + }, + { + selector: '.le [data-col-id="col9"] .lu-action-sort', + html: `Next, they sort the list in descending order based on the average gene expression column that was added …`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[data-testid="en/disable-overview-button"]', + html: `… and then swap to the overview.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.le.le-multi.lineup-engine', + html: `Looking at the overview, the analyst observes the overall good correlation between expression and mutation status: there is a clear enrichment of TP53 mutants among the cell lines with a low score.`, + placement: 'centered', + }, + { + selector: '.le [data-col-id="col4"] .lu-action-group', + html: `In order to test whether the correlation is present for all selected tumor types, the analyst groups the table by tumor type.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.le.le-multi.lineup-engine', + html: `They observe that the prediction seems to work particularly well for the astrocytoma/glioblastoma cell lines (almost perfect separation between mutated and non mutated).`, + placement: 'centered', + }, + { + selector: '.le [data-col-id="col7"] .lu-action-more', + html: `They further investigate this observation by also stratifying by mutation status and aggregating all groups.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-dialog.lu-more-options .lu-action-group', + html: `To do so, they click 'Group By' …`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-dialog input[value="true"]', + html: `… then select 'Enabled' …`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.lu-dialog-buttons > [type="submit"]', + html: `… and then hit apply.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '[title="Collapse All Groups"]:nth-child(2)', + html: `Lastly, they aggregate all of the groups.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.le.le-multi.lineup-engine', + html: `

      The expression box plots show good separation for astrocytoma/glioblastoma and melanoma, whereas the expression ranges are overlapping for NSCLC.

      +

      Having confirmed that the prediction of the TP53 mutation status works reasonably well in several tumor types, the analyst wants to select a set of cell lines for a wet-lab experiment. He is interested in melanoma cell lines that have no TP53 mutation. Furthermore, the activity of CDKN2A, another important tumor suppressor gene, should be impaired due to a reduced number of CDKN2A gene copies in the genome.

      `, + placement: 'centered', + }, + { + selector: '.le [data-col-id="col7"] .lu-action-group', + html: `The analyst now removes the mutation status grouping, …`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.le [data-col-id="col7"] .lu-action-filter', + html: `… includes cell lines for which it is unclear whether TP53 is mutated, …`, + placement: 'centered', + postAction: () => { + TourUtils.click('.le [data-col-id="col7"] .lu-action-filter'); + TourUtils.click('.lu-dialog > .lu-checkbox input'); + TourUtils.wait(1000).then(() => TourUtils.click('.lu-dialog-buttons > [type="submit"]')); + }, + }, + { + selector: '', + html: `… and unfolds the melanoma cell lines group.`, + placement: 'centered', + postAction: () => { + TourUtils.click('[data-testid="en/disable-overview-button"]'); + TourUtils.click('[title="Collapse All Groups"]:nth-child(1)'); + TourUtils.click('.le-tr[data-index="2"] .lu-agg-expand'); + }, + }, + { + selector: '.le.le-multi.lineup-engine', + html: `Based on the ranking, he decides to consider all cell lines with unknown TP53 mutation status and a TP53 predictor score greater than 110 as non mutated.`, + placement: 'centered', + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `He adds a column with the CDKN2A relative copy number, …`, + placement: 'centered', + postAction: () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.modal.show').then(() => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'CDKN2A;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'copy_number-relativecopynumber', 'change'); + TourUtils.wait(2000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + }); + }, + }, + { + selector: '.le [data-col-id="col11"] .lu-action-sort', + html: `… sorts by it in ascending order, …`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le [data-col-id="col11"] .lu-action-sort').then(() => TourUtils.wait(600)), + postAction: () => { + TourUtils.click('.le [data-col-id="col11"] .lu-action-sort'); + TourUtils.click('.le [data-col-id="col11"] .lu-action-sort'); + }, + }, + { + selector: '.le [data-col-id="col11"] .lu-action-filter', + html: `… and filters out missing data.`, + placement: 'centered', + postAction: () => { + TourUtils.click('.le [data-col-id="col11"] .lu-action-filter'); + TourUtils.click('.lu-dialog > .lu-summary .lu-checkbox input'); + TourUtils.wait(1000).then(() => TourUtils.click('.lu-dialog-buttons > [type="submit"]')); + }, + }, + { + selector: ['.le-tr[data-index="2"] .lu-renderer-selection, .le-tr[data-index="20"] .lu-renderer-selection'], + html: `Finally, he selects the top hits of the resulting list (see Figure 11). All these cell lines fulfill the analyst's requirements.`, + placement: 'centered', + postAction: () => { + TourUtils.click('.le-tr[data-index="2"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="3"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="4"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="5"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="6"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="7"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="8"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="9"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="10"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="11"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="12"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="13"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="14"] .lu-renderer-selection'); + TourUtils.click('.le-tr[data-index="15"] .lu-renderer-selection'); + }, + }, + ]; + } +} diff --git a/src/tours/index.ts b/src/tours/index.ts index a0d72ccf..265816af 100644 --- a/src/tours/index.ts +++ b/src/tours/index.ts @@ -2,4 +2,4 @@ export * from './WelcomeTour'; export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; export * from './AssessBCCellLinesTour'; -export * from './PredictionTP53Tour'; +export * from './DrugTargetDiscoveryTour'; From 3ad9fe0ac66f9bfc674e1413fd41813513176560 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Wed, 15 Feb 2023 12:46:08 +0100 Subject: [PATCH 27/38] Update gitignore --- .gitignore | 1 + src/phovea.ts | 23 +++++++++++++++++++++-- src/tours/index.ts | 1 + 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 72b6d40b..0362f23d 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ __pycache__/ *.pyc *.swp *.lock +/dist/ # due to using tox and pytest .tox .cache diff --git a/src/phovea.ts b/src/phovea.ts index de89c630..f9639b8f 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -1078,6 +1078,25 @@ export default function (registry) { }, ); + registry.push( + 'tdpTour', + 'ordinoPredictionTP53Tour', + function () { + return import('./tours').then((t) => t.PredictionTP53Tour); + }, + { + factory: 'createTour', + name: 'Prediction of TP53 Mutation Status', + description: 'This case study summarizes another analysis session, this time involving the prediction of the mutation status for TP53.', + preview() { + return import('./assets/previews/expression.jpg'); // TODO update preview image + }, + multiPage: true, + level: 'beginner', + canJumpAround: false, + }, + ); + registry.push( 'tdpTour', 'ordinoDrugTargetDiscoveryTour', @@ -1086,8 +1105,8 @@ export default function (registry) { }, { factory: 'createTour', - name: '???Drug Target Discovery', - description: 'Add description here.', + name: 'Drug Target Discovery', + description: '??? Add description here.', preview() { return import('./assets/previews/expression.jpg'); // TODO update preview image }, diff --git a/src/tours/index.ts b/src/tours/index.ts index 265816af..bcaa86c0 100644 --- a/src/tours/index.ts +++ b/src/tours/index.ts @@ -2,4 +2,5 @@ export * from './WelcomeTour'; export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; export * from './AssessBCCellLinesTour'; +export * from './PredictionTP53Tour'; export * from './DrugTargetDiscoveryTour'; From c97bf0816fdfdea71940ef838e9c8cce60bcdd32 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Mon, 13 Mar 2023 11:38:35 +0100 Subject: [PATCH 28/38] Stash Tour Testing --- dist/menu/DatasetCard.d.ts | 1 + dist/menu/DatasetCard.d.ts.map | 2 +- dist/phovea.d.ts.map | 2 +- dist/phovea.js | 30 +++++++++++- dist/phovea.js.map | 2 +- dist/tours/index.d.ts | 4 +- dist/tours/index.d.ts.map | 2 +- dist/tours/index.js | 4 +- dist/tours/index.js.map | 2 +- src/tours/PredictionTP53Tour.ts | 83 ++++++++++++++++++++++++++++++--- 10 files changed, 117 insertions(+), 15 deletions(-) diff --git a/dist/menu/DatasetCard.d.ts b/dist/menu/DatasetCard.d.ts index 836b542b..2587b238 100644 --- a/dist/menu/DatasetCard.d.ts +++ b/dist/menu/DatasetCard.d.ts @@ -1,3 +1,4 @@ +/// import { IPublicDbStartMenuDatasetSectionDesc } from '../base/extensions'; export default function DatasetCard({ name, icon, tabs, startViewId, dataSource, cssClass, tokenSeparators }: IPublicDbStartMenuDatasetSectionDesc): JSX.Element; //# sourceMappingURL=DatasetCard.d.ts.map \ No newline at end of file diff --git a/dist/menu/DatasetCard.d.ts.map b/dist/menu/DatasetCard.d.ts.map index ca009ec8..1a52e87c 100644 --- a/dist/menu/DatasetCard.d.ts.map +++ b/dist/menu/DatasetCard.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAI1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eA+MjJ"} \ No newline at end of file +{"version":3,"file":"DatasetCard.d.ts","sourceRoot":"","sources":["../../src/menu/DatasetCard.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;AAI1E,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,oCAAoC,eA+MjJ"} \ No newline at end of file diff --git a/dist/phovea.d.ts.map b/dist/phovea.d.ts.map index d05dfe17..b3839088 100644 --- a/dist/phovea.d.ts.map +++ b/dist/phovea.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"phovea.d.ts","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,WAAW,QAAQ,KAAA,QAqvChC"} \ No newline at end of file +{"version":3,"file":"phovea.d.ts","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,WAAW,QAAQ,KAAA,QAiyChC"} \ No newline at end of file diff --git a/dist/phovea.js b/dist/phovea.js index 7fd82b98..f1b24df9 100644 --- a/dist/phovea.js +++ b/dist/phovea.js @@ -733,8 +733,8 @@ export default function (registry) { level: 'beginner', canJumpAround: false, }); - registry.push('tdpTour', 'ordinoAssessBCCellLines', function () { - return import('./tours').then((t) => t.AssessBCCellLines); + registry.push('tdpTour', 'ordinoAssessBCCellLinesTour', function () { + return import('./tours').then((t) => t.AssessBCCellLinesTour); }, { factory: 'createTour', name: 'Assessment and Selection of Breast Cancer Cell Lines', @@ -746,6 +746,32 @@ export default function (registry) { level: 'beginner', canJumpAround: false, }); + registry.push('tdpTour', 'ordinoPredictionTP53Tour', function () { + return import('./tours').then((t) => t.PredictionTP53Tour); + }, { + factory: 'createTour', + name: 'Prediction of TP53 Mutation Status', + description: 'This case study summarizes another analysis session, this time involving the prediction of the mutation status for TP53.', + preview() { + return import('./assets/previews/expression.jpg'); // TODO update preview image + }, + multiPage: true, + level: 'beginner', + canJumpAround: false, + }); + registry.push('tdpTour', 'ordinoDrugTargetDiscoveryTour', function () { + return import('./tours').then((t) => t.DrugTargetDiscoveryTour); + }, { + factory: 'createTour', + name: 'Drug Target Discovery', + description: '??? Add description here.', + preview() { + return import('./assets/previews/expression.jpg'); // TODO update preview image + }, + multiPage: true, + level: 'beginner', + canJumpAround: false, + }); /// #endif registry.push(EP_PHOVEA_CORE_LOCALE, 'tdpPublicDBLocaleEN', function () { return import('./locales/en/tdp.json').then(PluginRegistry.getInstance().asResource); diff --git a/dist/phovea.js.map b/dist/phovea.js.map index f18fdd53..a9ea3d13 100644 --- a/dist/phovea.js.map +++ b/dist/phovea.js.map @@ -1 +1 @@ -{"version":3,"file":"phovea.js","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"phovea.js","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tours/index.d.ts b/dist/tours/index.d.ts index 87e8a782..b6553e9f 100644 --- a/dist/tours/index.d.ts +++ b/dist/tours/index.d.ts @@ -1,5 +1,7 @@ export * from './WelcomeTour'; export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; -export * from './AssessBCCellLines'; +export * from './AssessBCCellLinesTour'; +export * from './PredictionTP53Tour'; +export * from './DrugTargetDiscoveryTour'; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/tours/index.d.ts.map b/dist/tours/index.d.ts.map index e8a4e0d6..f6317ad8 100644 --- a/dist/tours/index.d.ts.map +++ b/dist/tours/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"} \ No newline at end of file diff --git a/dist/tours/index.js b/dist/tours/index.js index 1edb4faf..6a76d982 100644 --- a/dist/tours/index.js +++ b/dist/tours/index.js @@ -1,5 +1,7 @@ export * from './WelcomeTour'; export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; -export * from './AssessBCCellLines'; +export * from './AssessBCCellLinesTour'; +export * from './PredictionTP53Tour'; +export * from './DrugTargetDiscoveryTour'; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/tours/index.js.map b/dist/tours/index.js.map index 44a91c56..460884b2 100644 --- a/dist/tours/index.js.map +++ b/dist/tours/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"} \ No newline at end of file diff --git a/src/tours/PredictionTP53Tour.ts b/src/tours/PredictionTP53Tour.ts index 3a2506b9..0d0abed9 100644 --- a/src/tours/PredictionTP53Tour.ts +++ b/src/tours/PredictionTP53Tour.ts @@ -1,12 +1,30 @@ // import {ToursSection} from 'ordino'; -import { IStep, Tour, TourUtils } from 'tdp_core'; +import { IStep, Tour } from 'tdp_core'; +import { TourUtils } from 'tdp_core/src/tour/TourUtils'; +// import selectEvent from 'react-select-event'; export class PredictionTP53Tour { static createTour(): IStep[] { return [ { - html: `

      Welcome to this short tour showing the assessment of breast cancer cell lines!

      -

      This tour will follow an analysis session from the perspective of a drug discovery team at a pharmaceutical company.

      + html: ` +

      + This case study summarizes another analysis session carried out by a + research scientist working in a drug discovery team at a pharmaceutical company. +

      + +

      + In order to identify potential drug targets in a set of tumor + types, the analyst performs experiments with cancer cell lines—cultured cells that are derived from + tumors and that can proliferate indefinitely in the laboratory. +

      + +

      + These cell lines are characterized by various properties, such as tumor type (lung cancer, prostate cancer, etc.) + and the set of genes that are mutated. One very important gene in the context of cancer is TP53. It encodes the + p53 protein, whose presence is known to suppress the uncontrolled division of cells. +

      +

      Use the "Next" button to iterate through all the steps. You can use the "Cancel" button at any time to stop the tour and to interact with Ordino. @@ -44,11 +62,64 @@ export class PredictionTP53Tour { }, { selector: '.ordino-dataset.genes-dataset .show .ordino-dataset-searchbox', - html: `

      12To create a set with these specific genes, they add each gene into the highlighted field.

      `, + html: `

      123To create a set with these specific genes, they add each gene into the highlighted field.

      `, placement: 'centered', + allowUserInteraction: true, + preAction: () => { + // TourUtils.click('#dataset-panel-human-5 [data-testid="async-paginate-dropdownindicator"]'); + // -------- + // const backdrop = document.querySelector('div.tdp-tour-back-disabled') as HTMLElement; + // backdrop.style.display = 'none'; + // const backdropblocker = document.querySelector('div.tdp-tour-backdrop-blocker') as HTMLElement; + // backdropblocker.style.display = 'none'; + // TourUtils.removeBlocker('div.tdp-tour-back-disabled'); + // TourUtils.removeBlocker('div.tdp-tour-backdrop-blocker'); + // ------------- + // TourUtils.setValueAndTrigger('div.css-1pahdxg-control', 'AEN', 'change'); + // -------------------- + // selectEvent.openMenu(document.querySelector('[id="react-select-6-input"]')); + // // eslint-disable-next-line @typescript-eslint/no-unused-expressions + // TourUtils.waitFor('[id="react-select-6-option-0"]').then(() => { + // TourUtils.wait(3000) + // // .then(() => TourUtils.fireMouseDown('div.css-1pahdxg-control')) + // // .then(() => TourUtils.wait(3000)) + // .then(() => { + // TourUtils.focus('div.css-1pahdxg-control'); + // TourUtils.fireKeyPress('div.css-1pahdxg-control', 'a'); + // }); + // }); + }, postAction: () => { - // TourUtils.click('.ordino-dataset.genes-dataset .show .ordino-dataset-searchbox input'); - // TourUtils.setValueAndTrigger('.ordino-dataset.genes-dataset .show .ordino-dataset-searchbox input', 'AEN;', 'input'); + // TourUtils.focus(document.querySelector('[id="react-select-6-input"]')); + // TourUtils.fireMouseDown(document.querySelector('[id="react-select-6-input"]')); + // TourUtils.fireKeyPress(document.querySelector('[id="react-select-6-input"]'), 'A'); + // --------------- + // selectEvent.select(document.querySelector('[id="react-select-6-input"]'), "AEN"); + // selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['A1BG']); + // --------------- + // selectEvent.openMenu(document.querySelector('[id="react-select-6-input"]')); + // // eslint-disable-next-line @typescript-eslint/no-unused-expressions + // TourUtils.waitFor('[id="react-select-6-option-0"]').then(() => { + // TourUtils.wait(3000) + // .then(() => TourUtils.fireMouseDown('[id="react-select-6-input"]')) + // .then(() => TourUtils.wait(3000)) + // .then(() => TourUtils.fireKeyPress('[id="react-select-6-input"]', 'a')); + // }); + // ------------------------- + // TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000121410"]').then(() => TourUtils.wait(1000)); + // TourUtils.removeBlocker('div.tdp-tour-back-disabled'); + // TourUtils.removeBlocker('div.tdp-tour-backdrop-blocker'); + // TourUtils.click('#dataset-panel-human-5 [data-testid="async-paginate-dropdownindicator"]'); + // ------------------ + // .then(() => TourUtils.click('[id="react-select-6-option-0"]'));"react-select-6-option-0"]').then(() => { + // TourUtils.wait(1000).then(() => { + // TourUtils.setValueAndTrigger('[id="react-select-6-input"]', 'AEN', 'change'); + // }); + // }); + // TourUtils.setValueWithoutTrigger('[id="react-select-6-input"]', 'AEN'); + // TourUtils.click('[id="react-select-6-option-0"]'); + // div[class$="-MenuList"] #react-select-3-option-1 + // TourUtils.setValueAndTrigger('[id="react-select-6-input"]', 'AEN', 'input'); // TourUtils.keyDownEnter('.ordino-dataset.genes-dataset .show .ordino-dataset-searchbox input'); }, }, From e2efaf68010e340c54230cb03d2727236c8a2b27 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Thu, 23 Mar 2023 10:00:28 +0100 Subject: [PATCH 29/38] Updated tours --- src/tours/PredictionTP53Tour.ts | 333 +++++++++++++++++++++++++------- 1 file changed, 268 insertions(+), 65 deletions(-) diff --git a/src/tours/PredictionTP53Tour.ts b/src/tours/PredictionTP53Tour.ts index 0d0abed9..c05a5f3b 100644 --- a/src/tours/PredictionTP53Tour.ts +++ b/src/tours/PredictionTP53Tour.ts @@ -1,7 +1,8 @@ // import {ToursSection} from 'ordino'; import { IStep, Tour } from 'tdp_core'; import { TourUtils } from 'tdp_core/src/tour/TourUtils'; -// import selectEvent from 'react-select-event'; +import selectEvent from 'react-select-event'; +import { wideEnoughCat } from 'lineupjs/build/src/renderer/utils'; export class PredictionTP53Tour { static createTour(): IStep[] { @@ -62,83 +63,96 @@ export class PredictionTP53Tour { }, { selector: '.ordino-dataset.genes-dataset .show .ordino-dataset-searchbox', - html: `

      123To create a set with these specific genes, they add each gene into the highlighted field.

      `, + html: `

      To create a set with these specific genes, they add each gene into the highlighted field.

      `, placement: 'centered', allowUserInteraction: true, - preAction: () => { - // TourUtils.click('#dataset-panel-human-5 [data-testid="async-paginate-dropdownindicator"]'); - // -------- - // const backdrop = document.querySelector('div.tdp-tour-back-disabled') as HTMLElement; - // backdrop.style.display = 'none'; - // const backdropblocker = document.querySelector('div.tdp-tour-backdrop-blocker') as HTMLElement; - // backdropblocker.style.display = 'none'; - // TourUtils.removeBlocker('div.tdp-tour-back-disabled'); - // TourUtils.removeBlocker('div.tdp-tour-backdrop-blocker'); - // ------------- - // TourUtils.setValueAndTrigger('div.css-1pahdxg-control', 'AEN', 'change'); - // -------------------- - // selectEvent.openMenu(document.querySelector('[id="react-select-6-input"]')); - // // eslint-disable-next-line @typescript-eslint/no-unused-expressions - // TourUtils.waitFor('[id="react-select-6-option-0"]').then(() => { - // TourUtils.wait(3000) - // // .then(() => TourUtils.fireMouseDown('div.css-1pahdxg-control')) - // // .then(() => TourUtils.wait(3000)) - // .then(() => { - // TourUtils.focus('div.css-1pahdxg-control'); - // TourUtils.fireKeyPress('div.css-1pahdxg-control', 'a'); - // }); - // }); - }, - postAction: () => { - // TourUtils.focus(document.querySelector('[id="react-select-6-input"]')); - // TourUtils.fireMouseDown(document.querySelector('[id="react-select-6-input"]')); - // TourUtils.fireKeyPress(document.querySelector('[id="react-select-6-input"]'), 'A'); - // --------------- - // selectEvent.select(document.querySelector('[id="react-select-6-input"]'), "AEN"); - // selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['A1BG']); - // --------------- - // selectEvent.openMenu(document.querySelector('[id="react-select-6-input"]')); - // // eslint-disable-next-line @typescript-eslint/no-unused-expressions - // TourUtils.waitFor('[id="react-select-6-option-0"]').then(() => { - // TourUtils.wait(3000) - // .then(() => TourUtils.fireMouseDown('[id="react-select-6-input"]')) - // .then(() => TourUtils.wait(3000)) - // .then(() => TourUtils.fireKeyPress('[id="react-select-6-input"]', 'a')); - // }); - // ------------------------- - // TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000121410"]').then(() => TourUtils.wait(1000)); - // TourUtils.removeBlocker('div.tdp-tour-back-disabled'); - // TourUtils.removeBlocker('div.tdp-tour-backdrop-blocker'); - // TourUtils.click('#dataset-panel-human-5 [data-testid="async-paginate-dropdownindicator"]'); - // ------------------ - // .then(() => TourUtils.click('[id="react-select-6-option-0"]'));"react-select-6-option-0"]').then(() => { - // TourUtils.wait(1000).then(() => { - // TourUtils.setValueAndTrigger('[id="react-select-6-input"]', 'AEN', 'change'); - // }); - // }); - // TourUtils.setValueWithoutTrigger('[id="react-select-6-input"]', 'AEN'); - // TourUtils.click('[id="react-select-6-option-0"]'); - // div[class$="-MenuList"] #react-select-3-option-1 - // TourUtils.setValueAndTrigger('[id="react-select-6-input"]', 'AEN', 'input'); - // TourUtils.keyDownEnter('.ordino-dataset.genes-dataset .show .ordino-dataset-searchbox input'); + postAction: async () => { + selectEvent.openMenu(document.querySelector('[id="react-select-6-input"]')); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'AEN'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['AEN']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000181026"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'BAX'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['BAX']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000087088"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'CCNG1'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['CCNG1']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000218991"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'CDKN1A'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['CDKN1A']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000124762"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'DDB2'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['DDB2']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000134574"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'FDXR'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['FDXR']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000161513"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'MDM2'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['MDM2']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000135679"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'RPS27L'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['RPS27L']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000185088"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'RRM2B'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['RRM2B']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000048392"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'SESN1'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['SESN1']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000080546"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'TNFRSF10B'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['TNFRSF10B']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000120889"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'XPC'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['XPC']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000154767"]'); + + selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'ZMAT3'); + selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['ZMAT3']); + await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000172667"]'); }, }, { selector: '.ordino-dataset.genes-dataset .show [data-testid="save-button"]', - html: `Once the genes have been added, they choose to save these genes as a custom set.`, + html: `Once the genes have been added, they choose to save these genes as a custom set called 'TP53 Predictor'.`, placement: 'centered', - postAction: () => TourUtils.clickSelector, + postAction: async () => { + // Checks for an existing set called 'TP53 Predictor' + // If this named set already exists but with different genes, then the tour will erroneously continue + if (document.querySelector('[data-testid="tp53-predictor-button"]') !== null) { + TourUtils.click('[data-testid="async-paginate-clearindicator"]'); + } else { + TourUtils.click('#dataset-panel-human-5 [data-testid="save-button"]'); + await TourUtils.wait(1000); // + TourUtils.setValueAndTrigger('[data-testid="name-input"]', 'TP53 Predictor', 'input'); + TourUtils.click('[data-testid="primary-dialog-button"]'); + // TourUtils.click('[data-testid="save-list-of-entities"] [data-testid="close-button"]') + } + }, }, { - selector: '.ordino-dataset.tissue-dataset', + // BUGGED: Doesn't scroll up + selector: '.ordino-dataset.tissue-dataset > .card', html: `Next they aim to test the applicability of gene signature using TCGA tumor samples.`, placement: 'centered', + preAction: () => TourUtils.click('#ordino_dataset_tab > .ordino-scrollspy-nav > a:nth-child(2)'), }, { selector: '.ordino-dataset.tissue-dataset [data-testid="tcga-tumors-button"]', html: `They start by opening a list of all TCGA tumors.`, placement: 'centered', - postAction: () => TourUtils.clickSelector, + // preAction: () => TourUtils.waitFor('#ordino_dataset_tab > .ordino-scrollspy-container .tissue-dataset > .card').then(() => TourUtils.wait(600)), + postAction: TourUtils.clickSelector, pageBreak: 'manual', }, { @@ -148,10 +162,199 @@ export class PredictionTP53Tour { preAction: () => TourUtils.waitFor('.le.le-multi.lineup-engine', Infinity).then(() => TourUtils.wait(1500)), }, { - selector: '.le.le-multi.lineup-engine', + selector: '[data-testid="viewWrapper-0"] [data-id="col4"] .lu-action-filter', + html: `First, they choose to filter the tumor type by colon adenocarcinoma`, 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(1500)), + postAction: async () => { + TourUtils.click('[data-testid="viewWrapper-0"] [data-id="col4"] .lu-action-filter'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog-table .lu-checkbox:first-child'); + await TourUtils.wait(500); + TourUtils.click('input[type="checkbox"][data-cat="colon adenocarcinoma"]'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog-button[type="submit"]'); + }, + }, + { + selector: '[data-testid="add-column-button"]', + html: `

      Now they add a single gene score for the following:

      +

      Gene: TP53

      +

      Data Type: AA Mutated

      `, + placement: 'centered', + postAction: async () => { + TourUtils.click('[data-testid="add-column-button"]'); + await TourUtils.wait(500); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + // await TourUtils.wait(500); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.modal.show').then(async () => { + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aa_mutated', 'change'); + await TourUtils.wait(500); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); + }, + }, + { + selector: '[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter', + html: `They filter out the samples with an unknown TP53 mutation status.`, + placement: 'centered', + postAction: async () => { + TourUtils.click('[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog > .lu-checkbox input'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog-button[type="submit"]'); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `

      Next they add an aggregated gene score with the following criteria:

      +

      Filter: My Named Sets = TP53 Predictor

      +

      Data Type: Expression (TPM)

      +

      Aggregation: Average

      +

      Compute score only for current sample subset

      `, + placement: 'centered', + postAction: async () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + await TourUtils.wait(500); + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'namedset4ensg', 'change'); + await TourUtils.wait(1000); + // TourUtils.click('.modal-dialog [data-testid="row-1"] .select2 input'); + // selectEvent.create(document.querySelector('.modal-dialog [data-testid="row-1"] .select2 input'), 'TP53 Predictor'); + TourUtils.setValueAndTrigger('.modal-dialog [data-testid="row-1"] .select2 input', 'TP53 Predictor', 'input'); + TourUtils.keyDownEnter('.modal-dialog [data-testid="row-1"] .select2 input'); + // selectEvent.select(document.querySelector('.modal-dialog [data-testid="row-1"] .select2 input'), ['TP53 Predictor']); + // TourUtils.click('.select2-results__options li:first-child'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); + TourUtils.click('[data-testid="form-checkbox"]'); + await TourUtils.wait(500); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }, + }, + { + selector: '[data-id="col8"] .lu-action-sort', + html: `They sort by this newly-added gene expression column.`, + placement: 'centered', + preAction: TourUtils.waitForSelector, + postAction: TourUtils.clickSelector, + }, + { + selector: ['[data-id="col7"], [data-id="col8"]'], + html: `

      Observe: There is a clear correlation between gene expression signature and mutation status of + TP53: Of the 50 samples with the highest expression only 3 are TP53 mutated, whereas of the 50 + samples with the lowest expression 35 are TP53 mutated.

      `, + placement: 'centered', + }, // Comment out til here to remove first section + { + selector: 'ul[data-header="mainMenu"] > li:first-child > a', + html: `Next, they aim to test the applicability of gene signature and MDM2 sensitivity using all cell lines.`, + 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(1)')); + }, + }, + { + selector: '.ordino-dataset.cellline-dataset [data-testid="all-button"]', + html: `They open the list of ALL cell lines.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + pageBreak: 'manual', + }, + { + selector: '[data-testid="add-column-button"]', + html: `

      They add a single gene score for the following:

      +

      Gene: TP53

      +

      Data Type: AA Mutated and AA Mutation

      `, + placement: 'centered', + postAction: async () => { + TourUtils.click('[data-testid="add-column-button"]'); + await TourUtils.wait(500); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.modal.show').then(async () => { + if (document.querySelector('[data-testid="data-type"] .select2-selection__clear') !== null) { + TourUtils.click('[data-testid="data-type"] .select2-selection__clear'); + TourUtils.click('label[data-testid="Data Type"]'); // Just click anywhere safe to get rid of dropdown + } + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aa_mutated', 'input'); + await TourUtils.wait(500); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); + await TourUtils.wait(1500); + // Repeat again for the AA Mutation Column + TourUtils.click('[data-testid="add-column-button"]'); + await TourUtils.wait(500); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + TourUtils.waitFor('.modal.show').then(async () => { + if (document.querySelector('[data-testid="data-type"] .select2-selection__clear') !== null) { + TourUtils.click('[data-testid="data-type"] .select2-selection__clear'); + TourUtils.click('label[data-testid="Data Type"]'); + } + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aamutation', 'input'); + + await TourUtils.wait(500); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }); + }, + }, + { + selector: '[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter', + html: `They once again filter out the samples with an unknown TP53 mutation status.`, + placement: 'centered', + postAction: async () => { + TourUtils.click('[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog > .lu-checkbox input'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog-button[type="submit"]'); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `

      Next they add the aggregated gene score with the following criteria again:

      +

      Filter: My Named Sets = TP53 Predictor

      +

      Data Type: Expression (TPM)

      +

      Aggregation: Average

      +

      Compute score for all cell lines

      `, + placement: 'centered', + postAction: async () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + await TourUtils.wait(500); + if (document.querySelector('[data-testid="row-1"] [data-testid="close-button"]') !== null) { + TourUtils.click('[data-testid="row-1"] [data-testid="close-button"]'); + } + await TourUtils.wait(500); + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'namedset4ensg', 'change'); + await TourUtils.wait(1000); + TourUtils.setValueAndTrigger('.modal-dialog [data-testid="row-1"] .select2 input', 'TP53 Predictor', 'input'); + TourUtils.keyDownEnter('.modal-dialog [data-testid="row-1"] .select2 input'); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); + /// ??? Uncomment the following line when the test is ready + // TourUtils.click('[data-testid="form-checkbox"]'); // This is very risky, as we are assuming it was checked previously, which should be remembered by the cookies and thus clicking again would deselect (as desired) + await TourUtils.wait(500); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }, }, { selector: '', From ebb9ddbf2e861927a5e74f1c09f40242b7bbe571 Mon Sep 17 00:00:00 2001 From: oltionchampari Date: Thu, 23 Mar 2023 10:03:33 +0100 Subject: [PATCH 30/38] Add dependency --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index d95b899b..30ce7f20 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "dependencies": { "jquery-ui": "1.12.1", "jstat": "^1.9.4", + "react-select-event": "^5.5.1", "react-highlight-words": "^0.17.0", "react-select": "^4.1.0", "react-select-async-paginate": "^0.5.3", From 5fbb05d7796f9359cdff8f88603b6fe294a56d47 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Thu, 23 Mar 2023 12:18:29 +0100 Subject: [PATCH 31/38] Added blockers to stabilize tour --- src/phovea.ts | 38 ++++++++++++++--------------- src/tours/AssessBCCellLinesTour.ts | 39 ++++++++++++++++++------------ src/tours/index.ts | 2 +- 3 files changed, 43 insertions(+), 36 deletions(-) diff --git a/src/phovea.ts b/src/phovea.ts index 7740c8b3..6eb1e24c 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -1092,7 +1092,7 @@ export default function (registry) { }, { factory: 'createTour', - name: 'Prediction of TP53 Mutation Status', + name: 'Prediction of TP53 Mutation Status (WIP)', description: 'This case study summarizes another analysis session, this time involving the prediction of the mutation status for TP53.', preview() { return import('./assets/previews/expression.jpg'); // TODO update preview image @@ -1103,24 +1103,24 @@ export default function (registry) { }, ); - registry.push( - 'tdpTour', - 'ordinoDrugTargetDiscoveryTour', - function () { - return import('./tours').then((t) => t.DrugTargetDiscoveryTour); - }, - { - factory: 'createTour', - name: 'Drug Target Discovery', - description: '??? Add description here.', - preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image - }, - multiPage: true, - level: 'beginner', - canJumpAround: false, - }, - ); + // registry.push( + // 'tdpTour', + // 'ordinoDrugTargetDiscoveryTour', + // function () { + // return import('./tours').then((t) => t.DrugTargetDiscoveryTour); + // }, + // { + // factory: 'createTour', + // name: 'Drug Target Discovery', + // description: '??? Add description here.', + // preview() { + // return import('./assets/previews/expression.jpg'); // TODO update preview image + // }, + // multiPage: true, + // level: 'beginner', + // canJumpAround: false, + // }, + // ); /// #endif registry.push( diff --git a/src/tours/AssessBCCellLinesTour.ts b/src/tours/AssessBCCellLinesTour.ts index 555d5d39..1dd268b5 100644 --- a/src/tours/AssessBCCellLinesTour.ts +++ b/src/tours/AssessBCCellLinesTour.ts @@ -1,4 +1,5 @@ // import {ToursSection} from 'ordino'; +import selectEvent from 'react-select-event'; import { IStep, Tour, TourUtils } from 'tdp_core'; export class AssessBCCellLinesTour { @@ -39,7 +40,7 @@ export class AssessBCCellLinesTour { html: `

      Here they choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

      In this example they choose to work with a list of genes.

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('#ordino_dataset_tab > .ordino-scrollspy-container .genes-dataset > .card').then(() => TourUtils.wait(600)), + preAction: () => TourUtils.waitFor('#ordino_dataset_tab > .ordino-scrollspy-container .genes-dataset > .card').then(() => TourUtils.wait(1000)), postAction: () => TourUtils.click('.ordino-dataset.genes-dataset .session-tab > li:first-child'), }, { @@ -57,7 +58,7 @@ export class AssessBCCellLinesTour { 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(1500)), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1)', Infinity), }, { selector: '.lu-side-panel-wrapper .lu-adder > button', @@ -77,7 +78,7 @@ export class AssessBCCellLinesTour { { selector: '.modal.show .col > .select3', placement: 'centered', - preAction: () => TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(150)), + preAction: () => TourUtils.waitFor('.modal.show', Infinity).then(() => TourUtils.wait(150)), html: `Now they select the cell line 'HCC1954' …`, postAction: () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); @@ -101,15 +102,16 @@ export class AssessBCCellLinesTour { selector: '.le [data-col-id="col8"] .lu-action-sort', placement: 'centered', html: `They want to sort by this newly added column, so they click on the sort button in the column header.`, - preAction: () => TourUtils.waitFor('.le [data-col-id="col8"] .lu-action-sort'), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="1.83"]', Infinity), postAction: () => { TourUtils.click('.le [data-col-id="col8"] .lu-action-sort'); }, }, { - selector: ['[data-index="0"].le-tr, [data-index="14"].le-tr'], + // selector: ['[data-index="0"].le-tr, [data-index="14"].le-tr'], // Bug: It highlights the selectors before waiting for the preAction placement: 'centered', html: `After sorting by this column, the analyst observes that about 15 genes on chromosome 17 are affected by a large genomic amplification.`, + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="8.00"]', Infinity), }, { selector: '.lu-side-panel-wrapper .lu-adder > button', @@ -120,10 +122,11 @@ export class AssessBCCellLinesTour { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.modal.show').then(() => { + TourUtils.waitFor('.modal.show').then(async () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); TourUtils.setValueAndTrigger('.show .col > select', 'expression-tpm', 'change'); - TourUtils.wait(1000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); + await TourUtils.wait(1000); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); }); }, }, @@ -131,7 +134,7 @@ export class AssessBCCellLinesTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `They also add a column with a Gene Sensitivity Score (a measure of importance for cell survival) for HCC1954.`, placement: 'centered', - preAction: () => TourUtils.waitFor('.le header [data-col-id="col9"]').then(() => TourUtils.wait(500)), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="5324.86"]', Infinity), postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); }, @@ -156,7 +159,7 @@ export class AssessBCCellLinesTour { html: `

      In an effort to improve the depletion score's readability, they decide to invert the linear scaling.

      To do this, they click on the three dots for more column options.

      `, placement: 'centered', - preAction: TourUtils.waitForSelector, + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="−2.75"]', Infinity), postAction: TourUtils.clickSelector, }, { @@ -185,6 +188,7 @@ export class AssessBCCellLinesTour {

      Observe: Combining the columns highlights the importance of ERBB2.

      It is therefore probably the most relevant gene within this amplified genomic region.

      `, placement: 'centered', + allowUserInteraction: true, }, { selector: '[data-index="0"]', @@ -206,8 +210,9 @@ export class AssessBCCellLinesTour { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(async () => { TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + await TourUtils.wait(500); TourUtils.setValueAndTrigger( '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', 'breast carcinoma', @@ -225,13 +230,14 @@ export class AssessBCCellLinesTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `2. A column with the gene copy number distribution for breast cancer cell lines in boxplot format`, placement: 'centered', - preAction: () => TourUtils.waitFor('.le header [data-col-id="col11"]'), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="890.37"]', Infinity), postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(async () => { TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + await TourUtils.wait(500); TourUtils.setValueAndTrigger( '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', 'breast carcinoma', @@ -249,13 +255,14 @@ export class AssessBCCellLinesTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `3. A column with the gene amplification frequency (>4) across all breast cancer cell lines`, placement: 'centered', - preAction: () => TourUtils.waitFor('.le header [data-col-id="col12"]'), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) .lu-renderer-boxplot', Infinity), postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { + TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(async () => { TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'tumortype', 'change'); + await TourUtils.wait(500); TourUtils.setValueAndTrigger( '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', 'breast carcinoma', @@ -277,7 +284,7 @@ export class AssessBCCellLinesTour { selector: '.le.le-multi.lineup-engine', html: `Observe: They notice that ERBB2 is amplified in almost 25% of all assessed breast cancer cell lines. Further, it is highly expressed.`, placement: 'centered', - preAction: () => TourUtils.waitFor('.le header [data-col-id="col13"]'), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="0.25"]', Infinity), }, { selector: '[data-index="0"] .lu-renderer-selection', @@ -416,7 +423,7 @@ export class AssessBCCellLinesTour {

      HCC1954 has the highest ERBB2 amplification among BRCA1 mutated cell lines.

      HCC1569 has the highest ERBB2 amplification among BRCA2 mutated cell lines.

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('[data-testid="viewWrapper-1"] .le header [data-col-id="col8"]'), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col8"][data-renderer="categorical"]'), }, { selector: '', diff --git a/src/tours/index.ts b/src/tours/index.ts index bcaa86c0..d52e5a44 100644 --- a/src/tours/index.ts +++ b/src/tours/index.ts @@ -3,4 +3,4 @@ export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; export * from './AssessBCCellLinesTour'; export * from './PredictionTP53Tour'; -export * from './DrugTargetDiscoveryTour'; +// export * from './DrugTargetDiscoveryTour'; From fb08f9f1aa91c5254fc4c97387d87508c949d1d6 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Thu, 30 Mar 2023 10:06:45 +0200 Subject: [PATCH 32/38] Functional completion of the new tours --- src/phovea.ts | 59 ++++-- src/tours/DrugTargetDiscoveryTour.ts | 87 ++++++--- src/tours/PredictionTP53Tour.ts | 248 ++++--------------------- src/tours/PredictionTP53Tour2.ts | 259 +++++++++++++++++++++++++++ src/tours/index.ts | 3 +- 5 files changed, 394 insertions(+), 262 deletions(-) create mode 100644 src/tours/PredictionTP53Tour2.ts diff --git a/src/phovea.ts b/src/phovea.ts index 6eb1e24c..f75ac7dc 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -1092,7 +1092,7 @@ export default function (registry) { }, { factory: 'createTour', - name: 'Prediction of TP53 Mutation Status (WIP)', + name: 'Prediction of TP53 Mutation Status', description: 'This case study summarizes another analysis session, this time involving the prediction of the mutation status for TP53.', preview() { return import('./assets/previews/expression.jpg'); // TODO update preview image @@ -1103,24 +1103,45 @@ export default function (registry) { }, ); - // registry.push( - // 'tdpTour', - // 'ordinoDrugTargetDiscoveryTour', - // function () { - // return import('./tours').then((t) => t.DrugTargetDiscoveryTour); - // }, - // { - // factory: 'createTour', - // name: 'Drug Target Discovery', - // description: '??? Add description here.', - // preview() { - // return import('./assets/previews/expression.jpg'); // TODO update preview image - // }, - // multiPage: true, - // level: 'beginner', - // canJumpAround: false, - // }, - // ); + registry.push( + 'tdpTour', + 'ordinoPredictionTP53Tour2', + function () { + return import('./tours').then((t) => t.PredictionTP53Tour2); + }, + { + factory: 'createTour', + name: 'Prediction of TP53 Mutation Status: Continued', + description: + 'This case study serves as a continuation of the initial tour "Prediction of TP53 Mutation Status". It takes a deeper look into the efficacy of the TP53 Predictor Score, in combination with the MDM2 sensitivity score.', + preview() { + return import('./assets/previews/expression.jpg'); // TODO update preview image + }, + multiPage: true, + level: 'beginner', + canJumpAround: false, + }, + ); + + registry.push( + 'tdpTour', + 'ordinoDrugTargetDiscoveryTour', + function () { + return import('./tours').then((t) => t.DrugTargetDiscoveryTour); + }, + { + factory: 'createTour', + name: 'Drug Target Discovery', + description: + 'A demonstration of Taggle (integrated into the Ordino Target Discovery Platform) by means of a case study conducted on complex genomics data for the purpose of drug target discovery.', + preview() { + return import('./assets/previews/expression.jpg'); // TODO update preview image + }, + multiPage: true, + level: 'beginner', + canJumpAround: false, + }, + ); /// #endif registry.push( diff --git a/src/tours/DrugTargetDiscoveryTour.ts b/src/tours/DrugTargetDiscoveryTour.ts index 58f62a8a..2eaf76d6 100644 --- a/src/tours/DrugTargetDiscoveryTour.ts +++ b/src/tours/DrugTargetDiscoveryTour.ts @@ -162,21 +162,32 @@ export class DrugTargetDiscoveryTour { }, }, { - selector: [ - '.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select, .show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', - ], - html: `They select 'My Named Sets' in the drop down and then enter 'TP53 Predictor' as the specific set …`, + selector: '[data-testid="Filter"] [data-testid="row-1"] .form-select', + html: `They select 'Gene Symbol' in the drop down and then enter the list of genes used for the TP53 Predictor …`, placement: 'centered', preAction: () => TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select'), - postAction: () => { - TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'namedset4ensg', 'change'); - TourUtils.wait(1500).then(() => { - TourUtils.setValueAndTrigger( - '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', - '0Qd2E6S4R9', - 'change', - ); - }); + postAction: async () => { + // Ensure that the list of inputs is empty first + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'ensg', 'change'); + await TourUtils.wait(1500); + TourUtils.click('[data-testid="Filter"] [data-testid="close-button"]'); + await TourUtils.wait(1500); + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'ensg', 'change'); + await TourUtils.wait(1500); + + // Now add the list of 13 genes here instead + TourUtils.setValueAndTrigger( + '.modal-dialog [data-testid="row-2"] .select2 input', + 'AEN,BAX,CCNG1,CDKN1A,DDB2,FDXR,MDM2,RPS27L,RRM2B,SESN1,TNFRSF10B,XPC,ZMAT3', + 'input', + ); + await TourUtils.wait(1020); + + // Inspect if the checkbox is checked, if so then uncheck it + const checkboxTest = document.querySelector('.modal-dialog [data-testid="form-checkbox"]') as HTMLInputElement; + if (!checkboxTest.checked) { + TourUtils.click('.modal-dialog [data-testid="form-checkbox"]'); + } }, }, { @@ -207,30 +218,46 @@ export class DrugTargetDiscoveryTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `Similarly, they add a matrix column with all of the individual expression values.`, placement: 'centered', - postAction: () => { + postAction: async () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select').then(() => { - TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'namedset4ensg', 'change'); - TourUtils.setValueAndTrigger( - '.show .modal-body form > .col-sm-12:nth-child(1) .row:nth-child(1) .row:nth-child(1) > div:nth-child(2) select', - '0Qd2E6S4R9', - 'change', - ); - TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); - TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'numbers', 'change'); - TourUtils.wait(1000).then(() => { - TourUtils.click('.modal.show .modal-footer button[type=submit]'); - TourUtils.click('.modal.show .modal-footer button[type=submit]'); - }); - }); + await TourUtils.wait(500); + + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'ensg', 'change'); + await TourUtils.wait(1500); + TourUtils.click('[data-testid="Filter"] [data-testid="close-button"]'); + await TourUtils.wait(1500); + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'ensg', 'change'); + await TourUtils.wait(1500); + + // Now add the list of 13 genes here instead + TourUtils.setValueAndTrigger( + '.modal-dialog [data-testid="row-2"] .select2 input', + 'AEN,BAX,CCNG1,CDKN1A,DDB2,FDXR,MDM2,RPS27L,RRM2B,SESN1,TNFRSF10B,XPC,ZMAT3', + 'input', + ); + await TourUtils.wait(1020); + + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'numbers', 'change'); + + // Inspect if the checkbox is checked, if so then uncheck it + const checkboxTest = document.querySelector('.modal-dialog [data-testid="form-checkbox"]') as HTMLInputElement; + if (!checkboxTest.checked) { + TourUtils.click('.modal-dialog [data-testid="form-checkbox"]'); + } + await TourUtils.wait(1000); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + await TourUtils.wait(1000); // Button must be pressed twice because of the warning that is thrown + TourUtils.click('.modal.show .modal-footer button[type=submit]'); }, }, { selector: '[data-id="col7"] .lu-action-filter', html: `Furthermore, they decide to hide all cell lines with unknown mutation status.`, placement: 'centered', + // preAction: // ??? Wait for the matrix load postAction: () => { TourUtils.click('[data-id="col7"] .lu-action-filter'); TourUtils.waitFor('.lu-dialog > .lu-checkbox input').then(() => { @@ -390,6 +417,10 @@ export class DrugTargetDiscoveryTour { TourUtils.click('.le-tr[data-index="15"] .lu-renderer-selection'); }, }, + { + html: `

      Thanks for joining this tour demonstrating a typical analysis session by a drug discovery team at a pharmaceutical company.

      +

      There are still many more features to discover. Enjoy!

      `, + }, ]; } } diff --git a/src/tours/PredictionTP53Tour.ts b/src/tours/PredictionTP53Tour.ts index c05a5f3b..3de6bc0c 100644 --- a/src/tours/PredictionTP53Tour.ts +++ b/src/tours/PredictionTP53Tour.ts @@ -3,6 +3,7 @@ import { IStep, Tour } from 'tdp_core'; import { TourUtils } from 'tdp_core/src/tour/TourUtils'; import selectEvent from 'react-select-event'; import { wideEnoughCat } from 'lineupjs/build/src/renderer/utils'; +import { select } from 'lineupjs'; export class PredictionTP53Tour { static createTour(): IStep[] { @@ -49,109 +50,22 @@ export class PredictionTP53Tour { 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)')); + return TourUtils.waitFor('.ordino-dataset.tissue-dataset').then(() => + TourUtils.click('#ordino_dataset_tab > .ordino-scrollspy-nav > a:nth-child(2)'), + ); }, pageBreak: 'manual', }, { - selector: '.ordino-dataset.genes-dataset > .card', - html: `

      Here they choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

      -

      In this example they choose to work with a list of 13 specific genes.

      `, - 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 .show .ordino-dataset-searchbox', - html: `

      To create a set with these specific genes, they add each gene into the highlighted field.

      `, - placement: 'centered', - allowUserInteraction: true, - postAction: async () => { - selectEvent.openMenu(document.querySelector('[id="react-select-6-input"]')); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'AEN'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['AEN']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000181026"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'BAX'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['BAX']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000087088"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'CCNG1'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['CCNG1']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000218991"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'CDKN1A'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['CDKN1A']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000124762"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'DDB2'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['DDB2']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000134574"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'FDXR'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['FDXR']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000161513"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'MDM2'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['MDM2']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000135679"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'RPS27L'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['RPS27L']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000185088"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'RRM2B'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['RRM2B']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000048392"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'SESN1'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['SESN1']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000080546"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'TNFRSF10B'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['TNFRSF10B']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000120889"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'XPC'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['XPC']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000154767"]'); - - selectEvent.create(document.querySelector('[id="react-select-6-input"]'), 'ZMAT3'); - selectEvent.select(document.querySelector('[id="react-select-6-input"]'), ['ZMAT3']); - await TourUtils.waitFor('[data-testid="async-paginate-multiselect-remove-ENSG00000172667"]'); - }, - }, - { - selector: '.ordino-dataset.genes-dataset .show [data-testid="save-button"]', - html: `Once the genes have been added, they choose to save these genes as a custom set called 'TP53 Predictor'.`, - placement: 'centered', - postAction: async () => { - // Checks for an existing set called 'TP53 Predictor' - // If this named set already exists but with different genes, then the tour will erroneously continue - if (document.querySelector('[data-testid="tp53-predictor-button"]') !== null) { - TourUtils.click('[data-testid="async-paginate-clearindicator"]'); - } else { - TourUtils.click('#dataset-panel-human-5 [data-testid="save-button"]'); - await TourUtils.wait(1000); // - TourUtils.setValueAndTrigger('[data-testid="name-input"]', 'TP53 Predictor', 'input'); - TourUtils.click('[data-testid="primary-dialog-button"]'); - // TourUtils.click('[data-testid="save-list-of-entities"] [data-testid="close-button"]') - } - }, - }, - { - // BUGGED: Doesn't scroll up selector: '.ordino-dataset.tissue-dataset > .card', - html: `Next they aim to test the applicability of gene signature using TCGA tumor samples.`, + html: `

      Here they can choose between the three entity types 'Cell Lines', 'Tissue Samples', and 'Genes'.

      +

      They aim to test the applicability of the gene signature using TCGA tumor samples.

      `, placement: 'centered', - preAction: () => TourUtils.click('#ordino_dataset_tab > .ordino-scrollspy-nav > a:nth-child(2)'), }, { selector: '.ordino-dataset.tissue-dataset [data-testid="tcga-tumors-button"]', html: `They start by opening a list of all TCGA tumors.`, placement: 'centered', - // preAction: () => TourUtils.waitFor('#ordino_dataset_tab > .ordino-scrollspy-container .tissue-dataset > .card').then(() => TourUtils.wait(600)), postAction: TourUtils.clickSelector, pageBreak: 'manual', }, @@ -159,7 +73,7 @@ export class PredictionTP53Tour { 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(1500)), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1)', Infinity).then(() => TourUtils.wait(1500)), }, { selector: '[data-testid="viewWrapper-0"] [data-id="col4"] .lu-action-filter', @@ -185,7 +99,6 @@ export class PredictionTP53Tour { TourUtils.click('[data-testid="add-column-button"]'); await TourUtils.wait(500); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); - // await TourUtils.wait(500); TourUtils.toggleClass('.lu-adder.once', 'once', false); TourUtils.waitFor('.modal.show').then(async () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); @@ -199,6 +112,7 @@ export class PredictionTP53Tour { selector: '[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter', html: `They filter out the samples with an unknown TP53 mutation status.`, placement: 'centered', + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col7"].lu-missing', Infinity), postAction: async () => { TourUtils.click('[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter'); await TourUtils.wait(500); @@ -215,23 +129,37 @@ export class PredictionTP53Tour {

      Aggregation: Average

      Compute score only for current sample subset

      `, placement: 'centered', + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col7"] [style="background-color: rgb(170, 170, 170);"]', Infinity), postAction: async () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); await TourUtils.wait(500); - TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'namedset4ensg', 'change'); - await TourUtils.wait(1000); - // TourUtils.click('.modal-dialog [data-testid="row-1"] .select2 input'); - // selectEvent.create(document.querySelector('.modal-dialog [data-testid="row-1"] .select2 input'), 'TP53 Predictor'); - TourUtils.setValueAndTrigger('.modal-dialog [data-testid="row-1"] .select2 input', 'TP53 Predictor', 'input'); - TourUtils.keyDownEnter('.modal-dialog [data-testid="row-1"] .select2 input'); - // selectEvent.select(document.querySelector('.modal-dialog [data-testid="row-1"] .select2 input'), ['TP53 Predictor']); - // TourUtils.click('.select2-results__options li:first-child'); + + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'ensg', 'change'); + await TourUtils.wait(1500); + TourUtils.click('[data-testid="Filter"] [data-testid="close-button"]'); + await TourUtils.wait(1500); + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'ensg', 'change'); + await TourUtils.wait(1500); + + // Now add the list of 13 genes here instead + TourUtils.setValueAndTrigger( + '.modal-dialog [data-testid="row-2"] .select2 input', + 'AEN,BAX,CCNG1,CDKN1A,DDB2,FDXR,MDM2,RPS27L,RRM2B,SESN1,TNFRSF10B,XPC,ZMAT3', + 'input', + ); + await TourUtils.wait(1020); + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); - TourUtils.click('[data-testid="form-checkbox"]'); - await TourUtils.wait(500); + + const checkboxTest = document.querySelector('.modal-dialog [data-testid="form-checkbox"]') as HTMLInputElement; + if (!checkboxTest.checked) { + TourUtils.click('.modal-dialog [data-testid="form-checkbox"]'); + } + + await TourUtils.wait(1000); TourUtils.click('.modal.show .modal-footer button[type=submit]'); }, }, @@ -248,118 +176,10 @@ export class PredictionTP53Tour { TP53: Of the 50 samples with the highest expression only 3 are TP53 mutated, whereas of the 50 samples with the lowest expression 35 are TP53 mutated.

      `, placement: 'centered', - }, // Comment out til here to remove first section - { - selector: 'ul[data-header="mainMenu"] > li:first-child > a', - html: `Next, they aim to test the applicability of gene signature and MDM2 sensitivity using all cell lines.`, - 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(1)')); - }, - }, - { - selector: '.ordino-dataset.cellline-dataset [data-testid="all-button"]', - html: `They open the list of ALL cell lines.`, - placement: 'centered', - postAction: TourUtils.clickSelector, - pageBreak: 'manual', }, { - selector: '[data-testid="add-column-button"]', - html: `

      They add a single gene score for the following:

      -

      Gene: TP53

      -

      Data Type: AA Mutated and AA Mutation

      `, - placement: 'centered', - postAction: async () => { - TourUtils.click('[data-testid="add-column-button"]'); - await TourUtils.wait(500); - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.modal.show').then(async () => { - if (document.querySelector('[data-testid="data-type"] .select2-selection__clear') !== null) { - TourUtils.click('[data-testid="data-type"] .select2-selection__clear'); - TourUtils.click('label[data-testid="Data Type"]'); // Just click anywhere safe to get rid of dropdown - } - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); - TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aa_mutated', 'input'); - await TourUtils.wait(500); - TourUtils.click('.modal.show .modal-footer button[type=submit]'); - }); - await TourUtils.wait(1500); - // Repeat again for the AA Mutation Column - TourUtils.click('[data-testid="add-column-button"]'); - await TourUtils.wait(500); - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.modal.show').then(async () => { - if (document.querySelector('[data-testid="data-type"] .select2-selection__clear') !== null) { - TourUtils.click('[data-testid="data-type"] .select2-selection__clear'); - TourUtils.click('label[data-testid="Data Type"]'); - } - TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); - TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aamutation', 'input'); - - await TourUtils.wait(500); - TourUtils.click('.modal.show .modal-footer button[type=submit]'); - }); - }, - }, - { - selector: '[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter', - html: `They once again filter out the samples with an unknown TP53 mutation status.`, - placement: 'centered', - postAction: async () => { - TourUtils.click('[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter'); - await TourUtils.wait(500); - TourUtils.click('.lu-dialog > .lu-checkbox input'); - await TourUtils.wait(500); - TourUtils.click('.lu-dialog-button[type="submit"]'); - }, - }, - { - selector: '.lu-side-panel-wrapper .lu-adder > button', - html: `

      Next they add the aggregated gene score with the following criteria again:

      -

      Filter: My Named Sets = TP53 Predictor

      -

      Data Type: Expression (TPM)

      -

      Aggregation: Average

      -

      Compute score for all cell lines

      `, - placement: 'centered', - postAction: async () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); - TourUtils.toggleClass('.lu-adder.once', 'once', false); - await TourUtils.wait(500); - if (document.querySelector('[data-testid="row-1"] [data-testid="close-button"]') !== null) { - TourUtils.click('[data-testid="row-1"] [data-testid="close-button"]'); - } - await TourUtils.wait(500); - TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'namedset4ensg', 'change'); - await TourUtils.wait(1000); - TourUtils.setValueAndTrigger('.modal-dialog [data-testid="row-1"] .select2 input', 'TP53 Predictor', 'input'); - TourUtils.keyDownEnter('.modal-dialog [data-testid="row-1"] .select2 input'); - TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); - TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); - /// ??? Uncomment the following line when the test is ready - // TourUtils.click('[data-testid="form-checkbox"]'); // This is very risky, as we are assuming it was checked previously, which should be remembered by the cookies and thus clicking again would deselect (as desired) - await TourUtils.wait(500); - TourUtils.click('.modal.show .modal-footer button[type=submit]'); - }, - }, - { - selector: '', - html: `THE TOUR IS HERE SO FAR`, - placement: 'centered', + html: `

      Thanks for joining this tour demonstrating the creation and basic testing of the TP53 Predictor Score.

      +

      There are still many more features to discover. Enjoy!

      `, }, ]; } diff --git a/src/tours/PredictionTP53Tour2.ts b/src/tours/PredictionTP53Tour2.ts new file mode 100644 index 00000000..38ee76b6 --- /dev/null +++ b/src/tours/PredictionTP53Tour2.ts @@ -0,0 +1,259 @@ +// import {ToursSection} from 'ordino'; +import { IStep, Tour } from 'tdp_core'; +import { TourUtils } from 'tdp_core/src/tour/TourUtils'; +import selectEvent from 'react-select-event'; +import { wideEnoughCat } from 'lineupjs/build/src/renderer/utils'; +import { select } from 'lineupjs'; + +export class PredictionTP53Tour2 { + static createTour(): IStep[] { + return [ + { + html: ` +

      + The following is a continuation of the tour investigating the TP53 Predictor Score, this + time in conjunction with the MDM2 sensitivity score, compared against all cell lines. +

      +

      + Use the "Next" button to iterate through all the steps. You can use the + "Cancel" 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. +

      + `, + }, + { + selector: 'ul[data-header="mainMenu"] > li:first-child > a', + html: `They start by opening the dataset tab, in order to find the relevant dataset to begin working 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(1)')); + }, + }, + { + selector: '.ordino-dataset.cellline-dataset [data-testid="all-button"]', + html: `They open the list of ALL cell lines.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + pageBreak: 'manual', + }, + { + selector: '[data-testid="add-column-button"]', + html: `

      They add a single gene score for the following:

      +

      Gene: TP53

      +

      Data Type: AA Mutated and AA Mutation

      `, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1)', Infinity).then(() => TourUtils.wait(1500)), + postAction: async () => { + TourUtils.click('[data-testid="add-column-button"]'); + await TourUtils.wait(500); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + await TourUtils.waitFor('.modal.show'); + + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); + await TourUtils.wait(500); + + // Check if data types were remembered and remove + while (document.querySelector('[data-testid="Data Type"] span.select2-selection__choice__remove') !== null) { + TourUtils.click('[data-testid="Data Type"] span.select2-selection__choice__remove:nth-of-type(1)'); + } + + // Now check if the pesky dropdown menu has shown up, and remove + if (document.querySelector('span.select2-dropdown') !== null) { + TourUtils.click('[data-testid="Data Type"] .select2-search--inline > input.select2-search__field'); + } + await TourUtils.wait(200); + + // KNOWN BUG: (Sometimes) If either of the following options were selected the last time a single gene score column was added, they won't be + // selected when running this tour the first time around. This can be fixed by simply restarting the tour. + + const selection1 = document.querySelector('option[value="mutation-aa_mutated"]'); + selection1.setAttribute('selected', 'selected'); + + const selection2 = document.querySelector('option[value="mutation-aamutation"]'); + selection2.setAttribute('selected', 'selected'); + + await TourUtils.wait(1500); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }, + }, + { + selector: '[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter', + html: `They once again filter out the samples with an unknown TP53 mutation status.`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col8"].lu-missing', Infinity), + postAction: async () => { + TourUtils.click('[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog > .lu-checkbox input'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog-button[type="submit"]'); + }, + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `

      Next they add an aggregated gene score with the following criteria:

      +

      Filter: Gene Symbol = AEN, BAX, CCNG1, CDKN1A, DDB2, FDXR, MDM2, RPS27L, RRM2B, SESN1, TNFRSF10B, XPC, + ZMAT3

      +

      Data Type: Expression (TPM)

      +

      Aggregation: Average

      +

      Compute score for all cell lines, not only the selected subset

      `, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col7"] [style="background-color: rgb(27, 166, 78);"]', Infinity), + postAction: async () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + await TourUtils.wait(500); + + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'ensg', 'change'); + await TourUtils.wait(1500); + TourUtils.click('[data-testid="Filter"] [data-testid="close-button"]'); + await TourUtils.wait(1500); + TourUtils.setValueAndTrigger('.show .modal-body form > div:nth-child(1) .row:nth-child(1) div:nth-child(1) select', 'ensg', 'change'); + await TourUtils.wait(1500); + + // Now add the list of 13 genes here instead + TourUtils.setValueAndTrigger( + '.modal-dialog [data-testid="row-2"] .select2 input', + 'AEN,BAX,CCNG1,CDKN1A,DDB2,FDXR,MDM2,RPS27L,RRM2B,SESN1,TNFRSF10B,XPC,ZMAT3', + 'input', + ); + await TourUtils.wait(1020); + + TourUtils.setValueAndTrigger('.show .modal-body form > .col-sm-12:nth-child(2) select', 'expression-tpm', 'change'); + TourUtils.setValueAndTrigger('.show [data-testid="aggregation"] select', 'avg', 'change'); + + // Inspect if the checkbox is checked, if so then uncheck it + const checkboxTest = document.querySelector('.modal-dialog [data-testid="form-checkbox"]') as HTMLInputElement; + if (checkboxTest.checked) { + TourUtils.click('.modal-dialog [data-testid="form-checkbox"]'); + } + await TourUtils.wait(1000); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }, + }, + { + selector: '[data-id="col9"] > .lu-toolbar > .lu-action-more', + html: `

      They decide to rename the new column to "TP53 Predictor Score".

      `, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="54.56"]', Infinity), + postAction: async () => { + TourUtils.click('[data-id="col9"] > .lu-toolbar > .lu-action-more'); + await TourUtils.wait(500); + TourUtils.click('.lu-action-rename > span'); + await TourUtils.waitFor('.lu-dialog-rename input[placeholder="name"]'); + TourUtils.setValueAndTrigger('.lu-dialog-rename input[placeholder="name"]', 'TP53 Predictor Score', 'change'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog-buttons > [type="submit"]'); + }, + }, + { + selector: '[data-id="col9"] .lu-action-filter', + html: `They now filter out the samples with an unknown TP53 Predictor Score …`, + placement: 'centered', + postAction: async () => { + TourUtils.click('[data-id="col9"] .lu-action-filter'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog .lu-checkbox input'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog-button[type="submit"]'); + }, + }, + { + selector: '[data-id="col9"] .lu-action-sort', + html: `… and sort by this column.`, + placement: 'centered', + postAction: TourUtils.clickSelector, + }, + { + selector: '.le.le-multi.lineup-engine', + html: `

      Observe: There is a clear enrichment of TP53 non-mutated among the cell lines with high score.

      `, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="209.10"]', Infinity), + }, + { + selector: '.lu-side-panel-wrapper .lu-adder > button', + html: `

      Next, they choose to add a 'Depletion Screen Score (Single)' using the following:

      +

      Gene: MDM2

      +

      Data type: DRIVE RSA (NB: the lower this value, the more sensitive a cell line is to the depletion of the gene of interest)

      `, + placement: 'centered', + postAction: async () => { + TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); + TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(4) > span'); + TourUtils.toggleClass('.lu-adder.once', 'once', false); + await TourUtils.waitFor('.modal.show').then(() => TourUtils.wait(500)); + TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'MDM2;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', 'depletion-rsa', 'change'); + const checkboxTest = document.querySelector('.modal-dialog [data-testid="form-checkbox"]') as HTMLInputElement; + if (!checkboxTest.checked) { + TourUtils.click('.modal-dialog [data-testid="form-checkbox"]'); + } + await TourUtils.wait(1000); + TourUtils.click('.modal.show .modal-footer button[type=submit]'); + }, + }, + { + selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', + html: `

      To amplify the visibility of the added depletion score's significance, they decide to invert the scaling via the data mapping.

      `, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col10"].lu-missing', Infinity), + postAction: async () => { + TourUtils.click('[data-id="col10"] > .lu-toolbar > .lu-action-more'); + await TourUtils.wait(500); + TourUtils.click('.lu-action-data-mapping > span'); + TourUtils.setValueAndTrigger('.browser-default', 'linear_invert', 'change'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog-buttons > [type="submit"]'); + }, + }, + { + selector: '[data-id="col10"] .lu-action-filter', + html: `They filter out this MDM2 column's missing values …`, + placement: 'centered', + postAction: async () => { + TourUtils.click('[data-id="col10"] .lu-action-filter'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog .lu-checkbox input'); + await TourUtils.wait(500); + TourUtils.click('.lu-dialog-button[type="submit"]'); + }, + }, + { + selector: '[data-id="col10"] .lu-action-sort', + html: `… and sort by this column.`, + placement: 'centered', + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="−1.00"]', Infinity), + postAction: TourUtils.clickSelector, + }, + { + selector: '.le.le-multi.lineup-engine', + html: `

      Observe: Small MDM2 RSA values (large bars) are correlated to the expression score (TP53 predictor score) and the TP53 mutation status

      `, + placement: 'centered', + allowUserInteraction: true, + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="−7.14"]', Infinity), + }, + // Can't do the drag operation for this final step in the aim + // Remaining two aims are also primarily just observations, but rely on the combined score column; What to do? + { + selector: '', + html: `

      Conclusion: When combining the TP53 Predictor Score column and the MDM2 Gene Sensitivity Score, the new weighted sum column serves as an even more accurate predictor.

      +

      Thanks for joining this tour taking a deeper look into the TP53 Predictor Score.

      +

      There are still many more features to discover. Enjoy!

      `, + placement: 'centered', + }, + ]; + } +} diff --git a/src/tours/index.ts b/src/tours/index.ts index d52e5a44..49afb11a 100644 --- a/src/tours/index.ts +++ b/src/tours/index.ts @@ -3,4 +3,5 @@ export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; export * from './AssessBCCellLinesTour'; export * from './PredictionTP53Tour'; -// export * from './DrugTargetDiscoveryTour'; +export * from './PredictionTP53Tour2'; +export * from './DrugTargetDiscoveryTour'; From f3329a991aded90f904986697b9a6122f788a8ad Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Mon, 3 Apr 2023 10:38:22 +0200 Subject: [PATCH 33/38] Shortened names and descriptions for spacing --- src/phovea.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/phovea.ts b/src/phovea.ts index f75ac7dc..4f13c9a3 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -1073,7 +1073,7 @@ export default function (registry) { }, { factory: 'createTour', - name: 'Assessment and Selection of Breast Cancer Cell Lines', + name: 'Assessment of Breast Cancer Cell Lines', description: 'This case study summarizes an analysis session carried out by a scientist working in a drug discovery team at a pharmaceutical company.', preview() { return import('./assets/previews/expression.jpg'); // TODO update preview image @@ -1112,8 +1112,7 @@ export default function (registry) { { factory: 'createTour', name: 'Prediction of TP53 Mutation Status: Continued', - description: - 'This case study serves as a continuation of the initial tour "Prediction of TP53 Mutation Status". It takes a deeper look into the efficacy of the TP53 Predictor Score, in combination with the MDM2 sensitivity score.', + description: 'This case study serves as a continuation of the initial tour "Prediction of TP53 Mutation Status".', preview() { return import('./assets/previews/expression.jpg'); // TODO update preview image }, From 787e1c0b3e325ce40832ec04e4216aa39bdad049 Mon Sep 17 00:00:00 2001 From: Michael Peterseil Date: Mon, 3 Apr 2023 14:20:23 +0200 Subject: [PATCH 34/38] Updated tour preview images --- src/assets/previews/tourAddColumn.png | Bin 0 -> 7770 bytes src/assets/previews/tourBreastCancerCL.png | Bin 0 -> 11358 bytes src/assets/previews/tourDrugDiscovery.png | Bin 0 -> 22449 bytes src/assets/previews/tourOrdinoWelcome.png | Bin 0 -> 5809 bytes src/assets/previews/tourStartMenu.png | Bin 0 -> 8664 bytes src/assets/previews/tourTP53Predictor.png | Bin 0 -> 10594 bytes src/phovea.ts | 14 +++++++------- 7 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 src/assets/previews/tourAddColumn.png create mode 100644 src/assets/previews/tourBreastCancerCL.png create mode 100644 src/assets/previews/tourDrugDiscovery.png create mode 100644 src/assets/previews/tourOrdinoWelcome.png create mode 100644 src/assets/previews/tourStartMenu.png create mode 100644 src/assets/previews/tourTP53Predictor.png diff --git a/src/assets/previews/tourAddColumn.png b/src/assets/previews/tourAddColumn.png new file mode 100644 index 0000000000000000000000000000000000000000..5a67cc5f8d9fb24f215175ab4203170ca13cf9ec GIT binary patch literal 7770 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
      }#ISB%z#j(S31AWGX0G}z^btEH}vj&~am z`wM~Ej{75|xkPDMH!A|ucuPIXrjXOFf*8_9A;DwfM>bD`rF z4$EEcg2UKDCCcljQkctY!OkKdeJ;1i=GK+Y1{dAyxocLrW2BLwRxf+1rq-5h*_M>f zn;m|OG#WhSE73XkSB!tq&~Vo7H;$Gw$0R0wFS$kA%1uO8A48ZdEGC(4yYLsj9a?vrh zp%nH#qC|PM&aOm(OBd~sRkY6Fi!{5w%4%-QAWm1j5jrx+&QL%BOm%V)1-A5~lOQG& zF6QLb%w_ebeveilG@gxYBsY87B#{#O2nhCAtKA^l5NcyE(KNSIJib!v$c3bIR|$h9 z*P|kPQp%^$>gwtoPPaU?-#A4*uri5Nu_&hzUUju~qtiWK_hV_X0#Z+!-&x0Pea|0} zCU3f+;Mhb}W}v7h%MJ9U46k;WEz;J|z%9_JNK;A?F1MTr$j{F=|5$S%t+9{T%GDJ` zw}-dpN)=C`s}Xj;i2JJW?Cpw(ZubklpM_=@KMP+^*{*-b8<9K+qAsh$8yxRoV2$WT ze{0<5HeuqaYogA4QC+*0K?!sWp~`OvRMUoX>4ltgvj0SWUwz-c;f3#Oe z;F}spE=;S|H(KbT$XHgp{L-XNM#Qk**(-DvIZ z2zIe9gzj|}!LCB;(>duE24kKJ=ZDPbpVE72dQy~LVU{y22t zK{5Z`yVsBUy|0T5`0}+re;s__kEy3bSf@g3>SeRdP%KCuSlc~ZUX^uPeQ7GX+F?pi zH;Le1ojs!RVXKEwiq04OU>TVmGX|}Fh-l<=S8}R z*~1~(y?9lru?t9fm*}kw#r^vltP2Q{jR#?g)i2V(wX*Qn8hYh+OJukW`0s~H&Fcie zOp|&Sg|ZmYCA%~TM4Y_Z!=E0C31`5TWB$q{h|j~HP|VYClJG{xI3X1^im7wToD!4n z^P0#b-2S|5^YClyq$8zaHm+TD1z;-k^74j7M5y%Csmv-O8t3?;#(hUfhOEZ2v-;)e zvYQ6Yy7ava_SSxK>2A~ntZUQS>cPehdxAz4<#{KzBH1dw5S2eVWuOXkSDCNnEJFJ zyj$bYSWlHWS`A}79RI7Ap+5N}Dy2;t&qy0O)@52F$_3o1X#|J9-2($?2qN6hbTR7e zFW-tSki>_?@TQ3oCN2Y^tW$Kg^aSpK+81}t4<|UqFlQYp|4l=3XQWf=6CwT(tx)pu z2x%mvbF=N&>_#~g_V%I{L?6S_AT#oEGDM%O9i#bo9}?;jwM+O$b-2zy)4lHAK*s5P zPr-{|vHhE*e-UFX3Ik=)^Zd==!KZ?75YMz-Chu~}w% z^JYcD>gFUIAqUg=mR)j9GCTWV(zb)&X`p>4R7qR~y6f{%v@G=pDcB)KHH zm)sN`hs-YR`+LH~ei$6nN7smX^56F{c^W9JODLtM!QZ*Yp<;i6Nxjo@!tN2M?xL4u z-%`*Z6fR^c@7V``*SUx=v}Ji`w^q43jtR1WCE73d$d;As>Rle}2}r()Wa{mqTq{KF zc&Ia-?@rCB4x5{@jrf>9^J2$Rq_nPzj+0?^v!d>`0CuVUU36d1Q17zScUWzq0D&D- zT1JP^K8Ol5U4TYyQwx5 z5&OfXad2Mu&o4-_n?zL@KR?8ohaLmC1JnUIwnZWJ*MzpJ9~Br=>omfsPNT$iv9 zJDi4_r@*JH{ca|5;P^n>JWqs!{Bm=X;4s+=Eb`q{Pj<~l?A5!9{gR?3qOQcU3@y%9 zDfmH~!PkfH)TXb}@$%BQsWl7dDW425BWk&MxgEu$lO?4>UUW^8RC9e0>JNa*BsS{# zMFw(&R0LEfIDO~*&cX76Ed$8zxN4l-XwO)N zh_$!wm3@r5fvC4lyqj9nf>$4U*gbm?d~AFsL_MP+Lvm$D|q`^0?Hb&>w;;eMp-*-cs! z93z7{nD=`DNp@%a13SaL;c2>bl$nbeIfWbwI6HdMgLI?`Om(;#lT;0}G#)mucfnaL z*a`z~8o_Y+1fXao!9Xr;r8~D*w8+Teue(c%j=W#nn|5eSPgT56%N-gVh0g`c@R7>> zXT@z9)Z%@mwyJ7#NKgiEa(mmpF#Z{<0;qls@cOm!#=3VoZ%jfQU-z%g>2ZipCGFW4*MI3Hm&N;31s)2bVi$djy*O3-11l{0m0%v!O`6#`Na-(fgFj{(ju85aLg_ z?MriEZ4C^DbMTIwXcEewW9pEhiTjk@ho+y)KD@%cPljMcLqT-fdoPfypJKWBrGkWPY;$d@3TDmTQ|Ww3aFqL=F^a|Mzo(gFl9nc zQmXt?na)+{#V{P(GYFg86~eoP=Uby2Hx~Vnnr&6dCCn=))qrzgRpf8qpOnul_&120pz4 zf!Xm(Pt%)U8(_etQnT;C7au?$rC}eA@04nIGJr+VNO`|Z&EnXB55twvF1O2RlzWTl zlk5le_92U9904H%aP-fwL;FpJNZnVCAO7j zc8qtdrm{%k4J*#c8r+`HLAFJIGLNR(P1K23X-;0Ye0#XrO3BE|T3uT^lka2EDfjdC z1{M5zmoVo^WCuuN`RO%<-6#NEGv2rW{_yC6B|VytTD;cTdk-7M9TOD0roxSHyS6bA99D@R5*^_UCJ` zH8nMVpb=&T)BnK$(%AB?rlw}30qP7a#bUbn?Np(D+rmN;aKYgwFE7ifLIpr1=4uv^ zWGkh>f6&&@zu28H0lu)hwsv)8MNC;4Qz4%7Egc<_x5wS($Zs*&!-cVavaT_|XBE%y zd?*hbVPj+Sda>^F%8Q$uo9>O%Z00|O`}@`rk&!iCPr{%Ew~N)mB!P0PslwSgPux|K z=iJKyx&GfBf&Xe1#JOWp9?WuSJUDZqlL|9>40Lw>kV#Q$P7QhGIgtkMGK&uPX02`H z=s=0;$Z*zVsp`xrYtU+FuUInvq#Plga7le0+nR{U?z!mc z>8YQHQ{wRrinO8(jG^Dt=PX5Z)4s|B^}Il~=hK$H`cBMt9tz#@I$ldhO=;3c0cY3f zfN5HWh?oaqd)hfwaL69#`(bw-pQ$w(`Fn|KtP}|P)lx2Di|oBEbXzZ^{uURHF~?L z5k?n}nQ~VK<+>|&(_^wUlUH^uS0pK(>;a@+dP)Wc!fnDXDQitB%bNppTDo#K?yD|Y zL#W~gj9UjVu-9Dl$X2;r9&T4~hHF_&dbRHO{*tXvXr!H`ub)zLa{Nk6q|VNM49xd6 zbP*O^tu=rBgp7<5heyy4_$W71P+v}s?EHMj)=du?PcfJ>^MQ8T;}24(SJ_Snvx!1b z5(kGeWU!oqg2~mQ2M!({hf5f#`B3s!sA~51>Pl*fz54t8)V6!qx8W%Mc>Y3;vAR_@ zBUuVoy8?VAU+!4CNqb!nYp6}P)|Y3}1<-bUM0H20q!D4S(xQ?wv6#gyI|j;-#2fpo$K6@sntIuN@bs)DkQwj%K03MrW}6 z<$*|ZFkxKKn@5-#K0eTV6HA+pr2>$Y`Ued!BI3Q%-#Li>8S85?vYDm}^)j-u^a}>N zc|(@l-&ArXbJfy5(1KWbIJR1R5zenJQk9O9aTc3~=8Ik3@kx5ecfR7h7BW5E!sde> z5@jn=Ew84z9Tikpn+jZBIuY@{k;o1qF0QQH++Bi!I&e7P1Q`EbFRLss9~aM*eN;-N zy+L<4i)j2F9E>*hf?Cz(Ntli8r&{l2PRZSE0+>;Um6QYZtm-y^1ZSkg7iu9CLM#vh z48-W@=botCu})6hImekpaKY_F&5iLJk>Pz=|emhq!+Kn zVQ0RC;vy+gtJa!o&UrthX(%B+Kdoivu}{(IVA1#KPQovQ53U(#8j4R&tas={%MD_l z<0Vz*z(|QuRSA=3ytcU@=Q0CzZ?D)csW1<=XIlc0~{ZJQ=m zR&p`SPv=?ijd!og%n(eBY{Wh+qk=|93+---7&5XlPwUUl$}MMJm~WY>=czg=z5>q2 z!NFaf&$rmwYjAU8-wQMZs%fi13|76@X`@#is2L+L_~ zG6xQ1lp|~c;grb&ot1U9qR|Zl_YvP7)$GVfhtS5Na~OJ(sSx7%FWTqX>^Gzm)zQg= zc~6B|IXOA!T)K0!?!tC2zU)r#m6&!)1ic_cXG6~KU59!P#B);#a%wGg03I=VkSB&D zKqT_yAF;GB;KsnGG0o&iGx&g=C}jLy-P zFZS>mZ_MZblr(HFM&G_ob3?aq{RKxSP_b(0h}uNV*9%%QhpON<=c*#zAFsK6pg%cr z^`#Cb#1!^|DbTH0t=Wn=h49alG4uR*PQ_HFSJ=5}S0BzEl?YuR1 z&jz?y!Cckzpv37wb~;+fc7o06q3o_!dav3f<`I1lrSnBVYu_4}!hifK0$O^Pzj1v; zBdy?Z-<@VSZ|`uX)oA}3s5vZ7fj32sMa8arPB06m2il$buCucHb{iju$V&g^)4V5I+Bregb?;yu`oqqf#G}$Rc^>kZ?p5#q?NXY zM^(IXO2`_QEeq&!e?jTfwR;FrFsxx~H5;RTiAu^l9LN2FN8$ch+~y-1#R!)ZtkjmW zo%!7K#=whydO3Hs=*ph{-n=keHh5qRz+JC+g`XczM8aR}?Ntz^gxtnPGwHI@8S+zz z5DgL*HEGPk%GbLfL7~vw^WC1%JumJ&maoDO$8G4Z4G7tczmdqEI%4_1L??~zr(sg~ zrlmzz^6P_MezUkS%r8o#pm$*Z(B4t*jWP1h)@{OO0EGK@ zj`dE@7#77X=CaVr8WA_o<2c-ClQyesDssar=~8g@Vt}J+OQAysh168aO`aYPoSxz@sh0rq zTIjy~)YuqE_R9pQRDjVkM;^fhP)c9;fAnP|S)DRe!}oxV4Y%{XLBTb)v1!>36-i5) zi);$ouwXzso%*QB8}*q06grsnM&xn~IrnvLIqu$L6^Uy}VsRMXc%i;-K`CMScC6NV zN5?sIqONyty1|?jnBbXB2szA|Dm|S8x}5yl&H$6RW*1aDnj0?99fQ@ro~WlUutG(` zOt%GX*z<{f<>>CM?dcIw%v}IkG9Y0Q2-cmih=exoZ>Ta<*)Eyc99xGFizw>d+ZjM7 zl+M4th9S+#7J(qEO}6Hz4YH!sC@X~S5bij z&=31F`wKP81?(X>%po{79H4yUng!I5MQ&<6+C$)&A< z(UcmN1f5)nZi0``3xG)FnAq}P5q5BhwR4D}ejnlS?g%j6>_?Lz4_|(I#Hg5>GQ-NK zKh2GDULHKx&u;O14!*MC+FPlw>i8b$#kG=Hk{I$a zBj`TBo|9Ts&&L-iK8Cf=OlLX+Nc?5Py`D*m|t0IXGTSI>u4$~>STZ=ZM z9*dldVr~w)l`AS8cGX^_C?xlqN4}V@djj=o7Oti%r<{)DC}}s^t7n4suS_TbDv8fw zLr%y8fm!Yz;gt%-&vp_Ddgmx_y#sfWHw&ch=PT0O(_7ih2($!l%|ECc1F`B4%I*r* z5@P^s%s;IaEA!>j#9+$B6lzvTs2ZK0sF2;;Wk*tJ%n$Wsa%)MWI=}M3j+5_PSqfR* z-qy;jeS;DXhbi-%DWT@Ms-w>o9Fa~3^XK}%vZ=-B8LS2yps{grCMG5l?X#rUpW9jW z@pQL1HDk!a}_zEd|2(VrArkYrlC#PV@y(p!aBv$+9*n7@5;c&UaY{=GvKzq^utG#@7fPsb~hVdIbZn zO(==5d$;CU+l}3Wl3r8tSAZV?pQ-*K=@b{lmaLl_<^)O`mL>*p$cEnMs;w?6K3K5c z%KO}Vu2N!m2ETp0wgV8@r6dr+M1*)?J$Gzkv5F0darkppiy#^s8Huge9wEhHx7U(V zT|Cm7 zdf>e~p!5@0?vFpxu-m^zGDd&+5veMK%M`0Lyl)7sKPRc(2L|JxYc7E%o$ZZxN~5fo zO3Kb#BzA|*vDPOG=DrO)1>9YM;RX^1fjKZ;3lZ4F#pS9zf&Hr_+Kf)e3?;ELo`={8 zMtXBzP$PntK9D!WtiJ7Mjg67lyUy|z5M27yUPz1)WD_)pFa+p;5LFMZh6@Q4>6}_( z{4-ix>q*^>@w6hJMA97%nS-fz*kW$DZA5PFRbOJ~u_jq6G*AV~5Eh8(fsMr2bLY+j zJ0JcbLhav5O!CSbnIp-fGBq@cwB-Op1g6^lf?f{Svjb?~fWW|#;^G{YB-A8nA3sXJ zRMuOPM3 zLiuIVzvBd}MvH?=!s#d60A;swVm+!C614@p>R?fFFvw9=U=ceY5)xVsCJPNMdfd5Q zB~`fq8Yc*!CtRn(a_0|$4ow6ZIg&ALP$SI#NP~cbxHzBFJ#SIdW!~RqEnG2r23GpL zj!#x}1q~h_=ZtnQ3u-yK$!)MT0h;0YRLg$O*t|s!Y?-iK?DXbmmh*=l_)!$<#H_#~ zfk*@OLyqY4L7i*!ncj%$1JBiYeaPz-=%E!V67Rg`;q8!zjF z^ZGR#q?2*;+qWocK44P1ESQ5r`DY?u&JSk%zKzDDD>5l* zV2F?h6N^A``o3tqFySqh48}q2V#5&#gi`i=F947&pdp(tb`~OmfSp>6+YpQw75#O& zL;j?`(gggklr94;8-ISR?i$x#OpOGs<+iuO4AhRs+n z)&`H4TO|ry(X6Dl^gmg?b#--}o|(zje=kAtufQT)OS=Ogv#WD+FQ8xT%o4Nplq|vR z*lh?FVl^7V58k-yE1Jw%`yF61v$dVqko{B~(lj4wk1@)qYgw z&!}HrHO6IrjJGop?wFq^+E~K$y}x(gKL~ERLil^IrAu*o>sCFf@Yj9R2f|-&yA%SD zKxs-Wohr+okdI#Amix~-mDVkdun03=%Vg{`us~{HSU1O%IW4D)Tb(otZ=W-qb-br9wejKJo<0y-CNOx* z!9S}Ja(cH}z6J&aAf_~VhYf#LQ6=?i6%I+I5)-}PdmAnSF?2J;_}Gu6Txat`no_L1 z4ov}w60GydC^#`GVYI+X)9GlYFFPej#mYlM&c}P#K^)+neLgI0aqJLy;JytGjd11psfoigZoCwe56N4~c#PAAP?*FUwibte2e(f>x3p8#qD zAZG*!p=ieYfE1ojm!(p~p%G*tLTtg;y)_$6cj35I>_8LI%o|y(Plv9m-;WK5zfRNson$T=Ky;6&Y!yjHk_g5-cF)Hr;CSf?TL%exr=BZ*^0AGgYSRFQy&tvGiC=#4WL+D5!9FthOKzSF2B2%nr#zIp6UinY-uO!-@n=SUvZDWY z0f_$O{}PLb+q(FG&^@GCG?gWz?m;bWrh!XGm#ZG%4#@{*{=Wzt$g1&US4UtBB3fL* zWi7Cz@&6##=ugUte**bGiQ0r8iQyLj0?1+u<2|bMG2m8^{+j?)@c>BL3E*6+<8M$M z?{Zn)d>YRN0TvgB>#pOAtbz6Un=?yWxh0vf`g*}mh5N*l6ou9ExH7JODe{b~sD7Eo%g0Bkef+!9up#{(r55fLwYWy3N8 zG>q{p;?4#Sfqe+1Bus0#v;!q-a%LLHgS5{Zc0cSRoNxXCDKms#Kl6J{H;UdX!ih^z>+fm2 zlUf7~pelJv{}SeaK{`PdK?ZQ;Ap2)YE{6SoXXNvYnxu^l37`lRK3(6_L*!y)!a_yx zcsC3EtB%TY4Zz}vU_loirO{v`!6{Gt6~EFjQksc zA7RDEe}9n_8X*QTcA(~x=5(E{*N&q04)Y0xBxhLNn=37-hm%jbC1V+5NmVsP8Fa7XcX0FvT8Sio!&~K~__;$(B|2 z6IIWytW>5*F94H&F})dBPRXGNI67u#vtGW!XyXR|Rgrt8FyL0ZbRZr>&Qb+NFLQ3{Mh(D~P&%)W-UhI^O_|$?SVF z`OpA@{2#FgOp(8N8tq>^jkD#y@icL8gmI*_@UPS9EB(9b;rpn~T86M6z=ld*&?#26 zHP-s=1!|UjLd*3KwcYAEDbN=QGGPExWFf$_39%y9=nVoIhL)K*E`;ri8`;%S-v|0A z)DzOdnzOBEkJa0PBkuYJ2N^}qbK&-1Dy9L*KQKZ-Q3^iuwH^sWG$HSm^9=#l*3qLR zP-kvb0}E(D5xXy6jII$LB@Y(+!qe@}-De_Ik+OHDTZjQ!3mC85HnZXmnwlVB8{o#$ z^9`nz*RqZq|B!%y!*x|U@8iSXu+PeDr3Zo+HFX*-bLZ9oPqh;hF(8h4F^Gdzav2pW z+}SNDJ$-+&uYdHdcHChRmoVet_{5E}smaun0Z0<#-@Vk7{9pD(%d!*zUw{F2$wSu` zOrHWLqafF|aT8&IRanTJk&$)MxmRR&T}43@9N0BC7x*9D1Oja57Qn`!=BJLvWvLha zM>GjdNPp-8#dm`Ui_(KDD(^Igdp-ll zZL=u;Z#^b!SK_lmirTR_7((%WtvW1LT1*V)*&Y{PeK$W_IimY;zVVaPGv|2L50m2j zLj+AEUZ334T<<7Wu9~cy8~@-ydUVF^^?}8~I^ADk zThG)6A1>6|?VN&t+@Pylc|fSd<`?G5tgc9aa#8-H!L$h%m3V)6Fz0Z1@5;!?=<@W@ z7sl`20+x7w4(MO_J+E1Bd1?yEYn0pb!f zxZH0c&6X|g2CFiGT^mM!4(L{n+{f_?g^igH=IOIYP$eU!EkHiS132)zR0g9)PZ4llOG|C+ zPeWD99iaBM8G;H_VxUeB{&)bX+35^*GTR>59 z3cj}&HOb*$8w!|ku~2j>UBnJb-?0DV#GE{JOo>dtGGLno?)?SHyi=4c6gTwwe<`f} AT>t<8 literal 0 HcmV?d00001 diff --git a/src/assets/previews/tourDrugDiscovery.png b/src/assets/previews/tourDrugDiscovery.png new file mode 100644 index 0000000000000000000000000000000000000000..399e81c94105aff32a9d47dad1153a3e61e07572 GIT binary patch literal 22449 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 D{H+1{ literal 0 HcmV?d00001 diff --git a/src/assets/previews/tourOrdinoWelcome.png b/src/assets/previews/tourOrdinoWelcome.png new file mode 100644 index 0000000000000000000000000000000000000000..766f94ccd4c068b9e6a2e0e5ab6ca4551503673a GIT binary patch literal 5809 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�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 literal 0 HcmV?d00001 diff --git a/src/assets/previews/tourTP53Predictor.png b/src/assets/previews/tourTP53Predictor.png new file mode 100644 index 0000000000000000000000000000000000000000..84ff39647573b1e958cd0057be102f50a8be6e92 GIT binary patch literal 10594 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 C@dUU4 literal 0 HcmV?d00001 diff --git a/src/phovea.ts b/src/phovea.ts index 4f13c9a3..636d0211 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -1019,7 +1019,7 @@ export default function (registry) { name: 'Ordino Welcome Tour', description: 'Learn the basic features of Ordino in a short welcome tour.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourOrdinoWelcome.png'); }, multiPage: true, level: 'beginner', @@ -1038,7 +1038,7 @@ export default function (registry) { name: 'Overview of Start Menu', description: 'This tour provides an overview of the Ordino start menu.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourStartMenu.png'); }, multiPage: true, level: 'beginner', @@ -1057,7 +1057,7 @@ export default function (registry) { name: 'Adding Data Columns', description: 'Learn how to add data columns to rankings in Ordino.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourAddColumn.png'); }, multiPage: true, level: 'beginner', @@ -1076,7 +1076,7 @@ export default function (registry) { name: 'Assessment of Breast Cancer Cell Lines', description: 'This case study summarizes an analysis session carried out by a scientist working in a drug discovery team at a pharmaceutical company.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourBreastCancerCL.png'); }, multiPage: true, level: 'beginner', @@ -1095,7 +1095,7 @@ export default function (registry) { name: 'Prediction of TP53 Mutation Status', description: 'This case study summarizes another analysis session, this time involving the prediction of the mutation status for TP53.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourTP53Predictor.png'); }, multiPage: true, level: 'beginner', @@ -1114,7 +1114,7 @@ export default function (registry) { name: 'Prediction of TP53 Mutation Status: Continued', description: 'This case study serves as a continuation of the initial tour "Prediction of TP53 Mutation Status".', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourTP53Predictor.png'); }, multiPage: true, level: 'beginner', @@ -1134,7 +1134,7 @@ export default function (registry) { description: 'A demonstration of Taggle (integrated into the Ordino Target Discovery Platform) by means of a case study conducted on complex genomics data for the purpose of drug target discovery.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourDrugDiscovery.png'); }, multiPage: true, level: 'beginner', From 2fad12f388628ff3e94c0a94efc94f0982be93b0 Mon Sep 17 00:00:00 2001 From: Holger Stitz Date: Thu, 6 Apr 2023 12:13:04 +0200 Subject: [PATCH 35/38] chore: add missing dist files --- dist/phovea.d.ts.map | 2 +- dist/phovea.js | 29 +++++++++++++++++++++-------- dist/phovea.js.map | 2 +- dist/tours/index.d.ts | 1 + dist/tours/index.d.ts.map | 2 +- dist/tours/index.js | 1 + dist/tours/index.js.map | 2 +- 7 files changed, 27 insertions(+), 12 deletions(-) diff --git a/dist/phovea.d.ts.map b/dist/phovea.d.ts.map index b3839088..af44ac3c 100644 --- a/dist/phovea.d.ts.map +++ b/dist/phovea.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"phovea.d.ts","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,WAAW,QAAQ,KAAA,QAiyChC"} \ No newline at end of file +{"version":3,"file":"phovea.d.ts","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,WAAW,QAAQ,KAAA,QAqzChC"} \ No newline at end of file diff --git a/dist/phovea.js b/dist/phovea.js index f1b24df9..bd78f5a5 100644 --- a/dist/phovea.js +++ b/dist/phovea.js @@ -701,7 +701,7 @@ export default function (registry) { name: 'Ordino Welcome Tour', description: 'Learn the basic features of Ordino in a short welcome tour.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourOrdinoWelcome.png'); }, multiPage: true, level: 'beginner', @@ -714,7 +714,7 @@ export default function (registry) { name: 'Overview of Start Menu', description: 'This tour provides an overview of the Ordino start menu.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourStartMenu.png'); }, multiPage: true, level: 'beginner', @@ -727,7 +727,7 @@ export default function (registry) { name: 'Adding Data Columns', description: 'Learn how to add data columns to rankings in Ordino.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourAddColumn.png'); }, multiPage: true, level: 'beginner', @@ -737,10 +737,10 @@ export default function (registry) { return import('./tours').then((t) => t.AssessBCCellLinesTour); }, { factory: 'createTour', - name: 'Assessment and Selection of Breast Cancer Cell Lines', + name: 'Assessment of Breast Cancer Cell Lines', description: 'This case study summarizes an analysis session carried out by a scientist working in a drug discovery team at a pharmaceutical company.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourBreastCancerCL.png'); }, multiPage: true, level: 'beginner', @@ -753,7 +753,20 @@ export default function (registry) { name: 'Prediction of TP53 Mutation Status', description: 'This case study summarizes another analysis session, this time involving the prediction of the mutation status for TP53.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourTP53Predictor.png'); + }, + multiPage: true, + level: 'beginner', + canJumpAround: false, + }); + registry.push('tdpTour', 'ordinoPredictionTP53Tour2', function () { + return import('./tours').then((t) => t.PredictionTP53Tour2); + }, { + factory: 'createTour', + name: 'Prediction of TP53 Mutation Status: Continued', + description: 'This case study serves as a continuation of the initial tour "Prediction of TP53 Mutation Status".', + preview() { + return import('./assets/previews/tourTP53Predictor.png'); }, multiPage: true, level: 'beginner', @@ -764,9 +777,9 @@ export default function (registry) { }, { factory: 'createTour', name: 'Drug Target Discovery', - description: '??? Add description here.', + description: 'A demonstration of Taggle (integrated into the Ordino Target Discovery Platform) by means of a case study conducted on complex genomics data for the purpose of drug target discovery.', preview() { - return import('./assets/previews/expression.jpg'); // TODO update preview image + return import('./assets/previews/tourDrugDiscovery.png'); }, multiPage: true, level: 'beginner', diff --git a/dist/phovea.js.map b/dist/phovea.js.map index a9ea3d13..b9c4c5d0 100644 --- a/dist/phovea.js.map +++ b/dist/phovea.js.map @@ -1 +1 @@ -{"version":3,"file":"phovea.js","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAAA;;;;gFAIgF;AAEhF,OAAO,EAAE,mCAAmC,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzD,sEAAsE;AACtE,MAAM,CAAC,OAAO,WAAW,QAAQ;IAC/B,8GAA8G;IAC9G,yBAAyB;IAEzB,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAEpH;QACC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,aAAa;QAC9B,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAEjH;QACC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,MAAM;QAClB,eAAe,EAAE,aAAa;QAC9B,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAEjH;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,kBAAkB;QAC/B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,WAAW;QAC5B,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACF,CAAC,CAAC;IACH,UAAU;IAEV,aAAa;IACb,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,kBAAkB,EAClB;QACE,OAAO,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC,EACD;QACE,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;KAClB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,iBAAiB,EACjB;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,sCAAsC;QAC/C,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,wCAAwC;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC;KACrD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,iBAAiB,EACjB;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,sCAAsC;QAC/C,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,CAAC;SACT;QACD,WAAW,EAAE,yCAAyC;QACtD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC;KACtD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,eAAe,EACf;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,oCAAoC;QAC7C,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,sCAAsC;QACnD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;KACnD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC,EACD;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,CAAC;SACT;QACD,WAAW,EAAE,gEAAgE;QAC7E,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;KAChC,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,mBAAmB,EACnB;QACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC,EACD;QACE,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,WAAW,EAAE,gEAAgE;KAC9E,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,uBAAuB,EACvB;QACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC,EACD;QACE,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;KAChF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,qCAAqC,EACrC;QACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACrD,CAAC,EACD;QACE,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,gDAAgD,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,6FAA6F;QAC1G,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC;KACpE,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC,EACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,CAAC;SACT;QACD,WAAW,EAAE,4FAA4F;QACzG,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC;KACrD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,sBAAsB,EACtB;QACE,OAAO,MAAM,CAAC,yCAAyC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACvG,CAAC,EACD;QACE,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;KAChF,CACF,CAAC;IAEF,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,YAAY,EACZ;QACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE;YACP,UAAU,EAAE,YAAY;SACzB;KACF,CACF,CAAC;IAEF,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,CACX,mCAAmC,EACnC,gBAAgB,EAChB;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACnF,CAAC,EACD;QACE,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,SAAS;KAClB,CACF,CAAC;IAEF,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CACX,6BAA6B,EAC7B,UAAU,EACV;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACnF,CAAC,EACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,SAAS;KAClB,CACF,CAAC;IACF,UAAU;IAEV,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CACX,sBAAsB,EACtB,MAAM,EACN;QACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,OAAO;KACd,CACF,CAAC;IACF,UAAU;IAEV,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,qBAAqB,EACrB;QACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC,EACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,UAAU;KACvB,CACF,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,wBAAwB,EACxB;QACE,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC,EACD;QACE,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,QAAQ;KACrB,CACF,CAAC;IAEF,iBAAiB;IACjB,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,QAAQ,EACR;QACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC,EACD;QACE,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gFAAgF;QACtF,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,SAAS;QACpB,OAAO;YACL,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,YAAY;SACb;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,6CAA6C;QAC1D,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;KACjC,CACF,CAAC;IAEF,4BAA4B;IAC5B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QAE7D,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,2BAA2B,EACnC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnF,CAAC,EACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,oCAAoC;YAC7C,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,WAAW,EAAE,4CAA4C;YACzD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC;SACtC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,2BAA2B,EACnC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnF,CAAC,EACD;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,oCAAoC;YAC7C,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;YACrD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,CAAC;aACT;YACD,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC;SACvC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,yBAAyB,EACjC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnF,CAAC,EACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kCAAkC;YAC3C,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC;YAClD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,WAAW,EAAE,sCAAsC;YACnD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;SACpC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,kBAAkB,EAC1B;YACE,OAAO,MAAM,CAAC,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACnG,CAAC,EACD;YACE,OAAO,EAAE,kCAAkC;YAC3C,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO;aACjB;YACD,WAAW,EAAE,kEAAkE;YAC/E,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;SACjE,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,sBAAsB,EAC9B;YACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxC,CAAC,EACD;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,OAAO,MAAM,WAAW;YACjC,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,UAAU;YACrB,OAAO;gBACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC;aACT;YACD,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC;SAC/B,CACF,CAAC;QAEF,yBAAyB;QACzB,QAAQ,CAAC,IAAI,CACX,sBAAsB,EACtB,MAAM,CAAC,WAAW,EAAE,EACpB;YACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACvF,CAAC,EACD;YACE,OAAO,EAAE,SAAS,MAAM,EAAE;YAC1B,MAAM;YACN,IAAI,EAAE,KAAK;SACZ,CACF,CAAC;QACF,UAAU;QAEV,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,GAAG,KAAK,gBAAgB,EACxB;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,IAAI,EAAE,GAAG,KAAK,kBAAkB;YAChC,OAAO,EAAE,sBAAsB;YAC/B,MAAM;YACN,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM;aACnB;SACF,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS;IAET,wBAAwB;IACxB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,cAAc;QACrD,MAAM,MAAM,GAAG,QAAQ,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QAE1E,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,GAAG,KAAK,iBAAiB;YAC/B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,EACD;YACE,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC,EACD;YACE,IAAI,EAAE,GAAG,KAAK,qBAAqB;YACnC,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC9E,CAAC,EACD;YACE,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QAC7C,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;QAE9C,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,EACD;YACE,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC,EACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC9E,CAAC,EACD;YACE,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpF,CAAC,EACD;YACE,OAAO,EAAE,2BAA2B;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB;SAC7B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpF,CAAC,EACD;YACE,OAAO,EAAE,0BAA0B;YACnC,WAAW,EAAE,MAAM;SACpB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CACX,eAAe,EACf,sBAAsB,EACtB;QACE,iBAAiB;IACnB,CAAC,EACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC;aACT;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,EAAE;aACV;SACF;KACF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,cAAc,EACd;QACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC,EACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,oDAAoD;QAC1D,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;KACF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,iBAAiB,EACjB;QACE,OAAO,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC7C,CAAC,EACD;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;KACF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC,EACD;QACE,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,kEAAkE;QACxE,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;KACF,CACF,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,QAAQ,EACR;QACE,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAClD,CAAC,EACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,iDAAiD;QACvD,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,SAAS;QACpB,OAAO;YACL,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,YAAY;SACb;QACD,WAAW,EAAE,6CAA6C;KAC3D,CACF,CAAC;IAEF,+BAA+B;IAC/B,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QACnC,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;QAE9C,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,iCAAiC;YACvC,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,kCAAkC;SAC5C,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC,EACD;YACE,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,sCAAsC;SAChD,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACvF,CAAC,EACD;YACE,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,gCAAgC;SAC1C,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,0BAA0B,EACnC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,6BAA6B;SACvC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,0BAA0B,EACnC;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC1E,CAAC,EACD;YACE,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,MAAM;SACrB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,wBAAwB;IACxB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,cAAc;QAC3C,MAAM,MAAM,GAAG,QAAQ,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;QAEtD,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,iCAAiC;YACvC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,kCAAkC;SAC5C,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC,EACD;YACE,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,sCAAsC;SAChD,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACvF,CAAC,EACD;YACE,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,gCAAgC;SAC1C,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,gCAAgC;IAChC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC;QACxG,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAChF,CAAC,EACD;YACE,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,KAAK,aAAa;SAC5B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAChF,CAAC,EACD;YACE,OAAO,EAAE,6BAA6B;YACtC,WAAW,EAAE,MAAM;SACpB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,mBAAmB,EACnB;QACE,OAAO,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,6DAA6D;QAC1E,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,qBAAqB,EACrB;QACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACzE,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,0DAA0D;QACvE,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,+BAA+B,EAC/B;QACE,OAAO,MAAM,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC7F,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,sDAAsD;QACnE,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,6BAA6B,EAC7B;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,sDAAsD;QAC5D,WAAW,EAAE,yIAAyI;QACtJ,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC7D,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,oCAAoC;QAC1C,WAAW,EAAE,0HAA0H;QACvI,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,+BAA+B,EAC/B;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAClE,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,2BAA2B;QACxC,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC,4BAA4B;QACjF,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IACF,UAAU;IAEV,QAAQ,CAAC,IAAI,CACX,qBAAqB,EACrB,qBAAqB,EACrB;QACE,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;IACvF,CAAC,EACc;QACb,EAAE,EAAE,KAAK;KACV,CACF,CAAC;IAEF,SAAS,OAAO,CAAC,EAAU,EAAE,MAAiB,EAAE,IAAS,EAAE,GAAG,KAAK;QACjE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,cAAc;IACd,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE;QAC/D,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,qDAAqD;QAC3D,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;QACtD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,YAAY;SACb;QACD,WAAW,EAAE,kDAAkD;QAC/D,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,CAAC,CAAC;IAEH,wBAAwB;IACxB,gEAAgE;IAChE,oBAAoB;IACpB,uEAAuE;IACvE,sBAAsB;IACtB,uBAAuB;IACvB,0BAA0B;IAC1B,2DAA2D;IAC3D,aAAa;IACb,iCAAiC;IACjC,oBAAoB;IACpB,OAAO;IACP,cAAc;IACd,uBAAuB;IACvB,OAAO;IACP,yEAAyE;IACzE,yBAAyB;IACzB,MAAM;IAEN,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC,EAAE;QAC9D,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,yCAAyC;QAC/C,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;QACtD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,WAAW,EAAE,8CAA8C;QAC3D,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAChC,CAAC,CAAC;IAEH,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE;QACpE,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,gDAAgD;QACtD,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC;QAC3D,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,mDAAmD;QAChE,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,CAAC,CAAC;IAEH,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE;QACpE,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC;QAClE,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,8DAA8D;QAC3E,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAChC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG;QACb,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,YAAY;QACpB,cAAc,EAAE,YAAY;QAC5B,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,CAAC;IAEF,sFAAsF;IACtF,gCAAgC;IAChC,uEAAuE;IACvE,0DAA0D;IAC1D,qEAAqE;IACrE,+DAA+D;IAC/D,eAAe;IACf,0BAA0B;IAC1B,kCAAkC;IAClC,oCAAoC;IACpC,MAAM;IAEN,OAAO,CACL,WAAW,EACX,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,EACpD;QACE,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,mEAAmE;QACzE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC;QACxD,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,0CAA0C;KACpD,EACD,MAAM,CACP,CAAC;IAEF,OAAO,CACL,SAAS,EACT,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,EACpD;QACE,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,mDAAmD;QACzD,OAAO,EAAE,6CAA6C;QACtD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;QACtD,WAAW,EAAE,+EAA+E;KAC7F,EACD,MAAM,CACP,CAAC;IAEF,OAAO,CACL,aAAa,EACb,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,EACpD;QACE,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,sEAAsE;QAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qCAAqC,CAAC;QAC5D,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,0CAA0C;KACpD,EACD,MAAM,EACN;QACE,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;KAC/B,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;QACjH,OAAO,EAAE,4BAA4B;KACtC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;QAC/G,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,sBAAsB,EACtB,GAAG,EAAE;QACH,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE,SAAS;KAClB,CACF,CAAC;IACF,uBAAuB;AACzB,CAAC"} \ No newline at end of file +{"version":3,"file":"phovea.js","sourceRoot":"","sources":["../src/phovea.ts"],"names":[],"mappings":"AAAA;;;;gFAIgF;AAEhF,OAAO,EAAE,mCAAmC,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzD,sEAAsE;AACtE,MAAM,CAAC,OAAO,WAAW,QAAQ;IAC/B,8GAA8G;IAC9G,yBAAyB;IAEzB,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAEpH;QACC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,aAAa;QAC9B,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAEjH;QACC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,MAAM;QAClB,eAAe,EAAE,aAAa;QAC9B,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,wBAAwB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAEjH;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,kBAAkB;QAC/B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,WAAW;QAC5B,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;SAC7D;KACF,CAAC,CAAC;IACH,UAAU;IAEV,aAAa;IACb,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,kBAAkB,EAClB;QACE,OAAO,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC,EACD;QACE,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;KAClB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,iBAAiB,EACjB;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,sCAAsC;QAC/C,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,wCAAwC;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC;KACrD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,iBAAiB,EACjB;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,sCAAsC;QAC/C,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,CAAC;SACT;QACD,WAAW,EAAE,yCAAyC;QACtD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC;KACtD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,eAAe,EACf;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,oCAAoC;QAC7C,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,sCAAsC;QACnD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;KACnD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC,EACD;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,CAAC;SACT;QACD,WAAW,EAAE,gEAAgE;QAC7E,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;KAChC,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,mBAAmB,EACnB;QACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC,EACD;QACE,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,WAAW,EAAE,gEAAgE;KAC9E,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,uBAAuB,EACvB;QACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC,EACD;QACE,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;KAChF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,qCAAqC,EACrC;QACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACrD,CAAC,EACD;QACE,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,gDAAgD,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,EAAE;SACV;QACD,WAAW,EAAE,6FAA6F;QAC1G,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC;KACpE,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC,EACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,CAAC;SACT;QACD,WAAW,EAAE,4FAA4F;QACzG,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC;KACrD,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,sBAAsB,EACtB;QACE,OAAO,MAAM,CAAC,yCAAyC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACvG,CAAC,EACD;QACE,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,MAAM;QACjB,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;SACV;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;KAChF,CACF,CAAC;IAEF,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,YAAY,EACZ;QACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE;YACP,UAAU,EAAE,YAAY;SACzB;KACF,CACF,CAAC;IAEF,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,CACX,mCAAmC,EACnC,gBAAgB,EAChB;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACnF,CAAC,EACD;QACE,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,SAAS;KAClB,CACF,CAAC;IAEF,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CACX,6BAA6B,EAC7B,UAAU,EACV;QACE,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACnF,CAAC,EACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,SAAS;KAClB,CACF,CAAC;IACF,UAAU;IAEV,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CACX,sBAAsB,EACtB,MAAM,EACN;QACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,OAAO;KACd,CACF,CAAC;IACF,UAAU;IAEV,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,qBAAqB,EACrB;QACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC,EACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,UAAU;KACvB,CACF,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,wBAAwB,EACxB;QACE,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC,EACD;QACE,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,QAAQ;KACrB,CACF,CAAC;IAEF,iBAAiB;IACjB,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,QAAQ,EACR;QACE,OAAO,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC,EACD;QACE,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gFAAgF;QACtF,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,SAAS;QACpB,OAAO;YACL,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,YAAY;SACb;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,6CAA6C;QAC1D,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;KACjC,CACF,CAAC;IAEF,4BAA4B;IAC5B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QAE7D,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,2BAA2B,EACnC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnF,CAAC,EACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,oCAAoC;YAC7C,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,WAAW,EAAE,4CAA4C;YACzD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC;SACtC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,2BAA2B,EACnC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnF,CAAC,EACD;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,oCAAoC;YAC7C,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC;YACrD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,CAAC;aACT;YACD,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC;SACvC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,yBAAyB,EACjC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnF,CAAC,EACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,kCAAkC;YAC3C,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC;YAClD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,WAAW,EAAE,sCAAsC;YACnD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;SACpC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,kBAAkB,EAC1B;YACE,OAAO,MAAM,CAAC,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACnG,CAAC,EACD;YACE,OAAO,EAAE,kCAAkC;YAC3C,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,MAAM;YACjB,OAAO;gBACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO;aACjB;YACD,WAAW,EAAE,kEAAkE;YAC/E,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC;SACjE,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,GAAG,KAAK,sBAAsB,EAC9B;YACE,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxC,CAAC,EACD;YACE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,OAAO,MAAM,WAAW;YACjC,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,UAAU;YACrB,OAAO;gBACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;YACvD,CAAC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC;aACT;YACD,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC;SAC/B,CACF,CAAC;QAEF,yBAAyB;QACzB,QAAQ,CAAC,IAAI,CACX,sBAAsB,EACtB,MAAM,CAAC,WAAW,EAAE,EACpB;YACE,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACvF,CAAC,EACD;YACE,OAAO,EAAE,SAAS,MAAM,EAAE;YAC1B,MAAM;YACN,IAAI,EAAE,KAAK;SACZ,CACF,CAAC;QACF,UAAU;QAEV,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,GAAG,KAAK,gBAAgB,EACxB;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,IAAI,EAAE,GAAG,KAAK,kBAAkB;YAChC,OAAO,EAAE,sBAAsB;YAC/B,MAAM;YACN,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM;aACnB;SACF,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS;IAET,wBAAwB;IACxB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,cAAc;QACrD,MAAM,MAAM,GAAG,QAAQ,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QAE1E,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,GAAG,KAAK,iBAAiB;YAC/B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,EACD;YACE,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC,EACD;YACE,IAAI,EAAE,GAAG,KAAK,qBAAqB;YACnC,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC9E,CAAC,EACD;YACE,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QAC7C,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;QAE9C,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,eAAe,EACxB;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,EACD;YACE,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC,EACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,mBAAmB,EAC5B;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC9E,CAAC,EACD;YACE,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpF,CAAC,EACD;YACE,OAAO,EAAE,2BAA2B;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB;SAC7B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpF,CAAC,EACD;YACE,OAAO,EAAE,0BAA0B;YACnC,WAAW,EAAE,MAAM;SACpB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CACX,eAAe,EACf,sBAAsB,EACtB;QACE,iBAAiB;IACnB,CAAC,EACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC;aACT;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,EAAE;aACV;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,EAAE;aACV;SACF;KACF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,cAAc,EACd;QACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC,EACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,oDAAoD;QAC1D,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;KACF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,iBAAiB,EACjB;QACE,OAAO,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC7C,CAAC,EACD;QACE,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;KACF,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC,EACD;QACE,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,kEAAkE;QACxE,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,UAAU;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;KACF,CACF,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,QAAQ,EACR;QACE,OAAO,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAClD,CAAC,EACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,iDAAiD;QACvD,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,SAAS;QACpB,OAAO;YACL,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,YAAY;SACb;QACD,WAAW,EAAE,6CAA6C;KAC3D,CACF,CAAC;IAEF,+BAA+B;IAC/B,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QACnC,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;QAE9C,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,iCAAiC;YACvC,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,kCAAkC;SAC5C,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;SACxB,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC,EACD;YACE,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,sCAAsC;SAChD,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACvF,CAAC,EACD;YACE,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,gCAAgC;SAC1C,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,0BAA0B,EACnC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,6BAA6B;SACvC,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,0BAA0B,EACnC;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC1E,CAAC,EACD;YACE,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,MAAM;SACrB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,wBAAwB;IACxB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,cAAc;QAC3C,MAAM,MAAM,GAAG,QAAQ,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;QAEtD,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC,EACD;YACE,IAAI,EAAE,iCAAiC;YACvC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,kCAAkC;SAC5C,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,yBAAyB,EAClC;YACE,OAAO,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC/E,CAAC,EACD;YACE,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;SAC7B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,CAAC,EACD;YACE,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,sCAAsC;SAChD,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,6BAA6B,EACtC;YACE,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACvF,CAAC,EACD;YACE,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,gCAAgC;SAC1C,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,gCAAgC;IAChC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC;QACxG,QAAQ,CAAC,IAAI,CACX,UAAU,EACV,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAChF,CAAC,EACD;YACE,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,KAAK,aAAa;SAC5B,CACF,CAAC;QAEF,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,GAAG,MAAM,kBAAkB,EAC3B;YACE,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAChF,CAAC,EACD;YACE,OAAO,EAAE,6BAA6B;YACtC,WAAW,EAAE,MAAM;SACpB,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,mBAAmB,EACnB;QACE,OAAO,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,6DAA6D;QAC1E,OAAO;YACL,OAAO,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,qBAAqB,EACrB;QACE,OAAO,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACzE,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,0DAA0D;QACvE,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,+BAA+B,EAC/B;QACE,OAAO,MAAM,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC7F,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,sDAAsD;QACnE,OAAO;YACL,OAAO,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,6BAA6B,EAC7B;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,wCAAwC;QAC9C,WAAW,EAAE,yIAAyI;QACtJ,OAAO;YACL,OAAO,MAAM,CAAC,0CAA0C,CAAC,CAAC;QAC5D,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,0BAA0B,EAC1B;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC7D,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,oCAAoC;QAC1C,WAAW,EAAE,0HAA0H;QACvI,OAAO;YACL,OAAO,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,2BAA2B,EAC3B;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC9D,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,+CAA+C;QACrD,WAAW,EAAE,oGAAoG;QACjH,OAAO;YACL,OAAO,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,+BAA+B,EAC/B;QACE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAClE,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,wLAAwL;QAC1L,OAAO;YACL,OAAO,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QACD,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,KAAK;KACrB,CACF,CAAC;IACF,UAAU;IAEV,QAAQ,CAAC,IAAI,CACX,qBAAqB,EACrB,qBAAqB,EACrB;QACE,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;IACvF,CAAC,EACc;QACb,EAAE,EAAE,KAAK;KACV,CACF,CAAC;IAEF,SAAS,OAAO,CAAC,EAAU,EAAE,MAAiB,EAAE,IAAS,EAAE,GAAG,KAAK;QACjE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,cAAc;IACd,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE;QAC/D,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,qDAAqD;QAC3D,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;QACtD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,YAAY;SACb;QACD,WAAW,EAAE,kDAAkD;QAC/D,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,CAAC,CAAC;IAEH,wBAAwB;IACxB,gEAAgE;IAChE,oBAAoB;IACpB,uEAAuE;IACvE,sBAAsB;IACtB,uBAAuB;IACvB,0BAA0B;IAC1B,2DAA2D;IAC3D,aAAa;IACb,iCAAiC;IACjC,oBAAoB;IACpB,OAAO;IACP,cAAc;IACd,uBAAuB;IACvB,OAAO;IACP,yEAAyE;IACzE,yBAAyB;IACzB,MAAM;IAEN,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC,EAAE;QAC9D,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,yCAAyC;QAC/C,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;QACtD,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,WAAW,EAAE,8CAA8C;QAC3D,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAChC,CAAC,CAAC;IAEH,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE;QACpE,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,gDAAgD;QACtD,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC;QAC3D,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,mDAAmD;QAChE,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,CAAC,CAAC;IAEH,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE;QACpE,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC;QAClE,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,WAAW,EAAE,8DAA8D;QAC3E,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAChC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG;QACb,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,YAAY;QACpB,cAAc,EAAE,YAAY;QAC5B,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,aAAa;SACd;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;SACjB;QACD,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,CAAC;IAEF,sFAAsF;IACtF,gCAAgC;IAChC,uEAAuE;IACvE,0DAA0D;IAC1D,qEAAqE;IACrE,+DAA+D;IAC/D,eAAe;IACf,0BAA0B;IAC1B,kCAAkC;IAClC,oCAAoC;IACpC,MAAM;IAEN,OAAO,CACL,WAAW,EACX,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,EACpD;QACE,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,mEAAmE;QACzE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC;QACxD,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,0CAA0C;KACpD,EACD,MAAM,CACP,CAAC;IAEF,OAAO,CACL,SAAS,EACT,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,EACpD;QACE,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,mDAAmD;QACzD,OAAO,EAAE,6CAA6C;QACtD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;QACtD,WAAW,EAAE,+EAA+E;KAC7F,EACD,MAAM,CACP,CAAC;IAEF,OAAO,CACL,aAAa,EACb,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,EACpD;QACE,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,sEAAsE;QAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qCAAqC,CAAC;QAC5D,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,0CAA0C;KACpD,EACD,MAAM,EACN;QACE,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;KAC/B,CACF,CAAC;IAEF,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;QACjH,OAAO,EAAE,4BAA4B;KACtC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;QAC/G,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CACX,gBAAgB,EAChB,sBAAsB,EACtB,GAAG,EAAE;QACH,OAAO,MAAM,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvF,CAAC,EACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE,SAAS;KAClB,CACF,CAAC;IACF,uBAAuB;AACzB,CAAC"} \ No newline at end of file diff --git a/dist/tours/index.d.ts b/dist/tours/index.d.ts index b6553e9f..7f2f9116 100644 --- a/dist/tours/index.d.ts +++ b/dist/tours/index.d.ts @@ -3,5 +3,6 @@ export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; export * from './AssessBCCellLinesTour'; export * from './PredictionTP53Tour'; +export * from './PredictionTP53Tour2'; export * from './DrugTargetDiscoveryTour'; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/tours/index.d.ts.map b/dist/tours/index.d.ts.map index f6317ad8..878fdb0f 100644 --- a/dist/tours/index.d.ts.map +++ b/dist/tours/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"} \ No newline at end of file diff --git a/dist/tours/index.js b/dist/tours/index.js index 6a76d982..c91f02b2 100644 --- a/dist/tours/index.js +++ b/dist/tours/index.js @@ -3,5 +3,6 @@ export * from './AddColumnToGeneListTour'; export * from './StartMenuTour'; export * from './AssessBCCellLinesTour'; export * from './PredictionTP53Tour'; +export * from './PredictionTP53Tour2'; export * from './DrugTargetDiscoveryTour'; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/tours/index.js.map b/dist/tours/index.js.map index 460884b2..a2cb0eff 100644 --- a/dist/tours/index.js.map +++ b/dist/tours/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tours/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"} \ No newline at end of file From edbcfc191ae98b3e3dbcc9cd5b3abba25e7c058d Mon Sep 17 00:00:00 2001 From: oltionchampari Date: Fri, 7 Apr 2023 09:59:03 +0200 Subject: [PATCH 36/38] Minor fixes and improvments --- src/tours/AddColumnToGeneListTour.ts | 11 +++--- src/tours/AssessBCCellLinesTour.ts | 50 +++++++++++++++------------- src/tours/DrugTargetDiscoveryTour.ts | 17 ++++++---- src/tours/PredictionTP53Tour.ts | 30 +++++++++-------- src/tours/PredictionTP53Tour2.ts | 46 +++++++++++++++---------- src/tours/WelcomeTour.ts | 3 +- src/tours/utils.ts | 16 +++++++++ 7 files changed, 104 insertions(+), 69 deletions(-) create mode 100644 src/tours/utils.ts diff --git a/src/tours/AddColumnToGeneListTour.ts b/src/tours/AddColumnToGeneListTour.ts index 59dc3031..fdcf0a1b 100644 --- a/src/tours/AddColumnToGeneListTour.ts +++ b/src/tours/AddColumnToGeneListTour.ts @@ -1,4 +1,5 @@ import { IStep, TourUtils } from 'tdp_core'; +import { openAddColumPanel } from './utils'; export class AddColumnToGeneListTour { static createTour(): IStep[] { @@ -64,7 +65,7 @@ export class AddColumnToGeneListTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `Additional columns can be added using the plus sign.`, placement: 'centered', - postAction: TourUtils.clickSelector, + postAction: openAddColumPanel, }, { @@ -133,9 +134,7 @@ export class AddColumnToGeneListTour { 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 'Cell Line Score (Single)' dialog`, - preAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - }, + preAction: openAddColumPanel, postAction: () => { TourUtils.click('.lu-search .lu-search-group .lu-search-item'); TourUtils.toggleClass('.lu-adder.once', 'once', false); @@ -180,9 +179,7 @@ export class AddColumnToGeneListTour { placement: 'centered', html: `Finally, we want to add an aggregated column containing the mean/average copy number values of all breast cancer cell lines. To do so, we open the 'Cell Line Score (Aggregated)' dialog`, - preAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - }, + preAction: openAddColumPanel, postAction: () => { TourUtils.click('.lu-search .lu-search-group .lu-search-item:nth-child(2)'); TourUtils.toggleClass('.lu-adder.once', 'once', false); diff --git a/src/tours/AssessBCCellLinesTour.ts b/src/tours/AssessBCCellLinesTour.ts index 1dd268b5..cd25c628 100644 --- a/src/tours/AssessBCCellLinesTour.ts +++ b/src/tours/AssessBCCellLinesTour.ts @@ -1,6 +1,5 @@ -// import {ToursSection} from 'ordino'; -import selectEvent from 'react-select-event'; -import { IStep, Tour, TourUtils } from 'tdp_core'; +import { IStep, TourUtils } from 'tdp_core'; +import { openAddColumPanel, setNextActive } from './utils'; export class AssessBCCellLinesTour { static createTour(): IStep[] { @@ -25,7 +24,7 @@ export class AssessBCCellLinesTour { datasetTab.querySelector('a').classList.add('hover'); } }, - postAction: () => { + postAction: async () => { 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'); @@ -47,7 +46,7 @@ export class AssessBCCellLinesTour { selector: '[data-testid="normal-chromosome-protein-coding-human-genes-button"]', html: `The scientists start by loading the list of all protein coding genes for humans.`, placement: 'centered', - postAction: () => { + postAction: async () => { return TourUtils.waitFor('.ordino-dataset.genes-dataset .dataset-entry button[title^="Name: normal chromosome protein coding human genes"]').then( TourUtils.click, ); @@ -57,22 +56,23 @@ export class AssessBCCellLinesTour { { selector: '.le.le-multi.lineup-engine', placement: 'centered', + preAction: () => TourUtils.waitFor('.le.le-multi.lineup-engine', Infinity).then(() => TourUtils.wait(2000)), 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-tr:nth-of-type(1)', Infinity), }, { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `They begin by adding an additional column, done so by clicking on the plus icon shown here.`, placement: 'centered', - postAction: TourUtils.clickSelector, + postAction: openAddColumPanel, }, { - selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', + selector: '[data-testid="lu-adder-div"] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', html: `They choose to add a column for a single cell line score.`, placement: 'centered', - postAction: () => { - TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); + postAction: async () => { + TourUtils.click('[data-testid="lu-adder-div"] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); + return Promise.resolve(); }, }, { @@ -102,27 +102,27 @@ export class AssessBCCellLinesTour { selector: '.le [data-col-id="col8"] .lu-action-sort', placement: 'centered', html: `They want to sort by this newly added column, so they click on the sort button in the column header.`, - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="1.83"]', Infinity), + preAction: () => TourUtils.waitFor('.le-tr[data-index="0"] [data-id="col8"].lu-renderer-number', Infinity), postAction: () => { TourUtils.click('.le [data-col-id="col8"] .lu-action-sort'); }, }, { - // selector: ['[data-index="0"].le-tr, [data-index="14"].le-tr'], // Bug: It highlights the selectors before waiting for the preAction + selector: ['[data-index="0"].le-tr, [data-index="14"].le-tr'], placement: 'centered', html: `After sorting by this column, the analyst observes that about 15 genes on chromosome 17 are affected by a large genomic amplification.`, - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="8.00"]', Infinity), + preAction: () => TourUtils.waitFor('[data-index="0"].le-tr', Infinity).then(() => TourUtils.wait(2000)), }, { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `

      In order to identify the most relevant of these genes, the analyst adds a column with the Normalized Gene Expression (a measure of activity) for cell line HCC1954

      Individual steps for adding a column have been skipped this time.

      `, placement: 'centered', - postAction: () => { + postAction: async () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.modal.show').then(async () => { + await TourUtils.waitFor('.modal.show').then(async () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'HCC1954;', 'input'); TourUtils.setValueAndTrigger('.show .col > select', 'expression-tpm', 'change'); await TourUtils.wait(1000); @@ -134,7 +134,7 @@ export class AssessBCCellLinesTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `They also add a column with a Gene Sensitivity Score (a measure of importance for cell survival) for HCC1954.`, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="5324.86"]', Infinity), + preAction: () => TourUtils.waitFor('.le-tr[data-index="0"] [data-id="col9"].lu-renderer-number', Infinity), postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); }, @@ -159,7 +159,7 @@ export class AssessBCCellLinesTour { html: `

      In an effort to improve the depletion score's readability, they decide to invert the linear scaling.

      To do this, they click on the three dots for more column options.

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="−2.75"]', Infinity), + preAction: () => TourUtils.waitFor('.le-tr[data-index="0"] [data-id="col10"].lu-renderer-number', Infinity), postAction: TourUtils.clickSelector, }, { @@ -230,7 +230,7 @@ export class AssessBCCellLinesTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `2. A column with the gene copy number distribution for breast cancer cell lines in boxplot format`, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="890.37"]', Infinity), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col11"].lu-renderer-number', Infinity), postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); @@ -255,7 +255,7 @@ export class AssessBCCellLinesTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `3. A column with the gene amplification frequency (>4) across all breast cancer cell lines`, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) .lu-renderer-boxplot', Infinity), + preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col12"].lu-renderer-boxplot', Infinity), postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); @@ -301,22 +301,24 @@ export class AssessBCCellLinesTour { postAction: TourUtils.clickSelector, }, { - selector: '.ids', + selector: '.tdp-view.expressionVsCopyNumber .ids', html: `Here they observe the direct correlation between copy number and expression of ERBB2.`, placement: 'centered', - preAction: () => TourUtils.waitFor('.ids').then(() => TourUtils.wait(300)), + preAction: () => TourUtils.waitFor('.tdp-view.expressionVsCopyNumber .ids').then(() => TourUtils.wait(300)), }, { selector: '[data-viewid="targetvalidation"]', + preAction: TourUtils.clickSelector, html: `To find more information, they open the 'Open Targets' detail view …`, placement: 'centered', - postAction: TourUtils.clickSelector, + waitFor: () => TourUtils.waitFor('iframe [title="ERBB2"]').then(setNextActive), }, { selector: '[data-viewid="pubmed"]', html: `… and then the 'PubMed' detail view.`, placement: 'centered', - postAction: TourUtils.clickSelector, + preAction: TourUtils.clickSelector, + waitFor: () => TourUtils.waitFor('.tdp-view.proxy_view ').then(setNextActive), }, { selector: '', @@ -378,7 +380,7 @@ export class AssessBCCellLinesTour { selector: '[data-testid="viewWrapper-1"] .lu-side-panel-wrapper .lu-adder > button', html: `They now want to add the BRCA gene score columns.`, placement: 'centered', - postAction: TourUtils.clickSelector, + postAction: openAddColumPanel, }, { selector: '[data-testid="viewWrapper-1"] [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', diff --git a/src/tours/DrugTargetDiscoveryTour.ts b/src/tours/DrugTargetDiscoveryTour.ts index 2eaf76d6..231e5a30 100644 --- a/src/tours/DrugTargetDiscoveryTour.ts +++ b/src/tours/DrugTargetDiscoveryTour.ts @@ -1,5 +1,6 @@ // import {ToursSection} from 'ordino'; -import { IStep, Tour, TourManager, TourUtils } from 'tdp_core'; +import { IStep, TourUtils } from 'tdp_core'; +import { openAddColumPanel } from './utils'; export class DrugTargetDiscoveryTour { static createTour(): IStep[] { @@ -89,7 +90,7 @@ export class DrugTargetDiscoveryTour { html: `As the analyst wants to investigate the TP53 gene, he decides to add a categorical column with the mutation status (mutated vs non mutated).`, placement: 'centered', preAction: TourUtils.waitForSelector, - postAction: TourUtils.clickSelector, + postAction: openAddColumPanel, }, { selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', @@ -124,11 +125,12 @@ export class DrugTargetDiscoveryTour { postAction: TourUtils.clickSelector, }, { - selector: '.lu-side-panel-wrapper .lu-adder > button', + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', html: `

      Additionally, they decide to add a textual column that provides further details about the mutation (if present).

      This is done by repeating the same steps to add a column, but choosing "AA Mutation" as the data type this time instead.

      Individual steps for adding a column have been skipped this time.

      `, placement: 'centered', + preAction: openAddColumPanel, postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); @@ -150,7 +152,7 @@ export class DrugTargetDiscoveryTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `They begin by adding a new column.`, placement: 'centered', - postAction: TourUtils.clickSelector, + postAction: openAddColumPanel, }, { selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span', @@ -215,9 +217,10 @@ export class DrugTargetDiscoveryTour { }, }, { - selector: '.lu-side-panel-wrapper .lu-adder > button', + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span', html: `Similarly, they add a matrix column with all of the individual expression values.`, placement: 'centered', + preAction: openAddColumPanel, postAction: async () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); @@ -362,15 +365,17 @@ export class DrugTargetDiscoveryTour { placement: 'centered', }, { - selector: '.lu-side-panel-wrapper .lu-adder > button', + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', html: `He adds a column with the CDKN2A relative copy number, …`, placement: 'centered', + preAction: openAddColumPanel, postAction: () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); TourUtils.waitFor('.modal.show').then(() => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'CDKN2A;', 'input'); + TourUtils.setValueAndTrigger('.show .col > select', null, 'change'); // clear previous value TourUtils.setValueAndTrigger('.show .col > select', 'copy_number-relativecopynumber', 'change'); TourUtils.wait(2000).then(() => TourUtils.click('.modal.show .modal-footer button[type=submit]')); }); diff --git a/src/tours/PredictionTP53Tour.ts b/src/tours/PredictionTP53Tour.ts index 3de6bc0c..7d4d99e0 100644 --- a/src/tours/PredictionTP53Tour.ts +++ b/src/tours/PredictionTP53Tour.ts @@ -1,9 +1,7 @@ // import {ToursSection} from 'ordino'; -import { IStep, Tour } from 'tdp_core'; +import { IStep } from 'tdp_core'; import { TourUtils } from 'tdp_core/src/tour/TourUtils'; -import selectEvent from 'react-select-event'; -import { wideEnoughCat } from 'lineupjs/build/src/renderer/utils'; -import { select } from 'lineupjs'; +import { openAddColumPanel } from './utils'; export class PredictionTP53Tour { static createTour(): IStep[] { @@ -44,15 +42,17 @@ export class PredictionTP53Tour { datasetTab.querySelector('a').classList.add('hover'); } }, - postAction: () => { + postAction: async () => { 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.tissue-dataset').then(() => - TourUtils.click('#ordino_dataset_tab > .ordino-scrollspy-nav > a:nth-child(2)'), - ); + + await TourUtils.waitFor('.ordino-dataset.tissue-dataset').then(async () => { + TourUtils.click('#ordino_dataset_tab > .ordino-scrollspy-nav > a:nth-child(2)'); + await TourUtils.wait(1000); + }); }, pageBreak: 'manual', }, @@ -90,17 +90,18 @@ export class PredictionTP53Tour { }, }, { - selector: '[data-testid="add-column-button"]', + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', html: `

      Now they add a single gene score for the following:

      Gene: TP53

      Data Type: AA Mutated

      `, placement: 'centered', + preAction: openAddColumPanel, postAction: async () => { TourUtils.click('[data-testid="add-column-button"]'); await TourUtils.wait(500); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span'); TourUtils.toggleClass('.lu-adder.once', 'once', false); - TourUtils.waitFor('.modal.show').then(async () => { + await TourUtils.waitFor('.modal.show').then(async () => { TourUtils.setValueAndTrigger('.modal.show .select3 input.select2-search__field', 'TP53;', 'input'); TourUtils.setValueAndTrigger('.show .col > select', 'mutation-aa_mutated', 'change'); await TourUtils.wait(500); @@ -112,7 +113,7 @@ export class PredictionTP53Tour { selector: '[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter', html: `They filter out the samples with an unknown TP53 mutation status.`, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col7"].lu-missing', Infinity), + preAction: TourUtils.waitForSelector, postAction: async () => { TourUtils.click('[data-testid="viewWrapper-0"] [data-id="col7"] .lu-action-filter'); await TourUtils.wait(500); @@ -122,14 +123,17 @@ export class PredictionTP53Tour { }, }, { - selector: '.lu-side-panel-wrapper .lu-adder > button', + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span', html: `

      Next they add an aggregated gene score with the following criteria:

      Filter: My Named Sets = TP53 Predictor

      Data Type: Expression (TPM)

      Aggregation: Average

      Compute score only for current sample subset

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col7"] [style="background-color: rgb(170, 170, 170);"]', Infinity), + preAction: async () => { + await TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col7"] [style="background-color: rgb(170, 170, 170);"]', Infinity); + openAddColumPanel(); + }, postAction: async () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); diff --git a/src/tours/PredictionTP53Tour2.ts b/src/tours/PredictionTP53Tour2.ts index 38ee76b6..264f1c7f 100644 --- a/src/tours/PredictionTP53Tour2.ts +++ b/src/tours/PredictionTP53Tour2.ts @@ -1,9 +1,7 @@ // import {ToursSection} from 'ordino'; -import { IStep, Tour } from 'tdp_core'; +import { IStep } from 'tdp_core'; import { TourUtils } from 'tdp_core/src/tour/TourUtils'; -import selectEvent from 'react-select-event'; -import { wideEnoughCat } from 'lineupjs/build/src/renderer/utils'; -import { select } from 'lineupjs'; +import { openAddColumPanel } from './utils'; export class PredictionTP53Tour2 { static createTour(): IStep[] { @@ -32,13 +30,16 @@ export class PredictionTP53Tour2 { datasetTab.querySelector('a').classList.add('hover'); } }, - postAction: () => { + postAction: async () => { 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(1)')); + await TourUtils.waitFor('.ordino-dataset.genes-dataset').then(async () => { + TourUtils.click('#ordino_dataset_tab > .ordino-scrollspy-nav > a:nth-child(1)'); + await TourUtils.wait(1000); + }); }, }, { @@ -49,12 +50,15 @@ export class PredictionTP53Tour2 { pageBreak: 'manual', }, { - selector: '[data-testid="add-column-button"]', + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span', html: `

      They add a single gene score for the following:

      Gene: TP53

      Data Type: AA Mutated and AA Mutation

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1)', Infinity).then(() => TourUtils.wait(1500)), + preAction: async () => { + await TourUtils.waitFor('.le-tr:nth-of-type(1)', Infinity).then(() => TourUtils.wait(1500)); + openAddColumPanel(); + }, postAction: async () => { TourUtils.click('[data-testid="add-column-button"]'); await TourUtils.wait(500); @@ -103,7 +107,7 @@ export class PredictionTP53Tour2 { }, }, { - selector: '.lu-side-panel-wrapper .lu-adder > button', + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span', html: `

      Next they add an aggregated gene score with the following criteria:

      Filter: Gene Symbol = AEN, BAX, CCNG1, CDKN1A, DDB2, FDXR, MDM2, RPS27L, RRM2B, SESN1, TNFRSF10B, XPC, ZMAT3

      @@ -111,7 +115,10 @@ export class PredictionTP53Tour2 {

      Aggregation: Average

      Compute score for all cell lines, not only the selected subset

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col7"] [style="background-color: rgb(27, 166, 78);"]', Infinity), + preAction: async () => { + await TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col7"] [style="background-color: rgb(27, 166, 78);"]', Infinity); + openAddColumPanel(); + }, postAction: async () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span'); @@ -138,7 +145,7 @@ export class PredictionTP53Tour2 { // Inspect if the checkbox is checked, if so then uncheck it const checkboxTest = document.querySelector('.modal-dialog [data-testid="form-checkbox"]') as HTMLInputElement; - if (checkboxTest.checked) { + if (checkboxTest?.checked) { TourUtils.click('.modal-dialog [data-testid="form-checkbox"]'); } await TourUtils.wait(1000); @@ -149,7 +156,6 @@ export class PredictionTP53Tour2 { selector: '[data-id="col9"] > .lu-toolbar > .lu-action-more', html: `

      They decide to rename the new column to "TP53 Predictor Score".

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="54.56"]', Infinity), postAction: async () => { TourUtils.click('[data-id="col9"] > .lu-toolbar > .lu-action-more'); await TourUtils.wait(500); @@ -179,17 +185,21 @@ export class PredictionTP53Tour2 { postAction: TourUtils.clickSelector, }, { - selector: '.le.le-multi.lineup-engine', + selector: '.le-tbody.le-tbody', html: `

      Observe: There is a clear enrichment of TP53 non-mutated among the cell lines with high score.

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="209.10"]', Infinity), + preAction: () => TourUtils.waitFor('[data-id="col9"].lu-renderer-number', Infinity), + postAction: async () => { + await TourUtils.wait(500); + }, }, { - selector: '.lu-side-panel-wrapper .lu-adder > button', + selector: '[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(4) > span', html: `

      Next, they choose to add a 'Depletion Screen Score (Single)' using the following:

      Gene: MDM2

      Data type: DRIVE RSA (NB: the lower this value, the more sensitive a cell line is to the depletion of the gene of interest)

      `, placement: 'centered', + preAction: openAddColumPanel, postAction: async () => { TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); TourUtils.click('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(4) > span'); @@ -209,7 +219,7 @@ export class PredictionTP53Tour2 { selector: '[data-id="col10"] > .lu-toolbar > .lu-action-more', html: `

      To amplify the visibility of the added depletion score's significance, they decide to invert the scaling via the data mapping.

      `, placement: 'centered', - preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [data-id="col10"].lu-missing', Infinity), + preAction: () => TourUtils.waitFor('.le-tr [data-id="col10"].lu-renderer-number', Infinity), postAction: async () => { TourUtils.click('[data-id="col10"] > .lu-toolbar > .lu-action-more'); await TourUtils.wait(500); @@ -242,13 +252,13 @@ export class PredictionTP53Tour2 { selector: '.le.le-multi.lineup-engine', html: `

      Observe: Small MDM2 RSA values (large bars) are correlated to the expression score (TP53 predictor score) and the TP53 mutation status

      `, placement: 'centered', - allowUserInteraction: true, preAction: () => TourUtils.waitFor('.le-tr:nth-of-type(1) [title="−7.14"]', Infinity), + postAction: () => TourUtils.wait(500), }, // Can't do the drag operation for this final step in the aim // Remaining two aims are also primarily just observations, but rely on the combined score column; What to do? { - selector: '', + selector: ['section[data-col-id="col9"]', 'section[data-col-id="col10"]'], html: `

      Conclusion: When combining the TP53 Predictor Score column and the MDM2 Gene Sensitivity Score, the new weighted sum column serves as an even more accurate predictor.

      Thanks for joining this tour taking a deeper look into the TP53 Predictor Score.

      There are still many more features to discover. Enjoy!

      `, diff --git a/src/tours/WelcomeTour.ts b/src/tours/WelcomeTour.ts index 57ed70f0..49d0eafd 100644 --- a/src/tours/WelcomeTour.ts +++ b/src/tours/WelcomeTour.ts @@ -1,4 +1,5 @@ import { IStep, TourUtils } from 'tdp_core'; +import { openAddColumPanel } from './utils'; export class WelcomeTour { static createTour(): IStep[] { @@ -58,7 +59,7 @@ export class WelcomeTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `Additional columns can be added using the plus sign.`, placement: 'centered', - postAction: TourUtils.clickSelector, + postAction: openAddColumPanel, }, { selector: '.lu-search .lu-search-item', diff --git a/src/tours/utils.ts b/src/tours/utils.ts new file mode 100644 index 00000000..12585de7 --- /dev/null +++ b/src/tours/utils.ts @@ -0,0 +1,16 @@ +import { TourUtils } from 'tdp_core'; + +/** + * Set the next button to active after the promise is resolved + * @example + * waitFor: ()=> TourUtils.wait(500).then(setNextActive) + */ +export const setNextActive = async (): Promise<'enable'> => 'enable'; + +/** + * Clicks the add column button and prevents the score list from closing + */ +export function openAddColumPanel() { + TourUtils.click('.viewWrapper.t-focus .lu-side-panel-wrapper .lu-adder > button'); + (document.querySelector('.viewWrapper.t-focus .lu-search-input') as HTMLInputElement).onblur = (ev) => ev.preventDefault(); +} From ba09b7c1bdee7e2ff495f8d3948de8206fed2a47 Mon Sep 17 00:00:00 2001 From: oltionchampari Date: Fri, 7 Apr 2023 10:25:56 +0200 Subject: [PATCH 37/38] Dist --- dist/tours/AddColumnToGeneListTour.d.ts.map | 2 +- dist/tours/AddColumnToGeneListTour.js | 11 ++++------- dist/tours/AddColumnToGeneListTour.js.map | 2 +- dist/tours/WelcomeTour.d.ts.map | 2 +- dist/tours/WelcomeTour.js | 3 ++- dist/tours/WelcomeTour.js.map | 2 +- 6 files changed, 10 insertions(+), 12 deletions(-) diff --git a/dist/tours/AddColumnToGeneListTour.d.ts.map b/dist/tours/AddColumnToGeneListTour.d.ts.map index 626fd2bc..8d4694bc 100644 --- a/dist/tours/AddColumnToGeneListTour.d.ts.map +++ b/dist/tours/AddColumnToGeneListTour.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"AddColumnToGeneListTour.d.ts","sourceRoot":"","sources":["../../src/tours/AddColumnToGeneListTour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,uBAAuB;IAClC,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CAqQ7B"} \ No newline at end of file +{"version":3,"file":"AddColumnToGeneListTour.d.ts","sourceRoot":"","sources":["../../src/tours/AddColumnToGeneListTour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAG5C,qBAAa,uBAAuB;IAClC,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CAiQ7B"} \ No newline at end of file diff --git a/dist/tours/AddColumnToGeneListTour.js b/dist/tours/AddColumnToGeneListTour.js index 2b93b3ed..9ed04561 100644 --- a/dist/tours/AddColumnToGeneListTour.js +++ b/dist/tours/AddColumnToGeneListTour.js @@ -1,4 +1,5 @@ import { TourUtils } from 'tdp_core'; +import { openAddColumPanel } from './utils'; export class AddColumnToGeneListTour { static createTour() { return [ @@ -61,7 +62,7 @@ export class AddColumnToGeneListTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `Additional columns can be added using the plus sign.`, placement: 'centered', - postAction: TourUtils.clickSelector, + postAction: openAddColumPanel, }, { selector: '.lu-search ul', @@ -123,9 +124,7 @@ export class AddColumnToGeneListTour { 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 'Cell Line Score (Single)' dialog`, - preAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - }, + preAction: openAddColumPanel, postAction: () => { TourUtils.click('.lu-search .lu-search-group .lu-search-item'); TourUtils.toggleClass('.lu-adder.once', 'once', false); @@ -165,9 +164,7 @@ export class AddColumnToGeneListTour { placement: 'centered', html: `Finally, we want to add an aggregated column containing the mean/average copy number values of all breast cancer cell lines. To do so, we open the 'Cell Line Score (Aggregated)' dialog`, - preAction: () => { - TourUtils.click('.lu-side-panel-wrapper .lu-adder > button'); - }, + preAction: openAddColumPanel, postAction: () => { TourUtils.click('.lu-search .lu-search-group .lu-search-item:nth-child(2)'); TourUtils.toggleClass('.lu-adder.once', 'once', false); diff --git a/dist/tours/AddColumnToGeneListTour.js.map b/dist/tours/AddColumnToGeneListTour.js.map index 5652a909..f25c4790 100644 --- a/dist/tours/AddColumnToGeneListTour.js.map +++ b/dist/tours/AddColumnToGeneListTour.js.map @@ -1 +1 @@ -{"version":3,"file":"AddColumnToGeneListTour.js","sourceRoot":"","sources":["../../src/tours/AddColumnToGeneListTour.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AddColumnToGeneListTour.js","sourceRoot":"","sources":["../../src/tours/AddColumnToGeneListTour.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tours/WelcomeTour.d.ts.map b/dist/tours/WelcomeTour.d.ts.map index b1882c68..ccfba649 100644 --- a/dist/tours/WelcomeTour.d.ts.map +++ b/dist/tours/WelcomeTour.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"WelcomeTour.d.ts","sourceRoot":"","sources":["../../src/tours/WelcomeTour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,qBAAa,WAAW;IACtB,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CA+K7B"} \ No newline at end of file +{"version":3,"file":"WelcomeTour.d.ts","sourceRoot":"","sources":["../../src/tours/WelcomeTour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAG5C,qBAAa,WAAW;IACtB,MAAM,CAAC,UAAU,IAAI,KAAK,EAAE;CA+K7B"} \ No newline at end of file diff --git a/dist/tours/WelcomeTour.js b/dist/tours/WelcomeTour.js index 9a0e18a5..eb8e4e7d 100644 --- a/dist/tours/WelcomeTour.js +++ b/dist/tours/WelcomeTour.js @@ -1,4 +1,5 @@ import { TourUtils } from 'tdp_core'; +import { openAddColumPanel } from './utils'; export class WelcomeTour { static createTour() { return [ @@ -57,7 +58,7 @@ export class WelcomeTour { selector: '.lu-side-panel-wrapper .lu-adder > button', html: `Additional columns can be added using the plus sign.`, placement: 'centered', - postAction: TourUtils.clickSelector, + postAction: openAddColumPanel, }, { selector: '.lu-search .lu-search-item', diff --git a/dist/tours/WelcomeTour.js.map b/dist/tours/WelcomeTour.js.map index 0957a44f..f1433c3e 100644 --- a/dist/tours/WelcomeTour.js.map +++ b/dist/tours/WelcomeTour.js.map @@ -1 +1 @@ -{"version":3,"file":"WelcomeTour.js","sourceRoot":"","sources":["../../src/tours/WelcomeTour.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"WelcomeTour.js","sourceRoot":"","sources":["../../src/tours/WelcomeTour.ts"],"names":[],"mappings":"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"} \ No newline at end of file From 963e5c2ae1475fef78d521936da94af76ccb17b1 Mon Sep 17 00:00:00 2001 From: Holger Stitz Date: Tue, 11 Apr 2023 12:32:19 +0200 Subject: [PATCH 38/38] fix: add hi-res tour preview images --- src/assets/previews/tourAddColumn.png | Bin 7770 -> 12883 bytes src/assets/previews/tourBreastCancerCL.png | Bin 11358 -> 58086 bytes src/assets/previews/tourDrugDiscovery.png | Bin 22449 -> 31760 bytes src/assets/previews/tourOrdinoWelcome.png | Bin 5809 -> 15411 bytes src/assets/previews/tourStartMenu.png | Bin 8664 -> 13652 bytes src/assets/previews/tourTP53Predictor.png | Bin 10594 -> 57643 bytes src/phovea.ts | 4 ++-- 7 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/previews/tourAddColumn.png b/src/assets/previews/tourAddColumn.png index 5a67cc5f8d9fb24f215175ab4203170ca13cf9ec..f6bf7c6c1ae844624e22375aff592adc2805cb69 100644 GIT binary patch literal 12883 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 R)fH!DEj4}BSITzx{}cCamKy*7 literal 7770 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%0A#Y-)8TrP^IfZW?A|Oc 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

      0HoB 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 literal 11358 zcmZ{K1yoz>nsz7@r)Z%##ogVl6sNdTEKnp+q*$;*1=r$MT#CE9ySux)>%TeY+%0W&$6*n`0~4xeltk6@dGfrF@?50bD48#!9o z+K{PPK)@gcTQXJ-GO^G0WbCZ$9As>4{H#3u9PC>96&D~78AwJ_OwA?nV8K=I*Tibq z2|DYtx3^z)7TjjQs!yCOGZOgaEcqsv%tMq#O>_WZgpYT$E>G1S)5z(M4V(CC*m$2T zf8De!YjPjL?oGe8{v-5=H_c!}jm`RxMR&D)XN+6@XZ0vBWUouqo;8 zLNhWbJ)$Hq;Ka82CDA`%z^Q@@k6s}9kZlKk0=*Pt)lP%Kfon1KhX+22q#_U%!;p_2 z;q)$5cy#ef$}c(SKybsxNG};c@;R0_%_rUM3&8P+NtdjFXAM6l8NhG)nB}W)UYhpN zWWK)sWPe4W`H?92=+@JfUh;0nMU>W*Aw~VRCuNz;15&;i>6l z=w)ZwPnu+3yhuaJEz^xIOzEZGYtLkttFun$RSotF)p|>12uR76s?bw6qUs$5to-(KTQ_rE~2r znzYfk&A+Mm#nE8n^_|PAkN^q3w_u!K>LOgb;2cT1O1&1zm#_&^{xA=LxQob#6T

      }#ISB%z#j(S31AWGX0G}z^btEH}vj&~am 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 AT>t<8 diff --git a/src/assets/previews/tourDrugDiscovery.png b/src/assets/previews/tourDrugDiscovery.png index 399e81c94105aff32a9d47dad1153a3e61e07572..ffdfc18fc59a2199ce6bd078cc86ab43d7493be7 100644 GIT binary patch literal 31760 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 I2J!a)1^%t*Jpcdz literal 22449 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 D{H+1{ diff --git a/src/assets/previews/tourOrdinoWelcome.png b/src/assets/previews/tourOrdinoWelcome.png index 766f94ccd4c068b9e6a2e0e5ab6ca4551503673a..348042c015803b7c5ff692beaa4d918702172342 100644 GIT binary patch literal 15411 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 literal 5809 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 F{tHU()rkNA diff --git a/src/assets/previews/tourStartMenu.png b/src/assets/previews/tourStartMenu.png index 82e39d0ddc42d267145f8294de262309faba71df..c5401b45cd708ad8d3e0e42f186897bb43543f67 100644 GIT binary patch literal 13652 zcmb_?bx>Si)8^nLgb)Y>*ARk*AxMw}h7jDH;1Vps-5G*Qa0u>hK@%jv;O;?#yW3y` z%*<VW@3&voZhc?X?!L9>pSh>cIenko)BRL;-y5!?Bu)5`>LCaOB9xVpPy>Om0T2jt z3?J)W!oHt`27$0ZDhe8sXYdO!zp#y~FXIa~008z6j;rdMZd=Hxi<B;W8J<+E96x7^ zj8ECyKXma4+SuAXJv&d$DLgzr@eYifp8M<I835*w*@9nuv2~m*6NYVHboLG|EUwtP z`2_@ro$d7W4UW1)Ls!=~w>qP9^NYaY-O=AOGV@E%rYihGqCz|OLZXu<;TLx9PyjgJ z+C6OR=xJ_g2lK1-M+?jF3l~mbf@6n5`Gxo4mtg*i+~UfljJz}W%o%)da%TPl01Ekq zqlV7~1cZmjCgJd7Shz5l-!32`7F;&748PbvzNq`v92Oa^rDu3{a(r-j+|@T^$u9&y zU0N!0(Bu~af3B>k{u#|DbOvAVhhM;tcFby40Qd-iTKU=B2Ie;u5flG0b2dIX)4zKG ztkx%_X3bt8rZ>+NRn#e>f0k9&&K_Na_rOcatC$@n?VVh~{Nmu+6(2*vv)w6EbE{;% zS1;IJHLM{xb)hbvK3y?tZLC~*W5)xFhkFZy@TJPAxI`bnuT4I}CDy`?i)Ux2V_^P_ zLN#F%J|VxfX0U3-cvHG>!^-aJ-1%7EeqZurv07}yAKC0l_+XqLzYyE2*L|nJ=|b~s z$FlW-q96RiSv_mEB~vQ#{qkY0OHHBN{6VkOt!wOr&Ey1=hEH8{dcfYTe>%z}WaLXa zrsrzDxTpv&A6%TRwJLiTbd|(&>wlXl52;J@Uv2Qn3AIz#(h0KCMBdzf%9{YIM)f5K zD~k(k+yZ9N)iUNWU@86TAYEwt;p${pxT;|5#Kv5I<JnwoX^hiUiA_h6sf~%sXckv! z`5@T3IXxo>Ea;u=rS~#(EX`KryQZ)Uub`D4e+D-{tw-`Ji2T9!#z&`bXRCwYz@ELS zda$s$uiBgXD8^z>HM%5u#vmCEc~MPeku)!^l#(v1pq$E2Y`r!t+f@|YDwzuU&S3tJ zuLIj^^J7@d#lwxnSarl|Sh*%&aHv}Oh<!9%t&>=Ed42!@mA-kQb~&XfVe<SYQT)!> zjr7eR5D$^8#Cr{ozlT$~j^ghrq$W^Xqt-8@BnnAL2@7KS6UC@K_^h4?QeZ#EJ|8}I zS0cLpwI21R5z|mT40z8TjG!-2`~P%t+Zfwb^lOFx_q}#4U}dFr1!%~CeX+B3z^OpO zmTIp1fbUzyMKieC?ajc#1sb{HG(X$@clF`Nb0{!-Kkd3|D4M=sjcPrA7{!E-b&7Oi z5=HFi;){ko$t$TS&N3!^Ex{O}s`_;6Q5?2LHRChRnufU^x&z4??L!f_=WaF0cw{zV za|FV^cC|ar=_8-Hj;|Tq>*{#Zmr_sAZ0_HafZc9-DMXBOd8ZOqo*>@4ckc!Vp&0MZ zEU%1kvT!9FAA5LsB*p;|L3b{I=IUoL(jEWMQ0Y{J{dr`W1;DoK9vp!e;oRQU)%6pY z%OXzzT<l)Fm&EE3T3uUP`wNw|8H=2U3XkLjd|jtGJw0_efJqyb>E0-x<??n%7ghSU z;YO{Utlf-t<%<WdDp!kuwb0JOgjO^{WZmrNxjGB8Uu|80R|Ct*el&71I}jowBJ7#! zaELV^l#a{ykm!#2?z<gsx)oZUGFtg~npQ6SUwf$0@@ltrSJ@*Y{&*}md|ok_-d5=J z_zmaR&#sW#zossqYhb+_jMWIzt^ZnE?4=mA?~m6N4V<3N#sL-3r`zpJbO@8Va@?Jc zXK8>|f~i--*SYnZvBz1!Ak7#Qibsw17LwqCe!Lr-N&c!HqP`{4h?zos{`imk6_eNq zRK;O#Hiw{_=7QR6y1_^p5<CcA^;Zb;QUL7;UKw?Kk1oeF4z;DGb`vYv$RyNm7b&kB zAGbcWf1pSo2ry_IZT<j#B=H8e?s!L&u0E%i(iZDMo*=)nYjQ1PQ&@~a>7NDg+xn&$ zD*N;1J@7Tce#5GL088_d{wB3WR;?`eY!rf*u`vZLxBg3d^h;KTXQr~LL~Yy#kxUVc ziZkAItY)}ETN~2n4m7mC2C{)N4No7L9|5~)=Vpvsw07R_1BTZnPi%2Ew`QT-R_5Mj zIBnZ@M{(Z0uDBFWIDpER+8=+v6)fUIThBj6_Yb~e4fv+I`fwYDjR-B^lqP1@>u!hk zKnu&)pch6->|+QniY2I$dmDwKLYKjtH~})Wg6Fx>Wfp$d^(p5b{WV%%BB*JVqHkjb z<yT+N`;p0RZ?5hDG($uA0kbH4H5w~H<(3uUPI2)#8|m0Vf$(`moYQm4dxhqO2bw+W zBn-cB=4`83gFMW}okH!n?3};gSrO2K?VS%OwU3=z4weE>_TNkKoNp{ar|XEngpH?u zUQMK^ga#3dR|HOuMyQBq0Hd2o265A|GS%INcxj&sC{h{S6}aje%Xip-*290(&%BoH z*5?75Oa6J@VWYkh_xhvDgZ7W=EjX}+<k!w&+pu4ooJZy*g6{OADL%KfRuqC>3<RTl zjo6`c=k#)PIH%RJ8Fwe_#|~qGtV^DWWYmCSM}vF0jb^WvuqDM<EK$mLCN%S#dPMaZ z^4h(63u4|b>O!S*Gqwh%r*QcLCma`IbgOj$P&84%mQ(&gO9pQFLrx@ls^iPLQcf|t z_Vh|xlRr=^C*pQ5sQz6HzQxu4n&2j8ad$8D8l@|38{t~>U_Di#U`hYEjfu-YKCFjU zZ}E}x!;!xkn*bY~DGm|jU~30YHv+Xj#OR@Jych1A$YlDsnhv`sL7i<fUP6&}hqpv) z57o^;f>(#Z%oG=1w-gc|LGcRRf=xSY?ME>^O)@!35eh?d)eSKU2aH?>Qx$`IM!4vM z?;p0&aLwVKW;wzZ*-}QXozdYDhIZK|Gws2OBTmKJ6B0KcaS#Qs7hHh-PS}_)JcSF= z97nq1c=#jUw&ce#j8X_uS(bgsDCCQSy)C@k!1>l{o=<)wiuD4UpH+sr{5h`TsG#Qy z-Pc^kLk9`P0j9p*O(gI6Y6F+UbQbn}SJ4Dyf6C)D56JE0BuulP%x0*jaAfVIt?PUF z;EOOgF-w#i)*fl#-I`${<no(8UT1ryQNFy!R=CzLCw>_c;W#s26iTkXcpGyR%odM! zMhq1vKbB74PiIsM2UrK8IKy8Cetx;p**`%x#F!12XmZHFOD;+CU%f5W%Gc7Hi~DJe z)rT%`RrzbX`;?e~=<i9)HmuUg$B&cVaWZBoL91WTX-_!y*|&Ar-&qZzV^p&2jGt__ zf+#-ea_GYwrV3p@{4Mv`WM4Y&mZUnaW%0$^a-Y{dPoS}BNHsLU2m#Zm$OyP1ftCD2 z$z*>VIjA0Ui#@^+?^7Q$bB+mYnOu9DNhyTl74v%eEtis<DEUtc^5GIA)9aC~H3U&h z2Qb-m<L5{p0s4Ttex;|!{>GqD?l4ATG}U0MPES~ubGYo0$gczRoxx>X<aA{5oh>3J zi)5;SLkD61vbE~Ly=^`$B9zY%Y&UWla3lBX2SzYKd|`I>MD&4(GZJy;jj>85w5g|H z*cm-h`3f0I#QX?j_?Hbl1jqlK&!HmK!_NbJnELn=j$1IgkL9j9pFFWa4Sy!HFpC(% zp2Feq)1=DM<YZ~RDVj;Kn3_j{Da7*y3pvW4L+4~$BADY<pG`S=8`9l;Y)wxV5DBe6 zU~*E@)uq>s)&t_=PH0TI=Vf)gGq=D^U5vq3Wzk6-&%1Z(G&sfzMn464Hr6r8)VZt7 zCjs9in2Giee*3&Nr4?c4%S`acp=gc9;+Hr3bGz;bc^eU1hMk<wwb}XhS5wL)<Cj_T z*)Er`Ar}?-ln<Qe1*XYsa{RREV14FEKDRhm%=LNK#2Ceu%$&P1{no~j_~`!cz+*E> z(UF%R<29I41<!d`B;yZcvB!7pP(u|!2$>zD)&z4Y15cu6LDT`xozjoP*&piaA(Z_n z&7>X+P3p91F&eQBPgzAd1ErLr&(QBOq_ehK-9h%9e^sBcMW80-=_e@s9hAC#BUje6 zU&dPX$@h+b@1DH4fo-}mA0M=Lb%!eI-&Xy|#_>yaij`X6C`H?7<I@goS$vA7mN)%L zJQT<&u3qUQ<tqfrijPvHGTzv~sKbaiumNkJt*JI0S0*?MDsjWaCsh7iGi${<M`Nwf zwmx9+qQ&aZq!bUSLP@@vCI_!QjTczW&lUG1CDBoFeY$G*%oG}WZ?c3hRGb!*q-9vc zb0QcY)f*)@<qEayXpKfDw%&`XTeUf)ro7)KdgLQKTAF3hyXS{mR_da+Ye9}*=qCVq z+C+DOh^=A93NJl0Z)g2aY{Z`mU)uIgsF_=_5zIi9&hXIT1oD&I;+*^t5_(^M7~d1z z-KV0>T@1aVU?6N}YQeC<-$8uA&gv%r^}XSj!7`nb>P6}Ha3gXyk;HK_271-cgBd@2 z<OVknJ|g@m_1%Wz(0`;BnOxiC0m2+PCfuj35!bnRX5)RgA2H=OC)IfoWl7ZeH=vZ# zBc>AY^h8*|ec=^cXsfPp@Vnckg6L%LVTATPJniu#OH_}3=p?v$)$)MQHHov{#*=PN zHRHAKD`OJPsd%37YY*qwh1)>`(9%gL`*#j}Cy~O*u#Zb&^B9o?$qmsNZNE3`0#WR4 zv~lKF*-c))HO=kzLr}%Q0;x-iZR~q1<VoH86aO))4@QDFsv9T*lsZIJenU*9tTo&j zxs(^ii+{)HujKc_XrnUzss~ic$uE4*?+a=MMvDvMq*%20(k8byEDF52N6!M>{+!6l zs8X4XKsO5?-u{hSH$cR^(yG8@z<ugS@wsZak544>ZMmo0)}Re{5mkeiqh?4r7NVh? zq$yvF%ftaVBe!h+V*Z(Q+$6nCI3DaJ;?O5mmG2qU_f+<pOtbpj%46i?O=Ro&BNW@i zjmF~GL>Z=K55{;i^HzpbN>webRP#_3DJ{3F!T#lWZ+k`wt=fiDaSK(gjPoNzv&gj* z`r7Gi=MERP(z=sz2OHf1GIl&io!fkb$&wv!_yeufM!MtMXyq4M1C*3N%Em!=B>BXv z9{QW@p=LvF)-9)QZEu%FEofHi*Rzl5L>zbNkmY|c>_Y&G7ZK2AX%t*dMGb8tuaCRc z2gxDWrz|;J?}O+EgZf9@-!Ec>sWa;j+!X(qK<1ymM$87_>gO*u$x}=B^V|_H1=^AV z6v}o{-Xy2?y|YH0<W>sUYA@tUUMXz@j<L|{<cQ?H)|3qCIm4!9e3ScpDLfp}YyO~r z+t1JSD$rjZS1|A!mWJ<K?pbqTAnv7Iuj*e*leAB?v6;$Yc%8#DBi$O<KrQKJ3~`wl z`V3CV{f!A%>FoY_tbaQjHADa*t}$8P9dqcA=_>K9{@H&d&Xli9jFzh=SNdQWgFff$ z^gqO%AK{#<5!LZaqA3ZV?bQ+Q@jPOEJ9#D!C-Oi1wCFT&4sa)JQ#{4Q?&?-WsymCF zD|>aSIie-ZJnOR>)mh<VqX#U#ePoR3zH03~(~{iDO-$`J)4mjMXSPY>v}p>@ASuPc zjiBd%2V1%<D->-)Y8LIiZySeI+<Ak?OR0t=IHKD|bACl4+%aZ2vHQMyoW_8`1}}_& ztN5?+#O5hb`BR)EVst5Z?km95n+<(=b0XE(ke*W!w@pt2TX3Ip2*f$EksHoEi0R;s z<to`p8i15P9Xb+Go^g>Kg=t<k4j=5zJfA==H1=*<zsEqo9u#^|*<Sidz0)w`S(x*p z2kP4oS^z<d``x>?2(;d1MIX?PwG>L=`6jJ}YWYJniF3mDh`LKYK!Z12gQ*kP>3|^B zA}AWC+xtG$nSbR2#)&ouAU+Q~;Z=mMq%g#k6R%gZy*x`<J&_xiD8tFh1+}weOEkev zGUPQt@nGA1mqGVz1C~kLU`}Gm3VgAhf2kqqGY2R2XAM<h4A%*?2}cIrGFpyTkPt9$ zt`t<65Rh=jL!DEJi*Fjt{0%_aAB3Zbtwj|>$icBdXbZ2knWO~?!{6{~c>@D?iAxOI zH(7qzDsJ!rWBaovM9p@#9ZQ?|2CNN<C6tFd+VYzfUBd=NpSgk2Y<JHHJx`TeTSyZH zfvvSb8lkpRu;nO+c8@mQ%@`~IDvt6&Pkg{5Ak^{pT_zneEK*4AVnhb2-|b(T+QRf5 zCeFsVu#~YZL*@LTEcB<;uO7mQuzkLIZ!X4SBR^Dw85&!}Z}1{ZCN{yTWJ`6k>PRfP zsP_Y@Uq>ED3B;1gqbWUpgYB2%td7`%wlodQnpK@G_Cy(Mq>OJJ9-;Rv*2_(|PLZ%p zWFVPHlSLr7s^HH`ALQ~rCTo$Fdr8mn5Z990-RjjB8i=o2CJ&M2>6hB4MB&7?VvqL% z&F=7lm0wgcmjnnvKgBsg2lL%Qc&vTqL%KUCHLY)rKK5+ywvl8SQMV^6V7&TMf}5!u z2raze`;28B)ojNh%E&B>e!o?HOjJbf48!aD*p2RBlim}}DO8@RkiO-X-qT93nUB{z z2UnyvK3oDY=+nn;$=@%8eN`5Z&iid}9^=<()PgRoY8|y|WO;`uHZ*)FR}UN&=F%f9 zT{`{{hTY<MVf7O8u=T@)vCve2k$QT-w~EcC96doGjeA=8Z0v<3#I{g|d;nsD751ZT z^-{O~vQdjU0Lu5N6A`K+ccz^0N{ds$+z{>%tuA8`l8|LfJ`1#!x~T?TzGq~kC>4CY zPT!oGf=N7uUMXb?-=M!q&8HZJIFP_Mvo(xsH>#qbyUED`@ly~FUkKg}p6gp?(TE>V z9I$~0QoDrW%;-&@JV&^i4f?gU=Z_&>yQh>uaPBU?6k3tywdt*P3gxHAgi94P1CZa; zc5QbaRJczQpdG_Fys9QG!RPiQJK_|8F<#5bA!l?G|JxZK=JAi5qk;nwZigPocri<? zCL<X?W@cL8+lzuSso=}kt)KeBjXSj=)Y9|ng>m(<4)-o#DnARw;PycXU?qnT($H)j zF(T7fGl9<InCh3xXnsrZ`rxI<sWPmEFKOadd*-Ydv2%bMgyrDT9vQ%FDesF@@qBJz zE%7~?5vU@KiZF@=`nJ~V$hZ=k2+J|q(O->Q2$2f}xJ?9yrfv?#s(O%q$l(LeV}u~@ z1K^_DE^z+YD2zmZyFU*z0_qX(18QwI)Z@^~$jI2>qnx9ByUB*dn%qG6i(Mf6`vLv5 zG*0z<?q&ucWiitJwLL!|o*rIRyr}k-o=%2t1g6XF@>w{9C<B9|QI-tAOtMV7K3&b; z3$Nzd$prLq`s)GL4&_G98!Y^bd!Ei7hW#F@+)zFvg6m=*++Kg&WRku2iTGh}AheAg z%6<oND4FXVw3C-Uk8fWYpvs}k?*cJ52G>rkt_)Mz1y<>8gIvA!^-a%;WjE=y7oRm5 zZ~bXResIUIr1eXXKDEbf=-}GV-GDJ9{>HVv2#m7)Mc0lMB8#gr+7Zq6sRw&jbVS~% zirmfnC(Y;I>uuFe3GlR^uw$&Q#Sj5-f<rmCp>Ud_Jy*A_SsJuC75i`0?bvvy*JC<j z<c3{~69M}t0iE6UGj+a$ml_Nz$S!r#9Wqg*9*=+Z@=*g|o4Ww?66cd2VoRk+U6vRb zrVV~X-6h-Y$)i>2nz$i?fXo@V5g^YQ0s)irz+0OGQIlZ84aOCp3Uo3JOq;0@R~y0+ z_d=dd5WlBDxZw@XB`1T)ut=Q_s8Z4C5!L|K&a8A^BrjNRE(^Z-eqegx55XLh27h%A z?=wIwt4CZXAc~TF5Yk>V(~>!PJn))VL0=60z#?59r>o$^QecOE7c)I2K|#)VqgBzN zLxl7fK*zrW?RP!TaT8}WsQ6h)+Th41PSQ-o>-OlWIaNE}w@DGF%5Y!B&6-fXq%Y{; zH&3-Gntk(z0(jMlmBKf(%X=LhM4?$;t23wK(N~vy2L@6qt4p3!5S68&ZyuLKc0PMJ z&*=hnmY;6%n6Wi$iR>pQ=OJ&T`;72`mL>mv<d7Rj*%?y)sM`8z2~eA(D|Hik3$A|F zuM0ItA_ZDpedg$ZfhQwmUuzmnGEXsAu_fyi+T^tpMxB0O9ZCoCH&L-Bn(u{A<Lp~q zcFbCQCQgTnBpH0dfAcB;$`c;7^I$Fea(!I7&q?PJ_Dp-7d4V_WXT3&ukn36seIRbs z$0N21B5x0xA@-jYuk!YdatXDFHIM|>EMJ*Mp^@wK<&GFhs#tiWH*$QyyM3e5W5SA3 zipwhFUDH;@J-W*wdG+NTqsg=48)<{R=PP7mkQFvlzn9pfkXhsc@7p|dHa(z^f~i*k zeFRDC=k~l<CGSk`#sip`j@V<(1A2}#+Ax>0R!Hsqrg&V1twd|Y^Z2-2mpitYMqhh$ z@-zFsxe7}MEFF4sm>@hLf-U-Jrq28}aF8ArvQDf}KJ<l>;uZ_9iO_(D6VH&RTE{t* zTG6J6s#~O)XmOFvW9o-AO1%d%tswq-I{D|P{2OgV;K6V9UW(Taf=s7z3k^f=eZ}o$ zv`ECuBe}-xy^K8_(^&{vmZ`3_Dc(}PpJ(adInr4eop-a7M1WO5d34KkN3M0Oj{JnO zBy}4V1O_$xPzghHcYBxFxgYFRcCymk{pcfRi0p@5Kga#y-#iMiFZ&A<QjhV2{PzEh z*fO%urWq3dnbGK+J^!qs2(+_$<?A%f2;aT>QDo63M9cFA*d5O|CXqTFvw?p23Aa#V zEEo*E%={$qU~@3tNH2<zv<xjW)WkvCt@PWb>&+$Em%1C$Yl$n9hR1kv2i{XKZKV1L zbE5p^h-+e{<at$mIrM~1jxa+xX8%fUwoS1IG6PF~n1y^g1FK4Zp@s79*P7|O!64I! z+21OB0Yy)o-KRoC0;^dQI&9XN;R);62Ip#BSC+BRTV#wkCF%^h6~B`6#*JVRYEH$t z!{)pn%8Q-8^bWC;PM~hL<%juMdsPKz1fp{>a%0bubua=cUV1PJy&Hp3@SJUah8v|y zbJ%RVZ%@To;D2vJBhTkaw2$Qv$LCyi9M+#oqE(MP(DpRwRGbfo_Z{+caER74@5Bah zJM`1L8lNv$ljY4WRPci_+Vd<%HC7>?6WYXV&Pe;I3^{A`LlQ?9%b!IoJ)F=hn-YH8 zMg*kbB!nk!fs+d=+?1sj<_4gsrRF6JyjP6)_NGj!8lt>G7*9qZwCH|~L3pzKWMa9J zE^{5%cQoV35$U@$zPds8kPG<wir9eJKkI6VTlAAoz(G~=fQ1E*QBl(Mqg?7(<e#{e z;i7+lXo{SeMj+4)Xr9nEmUHuM@_msHySU5%PtC^IJ_JA?z<7T0@O?0pIzJIF(z`|P ztXR4ot%jIT;07?vS1-8I?lEv<L(XI4Vmx_87BQKy|7h9^`CXhGrtWW1A@qP5%G2YO z)vj!GhtG8S45h=R{dP7vD)7nlUG#5gAQAKy?_AUVH(f{he@-BdWT*QpLT6)<==Wj! zp`y~tqR2h^VN1qayi!gHfFUV(m%gC(2`W(ISspZYQ2c^OO(zWfo}FL<B4hr4x5>zD z-~av{CFs2hpe-PQ$U)<2K0Jez{PTV#NgPR3hWpRr|NF2cdW`+gDSxC9^?S{Kf6N79 zVf>?q0hpCi`S;b3T^$?$RAqhGeo7dcYM>GjDPBPOpw4!2bdpoCzoMDOjDaC|T`K5s z{R85$=hqggtj|uif6HCJd>N+{My`}G$0bZFA5L@pgXDjX_8p$H<LOg7$xW>!3nnLC zEzoJq%~#U&@Gm(~5Zc*}^X1SeMm=48YuMqR6FX%T^-4<2)KcMDv?1p1!n*_x%v~D- z&$z--V-#<=C_89(wn|1AZ`|);!Iuj&qIp<w)^{IO(0KWPS~IRg?eHdZ<heN=`Brw{ zfIrIlBK%4TLu{<qvk&x_HxssMB|?vWvIh#mx*GHQR!gmnA-2-nu!Jc{8{Xfc3SJBh z>$WpOVfi0Cq8H<szHv@+B;UP!aErJ4bf2`H`zf2>8+34E?Jm8)a>)nKY`Eb!gYvS^ zjA{yd^!{VJ8yGGZPSPb`DgwiXr^+2uaG6wZjV~u*@Ti-E?B@CnJQ0)ZVOw)P7V2XK zn5eJ~jUI;B$ZdXdN08Hgbom#Sg)dDrbz-9d^UVNypv4Kb7FGVOceC!UC6>H2AGBHq zI!2RLd5@iQ>Ls;Eu*W+BsJo`&%~YN6&#4s|ff^FdI3NQoE5H3#`;5f6f$Zo7F(tU{ z32Na0W5K+Q+}6@4<*;(o4Ei>GOZ6r^7}H+~gAe1ceq$!HNA=Ly{>o>aIcK2WqYQ5j zvJN*xc5dc-`ua}2>|FSX>3{$KXiXPJv%sEE-dqxV@;Wiv*97-GUSLVLw>dU=fWW|C zZT0?o9qkoE-f(4~x!Z8`<yEBT3Mz8xwrb*P;P!ZJSG#g0<{>EUt>Wi-<X`kF%!HS= z&zXL=-3gRe^)CKWo}pfpAV@$6M&FyVp+!Tk#@iOKXqNuv#SeD>K~)5`Fg!4`zVwkI z0wtddcxh-~*~drrUkm&upsO&sbLX|ov^m*izGP$Y|AjPI9=Q;;-OC<TS3e|Nf?W+P z%hj9y)EO58X>U~#=dgg$FHzRn6)lw+WTj)y5}=l?9|~wLLjc)yTYUJNFQLw=cNz+6 z-Wgj2W+q`1!&T{3p~prGX6KE~Vp%V2UJ&MdK!59l96@8V$&D&M=#+)z-dVCV)F2C3 zvHFF${q1ge56W~9ql%2?S#3ZdI(6Wvr83co9@M<899q-_>=~Ta0(+B(Z%@hZW-}Js zya6=~u>p}3q`_56rl^qSeFR=wET~j*3qpTGZ4-u`eu6n+kCEUyNTP=ajyp7anY?__ zan!II%I&53uInmWrzYdpI&0}oeLVboXpf);`5UO4o8-RRKjTY$3zc{$MhBZO>$bAz zUt@q=o+zN34@sT|C+uuwGx^pVp#a@qmx&gkaX&^@QP!D<m4o)yunK53KnALFGl9>3 z&TgOBcWYX*bc#=nDt_iI#5OrHcJ4Mb&?pZ)9%{akzMU1Fr_a0&e(e64(Iy16+Ec&# z9b${Bj4fNW-m<cMp*hgHKMo6-|JTMVtkS_IB$3#FuIs3g=ZDl5cBiW4nkAVs_jJM) z*sp=K1hehS*q6qbg3gmRK%Mhb8_NV-rg>4%>a-UG39WwMYsIaQ6C>x^HM&1C1!3oG zJ8l0-Ga%4ux`^PDe@)>~TkL<I0yRzkuPHe=Q#c0$<o_OYG2f0hr<cJ07X|+(r0P6b zFOWB~ug)6aioi0V=rf|@PI{ZFkTHlIPa5(hz|NXM@gYIv(ii#PwvVp>d*$SmOqvIS znX8p|KI}ahD-Ab1=$!1%u0#omi(1wzspDSe_f}uoACWvyn1e7i`vO!1-SSOO>$G=E z8&VaFfw0{xl-@dP@?F@&N2F2TKHUrKnQwGrF<H--#U=heY_D7FVd@DNj;@z;jQ_<G zfqI??<xR&rHET!KYMwG*ubzOqPvX8Oa8`kW;=Y;OA7??`8F_$AmF1<uulyJL@vmaS z=t`l=FZ}-wWL|;hq@=2$5*IQkJyuZFdVlA@%{?ry9Q2FVInUO|zj{A+sewwk+@WvQ zs>M?q>il1cGQIk7>0Ij1K1?lwzywnm?ur|EvFNb1AGav<)|2H>IeLP&dG}guwAh{$ zyPAebzl)pS5&X57a=g3qXUPw>({YKeSJrLtYK96Ab~P^8ez9b_UFN#BH_#U3c>dCy z{+Xquw<d5Qm8))Rsh$lb>ca3{F*-Otn^{+Q@z-}upZ<2XQ%eF&CVZ8%giaMWsNkJ| zm9$vgYnkD?0<*8G$U?26pBKMQzPl#rM$`_m_yMf7<!CB{qos;zp|*mk`QF{0EZ#-$ zBRU)DyJCTvr6bobmWCM6I`>}T=uR<^<ahC(52AJ0#V{W}5f3ZC31`8Pj3~%cAZAl6 zKmk{y6#arBmxhTPjp^Ewk+vzO*}dGqh|MN;k(Py-FMk#3*aqp|`Z*SNm9^S@V0=&s ze4ONONwt`E9f(K`W^=PuAP$$7b+cPQ_!NL#)`K*eq*&&Y$1FPsemORK&p36B*jiEe zDczh5dvDFpipu_`Hn998^~9`W7dZ<D&P9%p)7$T$rnr5V4+a*F1(uu*_`df-r+i#Y zSWcXZzhKU>vA{g{UuZer95xg1;Wur~s92k3$wAa7*HVhPb`D88;sZkVzKT*Ur|iSh zi0Gu39Pso~ytpi|-+zzng-T*^IR{=gkw%&rz?&Ah-)}(Be+1Yl*e{9_-YI>NQhr!L zo8pM`nDGV!0XC$@96P?)xmuzW&{Ka$<wqKlvzoi}bsaX1M-x3XzB1PPjiKLZ0x?F= zqs&dY9AikjPcf|GcLLFcb13XPz1FBmxd?&_%;Y1UJj%Wkyd~m_|NXSoY<vIo$y5lF zU~S<Tn!ss~b~AV(cBJP&RGm0u5vYAMUAQt#QDN73W4kbe0M~8>)4a_kBWorY5c3dH z^uebKPGWt*lOa~%%1s4Pp?WN*^lBC6n6)%WHkT_v%X>@o{`)sK^xIbS_a5VD{FG~> zRf21Oj!qGF&VHZCx_NcQ4xVwUMoVUC);nc6!h_;9CgRqq6(X@=`~c*0E97jUOo0#w z?xORD`QMi@DEA#EO?#d|R~sj$ut@Fuo*+`dq6ULTNrpH=M_)J~Wx^jH9+OiE{fz(8 z{+K`EwkK#~Vaw$5DKPO$)gP^{^P7nvh>bidx@IZz%oQl@_yA-MU>A|_1~5cQ>j5@P zGRj#^FF%Zvf5%6<7+IkjZV|jd)E)5kMxgZ}C2R!h@^%g4+zb73kB*Z%6KHg8Ul8=* zj3?hI=ws79Ij1l9C3yo^fg%h6O6WR--$DVC*lgYk`Lg<|<^y)k3q{p(LgIpDBBXXR zkEQQpO?wYmjah7vk?Z@FOLUATFM4S4WlL%bF}4o3Fc3xhL&kS~`VZ*+mJ1KU4}}+* zbXUTCAfRAyNnE$4(d^dJjG{gPj5Bj1sCa(>VzDps&*_<);|BPN%7ZK|j#_|CuU1b? zb0tn(n+UYLOAi`-y&}f(hT{Hdha?XmGI1E;rLuo_A;N2U&p%d|gLHTBrlF<NklmZi zOYj%e%G^>D6;<y)XgJT&fkW?dzL^${T8xRS?H|_A8MwH%mwls*kUG=^<t+G#4Q*3- zR{^?ldV^h+yr)k<FDx=Z&-*)XmZ6;A4U8W<kE<#9jec?>M>w3}Y#rHHPd!|Of1xdj zzG3<#j_c0L8nq04Tdmv~iI%S{u1UIty^4D(=C!IULd!cN{=7e6Vi*dJkDX~b^PPLn z;2uSHC0Ni!aN|KrV<gnrf7xWJ6k}T`i(`ZTjdVu&&O|8meGmOXuF3fq6oG6CpIc=? zLfk9gg+lVaA3LVKH{bwHiYTC>e#Ir`>5`O5g|K_d;n}Np_fVbnMiXPz?aeia*4L%Y zJ;tO9#*=qx5*jW-#b!1$qRr%$9}KVPn<QhbWcX`<mC@vYZOTdkV%}qDFav?~285BB zL@U`KwWEi^b<TeK(9c(}nu}%kEpx;8%Zv$0)#qADiNA+tSpHBi5fyvb)H2T(t-C)Z zWZw>Q<ivdj_v(N$j}02!#RW>oqWVaT9{&{@>;6VIj$do$g5FU7D1&o_6KpoaN(67O z%89H<5u+MY$qkL|@1B{Wt&@;Bi9uNwPrhf|-ywA^4BwdCOF28h3*e;kMMaX|NieVk zW6iiF2Bnad!RH#|2o1WUsq+j(-I{~ORo)6avg#RTVfsyYuiaH?ZvQ=B>AuikwOm#h zM!@d_cqC>NuuVT6Uf6GcB;z>H+~x7<+Dt6ZJMHNtY9154QSD52i~Q@pfHyw&7RLA> z{kL=>f%fvkXN7WLycSxDe!<go1Dib=1yGzf7Yi6MIo;nF@M|fAfwi}9vEQRVj6-2_ zrT<Zly+_Xk>OaBIMq~Xz;_2TIHNxo~wjis6(Do$2p9A>c(uMy>8^jJfzW(bf7O;L^ zQuc3;hu+s?`K(WR9ev=;YB!ca`6MKT{!hfGo{>-!M81mtA|I*vYu;=H>OJfsSl#gD zN29|$$}epiWAQk-V`q){KXaJ>_SeT!*pvMY6Az?SQWvA$J=aKSeUtD3{%ZPZ`N!LJ zuOiSYb;`79_xsFO=W5>)LD;8+h}3#<dpFO9ba{?*GLVleN8J_&$+V8b!nOH*Z4;@N zGAW(K`f^|)X-@*9efC!jFn4tHx9~Ivv?_nDu6}%~X+%<QorUQSe#K)j=FOjze58AH z{Vb0&tng87;PH1B^*Hz(dWk%@pT)qMf3@mQlZ*$Pgui-;+_{EcGJ(<Gk)MeN$PHnM z>@h7jka{-BmS>0_(9P~Th?5Zds})ySn|7ggCX%S+rvc(-8k3k+Sju(J6*T!X1k-#r z)KeV-cczSVmb)!9fBCKs2b(*u@b2~`q_^8hr{$#X-J8<Ob@-U*Yh>Cq^=o#KLsp;5 zmZ3P)@(Nk@N>7xJ;or+x7HUww!|Puf?lcM-h2dZJK8+WqHjU#)-+D2~Bo>OOtNC5o zl6tX-tkm;p*%_RS+<wjl88g4>Et7s(P-jTd>zxdhBsZ3RYWdb2mD2Fivza_3eOLF( zD02B1k0Bd~V!-S+XWHE0aohacg@vu-P6jHU(R3ac^IwVRoQ~}Z-Gv0U)JHQMIG}uw z45;5Lrm?P>cEyW<;5Qe|>bOgPesl4Vd)}3)(t`0Z;Y95+`rn$~&W^fF2G1k=PLUo* zTr^X0$+|yh9NlZ~#(hlOeH6Z9oB|$+P;f3`l}RgN?+@~T%hTG(d{9UKxr_aNUq>`H z_9>+L_4lPwn3U++(h#IIF{T-rUU2Ufu4c`c{xvtBVZe)0p7O@+?CaSZfz;(;$mO}P zmGJ1b9uDYv;|g$yibU4s)gR7uMkq4)zZMCXscuY%_Us4lnxHkyb1lk+>oi4@Bj2fk zxYIs;-fmnRh7})Ax3?nC|MYd$u^b53WAvZXgL*%u!`Xc~fSK%~sioVKNi7Y!RI{2R zPHcbT#$x_A6H&-IvbEE#D)`CXngr#nP9~gJ9@OiMf3)#M0B*0<c(m4qbbb}MrAz4R z^l8xn>yfd(AB&xS2lwzdOG-P?rQ;m~U=d91X+AQeOF8Y(HJkEhHyD>Yj~Nh*<Qp_V zzv#$ODIYU&Xv~JX4JUCz%T|8<oLaC;6mM$Y{y|$ih64M)=FhE<Ag_Fssd44I{hK~8 z;pW(h+tYRhX99&hKUgmC@g24ub&Y`rWvxs@QlL1-E{d#DAI;`@h<eH__d8+3jVn_- z2AYZ6_1hh2<rl?6&*`R*TON7kpAn_6IOl4gsNdPE-4`m~4r7P>Gbb0%vgP+4Xy2-$ zOC{NTi~FOLk2p&FR>|L9M+a~}k;Kp_s{S@$%${JH#`pg4`P|2X>TxnNjAJN<xG_F9 zW8t%%L}%^OZQs?Mb&ViN1Ad|Y7dA6jBT|6-GkQtHuN}9N(V@HL9r{zEb=wsA6~4#U zjgN;mXl6Ekvk7b))gqdU-ULlm9@FR-i3X1s9bYW|HzfGqvd(`Io|+U#D}r!ySwVw= z1rGyO(RCKs)V4_X4>bQ}>;GBc(4D^NO(iCj4y23h)nRaE*xE2tqOrJkAUW&+hUN`X z$-d=DwC_`#4Z&})8<xJQb%Oo^=Jg!L?vipAuE&obA5BekbQcbwfP>7iw$;5Q{@kAr z#w^QvvNsa6zmnhL<y77`j(+7qL4PCA7*-tr2++$gC1y$5PuD|ysx4>2P)eFMThoCt zcXem;<{{tDBskvIUphPbA<@Hz_h)hWR$#|cg&x$)lr+&KNi30ncL<Z8W}0)T*9>aF zy)THwu&9o+f$gCOhIWL14J#r_NNQcnA`sL1Em{`wSSYM<f2lj|6q^7?x&td3L&E07 z!j9u3hg)lNxpF4xeBP{{Sx?-Lw`zddJvI!*t1;hPU(a-zh*{`kH+5O`aN3GE_<Q|c zN+(}3X=UVdH#&LUkfi4W9=blY<bNO_LaSz|<Cqp~E4uTb<J7?r-sIkzZQ&)m6*f<2 zbg5|alI^TQXukMgFprGlYUA&}%hSZ2t>N2C<-Ox#qe{!KDOlx!d@C?Bj?QwH4IR%I zA^8W$$d$b@*KKLR(R7YMqo#>Tifmdo&+MK{*2sKJ@el$%H;ge0U|99;T!Z!H9@_Xi zG_yHt>#=YdJUKv}4^L=KTF3z)zOoy%&;tC(u3BMsP@|=}acMvM&Q#%kVe|Y>AePj1 z(fAU2nNsMhUW;mYr>G%#4W^NWHv)uW>Y^|x2jB+4E!8K&^@nZ1YEkaG4<;cX#akrW z)&8;yai9bk21r~GwYy(*ppQ0yJtK%nA195x+V*9(@^n5F)D~4am?QM7V+HUECmlPY z-+^?#Kw+I4UwSmjML|5!4c@+JfrAWX=avQU9q4@r3{UrF(#*CjB(C5FuL?*<d7_Mj zPO65Z&?AuvEcZ9cPdwB8sQy~Mz(e!INF?eKJ-@n)qW|&b5}hQy&VR33(2cP{!ugUa z_y_d&ZD#9dpbTokU21!1DIz;@s@CLdTf=s;je_YN130I_i?3RBR$k#}GxuO^+$JAe zzx~c-e*%!WTA%37nTjTm2K}T3-Zc!m+`%g50i5>aIzy&`m9`AEtF)x_jAryeHW~P6 zSi3318RcvukC%i3YNPL3xrH7@x^8*o$pKl}a{y6$VDKke#k?)SepA}0tf+$()#i)s z_v{VkD<i1veB(B~+n=cH-^IBXvBm7IMkfG`%^X14{wWCZvP>?3T>WT8ozs#AJ$4S! z5}=3YZk042bhOV()`s1OMV00Ky=`n2E1`j|S0_8L%k#Hm&~ifWpHU{wNjor<$9>4r zbv$nHWM>;`ZR6iAgR<ynX92%6mtl^hS5OOqY=HW)R4M7sIel-%%b(?hmELIZy$xFv z?>oUWx&Ldt{+9s$pMw9LUE0A{t788W^#ebNHU9lZRH29<^FMl?TmV0(|05%N`r{-{ U<Y}^$$v<*gNhOIN;>H30193WXAOHXW literal 8664 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 RggSKrP>@rVEd`r=`Zut?g6{wT diff --git a/src/assets/previews/tourTP53Predictor.png b/src/assets/previews/tourTP53Predictor.png index 84ff39647573b1e958cd0057be102f50a8be6e92..2a6d284816db4584ca25fb37de0e0f3ab6d264fa 100644 GIT binary patch literal 57643 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 KD#c2ep#K0KCrJnZ literal 10594 zcmb7qbyStnyXFy4BoqauBn%pr1|<~)q?PWJjswz-f*?{#Bi%@MND2bd-QC^Y^Pb<# zKXcctd)K&@itzcJ9q)eLC${f9Y0+EQq}T`q;+ELkH?j!CwO8<U@y#3X=feEKUHA*b zT2M^>Cj4@_`Qa=4o5V&~*+vd&U}LZIQ6FJwfi%~DX07*8U*E#o2x+s0Uds;;QKKFb z`lzpCV~n(TC~s`8kB~w>WM+H#+VbN=R%TYVhb%1IENt9tEY^yu83@EfgxH(c@(wW@ z6OJyDN0-MtL+u|z{HZVs2u7$%|0=ddc*&Oh{a8Z(EcGZe%l7?7P_a#mZOJ!=h@@w$ zi35j8<vH@Bj}wKFVNHYqcOHp7c|+*C9(8iT(qSy3=->XYDn6*0H~8gPRacbt<dQXi zyfuGv@7jTr*PVLoUmfHgcLXE-s9rtt8VJUq^U7BZMtr%WD1o1Fr`|*i?Vh0WGcgar zn_1LY?{4apP+h}*lpX%xJsj=jg<;+N(CdytV(=xrX;A$6r~lvgt$mX57|PYqYma0p zFE5{7SZFLYAKNr`ti3pVz!3KB^Jg>yVWTK)Z0vWx<nL?BrAa<|`c%?!Yj(E&uP;GM zOUpIw&X|`XeOr^&(Gn5Qd&-bnr0hno;`v=)xL>*i#9!_A$@En_A7M8fIPsZ}mFjPf zSA=yArOQwjt3GpdbZpIU@WD%#{pE175Rr9WH9oFB>9QyF(b_sIX0bhrEnB51t!cQ8 z_hdfA>&uq`r&G-L%F4tR78V~24A3kORu$wK?)&=sF5YT?^OXA<AtB+%nfmL`)yrS$ z=;);O@$R*=%`YwO%>@Y*YX3o_k%?0`)Cx=$5O&y^6;4V{u5j4V{bF_d_H8O^>K~z@ zUU_*;$l41|F)^{Kqe*83E-|wQ%*kqd`n7Z{cVm*UAEE(kX+TMfnx8-J_}IZ4m!#g0 zspe~08JCrnmCbVZry(u(>d|s+9GsKWwLIT|0C;fHXuKy`R7^rb@9c0x!D33S%;N6d zyNOj(rRK1{nWJ6p9UauXyyGcY-RiKCLJkfuqN1X_e0)OU;@q?Zn4UZlI=S5PN~NUK zp26Dop>)$;8_Y4A_#H;+cAQv$yuWYr_{kHM-!}9bzio6@`+v2^@<e1Q<)P)ngkxf3 zclP(^&$enY6CC#zC4aK}(n$U6P8P*uWo4zKr`PFC5ra)<HtZzRKY97`r9TPV4O&`S z3b$jO=UO%G-nSlX@9+N|8;cHjz%|(6T`qBUw6!$-$8&wEwzhXCN3AT)c5QHYczAks zRUAfT+@En5af_5a!S(DA0|SHEYW9uW<%uDpx3_ou=%~4^4Tp(|DJCXnxZ0UZt<)?L z%HahMkDjS1PF=?P<m34e83vcl$!cfgzO-9UMEo<}>7o{?i~sDYu&^-M%a19&<<9%d ziS6k_YbU#HOe;OfnA&e|Ly-mt<JWy(c0XOA<+fYT$hOwed31HYBw*Z=bbWJk)8%v} zolL+jCOyvSTY345)1xgs`I;*-UWe~?8>2mmLYTUGdZs5*k%~@E+|Qps|6pi{4ii$< z`8hU}mym$SQEY<^ytX`1$z?j2J+s`CjM`~9B>4C4{e==`e3}Il$yO`N?Il>La@-3w zFSg&(tjiDZ{QP-)cUQN;`_}Qv3F=^skB=)C=w63{Zyp(mx{gB_`LSsHzMr(mLf2qe zYz3264X#I7SsCkkPT6FVOg#VkL}dib-alD1h!wUdO)5G~a&C3CRYu_AjflvNO1ll+ z=0I}z@*`B}4Lpi$$)h~?3!G}ru3vKL@X@mYT$2dg)P(ztip&P>#36Y_^dlo9Bp1~W zzI^#Y#%*&G4-c;{f76ffSrY7{WITUtZ?7x@7UfG(5gU))y7ow+KBE06hu<~y8}iDF zFlAysCw9H&zy*P;lOWcrr%_NBf$x(=NCFs<{Tc63BUu}KcAJvl-_sL4md8HVj?e9E zg9{NH64KJyN%QE@r;D?rqK^yWnhrD9f7@?$4(6!s92_h(Q@Uq=yo%y?<(_K}qJ8|h z{^<Z!rTrES3(H+4B_%kh*Ny>30@5n%HdMbH6qS`3E_WxoTwNS}(AT$`{fi|iDCn?R zv4k2O95Oll)s6G>^P9JB>0h3o+}9l`HYV`7O+Fi@q^UFe*LS?ik-$SSN43CuNxJTP z{!orubIeO?6#kryO<gv@Dk~R$z&bfOp_vr4Z)(bp*Yr$Cc(|}mc<0VL9hZ?mP<=0L zmha3p1)yv1%r>f*TYgGOp-TPmPE|Ft|3LsT3mR0pi>s@cjLg#dND=M>PJa&%1Q{7w zBo~qbfq9#3dcGyZ<!qyD`M?R*K>F(P0@gqu*6+ymVoTV@h8+d6+}uA=pNcf!7%Rie zQIvp^c5`#f)~coO_<}<;J3ISXF-w1axBvqaa}N#<tJyHKbj*uC@PUpSB}2!{$w9=d zAKrdhAiQ@k->{3~aAV9TC<sq3U3y`>!W!z)>UdknVzNr?-Mc$b47^9<*4gS6_$8yq zyc6YCdZ@jL<8yxTasFmvVq#dhbY^e13L6?aI@YaQ3$SUhhJ6{*cX6jKHqK;JRY?K< z-n@A;y|SWWOul%r2ymdNNC+cW@(#PA%+##?{{0T8#rRw3Gb`g2Y*IhjXW-ztz>*&y zAJeU=Mm72o&CSg<1PNSb;Q9py8XRxW0D#=NbEoe7WDg$GLPRp_piTU?of|IDD>fYp zgcXGz;kXoQPt0XOwz9IaY{LzhW;Bo)CRWxHoBt1A+r@<!RYT982f{*r{`~o?pP$~* z=7fl?2n7X2hCBm+ZG#XV-y2Cu+#J=C#{vSBC8{0UGY#}~bO{Lw9<#H$WaQ+GF5#Ma zqN%b9s^YR)15Z^7y`UiizK6A8N|ZV78QiAe{kPZ=jfIWP>ZGNHCveWp!oosDOKZK_ zPd{3Qlrc7@zc@XZ>k*|)b-%hqHI(6D<-^U1wi44J)CpZlk6(n(RCs<AjjVY@OY8I6 z^G45aTT^ifiLka2z?C1-(Gtlb0Z`1;92_ORnL$ZOj|GK<PG<d>jsXK<KNMEKnr7l) zyl_2b&#O6Qfac<|*TMCw@iepbkP^^*dQ!aKHZk+y!OM?S02g|&30_`abYrWB1d{ry zB_@p$Ow}LymjQ-N+4H2+h0^;b-e)i7(iZ>2AijI|PfG}`ufIPP4UKnXBr&v_myWwB z?-%U*(xgb>h1QGhk2pEQLqqRbjF*2BNq$5}_jRl0EHER3&h30hG+APLjBmeNXnm|K z2s)J;Ahf;%lpOS~M^H0n!}*^EvXrKV4miV-l9EiW2ECJ$pJ-}omRD9XHrQ~J$8y`E z@bhnD<4*0>1)i3c7N^<pD_{Wh^z<$V14^w6%b(CO-%3k!s%`>2Me;fp?p8lnE&d8C zM;}oOeUJtQ9zrX_YSNz}u66(%1Q5osD~=BuPhW|t(!wi~!E6$3x>(fP?hz58Ya@|( zbt6TF6;^XMsHv&P%dHxWP7V(bfo}xI#Hg=aCJ&hG?Cs3~0^$Lf#sJ6-j`hjo6A)Cm zoUj5F5!ajA2ylZI9+s;WLL-H08_@Epsi?ee+#>Bxl^}xSBdV?*BkPpa3f-dIb}f9D z|HX?)WX*{;9M1ydKALZSek&tIOXPWda4ufD95X{}ULUU@h?Q<8(sD`cpPQ5+j6$?g z+DJ=Fw?-WuS|KRi&sm^|lTbBA$sZ$1=^6?xV0TzAXlFGm51*8@RqJw>=(DFMP%Nvt zCKl~F1TP=oNR4YHtIJIN7mOP>dW#HY6tk88)O|viDi1&Ef-X<;!ZJZN-tp|LQs30H z4TkLqptS<?fgPD^p^g7=vbzAKKDV~k2Ak-3G+}=Y)!qQ%-Ys@@bpeil_9dWY2%ziY z-NP*?C~(<rp-o9o-vcOToQrdq#j;x;PL#I|9Rg^%ahvR|kx@p^Hoz~d^PyQ&AbHzp ziD{2X34-0E|101}lRt^jt5+VovGIJ)gv|YN7gJXkl%1WOl99}btrv!X4cVI2KXWxI z83Oohjax(M5#qMqwY9aZ*^+>;j2Z$S(8cFAH*?iDbJfZMp*yjD_;+XD$+cuHWxymr z)zb%$veUYYuQ}nhrvn@y=zS8Yw^%uRzkby|SRFu>V6OzzkGMFC{zyjwl@CGPT*yf( zdU`BFL&MQxWAs<DviR_w6sc%VsIBOif{)stFf#fnWGS-1e4yVn0t*eSt-aD<+Jain z>pi`K?YT=x*wp_^PKvldzvv$*f{X`R?iU<vhMiRKe`(_!J|C<NCHEM$lPkvl_>W*9 zRKcY4x?}tLze)!Eo}hXKk-Q<;2L}}*srve5TW=+Od6Nc-n`{|-7{o+GqD2NBp_-y~ z+uL>q1~fG_H3OZ|;o(gudrMhT9_FLPzqZXjI1)Wq&nT5hDO_MT9}NwErl!cF;cB_J zC<PrnV3WFU#U_T&IUE?m#2H@%N%Nx>iEgE;C=zBWfg^1r{^H%8R7cAbfp@Ax&FBmq z#l+as6i0+e*Ij3f<!^}xM$<u`UpHZu?+6(26O*3Gzce*5VE{DB+Ii0*Dk|#YlBpS( znze@!85Z^>BqSslVarX9g@twR{{5NFP0fwid1GT^=$ZW{9MB2xH>IbihlGbKnxnOM zc5*t!q%(x^aj8=-EG*E+YJ`hPNl~-0!HE$qvzXZ2KxYkn5F9^xV^k{p1wYRqvy=kX zJ0;u-qFe5!vZ1%6Ib;m(yG`K?-M%=fIiTbtn)r?3DE7`WXB5K$Xf1=Y4}ISH`v%Og zkvu+GIXS?d*I5G$6KV>n>t-pkzbrwlY%^T_Q&%{@xF{(2#lOY#@+I&}pV7QGd`W#P zq3M=|MMW*Gt(iLBx^H<9R#^`PN`kRk#qXF{uE_5!Oy3>|V>Q!A*dXA*oGd3|&m7i! zSFIR&jb5t(xkZB4#eHii>5m8wr}Xzrf)D3AG03)=1S^kVweyn+`F^0U3oP}SM(m{A zwyQSCHEn}cAaM(i9IG|8(l4yT$j!7J-U;yVR0<mZ?FVJ%5g)G=X8WbIwA2Q~!f54; z-?wj}m?g+517JJ`TQjqoDQRi4^71L`1RRICIZQVyMcxGq*<$wdS#4l%dS+5=_1_-# z&#}9E{rdIRBi&Bd$rN#%y2O|FrtE@Ey75N^uHUNuQ*g^c60Nz^+lq*vnX0xJ{kvmf zt8mtU2@Fx*yo-yR$1eL&{8w>te+KQ*ZnMaV-oF?#x03}T6z~D5hXp>rJlk?`bQ}=7 zh>%W~bD|hDVoym)kw2Y2+t_#F<FXjfV6NhfDAjggo@{9F1R0z>!w`n;?(PmeD>J4n zKmR+>R2@CN|8#hDbuuWkhM^%M=<pTROGa>BQzMq~J{L~S8}+7O!BjW|zUNwbiG2Eg zYJN*%@b%%yH&2{i6C!25#CMhhmM!XWIXDiIHxveFv!RWFUa+#ZP6o7&w2tTcb>rFV zzJyszXRd}UGqs9P##CE}!FPhi_F0Gc#JJUS$7g5OyYnsBv<E=K<`x$fH_m}0%r7k5 zB_@7rVex#aD?S~>8H&}Q#%yXT0b06a)Y2HvJ!rJosj~E`alf4iyPKN4In77uY;URN zlr{xmyDRo8rDcyL|17qc_z5lMNBH5=wdIu+Uq3&IlD%K@4E-i0y?Cl8=5}ZKnD6%% zJ5Xoh$rE&D8y~l38{veSocRRCPZDYj@sp*e<`xN`?PTgtj;<tsny76%G+F*q3Mkx4 z&0cMYIXibvXXG@C$fVk0r4lK*<sgloemL;F6Ql$ZiA<*aZ363=bBGfll1#?5P-YF= zIc{%0yuaLo9xLr5lKcmD2nOD-ENaIU92^`<UXYRT6=)E*&GIXdTqGnUaKsaPjEn}e zRRSh(joC?04>#0w97aZ}N~@}?E8H%)xnpk|8ZN1ZA=cN|m;2I#KDGsb=ms9w%ISPO z<FnOv$W{WxXm)Nc%qgx=LW_%wD_65x97r>F?B=G^l&=~Ve-W;&lzzWm_esFFKFzDU zy^L2ILD>C=-mT|2l*E%<8<>F{M>Npy^^&(za}Q6rmA>C-sr+N=v@mBY>^;A<ho(M( zq{ABgj`(9KTV=QLQ<hS_Z-P|+x9wV*nIYg8DThgl*^&>1Q-&gW!6b5Z*YNdp&Bjem zPEPeIhaWIHSy|bCEiJE;d%$G*qL?L|+yitVLiMOX(e4KQ)$hI{u@lG5`L^<lqE=)P z=EAF9BX+0~tA*D4zy^JTf<$u^QRHKH7Y*0&bXB!K;Mj-cc?;rvk%YFE)g<~`9#1u9 zzDvvQp{xN%t2>izN!JiorARmR_;#(Q^FRw8?pWI|a`h1%BNgPkGl|Q>x#aA9#RmiC zONGG+6$2{R79f|Q54_GB($mvRrmEaq>I(Vs14!M>?n0ZbCd+7wSP1t8uY}bZR=R#$ zc(HMxH<X>#;kpViH4qWDz4Qy@1xVeDW1<opwcwreti*%if@kcx7s#LG6%{IP>RC&; z`3@W%9Drm6`T6<vI?b=Hn#gm>O^g7N0#Y)Z$2}z`eZ5(%ys@_CS5#zOeg4sOc6$01 z9N(7qc6qnRCO8Cy&s6EcCI>if4v4GJOKG8r@h}E5z0IlVT(u*`+>XLBKEut4Niwmh zW}FoGRqDAYlwgI&K-FwgY}A7W`;=-?UgMB(ijMMKSXc^L!*xqkrLq)rj9~A{MQJia zuPPJ2C@VE?{m3v&Fm|`h)u;}>leYhg8eBVO>OHQ8n~%Jr-u^dc9qULy_eR5G$r8E{ zahr@30%?hDgN|4!RX-3!(L5MM4(B_~YnMV(*(q~ajFUvE|LN;^+j7$f5^G(es3+dW zZEIQkJj{*^{cr5Sl>5pzO${55ZixTC-NN3RkKec|sLVB0x2xej5J9<#Cg~J3!r(A| ztvvFe75;^eG92mQ`;u$d81AE9gM+fvXe1-GH<>r%xilDRHiPNQ!eA5`c$=w>L+Vcx zQZmr??b(twk-X93sjR}himB(Ep&N#=n+BBKwKM8EkqqZ)ExN4ft%EtTG~%HQ7aLKM zHy>rci5<8G3gO50_V(}77mvI$-p5kc0SDV{dVn17V{HneL?#(+#!@%RqC`It5fP}n zYjjVarhpd&>O8H!xTmKF6l!7b0+>{3O<kF52UAs!MLk__1Ib?Q1}?_4>SKeEAv;-n zwppog`BYzFO>2Ua(K>HTAD|DHl>O`Uw05b*glg6f01gPCJNWqZ;N?JD{+&*|*<Ya7 z>~MLq6hKOo`E3RKm-?xx_{)p4zFK#8IJYM1icuhc*hvEl-J=C#**}BTflo=<1&D5C zV>1t=8M@}~pc)dz^?(Juv|A_s^y$<5{CqdiNR->L*cBh7n3XEza~lj59A>h99HQqb z(565<?g2&r`Lq-0shZ?d`?jH>h-Yf0+vj^-dn1PNGb<}t#JAg_W#&5{Srir)e*O0C zF*WrUECQN*n-y8GKfy%x^7h7m@Bl^8SBCN^+aj1~1q9-O=lA4l@MyYU*z)r7cCXmj z)>uH})NTuZCK<=8LUP#2v-LeLt`j^Q<x0C}1T>O$ZEb!)Kf{1?&MhpYN;-qJ0xh}6 zi2WQ!0~7<Cn3vXzxIj-ofL-iQ!S@qjJdlE~6~qR}>n9u>VH~D|+dIvaA;H1*D9Leo zvE|M<bp~4)$!*Jk(%H|SZ{`j$!T10|?h+7qN~b@0_|OBWE}EL!m`QV<MrHWjCnC(Q zr#2|g3>GBHnb~p^no5M@(^qMatT~>=(N|Vrp{AwXoAIISt#!XrWy)#?qriB)yg*DZ zF9d%&U#9^a$0Znu;XtNBXm~h)NZrm{GpLZ6jj|~NXjmu{4<>32b5z&R*f~6GnwW?M zqne@ZbhC2nh5aU(Ny$&x^N=QEv4Zg&s0Hikx@$l_e*E|W<&@F8k|rJ7`tQdRD|`EN z(IATQ-@iZZFTaP@<yTuPAj5ZX57cK`N(u(}hd-W(qL!FZDHo-gG6rnjF$bWGhl>pH zlycRtJ!E4G@grg?G#g<R@hAS%8O!tjm;6(W-=RzK?r~uLk#=Ztc7V0qp%=s_0_OCW zF4SUPUS95Rj78Mdy#gm4WsnNEsgD={wGf#)1Mh~IMHhonF}tq0c`0{j3lQAF$w}AL z)UUdl4~$z*hDQn<mtex|uMXgNz~hRlv$gTz&o#tB8wYqR+?Nv<$Ih!hBn9_E4}O=Z z64rtCd=1nDs1KX*x~<y-f9dqO3Hzy3m?Q8i80&2hcscmL%ozH54M$V%fblrs6R?f` z*xTD9f$^{zv_GV!ZB8i&E2&ozd}^OnULN^K$a{M+8cC|53)_@5v=$buHu8IMVW9wA zEB>=}Hn)odrQ~1@H#hzw!>*>TuArD0vikb^e6T3h{7S@Abr)L0#IdR}GT!<Mr}qKn z^Hj|dNtM+xG;HpOZhDsdL^N=|kx1)Ja!)?EhllGUo&f>3pj)-FwmPrnlns}d5`nGz zI=zoR-uCQ>f`r63HZ~T2ZlblLLm?d9`y&5*K~rI_4X@Uf!ul6O8o0L8b91P7fXTh^ zLzIGrAytWni76<IQK``V%B>VRWzqX$?VO!ouL&0dhxVzfOZx>$&8X)Zzw^Oy1br)_ zsTs%03x)uI0SoxLig}tEM32<upK|o99iTjV8U7P5dbu>Z22W2<$JJly!(d<{00HK+ z@@gJKt$;NZ=X$6D7QH0cZ195*utV)}e9_<x?$+Zl<-<4(+9UtKkx<Fk{xlMdI`iNZ zr4|?8v$wZLc|KqQ`hNSCS)hqxm0+g1xVVIR7D3nnz{YC5C<*Kdn;3rvM9lJJH4pe0 zk3r2tIHMm8TDWc5nG$x>`Dk+i9Oj4o{Fk{yQlN-hh;bF3f+Xh%WD+<(bZk$}jBL&2 zgz7}cyiLW)S=yxk3=A|9HiPN;`46YB4g_!deUFdNJ32ZVA|fPQ#lgnj2W58(P7rA` zlV+9j6^H<c&Z^xSzuiBzpK>kh)Dv($ExrUdO<_{$z8tWEgNlj@r)teSyxX@2A#?iO zq<<X)V_8U0a39XiplONf1)NYR!ZKd0$6jA7EiJVts~o|R#RZSN{tHe)Ny);+(NuFw zi!ZFVJon|6`xOt$ePw0E4-;<${o7v6pwLwOp#>i-=58bQ{k5SWIGzu3wDeJRxo{Oo z&ciTZkoJ&E5C^h48}EnzL#DTS<?8Vs+3<&YF|dBPj`^lrqfvKHaUZXnc48D7{$h8T zieV|9rr9QQw(14bHC0`iws7K*JBk^Xw67$py2kMJ@awS$t}u*zQ=duri```WP{>_( zR3p%pd0{_A&~(A<oX^EH`jZFy(W*2U$ul!EZ-j+a_F10^quw^VkVf4^l`RNAf#j)G z$<i{vLMU5~h7o?$#hoe7&{j2G{5R5T;O6RBY{t&X8?E*y=VNPc_@-`qEXS03i4qMm z+h6Dw;wMnsG3fcSVCm57x-mUmJVLYf(NX+}Wp*0|n=d=)%As3`K^IYHUkBq=q)kXg zzxHgSgWOwX;0k{ly>%#+yoKOWB8Y}O!22q>Z!U)7$hc%L@aSfmuct&w-+A@iuxj(} z=PRw_Xyn_RbRxVP4b=Iz11A%?|5=6cY<<b=slxu|0^LT+Z^th0t$fRhMOKM2TO8&N zNV84kEm8^)4c4Ir1#y2URMeI*v+Q0w2zRVdX^RZh5D>NW+Z@hd4_%g6>Hp_xdJ<)1 zPJZoJscVHyibv{A?_KYbO`&&wuPnmub>|dtnNq~H^$YnKZ}j^Qp{46)4O+g~V4tDo zEHv+~HTp30{TaHJ;qD)I))WP%Mf+GU)zro0@~hpG#;qOu1MQ9mrbJOur`McQ>137h zYHuPx&EOCJ8P|yfLe-HN&a%?I(^pc2Yj*c$UHRc_mnh<Z>ffuCl|&b(EVOL1QH~$3 zx0L1HU0&=c@*!li*&_R0c{1ITPc1{H{MO+8?GU_60@??dn(Mru-cMZ!P@LI4?{g9A z9_5_Y;)|avnWNnO$5kZ8^pCT}#4j^7H5GJ3SmmYbO5w=^PBWv~fBxX}djeJ1gLF{t z-S%|Z!!}nB!gfvbwg}(%lKW)h@~c)9#v^`5oi2Z(C$3c2^xvdkw$8@&8Efmw@R;L} zj&RM(R_J9*=rN5NPn>LZ+aoNCtrGM-X&l(i{>&81A^sX@u&y{^>4Cf!XKiU~tDK`! zbaR6&Ls3z&q&e9Xox}eq=N%?70fCT>jp`RibTl+eTiaAX@{><{fN>B{_<A;YYJ3jG zPq^Nf!45klv?N0AkfP5dZSYs_ovhbtkQ$MR+(v%p7Fl@AxmSA9<h;Wv@_y4=&tC0X z0qz8kPoncu_fnSe-zmv7WhIl{gS)m30|WP~H4|3kr4WdlWvIIVS}TkU4BtFFJU+@@ zRp0@B+_`s8UMCI`;Ji(xq`-dx-GtIXambLX=3vdPy@gbxWGgQ0q8+1Qe2-ULl==?7 zxuG{W?GWsR)-;uL5oxz`ZH(7{QON{|2Vmb{D#XXK*-Lb7Ak0u;FgOhoO;!vEjTV7v zAVRzD9Qi;_2Jthb5s)=(8DAFStD27+lPAQ+lB?zrBGlB>Ai~{xp(r7D#q%ZyvqsW? z)+*@rd8D1Jm^Omvxp0AFonYMh_Dv!S8f%WL8;GgY^Y*kWwYp(fou@q2VMq#%KU<DN zFQXlOz1`Up$bOSHOzJQa6P`TYb9ajm!hCu@7tHe$UxPj`{`jkY_0^x8U>6%F@>+cj z&bHrbIM6FX+T*`}*ZyXiIls8*9UVR9dg1?@3aeYNQD4hoy@nalX-M1SdUQ`;Jt9^H z{kzK=Y0!GCg3jc#9p@4JS|X3O3Z;?o{MveUwxFu4^DB+kE|-YiqMqZTs0iZAjd5p9 zJe`Vp{#T|MAVuWG<1qf?aq7aQh<w@J2mWyNA$#1@IX;^n<W{}77<oc58jg-_Qc&D0 z+x@Pi%!tm5ovD`)?X=$w9zi|wEtGHN5iTg5_dyufuSZqgvlj?Arcb&3Uv5*#uB3{{ z-_%J>`L9<nqSpEU51Q_zsm6%4Q>=IR3AvcWb)%_Q+68!G;{D{oeed&=(_9s~mFN5} zG8@CFK;Rpd*O%anzVmsm*Isa!L)=3!(l;idBkxiGhwOlpOkH=A&i@v!=d@Bg`4{G* zGuO|7fq^u<yfGOW8E2<2ZCm=+s3PhFZvwXl)<@%b9TPL!+18}v12rK2xco19?N3%J zA0(4HRYtM6Gm!R4O-o8VQu~d(^|jT~{d*e>l<|Gx+sl|s5sRqiLRcDdEu17I!#Z5q zC_~KkjQnl|2BDyG&gm4k*?(Rn*#CLP{ta0>xpzzdmBcirJowfSkkGKP$&nmF!?lJ` z(OGqoK!*1ZSi=F{Tcag@wU-BZ1D(#0GJ}zs6}z~WSDS156qT+$ew;MehtsBAj^Spx zdTjDIqK+^dR1GB5{V8q5MMZOPVS$;{ZvNk0GqX%29uEYkV3KFs{e-A$HExao?=$9E zIYZuM8Je0dJ^(vpKM*y2ygYYwaq*8g=65@P0Um>J-VmF^wzfzhSqtbTfRee^Fvfd? zgsjL(Ue#hF9rk#*xdF@<#UOi(-bzaT9T*6!s^UeULdSIJSg?%nAo_YjLvsTY6BDk7 z)PVz!gjY3#0)VR}GT^f%S}%2??u(#qUPMQ?jUj7081t&?K{T9z_~}`(@h5v34C$QJ z$*w*qlP}__^^J{RDEOQr4V=GmKZ&SQ$p70LPTgcf3kEfCh#9c^IaMRh&t1U#`U@-8 z*_$eX3Uk2H_DJ+915N>vy`+teO={adXcY*B5$D?tc&LmJTr!5aNOog<SPoSF4x|xv zuLU*WLjAU{K|!>jw74c6&_P?kAO&B)zBX2dG=wy|YOj+Al31WsT}=TG91lkfRcc&b z!mWn131z(U;$rq(^$J00>A(u10)~U%7&ny-JR8XW_CqWMmlOOqU1Z+At?TO}fYcpv zdax#HX7&^TlnepZ$>-3}Q0z9w=g$r5Jg%YgJP;m%lmeZ{J98sdj@CJPtAjZYptU4` zxd)#E`aPhDmWt{-L=3>RuF=uaO~Z)PtDVAtK%sZ%YAhW6P)SCmso1z>;b3(2<m(89 zJmX<x%o=P?``^vM?&r@{gr2VM*Ffn?<jKQ_4_}RJNhNAVAlCdKmMqe1zP-RY0G5yu zX5ZRDSok!<nKW2sJ4Z*fEG$1D=$ivK6xcj#4JXg$PY%<_7gmpP2%lzH8f%u~3J3@Q zziWc^bbyNl#siu6NdwXp*G!+S&PH0<+Cs?<9e)F@{qSKzxI_;3CXnQXGM}yHwd$iu zwhr$Tp$p{o(!YOQd{{v8`oj&0?KY-bM0csV8a_V$zt+~IloYRcw^LuZIW*wp2$xhe ztDSa$xuUYSWGmPaa17AyP+l2c1(F7M*9$g832<={L3gyX<Af4v{gmCe0>q`*d@LNU z8UY{wrkQ65j2D7#m`W2kho}xRJw5FKJp{aOaJH;{<eq`4W58m!u1v~hf&0qy#w`a_ z2^1UMh3ZaK%F}dkcAo0lZN=A$c&@>KD*)vPsnBD3dNGno2moP0L?F$F$R93S6@VOt z2s<xSveI@<1Tt4h8&P*e>?a+4+|TDIAuR=m8l^-jUAC_Q)l{!_yU^qmt$tTiys^0{ zJyvQi<#fVmqIl)(>G-My+(KbLLi(+ZjSZDDi`ZR$X6EluLdlM4l2J+LQ$W|TbFvpA zMj-s=Kb}U{ABSqWCdAYT6eaIYS9hWi3AYWM_6udkwH603id(PvoDWkV$rYJ{((ekU zCLCl7Du42k60XuwQT%nX2F_Sr(ZEasc2}ft<K#;n;r}>bQcj+C1(hpK<vxa?;<l1g zMNGOJfM3Lax=OKKU#2FvQe&hwUO$pt0!%(S8Km+9ct^k7>({UG<c+gAC99=nA%pwB z?(Y5CA5`9>_qy{IWyLlA&lmUpzi#>c*M|qMFw=2&TKxs?XT$wRgqX1On_NNd&;JX{ C@dUU4 diff --git a/src/phovea.ts b/src/phovea.ts index 636d0211..ebf57363 100644 --- a/src/phovea.ts +++ b/src/phovea.ts @@ -1092,7 +1092,7 @@ export default function (registry) { }, { factory: 'createTour', - name: 'Prediction of TP53 Mutation Status', + name: 'Prediction of TP53 Mutation Status (Part 1)', description: 'This case study summarizes another analysis session, this time involving the prediction of the mutation status for TP53.', preview() { return import('./assets/previews/tourTP53Predictor.png'); @@ -1111,7 +1111,7 @@ export default function (registry) { }, { factory: 'createTour', - name: 'Prediction of TP53 Mutation Status: Continued', + name: 'Prediction of TP53 Mutation Status (Part 2)', description: 'This case study serves as a continuation of the initial tour "Prediction of TP53 Mutation Status".', preview() { return import('./assets/previews/tourTP53Predictor.png');